run402 4.52.0 → 4.54.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 (35) hide show
  1. package/cli.mjs +6 -0
  2. package/git-remote-run402.mjs +28 -5
  3. package/gitvault-surface.json +1 -1
  4. package/lib/command-manifest.mjs +2 -0
  5. package/lib/doctor.mjs +66 -6
  6. package/lib/repos.mjs +92 -2
  7. package/lib/source-access.mjs +159 -0
  8. package/package.json +1 -1
  9. package/sdk/dist/namespaces/gitvault.crypto.d.ts +41 -0
  10. package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
  11. package/sdk/dist/namespaces/gitvault.crypto.js +135 -0
  12. package/sdk/dist/namespaces/gitvault.crypto.js.map +1 -1
  13. package/sdk/dist/namespaces/gitvault.d.ts +32 -0
  14. package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
  15. package/sdk/dist/namespaces/gitvault.js +70 -6
  16. package/sdk/dist/namespaces/gitvault.js.map +1 -1
  17. package/sdk/dist/namespaces/operator-session.d.ts +58 -0
  18. package/sdk/dist/namespaces/operator-session.d.ts.map +1 -1
  19. package/sdk/dist/namespaces/operator-session.js +29 -0
  20. package/sdk/dist/namespaces/operator-session.js.map +1 -1
  21. package/sdk/dist/node/gitvault-address.d.ts +47 -0
  22. package/sdk/dist/node/gitvault-address.d.ts.map +1 -1
  23. package/sdk/dist/node/gitvault-address.js +80 -14
  24. package/sdk/dist/node/gitvault-address.js.map +1 -1
  25. package/sdk/dist/node/gitvault-member-bundle.d.ts +88 -0
  26. package/sdk/dist/node/gitvault-member-bundle.d.ts.map +1 -0
  27. package/sdk/dist/node/gitvault-member-bundle.js +168 -0
  28. package/sdk/dist/node/gitvault-member-bundle.js.map +1 -0
  29. package/sdk/dist/node/gitvault-publication.d.ts.map +1 -1
  30. package/sdk/dist/node/gitvault-publication.js +16 -1
  31. package/sdk/dist/node/gitvault-publication.js.map +1 -1
  32. package/sdk/dist/node/gitvault-recover.d.ts +41 -1
  33. package/sdk/dist/node/gitvault-recover.d.ts.map +1 -1
  34. package/sdk/dist/node/gitvault-recover.js +73 -11
  35. package/sdk/dist/node/gitvault-recover.js.map +1 -1
@@ -1,7 +1,8 @@
1
1
  import { GITVAULT_MIRROR_KEYSTORE_STILL_REQUIRED_STATEMENT, GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT } from "../namespaces/gitvault.crypto.js";
2
2
  import type { GitvaultHead, GitvaultRecoveryReceipt, GitvaultVaultGenesis } from "../namespaces/gitvault.types.js";
3
3
  import type { GitvaultEncounteredRotation, GitvaultEpochDecryptFailure, GitvaultRetainedRefsReconcileResult } from "./gitvault-publication.js";
4
- import { GitvaultKeystore } from "./gitvault-keystore.js";
4
+ import { GitvaultKeystore, type GitvaultIdentityFile } from "./gitvault-keystore.js";
5
+ import { type GitvaultMemberBundleHint, type GitvaultMemberRecoveryBundle } from "./gitvault-member-bundle.js";
5
6
  import type { GitvaultMirrorBackend } from "./gitvault-mirror-backend.js";
6
7
  export interface GitvaultChainEntry {
7
8
  generation: string;
@@ -126,6 +127,14 @@ export interface GitvaultVerifyReport extends GitvaultRecoveryReport {
126
127
  mode: "keyless_verify";
127
128
  /** Object kinds present + confirmed reachable for the recovered generation, counted (never bytes, never plaintext). */
128
129
  inventory: Record<string, number>;
130
+ /**
131
+ * Member recovery-bundle sidecars found under `member-recovery-bundles/` in
132
+ * this prefix — UNVERIFIED availability hints (gitvault-recovery-custody):
133
+ * nothing about them is authenticated by the chain; they only tell a human
134
+ * holder "a bundle travels with this mirror, so bundle + source recovery
135
+ * code can recover it with no server." Empty when the prefix carries none.
136
+ */
137
+ member_recovery_bundles: GitvaultMemberBundleHint[];
129
138
  }
130
139
  /**
131
140
  * Discovery + chain verification + closure/absence adjudication, WITHOUT
@@ -149,6 +158,20 @@ export interface GitvaultRecoverResult extends GitvaultRecoveryReport {
149
158
  kind: "detached";
150
159
  oid: string;
151
160
  };
161
+ /**
162
+ * Non-null iff this recovery decrypted via the human-member path (a member
163
+ * recovery bundle opened with the source recovery code) rather than a
164
+ * keystore — names WHICH bundle sidecar (`bundle_key`, null when supplied
165
+ * directly), which wrapper opened, and the rp_id the context was built
166
+ * with. Faithful: a keystore recovery and a bundle recovery produce the
167
+ * same repository, but the caller can always tell which happened.
168
+ */
169
+ member_recovery: {
170
+ bundle_key: string | null;
171
+ wrapper_id: string;
172
+ rp_id_used: string;
173
+ ek_fingerprint: string;
174
+ } | null;
152
175
  /**
153
176
  * clone-installs-retained-refs (D2): the same `refs/r402/retain/<oid>`
154
177
  * bookkeeping `restoreObjectsInto` (clone/fetch) and `fsck` install, applied
@@ -178,7 +201,24 @@ export interface GitvaultRecoverOptions {
178
201
  out_dir: string;
179
202
  recovery_receipt?: GitvaultRecoveryReceipt;
180
203
  keystore?: GitvaultKeystore;
204
+ /**
205
+ * gitvault-recovery-custody — the human-member path: a member recovery
206
+ * bundle (exported wrapper ciphertexts + key identity) opened with
207
+ * `source_recovery_code` substitutes for the keystore's encryption
208
+ * identity. When `source_recovery_code` is supplied WITHOUT a bundle, the
209
+ * mirror's own `member-recovery-bundles/` sidecars are tried; none found
210
+ * is the truthful `RECOVERY_BUNDLE_MISSING` refusal (a server-side
211
+ * wrapper row that was never exported is not an offline backup). The
212
+ * recovery-receipt pin is still required for trusted recovery — key
213
+ * material never substitutes for the trust anchor.
214
+ */
215
+ member_bundle?: GitvaultMemberRecoveryBundle;
216
+ source_recovery_code?: string;
217
+ /** Seal-time ceremony host for the wrapper context; default = bundle's own `rp_id`, then `console.run402.com`. */
218
+ rp_id?: string;
181
219
  }
220
+ /** The two identity fields recovery actually decrypts with — a keystore's `identity.json` or a member bundle opened by the source recovery code both project onto this. */
221
+ export type GitvaultRecoveryIdentity = Pick<GitvaultIdentityFile, "encryption_private_key_hex" | "encryption_fingerprint">;
182
222
  /**
183
223
  * Materialize the resolved generation into `out_dir` and run §4.7 restorer
184
224
  * acceptance: scratch restore, every covered ref at its EXACT oid, `git fsck`
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault-recover.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-recover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault-recover.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-recover.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import { LocalError, isRun402Error } from "../errors.js";
23
23
  import { GITVAULT_GENESIS_EPOCH, GITVAULT_GENESIS_GENERATION, GITVAULT_MIRROR_KEYSTORE_STILL_REQUIRED_STATEMENT, GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT, bytesToHex, checkGenesisKeyBindings, checkRecoveryReceipt, deriveDigestKey, deriveObjectKey, generateEncryptionKeypair, hexToBytes, keyedCommitment, objectsetContent, openEpochRotationForRecipient, openFrame, openKeyEnvelope, parseGitvaultStrict, parseRotateEpochPayload, verifyGitvaultObject, } from "../namespaces/gitvault.crypto.js";
24
24
  import { assertNoTransition, checkChainLink, checkClaimSetEquality, gitvaultPaths, nextGeneration, reconcileRetainedTipRefs } from "./gitvault-publication.js";
25
25
  import { GitvaultKeystore } from "./gitvault-keystore.js";
26
+ import { discoverMemberBundles, parseMemberRecoveryBundle, unwrapMemberRecoveryBundle, } from "./gitvault-member-bundle.js";
26
27
  import { hardenedGit, hasObject } from "./gitvault-snapshot.js";
27
28
  function fail(code, message, context, details, nextActions) {
28
29
  throw new LocalError(message, context, { code, details, ...(nextActions ? { next_actions: nextActions } : {}) });
@@ -207,6 +208,11 @@ export async function verifyGitvaultMirror(backend, options = {}) {
207
208
  for (const r of required)
208
209
  inventory[r.kind] = (inventory[r.kind] ?? 0) + 1;
209
210
  }
211
+ // Member recovery-bundle sidecars — reported keylessly as UNVERIFIED
212
+ // availability hints (the bundle itself never becomes part of the chain
213
+ // verdict; the parsed blobs are not carried on the report, only identity
214
+ // hints — a keyless report should never embed ciphertext).
215
+ const memberBundles = (await discoverMemberBundles(backend)).map(({ bundle: _b, ...hint }) => hint);
210
216
  return {
211
217
  repo_id: discovery.repo_id, genesis_sha256: discovery.genesis_sha256, pin_trust: discovery.pin_trust,
212
218
  recovered_generation: generation, chain_verified_to_generation: discovery.newest_generation, chain_break: discovery.chain_break,
@@ -215,6 +221,7 @@ export async function verifyGitvaultMirror(backend, options = {}) {
215
221
  validity_not_freshness: GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT,
216
222
  keystore_still_required: GITVAULT_MIRROR_KEYSTORE_STILL_REQUIRED_STATEMENT,
217
223
  mode: "keyless_verify", inventory,
224
+ member_recovery_bundles: memberBundles,
218
225
  };
219
226
  }
220
227
  /**
@@ -249,10 +256,9 @@ async function resolveWithFallback(backend, discovery, options) {
249
256
  }
250
257
  }
251
258
  /** Open the recipient's genesis key envelope and decrypt `K_1` — the FIRST step in this file that touches key material (a genesis's own envelope, `rotation_id` absent — D203). */
252
- async function resolveGenesisEpochKey(backend, genesis, keystore) {
253
- const identity = keystore.readIdentity();
254
- if (!identity?.encryption_private_key_hex) {
255
- fail("VAULT_UNRECOVERABLE", "no encryption key in this keystore — recovery can verify and adjudicate but cannot decrypt or materialize anything", "materializing gitvault recovery", undefined, [
259
+ async function resolveGenesisEpochKey(backend, genesis, identity) {
260
+ if (!identity.encryption_private_key_hex) {
261
+ fail("VAULT_UNRECOVERABLE", "no encryption key available — recovery can verify and adjudicate but cannot decrypt or materialize anything", "materializing gitvault recovery", undefined, [
256
262
  { action: "restore the principal keystore (identity.json) from backup, then re-run recover" },
257
263
  { action: "run `run402 repos fsck --mirror` for the verify-only outcome" },
258
264
  ]);
@@ -416,14 +422,69 @@ export async function recoverGitvaultMirror(options) {
416
422
  // running the (keyless) absence fallback — an unopenable epoch is its OWN
417
423
  // named cause, never folded into the generic "unexplained_absence"
418
424
  // vocabulary `resolveWithFallback` already owns for missing bytes.
419
- const identity = keystore.readIdentity();
420
- if (!identity?.encryption_private_key_hex) {
421
- fail("VAULT_UNRECOVERABLE", "no encryption key in this keystore recovery can verify and adjudicate but cannot decrypt or materialize anything", "materializing gitvault recovery", undefined, [
422
- { action: "restore the principal keystore (identity.json) from backup, then re-run recover" },
423
- { action: "run `run402 repos fsck --mirror` for the verify-only outcome" },
424
- ]);
425
+ //
426
+ // gitvault-recovery-custody: the decrypt identity comes from EITHER the
427
+ // keystore (the original path) OR a member recovery bundle opened with the
428
+ // source recovery code (the human-member path, no keystore involved). A
429
+ // code with no bundle explicit or discovered in the mirror's own
430
+ // `member-recovery-bundles/` sidecars — is the truthful refusal by name:
431
+ // a server-side wrapper row that was never exported is not offline backup.
432
+ let identity;
433
+ let memberRecovery = null;
434
+ if (options.source_recovery_code != null || options.member_bundle != null) {
435
+ if (options.source_recovery_code == null) {
436
+ fail("SOURCE_RECOVERY_CODE_REQUIRED", "a member recovery bundle was supplied without its source recovery code — the bundle is ciphertext; the code is what opens it", "materializing gitvault recovery", undefined, [
437
+ { action: "re-run with the source recovery code (SRC1-…) you saved at enrollment" },
438
+ ]);
439
+ }
440
+ const code = options.source_recovery_code;
441
+ if (options.member_bundle) {
442
+ // Re-validate even the typed input — the CLI hands over whatever JSON the
443
+ // file held, and a malformed bundle should refuse by name, not TypeError.
444
+ const suppliedBundle = parseMemberRecoveryBundle(options.member_bundle);
445
+ const member = unwrapMemberRecoveryBundle({ bundle: suppliedBundle, source_recovery_code: code, ...(options.rp_id ? { rp_id: options.rp_id } : {}) });
446
+ identity = { encryption_private_key_hex: member.private_key_hex, encryption_fingerprint: member.fingerprint };
447
+ memberRecovery = { bundle_key: null, wrapper_id: member.wrapper_id, rp_id_used: member.rp_id_used, ek_fingerprint: member.fingerprint };
448
+ }
449
+ else {
450
+ const discovered = (await discoverMemberBundles(backend)).filter((b) => b.bundle != null);
451
+ if (discovered.length === 0) {
452
+ fail("RECOVERY_BUNDLE_MISSING", "a source recovery code was supplied but no member recovery bundle is available — none was passed and this mirror carries no member-recovery-bundles/ sidecar. The code alone cannot recover anything: export the bundle (console.run402.com/account → Download recovery bundle, or `run402 source-access export`) and keep it with the mirror.", "materializing gitvault recovery", undefined, [{ action: "re-run with --bundle <exported-bundle.json>" }]);
453
+ }
454
+ // Try each discovered bundle — the AEAD authenticates, so a foreign
455
+ // member's bundle simply fails to open and the loop moves on.
456
+ let opened = null;
457
+ let lastErr = null;
458
+ for (const d of discovered) {
459
+ try {
460
+ opened = { member: unwrapMemberRecoveryBundle({ bundle: d.bundle, source_recovery_code: code, ...(options.rp_id ? { rp_id: options.rp_id } : {}) }), bundle_key: d.key };
461
+ break;
462
+ }
463
+ catch (e) {
464
+ if (isRun402Error(e) && e.code === "RECOVERY_CODE_CHECKSUM_INVALID")
465
+ throw e; // a local typo is the same typo for every bundle
466
+ lastErr = e;
467
+ }
468
+ }
469
+ if (!opened) {
470
+ fail("WRAPPER_DID_NOT_OPEN", `this mirror carries ${discovered.length} member recovery-bundle sidecar(s) but the supplied code opened none of them — a wrong code, or a bundle belonging to a different member`, "materializing gitvault recovery", { tried: discovered.map((d) => d.key), cause: lastErr instanceof Error ? lastErr.message : String(lastErr) });
471
+ }
472
+ identity = { encryption_private_key_hex: opened.member.private_key_hex, encryption_fingerprint: opened.member.fingerprint };
473
+ memberRecovery = { bundle_key: opened.bundle_key, wrapper_id: opened.member.wrapper_id, rp_id_used: opened.member.rp_id_used, ek_fingerprint: opened.member.fingerprint };
474
+ }
475
+ }
476
+ else {
477
+ const stored = keystore.readIdentity();
478
+ if (!stored?.encryption_private_key_hex) {
479
+ fail("VAULT_UNRECOVERABLE", "no encryption key in this keystore — recovery can verify and adjudicate but cannot decrypt or materialize anything", "materializing gitvault recovery", undefined, [
480
+ { action: "restore the principal keystore (identity.json) from backup, then re-run recover" },
481
+ { action: "a human member under wrapper custody: re-run with --bundle <exported-bundle.json> + the source recovery code" },
482
+ { action: "run `run402 repos fsck --mirror` for the verify-only outcome" },
483
+ ]);
484
+ }
485
+ identity = stored;
425
486
  }
426
- const k1 = await resolveGenesisEpochKey(backend, discovery.genesis, keystore);
487
+ const k1 = await resolveGenesisEpochKey(backend, discovery.genesis, identity);
427
488
  const rotationKeys = await resolveRotationEpochKeys(backend, discovery.genesis, discovery.rotations, identity);
428
489
  const epochKeysHex = { [GITVAULT_GENESIS_EPOCH]: bytesToHex(k1), ...rotationKeys.epoch_keys_hex };
429
490
  const decryptBoundary = computeDecryptableBoundaryGeneration(discovery.rotations, epochKeysHex, discovery.newest_generation);
@@ -549,6 +610,7 @@ export async function recoverGitvaultMirror(options) {
549
610
  validity_not_freshness: GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT,
550
611
  keystore_still_required: GITVAULT_MIRROR_KEYSTORE_STILL_REQUIRED_STATEMENT,
551
612
  mode: "recovered", out_dir: options.out_dir, refs: refState.refs, head_target: refState.head_target,
613
+ member_recovery: memberRecovery,
552
614
  retained_refs,
553
615
  layout: "bare",
554
616
  next_actions: [
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault-recover.js","sourceRoot":"","sources":["../../src/node/gitvault-recover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault-recover.js","sourceRoot":"","sources":["../../src/node/gitvault-recover.ts"],"names":[],"mappings":"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"}