@noy-db/hub 0.2.0-pre.26 → 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.
- package/dist/aggregate/index.cjs +7 -0
- package/dist/aggregate/index.cjs.map +1 -1
- package/dist/aggregate/index.d.cts +2 -2
- package/dist/aggregate/index.d.ts +2 -2
- package/dist/aggregate/index.js +2 -2
- package/dist/attestation/index.cjs.map +1 -1
- package/dist/attestation/index.d.cts +3 -3
- package/dist/attestation/index.d.ts +3 -3
- package/dist/attestation/index.js +4 -4
- package/dist/blobs/index.cjs.map +1 -1
- package/dist/blobs/index.d.cts +5 -5
- package/dist/blobs/index.d.ts +5 -5
- package/dist/blobs/index.js +4 -4
- package/dist/bundle/index.cjs +403 -149
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +5 -5
- package/dist/bundle/index.d.ts +5 -5
- package/dist/bundle/index.js +8 -8
- package/dist/{chunk-PS6PSEZL.js → chunk-2M62POB5.js} +3 -3
- package/dist/{chunk-C7UIT5XY.js → chunk-345PYZD6.js} +2 -2
- package/dist/{chunk-56ENKU46.js → chunk-3LHTFCU2.js} +186 -161
- package/dist/chunk-3LHTFCU2.js.map +1 -0
- package/dist/{chunk-ANLOD6IS.js → chunk-42EGY2FQ.js} +3 -3
- package/dist/{chunk-KJ37E3R5.js → chunk-4FHKQDHN.js} +2 -2
- package/dist/{chunk-KD253AI5.js → chunk-6LD37AMK.js} +22 -3
- package/dist/chunk-6LD37AMK.js.map +1 -0
- package/dist/{chunk-EYZJULEN.js → chunk-7GKDVWMD.js} +2 -2
- package/dist/{chunk-N4EXCKWP.js → chunk-7TBCLM52.js} +2 -2
- package/dist/{chunk-VJNV2GRF.js → chunk-AHDQYG7P.js} +3 -3
- package/dist/{chunk-ZCBJIDT4.js → chunk-DCYWBKQ2.js} +2 -2
- package/dist/{chunk-Y5CTT6K5.js → chunk-DMWUOV7X.js} +2 -2
- package/dist/{chunk-RZOGD7IF.js → chunk-DQ6XF2K2.js} +6 -6
- package/dist/{chunk-OCRDV3NU.js → chunk-ENC4C6XW.js} +3 -3
- package/dist/{chunk-FCIZXX56.js → chunk-GVEUI7VR.js} +2 -2
- package/dist/{chunk-WVYL6HM7.js → chunk-HI7FY7QZ.js} +2 -2
- package/dist/{chunk-JJKXJAH2.js → chunk-HQ242WNG.js} +3 -3
- package/dist/{chunk-GHXOVGTX.js → chunk-IMY4FXYE.js} +3 -3
- package/dist/{chunk-YP2AYE5W.js → chunk-JEQB2KVI.js} +2 -2
- package/dist/chunk-M2VZQ24Q.js +220 -0
- package/dist/chunk-M2VZQ24Q.js.map +1 -0
- package/dist/{chunk-HUXDQIVU.js → chunk-PPF7Z2YQ.js} +2 -2
- package/dist/{chunk-2RHBFCWQ.js → chunk-QBC2TZHC.js} +3 -3
- package/dist/{chunk-LR7CODVN.js → chunk-QSLIT4JZ.js} +1 -1
- package/dist/chunk-QSLIT4JZ.js.map +1 -0
- package/dist/{chunk-TSUICI5N.js → chunk-RG5KLMEU.js} +2 -2
- package/dist/{chunk-GPZHHTJU.js → chunk-SWGVCSIY.js} +2 -2
- package/dist/{chunk-UNBX2HMA.js → chunk-VSL3W2MO.js} +2 -2
- package/dist/{chunk-VGAN5RLD.js → chunk-WH7G2YEE.js} +2 -2
- package/dist/{chunk-QYQRAOEF.js → chunk-YYLFXX2K.js} +2 -2
- package/dist/consent/index.d.cts +4 -4
- package/dist/consent/index.d.ts +4 -4
- package/dist/{decrypt-partition-CyyJUWLR.d.ts → decrypt-partition-BtGtE-19.d.ts} +1 -1
- package/dist/{decrypt-partition-C71vhnND.d.cts → decrypt-partition-Cqi5gcOl.d.cts} +1 -1
- package/dist/derivations/index.d.cts +5 -5
- package/dist/derivations/index.d.ts +5 -5
- package/dist/{dev-unlock-BdrE0kbS.d.cts → dev-unlock-Cts_iiVv.d.cts} +1 -1
- package/dist/{dev-unlock-ByBkl99-.d.ts → dev-unlock-D0p9cQzN.d.ts} +1 -1
- package/dist/{executor-BIW4FT5R.js → executor-PJHMRZWJ.js} +4 -4
- package/dist/{fanout-sidecar-ZQT4Y7PF.js → fanout-sidecar-DSBVAR2P.js} +2 -2
- package/dist/forget/index.js +2 -2
- package/dist/guards/index.d.cts +5 -5
- package/dist/guards/index.d.ts +5 -5
- package/dist/{hash-CZxVv8RH.d.ts → hash-BtDtwguU.d.ts} +1 -1
- package/dist/{hash-BUkDp_8Q.d.cts → hash-DA75XwW2.d.cts} +1 -1
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +5 -5
- package/dist/history/index.d.ts +5 -5
- package/dist/history/index.js +3 -3
- package/dist/i18n/index.cjs +98 -1
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +4 -4
- package/dist/i18n/index.d.ts +4 -4
- package/dist/i18n/index.js +83 -4
- package/dist/i18n/index.js.map +1 -1
- package/dist/{index-DFhKV-6A.d.ts → index-BidHvmWf.d.ts} +3 -3
- package/dist/{index-CBUhOmrM.d.cts → index-CP24aYCp.d.cts} +3 -3
- package/dist/{index-DoxKSsMj.d.cts → index-CVnt2Qmq.d.cts} +1 -1
- package/dist/{index-LaexBi3v.d.ts → index-DxBNV54L.d.ts} +1 -1
- package/dist/index.cjs +411 -146
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -14
- package/dist/index.d.ts +14 -14
- package/dist/index.js +24 -23
- package/dist/index.js.map +1 -1
- package/dist/{issue-LEBPVF3Y.js → issue-JSGGSVY4.js} +4 -4
- package/dist/kernel/index.cjs +61 -0
- package/dist/kernel/index.cjs.map +1 -1
- package/dist/kernel/index.d.cts +4 -4
- package/dist/kernel/index.d.ts +4 -4
- package/dist/kernel/index.js +9 -2
- package/dist/{ledger-FLRTSOYH.js → ledger-PLMSH7LD.js} +3 -3
- package/dist/materialized-views/index.cjs +7 -0
- package/dist/materialized-views/index.cjs.map +1 -1
- package/dist/materialized-views/index.d.cts +5 -5
- package/dist/materialized-views/index.d.ts +5 -5
- package/dist/materialized-views/index.js +4 -4
- package/dist/{mime-magic-C1UbcBxP.d.ts → mime-magic--NcogI82.d.ts} +1 -1
- package/dist/{mime-magic-BAhLjkHw.d.cts → mime-magic-i2VSlkPM.d.cts} +1 -1
- package/dist/noydb-PHXA5E6I.js +39 -0
- package/dist/overlay-views/index.d.cts +5 -5
- package/dist/overlay-views/index.d.ts +5 -5
- package/dist/periods/index.cjs.map +1 -1
- package/dist/periods/index.d.cts +4 -4
- package/dist/periods/index.d.ts +4 -4
- package/dist/periods/index.js +3 -3
- package/dist/{public-envelope-DBKJEBBF.js → public-envelope-7MTH2PVE.js} +3 -3
- package/dist/query/index.cjs +7 -0
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +2 -2
- package/dist/query/index.d.ts +2 -2
- package/dist/query/index.js +3 -3
- package/dist/{revoke-P5D3UTRX.js → revoke-DBAGKIDA.js} +4 -4
- package/dist/session/index.d.cts +5 -5
- package/dist/session/index.d.ts +5 -5
- package/dist/shadow/index.d.cts +4 -4
- package/dist/shadow/index.d.ts +4 -4
- package/dist/{signer-NEQPCHMW.js → signer-ADFJNS5W.js} +3 -3
- package/dist/snapshots/index.d.cts +4 -4
- package/dist/snapshots/index.d.ts +4 -4
- package/dist/snapshots/index.js +3 -3
- package/dist/{stale-KKCHF2VB.js → stale-BCIE3SMC.js} +2 -2
- package/dist/store/index.d.cts +4 -4
- package/dist/store/index.d.ts +4 -4
- package/dist/{strategy-YQ1qJWyq.d.ts → strategy-BoITAb2H.d.ts} +20 -1
- package/dist/{strategy-D1zjEV3n.d.cts → strategy-DDNvt_UD.d.cts} +20 -1
- package/dist/sync/index.cjs.map +1 -1
- package/dist/sync/index.d.cts +3 -3
- package/dist/sync/index.d.ts +3 -3
- package/dist/sync/index.js +2 -2
- package/dist/team/index.cjs.map +1 -1
- package/dist/team/index.d.cts +4 -4
- package/dist/team/index.d.ts +4 -4
- package/dist/team/index.js +5 -5
- package/dist/{transition-guard-BSLdikC_.d.ts → transition-guard-BZhOlrFT.d.ts} +1 -1
- package/dist/{transition-guard-DPs6al8h.d.cts → transition-guard-Bekgaxux.d.cts} +1 -1
- package/dist/tx/index.d.cts +4 -4
- package/dist/tx/index.d.ts +4 -4
- package/dist/{types-CCq0WHh9.d.ts → types-84nsWSDF.d.ts} +182 -11
- package/dist/{types-BCYvhKzr.d.cts → types-B_eCkuEI.d.cts} +182 -11
- package/dist/{with-materialized-view-DiD41wQp.d.ts → with-materialized-view-CAMGQroY.d.ts} +1 -1
- package/dist/{with-materialized-view-CTHe6uh9.d.cts → with-materialized-view-DKMaZmkJ.d.cts} +1 -1
- package/dist/{with-overlayed-view-Dlz5hcM8.d.cts → with-overlayed-view--lWXImbV.d.cts} +1 -1
- package/dist/{with-overlayed-view-DlbsJMhF.d.ts → with-overlayed-view-FnOf1v6H.d.ts} +1 -1
- package/dist/{with-rollup-BBWdrCvu.d.cts → with-rollup-C5875Ad5.d.cts} +1 -1
- package/dist/{with-rollup-mT4_CWaU.d.ts → with-rollup-xi-mkY6Y.d.ts} +1 -1
- package/package.json +3 -3
- package/dist/chunk-56ENKU46.js.map +0 -1
- package/dist/chunk-KD253AI5.js.map +0 -1
- package/dist/chunk-LR7CODVN.js.map +0 -1
- package/dist/noydb-6FA46A4M.js +0 -38
- /package/dist/{chunk-PS6PSEZL.js.map → chunk-2M62POB5.js.map} +0 -0
- /package/dist/{chunk-C7UIT5XY.js.map → chunk-345PYZD6.js.map} +0 -0
- /package/dist/{chunk-ANLOD6IS.js.map → chunk-42EGY2FQ.js.map} +0 -0
- /package/dist/{chunk-KJ37E3R5.js.map → chunk-4FHKQDHN.js.map} +0 -0
- /package/dist/{chunk-EYZJULEN.js.map → chunk-7GKDVWMD.js.map} +0 -0
- /package/dist/{chunk-N4EXCKWP.js.map → chunk-7TBCLM52.js.map} +0 -0
- /package/dist/{chunk-VJNV2GRF.js.map → chunk-AHDQYG7P.js.map} +0 -0
- /package/dist/{chunk-ZCBJIDT4.js.map → chunk-DCYWBKQ2.js.map} +0 -0
- /package/dist/{chunk-Y5CTT6K5.js.map → chunk-DMWUOV7X.js.map} +0 -0
- /package/dist/{chunk-RZOGD7IF.js.map → chunk-DQ6XF2K2.js.map} +0 -0
- /package/dist/{chunk-OCRDV3NU.js.map → chunk-ENC4C6XW.js.map} +0 -0
- /package/dist/{chunk-FCIZXX56.js.map → chunk-GVEUI7VR.js.map} +0 -0
- /package/dist/{chunk-WVYL6HM7.js.map → chunk-HI7FY7QZ.js.map} +0 -0
- /package/dist/{chunk-JJKXJAH2.js.map → chunk-HQ242WNG.js.map} +0 -0
- /package/dist/{chunk-GHXOVGTX.js.map → chunk-IMY4FXYE.js.map} +0 -0
- /package/dist/{chunk-YP2AYE5W.js.map → chunk-JEQB2KVI.js.map} +0 -0
- /package/dist/{chunk-HUXDQIVU.js.map → chunk-PPF7Z2YQ.js.map} +0 -0
- /package/dist/{chunk-2RHBFCWQ.js.map → chunk-QBC2TZHC.js.map} +0 -0
- /package/dist/{chunk-TSUICI5N.js.map → chunk-RG5KLMEU.js.map} +0 -0
- /package/dist/{chunk-GPZHHTJU.js.map → chunk-SWGVCSIY.js.map} +0 -0
- /package/dist/{chunk-UNBX2HMA.js.map → chunk-VSL3W2MO.js.map} +0 -0
- /package/dist/{chunk-VGAN5RLD.js.map → chunk-WH7G2YEE.js.map} +0 -0
- /package/dist/{chunk-QYQRAOEF.js.map → chunk-YYLFXX2K.js.map} +0 -0
- /package/dist/{executor-BIW4FT5R.js.map → executor-PJHMRZWJ.js.map} +0 -0
- /package/dist/{fanout-sidecar-ZQT4Y7PF.js.map → fanout-sidecar-DSBVAR2P.js.map} +0 -0
- /package/dist/{issue-LEBPVF3Y.js.map → issue-JSGGSVY4.js.map} +0 -0
- /package/dist/{ledger-FLRTSOYH.js.map → ledger-PLMSH7LD.js.map} +0 -0
- /package/dist/{noydb-6FA46A4M.js.map → noydb-PHXA5E6I.js.map} +0 -0
- /package/dist/{public-envelope-DBKJEBBF.js.map → public-envelope-7MTH2PVE.js.map} +0 -0
- /package/dist/{revoke-P5D3UTRX.js.map → revoke-DBAGKIDA.js.map} +0 -0
- /package/dist/{signer-NEQPCHMW.js.map → signer-ADFJNS5W.js.map} +0 -0
- /package/dist/{stale-KKCHF2VB.js.map → stale-BCIE3SMC.js.map} +0 -0
package/dist/kernel/index.cjs
CHANGED
|
@@ -30,8 +30,10 @@ __export(kernel_exports, {
|
|
|
30
30
|
VaultTemplateNotFoundError: () => VaultTemplateNotFoundError,
|
|
31
31
|
generateULID: () => generateULID,
|
|
32
32
|
groupAndReduce: () => groupAndReduce,
|
|
33
|
+
isQuorum: () => isQuorum,
|
|
33
34
|
readPath: () => readPath,
|
|
34
35
|
reduceRecords: () => reduceRecords,
|
|
36
|
+
runDrainBarrier: () => runDrainBarrier,
|
|
35
37
|
sha256Hex: () => sha256Hex
|
|
36
38
|
});
|
|
37
39
|
module.exports = __toCommonJS(kernel_exports);
|
|
@@ -222,6 +224,18 @@ var ValidationError = class extends NoydbError {
|
|
|
222
224
|
this.name = "ValidationError";
|
|
223
225
|
}
|
|
224
226
|
};
|
|
227
|
+
var SchemaUpdateError = class extends NoydbError {
|
|
228
|
+
constructor(code, message) {
|
|
229
|
+
super(code, message);
|
|
230
|
+
this.name = "SchemaUpdateError";
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
var QuiesceTimeoutError = class extends SchemaUpdateError {
|
|
234
|
+
constructor(message) {
|
|
235
|
+
super("QUIESCE_TIMEOUT", message);
|
|
236
|
+
this.name = "QuiesceTimeoutError";
|
|
237
|
+
}
|
|
238
|
+
};
|
|
225
239
|
var GroupCardinalityError = class extends NoydbError {
|
|
226
240
|
/** The field being grouped on. */
|
|
227
241
|
field;
|
|
@@ -638,6 +652,51 @@ async function sha256Hex(data) {
|
|
|
638
652
|
const hash = await subtle.digest("SHA-256", data);
|
|
639
653
|
return Array.from(new Uint8Array(hash)).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
640
654
|
}
|
|
655
|
+
|
|
656
|
+
// src/coordination/types.ts
|
|
657
|
+
function isQuorum(writers, generation, excludeWriterId) {
|
|
658
|
+
return writers.filter((w) => w.writerId !== excludeWriterId).every((w) => w.quiescedAtVersion === generation);
|
|
659
|
+
}
|
|
660
|
+
async function runDrainBarrier(provider, o, run) {
|
|
661
|
+
await provider.setFence(o.vault, { currentSchemaVersion: o.generation, fenceState: "draining" });
|
|
662
|
+
await o.onFlush();
|
|
663
|
+
const deadline = o.now() + o.quiesceTimeoutMs;
|
|
664
|
+
const seeded = await provider.reachableWriters(o.vault, { staleMs: o.staleMs, now: o.now() });
|
|
665
|
+
if (!isQuorum(seeded, o.generation, o.writerId)) {
|
|
666
|
+
await new Promise((resolve, reject) => {
|
|
667
|
+
let settled = false;
|
|
668
|
+
const finish = (fn) => {
|
|
669
|
+
if (!settled) {
|
|
670
|
+
settled = true;
|
|
671
|
+
unsub();
|
|
672
|
+
fn();
|
|
673
|
+
}
|
|
674
|
+
};
|
|
675
|
+
const unsub = provider.observePresence(o.vault, (writers) => {
|
|
676
|
+
if (isQuorum(writers, o.generation, o.writerId)) finish(resolve);
|
|
677
|
+
});
|
|
678
|
+
const tick = async () => {
|
|
679
|
+
if (settled) return;
|
|
680
|
+
if (o.now() >= deadline) {
|
|
681
|
+
finish(
|
|
682
|
+
() => reject(
|
|
683
|
+
new QuiesceTimeoutError(
|
|
684
|
+
`Cutover of vault "${o.vault}" to generation ${o.generation} timed out after ${o.quiesceTimeoutMs}ms waiting for active writers to quiesce.`
|
|
685
|
+
)
|
|
686
|
+
)
|
|
687
|
+
);
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
if (o.onPoll) await o.onPoll();
|
|
691
|
+
const w = await provider.reachableWriters(o.vault, { staleMs: o.staleMs, now: o.now() });
|
|
692
|
+
if (isQuorum(w, o.generation, o.writerId)) finish(resolve);
|
|
693
|
+
else setTimeout(() => void tick(), 25);
|
|
694
|
+
};
|
|
695
|
+
void tick();
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
await run();
|
|
699
|
+
}
|
|
641
700
|
// Annotate the CommonJS export names for ESM import in node:
|
|
642
701
|
0 && (module.exports = {
|
|
643
702
|
CrossShardJoinError,
|
|
@@ -650,8 +709,10 @@ async function sha256Hex(data) {
|
|
|
650
709
|
VaultTemplateNotFoundError,
|
|
651
710
|
generateULID,
|
|
652
711
|
groupAndReduce,
|
|
712
|
+
isQuorum,
|
|
653
713
|
readPath,
|
|
654
714
|
reduceRecords,
|
|
715
|
+
runDrainBarrier,
|
|
655
716
|
sha256Hex
|
|
656
717
|
});
|
|
657
718
|
//# sourceMappingURL=index.cjs.map
|