@noy-db/hub 0.2.0-pre.27 → 0.2.0-pre.28

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 (179) hide show
  1. package/dist/aggregate/index.cjs +7 -0
  2. package/dist/aggregate/index.cjs.map +1 -1
  3. package/dist/aggregate/index.d.cts +2 -2
  4. package/dist/aggregate/index.d.ts +2 -2
  5. package/dist/aggregate/index.js +2 -2
  6. package/dist/attestation/index.cjs.map +1 -1
  7. package/dist/attestation/index.d.cts +3 -3
  8. package/dist/attestation/index.d.ts +3 -3
  9. package/dist/attestation/index.js +4 -4
  10. package/dist/blobs/index.cjs.map +1 -1
  11. package/dist/blobs/index.d.cts +5 -5
  12. package/dist/blobs/index.d.ts +5 -5
  13. package/dist/blobs/index.js +4 -4
  14. package/dist/bundle/index.cjs +83 -5
  15. package/dist/bundle/index.cjs.map +1 -1
  16. package/dist/bundle/index.d.cts +5 -5
  17. package/dist/bundle/index.d.ts +5 -5
  18. package/dist/bundle/index.js +8 -8
  19. package/dist/{chunk-PS6PSEZL.js → chunk-2M62POB5.js} +3 -3
  20. package/dist/{chunk-C7UIT5XY.js → chunk-345PYZD6.js} +2 -2
  21. package/dist/{chunk-KSKKLVPA.js → chunk-3LHTFCU2.js} +113 -41
  22. package/dist/chunk-3LHTFCU2.js.map +1 -0
  23. package/dist/{chunk-KA5A5CSD.js → chunk-42EGY2FQ.js} +3 -3
  24. package/dist/{chunk-7DDTFGXY.js → chunk-4FHKQDHN.js} +2 -2
  25. package/dist/{chunk-KD253AI5.js → chunk-6LD37AMK.js} +22 -3
  26. package/dist/chunk-6LD37AMK.js.map +1 -0
  27. package/dist/{chunk-6H4CAHMQ.js → chunk-7GKDVWMD.js} +2 -2
  28. package/dist/{chunk-6ZKXFMUG.js → chunk-7TBCLM52.js} +2 -2
  29. package/dist/{chunk-VJNV2GRF.js → chunk-AHDQYG7P.js} +3 -3
  30. package/dist/{chunk-RRCRITDM.js → chunk-DCYWBKQ2.js} +2 -2
  31. package/dist/{chunk-K6PCTYAH.js → chunk-DMWUOV7X.js} +2 -2
  32. package/dist/{chunk-CVTPNW2Y.js → chunk-DQ6XF2K2.js} +6 -6
  33. package/dist/{chunk-5EITJMUJ.js → chunk-ENC4C6XW.js} +3 -3
  34. package/dist/{chunk-BOMH3637.js → chunk-GVEUI7VR.js} +2 -2
  35. package/dist/{chunk-WVYL6HM7.js → chunk-HI7FY7QZ.js} +2 -2
  36. package/dist/{chunk-PFKAT4NT.js → chunk-HQ242WNG.js} +3 -3
  37. package/dist/{chunk-HAKEZTA7.js → chunk-IMY4FXYE.js} +3 -3
  38. package/dist/{chunk-SID2NJNF.js → chunk-JEQB2KVI.js} +2 -2
  39. package/dist/{chunk-Z3BJF7SF.js → chunk-M2VZQ24Q.js} +2 -2
  40. package/dist/{chunk-2NYVA6FW.js → chunk-PPF7Z2YQ.js} +2 -2
  41. package/dist/{chunk-IWGVH2RR.js → chunk-QBC2TZHC.js} +3 -3
  42. package/dist/{chunk-AD6RNBAW.js → chunk-QSLIT4JZ.js} +1 -1
  43. package/dist/chunk-QSLIT4JZ.js.map +1 -0
  44. package/dist/{chunk-BMDVFBCL.js → chunk-RG5KLMEU.js} +2 -2
  45. package/dist/{chunk-DONPLWRC.js → chunk-SWGVCSIY.js} +2 -2
  46. package/dist/{chunk-LXA2E3VI.js → chunk-VSL3W2MO.js} +2 -2
  47. package/dist/{chunk-6M5JKTUQ.js → chunk-WH7G2YEE.js} +2 -2
  48. package/dist/{chunk-I2RX62RX.js → chunk-YYLFXX2K.js} +2 -2
  49. package/dist/consent/index.d.cts +4 -4
  50. package/dist/consent/index.d.ts +4 -4
  51. package/dist/{decrypt-partition-CptDdcCx.d.ts → decrypt-partition-BtGtE-19.d.ts} +1 -1
  52. package/dist/{decrypt-partition-DmkeOB4I.d.cts → decrypt-partition-Cqi5gcOl.d.cts} +1 -1
  53. package/dist/derivations/index.d.cts +5 -5
  54. package/dist/derivations/index.d.ts +5 -5
  55. package/dist/{dev-unlock-DUTLA3Sc.d.cts → dev-unlock-Cts_iiVv.d.cts} +1 -1
  56. package/dist/{dev-unlock-Y9znMkQ2.d.ts → dev-unlock-D0p9cQzN.d.ts} +1 -1
  57. package/dist/{executor-BIW4FT5R.js → executor-PJHMRZWJ.js} +4 -4
  58. package/dist/{fanout-sidecar-OC4QVTS2.js → fanout-sidecar-DSBVAR2P.js} +2 -2
  59. package/dist/forget/index.js +2 -2
  60. package/dist/guards/index.d.cts +5 -5
  61. package/dist/guards/index.d.ts +5 -5
  62. package/dist/{hash-Btl9IvQS.d.ts → hash-BtDtwguU.d.ts} +1 -1
  63. package/dist/{hash-DFK7cGdo.d.cts → hash-DA75XwW2.d.cts} +1 -1
  64. package/dist/history/index.cjs.map +1 -1
  65. package/dist/history/index.d.cts +5 -5
  66. package/dist/history/index.d.ts +5 -5
  67. package/dist/history/index.js +3 -3
  68. package/dist/i18n/index.cjs +98 -1
  69. package/dist/i18n/index.cjs.map +1 -1
  70. package/dist/i18n/index.d.cts +4 -4
  71. package/dist/i18n/index.d.ts +4 -4
  72. package/dist/i18n/index.js +83 -4
  73. package/dist/i18n/index.js.map +1 -1
  74. package/dist/{index-wRwJVVJQ.d.ts → index-BidHvmWf.d.ts} +3 -3
  75. package/dist/{index-CqzZml-D.d.cts → index-CP24aYCp.d.cts} +3 -3
  76. package/dist/{index-DoxKSsMj.d.cts → index-CVnt2Qmq.d.cts} +1 -1
  77. package/dist/{index-LaexBi3v.d.ts → index-DxBNV54L.d.ts} +1 -1
  78. package/dist/index.cjs +95 -6
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.d.cts +14 -14
  81. package/dist/index.d.ts +14 -14
  82. package/dist/index.js +24 -24
  83. package/dist/{issue-ZZ2XPOGP.js → issue-JSGGSVY4.js} +4 -4
  84. package/dist/kernel/index.d.cts +4 -4
  85. package/dist/kernel/index.d.ts +4 -4
  86. package/dist/kernel/index.js +4 -4
  87. package/dist/{ledger-XQ4KVFQ6.js → ledger-PLMSH7LD.js} +3 -3
  88. package/dist/materialized-views/index.cjs +7 -0
  89. package/dist/materialized-views/index.cjs.map +1 -1
  90. package/dist/materialized-views/index.d.cts +5 -5
  91. package/dist/materialized-views/index.d.ts +5 -5
  92. package/dist/materialized-views/index.js +4 -4
  93. package/dist/{mime-magic-OiPT1qed.d.ts → mime-magic--NcogI82.d.ts} +1 -1
  94. package/dist/{mime-magic-Co4Pyj-O.d.cts → mime-magic-i2VSlkPM.d.cts} +1 -1
  95. package/dist/noydb-PHXA5E6I.js +39 -0
  96. package/dist/overlay-views/index.d.cts +5 -5
  97. package/dist/overlay-views/index.d.ts +5 -5
  98. package/dist/periods/index.cjs.map +1 -1
  99. package/dist/periods/index.d.cts +4 -4
  100. package/dist/periods/index.d.ts +4 -4
  101. package/dist/periods/index.js +3 -3
  102. package/dist/{public-envelope-O6X6AUUS.js → public-envelope-7MTH2PVE.js} +3 -3
  103. package/dist/query/index.cjs +7 -0
  104. package/dist/query/index.cjs.map +1 -1
  105. package/dist/query/index.d.cts +2 -2
  106. package/dist/query/index.d.ts +2 -2
  107. package/dist/query/index.js +3 -3
  108. package/dist/{revoke-QJ2HUM4W.js → revoke-DBAGKIDA.js} +4 -4
  109. package/dist/session/index.d.cts +5 -5
  110. package/dist/session/index.d.ts +5 -5
  111. package/dist/shadow/index.d.cts +4 -4
  112. package/dist/shadow/index.d.ts +4 -4
  113. package/dist/{signer-SCJ6C6HQ.js → signer-ADFJNS5W.js} +3 -3
  114. package/dist/snapshots/index.d.cts +4 -4
  115. package/dist/snapshots/index.d.ts +4 -4
  116. package/dist/snapshots/index.js +3 -3
  117. package/dist/{stale-KKCHF2VB.js → stale-BCIE3SMC.js} +2 -2
  118. package/dist/store/index.d.cts +4 -4
  119. package/dist/store/index.d.ts +4 -4
  120. package/dist/{strategy-YQ1qJWyq.d.ts → strategy-BoITAb2H.d.ts} +20 -1
  121. package/dist/{strategy-D1zjEV3n.d.cts → strategy-DDNvt_UD.d.cts} +20 -1
  122. package/dist/sync/index.cjs.map +1 -1
  123. package/dist/sync/index.d.cts +3 -3
  124. package/dist/sync/index.d.ts +3 -3
  125. package/dist/sync/index.js +2 -2
  126. package/dist/team/index.cjs.map +1 -1
  127. package/dist/team/index.d.cts +4 -4
  128. package/dist/team/index.d.ts +4 -4
  129. package/dist/team/index.js +5 -5
  130. package/dist/{transition-guard-CJmb8O8q.d.ts → transition-guard-BZhOlrFT.d.ts} +1 -1
  131. package/dist/{transition-guard-Dzj68JWC.d.cts → transition-guard-Bekgaxux.d.cts} +1 -1
  132. package/dist/tx/index.d.cts +4 -4
  133. package/dist/tx/index.d.ts +4 -4
  134. package/dist/{types-CkSWJt0H.d.ts → types-84nsWSDF.d.ts} +45 -4
  135. package/dist/{types-CwrTuYFI.d.cts → types-B_eCkuEI.d.cts} +45 -4
  136. package/dist/{with-materialized-view-BVfcPlaE.d.ts → with-materialized-view-CAMGQroY.d.ts} +1 -1
  137. package/dist/{with-materialized-view-dPG213gd.d.cts → with-materialized-view-DKMaZmkJ.d.cts} +1 -1
  138. package/dist/{with-overlayed-view-CJ2UDBol.d.cts → with-overlayed-view--lWXImbV.d.cts} +1 -1
  139. package/dist/{with-overlayed-view-zYPQzGGh.d.ts → with-overlayed-view-FnOf1v6H.d.ts} +1 -1
  140. package/dist/{with-rollup-B_zbRi3f.d.cts → with-rollup-C5875Ad5.d.cts} +1 -1
  141. package/dist/{with-rollup-BvaJefEs.d.ts → with-rollup-xi-mkY6Y.d.ts} +1 -1
  142. package/package.json +3 -3
  143. package/dist/chunk-AD6RNBAW.js.map +0 -1
  144. package/dist/chunk-KD253AI5.js.map +0 -1
  145. package/dist/chunk-KSKKLVPA.js.map +0 -1
  146. package/dist/noydb-EY52NVH4.js +0 -39
  147. /package/dist/{chunk-PS6PSEZL.js.map → chunk-2M62POB5.js.map} +0 -0
  148. /package/dist/{chunk-C7UIT5XY.js.map → chunk-345PYZD6.js.map} +0 -0
  149. /package/dist/{chunk-KA5A5CSD.js.map → chunk-42EGY2FQ.js.map} +0 -0
  150. /package/dist/{chunk-7DDTFGXY.js.map → chunk-4FHKQDHN.js.map} +0 -0
  151. /package/dist/{chunk-6H4CAHMQ.js.map → chunk-7GKDVWMD.js.map} +0 -0
  152. /package/dist/{chunk-6ZKXFMUG.js.map → chunk-7TBCLM52.js.map} +0 -0
  153. /package/dist/{chunk-VJNV2GRF.js.map → chunk-AHDQYG7P.js.map} +0 -0
  154. /package/dist/{chunk-RRCRITDM.js.map → chunk-DCYWBKQ2.js.map} +0 -0
  155. /package/dist/{chunk-K6PCTYAH.js.map → chunk-DMWUOV7X.js.map} +0 -0
  156. /package/dist/{chunk-CVTPNW2Y.js.map → chunk-DQ6XF2K2.js.map} +0 -0
  157. /package/dist/{chunk-5EITJMUJ.js.map → chunk-ENC4C6XW.js.map} +0 -0
  158. /package/dist/{chunk-BOMH3637.js.map → chunk-GVEUI7VR.js.map} +0 -0
  159. /package/dist/{chunk-WVYL6HM7.js.map → chunk-HI7FY7QZ.js.map} +0 -0
  160. /package/dist/{chunk-PFKAT4NT.js.map → chunk-HQ242WNG.js.map} +0 -0
  161. /package/dist/{chunk-HAKEZTA7.js.map → chunk-IMY4FXYE.js.map} +0 -0
  162. /package/dist/{chunk-SID2NJNF.js.map → chunk-JEQB2KVI.js.map} +0 -0
  163. /package/dist/{chunk-Z3BJF7SF.js.map → chunk-M2VZQ24Q.js.map} +0 -0
  164. /package/dist/{chunk-2NYVA6FW.js.map → chunk-PPF7Z2YQ.js.map} +0 -0
  165. /package/dist/{chunk-IWGVH2RR.js.map → chunk-QBC2TZHC.js.map} +0 -0
  166. /package/dist/{chunk-BMDVFBCL.js.map → chunk-RG5KLMEU.js.map} +0 -0
  167. /package/dist/{chunk-DONPLWRC.js.map → chunk-SWGVCSIY.js.map} +0 -0
  168. /package/dist/{chunk-LXA2E3VI.js.map → chunk-VSL3W2MO.js.map} +0 -0
  169. /package/dist/{chunk-6M5JKTUQ.js.map → chunk-WH7G2YEE.js.map} +0 -0
  170. /package/dist/{chunk-I2RX62RX.js.map → chunk-YYLFXX2K.js.map} +0 -0
  171. /package/dist/{executor-BIW4FT5R.js.map → executor-PJHMRZWJ.js.map} +0 -0
  172. /package/dist/{fanout-sidecar-OC4QVTS2.js.map → fanout-sidecar-DSBVAR2P.js.map} +0 -0
  173. /package/dist/{issue-ZZ2XPOGP.js.map → issue-JSGGSVY4.js.map} +0 -0
  174. /package/dist/{ledger-XQ4KVFQ6.js.map → ledger-PLMSH7LD.js.map} +0 -0
  175. /package/dist/{noydb-EY52NVH4.js.map → noydb-PHXA5E6I.js.map} +0 -0
  176. /package/dist/{public-envelope-O6X6AUUS.js.map → public-envelope-7MTH2PVE.js.map} +0 -0
  177. /package/dist/{revoke-QJ2HUM4W.js.map → revoke-DBAGKIDA.js.map} +0 -0
  178. /package/dist/{signer-SCJ6C6HQ.js.map → signer-ADFJNS5W.js.map} +0 -0
  179. /package/dist/{stale-KKCHF2VB.js.map → stale-BCIE3SMC.js.map} +0 -0
@@ -1,12 +1,12 @@
1
- import { aW as NoydbStore, aU as UnlockedKeyring } from '../types-CwrTuYFI.cjs';
2
- export { be as BundleRecipient, cd as EnrollAuthenticatorOptions, ce as EnrollAuthenticatorWrappingDEKsOptions, cf as EnrollAuthenticatorWrappingKEKOptions, cW as ListUsersOptions, dk as PaperRecoveryEntry, dt as PresenceHandle, dO as RecoverPassphraseInput, dP as RecoverPassphraseResult, dQ as RecoverUserOptions, dR as RecoveryProof, dX as RotatePassphraseInput, ed as SlotRewrapCeremony, ee as SlotRewrapContext, em as SyncEngine, eu as SyncTransaction, eK as UpdateAuthenticatorOptions, f3 as WrappedDeksBlob, fb as buildRecipientKeyringFile, fc as burnPaperRecoveryEntry, ga as changeSecret, gb as createOwnerKeyring, fg as deriveMagicLinkContentKey, fh as enrollAuthenticator, gc as ensureCollectionDEK, fk as evaluateExportCapability, fl as evaluateImportCapability, fn as findAuthenticator, gd as grant, fo as hasExportCapability, fp as hasImportCapability, fs as isMagicLinkGrantExpired, fy as listMagicLinkGrants, fz as listUsers, fA as listUsersWithEnvelopes, ge as loadKeyring, fD as loadPaperRecoveryEntries, fG as magicLinkGrantRecordId, fH as mintPaperRecoveryEntry, fJ as mintWrappedDeksBlob, gf as persistKeyring, fM as readMagicLinkGrantRecord, fv as recoverPassphrase, fN as recoverUser, fP as removeAuthenticator, gg as revoke, fU as revokeMagicLinkGrant, fw as rotatePassphrase, fW as savePaperRecoveryEntries, f_ as unwrapDeksFromBlob, f$ as unwrapDeksFromPaperEntry, g1 as unwrapMagicLinkGrant, gh as updateAuthenticator, gi as updateKeyringIdentity, g9 as writeMagicLinkGrant } from '../types-CwrTuYFI.cjs';
1
+ import { aW as NoydbStore, aU as UnlockedKeyring } from '../types-B_eCkuEI.cjs';
2
+ export { be as BundleRecipient, cd as EnrollAuthenticatorOptions, ce as EnrollAuthenticatorWrappingDEKsOptions, cf as EnrollAuthenticatorWrappingKEKOptions, cW as ListUsersOptions, dk as PaperRecoveryEntry, dt as PresenceHandle, dO as RecoverPassphraseInput, dP as RecoverPassphraseResult, dQ as RecoverUserOptions, dR as RecoveryProof, dX as RotatePassphraseInput, ed as SlotRewrapCeremony, ee as SlotRewrapContext, em as SyncEngine, eu as SyncTransaction, eK as UpdateAuthenticatorOptions, f3 as WrappedDeksBlob, fb as buildRecipientKeyringFile, fc as burnPaperRecoveryEntry, ga as changeSecret, gb as createOwnerKeyring, fg as deriveMagicLinkContentKey, fh as enrollAuthenticator, gc as ensureCollectionDEK, fk as evaluateExportCapability, fl as evaluateImportCapability, fn as findAuthenticator, gd as grant, fo as hasExportCapability, fp as hasImportCapability, fs as isMagicLinkGrantExpired, fy as listMagicLinkGrants, fz as listUsers, fA as listUsersWithEnvelopes, ge as loadKeyring, fD as loadPaperRecoveryEntries, fG as magicLinkGrantRecordId, fH as mintPaperRecoveryEntry, fJ as mintWrappedDeksBlob, gf as persistKeyring, fM as readMagicLinkGrantRecord, fv as recoverPassphrase, fN as recoverUser, fP as removeAuthenticator, gg as revoke, fU as revokeMagicLinkGrant, fw as rotatePassphrase, fW as savePaperRecoveryEntries, f_ as unwrapDeksFromBlob, f$ as unwrapDeksFromPaperEntry, g1 as unwrapMagicLinkGrant, gh as updateAuthenticator, gi as updateKeyringIdentity, g9 as writeMagicLinkGrant } from '../types-B_eCkuEI.cjs';
3
3
  import '../lazy-builder-eYZzLEL1.cjs';
4
4
  import '../predicate-BmhBSPCH.cjs';
5
- import '../strategy-D1zjEV3n.cjs';
5
+ import '../strategy-DDNvt_UD.cjs';
6
6
  import '../errors-Dwk2k1xY.cjs';
7
7
  import '../strategy-BSxFXGzb.cjs';
8
8
  import '../index-BMmajblo.cjs';
9
- import '../index-DoxKSsMj.cjs';
9
+ import '../index-CVnt2Qmq.cjs';
10
10
  import '@noy-db/attestation';
11
11
 
12
12
  /**
@@ -1,12 +1,12 @@
1
- import { aW as NoydbStore, aU as UnlockedKeyring } from '../types-CkSWJt0H.js';
2
- export { be as BundleRecipient, cd as EnrollAuthenticatorOptions, ce as EnrollAuthenticatorWrappingDEKsOptions, cf as EnrollAuthenticatorWrappingKEKOptions, cW as ListUsersOptions, dk as PaperRecoveryEntry, dt as PresenceHandle, dO as RecoverPassphraseInput, dP as RecoverPassphraseResult, dQ as RecoverUserOptions, dR as RecoveryProof, dX as RotatePassphraseInput, ed as SlotRewrapCeremony, ee as SlotRewrapContext, em as SyncEngine, eu as SyncTransaction, eK as UpdateAuthenticatorOptions, f3 as WrappedDeksBlob, fb as buildRecipientKeyringFile, fc as burnPaperRecoveryEntry, ga as changeSecret, gb as createOwnerKeyring, fg as deriveMagicLinkContentKey, fh as enrollAuthenticator, gc as ensureCollectionDEK, fk as evaluateExportCapability, fl as evaluateImportCapability, fn as findAuthenticator, gd as grant, fo as hasExportCapability, fp as hasImportCapability, fs as isMagicLinkGrantExpired, fy as listMagicLinkGrants, fz as listUsers, fA as listUsersWithEnvelopes, ge as loadKeyring, fD as loadPaperRecoveryEntries, fG as magicLinkGrantRecordId, fH as mintPaperRecoveryEntry, fJ as mintWrappedDeksBlob, gf as persistKeyring, fM as readMagicLinkGrantRecord, fv as recoverPassphrase, fN as recoverUser, fP as removeAuthenticator, gg as revoke, fU as revokeMagicLinkGrant, fw as rotatePassphrase, fW as savePaperRecoveryEntries, f_ as unwrapDeksFromBlob, f$ as unwrapDeksFromPaperEntry, g1 as unwrapMagicLinkGrant, gh as updateAuthenticator, gi as updateKeyringIdentity, g9 as writeMagicLinkGrant } from '../types-CkSWJt0H.js';
1
+ import { aW as NoydbStore, aU as UnlockedKeyring } from '../types-84nsWSDF.js';
2
+ export { be as BundleRecipient, cd as EnrollAuthenticatorOptions, ce as EnrollAuthenticatorWrappingDEKsOptions, cf as EnrollAuthenticatorWrappingKEKOptions, cW as ListUsersOptions, dk as PaperRecoveryEntry, dt as PresenceHandle, dO as RecoverPassphraseInput, dP as RecoverPassphraseResult, dQ as RecoverUserOptions, dR as RecoveryProof, dX as RotatePassphraseInput, ed as SlotRewrapCeremony, ee as SlotRewrapContext, em as SyncEngine, eu as SyncTransaction, eK as UpdateAuthenticatorOptions, f3 as WrappedDeksBlob, fb as buildRecipientKeyringFile, fc as burnPaperRecoveryEntry, ga as changeSecret, gb as createOwnerKeyring, fg as deriveMagicLinkContentKey, fh as enrollAuthenticator, gc as ensureCollectionDEK, fk as evaluateExportCapability, fl as evaluateImportCapability, fn as findAuthenticator, gd as grant, fo as hasExportCapability, fp as hasImportCapability, fs as isMagicLinkGrantExpired, fy as listMagicLinkGrants, fz as listUsers, fA as listUsersWithEnvelopes, ge as loadKeyring, fD as loadPaperRecoveryEntries, fG as magicLinkGrantRecordId, fH as mintPaperRecoveryEntry, fJ as mintWrappedDeksBlob, gf as persistKeyring, fM as readMagicLinkGrantRecord, fv as recoverPassphrase, fN as recoverUser, fP as removeAuthenticator, gg as revoke, fU as revokeMagicLinkGrant, fw as rotatePassphrase, fW as savePaperRecoveryEntries, f_ as unwrapDeksFromBlob, f$ as unwrapDeksFromPaperEntry, g1 as unwrapMagicLinkGrant, gh as updateAuthenticator, gi as updateKeyringIdentity, g9 as writeMagicLinkGrant } from '../types-84nsWSDF.js';
3
3
  import '../lazy-builder-ChSqcF5t.js';
4
4
  import '../predicate-BmhBSPCH.js';
5
- import '../strategy-YQ1qJWyq.js';
5
+ import '../strategy-BoITAb2H.js';
6
6
  import '../errors-Dwk2k1xY.js';
7
7
  import '../strategy-BSxFXGzb.js';
8
8
  import '../index-BMmajblo.js';
9
- import '../index-LaexBi3v.js';
9
+ import '../index-DxBNV54L.js';
10
10
  import '@noy-db/attestation';
11
11
 
12
12
  /**
@@ -5,7 +5,7 @@ import {
5
5
  getCredential,
6
6
  listCredentials,
7
7
  putCredential
8
- } from "../chunk-5EITJMUJ.js";
8
+ } from "../chunk-ENC4C6XW.js";
9
9
  import {
10
10
  burnPaperRecoveryEntry,
11
11
  deriveMagicLinkContentKey,
@@ -29,13 +29,13 @@ import {
29
29
  unwrapMagicLinkGrant,
30
30
  updateAuthenticator,
31
31
  writeMagicLinkGrant
32
- } from "../chunk-IWGVH2RR.js";
32
+ } from "../chunk-QBC2TZHC.js";
33
33
  import "../chunk-J73KU4AE.js";
34
34
  import {
35
35
  PresenceHandle,
36
36
  SyncEngine,
37
37
  SyncTransaction
38
- } from "../chunk-DONPLWRC.js";
38
+ } from "../chunk-SWGVCSIY.js";
39
39
  import {
40
40
  buildRecipientKeyringFile,
41
41
  changeSecret,
@@ -52,9 +52,9 @@ import {
52
52
  persistKeyring,
53
53
  revoke,
54
54
  updateKeyringIdentity
55
- } from "../chunk-LXA2E3VI.js";
55
+ } from "../chunk-VSL3W2MO.js";
56
56
  import "../chunk-2QR2PQTT.js";
57
- import "../chunk-AD6RNBAW.js";
57
+ import "../chunk-QSLIT4JZ.js";
58
58
  import "../chunk-7JSP3E67.js";
59
59
  import "../chunk-DDOYOMAD.js";
60
60
  export {
@@ -1,4 +1,4 @@
1
- import { an as GuardStrategy, ar as GuardStrategyHandle, ao as GuardChange, ap as GuardContext } from './types-CkSWJt0H.js';
1
+ import { an as GuardStrategy, ar as GuardStrategyHandle, ao as GuardChange, ap as GuardContext } from './types-84nsWSDF.js';
2
2
 
3
3
  /**
4
4
  * Register a guard for a collection. Guards run on every `put()` /
@@ -1,4 +1,4 @@
1
- import { an as GuardStrategy, ar as GuardStrategyHandle, ao as GuardChange, ap as GuardContext } from './types-CwrTuYFI.cjs';
1
+ import { an as GuardStrategy, ar as GuardStrategyHandle, ao as GuardChange, ap as GuardContext } from './types-B_eCkuEI.cjs';
2
2
 
3
3
  /**
4
4
  * Register a guard for a collection. Guards run on every `put()` /
@@ -1,12 +1,12 @@
1
- import { eC as TransactionInvariant, gj as TxStrategy } from '../types-CwrTuYFI.cjs';
2
- export { gk as AmendmentTxOptions, eE as TxCollection, bk as TxContext, eG as TxVault, fV as runTransaction } from '../types-CwrTuYFI.cjs';
1
+ import { eC as TransactionInvariant, gj as TxStrategy } from '../types-B_eCkuEI.cjs';
2
+ export { gk as AmendmentTxOptions, eE as TxCollection, bk as TxContext, eG as TxVault, fV as runTransaction } from '../types-B_eCkuEI.cjs';
3
3
  import '../lazy-builder-eYZzLEL1.cjs';
4
4
  import '../predicate-BmhBSPCH.cjs';
5
- import '../strategy-D1zjEV3n.cjs';
5
+ import '../strategy-DDNvt_UD.cjs';
6
6
  import '../errors-Dwk2k1xY.cjs';
7
7
  import '../strategy-BSxFXGzb.cjs';
8
8
  import '../index-BMmajblo.cjs';
9
- import '../index-DoxKSsMj.cjs';
9
+ import '../index-CVnt2Qmq.cjs';
10
10
  import '@noy-db/attestation';
11
11
 
12
12
  /**
@@ -1,12 +1,12 @@
1
- import { eC as TransactionInvariant, gj as TxStrategy } from '../types-CkSWJt0H.js';
2
- export { gk as AmendmentTxOptions, eE as TxCollection, bk as TxContext, eG as TxVault, fV as runTransaction } from '../types-CkSWJt0H.js';
1
+ import { eC as TransactionInvariant, gj as TxStrategy } from '../types-84nsWSDF.js';
2
+ export { gk as AmendmentTxOptions, eE as TxCollection, bk as TxContext, eG as TxVault, fV as runTransaction } from '../types-84nsWSDF.js';
3
3
  import '../lazy-builder-ChSqcF5t.js';
4
4
  import '../predicate-BmhBSPCH.js';
5
- import '../strategy-YQ1qJWyq.js';
5
+ import '../strategy-BoITAb2H.js';
6
6
  import '../errors-Dwk2k1xY.js';
7
7
  import '../strategy-BSxFXGzb.js';
8
8
  import '../index-BMmajblo.js';
9
- import '../index-LaexBi3v.js';
9
+ import '../index-DxBNV54L.js';
10
10
  import '@noy-db/attestation';
11
11
 
12
12
  /**
@@ -1,9 +1,9 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-ChSqcF5t.js';
2
- import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, j as AggregateSpec, N as MoneyDescriptor, A as AggregateStrategy } from './strategy-YQ1qJWyq.js';
2
+ import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, k as AggregateSpec, P as MoneyDescriptor, A as AggregateStrategy } from './strategy-BoITAb2H.js';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.js';
4
4
  import { L as LedgerEntry, F as ForgetStrategy, S as SubjectRef, b as ForgetResult } from './index-BMmajblo.js';
5
5
  import { N as NoydbError } from './errors-Dwk2k1xY.js';
6
- import { Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-LaexBi3v.js';
6
+ import { Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-DxBNV54L.js';
7
7
  import { F as FieldClause, I as IndexDef, C as CollectionIndexes } from './predicate-BmhBSPCH.js';
8
8
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
9
9
 
@@ -2748,7 +2748,7 @@ interface ScriptWarning {
2748
2748
  * - `'filter'` ⇒ returns a copy with disallowed characters stripped + warnings.
2749
2749
  * - `'warn'` ⇒ returns the value unchanged + warnings.
2750
2750
  */
2751
- declare function enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor): {
2751
+ declare function enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet<string>): {
2752
2752
  value: Record<string, unknown>;
2753
2753
  warnings: ScriptWarning[];
2754
2754
  };
@@ -2827,10 +2827,21 @@ interface I18nStrategy {
2827
2827
  * non-fatal warnings. Returns the value unchanged when the field has
2828
2828
  * no `script` option, or under `NO_I18N`.
2829
2829
  */
2830
- enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor): {
2830
+ enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet<string>): {
2831
2831
  value: Record<string, unknown>;
2832
2832
  warnings: ScriptWarning[];
2833
2833
  };
2834
+ /**
2835
+ * Per-field locales that are unchanged round-tripped densify fills (exempt
2836
+ * from write-time script enforcement). Empty under NO_I18N. (#435)
2837
+ */
2838
+ computeExemptFills(prior: Record<string, unknown> | undefined, incoming: Record<string, unknown>, fields: Record<string, I18nTextDescriptor>): Map<string, Set<string>>;
2839
+ /**
2840
+ * Eager-fill empty i18n slots from each field's substitute chain and record
2841
+ * provenance in `record['_i18nFilled']`. Mutates `record`. No-op under
2842
+ * NO_I18N. (#435)
2843
+ */
2844
+ densify(record: Record<string, unknown>, prior: Record<string, unknown> | undefined, fields: Record<string, I18nTextDescriptor>): void;
2834
2845
  /**
2835
2846
  * Construct a typed `DictionaryHandle` for the named dictionary.
2836
2847
  * Throws under `NO_I18N`.
@@ -11066,6 +11077,12 @@ declare class Collection<T> {
11066
11077
  * Declared via the `i18nFields` collection option.
11067
11078
  */
11068
11079
  private readonly i18nFields;
11080
+ /**
11081
+ * #435 — the densify-enabled subset of {@link i18nFields} (fields whose
11082
+ * descriptor opts in via `densifyOnWrite: true`). `undefined` when none opt
11083
+ * in, so the write path skips all densify work for ordinary collections.
11084
+ */
11085
+ private readonly i18nDensifyFields;
11069
11086
  /**
11070
11087
  * Map of field name → `DictKeyDescriptor` for fields declared with
11071
11088
  * `dictKey()`. Used by `get()`/`list()` to add `<field>Label` virtual
@@ -11624,6 +11641,17 @@ declare class Collection<T> {
11624
11641
  readonly source?: string;
11625
11642
  readonly sourceTs?: string;
11626
11643
  }): Promise<void>;
11644
+ /**
11645
+ * #435 — resolve the prior stored record (with its `_i18nFilled` marker) for
11646
+ * densify. Eager: in-memory cache; lazy: LRU then adapter. undefined if absent.
11647
+ */
11648
+ private resolveDensifyPrior;
11649
+ /**
11650
+ * #435 — densify provenance for a record: which i18n slots were auto-filled,
11651
+ * e.g. `{ name: ['en'] }`. undefined when nothing was filled. The marker is
11652
+ * stripped from ordinary reads; this is the sanctioned audit accessor.
11653
+ */
11654
+ i18nProvenance(id: string): Promise<Record<string, readonly string[]> | undefined>;
11627
11655
  /**
11628
11656
  * Validate a record against this collection's schema WITHOUT writing it.
11629
11657
  * Returns the (possibly coerced) record on success; throws
@@ -13648,6 +13676,19 @@ interface NoydbEventMap {
13648
13676
  id: string;
13649
13677
  pruned: number;
13650
13678
  };
13679
+ /**
13680
+ * A non-fatal i18n script violation under `onScriptViolation: 'warn' | 'filter'`.
13681
+ * 'warn' stored the value as-is; 'filter' stripped disallowed characters
13682
+ * (the event is the only signal the stored data was mutated). 'reject'
13683
+ * throws `ScriptViolationError` and emits nothing. (#435)
13684
+ */
13685
+ 'i18n:script-violation': {
13686
+ vault: string;
13687
+ collection: string;
13688
+ id: string;
13689
+ mode: 'warn' | 'filter';
13690
+ warning: ScriptWarning;
13691
+ };
13651
13692
  /**
13652
13693
  * Emitted when a persisted-index side-car put/delete fails after the
13653
13694
  * main record write already succeeded. The main record is durable; the
@@ -1,9 +1,9 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-eYZzLEL1.cjs';
2
- import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, j as AggregateSpec, N as MoneyDescriptor, A as AggregateStrategy } from './strategy-D1zjEV3n.cjs';
2
+ import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, k as AggregateSpec, P as MoneyDescriptor, A as AggregateStrategy } from './strategy-DDNvt_UD.cjs';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.cjs';
4
4
  import { L as LedgerEntry, F as ForgetStrategy, S as SubjectRef, b as ForgetResult } from './index-BMmajblo.cjs';
5
5
  import { N as NoydbError } from './errors-Dwk2k1xY.cjs';
6
- import { Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-DoxKSsMj.cjs';
6
+ import { Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-CVnt2Qmq.cjs';
7
7
  import { F as FieldClause, I as IndexDef, C as CollectionIndexes } from './predicate-BmhBSPCH.cjs';
8
8
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
9
9
 
@@ -2748,7 +2748,7 @@ interface ScriptWarning {
2748
2748
  * - `'filter'` ⇒ returns a copy with disallowed characters stripped + warnings.
2749
2749
  * - `'warn'` ⇒ returns the value unchanged + warnings.
2750
2750
  */
2751
- declare function enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor): {
2751
+ declare function enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet<string>): {
2752
2752
  value: Record<string, unknown>;
2753
2753
  warnings: ScriptWarning[];
2754
2754
  };
@@ -2827,10 +2827,21 @@ interface I18nStrategy {
2827
2827
  * non-fatal warnings. Returns the value unchanged when the field has
2828
2828
  * no `script` option, or under `NO_I18N`.
2829
2829
  */
2830
- enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor): {
2830
+ enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet<string>): {
2831
2831
  value: Record<string, unknown>;
2832
2832
  warnings: ScriptWarning[];
2833
2833
  };
2834
+ /**
2835
+ * Per-field locales that are unchanged round-tripped densify fills (exempt
2836
+ * from write-time script enforcement). Empty under NO_I18N. (#435)
2837
+ */
2838
+ computeExemptFills(prior: Record<string, unknown> | undefined, incoming: Record<string, unknown>, fields: Record<string, I18nTextDescriptor>): Map<string, Set<string>>;
2839
+ /**
2840
+ * Eager-fill empty i18n slots from each field's substitute chain and record
2841
+ * provenance in `record['_i18nFilled']`. Mutates `record`. No-op under
2842
+ * NO_I18N. (#435)
2843
+ */
2844
+ densify(record: Record<string, unknown>, prior: Record<string, unknown> | undefined, fields: Record<string, I18nTextDescriptor>): void;
2834
2845
  /**
2835
2846
  * Construct a typed `DictionaryHandle` for the named dictionary.
2836
2847
  * Throws under `NO_I18N`.
@@ -11066,6 +11077,12 @@ declare class Collection<T> {
11066
11077
  * Declared via the `i18nFields` collection option.
11067
11078
  */
11068
11079
  private readonly i18nFields;
11080
+ /**
11081
+ * #435 — the densify-enabled subset of {@link i18nFields} (fields whose
11082
+ * descriptor opts in via `densifyOnWrite: true`). `undefined` when none opt
11083
+ * in, so the write path skips all densify work for ordinary collections.
11084
+ */
11085
+ private readonly i18nDensifyFields;
11069
11086
  /**
11070
11087
  * Map of field name → `DictKeyDescriptor` for fields declared with
11071
11088
  * `dictKey()`. Used by `get()`/`list()` to add `<field>Label` virtual
@@ -11624,6 +11641,17 @@ declare class Collection<T> {
11624
11641
  readonly source?: string;
11625
11642
  readonly sourceTs?: string;
11626
11643
  }): Promise<void>;
11644
+ /**
11645
+ * #435 — resolve the prior stored record (with its `_i18nFilled` marker) for
11646
+ * densify. Eager: in-memory cache; lazy: LRU then adapter. undefined if absent.
11647
+ */
11648
+ private resolveDensifyPrior;
11649
+ /**
11650
+ * #435 — densify provenance for a record: which i18n slots were auto-filled,
11651
+ * e.g. `{ name: ['en'] }`. undefined when nothing was filled. The marker is
11652
+ * stripped from ordinary reads; this is the sanctioned audit accessor.
11653
+ */
11654
+ i18nProvenance(id: string): Promise<Record<string, readonly string[]> | undefined>;
11627
11655
  /**
11628
11656
  * Validate a record against this collection's schema WITHOUT writing it.
11629
11657
  * Returns the (possibly coerced) record on success; throws
@@ -13648,6 +13676,19 @@ interface NoydbEventMap {
13648
13676
  id: string;
13649
13677
  pruned: number;
13650
13678
  };
13679
+ /**
13680
+ * A non-fatal i18n script violation under `onScriptViolation: 'warn' | 'filter'`.
13681
+ * 'warn' stored the value as-is; 'filter' stripped disallowed characters
13682
+ * (the event is the only signal the stored data was mutated). 'reject'
13683
+ * throws `ScriptViolationError` and emits nothing. (#435)
13684
+ */
13685
+ 'i18n:script-violation': {
13686
+ vault: string;
13687
+ collection: string;
13688
+ id: string;
13689
+ mode: 'warn' | 'filter';
13690
+ warning: ScriptWarning;
13691
+ };
13651
13692
  /**
13652
13693
  * Emitted when a persisted-index side-car put/delete fails after the
13653
13694
  * main record write already succeeded. The main record is durable; the
@@ -1,4 +1,4 @@
1
- import { aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle } from './types-CkSWJt0H.js';
1
+ import { aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle } from './types-84nsWSDF.js';
2
2
 
3
3
  /**
4
4
  * Register a materialized view: a declared query whose result is
@@ -1,4 +1,4 @@
1
- import { aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle } from './types-CwrTuYFI.cjs';
1
+ import { aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle } from './types-B_eCkuEI.cjs';
2
2
 
3
3
  /**
4
4
  * Register a materialized view: a declared query whose result is
@@ -1,4 +1,4 @@
1
- import { aM as OverlayedViewStrategy, aR as OverlayedViewStrategyHandle } from './types-CwrTuYFI.cjs';
1
+ import { aM as OverlayedViewStrategy, aR as OverlayedViewStrategyHandle } from './types-B_eCkuEI.cjs';
2
2
 
3
3
  /**
4
4
  * Register a read-shadow overlay: bind an MV-owned base collection to
@@ -1,4 +1,4 @@
1
- import { aM as OverlayedViewStrategy, aR as OverlayedViewStrategyHandle } from './types-CkSWJt0H.js';
1
+ import { aM as OverlayedViewStrategy, aR as OverlayedViewStrategyHandle } from './types-84nsWSDF.js';
2
2
 
3
3
  /**
4
4
  * Register a read-shadow overlay: bind an MV-owned base collection to
@@ -1,4 +1,4 @@
1
- import { aC as DerivationStrategy, aG as DerivationStrategyHandle } from './types-CwrTuYFI.cjs';
1
+ import { aC as DerivationStrategy, aG as DerivationStrategyHandle } from './types-B_eCkuEI.cjs';
2
2
 
3
3
  /**
4
4
  * Register a deterministic derivation: one source collection → one or
@@ -1,4 +1,4 @@
1
- import { aC as DerivationStrategy, aG as DerivationStrategyHandle } from './types-CkSWJt0H.js';
1
+ import { aC as DerivationStrategy, aG as DerivationStrategyHandle } from './types-84nsWSDF.js';
2
2
 
3
3
  /**
4
4
  * Register a deterministic derivation: one source collection → one or
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noy-db/hub",
3
- "version": "0.2.0-pre.27",
3
+ "version": "0.2.0-pre.28",
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>",
@@ -299,14 +299,14 @@
299
299
  "node": ">=18.0.0"
300
300
  },
301
301
  "dependencies": {
302
- "@noy-db/attestation": "0.2.0-pre.27"
302
+ "@noy-db/attestation": "0.2.0-pre.28"
303
303
  },
304
304
  "devDependencies": {
305
305
  "@types/node": "^22.0.0",
306
306
  "esbuild": "^0.25.0",
307
307
  "zod": "^3.23.0",
308
308
  "zod-to-json-schema": "^3.25.2",
309
- "@noy-db/on-shamir": "0.2.0-pre.27"
309
+ "@noy-db/on-shamir": "0.2.0-pre.28"
310
310
  },
311
311
  "peerDependencies": {
312
312
  "zod-to-json-schema": "^3.25.0"