mindoodb 0.0.23 → 0.0.32

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 (340) hide show
  1. package/README-server.md +9 -1
  2. package/README.md +5 -3
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +24 -5
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +14 -2
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +124 -27
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +159 -4
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +334 -25
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +9 -0
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +77 -5
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  19. package/dist/browser/index.mjs +103 -0
  20. package/dist/core/BaseMindooDB.d.ts +697 -4
  21. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  22. package/dist/core/BaseMindooDB.js +3273 -180
  23. package/dist/core/BaseMindooDB.js.map +1 -1
  24. package/dist/core/BaseMindooTenant.d.ts +192 -1
  25. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  26. package/dist/core/BaseMindooTenant.js +633 -88
  27. package/dist/core/BaseMindooTenant.js.map +1 -1
  28. package/dist/core/BaseMindooTenantDirectory.d.ts +770 -10
  29. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  30. package/dist/core/BaseMindooTenantDirectory.js +2715 -292
  31. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  32. package/dist/core/BaseMindooTenantFactory.d.ts +2 -0
  33. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  34. package/dist/core/BaseMindooTenantFactory.js +20 -0
  35. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  36. package/dist/core/accesscontrol/AccessDeniedError.d.ts +22 -0
  37. package/dist/core/accesscontrol/AccessDeniedError.d.ts.map +1 -0
  38. package/dist/core/accesscontrol/AccessDeniedError.js +28 -0
  39. package/dist/core/accesscontrol/AccessDeniedError.js.map +1 -0
  40. package/dist/core/accesscontrol/DirectoryStateNode.d.ts +220 -0
  41. package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -0
  42. package/dist/core/accesscontrol/DirectoryStateNode.js +297 -0
  43. package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -0
  44. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts +118 -0
  45. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts.map +1 -0
  46. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js +173 -0
  47. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js.map +1 -0
  48. package/dist/core/accesscontrol/directoryProjection.d.ts +26 -0
  49. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -0
  50. package/dist/core/accesscontrol/directoryProjection.js +174 -0
  51. package/dist/core/accesscontrol/directoryProjection.js.map +1 -0
  52. package/dist/core/accesscontrol/evaluate.d.ts +77 -0
  53. package/dist/core/accesscontrol/evaluate.d.ts.map +1 -0
  54. package/dist/core/accesscontrol/evaluate.js +206 -0
  55. package/dist/core/accesscontrol/evaluate.js.map +1 -0
  56. package/dist/core/accesscontrol/grantKeys.d.ts +113 -0
  57. package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -0
  58. package/dist/core/accesscontrol/grantKeys.js +302 -0
  59. package/dist/core/accesscontrol/grantKeys.js.map +1 -0
  60. package/dist/core/accesscontrol/keyBagReconciler.d.ts +22 -0
  61. package/dist/core/accesscontrol/keyBagReconciler.d.ts.map +1 -0
  62. package/dist/core/accesscontrol/keyBagReconciler.js +3 -0
  63. package/dist/core/accesscontrol/keyBagReconciler.js.map +1 -0
  64. package/dist/core/accesscontrol/materializationGuard.d.ts +89 -0
  65. package/dist/core/accesscontrol/materializationGuard.d.ts.map +1 -0
  66. package/dist/core/accesscontrol/materializationGuard.js +69 -0
  67. package/dist/core/accesscontrol/materializationGuard.js.map +1 -0
  68. package/dist/core/accesscontrol/quarantine.d.ts +65 -0
  69. package/dist/core/accesscontrol/quarantine.d.ts.map +1 -0
  70. package/dist/core/accesscontrol/quarantine.js +79 -0
  71. package/dist/core/accesscontrol/quarantine.js.map +1 -0
  72. package/dist/core/accesscontrol/receiptValidation.d.ts +113 -0
  73. package/dist/core/accesscontrol/receiptValidation.d.ts.map +1 -0
  74. package/dist/core/accesscontrol/receiptValidation.js +142 -0
  75. package/dist/core/accesscontrol/receiptValidation.js.map +1 -0
  76. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts +31 -0
  77. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts.map +1 -0
  78. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js +66 -0
  79. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js.map +1 -0
  80. package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts +79 -0
  81. package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts.map +1 -0
  82. package/dist/core/accesscontrol/timestamp/TimestampProvider.js +22 -0
  83. package/dist/core/accesscontrol/timestamp/TimestampProvider.js.map +1 -0
  84. package/dist/core/accesscontrol/types.d.ts +825 -0
  85. package/dist/core/accesscontrol/types.d.ts.map +1 -0
  86. package/dist/core/accesscontrol/types.js +534 -0
  87. package/dist/core/accesscontrol/types.js.map +1 -0
  88. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +9 -0
  89. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  90. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +54 -0
  91. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  92. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +38 -2
  93. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  94. package/dist/core/appendonlystores/network/AuthenticationService.js +199 -26
  95. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  96. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +17 -3
  97. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  98. package/dist/core/appendonlystores/network/types.d.ts +58 -4
  99. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  100. package/dist/core/appendonlystores/network/types.js +4 -0
  101. package/dist/core/appendonlystores/network/types.js.map +1 -1
  102. package/dist/core/appendonlystores/scanUtils.d.ts +27 -0
  103. package/dist/core/appendonlystores/scanUtils.d.ts.map +1 -0
  104. package/dist/core/appendonlystores/scanUtils.js +87 -0
  105. package/dist/core/appendonlystores/scanUtils.js.map +1 -0
  106. package/dist/core/appendonlystores/types.d.ts +23 -2
  107. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  108. package/dist/core/cache/CacheManager.d.ts +13 -3
  109. package/dist/core/cache/CacheManager.d.ts.map +1 -1
  110. package/dist/core/cache/CacheManager.js +7 -4
  111. package/dist/core/cache/CacheManager.js.map +1 -1
  112. package/dist/core/crypto/EntrySignature.d.ts +137 -0
  113. package/dist/core/crypto/EntrySignature.d.ts.map +1 -0
  114. package/dist/core/crypto/EntrySignature.js +210 -0
  115. package/dist/core/crypto/EntrySignature.js.map +1 -0
  116. package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
  117. package/dist/core/crypto/MindooDocSigner.js +6 -2
  118. package/dist/core/crypto/MindooDocSigner.js.map +1 -1
  119. package/dist/core/crypto/WitnessReceipt.d.ts +137 -0
  120. package/dist/core/crypto/WitnessReceipt.d.ts.map +1 -0
  121. package/dist/core/crypto/WitnessReceipt.js +182 -0
  122. package/dist/core/crypto/WitnessReceipt.js.map +1 -0
  123. package/dist/core/crypto/encryptedFields.d.ts +27 -0
  124. package/dist/core/crypto/encryptedFields.d.ts.map +1 -0
  125. package/dist/core/crypto/encryptedFields.js +58 -0
  126. package/dist/core/crypto/encryptedFields.js.map +1 -0
  127. package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
  128. package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -1
  129. package/dist/core/crypto/pbkdf2Iterations.js +23 -0
  130. package/dist/core/crypto/pbkdf2Iterations.js.map +1 -1
  131. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -1
  132. package/dist/core/crypto/privateKeyEncryption.js +3 -1
  133. package/dist/core/crypto/privateKeyEncryption.js.map +1 -1
  134. package/dist/core/databaseIdValidation.d.ts +1 -1
  135. package/dist/core/databaseIdValidation.d.ts.map +1 -1
  136. package/dist/core/databaseIdValidation.js +4 -4
  137. package/dist/core/databaseIdValidation.js.map +1 -1
  138. package/dist/core/errors.d.ts +26 -0
  139. package/dist/core/errors.d.ts.map +1 -1
  140. package/dist/core/errors.js +42 -1
  141. package/dist/core/errors.js.map +1 -1
  142. package/dist/core/expressions/builder.d.ts +102 -0
  143. package/dist/core/expressions/builder.d.ts.map +1 -0
  144. package/dist/core/expressions/builder.js +249 -0
  145. package/dist/core/expressions/builder.js.map +1 -0
  146. package/dist/core/expressions/evaluateExpression.d.ts +78 -0
  147. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -0
  148. package/dist/core/expressions/evaluateExpression.js +386 -0
  149. package/dist/core/expressions/evaluateExpression.js.map +1 -0
  150. package/dist/core/expressions/formulaSource.d.ts +24 -0
  151. package/dist/core/expressions/formulaSource.d.ts.map +1 -0
  152. package/dist/core/expressions/formulaSource.js +765 -0
  153. package/dist/core/expressions/formulaSource.js.map +1 -0
  154. package/dist/core/expressions/index.d.ts +8 -0
  155. package/dist/core/expressions/index.d.ts.map +1 -0
  156. package/dist/core/expressions/index.js +46 -0
  157. package/dist/core/expressions/index.js.map +1 -0
  158. package/dist/core/expressions/metadata.d.ts +23 -0
  159. package/dist/core/expressions/metadata.d.ts.map +1 -0
  160. package/dist/core/expressions/metadata.js +191 -0
  161. package/dist/core/expressions/metadata.js.map +1 -0
  162. package/dist/core/expressions/types.d.ts +164 -0
  163. package/dist/core/expressions/types.d.ts.map +1 -0
  164. package/dist/core/expressions/types.js +3 -0
  165. package/dist/core/expressions/types.js.map +1 -0
  166. package/dist/core/extraction/types.d.ts +47 -0
  167. package/dist/core/extraction/types.d.ts.map +1 -0
  168. package/dist/core/extraction/types.js +42 -0
  169. package/dist/core/extraction/types.js.map +1 -0
  170. package/dist/core/index.d.ts +13 -3
  171. package/dist/core/index.d.ts.map +1 -1
  172. package/dist/core/index.js +113 -4
  173. package/dist/core/index.js.map +1 -1
  174. package/dist/core/indexing/createViewDataProvider.d.ts +84 -0
  175. package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -0
  176. package/dist/core/indexing/createViewDataProvider.js +139 -0
  177. package/dist/core/indexing/createViewDataProvider.js.map +1 -0
  178. package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts +180 -0
  179. package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts.map +1 -0
  180. package/dist/core/indexing/fulltext/DocumentFullTextIndex.js +548 -0
  181. package/dist/core/indexing/fulltext/DocumentFullTextIndex.js.map +1 -0
  182. package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts +69 -0
  183. package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts.map +1 -0
  184. package/dist/core/indexing/fulltext/SearchEngineAdapter.js +183 -0
  185. package/dist/core/indexing/fulltext/SearchEngineAdapter.js.map +1 -0
  186. package/dist/core/indexing/fulltext/extractFulltextText.d.ts +34 -0
  187. package/dist/core/indexing/fulltext/extractFulltextText.d.ts.map +1 -0
  188. package/dist/core/indexing/fulltext/extractFulltextText.js +129 -0
  189. package/dist/core/indexing/fulltext/extractFulltextText.js.map +1 -0
  190. package/dist/core/indexing/fulltext/index.d.ts +5 -0
  191. package/dist/core/indexing/fulltext/index.d.ts.map +1 -0
  192. package/dist/core/indexing/fulltext/index.js +20 -0
  193. package/dist/core/indexing/fulltext/index.js.map +1 -0
  194. package/dist/core/indexing/fulltext/types.d.ts +168 -0
  195. package/dist/core/indexing/fulltext/types.d.ts.map +1 -0
  196. package/dist/core/indexing/fulltext/types.js +89 -0
  197. package/dist/core/indexing/fulltext/types.js.map +1 -0
  198. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts +137 -0
  199. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts.map +1 -0
  200. package/dist/core/indexing/summary/DocumentSummaryStore.js +438 -0
  201. package/dist/core/indexing/summary/DocumentSummaryStore.js.map +1 -0
  202. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts +72 -0
  203. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -0
  204. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +221 -0
  205. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -0
  206. package/dist/core/indexing/summary/extractSummaryFields.d.ts +75 -0
  207. package/dist/core/indexing/summary/extractSummaryFields.d.ts.map +1 -0
  208. package/dist/core/indexing/summary/extractSummaryFields.js +266 -0
  209. package/dist/core/indexing/summary/extractSummaryFields.js.map +1 -0
  210. package/dist/core/indexing/summary/index.d.ts +5 -0
  211. package/dist/core/indexing/summary/index.d.ts.map +1 -0
  212. package/dist/core/indexing/summary/index.js +23 -0
  213. package/dist/core/indexing/summary/index.js.map +1 -0
  214. package/dist/core/indexing/summary/types.d.ts +119 -0
  215. package/dist/core/indexing/summary/types.d.ts.map +1 -0
  216. package/dist/core/indexing/summary/types.js +81 -0
  217. package/dist/core/indexing/summary/types.js.map +1 -0
  218. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts +47 -1
  219. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts.map +1 -1
  220. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +24 -8
  221. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  222. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +96 -41
  223. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  224. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts +2 -0
  225. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts.map +1 -1
  226. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js +8 -3
  227. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js.map +1 -1
  228. package/dist/core/indexing/virtualviews/VirtualView.d.ts +111 -5
  229. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  230. package/dist/core/indexing/virtualviews/VirtualView.js +266 -75
  231. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  232. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts +12 -0
  233. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts.map +1 -1
  234. package/dist/core/indexing/virtualviews/VirtualViewColumn.js +1 -0
  235. package/dist/core/indexing/virtualviews/VirtualViewColumn.js.map +1 -1
  236. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +12 -0
  237. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  238. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +66 -5
  239. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  240. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +50 -6
  241. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -1
  242. package/dist/core/indexing/virtualviews/VirtualViewFactory.js +54 -12
  243. package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -1
  244. package/dist/core/indexing/virtualviews/index.d.ts +3 -3
  245. package/dist/core/indexing/virtualviews/index.d.ts.map +1 -1
  246. package/dist/core/indexing/virtualviews/index.js.map +1 -1
  247. package/dist/core/indexing/virtualviews/types.d.ts +6 -0
  248. package/dist/core/indexing/virtualviews/types.d.ts.map +1 -1
  249. package/dist/core/indexing/virtualviews/types.js +11 -3
  250. package/dist/core/indexing/virtualviews/types.js.map +1 -1
  251. package/dist/core/keys/KeyBag.d.ts +25 -0
  252. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  253. package/dist/core/keys/KeyBag.js +37 -1
  254. package/dist/core/keys/KeyBag.js.map +1 -1
  255. package/dist/core/query/executeQuery.d.ts +18 -0
  256. package/dist/core/query/executeQuery.d.ts.map +1 -0
  257. package/dist/core/query/executeQuery.js +313 -0
  258. package/dist/core/query/executeQuery.js.map +1 -0
  259. package/dist/core/query/index.d.ts +5 -0
  260. package/dist/core/query/index.d.ts.map +1 -0
  261. package/dist/core/query/index.js +14 -0
  262. package/dist/core/query/index.js.map +1 -0
  263. package/dist/core/query/queryLive.d.ts +27 -0
  264. package/dist/core/query/queryLive.d.ts.map +1 -0
  265. package/dist/core/query/queryLive.js +104 -0
  266. package/dist/core/query/queryLive.js.map +1 -0
  267. package/dist/core/query/queryView.d.ts +156 -0
  268. package/dist/core/query/queryView.d.ts.map +1 -0
  269. package/dist/core/query/queryView.js +266 -0
  270. package/dist/core/query/queryView.js.map +1 -0
  271. package/dist/core/query/types.d.ts +121 -0
  272. package/dist/core/query/types.d.ts.map +1 -0
  273. package/dist/core/query/types.js +18 -0
  274. package/dist/core/query/types.js.map +1 -0
  275. package/dist/core/storeEntryTime.d.ts +57 -0
  276. package/dist/core/storeEntryTime.d.ts.map +1 -0
  277. package/dist/core/storeEntryTime.js +72 -0
  278. package/dist/core/storeEntryTime.js.map +1 -0
  279. package/dist/core/types.d.ts +1509 -39
  280. package/dist/core/types.d.ts.map +1 -1
  281. package/dist/core/types.js +13 -1
  282. package/dist/core/types.js.map +1 -1
  283. package/dist/core/uri/MindooURI.d.ts +53 -1
  284. package/dist/core/uri/MindooURI.d.ts.map +1 -1
  285. package/dist/core/uri/MindooURI.js +135 -0
  286. package/dist/core/uri/MindooURI.js.map +1 -1
  287. package/dist/core/utils/urlSafety.d.ts +46 -0
  288. package/dist/core/utils/urlSafety.d.ts.map +1 -0
  289. package/dist/core/utils/urlSafety.js +144 -0
  290. package/dist/core/utils/urlSafety.js.map +1 -0
  291. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +14 -0
  292. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  293. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +95 -4
  294. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  295. package/dist/node/server/CapabilityMatcher.d.ts +10 -0
  296. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
  297. package/dist/node/server/CapabilityMatcher.js +14 -2
  298. package/dist/node/server/CapabilityMatcher.js.map +1 -1
  299. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  300. package/dist/node/server/MindooDBServer.js +117 -8
  301. package/dist/node/server/MindooDBServer.js.map +1 -1
  302. package/dist/node/server/PurgedDocRegistry.d.ts +32 -0
  303. package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -0
  304. package/dist/node/server/PurgedDocRegistry.js +94 -0
  305. package/dist/node/server/PurgedDocRegistry.js.map +1 -0
  306. package/dist/node/server/ServerSync.d.ts.map +1 -1
  307. package/dist/node/server/ServerSync.js +5 -2
  308. package/dist/node/server/ServerSync.js.map +1 -1
  309. package/dist/node/server/SystemAdminAuth.d.ts +10 -0
  310. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -1
  311. package/dist/node/server/SystemAdminAuth.js +25 -0
  312. package/dist/node/server/SystemAdminAuth.js.map +1 -1
  313. package/dist/node/server/TenantManager.d.ts +95 -1
  314. package/dist/node/server/TenantManager.d.ts.map +1 -1
  315. package/dist/node/server/TenantManager.js +382 -15
  316. package/dist/node/server/TenantManager.js.map +1 -1
  317. package/dist/node/server/config.d.ts.map +1 -1
  318. package/dist/node/server/config.js +5 -1
  319. package/dist/node/server/config.js.map +1 -1
  320. package/dist/node/server/types.d.ts +29 -3
  321. package/dist/node/server/types.d.ts.map +1 -1
  322. package/dist/node/server/types.js +12 -0
  323. package/dist/node/server/types.js.map +1 -1
  324. package/dist/node/server/validation.d.ts +6 -0
  325. package/dist/node/server/validation.d.ts.map +1 -1
  326. package/dist/node/server/validation.js +7 -1
  327. package/dist/node/server/validation.js.map +1 -1
  328. package/package.json +4 -3
  329. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +0 -8
  330. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +0 -1
  331. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +0 -16
  332. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +0 -1
  333. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +0 -68
  334. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +0 -1
  335. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +0 -659
  336. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +0 -1
  337. package/dist/node/attachments/writeAttachmentToFile.d.ts +0 -15
  338. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +0 -1
  339. package/dist/node/attachments/writeAttachmentToFile.js +0 -73
  340. package/dist/node/attachments/writeAttachmentToFile.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Attachment text extraction setup (docs/fulltext-search.md).
3
+ *
4
+ * Configures host-side extraction services (e.g. Haven's OCR service):
5
+ * which databases want expensive attachment-content extraction (OCR for
6
+ * images and scanned PDFs) whose results are persisted at the attachment
7
+ * entry via `MindooDoc.setAttachmentExtractedText()` and synced with the
8
+ * document. This is deliberately separate from `fulltextSetup.attachments`
9
+ * (cheap, index-local extractors that run on every device): extraction
10
+ * services run once per attachment, write the result into the document,
11
+ * and every replica gets the text for free.
12
+ *
13
+ * Stored in the synced setup document (`dbsetup`, field
14
+ * `extractionSetup`) — same pattern as `summarySetup`/`fulltextSetup`.
15
+ */
16
+ export interface ExtractionConfig {
17
+ /** Master switch. Default: false (no extraction service activity). */
18
+ enabled?: boolean;
19
+ /**
20
+ * Tesseract-style language codes for OCR (e.g. ["deu", "eng"]).
21
+ * Services use this to load the matching trained data. Default is
22
+ * service-defined.
23
+ */
24
+ languages?: string[];
25
+ /**
26
+ * Restrict extraction to these MIME types (prefix match allowed, e.g.
27
+ * "image/"). Default: service-defined (typically images + PDFs).
28
+ */
29
+ mimeTypes?: string[];
30
+ /**
31
+ * Cap on persisted text per attachment in characters. Values above the
32
+ * hard limit (ATTACHMENT_EXTRACTED_TEXT_MAX_CHARS) are clamped by the
33
+ * write path.
34
+ */
35
+ maxCharsPerAttachment?: number;
36
+ }
37
+ /**
38
+ * Field of the `dbsetup` document holding the {@link ExtractionConfig}.
39
+ */
40
+ export declare const EXTRACTION_SETUP_FIELD = "extractionSetup";
41
+ /**
42
+ * Validate and strip an untrusted `extractionSetup` value from the setup
43
+ * document down to the known, well-typed fields. Returns `undefined` when
44
+ * the value is not an object — callers fall back to "not configured".
45
+ */
46
+ export declare function sanitizeExtractionConfig(value: unknown): ExtractionConfig | undefined;
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extraction/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAiCrF"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXTRACTION_SETUP_FIELD = void 0;
4
+ exports.sanitizeExtractionConfig = sanitizeExtractionConfig;
5
+ /**
6
+ * Field of the `dbsetup` document holding the {@link ExtractionConfig}.
7
+ */
8
+ exports.EXTRACTION_SETUP_FIELD = "extractionSetup";
9
+ /**
10
+ * Validate and strip an untrusted `extractionSetup` value from the setup
11
+ * document down to the known, well-typed fields. Returns `undefined` when
12
+ * the value is not an object — callers fall back to "not configured".
13
+ */
14
+ function sanitizeExtractionConfig(value) {
15
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
16
+ return undefined;
17
+ }
18
+ const raw = value;
19
+ const config = {};
20
+ if (typeof raw.enabled === "boolean") {
21
+ config.enabled = raw.enabled;
22
+ }
23
+ if (Array.isArray(raw.languages)) {
24
+ const languages = raw.languages.filter((item) => typeof item === "string" && item.length > 0 && item.length <= 35);
25
+ if (languages.length > 0) {
26
+ config.languages = languages;
27
+ }
28
+ }
29
+ if (Array.isArray(raw.mimeTypes)) {
30
+ const mimeTypes = raw.mimeTypes.filter((item) => typeof item === "string" && item.length > 0 && item.length <= 255);
31
+ if (mimeTypes.length > 0) {
32
+ config.mimeTypes = mimeTypes;
33
+ }
34
+ }
35
+ if (typeof raw.maxCharsPerAttachment === "number" &&
36
+ Number.isFinite(raw.maxCharsPerAttachment) &&
37
+ raw.maxCharsPerAttachment > 0) {
38
+ config.maxCharsPerAttachment = Math.floor(raw.maxCharsPerAttachment);
39
+ }
40
+ return config;
41
+ }
42
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/extraction/types.ts"],"names":[],"mappings":";;;AAkDA,4DAiCC;AA3CD;;GAEG;AACU,QAAA,sBAAsB,GAAG,iBAAiB,CAAC;AAExD;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAc;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CACpC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAC3F,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CACpC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAC5F,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IACE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ;QAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC1C,GAAG,CAAC,qBAAqB,GAAG,CAAC,EAC7B,CAAC;QACD,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  export * from "./types";
2
2
  export * from "./databaseIdValidation";
3
3
  export * from "./tenantIdValidation";
4
+ export { ACCESS_CONTROL_FORM, ACL_DEFAULT_POLICY_DOC_ID, DEFAULT_POLICY_DEFAULTS, RULE_TYPES, RULE_TYPE_TO_DENY_FIELD, effectivePolicy, aclDbPolicyDocId, aclRuleDocId, aclTrustedWitnessDocId, encodeAclIdComponent, decodeAclIdComponent, aclKeyDistributionDocId, isKeyDistributionDocId, validateKeyDistribution, KEY_DISTRIBUTION_TYPE, ACL_KEY_DISTRIBUTION_PREFIX, PROTECTED_DISTRIBUTION_KEY_IDS, aclAppDistributionDocId, isAppDistributionDocId, validateAppDistribution, APP_DISTRIBUTION_TYPE, ACL_APP_DISTRIBUTION_PREFIX, aclSyncSetupPolicyDocId, isSyncSetupPolicyDocId, validateSyncSetupPolicy, SYNC_SETUP_POLICY_TYPE, SYNC_SETUP_POLICY_MODES, ACL_SYNC_SETUP_POLICY_PREFIX, aclDocHistoryPurgeDocId, isDocHistoryPurgeDocId, validateDocHistoryPurge, DOC_HISTORY_PURGE_TYPE, ACL_DOC_HISTORY_PURGE_PREFIX, type RuleType, type Operator, type WithFieldWhen, type WithFieldClause, type DefaultAccessPolicyDoc, type AclRuleDoc, type RuleTargets, type TrustedWitnessDoc, type AccessTier, type AccessDecision, type KeyVersionRef, type DeviceWrappedVersions, type KeyDistributionDoc, type KeyDistributionRequest, type KeyDistributionPushRecipient, type KeyDistributionView, type AppDistributionDoc, type AppDistributionRequest, type AppDistributionView, type AppDistributionInstall, type AppDistributionReconcilePlan, type SyncSetupPolicyDoc, type SyncSetupPolicyRequest, type SyncSetupPolicyView, type SyncSetupPolicyMode, type SyncSetupPolicyDatabase, type SyncSetupPolicyReconcilePlan, type DocHistoryPurgeDoc, type DocHistoryPurgeRequest, type DocHistoryPurgeView, } from "./accesscontrol/types";
5
+ export { createGenesisNode, nodeCovering, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
6
+ export { AccessDeniedError } from "./accesscontrol/AccessDeniedError";
4
7
  export type { PublicUserId, PrivateUserId } from "./userid";
5
8
  export { BaseMindooDB } from "./BaseMindooDB";
6
9
  export { BaseMindooTenant } from "./BaseMindooTenant";
@@ -9,9 +12,10 @@ export { MindooDBServerAdmin, type MindooDBServerAdminOptions, type ServerConfig
9
12
  export type { CryptoAdapter } from "./crypto/CryptoAdapter";
10
13
  export { RSAEncryption } from "./crypto/RSAEncryption";
11
14
  export { MindooDocSigner } from "./crypto/MindooDocSigner";
15
+ export { decryptEncryptedField, getEncryptedFieldKeyId, type EncryptedFieldDecryptor, } from "./crypto/encryptedFields";
12
16
  export { KeyBag, type KeyDetail } from "./keys/KeyBag";
13
- export { encodeMindooURI, decodeMindooURI, isMindooURI, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
14
- export { SymmetricKeyNotFoundError } from "./errors";
17
+ export { encodeMindooURI, decodeMindooURI, isMindooURI, encodeKeyDistributionRequest, decodeKeyDistributionRequest, encodeAppDistributionRequest, decodeAppDistributionRequest, encodeSyncSetupPolicyRequest, decodeSyncSetupPolicyRequest, encodeDocHistoryPurgeRequest, decodeDocHistoryPurgeRequest, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
18
+ export { SymmetricKeyNotFoundError, DocumentNotFoundError, DocumentDeletedError, isDocumentMissingError, } from "./errors";
15
19
  export type { LocalCacheStore } from "./cache/LocalCacheStore";
16
20
  export { InMemoryLocalCacheStore } from "./cache/LocalCacheStore";
17
21
  export { EncryptedLocalCacheStore } from "./cache/EncryptedLocalCacheStore";
@@ -24,5 +28,11 @@ export type { NetworkTransport, NetworkTransportConfig } from "./appendonlystore
24
28
  export { type NetworkEncryptedEntry, type UserPublicKeys, type NetworkAuthTokenPayload, type AuthChallenge, type AuthResult, type NetworkSyncCapabilities, NetworkErrorType, NetworkError, } from "./appendonlystores/network/types";
25
29
  export { ClientNetworkContentAddressedStore } from "../appendonlystores/network/ClientNetworkContentAddressedStore";
26
30
  export { HttpTransport } from "../appendonlystores/network/HttpTransport";
27
- export { VirtualView, VirtualViewFactory, VirtualViewBuilder, VirtualViewNavigatorBuilder, VirtualViewColumn, VirtualViewNavigator, VirtualViewEntryData, VirtualViewDataChange, MindooDBVirtualViewDataProvider, ColumnSorting, TotalMode, CategorizationStyle, WithCategories, WithDocuments, SelectedOnly, type VirtualViewColumnOptions, type IVirtualViewDataProvider, type MindooDBVirtualViewDataProviderOptions, type ScopedDocId, type ColumnValueFunction, type DocumentFilterFunction, } from "./indexing/virtualviews";
31
+ export { VirtualView, VirtualViewFactory, VirtualViewBuilder, VirtualViewNavigatorBuilder, VirtualViewColumn, VirtualViewNavigator, VirtualViewEntryData, VirtualViewDataChange, MindooDBVirtualViewDataProvider, ColumnSorting, TotalMode, CategorizationStyle, WithCategories, WithDocuments, SelectedOnly, type VirtualViewColumnOptions, type IVirtualViewDataProvider, type MindooDBVirtualViewDataProviderOptions, type ScopedDocId, type ColumnValueFunction, type DocumentFilterFunction, type VirtualViewUpdateStats, type ViewDataSourceInfo, type WithDBOptions, } from "./indexing/virtualviews";
32
+ export { createViewDataProvider, collectSummaryFallbackReasons, filterExpressionToDocumentFilter, type CreateViewDataProviderOptions, type CreateViewDataProviderResult, type ViewDataProviderSource, } from "./indexing/createViewDataProvider";
33
+ export * from "./expressions";
34
+ export { executeQuery, executeQueryLive, MindooQueryError, EphemeralSummaryView, createEphemeralSummaryView, queryViewAcross, type EphemeralViewSource, type MindooQuerySubscription, type MindooQueryViewDefinition, type MindooQuery, type MindooQuerySortKey, type MindooQueryTextClause, type MindooQueryErrorCode, type MindooQueryOptions, type MindooQueryRow, type MindooQueryCoverage, type MindooQueryResult, } from "./query";
35
+ export { DocumentSummaryStore, SummaryVirtualViewDataProvider, type SummaryVirtualViewDataProviderOptions, resolveSummaryConfig, computeSummaryConfigFingerprint, sanitizeSummaryConfig, extractSummaryFields, getSummaryFieldValue, isFieldPathCovered, DEFAULT_SUMMARY_MAX_VALUE_BYTES, DB_SETUP_DOC_ID, SUMMARY_SETUP_FIELD, ATTACHMENTS_FIELD, type SummaryAttachmentInfo, type SummaryConfig, type ResolvedSummaryConfig, type DocumentSummaryEntry, type SummaryCoverage, } from "./indexing/summary";
36
+ export { DocumentFullTextIndex, MiniSearchAdapter, createTokenizer, resolveFulltextConfig, sanitizeFulltextConfig, computeFulltextConfigFingerprint, collectPlainText, extractFulltextFields, FULLTEXT_SETUP_FIELD, FULLTEXT_ATTACHMENT_FIELD, FULLTEXT_INDEX_FORMAT_VERSION, DEFAULT_FULLTEXT_MAX_FIELD_BYTES, type SearchEngineAdapter, type FulltextConfig, type ResolvedFulltextConfig, type FulltextCoverage, type FulltextSearchHit, type FulltextSearchOptions, type FulltextSearchResult, type AttachmentTextExtractor, } from "./indexing/fulltext";
37
+ export { EXTRACTION_SETUP_FIELD, sanitizeExtractionConfig, type ExtractionConfig, } from "./extraction/types";
28
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAMrC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG/F,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,GACtC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AAGvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kCAAkC,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sCAAsC,EAC3C,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAI3C,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,qCAAqC,EAC1C,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,+BAA+B,EAC/B,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,gCAAgC,EAChC,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -15,11 +15,56 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.SymmetricKeyNotFoundError = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = void 0;
18
+ exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.AccessDeniedError = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = void 0;
19
+ exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = void 0;
20
+ exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = void 0;
19
21
  // Types
20
22
  __exportStar(require("./types"), exports);
21
23
  __exportStar(require("./databaseIdValidation"), exports);
22
24
  __exportStar(require("./tenantIdValidation"), exports);
25
+ // Access-control directory schema + time-travel state (docs/accesscontrol.md
26
+ // §6/§8). Surfaced so consumers (e.g. the Haven directory-history UI) can read
27
+ // the time-travel DirectoryStateNode returned by
28
+ // MindooTenantDirectory.getDirectoryStateAt / getDirectoryStateHead.
29
+ var types_1 = require("./accesscontrol/types");
30
+ Object.defineProperty(exports, "ACCESS_CONTROL_FORM", { enumerable: true, get: function () { return types_1.ACCESS_CONTROL_FORM; } });
31
+ Object.defineProperty(exports, "ACL_DEFAULT_POLICY_DOC_ID", { enumerable: true, get: function () { return types_1.ACL_DEFAULT_POLICY_DOC_ID; } });
32
+ Object.defineProperty(exports, "DEFAULT_POLICY_DEFAULTS", { enumerable: true, get: function () { return types_1.DEFAULT_POLICY_DEFAULTS; } });
33
+ Object.defineProperty(exports, "RULE_TYPES", { enumerable: true, get: function () { return types_1.RULE_TYPES; } });
34
+ Object.defineProperty(exports, "RULE_TYPE_TO_DENY_FIELD", { enumerable: true, get: function () { return types_1.RULE_TYPE_TO_DENY_FIELD; } });
35
+ Object.defineProperty(exports, "effectivePolicy", { enumerable: true, get: function () { return types_1.effectivePolicy; } });
36
+ Object.defineProperty(exports, "aclDbPolicyDocId", { enumerable: true, get: function () { return types_1.aclDbPolicyDocId; } });
37
+ Object.defineProperty(exports, "aclRuleDocId", { enumerable: true, get: function () { return types_1.aclRuleDocId; } });
38
+ Object.defineProperty(exports, "aclTrustedWitnessDocId", { enumerable: true, get: function () { return types_1.aclTrustedWitnessDocId; } });
39
+ Object.defineProperty(exports, "encodeAclIdComponent", { enumerable: true, get: function () { return types_1.encodeAclIdComponent; } });
40
+ Object.defineProperty(exports, "decodeAclIdComponent", { enumerable: true, get: function () { return types_1.decodeAclIdComponent; } });
41
+ Object.defineProperty(exports, "aclKeyDistributionDocId", { enumerable: true, get: function () { return types_1.aclKeyDistributionDocId; } });
42
+ Object.defineProperty(exports, "isKeyDistributionDocId", { enumerable: true, get: function () { return types_1.isKeyDistributionDocId; } });
43
+ Object.defineProperty(exports, "validateKeyDistribution", { enumerable: true, get: function () { return types_1.validateKeyDistribution; } });
44
+ Object.defineProperty(exports, "KEY_DISTRIBUTION_TYPE", { enumerable: true, get: function () { return types_1.KEY_DISTRIBUTION_TYPE; } });
45
+ Object.defineProperty(exports, "ACL_KEY_DISTRIBUTION_PREFIX", { enumerable: true, get: function () { return types_1.ACL_KEY_DISTRIBUTION_PREFIX; } });
46
+ Object.defineProperty(exports, "PROTECTED_DISTRIBUTION_KEY_IDS", { enumerable: true, get: function () { return types_1.PROTECTED_DISTRIBUTION_KEY_IDS; } });
47
+ Object.defineProperty(exports, "aclAppDistributionDocId", { enumerable: true, get: function () { return types_1.aclAppDistributionDocId; } });
48
+ Object.defineProperty(exports, "isAppDistributionDocId", { enumerable: true, get: function () { return types_1.isAppDistributionDocId; } });
49
+ Object.defineProperty(exports, "validateAppDistribution", { enumerable: true, get: function () { return types_1.validateAppDistribution; } });
50
+ Object.defineProperty(exports, "APP_DISTRIBUTION_TYPE", { enumerable: true, get: function () { return types_1.APP_DISTRIBUTION_TYPE; } });
51
+ Object.defineProperty(exports, "ACL_APP_DISTRIBUTION_PREFIX", { enumerable: true, get: function () { return types_1.ACL_APP_DISTRIBUTION_PREFIX; } });
52
+ Object.defineProperty(exports, "aclSyncSetupPolicyDocId", { enumerable: true, get: function () { return types_1.aclSyncSetupPolicyDocId; } });
53
+ Object.defineProperty(exports, "isSyncSetupPolicyDocId", { enumerable: true, get: function () { return types_1.isSyncSetupPolicyDocId; } });
54
+ Object.defineProperty(exports, "validateSyncSetupPolicy", { enumerable: true, get: function () { return types_1.validateSyncSetupPolicy; } });
55
+ Object.defineProperty(exports, "SYNC_SETUP_POLICY_TYPE", { enumerable: true, get: function () { return types_1.SYNC_SETUP_POLICY_TYPE; } });
56
+ Object.defineProperty(exports, "SYNC_SETUP_POLICY_MODES", { enumerable: true, get: function () { return types_1.SYNC_SETUP_POLICY_MODES; } });
57
+ Object.defineProperty(exports, "ACL_SYNC_SETUP_POLICY_PREFIX", { enumerable: true, get: function () { return types_1.ACL_SYNC_SETUP_POLICY_PREFIX; } });
58
+ Object.defineProperty(exports, "aclDocHistoryPurgeDocId", { enumerable: true, get: function () { return types_1.aclDocHistoryPurgeDocId; } });
59
+ Object.defineProperty(exports, "isDocHistoryPurgeDocId", { enumerable: true, get: function () { return types_1.isDocHistoryPurgeDocId; } });
60
+ Object.defineProperty(exports, "validateDocHistoryPurge", { enumerable: true, get: function () { return types_1.validateDocHistoryPurge; } });
61
+ Object.defineProperty(exports, "DOC_HISTORY_PURGE_TYPE", { enumerable: true, get: function () { return types_1.DOC_HISTORY_PURGE_TYPE; } });
62
+ Object.defineProperty(exports, "ACL_DOC_HISTORY_PURGE_PREFIX", { enumerable: true, get: function () { return types_1.ACL_DOC_HISTORY_PURGE_PREFIX; } });
63
+ var DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
64
+ Object.defineProperty(exports, "createGenesisNode", { enumerable: true, get: function () { return DirectoryStateNode_1.createGenesisNode; } });
65
+ Object.defineProperty(exports, "nodeCovering", { enumerable: true, get: function () { return DirectoryStateNode_1.nodeCovering; } });
66
+ var AccessDeniedError_1 = require("./accesscontrol/AccessDeniedError");
67
+ Object.defineProperty(exports, "AccessDeniedError", { enumerable: true, get: function () { return AccessDeniedError_1.AccessDeniedError; } });
23
68
  // Base classes
24
69
  var BaseMindooDB_1 = require("./BaseMindooDB");
25
70
  Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
@@ -33,6 +78,9 @@ var RSAEncryption_1 = require("./crypto/RSAEncryption");
33
78
  Object.defineProperty(exports, "RSAEncryption", { enumerable: true, get: function () { return RSAEncryption_1.RSAEncryption; } });
34
79
  var MindooDocSigner_1 = require("./crypto/MindooDocSigner");
35
80
  Object.defineProperty(exports, "MindooDocSigner", { enumerable: true, get: function () { return MindooDocSigner_1.MindooDocSigner; } });
81
+ var encryptedFields_1 = require("./crypto/encryptedFields");
82
+ Object.defineProperty(exports, "decryptEncryptedField", { enumerable: true, get: function () { return encryptedFields_1.decryptEncryptedField; } });
83
+ Object.defineProperty(exports, "getEncryptedFieldKeyId", { enumerable: true, get: function () { return encryptedFields_1.getEncryptedFieldKeyId; } });
36
84
  // Keys
37
85
  var KeyBag_1 = require("./keys/KeyBag");
38
86
  Object.defineProperty(exports, "KeyBag", { enumerable: true, get: function () { return KeyBag_1.KeyBag; } });
@@ -41,9 +89,20 @@ var MindooURI_1 = require("./uri/MindooURI");
41
89
  Object.defineProperty(exports, "encodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.encodeMindooURI; } });
42
90
  Object.defineProperty(exports, "decodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.decodeMindooURI; } });
43
91
  Object.defineProperty(exports, "isMindooURI", { enumerable: true, get: function () { return MindooURI_1.isMindooURI; } });
92
+ Object.defineProperty(exports, "encodeKeyDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.encodeKeyDistributionRequest; } });
93
+ Object.defineProperty(exports, "decodeKeyDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.decodeKeyDistributionRequest; } });
94
+ Object.defineProperty(exports, "encodeAppDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.encodeAppDistributionRequest; } });
95
+ Object.defineProperty(exports, "decodeAppDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.decodeAppDistributionRequest; } });
96
+ Object.defineProperty(exports, "encodeSyncSetupPolicyRequest", { enumerable: true, get: function () { return MindooURI_1.encodeSyncSetupPolicyRequest; } });
97
+ Object.defineProperty(exports, "decodeSyncSetupPolicyRequest", { enumerable: true, get: function () { return MindooURI_1.decodeSyncSetupPolicyRequest; } });
98
+ Object.defineProperty(exports, "encodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.encodeDocHistoryPurgeRequest; } });
99
+ Object.defineProperty(exports, "decodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.decodeDocHistoryPurgeRequest; } });
44
100
  // Errors
45
101
  var errors_1 = require("./errors");
46
102
  Object.defineProperty(exports, "SymmetricKeyNotFoundError", { enumerable: true, get: function () { return errors_1.SymmetricKeyNotFoundError; } });
103
+ Object.defineProperty(exports, "DocumentNotFoundError", { enumerable: true, get: function () { return errors_1.DocumentNotFoundError; } });
104
+ Object.defineProperty(exports, "DocumentDeletedError", { enumerable: true, get: function () { return errors_1.DocumentDeletedError; } });
105
+ Object.defineProperty(exports, "isDocumentMissingError", { enumerable: true, get: function () { return errors_1.isDocumentMissingError; } });
47
106
  var LocalCacheStore_1 = require("./cache/LocalCacheStore");
48
107
  Object.defineProperty(exports, "InMemoryLocalCacheStore", { enumerable: true, get: function () { return LocalCacheStore_1.InMemoryLocalCacheStore; } });
49
108
  var EncryptedLocalCacheStore_1 = require("./cache/EncryptedLocalCacheStore");
@@ -69,9 +128,9 @@ Object.defineProperty(exports, "InMemoryContentAddressedStoreFactory", { enumera
69
128
  // Network
70
129
  var AuthenticationService_1 = require("./appendonlystores/network/AuthenticationService");
71
130
  Object.defineProperty(exports, "AuthenticationService", { enumerable: true, get: function () { return AuthenticationService_1.AuthenticationService; } });
72
- var types_1 = require("./appendonlystores/network/types");
73
- Object.defineProperty(exports, "NetworkErrorType", { enumerable: true, get: function () { return types_1.NetworkErrorType; } });
74
- Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return types_1.NetworkError; } });
131
+ var types_2 = require("./appendonlystores/network/types");
132
+ Object.defineProperty(exports, "NetworkErrorType", { enumerable: true, get: function () { return types_2.NetworkErrorType; } });
133
+ Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return types_2.NetworkError; } });
75
134
  var ClientNetworkContentAddressedStore_1 = require("../appendonlystores/network/ClientNetworkContentAddressedStore");
76
135
  Object.defineProperty(exports, "ClientNetworkContentAddressedStore", { enumerable: true, get: function () { return ClientNetworkContentAddressedStore_1.ClientNetworkContentAddressedStore; } });
77
136
  var HttpTransport_1 = require("../appendonlystores/network/HttpTransport");
@@ -93,4 +152,54 @@ Object.defineProperty(exports, "CategorizationStyle", { enumerable: true, get: f
93
152
  Object.defineProperty(exports, "WithCategories", { enumerable: true, get: function () { return virtualviews_1.WithCategories; } });
94
153
  Object.defineProperty(exports, "WithDocuments", { enumerable: true, get: function () { return virtualviews_1.WithDocuments; } });
95
154
  Object.defineProperty(exports, "SelectedOnly", { enumerable: true, get: function () { return virtualviews_1.SelectedOnly; } });
155
+ // Summary-first data provider factory (summary buffer when possible,
156
+ // materialized documents on request/fallback)
157
+ var createViewDataProvider_1 = require("./indexing/createViewDataProvider");
158
+ Object.defineProperty(exports, "createViewDataProvider", { enumerable: true, get: function () { return createViewDataProvider_1.createViewDataProvider; } });
159
+ Object.defineProperty(exports, "collectSummaryFallbackReasons", { enumerable: true, get: function () { return createViewDataProvider_1.collectSummaryFallbackReasons; } });
160
+ Object.defineProperty(exports, "filterExpressionToDocumentFilter", { enumerable: true, get: function () { return createViewDataProvider_1.filterExpressionToDocumentFilter; } });
161
+ // Expression language (formerly mindoodb-view-language; that package
162
+ // re-exports these symbols as a compatibility wrapper)
163
+ __exportStar(require("./expressions"), exports);
164
+ // Ad-hoc query engine over the document summary buffer
165
+ var query_1 = require("./query");
166
+ Object.defineProperty(exports, "executeQuery", { enumerable: true, get: function () { return query_1.executeQuery; } });
167
+ Object.defineProperty(exports, "executeQueryLive", { enumerable: true, get: function () { return query_1.executeQueryLive; } });
168
+ Object.defineProperty(exports, "MindooQueryError", { enumerable: true, get: function () { return query_1.MindooQueryError; } });
169
+ Object.defineProperty(exports, "EphemeralSummaryView", { enumerable: true, get: function () { return query_1.EphemeralSummaryView; } });
170
+ Object.defineProperty(exports, "createEphemeralSummaryView", { enumerable: true, get: function () { return query_1.createEphemeralSummaryView; } });
171
+ Object.defineProperty(exports, "queryViewAcross", { enumerable: true, get: function () { return query_1.queryViewAcross; } });
172
+ // Indexing - Document summary buffer (ad-hoc query substrate)
173
+ var summary_1 = require("./indexing/summary");
174
+ Object.defineProperty(exports, "DocumentSummaryStore", { enumerable: true, get: function () { return summary_1.DocumentSummaryStore; } });
175
+ Object.defineProperty(exports, "SummaryVirtualViewDataProvider", { enumerable: true, get: function () { return summary_1.SummaryVirtualViewDataProvider; } });
176
+ Object.defineProperty(exports, "resolveSummaryConfig", { enumerable: true, get: function () { return summary_1.resolveSummaryConfig; } });
177
+ Object.defineProperty(exports, "computeSummaryConfigFingerprint", { enumerable: true, get: function () { return summary_1.computeSummaryConfigFingerprint; } });
178
+ Object.defineProperty(exports, "sanitizeSummaryConfig", { enumerable: true, get: function () { return summary_1.sanitizeSummaryConfig; } });
179
+ Object.defineProperty(exports, "extractSummaryFields", { enumerable: true, get: function () { return summary_1.extractSummaryFields; } });
180
+ Object.defineProperty(exports, "getSummaryFieldValue", { enumerable: true, get: function () { return summary_1.getSummaryFieldValue; } });
181
+ Object.defineProperty(exports, "isFieldPathCovered", { enumerable: true, get: function () { return summary_1.isFieldPathCovered; } });
182
+ Object.defineProperty(exports, "DEFAULT_SUMMARY_MAX_VALUE_BYTES", { enumerable: true, get: function () { return summary_1.DEFAULT_SUMMARY_MAX_VALUE_BYTES; } });
183
+ Object.defineProperty(exports, "DB_SETUP_DOC_ID", { enumerable: true, get: function () { return summary_1.DB_SETUP_DOC_ID; } });
184
+ Object.defineProperty(exports, "SUMMARY_SETUP_FIELD", { enumerable: true, get: function () { return summary_1.SUMMARY_SETUP_FIELD; } });
185
+ Object.defineProperty(exports, "ATTACHMENTS_FIELD", { enumerable: true, get: function () { return summary_1.ATTACHMENTS_FIELD; } });
186
+ // Indexing - Document full-text index (opt-in, see docs/fulltext-search.md)
187
+ var fulltext_1 = require("./indexing/fulltext");
188
+ Object.defineProperty(exports, "DocumentFullTextIndex", { enumerable: true, get: function () { return fulltext_1.DocumentFullTextIndex; } });
189
+ Object.defineProperty(exports, "MiniSearchAdapter", { enumerable: true, get: function () { return fulltext_1.MiniSearchAdapter; } });
190
+ Object.defineProperty(exports, "createTokenizer", { enumerable: true, get: function () { return fulltext_1.createTokenizer; } });
191
+ Object.defineProperty(exports, "resolveFulltextConfig", { enumerable: true, get: function () { return fulltext_1.resolveFulltextConfig; } });
192
+ Object.defineProperty(exports, "sanitizeFulltextConfig", { enumerable: true, get: function () { return fulltext_1.sanitizeFulltextConfig; } });
193
+ Object.defineProperty(exports, "computeFulltextConfigFingerprint", { enumerable: true, get: function () { return fulltext_1.computeFulltextConfigFingerprint; } });
194
+ Object.defineProperty(exports, "collectPlainText", { enumerable: true, get: function () { return fulltext_1.collectPlainText; } });
195
+ Object.defineProperty(exports, "extractFulltextFields", { enumerable: true, get: function () { return fulltext_1.extractFulltextFields; } });
196
+ Object.defineProperty(exports, "FULLTEXT_SETUP_FIELD", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_SETUP_FIELD; } });
197
+ Object.defineProperty(exports, "FULLTEXT_ATTACHMENT_FIELD", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_ATTACHMENT_FIELD; } });
198
+ Object.defineProperty(exports, "FULLTEXT_INDEX_FORMAT_VERSION", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_INDEX_FORMAT_VERSION; } });
199
+ Object.defineProperty(exports, "DEFAULT_FULLTEXT_MAX_FIELD_BYTES", { enumerable: true, get: function () { return fulltext_1.DEFAULT_FULLTEXT_MAX_FIELD_BYTES; } });
200
+ // Attachment text extraction setup (host-side services like Haven's OCR;
201
+ // results are persisted at the attachment entry, see docs/fulltext-search.md)
202
+ var types_3 = require("./extraction/types");
203
+ Object.defineProperty(exports, "EXTRACTION_SETUP_FIELD", { enumerable: true, get: function () { return types_3.EXTRACTION_SETUP_FIELD; } });
204
+ Object.defineProperty(exports, "sanitizeExtractionConfig", { enumerable: true, get: function () { return types_3.sanitizeExtractionConfig; } });
96
205
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;;;;;;;;;AAEjC,QAAQ;AACR,0CAAwB;AACxB,yDAAuC;AACvC,uDAAqC;AAKrC,eAAe;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAEhC,6DAO+B;AAN7B,0HAAA,mBAAmB,OAAA;AAUrB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AAExB,OAAO;AACP,wCAAuD;AAA9C,gGAAA,MAAM,OAAA;AAEf,MAAM;AACN,6CAMyB;AALvB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AAKb,SAAS;AACT,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAIlC,2DAAkE;AAAzD,0HAAA,uBAAuB,OAAA;AAChC,6EAA4E;AAAnE,oIAAA,wBAAwB,OAAA;AACjC,qDAA+F;AAAtF,4GAAA,YAAY,OAAA;AAErB,YAAY;AACZ,iCAYiB;AAXf,2GAAA,kBAAkB,OAAA;AAClB,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AACtB,qGAAA,YAAY,OAAA;AACZ,4GAAA,mBAAmB,OAAA;AACnB,gHAAA,uBAAuB,OAAA;AACvB,2GAAA,kBAAkB,OAAA;AAmBpB,kGAAuI;AAA9H,8IAAA,6BAA6B,OAAA;AAAE,qJAAA,oCAAoC,OAAA;AAE5E,UAAU;AACV,0FAAyF;AAAhF,8HAAA,qBAAqB,OAAA;AAE9B,0DAS0C;AAFxC,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AAEd,qHAAoH;AAA3G,wJAAA,kCAAkC,OAAA;AAC3C,2EAA0E;AAAjE,8GAAA,aAAa,OAAA;AAEtB,2BAA2B;AAC3B,wDAsBiC;AArB/B,2GAAA,WAAW,OAAA;AACX,kHAAA,kBAAkB,OAAA;AAClB,kHAAA,kBAAkB,OAAA;AAClB,2HAAA,2BAA2B,OAAA;AAC3B,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AACpB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,+HAAA,+BAA+B,OAAA;AAC/B,6GAAA,aAAa,OAAA;AACb,yGAAA,SAAS,OAAA;AACT,mHAAA,mBAAmB,OAAA;AACnB,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { MindooDB } from "../types";
2
+ import type { MindooDBAppBooleanExpression } from "../expressions/types";
3
+ import type { IVirtualViewDataProvider } from "./virtualviews/IVirtualViewDataProvider";
4
+ import { VirtualViewColumn, type VirtualViewColumnOptions } from "./virtualviews/VirtualViewColumn";
5
+ import type { DocumentFilterFunction } from "./virtualviews/types";
6
+ /**
7
+ * Options for {@link createViewDataProvider} — the summary-first data
8
+ * provider factory.
9
+ */
10
+ export interface CreateViewDataProviderOptions {
11
+ /** Unique origin identifier for this data provider. */
12
+ origin: string;
13
+ /** The database feeding this provider. */
14
+ db: MindooDB;
15
+ /**
16
+ * The view's columns. Needed to decide whether the view can be served
17
+ * from the summary buffer (declarative `expression`/field columns) or
18
+ * requires materialized documents (JS `valueFunction` columns).
19
+ */
20
+ columns: Array<VirtualViewColumn | VirtualViewColumnOptions>;
21
+ /**
22
+ * Document filter: a declarative expression (summary-capable) or a JS
23
+ * function receiving the materialized document (forces the full-document
24
+ * path, since summary entries cannot be passed to it).
25
+ */
26
+ filter?: MindooDBAppBooleanExpression | DocumentFilterFunction;
27
+ /**
28
+ * Force this provider to materialize full documents instead of reading
29
+ * the summary buffer — the escape hatch for views that need data the
30
+ * summary cannot deliver (decrypted fields, uncovered fields) or that
31
+ * deliberately want per-document JS evaluation. Expensive by design,
32
+ * mirroring `allowFullScan` on `db.query()`.
33
+ */
34
+ useFullDocuments?: boolean;
35
+ /**
36
+ * Copy every (non-underscore) document field into the view entry.
37
+ * Implies the full-document path (see
38
+ * {@link MindooDBVirtualViewDataProvider}).
39
+ */
40
+ includeAllDocumentFields?: boolean;
41
+ }
42
+ /** Where a created view data provider reads its data from. */
43
+ export type ViewDataProviderSource = "summary" | "documents";
44
+ export interface CreateViewDataProviderResult {
45
+ provider: IVirtualViewDataProvider;
46
+ /** The path the factory chose. */
47
+ source: ViewDataProviderSource;
48
+ /**
49
+ * When `source` is `"documents"`, the reasons why the summary path was
50
+ * not usable (empty for an explicit `useFullDocuments` request). Useful
51
+ * for logging/diagnosing why a view runs on the slow path.
52
+ */
53
+ fallbackReasons: string[];
54
+ }
55
+ /**
56
+ * Create a VirtualView data provider for a database, preferring the
57
+ * document summary buffer for the best indexing performance. The summary
58
+ * path is chosen whenever the view definition can be answered from the
59
+ * summary; otherwise the factory transparently falls back to the
60
+ * materialized-document provider and reports why.
61
+ *
62
+ * The full-document path is used when any of these hold:
63
+ * - `useFullDocuments: true` (explicit request) or `includeAllDocumentFields`,
64
+ * - the filter is a JS function or a column uses a JS `valueFunction`,
65
+ * - an expression needs decryption or a view-tree context,
66
+ * - a referenced field is not covered by the database's summary
67
+ * configuration (see the `dbsetup` design document).
68
+ *
69
+ * Async because the summary configuration may live in the synced `dbsetup`
70
+ * document and has to be loaded before coverage can be decided.
71
+ */
72
+ export declare function createViewDataProvider(options: CreateViewDataProviderOptions): Promise<CreateViewDataProviderResult>;
73
+ /**
74
+ * Why a view definition cannot be served from the summary buffer (empty
75
+ * array = summary-capable). Exposed for consumers (e.g. Haven) that want
76
+ * to surface the decision in a UI.
77
+ */
78
+ export declare function collectSummaryFallbackReasons(options: Pick<CreateViewDataProviderOptions, "db" | "columns" | "filter" | "includeAllDocumentFields">): Promise<string[]>;
79
+ /**
80
+ * Wrap a declarative filter expression into a DocumentFilterFunction for
81
+ * the full-document path, so the same view definition works on both paths.
82
+ */
83
+ export declare function filterExpressionToDocumentFilter(filter: MindooDBAppBooleanExpression | undefined): DocumentFilterFunction | undefined;
84
+ //# sourceMappingURL=createViewDataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createViewDataProvider.d.ts","sourceRoot":"","sources":["../../../src/core/indexing/createViewDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAExF,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,CAAC;IAE7D;;;;OAIG;IACH,MAAM,CAAC,EAAE,4BAA4B,GAAG,sBAAsB,CAAC;IAE/D;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,wBAAwB,CAAC;IACnC,kCAAkC;IAClC,MAAM,EAAE,sBAAsB,CAAC;IAC/B;;;;OAIG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAiCvC;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,IAAI,CAAC,6BAA6B,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,0BAA0B,CAAC,GACrG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEnB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,4BAA4B,GAAG,SAAS,GAC/C,sBAAsB,GAAG,SAAS,CAepC"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createViewDataProvider = createViewDataProvider;
4
+ exports.collectSummaryFallbackReasons = collectSummaryFallbackReasons;
5
+ exports.filterExpressionToDocumentFilter = filterExpressionToDocumentFilter;
6
+ const expressions_1 = require("../expressions");
7
+ const evaluateExpression_1 = require("../expressions/evaluateExpression");
8
+ const MindooDBVirtualViewDataProvider_1 = require("./virtualviews/MindooDBVirtualViewDataProvider");
9
+ const VirtualViewColumn_1 = require("./virtualviews/VirtualViewColumn");
10
+ const SummaryVirtualViewDataProvider_1 = require("./summary/SummaryVirtualViewDataProvider");
11
+ /**
12
+ * Create a VirtualView data provider for a database, preferring the
13
+ * document summary buffer for the best indexing performance. The summary
14
+ * path is chosen whenever the view definition can be answered from the
15
+ * summary; otherwise the factory transparently falls back to the
16
+ * materialized-document provider and reports why.
17
+ *
18
+ * The full-document path is used when any of these hold:
19
+ * - `useFullDocuments: true` (explicit request) or `includeAllDocumentFields`,
20
+ * - the filter is a JS function or a column uses a JS `valueFunction`,
21
+ * - an expression needs decryption or a view-tree context,
22
+ * - a referenced field is not covered by the database's summary
23
+ * configuration (see the `dbsetup` design document).
24
+ *
25
+ * Async because the summary configuration may live in the synced `dbsetup`
26
+ * document and has to be loaded before coverage can be decided.
27
+ */
28
+ async function createViewDataProvider(options) {
29
+ const { origin, db, filter } = options;
30
+ const buildDocumentProvider = (fallbackReasons) => ({
31
+ provider: new MindooDBVirtualViewDataProvider_1.MindooDBVirtualViewDataProvider({
32
+ origin,
33
+ db,
34
+ filterFunction: typeof filter === "function" ? filter : filterExpressionToDocumentFilter(filter),
35
+ includeAllDocumentFields: options.includeAllDocumentFields,
36
+ }),
37
+ source: "documents",
38
+ fallbackReasons,
39
+ });
40
+ if (options.useFullDocuments) {
41
+ return buildDocumentProvider([]);
42
+ }
43
+ const reasons = await collectSummaryFallbackReasons(options);
44
+ if (reasons.length > 0) {
45
+ return buildDocumentProvider(reasons);
46
+ }
47
+ return {
48
+ provider: new SummaryVirtualViewDataProvider_1.SummaryVirtualViewDataProvider({
49
+ origin,
50
+ summary: db.getSummaryStore(),
51
+ filter: filter,
52
+ }),
53
+ source: "summary",
54
+ fallbackReasons: [],
55
+ };
56
+ }
57
+ /**
58
+ * Why a view definition cannot be served from the summary buffer (empty
59
+ * array = summary-capable). Exposed for consumers (e.g. Haven) that want
60
+ * to surface the decision in a UI.
61
+ */
62
+ async function collectSummaryFallbackReasons(options) {
63
+ const reasons = [];
64
+ const { db, filter } = options;
65
+ if (options.includeAllDocumentFields) {
66
+ reasons.push("includeAllDocumentFields copies whole documents into view entries");
67
+ }
68
+ if (!db.getSummaryStore) {
69
+ reasons.push("the database does not support summary stores");
70
+ return reasons;
71
+ }
72
+ if (typeof filter === "function") {
73
+ reasons.push("the filter is a JS function that needs the materialized document");
74
+ }
75
+ const referencedPaths = new Set();
76
+ for (const column of options.columns) {
77
+ const resolved = column instanceof VirtualViewColumn_1.VirtualViewColumn ? column : new VirtualViewColumn_1.VirtualViewColumn(column);
78
+ if (resolved.valueFunction && !resolved.expression) {
79
+ reasons.push(`column '${resolved.name}' uses a JS valueFunction that needs the materialized document`);
80
+ continue;
81
+ }
82
+ if (resolved.expression) {
83
+ const requirements = (0, expressions_1.analyzeExpressionRequirements)(resolved.expression);
84
+ if (requirements.needsDecryption) {
85
+ reasons.push(`column '${resolved.name}' uses decrypt expressions; encrypted fields are not stored in the summary buffer`);
86
+ }
87
+ if (requirements.needsViewContext) {
88
+ reasons.push(`column '${resolved.name}' uses view-tree operations (${requirements.viewContextOperations.join(", ")})`);
89
+ }
90
+ for (const path of (0, expressions_1.getReferencedFields)(resolved.expression)) {
91
+ referencedPaths.add(path);
92
+ }
93
+ }
94
+ else {
95
+ // Plain columns read the summary field of the same name.
96
+ referencedPaths.add(resolved.name);
97
+ }
98
+ }
99
+ if (filter && typeof filter !== "function") {
100
+ const requirements = (0, expressions_1.analyzeExpressionRequirements)(filter);
101
+ if (requirements.needsDecryption) {
102
+ reasons.push("the filter uses decrypt expressions; encrypted fields are not stored in the summary buffer");
103
+ }
104
+ if (requirements.needsViewContext) {
105
+ reasons.push(`the filter uses view-tree operations (${requirements.viewContextOperations.join(", ")})`);
106
+ }
107
+ for (const path of (0, expressions_1.getReferencedFields)(filter)) {
108
+ referencedPaths.add(path);
109
+ }
110
+ }
111
+ // Coverage is decided against the settled configuration (which may come
112
+ // from the synced dbsetup document).
113
+ const summary = db.getSummaryStore();
114
+ await summary.ensureConfigLoaded();
115
+ for (const path of referencedPaths) {
116
+ if (!summary.isFieldCovered(path)) {
117
+ reasons.push(`field "${path}" is not covered by the summary configuration`);
118
+ }
119
+ }
120
+ return reasons;
121
+ }
122
+ /**
123
+ * Wrap a declarative filter expression into a DocumentFilterFunction for
124
+ * the full-document path, so the same view definition works on both paths.
125
+ */
126
+ function filterExpressionToDocumentFilter(filter) {
127
+ if (!filter) {
128
+ return undefined;
129
+ }
130
+ return (doc) => (0, evaluateExpression_1.expressionToBoolean)((0, evaluateExpression_1.evaluateExpression)(filter, {
131
+ doc: doc.getData(),
132
+ values: {},
133
+ origin: "",
134
+ createdAt: new Date(doc.getCreatedAt()).toISOString(),
135
+ decryptionKeyId: doc.getDecryptionKeyId(),
136
+ variables: {},
137
+ }));
138
+ }
139
+ //# sourceMappingURL=createViewDataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createViewDataProvider.js","sourceRoot":"","sources":["../../../src/core/indexing/createViewDataProvider.ts"],"names":[],"mappings":"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"}