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.
Files changed (44) hide show
  1. package/gitvault-surface.json +1 -1
  2. package/lib/cold-start.mjs +33 -7
  3. package/lib/command-manifest.mjs +9 -2
  4. package/lib/feedback.mjs +58 -10
  5. package/lib/org-context.mjs +8 -2
  6. package/lib/rooms-context.mjs +14 -3
  7. package/lib/rooms.mjs +299 -2
  8. package/lib/sdk-errors.mjs +25 -0
  9. package/package.json +1 -1
  10. package/sdk/dist/namespaces/admin.d.ts +17 -2
  11. package/sdk/dist/namespaces/admin.d.ts.map +1 -1
  12. package/sdk/dist/namespaces/admin.js +13 -4
  13. package/sdk/dist/namespaces/admin.js.map +1 -1
  14. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  15. package/sdk/dist/namespaces/deploy.js +6 -0
  16. package/sdk/dist/namespaces/deploy.js.map +1 -1
  17. package/sdk/dist/namespaces/deploy.types.d.ts +14 -5
  18. package/sdk/dist/namespaces/deploy.types.d.ts.map +1 -1
  19. package/sdk/dist/namespaces/rooms.d.ts +53 -1
  20. package/sdk/dist/namespaces/rooms.d.ts.map +1 -1
  21. package/sdk/dist/namespaces/rooms.js +130 -0
  22. package/sdk/dist/namespaces/rooms.js.map +1 -1
  23. package/sdk/dist/namespaces/rooms.types.d.ts +94 -0
  24. package/sdk/dist/namespaces/rooms.types.d.ts.map +1 -1
  25. package/sdk/dist/node/bearer-claim-key.d.ts +126 -0
  26. package/sdk/dist/node/bearer-claim-key.d.ts.map +1 -0
  27. package/sdk/dist/node/bearer-claim-key.js +209 -0
  28. package/sdk/dist/node/bearer-claim-key.js.map +1 -0
  29. package/sdk/dist/node/gitvault-address.d.ts +19 -0
  30. package/sdk/dist/node/gitvault-address.d.ts.map +1 -1
  31. package/sdk/dist/node/gitvault-address.js +20 -0
  32. package/sdk/dist/node/gitvault-address.js.map +1 -1
  33. package/sdk/dist/node/gitvault-handoff.d.ts +3 -95
  34. package/sdk/dist/node/gitvault-handoff.d.ts.map +1 -1
  35. package/sdk/dist/node/gitvault-handoff.js +9 -122
  36. package/sdk/dist/node/gitvault-handoff.js.map +1 -1
  37. package/sdk/dist/node/index.d.ts +3 -1
  38. package/sdk/dist/node/index.d.ts.map +1 -1
  39. package/sdk/dist/node/index.js +8 -1
  40. package/sdk/dist/node/index.js.map +1 -1
  41. package/sdk/dist/node/paid-fetch.d.ts +8 -0
  42. package/sdk/dist/node/paid-fetch.d.ts.map +1 -1
  43. package/sdk/dist/node/paid-fetch.js +41 -1
  44. 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAA8B,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,4GAA4G;AAC5G,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,WAAW,CAAC;AAcpC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,GAAW;IAC5D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5F,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,wEAAwE;QACxE,4DAA4D;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe;IAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrI,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,YAAsD,EAAE,GAA+D;IAC5L,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,IAAI,YAAY;QAAE,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9I,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACzF,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED,uLAAuL;AACvL,KAAK,UAAU,uBAAuB,CAAC,OAAe;IACpD,KAAK,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC;QACtH,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,gHAAgH;AAChH,SAAS,UAAU,CAAC,CAAU;IAC5B,MAAM,GAAG,GAAG,CAA8C,CAAC;IAC3D,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC;AACrH,CAAC;AAwDD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAsC;IACjF,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,kEAAkE;gBAClE,kEAAkE;gBAClE,oEAAoE;gBACpE,gEAAgE;gBAChE,+DAA+D;gBAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtN,CAAC;YACD,IAAI,CAAC;gBACH,qEAAqE;gBACrE,kEAAkE;gBAClE,qCAAqC;gBACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnF,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrJ,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACvN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,CAAC;gBAC5B,MAAM,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,6DAA6D;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,mEAAmE;YACnE,sEAAsE;YACtE,qEAAqE;YACrE,8DAA8D;YAC9D,gEAAgE;YAChE,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,0CAA0C;YAC1C,oEAAoE;YACpE,qEAAqE;YACrE,+DAA+D;YAC/D,4DAA4D;YAC5D,oDAAoD;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7G,IAAI,aAAa,EAAE,CAAC;gBAClB,oEAAoE;gBACpE,+DAA+D;gBAC/D,gEAAgE;gBAChE,8DAA8D;gBAC9D,kEAAkE;gBAClE,+DAA+D;gBAC/D,mEAAmE;gBACnE,6CAA6C;gBAC7C,IAAI,OAAO,CAAC,QAAQ;oBAAE,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxK,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1L,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAwB,MAAM,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3H,sEAAsE;QACtE,mEAAmE;QACnE,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,mCAAmC;QACnC,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnJ,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtK,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAE5C,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,sDAAsD;IACtD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;YACnB,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxG,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpL,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnP,CAAC;IAED,yEAAyE;IACzE,gEAAgE;IAChE,mDAAmD;IACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnG,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpL,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9M,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAS7C;IACC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAkD,CAAC;IACvE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3H,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3L,OAAO,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"gitvault-address.js","sourceRoot":"","sources":["../../src/node/gitvault-address.ts"],"names":[],"mappings":"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"}