@run402/sdk 4.94.0 → 4.96.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 +44 -44
- package/core-dist/keystore.d.ts +1 -1
- package/core-dist/keystore.js +1 -1
- package/dist/actions.d.ts +3 -3
- package/dist/actions.d.ts.map +1 -1
- package/dist/app-up.d.ts +2 -2
- package/dist/app-up.d.ts.map +1 -1
- package/dist/config.d.ts +1 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/errors.d.ts +6 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/namespaces/admin.d.ts +1 -1
- package/dist/namespaces/admin.d.ts.map +1 -1
- package/dist/namespaces/ai.d.ts +1 -1
- package/dist/namespaces/ai.js +2 -2
- package/dist/namespaces/ai.js.map +1 -1
- package/dist/namespaces/assets.js +1 -1
- package/dist/namespaces/assets.js.map +1 -1
- package/dist/namespaces/ci.js +3 -3
- package/dist/namespaces/ci.js.map +1 -1
- package/dist/namespaces/deploy.d.ts +5 -5
- package/dist/namespaces/deploy.d.ts.map +1 -1
- package/dist/namespaces/deploy.js +45 -46
- package/dist/namespaces/deploy.js.map +1 -1
- package/dist/namespaces/deploy.types.d.ts +19 -19
- package/dist/namespaces/deploy.types.d.ts.map +1 -1
- package/dist/namespaces/domains.d.ts +10 -2
- package/dist/namespaces/domains.d.ts.map +1 -1
- package/dist/namespaces/domains.js +10 -5
- package/dist/namespaces/domains.js.map +1 -1
- package/dist/namespaces/errors.js +1 -1
- package/dist/namespaces/functions.js +1 -1
- package/dist/namespaces/functions.js.map +1 -1
- package/dist/namespaces/org.d.ts +2 -2
- package/dist/namespaces/org.js +2 -2
- package/dist/namespaces/org.types.d.ts +3 -3
- package/dist/namespaces/pay.js +1 -1
- package/dist/namespaces/{gitvault.d.ts → repos.d.ts} +438 -451
- package/dist/namespaces/repos.d.ts.map +1 -0
- package/dist/namespaces/{gitvault.js → repos.js} +454 -462
- package/dist/namespaces/repos.js.map +1 -0
- package/dist/namespaces/rooms.js +2 -2
- package/dist/namespaces/rooms.js.map +1 -1
- package/dist/namespaces/session.d.ts +2 -2
- package/dist/namespaces/session.d.ts.map +1 -1
- package/dist/namespaces/session.js +2 -2
- package/dist/namespaces/session.js.map +1 -1
- package/dist/namespaces/tier.d.ts +4 -4
- package/dist/namespaces/tier.d.ts.map +1 -1
- package/dist/namespaces/transfers.d.ts +46 -15
- package/dist/namespaces/transfers.d.ts.map +1 -1
- package/dist/namespaces/transfers.js.map +1 -1
- package/dist/namespaces/{gitvault.crypto.d.ts → vault.crypto.d.ts} +141 -141
- package/dist/namespaces/vault.crypto.d.ts.map +1 -0
- package/dist/namespaces/{gitvault.crypto.js → vault.crypto.js} +173 -173
- package/dist/namespaces/vault.crypto.js.map +1 -0
- package/dist/namespaces/{gitvault.types.d.ts → vault.types.d.ts} +136 -136
- package/dist/namespaces/vault.types.d.ts.map +1 -0
- package/dist/namespaces/{gitvault.types.js → vault.types.js} +4 -4
- package/dist/namespaces/vault.types.js.map +1 -0
- package/dist/node/actions-node.js +8 -8
- package/dist/node/actions-node.js.map +1 -1
- package/dist/node/assets-node.js +6 -6
- package/dist/node/assets-node.js.map +1 -1
- package/dist/node/bearer-redeem-key.d.ts +1 -1
- package/dist/node/bearer-redeem-key.js +5 -5
- package/dist/node/bearer-redeem-key.js.map +1 -1
- package/dist/node/ci.js +1 -1
- package/dist/node/ci.js.map +1 -1
- package/dist/node/credentials.d.ts +1 -1
- package/dist/node/credentials.js +1 -1
- package/dist/node/deploy-manifest.d.ts +3 -5
- package/dist/node/deploy-manifest.d.ts.map +1 -1
- package/dist/node/deploy-manifest.js +3 -12
- package/dist/node/deploy-manifest.js.map +1 -1
- package/dist/node/http-dispatcher.js +5 -5
- package/dist/node/http-dispatcher.js.map +1 -1
- package/dist/node/index.d.ts +29 -29
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +39 -39
- package/dist/node/index.js.map +1 -1
- package/dist/node/manifest-export.js +2 -2
- package/dist/node/manifest-export.js.map +1 -1
- package/dist/node/org-adopt.js +1 -1
- package/dist/node/org-adopt.js.map +1 -1
- package/dist/node/sites-node.js +1 -1
- package/dist/node/sites-node.js.map +1 -1
- package/dist/node/{gitvault-address.d.ts → vault-address.d.ts} +42 -42
- package/dist/node/vault-address.d.ts.map +1 -0
- package/dist/node/{gitvault-address.js → vault-address.js} +43 -43
- package/dist/node/vault-address.js.map +1 -0
- package/dist/node/{gitvault-apply.d.ts → vault-apply.d.ts} +27 -27
- package/dist/node/vault-apply.d.ts.map +1 -0
- package/dist/node/{gitvault-apply.js → vault-apply.js} +38 -38
- package/dist/node/vault-apply.js.map +1 -0
- package/dist/node/vault-byo-config.d.ts +29 -0
- package/dist/node/vault-byo-config.d.ts.map +1 -0
- package/dist/node/{gitvault-byo-config.js → vault-byo-config.js} +18 -18
- package/dist/node/vault-byo-config.js.map +1 -0
- package/dist/node/vault-byo-probe.d.ts +20 -0
- package/dist/node/vault-byo-probe.d.ts.map +1 -0
- package/dist/node/vault-byo-probe.js +57 -0
- package/dist/node/vault-byo-probe.js.map +1 -0
- package/dist/node/{gitvault-creation-journal.d.ts → vault-creation-journal.d.ts} +69 -69
- package/dist/node/vault-creation-journal.d.ts.map +1 -0
- package/dist/node/{gitvault-creation-journal.js → vault-creation-journal.js} +54 -54
- package/dist/node/vault-creation-journal.js.map +1 -0
- package/dist/node/{gitvault-degraded-read.d.ts → vault-degraded-read.d.ts} +34 -34
- package/dist/node/vault-degraded-read.d.ts.map +1 -0
- package/dist/node/{gitvault-degraded-read.js → vault-degraded-read.js} +24 -24
- package/dist/node/vault-degraded-read.js.map +1 -0
- package/dist/node/{gitvault-deploy.d.ts → vault-deploy.d.ts} +67 -67
- package/dist/node/vault-deploy.d.ts.map +1 -0
- package/dist/node/{gitvault-deploy.js → vault-deploy.js} +27 -27
- package/dist/node/vault-deploy.js.map +1 -0
- package/dist/node/{gitvault-edge-fetch.d.ts → vault-edge-fetch.d.ts} +9 -9
- package/dist/node/vault-edge-fetch.d.ts.map +1 -0
- package/dist/node/{gitvault-edge-fetch.js → vault-edge-fetch.js} +11 -11
- package/dist/node/vault-edge-fetch.js.map +1 -0
- package/dist/node/{gitvault-handoff.d.ts → vault-handoff.d.ts} +9 -9
- package/dist/node/vault-handoff.d.ts.map +1 -0
- package/dist/node/{gitvault-handoff.js → vault-handoff.js} +24 -24
- package/dist/node/vault-handoff.js.map +1 -0
- package/dist/node/{gitvault-keystore.d.ts → vault-keystore.d.ts} +87 -77
- package/dist/node/vault-keystore.d.ts.map +1 -0
- package/dist/node/{gitvault-keystore.js → vault-keystore.js} +105 -68
- package/dist/node/vault-keystore.js.map +1 -0
- package/dist/node/{gitvault-member-bundle.d.ts → vault-member-bundle.d.ts} +17 -17
- package/dist/node/vault-member-bundle.d.ts.map +1 -0
- package/dist/node/{gitvault-member-bundle.js → vault-member-bundle.js} +11 -11
- package/dist/node/vault-member-bundle.js.map +1 -0
- package/dist/node/{gitvault-mirror-backend.d.ts → vault-mirror-backend.d.ts} +26 -26
- package/dist/node/vault-mirror-backend.d.ts.map +1 -0
- package/dist/node/{gitvault-mirror-backend.js → vault-mirror-backend.js} +25 -25
- package/dist/node/vault-mirror-backend.js.map +1 -0
- package/dist/node/{gitvault-mirror-config.d.ts → vault-mirror-config.d.ts} +23 -23
- package/dist/node/vault-mirror-config.d.ts.map +1 -0
- package/dist/node/{gitvault-mirror-config.js → vault-mirror-config.js} +16 -16
- package/dist/node/vault-mirror-config.js.map +1 -0
- package/dist/node/{gitvault-mirror.d.ts → vault-mirror.d.ts} +36 -36
- package/dist/node/vault-mirror.d.ts.map +1 -0
- package/dist/node/{gitvault-mirror.js → vault-mirror.js} +75 -75
- package/dist/node/vault-mirror.js.map +1 -0
- package/dist/node/{gitvault-native-crypto.d.ts → vault-native-crypto.d.ts} +10 -10
- package/dist/node/vault-native-crypto.d.ts.map +1 -0
- package/dist/node/{gitvault-native-crypto.js → vault-native-crypto.js} +16 -16
- package/dist/node/vault-native-crypto.js.map +1 -0
- package/dist/node/{gitvault-open-or-create.d.ts → vault-open-or-create.d.ts} +16 -16
- package/dist/node/vault-open-or-create.d.ts.map +1 -0
- package/dist/node/{gitvault-open-or-create.js → vault-open-or-create.js} +10 -10
- package/dist/node/vault-open-or-create.js.map +1 -0
- package/dist/node/{gitvault-prewarm.d.ts → vault-prewarm.d.ts} +13 -13
- package/dist/node/vault-prewarm.d.ts.map +1 -0
- package/dist/node/{gitvault-prewarm.js → vault-prewarm.js} +25 -25
- package/dist/node/vault-prewarm.js.map +1 -0
- package/dist/node/{gitvault-profile-scan.d.ts → vault-profile-scan.d.ts} +3 -3
- package/dist/node/vault-profile-scan.d.ts.map +1 -0
- package/dist/node/{gitvault-profile-scan.js → vault-profile-scan.js} +12 -12
- package/dist/node/vault-profile-scan.js.map +1 -0
- package/dist/node/{gitvault-prune.d.ts → vault-prune.d.ts} +61 -61
- package/dist/node/vault-prune.d.ts.map +1 -0
- package/dist/node/{gitvault-prune.js → vault-prune.js} +34 -34
- package/dist/node/vault-prune.js.map +1 -0
- package/dist/node/{gitvault-publication.d.ts → vault-publication.d.ts} +399 -399
- package/dist/node/vault-publication.d.ts.map +1 -0
- package/dist/node/{gitvault-publication.js → vault-publication.js} +584 -584
- package/dist/node/vault-publication.js.map +1 -0
- package/dist/node/{gitvault-push-to-create.d.ts → vault-push-to-create.d.ts} +16 -16
- package/dist/node/vault-push-to-create.d.ts.map +1 -0
- package/dist/node/{gitvault-push-to-create.js → vault-push-to-create.js} +9 -9
- package/dist/node/vault-push-to-create.js.map +1 -0
- package/dist/node/{gitvault-recover.d.ts → vault-recover.d.ts} +50 -50
- package/dist/node/vault-recover.d.ts.map +1 -0
- package/dist/node/{gitvault-recover.js → vault-recover.js} +84 -84
- package/dist/node/vault-recover.js.map +1 -0
- package/dist/node/{gitvault-restore.d.ts → vault-restore.d.ts} +8 -8
- package/dist/node/vault-restore.d.ts.map +1 -0
- package/dist/node/{gitvault-restore.js → vault-restore.js} +11 -11
- package/dist/node/vault-restore.js.map +1 -0
- package/dist/node/{gitvault-snapshot.d.ts → vault-snapshot.d.ts} +48 -48
- package/dist/node/vault-snapshot.d.ts.map +1 -0
- package/dist/node/{gitvault-snapshot.js → vault-snapshot.js} +61 -61
- package/dist/node/vault-snapshot.js.map +1 -0
- package/dist/node/{gitvault-writer-state.d.ts → vault-writer-state.d.ts} +8 -8
- package/dist/node/vault-writer-state.d.ts.map +1 -0
- package/dist/node/{gitvault-writer-state.js → vault-writer-state.js} +15 -15
- package/dist/node/vault-writer-state.js.map +1 -0
- package/dist/node/workflow-output.js +4 -4
- package/dist/node/workflow-output.js.map +1 -1
- package/dist/scoped.d.ts +8 -8
- package/dist/scoped.d.ts.map +1 -1
- package/dist/scoped.js +3 -3
- package/dist/scoped.js.map +1 -1
- package/package.json +1 -1
- package/dist/namespaces/gitvault.crypto.d.ts.map +0 -1
- package/dist/namespaces/gitvault.crypto.js.map +0 -1
- package/dist/namespaces/gitvault.d.ts.map +0 -1
- package/dist/namespaces/gitvault.js.map +0 -1
- package/dist/namespaces/gitvault.types.d.ts.map +0 -1
- package/dist/namespaces/gitvault.types.js.map +0 -1
- package/dist/node/gitvault-address.d.ts.map +0 -1
- package/dist/node/gitvault-address.js.map +0 -1
- package/dist/node/gitvault-apply.d.ts.map +0 -1
- package/dist/node/gitvault-apply.js.map +0 -1
- package/dist/node/gitvault-byo-config.d.ts +0 -29
- package/dist/node/gitvault-byo-config.d.ts.map +0 -1
- package/dist/node/gitvault-byo-config.js.map +0 -1
- package/dist/node/gitvault-byo-probe.d.ts +0 -20
- package/dist/node/gitvault-byo-probe.d.ts.map +0 -1
- package/dist/node/gitvault-byo-probe.js +0 -57
- package/dist/node/gitvault-byo-probe.js.map +0 -1
- package/dist/node/gitvault-creation-journal.d.ts.map +0 -1
- package/dist/node/gitvault-creation-journal.js.map +0 -1
- package/dist/node/gitvault-degraded-read.d.ts.map +0 -1
- package/dist/node/gitvault-degraded-read.js.map +0 -1
- package/dist/node/gitvault-deploy.d.ts.map +0 -1
- package/dist/node/gitvault-deploy.js.map +0 -1
- package/dist/node/gitvault-edge-fetch.d.ts.map +0 -1
- package/dist/node/gitvault-edge-fetch.js.map +0 -1
- package/dist/node/gitvault-handoff.d.ts.map +0 -1
- package/dist/node/gitvault-handoff.js.map +0 -1
- package/dist/node/gitvault-keystore.d.ts.map +0 -1
- package/dist/node/gitvault-keystore.js.map +0 -1
- package/dist/node/gitvault-member-bundle.d.ts.map +0 -1
- package/dist/node/gitvault-member-bundle.js.map +0 -1
- package/dist/node/gitvault-mirror-backend.d.ts.map +0 -1
- package/dist/node/gitvault-mirror-backend.js.map +0 -1
- package/dist/node/gitvault-mirror-config.d.ts.map +0 -1
- package/dist/node/gitvault-mirror-config.js.map +0 -1
- package/dist/node/gitvault-mirror.d.ts.map +0 -1
- package/dist/node/gitvault-mirror.js.map +0 -1
- package/dist/node/gitvault-native-crypto.d.ts.map +0 -1
- package/dist/node/gitvault-native-crypto.js.map +0 -1
- package/dist/node/gitvault-open-or-create.d.ts.map +0 -1
- package/dist/node/gitvault-open-or-create.js.map +0 -1
- package/dist/node/gitvault-prewarm.d.ts.map +0 -1
- package/dist/node/gitvault-prewarm.js.map +0 -1
- package/dist/node/gitvault-profile-scan.d.ts.map +0 -1
- package/dist/node/gitvault-profile-scan.js.map +0 -1
- package/dist/node/gitvault-prune.d.ts.map +0 -1
- package/dist/node/gitvault-prune.js.map +0 -1
- package/dist/node/gitvault-publication.d.ts.map +0 -1
- package/dist/node/gitvault-publication.js.map +0 -1
- package/dist/node/gitvault-push-to-create.d.ts.map +0 -1
- package/dist/node/gitvault-push-to-create.js.map +0 -1
- package/dist/node/gitvault-recover.d.ts.map +0 -1
- package/dist/node/gitvault-recover.js.map +0 -1
- package/dist/node/gitvault-restore.d.ts.map +0 -1
- package/dist/node/gitvault-restore.js.map +0 -1
- package/dist/node/gitvault-snapshot.d.ts.map +0 -1
- package/dist/node/gitvault-snapshot.js.map +0 -1
- package/dist/node/gitvault-writer-state.d.ts.map +0 -1
- package/dist/node/gitvault-writer-state.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* vault — snapshot + hardened git execution (protocol rev 41 §6.6; task 5.5).
|
|
3
3
|
*
|
|
4
4
|
* Snapshot policy: clean tree → `HEAD`; dirty → REFUSED BY DEFAULT
|
|
5
5
|
* (`SNAPSHOT_DIRTY_TREE`, before any object is created) unless
|
|
@@ -49,25 +49,25 @@ import { existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readlinkSy
|
|
|
49
49
|
import { tmpdir } from "node:os";
|
|
50
50
|
import { join, resolve } from "node:path";
|
|
51
51
|
import { LocalError } from "../errors.js";
|
|
52
|
-
import {
|
|
52
|
+
import { VAULT_OID40_RE, deriveDigestKey, keyedCommitment, sha256Hex, snapshotOidContent } from "../namespaces/vault.crypto.js";
|
|
53
53
|
// ─── Constants (constants.json) ──────────────────────────────────────────────
|
|
54
54
|
/** `MAX_GIT_OBJECT_BYTES` — any single object above this is `GIT_OBJECT_TOO_LARGE`. */
|
|
55
|
-
export const
|
|
55
|
+
export const VAULT_MAX_GIT_OBJECT_BYTES = 200 * 1024 * 1024;
|
|
56
56
|
/** `refs/run402/deploys/latest` — the single protocol-owned deploy ref (round-3 H9). */
|
|
57
|
-
export const
|
|
57
|
+
export const VAULT_DEPLOY_REF = "refs/run402/deploys/latest";
|
|
58
58
|
/** Probed git version range: `[2.32, ∞)` — `GIT_CONFIG_GLOBAL` landed in 2.32. */
|
|
59
|
-
export const
|
|
59
|
+
export const VAULT_MIN_GIT_VERSION = [2, 32];
|
|
60
60
|
function fail(code, message, context, details, next_actions) {
|
|
61
61
|
throw new LocalError(message, context, { code, details, ...(next_actions ? { next_actions } : {}) });
|
|
62
62
|
}
|
|
63
63
|
let emptyHooksDir = null;
|
|
64
64
|
function hooksPath() {
|
|
65
65
|
if (!emptyHooksDir) {
|
|
66
|
-
emptyHooksDir = mkdtempSync(join(tmpdir(), "run402-
|
|
66
|
+
emptyHooksDir = mkdtempSync(join(tmpdir(), "run402-vault-nohooks-"));
|
|
67
67
|
}
|
|
68
68
|
return emptyHooksDir;
|
|
69
69
|
}
|
|
70
|
-
/** The environment every
|
|
70
|
+
/** The environment every vault git process runs under — nothing inherited except PATH. */
|
|
71
71
|
export function hardenedGitEnv(extra = {}) {
|
|
72
72
|
const env = {
|
|
73
73
|
PATH: process.env.PATH ?? "/usr/bin:/bin",
|
|
@@ -78,10 +78,10 @@ export function hardenedGitEnv(extra = {}) {
|
|
|
78
78
|
GIT_TERMINAL_PROMPT: "0",
|
|
79
79
|
GIT_OPTIONAL_LOCKS: "0",
|
|
80
80
|
// hash-object/commit-tree identity for synthetic commits — fixed, never the user's.
|
|
81
|
-
GIT_AUTHOR_NAME: "run402
|
|
82
|
-
GIT_AUTHOR_EMAIL: "
|
|
83
|
-
GIT_COMMITTER_NAME: "run402
|
|
84
|
-
GIT_COMMITTER_EMAIL: "
|
|
81
|
+
GIT_AUTHOR_NAME: "run402 vault",
|
|
82
|
+
GIT_AUTHOR_EMAIL: "vault@run402.com",
|
|
83
|
+
GIT_COMMITTER_NAME: "run402 vault",
|
|
84
|
+
GIT_COMMITTER_EMAIL: "vault@run402.com",
|
|
85
85
|
};
|
|
86
86
|
if (process.env.HOME)
|
|
87
87
|
env.HOME = process.env.HOME; // only so /dev/null config resolution has a home; never read.
|
|
@@ -91,15 +91,15 @@ export function hardenedGitEnv(extra = {}) {
|
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* The `RUN402_*` environment this process was configured with — for the ONE
|
|
94
|
-
*
|
|
95
|
-
* that clone spawns the `git-remote-
|
|
94
|
+
* vault git invocation that touches the network (`cloneVaultRemote`):
|
|
95
|
+
* that clone spawns the `git-remote-run402` helper,
|
|
96
96
|
* which must authenticate as THIS session's wallet and config dir. Under the
|
|
97
97
|
* bare {@link hardenedGitEnv} the helper saw no `RUN402_CONFIG_DIR` /
|
|
98
98
|
* `RUN402_WALLET` / `RUN402_API_BASE` and fell back to the machine's default
|
|
99
99
|
* config — a different wallet, not a member of the vault's org — so a
|
|
100
100
|
* `resume` on any machine that selects its identity by env (a laptop with
|
|
101
101
|
* several agent config dirs, a CI job, a harness with `RUN402_WALLET`) died
|
|
102
|
-
* `
|
|
102
|
+
* `VAULT_ACCESS_DENIED` "while resolving the project's vault" right
|
|
103
103
|
* after a successful claim (kygit-handoff live rerun, 2026-09-03). Only
|
|
104
104
|
* `RUN402_*` keys pass; git's own hardening is untouched.
|
|
105
105
|
*/
|
|
@@ -216,14 +216,14 @@ export async function resolveGitInvocationRepo(env = process.env, cwd = process.
|
|
|
216
216
|
}
|
|
217
217
|
return { git_dir: observed, repo_dir: observed };
|
|
218
218
|
}
|
|
219
|
-
/** `git version` parsed as [major, minor]; refuses below {@link
|
|
219
|
+
/** `git version` parsed as [major, minor]; refuses below {@link VAULT_MIN_GIT_VERSION}. */
|
|
220
220
|
export async function probeGitVersion(cwd = process.cwd()) {
|
|
221
221
|
const r = await hardenedGit(cwd, ["version"]);
|
|
222
222
|
const m = /git version (\d+)\.(\d+)/.exec(r.text());
|
|
223
223
|
if (!m)
|
|
224
224
|
fail("GIT_UNAVAILABLE", `unrecognized git version output: ${r.text().trim()}`, "probing git version");
|
|
225
225
|
const v = [Number(m[1]), Number(m[2])];
|
|
226
|
-
const [minMajor, minMinor] =
|
|
226
|
+
const [minMajor, minMinor] = VAULT_MIN_GIT_VERSION;
|
|
227
227
|
if (v[0] < minMajor || (v[0] === minMajor && v[1] < minMinor)) {
|
|
228
228
|
fail("GIT_VERSION_UNSUPPORTED", `git ${v[0]}.${v[1]} is below the supported ${minMajor}.${minMinor}`, "probing git version", { version: v });
|
|
229
229
|
}
|
|
@@ -270,7 +270,7 @@ export function parseGitConfigAsData(text, file) {
|
|
|
270
270
|
section = section.slice(0, dot);
|
|
271
271
|
}
|
|
272
272
|
if (section === "include" || section === "includeif") {
|
|
273
|
-
throw new LocalError(`${file}: [${section}] is not supported by the frozen ignore-authority discovery; remove it or set core.excludesFile directly`, "discovering global excludes", { code: "
|
|
273
|
+
throw new LocalError(`${file}: [${section}] is not supported by the frozen ignore-authority discovery; remove it or set core.excludesFile directly`, "discovering global excludes", { code: "VAULT_CONFIG_INCLUDE_REFUSED", details: { file, key: section } });
|
|
274
274
|
}
|
|
275
275
|
continue;
|
|
276
276
|
}
|
|
@@ -284,17 +284,17 @@ export function parseGitConfigAsData(text, file) {
|
|
|
284
284
|
function expandConfigPath(value, home, file) {
|
|
285
285
|
if (value.startsWith("~/")) {
|
|
286
286
|
if (!home)
|
|
287
|
-
fail("
|
|
287
|
+
fail("VAULT_EXCLUDES_PATH_UNSUPPORTED", `${file}: core.excludesFile uses ~/ but HOME is unset`, "discovering global excludes", { file, value });
|
|
288
288
|
return join(home, value.slice(2));
|
|
289
289
|
}
|
|
290
290
|
if (value.startsWith("$HOME/") || value === "$HOME") {
|
|
291
291
|
if (!home)
|
|
292
|
-
fail("
|
|
292
|
+
fail("VAULT_EXCLUDES_PATH_UNSUPPORTED", `${file}: core.excludesFile uses $HOME but HOME is unset`, "discovering global excludes", { file, value });
|
|
293
293
|
return join(home, value.slice(5));
|
|
294
294
|
}
|
|
295
295
|
if (value.startsWith("/"))
|
|
296
296
|
return value;
|
|
297
|
-
fail("
|
|
297
|
+
fail("VAULT_EXCLUDES_PATH_UNSUPPORTED", `${file}: core.excludesFile "${value}" is relative or environment-dependent; only absolute, ~/, and $HOME/ paths are supported`, "discovering global excludes", { file, value });
|
|
298
298
|
}
|
|
299
299
|
function readAsData(file, code, context) {
|
|
300
300
|
try {
|
|
@@ -324,7 +324,7 @@ export function discoverGlobalExcludes(env = { HOME: process.env.HOME, XDG_CONFI
|
|
|
324
324
|
let excludes = null;
|
|
325
325
|
const read = [];
|
|
326
326
|
for (const file of configs) {
|
|
327
|
-
const text = readAsData(file, "
|
|
327
|
+
const text = readAsData(file, "VAULT_CONFIG_UNREADABLE", "discovering global excludes");
|
|
328
328
|
if (text === null)
|
|
329
329
|
continue;
|
|
330
330
|
read.push(file);
|
|
@@ -346,7 +346,7 @@ export function discoverGlobalExcludes(env = { HOME: process.env.HOME, XDG_CONFI
|
|
|
346
346
|
}
|
|
347
347
|
let patterns = null;
|
|
348
348
|
if (path) {
|
|
349
|
-
patterns = readAsData(path, "
|
|
349
|
+
patterns = readAsData(path, "VAULT_EXCLUDES_UNREADABLE", "reading global excludes as data");
|
|
350
350
|
if (patterns === null)
|
|
351
351
|
path = source === "default" ? null : path; // an explicitly configured but absent file: git ignores it too
|
|
352
352
|
}
|
|
@@ -365,29 +365,29 @@ export async function inspectRepository(dir) {
|
|
|
365
365
|
bare = await gitRevParse(abs, "--is-bare-repository");
|
|
366
366
|
}
|
|
367
367
|
catch (e) {
|
|
368
|
-
fail("
|
|
368
|
+
fail("VAULT_NOT_A_REPOSITORY", `${abs} is not inside a git repository`, "inspecting repository", { dir: abs, cause: String(e.message) });
|
|
369
369
|
}
|
|
370
370
|
if (bare === "true")
|
|
371
|
-
fail("
|
|
371
|
+
fail("VAULT_BARE_REPOSITORY", "bare repositories are refused: a snapshot needs a work tree", "inspecting repository", { dir: abs });
|
|
372
372
|
let top;
|
|
373
373
|
try {
|
|
374
374
|
top = await gitRevParse(abs, "--show-toplevel");
|
|
375
375
|
}
|
|
376
376
|
catch (e) {
|
|
377
|
-
fail("
|
|
377
|
+
fail("VAULT_NOT_A_REPOSITORY", `${abs} is not inside a git work tree`, "inspecting repository", { dir: abs, cause: String(e.message) });
|
|
378
378
|
}
|
|
379
379
|
const gitDir = resolve(top, await gitRevParse(top, "--git-dir"));
|
|
380
380
|
const commonDir = resolve(top, await gitRevParse(top, "--git-common-dir"));
|
|
381
381
|
if (gitDir !== commonDir)
|
|
382
|
-
fail("
|
|
382
|
+
fail("VAULT_LINKED_WORKTREE", `linked worktrees are refused by name: ${top} is a linked worktree of ${commonDir}`, "inspecting repository", { worktree: top, git_dir: gitDir, git_common_dir: commonDir });
|
|
383
383
|
if ((await gitRevParse(top, "--is-shallow-repository")) === "true")
|
|
384
|
-
fail("
|
|
384
|
+
fail("VAULT_SHALLOW_CLONE", "shallow/partial clones are refused: the object set is incomplete", "inspecting repository", { dir: top });
|
|
385
385
|
const format = (await gitRevParse(top, "--show-object-format")).trim();
|
|
386
386
|
if (format !== "sha1")
|
|
387
387
|
fail("GIT_OBJECT_FORMAT_UNSUPPORTED", `object format ${format} is not supported in V0 (sha1 only)`, "inspecting repository", { object_format: format });
|
|
388
388
|
for (const [file, code, what] of [
|
|
389
|
-
[join(commonDir, "objects", "info", "alternates"), "
|
|
390
|
-
[join(commonDir, "info", "grafts"), "
|
|
389
|
+
[join(commonDir, "objects", "info", "alternates"), "VAULT_ALTERNATES_UNSUPPORTED", "objects/info/alternates"],
|
|
390
|
+
[join(commonDir, "info", "grafts"), "VAULT_GRAFTS_UNSUPPORTED", "info/grafts"],
|
|
391
391
|
]) {
|
|
392
392
|
if (existsSync(file))
|
|
393
393
|
fail(code, `${what} is present; alternates/grafts are refused so the captured object set is exactly this repository's`, "inspecting repository", { file });
|
|
@@ -395,20 +395,20 @@ export async function inspectRepository(dir) {
|
|
|
395
395
|
// sparse checkout: the config bit or the sparse-checkout file
|
|
396
396
|
const sparse = await hardenedGit(top, ["config", "--bool", "--get", "core.sparseCheckout"], { okStatuses: [1] });
|
|
397
397
|
if (sparse.text().trim() === "true" || existsSync(join(gitDir, "info", "sparse-checkout")))
|
|
398
|
-
fail("
|
|
398
|
+
fail("VAULT_SPARSE_CHECKOUT", "sparse checkouts are refused: the work tree is not the whole tree", "inspecting repository", { dir: top });
|
|
399
399
|
// repository config includes — git applies them before -c; refuse by name
|
|
400
400
|
const cfg = await hardenedGit(top, ["config", "--file", join(commonDir, "config"), "--list", "--name-only"], { okStatuses: [1] });
|
|
401
401
|
for (const name of cfg.lines()) {
|
|
402
402
|
const lower = name.toLowerCase();
|
|
403
403
|
if (lower.startsWith("include.") || lower.startsWith("includeif."))
|
|
404
|
-
fail("
|
|
404
|
+
fail("VAULT_CONFIG_INCLUDE_REFUSED", `repository config carries ${name}; include/includeIf is refused by name`, "inspecting repository", { key: name });
|
|
405
405
|
}
|
|
406
406
|
// submodules: .gitmodules or gitlinks in the index
|
|
407
407
|
if (existsSync(join(top, ".gitmodules")))
|
|
408
|
-
fail("
|
|
408
|
+
fail("VAULT_SUBMODULES_UNSUPPORTED", ".gitmodules present; submodules are not supported in V0", "inspecting repository", { dir: top });
|
|
409
409
|
const gitlinks = (await hardenedGit(top, ["ls-files", "-s", "-z"])).nul().filter((l) => l.startsWith("160000 "));
|
|
410
410
|
if (gitlinks.length > 0)
|
|
411
|
-
fail("
|
|
411
|
+
fail("VAULT_SUBMODULES_UNSUPPORTED", "the index contains gitlinks; submodules are not supported in V0", "inspecting repository", { paths: gitlinks.map((l) => l.split("\t")[1]) });
|
|
412
412
|
// HEAD
|
|
413
413
|
const symref = await hardenedGit(top, ["symbolic-ref", "-q", "HEAD"], { okStatuses: [1] });
|
|
414
414
|
const resolved = await hardenedGit(top, ["rev-parse", "-q", "--verify", "HEAD^{commit}"], { okStatuses: [1] });
|
|
@@ -422,7 +422,7 @@ export async function inspectRepository(dir) {
|
|
|
422
422
|
}
|
|
423
423
|
else {
|
|
424
424
|
if (!resolvedOid)
|
|
425
|
-
fail("
|
|
425
|
+
fail("VAULT_NOT_A_REPOSITORY", "HEAD is neither a symbolic ref nor a commit", "inspecting repository", { dir: top });
|
|
426
426
|
head = { kind: "detached", oid: resolvedOid, resolved_oid: resolvedOid };
|
|
427
427
|
}
|
|
428
428
|
const unmerged = [...new Set((await hardenedGit(top, ["ls-files", "-u", "-z"])).nul().map((l) => l.split("\t")[1]))];
|
|
@@ -593,7 +593,7 @@ export async function captureSnapshot(options) {
|
|
|
593
593
|
const dirty = untracked.length > 0 || modified.length > 0;
|
|
594
594
|
// Fail fast and free: this refusal fires BEFORE any object is created,
|
|
595
595
|
// hashed, or uploaded — Tal's decision "help people not make mistakes"
|
|
596
|
-
// applies to both capture lanes (manual `repos
|
|
596
|
+
// applies to both capture lanes (manual `repos capture` and the
|
|
597
597
|
// deploy-lane capture), and to `--dry-run` (which reaches this same
|
|
598
598
|
// function — a preview that hid the refusal would lie).
|
|
599
599
|
if (dirty && options.allowDirty !== true) {
|
|
@@ -634,21 +634,21 @@ export async function captureSnapshot(options) {
|
|
|
634
634
|
// `untracked` are both empty, and the loop below simply commits nothing).
|
|
635
635
|
const present = await enumerateCapturedPaths(top, excludeArgs, untracked);
|
|
636
636
|
// Size cap before any object is written.
|
|
637
|
-
const oversize = present.find((e) => e.size >
|
|
637
|
+
const oversize = present.find((e) => e.size > VAULT_MAX_GIT_OBJECT_BYTES);
|
|
638
638
|
if (oversize) {
|
|
639
|
-
fail("GIT_OBJECT_TOO_LARGE", `${oversize.path} is ${oversize.size} bytes; the per-object cap is ${
|
|
639
|
+
fail("GIT_OBJECT_TOO_LARGE", `${oversize.path} is ${oversize.size} bytes; the per-object cap is ${VAULT_MAX_GIT_OBJECT_BYTES} bytes (200 MiB)`, "capturing snapshot", { path: oversize.path, size_bytes: String(oversize.size), cap_bytes: String(VAULT_MAX_GIT_OBJECT_BYTES) });
|
|
640
640
|
}
|
|
641
641
|
// Filter detection over EVERY included path (LFS is a filter) — refuse by name, never start one.
|
|
642
642
|
const active = await detectActiveFilters(top, present.map((e) => e.path));
|
|
643
643
|
if (active.length > 0) {
|
|
644
644
|
const lfs = active.filter((a) => a.filter === "lfs");
|
|
645
|
-
const code = lfs.length > 0 ? "
|
|
646
|
-
fail(code, `${active.length} captured path(s) have an active clean/smudge filter (${[...new Set(active.map((a) => a.filter))].join(", ")});
|
|
645
|
+
const code = lfs.length > 0 ? "VAULT_LFS_UNSUPPORTED" : "VAULT_FILTER_ACTIVE";
|
|
646
|
+
fail(code, `${active.length} captured path(s) have an active clean/smudge filter (${[...new Set(active.map((a) => a.filter))].join(", ")}); vault never runs filters, so the capture is refused by name — first: ${active[0].path}`, "capturing snapshot", { paths: active });
|
|
647
647
|
}
|
|
648
648
|
// Hash raw bytes with filters structurally disabled (`-w`: the tree below needs the blobs).
|
|
649
649
|
const entries = await hashCapturedPaths(top, present, true, "capturing snapshot");
|
|
650
650
|
// Build the tree in a TEMPORARY index so the user's index stays byte-identical.
|
|
651
|
-
const tmp = mkdtempSync(join(tmpdir(), "run402-
|
|
651
|
+
const tmp = mkdtempSync(join(tmpdir(), "run402-vault-snapshot-"));
|
|
652
652
|
try {
|
|
653
653
|
const indexFile = join(tmp, "index");
|
|
654
654
|
const info = entries.map((e) => `${e.mode} ${e.oid}\t${e.path}\n`).join("");
|
|
@@ -657,9 +657,9 @@ export async function captureSnapshot(options) {
|
|
|
657
657
|
const when = Math.floor((options.now ?? (() => new Date()))().getTime() / 1000);
|
|
658
658
|
const dateEnv = { GIT_AUTHOR_DATE: `${when} +0000`, GIT_COMMITTER_DATE: `${when} +0000` };
|
|
659
659
|
const parentArgs = headOid ? ["-p", headOid] : [];
|
|
660
|
-
const commit = (await hardenedGit(top, ["commit-tree", tree, ...parentArgs, "-m", options.message ?? "run402
|
|
660
|
+
const commit = (await hardenedGit(top, ["commit-tree", tree, ...parentArgs, "-m", options.message ?? "run402 repos capture (synthetic commit of the work tree)"], { env: dateEnv })).text().trim();
|
|
661
661
|
if (options.update_local_deploy_ref !== false) {
|
|
662
|
-
await hardenedGit(top, ["update-ref",
|
|
662
|
+
await hardenedGit(top, ["update-ref", VAULT_DEPLOY_REF, commit]);
|
|
663
663
|
}
|
|
664
664
|
// Disclosure (allowDirty override): restrict `modified`/`untracked` to
|
|
665
665
|
// paths that actually landed in the captured set — a `modified` path
|
|
@@ -699,7 +699,7 @@ export async function detectActiveFilters(top, paths) {
|
|
|
699
699
|
* is never filtered by this list. `--include-sensitive <glob>` re-admits a
|
|
700
700
|
* named path by matching the SAME glob grammar against the candidate.
|
|
701
701
|
*/
|
|
702
|
-
export const
|
|
702
|
+
export const VAULT_HANDOFF_SENSITIVE_DENYLIST = [
|
|
703
703
|
".env",
|
|
704
704
|
".env.*",
|
|
705
705
|
"*.pem",
|
|
@@ -774,7 +774,7 @@ export function globMatchesGitPath(glob, relPath) {
|
|
|
774
774
|
export function isHandoffSensitivePath(relPath, includeSensitive = []) {
|
|
775
775
|
if (includeSensitive.some((g) => globMatchesGitPath(g, relPath)))
|
|
776
776
|
return false;
|
|
777
|
-
return
|
|
777
|
+
return VAULT_HANDOFF_SENSITIVE_DENYLIST.some((g) => globMatchesGitPath(g, relPath));
|
|
778
778
|
}
|
|
779
779
|
/**
|
|
780
780
|
* Capture a stash-shaped handoff checkpoint. Reuses every hardened-execution
|
|
@@ -812,23 +812,23 @@ export async function captureHandoffSnapshot(options) {
|
|
|
812
812
|
}
|
|
813
813
|
const trackedPresent = statPresentPaths(top, trackedList);
|
|
814
814
|
const untrackedPresent = statPresentPaths(top, admittedUntracked);
|
|
815
|
-
const oversize = [...trackedPresent, ...untrackedPresent].find((e) => e.size >
|
|
815
|
+
const oversize = [...trackedPresent, ...untrackedPresent].find((e) => e.size > VAULT_MAX_GIT_OBJECT_BYTES);
|
|
816
816
|
if (oversize) {
|
|
817
|
-
fail("GIT_OBJECT_TOO_LARGE", `${oversize.path} is ${oversize.size} bytes; the per-object cap is ${
|
|
817
|
+
fail("GIT_OBJECT_TOO_LARGE", `${oversize.path} is ${oversize.size} bytes; the per-object cap is ${VAULT_MAX_GIT_OBJECT_BYTES} bytes (200 MiB)`, "capturing handoff snapshot", { path: oversize.path, size_bytes: String(oversize.size), cap_bytes: String(VAULT_MAX_GIT_OBJECT_BYTES) });
|
|
818
818
|
}
|
|
819
819
|
const allIncludedPaths = [...trackedPresent.map((e) => e.path), ...untrackedPresent.map((e) => e.path)];
|
|
820
820
|
const active = await detectActiveFilters(top, allIncludedPaths);
|
|
821
821
|
if (active.length > 0) {
|
|
822
822
|
const lfs = active.filter((a) => a.filter === "lfs");
|
|
823
|
-
const code = lfs.length > 0 ? "
|
|
824
|
-
fail(code, `${active.length} captured path(s) have an active clean/smudge filter (${[...new Set(active.map((a) => a.filter))].join(", ")});
|
|
823
|
+
const code = lfs.length > 0 ? "VAULT_LFS_UNSUPPORTED" : "VAULT_FILTER_ACTIVE";
|
|
824
|
+
fail(code, `${active.length} captured path(s) have an active clean/smudge filter (${[...new Set(active.map((a) => a.filter))].join(", ")}); vault never runs filters, so the capture is refused by name — first: ${active[0].path}`, "capturing handoff snapshot", { paths: active });
|
|
825
825
|
}
|
|
826
826
|
const trackedEntries = await hashCapturedPaths(top, trackedPresent, true, "capturing handoff snapshot");
|
|
827
827
|
const untrackedEntries = await hashCapturedPaths(top, untrackedPresent, true, "capturing handoff snapshot");
|
|
828
828
|
const when = Math.floor((options.now ?? (() => new Date()))().getTime() / 1000);
|
|
829
829
|
const dateEnv = { GIT_AUTHOR_DATE: `${when} +0000`, GIT_COMMITTER_DATE: `${when} +0000` };
|
|
830
830
|
async function buildTree(entries) {
|
|
831
|
-
const tmp = mkdtempSync(join(tmpdir(), "run402-
|
|
831
|
+
const tmp = mkdtempSync(join(tmpdir(), "run402-vault-handoff-"));
|
|
832
832
|
try {
|
|
833
833
|
const indexFile = join(tmp, "index");
|
|
834
834
|
const info = entries.map((e) => `${e.mode} ${e.oid}\t${e.path}\n`).join("");
|
|
@@ -845,11 +845,11 @@ export async function captureHandoffSnapshot(options) {
|
|
|
845
845
|
// (matches real `git stash`'s own index-commit shape, verified against
|
|
846
846
|
// git 2.43's plumbing output).
|
|
847
847
|
const indexTreeOid = (await hardenedGit(top, ["write-tree"])).text().trim();
|
|
848
|
-
const indexCommitOid = (await hardenedGit(top, ["commit-tree", indexTreeOid, "-p", baseHeadOid, "-m", "
|
|
848
|
+
const indexCommitOid = (await hardenedGit(top, ["commit-tree", indexTreeOid, "-p", baseHeadOid, "-m", "vault handoff: index"], { env: dateEnv })).text().trim();
|
|
849
849
|
// parent 3: the untracked commit — parentless, tree = admitted untracked
|
|
850
850
|
// set (the empty tree when nothing survives the denylist).
|
|
851
851
|
const untrackedTreeOid = await buildTree(untrackedEntries);
|
|
852
|
-
const untrackedCommitOid = (await hardenedGit(top, ["commit-tree", untrackedTreeOid, "-m", "
|
|
852
|
+
const untrackedCommitOid = (await hardenedGit(top, ["commit-tree", untrackedTreeOid, "-m", "vault handoff: untracked"], { env: dateEnv })).text().trim();
|
|
853
853
|
const trackedPresentSet = new Set(trackedPresent.map((e) => e.path));
|
|
854
854
|
const untrackedPresentSet = new Set(untrackedPresent.map((e) => e.path));
|
|
855
855
|
const modifiedCaptured = modified.filter((p) => trackedPresentSet.has(p));
|
|
@@ -893,12 +893,12 @@ export async function captureHandoffSnapshot(options) {
|
|
|
893
893
|
* from the mutable work tree. Returns the absolute target directory.
|
|
894
894
|
*/
|
|
895
895
|
export async function materializeSnapshot(repoDir, oid, targetDir) {
|
|
896
|
-
if (!
|
|
897
|
-
fail("
|
|
896
|
+
if (!VAULT_OID40_RE.test(oid))
|
|
897
|
+
fail("VAULT_BAD_OID", `not a 40-hex oid: ${oid}`, "materializing snapshot");
|
|
898
898
|
const top = (await hardenedGit(resolve(repoDir), ["rev-parse", "--show-toplevel"])).text().trim();
|
|
899
|
-
const target = targetDir ? resolve(targetDir) : mkdtempSync(join(tmpdir(), "run402-
|
|
899
|
+
const target = targetDir ? resolve(targetDir) : mkdtempSync(join(tmpdir(), "run402-vault-materialize-"));
|
|
900
900
|
mkdirSync(target, { recursive: true });
|
|
901
|
-
const tmp = mkdtempSync(join(tmpdir(), "run402-
|
|
901
|
+
const tmp = mkdtempSync(join(tmpdir(), "run402-vault-index-"));
|
|
902
902
|
try {
|
|
903
903
|
const indexFile = join(tmp, "index");
|
|
904
904
|
await hardenedGit(top, ["read-tree", `${oid}^{tree}`], { env: { GIT_INDEX_FILE: indexFile } });
|
|
@@ -914,12 +914,12 @@ export async function materializeSnapshot(repoDir, oid, targetDir) {
|
|
|
914
914
|
export function snapshotCommitment(kRepo, repoId, epoch, oid) {
|
|
915
915
|
return keyedCommitment(deriveDigestKey(kRepo, repoId, epoch, "snapshot_oid"), snapshotOidContent(oid));
|
|
916
916
|
}
|
|
917
|
-
/** The client-side `
|
|
918
|
-
export function
|
|
919
|
-
return `
|
|
917
|
+
/** The client-side `vault_commit` line — printed ALWAYS; commit ids never reach the platform. */
|
|
918
|
+
export function vaultCommitLine(snapshot) {
|
|
919
|
+
return `vault_commit ${snapshot.oid}${snapshot.kind === "synthetic" ? " (synthetic)" : ""}`;
|
|
920
920
|
}
|
|
921
921
|
/** Object sizes for a set of oids (`cat-file --batch-check`), for the per-object cap on tracked history. */
|
|
922
|
-
export async function findOversizeObjects(repoDir, tips, cap =
|
|
922
|
+
export async function findOversizeObjects(repoDir, tips, cap = VAULT_MAX_GIT_OBJECT_BYTES) {
|
|
923
923
|
if (tips.length === 0)
|
|
924
924
|
return [];
|
|
925
925
|
const objects = (await hardenedGit(repoDir, ["rev-list", "--objects", ...tips])).lines().map((l) => l.split(" ")[0]);
|
|
@@ -953,7 +953,7 @@ export async function hasObject(repoDir, oid) {
|
|
|
953
953
|
}
|
|
954
954
|
/**
|
|
955
955
|
* Which of `oids` exist locally — ONE `cat-file --batch-check` process for
|
|
956
|
-
* the whole set (
|
|
956
|
+
* the whole set (vault-delta-fetch task 3.1), identical per-oid
|
|
957
957
|
* semantics to {@link hasObject}. `--batch-check` answers `<oid> <type>
|
|
958
958
|
* <size>` for a present object and `<oid> missing` otherwise, one line per
|
|
959
959
|
* input line, so presence is exactly "second column is not `missing`".
|
|
@@ -971,4 +971,4 @@ export async function hasObjects(repoDir, oids) {
|
|
|
971
971
|
}
|
|
972
972
|
return present;
|
|
973
973
|
}
|
|
974
|
-
//# sourceMappingURL=
|
|
974
|
+
//# sourceMappingURL=vault-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-snapshot.js","sourceRoot":"","sources":["../../src/node/vault-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* mirrors the gateway's `WriterStateRefusalCode` exactly (same union, same
|
|
4
4
|
* names) so a caller's error mapping needs no translation table.
|
|
5
5
|
*/
|
|
6
|
-
export type WriterStateRefusalCode = "VALIDATION_FAILED" | "
|
|
6
|
+
export type WriterStateRefusalCode = "VALIDATION_FAILED" | "VAULT_WRITER_NOT_ADMITTED" | "HANDOFF_KEY_REVOKED" | "RECIPIENT_SET_MISMATCH" | "EPOCH_ROTATION_WOULD_LEAVE_VAULT_UNCOVERED";
|
|
7
7
|
export type WriterStateVerdict = {
|
|
8
8
|
ok: true;
|
|
9
9
|
} | {
|
|
@@ -16,9 +16,9 @@ export declare const WRITER_ELIGIBLE_ROLE_RANK: number;
|
|
|
16
16
|
/** Does `role` meet the writer-eligibility threshold (developer or above)? An unknown/absent role never does. */
|
|
17
17
|
export declare function meetsWriterEligibleRole(role: string | null | undefined): boolean;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* vault-multi-writer rev 47 (task 5.5) — predicts the role a handoff mint
|
|
20
20
|
* will actually confer, mirroring the gateway's OWN attenuation exactly
|
|
21
|
-
* (`services/
|
|
21
|
+
* (`services/vault/claims.ts mintHandoff`: `requestedRole &&
|
|
22
22
|
* roleRank(requestedRole) < roleRank(minterRole) ? requestedRole :
|
|
23
23
|
* minterRole`). The mint's `writer_admission_grant.minted_role` must equal
|
|
24
24
|
* this prediction byte-for-byte or the gateway refuses VALIDATION_FAILED —
|
|
@@ -75,10 +75,10 @@ export declare function initialWriterState(repoId: string, genesis: {
|
|
|
75
75
|
* function performs no checks, it only advances state.
|
|
76
76
|
*/
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
78
|
+
* vault-multi-writer (task 5.6) — builds a well-formed `handoff`-door
|
|
79
79
|
* `add_writer_key` payload (schema `r402s.add-writer-key/v1`) from a
|
|
80
80
|
* predecessor writer-set pin and the claimant's own key — the pure
|
|
81
|
-
* assembly step `
|
|
81
|
+
* assembly step `Vault.submitWriterActivationHead` delegates to,
|
|
82
82
|
* kept separate so it can be unit-tested directly against
|
|
83
83
|
* {@link validateAddWriterKeyPayload} without a full vault/keystore/git
|
|
84
84
|
* harness. `predecessorPin` needs only `{version, sha256, writers}` — the
|
|
@@ -94,7 +94,7 @@ export declare function buildAddWriterKeyActivationPayload(repoId: string, prede
|
|
|
94
94
|
principal_id: string;
|
|
95
95
|
}, handoffId: string, grant: Record<string, unknown>, acceptance: Record<string, unknown>): AddWriterKeyPayload;
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* vault-multi-writer (task 5.7) — builds a well-formed `writer`-door
|
|
98
98
|
* `add_writer_key` payload from a predecessor writer-set pin and the
|
|
99
99
|
* candidate's own published signing key. Unlike {@link
|
|
100
100
|
* buildAddWriterKeyActivationPayload} (the handoff door), this authorization
|
|
@@ -124,7 +124,7 @@ export declare function applyWriterSetUpdate(repoId: string, state: WriterChainS
|
|
|
124
124
|
* `writer_key_id` already active in the predecessor writer state? A null
|
|
125
125
|
* result does not by itself mean refusal — the caller still checks for a
|
|
126
126
|
* qualifying `add_writer_key{"handoff"}` transition naming exactly this key
|
|
127
|
-
* before concluding `
|
|
127
|
+
* before concluding `VAULT_WRITER_NOT_ADMITTED`.
|
|
128
128
|
*/
|
|
129
129
|
export declare function resolveActiveWriter(state: WriterChainState, headWriterKeyId: string): WriterKeyEntry | null;
|
|
130
130
|
/**
|
|
@@ -213,4 +213,4 @@ export declare function replayWriterState(repoId: string, genesis: {
|
|
|
213
213
|
}, transitions: readonly AdmittedWriterTransition[]): WriterChainState;
|
|
214
214
|
/** protocol §4.15: `MAX_VAULT_WRITERS`. A writer-changing transition producing more active writers than this is refused. */
|
|
215
215
|
export declare const MAX_VAULT_WRITERS = 64;
|
|
216
|
-
//# sourceMappingURL=
|
|
216
|
+
//# sourceMappingURL=vault-writer-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-writer-state.d.ts","sourceRoot":"","sources":["../../src/node/vault-writer-state.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,2BAA2B,GAC3B,qBAAqB,GACrB,wBAAwB,GACxB,4CAA4C,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAI5G,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzD,CAAC;AACH,eAAO,MAAM,yBAAyB,QAA0B,CAAC;AAEjE,iHAAiH;AACjH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/F;AAID,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,iGAAiG;IACjG,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAoBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE;AAaD,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAG3G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,sBAAsB,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAiBhH;AAED;;;;GAIG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,cAAc,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EACvF,WAAW,EAAE,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,EACtD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,mBAAmB,CAWrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,cAAc,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EACvF,WAAW,EAAE,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GACrD,mBAAmB,CAWrB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,cAAc,EAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,gBAAgB,CAYlB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,EACvB,mBAAmB,EAAE,SAAS,MAAM,EAAE,GACrC,gBAAgB,CAclB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAE3G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAE1G;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,YAAY,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,aAAa,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC9H;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAsGpB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpF,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,sBAAsB,EAC9B,eAAe,EAAE,MAAM,EACvB,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/C,gBAAgB,EAAE,OAAO,GACxB,kBAAkB,CAgCpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,cAAc,CAAC;IAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,sBAAsB,EAAE,MAAM,CAAA;CAAE,EAC3C,WAAW,EAAE,SAAS,wBAAwB,EAAE,GAC/C,gBAAgB,CASlB;AAED,4HAA4H;AAC5H,eAAO,MAAM,iBAAiB,KAAK,CAAC"}
|