@noy-db/hub 0.2.0-pre.26 → 0.2.0-pre.27
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/attestation/index.cjs.map +1 -1
- package/dist/attestation/index.d.cts +1 -1
- package/dist/attestation/index.d.ts +1 -1
- package/dist/attestation/index.js +4 -4
- package/dist/blobs/index.cjs.map +1 -1
- package/dist/blobs/index.d.cts +3 -3
- package/dist/blobs/index.d.ts +3 -3
- package/dist/blobs/index.js +4 -4
- package/dist/bundle/index.cjs +320 -144
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +3 -3
- package/dist/bundle/index.d.ts +3 -3
- package/dist/bundle/index.js +8 -8
- package/dist/{chunk-HUXDQIVU.js → chunk-2NYVA6FW.js} +2 -2
- package/dist/{chunk-OCRDV3NU.js → chunk-5EITJMUJ.js} +3 -3
- package/dist/{chunk-EYZJULEN.js → chunk-6H4CAHMQ.js} +2 -2
- package/dist/{chunk-VGAN5RLD.js → chunk-6M5JKTUQ.js} +2 -2
- package/dist/{chunk-N4EXCKWP.js → chunk-6ZKXFMUG.js} +2 -2
- package/dist/{chunk-KJ37E3R5.js → chunk-7DDTFGXY.js} +2 -2
- package/dist/{chunk-LR7CODVN.js → chunk-AD6RNBAW.js} +1 -1
- package/dist/chunk-AD6RNBAW.js.map +1 -0
- package/dist/{chunk-TSUICI5N.js → chunk-BMDVFBCL.js} +2 -2
- package/dist/{chunk-FCIZXX56.js → chunk-BOMH3637.js} +2 -2
- package/dist/{chunk-RZOGD7IF.js → chunk-CVTPNW2Y.js} +6 -6
- package/dist/{chunk-GPZHHTJU.js → chunk-DONPLWRC.js} +2 -2
- package/dist/{chunk-GHXOVGTX.js → chunk-HAKEZTA7.js} +3 -3
- package/dist/{chunk-QYQRAOEF.js → chunk-I2RX62RX.js} +2 -2
- package/dist/{chunk-2RHBFCWQ.js → chunk-IWGVH2RR.js} +3 -3
- package/dist/{chunk-Y5CTT6K5.js → chunk-K6PCTYAH.js} +2 -2
- package/dist/{chunk-ANLOD6IS.js → chunk-KA5A5CSD.js} +3 -3
- package/dist/{chunk-56ENKU46.js → chunk-KSKKLVPA.js} +97 -144
- package/dist/chunk-KSKKLVPA.js.map +1 -0
- package/dist/{chunk-UNBX2HMA.js → chunk-LXA2E3VI.js} +2 -2
- package/dist/{chunk-JJKXJAH2.js → chunk-PFKAT4NT.js} +3 -3
- package/dist/{chunk-ZCBJIDT4.js → chunk-RRCRITDM.js} +2 -2
- package/dist/{chunk-YP2AYE5W.js → chunk-SID2NJNF.js} +2 -2
- package/dist/chunk-Z3BJF7SF.js +220 -0
- package/dist/chunk-Z3BJF7SF.js.map +1 -0
- package/dist/consent/index.d.cts +2 -2
- package/dist/consent/index.d.ts +2 -2
- package/dist/{decrypt-partition-CyyJUWLR.d.ts → decrypt-partition-CptDdcCx.d.ts} +1 -1
- package/dist/{decrypt-partition-C71vhnND.d.cts → decrypt-partition-DmkeOB4I.d.cts} +1 -1
- package/dist/derivations/index.d.cts +3 -3
- package/dist/derivations/index.d.ts +3 -3
- package/dist/{dev-unlock-BdrE0kbS.d.cts → dev-unlock-DUTLA3Sc.d.cts} +1 -1
- package/dist/{dev-unlock-ByBkl99-.d.ts → dev-unlock-Y9znMkQ2.d.ts} +1 -1
- package/dist/{fanout-sidecar-ZQT4Y7PF.js → fanout-sidecar-OC4QVTS2.js} +2 -2
- package/dist/forget/index.js +2 -2
- package/dist/guards/index.d.cts +3 -3
- package/dist/guards/index.d.ts +3 -3
- package/dist/{hash-CZxVv8RH.d.ts → hash-Btl9IvQS.d.ts} +1 -1
- package/dist/{hash-BUkDp_8Q.d.cts → hash-DFK7cGdo.d.cts} +1 -1
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +3 -3
- package/dist/history/index.d.ts +3 -3
- package/dist/history/index.js +3 -3
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +2 -2
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +3 -3
- package/dist/{index-CBUhOmrM.d.cts → index-CqzZml-D.d.cts} +1 -1
- package/dist/{index-DFhKV-6A.d.ts → index-wRwJVVJQ.d.ts} +1 -1
- package/dist/index.cjs +316 -140
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +19 -18
- package/dist/index.js.map +1 -1
- package/dist/{issue-LEBPVF3Y.js → issue-ZZ2XPOGP.js} +4 -4
- package/dist/kernel/index.cjs +61 -0
- package/dist/kernel/index.cjs.map +1 -1
- package/dist/kernel/index.d.cts +2 -2
- package/dist/kernel/index.d.ts +2 -2
- package/dist/kernel/index.js +7 -0
- package/dist/{ledger-FLRTSOYH.js → ledger-XQ4KVFQ6.js} +3 -3
- package/dist/materialized-views/index.d.cts +3 -3
- package/dist/materialized-views/index.d.ts +3 -3
- package/dist/{mime-magic-BAhLjkHw.d.cts → mime-magic-Co4Pyj-O.d.cts} +1 -1
- package/dist/{mime-magic-C1UbcBxP.d.ts → mime-magic-OiPT1qed.d.ts} +1 -1
- package/dist/{noydb-6FA46A4M.js → noydb-EY52NVH4.js} +15 -14
- package/dist/overlay-views/index.d.cts +3 -3
- package/dist/overlay-views/index.d.ts +3 -3
- package/dist/periods/index.cjs.map +1 -1
- package/dist/periods/index.d.cts +2 -2
- package/dist/periods/index.d.ts +2 -2
- package/dist/periods/index.js +3 -3
- package/dist/{public-envelope-DBKJEBBF.js → public-envelope-O6X6AUUS.js} +3 -3
- package/dist/{revoke-P5D3UTRX.js → revoke-QJ2HUM4W.js} +4 -4
- package/dist/session/index.d.cts +3 -3
- package/dist/session/index.d.ts +3 -3
- package/dist/shadow/index.d.cts +2 -2
- package/dist/shadow/index.d.ts +2 -2
- package/dist/{signer-NEQPCHMW.js → signer-SCJ6C6HQ.js} +3 -3
- package/dist/snapshots/index.d.cts +2 -2
- package/dist/snapshots/index.d.ts +2 -2
- package/dist/snapshots/index.js +3 -3
- package/dist/store/index.d.cts +2 -2
- package/dist/store/index.d.ts +2 -2
- package/dist/sync/index.cjs.map +1 -1
- package/dist/sync/index.d.cts +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.js +2 -2
- package/dist/team/index.cjs.map +1 -1
- package/dist/team/index.d.cts +2 -2
- package/dist/team/index.d.ts +2 -2
- package/dist/team/index.js +5 -5
- package/dist/{transition-guard-BSLdikC_.d.ts → transition-guard-CJmb8O8q.d.ts} +1 -1
- package/dist/{transition-guard-DPs6al8h.d.cts → transition-guard-Dzj68JWC.d.cts} +1 -1
- package/dist/tx/index.d.cts +2 -2
- package/dist/tx/index.d.ts +2 -2
- package/dist/{types-CCq0WHh9.d.ts → types-CkSWJt0H.d.ts} +137 -7
- package/dist/{types-BCYvhKzr.d.cts → types-CwrTuYFI.d.cts} +137 -7
- package/dist/{with-materialized-view-DiD41wQp.d.ts → with-materialized-view-BVfcPlaE.d.ts} +1 -1
- package/dist/{with-materialized-view-CTHe6uh9.d.cts → with-materialized-view-dPG213gd.d.cts} +1 -1
- package/dist/{with-overlayed-view-Dlz5hcM8.d.cts → with-overlayed-view-CJ2UDBol.d.cts} +1 -1
- package/dist/{with-overlayed-view-DlbsJMhF.d.ts → with-overlayed-view-zYPQzGGh.d.ts} +1 -1
- package/dist/{with-rollup-BBWdrCvu.d.cts → with-rollup-B_zbRi3f.d.cts} +1 -1
- package/dist/{with-rollup-mT4_CWaU.d.ts → with-rollup-BvaJefEs.d.ts} +1 -1
- package/package.json +3 -3
- package/dist/chunk-56ENKU46.js.map +0 -1
- package/dist/chunk-LR7CODVN.js.map +0 -1
- /package/dist/{chunk-HUXDQIVU.js.map → chunk-2NYVA6FW.js.map} +0 -0
- /package/dist/{chunk-OCRDV3NU.js.map → chunk-5EITJMUJ.js.map} +0 -0
- /package/dist/{chunk-EYZJULEN.js.map → chunk-6H4CAHMQ.js.map} +0 -0
- /package/dist/{chunk-VGAN5RLD.js.map → chunk-6M5JKTUQ.js.map} +0 -0
- /package/dist/{chunk-N4EXCKWP.js.map → chunk-6ZKXFMUG.js.map} +0 -0
- /package/dist/{chunk-KJ37E3R5.js.map → chunk-7DDTFGXY.js.map} +0 -0
- /package/dist/{chunk-TSUICI5N.js.map → chunk-BMDVFBCL.js.map} +0 -0
- /package/dist/{chunk-FCIZXX56.js.map → chunk-BOMH3637.js.map} +0 -0
- /package/dist/{chunk-RZOGD7IF.js.map → chunk-CVTPNW2Y.js.map} +0 -0
- /package/dist/{chunk-GPZHHTJU.js.map → chunk-DONPLWRC.js.map} +0 -0
- /package/dist/{chunk-GHXOVGTX.js.map → chunk-HAKEZTA7.js.map} +0 -0
- /package/dist/{chunk-QYQRAOEF.js.map → chunk-I2RX62RX.js.map} +0 -0
- /package/dist/{chunk-2RHBFCWQ.js.map → chunk-IWGVH2RR.js.map} +0 -0
- /package/dist/{chunk-Y5CTT6K5.js.map → chunk-K6PCTYAH.js.map} +0 -0
- /package/dist/{chunk-ANLOD6IS.js.map → chunk-KA5A5CSD.js.map} +0 -0
- /package/dist/{chunk-UNBX2HMA.js.map → chunk-LXA2E3VI.js.map} +0 -0
- /package/dist/{chunk-JJKXJAH2.js.map → chunk-PFKAT4NT.js.map} +0 -0
- /package/dist/{chunk-ZCBJIDT4.js.map → chunk-RRCRITDM.js.map} +0 -0
- /package/dist/{chunk-YP2AYE5W.js.map → chunk-SID2NJNF.js.map} +0 -0
- /package/dist/{fanout-sidecar-ZQT4Y7PF.js.map → fanout-sidecar-OC4QVTS2.js.map} +0 -0
- /package/dist/{issue-LEBPVF3Y.js.map → issue-ZZ2XPOGP.js.map} +0 -0
- /package/dist/{ledger-FLRTSOYH.js.map → ledger-XQ4KVFQ6.js.map} +0 -0
- /package/dist/{noydb-6FA46A4M.js.map → noydb-EY52NVH4.js.map} +0 -0
- /package/dist/{public-envelope-DBKJEBBF.js.map → public-envelope-O6X6AUUS.js.map} +0 -0
- /package/dist/{revoke-P5D3UTRX.js.map → revoke-QJ2HUM4W.js.map} +0 -0
- /package/dist/{signer-NEQPCHMW.js.map → signer-SCJ6C6HQ.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
|