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.
Files changed (53) hide show
  1. package/gitvault-surface.json +2 -1
  2. package/lib/doctor.mjs +28 -15
  3. package/lib/gitvault-capabilities.mjs +8 -0
  4. package/lib/remote-helper-session.mjs +166 -32
  5. package/lib/repos.mjs +122 -9
  6. package/package.json +1 -1
  7. package/sdk/dist/errors.d.ts +4 -2
  8. package/sdk/dist/errors.d.ts.map +1 -1
  9. package/sdk/dist/errors.js.map +1 -1
  10. package/sdk/dist/index.d.ts +1 -1
  11. package/sdk/dist/index.d.ts.map +1 -1
  12. package/sdk/dist/index.js +1 -1
  13. package/sdk/dist/index.js.map +1 -1
  14. package/sdk/dist/namespaces/gitvault.crypto.d.ts +80 -0
  15. package/sdk/dist/namespaces/gitvault.crypto.d.ts.map +1 -1
  16. package/sdk/dist/namespaces/gitvault.crypto.js +80 -0
  17. package/sdk/dist/namespaces/gitvault.crypto.js.map +1 -1
  18. package/sdk/dist/namespaces/gitvault.d.ts +219 -3
  19. package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
  20. package/sdk/dist/namespaces/gitvault.js +282 -5
  21. package/sdk/dist/namespaces/gitvault.js.map +1 -1
  22. package/sdk/dist/node/gitvault-byo-config.d.ts +29 -0
  23. package/sdk/dist/node/gitvault-byo-config.d.ts.map +1 -0
  24. package/sdk/dist/node/gitvault-byo-config.js +100 -0
  25. package/sdk/dist/node/gitvault-byo-config.js.map +1 -0
  26. package/sdk/dist/node/gitvault-byo-probe.d.ts +20 -0
  27. package/sdk/dist/node/gitvault-byo-probe.d.ts.map +1 -0
  28. package/sdk/dist/node/gitvault-byo-probe.js +57 -0
  29. package/sdk/dist/node/gitvault-byo-probe.js.map +1 -0
  30. package/sdk/dist/node/gitvault-creation-journal.d.ts +43 -0
  31. package/sdk/dist/node/gitvault-creation-journal.d.ts.map +1 -1
  32. package/sdk/dist/node/gitvault-creation-journal.js +34 -3
  33. package/sdk/dist/node/gitvault-creation-journal.js.map +1 -1
  34. package/sdk/dist/node/gitvault-degraded-read.d.ts +120 -0
  35. package/sdk/dist/node/gitvault-degraded-read.d.ts.map +1 -0
  36. package/sdk/dist/node/gitvault-degraded-read.js +164 -0
  37. package/sdk/dist/node/gitvault-degraded-read.js.map +1 -0
  38. package/sdk/dist/node/gitvault-mirror-backend.d.ts +73 -0
  39. package/sdk/dist/node/gitvault-mirror-backend.d.ts.map +1 -1
  40. package/sdk/dist/node/gitvault-mirror-backend.js +114 -8
  41. package/sdk/dist/node/gitvault-mirror-backend.js.map +1 -1
  42. package/sdk/dist/node/gitvault-mirror-config.d.ts +17 -1
  43. package/sdk/dist/node/gitvault-mirror-config.d.ts.map +1 -1
  44. package/sdk/dist/node/gitvault-mirror-config.js +21 -0
  45. package/sdk/dist/node/gitvault-mirror-config.js.map +1 -1
  46. package/sdk/dist/node/gitvault-mirror.d.ts +42 -0
  47. package/sdk/dist/node/gitvault-mirror.d.ts.map +1 -1
  48. package/sdk/dist/node/gitvault-mirror.js +162 -1
  49. package/sdk/dist/node/gitvault-mirror.js.map +1 -1
  50. package/sdk/dist/node/gitvault-publication.d.ts +51 -1
  51. package/sdk/dist/node/gitvault-publication.d.ts.map +1 -1
  52. package/sdk/dist/node/gitvault-publication.js +88 -6
  53. package/sdk/dist/node/gitvault-publication.js.map +1 -1
@@ -87,6 +87,10 @@ export interface GitvaultCreationJournal {
87
87
  project_id: string | null;
88
88
  /** Set only for a push-to-create journal (task 4.5); `null` otherwise. */
89
89
  push_to_create: GitvaultPushToCreateAddress | null;
90
+ /** gitvault-byo-primary-bucket task 3.1 — `"byo"` when this journal requested a BYO vault at open time; `null` (managed, byte-identical to today) otherwise. Set once at open, never changes across the journal's life (mirrors `push_to_create`'s own resumability-key discipline). */
91
+ storage_profile: "byo" | null;
92
+ /** Set iff `storage_profile === "byo"`; `null` otherwise. */
93
+ byo_destination: string | null;
90
94
  creator_signing_fingerprint: string;
91
95
  creator_encryption_fingerprint: string;
92
96
  created_at: string;
@@ -142,6 +146,9 @@ export type GitvaultAllocateRequest = {
142
146
  creator_signing_pubkey: string;
143
147
  /** Raw X25519 public key, canonical base64url (43 chars, decodes to 32 bytes). */
144
148
  creator_encryption_pubkey: string;
149
+ /** gitvault-byo-primary-bucket task 3.1/3.5 — omitted/absent is byte-identical to today ("managed"). Present only to request a BYO vault; `byo_destination` is the address only, never credential material (D2). */
150
+ storage_profile?: "byo";
151
+ byo_destination?: string;
145
152
  } | {
146
153
  /**
147
154
  * Push-to-create (repo-first-onramp task 4.4/4.5, design D6):
@@ -155,6 +162,8 @@ export type GitvaultAllocateRequest = {
155
162
  repo_name: string;
156
163
  creator_signing_pubkey: string;
157
164
  creator_encryption_pubkey: string;
165
+ storage_profile?: "byo";
166
+ byo_destination?: string;
158
167
  };
159
168
  export interface GitvaultPutObjectRequest {
160
169
  repo_id: string;
@@ -163,6 +172,11 @@ export interface GitvaultPutObjectRequest {
163
172
  /** What the client expects the server to acknowledge — the server's receipt is compared against it. */
164
173
  expected_sha256: string;
165
174
  expected_size_bytes: string;
175
+ /** gitvault-byo-primary-bucket task 3.2 — present iff this vault is `storage_profile: "byo"`; the object is written directly to `byo.destination` (never run402's own bucket). Omitted is byte-identical to today. */
176
+ byo?: {
177
+ destination: import("./gitvault-mirror-config.js").GitvaultMirrorDestination;
178
+ credential?: import("./gitvault-mirror-config.js").GitvaultMirrorCredential;
179
+ };
166
180
  }
167
181
  export interface GitvaultObjectReceipt {
168
182
  stored_bytes_sha256: string;
@@ -222,6 +236,35 @@ export interface GitvaultCreationOptions {
222
236
  push_to_create?: GitvaultPushToCreateAddress;
223
237
  /** Resume an existing journal, or pin the idempotency key (tests). Fresh CSPRNG when omitted. */
224
238
  client_creation_id?: string;
239
+ /**
240
+ * gitvault-byo-primary-bucket task 3.1/3.5 — request a BYO vault at
241
+ * allocation. Omitted (the default) is byte-identical to today. The
242
+ * caller MUST have already run the allocation-time bucket probe
243
+ * ({@link ../node/gitvault-byo-probe.js probeGitvaultByoDestination})
244
+ * against `byo_destination` BEFORE reaching here — this option only
245
+ * threads the already-validated request through; it does not probe.
246
+ */
247
+ storage_profile?: "byo";
248
+ /** Required iff `storage_profile === "byo"` — the destination ADDRESS only (never credential material, D2). */
249
+ byo_destination?: string;
250
+ /**
251
+ * gitvault-byo-primary-bucket task 3.1/3.2 — the LOCAL write target that
252
+ * drives the genesis `key_envelope`'s own PUT (the one object every
253
+ * vault creates, and the one this class's own `run()` writes directly,
254
+ * bypassing `GitvaultVault.uploadAll`'s resolver since no `GitvaultVault`
255
+ * exists yet at creation time). Deliberately NOT persisted into the
256
+ * journal file (unlike `storage_profile`/`byo_destination` above) — a
257
+ * credential name is a local, per-invocation fact the caller resupplies
258
+ * on every call, exactly like `service_public_key` already is. Required
259
+ * when `storage_profile === "byo"` and this call needs to reach
260
+ * OBJECTS_PREPARED/OBJECTS_FINALIZED; a resume that omits it fails
261
+ * closed at the object-PUT step rather than silently writing to
262
+ * run402's own bucket.
263
+ */
264
+ byo_write_target?: {
265
+ destination: import("./gitvault-mirror-config.js").GitvaultMirrorDestination;
266
+ credential?: import("./gitvault-mirror-config.js").GitvaultMirrorCredential;
267
+ };
225
268
  /** Clock injection. */
226
269
  now?: () => Date;
227
270
  /** Optional pinned service public key for allocation-signature verification (5.4 supplies it from the registry). */
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault-creation-journal.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-creation-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault-creation-journal.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-creation-journal.ts"],"names":[],"mappings":"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"}
@@ -173,9 +173,16 @@ export class GitvaultCreation {
173
173
  // compares its OWN address (`push_to_create` never changes across a
174
174
  // journal's life, unlike `org_id`/`project_id`, which start null there
175
175
  // and get pinned from the allocation response).
176
- const mismatch = usingPushToCreate
176
+ const mismatch = (usingPushToCreate
177
177
  ? existing.push_to_create === null || existing.push_to_create.org_slug !== options.push_to_create.org_slug || existing.push_to_create.repo_name !== options.push_to_create.repo_name
178
- : existing.push_to_create !== null || existing.org_id !== options.org_id || existing.project_id !== options.project_id;
178
+ : existing.push_to_create !== null || existing.org_id !== options.org_id || existing.project_id !== options.project_id)
179
+ // gitvault-byo-primary-bucket task 3.1: a resumed journal's own
180
+ // storage_profile/byo_destination are the RESUMABILITY KEY, exactly
181
+ // like push_to_create's address above — a resume that silently
182
+ // changed which bucket it was asking for would be worse than
183
+ // refusing and starting a fresh attempt.
184
+ || existing.storage_profile !== (options.storage_profile ?? null)
185
+ || existing.byo_destination !== (options.byo_destination ?? null);
179
186
  if (mismatch) {
180
187
  fail("VAULT_CREATION_CONFLICT", "journal belongs to a different org/project (or addressing form)", "resuming gitvault creation", { client_creation_id: id });
181
188
  }
@@ -192,6 +199,8 @@ export class GitvaultCreation {
192
199
  org_id: usingPushToCreate ? null : options.org_id,
193
200
  project_id: usingPushToCreate ? null : options.project_id,
194
201
  push_to_create: options.push_to_create ?? null,
202
+ storage_profile: options.storage_profile ?? null,
203
+ byo_destination: options.byo_destination ?? null,
195
204
  creator_signing_fingerprint: identity.signing_fingerprint,
196
205
  creator_encryption_fingerprint: identity.encryption_fingerprint,
197
206
  created_at: at,
@@ -303,6 +312,12 @@ export class GitvaultCreation {
303
312
  if (this.journal.stage === "LOCAL_KEYS_PREPARED") {
304
313
  // PUBKEYS on the request; the returned record carries the fingerprints
305
314
  // the gateway derives from them. See GitvaultAllocateRequest.
315
+ // gitvault-byo-primary-bucket task 3.1: the journal's own
316
+ // storage_profile/byo_destination are the pinned request — set once
317
+ // at open, resumability-checked above — never re-derived from a
318
+ // fresh call's options (a resume never re-decides what it is asking
319
+ // for).
320
+ const byoFields = this.journal.storage_profile === "byo" ? { storage_profile: "byo", byo_destination: this.journal.byo_destination } : {};
306
321
  const request = this.journal.push_to_create
307
322
  ? {
308
323
  client_creation_id: this.journal.client_creation_id,
@@ -310,6 +325,7 @@ export class GitvaultCreation {
310
325
  repo_name: this.journal.push_to_create.repo_name,
311
326
  creator_signing_pubkey: identity.signing_pubkey,
312
327
  creator_encryption_pubkey: identity.encryption_pubkey,
328
+ ...byoFields,
313
329
  }
314
330
  : {
315
331
  client_creation_id: this.journal.client_creation_id,
@@ -317,6 +333,7 @@ export class GitvaultCreation {
317
333
  project_id: this.journal.project_id,
318
334
  creator_signing_pubkey: identity.signing_pubkey,
319
335
  creator_encryption_pubkey: identity.encryption_pubkey,
336
+ ...byoFields,
320
337
  };
321
338
  let allocation;
322
339
  try {
@@ -403,7 +420,21 @@ export class GitvaultCreation {
403
420
  object.finalized = true;
404
421
  continue;
405
422
  }
406
- const receipt = await this.transport.putObject({ repo_id: repoId, path: object.path, bytes, expected_sha256: object.stored_bytes_sha256, expected_size_bytes: object.size_bytes });
423
+ const receipt = await this.transport.putObject({
424
+ repo_id: repoId,
425
+ path: object.path,
426
+ bytes,
427
+ expected_sha256: object.stored_bytes_sha256,
428
+ expected_size_bytes: object.size_bytes,
429
+ // gitvault-byo-primary-bucket task 3.1/3.2: the genesis
430
+ // key_envelope is a payload object — for a BYO vault it is
431
+ // written directly to the customer's own destination, never
432
+ // run402's bucket. `byo_write_target` is in-memory-only
433
+ // (`GitvaultCreationOptions`'s own doc comment) — a resume that
434
+ // omits it fails closed downstream in `upload()` rather than
435
+ // silently defaulting to the managed path.
436
+ ...(this.journal.storage_profile === "byo" && this.options.byo_write_target ? { byo: this.options.byo_write_target } : {}),
437
+ });
407
438
  if (receipt.stored_bytes_sha256 !== object.stored_bytes_sha256 || receipt.size_bytes !== object.size_bytes) {
408
439
  this.refuse("VAULT_CREATION_CONFLICT", "the server's finalization receipt does not match the local manifest", { path: object.path, receipt });
409
440
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gitvault-creation-journal.js","sourceRoot":"","sources":["../../src/node/gitvault-creation-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitvault-creation-journal.js","sourceRoot":"","sources":["../../src/node/gitvault-creation-journal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,kCAAkC,EAClC,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,SAAS,EACT,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAS1C,OAAO,EAAoB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,gFAAgF;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,qBAAqB;IACrB,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,QAAQ;CACA,CAAC;AAsPX,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,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7I,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,oBAA4B;IAC/D,OAAO,aAAa,KAAK,IAAI,oBAAoB,EAAE,CAAC;AACtD,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,mBAAmB,CAAC,QAA0B,EAAE,gBAAwB;IACtF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAAE,IAAI,CAAC,iBAAiB,EAAE,6CAA6C,EAAE,iCAAiC,CAAC,CAAC;IACxJ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,gBAAgB,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA0B,EAAE,gBAAwB;IACtF,MAAM,IAAI,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;IAC5D,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,0BAA0B,EAAE,sDAAsD,EAAE,mCAAmC,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1K,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,8BAA8B,CAAC,QAA0B;IACvE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QACzC,MAAM,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAA0B,EAAE,KAAa,EAAE,SAAiB;IACvG,MAAM,UAAU,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAC3G,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,QAA0B,EAAE,OAAe,EAAE,QAAgB;IAC5G,MAAM,UAAU,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,cAAc,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAC3I,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC;AACxB,CAAC;AAED,MAAM,OAAO,gBAAgB;IACV,QAAQ,CAAmB;IAC3B,SAAS,CAA4B;IACrC,GAAG,CAAa;IAChB,OAAO,CAA0B;IAC1C,OAAO,CAA0B;IACjC,OAAO,GAAG,KAAK,CAAC;IAExB,YAAoB,OAAgC,EAAE,OAAgC,EAAE,OAAgB;QACtG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAAgC;QAC1C,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;QAC/D,IAAI,iBAAiB,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7F,IAAI,CAAC,sBAAsB,EAAE,mFAAmF,EAAE,2BAA2B,CAAC,CAAC;QACjJ,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,EAAE,mFAAmF,EAAE,2BAA2B,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACvO,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,qEAAqE;YACrE,uEAAuE;YACvE,mEAAmE;YACnE,sEAAsE;YACtE,oEAAoE;YACpE,uEAAuE;YACvE,gDAAgD;YAChD,MAAM,QAAQ,GAAG,CAAC,iBAAiB;gBACjC,CAAC,CAAC,QAAQ,CAAC,cAAc,KAAK,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,KAAK,OAAO,CAAC,cAAe,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,cAAe,CAAC,SAAS;gBACtL,CAAC,CAAC,QAAQ,CAAC,cAAc,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC;gBACvH,gEAAgE;gBAChE,oEAAoE;gBACpE,+DAA+D;gBAC/D,6DAA6D;gBAC7D,yCAAyC;mBACtC,QAAQ,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;mBAC9D,QAAQ,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,yBAAyB,EAAE,iEAAiE,EAAE,4BAA4B,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/J,CAAC;YACD,IAAI,QAAQ,CAAC,2BAA2B,KAAK,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,8BAA8B,KAAK,QAAQ,CAAC,sBAAsB,EAAE,CAAC;gBACzJ,IAAI,CAAC,yBAAyB,EAAE,8EAA8E,EAAE,4BAA4B,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5K,CAAC;YACD,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,GAAG,uBAAuB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAA4B;YACvC,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,qBAAqB;YAC5B,kBAAkB,EAAE,EAAE;YACtB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAO;YAClD,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAW;YAC1D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,2BAA2B,EAAE,QAAQ,CAAC,mBAAmB;YACzD,8BAA8B,EAAE,QAAQ,CAAC,sBAAsB;YAC/D,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACpF,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7J,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAA4B,EAAE,KAAuC;QACzF,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEO,MAAM,CAAC,IAAoF,EAAE,OAAe,EAAE,OAAiC;QACrJ,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChI,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,yBAAyB,CAAC,GAAY;QAClD,MAAM,CAAC,GAAG,GAAkE,CAAC;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,CAAC,CAAC,+DAA+D;QAEvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,YAAY,GAAsB,IAAI,CAAC;YAC3C,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,IAAI,CAAC,CAAC,qGAAqG;YAC5H,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC3E,OAAO;wBACL,OAAO,EAAE,MAAM;wBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,cAAc,EAAE,WAAW;wBAC3B,gBAAgB,EAAE,OAAO;wBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,GAAG,EAAE,YAAY;qBAClB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,CACF,yBAAyB,EACzB,oDAAoD,MAAM,yEAAyE,EACnI,+BAA+B,EAC/B,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EACrF;YACE,EAAE,MAAM,EAAE,qIAAqI,EAAE;YACjJ,GAAG,wBAAwB,CAAC,MAAM,CAAC;SACpC,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,oGAAoG,EAAE,4BAA4B,EAAE;gBAClK,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;gBACnD,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAE,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAE,CAAC;QAE9D,qBAAqB;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;YACjD,uEAAuE;YACvE,8DAA8D;YAC9D,0DAA0D;YAC1D,oEAAoE;YACpE,gEAAgE;YAChE,oEAAoE;YACpE,QAAQ;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAc,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpJ,MAAM,OAAO,GAA4B,IAAI,CAAC,OAAO,CAAC,cAAc;gBAClE,CAAC,CAAC;oBACE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;oBACnD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ;oBAC9C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS;oBAChD,sBAAsB,EAAE,QAAQ,CAAC,cAAc;oBAC/C,yBAAyB,EAAE,QAAQ,CAAC,iBAAiB;oBACrD,GAAG,SAAS;iBACb;gBACH,CAAC,CAAC;oBACE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;oBACnD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;oBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;oBACpC,sBAAsB,EAAE,QAAQ,CAAC,cAAc;oBAC/C,yBAAyB,EAAE,QAAQ,CAAC,iBAAiB;oBACrD,GAAG,SAAS;iBACb,CAAC;YACN,IAAI,UAA8B,CAAC;YACnC,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,8DAA8D;gBAC9D,+DAA+D;gBAC/D,qEAAqE;gBACrE,oEAAoE;gBACpE,0DAA0D;gBAC1D,qEAAqE;gBACrE,qCAAqC;gBACrC,MAAM,IAAI,GAAI,CAA8B,EAAE,IAAI,CAAC;gBACnD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAI,CAAkD,EAAE,OAAO,CAAC;oBAC7E,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,gEAAgE,EAAE,OAAO,CAAC,CAAC;gBACnH,CAAC;gBACD,qEAAqE;gBACrE,iEAAiE;gBACjE,kEAAkE;gBAClE,iEAAiE;gBACjE,kEAAkE;gBAClE,iEAAiE;gBACjE,gEAAgE;gBAChE,oDAAoD;gBACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBACvE,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YACD,iEAAiE;YACjE,4EAA4E;YAC5E,uEAAuE;YACvE,8DAA8D;YAC9D,uDAAuD;YACvD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC9B,UAAU;gBACV,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM;gBAChD,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU;aAC7D,CAAC,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,MAAM,KAAK,GAAG,sBAAsB,CAAC;QAErC,yEAAyE;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,MAAM;gBACf,KAAK;gBACL,oBAAoB,EAAE,UAAU,CAAC,UAAU;gBAC3C,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAChD,CAAC,CAAC;YACH,MAAM,MAAM,GAA4B;gBACtC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBAC/D,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC5C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,KAAK;aACjB,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,yFAAyF;QACzF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,SAAS;oBAAE,SAAS;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC/C,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;oBAClG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,0FAA0F,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5J,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtF,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,4DAA4D,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChK,CAAC;oBACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBAC7C,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK;oBACL,eAAe,EAAE,MAAM,CAAC,mBAAmB;oBAC3C,mBAAmB,EAAE,MAAM,CAAC,UAAU;oBACtC,wDAAwD;oBACxD,2DAA2D;oBAC3D,4DAA4D;oBAC5D,wDAAwD;oBACxD,gEAAgE;oBAChE,6DAA6D;oBAC7D,2CAA2C;oBAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3H,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,mBAAmB,KAAK,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC3G,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,qEAAqE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChJ,CAAC;gBACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,2FAA2F;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC;YAC1F,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC,CAAC;YACrG,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,OAAO,EAAE,MAAM;gBACf,+DAA+D;gBAC/D,+DAA+D;gBAC/D,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;gBACpC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,eAAe,EAAE,OAAO;gBACxB,6BAA6B,EAAE,UAAU,CAAC,UAAU;gBACpD,gBAAgB,EAAE,cAAc,CAAC,OAAO;gBACxC,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAChD,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAwB,CAAC;YACtI,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvI,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,OAA0C,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1I,CAAC;QAED,6EAA6E;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAQ,CAAC;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,OAA0C,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,2DAA2D,CAAC,CAAC;YAC9I,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,+FAA+F,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/K,IAAI,MAAM,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,yEAAyE,EAAE,EAAE,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAC/K,CAAC;gBACD,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,oEAAoE,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC5J,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACnC,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;gBACpC,cAAc,EAAE,IAAI;gBACpB,eAAe,EAAE,OAAO;gBACxB,6BAA6B,EAAE,UAAU,CAAC,UAAU;aACrD,CAAC,CAAC;YACH,wFAAwF;YACxF,gGAAgG;YAChG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACrB,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;gBACpC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;gBACpC,KAAK;gBACL,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,IAAI;gBAC1B,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;YAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW;YACpC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAe;YAC5C,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAiB;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAC7C,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,UAA8B;QACrD,MAAM,QAAQ,GAAG,eAAe,CAC9B,UAAU,EACV;YACE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACnD,2BAA2B,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B;YACrE,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,8BAA8B;YAC3E,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS;YACxC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS;SACjD,EACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,6BAA6B,EAAE,iDAAiD,EAAE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxI,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,wEAAwE,EAAE,EAAE,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC9K,CAAC;IACH,CAAC;CACF;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgC;IACnE,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9C,CAAC;AAYD,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,SAAS,EAAE,gCAAgC;QAC3C,WAAW,EAAE,kCAAkC;QAC/C,mBAAmB,EAAE,wPAAwP;KAC9Q,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,SAAS,IAAI,CAAC,KAAiB;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,CAAa,EAAE,CAAa;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACzD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT } from "../namespaces/gitvault.crypto.js";
2
+ import type { GitvaultHeadTarget } from "../namespaces/gitvault.types.js";
3
+ import type { GitvaultKeystore } from "./gitvault-keystore.js";
4
+ import { type GitvaultMirrorBackend } from "./gitvault-mirror-backend.js";
5
+ import type { GitvaultRetainedRefsReconcileResult } from "./gitvault-publication.js";
6
+ /**
7
+ * Trigger discipline (design D4): a chain/payload read falls back ONLY on a
8
+ * genuinely network-class failure — the underlying `fetch` threw before a
9
+ * response existed, or the gateway answered with a 5xx. An authorization
10
+ * refusal (401/403/404, or any other 4xx) must NEVER silently reroute to the
11
+ * mirror, so it is excluded even when it happens to arrive with no `.status`
12
+ * (see below).
13
+ *
14
+ * Two wrinkles in how a gitvault read actually fails, both handled here:
15
+ *
16
+ * 1. Most gitvault byte reads (`getGenerationBytes`/`getObjectBytes` in
17
+ * `gitvault-publication.ts`, and this file's own mirror backend) call the
18
+ * injected `fetch` DIRECTLY rather than the kernel's typed
19
+ * `client.request()` — a raw connection/DNS failure therefore propagates
20
+ * UNBRANDED (a plain `TypeError`, never a `Run402Error`). That is, in
21
+ * practice, the primary shape a real "run402 is unreachable" outage
22
+ * takes, so an unbranded throw is treated as network-class.
23
+ * 2. When those SAME call sites DO get a response but it is not `ok`, they
24
+ * throw via `gitvault-publication.ts`'s own local `fail()` helper — a
25
+ * `LocalError` whose real HTTP status rides in `details.status`, never on
26
+ * `e.status` itself (`LocalError` always passes `status: null` to the
27
+ * `Run402Error` constructor). This function reads BOTH places so a 5xx
28
+ * reaching through either path is classified alike, and a 4xx through
29
+ * either path is excluded alike.
30
+ */
31
+ export declare function isNetworkClassGitvaultReadError(e: unknown): boolean;
32
+ /** `s3://bucket/prefix` or a directory path — never a credential, same redaction `mirrorStatus` already prints. */
33
+ export interface GitvaultDegradedReadSource {
34
+ /** `"byo"` when this vault's own primary destination served the fallback (gitvault-byo-primary-bucket task 3.4); `"mirror"` for the opt-in customer mirror — see {@link resolveDegradedReadSource}'s precedence. */
35
+ kind: "mirror" | "byo";
36
+ destination: string;
37
+ credential_kind: "profile" | "ambient" | null;
38
+ }
39
+ /** One degraded chain/payload read, served from {@link GitvaultDegradedReadSource} via `r402s-recover`. */
40
+ export interface GitvaultDegradedReadResult {
41
+ degraded: true;
42
+ source: GitvaultDegradedReadSource;
43
+ refs: Record<string, string>;
44
+ head_target: GitvaultHeadTarget;
45
+ generation: string;
46
+ retained_refs: GitvaultRetainedRefsReconcileResult;
47
+ validity_not_freshness: typeof GITVAULT_MIRROR_VALIDITY_NOT_FRESHNESS_STATEMENT;
48
+ }
49
+ interface ResolvedDegradedReadSource extends GitvaultDegradedReadSource {
50
+ backend: GitvaultMirrorBackend;
51
+ }
52
+ /**
53
+ * The small seam design D4 calls out: which client-side destination a
54
+ * degraded read should serve from, for one vault.
55
+ *
56
+ * Precedence (gitvault-byo-primary-bucket task 3.4): the opt-in customer
57
+ * MIRROR wins when BOTH a mirror and a BYO write config are configured
58
+ * locally on THIS machine. A BYO vault's own primary destination is
59
+ * ALWAYS a complete `r402s-recover` source on its own (task 3.3's whole
60
+ * point), so this is not a completeness question — it keeps the
61
+ * PRE-EXISTING, already-shipped mirror substrate's behavior byte-identical
62
+ * (a machine that already has a working mirror configured for degraded
63
+ * reads keeps using it) rather than silently switching sources the moment
64
+ * a BYO local config also exists. The BYO branch is the fallback: read
65
+ * ONLY when no mirror is configured — no network call either way, purely
66
+ * local file reads, matching this function's own "never touches the
67
+ * network" contract.
68
+ */
69
+ export declare function resolveDegradedReadSource(keystore: GitvaultKeystore, repoId: string): ResolvedDegradedReadSource | null;
70
+ export interface GitvaultDegradedReadLive {
71
+ refs: Record<string, string>;
72
+ head_target: GitvaultHeadTarget;
73
+ generation: string;
74
+ }
75
+ export interface TryGitvaultDegradedReadOptions<T extends GitvaultDegradedReadLive> {
76
+ /** The caller's own live gateway call (e.g. `vault.materialize()` or `vault.restoreObjectsInto(dir)`) — this module has no opinion on which. */
77
+ attemptLive: () => Promise<T>;
78
+ keystore: GitvaultKeystore;
79
+ repo_id: string;
80
+ /**
81
+ * Where a degraded materialization writes objects (`recoverGitvaultMirror`'s
82
+ * own `out_dir` — a bare-shaped, git-proven repository, e.g. the resolved
83
+ * `GIT_DIR` from `resolveGitInvocationRepo`; never guessed from `cwd`).
84
+ * `null` disables the fallback entirely — a repo-free read (a bare
85
+ * `git ls-remote` outside any checkout) has nowhere to materialize into,
86
+ * so it surfaces the original gateway error exactly as it always did.
87
+ */
88
+ out_dir: string | null;
89
+ /** Test/advanced hook: an already-opened backend, bypassing {@link resolveDegradedReadSource}'s config resolution — mirrors `GitvaultMirrorSyncOptions`'s own `backend` override. */
90
+ backend?: GitvaultMirrorBackend;
91
+ }
92
+ export type GitvaultDegradedReadOutcome<T extends GitvaultDegradedReadLive> = {
93
+ degraded: false;
94
+ live: T;
95
+ } | {
96
+ degraded: true;
97
+ result: GitvaultDegradedReadResult;
98
+ };
99
+ /**
100
+ * Attempt `options.attemptLive`, with ONE bounded retry on a network-class
101
+ * failure (so a transient blip does not flap between sources — design D4).
102
+ * A non-network-class failure (an authorization refusal, or any other 4xx;
103
+ * a protocol/chain error with no status signal at all) is NEVER retried and
104
+ * NEVER falls back — it rethrows the ORIGINAL error UNCHANGED, exactly as a
105
+ * non-degraded caller would see it.
106
+ *
107
+ * After the retry budget is exhausted on a genuinely network-class failure:
108
+ * with no fallback source configured (or `out_dir: null`), the ORIGINAL
109
+ * error is rethrown UNCHANGED — never wrapped, never re-typed, so its
110
+ * `code`/`status`/`kind` survive for the caller exactly as they would
111
+ * without this wrapper. Only the caller's own stderr hint may change.
112
+ * With a fallback source, this degrades via the SHIPPED `r402s-recover`
113
+ * engine (`recoverGitvaultMirror`) against it, returning
114
+ * `{ degraded: true, result }` — a genuine recovery failure (an incomplete
115
+ * or unreadable mirror) propagates from THAT call as its own honest error,
116
+ * never silently swallowed back into the original gateway failure.
117
+ */
118
+ export declare function tryGitvaultDegradedRead<T extends GitvaultDegradedReadLive>(options: TryGitvaultDegradedReadOptions<T>): Promise<GitvaultDegradedReadOutcome<T>>;
119
+ export {};
120
+ //# sourceMappingURL=gitvault-degraded-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitvault-degraded-read.d.ts","sourceRoot":"","sources":["../../src/node/gitvault-degraded-read.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,gDAAgD,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErG,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,+BAA+B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAKnE;AAYD,mHAAmH;AACnH,MAAM,WAAW,0BAA0B;IACzC,oNAAoN;IACpN,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;CAC/C;AAED,2GAA2G;AAC3G,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,0BAA0B,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,mCAAmC,CAAC;IACnD,sBAAsB,EAAE,OAAO,gDAAgD,CAAC;CACjF;AAED,UAAU,0BAA2B,SAAQ,0BAA0B;IACrE,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAUvH;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,wBAAwB;IAChF,gJAAgJ;IAChJ,WAAW,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qLAAqL;IACrL,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,IACtE;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5B;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,wBAAwB,EAC9E,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CA8BzC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * gitvault-byo-primary-bucket — degraded read mode (design D4, task 3.4,
3
+ * MIRROR HALF ONLY). Turns a gateway chain/payload read that fails with a
4
+ * NETWORK-CLASS error into a transparent fallback served from the vault's
5
+ * client-side mirror, so `git fetch`/`clone` keep working while run402 is
6
+ * down.
7
+ *
8
+ * This is deliberately NOT a second implementation of anything: the fallback
9
+ * reuses `r402s-recover` (`gitvault-recover.ts`'s `recoverGitvaultMirror`)
10
+ * verbatim — the SAME chain-verification, absence adjudication, and
11
+ * decrypt/materialize machinery `run402 repos recover` already ships. The
12
+ * module doc there says it plainly: "recovery is the keyed offline subset
13
+ * of machinery that already exists." This file's own job is narrow —
14
+ * trigger discipline (network-class only, never 4xx), a bounded retry
15
+ * against the gateway first, and resolving WHICH client-side destination to
16
+ * fall back to — never a second chain-verifier and never a second S3/backend
17
+ * reader.
18
+ *
19
+ * Local trust: this module never touches the LIVE vault's own keystore pins
20
+ * (`head_pin` / `verified_prefix` / `materialized_pin`, written by
21
+ * `GitvaultVault.verifyToNewest`/`materialize` against the live transport) —
22
+ * a degraded read runs an entirely separate engine (`recoverGitvaultMirror`,
23
+ * which only ever calls `keystore.readIdentity`/`readRecoveryReceipt`, never
24
+ * `keystore.updateRepo`) against a `GitvaultMirrorBackend`. So "local trust
25
+ * pins advance only as far as the copy chain-verifies" holds by
26
+ * construction: there is no code path here that could advance a live pin
27
+ * past what the mirror copy itself proved.
28
+ *
29
+ * WRITES ARE NEVER REROUTED. This module exports only READ machinery; the
30
+ * caller's own push/admission path is untouched — see the client-surface
31
+ * doc's own D194 citation ("admission is irreducibly live-server").
32
+ */
33
+ import { isRun402Error } from "../errors.js";
34
+ import { readByoConfig } from "./gitvault-byo-config.js";
35
+ import { formatMirrorDestination, readMirrorConfig } from "./gitvault-mirror-config.js";
36
+ import { openGitvaultMirrorBackend } from "./gitvault-mirror-backend.js";
37
+ import { recoverGitvaultMirror } from "./gitvault-recover.js";
38
+ /**
39
+ * Trigger discipline (design D4): a chain/payload read falls back ONLY on a
40
+ * genuinely network-class failure — the underlying `fetch` threw before a
41
+ * response existed, or the gateway answered with a 5xx. An authorization
42
+ * refusal (401/403/404, or any other 4xx) must NEVER silently reroute to the
43
+ * mirror, so it is excluded even when it happens to arrive with no `.status`
44
+ * (see below).
45
+ *
46
+ * Two wrinkles in how a gitvault read actually fails, both handled here:
47
+ *
48
+ * 1. Most gitvault byte reads (`getGenerationBytes`/`getObjectBytes` in
49
+ * `gitvault-publication.ts`, and this file's own mirror backend) call the
50
+ * injected `fetch` DIRECTLY rather than the kernel's typed
51
+ * `client.request()` — a raw connection/DNS failure therefore propagates
52
+ * UNBRANDED (a plain `TypeError`, never a `Run402Error`). That is, in
53
+ * practice, the primary shape a real "run402 is unreachable" outage
54
+ * takes, so an unbranded throw is treated as network-class.
55
+ * 2. When those SAME call sites DO get a response but it is not `ok`, they
56
+ * throw via `gitvault-publication.ts`'s own local `fail()` helper — a
57
+ * `LocalError` whose real HTTP status rides in `details.status`, never on
58
+ * `e.status` itself (`LocalError` always passes `status: null` to the
59
+ * `Run402Error` constructor). This function reads BOTH places so a 5xx
60
+ * reaching through either path is classified alike, and a 4xx through
61
+ * either path is excluded alike.
62
+ */
63
+ export function isNetworkClassGitvaultReadError(e) {
64
+ if (!isRun402Error(e))
65
+ return true;
66
+ if (e.kind === "network_error")
67
+ return true;
68
+ const status = gitvaultReadErrorStatus(e);
69
+ return typeof status === "number" && status >= 500;
70
+ }
71
+ function gitvaultReadErrorStatus(e) {
72
+ if (typeof e.status === "number")
73
+ return e.status;
74
+ const details = e.details;
75
+ if (details && typeof details === "object" && !Array.isArray(details)) {
76
+ const s = details.status;
77
+ if (typeof s === "number")
78
+ return s;
79
+ }
80
+ return null;
81
+ }
82
+ /**
83
+ * The small seam design D4 calls out: which client-side destination a
84
+ * degraded read should serve from, for one vault.
85
+ *
86
+ * Precedence (gitvault-byo-primary-bucket task 3.4): the opt-in customer
87
+ * MIRROR wins when BOTH a mirror and a BYO write config are configured
88
+ * locally on THIS machine. A BYO vault's own primary destination is
89
+ * ALWAYS a complete `r402s-recover` source on its own (task 3.3's whole
90
+ * point), so this is not a completeness question — it keeps the
91
+ * PRE-EXISTING, already-shipped mirror substrate's behavior byte-identical
92
+ * (a machine that already has a working mirror configured for degraded
93
+ * reads keeps using it) rather than silently switching sources the moment
94
+ * a BYO local config also exists. The BYO branch is the fallback: read
95
+ * ONLY when no mirror is configured — no network call either way, purely
96
+ * local file reads, matching this function's own "never touches the
97
+ * network" contract.
98
+ */
99
+ export function resolveDegradedReadSource(keystore, repoId) {
100
+ const config = readMirrorConfig(keystore, repoId);
101
+ if (config) {
102
+ const backend = openGitvaultMirrorBackend(config.destination, repoId, config.credential);
103
+ return { kind: "mirror", backend, destination: formatMirrorDestination(config.destination), credential_kind: config.credential?.kind ?? null };
104
+ }
105
+ const byo = readByoConfig(keystore, repoId);
106
+ if (!byo)
107
+ return null;
108
+ const backend = openGitvaultMirrorBackend(byo.destination, repoId, byo.credential);
109
+ return { kind: "byo", backend, destination: formatMirrorDestination(byo.destination), credential_kind: byo.credential?.kind ?? null };
110
+ }
111
+ /**
112
+ * Attempt `options.attemptLive`, with ONE bounded retry on a network-class
113
+ * failure (so a transient blip does not flap between sources — design D4).
114
+ * A non-network-class failure (an authorization refusal, or any other 4xx;
115
+ * a protocol/chain error with no status signal at all) is NEVER retried and
116
+ * NEVER falls back — it rethrows the ORIGINAL error UNCHANGED, exactly as a
117
+ * non-degraded caller would see it.
118
+ *
119
+ * After the retry budget is exhausted on a genuinely network-class failure:
120
+ * with no fallback source configured (or `out_dir: null`), the ORIGINAL
121
+ * error is rethrown UNCHANGED — never wrapped, never re-typed, so its
122
+ * `code`/`status`/`kind` survive for the caller exactly as they would
123
+ * without this wrapper. Only the caller's own stderr hint may change.
124
+ * With a fallback source, this degrades via the SHIPPED `r402s-recover`
125
+ * engine (`recoverGitvaultMirror`) against it, returning
126
+ * `{ degraded: true, result }` — a genuine recovery failure (an incomplete
127
+ * or unreadable mirror) propagates from THAT call as its own honest error,
128
+ * never silently swallowed back into the original gateway failure.
129
+ */
130
+ export async function tryGitvaultDegradedRead(options) {
131
+ let lastErr;
132
+ const RETRY_ATTEMPTS = 2; // the live attempt, plus one bounded retry
133
+ for (let attempt = 0; attempt < RETRY_ATTEMPTS; attempt++) {
134
+ try {
135
+ return { degraded: false, live: await options.attemptLive() };
136
+ }
137
+ catch (e) {
138
+ if (!isNetworkClassGitvaultReadError(e))
139
+ throw e;
140
+ lastErr = e;
141
+ }
142
+ }
143
+ if (!options.out_dir)
144
+ throw lastErr;
145
+ const source = options.backend
146
+ ? { kind: "mirror", backend: options.backend, destination: options.backend.describe(), credential_kind: null }
147
+ : resolveDegradedReadSource(options.keystore, options.repo_id);
148
+ if (!source)
149
+ throw lastErr;
150
+ const recovered = await recoverGitvaultMirror({ backend: source.backend, out_dir: options.out_dir, keystore: options.keystore });
151
+ return {
152
+ degraded: true,
153
+ result: {
154
+ degraded: true,
155
+ source: { kind: source.kind, destination: source.destination, credential_kind: source.credential_kind },
156
+ refs: recovered.refs,
157
+ head_target: recovered.head_target,
158
+ generation: recovered.recovered_generation,
159
+ retained_refs: recovered.retained_refs,
160
+ validity_not_freshness: recovered.validity_not_freshness,
161
+ },
162
+ };
163
+ }
164
+ //# sourceMappingURL=gitvault-degraded-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitvault-degraded-read.js","sourceRoot":"","sources":["../../src/node/gitvault-degraded-read.ts"],"names":[],"mappings":"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"}