@indigoai-us/hq-cloud 6.18.104 → 6.18.106

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 (48) hide show
  1. package/dist/bin/legacy-sync-wake.d.ts +25 -0
  2. package/dist/bin/legacy-sync-wake.d.ts.map +1 -0
  3. package/dist/bin/legacy-sync-wake.js +159 -0
  4. package/dist/bin/legacy-sync-wake.js.map +1 -0
  5. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  6. package/dist/bin/sync-runner-company.js +6 -8
  7. package/dist/bin/sync-runner-company.js.map +1 -1
  8. package/dist/bin/sync-runner-watch-loop.d.ts +2 -0
  9. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  10. package/dist/bin/sync-runner-watch-loop.js +76 -1
  11. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  12. package/dist/bin/sync-runner.d.ts +3 -0
  13. package/dist/bin/sync-runner.d.ts.map +1 -1
  14. package/dist/bin/sync-runner.js +9 -0
  15. package/dist/bin/sync-runner.js.map +1 -1
  16. package/dist/cli/conflict.d.ts +8 -2
  17. package/dist/cli/conflict.d.ts.map +1 -1
  18. package/dist/cli/conflict.js +15 -10
  19. package/dist/cli/conflict.js.map +1 -1
  20. package/dist/cli/share.d.ts +8 -0
  21. package/dist/cli/share.d.ts.map +1 -1
  22. package/dist/cli/share.js +231 -30
  23. package/dist/cli/share.js.map +1 -1
  24. package/dist/cli/sync.d.ts.map +1 -1
  25. package/dist/cli/sync.js +33 -2
  26. package/dist/cli/sync.js.map +1 -1
  27. package/dist/lib/same-path-upload-lock.d.ts +39 -1
  28. package/dist/lib/same-path-upload-lock.d.ts.map +1 -1
  29. package/dist/lib/same-path-upload-lock.js +177 -1
  30. package/dist/lib/same-path-upload-lock.js.map +1 -1
  31. package/dist/object-io.d.ts +12 -0
  32. package/dist/object-io.d.ts.map +1 -1
  33. package/dist/object-io.js +28 -1
  34. package/dist/object-io.js.map +1 -1
  35. package/dist/outposts/command.d.ts.map +1 -1
  36. package/dist/outposts/command.js +3 -1
  37. package/dist/outposts/command.js.map +1 -1
  38. package/dist/outposts/company.d.ts +10 -1
  39. package/dist/outposts/company.d.ts.map +1 -1
  40. package/dist/outposts/company.js +17 -0
  41. package/dist/outposts/company.js.map +1 -1
  42. package/dist/sync-core.d.ts +13 -4
  43. package/dist/sync-core.d.ts.map +1 -1
  44. package/dist/sync-core.js +22 -4
  45. package/dist/sync-core.js.map +1 -1
  46. package/dist/types.d.ts +6 -4
  47. package/dist/types.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -20,7 +20,14 @@
20
20
  * Waits are bounded. A waiter that times out proceeds without the lock, which
21
21
  * is the behavior before this module existed (a possible 412 and a parked
22
22
  * copy, never data loss). Separate processes (a one-shot `hq sync` next to the
23
- * runner) are not covered; they keep the conditional-PUT fence.
23
+ * runner) are not covered by the lock; they keep the conditional-PUT fence.
24
+ *
25
+ * The landed records above live in memory, so they die with the process. The
26
+ * durable upload intents at the end of this module cover that gap: a push
27
+ * records the hash it is about to PUT before the request leaves, so a later
28
+ * pass (in any process) can recognise a remote revision as this machine's own
29
+ * write even when the pass that wrote it was killed before its journal row
30
+ * reached disk (feedback_a1696094).
24
31
  */
25
32
  export declare const SAME_PATH_UPLOAD_WAIT_MS = 60000;
26
33
  /** Keys with landed records kept in memory; the oldest key is evicted first. */
@@ -97,7 +104,38 @@ export declare class SamePathUploadSupersededError extends Error {
97
104
  readonly relativePath: string;
98
105
  constructor(relativePath: string);
99
106
  }
107
+ /** Intents older than this are ignored and their files removed. */
108
+ export declare const UPLOAD_INTENT_MAX_AGE_MS: number;
109
+ export interface UploadIntentToken {
110
+ file: string;
111
+ id: number;
112
+ }
113
+ /** An upload this machine started and may never have recorded. */
114
+ export interface UploadIntent {
115
+ relativePath: string;
116
+ hash: string;
117
+ recordedAtMs: number;
118
+ }
119
+ /**
120
+ * Record, before its PUT is sent, that this process is about to upload `hash`
121
+ * to `relativePath` in `scope` (the journal slug). Best effort: a failure to
122
+ * record leaves the upload exactly as safe as it was before intents existed.
123
+ */
124
+ export declare function recordUploadIntent(scope: string, relativePath: string, hash: string): UploadIntentToken | undefined;
125
+ /**
126
+ * Forget an intent once its upload is settled: the PUT failed, or its journal
127
+ * row is on disk. Safe to call with `undefined`.
128
+ */
129
+ export declare function settleUploadIntent(token: UploadIntentToken | undefined): void;
130
+ /**
131
+ * The newest unsettled upload of `hash` to `relativePath` that any process on
132
+ * this machine recorded for `scope`, if one exists. `notBeforeMs` is the time
133
+ * the caller's journal row was written: an intent older than that row has
134
+ * already been accounted for and is ignored.
135
+ */
136
+ export declare function findUploadIntent(scope: string, relativePath: string, hash: string, notBeforeMs?: number): UploadIntent | undefined;
100
137
  export declare const _testing: {
138
+ /** Drop every in-memory record, as if the process died. Files stay. */
101
139
  reset(): void;
102
140
  heldKeys(): string[];
103
141
  };
@@ -1 +1 @@
1
- {"version":3,"file":"same-path-upload-lock.d.ts","sourceRoot":"","sources":["../../src/lib/same-path-upload-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAI9C,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE9E;AAKD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,OAAmC,GACnD,MAAM,CAIR;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,SAAS,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA0BD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG,SAAS,CAW1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,YAAY,GAAG,SAAS,CA2B1B;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAS3B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAT/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAS;IACzB,gEAAgE;IAChE,OAAO,CAAC,OAAO,CAAK;gBAGT,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM;IAG/B,oDAAoD;IACpD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD9B,oDAAoD;IACpD,OAAO,IAAI,IAAI;IAef,2DAA2D;IAC3D,UAAU,IAAI,OAAO;IAMrB,oEAAoE;IACpE,QAAQ,IAAI,MAAM;IAIlB,sEAAsE;IACtE,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,gDAAgD;IAChD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAmBzC;AAED,0EAA0E;AAC1E,qBAAa,6BAA8B,SAAQ,KAAK;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM;CAI1C;AAED,eAAO,MAAM,QAAQ;aACV,IAAI;gBAMD,MAAM,EAAE;CAGrB,CAAC"}
1
+ {"version":3,"file":"same-path-upload-lock.d.ts","sourceRoot":"","sources":["../../src/lib/same-path-upload-lock.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,19 @@
20
20
  * Waits are bounded. A waiter that times out proceeds without the lock, which
21
21
  * is the behavior before this module existed (a possible 412 and a parked
22
22
  * copy, never data loss). Separate processes (a one-shot `hq sync` next to the
23
- * runner) are not covered; they keep the conditional-PUT fence.
23
+ * runner) are not covered by the lock; they keep the conditional-PUT fence.
24
+ *
25
+ * The landed records above live in memory, so they die with the process. The
26
+ * durable upload intents at the end of this module cover that gap: a push
27
+ * records the hash it is about to PUT before the request leaves, so a later
28
+ * pass (in any process) can recognise a remote revision as this machine's own
29
+ * write even when the pass that wrote it was killed before its journal row
30
+ * reached disk (feedback_a1696094).
24
31
  */
32
+ import { createHash, randomBytes } from "node:crypto";
33
+ import * as fs from "node:fs";
34
+ import * as os from "node:os";
35
+ import * as path from "node:path";
25
36
  export const SAME_PATH_UPLOAD_WAIT_MS = 60_000;
26
37
  /** Keys with landed records kept in memory; the oldest key is evicted first. */
27
38
  export const SAME_PATH_LANDED_KEY_CAP = 4096;
@@ -243,12 +254,177 @@ export class SamePathUploadSupersededError extends Error {
243
254
  this.name = "SamePathUploadSupersededError";
244
255
  }
245
256
  }
257
+ // ── Durable upload intents ───────────────────────────────────────────────────
258
+ //
259
+ // One small append-only file per (journal scope, process) under
260
+ // `<state dir>/upload-intents/`. A line is appended immediately before a PUT
261
+ // and the process forgets it once the push settled that upload (its journal
262
+ // row written, or the PUT failed). The file is removed when nothing is in
263
+ // flight, so a live process keeps at most a handful of lines. Lines survive
264
+ // only when the process dies mid-upload, which is exactly when they matter.
265
+ //
266
+ // Writes are not fsynced: they guard against the process being killed
267
+ // (watchdog, sleep, quit, crash), not against power loss, and the page cache
268
+ // survives a killed process.
269
+ /** Intents older than this are ignored and their files removed. */
270
+ export const UPLOAD_INTENT_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
271
+ /** Compact a live intent file once it holds this many settled lines. */
272
+ const UPLOAD_INTENT_COMPACT_LINES = 64;
273
+ const SHA256_HEX_RE = /^[a-f0-9]{64}$/;
274
+ const intentFiles = new Map();
275
+ let intentSeq = 0;
276
+ /**
277
+ * Names this process's intent files together with the pid. A pid alone is not
278
+ * unique across process lives (macOS hands a relaunched runner low pids after
279
+ * a reboot), and a new life must never settle, compact or delete the lines a
280
+ * dead life with the same pid left behind.
281
+ */
282
+ let intentProcessTag = `${process.pid}-${randomBytes(6).toString("hex")}`;
283
+ function ownIntentFileName(scopeTag) {
284
+ return `${scopeTag}.${intentProcessTag}.jsonl`;
285
+ }
286
+ function uploadIntentDir() {
287
+ return path.join(process.env.HQ_STATE_DIR ?? path.join(os.homedir(), ".hq"), "upload-intents");
288
+ }
289
+ function uploadIntentScopeTag(scope) {
290
+ return createHash("sha256").update(scope).digest("hex").slice(0, 16);
291
+ }
292
+ function noteIntentError(op, error) {
293
+ const code = error?.code;
294
+ process.stderr.write(`${JSON.stringify({ type: "upload-intent-io-failed", diagnostic: true, op, ...(code ? { code } : {}) })}\n`);
295
+ }
296
+ /**
297
+ * Record, before its PUT is sent, that this process is about to upload `hash`
298
+ * to `relativePath` in `scope` (the journal slug). Best effort: a failure to
299
+ * record leaves the upload exactly as safe as it was before intents existed.
300
+ */
301
+ export function recordUploadIntent(scope, relativePath, hash) {
302
+ if (!SHA256_HEX_RE.test(hash))
303
+ return undefined;
304
+ const dir = uploadIntentDir();
305
+ const file = path.join(dir, ownIntentFileName(uploadIntentScopeTag(scope)));
306
+ const line = `${JSON.stringify({ v: 1, p: relativePath, h: hash, t: Date.now() })}\n`;
307
+ try {
308
+ if (!intentFiles.has(file))
309
+ fs.mkdirSync(dir, { recursive: true });
310
+ fs.appendFileSync(file, line);
311
+ }
312
+ catch (error) {
313
+ noteIntentError("record", error);
314
+ return undefined;
315
+ }
316
+ let state = intentFiles.get(file);
317
+ if (!state) {
318
+ state = { inflight: new Map(), lines: 0 };
319
+ intentFiles.set(file, state);
320
+ }
321
+ intentSeq += 1;
322
+ state.inflight.set(intentSeq, line);
323
+ state.lines += 1;
324
+ return { file, id: intentSeq };
325
+ }
326
+ /**
327
+ * Forget an intent once its upload is settled: the PUT failed, or its journal
328
+ * row is on disk. Safe to call with `undefined`.
329
+ */
330
+ export function settleUploadIntent(token) {
331
+ if (!token)
332
+ return;
333
+ const state = intentFiles.get(token.file);
334
+ if (!state || !state.inflight.delete(token.id))
335
+ return;
336
+ try {
337
+ if (state.inflight.size === 0) {
338
+ intentFiles.delete(token.file);
339
+ fs.rmSync(token.file, { force: true });
340
+ return;
341
+ }
342
+ if (state.lines >= UPLOAD_INTENT_COMPACT_LINES && state.lines > 4 * state.inflight.size) {
343
+ const tmp = `${token.file}.tmp`;
344
+ fs.writeFileSync(tmp, [...state.inflight.values()].join(""));
345
+ fs.renameSync(tmp, token.file);
346
+ state.lines = state.inflight.size;
347
+ }
348
+ }
349
+ catch (error) {
350
+ noteIntentError("settle", error);
351
+ }
352
+ }
353
+ /**
354
+ * The newest unsettled upload of `hash` to `relativePath` that any process on
355
+ * this machine recorded for `scope`, if one exists. `notBeforeMs` is the time
356
+ * the caller's journal row was written: an intent older than that row has
357
+ * already been accounted for and is ignored.
358
+ */
359
+ export function findUploadIntent(scope, relativePath, hash, notBeforeMs) {
360
+ if (!SHA256_HEX_RE.test(hash))
361
+ return undefined;
362
+ const dir = uploadIntentDir();
363
+ const prefix = `${uploadIntentScopeTag(scope)}.`;
364
+ let names;
365
+ try {
366
+ names = fs.readdirSync(dir);
367
+ }
368
+ catch (error) {
369
+ if (error.code !== "ENOENT")
370
+ noteIntentError("list", error);
371
+ return undefined;
372
+ }
373
+ const now = Date.now();
374
+ const ownFile = ownIntentFileName(uploadIntentScopeTag(scope));
375
+ let best;
376
+ for (const name of names) {
377
+ if (!name.startsWith(prefix) || !name.endsWith(".jsonl"))
378
+ continue;
379
+ const file = path.join(dir, name);
380
+ let text;
381
+ try {
382
+ if (name !== ownFile && now - fs.statSync(file).mtimeMs > UPLOAD_INTENT_MAX_AGE_MS) {
383
+ fs.rmSync(file, { force: true });
384
+ continue;
385
+ }
386
+ text = fs.readFileSync(file, "utf8");
387
+ }
388
+ catch (error) {
389
+ if (error.code !== "ENOENT")
390
+ noteIntentError("read", error);
391
+ continue;
392
+ }
393
+ for (const raw of text.split("\n")) {
394
+ if (!raw)
395
+ continue;
396
+ let parsed;
397
+ try {
398
+ parsed = JSON.parse(raw);
399
+ }
400
+ catch {
401
+ continue; // a torn final line from a killed writer
402
+ }
403
+ if (parsed.v !== 1 || parsed.p !== relativePath || parsed.h !== hash)
404
+ continue;
405
+ if (typeof parsed.t !== "number" || !Number.isFinite(parsed.t))
406
+ continue;
407
+ if (now - parsed.t > UPLOAD_INTENT_MAX_AGE_MS)
408
+ continue;
409
+ if (notBeforeMs !== undefined && parsed.t <= notBeforeMs)
410
+ continue;
411
+ if (!best || parsed.t > best.recordedAtMs) {
412
+ best = { relativePath, hash, recordedAtMs: parsed.t };
413
+ }
414
+ }
415
+ }
416
+ return best;
417
+ }
246
418
  export const _testing = {
419
+ /** Drop every in-memory record, as if the process died. Files stay. */
247
420
  reset() {
248
421
  slots.clear();
249
422
  landed.clear();
250
423
  landedSeq = 0;
251
424
  waitMsForTest = undefined;
425
+ intentFiles.clear();
426
+ // A new process life gets a new file, even when the OS reuses the pid.
427
+ intentProcessTag = `${process.pid}-${randomBytes(6).toString("hex")}`;
252
428
  },
253
429
  heldKeys() {
254
430
  return [...slots.entries()].filter(([, slot]) => slot.held).map(([key]) => key);
@@ -1 +1 @@
1
- {"version":3,"file":"same-path-upload-lock.js","sourceRoot":"","sources":["../../src/lib/same-path-upload-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"same-path-upload-lock.js","sourceRoot":"","sources":["../../src/lib/same-path-upload-lock.ts"],"names":[],"mappings":"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"}
@@ -312,6 +312,18 @@ declare function checkedNodeBody(message: IncomingMessage, expected: number | un
312
312
  export declare const checkedNodeBodyForTesting: typeof checkedNodeBody;
313
313
  /** Test-only override; production always uses Node's core HTTP(S) transport. */
314
314
  export declare function setPresignedGetTransportForTesting(transport: PresignedGetTransport | null): void;
315
+ /**
316
+ * The server (hq-pro presign `refusalReason: "deleted-newer"`) refused this
317
+ * PUT because the key's current version is a delete marker hiding a version
318
+ * newer than this upload. The local copy is the only copy of these bytes the
319
+ * caller holds; share.ts parks a backup and drops the journal row so the pull
320
+ * leg cannot tombstone it. Servers that predate the reason never send it.
321
+ */
322
+ export declare class PresignDeletedNewerError extends Error {
323
+ readonly key: string;
324
+ constructor(key: string, message: string);
325
+ }
326
+ export declare function isPresignDeletedNewer(err: unknown): err is PresignDeletedNewerError;
315
327
  /**
316
328
  * Opt-in gate for strict fail-closed enforcement of fenced presigned PUTs.
317
329
  *
@@ -1 +1 @@
1
- {"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
package/dist/object-io.js CHANGED
@@ -652,6 +652,28 @@ export function setPresignedGetTransportForTesting(transport) {
652
652
  const SKIP_WITH_LOG_DENIAL_CODES = new Set([
653
653
  "FILES_PRESIGN_TRANSCRIPT_CONSENT_REQUIRED",
654
654
  ]);
655
+ /**
656
+ * The server (hq-pro presign `refusalReason: "deleted-newer"`) refused this
657
+ * PUT because the key's current version is a delete marker hiding a version
658
+ * newer than this upload. The local copy is the only copy of these bytes the
659
+ * caller holds; share.ts parks a backup and drops the journal row so the pull
660
+ * leg cannot tombstone it. Servers that predate the reason never send it.
661
+ */
662
+ export class PresignDeletedNewerError extends Error {
663
+ key;
664
+ constructor(key, message) {
665
+ super(message);
666
+ this.name = "PresignDeletedNewer";
667
+ this.key = key;
668
+ }
669
+ }
670
+ export function isPresignDeletedNewer(err) {
671
+ return err instanceof PresignDeletedNewerError;
672
+ }
673
+ function isDeletedNewerRow(row) {
674
+ return (row.code === "FILES_PRESIGN_STALE_UPLOAD_FORBIDDEN" &&
675
+ row.refusalReason === "deleted-newer");
676
+ }
655
677
  /** A refused write is a failure unless the server explicitly verified equal bytes.
656
678
  * Older servers omit refusalReason, and future servers may add reasons. Neither
657
679
  * means the caller lacks access: treating either as Forbidden hides a failed push
@@ -741,6 +763,9 @@ function firstRowOrThrow(results, key, op) {
741
763
  if (op === "get" && row.code === "FILES_PRESIGN_NOT_FOUND") {
742
764
  throw notFoundError(key);
743
765
  }
766
+ if (op === "put" && isDeletedNewerRow(row)) {
767
+ throw new PresignDeletedNewerError(key, presignDeniedMessage(op, key, row));
768
+ }
744
769
  throw new Error(presignDeniedMessage(op, key, row));
745
770
  }
746
771
  return row;
@@ -1015,7 +1040,7 @@ export class PresignObjectIO {
1015
1040
  }
1016
1041
  if (op === "put" && isStaleUploadFailure(row)) {
1017
1042
  this.presignRefusalCache.set(cacheKey, {
1018
- kind: "failure",
1043
+ kind: isDeletedNewerRow(row) ? "deleted-newer" : "failure",
1019
1044
  detail: presignDeniedMessage(op, key, row),
1020
1045
  });
1021
1046
  return;
@@ -1039,6 +1064,8 @@ export class PresignObjectIO {
1039
1064
  this.presignRefusalCache.delete(this.cacheKey(op, key));
1040
1065
  return;
1041
1066
  }
1067
+ if (refusal.kind === "deleted-newer")
1068
+ throw new PresignDeletedNewerError(key, refusal.detail);
1042
1069
  if (refusal.kind === "failure")
1043
1070
  throw new Error(refusal.detail);
1044
1071
  throw accessDeniedError(key, refusal.detail);