@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,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* vault — `r402s/v0` wire types (protocol rev 40).
|
|
3
3
|
*
|
|
4
4
|
* Every object here mirrors a frozen JSON Schema under the private repo's
|
|
5
|
-
* `docs/strategy/products/
|
|
5
|
+
* `docs/strategy/products/kygit/schemas/` (`key_envelope.json`,
|
|
6
6
|
* `vault_genesis.json`, `allocation.json`, `recovery_receipt.json`,
|
|
7
7
|
* `capture_receipt.json`, `head.json`, `common.json`). Field names are the
|
|
8
8
|
* wire names (snake_case); values are STRINGS everywhere — the `r402s/v0`
|
|
@@ -16,26 +16,26 @@
|
|
|
16
16
|
* and a trailing `Z`.
|
|
17
17
|
*/
|
|
18
18
|
/** `format` const on every `r402s/v0` object. */
|
|
19
|
-
export type
|
|
19
|
+
export type VaultFormat = "r402s/v0";
|
|
20
20
|
/** `suite` const on every `r402s/v0` object. */
|
|
21
|
-
export type
|
|
21
|
+
export type VaultSuite = "r402s-1";
|
|
22
22
|
/** The closed `object_kind` vocabulary this module handles (protocol §1 table). */
|
|
23
|
-
export type
|
|
24
|
-
/**
|
|
23
|
+
export type VaultObjectKind = "vault_genesis" | "head" | "ref_state" | "retention_roots" | "wal_pack" | "checkpoint_pack" | "checkpoint_manifest" | "checkpoint_claim_set" | "maintenance_stage_claim_set" | "maintenance_stage_page" | "key_envelope" | "recovery_receipt" | "allocation" | "capture_receipt" | "admission_record" | "activation_token" | "retention_cutoff" | "prune_intent_core" | "prune_intent" | "prune_completion" | "verifier_receipt" | "maintenance_cycle_terminal" | "maintenance_cycle_issuance" | "maintenance_completion_cut" | "service_key_registry" | "rotation_attempt_descriptor" | "recipient_pin_manifest" | "recipient_confirmation_receipt" | "recipient_open_receipt"
|
|
24
|
+
/** vault-multi-writer rev 47 (protocol §4.17) — a writer's signed grant authorizing a handoff recipient to become a vault writer. */
|
|
25
25
|
| "writer_admission_grant";
|
|
26
26
|
/** Kinds whose stored bytes are an AEAD frame (protocol §2 framing), keyed by `k_obj`. */
|
|
27
|
-
export type
|
|
27
|
+
export type VaultEncryptedObjectKind = "wal_pack" | "ref_state" | "retention_roots" | "checkpoint_manifest" | "checkpoint_pack";
|
|
28
28
|
/**
|
|
29
29
|
* The `K_digest` labels of protocol §1 (keyed-digest derivation) — the
|
|
30
30
|
* original five, keyed by `K_repo`, plus the three rev-42 labels (D195/D198/
|
|
31
31
|
* D200) keyed by the SAMPLED epoch key (`K_e`/`K_1`) instead.
|
|
32
32
|
*/
|
|
33
|
-
export type
|
|
33
|
+
export type VaultDigestLabel = "refmap" | "rootset" | "objectset" | "snapshot_oid" | "gcrootset" | "epoch_rotation" | "epoch_rotation_attempt" | "vault_genesis_epoch_key";
|
|
34
34
|
/** `key_envelope` (schema `key_envelope.json`) — path-addressed by `(repo_id, epoch, recipient_fingerprint)`; no `object_id`. */
|
|
35
|
-
export interface
|
|
36
|
-
format:
|
|
35
|
+
export interface VaultKeyEnvelope {
|
|
36
|
+
format: VaultFormat;
|
|
37
37
|
object_kind: "key_envelope";
|
|
38
|
-
suite:
|
|
38
|
+
suite: VaultSuite;
|
|
39
39
|
/** `src_` + 32 lowercase hex. */
|
|
40
40
|
repo_id: string;
|
|
41
41
|
/** 16 lowercase hex. */
|
|
@@ -64,7 +64,7 @@ export interface GitvaultKeyEnvelope {
|
|
|
64
64
|
signature: string;
|
|
65
65
|
}
|
|
66
66
|
/** The envelope receipt embedded in `vault_genesis.envelopes[]` / `rotate_epoch_payload.envelopes[]` (`common.json#/$defs/receipt_key_envelope`). */
|
|
67
|
-
export interface
|
|
67
|
+
export interface VaultKeyEnvelopeReceipt {
|
|
68
68
|
object_kind: "key_envelope";
|
|
69
69
|
epoch: string;
|
|
70
70
|
recipient_fingerprint: string;
|
|
@@ -72,19 +72,19 @@ export interface GitvaultKeyEnvelopeReceipt {
|
|
|
72
72
|
stored_bytes_sha256: string;
|
|
73
73
|
/** Decimal string — the stored bytes' length. */
|
|
74
74
|
size_bytes: string;
|
|
75
|
-
/** D195, rev 42 — see {@link
|
|
75
|
+
/** D195, rev 42 — see {@link VaultKeyEnvelope.rotation_id}. */
|
|
76
76
|
rotation_id?: string;
|
|
77
77
|
}
|
|
78
78
|
/** One `{principal_id, envelope}` pair in `rotate_epoch_payload.envelopes[]` / an N-recipient `vault_genesis.envelopes[]` (D196, rev 42). */
|
|
79
|
-
export interface
|
|
79
|
+
export interface VaultRotationEnvelopePair {
|
|
80
80
|
principal_id: string;
|
|
81
|
-
envelope:
|
|
81
|
+
envelope: VaultKeyEnvelopeReceipt;
|
|
82
82
|
}
|
|
83
83
|
/** `vault_genesis` (schema `vault_genesis.json`) — generation 0, epoch pinned to `0000000000000001`. */
|
|
84
|
-
export interface
|
|
85
|
-
format:
|
|
84
|
+
export interface VaultGenesis {
|
|
85
|
+
format: VaultFormat;
|
|
86
86
|
object_kind: "vault_genesis";
|
|
87
|
-
suite:
|
|
87
|
+
suite: VaultSuite;
|
|
88
88
|
repo_id: string;
|
|
89
89
|
org_id: string;
|
|
90
90
|
project_id: string;
|
|
@@ -107,7 +107,7 @@ export interface GitvaultVaultGenesis {
|
|
|
107
107
|
* yet BUILD an N-recipient genesis (a separate, un-scoped follow-up), so
|
|
108
108
|
* this field stays typed as the bare receipt array here.
|
|
109
109
|
*/
|
|
110
|
-
envelopes:
|
|
110
|
+
envelopes: VaultKeyEnvelopeReceipt[];
|
|
111
111
|
/** `vk_` fingerprint of `creator_signing_pubkey`. */
|
|
112
112
|
writer_key_id: string;
|
|
113
113
|
/**
|
|
@@ -117,15 +117,15 @@ export interface GitvaultVaultGenesis {
|
|
|
117
117
|
* existing rev-41 genesis and on the single-recipient shape this SDK
|
|
118
118
|
* still builds.
|
|
119
119
|
*/
|
|
120
|
-
pin_manifest?:
|
|
120
|
+
pin_manifest?: VaultPinManifestReceipt;
|
|
121
121
|
created_at: string;
|
|
122
122
|
signature: string;
|
|
123
123
|
}
|
|
124
124
|
/** `allocation` (schema `allocation.json`) — control-plane-signed API message; no `object_id`. */
|
|
125
|
-
export interface
|
|
126
|
-
format:
|
|
125
|
+
export interface VaultAllocation {
|
|
126
|
+
format: VaultFormat;
|
|
127
127
|
object_kind: "allocation";
|
|
128
|
-
suite:
|
|
128
|
+
suite: VaultSuite;
|
|
129
129
|
repo_id: string;
|
|
130
130
|
/** `sk_` + 4–64 of `[0-9a-z-]` — the signing service key (resolved through the registry). */
|
|
131
131
|
service_key_id: string;
|
|
@@ -148,10 +148,10 @@ export interface GitvaultAllocation {
|
|
|
148
148
|
signature: string;
|
|
149
149
|
}
|
|
150
150
|
/** `recovery_receipt` (schema `recovery_receipt.json`) — creator-signed integrity data, never a secret. */
|
|
151
|
-
export interface
|
|
152
|
-
format:
|
|
151
|
+
export interface VaultRecoveryReceipt {
|
|
152
|
+
format: VaultFormat;
|
|
153
153
|
object_kind: "recovery_receipt";
|
|
154
|
-
suite:
|
|
154
|
+
suite: VaultSuite;
|
|
155
155
|
repo_id: string;
|
|
156
156
|
org_id: string;
|
|
157
157
|
project_id: string;
|
|
@@ -162,10 +162,10 @@ export interface GitvaultRecoveryReceipt {
|
|
|
162
162
|
signature: string;
|
|
163
163
|
}
|
|
164
164
|
/** `capture_receipt` (schema `capture_receipt.json`) — control-plane-signed API message; no `object_id`. */
|
|
165
|
-
export interface
|
|
166
|
-
format:
|
|
165
|
+
export interface VaultCaptureReceipt {
|
|
166
|
+
format: VaultFormat;
|
|
167
167
|
object_kind: "capture_receipt";
|
|
168
|
-
suite:
|
|
168
|
+
suite: VaultSuite;
|
|
169
169
|
repo_id: string;
|
|
170
170
|
service_key_id: string;
|
|
171
171
|
generation: string;
|
|
@@ -181,7 +181,7 @@ export interface GitvaultCaptureReceipt {
|
|
|
181
181
|
signature: string;
|
|
182
182
|
}
|
|
183
183
|
/** `common.json#/$defs/receipt_wal_pack`. */
|
|
184
|
-
export interface
|
|
184
|
+
export interface VaultWalPackReceipt {
|
|
185
185
|
object_id: string;
|
|
186
186
|
object_kind: "wal_pack";
|
|
187
187
|
ciphertext_sha256: string;
|
|
@@ -189,27 +189,27 @@ export interface GitvaultWalPackReceipt {
|
|
|
189
189
|
base_generation: string;
|
|
190
190
|
}
|
|
191
191
|
/** `common.json#/$defs/receipt_ref_state`. */
|
|
192
|
-
export interface
|
|
192
|
+
export interface VaultRefStateReceipt {
|
|
193
193
|
object_id: string;
|
|
194
194
|
object_kind: "ref_state";
|
|
195
195
|
ciphertext_sha256: string;
|
|
196
196
|
size_bytes: string;
|
|
197
197
|
}
|
|
198
198
|
/** `common.json#/$defs/receipt_retention_roots`. */
|
|
199
|
-
export interface
|
|
199
|
+
export interface VaultRetentionRootsReceipt {
|
|
200
200
|
object_id: string;
|
|
201
201
|
object_kind: "retention_roots";
|
|
202
202
|
ciphertext_sha256: string;
|
|
203
203
|
size_bytes: string;
|
|
204
204
|
}
|
|
205
205
|
/** `common.json#/$defs/capture_binding`. */
|
|
206
|
-
export interface
|
|
206
|
+
export interface VaultCaptureBinding {
|
|
207
207
|
capture_id: string;
|
|
208
208
|
apply_plan_sha256: string | null;
|
|
209
209
|
snapshot_oid_hmac: string;
|
|
210
210
|
}
|
|
211
211
|
/** `common.json#/$defs/repair_descriptor`. */
|
|
212
|
-
export interface
|
|
212
|
+
export interface VaultRepairDescriptor {
|
|
213
213
|
base_generation: string;
|
|
214
214
|
base_head_sha256: string;
|
|
215
215
|
supersedes_from: string;
|
|
@@ -217,54 +217,54 @@ export interface GitvaultRepairDescriptor {
|
|
|
217
217
|
reason: "missing_referenced_object" | "corrupt_referenced_object" | "unusable_ref_state";
|
|
218
218
|
}
|
|
219
219
|
/** `common.json#/$defs/transition_envelope` — validated fail-closed by later tasks; carried opaque here. */
|
|
220
|
-
export interface
|
|
220
|
+
export interface VaultTransitionEnvelope {
|
|
221
221
|
kind: "add_envelope" | "rotate_epoch" | "add_writer_key" | "transfer_binding";
|
|
222
222
|
payload_format: "base64url-jcs";
|
|
223
223
|
payload: string;
|
|
224
224
|
payload_sha256: string;
|
|
225
225
|
}
|
|
226
226
|
/** `common.json#/$defs/receipt_checkpoint_manifest`. */
|
|
227
|
-
export interface
|
|
227
|
+
export interface VaultCheckpointManifestReceipt {
|
|
228
228
|
object_id: string;
|
|
229
229
|
object_kind: "checkpoint_manifest";
|
|
230
230
|
ciphertext_sha256: string;
|
|
231
231
|
size_bytes: string;
|
|
232
232
|
}
|
|
233
233
|
/** `common.json#/$defs/receipt_checkpoint_pack`. */
|
|
234
|
-
export interface
|
|
234
|
+
export interface VaultCheckpointPackReceipt {
|
|
235
235
|
object_id: string;
|
|
236
236
|
object_kind: "checkpoint_pack";
|
|
237
237
|
ciphertext_sha256: string;
|
|
238
238
|
size_bytes: string;
|
|
239
239
|
}
|
|
240
240
|
/** `common.json#/$defs/receipt_checkpoint_claim_set` — plaintext-structured kinds are receipted by `stored_bytes_sha256`. */
|
|
241
|
-
export interface
|
|
241
|
+
export interface VaultCheckpointClaimSetReceipt {
|
|
242
242
|
object_id: string;
|
|
243
243
|
object_kind: "checkpoint_claim_set";
|
|
244
244
|
stored_bytes_sha256: string;
|
|
245
245
|
size_bytes: string;
|
|
246
246
|
}
|
|
247
247
|
/** `common.json#/$defs/receipt_retention_cutoff`. */
|
|
248
|
-
export interface
|
|
248
|
+
export interface VaultRetentionCutoffReceipt {
|
|
249
249
|
object_id: string;
|
|
250
250
|
object_kind: "retention_cutoff";
|
|
251
251
|
stored_bytes_sha256: string;
|
|
252
252
|
size_bytes: string;
|
|
253
253
|
}
|
|
254
254
|
/** `common.json#/$defs/checkpoint_block` — the head's checkpoint slot (§4.7). */
|
|
255
|
-
export interface
|
|
256
|
-
claim_set:
|
|
255
|
+
export interface VaultCheckpointBlock {
|
|
256
|
+
claim_set: VaultCheckpointClaimSetReceipt;
|
|
257
257
|
/** == the carrying head's generation. */
|
|
258
258
|
covers_through_generation: string;
|
|
259
259
|
git_object_format: "sha1";
|
|
260
260
|
/** The cutoff-ticket binding; `null` in the no-removal form. */
|
|
261
261
|
cutoff: {
|
|
262
|
-
ticket:
|
|
262
|
+
ticket: VaultRetentionCutoffReceipt;
|
|
263
263
|
cutoff_at: string;
|
|
264
264
|
} | null;
|
|
265
265
|
}
|
|
266
266
|
/** `common.json#/$defs/head_target` — a discriminated union, never a null (§4.4). */
|
|
267
|
-
export type
|
|
267
|
+
export type VaultHeadTarget = {
|
|
268
268
|
kind: "symref";
|
|
269
269
|
ref: string;
|
|
270
270
|
} | {
|
|
@@ -272,30 +272,30 @@ export type GitvaultHeadTarget = {
|
|
|
272
272
|
oid: string;
|
|
273
273
|
};
|
|
274
274
|
/** `ref_state` plaintext (schema `ref_state.json`) — encrypted at rest. */
|
|
275
|
-
export interface
|
|
276
|
-
format:
|
|
275
|
+
export interface VaultRefState {
|
|
276
|
+
format: VaultFormat;
|
|
277
277
|
object_kind: "ref_state";
|
|
278
|
-
suite:
|
|
278
|
+
suite: VaultSuite;
|
|
279
279
|
repo_id: string;
|
|
280
280
|
/** `refs_` + 32 hex. */
|
|
281
281
|
object_id: string;
|
|
282
282
|
generation: string;
|
|
283
283
|
/** Canonical refname → 40-hex oid; ≤ 10 000 entries. */
|
|
284
284
|
refs: Record<string, string>;
|
|
285
|
-
head_target:
|
|
285
|
+
head_target: VaultHeadTarget;
|
|
286
286
|
signature: string;
|
|
287
287
|
}
|
|
288
288
|
/** One retention root: a dropped/force-displaced tip (§4.5), map-keyed `(ref, oid)`. */
|
|
289
|
-
export interface
|
|
289
|
+
export interface VaultRetentionRoot {
|
|
290
290
|
ref: string;
|
|
291
291
|
oid: string;
|
|
292
292
|
dropped_at_generation: string;
|
|
293
293
|
}
|
|
294
294
|
/** `retention_roots` plaintext (schema `retention_roots.json`) — encrypted at rest. */
|
|
295
|
-
export interface
|
|
296
|
-
format:
|
|
295
|
+
export interface VaultRetentionRoots {
|
|
296
|
+
format: VaultFormat;
|
|
297
297
|
object_kind: "retention_roots";
|
|
298
|
-
suite:
|
|
298
|
+
suite: VaultSuite;
|
|
299
299
|
repo_id: string;
|
|
300
300
|
/** `rr_` + 32 hex. */
|
|
301
301
|
object_id: string;
|
|
@@ -305,11 +305,11 @@ export interface GitvaultRetentionRoots {
|
|
|
305
305
|
cutoff_at: string;
|
|
306
306
|
} | null;
|
|
307
307
|
/** Sorted by (dropped_at_generation, ref, oid); ≤ 50 000. */
|
|
308
|
-
roots:
|
|
308
|
+
roots: VaultRetentionRoot[];
|
|
309
309
|
signature: string;
|
|
310
310
|
}
|
|
311
311
|
/** One `checkpoint_manifest.packs[]` entry — BOTH representations (§4.1). */
|
|
312
|
-
export interface
|
|
312
|
+
export interface VaultCheckpointManifestPack {
|
|
313
313
|
object_id: string;
|
|
314
314
|
plaintext_sha256: string;
|
|
315
315
|
plaintext_size_bytes: string;
|
|
@@ -317,16 +317,16 @@ export interface GitvaultCheckpointManifestPack {
|
|
|
317
317
|
size_bytes: string;
|
|
318
318
|
}
|
|
319
319
|
/** `checkpoint_manifest` plaintext (schema `checkpoint_manifest.json`) — encrypted at rest. */
|
|
320
|
-
export interface
|
|
321
|
-
format:
|
|
320
|
+
export interface VaultCheckpointManifest {
|
|
321
|
+
format: VaultFormat;
|
|
322
322
|
object_kind: "checkpoint_manifest";
|
|
323
|
-
suite:
|
|
323
|
+
suite: VaultSuite;
|
|
324
324
|
repo_id: string;
|
|
325
325
|
/** `chk_` + 32 hex. */
|
|
326
326
|
object_id: string;
|
|
327
327
|
covers_through_generation: string;
|
|
328
328
|
git_object_format: "sha1";
|
|
329
|
-
packs:
|
|
329
|
+
packs: VaultCheckpointManifestPack[];
|
|
330
330
|
/** Σ packs[i].plaintext_size_bytes (the manifest itself excluded). */
|
|
331
331
|
total_plaintext_size_bytes: string;
|
|
332
332
|
ref_state_hmac: string;
|
|
@@ -335,15 +335,15 @@ export interface GitvaultCheckpointManifest {
|
|
|
335
335
|
signature: string;
|
|
336
336
|
}
|
|
337
337
|
/** `checkpoint_claim_set` (schema `checkpoint_claim_set.json`) — plaintext-structured, owner-signed, stored at `checkpoints/<ccs_id>.claims.json`. */
|
|
338
|
-
export interface
|
|
339
|
-
format:
|
|
338
|
+
export interface VaultCheckpointClaimSet {
|
|
339
|
+
format: VaultFormat;
|
|
340
340
|
object_kind: "checkpoint_claim_set";
|
|
341
|
-
suite:
|
|
341
|
+
suite: VaultSuite;
|
|
342
342
|
repo_id: string;
|
|
343
343
|
/** `ccs_` + 32 hex. */
|
|
344
344
|
object_id: string;
|
|
345
|
-
manifest_receipt:
|
|
346
|
-
ordered_pack_receipts:
|
|
345
|
+
manifest_receipt: VaultCheckpointManifestReceipt;
|
|
346
|
+
ordered_pack_receipts: VaultCheckpointPackReceipt[];
|
|
347
347
|
/** manifest_receipt.size_bytes + Σ pack size_bytes (the claim set itself excluded). */
|
|
348
348
|
total_stored_size_bytes: string;
|
|
349
349
|
covers_through_generation: string;
|
|
@@ -351,10 +351,10 @@ export interface GitvaultCheckpointClaimSet {
|
|
|
351
351
|
signature: string;
|
|
352
352
|
}
|
|
353
353
|
/** `retention_cutoff` (schema `retention_cutoff.json`) — control-plane-signed clock attestation, stored at `retention/<rc_id>.ticket.json`. */
|
|
354
|
-
export interface
|
|
355
|
-
format:
|
|
354
|
+
export interface VaultRetentionCutoff {
|
|
355
|
+
format: VaultFormat;
|
|
356
356
|
object_kind: "retention_cutoff";
|
|
357
|
-
suite:
|
|
357
|
+
suite: VaultSuite;
|
|
358
358
|
repo_id: string;
|
|
359
359
|
/** `rc_` + 32 hex. */
|
|
360
360
|
object_id: string;
|
|
@@ -367,10 +367,10 @@ export interface GitvaultRetentionCutoff {
|
|
|
367
367
|
signature: string;
|
|
368
368
|
}
|
|
369
369
|
/** `activation_token` (schema `activation_token.json`) — minted by token exchange, consumed at apply activation (§4.10). */
|
|
370
|
-
export interface
|
|
371
|
-
format:
|
|
370
|
+
export interface VaultActivationToken {
|
|
371
|
+
format: VaultFormat;
|
|
372
372
|
object_kind: "activation_token";
|
|
373
|
-
suite:
|
|
373
|
+
suite: VaultSuite;
|
|
374
374
|
repo_id: string;
|
|
375
375
|
/** `ct_` + 32 hex. */
|
|
376
376
|
object_id: string;
|
|
@@ -387,7 +387,7 @@ export interface GitvaultActivationToken {
|
|
|
387
387
|
signature: string;
|
|
388
388
|
}
|
|
389
389
|
/** One `ref_transaction.updates[]` entry (schema `ref_transaction.json`, §6.1). */
|
|
390
|
-
export interface
|
|
390
|
+
export interface VaultRefUpdate {
|
|
391
391
|
ref: string;
|
|
392
392
|
/** `null` ONLY for creation. */
|
|
393
393
|
expected_old_oid: string | null;
|
|
@@ -397,12 +397,12 @@ export interface GitvaultRefUpdate {
|
|
|
397
397
|
force: boolean;
|
|
398
398
|
}
|
|
399
399
|
/** `ref_transaction` (schema `ref_transaction.json`). */
|
|
400
|
-
export interface
|
|
400
|
+
export interface VaultRefTransaction {
|
|
401
401
|
/** 1..1000 updates naming pairwise-distinct refs. */
|
|
402
|
-
updates:
|
|
402
|
+
updates: VaultRefUpdate[];
|
|
403
403
|
}
|
|
404
|
-
/** The query of `GET /
|
|
405
|
-
export interface
|
|
404
|
+
/** The query of `GET /vaults/v1/:vault_id/heads` (schema `heads_listing_request.json`, D186). */
|
|
405
|
+
export interface VaultHeadsListingRequest {
|
|
406
406
|
/** The REQUIRED verification anchor — constant across one page sequence. */
|
|
407
407
|
after_generation: string;
|
|
408
408
|
/** The prior page's `next_cursor`, echoed UNCHANGED; omitted on the first request. */
|
|
@@ -411,16 +411,16 @@ export interface GitvaultHeadsListingRequest {
|
|
|
411
411
|
limit: string;
|
|
412
412
|
}
|
|
413
413
|
/** One `heads_listing_page.heads[]` entry. */
|
|
414
|
-
export interface
|
|
414
|
+
export interface VaultHeadsListingEntry {
|
|
415
415
|
generation: string;
|
|
416
416
|
stored_bytes_sha256: string;
|
|
417
417
|
}
|
|
418
418
|
/** The ONE frozen response of the heads listing (schema `heads_listing_page.json`). */
|
|
419
|
-
export interface
|
|
420
|
-
format:
|
|
419
|
+
export interface VaultHeadsListingPage {
|
|
420
|
+
format: VaultFormat;
|
|
421
421
|
repo_id: string;
|
|
422
422
|
after_generation: string;
|
|
423
|
-
heads:
|
|
423
|
+
heads: VaultHeadsListingEntry[];
|
|
424
424
|
has_more: boolean;
|
|
425
425
|
/** `has_more == false ⇒ null`; `has_more == true ⇒ a non-null opaque token`. */
|
|
426
426
|
next_cursor: string | null;
|
|
@@ -428,18 +428,18 @@ export interface GitvaultHeadsListingPage {
|
|
|
428
428
|
total: string | null;
|
|
429
429
|
}
|
|
430
430
|
/** `override_completion_request` (schema `override_completion_request.json`) — `POST …/override-completions`. */
|
|
431
|
-
export interface
|
|
431
|
+
export interface VaultOverrideCompletionRequest {
|
|
432
432
|
operation_id: string;
|
|
433
|
-
capture_receipt:
|
|
433
|
+
capture_receipt: VaultCaptureReceipt;
|
|
434
434
|
}
|
|
435
435
|
/**
|
|
436
436
|
* `head` (schema `head.json`) — generations ≥ 1. Every member is typed; the
|
|
437
437
|
* checkpoint block is the §4.7 claim-set binding.
|
|
438
438
|
*/
|
|
439
|
-
export interface
|
|
440
|
-
format:
|
|
439
|
+
export interface VaultHead {
|
|
440
|
+
format: VaultFormat;
|
|
441
441
|
object_kind: "head";
|
|
442
|
-
suite:
|
|
442
|
+
suite: VaultSuite;
|
|
443
443
|
repo_id: string;
|
|
444
444
|
generation: string;
|
|
445
445
|
/** Stored-bytes hash of the predecessor (genesis for generation 1). */
|
|
@@ -451,44 +451,44 @@ export interface GitvaultHead {
|
|
|
451
451
|
* (increment-by-one, no skip).
|
|
452
452
|
*/
|
|
453
453
|
epoch: string;
|
|
454
|
-
wal_entries:
|
|
455
|
-
ref_state:
|
|
456
|
-
retention_roots:
|
|
457
|
-
checkpoint:
|
|
454
|
+
wal_entries: VaultWalPackReceipt[];
|
|
455
|
+
ref_state: VaultRefStateReceipt;
|
|
456
|
+
retention_roots: VaultRetentionRootsReceipt;
|
|
457
|
+
checkpoint: VaultCheckpointBlock | null;
|
|
458
458
|
checkpoint_purpose: "ordinary_push" | "maintenance_cycle" | "repair" | null;
|
|
459
|
-
capture_binding:
|
|
460
|
-
repair:
|
|
461
|
-
transition:
|
|
459
|
+
capture_binding: VaultCaptureBinding | null;
|
|
460
|
+
repair: VaultRepairDescriptor | null;
|
|
461
|
+
transition: VaultTransitionEnvelope | null;
|
|
462
462
|
/**
|
|
463
463
|
* D197, rev 42: schema-optional, present ONLY on a head that publishes an
|
|
464
464
|
* updated `recipient_pin_manifest` (an addition or a receipted change).
|
|
465
465
|
* Absent on every existing rev-41 head and most rev-42+ heads too.
|
|
466
466
|
*/
|
|
467
|
-
pin_manifest?:
|
|
467
|
+
pin_manifest?: VaultPinManifestReceipt;
|
|
468
468
|
writer_key_id: string;
|
|
469
469
|
created_at: string;
|
|
470
470
|
signature: string;
|
|
471
471
|
}
|
|
472
472
|
/** `common.json#/$defs/receipt_pin_manifest` — carried on `head.pin_manifest` / `vault_genesis.pin_manifest` (D197, rev 42). */
|
|
473
|
-
export interface
|
|
473
|
+
export interface VaultPinManifestReceipt {
|
|
474
474
|
object_kind: "recipient_pin_manifest";
|
|
475
475
|
pin_manifest_version: string;
|
|
476
476
|
stored_bytes_sha256: string;
|
|
477
477
|
size_bytes: string;
|
|
478
478
|
}
|
|
479
479
|
/** Any signed `r402s/v0` object: a JSON object carrying `object_kind` + a single top-level `signature`. */
|
|
480
|
-
export interface
|
|
481
|
-
object_kind:
|
|
480
|
+
export interface VaultSignedObject {
|
|
481
|
+
object_kind: VaultObjectKind;
|
|
482
482
|
signature: string;
|
|
483
483
|
[member: string]: unknown;
|
|
484
484
|
}
|
|
485
485
|
/** The AAD of an AEAD frame (protocol §2): exactly these seven members, JCS-serialized. */
|
|
486
|
-
export interface
|
|
486
|
+
export interface VaultFrameAad {
|
|
487
487
|
repo_id: string;
|
|
488
|
-
object_kind:
|
|
488
|
+
object_kind: VaultEncryptedObjectKind;
|
|
489
489
|
object_id: string;
|
|
490
490
|
epoch: string;
|
|
491
|
-
suite:
|
|
491
|
+
suite: VaultSuite;
|
|
492
492
|
magic: "R402S0";
|
|
493
493
|
suite_id: "01";
|
|
494
494
|
}
|
|
@@ -499,7 +499,7 @@ export interface GitvaultFrameAad {
|
|
|
499
499
|
* rotation-attempt envelope) — two genuinely different object shapes, never
|
|
500
500
|
* one shape with an optional-null member.
|
|
501
501
|
*/
|
|
502
|
-
export type
|
|
502
|
+
export type VaultEnvelopeAad = {
|
|
503
503
|
repo_id: string;
|
|
504
504
|
epoch: string;
|
|
505
505
|
recipient_kind: "principal";
|
|
@@ -512,7 +512,7 @@ export type GitvaultEnvelopeAad = {
|
|
|
512
512
|
recipient_fingerprint: string;
|
|
513
513
|
};
|
|
514
514
|
/** Result of sealing an AEAD frame — everything a finalization receipt is compared against. */
|
|
515
|
-
export interface
|
|
515
|
+
export interface VaultSealedFrame {
|
|
516
516
|
/** The complete framed blob: `"R402S0"` ‖ `0x01` ‖ 24-byte nonce ‖ ct‖tag. */
|
|
517
517
|
frame: Uint8Array;
|
|
518
518
|
/** SHA-256 over the complete frame (what receipts call `ciphertext_sha256`). */
|
|
@@ -523,41 +523,41 @@ export interface GitvaultSealedFrame {
|
|
|
523
523
|
nonce_hex: string;
|
|
524
524
|
}
|
|
525
525
|
/** Result of sealing a `key_envelope` — the signed object plus its stored-bytes identity. */
|
|
526
|
-
export interface
|
|
527
|
-
envelope:
|
|
526
|
+
export interface VaultSealedKeyEnvelope {
|
|
527
|
+
envelope: VaultKeyEnvelope;
|
|
528
528
|
/** JCS of the signed envelope (what is PUT and what the receipt hashes). */
|
|
529
529
|
stored_bytes: Uint8Array;
|
|
530
530
|
stored_bytes_sha256: string;
|
|
531
531
|
size_bytes: string;
|
|
532
532
|
/** The receipt embedded in `vault_genesis.envelopes[]`. */
|
|
533
|
-
receipt:
|
|
533
|
+
receipt: VaultKeyEnvelopeReceipt;
|
|
534
534
|
}
|
|
535
535
|
/** A raw Ed25519 identity: 32-byte seed + derived raw public key. */
|
|
536
|
-
export interface
|
|
536
|
+
export interface VaultSigningKeypair {
|
|
537
537
|
/** 32-byte seed (RFC 8032 private key). */
|
|
538
538
|
seed: Uint8Array;
|
|
539
539
|
/** 32-byte raw public key. */
|
|
540
540
|
public_key: Uint8Array;
|
|
541
541
|
}
|
|
542
542
|
/** A raw X25519 identity: 32-byte private scalar + raw public key. */
|
|
543
|
-
export interface
|
|
543
|
+
export interface VaultEncryptionKeypair {
|
|
544
544
|
/** 32-byte X25519 private key. */
|
|
545
545
|
private_key: Uint8Array;
|
|
546
546
|
/** 32-byte raw public key. */
|
|
547
547
|
public_key: Uint8Array;
|
|
548
548
|
}
|
|
549
549
|
/** The outcome of a strict parse (protocol §1): the parsed object, or the named rejection reason. */
|
|
550
|
-
export type
|
|
550
|
+
export type VaultStrictParseReason = "json-number" | "duplicate-member" | "invalid-json" | "noncanonical-encoding";
|
|
551
551
|
/**
|
|
552
552
|
* The `rotate_epoch_payload.reason` values (D199) — four urgent + one
|
|
553
|
-
* elective. `writer_key_revoked` (D6/D227,
|
|
553
|
+
* elective. `writer_key_revoked` (D6/D227, vault-multi-writer rev 47,
|
|
554
554
|
* task 5.9) is the NEW owner + step-up reason for a DELIBERATE, caller-
|
|
555
555
|
* initiated writer-key removal — distinct from `recipient_key_revoked`
|
|
556
556
|
* (the pre-existing ENCRYPTION-side reason) and from the reasons carried
|
|
557
557
|
* per-entry on `writer_set_update.removed[]` (a narrower 3-value vocabulary
|
|
558
558
|
* — see that field's own doc comment below).
|
|
559
559
|
*/
|
|
560
|
-
export type
|
|
560
|
+
export type VaultRotationReason = "member_removed" | "recipient_key_revoked" | "epoch_secret_exposed" | "elective_rekey" | "writer_key_revoked";
|
|
561
561
|
/**
|
|
562
562
|
* `rotation_attempt_descriptor` (schema `rotation_attempt_descriptor.json`,
|
|
563
563
|
* D195) — writer-signed, create-only, path-addressed at
|
|
@@ -566,10 +566,10 @@ export type GitvaultRotationReason = "member_removed" | "recipient_key_revoked"
|
|
|
566
566
|
* — the object's own path key, derived AFTER every field below (including
|
|
567
567
|
* `attempt_key_commitment`) is fixed.
|
|
568
568
|
*/
|
|
569
|
-
export interface
|
|
570
|
-
format:
|
|
569
|
+
export interface VaultRotationAttemptDescriptor {
|
|
570
|
+
format: VaultFormat;
|
|
571
571
|
object_kind: "rotation_attempt_descriptor";
|
|
572
|
-
suite:
|
|
572
|
+
suite: VaultSuite;
|
|
573
573
|
repo_id: string;
|
|
574
574
|
base_head_sha256: string;
|
|
575
575
|
new_epoch: string;
|
|
@@ -586,7 +586,7 @@ export interface GitvaultRotationAttemptDescriptor {
|
|
|
586
586
|
/** `HMAC-SHA-256(K_digest("epoch_rotation_attempt"), JCS(this object's own fields minus this field), ikm=K_e)`. */
|
|
587
587
|
attempt_key_commitment: string;
|
|
588
588
|
/**
|
|
589
|
-
* D227 (rev 47,
|
|
589
|
+
* D227 (rev 47, vault-multi-writer, task 5.9, NEW fields).
|
|
590
590
|
* SCHEMA-OPTIONAL, present together IFF this attempt's co-riding
|
|
591
591
|
* `rotate_epoch_payload` carries a `writer_set_update` — frozen at THIS
|
|
592
592
|
* attempt's own admission fence, the SAME D194 discipline
|
|
@@ -603,7 +603,7 @@ export interface GitvaultRotationAttemptDescriptor {
|
|
|
603
603
|
* `rotate_epoch_payload.self_open_attestation` (D209, rev 44, NEW field) —
|
|
604
604
|
* the rotating client's claim that it round-tripped its OWN new-epoch
|
|
605
605
|
* `key_envelope` through the REAL reader entry point
|
|
606
|
-
* ({@link import("./
|
|
606
|
+
* ({@link import("./vault.crypto.js").openEpochRotationForRecipient})
|
|
607
607
|
* BEFORE submitting. The two generation fields are `fsck`'s OWN
|
|
608
608
|
* `chain_verified_to_generation` / `decryptable_to_generation` split,
|
|
609
609
|
* verbatim (hex16 generations) — one honest number, two consumers, never a
|
|
@@ -623,7 +623,7 @@ export interface GitvaultRotationAttemptDescriptor {
|
|
|
623
623
|
* above; the server never holds a recipient private key. Same evidentiary
|
|
624
624
|
* class as D200's `epoch_key_commitment` per-recipient self-check.
|
|
625
625
|
*/
|
|
626
|
-
export interface
|
|
626
|
+
export interface VaultEpochRotationSelfOpen {
|
|
627
627
|
/**
|
|
628
628
|
* `"opened"` — the writer is itself an included recipient and opened its
|
|
629
629
|
* own new-epoch envelope through the reader entry point.
|
|
@@ -653,11 +653,11 @@ export interface GitvaultEpochRotationSelfOpen {
|
|
|
653
653
|
* the JCS bytes carried (base64url-encoded, hash-pinned) inside
|
|
654
654
|
* `head.transition.payload` when `transition.kind == "rotate_epoch"`.
|
|
655
655
|
*/
|
|
656
|
-
export interface
|
|
656
|
+
export interface VaultRotateEpochPayload {
|
|
657
657
|
new_epoch: string;
|
|
658
658
|
/** The full 64-hex digest of the referenced `rotation_attempt_descriptor`'s stored bytes. */
|
|
659
659
|
rotation_id: string;
|
|
660
|
-
reason:
|
|
660
|
+
reason: VaultRotationReason;
|
|
661
661
|
recipient_state_version: string;
|
|
662
662
|
recipient_revocation_version: string;
|
|
663
663
|
/** D204 (rev 43): must be present and equal the referenced attempt descriptor's own; `false` for every rotation but the pre-rev-42 repair bootstrap. */
|
|
@@ -670,23 +670,23 @@ export interface GitvaultRotateEpochPayload {
|
|
|
670
670
|
excluded_unconfirmed_principal_ids: string[];
|
|
671
671
|
/** Reserved, always `null` in this revision (D197). */
|
|
672
672
|
recipient_authority_attestation: null;
|
|
673
|
-
envelopes:
|
|
673
|
+
envelopes: VaultRotationEnvelopePair[];
|
|
674
674
|
/**
|
|
675
675
|
* D209 (rev 44, NEW field). SCHEMA-OPTIONAL for exactly the historical-
|
|
676
676
|
* parse reason (a pre-rev-44 committed rotation payload structurally
|
|
677
677
|
* cannot carry it); SEMANTICALLY REQUIRED on every admission at or after
|
|
678
678
|
* this fold's own activation fence — an admission that omits it refuses
|
|
679
679
|
* `EPOCH_ROTATION_SELF_OPEN_UNPROVEN`. This SDK's own {@link
|
|
680
|
-
* import("../node/
|
|
680
|
+
* import("../node/vault-publication.js").Vault.rotateEpoch}
|
|
681
681
|
* always populates it on every submitted rotation.
|
|
682
682
|
*/
|
|
683
|
-
self_open_attestation?:
|
|
683
|
+
self_open_attestation?: VaultEpochRotationSelfOpen;
|
|
684
684
|
/**
|
|
685
|
-
* D227 (rev 47,
|
|
685
|
+
* D227 (rev 47, vault-multi-writer, NEW field). SCHEMA-OPTIONAL, present
|
|
686
686
|
* IFF this rotation ALSO removes one or more writers — writer removal
|
|
687
687
|
* rides `rotate_epoch`, writer addition never does (that is
|
|
688
688
|
* `add_writer_key`'s own transition kind). Mirrors the gateway's
|
|
689
|
-
* `WriterSetUpdatePayload` (services/
|
|
689
|
+
* `WriterSetUpdatePayload` (services/vault/writer-state.ts) exactly.
|
|
690
690
|
*/
|
|
691
691
|
writer_set_update?: {
|
|
692
692
|
base_version: string;
|
|
@@ -694,7 +694,7 @@ export interface GitvaultRotateEpochPayload {
|
|
|
694
694
|
next_version: string;
|
|
695
695
|
next_sha256: string;
|
|
696
696
|
/**
|
|
697
|
-
* A NARROWER 3-value vocabulary than {@link
|
|
697
|
+
* A NARROWER 3-value vocabulary than {@link VaultRotationReason}
|
|
698
698
|
* above (this rotation's own top-level `reason`) — the gateway's
|
|
699
699
|
* `writer_set_update` schema (`common.json#/$defs/writer_set_update`)
|
|
700
700
|
* accepts only these three per-removed-writer reasons, deliberately
|
|
@@ -714,14 +714,14 @@ export interface GitvaultRotateEpochPayload {
|
|
|
714
714
|
}
|
|
715
715
|
/**
|
|
716
716
|
* `add_writer_key_payload` (schema `add_writer_key_payload.json`,
|
|
717
|
-
*
|
|
717
|
+
* vault-multi-writer rev 47, protocol §4.16/§4.17) — the JCS bytes
|
|
718
718
|
* carried (base64url-encoded, hash-pinned) inside `head.transition.payload`
|
|
719
719
|
* when `transition.kind == "add_writer_key"`. Byte-identical field names to
|
|
720
|
-
* the gateway's own `AddWriterKeyPayload` (services/
|
|
721
|
-
* and this SDK's `
|
|
720
|
+
* the gateway's own `AddWriterKeyPayload` (services/vault/writer-state.ts)
|
|
721
|
+
* and this SDK's `vault-writer-state.ts` port of it — this is the WIRE
|
|
722
722
|
* type the parser below decodes into that same shape.
|
|
723
723
|
*/
|
|
724
|
-
export interface
|
|
724
|
+
export interface VaultAddWriterKeyPayload {
|
|
725
725
|
schema: "r402s.add-writer-key/v1";
|
|
726
726
|
repo_id: string;
|
|
727
727
|
base_writer_set: {
|
|
@@ -750,7 +750,7 @@ export interface GitvaultAddWriterKeyPayload {
|
|
|
750
750
|
};
|
|
751
751
|
}
|
|
752
752
|
/** One `recipient_pin_manifest.pins[]` entry (D197). */
|
|
753
|
-
export interface
|
|
753
|
+
export interface VaultRecipientPinManifestEntry {
|
|
754
754
|
principal_id: string;
|
|
755
755
|
ek_fingerprint: string;
|
|
756
756
|
pinned_at: string;
|
|
@@ -765,21 +765,21 @@ export interface GitvaultRecipientPinManifestEntry {
|
|
|
765
765
|
* `recipient-pins/<pin_manifest_version>.json`, chain-referenced only via
|
|
766
766
|
* `head.pin_manifest` / `vault_genesis.pin_manifest`.
|
|
767
767
|
*/
|
|
768
|
-
export interface
|
|
769
|
-
format:
|
|
768
|
+
export interface VaultRecipientPinManifest {
|
|
769
|
+
format: VaultFormat;
|
|
770
770
|
object_kind: "recipient_pin_manifest";
|
|
771
|
-
suite:
|
|
771
|
+
suite: VaultSuite;
|
|
772
772
|
repo_id: string;
|
|
773
773
|
/** Monotonic hex16 — exactly the predecessor's version + 1, or exactly `1` if none. */
|
|
774
774
|
pin_manifest_version: string;
|
|
775
775
|
/** The predecessor's stored-bytes sha256, or the 64-`0` zero-value sentinel when `pin_manifest_version == 1`. */
|
|
776
776
|
base_pin_manifest_sha256: string;
|
|
777
|
-
pins:
|
|
777
|
+
pins: VaultRecipientPinManifestEntry[];
|
|
778
778
|
writer_key_id: string;
|
|
779
779
|
signature: string;
|
|
780
780
|
}
|
|
781
781
|
/** The `recipient_pin_manifest`'s zero-value sentinel `base_pin_manifest_sha256` when no predecessor manifest exists (D197). */
|
|
782
|
-
export declare const
|
|
782
|
+
export declare const VAULT_ZERO_SHA256_SENTINEL: string;
|
|
783
783
|
/**
|
|
784
784
|
* `recipient_confirmation_receipt` (schema `recipient_confirmation_receipt.json`,
|
|
785
785
|
* D197, `rcr_`) — control-plane-signed, immutable, ID-addressed at
|
|
@@ -787,8 +787,8 @@ export declare const GITVAULT_ZERO_SHA256_SENTINEL: string;
|
|
|
787
787
|
* `/repin` ceremony it authorizes. Single-use: consumed by admission of the
|
|
788
788
|
* `recipient_pin_manifest` entry that cites its stored-bytes hash.
|
|
789
789
|
*/
|
|
790
|
-
export interface
|
|
791
|
-
format:
|
|
790
|
+
export interface VaultRecipientConfirmationReceipt {
|
|
791
|
+
format: VaultFormat;
|
|
792
792
|
object_kind: "recipient_confirmation_receipt";
|
|
793
793
|
/** `rcr_` + 32 lowercase hex. */
|
|
794
794
|
object_id: string;
|
|
@@ -806,7 +806,7 @@ export interface GitvaultRecipientConfirmationReceipt {
|
|
|
806
806
|
}
|
|
807
807
|
/**
|
|
808
808
|
* `recipient_open_receipt` (schema `recipient_open_receipt.json`, D210, rev
|
|
809
|
-
* 44, `ror_`) — the EVIDENCE mirror of {@link
|
|
809
|
+
* 44, `ror_`) — the EVIDENCE mirror of {@link VaultRecipientConfirmationReceipt}'s
|
|
810
810
|
* authorization class: minted AFTER the fact it records (a recipient's own
|
|
811
811
|
* proof that it opened its envelope through the real reader path), never
|
|
812
812
|
* consumed, never superseded, and never read by admission. The two
|
|
@@ -820,8 +820,8 @@ export interface GitvaultRecipientConfirmationReceipt {
|
|
|
820
820
|
* ek_fingerprint, decryptable_to_generation)` — an exact-tuple replay
|
|
821
821
|
* returns this SAME object.
|
|
822
822
|
*/
|
|
823
|
-
export interface
|
|
824
|
-
format:
|
|
823
|
+
export interface VaultOpenReceipt {
|
|
824
|
+
format: VaultFormat;
|
|
825
825
|
object_kind: "recipient_open_receipt";
|
|
826
826
|
/** `ror_` + 32 lowercase hex. */
|
|
827
827
|
object_id: string;
|
|
@@ -839,4 +839,4 @@ export interface GitvaultOpenReceipt {
|
|
|
839
839
|
service_key_id: string;
|
|
840
840
|
signature: string;
|
|
841
841
|
}
|
|
842
|
-
//# sourceMappingURL=
|
|
842
|
+
//# sourceMappingURL=vault.types.d.ts.map
|