@run402/sdk 4.39.1 → 4.40.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/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 +141 -4
- package/dist/namespaces/gitvault.d.ts.map +1 -1
- package/dist/namespaces/gitvault.js +226 -3
- package/dist/namespaces/gitvault.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 +131 -0
- package/dist/node/gitvault-publication.d.ts.map +1 -1
- package/dist/node/gitvault-publication.js +145 -1
- 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. */
|
|
@@ -611,6 +695,51 @@ export declare class GitvaultVault {
|
|
|
611
695
|
private openCarrier;
|
|
612
696
|
/** Verify to newest, then decrypt + apply its carriers — advancing the materialized pin. */
|
|
613
697
|
materialize(): Promise<GitvaultMaterializedState>;
|
|
698
|
+
/**
|
|
699
|
+
* Wrap the vault's CURRENT epoch key to every org member the directory
|
|
700
|
+
* lists but the vault does not yet have a `key_envelope` for.
|
|
701
|
+
*
|
|
702
|
+
* **This is task 1.1's residual WORKAROUND, not the design D5 ideal.** D5
|
|
703
|
+
* describes a recipient-set change as an epoch rotation — "history epochs
|
|
704
|
+
* stay wrapped as they were; a new member reads from their first covered
|
|
705
|
+
* epoch forward" — which needs a protocol revision (task 1, BLOCKED as of
|
|
706
|
+
* 2026-08-26: V0 pins `epoch` to the single constant
|
|
707
|
+
* `GITVAULT_GENESIS_EPOCH` on every head, so there is no "forward" to
|
|
708
|
+
* speak of yet). What this method actually does, legally, without any
|
|
709
|
+
* protocol change: `key_envelope` objects are never head-referenced (not
|
|
710
|
+
* even genesis's own envelope is), so uploading an ADDITIONAL one at
|
|
711
|
+
* `envelopes/<current epoch>/<recipient fingerprint>` for a missing
|
|
712
|
+
* recipient is accepted by the existing generic create-only upload route
|
|
713
|
+
* as-is. The honest consequence: a newly-wrapped member gets the SAME
|
|
714
|
+
* single epoch every existing member already has, which in V0 means the
|
|
715
|
+
* vault's ENTIRE history — not "from here forward." True forward-only
|
|
716
|
+
* semantics wait on task 1's protocol revision; this method does not
|
|
717
|
+
* pretend otherwise.
|
|
718
|
+
*
|
|
719
|
+
* **TOFU pinning (design D4 point 3).** The first time this repo wraps a
|
|
720
|
+
* given `principal_id`, its CURRENT `ek_fingerprint` is pinned in the
|
|
721
|
+
* keystore repo file (`envelope_recipient_pins`). On a later call, a
|
|
722
|
+
* directory entry whose fingerprint no longer matches its pin is a
|
|
723
|
+
* REFUSAL for that recipient ONLY — reported under `skipped` with reason
|
|
724
|
+
* `pinned_key_mismatch` and both fingerprints in `details`, never wrapped
|
|
725
|
+
* under the new key, and never a thrown error that would abort the whole
|
|
726
|
+
* call (other recipients still get processed). Whether that mismatch is a
|
|
727
|
+
* legitimate key rotation or a substitution is a product/human decision
|
|
728
|
+
* this SDK does not make unattended.
|
|
729
|
+
*
|
|
730
|
+
* **The gateway directory route does not carry `public_key` yet**
|
|
731
|
+
* (`GET /orgs/v1/:org_id/encryption-keys` — see the doc comment on
|
|
732
|
+
* {@link GitvaultOrgEncryptionKeyEntry}). Until it does, every directory
|
|
733
|
+
* entry is reported under `skipped` with reason `missing_public_key`;
|
|
734
|
+
* this method needs no further change once the gateway ships the field.
|
|
735
|
+
*
|
|
736
|
+
* Best-effort by design at the call site, not here: this method itself
|
|
737
|
+
* either completes (returning a full per-recipient breakdown) or throws
|
|
738
|
+
* (e.g. `GITVAULT_READ_ONLY` when this principal holds no signing key).
|
|
739
|
+
* Callers that want "never block on this" (the deploy hook) wrap the call
|
|
740
|
+
* themselves — see `Gitvault.push`'s `#tryReconcileEnvelopeRecipients`.
|
|
741
|
+
*/
|
|
742
|
+
reconcileEnvelopeRecipients(): Promise<GitvaultReconcileEnvelopeRecipientsResult>;
|
|
614
743
|
private seal;
|
|
615
744
|
/**
|
|
616
745
|
* The owner signing seed, or `GITVAULT_READ_ONLY`.
|
|
@@ -623,6 +752,8 @@ export declare class GitvaultVault {
|
|
|
623
752
|
*/
|
|
624
753
|
signer(): Uint8Array;
|
|
625
754
|
private writerKeyId;
|
|
755
|
+
/** 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. */
|
|
756
|
+
private signingKeypair;
|
|
626
757
|
private buildRefState;
|
|
627
758
|
private buildRetentionRoots;
|
|
628
759
|
/** 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 {
|
|
@@ -824,6 +828,138 @@ export class GitvaultVault {
|
|
|
824
828
|
this.keystore.updateRepo(this.repoId, { materialized_pin: { generation: state.generation, head_sha256: state.head_sha256, pinned_at: formatGitvaultTimestamp(this.now()) } });
|
|
825
829
|
return { ...state, ref_state: refState, retention_roots: roots, refs: { ...refState.refs }, roots: roots.roots.map((r) => ({ ...r })), head_target: refState.head_target };
|
|
826
830
|
}
|
|
831
|
+
// ── envelope recipients (gitvault-human-envelopes task 4.1, the ADD-path workaround) ──
|
|
832
|
+
/**
|
|
833
|
+
* Wrap the vault's CURRENT epoch key to every org member the directory
|
|
834
|
+
* lists but the vault does not yet have a `key_envelope` for.
|
|
835
|
+
*
|
|
836
|
+
* **This is task 1.1's residual WORKAROUND, not the design D5 ideal.** D5
|
|
837
|
+
* describes a recipient-set change as an epoch rotation — "history epochs
|
|
838
|
+
* stay wrapped as they were; a new member reads from their first covered
|
|
839
|
+
* epoch forward" — which needs a protocol revision (task 1, BLOCKED as of
|
|
840
|
+
* 2026-08-26: V0 pins `epoch` to the single constant
|
|
841
|
+
* `GITVAULT_GENESIS_EPOCH` on every head, so there is no "forward" to
|
|
842
|
+
* speak of yet). What this method actually does, legally, without any
|
|
843
|
+
* protocol change: `key_envelope` objects are never head-referenced (not
|
|
844
|
+
* even genesis's own envelope is), so uploading an ADDITIONAL one at
|
|
845
|
+
* `envelopes/<current epoch>/<recipient fingerprint>` for a missing
|
|
846
|
+
* recipient is accepted by the existing generic create-only upload route
|
|
847
|
+
* as-is. The honest consequence: a newly-wrapped member gets the SAME
|
|
848
|
+
* single epoch every existing member already has, which in V0 means the
|
|
849
|
+
* vault's ENTIRE history — not "from here forward." True forward-only
|
|
850
|
+
* semantics wait on task 1's protocol revision; this method does not
|
|
851
|
+
* pretend otherwise.
|
|
852
|
+
*
|
|
853
|
+
* **TOFU pinning (design D4 point 3).** The first time this repo wraps a
|
|
854
|
+
* given `principal_id`, its CURRENT `ek_fingerprint` is pinned in the
|
|
855
|
+
* keystore repo file (`envelope_recipient_pins`). On a later call, a
|
|
856
|
+
* directory entry whose fingerprint no longer matches its pin is a
|
|
857
|
+
* REFUSAL for that recipient ONLY — reported under `skipped` with reason
|
|
858
|
+
* `pinned_key_mismatch` and both fingerprints in `details`, never wrapped
|
|
859
|
+
* under the new key, and never a thrown error that would abort the whole
|
|
860
|
+
* call (other recipients still get processed). Whether that mismatch is a
|
|
861
|
+
* legitimate key rotation or a substitution is a product/human decision
|
|
862
|
+
* this SDK does not make unattended.
|
|
863
|
+
*
|
|
864
|
+
* **The gateway directory route does not carry `public_key` yet**
|
|
865
|
+
* (`GET /orgs/v1/:org_id/encryption-keys` — see the doc comment on
|
|
866
|
+
* {@link GitvaultOrgEncryptionKeyEntry}). Until it does, every directory
|
|
867
|
+
* entry is reported under `skipped` with reason `missing_public_key`;
|
|
868
|
+
* this method needs no further change once the gateway ships the field.
|
|
869
|
+
*
|
|
870
|
+
* Best-effort by design at the call site, not here: this method itself
|
|
871
|
+
* either completes (returning a full per-recipient breakdown) or throws
|
|
872
|
+
* (e.g. `GITVAULT_READ_ONLY` when this principal holds no signing key).
|
|
873
|
+
* Callers that want "never block on this" (the deploy hook) wrap the call
|
|
874
|
+
* themselves — see `Gitvault.push`'s `#tryReconcileEnvelopeRecipients`.
|
|
875
|
+
*/
|
|
876
|
+
async reconcileEnvelopeRecipients() {
|
|
877
|
+
const repo = this.repoFile();
|
|
878
|
+
const epoch = this.epoch();
|
|
879
|
+
const signer = this.signingKeypair();
|
|
880
|
+
const [directory, coverage] = await Promise.all([
|
|
881
|
+
this.transport.listOrgEncryptionKeys({ org_id: repo.org_id }),
|
|
882
|
+
this.transport.listEnvelopeRecipients({ repo_id: this.repoId }),
|
|
883
|
+
]);
|
|
884
|
+
const covered = new Set(coverage.recipient_fingerprints);
|
|
885
|
+
const pins = { ...(repo.envelope_recipient_pins ?? {}) };
|
|
886
|
+
const wrapped = [];
|
|
887
|
+
const alreadyCovered = [];
|
|
888
|
+
const skipped = [];
|
|
889
|
+
let pinsChanged = false;
|
|
890
|
+
for (const entry of directory.keys) {
|
|
891
|
+
if (covered.has(entry.ek_fingerprint)) {
|
|
892
|
+
alreadyCovered.push(entry.ek_fingerprint);
|
|
893
|
+
continue;
|
|
894
|
+
}
|
|
895
|
+
const pinned = pins[entry.principal_id];
|
|
896
|
+
if (pinned !== undefined && pinned !== entry.ek_fingerprint) {
|
|
897
|
+
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 } });
|
|
898
|
+
continue;
|
|
899
|
+
}
|
|
900
|
+
if (typeof entry.public_key !== "string" || entry.public_key.length === 0) {
|
|
901
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "missing_public_key" });
|
|
902
|
+
continue;
|
|
903
|
+
}
|
|
904
|
+
let recipientPublicKey;
|
|
905
|
+
try {
|
|
906
|
+
recipientPublicKey = fromBase64url(entry.public_key, "public_key");
|
|
907
|
+
}
|
|
908
|
+
catch {
|
|
909
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "invalid_public_key" });
|
|
910
|
+
continue;
|
|
911
|
+
}
|
|
912
|
+
// Defense in depth: a directory row whose printed fingerprint does not
|
|
913
|
+
// derive from its own public_key is corrupt data, not a valid
|
|
914
|
+
// recipient — fail loud here rather than let `sealKeyEnvelope` (which
|
|
915
|
+
// derives the fingerprint itself and never trusts a caller-supplied
|
|
916
|
+
// one) silently seal under a fingerprint that disagrees with the one
|
|
917
|
+
// the directory printed.
|
|
918
|
+
const derived = ekFingerprint(recipientPublicKey);
|
|
919
|
+
if (derived !== entry.ek_fingerprint) {
|
|
920
|
+
skipped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint, reason: "invalid_public_key", details: { derived_fingerprint: derived } });
|
|
921
|
+
continue;
|
|
922
|
+
}
|
|
923
|
+
const sealed = await sealKeyEnvelope({
|
|
924
|
+
k_repo: this.kRepo(),
|
|
925
|
+
repo_id: this.repoId,
|
|
926
|
+
epoch,
|
|
927
|
+
recipient_public_key: recipientPublicKey,
|
|
928
|
+
signer,
|
|
929
|
+
created_at: formatGitvaultTimestamp(this.now()),
|
|
930
|
+
});
|
|
931
|
+
try {
|
|
932
|
+
await this.transport.putObject({
|
|
933
|
+
repo_id: this.repoId,
|
|
934
|
+
path: gitvaultPaths.envelope(epoch, sealed.receipt.recipient_fingerprint),
|
|
935
|
+
bytes: sealed.stored_bytes,
|
|
936
|
+
expected_sha256: sealed.stored_bytes_sha256,
|
|
937
|
+
expected_size_bytes: sealed.size_bytes,
|
|
938
|
+
});
|
|
939
|
+
wrapped.push({ principal_id: entry.principal_id, ek_fingerprint: entry.ek_fingerprint });
|
|
940
|
+
}
|
|
941
|
+
catch (e) {
|
|
942
|
+
// A concurrent reconcile (another machine/session) may have wrapped
|
|
943
|
+
// the SAME recipient first — HPKE seal is randomized, so two valid
|
|
944
|
+
// wraps of the same K_repo to the same recipient produce DIFFERENT
|
|
945
|
+
// ciphertext bytes, and the create-only path's read-and-compare
|
|
946
|
+
// reports that as `GITVAULT_OBJECT_EXISTS_DIFFERENT` even though the
|
|
947
|
+
// recipient is now genuinely covered. Treat exactly that code as a
|
|
948
|
+
// benign race, not a failure; anything else propagates.
|
|
949
|
+
if (isRun402Error(e) && e.code === "GITVAULT_OBJECT_EXISTS_DIFFERENT") {
|
|
950
|
+
alreadyCovered.push(entry.ek_fingerprint);
|
|
951
|
+
}
|
|
952
|
+
else {
|
|
953
|
+
throw e;
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
pins[entry.principal_id] = entry.ek_fingerprint;
|
|
957
|
+
pinsChanged = true;
|
|
958
|
+
}
|
|
959
|
+
if (pinsChanged)
|
|
960
|
+
this.keystore.updateRepo(this.repoId, { envelope_recipient_pins: pins });
|
|
961
|
+
return { repo_id: this.repoId, org_id: repo.org_id, epoch, wrapped, already_covered: alreadyCovered, skipped };
|
|
962
|
+
}
|
|
827
963
|
// ── object building ──
|
|
828
964
|
seal(kind, objectId, plaintext, path) {
|
|
829
965
|
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 +982,14 @@ export class GitvaultVault {
|
|
|
846
982
|
return kp.seed;
|
|
847
983
|
}
|
|
848
984
|
writerKeyId() { return this.keystore.ensureIdentity().signing_fingerprint; }
|
|
985
|
+
/** 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. */
|
|
986
|
+
signingKeypair() {
|
|
987
|
+
const identity = this.keystore.ensureIdentity();
|
|
988
|
+
const kp = this.keystore.signingKeypair(identity);
|
|
989
|
+
if (!kp)
|
|
990
|
+
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" }]);
|
|
991
|
+
return kp;
|
|
992
|
+
}
|
|
849
993
|
buildRefState(generation, refs, headTarget) {
|
|
850
994
|
if (headTarget.kind === "symref" && !BRANCH_REF_RE.test(headTarget.ref))
|
|
851
995
|
fail("REFNAME_UNSUPPORTED", `head_target symref must name a refs/heads/* branch: ${headTarget.ref}`, "building ref_state");
|