@noy-db/hub 0.3.0 → 0.4.0-pre.1

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 (375) hide show
  1. package/dist/aggregate/index.js +4 -4
  2. package/dist/api-IQFZJSQO.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/{backup-BJ57IKAO.js → backup-LU2DTZTI.js} +11 -11
  6. package/dist/blobs/index.js +12 -12
  7. package/dist/broker/index.js +12 -12
  8. package/dist/bundle/index.js +26 -74
  9. package/dist/bundle/index.js.map +1 -1
  10. package/dist/by/index.js +2 -2
  11. package/dist/cargo/index.js +41 -22
  12. package/dist/chunk-2IALOXZS.js +24 -0
  13. package/dist/chunk-2IALOXZS.js.map +1 -0
  14. package/dist/{chunk-EVVGJDRQ.js → chunk-2MUZ3LY6.js} +3 -3
  15. package/dist/{chunk-NWSGI5C7.js → chunk-2P7EGNKF.js} +3 -3
  16. package/dist/{chunk-ZAJAVEXY.js → chunk-2PCAVW2I.js} +2 -2
  17. package/dist/{chunk-HTJQYHZP.js → chunk-3ELCWU56.js} +2 -2
  18. package/dist/{chunk-X7QBD67R.js → chunk-3PF6CRDT.js} +136 -114
  19. package/dist/chunk-3PF6CRDT.js.map +1 -0
  20. package/dist/{chunk-J2ZX2XUV.js → chunk-3SV2EPMN.js} +5 -5
  21. package/dist/{chunk-FUG4SFN3.js → chunk-3U3FBR7O.js} +2 -2
  22. package/dist/{chunk-VFUPHI2Z.js → chunk-4BRCIYFG.js} +6 -6
  23. package/dist/{chunk-SNZ6URZZ.js → chunk-5OI6BR4H.js} +7 -7
  24. package/dist/{chunk-B3HJYUOF.js → chunk-5WZXVULX.js} +2 -2
  25. package/dist/{chunk-LASZKVMO.js → chunk-6B4DYGWO.js} +3 -3
  26. package/dist/{chunk-ZJ2AK4V7.js → chunk-6HPG2YNX.js} +2 -2
  27. package/dist/{chunk-5M5DVGV7.js → chunk-6HY2X62D.js} +2 -2
  28. package/dist/{chunk-QRB7NAOJ.js → chunk-6NQMXTYC.js} +2 -2
  29. package/dist/{chunk-RIX4V2TB.js → chunk-6XE5TMPR.js} +3 -3
  30. package/dist/{chunk-BDVFPG6Y.js → chunk-7CI6CP7Z.js} +5 -5
  31. package/dist/{chunk-VLFCJYTL.js → chunk-7O3AYBC7.js} +63 -10
  32. package/dist/chunk-7O3AYBC7.js.map +1 -0
  33. package/dist/{chunk-454JXE57.js → chunk-A5BDDEXK.js} +10 -170
  34. package/dist/chunk-A5BDDEXK.js.map +1 -0
  35. package/dist/{chunk-FHS2HQSH.js → chunk-A7JJLVGH.js} +11 -8
  36. package/dist/chunk-A7JJLVGH.js.map +1 -0
  37. package/dist/{chunk-FM3G3NOY.js → chunk-BGK233EA.js} +83 -6
  38. package/dist/chunk-BGK233EA.js.map +1 -0
  39. package/dist/{chunk-OSDB5WW3.js → chunk-BMQWTQZ4.js} +11 -11
  40. package/dist/{chunk-W22IKJE2.js → chunk-BOKIKJJB.js} +2 -2
  41. package/dist/{chunk-CRI4OUV4.js → chunk-CBSY2N76.js} +2 -2
  42. package/dist/{chunk-2NVOWNI3.js → chunk-CCOP5XDW.js} +4 -4
  43. package/dist/{chunk-CDUQTA3Z.js → chunk-DDATL6PU.js} +7 -7
  44. package/dist/{chunk-RCVJZMFE.js → chunk-DDHM2TLX.js} +4 -4
  45. package/dist/{chunk-PN2XMATY.js → chunk-DRWBEDYO.js} +2 -2
  46. package/dist/{chunk-XDYREZWE.js → chunk-DVUZMT2W.js} +12 -8
  47. package/dist/{chunk-XDYREZWE.js.map → chunk-DVUZMT2W.js.map} +1 -1
  48. package/dist/{chunk-T2FFWNPK.js → chunk-EGCRBCNA.js} +3 -3
  49. package/dist/{chunk-VZRODIM3.js → chunk-F6T6L2UK.js} +4 -4
  50. package/dist/chunk-FH52K7EG.js +50 -0
  51. package/dist/chunk-FH52K7EG.js.map +1 -0
  52. package/dist/{chunk-EXK7QRWF.js → chunk-G6EQYAL6.js} +5 -5
  53. package/dist/{chunk-F64IRYG3.js → chunk-GQNGCEP5.js} +2 -2
  54. package/dist/{chunk-6JTIAGHD.js → chunk-GULTLPFB.js} +3 -3
  55. package/dist/chunk-GULTLPFB.js.map +1 -0
  56. package/dist/{chunk-ZUODRVHY.js → chunk-GVZQ4NAM.js} +2 -2
  57. package/dist/{chunk-3B5VVCNY.js → chunk-GWKAVKHI.js} +2 -2
  58. package/dist/{chunk-SLFHQTTW.js → chunk-GYYCX5K6.js} +5 -5
  59. package/dist/{chunk-CIE2BASH.js → chunk-HOONYZY2.js} +2 -2
  60. package/dist/{chunk-EYZ6IQ6X.js → chunk-HPUWOVR7.js} +5 -5
  61. package/dist/{chunk-IL6POWCW.js → chunk-IM3QVF53.js} +6 -6
  62. package/dist/{chunk-NJ4EOKMB.js → chunk-IRQY7IR5.js} +4 -4
  63. package/dist/{chunk-3QCRBHCY.js → chunk-ISMV2QVG.js} +2 -2
  64. package/dist/{chunk-HB3RFQSC.js → chunk-IY23KFNZ.js} +3 -3
  65. package/dist/chunk-J6Q7UVQE.js +248 -0
  66. package/dist/chunk-J6Q7UVQE.js.map +1 -0
  67. package/dist/{chunk-6CRIV7DE.js → chunk-JBBSYJHP.js} +2 -2
  68. package/dist/{chunk-MEFJPTZ4.js → chunk-JRBNCUNT.js} +3 -3
  69. package/dist/{chunk-4VNQOLML.js → chunk-JVBO4SZL.js} +2 -2
  70. package/dist/{chunk-I6GALP6E.js → chunk-JZWWLLVY.js} +6 -6
  71. package/dist/{chunk-RYCTDFUX.js → chunk-KUIB4B5Q.js} +2 -2
  72. package/dist/{chunk-HDQIIUPH.js → chunk-KUPKLSX5.js} +3 -3
  73. package/dist/{chunk-5O3XF4DV.js → chunk-KWVJAOIN.js} +4 -4
  74. package/dist/{chunk-3LQ2YKO4.js → chunk-LB6OH6K2.js} +2 -2
  75. package/dist/{chunk-AUSTCW2X.js → chunk-LOF2W3JU.js} +8 -8
  76. package/dist/{chunk-JNAI2HN2.js → chunk-LSASLXGC.js} +1 -1
  77. package/dist/chunk-LSASLXGC.js.map +1 -0
  78. package/dist/{chunk-K5IMOGHB.js → chunk-M75ZZHSR.js} +2 -2
  79. package/dist/{chunk-GTGPO5KW.js → chunk-MQ6WOPSY.js} +5 -5
  80. package/dist/{chunk-4CTHCN4J.js → chunk-MTQPRQHB.js} +4 -4
  81. package/dist/{chunk-UNFPPVNI.js → chunk-N55W7KUL.js} +2 -2
  82. package/dist/{chunk-JKJOGPZN.js → chunk-N6WF5PKC.js} +2 -2
  83. package/dist/{chunk-6T2SCQRU.js → chunk-O7WJ47EF.js} +4 -4
  84. package/dist/{chunk-JIF24JPM.js → chunk-OF75ACKS.js} +9 -9
  85. package/dist/{chunk-GKEWXIV5.js → chunk-ONTBCHCP.js} +2 -2
  86. package/dist/{chunk-4JBYV75E.js → chunk-PK6QCH2C.js} +5 -5
  87. package/dist/{chunk-6QTNZJBS.js → chunk-PT37L5DV.js} +3 -3
  88. package/dist/{chunk-EVX47VBM.js → chunk-QDPZWTN2.js} +2 -2
  89. package/dist/chunk-RA5VTXXG.js +173 -0
  90. package/dist/chunk-RA5VTXXG.js.map +1 -0
  91. package/dist/{chunk-QLWMEXCT.js → chunk-RDXW3OBQ.js} +2 -2
  92. package/dist/{chunk-Q5VNKNE5.js → chunk-RM2XV574.js} +3 -3
  93. package/dist/{chunk-ERJ7FU55.js → chunk-RND5ZPNP.js} +3 -3
  94. package/dist/{chunk-JZUV47FZ.js → chunk-RTEK4C4I.js} +2 -2
  95. package/dist/{chunk-KSKBRKGJ.js → chunk-S3BFKGET.js} +84 -6
  96. package/dist/chunk-S3BFKGET.js.map +1 -0
  97. package/dist/{chunk-5YOLBEQ6.js → chunk-S6Q37VGE.js} +2 -2
  98. package/dist/{chunk-HDMEGAQE.js → chunk-SMGEYW6G.js} +127 -8
  99. package/dist/chunk-SMGEYW6G.js.map +1 -0
  100. package/dist/{chunk-E5ZQT5KX.js → chunk-SMIRGMS7.js} +2 -2
  101. package/dist/chunk-T36RFODW.js +180 -0
  102. package/dist/chunk-T36RFODW.js.map +1 -0
  103. package/dist/{chunk-EQO2UVP4.js → chunk-T6GU5PPZ.js} +6 -6
  104. package/dist/{chunk-LXEXBTKL.js → chunk-TAGR72IR.js} +4 -4
  105. package/dist/{chunk-YFXZEAYK.js → chunk-TOPYT5U5.js} +6 -6
  106. package/dist/{chunk-MV43JSJF.js → chunk-UBNCR3YK.js} +4 -4
  107. package/dist/{chunk-ZICD77GM.js → chunk-UC2ETWF3.js} +2 -2
  108. package/dist/{chunk-XWZVFISC.js → chunk-UFEVO57O.js} +6 -6
  109. package/dist/{chunk-NR5LT5RY.js → chunk-UNCOC7QH.js} +7 -7
  110. package/dist/{chunk-R4ROFEYC.js → chunk-VAIS3SOM.js} +2 -2
  111. package/dist/{chunk-VN3DBQAU.js → chunk-VCBHAE4R.js} +2 -2
  112. package/dist/{chunk-M4CV6BRT.js → chunk-VEALDPHW.js} +2 -2
  113. package/dist/{chunk-BIOUI4HL.js → chunk-W2OG6JOL.js} +1 -1
  114. package/dist/{chunk-BIOUI4HL.js.map → chunk-W2OG6JOL.js.map} +1 -1
  115. package/dist/{chunk-7DSTRQIJ.js → chunk-WEYZTLXN.js} +2 -2
  116. package/dist/{chunk-CAF6WOK7.js → chunk-WNGGJWF7.js} +2 -2
  117. package/dist/{chunk-IU6SNYX6.js → chunk-YJV2UZ7H.js} +5 -5
  118. package/dist/{chunk-RZ5SVOYR.js → chunk-YTGDPCPW.js} +2 -2
  119. package/dist/{chunk-DLG74CNB.js → chunk-ZEQWCBCM.js} +7 -19
  120. package/dist/chunk-ZEQWCBCM.js.map +1 -0
  121. package/dist/classified/index.js +5 -5
  122. package/dist/{classified-marker-CZKA6ITE.js → classified-marker-WQVIJAW2.js} +3 -3
  123. package/dist/collection-facade-MJXSC3Q6.js +44 -0
  124. package/dist/{computed-ZIQTYTDI.js → computed-DSMPXG2Y.js} +3 -3
  125. package/dist/consent/index.js +9 -9
  126. package/dist/{public-envelope-B4KNWVUA.js → cover-B5SJDHR3.js} +25 -5
  127. package/dist/{dead-filter-ESOBZZP5.js → dead-filter-2A7IAJ3D.js} +2 -2
  128. package/dist/delegation-A5A75KQO.js +25 -0
  129. package/dist/derivations/index.js +12 -12
  130. package/dist/derive-HJSMH7RA.js +21 -0
  131. package/dist/{enclave-AP3I5W7O.js → enclave-7MW6ZGXW.js} +11 -9
  132. package/dist/executor-AXE4XMLT.js +26 -0
  133. package/dist/executor-KGNLJD6M.js +9 -0
  134. package/dist/executor-XGIS6CR7.js +9 -0
  135. package/dist/export-accessible-VVBJM3MM.js +23 -0
  136. package/dist/extract-partition-LGGBTQET.js +38 -0
  137. package/dist/{fanout-sidecar-A765THMX.js → fanout-sidecar-WDYQ77VB.js} +9 -9
  138. package/dist/find-YS6XWB46.js +11 -0
  139. package/dist/forget/index.js +9 -9
  140. package/dist/guards/index.js +6 -6
  141. package/dist/history/index.js +12 -12
  142. package/dist/i18n/index.js +14 -14
  143. package/dist/index.d.ts +6 -3
  144. package/dist/index.js +140 -117
  145. package/dist/index.js.map +1 -1
  146. package/dist/indexing/index.js +2 -2
  147. package/dist/issue-LSR5PS6H.js +19 -0
  148. package/dist/kernel/enclave/index.d.ts +1 -1
  149. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +8 -0
  150. package/dist/kernel/errors.d.ts +10 -5
  151. package/dist/kernel/noydb.d.ts +21 -11
  152. package/dist/kernel/types.d.ts +53 -6
  153. package/dist/kernel/vault.d.ts +10 -6
  154. package/dist/{ledger-GFBKVPV4.js → ledger-33BC4TR7.js} +11 -11
  155. package/dist/liberate-GBSAYLPJ.js +24 -0
  156. package/dist/{link-set-Z7Q2ASFX.js → link-set-QK22TDEX.js} +11 -11
  157. package/dist/materialized-views/index.js +19 -18
  158. package/dist/noydb-MTUBMWFE.js +70 -0
  159. package/dist/on/index.js +9 -9
  160. package/dist/overlay-views/index.js +4 -4
  161. package/dist/periods/index.js +19 -17
  162. package/dist/pod/index.js +13 -11
  163. package/dist/{policy-Z3RUAIY2.js → policy-NAHB2TUT.js} +5 -5
  164. package/dist/portability/index.js +8 -8
  165. package/dist/{post-register-JTH76BLY.js → post-register-JVTMJ6OW.js} +6 -6
  166. package/dist/query/index.js +10 -8
  167. package/dist/register-X462DNDM.js +23 -0
  168. package/dist/registry-3XMCT7MQ.js +18 -0
  169. package/dist/registry-KHD2I3M2.js +19 -0
  170. package/dist/registry-NPOWJHC4.js +9 -0
  171. package/dist/request-withdrawal-U7K3JTMY.js +31 -0
  172. package/dist/{reveal-DIBHLUZX.js → reveal-LGBOM2BO.js} +6 -6
  173. package/dist/revoke-OCWDSWRQ.js +24 -0
  174. package/dist/satellites/index.js +1 -1
  175. package/dist/sealed-record/index.js +12 -12
  176. package/dist/{seed-Q6M2IZFL.js → seed-PWK45HDF.js} +11 -11
  177. package/dist/session/index.js +9 -9
  178. package/dist/shadow/index.js +2 -2
  179. package/dist/share-link/index.d.ts +19 -0
  180. package/dist/share-link/index.js +201 -0
  181. package/dist/share-link/index.js.map +1 -0
  182. package/dist/share-link/share-link.d.ts +123 -0
  183. package/dist/signer-3YFBLZRN.js +25 -0
  184. package/dist/snapshots/index.js +10 -10
  185. package/dist/{stale-OSQ7J3AA.js → stale-FJED42DM.js} +10 -10
  186. package/dist/storage-W3GURVFU.js +23 -0
  187. package/dist/{store-coordination-provider-64OEZFGS.js → store-coordination-provider-APODTV4W.js} +3 -3
  188. package/dist/sync/index.js +10 -9
  189. package/dist/sync/index.js.map +1 -1
  190. package/dist/team/index.js +16 -15
  191. package/dist/tiers/index.js +10 -10
  192. package/dist/to/index.js +1 -1
  193. package/dist/tx/index.js +3 -3
  194. package/dist/util/index.js +1 -1
  195. package/dist/{verify-ZASTRNPR.js → verify-26Y5GNMK.js} +5 -5
  196. package/dist/via/i18n/policy.d.ts +1 -1
  197. package/dist/{walk-SVNDIZ62.js → walk-XS3PKM6I.js} +11 -11
  198. package/dist/with/index.js +11 -11
  199. package/dist/with-audit/periods/periods.d.ts +1 -16
  200. package/dist/with-audit/periods/window.d.ts +16 -0
  201. package/dist/with-cargo/index.d.ts +6 -0
  202. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +15 -0
  203. package/dist/with-formula/materialized-views/index.d.ts +1 -1
  204. package/dist/with-formula/materialized-views/registry.d.ts +29 -0
  205. package/dist/with-formula/materialized-views/types.d.ts +81 -0
  206. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +9 -5
  207. package/dist/with-party/directory/cover/custom.d.ts +34 -0
  208. package/dist/with-party/directory/cover/index.d.ts +19 -0
  209. package/dist/with-party/directory/cover/schema.d.ts +39 -0
  210. package/dist/with-party/directory/cover/storage.d.ts +71 -0
  211. package/dist/with-party/directory/cover/types.d.ts +149 -0
  212. package/dist/with-party/team/noydb-facade.d.ts +1 -1
  213. package/dist/with-party/team/sync-period-scope.d.ts +78 -0
  214. package/dist/with-party/team/sync.d.ts +13 -0
  215. package/dist/with-pod/bundle.d.ts +9 -7
  216. package/dist/with-pod/format.d.ts +8 -4
  217. package/dist/with-pod/index.d.ts +2 -1
  218. package/dist/withdraw-accessible-Y3B2535F.js +28 -0
  219. package/package.json +7 -3
  220. package/dist/api-ZGS6LCOF.js +0 -20
  221. package/dist/chunk-454JXE57.js.map +0 -1
  222. package/dist/chunk-4NXKCLLQ.js +0 -97
  223. package/dist/chunk-4NXKCLLQ.js.map +0 -1
  224. package/dist/chunk-6JTIAGHD.js.map +0 -1
  225. package/dist/chunk-DLG74CNB.js.map +0 -1
  226. package/dist/chunk-FHS2HQSH.js.map +0 -1
  227. package/dist/chunk-FM3G3NOY.js.map +0 -1
  228. package/dist/chunk-HDMEGAQE.js.map +0 -1
  229. package/dist/chunk-JNAI2HN2.js.map +0 -1
  230. package/dist/chunk-KSKBRKGJ.js.map +0 -1
  231. package/dist/chunk-VLFCJYTL.js.map +0 -1
  232. package/dist/chunk-WXSYDNBT.js +0 -39
  233. package/dist/chunk-WXSYDNBT.js.map +0 -1
  234. package/dist/chunk-X3YYQWOQ.js +0 -155
  235. package/dist/chunk-X3YYQWOQ.js.map +0 -1
  236. package/dist/chunk-X7QBD67R.js.map +0 -1
  237. package/dist/collection-facade-TLWIPI76.js +0 -44
  238. package/dist/delegation-W7ZV2322.js +0 -25
  239. package/dist/derive-H2BJTLUI.js +0 -21
  240. package/dist/executor-KGWTNEQD.js +0 -9
  241. package/dist/executor-OVEXR6RT.js +0 -9
  242. package/dist/executor-UNEH5ZYH.js +0 -25
  243. package/dist/export-accessible-PCMXSUZS.js +0 -23
  244. package/dist/extract-partition-SWHFSYJO.js +0 -38
  245. package/dist/find-N6345CNT.js +0 -11
  246. package/dist/issue-5OKB6I2R.js +0 -19
  247. package/dist/liberate-3VDOT4KO.js +0 -24
  248. package/dist/noydb-ZCJOYBDI.js +0 -68
  249. package/dist/register-VAHONCID.js +0 -23
  250. package/dist/registry-7MLVD3VO.js +0 -19
  251. package/dist/registry-EPKPD5SM.js +0 -18
  252. package/dist/registry-P5T7PS2U.js +0 -9
  253. package/dist/request-withdrawal-TI3A5WPS.js +0 -31
  254. package/dist/revoke-FDRD6GRW.js +0 -24
  255. package/dist/signer-MUWEIUI6.js +0 -25
  256. package/dist/storage-MVFCGEQE.js +0 -23
  257. package/dist/with-party/directory/public-envelope/index.d.ts +0 -12
  258. package/dist/with-party/directory/public-envelope/schema.d.ts +0 -24
  259. package/dist/with-party/directory/public-envelope/storage.d.ts +0 -59
  260. package/dist/with-party/directory/public-envelope/types.d.ts +0 -80
  261. package/dist/withdraw-accessible-WZIEVWSR.js +0 -28
  262. /package/dist/{api-ZGS6LCOF.js.map → api-IQFZJSQO.js.map} +0 -0
  263. /package/dist/{backup-BJ57IKAO.js.map → backup-LU2DTZTI.js.map} +0 -0
  264. /package/dist/{chunk-EVVGJDRQ.js.map → chunk-2MUZ3LY6.js.map} +0 -0
  265. /package/dist/{chunk-NWSGI5C7.js.map → chunk-2P7EGNKF.js.map} +0 -0
  266. /package/dist/{chunk-ZAJAVEXY.js.map → chunk-2PCAVW2I.js.map} +0 -0
  267. /package/dist/{chunk-HTJQYHZP.js.map → chunk-3ELCWU56.js.map} +0 -0
  268. /package/dist/{chunk-J2ZX2XUV.js.map → chunk-3SV2EPMN.js.map} +0 -0
  269. /package/dist/{chunk-FUG4SFN3.js.map → chunk-3U3FBR7O.js.map} +0 -0
  270. /package/dist/{chunk-VFUPHI2Z.js.map → chunk-4BRCIYFG.js.map} +0 -0
  271. /package/dist/{chunk-SNZ6URZZ.js.map → chunk-5OI6BR4H.js.map} +0 -0
  272. /package/dist/{chunk-B3HJYUOF.js.map → chunk-5WZXVULX.js.map} +0 -0
  273. /package/dist/{chunk-LASZKVMO.js.map → chunk-6B4DYGWO.js.map} +0 -0
  274. /package/dist/{chunk-ZJ2AK4V7.js.map → chunk-6HPG2YNX.js.map} +0 -0
  275. /package/dist/{chunk-5M5DVGV7.js.map → chunk-6HY2X62D.js.map} +0 -0
  276. /package/dist/{chunk-QRB7NAOJ.js.map → chunk-6NQMXTYC.js.map} +0 -0
  277. /package/dist/{chunk-RIX4V2TB.js.map → chunk-6XE5TMPR.js.map} +0 -0
  278. /package/dist/{chunk-BDVFPG6Y.js.map → chunk-7CI6CP7Z.js.map} +0 -0
  279. /package/dist/{chunk-OSDB5WW3.js.map → chunk-BMQWTQZ4.js.map} +0 -0
  280. /package/dist/{chunk-W22IKJE2.js.map → chunk-BOKIKJJB.js.map} +0 -0
  281. /package/dist/{chunk-CRI4OUV4.js.map → chunk-CBSY2N76.js.map} +0 -0
  282. /package/dist/{chunk-2NVOWNI3.js.map → chunk-CCOP5XDW.js.map} +0 -0
  283. /package/dist/{chunk-CDUQTA3Z.js.map → chunk-DDATL6PU.js.map} +0 -0
  284. /package/dist/{chunk-RCVJZMFE.js.map → chunk-DDHM2TLX.js.map} +0 -0
  285. /package/dist/{chunk-PN2XMATY.js.map → chunk-DRWBEDYO.js.map} +0 -0
  286. /package/dist/{chunk-T2FFWNPK.js.map → chunk-EGCRBCNA.js.map} +0 -0
  287. /package/dist/{chunk-VZRODIM3.js.map → chunk-F6T6L2UK.js.map} +0 -0
  288. /package/dist/{chunk-EXK7QRWF.js.map → chunk-G6EQYAL6.js.map} +0 -0
  289. /package/dist/{chunk-F64IRYG3.js.map → chunk-GQNGCEP5.js.map} +0 -0
  290. /package/dist/{chunk-ZUODRVHY.js.map → chunk-GVZQ4NAM.js.map} +0 -0
  291. /package/dist/{chunk-3B5VVCNY.js.map → chunk-GWKAVKHI.js.map} +0 -0
  292. /package/dist/{chunk-SLFHQTTW.js.map → chunk-GYYCX5K6.js.map} +0 -0
  293. /package/dist/{chunk-CIE2BASH.js.map → chunk-HOONYZY2.js.map} +0 -0
  294. /package/dist/{chunk-EYZ6IQ6X.js.map → chunk-HPUWOVR7.js.map} +0 -0
  295. /package/dist/{chunk-IL6POWCW.js.map → chunk-IM3QVF53.js.map} +0 -0
  296. /package/dist/{chunk-NJ4EOKMB.js.map → chunk-IRQY7IR5.js.map} +0 -0
  297. /package/dist/{chunk-3QCRBHCY.js.map → chunk-ISMV2QVG.js.map} +0 -0
  298. /package/dist/{chunk-HB3RFQSC.js.map → chunk-IY23KFNZ.js.map} +0 -0
  299. /package/dist/{chunk-6CRIV7DE.js.map → chunk-JBBSYJHP.js.map} +0 -0
  300. /package/dist/{chunk-MEFJPTZ4.js.map → chunk-JRBNCUNT.js.map} +0 -0
  301. /package/dist/{chunk-4VNQOLML.js.map → chunk-JVBO4SZL.js.map} +0 -0
  302. /package/dist/{chunk-I6GALP6E.js.map → chunk-JZWWLLVY.js.map} +0 -0
  303. /package/dist/{chunk-RYCTDFUX.js.map → chunk-KUIB4B5Q.js.map} +0 -0
  304. /package/dist/{chunk-HDQIIUPH.js.map → chunk-KUPKLSX5.js.map} +0 -0
  305. /package/dist/{chunk-5O3XF4DV.js.map → chunk-KWVJAOIN.js.map} +0 -0
  306. /package/dist/{chunk-3LQ2YKO4.js.map → chunk-LB6OH6K2.js.map} +0 -0
  307. /package/dist/{chunk-AUSTCW2X.js.map → chunk-LOF2W3JU.js.map} +0 -0
  308. /package/dist/{chunk-K5IMOGHB.js.map → chunk-M75ZZHSR.js.map} +0 -0
  309. /package/dist/{chunk-GTGPO5KW.js.map → chunk-MQ6WOPSY.js.map} +0 -0
  310. /package/dist/{chunk-4CTHCN4J.js.map → chunk-MTQPRQHB.js.map} +0 -0
  311. /package/dist/{chunk-UNFPPVNI.js.map → chunk-N55W7KUL.js.map} +0 -0
  312. /package/dist/{chunk-JKJOGPZN.js.map → chunk-N6WF5PKC.js.map} +0 -0
  313. /package/dist/{chunk-6T2SCQRU.js.map → chunk-O7WJ47EF.js.map} +0 -0
  314. /package/dist/{chunk-JIF24JPM.js.map → chunk-OF75ACKS.js.map} +0 -0
  315. /package/dist/{chunk-GKEWXIV5.js.map → chunk-ONTBCHCP.js.map} +0 -0
  316. /package/dist/{chunk-4JBYV75E.js.map → chunk-PK6QCH2C.js.map} +0 -0
  317. /package/dist/{chunk-6QTNZJBS.js.map → chunk-PT37L5DV.js.map} +0 -0
  318. /package/dist/{chunk-EVX47VBM.js.map → chunk-QDPZWTN2.js.map} +0 -0
  319. /package/dist/{chunk-QLWMEXCT.js.map → chunk-RDXW3OBQ.js.map} +0 -0
  320. /package/dist/{chunk-Q5VNKNE5.js.map → chunk-RM2XV574.js.map} +0 -0
  321. /package/dist/{chunk-ERJ7FU55.js.map → chunk-RND5ZPNP.js.map} +0 -0
  322. /package/dist/{chunk-JZUV47FZ.js.map → chunk-RTEK4C4I.js.map} +0 -0
  323. /package/dist/{chunk-5YOLBEQ6.js.map → chunk-S6Q37VGE.js.map} +0 -0
  324. /package/dist/{chunk-E5ZQT5KX.js.map → chunk-SMIRGMS7.js.map} +0 -0
  325. /package/dist/{chunk-EQO2UVP4.js.map → chunk-T6GU5PPZ.js.map} +0 -0
  326. /package/dist/{chunk-LXEXBTKL.js.map → chunk-TAGR72IR.js.map} +0 -0
  327. /package/dist/{chunk-YFXZEAYK.js.map → chunk-TOPYT5U5.js.map} +0 -0
  328. /package/dist/{chunk-MV43JSJF.js.map → chunk-UBNCR3YK.js.map} +0 -0
  329. /package/dist/{chunk-ZICD77GM.js.map → chunk-UC2ETWF3.js.map} +0 -0
  330. /package/dist/{chunk-XWZVFISC.js.map → chunk-UFEVO57O.js.map} +0 -0
  331. /package/dist/{chunk-NR5LT5RY.js.map → chunk-UNCOC7QH.js.map} +0 -0
  332. /package/dist/{chunk-R4ROFEYC.js.map → chunk-VAIS3SOM.js.map} +0 -0
  333. /package/dist/{chunk-VN3DBQAU.js.map → chunk-VCBHAE4R.js.map} +0 -0
  334. /package/dist/{chunk-M4CV6BRT.js.map → chunk-VEALDPHW.js.map} +0 -0
  335. /package/dist/{chunk-7DSTRQIJ.js.map → chunk-WEYZTLXN.js.map} +0 -0
  336. /package/dist/{chunk-CAF6WOK7.js.map → chunk-WNGGJWF7.js.map} +0 -0
  337. /package/dist/{chunk-IU6SNYX6.js.map → chunk-YJV2UZ7H.js.map} +0 -0
  338. /package/dist/{chunk-RZ5SVOYR.js.map → chunk-YTGDPCPW.js.map} +0 -0
  339. /package/dist/{classified-marker-CZKA6ITE.js.map → classified-marker-WQVIJAW2.js.map} +0 -0
  340. /package/dist/{collection-facade-TLWIPI76.js.map → collection-facade-MJXSC3Q6.js.map} +0 -0
  341. /package/dist/{computed-ZIQTYTDI.js.map → computed-DSMPXG2Y.js.map} +0 -0
  342. /package/dist/{delegation-W7ZV2322.js.map → cover-B5SJDHR3.js.map} +0 -0
  343. /package/dist/{dead-filter-ESOBZZP5.js.map → dead-filter-2A7IAJ3D.js.map} +0 -0
  344. /package/dist/{derive-H2BJTLUI.js.map → delegation-A5A75KQO.js.map} +0 -0
  345. /package/dist/{enclave-AP3I5W7O.js.map → derive-HJSMH7RA.js.map} +0 -0
  346. /package/dist/{executor-KGWTNEQD.js.map → enclave-7MW6ZGXW.js.map} +0 -0
  347. /package/dist/{executor-OVEXR6RT.js.map → executor-AXE4XMLT.js.map} +0 -0
  348. /package/dist/{executor-UNEH5ZYH.js.map → executor-KGNLJD6M.js.map} +0 -0
  349. /package/dist/{export-accessible-PCMXSUZS.js.map → executor-XGIS6CR7.js.map} +0 -0
  350. /package/dist/{extract-partition-SWHFSYJO.js.map → export-accessible-VVBJM3MM.js.map} +0 -0
  351. /package/dist/{find-N6345CNT.js.map → extract-partition-LGGBTQET.js.map} +0 -0
  352. /package/dist/{fanout-sidecar-A765THMX.js.map → fanout-sidecar-WDYQ77VB.js.map} +0 -0
  353. /package/dist/{issue-5OKB6I2R.js.map → find-YS6XWB46.js.map} +0 -0
  354. /package/dist/{ledger-GFBKVPV4.js.map → issue-LSR5PS6H.js.map} +0 -0
  355. /package/dist/{liberate-3VDOT4KO.js.map → ledger-33BC4TR7.js.map} +0 -0
  356. /package/dist/{link-set-Z7Q2ASFX.js.map → liberate-GBSAYLPJ.js.map} +0 -0
  357. /package/dist/{noydb-ZCJOYBDI.js.map → link-set-QK22TDEX.js.map} +0 -0
  358. /package/dist/{policy-Z3RUAIY2.js.map → noydb-MTUBMWFE.js.map} +0 -0
  359. /package/dist/{public-envelope-B4KNWVUA.js.map → policy-NAHB2TUT.js.map} +0 -0
  360. /package/dist/{post-register-JTH76BLY.js.map → post-register-JVTMJ6OW.js.map} +0 -0
  361. /package/dist/{register-VAHONCID.js.map → register-X462DNDM.js.map} +0 -0
  362. /package/dist/{registry-7MLVD3VO.js.map → registry-3XMCT7MQ.js.map} +0 -0
  363. /package/dist/{registry-EPKPD5SM.js.map → registry-KHD2I3M2.js.map} +0 -0
  364. /package/dist/{registry-P5T7PS2U.js.map → registry-NPOWJHC4.js.map} +0 -0
  365. /package/dist/{request-withdrawal-TI3A5WPS.js.map → request-withdrawal-U7K3JTMY.js.map} +0 -0
  366. /package/dist/{reveal-DIBHLUZX.js.map → reveal-LGBOM2BO.js.map} +0 -0
  367. /package/dist/{revoke-FDRD6GRW.js.map → revoke-OCWDSWRQ.js.map} +0 -0
  368. /package/dist/{seed-Q6M2IZFL.js.map → seed-PWK45HDF.js.map} +0 -0
  369. /package/dist/{signer-MUWEIUI6.js.map → signer-3YFBLZRN.js.map} +0 -0
  370. /package/dist/{stale-OSQ7J3AA.js.map → stale-FJED42DM.js.map} +0 -0
  371. /package/dist/{storage-MVFCGEQE.js.map → storage-W3GURVFU.js.map} +0 -0
  372. /package/dist/{store-coordination-provider-64OEZFGS.js.map → store-coordination-provider-APODTV4W.js.map} +0 -0
  373. /package/dist/{verify-ZASTRNPR.js.map → verify-26Y5GNMK.js.map} +0 -0
  374. /package/dist/{walk-SVNDIZ62.js.map → walk-XS3PKM6I.js.map} +0 -0
  375. /package/dist/{withdraw-accessible-WZIEVWSR.js.map → withdraw-accessible-Y3B2535F.js.map} +0 -0
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Cover — owner-curated plaintext metadata, readable before vault
3
+ * unlock or bundle decryption. Like a book's cover: title, cover
4
+ * art, back-cover blurb — readable on the shelf without opening
5
+ * the book, and never trusted as the book's contents.
6
+ *
7
+ * (Formerly "public envelope" — the wire keeps that name: the
8
+ * record still lives at `_meta/public-envelope` and carries the
9
+ * `_noydb_public: 1` discriminator.)
10
+ *
11
+ * @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
12
+ *
13
+ * @module
14
+ */
15
+ /**
16
+ * Either a single string (used when the developer's app is
17
+ * single-locale) or a locale → string map for i18n. Mirrors the
18
+ * shape `@noy-db/hub/i18n` already uses for record fields, so the
19
+ * existing `resolveI18nText` resolver applies.
20
+ */
21
+ export type CoverText = string | Record<string, string>;
22
+ /**
23
+ * A JSON-serializable value — what a `custom` namespace payload may
24
+ * hold. No functions, `undefined`, symbols, bigints, or cycles; the
25
+ * validator additionally caps nesting depth at 8 levels.
26
+ */
27
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
28
+ [key: string]: JsonValue;
29
+ };
30
+ /**
31
+ * Persisted shape — both `_meta/public-envelope` (the frozen wire
32
+ * name) and the bundle header carry this. The version number is
33
+ * monotonic per vault and helps cache invalidators detect change
34
+ * without hashing the JSON.
35
+ */
36
+ export interface Cover {
37
+ readonly _noydb_public: 1;
38
+ readonly version: number;
39
+ readonly name?: CoverText;
40
+ readonly description?: CoverText;
41
+ /** Inline `data:` URL (`data:image/png;base64,…` or `data:image/svg+xml;base64,…`). */
42
+ readonly icon?: string;
43
+ /** ISO-8601 timestamp; auto-set on first cover write, immutable thereafter. */
44
+ readonly createdAt?: string;
45
+ /** ISO-8601 timestamp; auto-updated on every `setCover` call. */
46
+ readonly updatedAt?: string;
47
+ /** BCP-47 fallback locale for renderers when the user's locale isn't covered. */
48
+ readonly defaultLocale?: string;
49
+ /**
50
+ * Namespaced integrator slot (#800) — e.g.
51
+ * `{ 'noydb.viewer': { defaultCollection: 'invoices' } }`. Keys must
52
+ * be reverse-DNS / package-style (`noydb.viewer`, `com.acme.registry`).
53
+ * Like everything on the cover it is plaintext, public, and
54
+ * unauthenticated — payloads are hints, never authority. Opt-in:
55
+ * excluded from `DEFAULT_COVER_SCHEMA.fields`, so `cover: true`
56
+ * does NOT enable it.
57
+ */
58
+ readonly custom?: Record<string, JsonValue>;
59
+ }
60
+ /** Field names the developer can allow in `CoverSchema.fields`. */
61
+ export declare const COVER_FIELDS: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale", "custom"];
62
+ export type CoverField = (typeof COVER_FIELDS)[number];
63
+ /**
64
+ * Build-time schema. The developer enables the feature and bounds
65
+ * what the owner can set. `true` is shorthand for "all defaults" —
66
+ * gives the owner the full field set with the standard caps.
67
+ */
68
+ export interface CoverSchema {
69
+ /**
70
+ * Allowed field names. Setting `name`/`description`/`icon`/`defaultLocale` is
71
+ * gated on the field being listed here. `createdAt` / `updatedAt` are managed
72
+ * by the hub; including them is a no-op (the owner cannot set them
73
+ * directly). Default: every field above.
74
+ */
75
+ readonly fields?: ReadonlyArray<CoverField>;
76
+ /**
77
+ * Maximum icon size — measured as the length of the data-URL
78
+ * string. Default 256 KB.
79
+ */
80
+ readonly maxIconBytes?: number;
81
+ /** Allowed icon MIME types. Default ['image/png', 'image/svg+xml']. */
82
+ readonly iconMimeTypes?: ReadonlyArray<string>;
83
+ /** Maximum length of `name` / `description` per locale. Default 200. */
84
+ readonly maxStringChars?: number;
85
+ /**
86
+ * Maximum serialized size (`JSON.stringify` length) of the whole
87
+ * would-be-persisted `custom` object, measured AFTER the namespace
88
+ * patch merge. Default 8 KB.
89
+ */
90
+ readonly maxCustomBytes?: number;
91
+ /**
92
+ * Maximum serialized size of the ENTIRE would-be-persisted cover
93
+ * document. The consumer-protection cap — bounds what a pre-auth
94
+ * reader must fetch and parse, and closes the unbounded locale-map
95
+ * key-count hole for `name` / `description`. Default 300 KB
96
+ * (headroom over the 256 KB icon cap + text fields).
97
+ */
98
+ readonly maxCoverBytes?: number;
99
+ }
100
+ /**
101
+ * Default schema values; merged onto every developer-supplied schema.
102
+ * NOTE: `fields` is the six display fields, deliberately NOT
103
+ * {@link COVER_FIELDS} — the opt-in `'custom'` slot is excluded, so
104
+ * the `cover: true` shorthand never exposes it by accident.
105
+ */
106
+ export declare const DEFAULT_COVER_SCHEMA: {
107
+ readonly fields: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale"];
108
+ readonly maxIconBytes: number;
109
+ readonly iconMimeTypes: readonly ["image/png", "image/svg+xml"];
110
+ readonly maxStringChars: 200;
111
+ readonly maxCustomBytes: number;
112
+ readonly maxCoverBytes: number;
113
+ };
114
+ /** Resolved schema after merging developer override onto defaults. */
115
+ export interface ResolvedCoverSchema {
116
+ readonly fields: ReadonlyArray<CoverField>;
117
+ readonly maxIconBytes: number;
118
+ readonly iconMimeTypes: ReadonlyArray<string>;
119
+ readonly maxStringChars: number;
120
+ readonly maxCustomBytes: number;
121
+ readonly maxCoverBytes: number;
122
+ }
123
+ /**
124
+ * Merge developer schema onto the defaults. The shorthand `true`
125
+ * resolves to the full default schema; an explicit object only
126
+ * overrides the keys it provides.
127
+ */
128
+ export declare function resolveSchema(schema: true | CoverSchema | undefined): ResolvedCoverSchema | undefined;
129
+ /** @deprecated Use {@link Cover}. */
130
+ export type PublicEnvelope = Cover;
131
+ /** @deprecated Use {@link CoverText}. */
132
+ export type PublicEnvelopeText = CoverText;
133
+ /** @deprecated Use {@link CoverField}. */
134
+ export type PublicEnvelopeField = CoverField;
135
+ /** @deprecated Use {@link CoverSchema}. */
136
+ export type PublicEnvelopeSchema = CoverSchema;
137
+ /** @deprecated Use {@link ResolvedCoverSchema}. */
138
+ export type ResolvedPublicEnvelopeSchema = ResolvedCoverSchema;
139
+ /** @deprecated Use {@link COVER_FIELDS}. */
140
+ export declare const PUBLIC_ENVELOPE_FIELDS: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale", "custom"];
141
+ /** @deprecated Use {@link DEFAULT_COVER_SCHEMA}. */
142
+ export declare const DEFAULT_PUBLIC_ENVELOPE_SCHEMA: {
143
+ readonly fields: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale"];
144
+ readonly maxIconBytes: number;
145
+ readonly iconMimeTypes: readonly ["image/png", "image/svg+xml"];
146
+ readonly maxStringChars: 200;
147
+ readonly maxCustomBytes: number;
148
+ readonly maxCoverBytes: number;
149
+ };
@@ -161,7 +161,7 @@ export declare class TeamFacade {
161
161
  * ```
162
162
  *
163
163
  * Returns the WebAuthn `credentialId` (extracted from `meta.credentialId`)
164
- * for the caller's lookup index (a bootstrap vault, a PublicEnvelope,
164
+ * for the caller's lookup index (a bootstrap vault, a Cover,
165
165
  * a server-side allowlist).
166
166
  *
167
167
  * Gated by `enroll-authenticator` like `enrollAuthenticator()` itself.
@@ -0,0 +1,78 @@
1
+ /**
2
+ * #807 — period-scoped pull support for the `SyncEngine` (thin-client
3
+ * bootstrap: first sync pulls the current period + the period summaries;
4
+ * historical periods backfill on demand via `pull({ periods: ['<name>'] })`).
5
+ *
6
+ * ## Membership law
7
+ *
8
+ * The engine only ever sees ciphertext envelopes, so period membership at
9
+ * the sync tier is by write-time `_ts` against the closed periods' windows
10
+ * (`periodExclusiveUpperBound`) — the SAME store-tier law freeze (#604) and
11
+ * archive (#613) use, NOT the business-date (`dateField`) seal the write
12
+ * guard applies inside the trust boundary. A late-booked record (in-period
13
+ * business date, current write-time) therefore syncs with the current
14
+ * period — mirroring how it archives at the NEXT period's archive.
15
+ *
16
+ * Closed periods partition the timeline by their exclusive upper bounds:
17
+ * the earliest closed period's window is unbounded below (a close seals
18
+ * everything at-or-before its `endDate`), each later one starts at its
19
+ * predecessor's bound, and the CURRENT window is everything at-or-after
20
+ * the latest closed bound (everything, when no period was ever closed).
21
+ *
22
+ * ## What a period filter can never drop
23
+ *
24
+ * - **Period summaries** (`_periods` + freeze/archive/target-purge
25
+ * companions) — the navigation index; always pulled in full, exempt from
26
+ * every filter (`collections`, `periods`, `modifiedSince`).
27
+ * - **Delete markers and tombstones** — an erasure or delete must never be
28
+ * skipped by partial sync (the #589/#590 law, mirroring the
29
+ * `modifiedSince` exemption). This is what makes a device that never
30
+ * pulled period P converge instead of resurrecting P's deleted records
31
+ * when it later backfills.
32
+ * - **Reserved lookups** (`_dict_*`/`_lookup_*`) — vocabulary/config rows
33
+ * are not period-partitioned data; their explicit pull loop is exempt.
34
+ *
35
+ * Push is NEVER period-filtered — `PushOptions` has no `periods` member at
36
+ * all; a thin client's writes always flow up in full.
37
+ */
38
+ import type { EncryptedEnvelope } from '../../kernel/types.js';
39
+ import { PERIODS_COLLECTION } from '../../with-audit/periods/window.js';
40
+ export { PERIODS_COLLECTION };
41
+ /**
42
+ * The reserved period-metadata collections a period-scoped pull always
43
+ * fetches first (phase 1, "summaries"): the hash-chained `_periods` index
44
+ * plus its freeze/archive/target-purge companions.
45
+ */
46
+ export declare const PERIOD_SUMMARY_COLLECTIONS: readonly string[];
47
+ /** The subset of a decrypted `PeriodRecord` the window computation needs. */
48
+ export interface PeriodSyncRecord {
49
+ readonly name: string;
50
+ readonly kind: 'closed' | 'opened';
51
+ readonly endDate: string;
52
+ }
53
+ /**
54
+ * Vault-injected source of decrypted period records, wired via
55
+ * `SyncEngine.setPeriodPullSource` (same injection pattern as
56
+ * `setReservedLookupSource`). MUST re-read from the local store on every
57
+ * call — the engine invokes it right after the summaries phase applied
58
+ * freshly pulled `_periods` envelopes.
59
+ */
60
+ export interface PeriodPullSource {
61
+ periods(): Promise<readonly PeriodSyncRecord[]>;
62
+ }
63
+ /** Validate the raw `PullOptions.periods` value (runtime shape only). */
64
+ export declare function validatePeriodsOption(periods: unknown): asserts periods is readonly string[] | {
65
+ readonly current: true;
66
+ };
67
+ /**
68
+ * Resolve the selected `_ts` windows and return the pull-scope predicate:
69
+ * `true` = the envelope is in scope for this pull. Tombstones and delete
70
+ * markers are unconditionally in scope (see module doc).
71
+ *
72
+ * Throws `ValidationError` for a name that is not a closed period in the
73
+ * (freshly synced) `_periods` index — a typo'd backfill must fail loudly,
74
+ * never silently pull nothing.
75
+ */
76
+ export declare function buildPeriodScope(option: readonly string[] | {
77
+ readonly current: true;
78
+ }, records: readonly PeriodSyncRecord[]): (envelope: EncryptedEnvelope) => boolean;
@@ -1,4 +1,5 @@
1
1
  import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole } from '../../kernel/types.js';
2
+ import { type PeriodPullSource } from './sync-period-scope.js';
2
3
  import type { NoydbEventEmitter } from '../../kernel/events.js';
3
4
  import type { SyncPolicy } from '../../kernel/sync-policy.js';
4
5
  import { SyncScheduler } from '../../kernel/sync-policy.js';
@@ -66,6 +67,18 @@ export declare class SyncEngine {
66
67
  private reservedDictExpander?;
67
68
  /** Wire the reserved-dict expansion function (#653). Same injection pattern as `setPairExpander`. */
68
69
  setReservedDictExpander(expander: (names: readonly string[]) => readonly string[]): void;
70
+ /** #807: vault-injected source of decrypted period records — resolves the `_ts` windows a
71
+ * `pull({ periods })` scopes to. Re-read AFTER the summaries phase, so a fresh device's
72
+ * freshly pulled `_periods` index is what the windows are computed from. `undefined` on a
73
+ * standalone engine that was never vault-attached (period-scoped pull then throws). */
74
+ private periodPullSource?;
75
+ /** Wire the period-window source (#807). Same injection pattern as `setReservedLookupSource`. */
76
+ setPeriodPullSource(source: PeriodPullSource): void;
77
+ /** #807: KPI accumulator `applyRemote` feeds during a period-scoped `pull()` — pointed at the
78
+ * active phase's counters (summaries → records) and cleared before pull returns. Approximate
79
+ * by design: a push interleaved mid-pull on the same engine would attribute its converge
80
+ * applies to the open phase; the counters are a download-budget KPI, not an audit source. */
81
+ private pullByteSink;
69
82
  constructor(opts: {
70
83
  local: NoydbStore;
71
84
  remote: NoydbStore;
@@ -35,7 +35,7 @@
35
35
  import { type NoydbPodHeader } from './format.js';
36
36
  import type { Vault } from '../kernel/vault.js';
37
37
  import type { BundleRecipient } from '../with-party/team/keyring.js';
38
- import type { PublicEnvelope } from '../with-party/directory/public-envelope/types.js';
38
+ import type { Cover } from '../with-party/directory/cover/types.js';
39
39
  import type { SealingKeyProvider, RecipientSealer, RecipientHint } from '../with-party/team/managed-passphrase.js';
40
40
  /**
41
41
  * The credential kinds that can be bundled for auto-unlock.
@@ -376,21 +376,23 @@ export declare function readPodHeader(bytes: Uint8Array): NoydbPodHeader;
376
376
  /** @deprecated Use `readPodHeader`. */
377
377
  export declare const readNoydbBundleHeader: typeof readPodHeader;
378
378
  /**
379
- * Read just the bundle's public envelope (`https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`)
379
+ * Read just the bundle's cover (`https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`)
380
380
  * — without verifying the body or even parsing the dump JSON. Pass
381
381
  * the raw bundle bytes; receive the owner-curated metadata or
382
382
  * `undefined` if the bundle was written without one.
383
383
  *
384
384
  * Locale-resolves any `name` / `description` map fields when `locale`
385
- * is supplied. Omitting `locale` returns the raw envelope.
385
+ * is supplied. Omitting `locale` returns the raw cover.
386
386
  *
387
- * Same security caveat as the on-vault read path — the public
388
- * envelope is **untrusted hint** in v1; the encrypted body remains
387
+ * Same security caveat as the on-vault read path — the cover is an
388
+ * **untrusted hint** in v1; the encrypted body remains
389
389
  * the source of truth for vault contents.
390
390
  */
391
- export declare function readNoydbBundlePublicEnvelope(bytes: Uint8Array, opts?: {
391
+ export declare function readPodCover(bytes: Uint8Array, opts?: {
392
392
  readonly locale?: string;
393
- }): PublicEnvelope | undefined;
393
+ }): Cover | undefined;
394
+ /** @deprecated Use `readPodCover` (#799 rename). */
395
+ export declare const readNoydbBundlePublicEnvelope: typeof readPodCover;
394
396
  /**
395
397
  * Read a full `.noydb` bundle: validate magic + header, verify
396
398
  * integrity hash over the body bytes, decompress, and return the
@@ -45,7 +45,7 @@
45
45
  * carries only what's needed to identify the file as a NOYDB
46
46
  * bundle and verify its integrity — nothing about the contents.
47
47
  */
48
- import type { PublicEnvelope } from '../with-party/directory/public-envelope/types.js';
48
+ import type { Cover } from '../with-party/directory/cover/types.js';
49
49
  /** Magic bytes 'NDB1' (ASCII), identifying a NOYDB bundle. */
50
50
  export declare const NOYDB_BUNDLE_MAGIC: Uint8Array<ArrayBuffer>;
51
51
  /** Total fixed prefix before the header JSON: 4+1+1+4 bytes. */
@@ -110,17 +110,21 @@ export interface NoydbPodHeader {
110
110
  /** SHA-256 of the compressed body bytes (lowercase hex). Lets readers verify integrity without decompressing. */
111
111
  readonly bodySha256: string;
112
112
  /**
113
- * Owner-curated public envelope (`https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`).
113
+ * Owner-curated cover (`https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`).
114
114
  * Optional — present only when the source vault has a
115
115
  * `_meta/public-envelope` document AND the writer's hub is opted
116
116
  * into the feature. Treat as **untrusted hint**; the body's
117
117
  * encrypted contents remain the source of truth.
118
118
  *
119
- * The envelope deliberately widens the minimum-disclosure rule
119
+ * The JSON key keeps its frozen wire name `publicEnvelope` (#799
120
+ * renamed only the developer surface — existing bundles stay
121
+ * readable byte-for-byte).
122
+ *
123
+ * The cover deliberately widens the minimum-disclosure rule
120
124
  * for explicit, owner-curated label fields (name, icon, …). Every
121
125
  * other unknown header key still rejects at parse time.
122
126
  */
123
- readonly publicEnvelope?: PublicEnvelope;
127
+ readonly publicEnvelope?: Cover;
124
128
  /**
125
129
  * Auto-unlock material indicator. When present, the bundle
126
130
  * body wraps the dump JSON in a structure carrying per-user
@@ -11,7 +11,8 @@
11
11
  * omit this subpath and save ~805 LOC of format code + Brotli/gzip
12
12
  * wiring.
13
13
  */
14
- export { writePod, readPod, readPodHeader, writeNoydbBundle, readNoydbBundle, readNoydbBundleHeader, resetBrotliSupportCache, } from './bundle.js';
14
+ export { writePod, readPod, readPodHeader, readPodCover, writeNoydbBundle, readNoydbBundle, readNoydbBundleHeader, resetBrotliSupportCache, } from './bundle.js';
15
+ export type { Cover } from '../with-party/directory/cover/types.js';
15
16
  export type { WritePodOptions, WriteNoydbBundleOptions, ReadNoydbBundleOptions, NoydbBundleReadResult, } from './bundle.js';
16
17
  export { NOYDB_BUNDLE_MAGIC, NOYDB_BUNDLE_PREFIX_BYTES, NOYDB_BUNDLE_FORMAT_VERSION, FLAG_COMPRESSED, FLAG_HAS_INTEGRITY_HASH, COMPRESSION_NONE, COMPRESSION_GZIP, COMPRESSION_BROTLI, validateBundleHeader, encodeBundleHeader, } from './format.js';
17
18
  export type { CompressionAlgo, NoydbPodHeader, NoydbBundleHeader, } from './format.js';
@@ -0,0 +1,28 @@
1
+ import {
2
+ FROZEN_SNAPSHOTS_COLLECTION,
3
+ freezeAndDeleteClosure,
4
+ freezeSnapshotOnly,
5
+ randomId,
6
+ withdrawAccessibleData
7
+ } from "./chunk-YJV2UZ7H.js";
8
+ import "./chunk-GQNGCEP5.js";
9
+ import "./chunk-A7JJLVGH.js";
10
+ import "./chunk-J6Q7UVQE.js";
11
+ import "./chunk-DVUZMT2W.js";
12
+ import "./chunk-WEYZTLXN.js";
13
+ import "./chunk-IY23KFNZ.js";
14
+ import "./chunk-N6WF5PKC.js";
15
+ import "./chunk-6HY2X62D.js";
16
+ import "./chunk-LP7BEXCT.js";
17
+ import "./chunk-HOONYZY2.js";
18
+ import "./chunk-LSASLXGC.js";
19
+ import "./chunk-W2OG6JOL.js";
20
+ import "./chunk-PZ5AY32C.js";
21
+ export {
22
+ FROZEN_SNAPSHOTS_COLLECTION,
23
+ freezeAndDeleteClosure,
24
+ freezeSnapshotOnly,
25
+ randomId,
26
+ withdrawAccessibleData
27
+ };
28
+ //# sourceMappingURL=withdraw-accessible-Y3B2535F.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noy-db/hub",
3
- "version": "0.3.0",
3
+ "version": "0.4.0-pre.1",
4
4
  "description": "Zero-knowledge, offline-first, encrypted document store — core library with AES-256-GCM, PBKDF2, multi-user keyring, and sync engine",
5
5
  "license": "MIT",
6
6
  "author": "vLannaAi <vicio@lanna.ai>",
@@ -120,6 +120,10 @@
120
120
  "types": "./dist/kernel/util/index.d.ts",
121
121
  "default": "./dist/util/index.js"
122
122
  },
123
+ "./share-link": {
124
+ "types": "./dist/share-link/index.d.ts",
125
+ "default": "./dist/share-link/index.js"
126
+ },
123
127
  "./attestation": {
124
128
  "types": "./dist/with-audit/attestation/index.d.ts",
125
129
  "default": "./dist/attestation/index.js"
@@ -192,14 +196,14 @@
192
196
  "node": ">=22.0.0"
193
197
  },
194
198
  "dependencies": {
195
- "@noy-db/attestation": "0.3.0"
199
+ "@noy-db/attestation": "0.4.0-pre.1"
196
200
  },
197
201
  "devDependencies": {
198
202
  "@types/node": "^22.0.0",
199
203
  "esbuild": "^0.25.0",
200
204
  "zod": "^4.0.0",
201
205
  "zod-to-json-schema": "^3.25.2",
202
- "@noy-db/on-shamir": "0.3.0"
206
+ "@noy-db/on-shamir": "0.4.0-pre.1"
203
207
  },
204
208
  "peerDependencies": {
205
209
  "zod-to-json-schema": "^3.25.0"
@@ -1,20 +0,0 @@
1
- import {
2
- UserApi,
3
- createUserApi
4
- } from "./chunk-LASZKVMO.js";
5
- import "./chunk-4JBYV75E.js";
6
- import "./chunk-XDYREZWE.js";
7
- import "./chunk-7DSTRQIJ.js";
8
- import "./chunk-HB3RFQSC.js";
9
- import "./chunk-JKJOGPZN.js";
10
- import "./chunk-5M5DVGV7.js";
11
- import "./chunk-LP7BEXCT.js";
12
- import "./chunk-CIE2BASH.js";
13
- import "./chunk-JNAI2HN2.js";
14
- import "./chunk-BIOUI4HL.js";
15
- import "./chunk-PZ5AY32C.js";
16
- export {
17
- UserApi,
18
- createUserApi
19
- };
20
- //# sourceMappingURL=api-ZGS6LCOF.js.map