@frogbotai/db-mongodb 0.28.0 → 0.30.0

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 (66) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +18 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/jobIndexes.d.ts +3 -0
  5. package/dist/jobIndexes.d.ts.map +1 -0
  6. package/dist/jobIndexes.js +37 -0
  7. package/dist/jobIndexes.js.map +1 -0
  8. package/dist/jobLogs.d.ts +6 -0
  9. package/dist/jobLogs.d.ts.map +1 -0
  10. package/dist/jobLogs.js +42 -0
  11. package/dist/jobLogs.js.map +1 -0
  12. package/dist/jobModel.js +29 -12
  13. package/dist/jobModel.js.map +1 -1
  14. package/dist/search/buildSchema.js +15 -9
  15. package/dist/search/buildSchema.js.map +1 -1
  16. package/dist/search/buildSearchIndexes.js +135 -55
  17. package/dist/search/buildSearchIndexes.js.map +1 -1
  18. package/dist/search/capabilities.js +12 -15
  19. package/dist/search/capabilities.js.map +1 -1
  20. package/dist/search/createSearchSetupError.js +12 -5
  21. package/dist/search/createSearchSetupError.js.map +1 -1
  22. package/dist/search/ensureSearchIndexes.js +35 -20
  23. package/dist/search/ensureSearchIndexes.js.map +1 -1
  24. package/dist/search/findSearchIndex.js +3 -2
  25. package/dist/search/findSearchIndex.js.map +1 -1
  26. package/dist/search/getSearchIndexes.js +2 -1
  27. package/dist/search/getSearchIndexes.js.map +1 -1
  28. package/dist/search/getSearchModel.js +2 -1
  29. package/dist/search/getSearchModel.js.map +1 -1
  30. package/dist/search/getSearchPath.js +17 -13
  31. package/dist/search/getSearchPath.js.map +1 -1
  32. package/dist/search/index.js +2 -1
  33. package/dist/search/index.js.map +1 -1
  34. package/dist/search/isDraftSearch.js +2 -1
  35. package/dist/search/isDraftSearch.js.map +1 -1
  36. package/dist/search/isSearchIndexDefinitionEqual.js +26 -19
  37. package/dist/search/isSearchIndexDefinitionEqual.js.map +1 -1
  38. package/dist/search/pipelines/buildHybridPipeline.js +147 -40
  39. package/dist/search/pipelines/buildHybridPipeline.js.map +1 -1
  40. package/dist/search/pipelines/buildSearchStage.js +17 -5
  41. package/dist/search/pipelines/buildSearchStage.js.map +1 -1
  42. package/dist/search/pipelines/buildVectorScore.js +24 -4
  43. package/dist/search/pipelines/buildVectorScore.js.map +1 -1
  44. package/dist/search/pipelines/buildVectorSearchStage.js +15 -7
  45. package/dist/search/pipelines/buildVectorSearchStage.js.map +1 -1
  46. package/dist/search/queries/buildSearchFilter.js +13 -6
  47. package/dist/search/queries/buildSearchFilter.js.map +1 -1
  48. package/dist/search/queries/buildSearchOperator.js +41 -8
  49. package/dist/search/queries/buildSearchOperator.js.map +1 -1
  50. package/dist/search/queries/buildVectorSearchFilter.js +32 -8
  51. package/dist/search/queries/buildVectorSearchFilter.js.map +1 -1
  52. package/dist/search/queries/parseSearchFilter.js +125 -56
  53. package/dist/search/queries/parseSearchFilter.js.map +1 -1
  54. package/dist/search/readiness.js +23 -12
  55. package/dist/search/readiness.js.map +1 -1
  56. package/dist/search/search.js +180 -76
  57. package/dist/search/search.js.map +1 -1
  58. package/dist/search/supportsRankFusion.js +29 -10
  59. package/dist/search/supportsRankFusion.js.map +1 -1
  60. package/dist/search/types.js +2 -1
  61. package/dist/search/types.js.map +1 -1
  62. package/dist/updateJobLeases.js +20 -5
  63. package/dist/updateJobLeases.js.map +1 -1
  64. package/dist/updateJobs.js +79 -30
  65. package/dist/updateJobs.js.map +1 -1
  66. package/package.json +4 -4
@@ -42,27 +42,24 @@ const languages = new Set([
42
42
  'swedish',
43
43
  'thai',
44
44
  'turkish',
45
- 'ukrainian',
45
+ 'ukrainian'
46
46
  ]);
47
- export const capabilities = ({ index }) => {
47
+ export const capabilities = ({ index })=>{
48
48
  const language = index.lexical?.language;
49
49
  const dimensions = index.vector?.dimensions ?? 0;
50
- const lexical = language && !languages.has(language)
51
- ? {
52
- unsupported: 'engine-gap',
53
- detail: `MongoDB search has no built-in analyzer for the '${language}' language.`,
54
- }
55
- : 'supported';
56
- const vector = dimensions > maxVectorDimensions
57
- ? {
58
- unsupported: 'engine-gap',
59
- detail: `MongoDB vector search indexes support at most ${maxVectorDimensions} dimensions.`,
60
- }
61
- : 'supported';
50
+ const lexical = language && !languages.has(language) ? {
51
+ unsupported: 'engine-gap',
52
+ detail: `MongoDB search has no built-in analyzer for the '${language}' language.`
53
+ } : 'supported';
54
+ const vector = dimensions > maxVectorDimensions ? {
55
+ unsupported: 'engine-gap',
56
+ detail: `MongoDB vector search indexes support at most ${maxVectorDimensions} dimensions.`
57
+ } : 'supported';
62
58
  return {
63
59
  lexical,
64
60
  vector,
65
- hybrid: lexical === 'supported' ? vector : lexical,
61
+ hybrid: lexical === 'supported' ? vector : lexical
66
62
  };
67
63
  };
64
+
68
65
  //# sourceMappingURL=capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/search/capabilities.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;IACX,YAAY;IACZ,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,WAAW;IACX,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAuB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC;IAEjD,MAAM,OAAO,GACX,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC;YACE,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,oDAAoD,QAAQ,aAAa;SAClF;QACH,CAAC,CAAC,WAAW,CAAC;IAElB,MAAM,MAAM,GACV,UAAU,GAAG,mBAAmB;QAC9B,CAAC,CAAC;YACE,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,iDAAiD,mBAAmB,cAAc;SAC3F;QACH,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO;QACL,OAAO;QACP,MAAM;QACN,MAAM,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KACnD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../src/search/capabilities.ts"],"names":["maxVectorDimensions","languages","Set","capabilities","index","language","lexical","dimensions","vector","has","unsupported","detail","hybrid"],"mappings":"AAEA,MAAMA,sBAAsB;AAE5B,MAAMC,YAAY,IAAIC,IAAI;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,MAAMC,eAAmC,CAAC,EAAEC,KAAK,EAAE;IACxD,MAAMC,WAAWD,MAAME,OAAO,EAAED;IAChC,MAAME,aAAaH,MAAMI,MAAM,EAAED,cAAc;IAE/C,MAAMD,UACJD,YAAY,CAACJ,UAAUQ,GAAG,CAACJ,YACvB;QACEK,aAAa;QACbC,QAAQ,CAAC,iDAAiD,EAAEN,SAAS,WAAW,CAAC;IACnF,IACA;IAEN,MAAMG,SACJD,aAAaP,sBACT;QACEU,aAAa;QACbC,QAAQ,CAAC,8CAA8C,EAAEX,oBAAoB,YAAY,CAAC;IAC5F,IACA;IAEN,OAAO;QACLM;QACAE;QACAI,QAAQN,YAAY,cAAcE,SAASF;IAC7C;AACF,EAAE","file":"capabilities.js"}
@@ -1,6 +1,13 @@
1
1
  import { SearchCapabilityError } from 'frogbot/search';
2
- const missingPrerequisiteCodes = new Set([59, 115, 31082, 40324]);
3
- const permissionDeniedCodes = new Set([13]);
2
+ const missingPrerequisiteCodes = new Set([
3
+ 59,
4
+ 115,
5
+ 31082,
6
+ 40324
7
+ ]);
8
+ const permissionDeniedCodes = new Set([
9
+ 13
10
+ ]);
4
11
  const atlasErrorCode = 8000;
5
12
  const permissionDeniedMessage = /not (allowed|authorized)|unauthorized/i;
6
13
  export function getErrorCode(error) {
@@ -9,17 +16,17 @@ export function getErrorCode(error) {
9
16
  function getErrorMessage(error) {
10
17
  return error instanceof Error ? error.message : String(error);
11
18
  }
12
- export function createSearchSetupError({ error, searchIndex, }) {
19
+ export function createSearchSetupError({ error, searchIndex }) {
13
20
  const code = getErrorCode(error);
14
21
  const message = getErrorMessage(error);
15
22
  if (typeof code === 'number' && missingPrerequisiteCodes.has(code)) {
16
23
  return new SearchCapabilityError(searchIndex.collection, searchIndex.index, searchIndex.mode, 'missing-prerequisite', `search-infrastructure: MongoDB search requires Atlas or a deployment running mongot. ${message}`);
17
24
  }
18
- const permissionDenied = (typeof code === 'number' && permissionDeniedCodes.has(code)) ||
19
- (code === atlasErrorCode && permissionDeniedMessage.test(message));
25
+ const permissionDenied = typeof code === 'number' && permissionDeniedCodes.has(code) || code === atlasErrorCode && permissionDeniedMessage.test(message);
20
26
  if (permissionDenied) {
21
27
  return new SearchCapabilityError(searchIndex.collection, searchIndex.index, searchIndex.mode, 'permission-denied', `The database user cannot manage search index '${searchIndex.name}'. ${message}`);
22
28
  }
23
29
  return new SearchCapabilityError(searchIndex.collection, searchIndex.index, searchIndex.mode, 'setup-failed', `Search index '${searchIndex.name}' could not be reconciled. ${message}`);
24
30
  }
31
+
25
32
  //# sourceMappingURL=createSearchSetupError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSearchSetupError.js","sourceRoot":"","sources":["../../src/search/createSearchSetupError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAElE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5C,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AAEzE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,KAAK,EACL,WAAW,GAIZ;IACC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,qBAAqB,CAC9B,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,IAAI,EAChB,sBAAsB,EACtB,wFAAwF,OAAO,EAAE,CAClG,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,IAAI,KAAK,cAAc,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAErE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,IAAI,qBAAqB,CAC9B,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,IAAI,EAChB,mBAAmB,EACnB,iDAAiD,WAAW,CAAC,IAAI,MAAM,OAAO,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,qBAAqB,CAC9B,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,IAAI,EAChB,cAAc,EACd,iBAAiB,WAAW,CAAC,IAAI,8BAA8B,OAAO,EAAE,CACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../src/search/createSearchSetupError.ts"],"names":["SearchCapabilityError","missingPrerequisiteCodes","Set","permissionDeniedCodes","atlasErrorCode","permissionDeniedMessage","getErrorCode","error","code","undefined","getErrorMessage","Error","message","String","createSearchSetupError","searchIndex","has","collection","index","mode","permissionDenied","test","name"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,iBAAiB;AAIvD,MAAMC,2BAA2B,IAAIC,IAAI;IAAC;IAAI;IAAK;IAAO;CAAM;AAEhE,MAAMC,wBAAwB,IAAID,IAAI;IAAC;CAAG;AAE1C,MAAME,iBAAiB;AAEvB,MAAMC,0BAA0B;AAEhC,OAAO,SAASC,aAAaC,KAAc;IACzC,OAAOA,SAAS,OAAOA,UAAU,YAAY,UAAUA,QAAQA,MAAMC,IAAI,GAAGC;AAC9E;AAEA,SAASC,gBAAgBH,KAAc;IACrC,OAAOA,iBAAiBI,QAAQJ,MAAMK,OAAO,GAAGC,OAAON;AACzD;AAEA,OAAO,SAASO,uBAAuB,EACrCP,KAAK,EACLQ,WAAW,EAIZ;IACC,MAAMP,OAAOF,aAAaC;IAC1B,MAAMK,UAAUF,gBAAgBH;IAEhC,IAAI,OAAOC,SAAS,YAAYP,yBAAyBe,GAAG,CAACR,OAAO;QAClE,OAAO,IAAIR,sBACTe,YAAYE,UAAU,EACtBF,YAAYG,KAAK,EACjBH,YAAYI,IAAI,EAChB,wBACA,CAAC,qFAAqF,EAAEP,SAAS;IAErG;IAEA,MAAMQ,mBACJ,AAAC,OAAOZ,SAAS,YAAYL,sBAAsBa,GAAG,CAACR,SACtDA,SAASJ,kBAAkBC,wBAAwBgB,IAAI,CAACT;IAE3D,IAAIQ,kBAAkB;QACpB,OAAO,IAAIpB,sBACTe,YAAYE,UAAU,EACtBF,YAAYG,KAAK,EACjBH,YAAYI,IAAI,EAChB,qBACA,CAAC,8CAA8C,EAAEJ,YAAYO,IAAI,CAAC,GAAG,EAAEV,SAAS;IAEpF;IAEA,OAAO,IAAIZ,sBACTe,YAAYE,UAAU,EACtBF,YAAYG,KAAK,EACjBH,YAAYI,IAAI,EAChB,gBACA,CAAC,cAAc,EAAEJ,YAAYO,IAAI,CAAC,2BAA2B,EAAEV,SAAS;AAE5E","file":"createSearchSetupError.js"}
@@ -6,32 +6,42 @@ import { getSearchModel } from './getSearchModel.js';
6
6
  import { isSearchIndexDefinitionEqual } from './isSearchIndexDefinitionEqual.js';
7
7
  const droppedIndexTimeout = 60000;
8
8
  const droppedIndexInterval = 500;
9
- async function findCurrentSearchIndex({ dropped, Model, name, }) {
9
+ async function findCurrentSearchIndex({ dropped, Model, name }) {
10
10
  const started = Date.now();
11
- let existing = await findSearchIndex({ Model, name });
12
- while (dropped && existing) {
11
+ let existing = await findSearchIndex({
12
+ Model,
13
+ name
14
+ });
15
+ while(dropped && existing){
13
16
  if (Date.now() - started > droppedIndexTimeout) {
14
17
  throw new Error(`Search index '${name}' from the dropped database was not removed in time.`);
15
18
  }
16
- await new Promise((resolve) => setTimeout(resolve, droppedIndexInterval));
17
- existing = await findSearchIndex({ Model, name });
19
+ await new Promise((resolve)=>setTimeout(resolve, droppedIndexInterval));
20
+ existing = await findSearchIndex({
21
+ Model,
22
+ name
23
+ });
18
24
  }
19
25
  return existing;
20
26
  }
21
- async function ensureSearchIndex({ adapter, dropped, searchIndex, }) {
27
+ async function ensureSearchIndex({ adapter, dropped, searchIndex }) {
22
28
  const Model = getSearchModel({
23
29
  adapter,
24
30
  collection: searchIndex.collection,
25
- versions: searchIndex.versions,
31
+ versions: searchIndex.versions
26
32
  });
27
33
  await Model.createCollection();
28
- const existing = await findCurrentSearchIndex({ dropped, Model, name: searchIndex.name });
34
+ const existing = await findCurrentSearchIndex({
35
+ dropped,
36
+ Model,
37
+ name: searchIndex.name
38
+ });
29
39
  if (!existing) {
30
40
  adapter.payload.logger.info(`Creating search index '${searchIndex.name}' on '${Model.collection.name}'.`);
31
41
  await Model.createSearchIndex({
32
42
  name: searchIndex.name,
33
43
  type: searchIndex.type,
34
- definition: searchIndex.definition,
44
+ definition: searchIndex.definition
35
45
  });
36
46
  return;
37
47
  }
@@ -40,26 +50,31 @@ async function ensureSearchIndex({ adapter, dropped, searchIndex, }) {
40
50
  }
41
51
  const current = isSearchIndexDefinitionEqual({
42
52
  actual: existing.latestDefinition,
43
- expected: searchIndex.definition,
53
+ expected: searchIndex.definition
44
54
  });
45
55
  if (current && existing.status === 'FAILED') {
46
56
  throw new SearchCapabilityError(searchIndex.collection, searchIndex.index, searchIndex.mode, 'setup-failed', `Search index '${searchIndex.name}' failed to build. Drop it after fixing the cause so it is recreated.`);
47
57
  }
48
- if (current)
49
- return;
58
+ if (current) return;
50
59
  adapter.payload.logger.info(`Updating search index '${searchIndex.name}' on '${Model.collection.name}'.`);
51
60
  await Model.updateSearchIndex(searchIndex.name, searchIndex.definition);
52
61
  }
53
- export async function ensureSearchIndexes({ adapter, dropped = false, }) {
54
- for (const searchIndex of getSearchIndexes(adapter)) {
62
+ export async function ensureSearchIndexes({ adapter, dropped = false }) {
63
+ for (const searchIndex of getSearchIndexes(adapter)){
55
64
  try {
56
- await ensureSearchIndex({ adapter, dropped, searchIndex });
57
- }
58
- catch (error) {
59
- if (error instanceof SearchCapabilityError)
60
- throw error;
61
- throw createSearchSetupError({ error, searchIndex });
65
+ await ensureSearchIndex({
66
+ adapter,
67
+ dropped,
68
+ searchIndex
69
+ });
70
+ } catch (error) {
71
+ if (error instanceof SearchCapabilityError) throw error;
72
+ throw createSearchSetupError({
73
+ error,
74
+ searchIndex
75
+ });
62
76
  }
63
77
  }
64
78
  }
79
+
65
80
  //# sourceMappingURL=ensureSearchIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureSearchIndexes.js","sourceRoot":"","sources":["../../src/search/ensureSearchIndexes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/search/ensureSearchIndexes.ts"],"names":["SearchCapabilityError","createSearchSetupError","findSearchIndex","getSearchIndexes","getSearchModel","isSearchIndexDefinitionEqual","droppedIndexTimeout","droppedIndexInterval","findCurrentSearchIndex","dropped","Model","name","started","Date","now","existing","Error","Promise","resolve","setTimeout","ensureSearchIndex","adapter","searchIndex","collection","versions","createCollection","payload","logger","info","createSearchIndex","type","definition","index","mode","current","actual","latestDefinition","expected","status","updateSearchIndex","ensureSearchIndexes","error"],"mappings":"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","file":"ensureSearchIndexes.js"}
@@ -1,5 +1,6 @@
1
- export async function findSearchIndex({ Model, name, }) {
2
- const [index] = (await Model.collection.listSearchIndexes(name).toArray());
1
+ export async function findSearchIndex({ Model, name }) {
2
+ const [index] = await Model.collection.listSearchIndexes(name).toArray();
3
3
  return index?.status === 'DOES_NOT_EXIST' ? undefined : index;
4
4
  }
5
+
5
6
  //# sourceMappingURL=findSearchIndex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findSearchIndex.js","sourceRoot":"","sources":["../../src/search/findSearchIndex.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,KAAK,EACL,IAAI,GAIL;IACC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAsB,CAAC;IAEhG,OAAO,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC"}
1
+ {"version":3,"sources":["../../src/search/findSearchIndex.ts"],"names":["findSearchIndex","Model","name","index","collection","listSearchIndexes","toArray","status","undefined"],"mappings":"AAUA,OAAO,eAAeA,gBAAgB,EACpCC,KAAK,EACLC,IAAI,EAIL;IACC,MAAM,CAACC,MAAM,GAAI,MAAMF,MAAMG,UAAU,CAACC,iBAAiB,CAACH,MAAMI,OAAO;IAEvE,OAAOH,OAAOI,WAAW,mBAAmBC,YAAYL;AAC1D","file":"findSearchIndex.js"}
@@ -2,7 +2,8 @@ const searchIndexes = new WeakMap();
2
2
  export function getSearchIndexes(adapter) {
3
3
  return searchIndexes.get(adapter) ?? [];
4
4
  }
5
- export function setSearchIndexes({ adapter, indexes, }) {
5
+ export function setSearchIndexes({ adapter, indexes }) {
6
6
  searchIndexes.set(adapter, indexes);
7
7
  }
8
+
8
9
  //# sourceMappingURL=getSearchIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSearchIndexes.js","sourceRoot":"","sources":["../../src/search/getSearchIndexes.ts"],"names":[],"mappings":"AAIA,MAAM,aAAa,GAAG,IAAI,OAAO,EAAyB,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,OAAO,GAIR;IACC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"sources":["../../src/search/getSearchIndexes.ts"],"names":["searchIndexes","WeakMap","getSearchIndexes","adapter","get","setSearchIndexes","indexes","set"],"mappings":"AAIA,MAAMA,gBAAgB,IAAIC;AAE1B,OAAO,SAASC,iBAAiBC,OAAwB;IACvD,OAAOH,cAAcI,GAAG,CAACD,YAAY,EAAE;AACzC;AAEA,OAAO,SAASE,iBAAiB,EAC/BF,OAAO,EACPG,OAAO,EAIR;IACCN,cAAcO,GAAG,CAACJ,SAASG;AAC7B","file":"getSearchIndexes.js"}
@@ -1,4 +1,5 @@
1
- export function getSearchModel({ adapter, collection, versions, }) {
1
+ export function getSearchModel({ adapter, collection, versions }) {
2
2
  return versions ? adapter.versions[collection] : adapter.collections[collection];
3
3
  }
4
+
4
5
  //# sourceMappingURL=getSearchModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSearchModel.js","sourceRoot":"","sources":["../../src/search/getSearchModel.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,GAKT;IACC,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"sources":["../../src/search/getSearchModel.ts"],"names":["getSearchModel","adapter","collection","versions","collections"],"mappings":"AAMA,OAAO,SAASA,eAAe,EAC7BC,OAAO,EACPC,UAAU,EACVC,QAAQ,EAKT;IACC,OAAOA,WAAWF,QAAQE,QAAQ,CAACD,WAAW,GAAGD,QAAQG,WAAW,CAACF,WAAW;AAClF","file":"getSearchModel.js"}
@@ -1,23 +1,23 @@
1
1
  import { buildVersionCollectionFields, getLocalizedPaths } from 'payload';
2
- export function getSearchFields({ adapter, collection, versions, }) {
2
+ export function getSearchFields({ adapter, collection, versions }) {
3
3
  const { config } = adapter.payload.collections[collection];
4
- return versions
5
- ? buildVersionCollectionFields(adapter.payload.config, config, true)
6
- : config.flattenedFields;
4
+ return versions ? buildVersionCollectionFields(adapter.payload.config, config, true) : config.flattenedFields;
7
5
  }
8
6
  export function getSearchLocales(adapter) {
9
7
  const { localization } = adapter.payload.config;
10
- return localization ? localization.localeCodes : [undefined];
8
+ return localization ? localization.localeCodes : [
9
+ undefined
10
+ ];
11
11
  }
12
- export function getIDFieldType({ adapter, collection, }) {
12
+ export function getIDFieldType({ adapter, collection }) {
13
13
  const customIDType = adapter.payload.collections[collection]?.customIDType;
14
- if (customIDType === 'number')
15
- return 'number';
14
+ if (customIDType === 'number') return 'number';
16
15
  return customIDType === 'text' ? 'token' : 'objectId';
17
16
  }
18
- export function getSearchPath({ adapter, collection, fields, locale, path, versions, }) {
19
- if (path === 'id')
20
- return { path: versions ? 'parent' : '_id' };
17
+ export function getSearchPath({ adapter, collection, fields, locale, path, versions }) {
18
+ if (path === 'id') return {
19
+ path: versions ? 'parent' : '_id'
20
+ };
21
21
  const [resolved] = getLocalizedPaths({
22
22
  collectionSlug: collection,
23
23
  fields,
@@ -25,11 +25,15 @@ export function getSearchPath({ adapter, collection, fields, locale, path, versi
25
25
  locale,
26
26
  overrideAccess: true,
27
27
  payload: adapter.payload,
28
- showHiddenFields: true,
28
+ showHiddenFields: true
29
29
  });
30
30
  if (!resolved?.path || resolved.invalid) {
31
31
  throw new Error(`Search path '${path}' does not exist in collection '${collection}'.`);
32
32
  }
33
- return { field: resolved.field, path: resolved.path };
33
+ return {
34
+ field: resolved.field,
35
+ path: resolved.path
36
+ };
34
37
  }
38
+
35
39
  //# sourceMappingURL=getSearchPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSearchPath.js","sourceRoot":"","sources":["../../src/search/getSearchPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI1E,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,UAAU,EACV,QAAQ,GAKT;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3D,OAAO,QAAQ;QACb,CAAC,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhD,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,GAIX;IACC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IAE3E,IAAI,YAAY,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE/C,OAAO,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,UAAU,EACV,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,GAQT;IACC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEhE,MAAM,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC;QACnC,cAAc,EAAE,UAAU;QAC1B,MAAM;QACN,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QACjD,MAAM;QACN,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,mCAAmC,UAAU,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"sources":["../../src/search/getSearchPath.ts"],"names":["buildVersionCollectionFields","getLocalizedPaths","getSearchFields","adapter","collection","versions","config","payload","collections","flattenedFields","getSearchLocales","localization","localeCodes","undefined","getIDFieldType","customIDType","getSearchPath","fields","locale","path","resolved","collectionSlug","incomingPath","overrideAccess","showHiddenFields","invalid","Error","field"],"mappings":"AAEA,SAASA,4BAA4B,EAAEC,iBAAiB,QAAQ,UAAU;AAI1E,OAAO,SAASC,gBAAgB,EAC9BC,OAAO,EACPC,UAAU,EACVC,QAAQ,EAKT;IACC,MAAM,EAAEC,MAAM,EAAE,GAAGH,QAAQI,OAAO,CAACC,WAAW,CAACJ,WAAW;IAE1D,OAAOC,WACHL,6BAA6BG,QAAQI,OAAO,CAACD,MAAM,EAAEA,QAAQ,QAC7DA,OAAOG,eAAe;AAC5B;AAEA,OAAO,SAASC,iBAAiBP,OAAwB;IACvD,MAAM,EAAEQ,YAAY,EAAE,GAAGR,QAAQI,OAAO,CAACD,MAAM;IAE/C,OAAOK,eAAeA,aAAaC,WAAW,GAAG;QAACC;KAAU;AAC9D;AAEA,OAAO,SAASC,eAAe,EAC7BX,OAAO,EACPC,UAAU,EAIX;IACC,MAAMW,eAAeZ,QAAQI,OAAO,CAACC,WAAW,CAACJ,WAAW,EAAEW;IAE9D,IAAIA,iBAAiB,UAAU,OAAO;IAEtC,OAAOA,iBAAiB,SAAS,UAAU;AAC7C;AAEA,OAAO,SAASC,cAAc,EAC5Bb,OAAO,EACPC,UAAU,EACVa,MAAM,EACNC,MAAM,EACNC,IAAI,EACJd,QAAQ,EAQT;IACC,IAAIc,SAAS,MAAM,OAAO;QAAEA,MAAMd,WAAW,WAAW;IAAM;IAE9D,MAAM,CAACe,SAAS,GAAGnB,kBAAkB;QACnCoB,gBAAgBjB;QAChBa;QACAK,cAAcjB,WAAW,CAAC,QAAQ,EAAEc,MAAM,GAAGA;QAC7CD;QACAK,gBAAgB;QAChBhB,SAASJ,QAAQI,OAAO;QACxBiB,kBAAkB;IACpB;IAEA,IAAI,CAACJ,UAAUD,QAAQC,SAASK,OAAO,EAAE;QACvC,MAAM,IAAIC,MAAM,CAAC,aAAa,EAAEP,KAAK,gCAAgC,EAAEf,WAAW,EAAE,CAAC;IACvF;IAEA,OAAO;QAAEuB,OAAOP,SAASO,KAAK;QAAER,MAAMC,SAASD,IAAI;IAAC;AACtD","file":"getSearchPath.js"}
@@ -7,6 +7,7 @@ export const mongooseSearchAdapter = {
7
7
  buildSchema,
8
8
  capabilities,
9
9
  readiness,
10
- search,
10
+ search
11
11
  };
12
+
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,WAAW;IACX,YAAY;IACZ,SAAS;IACT,MAAM;CACP,CAAC"}
1
+ {"version":3,"sources":["../../src/search/index.ts"],"names":["buildSchema","capabilities","readiness","search","ensureSearchIndexes","mongooseSearchAdapter"],"mappings":"AAEA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,MAAM,QAAQ,cAAc;AAErC,SAASC,mBAAmB,QAAQ,2BAA2B;AAE/D,OAAO,MAAMC,wBAAuC;IAClDL;IACAC;IACAC;IACAC;AACF,EAAE","file":"index.js"}
@@ -1,4 +1,5 @@
1
- export function isDraftSearch({ adapter, collection, draft, }) {
1
+ export function isDraftSearch({ adapter, collection, draft }) {
2
2
  return draft && Boolean(adapter.payload.collections[collection].config.versions?.drafts);
3
3
  }
4
+
4
5
  //# sourceMappingURL=isDraftSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isDraftSearch.js","sourceRoot":"","sources":["../../src/search/isDraftSearch.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,UAAU,EACV,KAAK,GAKN;IACC,OAAO,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"sources":["../../src/search/isDraftSearch.ts"],"names":["isDraftSearch","adapter","collection","draft","Boolean","payload","collections","config","versions","drafts"],"mappings":"AAEA,OAAO,SAASA,cAAc,EAC5BC,OAAO,EACPC,UAAU,EACVC,KAAK,EAKN;IACC,OAAOA,SAASC,QAAQH,QAAQI,OAAO,CAACC,WAAW,CAACJ,WAAW,CAACK,MAAM,CAACC,QAAQ,EAAEC;AACnF","file":"isDraftSearch.js"}
@@ -1,33 +1,40 @@
1
1
  function isRecord(value) {
2
2
  return value !== null && typeof value === 'object' && !Array.isArray(value);
3
3
  }
4
- function matches({ actual, expected, exactKeys, }) {
4
+ function matches({ actual, expected, exactKeys }) {
5
5
  if (Array.isArray(expected)) {
6
- if (!Array.isArray(actual) || actual.length !== expected.length)
7
- return false;
8
- const remaining = [...actual];
9
- return expected.every((item) => {
10
- const index = remaining.findIndex((candidate) => matches({ actual: candidate, expected: item, exactKeys: false }));
11
- if (index === -1)
12
- return false;
6
+ if (!Array.isArray(actual) || actual.length !== expected.length) return false;
7
+ const remaining = [
8
+ ...actual
9
+ ];
10
+ return expected.every((item)=>{
11
+ const index = remaining.findIndex((candidate)=>matches({
12
+ actual: candidate,
13
+ expected: item,
14
+ exactKeys: false
15
+ }));
16
+ if (index === -1) return false;
13
17
  remaining.splice(index, 1);
14
18
  return true;
15
19
  });
16
20
  }
17
21
  if (isRecord(expected)) {
18
- if (!isRecord(actual))
19
- return false;
20
- if (exactKeys && Object.keys(actual).length !== Object.keys(expected).length)
21
- return false;
22
- return Object.entries(expected).every(([key, value]) => matches({
23
- actual: actual[key],
24
- expected: value,
25
- exactKeys: key === 'fields' && isRecord(value),
26
- }));
22
+ if (!isRecord(actual)) return false;
23
+ if (exactKeys && Object.keys(actual).length !== Object.keys(expected).length) return false;
24
+ return Object.entries(expected).every(([key, value])=>matches({
25
+ actual: actual[key],
26
+ expected: value,
27
+ exactKeys: key === 'fields' && isRecord(value)
28
+ }));
27
29
  }
28
30
  return actual === expected;
29
31
  }
30
- export function isSearchIndexDefinitionEqual({ actual, expected, }) {
31
- return matches({ actual, expected, exactKeys: false });
32
+ export function isSearchIndexDefinitionEqual({ actual, expected }) {
33
+ return matches({
34
+ actual,
35
+ expected,
36
+ exactKeys: false
37
+ });
32
38
  }
39
+
33
40
  //# sourceMappingURL=isSearchIndexDefinitionEqual.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isSearchIndexDefinitionEqual.js","sourceRoot":"","sources":["../../src/search/isSearchIndexDefinitionEqual.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,EACf,MAAM,EACN,QAAQ,EACR,SAAS,GAKV;IACC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE9E,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE9B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACjE,CAAC;YAEF,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE/B,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE3B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE3F,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACrD,OAAO,CAAC;YACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;YACnB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC;SAC/C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,KAAK,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAC3C,MAAM,EACN,QAAQ,GAIT;IACC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"sources":["../../src/search/isSearchIndexDefinitionEqual.ts"],"names":["isRecord","value","Array","isArray","matches","actual","expected","exactKeys","length","remaining","every","item","index","findIndex","candidate","splice","Object","keys","entries","key","isSearchIndexDefinitionEqual"],"mappings":"AAAA,SAASA,SAASC,KAAc;IAC9B,OAAOA,UAAU,QAAQ,OAAOA,UAAU,YAAY,CAACC,MAAMC,OAAO,CAACF;AACvE;AAEA,SAASG,QAAQ,EACfC,MAAM,EACNC,QAAQ,EACRC,SAAS,EAKV;IACC,IAAIL,MAAMC,OAAO,CAACG,WAAW;QAC3B,IAAI,CAACJ,MAAMC,OAAO,CAACE,WAAWA,OAAOG,MAAM,KAAKF,SAASE,MAAM,EAAE,OAAO;QAExE,MAAMC,YAAY;eAAIJ;SAAO;QAE7B,OAAOC,SAASI,KAAK,CAAC,CAACC;YACrB,MAAMC,QAAQH,UAAUI,SAAS,CAAC,CAACC,YACjCV,QAAQ;oBAAEC,QAAQS;oBAAWR,UAAUK;oBAAMJ,WAAW;gBAAM;YAGhE,IAAIK,UAAU,CAAC,GAAG,OAAO;YAEzBH,UAAUM,MAAM,CAACH,OAAO;YAExB,OAAO;QACT;IACF;IAEA,IAAIZ,SAASM,WAAW;QACtB,IAAI,CAACN,SAASK,SAAS,OAAO;QAE9B,IAAIE,aAAaS,OAAOC,IAAI,CAACZ,QAAQG,MAAM,KAAKQ,OAAOC,IAAI,CAACX,UAAUE,MAAM,EAAE,OAAO;QAErF,OAAOQ,OAAOE,OAAO,CAACZ,UAAUI,KAAK,CAAC,CAAC,CAACS,KAAKlB,MAAM,GACjDG,QAAQ;gBACNC,QAAQA,MAAM,CAACc,IAAI;gBACnBb,UAAUL;gBACVM,WAAWY,QAAQ,YAAYnB,SAASC;YAC1C;IAEJ;IAEA,OAAOI,WAAWC;AACpB;AAEA,OAAO,SAASc,6BAA6B,EAC3Cf,MAAM,EACNC,QAAQ,EAIT;IACC,OAAOF,QAAQ;QAAEC;QAAQC;QAAUC,WAAW;IAAM;AACtD","file":"isSearchIndexDefinitionEqual.js"}