@run402/sdk 4.93.2 → 4.95.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 +40 -38
- package/core-dist/config.d.ts +16 -2
- package/core-dist/config.js +52 -18
- package/core-dist/control-plane-session.d.ts +29 -14
- package/core-dist/control-plane-session.js +31 -6
- package/core-dist/keystore.js +7 -7
- package/core-dist/profiles.d.ts +3 -3
- package/core-dist/profiles.js +9 -7
- package/core-dist/{allowance-auth.d.ts → wallet-auth.d.ts} +6 -6
- package/core-dist/{allowance-auth.js → wallet-auth.js} +15 -15
- package/core-dist/wallet.d.ts +22 -0
- package/core-dist/{allowance.js → wallet.js} +20 -20
- package/core-dist/{write-auth-session.d.ts → write-approvals.d.ts} +28 -26
- package/core-dist/{write-auth-session.js → write-approvals.js} +19 -19
- package/dist/actions.d.ts +4 -4
- 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/control-plane-credentials.d.ts +8 -8
- package/dist/control-plane-credentials.js +7 -7
- package/dist/credentials.d.ts +20 -20
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +1 -1
- package/dist/errors.d.ts +26 -28
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +35 -38
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +29 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -17
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +1 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +10 -9
- package/dist/kernel.js.map +1 -1
- package/dist/namespaces/admin.d.ts +52 -121
- package/dist/namespaces/admin.d.ts.map +1 -1
- package/dist/namespaces/admin.js +41 -45
- package/dist/namespaces/admin.js.map +1 -1
- package/dist/namespaces/agent.d.ts +2 -2
- package/dist/namespaces/agent.d.ts.map +1 -1
- package/dist/namespaces/agent.js +2 -2
- package/dist/namespaces/agent.js.map +1 -1
- package/dist/namespaces/ai.d.ts +2 -2
- package/dist/namespaces/ai.js +3 -3
- 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/billing.d.ts +6 -3
- package/dist/namespaces/billing.d.ts.map +1 -1
- package/dist/namespaces/billing.js.map +1 -1
- package/dist/namespaces/buzz-notifications.types.d.ts +1 -1
- package/dist/namespaces/buzz.d.ts +2 -2
- package/dist/namespaces/buzz.d.ts.map +1 -1
- package/dist/namespaces/buzz.js +2 -2
- package/dist/namespaces/buzz.js.map +1 -1
- package/dist/namespaces/buzz.types.d.ts +2 -2
- package/dist/namespaces/buzz.types.d.ts.map +1 -1
- package/dist/namespaces/ci.js +3 -3
- package/dist/namespaces/ci.js.map +1 -1
- package/dist/namespaces/credentials.types.d.ts +1 -1
- package/dist/namespaces/deploy.d.ts +1 -1
- package/dist/namespaces/deploy.d.ts.map +1 -1
- package/dist/namespaces/deploy.js +31 -32
- package/dist/namespaces/deploy.js.map +1 -1
- package/dist/namespaces/deploy.types.d.ts +6 -6
- 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/escalations.d.ts +1 -1
- package/dist/namespaces/escalations.js +1 -1
- package/dist/namespaces/escalations.types.d.ts +2 -2
- package/dist/namespaces/escalations.types.d.ts.map +1 -1
- package/dist/namespaces/events.types.d.ts +1 -1
- package/dist/namespaces/functions.d.ts +1 -1
- package/dist/namespaces/functions.js +2 -2
- package/dist/namespaces/functions.js.map +1 -1
- package/dist/namespaces/gitvault.crypto.d.ts +1 -1
- package/dist/namespaces/gitvault.d.ts +26 -26
- package/dist/namespaces/gitvault.d.ts.map +1 -1
- package/dist/namespaces/gitvault.js +113 -113
- package/dist/namespaces/gitvault.js.map +1 -1
- package/dist/namespaces/me.d.ts +120 -0
- package/dist/namespaces/me.d.ts.map +1 -0
- package/dist/namespaces/me.js +34 -0
- package/dist/namespaces/me.js.map +1 -0
- package/dist/namespaces/org.d.ts +108 -6
- package/dist/namespaces/org.d.ts.map +1 -1
- package/dist/namespaces/org.js +63 -7
- package/dist/namespaces/org.js.map +1 -1
- package/dist/namespaces/org.types.d.ts +29 -9
- package/dist/namespaces/org.types.d.ts.map +1 -1
- package/dist/namespaces/pay.js +3 -3
- package/dist/namespaces/pay.js.map +1 -1
- package/dist/namespaces/projects.d.ts +9 -9
- package/dist/namespaces/projects.js +15 -15
- package/dist/namespaces/projects.js.map +1 -1
- package/dist/namespaces/projects.types.d.ts +28 -12
- package/dist/namespaces/projects.types.d.ts.map +1 -1
- package/dist/namespaces/rooms.d.ts +7 -7
- package/dist/namespaces/rooms.js +17 -17
- package/dist/namespaces/rooms.js.map +1 -1
- package/dist/namespaces/rooms.types.d.ts +9 -9
- package/dist/namespaces/rooms.types.d.ts.map +1 -1
- package/dist/namespaces/service.d.ts +1 -1
- package/dist/namespaces/service.js +1 -1
- package/dist/namespaces/{operator-session.d.ts → session.d.ts} +135 -51
- package/dist/namespaces/session.d.ts.map +1 -0
- package/dist/namespaces/{operator-session.js → session.js} +118 -30
- package/dist/namespaces/session.js.map +1 -0
- package/dist/namespaces/subdomains.d.ts +5 -5
- package/dist/namespaces/subdomains.d.ts.map +1 -1
- package/dist/namespaces/subdomains.js +6 -6
- package/dist/namespaces/subdomains.js.map +1 -1
- package/dist/namespaces/tier.d.ts +44 -21
- package/dist/namespaces/tier.d.ts.map +1 -1
- package/dist/namespaces/tier.js +7 -7
- package/dist/namespaces/tier.js.map +1 -1
- package/dist/namespaces/transfers.d.ts +119 -85
- package/dist/namespaces/transfers.d.ts.map +1 -1
- package/dist/namespaces/transfers.js +31 -38
- package/dist/namespaces/transfers.js.map +1 -1
- package/dist/namespaces/vouchers.d.ts +9 -10
- package/dist/namespaces/vouchers.d.ts.map +1 -1
- package/dist/namespaces/vouchers.js +4 -5
- package/dist/namespaces/vouchers.js.map +1 -1
- package/dist/namespaces/wallets.d.ts +72 -3
- package/dist/namespaces/wallets.d.ts.map +1 -1
- package/dist/namespaces/wallets.js +141 -3
- package/dist/namespaces/wallets.js.map +1 -1
- package/dist/namespaces/write-approval.d.ts +101 -0
- package/dist/namespaces/write-approval.d.ts.map +1 -0
- package/dist/namespaces/write-approval.js +62 -0
- package/dist/namespaces/write-approval.js.map +1 -0
- package/dist/node/actions-node.d.ts +3 -3
- package/dist/node/actions-node.d.ts.map +1 -1
- package/dist/node/actions-node.js +44 -44
- 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-claim-key.d.ts → bearer-redeem-key.d.ts} +12 -12
- package/dist/node/bearer-redeem-key.d.ts.map +1 -0
- package/dist/node/{bearer-claim-key.js → bearer-redeem-key.js} +21 -21
- package/dist/node/bearer-redeem-key.js.map +1 -0
- package/dist/node/ci.d.ts +1 -1
- package/dist/node/ci.d.ts.map +1 -1
- package/dist/node/ci.js +6 -6
- package/dist/node/ci.js.map +1 -1
- package/dist/node/credentials.d.ts +18 -17
- package/dist/node/credentials.d.ts.map +1 -1
- package/dist/node/credentials.js +29 -28
- package/dist/node/credentials.js.map +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/funding-recovery.d.ts +1 -1
- package/dist/node/funding-recovery.d.ts.map +1 -1
- package/dist/node/funding-recovery.js +1 -1
- package/dist/node/funding-recovery.js.map +1 -1
- package/dist/node/gitvault-apply.d.ts +1 -1
- package/dist/node/gitvault-apply.d.ts.map +1 -1
- package/dist/node/gitvault-apply.js +1 -1
- package/dist/node/gitvault-apply.js.map +1 -1
- package/dist/node/gitvault-handoff.d.ts +22 -22
- package/dist/node/gitvault-handoff.d.ts.map +1 -1
- package/dist/node/gitvault-handoff.js +45 -45
- package/dist/node/gitvault-handoff.js.map +1 -1
- package/dist/node/gitvault-prewarm.js +7 -7
- package/dist/node/gitvault-prewarm.js.map +1 -1
- package/dist/node/gitvault-restore.d.ts +1 -1
- package/dist/node/gitvault-restore.js +1 -1
- package/dist/node/index.d.ts +16 -16
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +15 -15
- 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.d.ts +49 -0
- package/dist/node/org-adopt.d.ts.map +1 -0
- package/dist/node/org-adopt.js +77 -0
- package/dist/node/org-adopt.js.map +1 -0
- package/dist/node/paid-fetch.d.ts +7 -7
- package/dist/node/paid-fetch.d.ts.map +1 -1
- package/dist/node/paid-fetch.js +54 -54
- package/dist/node/paid-fetch.js.map +1 -1
- package/dist/node/preflight.d.ts +1 -1
- package/dist/node/preflight.d.ts.map +1 -1
- package/dist/node/preflight.js +1 -1
- package/dist/node/preflight.js.map +1 -1
- package/dist/node/sites-node.js +1 -1
- package/dist/node/sites-node.js.map +1 -1
- package/dist/node/source-scan.d.ts +1 -1
- package/dist/node/source-scan.js +2 -2
- package/dist/node/source-scan.js.map +1 -1
- package/dist/scoped.d.ts +11 -11
- package/dist/scoped.d.ts.map +1 -1
- package/dist/scoped.js +5 -5
- package/dist/scoped.js.map +1 -1
- package/package.json +1 -1
- package/core-dist/allowance.d.ts +0 -22
- package/core-dist/operator-session.d.ts +0 -80
- package/core-dist/operator-session.js +0 -154
- package/dist/namespaces/allowance.d.ts +0 -79
- package/dist/namespaces/allowance.d.ts.map +0 -1
- package/dist/namespaces/allowance.js +0 -149
- package/dist/namespaces/allowance.js.map +0 -1
- package/dist/namespaces/operator-session.d.ts.map +0 -1
- package/dist/namespaces/operator-session.js.map +0 -1
- package/dist/namespaces/operator.d.ts +0 -359
- package/dist/namespaces/operator.d.ts.map +0 -1
- package/dist/namespaces/operator.js +0 -272
- package/dist/namespaces/operator.js.map +0 -1
- package/dist/node/bearer-claim-key.d.ts.map +0 -1
- package/dist/node/bearer-claim-key.js.map +0 -1
- package/dist/node/operator-claim.d.ts +0 -49
- package/dist/node/operator-claim.d.ts.map +0 -1
- package/dist/node/operator-claim.js +0 -77
- package/dist/node/operator-claim.js.map +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { GITVAULT_FORMAT, GITVAULT_SUITE } from "../namespaces/gitvault.crypto.js";
|
|
2
|
-
import { type
|
|
3
|
-
export { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey,
|
|
4
|
-
export type {
|
|
2
|
+
import { type RedeemKind, type HandoffKeyPrefixEntry, type RedeemKeyParts, type HandoffKeyParts, type InviteKeyParts, type HandoffSecrets, HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey, parseRedeemKey, parseHandoffKey, parseInviteKey, deriveHandoffSecrets, deriveInviteSecrets } from "./bearer-redeem-key.js";
|
|
3
|
+
export { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey, parseRedeemKey, parseHandoffKey, parseInviteKey, deriveHandoffSecrets, deriveInviteSecrets, };
|
|
4
|
+
export type { RedeemKind, HandoffKeyPrefixEntry, RedeemKeyParts, HandoffKeyParts, InviteKeyParts, HandoffSecrets };
|
|
5
5
|
/**
|
|
6
|
-
* Third HKDF output of a
|
|
6
|
+
* Third HKDF output of a redeem key's `master_secret` (design D4, protocol
|
|
7
7
|
* §4.17; kind-parameterized by kygit-invite design D3): the one-use
|
|
8
8
|
* admission Ed25519 seed. Derived directly from `master_secret` —
|
|
9
9
|
* deliberately NEVER from `auth_secret` or `wrap_key` — so the gateway,
|
|
10
|
-
* which receives `auth_secret` at
|
|
11
|
-
* derive this seed and manufacture a different
|
|
10
|
+
* which receives `auth_secret` at redeem, stays computationally unable to
|
|
11
|
+
* derive this seed and manufacture a different redeemer completion. The info
|
|
12
12
|
* string is domain-separated by kind (`kygit/<kind>/writer-admission/v1`),
|
|
13
13
|
* so an invite's admission seed never matches a handoff's for the same id
|
|
14
14
|
* and master secret.
|
|
15
15
|
*/
|
|
16
|
-
export declare function
|
|
17
|
-
/** Handoff-bound alias of {@link
|
|
16
|
+
export declare function deriveRedeemWriterAdmissionSeed(kind: RedeemKind, idBytes: Uint8Array, masterSecret: Uint8Array): Uint8Array;
|
|
17
|
+
/** Handoff-bound alias of {@link deriveRedeemWriterAdmissionSeed} — `kygit/handoff/writer-admission/v1`. */
|
|
18
18
|
export declare function deriveWriterAdmissionSeed(handoffIdBytes: Uint8Array, masterSecret: Uint8Array): Uint8Array;
|
|
19
19
|
/** The invite-kind sibling of {@link deriveWriterAdmissionSeed} — `kygit/invite/writer-admission/v1` (kygit-invite design D3). */
|
|
20
20
|
export declare function deriveInviteWriterAdmissionSeed(inviteIdBytes: Uint8Array, masterSecret: Uint8Array): Uint8Array;
|
|
@@ -72,7 +72,7 @@ export interface HandoffWriterAcceptStatement {
|
|
|
72
72
|
encryption_pubkey: string;
|
|
73
73
|
encryption_fingerprint: string;
|
|
74
74
|
}
|
|
75
|
-
/** ONE object, TWO signatures over the SAME statement: possession of the one-use admission capability (`acceptance_signature`) AND possession of the
|
|
75
|
+
/** ONE object, TWO signatures over the SAME statement: possession of the one-use admission capability (`acceptance_signature`) AND possession of the redeemer's own permanent writer key (`possession_signature`). Never chain-stored directly — embedded verbatim inside an admitted `add_writer_key` transition's `authorization.kind:"handoff".acceptance` once consumed. */
|
|
76
76
|
export interface WriterAcceptance {
|
|
77
77
|
statement: HandoffWriterAcceptStatement;
|
|
78
78
|
acceptance_signature: string;
|
|
@@ -83,28 +83,28 @@ export interface BuildWriterAcceptanceInput {
|
|
|
83
83
|
auth_hash: string;
|
|
84
84
|
/** {@link deriveWriterAdmissionSeed}'s output — B derives it the SAME way A did, from its own copy of `master_secret`. */
|
|
85
85
|
admission_seed: Uint8Array;
|
|
86
|
-
/** The
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
/** The redeemer's OWN permanent writer signing seed — becomes `writer_key_id`/`signing_pubkey` on the statement. */
|
|
87
|
+
redeemer_signing_seed: Uint8Array;
|
|
88
|
+
redeemer_encryption_pubkey_raw: Uint8Array;
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
91
|
+
* Redeem side (D4): the redeemer can construct BOTH signatures before ever
|
|
92
92
|
* seeing the stored grant, since it already knows `handoff_id`, `auth_hash`
|
|
93
|
-
* (recomputed exactly as the existing
|
|
93
|
+
* (recomputed exactly as the existing redeem flow already does via
|
|
94
94
|
* {@link deriveHandoffSecrets}), and its own keys.
|
|
95
95
|
*/
|
|
96
96
|
export declare function buildWriterAcceptance(input: BuildWriterAcceptanceInput): WriterAcceptance;
|
|
97
97
|
/**
|
|
98
98
|
* Verifies BOTH signatures over the SAME statement: `acceptance_signature`
|
|
99
99
|
* under the grant's `handoff_admission_pubkey` (proves B legitimately
|
|
100
|
-
*
|
|
100
|
+
* redeemed THIS handoff), `possession_signature` under the statement's own
|
|
101
101
|
* `signing_pubkey` (proves `writer_key_id`/`signing_pubkey` really belong
|
|
102
102
|
* to whoever is submitting it, not a replayed statement about someone
|
|
103
103
|
* else's key). Does not check `handoff_id`/`auth_hash` binding to a stored
|
|
104
104
|
* grant, or single-use — those are the caller's job.
|
|
105
105
|
*/
|
|
106
106
|
export declare function verifyWriterAcceptance(acceptance: WriterAcceptance, admissionPubkeyRaw: Uint8Array): boolean;
|
|
107
|
-
/** The literal payload the mint side seals and the
|
|
107
|
+
/** The literal payload the mint side seals and the redeem side opens, for the handoff kind. */
|
|
108
108
|
export interface HandoffEnvelopePayload {
|
|
109
109
|
v: 1;
|
|
110
110
|
kind: "handoff";
|
|
@@ -134,7 +134,7 @@ export declare function sealHandoffEnvelope(handoffIdBytes: Uint8Array, wrapKey:
|
|
|
134
134
|
sealed_envelope: string;
|
|
135
135
|
envelope_kind: string;
|
|
136
136
|
};
|
|
137
|
-
/** Open a sealed handoff envelope under `wrap_key` (standard base64 as the
|
|
137
|
+
/** Open a sealed handoff envelope under `wrap_key` (standard base64 as the redeem response carries it, or base64url). Throws `HANDOFF_ENVELOPE_INVALID` on any header mismatch, a `v:2` (or otherwise non-v1) payload shape, and `HANDOFF_AEAD_AUTH_FAILURE` on a bad key/AAD/ciphertext. */
|
|
138
138
|
export declare function openHandoffEnvelope(handoffIdBytes: Uint8Array, wrapKey: Uint8Array, sealedEnvelope: string, envelopeKind?: string): HandoffEnvelopePayload;
|
|
139
139
|
/** The v2 envelope kind the handoff mint seals. */
|
|
140
140
|
export declare const HANDOFF_ENVELOPE_V2_KIND: "kygit-handoff-envelope-v2";
|
|
@@ -173,7 +173,7 @@ export declare function sealInviteEnvelope(inviteIdBytes: Uint8Array, wrapKey: U
|
|
|
173
173
|
* writer-activation-aware `resume` needs `writer_admission_grant_sha256` to
|
|
174
174
|
* cross-check the returned grant, and a pre-rev-47 v1 envelope structurally
|
|
175
175
|
* has none. Shares ONLY the frame/AEAD-opening step with
|
|
176
|
-
* {@link openHandoffEnvelope} ({@link
|
|
176
|
+
* {@link openHandoffEnvelope} ({@link openRedeemEnvelope}) — NOT that
|
|
177
177
|
* function itself, since its `v !== 1` shape check would (correctly) refuse
|
|
178
178
|
* a v2 payload; this function applies its own `v !== 2` shape check
|
|
179
179
|
* instead. Callers that only need K_repo/checkpoint delivery, with no
|
|
@@ -192,8 +192,8 @@ export interface KygitHandoffNoteCapture {
|
|
|
192
192
|
sensitive_excluded: string[];
|
|
193
193
|
ignored_not_transferred_count: number;
|
|
194
194
|
}
|
|
195
|
-
/** The fields shared by every
|
|
196
|
-
interface
|
|
195
|
+
/** The fields shared by every redeem-kind note — free-text fields are Markdown. */
|
|
196
|
+
interface KygitRedeemNoteBase {
|
|
197
197
|
created_at: string;
|
|
198
198
|
from: {
|
|
199
199
|
agent: string;
|
|
@@ -216,11 +216,11 @@ interface KygitClaimNoteBase {
|
|
|
216
216
|
capture: KygitHandoffNoteCapture;
|
|
217
217
|
}
|
|
218
218
|
/** `kygit.handoff-note.v1` — the handoff commit's message, verbatim JSON. */
|
|
219
|
-
export interface KygitHandoffNote extends
|
|
219
|
+
export interface KygitHandoffNote extends KygitRedeemNoteBase {
|
|
220
220
|
schema: "kygit.handoff-note.v1";
|
|
221
221
|
}
|
|
222
222
|
/** `kygit.invite-note.v1` — the invite commit's message, verbatim JSON. Same fields as {@link KygitHandoffNote} (kygit-invite design D3). */
|
|
223
|
-
export interface KygitInviteNote extends
|
|
223
|
+
export interface KygitInviteNote extends KygitRedeemNoteBase {
|
|
224
224
|
schema: "kygit.invite-note.v1";
|
|
225
225
|
}
|
|
226
226
|
export declare function isKygitHandoffNote(value: unknown): value is KygitHandoffNote;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-handoff.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-handoff.ts"],"names":[],"mappings":"AA0CA,OAAO,EAKL,eAAe,EACf,cAAc,EASf,MAAM,kCAAkC,CAAC;AAO1C,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"gitvault-handoff.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* would recover.
|
|
17
17
|
*
|
|
18
18
|
* The prefix is a REGISTRY (design D9 rule 4 / kygit-invite D3): `kgh1_` is
|
|
19
|
-
* the first row, `kgi1_` the second. `
|
|
19
|
+
* the first row, `kgi1_` the second. `parseRedeemKey` refuses any other
|
|
20
20
|
* recognized-shape-but-wrong-kind prefix BY NAME, pointing at its own verb,
|
|
21
21
|
* rather than misreading it as a malformed key of the kind it expected.
|
|
22
22
|
* `parseHandoffKey`/`parseInviteKey` are thin kind-bound aliases over the
|
|
@@ -43,12 +43,12 @@ import { LocalError } from "../errors.js";
|
|
|
43
43
|
import { _gitvaultAeadBackend, fromBase64url, randomBytes, toBase64url, GITVAULT_FORMAT, GITVAULT_SUITE, GITVAULT_HEX16_RE, GITVAULT_SHA256_RE, signaturePreimage, ed25519Sign, ed25519PublicKey, ed25519VerifyStrict, vkFingerprint, ekFingerprint, } from "../namespaces/gitvault.crypto.js";
|
|
44
44
|
// add-room-invite design D2: the pure key-format primitives (the registry,
|
|
45
45
|
// uuidToBytes, assemble/parse, the HKDF derive) moved to
|
|
46
|
-
// `bearer-
|
|
46
|
+
// `bearer-redeem-key.ts` — a move, not a copy — so the room kind (`kri1_`)
|
|
47
47
|
// can share them without teaching THIS vault-shaped module a room-shaped
|
|
48
48
|
// kind. Every symbol this module previously exported is re-exported here
|
|
49
49
|
// under its existing name, so nothing importing it changes.
|
|
50
|
-
import { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey,
|
|
51
|
-
export { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey,
|
|
50
|
+
import { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey, parseRedeemKey, parseHandoffKey, parseInviteKey, deriveHandoffSecrets, deriveInviteSecrets, } from "./bearer-redeem-key.js";
|
|
51
|
+
export { HANDOFF_KEY_PREFIXES, uuidToBytes, assembleHandoffKey, assembleInviteKey, parseRedeemKey, parseHandoffKey, parseInviteKey, deriveHandoffSecrets, deriveInviteSecrets, };
|
|
52
52
|
function fail(code, message, context, details) {
|
|
53
53
|
throw new LocalError(message, context, { code, details });
|
|
54
54
|
}
|
|
@@ -59,7 +59,7 @@ const INVITE_ENTRY = HANDOFF_KEY_PREFIXES[1];
|
|
|
59
59
|
// The bearer-completable path for `add_writer_key{authorization.kind:
|
|
60
60
|
// "handoff"}` — an unknown-at-mint, possibly-sender-gone recipient becomes a
|
|
61
61
|
// vault WRITER (not just a K_repo holder) via a sender-signed grant plus the
|
|
62
|
-
//
|
|
62
|
+
// redeemer's own two-signature acceptance. Reuses ONLY existing primitives:
|
|
63
63
|
// `signaturePreimage`/`ed25519Sign`/`ed25519VerifyStrict`/`vkFingerprint`/
|
|
64
64
|
// `ekFingerprint` from `gitvault.crypto.ts` — the SAME "r402s/v0/<kind>\n" +
|
|
65
65
|
// JCS(object minus signature) preimage rule every other chain object uses
|
|
@@ -70,26 +70,26 @@ const INVITE_ENTRY = HANDOFF_KEY_PREFIXES[1];
|
|
|
70
70
|
// own `signaturePreimage("handoff-writer-accept/v1", acceptance.statement)`,
|
|
71
71
|
// the identical convention used here).
|
|
72
72
|
/**
|
|
73
|
-
* Third HKDF output of a
|
|
73
|
+
* Third HKDF output of a redeem key's `master_secret` (design D4, protocol
|
|
74
74
|
* §4.17; kind-parameterized by kygit-invite design D3): the one-use
|
|
75
75
|
* admission Ed25519 seed. Derived directly from `master_secret` —
|
|
76
76
|
* deliberately NEVER from `auth_secret` or `wrap_key` — so the gateway,
|
|
77
|
-
* which receives `auth_secret` at
|
|
78
|
-
* derive this seed and manufacture a different
|
|
77
|
+
* which receives `auth_secret` at redeem, stays computationally unable to
|
|
78
|
+
* derive this seed and manufacture a different redeemer completion. The info
|
|
79
79
|
* string is domain-separated by kind (`kygit/<kind>/writer-admission/v1`),
|
|
80
80
|
* so an invite's admission seed never matches a handoff's for the same id
|
|
81
81
|
* and master secret.
|
|
82
82
|
*/
|
|
83
|
-
export function
|
|
83
|
+
export function deriveRedeemWriterAdmissionSeed(kind, idBytes, masterSecret) {
|
|
84
84
|
return hkdf(sha256, masterSecret, idBytes, utf8ToBytes(`kygit/${kind}/writer-admission/v1`), 32);
|
|
85
85
|
}
|
|
86
|
-
/** Handoff-bound alias of {@link
|
|
86
|
+
/** Handoff-bound alias of {@link deriveRedeemWriterAdmissionSeed} — `kygit/handoff/writer-admission/v1`. */
|
|
87
87
|
export function deriveWriterAdmissionSeed(handoffIdBytes, masterSecret) {
|
|
88
|
-
return
|
|
88
|
+
return deriveRedeemWriterAdmissionSeed("handoff", handoffIdBytes, masterSecret);
|
|
89
89
|
}
|
|
90
90
|
/** The invite-kind sibling of {@link deriveWriterAdmissionSeed} — `kygit/invite/writer-admission/v1` (kygit-invite design D3). */
|
|
91
91
|
export function deriveInviteWriterAdmissionSeed(inviteIdBytes, masterSecret) {
|
|
92
|
-
return
|
|
92
|
+
return deriveRedeemWriterAdmissionSeed("invite", inviteIdBytes, masterSecret);
|
|
93
93
|
}
|
|
94
94
|
const WRITER_MINTED_ROLES = ["owner", "admin", "developer", "billing", "viewer"];
|
|
95
95
|
/** Mint side (D4): builds + signs `writer_admission_grant`. The gateway's own mint-time validation (grantor active + self-consistent, field equality) is server-side; this function only builds a well-formed, correctly-signed object. */
|
|
@@ -146,35 +146,35 @@ export function verifyWriterAdmissionGrant(grant, grantorSigningPubkeyRaw) {
|
|
|
146
146
|
export const HANDOFF_WRITER_ACCEPT_DOMAIN = "r402s/v0/handoff-writer-accept/v1";
|
|
147
147
|
const HANDOFF_WRITER_ACCEPT_PREIMAGE_DOMAIN = "handoff-writer-accept/v1";
|
|
148
148
|
/**
|
|
149
|
-
*
|
|
149
|
+
* Redeem side (D4): the redeemer can construct BOTH signatures before ever
|
|
150
150
|
* seeing the stored grant, since it already knows `handoff_id`, `auth_hash`
|
|
151
|
-
* (recomputed exactly as the existing
|
|
151
|
+
* (recomputed exactly as the existing redeem flow already does via
|
|
152
152
|
* {@link deriveHandoffSecrets}), and its own keys.
|
|
153
153
|
*/
|
|
154
154
|
export function buildWriterAcceptance(input) {
|
|
155
155
|
if (!GITVAULT_SHA256_RE.test(input.auth_hash))
|
|
156
156
|
fail("VALIDATION_FAILED", "auth_hash must be 64 lowercase hex", "building writer_acceptance", { field: "auth_hash" });
|
|
157
|
-
const signingPubkeyRaw = ed25519PublicKey(input.
|
|
157
|
+
const signingPubkeyRaw = ed25519PublicKey(input.redeemer_signing_seed);
|
|
158
158
|
const statement = {
|
|
159
159
|
domain: HANDOFF_WRITER_ACCEPT_DOMAIN,
|
|
160
160
|
handoff_id: input.handoff_id,
|
|
161
161
|
auth_hash: input.auth_hash,
|
|
162
162
|
writer_key_id: vkFingerprint(signingPubkeyRaw),
|
|
163
163
|
signing_pubkey: toBase64url(signingPubkeyRaw),
|
|
164
|
-
encryption_pubkey: toBase64url(input.
|
|
165
|
-
encryption_fingerprint: ekFingerprint(input.
|
|
164
|
+
encryption_pubkey: toBase64url(input.redeemer_encryption_pubkey_raw),
|
|
165
|
+
encryption_fingerprint: ekFingerprint(input.redeemer_encryption_pubkey_raw),
|
|
166
166
|
};
|
|
167
167
|
const preimage = signaturePreimage(HANDOFF_WRITER_ACCEPT_PREIMAGE_DOMAIN, statement);
|
|
168
168
|
return {
|
|
169
169
|
statement,
|
|
170
170
|
acceptance_signature: toBase64url(ed25519Sign(preimage, input.admission_seed)),
|
|
171
|
-
possession_signature: toBase64url(ed25519Sign(preimage, input.
|
|
171
|
+
possession_signature: toBase64url(ed25519Sign(preimage, input.redeemer_signing_seed)),
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
175
|
* Verifies BOTH signatures over the SAME statement: `acceptance_signature`
|
|
176
176
|
* under the grant's `handoff_admission_pubkey` (proves B legitimately
|
|
177
|
-
*
|
|
177
|
+
* redeemed THIS handoff), `possession_signature` under the statement's own
|
|
178
178
|
* `signing_pubkey` (proves `writer_key_id`/`signing_pubkey` really belong
|
|
179
179
|
* to whoever is submitting it, not a replayed statement about someone
|
|
180
180
|
* else's key). Does not check `handoff_id`/`auth_hash` binding to a stored
|
|
@@ -205,13 +205,13 @@ const FRAME_MAGIC_BYTES = 4;
|
|
|
205
205
|
const FRAME_VERSION_BYTE = 0x01;
|
|
206
206
|
const CLAIM_NONCE_BYTES = 24;
|
|
207
207
|
const CLAIM_FRAME_HEADER_BYTES = FRAME_MAGIC_BYTES + 1 + CLAIM_NONCE_BYTES;
|
|
208
|
-
function
|
|
208
|
+
function redeemAeadSeal(key32, nonce24, aad, plaintext) {
|
|
209
209
|
const backend = _gitvaultAeadBackend();
|
|
210
210
|
if (backend)
|
|
211
211
|
return backend.seal(key32, nonce24, aad, plaintext);
|
|
212
212
|
return xchacha20poly1305(key32, nonce24, aad).encrypt(plaintext);
|
|
213
213
|
}
|
|
214
|
-
function
|
|
214
|
+
function redeemAeadOpen(key32, nonce24, aad, ctAndTag) {
|
|
215
215
|
try {
|
|
216
216
|
const backend = _gitvaultAeadBackend();
|
|
217
217
|
if (backend)
|
|
@@ -223,12 +223,12 @@ function claimAeadOpen(key32, nonce24, aad, ctAndTag) {
|
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
/** AAD = `id[16] ‖ envelopeKind` (design D3) — `envelopeKind` is this envelope format's own tag, UTF-8. */
|
|
226
|
-
function
|
|
226
|
+
function redeemEnvelopeAad(idBytes, envelopeKind) {
|
|
227
227
|
return concatBytes(idBytes, utf8ToBytes(envelopeKind));
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
230
|
* `sealed_envelope` on the wire is STANDARD base64 — openapi spells it
|
|
231
|
-
* `format: byte` in both the mint body and the
|
|
231
|
+
* `format: byte` in both the mint body and the redeem response, and the
|
|
232
232
|
* gateway echoes the stored bytes with `Buffer#toString("base64")` (`+`,
|
|
233
233
|
* `/`, `=` padding). Decoding it with the canonical-base64url-only
|
|
234
234
|
* `fromBase64url`, which refuses every `+`/`/`/`=`, takes a 200 from the
|
|
@@ -237,7 +237,7 @@ function claimEnvelopeAad(idBytes, envelopeKind) {
|
|
|
237
237
|
* clients mint; padding is optional either way. Anything outside the two
|
|
238
238
|
* alphabets is a refusal (`null` — the caller raises the typed
|
|
239
239
|
* `*_ENVELOPE_INVALID`), never a silent partial decode. Shared by both
|
|
240
|
-
*
|
|
240
|
+
* redeem kinds: the invite routes encode exactly as the handoff routes do,
|
|
241
241
|
* byte for byte, rather than "fixing" the alphabet on one side only
|
|
242
242
|
* (kygit-invite design D3's cross-side trap).
|
|
243
243
|
*/
|
|
@@ -265,24 +265,24 @@ function decodeSealedEnvelope(value) {
|
|
|
265
265
|
* byte-canonical determinism (design D3's "the frozen protocol is
|
|
266
266
|
* untouched" — reusing the object-frame profile here would be exactly the
|
|
267
267
|
* kind of accidental protocol coupling that note warns against). Shared by
|
|
268
|
-
* every
|
|
268
|
+
* every redeem kind and every envelope version (v1, v2, …) so the frame
|
|
269
269
|
* byte-layout lives in exactly one place — a kind or version divergence here
|
|
270
270
|
* would be invisible to either side until a cross-open failed.
|
|
271
271
|
*/
|
|
272
|
-
function
|
|
272
|
+
function sealRedeemEnvelope(entry, idBytes, wrapKey, payload, envelopeKind, nonce) {
|
|
273
273
|
const plaintext = utf8ToBytes(JSON.stringify(payload));
|
|
274
274
|
const n = nonce ?? randomBytes(CLAIM_NONCE_BYTES);
|
|
275
275
|
if (n.length !== CLAIM_NONCE_BYTES)
|
|
276
276
|
fail(`${entry.errorPrefix}_ENVELOPE_INVALID`, "nonce must be 24 bytes", `sealing ${entry.kind} envelope`);
|
|
277
|
-
const aad =
|
|
278
|
-
const ct =
|
|
277
|
+
const aad = redeemEnvelopeAad(idBytes, envelopeKind);
|
|
278
|
+
const ct = redeemAeadSeal(wrapKey, n, aad, plaintext);
|
|
279
279
|
const frame = concatBytes(utf8ToBytes(entry.frameMagic), new Uint8Array([FRAME_VERSION_BYTE]), n, ct);
|
|
280
280
|
return { sealed_envelope: base64.encode(frame), envelope_kind: envelopeKind };
|
|
281
281
|
}
|
|
282
282
|
/**
|
|
283
283
|
* Decodes, header-checks, AEAD-opens, and JSON-parses a sealed envelope for
|
|
284
284
|
* `entry`'s kind, returning the RAW parsed payload with no shape validation
|
|
285
|
-
* (mirrors {@link
|
|
285
|
+
* (mirrors {@link sealRedeemEnvelope} on the seal side) so the frame
|
|
286
286
|
* byte-layout lives in exactly one place. Each envelope kind/version's own
|
|
287
287
|
* `open*` function applies its OWN shape check on the result; this function
|
|
288
288
|
* deliberately does not, since a shape check IS the version discriminator (a
|
|
@@ -291,7 +291,7 @@ function sealClaimEnvelope(entry, idBytes, wrapKey, payload, envelopeKind, nonce
|
|
|
291
291
|
* on any header mismatch and `${errorPrefix}_AEAD_AUTH_FAILURE` on a bad
|
|
292
292
|
* key/AAD/ciphertext.
|
|
293
293
|
*/
|
|
294
|
-
function
|
|
294
|
+
function openRedeemEnvelope(entry, idBytes, wrapKey, sealedEnvelope, envelopeKind) {
|
|
295
295
|
const frame = decodeSealedEnvelope(sealedEnvelope);
|
|
296
296
|
if (frame === null) {
|
|
297
297
|
fail(`${entry.errorPrefix}_ENVELOPE_INVALID`, "sealed_envelope is not valid base64", `opening ${entry.kind} envelope`);
|
|
@@ -305,8 +305,8 @@ function openClaimEnvelope(entry, idBytes, wrapKey, sealedEnvelope, envelopeKind
|
|
|
305
305
|
}
|
|
306
306
|
const nonce = frame.subarray(FRAME_MAGIC_BYTES + 1, CLAIM_FRAME_HEADER_BYTES);
|
|
307
307
|
const ct = frame.subarray(CLAIM_FRAME_HEADER_BYTES);
|
|
308
|
-
const aad =
|
|
309
|
-
const opened =
|
|
308
|
+
const aad = redeemEnvelopeAad(idBytes, envelopeKind);
|
|
309
|
+
const opened = redeemAeadOpen(wrapKey, nonce, aad, ct);
|
|
310
310
|
if (opened === null)
|
|
311
311
|
fail(`${entry.errorPrefix}_AEAD_AUTH_FAILURE`, "the sealed envelope failed AEAD authentication under this key", `opening ${entry.kind} envelope`);
|
|
312
312
|
try {
|
|
@@ -318,11 +318,11 @@ function openClaimEnvelope(entry, idBytes, wrapKey, sealedEnvelope, envelopeKind
|
|
|
318
318
|
}
|
|
319
319
|
/** Seal the handoff payload under `wrap_key` as a LEGACY v1 envelope. Returns the standard-base64 wire form (openapi `format: byte`) + its declared kind tag. Nothing in the shipped flow calls this any more — {@link sealHandoffEnvelopeV2} is what `handoff` seals — but the v1 shape stays openable and sealable for the conformance vectors. */
|
|
320
320
|
export function sealHandoffEnvelope(handoffIdBytes, wrapKey, payload, nonce) {
|
|
321
|
-
return
|
|
321
|
+
return sealRedeemEnvelope(HANDOFF_ENTRY, handoffIdBytes, wrapKey, payload, HANDOFF_ENVELOPE_KIND, nonce);
|
|
322
322
|
}
|
|
323
|
-
/** Open a sealed handoff envelope under `wrap_key` (standard base64 as the
|
|
323
|
+
/** Open a sealed handoff envelope under `wrap_key` (standard base64 as the redeem response carries it, or base64url). Throws `HANDOFF_ENVELOPE_INVALID` on any header mismatch, a `v:2` (or otherwise non-v1) payload shape, and `HANDOFF_AEAD_AUTH_FAILURE` on a bad key/AAD/ciphertext. */
|
|
324
324
|
export function openHandoffEnvelope(handoffIdBytes, wrapKey, sealedEnvelope, envelopeKind = HANDOFF_ENVELOPE_KIND) {
|
|
325
|
-
const p =
|
|
325
|
+
const p = openRedeemEnvelope(HANDOFF_ENTRY, handoffIdBytes, wrapKey, sealedEnvelope, envelopeKind);
|
|
326
326
|
if (p.v !== 1 || p.kind !== "handoff" || typeof p.repo_id !== "string" || typeof p.epoch !== "string" || typeof p.k_e_hex !== "string" || !p.checkpoint || p.note_schema !== "kygit.handoff-note.v1") {
|
|
327
327
|
fail("HANDOFF_ENVELOPE_INVALID", "opened envelope does not match the kygit.handoff-note.v1 payload shape", "opening handoff envelope");
|
|
328
328
|
}
|
|
@@ -333,11 +333,11 @@ export function openHandoffEnvelope(handoffIdBytes, wrapKey, sealedEnvelope, env
|
|
|
333
333
|
// `writer_admission_grant_sha256` is what makes v2 v2 — design D4's "no hash
|
|
334
334
|
// cycle: grant first, then seal": the minter builds + signs
|
|
335
335
|
// {@link WriterAdmissionGrant} FIRST, hashes its stored bytes SECOND, and
|
|
336
|
-
// only THEN seals this envelope carrying that hash. The
|
|
336
|
+
// only THEN seals this envelope carrying that hash. The redeemer
|
|
337
337
|
// cross-checks it against the grant the gateway independently returns at
|
|
338
|
-
//
|
|
338
|
+
// redeem, an integrity binding entirely independent of anything the gateway
|
|
339
339
|
// could tamper with (the envelope's AEAD authenticity comes from `wrap_key`,
|
|
340
|
-
// which the gateway never holds). BOTH
|
|
340
|
+
// which the gateway never holds). BOTH redeem kinds seal v2 — an invite has
|
|
341
341
|
// no v1 at all, and a handoff's v1 survives only as a legacy opener.
|
|
342
342
|
/** The v2 envelope kind the handoff mint seals. */
|
|
343
343
|
export const HANDOFF_ENVELOPE_V2_KIND = "kygit-handoff-envelope-v2";
|
|
@@ -348,14 +348,14 @@ export function sealHandoffEnvelopeV2(handoffIdBytes, wrapKey, payload, nonce) {
|
|
|
348
348
|
if (!GITVAULT_SHA256_RE.test(payload.writer_admission_grant_sha256)) {
|
|
349
349
|
fail("VALIDATION_FAILED", "writer_admission_grant_sha256 must be 64 lowercase hex", "sealing handoff envelope v2", { field: "writer_admission_grant_sha256" });
|
|
350
350
|
}
|
|
351
|
-
return
|
|
351
|
+
return sealRedeemEnvelope(HANDOFF_ENTRY, handoffIdBytes, wrapKey, payload, HANDOFF_ENVELOPE_V2_KIND, nonce);
|
|
352
352
|
}
|
|
353
353
|
/** The invite-kind sibling of {@link sealHandoffEnvelopeV2} — the ONLY invite envelope there is (kygit-invite design D3). */
|
|
354
354
|
export function sealInviteEnvelope(inviteIdBytes, wrapKey, payload, nonce) {
|
|
355
355
|
if (!GITVAULT_SHA256_RE.test(payload.writer_admission_grant_sha256)) {
|
|
356
356
|
fail("VALIDATION_FAILED", "writer_admission_grant_sha256 must be 64 lowercase hex", "sealing invite envelope", { field: "writer_admission_grant_sha256" });
|
|
357
357
|
}
|
|
358
|
-
return
|
|
358
|
+
return sealRedeemEnvelope(INVITE_ENTRY, inviteIdBytes, wrapKey, payload, INVITE_ENVELOPE_V2_KIND, nonce);
|
|
359
359
|
}
|
|
360
360
|
/**
|
|
361
361
|
* Open a v2 envelope for a writer-activation flow. Refuses a v1 (or any
|
|
@@ -364,7 +364,7 @@ export function sealInviteEnvelope(inviteIdBytes, wrapKey, payload, nonce) {
|
|
|
364
364
|
* writer-activation-aware `resume` needs `writer_admission_grant_sha256` to
|
|
365
365
|
* cross-check the returned grant, and a pre-rev-47 v1 envelope structurally
|
|
366
366
|
* has none. Shares ONLY the frame/AEAD-opening step with
|
|
367
|
-
* {@link openHandoffEnvelope} ({@link
|
|
367
|
+
* {@link openHandoffEnvelope} ({@link openRedeemEnvelope}) — NOT that
|
|
368
368
|
* function itself, since its `v !== 1` shape check would (correctly) refuse
|
|
369
369
|
* a v2 payload; this function applies its own `v !== 2` shape check
|
|
370
370
|
* instead. Callers that only need K_repo/checkpoint delivery, with no
|
|
@@ -376,7 +376,7 @@ export function openHandoffEnvelopeV2(handoffIdBytes, wrapKey, sealedEnvelope, e
|
|
|
376
376
|
if (envelopeKind !== HANDOFF_ENVELOPE_V2_KIND) {
|
|
377
377
|
fail("HANDOFF_ENVELOPE_UNSUPPORTED", `this handoff's envelope is ${envelopeKind ? `\`${envelopeKind}\`` : "of an unrecognized kind"}, not \`${HANDOFF_ENVELOPE_V2_KIND}\` — writer activation needs the v2 envelope's writer_admission_grant_sha256, which a pre-gitvault-multi-writer handoff never carries`, "opening handoff envelope for writer activation", { received: envelopeKind, required: HANDOFF_ENVELOPE_V2_KIND });
|
|
378
378
|
}
|
|
379
|
-
const p =
|
|
379
|
+
const p = openRedeemEnvelope(HANDOFF_ENTRY, handoffIdBytes, wrapKey, sealedEnvelope, envelopeKind);
|
|
380
380
|
if (p.v !== 2 ||
|
|
381
381
|
p.kind !== "handoff" ||
|
|
382
382
|
typeof p.repo_id !== "string" ||
|
|
@@ -395,7 +395,7 @@ export function openInviteEnvelope(inviteIdBytes, wrapKey, sealedEnvelope, envel
|
|
|
395
395
|
if (envelopeKind !== INVITE_ENVELOPE_V2_KIND) {
|
|
396
396
|
fail("INVITE_ENVELOPE_UNSUPPORTED", `this invite's envelope is ${envelopeKind ? `\`${envelopeKind}\`` : "of an unrecognized kind"}, not \`${INVITE_ENVELOPE_V2_KIND}\``, "opening invite envelope", { received: envelopeKind, required: INVITE_ENVELOPE_V2_KIND });
|
|
397
397
|
}
|
|
398
|
-
const p =
|
|
398
|
+
const p = openRedeemEnvelope(INVITE_ENTRY, inviteIdBytes, wrapKey, sealedEnvelope, envelopeKind);
|
|
399
399
|
if (p.v !== 2 ||
|
|
400
400
|
p.kind !== "invite" ||
|
|
401
401
|
typeof p.repo_id !== "string" ||
|
|
@@ -459,7 +459,7 @@ function hasHighEntropyToken(text) {
|
|
|
459
459
|
}
|
|
460
460
|
return null;
|
|
461
461
|
}
|
|
462
|
-
/** Every string leaf in a
|
|
462
|
+
/** Every string leaf in a note, `path` = dotted field name for the refusal. */
|
|
463
463
|
function* noteStringLeaves(note) {
|
|
464
464
|
yield { path: "summary", text: note.summary };
|
|
465
465
|
for (const [group, arr] of [
|
|
@@ -486,7 +486,7 @@ function* noteStringLeaves(note) {
|
|
|
486
486
|
* Refuse a note that carries a bare secret — no override flag exists
|
|
487
487
|
* (design D10): a note is read by another agent, and secrets have the
|
|
488
488
|
* secrets API. `null` when the note is clean. Shared implementation for
|
|
489
|
-
* every
|
|
489
|
+
* every note kind.
|
|
490
490
|
*/
|
|
491
491
|
function scanNoteForSecrets(note) {
|
|
492
492
|
for (const { path, text } of noteStringLeaves(note)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-handoff.js","sourceRoot":"","sources":["../../src/node/gitvault-handoff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitvault-handoff.js","sourceRoot":"","sources":["../../src/node/gitvault-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
* comes from cheaply, offline.
|
|
38
38
|
*/
|
|
39
39
|
import { getApiBase } from "../../core-dist/config.js";
|
|
40
|
-
import {
|
|
40
|
+
import { getWalletAuthHeaders } from "../../core-dist/wallet-auth.js";
|
|
41
41
|
import { sdkFetch } from "./http-dispatcher.js";
|
|
42
42
|
import { GitvaultKeystore } from "./gitvault-keystore.js";
|
|
43
43
|
/** Injectable for tests. */
|
|
@@ -46,11 +46,11 @@ export const prewarmDeps = {
|
|
|
46
46
|
// warmed socket must land in the exact pool the verb's first request
|
|
47
47
|
// draws from — warming the built-in dispatcher would warm the wrong one.
|
|
48
48
|
fetch: (...args) => sdkFetch(...args),
|
|
49
|
-
// One throwaway header build against the local
|
|
49
|
+
// One throwaway header build against the local wallet: reads the file
|
|
50
50
|
// and runs the first EIP-191 sign, so the curve library's precomputation
|
|
51
51
|
// happens now instead of inside the verb's first authenticated request.
|
|
52
|
-
// Returns null harmlessly when no
|
|
53
|
-
warmSigner: () =>
|
|
52
|
+
// Returns null harmlessly when no local wallet is configured.
|
|
53
|
+
warmSigner: () => getWalletAuthHeaders("/health"),
|
|
54
54
|
// The verb's first kernel request initializes the paid-fetch buyer, whose
|
|
55
55
|
// dominant cost is the dynamic viem/@x402 (or mpp) stack import (~360 ms
|
|
56
56
|
// measured). Every verb pays it exactly once regardless, so loading it
|
|
@@ -59,8 +59,8 @@ export const prewarmDeps = {
|
|
|
59
59
|
// motivated this: ~360 ms stack + ~200 ms dial + ~120 ms request).
|
|
60
60
|
warmPaidStack: () => {
|
|
61
61
|
void (async () => {
|
|
62
|
-
const [{ loadX402Stack, loadMppStack }, {
|
|
63
|
-
const rail =
|
|
62
|
+
const [{ loadX402Stack, loadMppStack }, { readWallet }] = await Promise.all([import("./_paid-stack.js"), import("../../core-dist/wallet.js")]);
|
|
63
|
+
const rail = readWallet()?.rail;
|
|
64
64
|
await (rail === "mpp" ? loadMppStack() : loadX402Stack());
|
|
65
65
|
})().catch(() => { });
|
|
66
66
|
},
|
|
@@ -115,7 +115,7 @@ export function prewarmGitvaultConnection(apiBase) {
|
|
|
115
115
|
prewarmDeps.warmSigner();
|
|
116
116
|
}
|
|
117
117
|
catch {
|
|
118
|
-
/* no
|
|
118
|
+
/* no local wallet / unreadable file — the verb's own auth path reports it */
|
|
119
119
|
}
|
|
120
120
|
try {
|
|
121
121
|
prewarmDeps.warmPaidStack();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-prewarm.js","sourceRoot":"","sources":["../../src/node/gitvault-prewarm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gitvault-prewarm.js","sourceRoot":"","sources":["../../src/node/gitvault-prewarm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,WAAW,GAYpB;IACF,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACrC,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,8DAA8D;IAC9D,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC;IACjD,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,wEAAwE;IACxE,mEAAmE;IACnE,aAAa,EAAE,GAAG,EAAE;QAClB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;YAC/I,MAAM,IAAI,GAAI,UAAU,EAA+B,EAAE,IAAI,CAAC;YAC9D,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,sBAAsB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,IAAI,EAAE,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;QACrC,KAAK,WAAW;aACb,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;aACtE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;aAClD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,yEAAyE;IACzE,uEAAuE;IACvE,sEAAsE;IACtE,YAAY,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACH,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,6EAA6E;QAC/E,CAAC;QACD,IAAI,CAAC;YACH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAc,EAAE,YAAqB;IAC9E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,0DAA0D;gBAC1D,mEAAmE;gBACnE,mEAAmE;gBACnE,mEAAmE;gBACnE,yDAAyD;gBACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,KAAK,WAAW;qBACb,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;qBACpD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;qBAClD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -36,7 +36,7 @@ export interface GitvaultHandoffRestoreResult {
|
|
|
36
36
|
export declare function applyHandoffCheckpoint(options: GitvaultHandoffRestoreOptions): Promise<GitvaultHandoffRestoreResult>;
|
|
37
37
|
/**
|
|
38
38
|
* `--to <dir>` wins; otherwise the vault's address-form name (`org/name` →
|
|
39
|
-
* `name`) when the
|
|
39
|
+
* `name`) when the redeem response carried one, otherwise the vault id.
|
|
40
40
|
* Always absolute — `cloneGitvaultRemote` runs in `tmpdir()`, so a
|
|
41
41
|
* relative destination must be resolved against the CALLER's cwd first.
|
|
42
42
|
*/
|
|
@@ -110,7 +110,7 @@ export async function applyHandoffCheckpoint(options) {
|
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* `--to <dir>` wins; otherwise the vault's address-form name (`org/name` →
|
|
113
|
-
* `name`) when the
|
|
113
|
+
* `name`) when the redeem response carried one, otherwise the vault id.
|
|
114
114
|
* Always absolute — `cloneGitvaultRemote` runs in `tmpdir()`, so a
|
|
115
115
|
* relative destination must be resolved against the CALLER's cwd first.
|
|
116
116
|
*/
|