@run402/sdk 4.39.1 → 4.41.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.
- package/README.md +4 -4
- package/dist/errors.d.ts +5 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/namespaces/gitvault.crypto.d.ts +10 -0
- package/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
- package/dist/namespaces/gitvault.crypto.js +10 -0
- package/dist/namespaces/gitvault.crypto.js.map +1 -1
- package/dist/namespaces/gitvault.d.ts +285 -5
- package/dist/namespaces/gitvault.d.ts.map +1 -1
- package/dist/namespaces/gitvault.js +369 -8
- package/dist/namespaces/gitvault.js.map +1 -1
- package/dist/node/gitvault-apply.d.ts +1 -1
- package/dist/node/gitvault-apply.d.ts.map +1 -1
- package/dist/node/gitvault-apply.js +6 -6
- package/dist/node/gitvault-apply.js.map +1 -1
- package/dist/node/gitvault-creation-journal.js +1 -1
- package/dist/node/gitvault-creation-journal.js.map +1 -1
- package/dist/node/gitvault-deploy.js +2 -2
- package/dist/node/gitvault-deploy.js.map +1 -1
- package/dist/node/gitvault-keystore.d.ts +11 -1
- package/dist/node/gitvault-keystore.d.ts.map +1 -1
- package/dist/node/gitvault-keystore.js.map +1 -1
- package/dist/node/gitvault-mirror-backend.d.ts +88 -0
- package/dist/node/gitvault-mirror-backend.d.ts.map +1 -0
- package/dist/node/gitvault-mirror-backend.js +374 -0
- package/dist/node/gitvault-mirror-backend.js.map +1 -0
- package/dist/node/gitvault-mirror-config.d.ts +53 -0
- package/dist/node/gitvault-mirror-config.d.ts.map +1 -0
- package/dist/node/gitvault-mirror-config.js +112 -0
- package/dist/node/gitvault-mirror-config.js.map +1 -0
- package/dist/node/gitvault-mirror.d.ts +120 -0
- package/dist/node/gitvault-mirror.d.ts.map +1 -0
- package/dist/node/gitvault-mirror.js +464 -0
- package/dist/node/gitvault-mirror.js.map +1 -0
- package/dist/node/gitvault-publication.d.ts +153 -3
- package/dist/node/gitvault-publication.d.ts.map +1 -1
- package/dist/node/gitvault-publication.js +182 -13
- package/dist/node/gitvault-publication.js.map +1 -1
- package/dist/node/gitvault-recover.d.ts +136 -0
- package/dist/node/gitvault-recover.d.ts.map +1 -0
- package/dist/node/gitvault-recover.js +412 -0
- package/dist/node/gitvault-recover.js.map +1 -0
- package/dist/node/gitvault-snapshot.d.ts +8 -0
- package/dist/node/gitvault-snapshot.d.ts.map +1 -1
- package/dist/node/gitvault-snapshot.js +11 -0
- package/dist/node/gitvault-snapshot.js.map +1 -1
- package/package.json +1 -1
|
@@ -388,6 +388,61 @@ export interface GitvaultTransport extends GitvaultCreationTransport {
|
|
|
388
388
|
repo_id: string;
|
|
389
389
|
prune_intent_object_id: string;
|
|
390
390
|
}): Promise<GitvaultPruneIntentRecord | null>;
|
|
391
|
+
/**
|
|
392
|
+
* The org's directory of envelope-capable principals (gitvault-human-
|
|
393
|
+
* envelopes design D7, `GET /orgs/v1/:org_id/encryption-keys`) — every
|
|
394
|
+
* active human member who has published an encryption key. Read by
|
|
395
|
+
* {@link GitvaultVault.reconcileEnvelopeRecipients} to diff against a
|
|
396
|
+
* vault's current recipient set.
|
|
397
|
+
*/
|
|
398
|
+
listOrgEncryptionKeys(request: {
|
|
399
|
+
org_id: string;
|
|
400
|
+
}): Promise<GitvaultOrgEncryptionKeyDirectory>;
|
|
401
|
+
/**
|
|
402
|
+
* The `ek_` fingerprints already covering this vault, at any epoch
|
|
403
|
+
* (`GET /gitvault/v1/vaults/:vault_id/envelope-recipients`, task 2.2) —
|
|
404
|
+
* fingerprints only, never envelope bytes; the recipient-only rule on
|
|
405
|
+
* envelope BYTES elsewhere is unaffected.
|
|
406
|
+
*/
|
|
407
|
+
listEnvelopeRecipients(request: {
|
|
408
|
+
repo_id: string;
|
|
409
|
+
}): Promise<GitvaultEnvelopeRecipientsResponse>;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* One row of the org's envelope-capable-principal directory
|
|
413
|
+
* ({@link GitvaultTransport.listOrgEncryptionKeys}).
|
|
414
|
+
*
|
|
415
|
+
* `public_key` is OPTIONAL because the shipped gateway route
|
|
416
|
+
* (`GET /orgs/v1/:org_id/encryption-keys`, `routes/org.ts` in
|
|
417
|
+
* run402-private) does not return it yet: `services/
|
|
418
|
+
* principal-encryption-keys.ts:listOrgEncryptionKeyDirectory`'s SELECT
|
|
419
|
+
* omits `pk.public_key` and the route's response `.map()` doesn't forward
|
|
420
|
+
* it — a three-line fix (the SELECT list, the `EncryptionKeyDirectoryEntry`
|
|
421
|
+
* type, and the route's map) that has not shipped as of 2026-08-26. Until
|
|
422
|
+
* it does, {@link GitvaultVault.reconcileEnvelopeRecipients} reports every
|
|
423
|
+
* directory entry as `skipped` with reason `missing_public_key` — this type
|
|
424
|
+
* and the reconcile method are written against the INTENDED response shape
|
|
425
|
+
* and need no further change once the gateway ships the field.
|
|
426
|
+
*/
|
|
427
|
+
export interface GitvaultOrgEncryptionKeyEntry {
|
|
428
|
+
principal_id: string;
|
|
429
|
+
display_name: string | null;
|
|
430
|
+
ek_fingerprint: string;
|
|
431
|
+
suite: string;
|
|
432
|
+
created_at: string;
|
|
433
|
+
/** Raw base64url X25519 public key — absent on gateways that haven't shipped the fix noted above. */
|
|
434
|
+
public_key?: string;
|
|
435
|
+
[key: string]: unknown;
|
|
436
|
+
}
|
|
437
|
+
/** `GET /orgs/v1/:org_id/encryption-keys` — {@link GitvaultTransport.listOrgEncryptionKeys}'s result. */
|
|
438
|
+
export interface GitvaultOrgEncryptionKeyDirectory {
|
|
439
|
+
org_id: string;
|
|
440
|
+
keys: GitvaultOrgEncryptionKeyEntry[];
|
|
441
|
+
}
|
|
442
|
+
/** `GET /gitvault/v1/vaults/:vault_id/envelope-recipients` — {@link GitvaultTransport.listEnvelopeRecipients}'s result. */
|
|
443
|
+
export interface GitvaultEnvelopeRecipientsResponse {
|
|
444
|
+
vault_id: string;
|
|
445
|
+
recipient_fingerprints: string[];
|
|
391
446
|
}
|
|
392
447
|
/** `GET /gitvault/v1/vaults/:vault_id` — the shape `reads.ts:getVaultRecord` returns. */
|
|
393
448
|
export interface GitvaultVaultRecord {
|
|
@@ -454,6 +509,8 @@ export declare const gitvaultPaths: {
|
|
|
454
509
|
readonly cutoffTicket: (id: string) => string;
|
|
455
510
|
/** `verifier-receipts/<vr>.json` — plaintext-structured, uploaded before a prune intent may reference it (§7.3). */
|
|
456
511
|
readonly verifierReceipt: (id: string) => string;
|
|
512
|
+
/** `envelopes/<epoch>/<recipient_fingerprint>` — mirrors `gitvault-creation-journal.ts`'s private `envelopePath` (the genesis creator's envelope); this is the same addressing for every OTHER recipient's `key_envelope`. */
|
|
513
|
+
readonly envelope: (epoch: string, recipientFingerprint: string) => string;
|
|
457
514
|
};
|
|
458
515
|
export interface GitvaultVaultOptions {
|
|
459
516
|
keystore: GitvaultKeystore;
|
|
@@ -492,6 +549,33 @@ export interface GitvaultMaterializedState extends GitvaultVerifiedState {
|
|
|
492
549
|
roots: GitvaultRetentionRoot[];
|
|
493
550
|
head_target: GitvaultHeadTarget;
|
|
494
551
|
}
|
|
552
|
+
/** One directory entry {@link GitvaultVault.reconcileEnvelopeRecipients} wrapped a fresh `key_envelope` for. */
|
|
553
|
+
export interface GitvaultReconcileEnvelopeRecipientsWrapped {
|
|
554
|
+
principal_id: string;
|
|
555
|
+
ek_fingerprint: string;
|
|
556
|
+
}
|
|
557
|
+
/** Why {@link GitvaultVault.reconcileEnvelopeRecipients} did NOT wrap a directory entry it otherwise would have. */
|
|
558
|
+
export type GitvaultReconcileEnvelopeRecipientsSkipReason = "missing_public_key" | "invalid_public_key" | "pinned_key_mismatch";
|
|
559
|
+
export interface GitvaultReconcileEnvelopeRecipientsSkipped {
|
|
560
|
+
principal_id: string;
|
|
561
|
+
ek_fingerprint: string;
|
|
562
|
+
reason: GitvaultReconcileEnvelopeRecipientsSkipReason;
|
|
563
|
+
/** `pinned_key_mismatch`: `{pinned_fingerprint, directory_fingerprint}`. `invalid_public_key` (derivation mismatch): `{derived_fingerprint}`. Absent for `missing_public_key` and a bad-encoding `invalid_public_key`. */
|
|
564
|
+
details?: Record<string, unknown>;
|
|
565
|
+
}
|
|
566
|
+
/** {@link GitvaultVault.reconcileEnvelopeRecipients}'s full per-recipient breakdown. */
|
|
567
|
+
export interface GitvaultReconcileEnvelopeRecipientsResult {
|
|
568
|
+
repo_id: string;
|
|
569
|
+
org_id: string;
|
|
570
|
+
/** The epoch every wrap in this call used (V0: always {@link GITVAULT_GENESIS_EPOCH}). */
|
|
571
|
+
epoch: string;
|
|
572
|
+
/** Directory entries this call itself wrapped a NEW `key_envelope` for. */
|
|
573
|
+
wrapped: GitvaultReconcileEnvelopeRecipientsWrapped[];
|
|
574
|
+
/** `ek_` fingerprints already covering the vault before (or, for a raced wrap, as of) this call — no action taken. */
|
|
575
|
+
already_covered: string[];
|
|
576
|
+
/** Directory entries this call could not (or, for `pinned_key_mismatch`, would not) wrap. */
|
|
577
|
+
skipped: GitvaultReconcileEnvelopeRecipientsSkipped[];
|
|
578
|
+
}
|
|
495
579
|
export interface GitvaultPushOptions {
|
|
496
580
|
transaction: GitvaultRefTransaction;
|
|
497
581
|
/** New `HEAD` target for the published ref_state; carried forward when omitted. */
|
|
@@ -604,13 +688,77 @@ export declare class GitvaultVault {
|
|
|
604
688
|
* List from the authenticated pin and verify every link upward. Persists
|
|
605
689
|
* the verified prefix after each page, so a `VERIFICATION_BUDGET_EXCEEDED`
|
|
606
690
|
* continues rather than restarts. Returns the newest verified state.
|
|
691
|
+
*
|
|
692
|
+
* `options.persist` (default `true`, repo-surface-consolidation task 3.3 —
|
|
693
|
+
* `repos fsck --no-write`'s audit mode): when `false`, the chain is walked
|
|
694
|
+
* and verified exactly the same way, but every `keystore.updateRepo(...)`
|
|
695
|
+
* write below is skipped — no local trust pin advances. A
|
|
696
|
+
* `VERIFICATION_BUDGET_EXCEEDED` pause in this mode persists nothing, so a
|
|
697
|
+
* retry restarts from the ORIGINAL pin rather than resuming — the honest
|
|
698
|
+
* consequence of asking for a no-write audit and then walking off the end
|
|
699
|
+
* of one call's budget.
|
|
607
700
|
*/
|
|
608
|
-
verifyToNewest(
|
|
701
|
+
verifyToNewest(options?: {
|
|
702
|
+
persist?: boolean;
|
|
703
|
+
}): Promise<GitvaultVerifiedState>;
|
|
609
704
|
private readHead;
|
|
610
705
|
/** Decrypt one encrypted carrier object by its receipt; any failure is `CHAIN_UNUSABLE`. */
|
|
611
706
|
private openCarrier;
|
|
612
|
-
/**
|
|
613
|
-
|
|
707
|
+
/**
|
|
708
|
+
* Verify to newest, then decrypt + apply its carriers — advancing the
|
|
709
|
+
* materialized pin. `options.persist` (default `true`) is forwarded to
|
|
710
|
+
* {@link verifyToNewest} and gates this method's OWN `materialized_pin`
|
|
711
|
+
* write the same way — `repos fsck --no-write` computes and returns the
|
|
712
|
+
* real ref map and generation without moving either local pin.
|
|
713
|
+
*/
|
|
714
|
+
materialize(options?: {
|
|
715
|
+
persist?: boolean;
|
|
716
|
+
}): Promise<GitvaultMaterializedState>;
|
|
717
|
+
/**
|
|
718
|
+
* Wrap the vault's CURRENT epoch key to every org member the directory
|
|
719
|
+
* lists but the vault does not yet have a `key_envelope` for.
|
|
720
|
+
*
|
|
721
|
+
* **This is task 1.1's residual WORKAROUND, not the design D5 ideal.** D5
|
|
722
|
+
* describes a recipient-set change as an epoch rotation — "history epochs
|
|
723
|
+
* stay wrapped as they were; a new member reads from their first covered
|
|
724
|
+
* epoch forward" — which needs a protocol revision (task 1, BLOCKED as of
|
|
725
|
+
* 2026-08-26: V0 pins `epoch` to the single constant
|
|
726
|
+
* `GITVAULT_GENESIS_EPOCH` on every head, so there is no "forward" to
|
|
727
|
+
* speak of yet). What this method actually does, legally, without any
|
|
728
|
+
* protocol change: `key_envelope` objects are never head-referenced (not
|
|
729
|
+
* even genesis's own envelope is), so uploading an ADDITIONAL one at
|
|
730
|
+
* `envelopes/<current epoch>/<recipient fingerprint>` for a missing
|
|
731
|
+
* recipient is accepted by the existing generic create-only upload route
|
|
732
|
+
* as-is. The honest consequence: a newly-wrapped member gets the SAME
|
|
733
|
+
* single epoch every existing member already has, which in V0 means the
|
|
734
|
+
* vault's ENTIRE history — not "from here forward." True forward-only
|
|
735
|
+
* semantics wait on task 1's protocol revision; this method does not
|
|
736
|
+
* pretend otherwise.
|
|
737
|
+
*
|
|
738
|
+
* **TOFU pinning (design D4 point 3).** The first time this repo wraps a
|
|
739
|
+
* given `principal_id`, its CURRENT `ek_fingerprint` is pinned in the
|
|
740
|
+
* keystore repo file (`envelope_recipient_pins`). On a later call, a
|
|
741
|
+
* directory entry whose fingerprint no longer matches its pin is a
|
|
742
|
+
* REFUSAL for that recipient ONLY — reported under `skipped` with reason
|
|
743
|
+
* `pinned_key_mismatch` and both fingerprints in `details`, never wrapped
|
|
744
|
+
* under the new key, and never a thrown error that would abort the whole
|
|
745
|
+
* call (other recipients still get processed). Whether that mismatch is a
|
|
746
|
+
* legitimate key rotation or a substitution is a product/human decision
|
|
747
|
+
* this SDK does not make unattended.
|
|
748
|
+
*
|
|
749
|
+
* **The gateway directory route does not carry `public_key` yet**
|
|
750
|
+
* (`GET /orgs/v1/:org_id/encryption-keys` — see the doc comment on
|
|
751
|
+
* {@link GitvaultOrgEncryptionKeyEntry}). Until it does, every directory
|
|
752
|
+
* entry is reported under `skipped` with reason `missing_public_key`;
|
|
753
|
+
* this method needs no further change once the gateway ships the field.
|
|
754
|
+
*
|
|
755
|
+
* Best-effort by design at the call site, not here: this method itself
|
|
756
|
+
* either completes (returning a full per-recipient breakdown) or throws
|
|
757
|
+
* (e.g. `GITVAULT_READ_ONLY` when this principal holds no signing key).
|
|
758
|
+
* Callers that want "never block on this" (the deploy hook) wrap the call
|
|
759
|
+
* themselves — see `Gitvault.push`'s `#tryReconcileEnvelopeRecipients`.
|
|
760
|
+
*/
|
|
761
|
+
reconcileEnvelopeRecipients(): Promise<GitvaultReconcileEnvelopeRecipientsResult>;
|
|
614
762
|
private seal;
|
|
615
763
|
/**
|
|
616
764
|
* The owner signing seed, or `GITVAULT_READ_ONLY`.
|
|
@@ -623,6 +771,8 @@ export declare class GitvaultVault {
|
|
|
623
771
|
*/
|
|
624
772
|
signer(): Uint8Array;
|
|
625
773
|
private writerKeyId;
|
|
774
|
+
/** The owner's full signing keypair, or `GITVAULT_READ_ONLY` — same refusal path as {@link signer}, which returns only the seed; {@link sealKeyEnvelope} needs both halves. */
|
|
775
|
+
private signingKeypair;
|
|
626
776
|
private buildRefState;
|
|
627
777
|
private buildRetentionRoots;
|
|
628
778
|
/** Plaintext, independently non-thin packs covering `reachable(tips) ∖ reachable(base)`, split at the multi-object target. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-publication.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-publication.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitvault-publication.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-publication.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ import { mkdtempSync, readdirSync, readFileSync, rmSync } from "node:fs";
|
|
|
37
37
|
import { tmpdir } from "node:os";
|
|
38
38
|
import { join } from "node:path";
|
|
39
39
|
import { LocalError, isRun402Error } from "../errors.js";
|
|
40
|
-
import { GITVAULT_FORMAT, GITVAULT_GENESIS_EPOCH, GITVAULT_GENESIS_GENERATION, GITVAULT_HEX16_RE, GITVAULT_OID40_RE, GITVAULT_SUITE, deriveDigestKey, deriveObjectKey, formatGitvaultTimestamp, hexToBytes, jcs, keyedCommitment, newGitvaultId, objectsetContent, openBindingPreimage, openFrame, parseGitvaultStrict, sealFrame, sha256Hex, signGitvaultObject, storedBytes, verifyGitvaultObject, } from "../namespaces/gitvault.crypto.js";
|
|
40
|
+
import { GITVAULT_FORMAT, GITVAULT_GENESIS_EPOCH, GITVAULT_GENESIS_GENERATION, GITVAULT_HEX16_RE, GITVAULT_OID40_RE, GITVAULT_SUITE, deriveDigestKey, deriveObjectKey, ekFingerprint, formatGitvaultTimestamp, fromBase64url, hexToBytes, jcs, keyedCommitment, newGitvaultId, objectsetContent, openBindingPreimage, openFrame, parseGitvaultStrict, sealFrame, sealKeyEnvelope, sha256Hex, signGitvaultObject, storedBytes, verifyGitvaultObject, } from "../namespaces/gitvault.crypto.js";
|
|
41
41
|
import { crossProfileGitvaultHint } from "./gitvault-profile-scan.js";
|
|
42
42
|
import { GITVAULT_DEPLOY_REF, hardenedGit, hasObject, isAncestor } from "./gitvault-snapshot.js";
|
|
43
43
|
// ─── Constants (constants.json) ──────────────────────────────────────────────
|
|
@@ -588,6 +588,8 @@ export function createGitvaultHttpTransport(client, options = {}) {
|
|
|
588
588
|
getVaultRecord: ({ repo_id }) => client.request(base(repo_id), { context: "reading the gitvault record" }),
|
|
589
589
|
findVaultByProject: ({ project_id }) => client.request(`/gitvault/v1/vaults?project_id=${encodeURIComponent(project_id)}`, { context: "resolving the project's gitvault" }),
|
|
590
590
|
findVaultByRepo: ({ org_slug, repo_name }) => client.request(`/gitvault/v1/vaults?repo=${encodeURIComponent(`${org_slug}/${repo_name}`)}`, { context: "resolving the gitvault by repo address" }),
|
|
591
|
+
listOrgEncryptionKeys: ({ org_id }) => client.request(`/orgs/v1/${encodeURIComponent(org_id)}/encryption-keys`, { context: "reading the org encryption-key directory" }),
|
|
592
|
+
listEnvelopeRecipients: ({ repo_id }) => client.request(`${base(repo_id)}/envelope-recipients`, { context: "reading the gitvault envelope recipients" }),
|
|
591
593
|
acquireMaintenanceLease: ({ repo_id, base_head_sha256, current_checkpoint_hash, r1_size_bytes, r2_cap_size_bytes, p_before_c1_size_bytes, p_before_c2_size_bytes }) => client.request(`${base(repo_id)}/maintenance-leases`, {
|
|
592
594
|
method: "POST",
|
|
593
595
|
body: {
|
|
@@ -658,6 +660,8 @@ export const gitvaultPaths = {
|
|
|
658
660
|
cutoffTicket: (id) => `retention/${id}.ticket.json`,
|
|
659
661
|
/** `verifier-receipts/<vr>.json` — plaintext-structured, uploaded before a prune intent may reference it (§7.3). */
|
|
660
662
|
verifierReceipt: (id) => `verifier-receipts/${id}.json`,
|
|
663
|
+
/** `envelopes/<epoch>/<recipient_fingerprint>` — mirrors `gitvault-creation-journal.ts`'s private `envelopePath` (the genesis creator's envelope); this is the same addressing for every OTHER recipient's `key_envelope`. */
|
|
664
|
+
envelope: (epoch, recipientFingerprint) => `envelopes/${epoch}/${recipientFingerprint}`,
|
|
661
665
|
};
|
|
662
666
|
/** A transport-agnostic view of git ops the publication needs (the local repository). */
|
|
663
667
|
export class GitvaultVault {
|
|
@@ -731,8 +735,18 @@ export class GitvaultVault {
|
|
|
731
735
|
* List from the authenticated pin and verify every link upward. Persists
|
|
732
736
|
* the verified prefix after each page, so a `VERIFICATION_BUDGET_EXCEEDED`
|
|
733
737
|
* continues rather than restarts. Returns the newest verified state.
|
|
738
|
+
*
|
|
739
|
+
* `options.persist` (default `true`, repo-surface-consolidation task 3.3 —
|
|
740
|
+
* `repos fsck --no-write`'s audit mode): when `false`, the chain is walked
|
|
741
|
+
* and verified exactly the same way, but every `keystore.updateRepo(...)`
|
|
742
|
+
* write below is skipped — no local trust pin advances. A
|
|
743
|
+
* `VERIFICATION_BUDGET_EXCEEDED` pause in this mode persists nothing, so a
|
|
744
|
+
* retry restarts from the ORIGINAL pin rather than resuming — the honest
|
|
745
|
+
* consequence of asking for a no-write audit and then walking off the end
|
|
746
|
+
* of one call's budget.
|
|
734
747
|
*/
|
|
735
|
-
async verifyToNewest() {
|
|
748
|
+
async verifyToNewest(options = {}) {
|
|
749
|
+
const persist = options.persist ?? true;
|
|
736
750
|
const { genesis, sha256: genesisSha } = await this.genesis();
|
|
737
751
|
const writerKey = genesis.creator_signing_pubkey;
|
|
738
752
|
const writerKeyId = genesis.writer_key_id;
|
|
@@ -748,8 +762,11 @@ export class GitvaultVault {
|
|
|
748
762
|
progress = verifyHeadsListingPage(page, request, progress, this.repoId);
|
|
749
763
|
for (const entry of page.heads) {
|
|
750
764
|
if (verified >= this.budget) {
|
|
751
|
-
|
|
752
|
-
|
|
765
|
+
if (persist)
|
|
766
|
+
this.keystore.updateRepo(this.repoId, { verified_prefix: pin });
|
|
767
|
+
fail("VERIFICATION_BUDGET_EXCEEDED", persist
|
|
768
|
+
? `${verified} heads verified this call; the verified prefix (generation ${pin.generation}) is persisted — call again to continue`
|
|
769
|
+
: `${verified} heads verified this call in no-write mode; nothing was persisted — a retry restarts from the original pin, not generation ${pin.generation}`, "verifying gitvault chain", { verified_through: pin.generation, persisted: persist }, [{ action: persist ? "resume verification from the persisted verified prefix" : "re-run without --no-write to persist and resume incrementally, or re-run this same audit call again from the start" }]);
|
|
753
770
|
}
|
|
754
771
|
const bytes = await this.transport.getObject({ repo_id: this.repoId, path: gitvaultPaths.head(entry.generation) });
|
|
755
772
|
if (!bytes)
|
|
@@ -761,21 +778,24 @@ export class GitvaultVault {
|
|
|
761
778
|
}
|
|
762
779
|
catch (e) {
|
|
763
780
|
// fail closed: pin stays BELOW the transition head; the verified prefix is cleared (this is the final state, not a budget pause)
|
|
764
|
-
|
|
781
|
+
if (persist)
|
|
782
|
+
this.keystore.updateRepo(this.repoId, { head_pin: pin, verified_prefix: null });
|
|
765
783
|
throw e;
|
|
766
784
|
}
|
|
767
785
|
pin = { generation: head.generation, head_sha256: entry.stored_bytes_sha256, pinned_at: formatGitvaultTimestamp(this.now()) };
|
|
768
786
|
lastHead = head;
|
|
769
787
|
verified += 1;
|
|
770
788
|
}
|
|
771
|
-
// verified prefix persists per page (resumable)
|
|
772
|
-
|
|
789
|
+
// verified prefix persists per page (resumable) — skipped entirely in no-write mode
|
|
790
|
+
if (persist)
|
|
791
|
+
this.keystore.updateRepo(this.repoId, { verified_prefix: pin });
|
|
773
792
|
const next = nextListingRequest(request, page);
|
|
774
793
|
if (!next)
|
|
775
794
|
break;
|
|
776
795
|
request = next;
|
|
777
796
|
}
|
|
778
|
-
|
|
797
|
+
if (persist)
|
|
798
|
+
this.keystore.updateRepo(this.repoId, { head_pin: pin, verified_prefix: null });
|
|
779
799
|
return { generation: pin.generation, head_sha256: pin.head_sha256, head: lastHead, genesis };
|
|
780
800
|
}
|
|
781
801
|
async readHead(generation, expectedSha256) {
|
|
@@ -809,21 +829,162 @@ export class GitvaultVault {
|
|
|
809
829
|
}
|
|
810
830
|
return object;
|
|
811
831
|
}
|
|
812
|
-
/**
|
|
813
|
-
|
|
814
|
-
|
|
832
|
+
/**
|
|
833
|
+
* Verify to newest, then decrypt + apply its carriers — advancing the
|
|
834
|
+
* materialized pin. `options.persist` (default `true`) is forwarded to
|
|
835
|
+
* {@link verifyToNewest} and gates this method's OWN `materialized_pin`
|
|
836
|
+
* write the same way — `repos fsck --no-write` computes and returns the
|
|
837
|
+
* real ref map and generation without moving either local pin.
|
|
838
|
+
*/
|
|
839
|
+
async materialize(options = {}) {
|
|
840
|
+
const persist = options.persist ?? true;
|
|
841
|
+
const state = await this.verifyToNewest({ persist });
|
|
815
842
|
const writerKey = state.genesis.creator_signing_pubkey;
|
|
816
843
|
if (!state.head) {
|
|
817
|
-
|
|
844
|
+
if (persist)
|
|
845
|
+
this.keystore.updateRepo(this.repoId, { materialized_pin: { generation: state.generation, head_sha256: state.head_sha256, pinned_at: formatGitvaultTimestamp(this.now()) } });
|
|
818
846
|
return { ...state, ref_state: null, retention_roots: null, refs: {}, roots: [], head_target: { kind: "symref", ref: "refs/heads/main" } };
|
|
819
847
|
}
|
|
820
848
|
const refState = await this.openCarrier("ref_state", state.head.ref_state, gitvaultPaths.refState(state.head.ref_state.object_id), writerKey);
|
|
821
849
|
const roots = await this.openCarrier("retention_roots", state.head.retention_roots, gitvaultPaths.retentionRoots(state.head.retention_roots.object_id), writerKey);
|
|
822
850
|
if (refState.generation !== state.generation || roots.generation !== state.generation)
|
|
823
851
|
fail("CHAIN_UNUSABLE", "carrier generation does not match the head", "materializing gitvault head");
|
|
824
|
-
|
|
852
|
+
if (persist)
|
|
853
|
+
this.keystore.updateRepo(this.repoId, { materialized_pin: { generation: state.generation, head_sha256: state.head_sha256, pinned_at: formatGitvaultTimestamp(this.now()) } });
|
|
825
854
|
return { ...state, ref_state: refState, retention_roots: roots, refs: { ...refState.refs }, roots: roots.roots.map((r) => ({ ...r })), head_target: refState.head_target };
|
|
826
855
|
}
|
|
856
|
+
// ── envelope recipients (gitvault-human-envelopes task 4.1, the ADD-path workaround) ──
|
|
857
|
+
/**
|
|
858
|
+
* Wrap the vault's CURRENT epoch key to every org member the directory
|
|
859
|
+
* lists but the vault does not yet have a `key_envelope` for.
|
|
860
|
+
*
|
|
861
|
+
* **This is task 1.1's residual WORKAROUND, not the design D5 ideal.** D5
|
|
862
|
+
* describes a recipient-set change as an epoch rotation — "history epochs
|
|
863
|
+
* stay wrapped as they were; a new member reads from their first covered
|
|
864
|
+
* epoch forward" — which needs a protocol revision (task 1, BLOCKED as of
|
|
865
|
+
* 2026-08-26: V0 pins `epoch` to the single constant
|
|
866
|
+
* `GITVAULT_GENESIS_EPOCH` on every head, so there is no "forward" to
|
|
867
|
+
* speak of yet). What this method actually does, legally, without any
|
|
868
|
+
* protocol change: `key_envelope` objects are never head-referenced (not
|
|
869
|
+
* even genesis's own envelope is), so uploading an ADDITIONAL one at
|
|
870
|
+
* `envelopes/<current epoch>/<recipient fingerprint>` for a missing
|
|
871
|
+
* recipient is accepted by the existing generic create-only upload route
|
|
872
|
+
* as-is. The honest consequence: a newly-wrapped member gets the SAME
|
|
873
|
+
* single epoch every existing member already has, which in V0 means the
|
|
874
|
+
* vault's ENTIRE history — not "from here forward." True forward-only
|
|
875
|
+
* semantics wait on task 1's protocol revision; this method does not
|
|
876
|
+
* pretend otherwise.
|
|
877
|
+
*
|
|
878
|
+
* **TOFU pinning (design D4 point 3).** The first time this repo wraps a
|
|
879
|
+
* given `principal_id`, its CURRENT `ek_fingerprint` is pinned in the
|
|
880
|
+
* keystore repo file (`envelope_recipient_pins`). On a later call, a
|
|
881
|
+
* directory entry whose fingerprint no longer matches its pin is a
|
|
882
|
+
* REFUSAL for that recipient ONLY — reported under `skipped` with reason
|
|
883
|
+
* `pinned_key_mismatch` and both fingerprints in `details`, never wrapped
|
|
884
|
+
* under the new key, and never a thrown error that would abort the whole
|
|
885
|
+
* call (other recipients still get processed). Whether that mismatch is a
|
|
886
|
+
* legitimate key rotation or a substitution is a product/human decision
|
|
887
|
+
* this SDK does not make unattended.
|
|
888
|
+
*
|
|
889
|
+
* **The gateway directory route does not carry `public_key` yet**
|
|
890
|
+
* (`GET /orgs/v1/:org_id/encryption-keys` — see the doc comment on
|
|
891
|
+
* {@link GitvaultOrgEncryptionKeyEntry}). Until it does, every directory
|
|
892
|
+
* entry is reported under `skipped` with reason `missing_public_key`;
|
|
893
|
+
* this method needs no further change once the gateway ships the field.
|
|
894
|
+
*
|
|
895
|
+
* Best-effort by design at the call site, not here: this method itself
|
|
896
|
+
* either completes (returning a full per-recipient breakdown) or throws
|
|
897
|
+
* (e.g. `GITVAULT_READ_ONLY` when this principal holds no signing key).
|
|
898
|
+
* Callers that want "never block on this" (the deploy hook) wrap the call
|
|
899
|
+
* themselves — see `Gitvault.push`'s `#tryReconcileEnvelopeRecipients`.
|
|
900
|
+
*/
|
|
901
|
+
async reconcileEnvelopeRecipients() {
|
|
902
|
+
const repo = this.repoFile();
|
|
903
|
+
const epoch = this.epoch();
|
|
904
|
+
const signer = this.signingKeypair();
|
|
905
|
+
const [directory, coverage] = await Promise.all([
|
|
906
|
+
this.transport.listOrgEncryptionKeys({ org_id: repo.org_id }),
|
|
907
|
+
this.transport.listEnvelopeRecipients({ repo_id: this.repoId }),
|
|
908
|
+
]);
|
|
909
|
+
const covered = new Set(coverage.recipient_fingerprints);
|
|
910
|
+
const pins = { ...(repo.envelope_recipient_pins ?? {}) };
|
|
911
|
+
const wrapped = [];
|
|
912
|
+
const alreadyCovered = [];
|
|
913
|
+
const skipped = [];
|
|
914
|
+
let pinsChanged = false;
|
|
915
|
+
for (const entry of directory.keys) {
|
|
916
|
+
if (covered.has(entry.ek_fingerprint)) {
|
|
917
|
+
alreadyCovered.push(entry.ek_fingerprint);
|
|
918
|
+
continue;
|
|
919
|
+
}
|
|
920
|
+
const pinned = pins[entry.principal_id];
|
|
921
|
+
if (pinned !== undefined && pinned !== entry.ek_fingerprint) {
|
|
922
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "pinned_key_mismatch", details: { pinned_fingerprint: pinned, directory_fingerprint: entry.ek_fingerprint } });
|
|
923
|
+
continue;
|
|
924
|
+
}
|
|
925
|
+
if (typeof entry.public_key !== "string" || entry.public_key.length === 0) {
|
|
926
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "missing_public_key" });
|
|
927
|
+
continue;
|
|
928
|
+
}
|
|
929
|
+
let recipientPublicKey;
|
|
930
|
+
try {
|
|
931
|
+
recipientPublicKey = fromBase64url(entry.public_key, "public_key");
|
|
932
|
+
}
|
|
933
|
+
catch {
|
|
934
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "invalid_public_key" });
|
|
935
|
+
continue;
|
|
936
|
+
}
|
|
937
|
+
// Defense in depth: a directory row whose printed fingerprint does not
|
|
938
|
+
// derive from its own public_key is corrupt data, not a valid
|
|
939
|
+
// recipient — fail loud here rather than let `sealKeyEnvelope` (which
|
|
940
|
+
// derives the fingerprint itself and never trusts a caller-supplied
|
|
941
|
+
// one) silently seal under a fingerprint that disagrees with the one
|
|
942
|
+
// the directory printed.
|
|
943
|
+
const derived = ekFingerprint(recipientPublicKey);
|
|
944
|
+
if (derived !== entry.ek_fingerprint) {
|
|
945
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "invalid_public_key", details: { derived_fingerprint: derived } });
|
|
946
|
+
continue;
|
|
947
|
+
}
|
|
948
|
+
const sealed = await sealKeyEnvelope({
|
|
949
|
+
k_repo: this.kRepo(),
|
|
950
|
+
repo_id: this.repoId,
|
|
951
|
+
epoch,
|
|
952
|
+
recipient_public_key: recipientPublicKey,
|
|
953
|
+
signer,
|
|
954
|
+
created_at: formatGitvaultTimestamp(this.now()),
|
|
955
|
+
});
|
|
956
|
+
try {
|
|
957
|
+
await this.transport.putObject({
|
|
958
|
+
repo_id: this.repoId,
|
|
959
|
+
path: gitvaultPaths.envelope(epoch, sealed.receipt.recipient_fingerprint),
|
|
960
|
+
bytes: sealed.stored_bytes,
|
|
961
|
+
expected_sha256: sealed.stored_bytes_sha256,
|
|
962
|
+
expected_size_bytes: sealed.size_bytes,
|
|
963
|
+
});
|
|
964
|
+
wrapped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint });
|
|
965
|
+
}
|
|
966
|
+
catch (e) {
|
|
967
|
+
// A concurrent reconcile (another machine/session) may have wrapped
|
|
968
|
+
// the SAME recipient first — HPKE seal is randomized, so two valid
|
|
969
|
+
// wraps of the same K_repo to the same recipient produce DIFFERENT
|
|
970
|
+
// ciphertext bytes, and the create-only path's read-and-compare
|
|
971
|
+
// reports that as `GITVAULT_OBJECT_EXISTS_DIFFERENT` even though the
|
|
972
|
+
// recipient is now genuinely covered. Treat exactly that code as a
|
|
973
|
+
// benign race, not a failure; anything else propagates.
|
|
974
|
+
if (isRun402Error(e) && e.code === "GITVAULT_OBJECT_EXISTS_DIFFERENT") {
|
|
975
|
+
alreadyCovered.push(entry.ek_fingerprint);
|
|
976
|
+
}
|
|
977
|
+
else {
|
|
978
|
+
throw e;
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
pins[entry.principal_id] = entry.ek_fingerprint;
|
|
982
|
+
pinsChanged = true;
|
|
983
|
+
}
|
|
984
|
+
if (pinsChanged)
|
|
985
|
+
this.keystore.updateRepo(this.repoId, { envelope_recipient_pins: pins });
|
|
986
|
+
return { repo_id: this.repoId, org_id: repo.org_id, epoch, wrapped, already_covered: alreadyCovered, skipped };
|
|
987
|
+
}
|
|
827
988
|
// ── object building ──
|
|
828
989
|
seal(kind, objectId, plaintext, path) {
|
|
829
990
|
const sealed = sealFrame({ k_obj: deriveObjectKey(this.kRepo(), this.repoId, this.epoch(), kind, objectId), repo_id: this.repoId, object_kind: kind, object_id: objectId, epoch: this.epoch(), plaintext });
|
|
@@ -846,6 +1007,14 @@ export class GitvaultVault {
|
|
|
846
1007
|
return kp.seed;
|
|
847
1008
|
}
|
|
848
1009
|
writerKeyId() { return this.keystore.ensureIdentity().signing_fingerprint; }
|
|
1010
|
+
/** The owner's full signing keypair, or `GITVAULT_READ_ONLY` — same refusal path as {@link signer}, which returns only the seed; {@link sealKeyEnvelope} needs both halves. */
|
|
1011
|
+
signingKeypair() {
|
|
1012
|
+
const identity = this.keystore.ensureIdentity();
|
|
1013
|
+
const kp = this.keystore.signingKeypair(identity);
|
|
1014
|
+
if (!kp)
|
|
1015
|
+
fail("GITVAULT_READ_ONLY", "the signing key is missing from identity.json; this principal is read-only", "signing gitvault object", undefined, [{ action: "stay read-only at the materialized pin" }]);
|
|
1016
|
+
return kp;
|
|
1017
|
+
}
|
|
849
1018
|
buildRefState(generation, refs, headTarget) {
|
|
850
1019
|
if (headTarget.kind === "symref" && !BRANCH_REF_RE.test(headTarget.ref))
|
|
851
1020
|
fail("REFNAME_UNSUPPORTED", `head_target symref must name a refs/heads/* branch: ${headTarget.ref}`, "building ref_state");
|