run402 4.70.9 → 4.72.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/gitvault-surface.json +1 -1
- package/lib/cold-start.mjs +33 -7
- package/lib/command-manifest.mjs +9 -2
- package/lib/feedback.mjs +58 -10
- package/lib/org-context.mjs +8 -2
- package/lib/rooms-context.mjs +14 -3
- package/lib/rooms.mjs +299 -2
- package/lib/sdk-errors.mjs +25 -0
- package/package.json +1 -1
- package/sdk/dist/namespaces/admin.d.ts +17 -2
- package/sdk/dist/namespaces/admin.d.ts.map +1 -1
- package/sdk/dist/namespaces/admin.js +13 -4
- package/sdk/dist/namespaces/admin.js.map +1 -1
- package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.js +6 -0
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/deploy.types.d.ts +14 -5
- package/sdk/dist/namespaces/deploy.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/rooms.d.ts +53 -1
- package/sdk/dist/namespaces/rooms.d.ts.map +1 -1
- package/sdk/dist/namespaces/rooms.js +130 -0
- package/sdk/dist/namespaces/rooms.js.map +1 -1
- package/sdk/dist/namespaces/rooms.types.d.ts +94 -0
- package/sdk/dist/namespaces/rooms.types.d.ts.map +1 -1
- package/sdk/dist/node/bearer-claim-key.d.ts +126 -0
- package/sdk/dist/node/bearer-claim-key.d.ts.map +1 -0
- package/sdk/dist/node/bearer-claim-key.js +209 -0
- package/sdk/dist/node/bearer-claim-key.js.map +1 -0
- package/sdk/dist/node/gitvault-address.d.ts +19 -0
- package/sdk/dist/node/gitvault-address.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-address.js +20 -0
- package/sdk/dist/node/gitvault-address.js.map +1 -1
- package/sdk/dist/node/gitvault-handoff.d.ts +3 -95
- package/sdk/dist/node/gitvault-handoff.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-handoff.js +9 -122
- package/sdk/dist/node/gitvault-handoff.js.map +1 -1
- package/sdk/dist/node/index.d.ts +3 -1
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +8 -1
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/paid-fetch.d.ts +8 -0
- package/sdk/dist/node/paid-fetch.d.ts.map +1 -1
- package/sdk/dist/node/paid-fetch.js +41 -1
- package/sdk/dist/node/paid-fetch.js.map +1 -1
|
@@ -428,4 +428,98 @@ export interface RoomMessageWaitResult extends RoomMessagePage {
|
|
|
428
428
|
/** The room's other live presences as of the last read (best-effort; empty when unreachable). */
|
|
429
429
|
live_presences: RoomPresence[];
|
|
430
430
|
}
|
|
431
|
+
/** {@link Rooms.invite}'s machine-readable blast-radius warning (design D7) — the seat's own next to `warning`'s human sentence. */
|
|
432
|
+
export interface RoomInviteWarning {
|
|
433
|
+
code: "ROOM_INVITE_KEY_CONFERS_SEAT" | (string & {});
|
|
434
|
+
message: string;
|
|
435
|
+
}
|
|
436
|
+
/** Options for {@link Rooms.invite}. */
|
|
437
|
+
export interface RoomInviteMintOptions {
|
|
438
|
+
/** Plaintext, at most 4 KiB — stored and returned verbatim to the claimant. Not secret: the gateway already reads every room message. */
|
|
439
|
+
note?: string;
|
|
440
|
+
/** The inviter's own presence id (`prs_…`), best-effort — stored opaquely so the claim response can resolve who invited the claimant. */
|
|
441
|
+
inviterPresenceId?: string;
|
|
442
|
+
/** 60..86400 seconds; gateway default 3600. */
|
|
443
|
+
expiresInSeconds?: number;
|
|
444
|
+
}
|
|
445
|
+
/** Response of {@link Rooms.invite} — the assembled `kri1_…` key plus the gateway's mint result. */
|
|
446
|
+
export interface RoomInviteMintResult {
|
|
447
|
+
/** The assembled `kri1_…` bearer key. Returned exactly ONCE — the SDK persists nothing. */
|
|
448
|
+
key: string;
|
|
449
|
+
invite_id: string;
|
|
450
|
+
kind: "room";
|
|
451
|
+
role: "viewer";
|
|
452
|
+
room: {
|
|
453
|
+
org_id: string;
|
|
454
|
+
room_key: string;
|
|
455
|
+
};
|
|
456
|
+
expires_at: string;
|
|
457
|
+
/** The human sentence — identical to `warnings[0].message` (design D7). */
|
|
458
|
+
warning: string;
|
|
459
|
+
warnings: RoomInviteWarning[];
|
|
460
|
+
next_actions?: RoomNextAction[];
|
|
461
|
+
[key: string]: unknown;
|
|
462
|
+
}
|
|
463
|
+
/** The minting presence, resolved live at claim time (design D11) — `null` when it never registered one. */
|
|
464
|
+
export interface RoomInviteInviter {
|
|
465
|
+
presence_id: string;
|
|
466
|
+
name: string;
|
|
467
|
+
program: string | null;
|
|
468
|
+
model: string | null;
|
|
469
|
+
state: string;
|
|
470
|
+
last_active: string;
|
|
471
|
+
[key: string]: unknown;
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* The CLAIMANT's own presence, registered by the claim itself (live-proof
|
|
475
|
+
* defect A fix) — as distinct from {@link RoomInviteInviter}, which is the
|
|
476
|
+
* MINTER's. Naming it top-level means the joiner never has to guess which
|
|
477
|
+
* entry of `live_presences[]` is itself. A `deduplicated: true` replay
|
|
478
|
+
* carries the SAME value as the original claim, never a freshly
|
|
479
|
+
* re-registered one — the gateway resolves it from a value stored at claim
|
|
480
|
+
* time. `null` only when it no longer resolves (or against an older
|
|
481
|
+
* gateway that predates this field).
|
|
482
|
+
*/
|
|
483
|
+
export interface RoomInviteClaimedPresence {
|
|
484
|
+
presence_id: string;
|
|
485
|
+
name: string;
|
|
486
|
+
[key: string]: unknown;
|
|
487
|
+
}
|
|
488
|
+
/** The settled seat charge (design D5/D11) — `charge_id` is `null` for a genuine on-chain/MPP settlement, which carries no local ledger row to reference. */
|
|
489
|
+
export interface RoomInviteSeat {
|
|
490
|
+
sku: "room_seat" | (string & {});
|
|
491
|
+
amount_usd_micros: number;
|
|
492
|
+
network: string;
|
|
493
|
+
charge_id: string | null;
|
|
494
|
+
}
|
|
495
|
+
/** Response of {@link Rooms.join}'s key form (design D11) — arrival needs no further lookup. */
|
|
496
|
+
export interface RoomInviteJoinResult {
|
|
497
|
+
invite_id: string;
|
|
498
|
+
kind: "room";
|
|
499
|
+
/** True on a same-payer replay — the ORIGINAL claim result, no second payment. */
|
|
500
|
+
deduplicated: boolean;
|
|
501
|
+
org_id: string;
|
|
502
|
+
membership: {
|
|
503
|
+
org_id: string;
|
|
504
|
+
role: string;
|
|
505
|
+
status: string;
|
|
506
|
+
};
|
|
507
|
+
room: {
|
|
508
|
+
org_id: string;
|
|
509
|
+
room_key: string;
|
|
510
|
+
};
|
|
511
|
+
inviter: RoomInviteInviter | null;
|
|
512
|
+
/** The claimant's OWN presence, registered by this claim — absent/null against an older gateway that predates it. */
|
|
513
|
+
presence?: RoomInviteClaimedPresence | null;
|
|
514
|
+
live_presences: RoomPresence[];
|
|
515
|
+
/** Catch-up cursor for `messages wait`/`messages list` in this room. */
|
|
516
|
+
cursor: string;
|
|
517
|
+
/** The room's last few messages, up to `cursor`. */
|
|
518
|
+
recent_messages: RoomMessage[];
|
|
519
|
+
note: string | null;
|
|
520
|
+
seat: RoomInviteSeat;
|
|
521
|
+
expires_at: string;
|
|
522
|
+
next_actions?: RoomNextAction[];
|
|
523
|
+
[key: string]: unknown;
|
|
524
|
+
}
|
|
431
525
|
//# sourceMappingURL=rooms.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/rooms.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rooms.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/rooms.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
export type ClaimKind = "handoff" | "invite" | "room";
|
|
2
|
+
export interface HandoffKeyPrefixEntry {
|
|
3
|
+
prefix: string;
|
|
4
|
+
kind: ClaimKind;
|
|
5
|
+
verb: string;
|
|
6
|
+
/** Error-code prefix for this kind (`HANDOFF` | `INVITE` | `ROOM_INVITE`) — every client-side code this module throws is `${errorPrefix}_…`. */
|
|
7
|
+
errorPrefix: string;
|
|
8
|
+
/** The exact CLI invocation named in a cross-kind `*_KEY_WRONG_KIND` refusal (design D3/D9 rule 4). */
|
|
9
|
+
doorLabel: string;
|
|
10
|
+
/**
|
|
11
|
+
* The sealed-envelope `envelope_kind` tag this kind's mint seals TODAY —
|
|
12
|
+
* the v2 shape for both vault kinds (`v: 2`, `writer_admission_grant_sha256`,
|
|
13
|
+
* `epoch_keys`), since writer admission rides the envelope for every vault
|
|
14
|
+
* claim kind (gitvault-multi-writer D4). Absent for `room` — a room invite
|
|
15
|
+
* has no envelope, no wrap key, no admission seed (add-room-invite D3).
|
|
16
|
+
*/
|
|
17
|
+
envelopeKind?: string;
|
|
18
|
+
/** This kind's note schema tag. Absent for `room` — a room invite carries a plaintext `note`, not a Handoff/Invite Note. */
|
|
19
|
+
noteSchema?: string;
|
|
20
|
+
/** This kind's envelope frame magic (4 ASCII bytes). Absent for `room`. */
|
|
21
|
+
frameMagic?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* `kgh1_` is the first row (handoff); `kgi1_` the second (invite,
|
|
25
|
+
* kygit-invite design D3); `kri1_` the third (room, add-room-invite design
|
|
26
|
+
* D3). A future kind is a SIBLING row here, never a branch on an existing
|
|
27
|
+
* one's parser.
|
|
28
|
+
*/
|
|
29
|
+
export declare const HANDOFF_KEY_PREFIXES: readonly HandoffKeyPrefixEntry[];
|
|
30
|
+
export interface ClaimKeyParts {
|
|
31
|
+
kind: ClaimKind;
|
|
32
|
+
id_bytes: Uint8Array;
|
|
33
|
+
/** Canonical lowercase-hyphenated UUID form of `id_bytes` — the wire id (`handoff_id`/`invite_id`). */
|
|
34
|
+
id: string;
|
|
35
|
+
master_secret: Uint8Array;
|
|
36
|
+
}
|
|
37
|
+
/** {@link parseHandoffKey}'s legacy field names, preserved byte-identical. */
|
|
38
|
+
export interface HandoffKeyParts {
|
|
39
|
+
kind: "handoff";
|
|
40
|
+
handoff_id_bytes: Uint8Array;
|
|
41
|
+
handoff_id: string;
|
|
42
|
+
master_secret: Uint8Array;
|
|
43
|
+
}
|
|
44
|
+
/** {@link parseInviteKey}'s field names — the invite-kind sibling of {@link HandoffKeyParts}. */
|
|
45
|
+
export interface InviteKeyParts {
|
|
46
|
+
kind: "invite";
|
|
47
|
+
invite_id_bytes: Uint8Array;
|
|
48
|
+
invite_id: string;
|
|
49
|
+
master_secret: Uint8Array;
|
|
50
|
+
}
|
|
51
|
+
/** {@link parseRoomInviteKey}'s field names — the room-kind sibling of {@link HandoffKeyParts}/{@link InviteKeyParts} (add-room-invite design D3). */
|
|
52
|
+
export interface RoomInviteKeyParts {
|
|
53
|
+
kind: "room";
|
|
54
|
+
invite_id_bytes: Uint8Array;
|
|
55
|
+
invite_id: string;
|
|
56
|
+
master_secret: Uint8Array;
|
|
57
|
+
}
|
|
58
|
+
export declare function uuidToBytes(uuid: string, field?: string): Uint8Array;
|
|
59
|
+
/** A fresh RFC 4122 v4 UUID — the client-generated claim id every bearer-claim kind mints with (design D3: `auth_secret` derives off it, so it cannot be gateway-assigned). */
|
|
60
|
+
export declare function randomClaimId(): string;
|
|
61
|
+
/**
|
|
62
|
+
* Assemble the printed key from a fresh 32-byte master secret and the
|
|
63
|
+
* gateway-minted `handoff_id`. The gateway never sees `master_secret` — the
|
|
64
|
+
* caller derives `auth_hash` (via {@link deriveHandoffSecrets}) and sends
|
|
65
|
+
* ONLY that.
|
|
66
|
+
*/
|
|
67
|
+
export declare function assembleHandoffKey(handoffId: string, masterSecret?: Uint8Array): {
|
|
68
|
+
key: string;
|
|
69
|
+
handoff_id_bytes: Uint8Array;
|
|
70
|
+
master_secret: Uint8Array;
|
|
71
|
+
};
|
|
72
|
+
/** The invite-kind sibling of {@link assembleHandoffKey} (kygit-invite design D3). */
|
|
73
|
+
export declare function assembleInviteKey(inviteId: string, masterSecret?: Uint8Array): {
|
|
74
|
+
key: string;
|
|
75
|
+
invite_id_bytes: Uint8Array;
|
|
76
|
+
master_secret: Uint8Array;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* The room-kind sibling of {@link assembleHandoffKey}/{@link assembleInviteKey}
|
|
80
|
+
* (add-room-invite design D3). `invite_id` is CLIENT-generated (unlike the
|
|
81
|
+
* vault kinds, whose id the gateway mints) — the client sends it verbatim in
|
|
82
|
+
* the mint request and the gateway uses it as the row id, refusing a
|
|
83
|
+
* collision with `409 ROOM_INVITE_ID_CONFLICT`.
|
|
84
|
+
*/
|
|
85
|
+
export declare function assembleRoomInviteKey(inviteId: string, masterSecret?: Uint8Array): {
|
|
86
|
+
key: string;
|
|
87
|
+
invite_id_bytes: Uint8Array;
|
|
88
|
+
master_secret: Uint8Array;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Parse ANY registered claim-family key by its prefix registry against the
|
|
92
|
+
* `expectedKind` the calling verb accepts. A recognized prefix of a
|
|
93
|
+
* DIFFERENT kind (a `kgi1_` invite key handed to `resume`, a `kri1_` room
|
|
94
|
+
* key handed to `repos join`/`resume`, or a `kgi1_`/`kgh1_` vault key handed
|
|
95
|
+
* to `rooms join`) refuses BY NAME pointing at its own door — never misread
|
|
96
|
+
* as a malformed key of the expected kind, and never contacting the gateway
|
|
97
|
+
* (design D9 rule 4 / kygit-invite design D3 / add-room-invite design D3).
|
|
98
|
+
*/
|
|
99
|
+
export declare function parseClaimKey(raw: string, expectedKind: ClaimKind): ClaimKeyParts;
|
|
100
|
+
/**
|
|
101
|
+
* Parse ANY registered claim-family key by its prefix registry. A
|
|
102
|
+
* recognized prefix of a DIFFERENT kind (an invite or room key handed to
|
|
103
|
+
* `resume`) refuses BY NAME pointing at its own door — never misread as a
|
|
104
|
+
* malformed handoff key (design D9 rule 4). Kind-bound alias of
|
|
105
|
+
* {@link parseClaimKey}.
|
|
106
|
+
*/
|
|
107
|
+
export declare function parseHandoffKey(raw: string): HandoffKeyParts;
|
|
108
|
+
/** The invite-kind sibling of {@link parseHandoffKey} (kygit-invite design D3). */
|
|
109
|
+
export declare function parseInviteKey(raw: string): InviteKeyParts;
|
|
110
|
+
/** The room-kind sibling of {@link parseHandoffKey}/{@link parseInviteKey} (add-room-invite design D3). */
|
|
111
|
+
export declare function parseRoomInviteKey(raw: string): RoomInviteKeyParts;
|
|
112
|
+
export interface HandoffSecrets {
|
|
113
|
+
auth_secret: Uint8Array;
|
|
114
|
+
wrap_key: Uint8Array;
|
|
115
|
+
/** `SHA-256(auth-hash-label ‖ auth_secret)`, lowercase hex — the ONLY thing the gateway ever stores. */
|
|
116
|
+
auth_hash_hex: string;
|
|
117
|
+
}
|
|
118
|
+
/** `HKDF-SHA256(ikm=master_secret, salt=handoff_id[16], info=kygit/handoff/…)` per D3, for both `auth_secret` and `wrap_key`. */
|
|
119
|
+
export declare function deriveHandoffSecrets(handoffIdBytes: Uint8Array, masterSecret: Uint8Array): HandoffSecrets;
|
|
120
|
+
/** The invite-kind sibling of {@link deriveHandoffSecrets}, domain-separated under `kygit/invite/…` info strings (kygit-invite design D3) — an invite secret never verifies as a handoff hash, or the reverse. */
|
|
121
|
+
export declare function deriveInviteSecrets(inviteIdBytes: Uint8Array, masterSecret: Uint8Array): HandoffSecrets;
|
|
122
|
+
/** `HKDF-SHA256(ikm=master_secret, salt=invite_id[16], info="run402/room-invite/auth/v1")` — the ONE secret a room invite derives (design D3). */
|
|
123
|
+
export declare function deriveRoomInviteAuthSecret(inviteIdBytes: Uint8Array, masterSecret: Uint8Array): Uint8Array;
|
|
124
|
+
/** `SHA-256("run402/room-invite/auth-hash/v1" ‖ auth_secret)`, lowercase hex — exactly what the gateway's `mintRoomInvite`/`claimRoomInvite` compute and store/compare (design D3). */
|
|
125
|
+
export declare function computeRoomInviteAuthHash(authSecret: Uint8Array): string;
|
|
126
|
+
//# sourceMappingURL=bearer-claim-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bearer-claim-key.d.ts","sourceRoot":"","sources":["../../src/node/bearer-claim-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bearer-claim key format — the pure, kind-agnostic primitives shared by
|
|
3
|
+
* every bearer-addressed membership claim key this SDK mints or parses
|
|
4
|
+
* (add-room-invite design D2/D3, mirroring the gateway's own
|
|
5
|
+
* `services/bearer-claim-key.ts`).
|
|
6
|
+
*
|
|
7
|
+
* Through kygit-invite this lived inline in `gitvault-handoff.ts`: the key
|
|
8
|
+
* registry (`HANDOFF_KEY_PREFIXES`), `uuidToBytes`, the generic
|
|
9
|
+
* assemble/parse helpers, and the HKDF derivations for `auth_secret` /
|
|
10
|
+
* `wrap_key`. add-room-invite adds a THIRD kind — `room` (`kri1_…`) — whose
|
|
11
|
+
* claim confers org membership rather than vault access and carries no
|
|
12
|
+
* `wrap_key`/envelope/admission-seed at all (design D3). Rather than teach
|
|
13
|
+
* the vault-shaped module a room-shaped kind, the pure key-format
|
|
14
|
+
* primitives move HERE (a move, not a copy — `gitvault-handoff.ts`
|
|
15
|
+
* re-exports every symbol it previously exported, under its existing name,
|
|
16
|
+
* so nothing importing it changes) and gain the room row alongside them.
|
|
17
|
+
* Everything that is genuinely vault-specific — the sealed envelope, the
|
|
18
|
+
* writer-admission grant/acceptance, the Handoff/Invite Note — stays in
|
|
19
|
+
* `gitvault-handoff.ts`, which imports the pieces it needs from here.
|
|
20
|
+
*
|
|
21
|
+
* `HANDOFF_KEY_PREFIXES` is a REGISTRY: `kgh1_` (handoff, `resume`), `kgi1_`
|
|
22
|
+
* (invite, `repos join`), `kri1_` (room, `rooms join`). `parseClaimKey`
|
|
23
|
+
* refuses any other recognized-shape-but-wrong-kind prefix BY NAME, naming
|
|
24
|
+
* the door it actually belongs at, rather than misreading it as a malformed
|
|
25
|
+
* key of the kind the caller expected — never contacting the gateway.
|
|
26
|
+
*/
|
|
27
|
+
import { hkdf } from "@noble/hashes/hkdf.js";
|
|
28
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
29
|
+
import { concatBytes, utf8ToBytes } from "@noble/hashes/utils.js";
|
|
30
|
+
import { LocalError } from "../errors.js";
|
|
31
|
+
import { fromBase64url, randomBytes, toBase64url, bytesToHex } from "../namespaces/gitvault.crypto.js";
|
|
32
|
+
function fail(code, message, context, details) {
|
|
33
|
+
throw new LocalError(message, context, { code, details });
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* `kgh1_` is the first row (handoff); `kgi1_` the second (invite,
|
|
37
|
+
* kygit-invite design D3); `kri1_` the third (room, add-room-invite design
|
|
38
|
+
* D3). A future kind is a SIBLING row here, never a branch on an existing
|
|
39
|
+
* one's parser.
|
|
40
|
+
*/
|
|
41
|
+
export const HANDOFF_KEY_PREFIXES = [
|
|
42
|
+
{ prefix: "kgh1_", kind: "handoff", verb: "resume", errorPrefix: "HANDOFF", doorLabel: "run402 repos resume", envelopeKind: "kygit-handoff-envelope-v2", noteSchema: "kygit.handoff-note.v1", frameMagic: "KGH1" },
|
|
43
|
+
{ prefix: "kgi1_", kind: "invite", verb: "join", errorPrefix: "INVITE", doorLabel: "run402 repos join", envelopeKind: "kygit-invite-envelope-v2", noteSchema: "kygit.invite-note.v1", frameMagic: "KGI1" },
|
|
44
|
+
{ prefix: "kri1_", kind: "room", verb: "join", errorPrefix: "ROOM_INVITE", doorLabel: "run402 rooms join" },
|
|
45
|
+
];
|
|
46
|
+
const HANDOFF_ENTRY = HANDOFF_KEY_PREFIXES[0];
|
|
47
|
+
const INVITE_ENTRY = HANDOFF_KEY_PREFIXES[1];
|
|
48
|
+
const ROOM_ENTRY = HANDOFF_KEY_PREFIXES[2];
|
|
49
|
+
function entryForKind(kind) {
|
|
50
|
+
return kind === "handoff" ? HANDOFF_ENTRY : kind === "invite" ? INVITE_ENTRY : ROOM_ENTRY;
|
|
51
|
+
}
|
|
52
|
+
const CLAIM_ID_BYTES = 16;
|
|
53
|
+
const MASTER_SECRET_BYTES = 32;
|
|
54
|
+
const CLAIM_KEY_BODY_BYTES = CLAIM_ID_BYTES + MASTER_SECRET_BYTES;
|
|
55
|
+
function bytesToUuid(bytes) {
|
|
56
|
+
const h = Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
57
|
+
return `${h.slice(0, 8)}-${h.slice(8, 12)}-${h.slice(12, 16)}-${h.slice(16, 20)}-${h.slice(20)}`;
|
|
58
|
+
}
|
|
59
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
60
|
+
export function uuidToBytes(uuid, field = "handoff_id") {
|
|
61
|
+
if (!UUID_RE.test(uuid))
|
|
62
|
+
fail("HANDOFF_ID_INVALID", `${field} is not a canonical UUID`, "parsing handoff id", { field });
|
|
63
|
+
const hex = uuid.replace(/-/g, "").toLowerCase();
|
|
64
|
+
const out = new Uint8Array(16);
|
|
65
|
+
for (let i = 0; i < 16; i++)
|
|
66
|
+
out[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
/** A fresh RFC 4122 v4 UUID — the client-generated claim id every bearer-claim kind mints with (design D3: `auth_secret` derives off it, so it cannot be gateway-assigned). */
|
|
70
|
+
export function randomClaimId() {
|
|
71
|
+
const b = randomBytes(16);
|
|
72
|
+
b[6] = ((b[6] ?? 0) & 0x0f) | 0x40;
|
|
73
|
+
b[8] = ((b[8] ?? 0) & 0x3f) | 0x80;
|
|
74
|
+
return bytesToUuid(b);
|
|
75
|
+
}
|
|
76
|
+
/** Assemble a printed claim key from a fresh 32-byte master secret and the (client-generated or gateway-minted) claim id, for `entry`'s kind. */
|
|
77
|
+
function assembleClaimKey(entry, claimId, masterSecret) {
|
|
78
|
+
if (masterSecret.length !== MASTER_SECRET_BYTES)
|
|
79
|
+
fail(`${entry.errorPrefix}_KEY_INVALID`, "master_secret must be 32 bytes", `assembling ${entry.kind} key`);
|
|
80
|
+
const idBytes = uuidToBytes(claimId, `${entry.kind}_id`);
|
|
81
|
+
const body = concatBytes(idBytes, masterSecret);
|
|
82
|
+
return { key: `${entry.prefix}${toBase64url(body)}`, id_bytes: idBytes, master_secret: masterSecret };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Assemble the printed key from a fresh 32-byte master secret and the
|
|
86
|
+
* gateway-minted `handoff_id`. The gateway never sees `master_secret` — the
|
|
87
|
+
* caller derives `auth_hash` (via {@link deriveHandoffSecrets}) and sends
|
|
88
|
+
* ONLY that.
|
|
89
|
+
*/
|
|
90
|
+
export function assembleHandoffKey(handoffId, masterSecret = randomBytes(MASTER_SECRET_BYTES)) {
|
|
91
|
+
const { key, id_bytes, master_secret } = assembleClaimKey(HANDOFF_ENTRY, handoffId, masterSecret);
|
|
92
|
+
return { key, handoff_id_bytes: id_bytes, master_secret };
|
|
93
|
+
}
|
|
94
|
+
/** The invite-kind sibling of {@link assembleHandoffKey} (kygit-invite design D3). */
|
|
95
|
+
export function assembleInviteKey(inviteId, masterSecret = randomBytes(MASTER_SECRET_BYTES)) {
|
|
96
|
+
const { key, id_bytes, master_secret } = assembleClaimKey(INVITE_ENTRY, inviteId, masterSecret);
|
|
97
|
+
return { key, invite_id_bytes: id_bytes, master_secret };
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The room-kind sibling of {@link assembleHandoffKey}/{@link assembleInviteKey}
|
|
101
|
+
* (add-room-invite design D3). `invite_id` is CLIENT-generated (unlike the
|
|
102
|
+
* vault kinds, whose id the gateway mints) — the client sends it verbatim in
|
|
103
|
+
* the mint request and the gateway uses it as the row id, refusing a
|
|
104
|
+
* collision with `409 ROOM_INVITE_ID_CONFLICT`.
|
|
105
|
+
*/
|
|
106
|
+
export function assembleRoomInviteKey(inviteId, masterSecret = randomBytes(MASTER_SECRET_BYTES)) {
|
|
107
|
+
const { key, id_bytes, master_secret } = assembleClaimKey(ROOM_ENTRY, inviteId, masterSecret);
|
|
108
|
+
return { key, invite_id_bytes: id_bytes, master_secret };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Parse ANY registered claim-family key by its prefix registry against the
|
|
112
|
+
* `expectedKind` the calling verb accepts. A recognized prefix of a
|
|
113
|
+
* DIFFERENT kind (a `kgi1_` invite key handed to `resume`, a `kri1_` room
|
|
114
|
+
* key handed to `repos join`/`resume`, or a `kgi1_`/`kgh1_` vault key handed
|
|
115
|
+
* to `rooms join`) refuses BY NAME pointing at its own door — never misread
|
|
116
|
+
* as a malformed key of the expected kind, and never contacting the gateway
|
|
117
|
+
* (design D9 rule 4 / kygit-invite design D3 / add-room-invite design D3).
|
|
118
|
+
*/
|
|
119
|
+
export function parseClaimKey(raw, expectedKind) {
|
|
120
|
+
const expectedEntry = entryForKind(expectedKind);
|
|
121
|
+
const trimmed = raw.trim();
|
|
122
|
+
const entry = HANDOFF_KEY_PREFIXES.find((e) => trimmed.startsWith(e.prefix));
|
|
123
|
+
if (!entry) {
|
|
124
|
+
fail(`${expectedEntry.errorPrefix}_KEY_INVALID`, `not a recognized run402 claim key (expected a key starting ${expectedEntry.prefix})`, "parsing claim key");
|
|
125
|
+
}
|
|
126
|
+
if (entry.kind !== expectedKind) {
|
|
127
|
+
fail(`${expectedEntry.errorPrefix}_KEY_WRONG_KIND`, `this key is a ${entry.kind} key — use \`${entry.doorLabel}\` instead of \`${expectedEntry.doorLabel}\``, "parsing claim key", { kind: entry.kind, verb: entry.verb });
|
|
128
|
+
}
|
|
129
|
+
const body = trimmed.slice(entry.prefix.length);
|
|
130
|
+
let bytes;
|
|
131
|
+
try {
|
|
132
|
+
bytes = fromBase64url(body, `${entry.kind} key body`);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
fail(`${entry.errorPrefix}_KEY_INVALID`, "the key body is not valid base64url", "parsing claim key");
|
|
136
|
+
}
|
|
137
|
+
if (bytes.length !== CLAIM_KEY_BODY_BYTES) {
|
|
138
|
+
fail(`${entry.errorPrefix}_KEY_INVALID`, `the key decodes to ${bytes.length} bytes; expected ${CLAIM_KEY_BODY_BYTES}`, "parsing claim key");
|
|
139
|
+
}
|
|
140
|
+
const idBytes = bytes.subarray(0, CLAIM_ID_BYTES);
|
|
141
|
+
const masterSecret = bytes.subarray(CLAIM_ID_BYTES);
|
|
142
|
+
return { kind: entry.kind, id_bytes: idBytes, id: bytesToUuid(idBytes), master_secret: masterSecret };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Parse ANY registered claim-family key by its prefix registry. A
|
|
146
|
+
* recognized prefix of a DIFFERENT kind (an invite or room key handed to
|
|
147
|
+
* `resume`) refuses BY NAME pointing at its own door — never misread as a
|
|
148
|
+
* malformed handoff key (design D9 rule 4). Kind-bound alias of
|
|
149
|
+
* {@link parseClaimKey}.
|
|
150
|
+
*/
|
|
151
|
+
export function parseHandoffKey(raw) {
|
|
152
|
+
const parsed = parseClaimKey(raw, "handoff");
|
|
153
|
+
return { kind: "handoff", handoff_id_bytes: parsed.id_bytes, handoff_id: parsed.id, master_secret: parsed.master_secret };
|
|
154
|
+
}
|
|
155
|
+
/** The invite-kind sibling of {@link parseHandoffKey} (kygit-invite design D3). */
|
|
156
|
+
export function parseInviteKey(raw) {
|
|
157
|
+
const parsed = parseClaimKey(raw, "invite");
|
|
158
|
+
return { kind: "invite", invite_id_bytes: parsed.id_bytes, invite_id: parsed.id, master_secret: parsed.master_secret };
|
|
159
|
+
}
|
|
160
|
+
/** The room-kind sibling of {@link parseHandoffKey}/{@link parseInviteKey} (add-room-invite design D3). */
|
|
161
|
+
export function parseRoomInviteKey(raw) {
|
|
162
|
+
const parsed = parseClaimKey(raw, "room");
|
|
163
|
+
return { kind: "room", invite_id_bytes: parsed.id_bytes, invite_id: parsed.id, master_secret: parsed.master_secret };
|
|
164
|
+
}
|
|
165
|
+
/** `HKDF-SHA256(ikm=master_secret, salt=id[16], info=…)` per D3, domain-separated by kind, for both `auth_secret` and `wrap_key`. Vault kinds only — `room` has no `wrap_key` and derives separately below. */
|
|
166
|
+
function deriveClaimSecrets(kind, idBytes, masterSecret) {
|
|
167
|
+
const authInfo = `kygit/${kind}/auth/v1`;
|
|
168
|
+
const wrapInfo = `kygit/${kind}/wrap/v1`;
|
|
169
|
+
const authHashLabel = `kygit/${kind}/auth-hash/v1`;
|
|
170
|
+
const authSecret = hkdf(sha256, masterSecret, idBytes, utf8ToBytes(authInfo), 32);
|
|
171
|
+
const wrapKey = hkdf(sha256, masterSecret, idBytes, utf8ToBytes(wrapInfo), 32);
|
|
172
|
+
const authHash = sha256(concatBytes(utf8ToBytes(authHashLabel), authSecret));
|
|
173
|
+
// ONE SHA-256 over (label ‖ auth_secret), hex-encoded — exactly what the
|
|
174
|
+
// gateway recomputes at claim (`computeAuthHash`). Through 4.68.1 this line
|
|
175
|
+
// ran the digest through `sha256Hex` (which hashes its input again), so the
|
|
176
|
+
// stored value was sha256(sha256(label ‖ secret)) and NO key minted by any
|
|
177
|
+
// published client could ever verify. The cross-side vector in
|
|
178
|
+
// gitvault-handoff.test.ts now recomputes the gateway's hash independently.
|
|
179
|
+
return { auth_secret: authSecret, wrap_key: wrapKey, auth_hash_hex: bytesToHex(authHash) };
|
|
180
|
+
}
|
|
181
|
+
/** `HKDF-SHA256(ikm=master_secret, salt=handoff_id[16], info=kygit/handoff/…)` per D3, for both `auth_secret` and `wrap_key`. */
|
|
182
|
+
export function deriveHandoffSecrets(handoffIdBytes, masterSecret) {
|
|
183
|
+
return deriveClaimSecrets("handoff", handoffIdBytes, masterSecret);
|
|
184
|
+
}
|
|
185
|
+
/** The invite-kind sibling of {@link deriveHandoffSecrets}, domain-separated under `kygit/invite/…` info strings (kygit-invite design D3) — an invite secret never verifies as a handoff hash, or the reverse. */
|
|
186
|
+
export function deriveInviteSecrets(inviteIdBytes, masterSecret) {
|
|
187
|
+
return deriveClaimSecrets("invite", inviteIdBytes, masterSecret);
|
|
188
|
+
}
|
|
189
|
+
// ─── HKDF derivation — room kind (add-room-invite design D3) ────────────────
|
|
190
|
+
//
|
|
191
|
+
// A room invite derives EXACTLY ONE secret — no `wrap_key`, no envelope, no
|
|
192
|
+
// admission seed exist for this kind (there is nothing sealed: the gateway
|
|
193
|
+
// already reads every room message in plaintext, so there is no secret to
|
|
194
|
+
// hide from it). The info string and hash label are their OWN
|
|
195
|
+
// `run402/room-invite/…` namespace, never `kygit/room/…` — domain-separated
|
|
196
|
+
// from every vault kind so a room secret never verifies as a handoff/invite
|
|
197
|
+
// hash and neither of those ever verifies as a room hash, even for a row
|
|
198
|
+
// whose id every parser recovers.
|
|
199
|
+
const ROOM_INVITE_AUTH_INFO = "run402/room-invite/auth/v1";
|
|
200
|
+
const ROOM_INVITE_AUTH_HASH_LABEL = "run402/room-invite/auth-hash/v1";
|
|
201
|
+
/** `HKDF-SHA256(ikm=master_secret, salt=invite_id[16], info="run402/room-invite/auth/v1")` — the ONE secret a room invite derives (design D3). */
|
|
202
|
+
export function deriveRoomInviteAuthSecret(inviteIdBytes, masterSecret) {
|
|
203
|
+
return hkdf(sha256, masterSecret, inviteIdBytes, utf8ToBytes(ROOM_INVITE_AUTH_INFO), 32);
|
|
204
|
+
}
|
|
205
|
+
/** `SHA-256("run402/room-invite/auth-hash/v1" ‖ auth_secret)`, lowercase hex — exactly what the gateway's `mintRoomInvite`/`claimRoomInvite` compute and store/compare (design D3). */
|
|
206
|
+
export function computeRoomInviteAuthHash(authSecret) {
|
|
207
|
+
return bytesToHex(sha256(concatBytes(utf8ToBytes(ROOM_INVITE_AUTH_HASH_LABEL), authSecret)));
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=bearer-claim-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bearer-claim-key.js","sourceRoot":"","sources":["../../src/node/bearer-claim-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,25 @@ export declare function pinGitvaultRepo(repoDir: string, repoId: string, resolve
|
|
|
65
65
|
org_id: string;
|
|
66
66
|
room_key?: string;
|
|
67
67
|
}): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* add-room-invite design D10: a bare `rooms join <key>` arrival standing
|
|
70
|
+
* inside a git repository pins `r402.orgId`/`r402.room` in this checkout's
|
|
71
|
+
* LOCAL git config — the SAME two keys {@link pinGitvaultRepo} writes
|
|
72
|
+
* alongside a vault's `r402.repoId` — but WITHOUT one, since a room-only
|
|
73
|
+
* join has no vault to pin. Read back by {@link readPinnedRoomBinding},
|
|
74
|
+
* independent of {@link readPinnedGitvaultRepo}'s own gate on `r402.repoId`
|
|
75
|
+
* being present (a room-only checkout never sets it, so that reader would
|
|
76
|
+
* otherwise see this pin as absent).
|
|
77
|
+
*/
|
|
78
|
+
export declare function pinRoomBinding(repoDir: string, ids: {
|
|
79
|
+
org_id: string;
|
|
80
|
+
room_key: string;
|
|
81
|
+
}): Promise<void>;
|
|
82
|
+
/** Read `r402.orgId`/`r402.room` directly, with NO gate on `r402.repoId` (design D10) — the counterpart read for {@link pinRoomBinding}. Either field is `null` when unset (no repository, or never pinned). */
|
|
83
|
+
export declare function readPinnedRoomBinding(repoDir: string): Promise<{
|
|
84
|
+
org_id: string | null;
|
|
85
|
+
room: string | null;
|
|
86
|
+
}>;
|
|
68
87
|
export interface GitvaultAddressResolution {
|
|
69
88
|
repo_id: string;
|
|
70
89
|
project_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-address.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-address.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitvault-address.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-address.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,26 @@ export async function pinGitvaultRepo(repoDir, repoId, resolvedFrom, ids) {
|
|
|
99
99
|
await hardenedGit(repoDir, ["config", "--local", CONFIG_KEY_ROOM, ids.room_key ?? ids.project_id]);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* add-room-invite design D10: a bare `rooms join <key>` arrival standing
|
|
104
|
+
* inside a git repository pins `r402.orgId`/`r402.room` in this checkout's
|
|
105
|
+
* LOCAL git config — the SAME two keys {@link pinGitvaultRepo} writes
|
|
106
|
+
* alongside a vault's `r402.repoId` — but WITHOUT one, since a room-only
|
|
107
|
+
* join has no vault to pin. Read back by {@link readPinnedRoomBinding},
|
|
108
|
+
* independent of {@link readPinnedGitvaultRepo}'s own gate on `r402.repoId`
|
|
109
|
+
* being present (a room-only checkout never sets it, so that reader would
|
|
110
|
+
* otherwise see this pin as absent).
|
|
111
|
+
*/
|
|
112
|
+
export async function pinRoomBinding(repoDir, ids) {
|
|
113
|
+
await hardenedGit(repoDir, ["config", "--local", CONFIG_KEY_ORG_ID, ids.org_id]);
|
|
114
|
+
await hardenedGit(repoDir, ["config", "--local", CONFIG_KEY_ROOM, ids.room_key]);
|
|
115
|
+
}
|
|
116
|
+
/** Read `r402.orgId`/`r402.room` directly, with NO gate on `r402.repoId` (design D10) — the counterpart read for {@link pinRoomBinding}. Either field is `null` when unset (no repository, or never pinned). */
|
|
117
|
+
export async function readPinnedRoomBinding(repoDir) {
|
|
118
|
+
const org_id = await readLocalGitConfig(repoDir, CONFIG_KEY_ORG_ID);
|
|
119
|
+
const room = await readLocalGitConfig(repoDir, CONFIG_KEY_ROOM);
|
|
120
|
+
return { org_id, room };
|
|
121
|
+
}
|
|
102
122
|
/** Clear a pin this checkout no longer trusts (design D4: a pinned id that 404s). Tolerates an absent key — `git config --unset` on a key that was never set is not a failure here. */
|
|
103
123
|
async function clearPinnedGitvaultRepo(repoDir) {
|
|
104
124
|
for (const key of [CONFIG_KEY_REPO_ID, CONFIG_KEY_ADDRESS, CONFIG_KEY_PROJECT_ID, CONFIG_KEY_ORG_ID, CONFIG_KEY_ROOM]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-address.js","sourceRoot":"","sources":["../../src/node/gitvault-address.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitvault-address.js","sourceRoot":"","sources":["../../src/node/gitvault-address.ts"],"names":[],"mappings":"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"}
|