run402 4.63.0 → 4.64.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 +2 -1
- package/lib/doctor.mjs +28 -15
- package/lib/gitvault-capabilities.mjs +8 -0
- package/lib/remote-helper-session.mjs +166 -32
- package/lib/repos.mjs +122 -9
- package/package.json +1 -1
- package/sdk/dist/errors.d.ts +4 -2
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +1 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/gitvault.crypto.d.ts +80 -0
- package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.crypto.js +80 -0
- package/sdk/dist/namespaces/gitvault.crypto.js.map +1 -1
- package/sdk/dist/namespaces/gitvault.d.ts +219 -3
- package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.js +282 -5
- package/sdk/dist/namespaces/gitvault.js.map +1 -1
- package/sdk/dist/node/gitvault-byo-config.d.ts +29 -0
- package/sdk/dist/node/gitvault-byo-config.d.ts.map +1 -0
- package/sdk/dist/node/gitvault-byo-config.js +100 -0
- package/sdk/dist/node/gitvault-byo-config.js.map +1 -0
- package/sdk/dist/node/gitvault-byo-probe.d.ts +20 -0
- package/sdk/dist/node/gitvault-byo-probe.d.ts.map +1 -0
- package/sdk/dist/node/gitvault-byo-probe.js +57 -0
- package/sdk/dist/node/gitvault-byo-probe.js.map +1 -0
- package/sdk/dist/node/gitvault-creation-journal.d.ts +43 -0
- package/sdk/dist/node/gitvault-creation-journal.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-creation-journal.js +34 -3
- package/sdk/dist/node/gitvault-creation-journal.js.map +1 -1
- package/sdk/dist/node/gitvault-degraded-read.d.ts +120 -0
- package/sdk/dist/node/gitvault-degraded-read.d.ts.map +1 -0
- package/sdk/dist/node/gitvault-degraded-read.js +164 -0
- package/sdk/dist/node/gitvault-degraded-read.js.map +1 -0
- package/sdk/dist/node/gitvault-mirror-backend.d.ts +73 -0
- package/sdk/dist/node/gitvault-mirror-backend.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-mirror-backend.js +114 -8
- package/sdk/dist/node/gitvault-mirror-backend.js.map +1 -1
- package/sdk/dist/node/gitvault-mirror-config.d.ts +17 -1
- package/sdk/dist/node/gitvault-mirror-config.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-mirror-config.js +21 -0
- package/sdk/dist/node/gitvault-mirror-config.js.map +1 -1
- package/sdk/dist/node/gitvault-mirror.d.ts +42 -0
- package/sdk/dist/node/gitvault-mirror.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-mirror.js +162 -1
- package/sdk/dist/node/gitvault-mirror.js.map +1 -1
- package/sdk/dist/node/gitvault-publication.d.ts +51 -1
- package/sdk/dist/node/gitvault-publication.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-publication.js +88 -6
- package/sdk/dist/node/gitvault-publication.js.map +1 -1
|
@@ -2,6 +2,21 @@ import type { GitvaultMirrorCredential, GitvaultMirrorDestination } from "./gitv
|
|
|
2
2
|
export interface GitvaultMirrorObjectMeta {
|
|
3
3
|
size_bytes: string;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* gitvault-byo-primary-bucket task 3.1 — allocation-time bucket probe
|
|
7
|
+
* (design D6): does this destination honor create-only `if-none-match`
|
|
8
|
+
* writes, is bucket versioning off, and is a write actually permitted? Every
|
|
9
|
+
* property is checked independently so a refusal names EXACTLY which one
|
|
10
|
+
* failed, never a bundled "something is wrong". `detail` carries the
|
|
11
|
+
* underlying HTTP/network fact for the property that failed — never a
|
|
12
|
+
* credential, never bytes.
|
|
13
|
+
*/
|
|
14
|
+
export interface GitvaultBucketProbeResult {
|
|
15
|
+
write_permitted: boolean;
|
|
16
|
+
create_only_honored: boolean;
|
|
17
|
+
versioning_off: boolean;
|
|
18
|
+
detail?: string;
|
|
19
|
+
}
|
|
5
20
|
/**
|
|
6
21
|
* Storage-agnostic mirror backend. Every method addresses a KEY relative to
|
|
7
22
|
* the mirror's own root — the writer is responsible for using the exact same
|
|
@@ -27,6 +42,18 @@ export interface GitvaultMirrorBackend {
|
|
|
27
42
|
}>;
|
|
28
43
|
/** Every key under `prefix` (default: every key in the mirror), sorted. */
|
|
29
44
|
list(prefix?: string): Promise<string[]>;
|
|
45
|
+
/**
|
|
46
|
+
* gitvault-byo-primary-bucket task 3.1 — the allocation-time bucket-policy
|
|
47
|
+
* probe (design D6): create-only `if-none-match` honored, versioning off,
|
|
48
|
+
* write permitted. Never throws on a failed property — it REPORTS the
|
|
49
|
+
* three independent facts; the caller ({@link probeGitvaultByoDestination}
|
|
50
|
+
* in `gitvault-byo-probe.js`) decides whether to refuse and names which
|
|
51
|
+
* property failed. A backend implementation MAY throw for a genuinely
|
|
52
|
+
* unexpected transport failure (network/DNS) rather than reporting a
|
|
53
|
+
* property as false — the caller treats a thrown probe identically to a
|
|
54
|
+
* failed one.
|
|
55
|
+
*/
|
|
56
|
+
probeWritePolicy(): Promise<GitvaultBucketProbeResult>;
|
|
30
57
|
}
|
|
31
58
|
/**
|
|
32
59
|
* A local (or network-mounted) directory, laid out identically to the bucket
|
|
@@ -47,6 +74,14 @@ export declare class DirectoryMirrorBackend implements GitvaultMirrorBackend {
|
|
|
47
74
|
created: boolean;
|
|
48
75
|
}>;
|
|
49
76
|
list(prefix?: string): Promise<string[]>;
|
|
77
|
+
/**
|
|
78
|
+
* A local (or network-mounted) directory trivially satisfies every
|
|
79
|
+
* property: there is no versioning concept, and create-only is REAL
|
|
80
|
+
* create-only (see the class doc). `write_permitted` is still actually
|
|
81
|
+
* EXERCISED (not assumed) — a read-only mount or missing permission fails
|
|
82
|
+
* it honestly rather than reporting a directory backend as always-write.
|
|
83
|
+
*/
|
|
84
|
+
probeWritePolicy(): Promise<GitvaultBucketProbeResult>;
|
|
50
85
|
}
|
|
51
86
|
interface Sigv4Credentials {
|
|
52
87
|
access_key_id: string;
|
|
@@ -71,9 +106,47 @@ export declare class S3MirrorBackend implements GitvaultMirrorBackend {
|
|
|
71
106
|
created: boolean;
|
|
72
107
|
}>;
|
|
73
108
|
list(prefix?: string): Promise<string[]>;
|
|
109
|
+
/**
|
|
110
|
+
* gitvault-byo-primary-bucket task 3.1 (design D6). Deliberately does NOT
|
|
111
|
+
* reuse {@link putCreateOnly}'s own read-and-compare fallback for a bucket
|
|
112
|
+
* that rejects the `if-none-match` header (400/501): that fallback is a
|
|
113
|
+
* best-effort DEGRADATION for ordinary writes, and the whole point of the
|
|
114
|
+
* probe is to report the STRICT signal — does this bucket actually
|
|
115
|
+
* enforce atomic create-only writes — so a bucket that cannot even
|
|
116
|
+
* understand the condition is correctly reported as NOT honoring it,
|
|
117
|
+
* never silently upgraded to "fine, we'll compare after the fact".
|
|
118
|
+
*
|
|
119
|
+
* Runs two independent PUTs at the SAME probe key (create-only, `p1` then
|
|
120
|
+
* `p2` bytes): the first proves `write_permitted`; the second, at the
|
|
121
|
+
* SAME key, proves `create_only_honored` — a bucket that lets the second
|
|
122
|
+
* PUT succeed is silently overwriting, exactly the hazard §3's
|
|
123
|
+
* "versioning disabled + mandatory if-none-match" profile exists to rule
|
|
124
|
+
* out. `versioning_off` is a SEPARATE bucket-level `GET ?versioning` call
|
|
125
|
+
* — a bucket whose versioning state cannot even be READ (e.g. missing
|
|
126
|
+
* `s3:GetBucketVersioning`) is conservatively reported as NOT off, per the
|
|
127
|
+
* fail-closed doctrine (D6): "no vault half-exists" beats "probably fine".
|
|
128
|
+
* "Suspended" versioning is treated as compliant — the hazard the profile
|
|
129
|
+
* guards against (a create-only PUT silently becoming a new object
|
|
130
|
+
* version instead of a real conflict) applies only to `Enabled`.
|
|
131
|
+
*/
|
|
132
|
+
probeWritePolicy(): Promise<GitvaultBucketProbeResult>;
|
|
133
|
+
private probeVersioningOff;
|
|
74
134
|
}
|
|
75
135
|
/** Open the backend for one vault's mirror config — repo-scoped: the directory backend's root and the S3 prefix both already carry `source/<repo_id>`. */
|
|
76
136
|
export declare function openGitvaultMirrorBackend(destination: GitvaultMirrorDestination, repoId: string, credential?: GitvaultMirrorCredential): GitvaultMirrorBackend;
|
|
137
|
+
/**
|
|
138
|
+
* gitvault-byo-primary-bucket task 3.1 — open a backend at the DESTINATION
|
|
139
|
+
* ROOT, with no `source/<repo_id>` scoping. Two callers need this shape,
|
|
140
|
+
* both because `repo_id` is not (yet) in scope: the allocation-time probe
|
|
141
|
+
* (a fresh destination has no repo_id until allocation MINTS one — the
|
|
142
|
+
* probe writes/reads a `_byo-probe/<random>` key at the destination's own
|
|
143
|
+
* root, never colliding with any vault's `source/<repo_id>/` prefix), and
|
|
144
|
+
* BYO payload writes (task 3.2), whose server-issued `key` already carries
|
|
145
|
+
* the full `source/<repo_id>/...` path — this is the SAME opener
|
|
146
|
+
* {@link discoverMirroredRepoIds} already used inline for mirror discovery,
|
|
147
|
+
* factored out here so it has one implementation instead of two.
|
|
148
|
+
*/
|
|
149
|
+
export declare function openGitvaultDestinationBackend(destination: GitvaultMirrorDestination, credential?: GitvaultMirrorCredential): GitvaultMirrorBackend;
|
|
77
150
|
/**
|
|
78
151
|
* List every `repo_id` mirrored under a destination's root (`source/<repo_id>/…`),
|
|
79
152
|
* WITHOUT repo-scoping the backend first — the discovery step `recover
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-mirror-backend.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAQvG,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,0GAA0G;IAC1G,QAAQ,IAAI,MAAM,CAAC;IACnB,qCAAqC;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;IAC5D,kDAAkD;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gitvault-mirror-backend.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* objects are already capped well under S3's 5 GiB single-PUT limit by the
|
|
23
23
|
* protocol's own object-size bounds (§4.6/§4.7).
|
|
24
24
|
*/
|
|
25
|
-
import { createHash, createHmac } from "node:crypto";
|
|
25
|
+
import { createHash, createHmac, randomBytes } from "node:crypto";
|
|
26
26
|
import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
27
27
|
import { homedir } from "node:os";
|
|
28
28
|
import { dirname, join } from "node:path";
|
|
@@ -119,6 +119,26 @@ export class DirectoryMirrorBackend {
|
|
|
119
119
|
walk(this.root, "");
|
|
120
120
|
return out.filter((k) => k.startsWith(prefix)).sort();
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* A local (or network-mounted) directory trivially satisfies every
|
|
124
|
+
* property: there is no versioning concept, and create-only is REAL
|
|
125
|
+
* create-only (see the class doc). `write_permitted` is still actually
|
|
126
|
+
* EXERCISED (not assumed) — a read-only mount or missing permission fails
|
|
127
|
+
* it honestly rather than reporting a directory backend as always-write.
|
|
128
|
+
*/
|
|
129
|
+
async probeWritePolicy() {
|
|
130
|
+
const key = `_byo-probe/${randomBytes(16).toString("hex")}`;
|
|
131
|
+
try {
|
|
132
|
+
const first = await this.putCreateOnly(key, new TextEncoder().encode("gitvault-byo-primary-bucket allocation probe"));
|
|
133
|
+
if (!first.created)
|
|
134
|
+
return { write_permitted: false, create_only_honored: false, versioning_off: true, detail: "probe key already existed (unexpected — a fresh random key collided)" };
|
|
135
|
+
const second = await this.putCreateOnly(key, new TextEncoder().encode("gitvault-byo-primary-bucket allocation probe — second write"));
|
|
136
|
+
return { write_permitted: true, create_only_honored: !second.created, versioning_off: true };
|
|
137
|
+
}
|
|
138
|
+
catch (e) {
|
|
139
|
+
return { write_permitted: false, create_only_honored: false, versioning_off: true, detail: e instanceof Error ? e.message : String(e) };
|
|
140
|
+
}
|
|
141
|
+
}
|
|
122
142
|
}
|
|
123
143
|
function hmacSha256(key, data) {
|
|
124
144
|
return createHmac("sha256", key).update(data, "utf8").digest();
|
|
@@ -317,6 +337,79 @@ export class S3MirrorBackend {
|
|
|
317
337
|
}
|
|
318
338
|
return out.sort();
|
|
319
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* gitvault-byo-primary-bucket task 3.1 (design D6). Deliberately does NOT
|
|
342
|
+
* reuse {@link putCreateOnly}'s own read-and-compare fallback for a bucket
|
|
343
|
+
* that rejects the `if-none-match` header (400/501): that fallback is a
|
|
344
|
+
* best-effort DEGRADATION for ordinary writes, and the whole point of the
|
|
345
|
+
* probe is to report the STRICT signal — does this bucket actually
|
|
346
|
+
* enforce atomic create-only writes — so a bucket that cannot even
|
|
347
|
+
* understand the condition is correctly reported as NOT honoring it,
|
|
348
|
+
* never silently upgraded to "fine, we'll compare after the fact".
|
|
349
|
+
*
|
|
350
|
+
* Runs two independent PUTs at the SAME probe key (create-only, `p1` then
|
|
351
|
+
* `p2` bytes): the first proves `write_permitted`; the second, at the
|
|
352
|
+
* SAME key, proves `create_only_honored` — a bucket that lets the second
|
|
353
|
+
* PUT succeed is silently overwriting, exactly the hazard §3's
|
|
354
|
+
* "versioning disabled + mandatory if-none-match" profile exists to rule
|
|
355
|
+
* out. `versioning_off` is a SEPARATE bucket-level `GET ?versioning` call
|
|
356
|
+
* — a bucket whose versioning state cannot even be READ (e.g. missing
|
|
357
|
+
* `s3:GetBucketVersioning`) is conservatively reported as NOT off, per the
|
|
358
|
+
* fail-closed doctrine (D6): "no vault half-exists" beats "probably fine".
|
|
359
|
+
* "Suspended" versioning is treated as compliant — the hazard the profile
|
|
360
|
+
* guards against (a create-only PUT silently becoming a new object
|
|
361
|
+
* version instead of a real conflict) applies only to `Enabled`.
|
|
362
|
+
*/
|
|
363
|
+
async probeWritePolicy() {
|
|
364
|
+
const key = `_byo-probe/${randomBytes(16).toString("hex")}`;
|
|
365
|
+
const creds = this.creds();
|
|
366
|
+
let writePermitted = false;
|
|
367
|
+
let createOnlyHonored = false;
|
|
368
|
+
let detail;
|
|
369
|
+
try {
|
|
370
|
+
const first = await s3Request({
|
|
371
|
+
method: "PUT", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: this.fullKey(key), credentials: creds,
|
|
372
|
+
body: new TextEncoder().encode("gitvault-byo-primary-bucket allocation probe"),
|
|
373
|
+
extraHeaders: { "if-none-match": "*" },
|
|
374
|
+
});
|
|
375
|
+
if (!first.ok) {
|
|
376
|
+
detail = `probe PUT failed (HTTP ${first.status})`;
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
writePermitted = true;
|
|
380
|
+
const second = await s3Request({
|
|
381
|
+
method: "PUT", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: this.fullKey(key), credentials: creds,
|
|
382
|
+
body: new TextEncoder().encode("gitvault-byo-primary-bucket allocation probe — second write"),
|
|
383
|
+
extraHeaders: { "if-none-match": "*" },
|
|
384
|
+
});
|
|
385
|
+
// 412/409: the condition was evaluated and correctly refused the
|
|
386
|
+
// overwrite — honored. Anything else (2xx overwrote it; 400/501 the
|
|
387
|
+
// bucket did not understand the condition at all) is NOT honored.
|
|
388
|
+
createOnlyHonored = second.status === 412 || second.status === 409;
|
|
389
|
+
if (!createOnlyHonored)
|
|
390
|
+
detail = second.ok ? "a second create-only PUT to the same key succeeded — this bucket does not enforce if-none-match" : `the condition was not understood (HTTP ${second.status})`;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
catch (e) {
|
|
394
|
+
detail = e instanceof Error ? e.message : String(e);
|
|
395
|
+
}
|
|
396
|
+
const versioning = await this.probeVersioningOff(creds);
|
|
397
|
+
const combinedDetail = [detail, versioning.detail].filter(Boolean).join("; ") || undefined;
|
|
398
|
+
return { write_permitted: writePermitted, create_only_honored: createOnlyHonored, versioning_off: versioning.off, ...(combinedDetail ? { detail: combinedDetail } : {}) };
|
|
399
|
+
}
|
|
400
|
+
async probeVersioningOff(creds) {
|
|
401
|
+
try {
|
|
402
|
+
const r = await s3Request({ method: "GET", bucket: this.bucket, region: this.region, endpoint: this.endpoint, key: "", query: { versioning: "" }, credentials: creds });
|
|
403
|
+
if (!r.ok)
|
|
404
|
+
return { off: false, detail: `bucket versioning could not be read (HTTP ${r.status}) — cannot confirm it is disabled` };
|
|
405
|
+
const xml = await r.text();
|
|
406
|
+
const enabled = /<Status>\s*Enabled\s*<\/Status>/.test(xml);
|
|
407
|
+
return enabled ? { off: false, detail: "bucket versioning is Enabled" } : { off: true };
|
|
408
|
+
}
|
|
409
|
+
catch (e) {
|
|
410
|
+
return { off: false, detail: `bucket versioning could not be read: ${e instanceof Error ? e.message : String(e)} — cannot confirm it is disabled` };
|
|
411
|
+
}
|
|
412
|
+
}
|
|
320
413
|
}
|
|
321
414
|
function decodeXmlEntities(s) {
|
|
322
415
|
return s.replace(/&(amp|lt|gt|quot|apos|#\d+);/g, (m, entity) => {
|
|
@@ -341,6 +434,25 @@ export function openGitvaultMirrorBackend(destination, repoId, credential) {
|
|
|
341
434
|
const prefix = destination.prefix ? `${destination.prefix}/source/${repoId}` : `source/${repoId}`;
|
|
342
435
|
return new S3MirrorBackend(destination.bucket, prefix, destination.region, credential, destination.endpoint);
|
|
343
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* gitvault-byo-primary-bucket task 3.1 — open a backend at the DESTINATION
|
|
439
|
+
* ROOT, with no `source/<repo_id>` scoping. Two callers need this shape,
|
|
440
|
+
* both because `repo_id` is not (yet) in scope: the allocation-time probe
|
|
441
|
+
* (a fresh destination has no repo_id until allocation MINTS one — the
|
|
442
|
+
* probe writes/reads a `_byo-probe/<random>` key at the destination's own
|
|
443
|
+
* root, never colliding with any vault's `source/<repo_id>/` prefix), and
|
|
444
|
+
* BYO payload writes (task 3.2), whose server-issued `key` already carries
|
|
445
|
+
* the full `source/<repo_id>/...` path — this is the SAME opener
|
|
446
|
+
* {@link discoverMirroredRepoIds} already used inline for mirror discovery,
|
|
447
|
+
* factored out here so it has one implementation instead of two.
|
|
448
|
+
*/
|
|
449
|
+
export function openGitvaultDestinationBackend(destination, credential) {
|
|
450
|
+
if (destination.kind === "directory")
|
|
451
|
+
return new DirectoryMirrorBackend(destination.path);
|
|
452
|
+
if (!credential)
|
|
453
|
+
fail("GITVAULT_MIRROR_CREDENTIAL_REQUIRED", "an s3 destination needs a credential", "opening gitvault destination backend");
|
|
454
|
+
return new S3MirrorBackend(destination.bucket, destination.prefix, destination.region, credential, destination.endpoint);
|
|
455
|
+
}
|
|
344
456
|
/**
|
|
345
457
|
* List every `repo_id` mirrored under a destination's root (`source/<repo_id>/…`),
|
|
346
458
|
* WITHOUT repo-scoping the backend first — the discovery step `recover
|
|
@@ -349,13 +461,7 @@ export function openGitvaultMirrorBackend(destination, repoId, credential) {
|
|
|
349
461
|
* destination URL (no `--repo`) names.
|
|
350
462
|
*/
|
|
351
463
|
export async function discoverMirroredRepoIds(destination, credential) {
|
|
352
|
-
const root = destination
|
|
353
|
-
? new DirectoryMirrorBackend(destination.path)
|
|
354
|
-
: (() => {
|
|
355
|
-
if (!credential)
|
|
356
|
-
fail("GITVAULT_MIRROR_CREDENTIAL_REQUIRED", "an s3 mirror destination needs a credential", "discovering mirrored gitvault repos");
|
|
357
|
-
return new S3MirrorBackend(destination.bucket, destination.prefix, destination.region, credential, destination.endpoint);
|
|
358
|
-
})();
|
|
464
|
+
const root = openGitvaultDestinationBackend(destination, credential);
|
|
359
465
|
const keys = await root.list("source/");
|
|
360
466
|
const ids = new Set();
|
|
361
467
|
for (const key of keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-mirror-backend.js","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitvault-mirror-backend.js","sourceRoot":"","sources":["../../src/node/gitvault-mirror-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,21 @@ export type GitvaultMirrorCredential = {
|
|
|
17
17
|
} | {
|
|
18
18
|
kind: "ambient";
|
|
19
19
|
};
|
|
20
|
-
/** `mirrors/<repo_id>.json` — the ONLY thing this file persists: where,
|
|
20
|
+
/** `mirrors/<repo_id>.json` — the ONLY thing this file persists: where, which named credential to resolve at use time, and (gitvault-mirror-default) when a write/sync last fully succeeded. */
|
|
21
21
|
export interface GitvaultMirrorConfig {
|
|
22
22
|
version: 1;
|
|
23
23
|
repo_id: string;
|
|
24
24
|
destination: GitvaultMirrorDestination;
|
|
25
25
|
/** Present only for an `s3` destination — a directory destination needs no credential. */
|
|
26
26
|
credential?: GitvaultMirrorCredential;
|
|
27
|
+
/**
|
|
28
|
+
* gitvault-mirror-default: when a mirror write or sync last completed with
|
|
29
|
+
* zero failures against THIS destination — the local fact that clears the
|
|
30
|
+
* `vault_unmirrored` finding. Stamped by the sync engine, reset when the
|
|
31
|
+
* destination changes (a success against the old bucket says nothing about
|
|
32
|
+
* the new one), and never transmitted anywhere (the gateway stays blind).
|
|
33
|
+
*/
|
|
34
|
+
last_success_at?: string;
|
|
27
35
|
created_at: string;
|
|
28
36
|
updated_at: string;
|
|
29
37
|
}
|
|
@@ -39,6 +47,14 @@ export declare function saveMirrorConfig(keystore: GitvaultKeystore, input: {
|
|
|
39
47
|
destination: GitvaultMirrorDestination;
|
|
40
48
|
credential?: GitvaultMirrorCredential;
|
|
41
49
|
}, now?: () => Date): GitvaultMirrorConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Stamp `last_success_at` after a zero-failure mirror write/sync
|
|
52
|
+
* (gitvault-mirror-default) — the local, never-transmitted fact that clears
|
|
53
|
+
* the `vault_unmirrored` finding. A no-op when no config exists (a
|
|
54
|
+
* test-injected backend can sync without one), or when the config was removed
|
|
55
|
+
* mid-sync.
|
|
56
|
+
*/
|
|
57
|
+
export declare function recordMirrorSuccess(keystore: GitvaultKeystore, repoId: string, now?: () => Date): GitvaultMirrorConfig | null;
|
|
42
58
|
/** Remove the mirror config for one vault. Never touches the mirror's own bytes — this only stops future pushes/syncs from targeting it. */
|
|
43
59
|
export declare function removeMirrorConfig(keystore: GitvaultKeystore, repoId: string): {
|
|
44
60
|
removed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-mirror-config.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror-config.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,wBAAwB,CAAC;AAMjG,6HAA6H;AAC7H,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"gitvault-mirror-config.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror-config.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,wBAAwB,CAAC;AAMjG,6HAA6H;AAC7H,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,gMAAgM;AAChM,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,yBAAyB,CAAC;IACvC,0FAA0F;IAC1F,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnF;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAaxG;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQxE;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,yBAAyB,CAAC;IAAC,UAAU,CAAC,EAAE,wBAAwB,CAAA;CAAE,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,oBAAoB,CAqBhO;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,oBAAoB,GAAG,IAAI,CAM/I;AAED,4IAA4I;AAC5I,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CASnG;AAED,0GAA0G;AAC1G,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,yBAAyB,CAYtI;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,yBAAyB,GAAG,MAAM,CAEtF"}
|
|
@@ -65,17 +65,38 @@ export function saveMirrorConfig(keystore, input, now = () => new Date()) {
|
|
|
65
65
|
fail("GITVAULT_MIRROR_CREDENTIAL_REQUIRED", "an s3 mirror destination needs a credential — pass --profile <name> or --ambient", "configuring gitvault mirror");
|
|
66
66
|
}
|
|
67
67
|
const existing = readMirrorConfig(keystore, input.repo_id);
|
|
68
|
+
// A recorded success is a fact about ONE destination: carry it across an
|
|
69
|
+
// idempotent re-save of the same place, reset it when the destination moves
|
|
70
|
+
// (the vault_unmirrored finding honestly reopens until the new mirror's
|
|
71
|
+
// first successful write/sync).
|
|
72
|
+
const sameDestination = existing != null && JSON.stringify(existing.destination) === JSON.stringify(input.destination);
|
|
68
73
|
const full = {
|
|
69
74
|
version: 1,
|
|
70
75
|
repo_id: input.repo_id,
|
|
71
76
|
destination: input.destination,
|
|
72
77
|
...(input.credential ? { credential: input.credential } : {}),
|
|
78
|
+
...(sameDestination && existing.last_success_at ? { last_success_at: existing.last_success_at } : {}),
|
|
73
79
|
created_at: existing?.created_at ?? now().toISOString(),
|
|
74
80
|
updated_at: now().toISOString(),
|
|
75
81
|
};
|
|
76
82
|
writeFileAtomic0600(mirrorConfigPath(keystore, input.repo_id), JSON.stringify(full, null, 2));
|
|
77
83
|
return full;
|
|
78
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Stamp `last_success_at` after a zero-failure mirror write/sync
|
|
87
|
+
* (gitvault-mirror-default) — the local, never-transmitted fact that clears
|
|
88
|
+
* the `vault_unmirrored` finding. A no-op when no config exists (a
|
|
89
|
+
* test-injected backend can sync without one), or when the config was removed
|
|
90
|
+
* mid-sync.
|
|
91
|
+
*/
|
|
92
|
+
export function recordMirrorSuccess(keystore, repoId, now = () => new Date()) {
|
|
93
|
+
const existing = readMirrorConfig(keystore, repoId);
|
|
94
|
+
if (!existing)
|
|
95
|
+
return null;
|
|
96
|
+
const full = { ...existing, last_success_at: now().toISOString() };
|
|
97
|
+
writeFileAtomic0600(mirrorConfigPath(keystore, repoId), JSON.stringify(full, null, 2));
|
|
98
|
+
return full;
|
|
99
|
+
}
|
|
79
100
|
/** Remove the mirror config for one vault. Never touches the mirror's own bytes — this only stops future pushes/syncs from targeting it. */
|
|
80
101
|
export function removeMirrorConfig(keystore, repoId) {
|
|
81
102
|
const path = mirrorConfigPath(keystore, repoId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-mirror-config.js","sourceRoot":"","sources":["../../src/node/gitvault-mirror-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAoB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEjG,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,OAAiB,EAAE,WAAuB;IACtG,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnH,CAAC;
|
|
1
|
+
{"version":3,"file":"gitvault-mirror-config.js","sourceRoot":"","sources":["../../src/node/gitvault-mirror-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,4 +117,46 @@ export interface GitvaultMirrorPushResult {
|
|
|
117
117
|
* a second, push-scoped code path that could drift from it.
|
|
118
118
|
*/
|
|
119
119
|
export declare function mirrorPushForGeneration(client: Client, repoId: string, options?: GitvaultMirrorSyncOptions): Promise<GitvaultMirrorPushResult>;
|
|
120
|
+
/**
|
|
121
|
+
* `run402 repos create --byo`'s every-push dual-write (task 3.3, design
|
|
122
|
+
* D1): list the vault's stored objects, restrict to the signed CHAIN
|
|
123
|
+
* (never the payload kinds, which THIS SAME push already wrote directly to
|
|
124
|
+
* the destination — task 3.2), diff against the destination by key+size,
|
|
125
|
+
* fetch (from run402 — the chain stays run402-authoritative) and
|
|
126
|
+
* hash-verify what's missing, write it in admission order. Resumable and
|
|
127
|
+
* idempotent, reusing the SAME `reconcileOne` copy primitive and
|
|
128
|
+
* admission-order discipline the opt-in mirror uses — one implementation,
|
|
129
|
+
* not a second ordering to prove.
|
|
130
|
+
*/
|
|
131
|
+
export declare function byoChainCopySync(client: Client, repoId: string, options?: GitvaultMirrorSyncOptions): Promise<GitvaultMirrorSyncSummary>;
|
|
132
|
+
/**
|
|
133
|
+
* Fires after an ordinary vault push produces a new generation, mirroring
|
|
134
|
+
* {@link mirrorPushForGeneration}'s exact contract (NEVER throws, NEVER
|
|
135
|
+
* alters the caller's push outcome — the chain-copy is reported BESIDE it).
|
|
136
|
+
* Gated on a LOCAL BYO write config existing for this repo — a managed
|
|
137
|
+
* vault (the common case) pays zero extra network calls, `skipped_no_byo`.
|
|
138
|
+
*/
|
|
139
|
+
export declare function byoChainCopyPushForGeneration(client: Client, repoId: string, options?: GitvaultMirrorSyncOptions): Promise<GitvaultMirrorPushResult>;
|
|
140
|
+
export interface GitvaultByoMissingObject {
|
|
141
|
+
key: string;
|
|
142
|
+
object_kind: string;
|
|
143
|
+
}
|
|
144
|
+
export interface GitvaultByoPresenceReport {
|
|
145
|
+
repo_id: string;
|
|
146
|
+
destination: string;
|
|
147
|
+
checked: number;
|
|
148
|
+
missing: GitvaultByoMissingObject[];
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Adjudicates the BYO destination against run402's signed chain (task 3.3's
|
|
152
|
+
* read half, D6): HEAD-checks (cheap, no data transfer) every object the
|
|
153
|
+
* vault's OWN listing names — payload AND chain alike, since for a BYO
|
|
154
|
+
* vault the destination is supposed to hold BOTH (payload via task 3.2's
|
|
155
|
+
* direct write, chain via this file's dual-write above) — against the
|
|
156
|
+
* destination, by key + size. Never throws on an absence; it REPORTS every
|
|
157
|
+
* missing object by name so the caller (`repos fsck`) can refuse with
|
|
158
|
+
* `GITVAULT_BYO_OBJECT_MISSING` naming exactly what the chain says should
|
|
159
|
+
* exist and does not.
|
|
160
|
+
*/
|
|
161
|
+
export declare function verifyByoObjectsPresent(client: Client, repoId: string, options?: GitvaultMirrorSyncOptions): Promise<GitvaultByoPresenceReport>;
|
|
120
162
|
//# sourceMappingURL=gitvault-mirror.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitvault-mirror.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAEL,iDAAiD,EACjD,gDAAgD,EACjD,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAuD,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gitvault-mirror.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-mirror.ts"],"names":[],"mappings":"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"}
|