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,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createViewLanguage = createViewLanguage;
4
+ const EXPRESSION_KINDS = new Set([
5
+ "literal",
6
+ "field",
7
+ "value",
8
+ "origin",
9
+ "variable",
10
+ "operation",
11
+ "if",
12
+ "let",
13
+ "decrypt",
14
+ "json",
15
+ ]);
16
+ function variable(name) {
17
+ return { kind: "variable", name };
18
+ }
19
+ /** Distinguishes AST nodes from plain literals before normalizing builder input. */
20
+ function isExpression(value) {
21
+ return typeof value === "object"
22
+ && value !== null
23
+ && "kind" in value
24
+ && typeof value.kind === "string"
25
+ && EXPRESSION_KINDS.has(value.kind);
26
+ }
27
+ /** Normalizes raw builder input into an expression node. */
28
+ function toExpression(value) {
29
+ return isExpression(value) ? value : { kind: "literal", value };
30
+ }
31
+ /** Vectorized form of `toExpression()` for variadic helpers. */
32
+ function toExpressionList(values) {
33
+ return values.map((value) => toExpression(value));
34
+ }
35
+ /**
36
+ * Creates the typed builder API used by applications to author Formula
37
+ * expressions in TypeScript.
38
+ *
39
+ * The first generic parameter describes the source document shape used by
40
+ * `field()`. The optional second generic parameter describes previously
41
+ * computed column values referenced via `value()`.
42
+ */
43
+ function createViewLanguage() {
44
+ return {
45
+ literal(value) {
46
+ return { kind: "literal", value };
47
+ },
48
+ string(value) {
49
+ return { kind: "literal", value };
50
+ },
51
+ number(value) {
52
+ return { kind: "literal", value };
53
+ },
54
+ boolean(value) {
55
+ return { kind: "literal", value };
56
+ },
57
+ field(path) {
58
+ return { kind: "field", path };
59
+ },
60
+ value(path) {
61
+ return { kind: "value", path };
62
+ },
63
+ origin() {
64
+ return { kind: "origin" };
65
+ },
66
+ createdAt() {
67
+ return { kind: "operation", op: "createdAt", args: [] };
68
+ },
69
+ decryptionKeyId() {
70
+ return { kind: "operation", op: "decryptionKeyId", args: [] };
71
+ },
72
+ isWitnessed() {
73
+ return { kind: "operation", op: "isWitnessed", args: [] };
74
+ },
75
+ isAwaitingWitness() {
76
+ return { kind: "operation", op: "isAwaitingWitness", args: [] };
77
+ },
78
+ attachmentNames() {
79
+ return { kind: "operation", op: "attachmentNames", args: [] };
80
+ },
81
+ attachmentLengths() {
82
+ return { kind: "operation", op: "attachmentLengths", args: [] };
83
+ },
84
+ attachmentCount() {
85
+ return { kind: "operation", op: "attachmentCount", args: [] };
86
+ },
87
+ childCount() {
88
+ return { kind: "operation", op: "childCount", args: [] };
89
+ },
90
+ childCategoryCount() {
91
+ return { kind: "operation", op: "childCategoryCount", args: [] };
92
+ },
93
+ childDocumentCount() {
94
+ return { kind: "operation", op: "childDocumentCount", args: [] };
95
+ },
96
+ descendantCount() {
97
+ return { kind: "operation", op: "descendantCount", args: [] };
98
+ },
99
+ descendantCategoryCount() {
100
+ return { kind: "operation", op: "descendantCategoryCount", args: [] };
101
+ },
102
+ descendantDocumentCount() {
103
+ return { kind: "operation", op: "descendantDocumentCount", args: [] };
104
+ },
105
+ siblingCount() {
106
+ return { kind: "operation", op: "siblingCount", args: [] };
107
+ },
108
+ add(left, right) {
109
+ return { kind: "operation", op: "add", args: [toExpression(left), toExpression(right)] };
110
+ },
111
+ sub(left, right) {
112
+ return { kind: "operation", op: "sub", args: [toExpression(left), toExpression(right)] };
113
+ },
114
+ mul(left, right) {
115
+ return { kind: "operation", op: "mul", args: [toExpression(left), toExpression(right)] };
116
+ },
117
+ div(left, right) {
118
+ return { kind: "operation", op: "div", args: [toExpression(left), toExpression(right)] };
119
+ },
120
+ mod(left, right) {
121
+ return { kind: "operation", op: "mod", args: [toExpression(left), toExpression(right)] };
122
+ },
123
+ eq(left, right) {
124
+ return { kind: "operation", op: "eq", args: [toExpression(left), toExpression(right)] };
125
+ },
126
+ neq(left, right) {
127
+ return { kind: "operation", op: "neq", args: [toExpression(left), toExpression(right)] };
128
+ },
129
+ gt(left, right) {
130
+ return { kind: "operation", op: "gt", args: [toExpression(left), toExpression(right)] };
131
+ },
132
+ gte(left, right) {
133
+ return { kind: "operation", op: "gte", args: [toExpression(left), toExpression(right)] };
134
+ },
135
+ lt(left, right) {
136
+ return { kind: "operation", op: "lt", args: [toExpression(left), toExpression(right)] };
137
+ },
138
+ lte(left, right) {
139
+ return { kind: "operation", op: "lte", args: [toExpression(left), toExpression(right)] };
140
+ },
141
+ and(...args) {
142
+ return { kind: "operation", op: "and", args: toExpressionList(args) };
143
+ },
144
+ or(...args) {
145
+ return { kind: "operation", op: "or", args: toExpressionList(args) };
146
+ },
147
+ not(value) {
148
+ return { kind: "operation", op: "not", args: [toExpression(value)] };
149
+ },
150
+ concat(...args) {
151
+ return { kind: "operation", op: "concat", args: toExpressionList(args) };
152
+ },
153
+ lower(value) {
154
+ return { kind: "operation", op: "lower", args: [toExpression(value)] };
155
+ },
156
+ upper(value) {
157
+ return { kind: "operation", op: "upper", args: [toExpression(value)] };
158
+ },
159
+ trim(value) {
160
+ return { kind: "operation", op: "trim", args: [toExpression(value)] };
161
+ },
162
+ left(value, by) {
163
+ return { kind: "operation", op: "left", args: [toExpression(value), toExpression(by)] };
164
+ },
165
+ right(value, by) {
166
+ return { kind: "operation", op: "right", args: [toExpression(value), toExpression(by)] };
167
+ },
168
+ toNumber(value) {
169
+ return { kind: "operation", op: "number", args: [toExpression(value)] };
170
+ },
171
+ toString(value) {
172
+ return { kind: "operation", op: "string", args: [toExpression(value)] };
173
+ },
174
+ toBoolean(value) {
175
+ return { kind: "operation", op: "boolean", args: [toExpression(value)] };
176
+ },
177
+ contains(left, right) {
178
+ return { kind: "operation", op: "contains", args: [toExpression(left), toExpression(right)] };
179
+ },
180
+ startsWith(left, right) {
181
+ return { kind: "operation", op: "startsWith", args: [toExpression(left), toExpression(right)] };
182
+ },
183
+ endsWith(left, right) {
184
+ return { kind: "operation", op: "endsWith", args: [toExpression(left), toExpression(right)] };
185
+ },
186
+ coalesce(...args) {
187
+ return { kind: "operation", op: "coalesce", args: toExpressionList(args) };
188
+ },
189
+ exists(value) {
190
+ return { kind: "operation", op: "exists", args: [toExpression(value)] };
191
+ },
192
+ notExists(value) {
193
+ return { kind: "operation", op: "notExists", args: [toExpression(value)] };
194
+ },
195
+ pathJoin(...args) {
196
+ return { kind: "operation", op: "pathJoin", args: toExpressionList(args) };
197
+ },
198
+ datePart(value, part) {
199
+ return { kind: "operation", op: "datePart", args: [toExpression(value)], part };
200
+ },
201
+ decryptField(field, key) {
202
+ return { kind: "decrypt", field, key: key === undefined ? undefined : toExpression(key) };
203
+ },
204
+ decryptJson(field, path, key) {
205
+ return { kind: "decrypt", field, json: true, path, key: key === undefined ? undefined : toExpression(key) };
206
+ },
207
+ json(field, path) {
208
+ return { kind: "json", field, path };
209
+ },
210
+ /**
211
+ * Branching in the style of Domino's `@If`: any number of
212
+ * condition/value pairs followed by one final default value —
213
+ * `ifElse(cond1, val1, cond2, val2, ..., default)`. Conditions are
214
+ * checked in order; the value of the first matching condition wins,
215
+ * otherwise the default. The classic three-argument form
216
+ * `ifElse(condition, whenTrue, whenFalse)` is the smallest case.
217
+ *
218
+ * Multi-branch calls desugar into nested `if` AST nodes, so the
219
+ * serialized expression format is unchanged.
220
+ */
221
+ ifElse(condition, whenTrue, ...moreBranchesAndDefault) {
222
+ const args = [condition, whenTrue, ...moreBranchesAndDefault];
223
+ if (args.length < 3 || args.length % 2 === 0) {
224
+ throw new Error("ifElse expects condition/value pairs followed by one default value " +
225
+ "(odd argument count >= 3), e.g. ifElse(cond1, val1, cond2, val2, default).");
226
+ }
227
+ let result = toExpression(args[args.length - 1]);
228
+ for (let i = args.length - 3; i >= 0; i -= 2) {
229
+ result = {
230
+ kind: "if",
231
+ condition: toExpression(args[i]),
232
+ whenTrue: toExpression(args[i + 1]),
233
+ whenFalse: result,
234
+ };
235
+ }
236
+ return result;
237
+ },
238
+ let(bindings, build) {
239
+ const normalizedBindings = Object.fromEntries(Object.entries(bindings).map(([name, value]) => [name, toExpression(value)]));
240
+ const refs = Object.fromEntries(Object.keys(normalizedBindings).map((name) => [name, variable(name)]));
241
+ return {
242
+ kind: "let",
243
+ bindings: normalizedBindings,
244
+ result: toExpression(build(refs)),
245
+ };
246
+ },
247
+ };
248
+ }
249
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/core/expressions/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { MindooDBAppExpression } from "./types";
2
+ /**
3
+ * Expression evaluation — the runtime counterpart of the builder
4
+ * (`createViewLanguage`) and the formula parser. Moved into mindoodb core
5
+ * from the `mindoodb-view-language` package so ad-hoc queries and
6
+ * summary-backed views evaluate the same language the apps author views in
7
+ * (the old package re-exports these symbols for compatibility).
8
+ *
9
+ * The view-tree builder intentionally did NOT move: its role is taken over
10
+ * by summary-backed ephemeral VirtualViews (`db.queryView()`).
11
+ */
12
+ /**
13
+ * Context an expression is evaluated against. `doc` carries the document's
14
+ * (or summary entry's) field values; `values` earlier column results;
15
+ * `counts` is only populated in view contexts.
16
+ */
17
+ export type ExpressionEvaluationContext = {
18
+ doc: Record<string, unknown>;
19
+ values: Record<string, unknown>;
20
+ origin: string;
21
+ createdAt?: string | null;
22
+ decryptionKeyId?: string | null;
23
+ witnessed?: boolean;
24
+ awaitingWitness?: boolean;
25
+ counts?: Partial<ExpressionViewRowCounts>;
26
+ variables: Record<string, unknown>;
27
+ /** Pre-resolved plaintext for `decrypt` nodes, keyed by field name. */
28
+ decrypted?: Record<string, unknown>;
29
+ };
30
+ /** A field whose ciphertext a view/query definition needs decrypted before evaluation. */
31
+ export type DecryptRequest = {
32
+ field: string;
33
+ key?: MindooDBAppExpression;
34
+ };
35
+ export type ExpressionViewRowCounts = {
36
+ childCount: number;
37
+ childCategoryCount: number;
38
+ childDocumentCount: number;
39
+ descendantCount: number;
40
+ descendantCategoryCount: number;
41
+ descendantDocumentCount: number;
42
+ siblingCount: number;
43
+ };
44
+ /** Operation nodes that only make sense inside a materialized view tree. */
45
+ export declare const VIEW_CONTEXT_OPERATIONS: ReadonlySet<string>;
46
+ /** Reads a dot-separated path from an object and returns `undefined` when any segment is missing. */
47
+ export declare function getFieldValue(source: Record<string, unknown>, path: string): unknown;
48
+ export declare function expressionToNumber(value: unknown): number | null;
49
+ export declare function expressionToBoolean(value: unknown): boolean;
50
+ /**
51
+ * Evaluates an expression against a document plus the current view/value
52
+ * context. This is the runtime counterpart of the builder and parser.
53
+ */
54
+ export declare function evaluateExpression(expression: MindooDBAppExpression, context: ExpressionEvaluationContext): unknown;
55
+ /**
56
+ * Walks an expression tree and collects every `decrypt` node so the host
57
+ * runtime knows which `_encrypted` fields it must decrypt before evaluation.
58
+ * `json` nodes need no decryption and are ignored.
59
+ */
60
+ export declare function collectDecryptRequests(expression: MindooDBAppExpression): DecryptRequest[];
61
+ /**
62
+ * Collects every document field path (`field` and `json` nodes) an
63
+ * expression references. Basis of the query engine's coverage check against
64
+ * the summary configuration. Attachment operations count as a reference to
65
+ * `_attachments` — they read that managed field even without a field node.
66
+ */
67
+ export declare function getReferencedFields(expression: MindooDBAppExpression): string[];
68
+ /**
69
+ * Collects expression capabilities relevant for the query engine's
70
+ * guardrails: whether the expression needs decryption or a view-tree
71
+ * context (neither can be answered from the summary buffer).
72
+ */
73
+ export declare function analyzeExpressionRequirements(expression: MindooDBAppExpression): {
74
+ needsDecryption: boolean;
75
+ needsViewContext: boolean;
76
+ viewContextOperations: string[];
77
+ };
78
+ //# sourceMappingURL=evaluateExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluateExpression.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/evaluateExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAQtD,CAAC;AAEH,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAShE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY3D;AAqMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAyCnH;AAqCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,GAAG,cAAc,EAAE,CAQ1F;AAUD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAY/E;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,qBAAqB,GAAG;IAChF,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAeA"}