@noy-db/hub 0.2.0-pre.9 → 0.3.0-pre.10

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 (615) hide show
  1. package/README.md +129 -3
  2. package/dist/aggregate/index.d.ts +5 -2
  3. package/dist/aggregate/index.js +25 -16
  4. package/dist/aggregate/index.js.map +1 -1
  5. package/dist/api-TX2EX2FX.js +20 -0
  6. package/dist/as/index.d.ts +6 -0
  7. package/dist/as/index.js +30 -0
  8. package/dist/at/index.d.ts +4 -0
  9. package/dist/at/index.js +1 -0
  10. package/dist/attestation/index.d.ts +14 -47
  11. package/dist/attestation/index.js +60 -10
  12. package/dist/attestation/index.js.map +1 -1
  13. package/dist/backup-R7NTDFKY.js +225 -0
  14. package/dist/backup-R7NTDFKY.js.map +1 -0
  15. package/dist/blobs/index.d.ts +5 -8
  16. package/dist/blobs/index.js +25 -12
  17. package/dist/blobs/index.js.map +1 -1
  18. package/dist/bundle/index.d.ts +15 -70
  19. package/dist/bundle/index.js +45 -476
  20. package/dist/bundle/index.js.map +1 -1
  21. package/dist/{ulid-CJ8RzRrm.d.ts → bundle-D6GxiUfq.d.ts} +31 -86
  22. package/dist/by/index.d.ts +1 -0
  23. package/dist/by/index.js +11 -0
  24. package/dist/cargo/index.d.ts +7 -0
  25. package/dist/cargo/index.js +95 -0
  26. package/dist/chunk-2OV5NVE7.js +95 -0
  27. package/dist/chunk-2OV5NVE7.js.map +1 -0
  28. package/dist/chunk-2OZXVKVP.js +367 -0
  29. package/dist/chunk-2OZXVKVP.js.map +1 -0
  30. package/dist/{chunk-HNRHLRDC.js → chunk-2REPHKET.js} +6 -5
  31. package/dist/chunk-2REPHKET.js.map +1 -0
  32. package/dist/{chunk-PE2FR4J3.js → chunk-3JXPAHOZ.js} +17 -17
  33. package/dist/chunk-3JXPAHOZ.js.map +1 -0
  34. package/dist/{chunk-H2X3ISXG.js → chunk-3MATJ6O4.js} +7 -7
  35. package/dist/chunk-3MATJ6O4.js.map +1 -0
  36. package/dist/{chunk-PP6W64Y3.js → chunk-3OPY6MK2.js} +132 -3
  37. package/dist/chunk-3OPY6MK2.js.map +1 -0
  38. package/dist/{chunk-T7JEBOGN.js → chunk-3QSIU3UT.js} +49 -71
  39. package/dist/chunk-3QSIU3UT.js.map +1 -0
  40. package/dist/{chunk-ZYWZWG6G.js → chunk-4OMCIY6F.js} +32 -12
  41. package/dist/chunk-4OMCIY6F.js.map +1 -0
  42. package/dist/chunk-4Q6HSHHL.js +90 -0
  43. package/dist/chunk-4Q6HSHHL.js.map +1 -0
  44. package/dist/chunk-5I35DOHK.js +94 -0
  45. package/dist/chunk-5I35DOHK.js.map +1 -0
  46. package/dist/chunk-5VG4IJR7.js +235 -0
  47. package/dist/chunk-5VG4IJR7.js.map +1 -0
  48. package/dist/chunk-5YESYH2C.js +155 -0
  49. package/dist/chunk-5YESYH2C.js.map +1 -0
  50. package/dist/chunk-6G5ORS5D.js +202 -0
  51. package/dist/chunk-6G5ORS5D.js.map +1 -0
  52. package/dist/{chunk-VTKGMEPP.js → chunk-6P5XCKSD.js} +13 -3
  53. package/dist/chunk-6P5XCKSD.js.map +1 -0
  54. package/dist/{chunk-J66GRPNH.js → chunk-6S7T6WC4.js} +2 -2
  55. package/dist/chunk-6S7T6WC4.js.map +1 -0
  56. package/dist/{chunk-U26HQ6KJ.js → chunk-7BWJHO2A.js} +4 -4
  57. package/dist/chunk-7BWJHO2A.js.map +1 -0
  58. package/dist/chunk-7P2SDJG3.js +279 -0
  59. package/dist/chunk-7P2SDJG3.js.map +1 -0
  60. package/dist/chunk-ANB77BVV.js +150 -0
  61. package/dist/chunk-ANB77BVV.js.map +1 -0
  62. package/dist/chunk-AURFOK3D.js +35 -0
  63. package/dist/chunk-AURFOK3D.js.map +1 -0
  64. package/dist/chunk-BKARNZJN.js +382 -0
  65. package/dist/chunk-BKARNZJN.js.map +1 -0
  66. package/dist/{chunk-3BFJOWSU.js → chunk-BQISD5ZV.js} +35 -7
  67. package/dist/chunk-BQISD5ZV.js.map +1 -0
  68. package/dist/{chunk-2GLDA55J.js → chunk-BUAQ7YI3.js} +260 -135
  69. package/dist/chunk-BUAQ7YI3.js.map +1 -0
  70. package/dist/{chunk-2WUSG3IT.js → chunk-CB7CWSKW.js} +5 -5
  71. package/dist/chunk-CB7CWSKW.js.map +1 -0
  72. package/dist/chunk-CHFZDSE4.js +1 -0
  73. package/dist/{aggregate/index.cjs → chunk-DFVUTGT2.js} +206 -222
  74. package/dist/chunk-DFVUTGT2.js.map +1 -0
  75. package/dist/chunk-DJ7KIPLV.js +23 -0
  76. package/dist/chunk-DJ7KIPLV.js.map +1 -0
  77. package/dist/chunk-DSKDQP3G.js +14066 -0
  78. package/dist/chunk-DSKDQP3G.js.map +1 -0
  79. package/dist/{chunk-5T22KDPN.js → chunk-DV4HUP5G.js} +10 -8
  80. package/dist/chunk-DV4HUP5G.js.map +1 -0
  81. package/dist/chunk-EOXAAJTY.js +621 -0
  82. package/dist/chunk-EOXAAJTY.js.map +1 -0
  83. package/dist/chunk-ET67AY6B.js +74 -0
  84. package/dist/chunk-ET67AY6B.js.map +1 -0
  85. package/dist/chunk-F4CEK5YM.js +123 -0
  86. package/dist/chunk-F4CEK5YM.js.map +1 -0
  87. package/dist/chunk-FORYWFN6.js +130 -0
  88. package/dist/chunk-FORYWFN6.js.map +1 -0
  89. package/dist/{chunk-JWRVQKRZ.js → chunk-FRP6D2DM.js} +21 -20
  90. package/dist/chunk-FRP6D2DM.js.map +1 -0
  91. package/dist/chunk-FUOE7UUV.js +341 -0
  92. package/dist/chunk-FUOE7UUV.js.map +1 -0
  93. package/dist/chunk-G4JYND6L.js +42 -0
  94. package/dist/chunk-G4JYND6L.js.map +1 -0
  95. package/dist/{chunk-53XBRIRT.js → chunk-G6XV4H65.js} +9 -9
  96. package/dist/chunk-G6XV4H65.js.map +1 -0
  97. package/dist/chunk-GHVIKOHT.js +1 -0
  98. package/dist/{chunk-PX35GA7L.js → chunk-GNMXXTMN.js} +11 -9
  99. package/dist/chunk-GNMXXTMN.js.map +1 -0
  100. package/dist/chunk-GYGLAVCX.js +19 -0
  101. package/dist/chunk-GYGLAVCX.js.map +1 -0
  102. package/dist/chunk-HPWKV3YB.js +21 -0
  103. package/dist/chunk-HPWKV3YB.js.map +1 -0
  104. package/dist/chunk-HY3AUMFI.js +41 -0
  105. package/dist/chunk-HY3AUMFI.js.map +1 -0
  106. package/dist/chunk-HYR4WZZ3.js +69 -0
  107. package/dist/chunk-HYR4WZZ3.js.map +1 -0
  108. package/dist/chunk-I7FD46FF.js +9 -0
  109. package/dist/chunk-I7FD46FF.js.map +1 -0
  110. package/dist/{chunk-TFBP23BX.js → chunk-ICXIFFYZ.js} +66 -7
  111. package/dist/chunk-ICXIFFYZ.js.map +1 -0
  112. package/dist/{chunk-TV3YZ35S.js → chunk-IGJCYUT5.js} +17 -8
  113. package/dist/chunk-IGJCYUT5.js.map +1 -0
  114. package/dist/{chunk-F3GDRNUT.js → chunk-IVLTXX4W.js} +36 -68
  115. package/dist/chunk-IVLTXX4W.js.map +1 -0
  116. package/dist/{chunk-DONMZAD2.js → chunk-J4LPNIGK.js} +62 -169
  117. package/dist/chunk-J4LPNIGK.js.map +1 -0
  118. package/dist/chunk-JJZ2LW6T.js +36 -0
  119. package/dist/chunk-JJZ2LW6T.js.map +1 -0
  120. package/dist/chunk-JK733I5V.js +23 -0
  121. package/dist/chunk-JK733I5V.js.map +1 -0
  122. package/dist/{chunk-3YPCK6JX.js → chunk-KJ2BCBTL.js} +181 -422
  123. package/dist/chunk-KJ2BCBTL.js.map +1 -0
  124. package/dist/chunk-KNZB6JMR.js +129 -0
  125. package/dist/chunk-KNZB6JMR.js.map +1 -0
  126. package/dist/{chunk-OIF6LZUR.js → chunk-KPZS5QAQ.js} +30 -11
  127. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  128. package/dist/chunk-LB7FD65R.js +163 -0
  129. package/dist/chunk-LB7FD65R.js.map +1 -0
  130. package/dist/{chunk-DO7C2TOG.js → chunk-LEJIKBBB.js} +3 -3
  131. package/dist/{chunk-DO7C2TOG.js.map → chunk-LEJIKBBB.js.map} +1 -1
  132. package/dist/{chunk-O3VZPBZG.js → chunk-LL2NIVUR.js} +56 -13
  133. package/dist/chunk-LL2NIVUR.js.map +1 -0
  134. package/dist/chunk-LP7BEXCT.js +32 -0
  135. package/dist/chunk-LP7BEXCT.js.map +1 -0
  136. package/dist/chunk-MCHVVJIA.js +968 -0
  137. package/dist/chunk-MCHVVJIA.js.map +1 -0
  138. package/dist/chunk-NO272T7Q.js +194 -0
  139. package/dist/chunk-NO272T7Q.js.map +1 -0
  140. package/dist/{chunk-22DWZL57.js → chunk-NUEQU36L.js} +70 -267
  141. package/dist/chunk-NUEQU36L.js.map +1 -0
  142. package/dist/chunk-O45M6LDB.js +38 -0
  143. package/dist/chunk-O45M6LDB.js.map +1 -0
  144. package/dist/chunk-OBKWYKYC.js +117 -0
  145. package/dist/chunk-OBKWYKYC.js.map +1 -0
  146. package/dist/{chunk-DJHHA6XH.js → chunk-OHHKHSJP.js} +50 -20
  147. package/dist/chunk-OHHKHSJP.js.map +1 -0
  148. package/dist/chunk-OT76OZL6.js +45 -0
  149. package/dist/chunk-OT76OZL6.js.map +1 -0
  150. package/dist/chunk-OVYRLHPE.js +150 -0
  151. package/dist/chunk-OVYRLHPE.js.map +1 -0
  152. package/dist/{chunk-ML236QKC.js → chunk-OXCSVM3B.js} +5 -5
  153. package/dist/chunk-OXCSVM3B.js.map +1 -0
  154. package/dist/chunk-P33LUIML.js +205 -0
  155. package/dist/chunk-P33LUIML.js.map +1 -0
  156. package/dist/{chunk-DL3HWOQ5.js → chunk-PLS64NCS.js} +10 -8
  157. package/dist/chunk-PLS64NCS.js.map +1 -0
  158. package/dist/{chunk-SYMWGEET.js → chunk-PS2NEWEX.js} +3 -3
  159. package/dist/chunk-PS2NEWEX.js.map +1 -0
  160. package/dist/chunk-PY4KJPYU.js +9 -0
  161. package/dist/chunk-PY4KJPYU.js.map +1 -0
  162. package/dist/chunk-PZ5AY32C.js +10 -0
  163. package/dist/chunk-QA2KUPCP.js +45 -0
  164. package/dist/chunk-QA2KUPCP.js.map +1 -0
  165. package/dist/chunk-QOC3VYL2.js +30 -0
  166. package/dist/chunk-QOC3VYL2.js.map +1 -0
  167. package/dist/{chunk-BVRYKATC.js → chunk-QSFOZUYL.js} +62 -34
  168. package/dist/chunk-QSFOZUYL.js.map +1 -0
  169. package/dist/chunk-RHK32N73.js +30 -0
  170. package/dist/chunk-RHK32N73.js.map +1 -0
  171. package/dist/{chunk-K3DK3NU5.js → chunk-RW3Y22MW.js} +20 -5
  172. package/dist/chunk-RW3Y22MW.js.map +1 -0
  173. package/dist/{chunk-B6PB7JLN.js → chunk-S7VFUQM2.js} +541 -6
  174. package/dist/chunk-S7VFUQM2.js.map +1 -0
  175. package/dist/chunk-SVLR4POP.js +64 -0
  176. package/dist/chunk-SVLR4POP.js.map +1 -0
  177. package/dist/chunk-T7WSLRAU.js +49 -0
  178. package/dist/chunk-T7WSLRAU.js.map +1 -0
  179. package/dist/{chunk-WPLVTJ5D.js → chunk-TAKWLZZX.js} +285 -63
  180. package/dist/chunk-TAKWLZZX.js.map +1 -0
  181. package/dist/chunk-THNJ3IKU.js +17 -0
  182. package/dist/chunk-THNJ3IKU.js.map +1 -0
  183. package/dist/{chunk-XJFLDA7A.js → chunk-TMBXVJKT.js} +9 -6
  184. package/dist/chunk-TMBXVJKT.js.map +1 -0
  185. package/dist/chunk-TWKKOM55.js +54 -0
  186. package/dist/chunk-TWKKOM55.js.map +1 -0
  187. package/dist/chunk-U3WZCU7E.js +14 -0
  188. package/dist/chunk-U3WZCU7E.js.map +1 -0
  189. package/dist/{chunk-Z6FNBOTC.js → chunk-UF362QVH.js} +15 -17
  190. package/dist/chunk-UF362QVH.js.map +1 -0
  191. package/dist/chunk-UN4FVIBH.js +135 -0
  192. package/dist/chunk-UN4FVIBH.js.map +1 -0
  193. package/dist/chunk-VEAVKDDB.js +29 -0
  194. package/dist/chunk-VEAVKDDB.js.map +1 -0
  195. package/dist/chunk-VEPTFUJY.js +29 -0
  196. package/dist/chunk-VEPTFUJY.js.map +1 -0
  197. package/dist/chunk-VJV7GKQK.js +662 -0
  198. package/dist/chunk-VJV7GKQK.js.map +1 -0
  199. package/dist/{chunk-2QR2PQTT.js → chunk-VQNJ7UZL.js} +5 -3
  200. package/dist/chunk-VQNJ7UZL.js.map +1 -0
  201. package/dist/chunk-VQRAIPYF.js +50 -0
  202. package/dist/chunk-VQRAIPYF.js.map +1 -0
  203. package/dist/{chunk-DFMLEQZB.js → chunk-VRIYFLBA.js} +5 -10
  204. package/dist/chunk-VRIYFLBA.js.map +1 -0
  205. package/dist/chunk-VWM3DAVB.js +265 -0
  206. package/dist/chunk-VWM3DAVB.js.map +1 -0
  207. package/dist/{chunk-NONAAENK.js → chunk-VWRRVE6D.js} +11 -4
  208. package/dist/chunk-VWRRVE6D.js.map +1 -0
  209. package/dist/chunk-VYYM3MEN.js +98 -0
  210. package/dist/chunk-VYYM3MEN.js.map +1 -0
  211. package/dist/chunk-WBJIQSLL.js +167 -0
  212. package/dist/chunk-WBJIQSLL.js.map +1 -0
  213. package/dist/chunk-WIGQB62E.js +164 -0
  214. package/dist/chunk-WIGQB62E.js.map +1 -0
  215. package/dist/{chunk-EMIGCR7X.js → chunk-WXSYDNBT.js} +2 -2
  216. package/dist/chunk-WXSYDNBT.js.map +1 -0
  217. package/dist/chunk-WZSCE6RM.js +466 -0
  218. package/dist/chunk-WZSCE6RM.js.map +1 -0
  219. package/dist/chunk-XGDAPN6M.js +255 -0
  220. package/dist/chunk-XGDAPN6M.js.map +1 -0
  221. package/dist/{chunk-QODLLGQ7.js → chunk-XH7XP3OL.js} +372 -37
  222. package/dist/chunk-XH7XP3OL.js.map +1 -0
  223. package/dist/chunk-XREOISSI.js +40 -0
  224. package/dist/chunk-XREOISSI.js.map +1 -0
  225. package/dist/chunk-XUBPSPKD.js +164 -0
  226. package/dist/chunk-XUBPSPKD.js.map +1 -0
  227. package/dist/chunk-Y3A5CB5G.js +247 -0
  228. package/dist/chunk-Y3A5CB5G.js.map +1 -0
  229. package/dist/{chunk-I5FOWO4J.js → chunk-YCXCR7VG.js} +52 -73
  230. package/dist/chunk-YCXCR7VG.js.map +1 -0
  231. package/dist/{chunk-A3JMGXPG.js → chunk-YMUGBZN2.js} +2 -2
  232. package/dist/chunk-YMUGBZN2.js.map +1 -0
  233. package/dist/chunk-YMVQD5Q5.js +453 -0
  234. package/dist/chunk-YMVQD5Q5.js.map +1 -0
  235. package/dist/chunk-YN5IAHN6.js +32 -0
  236. package/dist/chunk-YN5IAHN6.js.map +1 -0
  237. package/dist/{chunk-FZU343FL.js → chunk-ZJADGNYF.js} +2 -2
  238. package/dist/chunk-ZJADGNYF.js.map +1 -0
  239. package/dist/chunk-ZYJ55N7N.js +86 -0
  240. package/dist/chunk-ZYJ55N7N.js.map +1 -0
  241. package/dist/classified/index.d.ts +16 -0
  242. package/dist/classified/index.js +40 -0
  243. package/dist/classified-marker-H6YSHYNK.js +24 -0
  244. package/dist/classified-marker-H6YSHYNK.js.map +1 -0
  245. package/dist/collection-facade-LVD22JLM.js +39 -0
  246. package/dist/computed-EXDMQODG.js +11 -0
  247. package/dist/consent/index.d.ts +4 -7
  248. package/dist/consent/index.js +13 -5
  249. package/dist/consent/index.js.map +1 -1
  250. package/dist/crdt/index.d.ts +5 -2
  251. package/dist/crdt/index.js +3 -2
  252. package/dist/crdt/index.js.map +1 -1
  253. package/dist/dead-filter-HQIE2YG7.js +28 -0
  254. package/dist/dead-filter-HQIE2YG7.js.map +1 -0
  255. package/dist/decrypt-partition-IHtxEnTi.d.ts +21 -0
  256. package/dist/delegation-BJP73GAP.js +25 -0
  257. package/dist/derivations/index.d.ts +6 -9
  258. package/dist/derivations/index.js +18 -6
  259. package/dist/derive-BME7HDWO.js +21 -0
  260. package/dist/{dev-unlock-B4kDxep_.d.ts → dev-unlock-Bmm2pgJ0.d.ts} +1 -1
  261. package/dist/discriminant-BN9REW3o.d.ts +60 -0
  262. package/dist/enclave-NHORSWSF.js +125 -0
  263. package/dist/executor-FE6X4LFX.js +9 -0
  264. package/dist/executor-KSHKRJXP.js +25 -0
  265. package/dist/executor-ZHTJJICG.js +9 -0
  266. package/dist/export-accessible-DACHM5VT.js +23 -0
  267. package/dist/extract-partition-RNENZZ4T.js +36 -0
  268. package/dist/fanout-sidecar-OFWN3NM7.js +74 -0
  269. package/dist/fanout-sidecar-OFWN3NM7.js.map +1 -0
  270. package/dist/fence-watcher-DHQ775JB.js +69 -0
  271. package/dist/fence-watcher-DHQ775JB.js.map +1 -0
  272. package/dist/find-BNGBJNKP.js +11 -0
  273. package/dist/forget/index.d.ts +36 -0
  274. package/dist/forget/index.js +25 -0
  275. package/dist/forget/index.js.map +1 -0
  276. package/dist/guards/index.d.ts +12 -9
  277. package/dist/guards/index.js +12 -5
  278. package/dist/{hash-DdpVypUp.d.cts → hash-DAJjMsCE.d.ts} +10 -1
  279. package/dist/history/index.d.ts +5 -8
  280. package/dist/history/index.js +25 -12
  281. package/dist/history/index.js.map +1 -1
  282. package/dist/i18n/index.d.ts +25 -8
  283. package/dist/i18n/index.js +137 -29
  284. package/dist/i18n/index.js.map +1 -1
  285. package/dist/in/index.d.ts +4 -0
  286. package/dist/in/index.js +1 -0
  287. package/dist/in/index.js.map +1 -0
  288. package/dist/index-B9QdHytu.d.ts +123 -0
  289. package/dist/index-DjWbxsjb.d.ts +23579 -0
  290. package/dist/index-qwuNvO2B.d.ts +144 -0
  291. package/dist/index.d.ts +1179 -449
  292. package/dist/index.js +2524 -312
  293. package/dist/index.js.map +1 -1
  294. package/dist/indexing/index.d.ts +5 -3
  295. package/dist/indexing/index.js +6 -5
  296. package/dist/indexing/index.js.map +1 -1
  297. package/dist/issue-NDI4CVZU.js +19 -0
  298. package/dist/issue-NDI4CVZU.js.map +1 -0
  299. package/dist/json-schema-I22JCYCG.js +44 -0
  300. package/dist/json-schema-I22JCYCG.js.map +1 -0
  301. package/dist/lazy/index.d.ts +20 -0
  302. package/dist/lazy/index.js +12 -0
  303. package/dist/lazy/index.js.map +1 -0
  304. package/dist/ledger-6NDS2EO4.js +42 -0
  305. package/dist/ledger-6NDS2EO4.js.map +1 -0
  306. package/dist/liberate-HN3RIGIP.js +24 -0
  307. package/dist/liberate-HN3RIGIP.js.map +1 -0
  308. package/dist/link-set-SJB2MVJV.js +31 -0
  309. package/dist/link-set-SJB2MVJV.js.map +1 -0
  310. package/dist/materialized-views/index.d.ts +23 -20
  311. package/dist/materialized-views/index.js +26 -12
  312. package/dist/mime-magic-bBj5OgUC.d.ts +103 -0
  313. package/dist/noydb-BWF6EPIR.js +66 -0
  314. package/dist/noydb-BWF6EPIR.js.map +1 -0
  315. package/dist/on/index.d.ts +4 -0
  316. package/dist/on/index.js +17 -0
  317. package/dist/on/index.js.map +1 -0
  318. package/dist/overlay-views/index.d.ts +26 -11
  319. package/dist/overlay-views/index.js +7 -6
  320. package/dist/periods/index.d.ts +4 -7
  321. package/dist/periods/index.js +27 -9
  322. package/dist/pod/index.d.ts +62 -0
  323. package/dist/pod/index.js +67 -0
  324. package/dist/pod/index.js.map +1 -0
  325. package/dist/policy-WGNAG5H6.js +41 -0
  326. package/dist/policy-WGNAG5H6.js.map +1 -0
  327. package/dist/portability/index.d.ts +19 -0
  328. package/dist/portability/index.js +43 -0
  329. package/dist/portability/index.js.map +1 -0
  330. package/dist/post-register-CWKBQRC7.js +55 -0
  331. package/dist/post-register-CWKBQRC7.js.map +1 -0
  332. package/dist/{public-envelope-BW6OXORV.js → public-envelope-EJLVIFX7.js} +6 -5
  333. package/dist/public-envelope-EJLVIFX7.js.map +1 -0
  334. package/dist/query/index.d.ts +4 -3
  335. package/dist/query/index.js +24 -13
  336. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  337. package/dist/read-only-facade-CHCKSEPD.js.map +1 -0
  338. package/dist/register-SBIX7TVV.js +23 -0
  339. package/dist/register-SBIX7TVV.js.map +1 -0
  340. package/dist/registry-3EQG6OOE.js +18 -0
  341. package/dist/registry-3EQG6OOE.js.map +1 -0
  342. package/dist/registry-CA327ACV.js +9 -0
  343. package/dist/registry-CA327ACV.js.map +1 -0
  344. package/dist/registry-E7OXOTSV.js +19 -0
  345. package/dist/registry-E7OXOTSV.js.map +1 -0
  346. package/dist/registry-VW6P6A3J.js +8 -0
  347. package/dist/registry-VW6P6A3J.js.map +1 -0
  348. package/dist/request-withdrawal-KAH2AAXC.js +31 -0
  349. package/dist/request-withdrawal-KAH2AAXC.js.map +1 -0
  350. package/dist/reveal-R3JLHMUF.js +38 -0
  351. package/dist/reveal-R3JLHMUF.js.map +1 -0
  352. package/dist/revoke-IXLOJ3IH.js +24 -0
  353. package/dist/revoke-IXLOJ3IH.js.map +1 -0
  354. package/dist/satellites/index.d.ts +4 -0
  355. package/dist/satellites/index.js +8 -0
  356. package/dist/satellites/index.js.map +1 -0
  357. package/dist/sealed-record/index.d.ts +68 -0
  358. package/dist/sealed-record/index.js +71 -0
  359. package/dist/sealed-record/index.js.map +1 -0
  360. package/dist/session/index.d.ts +5 -8
  361. package/dist/session/index.js +13 -5
  362. package/dist/session/index.js.map +1 -1
  363. package/dist/shadow/index.d.ts +4 -7
  364. package/dist/shadow/index.js +4 -3
  365. package/dist/shadow/index.js.map +1 -1
  366. package/dist/signer-Y46N2GJ3.js +25 -0
  367. package/dist/signer-Y46N2GJ3.js.map +1 -0
  368. package/dist/snapshots/index.d.ts +5 -8
  369. package/dist/snapshots/index.js +19 -11
  370. package/dist/snapshots/index.js.map +1 -1
  371. package/dist/{stale-6ZDBTQT7.js → stale-Z7IW6RIL.js} +3 -2
  372. package/dist/stale-Z7IW6RIL.js.map +1 -0
  373. package/dist/storage-ADNP2UWI.js +23 -0
  374. package/dist/storage-ADNP2UWI.js.map +1 -0
  375. package/dist/store-coordination-provider-DTDMI6VL.js +142 -0
  376. package/dist/store-coordination-provider-DTDMI6VL.js.map +1 -0
  377. package/dist/subject-index-CyOgGMJL.d.ts +380 -0
  378. package/dist/sync/index.d.ts +3 -6
  379. package/dist/sync/index.js +13 -6
  380. package/dist/sync/index.js.map +1 -1
  381. package/dist/team/index.d.ts +46 -10
  382. package/dist/team/index.js +35 -18
  383. package/dist/tiers/index.d.ts +4 -0
  384. package/dist/tiers/index.js +39 -0
  385. package/dist/tiers/index.js.map +1 -0
  386. package/dist/to/index.d.ts +4 -0
  387. package/dist/to/index.js +16 -0
  388. package/dist/to/index.js.map +1 -0
  389. package/dist/transition-guard-DI-krBsZ.d.ts +165 -0
  390. package/dist/tx/index.d.ts +22 -9
  391. package/dist/tx/index.js +13 -8
  392. package/dist/tx/index.js.map +1 -1
  393. package/dist/ui/index.d.ts +4 -0
  394. package/dist/ui/index.js +1 -0
  395. package/dist/ui/index.js.map +1 -0
  396. package/dist/ulid-DRH25k3y.d.ts +66 -0
  397. package/dist/ulid-PTAIMDG4.js +10 -0
  398. package/dist/ulid-PTAIMDG4.js.map +1 -0
  399. package/dist/util/index.d.ts +2 -0
  400. package/dist/util/index.js +7 -2
  401. package/dist/util/index.js.map +1 -1
  402. package/dist/validators-BUcli5Nh.d.ts +101 -0
  403. package/dist/vault-diff-Z2DUayMe.d.ts +147 -0
  404. package/dist/verify-JPF2YR5E.js +139 -0
  405. package/dist/verify-JPF2YR5E.js.map +1 -0
  406. package/dist/walk-XYA2O3LW.js +241 -0
  407. package/dist/walk-XYA2O3LW.js.map +1 -0
  408. package/dist/with/index.d.ts +37 -0
  409. package/dist/with/index.js +31 -0
  410. package/dist/with/index.js.map +1 -0
  411. package/dist/{with-materialized-view-BLkQxoQN.d.ts → with-materialized-view-BUmzlXue.d.ts} +1 -1
  412. package/dist/{with-overlayed-view-CRsSEwHR.d.ts → with-overlayed-view-m4FaXXTO.d.ts} +2 -3
  413. package/dist/with-rollup-DEKGI9vb.d.ts +47 -0
  414. package/dist/withdraw-accessible-WLV4MTEN.js +28 -0
  415. package/dist/withdraw-accessible-WLV4MTEN.js.map +1 -0
  416. package/dist/zod-HAJM7LMS.js +14763 -0
  417. package/dist/zod-HAJM7LMS.js.map +1 -0
  418. package/package.json +122 -202
  419. package/dist/aggregate/index.cjs.map +0 -1
  420. package/dist/aggregate/index.d.cts +0 -38
  421. package/dist/attestation/index.cjs +0 -305
  422. package/dist/attestation/index.cjs.map +0 -1
  423. package/dist/attestation/index.d.cts +0 -52
  424. package/dist/blobs/index.cjs +0 -1480
  425. package/dist/blobs/index.cjs.map +0 -1
  426. package/dist/blobs/index.d.cts +0 -46
  427. package/dist/bundle/index.cjs +0 -19264
  428. package/dist/bundle/index.cjs.map +0 -1
  429. package/dist/bundle/index.d.cts +0 -176
  430. package/dist/chunk-22DWZL57.js.map +0 -1
  431. package/dist/chunk-2GLDA55J.js.map +0 -1
  432. package/dist/chunk-2QR2PQTT.js.map +0 -1
  433. package/dist/chunk-2WUSG3IT.js.map +0 -1
  434. package/dist/chunk-3BFJOWSU.js.map +0 -1
  435. package/dist/chunk-3YPCK6JX.js.map +0 -1
  436. package/dist/chunk-53XBRIRT.js.map +0 -1
  437. package/dist/chunk-5T22KDPN.js.map +0 -1
  438. package/dist/chunk-5XHKQ56N.js +0 -340
  439. package/dist/chunk-5XHKQ56N.js.map +0 -1
  440. package/dist/chunk-6CME4UEK.js +0 -10329
  441. package/dist/chunk-6CME4UEK.js.map +0 -1
  442. package/dist/chunk-6STK5TQP.js +0 -139
  443. package/dist/chunk-6STK5TQP.js.map +0 -1
  444. package/dist/chunk-A3JMGXPG.js.map +0 -1
  445. package/dist/chunk-B6PB7JLN.js.map +0 -1
  446. package/dist/chunk-BVRYKATC.js.map +0 -1
  447. package/dist/chunk-DE6GKS6G.js +0 -79
  448. package/dist/chunk-DE6GKS6G.js.map +0 -1
  449. package/dist/chunk-DFMLEQZB.js.map +0 -1
  450. package/dist/chunk-DJHHA6XH.js.map +0 -1
  451. package/dist/chunk-DL3HWOQ5.js.map +0 -1
  452. package/dist/chunk-DONMZAD2.js.map +0 -1
  453. package/dist/chunk-EMIGCR7X.js.map +0 -1
  454. package/dist/chunk-F3GDRNUT.js.map +0 -1
  455. package/dist/chunk-FZU343FL.js.map +0 -1
  456. package/dist/chunk-H2X3ISXG.js.map +0 -1
  457. package/dist/chunk-HNRHLRDC.js.map +0 -1
  458. package/dist/chunk-I5FOWO4J.js.map +0 -1
  459. package/dist/chunk-J66GRPNH.js.map +0 -1
  460. package/dist/chunk-JWRVQKRZ.js.map +0 -1
  461. package/dist/chunk-K3DK3NU5.js.map +0 -1
  462. package/dist/chunk-ML236QKC.js.map +0 -1
  463. package/dist/chunk-NONAAENK.js.map +0 -1
  464. package/dist/chunk-O3VZPBZG.js.map +0 -1
  465. package/dist/chunk-OIF6LZUR.js.map +0 -1
  466. package/dist/chunk-OQ6PIGHA.js +0 -19
  467. package/dist/chunk-OQ6PIGHA.js.map +0 -1
  468. package/dist/chunk-PE2FR4J3.js.map +0 -1
  469. package/dist/chunk-PP6W64Y3.js.map +0 -1
  470. package/dist/chunk-PX35GA7L.js.map +0 -1
  471. package/dist/chunk-QEILDE6R.js +0 -793
  472. package/dist/chunk-QEILDE6R.js.map +0 -1
  473. package/dist/chunk-QODLLGQ7.js.map +0 -1
  474. package/dist/chunk-RAZ4OVLL.js +0 -51
  475. package/dist/chunk-RAZ4OVLL.js.map +0 -1
  476. package/dist/chunk-SYMWGEET.js.map +0 -1
  477. package/dist/chunk-T7JEBOGN.js.map +0 -1
  478. package/dist/chunk-TFBP23BX.js.map +0 -1
  479. package/dist/chunk-TV3YZ35S.js.map +0 -1
  480. package/dist/chunk-U26HQ6KJ.js.map +0 -1
  481. package/dist/chunk-UF3BUNQZ.js +0 -1
  482. package/dist/chunk-UMLVJTYV.js +0 -20
  483. package/dist/chunk-UMLVJTYV.js.map +0 -1
  484. package/dist/chunk-VTKGMEPP.js.map +0 -1
  485. package/dist/chunk-W6EQLGMB.js +0 -100
  486. package/dist/chunk-W6EQLGMB.js.map +0 -1
  487. package/dist/chunk-WIRRPTFH.js +0 -17
  488. package/dist/chunk-WIRRPTFH.js.map +0 -1
  489. package/dist/chunk-WPLVTJ5D.js.map +0 -1
  490. package/dist/chunk-XJFLDA7A.js.map +0 -1
  491. package/dist/chunk-Z6FNBOTC.js.map +0 -1
  492. package/dist/chunk-ZYWZWG6G.js.map +0 -1
  493. package/dist/consent/index.cjs +0 -204
  494. package/dist/consent/index.cjs.map +0 -1
  495. package/dist/consent/index.d.cts +0 -25
  496. package/dist/crdt/index.cjs +0 -152
  497. package/dist/crdt/index.cjs.map +0 -1
  498. package/dist/crdt/index.d.cts +0 -30
  499. package/dist/crypto-HTZ4FJOP.js +0 -44
  500. package/dist/delegation-RI54P6I5.js +0 -17
  501. package/dist/derivations/index.cjs +0 -351
  502. package/dist/derivations/index.cjs.map +0 -1
  503. package/dist/derivations/index.d.cts +0 -72
  504. package/dist/dev-unlock-BIoEFbwm.d.cts +0 -263
  505. package/dist/executor-5PNY7LGW.js +0 -8
  506. package/dist/executor-B4QIYGZX.js +0 -8
  507. package/dist/executor-BWXXDQ7K.js +0 -11
  508. package/dist/fanout-sidecar-OKPMMPLG.js +0 -51
  509. package/dist/fanout-sidecar-OKPMMPLG.js.map +0 -1
  510. package/dist/guards/index.cjs +0 -322
  511. package/dist/guards/index.cjs.map +0 -1
  512. package/dist/guards/index.d.cts +0 -31
  513. package/dist/hash-HJqD14vS.d.ts +0 -63
  514. package/dist/history/index.cjs +0 -1222
  515. package/dist/history/index.cjs.map +0 -1
  516. package/dist/history/index.d.cts +0 -63
  517. package/dist/i18n/index.cjs +0 -1100
  518. package/dist/i18n/index.cjs.map +0 -1
  519. package/dist/i18n/index.d.cts +0 -39
  520. package/dist/index-4fBVt8j9.d.cts +0 -2387
  521. package/dist/index-D8I_pyJD.d.ts +0 -2387
  522. package/dist/index.cjs +0 -24487
  523. package/dist/index.cjs.map +0 -1
  524. package/dist/index.d.cts +0 -776
  525. package/dist/indexing/index.cjs +0 -742
  526. package/dist/indexing/index.cjs.map +0 -1
  527. package/dist/indexing/index.d.cts +0 -36
  528. package/dist/issue-VGDPP4B5.js +0 -12
  529. package/dist/lazy-builder-7tIpFyWN.d.ts +0 -304
  530. package/dist/lazy-builder-wY4pMCEe.d.cts +0 -304
  531. package/dist/ledger-TMRZYNVJ.js +0 -33
  532. package/dist/materialized-views/index.cjs +0 -854
  533. package/dist/materialized-views/index.cjs.map +0 -1
  534. package/dist/materialized-views/index.d.cts +0 -186
  535. package/dist/mime-magic-CBBSOkjm.d.cts +0 -50
  536. package/dist/mime-magic-CBBSOkjm.d.ts +0 -50
  537. package/dist/noydb-G725ZSZG.js +0 -34
  538. package/dist/overlay-views/index.cjs +0 -359
  539. package/dist/overlay-views/index.cjs.map +0 -1
  540. package/dist/overlay-views/index.d.cts +0 -82
  541. package/dist/periods/index.cjs +0 -1041
  542. package/dist/periods/index.cjs.map +0 -1
  543. package/dist/periods/index.d.cts +0 -22
  544. package/dist/predicate-BSAGEyu5.d.cts +0 -209
  545. package/dist/predicate-BSAGEyu5.d.ts +0 -209
  546. package/dist/query/index.cjs +0 -2375
  547. package/dist/query/index.cjs.map +0 -1
  548. package/dist/query/index.d.cts +0 -3
  549. package/dist/read-only-facade-ITU6L7BL.js +0 -7
  550. package/dist/registry-3QP3YKQS.js +0 -8
  551. package/dist/registry-DKEXOJVO.js +0 -7
  552. package/dist/registry-OJIOSBV6.js +0 -10
  553. package/dist/registry-USRVT6YF.js +0 -8
  554. package/dist/revoke-JCC7N56X.js +0 -17
  555. package/dist/session/index.cjs +0 -495
  556. package/dist/session/index.cjs.map +0 -1
  557. package/dist/session/index.d.cts +0 -46
  558. package/dist/shadow/index.cjs +0 -133
  559. package/dist/shadow/index.cjs.map +0 -1
  560. package/dist/shadow/index.d.cts +0 -17
  561. package/dist/signer-72QAUSVW.js +0 -18
  562. package/dist/snapshots/index.cjs +0 -937
  563. package/dist/snapshots/index.cjs.map +0 -1
  564. package/dist/snapshots/index.d.cts +0 -28
  565. package/dist/store/index.cjs +0 -1083
  566. package/dist/store/index.cjs.map +0 -1
  567. package/dist/store/index.d.cts +0 -492
  568. package/dist/store/index.d.ts +0 -492
  569. package/dist/store/index.js +0 -37
  570. package/dist/strategy-BSxFXGzb.d.cts +0 -110
  571. package/dist/strategy-BSxFXGzb.d.ts +0 -110
  572. package/dist/strategy-DSTrsZ8t.d.cts +0 -601
  573. package/dist/strategy-DSTrsZ8t.d.ts +0 -601
  574. package/dist/sync/index.cjs +0 -1062
  575. package/dist/sync/index.cjs.map +0 -1
  576. package/dist/sync/index.d.cts +0 -43
  577. package/dist/team/index.cjs +0 -2798
  578. package/dist/team/index.cjs.map +0 -1
  579. package/dist/team/index.d.cts +0 -118
  580. package/dist/tx/index.cjs +0 -544
  581. package/dist/tx/index.cjs.map +0 -1
  582. package/dist/tx/index.d.cts +0 -21
  583. package/dist/types-Df28QFKb.d.ts +0 -12818
  584. package/dist/types-DyXYr8rE.d.cts +0 -12818
  585. package/dist/ulid-COREQ2RQ.js +0 -9
  586. package/dist/ulid-Drr7ykr6.d.cts +0 -603
  587. package/dist/util/index.cjs +0 -230
  588. package/dist/util/index.cjs.map +0 -1
  589. package/dist/util/index.d.cts +0 -77
  590. package/dist/with-derivation-DFnFByiQ.d.ts +0 -13
  591. package/dist/with-derivation-DU3Sjazm.d.cts +0 -13
  592. package/dist/with-guard-ByyxmEe7.d.cts +0 -18
  593. package/dist/with-guard-qube6BMI.d.ts +0 -18
  594. package/dist/with-materialized-view-BmEToIR1.d.cts +0 -27
  595. package/dist/with-overlayed-view-BMsQQbWm.d.cts +0 -13
  596. /package/dist/{chunk-UF3BUNQZ.js.map → api-TX2EX2FX.js.map} +0 -0
  597. /package/dist/{store → as}/index.js.map +0 -0
  598. /package/dist/{crypto-HTZ4FJOP.js.map → at/index.js.map} +0 -0
  599. /package/dist/{delegation-RI54P6I5.js.map → by/index.js.map} +0 -0
  600. /package/dist/{executor-5PNY7LGW.js.map → cargo/index.js.map} +0 -0
  601. /package/dist/{executor-B4QIYGZX.js.map → chunk-CHFZDSE4.js.map} +0 -0
  602. /package/dist/{executor-BWXXDQ7K.js.map → chunk-GHVIKOHT.js.map} +0 -0
  603. /package/dist/{issue-VGDPP4B5.js.map → chunk-PZ5AY32C.js.map} +0 -0
  604. /package/dist/{ledger-TMRZYNVJ.js.map → classified/index.js.map} +0 -0
  605. /package/dist/{noydb-G725ZSZG.js.map → collection-facade-LVD22JLM.js.map} +0 -0
  606. /package/dist/{public-envelope-BW6OXORV.js.map → computed-EXDMQODG.js.map} +0 -0
  607. /package/dist/{read-only-facade-ITU6L7BL.js.map → delegation-BJP73GAP.js.map} +0 -0
  608. /package/dist/{registry-3QP3YKQS.js.map → derive-BME7HDWO.js.map} +0 -0
  609. /package/dist/{registry-DKEXOJVO.js.map → enclave-NHORSWSF.js.map} +0 -0
  610. /package/dist/{registry-OJIOSBV6.js.map → executor-FE6X4LFX.js.map} +0 -0
  611. /package/dist/{registry-USRVT6YF.js.map → executor-KSHKRJXP.js.map} +0 -0
  612. /package/dist/{revoke-JCC7N56X.js.map → executor-ZHTJJICG.js.map} +0 -0
  613. /package/dist/{signer-72QAUSVW.js.map → export-accessible-DACHM5VT.js.map} +0 -0
  614. /package/dist/{stale-6ZDBTQT7.js.map → extract-partition-RNENZZ4T.js.map} +0 -0
  615. /package/dist/{ulid-COREQ2RQ.js.map → find-BNGBJNKP.js.map} +0 -0
@@ -1,118 +0,0 @@
1
- import { b3 as NoydbStore, b1 as UnlockedKeyring } from '../types-DyXYr8rE.cjs';
2
- export { bt as BundleRecipient, cg as EnrollAuthenticatorOptions, ch as EnrollAuthenticatorWrappingDEKsOptions, ci as EnrollAuthenticatorWrappingKEKOptions, cN as ListUsersOptions, d9 as PaperRecoveryEntry, dh as PresenceHandle, dD as RecoverPassphraseInput, dE as RecoverPassphraseResult, dF as RecoverUserOptions, dG as RecoveryProof, dJ as RotatePassphraseInput, dV as SlotRewrapCeremony, dW as SlotRewrapContext, e1 as SyncEngine, e9 as SyncTransaction, em as UpdateAuthenticatorOptions, eB as WrappedDeksBlob, eH as buildRecipientKeyringFile, eI as burnPaperRecoveryEntry, fr as changeSecret, fs as createOwnerKeyring, eL as deriveMagicLinkContentKey, eM as enrollAuthenticator, ft as ensureCollectionDEK, eO as evaluateExportCapability, eP as evaluateImportCapability, eQ as findAuthenticator, fu as grant, eR as hasExportCapability, eS as hasImportCapability, eU as isMagicLinkGrantExpired, eZ as listMagicLinkGrants, e_ as listUsers, e$ as listUsersWithEnvelopes, fv as loadKeyring, f1 as loadPaperRecoveryEntries, f4 as magicLinkGrantRecordId, f5 as mintPaperRecoveryEntry, f7 as mintWrappedDeksBlob, fw as persistKeyring, f9 as readMagicLinkGrantRecord, eX as recoverPassphrase, fa as recoverUser, fb as removeAuthenticator, fx as revoke, fe as revokeMagicLinkGrant, eY as rotatePassphrase, ff as savePaperRecoveryEntries, fi as unwrapDeksFromBlob, fj as unwrapDeksFromPaperEntry, fl as unwrapMagicLinkGrant, fy as updateAuthenticator, fz as updateKeyringIdentity, fq as writeMagicLinkGrant } from '../types-DyXYr8rE.cjs';
3
- import '../lazy-builder-wY4pMCEe.cjs';
4
- import '../predicate-BSAGEyu5.cjs';
5
- import '../strategy-DSTrsZ8t.cjs';
6
- import '../strategy-BSxFXGzb.cjs';
7
- import '../index-4fBVt8j9.cjs';
8
- import '@noy-db/attestation';
9
-
10
- /**
11
- * _sync_credentials reserved collection —
12
- *
13
- * Stores per-adapter OAuth tokens (and any other long-lived sync secrets) as
14
- * encrypted records inside the vault itself. Tokens are wrapped with the
15
- * compartment's own DEK, live on disk as ciphertext like any other record, and
16
- * are accessed only through the dedicated API in this module — never via
17
- * `vault.collection('_sync_credentials')`.
18
- *
19
- * Design decisions
20
- * ────────────────
21
- *
22
- * **Why a reserved collection, not a separate store?**
23
- * The compartment's existing encryption stack (AES-256-GCM + collection DEK)
24
- * is exactly the right primitive for protecting OAuth tokens at rest. Using a
25
- * separate store would require a new encryption surface, new adapter calls,
26
- * and a new backup/restore path — all of which already exist for collections.
27
- *
28
- * **Why not exposed as a regular collection?**
29
- * The same reason `_keyring` and `_ledger` aren't: they have invariants that
30
- * must be enforced (naming scheme, no cross-user leakage, no schema
31
- * validation, no history/ledger writes for privacy). Routing through a
32
- * dedicated API enforces those invariants.
33
- *
34
- * **Token lifecycle:**
35
- * - `putCredential(vault, adapterId, token)` — store or overwrite
36
- * - `getCredential(vault, adapterId)` — load and decrypt
37
- * - `deleteCredential(vault, adapterId)` — remove
38
- * - `listCredentials(vault)` — enumerate adapter IDs (not tokens)
39
- *
40
- * The `adapterId` is the record ID within the `_sync_credentials` collection.
41
- * It should be a stable, human-readable identifier for the adapter instance
42
- * (e.g. `'google-drive'`, `'dropbox'`, `'s3-prod'`).
43
- *
44
- * **ACL:** only `owner` and `admin` roles can read/write sync credentials.
45
- * Operators, viewers, and clients cannot call this API. The check is made
46
- * against the caller's keyring role at call time.
47
- */
48
-
49
- /** The reserved collection name. Never collides with user collections. */
50
- declare const SYNC_CREDENTIALS_COLLECTION = "_sync_credentials";
51
- /**
52
- * An OAuth/auth token stored in `_sync_credentials`.
53
- *
54
- * Fields mirror the OAuth2 token response shape. `customData` is an escape
55
- * hatch for adapter-specific secrets (API keys, connection strings, etc.)
56
- * that don't fit the OAuth2 shape.
57
- */
58
- interface SyncCredential {
59
- /** Stable identifier for the adapter instance (e.g. 'google-drive'). */
60
- readonly adapterId: string;
61
- /** OAuth token type, usually 'Bearer'. */
62
- readonly tokenType: string;
63
- /** The access token. Expires at `expiresAt` if set. */
64
- readonly accessToken: string;
65
- /** Long-lived refresh token for renewing the access token. */
66
- readonly refreshToken?: string;
67
- /** ISO timestamp when `accessToken` expires. Absent means "no expiry". */
68
- readonly expiresAt?: string;
69
- /** Space-separated OAuth scopes. */
70
- readonly scopes?: string;
71
- /** Adapter-specific opaque data (API keys, endpoints, etc.). */
72
- readonly customData?: Record<string, string>;
73
- }
74
- /**
75
- * Store or overwrite a sync credential for the given adapter.
76
- *
77
- * The credential is encrypted with the `_sync_credentials` collection DEK
78
- * (auto-generated on first use). The record ID is the `adapterId`.
79
- *
80
- * Requires owner or admin role.
81
- */
82
- declare function putCredential(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, credential: SyncCredential): Promise<void>;
83
- /**
84
- * Load and decrypt a sync credential for the given adapter ID.
85
- *
86
- * Returns `null` if no credential exists for this adapter.
87
- * Requires owner or admin role.
88
- */
89
- declare function getCredential(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, adapterId: string): Promise<SyncCredential | null>;
90
- /**
91
- * Delete a sync credential by adapter ID.
92
- *
93
- * No-op if the credential doesn't exist. Requires owner or admin role.
94
- */
95
- declare function deleteCredential(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, adapterId: string): Promise<void>;
96
- /**
97
- * List all adapter IDs that have stored credentials.
98
- *
99
- * Returns only the IDs, never the credential payloads. Useful for
100
- * displaying "connected adapters" in UI without decrypting tokens.
101
- * Requires owner or admin role.
102
- */
103
- declare function listCredentials(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<string[]>;
104
- /**
105
- * Check whether a credential exists and whether its access token has expired.
106
- *
107
- * Returns `{ exists: false }` if no credential is stored, or
108
- * `{ exists: true, expired: boolean }` based on the `expiresAt` field.
109
- * Requires owner or admin role.
110
- */
111
- declare function credentialStatus(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, adapterId: string): Promise<{
112
- exists: false;
113
- } | {
114
- exists: true;
115
- expired: boolean;
116
- }>;
117
-
118
- export { SYNC_CREDENTIALS_COLLECTION, type SyncCredential, UnlockedKeyring, credentialStatus, deleteCredential, getCredential, listCredentials, putCredential };
package/dist/tx/index.cjs DELETED
@@ -1,544 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __esm = (fn, res) => function __init() {
7
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
8
- };
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
-
23
- // src/errors.ts
24
- var NoydbError, FieldFrozenError, InvariantError, AmendmentForbiddenError, ConflictError, ValidationError;
25
- var init_errors = __esm({
26
- "src/errors.ts"() {
27
- "use strict";
28
- NoydbError = class extends Error {
29
- /** Machine-readable error code. Stable across library versions. */
30
- code;
31
- constructor(code, message) {
32
- super(message);
33
- this.name = "NoydbError";
34
- this.code = code;
35
- }
36
- };
37
- FieldFrozenError = class extends NoydbError {
38
- collection;
39
- id;
40
- fields;
41
- constructor(collection, id, fields) {
42
- super(
43
- "FIELD_FROZEN",
44
- `Cannot change frozen field(s) on ${collection}/${id}: ${fields.join(", ")}. Use withTransactions({ amendment: true, reason }) with admin/owner role to override.`
45
- );
46
- this.name = "FieldFrozenError";
47
- this.collection = collection;
48
- this.id = id;
49
- this.fields = fields;
50
- }
51
- };
52
- InvariantError = class extends NoydbError {
53
- constructor(message) {
54
- super("INVARIANT_VIOLATED", message);
55
- this.name = "InvariantError";
56
- }
57
- };
58
- AmendmentForbiddenError = class extends NoydbError {
59
- userId;
60
- role;
61
- constructor(userId, role) {
62
- super(
63
- "AMENDMENT_FORBIDDEN",
64
- `User "${userId}" with role "${role}" cannot open an amendment transaction. Amendments require admin or owner role.`
65
- );
66
- this.name = "AmendmentForbiddenError";
67
- this.userId = userId;
68
- this.role = role;
69
- }
70
- };
71
- ConflictError = class extends NoydbError {
72
- /** The actual stored version at the time of conflict. */
73
- version;
74
- constructor(version, message = "Version conflict") {
75
- super("CONFLICT", message);
76
- this.name = "ConflictError";
77
- this.version = version;
78
- }
79
- };
80
- ValidationError = class extends NoydbError {
81
- constructor(message = "Validation error") {
82
- super("VALIDATION_ERROR", message);
83
- this.name = "ValidationError";
84
- }
85
- };
86
- }
87
- });
88
-
89
- // src/guards/executor.ts
90
- var executor_exports = {};
91
- __export(executor_exports, {
92
- GuardExecutor: () => GuardExecutor
93
- });
94
- function deepEqual(a, b) {
95
- if (a === b) return true;
96
- if (a === null || b === null) return a === b;
97
- if (typeof a !== typeof b) return false;
98
- if (typeof a !== "object") return a === b;
99
- if (Array.isArray(a) !== Array.isArray(b)) return false;
100
- if (Array.isArray(a)) {
101
- const aa = a;
102
- const bb = b;
103
- if (aa.length !== bb.length) return false;
104
- for (let i = 0; i < aa.length; i++) if (!deepEqual(aa[i], bb[i])) return false;
105
- return true;
106
- }
107
- const ao = a;
108
- const bo = b;
109
- const ak = Object.keys(ao);
110
- const bk = Object.keys(bo);
111
- if (ak.length !== bk.length) return false;
112
- for (const k of ak) {
113
- if (!Object.prototype.hasOwnProperty.call(bo, k)) return false;
114
- if (!deepEqual(ao[k], bo[k])) return false;
115
- }
116
- return true;
117
- }
118
- var GuardExecutor;
119
- var init_executor = __esm({
120
- "src/guards/executor.ts"() {
121
- "use strict";
122
- init_errors();
123
- GuardExecutor = {
124
- /**
125
- * Compare existing vs incoming for each `frozenFields.fields` entry
126
- * when `frozenFields.when(existing)` is true. Throws
127
- * `FieldFrozenError` listing every changed frozen field.
128
- */
129
- async checkFrozenFields(guard, id, existing, incoming) {
130
- const ff = guard.frozenFields;
131
- if (!ff) return;
132
- if (existing === null) return;
133
- if (!ff.when(existing)) return;
134
- const changed = [];
135
- for (const f of ff.fields) {
136
- if (existing[f] !== incoming[f]) {
137
- if (!deepEqual(existing[f], incoming[f])) changed.push(String(f));
138
- }
139
- }
140
- if (changed.length > 0) {
141
- throw new FieldFrozenError(guard.collection, id, changed);
142
- }
143
- },
144
- /**
145
- * Run a single guard's invariant over its slice of the change-set.
146
- * Any throw is converted to `InvariantError` unless it already is one.
147
- */
148
- async runInvariant(guard, changes, ctx) {
149
- const amendment = guard.amendment;
150
- if (!amendment) return;
151
- try {
152
- await amendment.invariant(changes, ctx);
153
- } catch (err) {
154
- if (err instanceof InvariantError) throw err;
155
- throw new InvariantError(
156
- err instanceof Error ? err.message : `invariant violated: ${String(err)}`
157
- );
158
- }
159
- }
160
- };
161
- }
162
- });
163
-
164
- // src/tx/index.ts
165
- var tx_exports = {};
166
- __export(tx_exports, {
167
- TxCollection: () => TxCollection,
168
- TxContext: () => TxContext,
169
- TxVault: () => TxVault,
170
- runTransaction: () => runTransaction,
171
- withTransactions: () => withTransactions
172
- });
173
- module.exports = __toCommonJS(tx_exports);
174
-
175
- // src/tx/transaction.ts
176
- init_errors();
177
-
178
- // src/bundle/ulid.ts
179
- var CROCKFORD_ALPHABET = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
180
- function encodeBase32(value, length) {
181
- let out = "";
182
- let v = value;
183
- for (let i = 0; i < length; i++) {
184
- out = CROCKFORD_ALPHABET[v % 32] + out;
185
- v = Math.floor(v / 32);
186
- }
187
- return out;
188
- }
189
- function generateULID() {
190
- const now = Date.now();
191
- const timestampHigh = Math.floor(now / 16777216);
192
- const timestampLow = now & 16777215;
193
- const tsPart = encodeBase32(timestampHigh, 5) + encodeBase32(timestampLow, 5);
194
- const randBytes = new Uint8Array(10);
195
- crypto.getRandomValues(randBytes);
196
- const rand1 = randBytes[0] * 2 ** 32 + (randBytes[1] << 24 >>> 0) + (randBytes[2] << 16) + (randBytes[3] << 8) + randBytes[4];
197
- const rand2 = randBytes[5] * 2 ** 32 + (randBytes[6] << 24 >>> 0) + (randBytes[7] << 16) + (randBytes[8] << 8) + randBytes[9];
198
- const randPart = encodeBase32(rand1, 8) + encodeBase32(rand2, 8);
199
- return tsPart + randPart;
200
- }
201
-
202
- // src/tx/transaction.ts
203
- var TxContext = class {
204
- /** Stable id for this transaction; shared by all writes it performs. */
205
- txId = generateULID();
206
- /** @internal */
207
- _ops = [];
208
- /**
209
- * @internal — write log built up in Phase 2. Each entry records the
210
- * envelope captured BEFORE the write so a mid-batch failure can
211
- * restore prior state via `revertExecuted`. Side-effect writes (e.g.
212
- * recursive derivation outputs fired inside `Collection.put`) are
213
- * appended here in execution order so they roll back alongside the
214
- * main staged ops.
215
- */
216
- _executed = [];
217
- /** @internal */
218
- _db;
219
- /**
220
- * @internal — true when this TxContext was opened in amendment
221
- * mode. Toggles the lazy-`beginAmendment` + role-check path on first
222
- * `tx.vault(name)` and unlocks the post-Phase-2 invariant + audit run.
223
- */
224
- _amendment;
225
- /** @internal — vaults that have already had `beginAmendment` called. */
226
- _amendmentVaults = /* @__PURE__ */ new Map();
227
- /** @internal */
228
- constructor(db, amendment = false) {
229
- this._db = db;
230
- this._amendment = amendment;
231
- }
232
- /** Scope subsequent `collection()` calls to the named vault. */
233
- vault(name) {
234
- const v = this._db.vault(name);
235
- if (this._amendment && !this._amendmentVaults.has(name)) {
236
- const role = v.role;
237
- if (role !== "admin" && role !== "owner") {
238
- throw new AmendmentForbiddenError(v.userId, role);
239
- }
240
- const reg = v._getGuardRegistry();
241
- if (reg === null) {
242
- throw new ValidationError(
243
- `Vault "${name}": amendment mode requires at least one guardStrategy registered via createNoydb({ guardStrategies }). Open the vault with guardStrategies before calling db.transaction({ amendment: true }).`
244
- );
245
- }
246
- reg.beginAmendment();
247
- this._amendmentVaults.set(name, v);
248
- }
249
- return new TxVault(this, v);
250
- }
251
- };
252
- var TxVault = class {
253
- /** @internal */
254
- _ctx;
255
- /** @internal */
256
- _vault;
257
- /** @internal */
258
- constructor(ctx, vault) {
259
- this._ctx = ctx;
260
- this._vault = vault;
261
- }
262
- /** Scope subsequent op calls to the named collection. */
263
- collection(name) {
264
- const c = this._vault.collection(name);
265
- return new TxCollection(this._ctx, this._vault, c, name);
266
- }
267
- };
268
- var TxCollection = class {
269
- /** @internal */
270
- _ctx;
271
- /** @internal */
272
- _vault;
273
- /** @internal */
274
- _coll;
275
- /** @internal */
276
- _name;
277
- /** @internal */
278
- constructor(ctx, vault, coll, name) {
279
- this._ctx = ctx;
280
- this._vault = vault;
281
- this._coll = coll;
282
- this._name = name;
283
- }
284
- /**
285
- * Read the current committed value, or the most-recently-staged
286
- * value from the same transaction if one exists.
287
- */
288
- async get(id) {
289
- for (let i = this._ctx._ops.length - 1; i >= 0; i--) {
290
- const op = this._ctx._ops[i];
291
- if (op.vaultName === this._vault.name && op.collectionName === this._name && op.id === id) {
292
- if (op.type === "delete") return null;
293
- return op.record;
294
- }
295
- }
296
- return this._coll.get(id);
297
- }
298
- /**
299
- * Stage a put. Does not write until the transaction body returns.
300
- * Supply `{ expectedVersion }` to enforce optimistic concurrency
301
- * during the commit pre-flight.
302
- */
303
- put(id, record, options) {
304
- const op = {
305
- type: "put",
306
- vaultName: this._vault.name,
307
- collectionName: this._name,
308
- id,
309
- record
310
- };
311
- if (options?.expectedVersion !== void 0) op.expectedVersion = options.expectedVersion;
312
- if (options?.reason !== void 0) op.reason = options.reason;
313
- this._ctx._ops.push(op);
314
- }
315
- /**
316
- * Stage a delete. Does not write until the transaction body returns.
317
- * Supply `{ expectedVersion }` to enforce optimistic concurrency
318
- * during the commit pre-flight.
319
- */
320
- delete(id, options) {
321
- const op = {
322
- type: "delete",
323
- vaultName: this._vault.name,
324
- collectionName: this._name,
325
- id
326
- };
327
- if (options?.expectedVersion !== void 0) op.expectedVersion = options.expectedVersion;
328
- this._ctx._ops.push(op);
329
- }
330
- };
331
- async function runTransaction(db, fn, options) {
332
- if (options?.amendment) {
333
- if (typeof options.reason !== "string" || options.reason.trim().length === 0) {
334
- throw new ValidationError(
335
- "db.transaction({ amendment: true }) requires a non-empty `reason` string."
336
- );
337
- }
338
- }
339
- const ctx = new TxContext(db, options?.amendment === true);
340
- const bodyResult = await fn(ctx);
341
- if (ctx._ops.length === 0) {
342
- if (ctx._amendment) {
343
- for (const v of ctx._amendmentVaults.values()) {
344
- const reg = v._getGuardRegistry();
345
- if (reg !== null) {
346
- reg.consumeChanges();
347
- reg.consumeMeta();
348
- }
349
- }
350
- }
351
- return bodyResult;
352
- }
353
- const priorEnvelopes = /* @__PURE__ */ new Map();
354
- const store = db._store;
355
- for (const op of ctx._ops) {
356
- const key = keyOf(op);
357
- if (!priorEnvelopes.has(key)) {
358
- const env = await store.get(op.vaultName, op.collectionName, op.id);
359
- priorEnvelopes.set(key, env);
360
- }
361
- if (op.expectedVersion !== void 0) {
362
- const env = priorEnvelopes.get(key) ?? null;
363
- const actual = env?._v ?? 0;
364
- if (actual !== op.expectedVersion) {
365
- throw new ConflictError(
366
- actual,
367
- `Transaction pre-flight: ${op.vaultName}/${op.collectionName}/${op.id} expected v${op.expectedVersion}, found v${actual}`
368
- );
369
- }
370
- }
371
- }
372
- db._setActiveTxContext(ctx);
373
- try {
374
- try {
375
- for (const op of ctx._ops) {
376
- const coll = db.vault(op.vaultName).collection(op.collectionName);
377
- const key = keyOf(op);
378
- const prior = priorEnvelopes.get(key) ?? null;
379
- ctx._executed.push({ op, priorEnvelope: prior });
380
- if (op.type === "put") {
381
- await coll.put(op.id, op.record, op.reason !== void 0 ? { reason: op.reason } : void 0);
382
- } else {
383
- await coll.delete(op.id);
384
- }
385
- }
386
- } catch (err) {
387
- await revertExecuted(ctx._executed, store, db);
388
- if (ctx._amendment) {
389
- for (const v of ctx._amendmentVaults.values()) {
390
- const reg = v._getGuardRegistry();
391
- if (reg !== null) {
392
- reg.consumeChanges();
393
- reg.consumeMeta();
394
- }
395
- }
396
- }
397
- throw err;
398
- }
399
- } finally {
400
- db._clearActiveTxContext(ctx);
401
- }
402
- if (ctx._amendment) {
403
- const { GuardExecutor: GuardExecutor2 } = await Promise.resolve().then(() => (init_executor(), executor_exports));
404
- try {
405
- for (const [vaultName, v] of ctx._amendmentVaults) {
406
- const registry = v._getGuardRegistry();
407
- if (registry === null) continue;
408
- const changesByCollection = registry.consumeChanges();
409
- const meta = registry.consumeMeta();
410
- if (changesByCollection.size === 0) continue;
411
- const readOnlyVault = v._getReadOnlyFacade();
412
- if (readOnlyVault === null) continue;
413
- const invariantsPassed = [];
414
- for (const [collection, changes] of changesByCollection) {
415
- const guards = registry.guardsFor(collection).filter((g) => g.amendment !== void 0);
416
- for (const guard of guards) {
417
- await GuardExecutor2.runInvariant(guard, changes, {
418
- existing: null,
419
- vault: readOnlyVault,
420
- userId: v.userId,
421
- role: v.role
422
- });
423
- }
424
- if (guards.length > 0) invariantsPassed.push(collection);
425
- }
426
- const ledger = v._getLedgerOrNull();
427
- if (ledger) {
428
- const role = v.role;
429
- const amendment = {
430
- reason: options.reason,
431
- role,
432
- changes: meta,
433
- invariantsPassed
434
- };
435
- await ledger.append({
436
- op: "amendment",
437
- collection: "",
438
- id: "",
439
- version: 0,
440
- actor: v.userId,
441
- // No payload to hash — the per-record entries already
442
- // captured `payloadHash` at their own append time. We use
443
- // a sha256 of the canonical reason string so the field is
444
- // populated with something deterministic and non-empty.
445
- payloadHash: "",
446
- amendment
447
- });
448
- }
449
- void vaultName;
450
- }
451
- } catch (err) {
452
- await revertExecuted(ctx._executed, store, db);
453
- throw err instanceof InvariantError ? err : new InvariantError(
454
- err instanceof Error ? err.message : `invariant violated: ${String(err)}`
455
- );
456
- }
457
- }
458
- return bodyResult;
459
- }
460
- async function revertExecuted(executed, store, db) {
461
- for (const { op, priorEnvelope } of executed.slice().reverse()) {
462
- try {
463
- if (priorEnvelope) {
464
- await store.put(op.vaultName, op.collectionName, op.id, priorEnvelope);
465
- } else {
466
- await store.delete(op.vaultName, op.collectionName, op.id);
467
- }
468
- if (db) {
469
- const coll = db.vault(op.vaultName).collection(op.collectionName);
470
- await coll._invalidateCacheEntry(op.id);
471
- }
472
- } catch {
473
- }
474
- }
475
- }
476
- function keyOf(op) {
477
- return `${op.vaultName}\0${op.collectionName}\0${op.id}`;
478
- }
479
-
480
- // src/tx/dry-run.ts
481
- var SEP = " ";
482
- var keyOf2 = (op) => `${op.vaultName}${SEP}${op.collectionName}${SEP}${op.id}`;
483
- async function runDryRun(db, fn) {
484
- const ctx = new TxContext(db);
485
- await fn(ctx);
486
- const lastOp = /* @__PURE__ */ new Map();
487
- for (const op of ctx._ops) lastOp.set(keyOf2(op), op);
488
- const affected = [];
489
- const guardViolations = [];
490
- for (const op of lastOp.values()) {
491
- const v = db.vault(op.vaultName);
492
- const coll = v.collection(op.collectionName);
493
- const before = await coll.get(op.id);
494
- if (op.type === "delete") {
495
- affected.push({ vault: op.vaultName, op: "delete", collection: op.collectionName, docId: op.id, before, after: null });
496
- continue;
497
- }
498
- const after = op.record ?? null;
499
- affected.push({
500
- vault: op.vaultName,
501
- op: before === null ? "create" : "update",
502
- collection: op.collectionName,
503
- docId: op.id,
504
- before,
505
- after
506
- });
507
- const registry = v._getGuardRegistry();
508
- if (!registry) continue;
509
- const guards = registry.guardsFor(op.collectionName);
510
- if (guards.length === 0) continue;
511
- const facade = v._getReadOnlyFacade();
512
- if (!facade) continue;
513
- const gctx = { existing: before, vault: facade, userId: v.userId, role: v.role };
514
- try {
515
- await registry.runChecks(op.collectionName, after, gctx);
516
- const { GuardExecutor: GuardExecutor2 } = await Promise.resolve().then(() => (init_executor(), executor_exports));
517
- for (const g of guards) {
518
- await GuardExecutor2.checkFrozenFields(g, op.id, before, after);
519
- }
520
- } catch (err) {
521
- guardViolations.push({
522
- vault: op.vaultName,
523
- collection: op.collectionName,
524
- docId: op.id,
525
- message: err instanceof Error ? err.message : String(err)
526
- });
527
- }
528
- }
529
- return { affected, guardViolations };
530
- }
531
-
532
- // src/tx/active.ts
533
- function withTransactions() {
534
- return { runTransaction, runDryRun };
535
- }
536
- // Annotate the CommonJS export names for ESM import in node:
537
- 0 && (module.exports = {
538
- TxCollection,
539
- TxContext,
540
- TxVault,
541
- runTransaction,
542
- withTransactions
543
- });
544
- //# sourceMappingURL=index.cjs.map