run402 4.41.0 → 4.43.0

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 (71) hide show
  1. package/README.md +2 -2
  2. package/lib/argparse.mjs +1 -1
  3. package/lib/assets.mjs +10 -14
  4. package/lib/command-manifest.mjs +28 -27
  5. package/lib/deploy-v2.mjs +34 -14
  6. package/lib/doctor.mjs +8 -1
  7. package/lib/gitvault-target.mjs +7 -9
  8. package/lib/gitvault.mjs +7 -8
  9. package/lib/next-actions.mjs +5 -2
  10. package/lib/notifications.mjs +4 -8
  11. package/lib/operator.mjs +1 -1
  12. package/lib/org.mjs +3 -3
  13. package/lib/repos.mjs +536 -164
  14. package/lib/rooms-context.mjs +2 -3
  15. package/lib/rooms.mjs +11 -14
  16. package/lib/stats.mjs +57 -0
  17. package/lib/update-check.mjs +6 -8
  18. package/package.json +1 -1
  19. package/sdk/dist/index.d.ts +10 -1
  20. package/sdk/dist/index.d.ts.map +1 -1
  21. package/sdk/dist/index.js +11 -0
  22. package/sdk/dist/index.js.map +1 -1
  23. package/sdk/dist/kernel.d.ts +31 -0
  24. package/sdk/dist/kernel.d.ts.map +1 -1
  25. package/sdk/dist/kernel.js +116 -3
  26. package/sdk/dist/kernel.js.map +1 -1
  27. package/sdk/dist/namespaces/admin.d.ts +1 -1
  28. package/sdk/dist/namespaces/admin.js +1 -1
  29. package/sdk/dist/namespaces/deploy.types.d.ts +2 -2
  30. package/sdk/dist/namespaces/gitvault.crypto.d.ts +188 -5
  31. package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
  32. package/sdk/dist/namespaces/gitvault.crypto.js +277 -8
  33. package/sdk/dist/namespaces/gitvault.crypto.js.map +1 -1
  34. package/sdk/dist/namespaces/gitvault.d.ts +239 -44
  35. package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
  36. package/sdk/dist/namespaces/gitvault.js +327 -49
  37. package/sdk/dist/namespaces/gitvault.js.map +1 -1
  38. package/sdk/dist/namespaces/gitvault.types.d.ts +184 -9
  39. package/sdk/dist/namespaces/gitvault.types.d.ts.map +1 -1
  40. package/sdk/dist/namespaces/gitvault.types.js +2 -1
  41. package/sdk/dist/namespaces/gitvault.types.js.map +1 -1
  42. package/sdk/dist/namespaces/projects.d.ts +1 -1
  43. package/sdk/dist/namespaces/projects.js +1 -1
  44. package/sdk/dist/namespaces/projects.types.d.ts +1 -1
  45. package/sdk/dist/namespaces/projects.types.d.ts.map +1 -1
  46. package/sdk/dist/node/gitvault-apply.d.ts +8 -0
  47. package/sdk/dist/node/gitvault-apply.d.ts.map +1 -1
  48. package/sdk/dist/node/gitvault-apply.js +1 -0
  49. package/sdk/dist/node/gitvault-apply.js.map +1 -1
  50. package/sdk/dist/node/gitvault-deploy.d.ts +13 -0
  51. package/sdk/dist/node/gitvault-deploy.d.ts.map +1 -1
  52. package/sdk/dist/node/gitvault-deploy.js +28 -0
  53. package/sdk/dist/node/gitvault-deploy.js.map +1 -1
  54. package/sdk/dist/node/gitvault-keystore.d.ts +54 -4
  55. package/sdk/dist/node/gitvault-keystore.d.ts.map +1 -1
  56. package/sdk/dist/node/gitvault-keystore.js +20 -0
  57. package/sdk/dist/node/gitvault-keystore.js.map +1 -1
  58. package/sdk/dist/node/gitvault-publication.d.ts +376 -21
  59. package/sdk/dist/node/gitvault-publication.d.ts.map +1 -1
  60. package/sdk/dist/node/gitvault-publication.js +567 -19
  61. package/sdk/dist/node/gitvault-publication.js.map +1 -1
  62. package/sdk/dist/node/gitvault-recover.d.ts +15 -1
  63. package/sdk/dist/node/gitvault-recover.d.ts.map +1 -1
  64. package/sdk/dist/node/gitvault-recover.js +8 -4
  65. package/sdk/dist/node/gitvault-recover.js.map +1 -1
  66. package/sdk/dist/node/gitvault-snapshot.d.ts +40 -7
  67. package/sdk/dist/node/gitvault-snapshot.d.ts.map +1 -1
  68. package/sdk/dist/node/gitvault-snapshot.js +67 -19
  69. package/sdk/dist/node/gitvault-snapshot.js.map +1 -1
  70. package/sdk/dist/scoped.d.ts +2 -2
  71. package/sdk/dist/scoped.js +1 -1
@@ -60,9 +60,19 @@ export const GITVAULT_ENVELOPE_INFO_LABEL = "r402s/v0/envelope";
60
60
  * paraphrase; the wording is a reviewed product commitment.
61
61
  */
62
62
  export const GITVAULT_TERMINAL_LOSS_STATEMENT = "whole-machine or whole-keystore loss is terminal for vault history until human envelopes ship";
63
+ /**
64
+ * The protocol's durability sentence — the keystore-qualified half of the
65
+ * terminal-loss statement, reusable on its own. It is TRUE regardless of how
66
+ * many principals cover a vault (unlike {@link GITVAULT_TERMINAL_LOSS_STATEMENT},
67
+ * which is specifically the single-principal V0-A claim), so a caller that has
68
+ * locally proven a vault carries >= 2 covering recipients prints this sentence
69
+ * instead of the terminal-loss one — see `Gitvault.status()`'s `covering_recipients`
70
+ * field. Never paraphrase; the wording is a reviewed product commitment.
71
+ */
72
+ export const GITVAULT_DURABILITY_STATEMENT = "The vault protects source history from host-side loss while a principal keystore survives.";
63
73
  /** Protocol §0 sentence in full, as `doctor`/`status` print it. */
64
74
  export const GITVAULT_TERMINAL_LOSS_DOCTOR_TEXT = "In V0-A, whole-machine or whole-keystore loss is terminal for vault history (VAULT_UNRECOVERABLE) until human envelopes ship. " +
65
- "The vault protects source history from host-side loss while a principal keystore survives. " +
75
+ `${GITVAULT_DURABILITY_STATEMENT} ` +
66
76
  "The remaining paths are the platform's custodial restore of deployed artifacts (the deploy lane's CAS) and org/infra recovery; " +
67
77
  "a recovery receipt authenticates a genesis — it cannot decrypt anything.";
68
78
  /**
@@ -265,6 +275,15 @@ function withoutSignature(object) {
265
275
  void _signature;
266
276
  return rest;
267
277
  }
278
+ /**
279
+ * Exported so the rotation producer (D195) can build the SAME
280
+ * signature-stripped shape `rotation_id`'s own derivation needs
281
+ * (`sha256(JCS(descriptor minus signature))`) without reaching into this
282
+ * module's private helper twice under two different names.
283
+ */
284
+ export function gitvaultWithoutSignature(object) {
285
+ return withoutSignature(object);
286
+ }
268
287
  /** Signature preimage = `"r402s/v0/" + object_kind + "\n" + JCS(object without its single top-level signature)`. */
269
288
  export function signaturePreimage(objectKind, objectWithoutSignature) {
270
289
  if ("signature" in objectWithoutSignature) {
@@ -362,7 +381,17 @@ export function digestKeyInfo(repoId, epoch, label) {
362
381
  return concatBytes(lp(GITVAULT_FORMAT), lp(GITVAULT_SUITE), lp(repoId), lp(epoch), lp("digest"), lp(label), lp("L=32"));
363
382
  }
364
383
  export function deriveDigestKey(kRepo, repoId, epoch, label) {
365
- return hkdf(sha256, kRepo, undefined, digestKeyInfo(repoId, epoch, label), 32);
384
+ return deriveDigestKeyFrom(kRepo, repoId, epoch, label);
385
+ }
386
+ /**
387
+ * The general form `deriveDigestKey` is a fixed-`ikm=K_repo` specialization
388
+ * of (D195/D198/D200, rev 42): every rev-42 rotation label is keyed by the
389
+ * SAMPLED epoch key (`K_e` for a rotation, `K_1` for genesis) instead of
390
+ * `K_repo` — "the value being committed IS the key being distributed"
391
+ * (protocol-v0.md S1). Same HKDF info construction either way.
392
+ */
393
+ export function deriveDigestKeyFrom(ikm, repoId, epoch, label) {
394
+ return hkdf(sha256, ikm, undefined, digestKeyInfo(repoId, epoch, label), 32);
366
395
  }
367
396
  /** Commitment = HMAC-SHA-256(K_digest(label), JCS(content)), lowercase hex. */
368
397
  export function keyedCommitment(kDigest, content) {
@@ -475,8 +504,20 @@ function toArrayBuffer(bytes) {
475
504
  export function envelopeInfo(recipientPublicKeyRaw, createdBy) {
476
505
  return concatBytes(lp(GITVAULT_ENVELOPE_INFO_LABEL), lp(GITVAULT_SUITE), lp(sha256Hex(recipientPublicKeyRaw)), lp(createdBy));
477
506
  }
478
- /** HPKE AAD (D188): JCS of exactly `{repo_id, epoch, recipient_kind:"principal", recipient_fingerprint}`. */
479
- export function envelopeAad(repoId, epoch, recipientFingerprint) {
507
+ /**
508
+ * HPKE AAD (D188, discriminated by `rotation_id` presence — D203, rev 42):
509
+ * `rotation_id` ABSENT (genesis / ADD-workaround envelope) -> the rev-41
510
+ * four-field form, BYTE-IDENTICAL to every existing golden HPKE digest;
511
+ * `rotation_id` PRESENT (a rotation-attempt envelope) -> the new five-field
512
+ * form. Field ORDER in the returned object does not matter (JCS sorts
513
+ * object members), but `rotation_id` must never be included as an explicit
514
+ * `null` — the two shapes are genuinely different objects, not one object
515
+ * with an optional-null member (protocol-v0.md S2).
516
+ */
517
+ export function envelopeAad(repoId, epoch, recipientFingerprint, rotationId) {
518
+ if (rotationId) {
519
+ return { repo_id: repoId, epoch, rotation_id: rotationId, recipient_kind: "principal", recipient_fingerprint: recipientFingerprint };
520
+ }
480
521
  return { repo_id: repoId, epoch, recipient_kind: "principal", recipient_fingerprint: recipientFingerprint };
481
522
  }
482
523
  /** Single-shot HPKE seal (Base mode) returning `{enc, ct}`. */
@@ -508,10 +549,11 @@ export async function sealKeyEnvelope(input) {
508
549
  fail("GITVAULT_BAD_TIMESTAMP", "created_at is not an RFC 3339 UTC ms timestamp", "sealing r402s/v0 key envelope");
509
550
  const createdBy = vkFingerprint(input.signer.public_key);
510
551
  const recipientFingerprint = ekFingerprint(input.recipient_public_key);
552
+ const rotationId = input.rotation_id ?? null;
511
553
  const { enc, ct } = await hpkeSeal({
512
554
  recipient_public_key: input.recipient_public_key,
513
555
  info: envelopeInfo(input.recipient_public_key, createdBy),
514
- aad: jcs(envelopeAad(input.repo_id, input.epoch, recipientFingerprint)),
556
+ aad: jcs(envelopeAad(input.repo_id, input.epoch, recipientFingerprint, rotationId)),
515
557
  plaintext: input.k_repo,
516
558
  ikm_e: input.ikm_e,
517
559
  });
@@ -527,6 +569,7 @@ export async function sealKeyEnvelope(input) {
527
569
  ct: toBase64url(ct),
528
570
  created_by: createdBy,
529
571
  created_at: input.created_at,
572
+ ...(rotationId ? { rotation_id: rotationId } : {}),
530
573
  };
531
574
  const envelope = signGitvaultObject(unsigned, input.signer.seed);
532
575
  const bytes = storedBytes(envelope);
@@ -536,13 +579,22 @@ export async function sealKeyEnvelope(input) {
536
579
  stored_bytes: bytes,
537
580
  stored_bytes_sha256: hash,
538
581
  size_bytes: String(bytes.length),
539
- receipt: { object_kind: "key_envelope", epoch: input.epoch, recipient_fingerprint: recipientFingerprint, stored_bytes_sha256: hash, size_bytes: String(bytes.length) },
582
+ receipt: {
583
+ object_kind: "key_envelope",
584
+ epoch: input.epoch,
585
+ recipient_fingerprint: recipientFingerprint,
586
+ stored_bytes_sha256: hash,
587
+ size_bytes: String(bytes.length),
588
+ ...(rotationId ? { rotation_id: rotationId } : {}),
589
+ },
540
590
  };
541
591
  }
542
592
  /**
543
593
  * Open a `key_envelope`: exact-scalar checks → signature (strict, domain
544
594
  * `key_envelope`) → path identity (recipient fingerprint = ours) → HPKE open
545
- * with the D188 info/AAD. Returns the raw 32-byte K_repo.
595
+ * with the D188 info/AAD (widened to the five-field form when the envelope
596
+ * itself carries `rotation_id` — D195/D203). Returns the raw 32-byte secret
597
+ * (`K_repo`/`K_1` at genesis, `K_e` for a rotation).
546
598
  */
547
599
  export async function openKeyEnvelope(input) {
548
600
  const env = input.envelope;
@@ -558,7 +610,7 @@ export async function openKeyEnvelope(input) {
558
610
  recipient_private_key: input.recipient.private_key,
559
611
  enc: fromBase64url(env.enc, "enc"),
560
612
  info: envelopeInfo(input.recipient.public_key, env.created_by),
561
- aad: jcs(envelopeAad(env.repo_id, env.epoch, env.recipient_fingerprint)),
613
+ aad: jcs(envelopeAad(env.repo_id, env.epoch, env.recipient_fingerprint, env.rotation_id ?? null)),
562
614
  ct: fromBase64url(env.ct, "ct"),
563
615
  });
564
616
  if (kRepo.length !== 32)
@@ -705,5 +757,222 @@ export function checkAllocation(allocation, expected, servicePublicKey) {
705
757
  problems.push("signature");
706
758
  return problems;
707
759
  }
760
+ // ─── Epoch rotation (D193-D203, rev 42, change gitvault-human-envelopes) ───
761
+ //
762
+ // Pure, isomorphic math shared by the producer (Node-only, gitvault-
763
+ // publication.ts's `rotateEpoch`, which has the live desired-recipient
764
+ // state + local keystore this module cannot see) and by vector generation.
765
+ // Every formula here MIRRORS the gateway's own pure functions in
766
+ // `packages/gateway/src/services/gitvault/epoch-rotation.ts` byte-for-byte
767
+ // (same field order is irrelevant — JCS sorts — but the SAME field SET and
768
+ // the SAME preimage construction is load-bearing: a drift here would build
769
+ // a descriptor/payload the gateway's own re-derivation refuses).
770
+ /** 16-hex epochs compare/increment as unsigned integers (chain.ts's `nextGeneration`, mirrored). */
771
+ export function epochValue(hex16) {
772
+ return BigInt("0x" + hex16);
773
+ }
774
+ export function nextEpoch(hex16) {
775
+ return (epochValue(hex16) + 1n).toString(16).padStart(16, "0");
776
+ }
777
+ function sortedDistinct(xs) {
778
+ return [...new Set(xs)].sort();
779
+ }
780
+ /**
781
+ * D196: `target_partition_digest = SHA-256(JCS({recipient_state_version,
782
+ * recipient_revocation_version, pin_manifest_version, pin_manifest_sha256,
783
+ * included: [sorted {principal_id, ek_fingerprint}], excluded_keyless_principal_ids:
784
+ * [sorted], excluded_unconfirmed_principal_ids: [sorted]}))`. The producer
785
+ * calls this ONCE to build the value it embeds in both the descriptor
786
+ * (D195) and the payload (D196); the gateway recomputes the SAME formula
787
+ * twice server-side and refuses on any disagreement — so a bug here is a
788
+ * `RECIPIENT_SET_MISMATCH` at admission time, not a silent forgery.
789
+ */
790
+ export function computeTargetPartitionDigest(input) {
791
+ const includedSorted = [...input.included].sort((a, b) => (a.principal_id < b.principal_id ? -1 : a.principal_id > b.principal_id ? 1 : 0));
792
+ const body = {
793
+ recipient_state_version: input.recipient_state_version,
794
+ recipient_revocation_version: input.recipient_revocation_version,
795
+ pin_manifest_version: input.pin_manifest_version,
796
+ pin_manifest_sha256: input.pin_manifest_sha256,
797
+ included: includedSorted.map((p) => ({ principal_id: p.principal_id, ek_fingerprint: p.ek_fingerprint })),
798
+ excluded_keyless_principal_ids: sortedDistinct(input.excluded_keyless_principal_ids),
799
+ excluded_unconfirmed_principal_ids: sortedDistinct(input.excluded_unconfirmed_principal_ids),
800
+ };
801
+ return sha256Hex(jcs(body));
802
+ }
803
+ /**
804
+ * D195: `rotation_id = lowerhex(SHA-256(JCS(the complete descriptor object,
805
+ * MINUS signature)))` — the full 64-hex digest, computed over the descriptor
806
+ * INCLUDING `attempt_key_commitment` (a field ON the descriptor). Callers
807
+ * pass the SIGNED descriptor (or the unsigned one — the signature member is
808
+ * stripped either way, matching the gateway's `computeRotationId`).
809
+ */
810
+ export function computeRotationId(descriptor) {
811
+ return sha256Hex(jcs(gitvaultWithoutSignature(descriptor)));
812
+ }
813
+ /**
814
+ * D195's `attempt_key_commitment` preimage: the descriptor's OWN fields
815
+ * minus `attempt_key_commitment` itself (and minus `signature`, which does
816
+ * not exist yet at this point in the build) — `rotation_id` is never a
817
+ * member of the descriptor object at all (it is the object's derived path
818
+ * key), so there is nothing to additionally strip for it. Noncircular by
819
+ * construction: `attempt_key_commitment` must exist before `rotation_id`
820
+ * can be computed FROM the complete descriptor.
821
+ */
822
+ export function attemptKeyCommitmentPreimage(descriptorFields) {
823
+ return { ...descriptorFields };
824
+ }
825
+ /**
826
+ * D195/§1's `"epoch_rotation_attempt"` commitment: `HMAC-SHA-256(K_digest(
827
+ * "epoch_rotation_attempt", repo_id, new_epoch), JCS(the descriptor's own
828
+ * fields minus attempt_key_commitment), ikm=K_e)` — keyed by the SAMPLED
829
+ * epoch key being distributed, not `K_repo` (D195/D200/§1: "every one keyed
830
+ * by the SAMPLED epoch key... since the value being committed IS the key
831
+ * being distributed"). `K_digest`'s own `epoch` parameter is `new_epoch`
832
+ * (this rotation's OWN epoch) — the natural, and only internally-consistent,
833
+ * reading of §1's generic formula for a value that is a property of the new
834
+ * epoch's key; there is no gateway-side computation of this value to cross-
835
+ * check against (the gateway never sees `K_e`), so this is the SDK's own
836
+ * considered wire-shape decision, stated here rather than guessed silently.
837
+ */
838
+ export function attemptKeyCommitment(kE, repoId, newEpoch, descriptorFields) {
839
+ const kDigest = deriveDigestKeyFrom(kE, repoId, newEpoch, "epoch_rotation_attempt");
840
+ return keyedCommitment(kDigest, attemptKeyCommitmentPreimage(descriptorFields));
841
+ }
842
+ /**
843
+ * D200/§1's `"epoch_rotation"` commitment: `HMAC-SHA-256(K_digest(
844
+ * "epoch_rotation", repo_id, new_epoch), JCS({rotation_id, fingerprints:
845
+ * [sorted pairwise-distinct]}), ikm=K_e)`. Proves a PER-RECIPIENT self-check
846
+ * only (D200's narrowed claim) — never global set-coherence. A recipient
847
+ * who opens their own envelope recovers `K_e` + `epoch` (== `new_epoch`)
848
+ * directly from the envelope itself, so they can recompute this independent
849
+ * of the descriptor/payload — confirming `new_epoch` is the right `K_digest`
850
+ * epoch parameter (the same value both the producer and every recipient
851
+ * arrive at without coordination).
852
+ */
853
+ export function epochRotationKeyCommitment(kE, repoId, newEpoch, rotationId, fingerprints) {
854
+ const kDigest = deriveDigestKeyFrom(kE, repoId, newEpoch, "epoch_rotation");
855
+ return keyedCommitment(kDigest, { rotation_id: rotationId, fingerprints: sortedDistinct(fingerprints) });
856
+ }
857
+ /**
858
+ * D198's genesis-specific `"vault_genesis_epoch_key"` commitment — the same
859
+ * per-recipient-self-check discipline applied to an N-recipient genesis,
860
+ * with its own noncircular preimage (no `rotation_id` exists at generation
861
+ * zero). Not built by this SDK's genesis path today (single-recipient
862
+ * genesis only); exported for vector generation / future N-recipient
863
+ * genesis support.
864
+ */
865
+ export function genesisEpochKeyCommitment(k1, repoId, fingerprints) {
866
+ const kDigest = deriveDigestKeyFrom(k1, repoId, GITVAULT_GENESIS_EPOCH, "vault_genesis_epoch_key");
867
+ return keyedCommitment(kDigest, { repo_id: repoId, generation: GITVAULT_GENESIS_GENERATION, epoch: GITVAULT_GENESIS_EPOCH, fingerprints: sortedDistinct(fingerprints) });
868
+ }
869
+ /**
870
+ * D195's producer obligation the round-3 review's own decisive witness
871
+ * forces: "a producer that cannot prove it is resuming its OWN prior
872
+ * in-flight attempt... MUST mint a fresh `client_idempotency_key`... before
873
+ * uploading any envelope." The corollary — and what actually PREVENTS the
874
+ * complementary-path mosaic client-side, before the descriptor's create-only
875
+ * CAS even gets a chance to catch it server-side — is that a fresh K_e must
876
+ * never equal any epoch key this client has ever locally held (constant-time
877
+ * comparison; a match is evidence of a broken CSPRNG or a reused seed, not a
878
+ * legitimate resume, since a genuine resume reuses the SAME
879
+ * client_idempotency_key AND therefore builds the identical descriptor, not
880
+ * merely the same K_e in isolation).
881
+ */
882
+ export function checkFreshEpochKeyAgainstPriorKeys(kE, priorKeys) {
883
+ if (kE.length !== 32)
884
+ fail("GITVAULT_BAD_KEY", "a freshly sampled K_e must be 32 bytes", "sampling a fresh epoch key");
885
+ const fresh = bytesToHex(kE);
886
+ for (const prior of priorKeys) {
887
+ if (bytesToHex(prior) === fresh) {
888
+ fail("GITVAULT_EPOCH_KEY_NOT_FRESH", "the freshly sampled K_e equals a prior epoch key already held locally — refusing to seal under it", "sampling a fresh epoch key");
889
+ }
890
+ }
891
+ }
892
+ /**
893
+ * D196's pair-level bijection, mirrored client-side as a PRE-SUBMIT
894
+ * self-check (the gateway's own recomputation under its live desired-state
895
+ * lock remains the authoritative check — this exists so a client-side
896
+ * partition bug surfaces as a clear local error instead of a round trip
897
+ * that ends in `RECIPIENT_SET_MISMATCH`).
898
+ */
899
+ export function checkHPartition(input) {
900
+ const includedIds = input.included.map((p) => p.principal_id);
901
+ const includedFps = input.included.map((p) => p.ek_fingerprint);
902
+ if (new Set(includedIds).size !== includedIds.length)
903
+ return { ok: false, detail: "envelopes[].principal_id are not pairwise-distinct" };
904
+ if (new Set(includedFps).size !== includedFps.length)
905
+ return { ok: false, detail: "envelopes[].envelope.recipient_fingerprint are not pairwise-distinct" };
906
+ if (new Set(input.excludedKeylessPrincipalIds).size !== input.excludedKeylessPrincipalIds.length)
907
+ return { ok: false, detail: "excluded_keyless_principal_ids are not pairwise-distinct" };
908
+ if (new Set(input.excludedUnconfirmedPrincipalIds).size !== input.excludedUnconfirmedPrincipalIds.length)
909
+ return { ok: false, detail: "excluded_unconfirmed_principal_ids are not pairwise-distinct" };
910
+ const partition = new Map();
911
+ for (const id of includedIds) {
912
+ if (partition.has(id))
913
+ return { ok: false, detail: `principal ${id} appears more than once across the partition` };
914
+ partition.set(id, "included");
915
+ }
916
+ for (const id of input.excludedKeylessPrincipalIds) {
917
+ if (partition.has(id))
918
+ return { ok: false, detail: `principal ${id} appears more than once across the partition` };
919
+ partition.set(id, "keyless");
920
+ }
921
+ for (const id of input.excludedUnconfirmedPrincipalIds) {
922
+ if (partition.has(id))
923
+ return { ok: false, detail: `principal ${id} appears more than once across the partition` };
924
+ partition.set(id, "unconfirmed");
925
+ }
926
+ if (partition.size !== input.desiredPrincipalIds.size)
927
+ return { ok: false, detail: `partition covers ${partition.size} principals; H has ${input.desiredPrincipalIds.size}` };
928
+ for (const id of partition.keys())
929
+ if (!input.desiredPrincipalIds.has(id))
930
+ return { ok: false, detail: `principal ${id} is not in the current desired-recipient set H` };
931
+ for (const id of input.desiredPrincipalIds)
932
+ if (!partition.has(id))
933
+ return { ok: false, detail: `principal ${id} in H is named by neither envelopes[] nor either exclusion array` };
934
+ for (const pair of input.included) {
935
+ if (!input.keyedPrincipalIds.has(pair.principal_id))
936
+ return { ok: false, detail: `included principal ${pair.principal_id} has no enrolled key` };
937
+ const pinned = input.pinnedFingerprintOf.get(pair.principal_id);
938
+ if (pinned === undefined)
939
+ return { ok: false, detail: `included principal ${pair.principal_id} has no live pin-manifest entry` };
940
+ if (pinned !== pair.ek_fingerprint)
941
+ return { ok: false, detail: `included principal ${pair.principal_id}'s envelope fingerprint does not match the effective pin manifest's binding` };
942
+ }
943
+ for (const id of input.excludedKeylessPrincipalIds) {
944
+ if (input.keyedPrincipalIds.has(id))
945
+ return { ok: false, detail: `excluded-keyless principal ${id} actually has an enrolled key` };
946
+ }
947
+ for (const id of input.excludedUnconfirmedPrincipalIds) {
948
+ if (!input.keyedPrincipalIds.has(id))
949
+ return { ok: false, detail: `excluded-unconfirmed principal ${id} is keyless, not unconfirmed` };
950
+ if (input.pinnedFingerprintOf.has(id))
951
+ return { ok: false, detail: `excluded-unconfirmed principal ${id} actually has a live pin-manifest entry` };
952
+ }
953
+ return { ok: true };
954
+ }
955
+ /** D197's full-map conservation rule: `next_map = prior_map + receipt-authorized additions/replacements`, deletion-by-omission forbidden. */
956
+ export function checkPinManifestConservation(prior, next) {
957
+ const nextIds = new Set(next.map((p) => p.principal_id));
958
+ for (const p of prior) {
959
+ if (!nextIds.has(p.principal_id))
960
+ return { ok: false, detail: `principal ${p.principal_id} present in the predecessor manifest is missing from the successor — deletion by omission is forbidden in V0` };
961
+ }
962
+ const seen = new Set();
963
+ for (const p of next) {
964
+ if (seen.has(p.principal_id))
965
+ return { ok: false, detail: `principal ${p.principal_id} appears more than once in the manifest` };
966
+ seen.add(p.principal_id);
967
+ }
968
+ return { ok: true };
969
+ }
970
+ /** The synthetic ledger id a path-addressed `key_envelope` gets — mirrors the gateway's `keyEnvelopeLedgerId` exactly (drift here breaks receipt pairing at upload finalize). */
971
+ export function keyEnvelopeLedgerId(epoch, fingerprint, rotationId) {
972
+ return rotationId ? `key_envelope:${epoch}:${rotationId}:${fingerprint}` : `key_envelope:${epoch}:${fingerprint}`;
973
+ }
974
+ export function pinManifestLedgerId(pinManifestVersion) {
975
+ return `recipient_pin_manifest:${pinManifestVersion}`;
976
+ }
708
977
  export { bytesToHex, hexToBytes };
709
978
  //# sourceMappingURL=gitvault.crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault.crypto.js","sourceRoot":"","sources":["../../src/namespaces/gitvault.crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault.crypto.js","sourceRoot":"","sources":["../../src/namespaces/gitvault.crypto.ts"],"names":[],"mappings":"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"}