@wavehouse/chtypes 2.0.0-dev.5 → 2.0.0-dev.7

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 (80) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/abi2/buildinfo.d.ts +1 -1
  3. package/dist/abi2/buildinfo.js +3 -3
  4. package/dist/abi2/buildinfo.js.map +1 -1
  5. package/dist/abi2/errors.d.ts +16 -38
  6. package/dist/abi2/errors.d.ts.map +1 -1
  7. package/dist/abi2/errors.js +16 -42
  8. package/dist/abi2/errors.js.map +1 -1
  9. package/dist/abi2/index.d.ts +1 -1
  10. package/dist/abi2/index.d.ts.map +1 -1
  11. package/dist/abi2/index.js +1 -1
  12. package/dist/abi2/index.js.map +1 -1
  13. package/dist/abi2/libc.gen.d.ts +2 -0
  14. package/dist/abi2/libc.gen.d.ts.map +1 -1
  15. package/dist/abi2/libc.gen.js +10 -0
  16. package/dist/abi2/libc.gen.js.map +1 -1
  17. package/dist/abi2/loader.js +2 -2
  18. package/dist/abi2/loader.js.map +1 -1
  19. package/dist/cli.d.ts +8 -3
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +94 -11
  22. package/dist/cli.js.map +1 -1
  23. package/dist/env.d.ts +8 -1
  24. package/dist/env.d.ts.map +1 -1
  25. package/dist/env.js +17 -8
  26. package/dist/env.js.map +1 -1
  27. package/dist/index.d.ts +5 -4
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +5 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/ocifetch/channel.d.ts +6 -0
  32. package/dist/ocifetch/channel.d.ts.map +1 -1
  33. package/dist/ocifetch/channel.js +31 -1
  34. package/dist/ocifetch/channel.js.map +1 -1
  35. package/dist/ocifetch/constants.gen.d.ts +20 -0
  36. package/dist/ocifetch/constants.gen.d.ts.map +1 -1
  37. package/dist/ocifetch/constants.gen.js +20 -1
  38. package/dist/ocifetch/constants.gen.js.map +1 -1
  39. package/dist/ocifetch/ensure.d.ts +42 -8
  40. package/dist/ocifetch/ensure.d.ts.map +1 -1
  41. package/dist/ocifetch/ensure.js +111 -41
  42. package/dist/ocifetch/ensure.js.map +1 -1
  43. package/dist/ocifetch/errors.d.ts +51 -27
  44. package/dist/ocifetch/errors.d.ts.map +1 -1
  45. package/dist/ocifetch/errors.js +49 -38
  46. package/dist/ocifetch/errors.js.map +1 -1
  47. package/dist/ocifetch/hold.d.ts +66 -0
  48. package/dist/ocifetch/hold.d.ts.map +1 -0
  49. package/dist/ocifetch/hold.js +150 -0
  50. package/dist/ocifetch/hold.js.map +1 -0
  51. package/dist/ocifetch/http.d.ts.map +1 -1
  52. package/dist/ocifetch/http.js +1 -1
  53. package/dist/ocifetch/http.js.map +1 -1
  54. package/dist/ocifetch/index.d.ts +6 -2
  55. package/dist/ocifetch/index.d.ts.map +1 -1
  56. package/dist/ocifetch/index.js +5 -1
  57. package/dist/ocifetch/index.js.map +1 -1
  58. package/dist/ocifetch/lock.d.ts +2 -1
  59. package/dist/ocifetch/lock.d.ts.map +1 -1
  60. package/dist/ocifetch/lock.js +7 -5
  61. package/dist/ocifetch/lock.js.map +1 -1
  62. package/dist/ocifetch/oci.d.ts +38 -6
  63. package/dist/ocifetch/oci.d.ts.map +1 -1
  64. package/dist/ocifetch/oci.js +48 -12
  65. package/dist/ocifetch/oci.js.map +1 -1
  66. package/dist/ocifetch/prune.d.ts +48 -0
  67. package/dist/ocifetch/prune.d.ts.map +1 -0
  68. package/dist/ocifetch/prune.js +383 -0
  69. package/dist/ocifetch/prune.js.map +1 -0
  70. package/dist/ocifetch/resolve.d.ts +37 -0
  71. package/dist/ocifetch/resolve.d.ts.map +1 -0
  72. package/dist/ocifetch/resolve.js +90 -0
  73. package/dist/ocifetch/resolve.js.map +1 -0
  74. package/dist/ocifetch/types.d.ts +1 -1
  75. package/dist/ocifetch/types.d.ts.map +1 -1
  76. package/dist/registry.d.ts +64 -3
  77. package/dist/registry.d.ts.map +1 -1
  78. package/dist/registry.js +141 -10
  79. package/dist/registry.js.map +1 -1
  80. package/package.json +1 -1
@@ -4,36 +4,60 @@
4
4
  * outright at the switch (plan §2.4), so nothing here imports from there, and
5
5
  * nothing in `../errors.ts` is edited by this lane.
6
6
  */
7
- import { ERROR_EXIT_CODES } from './constants.gen.js';
8
- export type FetchV1ErrorCode = keyof typeof ERROR_EXIT_CODES;
9
- export declare const CODE_ARTIFACT_MISSING = "CHTYPES_ARTIFACT_MISSING";
10
- export declare const CODE_ARTIFACT_UNTRUSTED = "CHTYPES_ARTIFACT_UNTRUSTED";
11
- export declare const CODE_ARTIFACT_CORRUPT = "CHTYPES_ARTIFACT_CORRUPT";
12
- export declare const CODE_ARTIFACT_PINNED = "CHTYPES_ARTIFACT_PINNED";
13
- export declare const CODE_ARTIFACT_UNPUBLISHED = "CHTYPES_ARTIFACT_UNPUBLISHED";
14
- export declare const CODE_SOURCE_UNREACHABLE = "CHTYPES_SOURCE_UNREACHABLE";
15
- export declare const CODE_SOURCE_UNAUTHORIZED = "CHTYPES_SOURCE_UNAUTHORIZED";
16
- export declare const CODE_SOURCE_FORBIDDEN = "CHTYPES_SOURCE_FORBIDDEN";
17
- export declare const CODE_SOURCE_INCOMPATIBLE = "CHTYPES_SOURCE_INCOMPATIBLE";
7
+ import { type ErrorCode } from './constants.gen.js';
18
8
  /**
19
- * Reserved for the FFI/loader layer (not yet built, blocked on the ABI v1
20
- * design). No case in this module's own conformance suite raises it — the
21
- * fetch layer never dlopens, checks glibc, or reads a `chs_*` symbol (plan
22
- * §1.3).
9
+ * The shared error codes and their type are generated from
10
+ * `spec/fetch-v1/constants.json` (`./constants.gen.ts`; public issue #500).
11
+ * `CODE_ARTIFACT_INCOMPATIBLE` is the loader's: the fetch layer never raises
12
+ * it. `CODE_CACHE_UNUSABLE` is a cache fault (guide §1; public issue #486), and
13
+ * `CODE_SOURCE_RETIRED` a source that answered 410 Gone, never retried and
14
+ * never sent to the next base (guide §2; public issue #571).
23
15
  */
24
- export declare const CODE_ARTIFACT_INCOMPATIBLE = "CHTYPES_ARTIFACT_INCOMPATIBLE";
25
- /** A cache directory or entry the fetch layer could not read or write, or one strict mode refuses (guide §1; public issue #486). */
26
- export declare const CODE_CACHE_UNUSABLE = "CHTYPES_CACHE_UNUSABLE";
27
- /** A source that answered 410 Gone: a retired repository, never retried and never sent to the next base (guide §2; public issue #571). */
28
- export declare const CODE_SOURCE_RETIRED = "CHTYPES_SOURCE_RETIRED";
29
- /** Base of every error this module throws. */
30
- export declare class FetchV1Error extends Error {
16
+ export { CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_INCOMPATIBLE, CODE_ARTIFACT_MISSING, CODE_ARTIFACT_PINNED, CODE_ARTIFACT_UNPUBLISHED, CODE_ARTIFACT_UNTRUSTED, CODE_CACHE_UNUSABLE, CODE_SOURCE_FORBIDDEN, CODE_SOURCE_INCOMPATIBLE, CODE_SOURCE_RETIRED, CODE_SOURCE_UNAUTHORIZED, CODE_SOURCE_UNREACHABLE, type ErrorCode, } from './constants.gen.js';
17
+ /** One of the shared error codes: the generated `ErrorCode`, under the name this module has always used. */
18
+ export type FetchV1ErrorCode = ErrorCode;
19
+ /** A code's process exit status (`docs/guides/fetch-v1.md` §8's table, generated into `ERROR_EXIT_CODES`): the command line's, never the library's. */
20
+ export declare function exitStatusOf(code: FetchV1ErrorCode): number;
21
+ /** A loader refusal's fields (`docs/reference/bindings-v1.md` §4): `sdk.json`'s reason (with its suffix), the library path, and what was wanted and what was found where the refusal names them. */
22
+ export interface RefusalFields {
23
+ readonly reason: string;
24
+ readonly path: string;
25
+ readonly want?: string | undefined;
26
+ readonly got?: string | undefined;
27
+ }
28
+ /**
29
+ * The base of every error this package throws on purpose: the fetch and
30
+ * loader errors (`FetchV1Error`, exported as `ArtifactError`) and the call
31
+ * errors (`CallError`, `abi2/errors.ts`). It lives here, under the fetch
32
+ * layer, so `FetchV1Error` can extend it without the two modules importing
33
+ * each other (public issue #487).
34
+ */
35
+ export declare abstract class ChtypesError extends Error {
36
+ constructor(message: string, options?: {
37
+ cause?: unknown;
38
+ });
39
+ }
40
+ /**
41
+ * Base of every error this module throws, exported as `ArtifactError`: the
42
+ * code, and a loader refusal's fields (`reason`, `path`, `want`, `got`), as
43
+ * Go's `*ArtifactError` and Python's `ArtifactError` carry them
44
+ * (`docs/reference/bindings-v1.md` §4). They are `undefined` for a fetch
45
+ * error; a cache fault sets `path` and `reason`.
46
+ */
47
+ export declare class FetchV1Error extends ChtypesError {
31
48
  readonly code: FetchV1ErrorCode;
49
+ /** A loader refusal's reason (`sdk.json`'s `loader.refusals`, with `:<symbol>` or `:<field>` appended where it gives a suffix), or a cache fault's. */
50
+ readonly reason: string | undefined;
51
+ /** The library a loader refusal names, or the path a cache fault names. */
52
+ readonly path: string | undefined;
53
+ /** What a loader refusal's check wanted, where it names both sides. */
54
+ readonly want: string | undefined;
55
+ /** What a loader refusal's check found: beside `want`, or alone. */
56
+ readonly got: string | undefined;
32
57
  constructor(code: FetchV1ErrorCode, message: string, options?: {
33
58
  cause?: unknown;
59
+ refusal?: RefusalFields;
34
60
  });
35
- /** `docs/guides/fetch-v1.md` §8's table, generated into `ERROR_EXIT_CODES`. */
36
- get exitStatus(): number;
37
61
  }
38
62
  export declare class ArtifactMissingError extends FetchV1Error {
39
63
  constructor(message: string, options?: {
@@ -50,6 +74,7 @@ export declare class ArtifactUntrustedError extends FetchV1Error {
50
74
  export declare class ArtifactCorruptError extends FetchV1Error {
51
75
  constructor(message: string, options?: {
52
76
  cause?: unknown;
77
+ refusal?: RefusalFields;
53
78
  });
54
79
  }
55
80
  /** `--frozen` refused: the lock names no entry for this platform, or fails schema validation. */
@@ -66,11 +91,8 @@ export declare class ArtifactUnpublishedError extends FetchV1Error {
66
91
  }
67
92
  /** A source could not be reached, exhausted its retry budget, or `offline` forbade reaching it. */
68
93
  export declare class SourceUnreachableError extends FetchV1Error {
69
- /** Named value of a `Retry-After` refused as past the remaining budget (§7 of the guide). */
70
- readonly retryAfterRefused: number | undefined;
71
94
  constructor(message: string, options?: {
72
95
  cause?: unknown;
73
- retryAfterRefused?: number;
74
96
  });
75
97
  }
76
98
  /** A 401 from a configured base host. */
@@ -117,7 +139,9 @@ export interface CacheFault {
117
139
  * faults; public issue #486).
118
140
  */
119
141
  export declare class CacheUnusableError extends FetchV1Error implements CacheFault {
142
+ /** The exact path that failed (set by the base, from the fault). */
120
143
  readonly path: string;
144
+ /** The fault's reason (set by the base, from the fault). */
121
145
  readonly reason: string;
122
146
  readonly osError: string | undefined;
123
147
  constructor(message: string, fault: CacheFault, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAaL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC;AAE5B,4GAA4G;AAC5G,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,uJAAuJ;AACvJ,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAK3D;AAED,oMAAoM;AACpM,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;GAMG;AACH,8BAAsB,YAAa,SAAQ,KAAK;IAC9C,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,uJAAuJ;IACvJ,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,YAAY,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EAO1G;CACF;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,sHAAsH;AACtH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,0FAA0F;AAC1F,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EAElF;CACF;AAED,iGAAiG;AACjG,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,8EAA8E;AAC9E,qBAAa,wBAAyB,SAAQ,YAAY;IACxD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,mGAAmG;AACnG,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,yCAAyC;AACzC,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,yCAAyC;AACzC,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,oGAAoG;AACpG,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAEzD;CACF;AAED,uHAAuH;AACvH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oHAAoH;IACpH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,UAAU;IACxE,oEAAoE;IACpE,SAAiB,IAAI,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,SAAiB,MAAM,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAG5E;CACF;AAED,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEvC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -4,42 +4,60 @@
4
4
  * outright at the switch (plan §2.4), so nothing here imports from there, and
5
5
  * nothing in `../errors.ts` is edited by this lane.
6
6
  */
7
- import { ERROR_EXIT_CODES } from './constants.gen.js';
8
- export const CODE_ARTIFACT_MISSING = 'CHTYPES_ARTIFACT_MISSING';
9
- export const CODE_ARTIFACT_UNTRUSTED = 'CHTYPES_ARTIFACT_UNTRUSTED';
10
- export const CODE_ARTIFACT_CORRUPT = 'CHTYPES_ARTIFACT_CORRUPT';
11
- export const CODE_ARTIFACT_PINNED = 'CHTYPES_ARTIFACT_PINNED';
12
- export const CODE_ARTIFACT_UNPUBLISHED = 'CHTYPES_ARTIFACT_UNPUBLISHED';
13
- export const CODE_SOURCE_UNREACHABLE = 'CHTYPES_SOURCE_UNREACHABLE';
14
- export const CODE_SOURCE_UNAUTHORIZED = 'CHTYPES_SOURCE_UNAUTHORIZED';
15
- export const CODE_SOURCE_FORBIDDEN = 'CHTYPES_SOURCE_FORBIDDEN';
16
- export const CODE_SOURCE_INCOMPATIBLE = 'CHTYPES_SOURCE_INCOMPATIBLE';
7
+ import { CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_MISSING, CODE_ARTIFACT_PINNED, CODE_ARTIFACT_UNPUBLISHED, CODE_ARTIFACT_UNTRUSTED, CODE_CACHE_UNUSABLE, CODE_SOURCE_FORBIDDEN, CODE_SOURCE_INCOMPATIBLE, CODE_SOURCE_RETIRED, CODE_SOURCE_UNAUTHORIZED, CODE_SOURCE_UNREACHABLE, ERROR_EXIT_CODES, } from './constants.gen.js';
17
8
  /**
18
- * Reserved for the FFI/loader layer (not yet built, blocked on the ABI v1
19
- * design). No case in this module's own conformance suite raises it — the
20
- * fetch layer never dlopens, checks glibc, or reads a `chs_*` symbol (plan
21
- * §1.3).
9
+ * The shared error codes and their type are generated from
10
+ * `spec/fetch-v1/constants.json` (`./constants.gen.ts`; public issue #500).
11
+ * `CODE_ARTIFACT_INCOMPATIBLE` is the loader's: the fetch layer never raises
12
+ * it. `CODE_CACHE_UNUSABLE` is a cache fault (guide §1; public issue #486), and
13
+ * `CODE_SOURCE_RETIRED` a source that answered 410 Gone, never retried and
14
+ * never sent to the next base (guide §2; public issue #571).
22
15
  */
23
- export const CODE_ARTIFACT_INCOMPATIBLE = 'CHTYPES_ARTIFACT_INCOMPATIBLE';
24
- /** A cache directory or entry the fetch layer could not read or write, or one strict mode refuses (guide §1; public issue #486). */
25
- export const CODE_CACHE_UNUSABLE = 'CHTYPES_CACHE_UNUSABLE';
26
- /** A source that answered 410 Gone: a retired repository, never retried and never sent to the next base (guide §2; public issue #571). */
27
- export const CODE_SOURCE_RETIRED = 'CHTYPES_SOURCE_RETIRED';
28
- /** Base of every error this module throws. */
29
- export class FetchV1Error extends Error {
16
+ export { CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_INCOMPATIBLE, CODE_ARTIFACT_MISSING, CODE_ARTIFACT_PINNED, CODE_ARTIFACT_UNPUBLISHED, CODE_ARTIFACT_UNTRUSTED, CODE_CACHE_UNUSABLE, CODE_SOURCE_FORBIDDEN, CODE_SOURCE_INCOMPATIBLE, CODE_SOURCE_RETIRED, CODE_SOURCE_UNAUTHORIZED, CODE_SOURCE_UNREACHABLE, } from './constants.gen.js';
17
+ /** A code's process exit status (`docs/guides/fetch-v1.md` §8's table, generated into `ERROR_EXIT_CODES`): the command line's, never the library's. */
18
+ export function exitStatusOf(code) {
19
+ // Every `ErrorCode` is one of `ERROR_EXIT_CODES`'s own keys (both are
20
+ // generated from the same table); the `| undefined` is only
21
+ // `noUncheckedIndexedAccess`'s caution, not a real possibility here.
22
+ return ERROR_EXIT_CODES[code];
23
+ }
24
+ /**
25
+ * The base of every error this package throws on purpose: the fetch and
26
+ * loader errors (`FetchV1Error`, exported as `ArtifactError`) and the call
27
+ * errors (`CallError`, `abi2/errors.ts`). It lives here, under the fetch
28
+ * layer, so `FetchV1Error` can extend it without the two modules importing
29
+ * each other (public issue #487).
30
+ */
31
+ export class ChtypesError extends Error {
32
+ constructor(message, options) {
33
+ super(message, options);
34
+ this.name = new.target.name;
35
+ }
36
+ }
37
+ /**
38
+ * Base of every error this module throws, exported as `ArtifactError`: the
39
+ * code, and a loader refusal's fields (`reason`, `path`, `want`, `got`), as
40
+ * Go's `*ArtifactError` and Python's `ArtifactError` carry them
41
+ * (`docs/reference/bindings-v1.md` §4). They are `undefined` for a fetch
42
+ * error; a cache fault sets `path` and `reason`.
43
+ */
44
+ export class FetchV1Error extends ChtypesError {
30
45
  code;
46
+ /** A loader refusal's reason (`sdk.json`'s `loader.refusals`, with `:<symbol>` or `:<field>` appended where it gives a suffix), or a cache fault's. */
47
+ reason;
48
+ /** The library a loader refusal names, or the path a cache fault names. */
49
+ path;
50
+ /** What a loader refusal's check wanted, where it names both sides. */
51
+ want;
52
+ /** What a loader refusal's check found: beside `want`, or alone. */
53
+ got;
31
54
  constructor(code, message, options) {
32
55
  super(message, options);
33
- this.name = new.target.name;
34
56
  this.code = code;
35
- }
36
- /** `docs/guides/fetch-v1.md` §8's table, generated into `ERROR_EXIT_CODES`. */
37
- get exitStatus() {
38
- // `this.code` is always one of `ERROR_EXIT_CODES`'s own keys (the
39
- // `FetchV1ErrorCode` union IS `keyof typeof ERROR_EXIT_CODES`); the
40
- // `| undefined` is only `noUncheckedIndexedAccess`'s generic-index-signature
41
- // caution, not a real possibility here.
42
- return ERROR_EXIT_CODES[this.code];
57
+ this.reason = options?.refusal?.reason;
58
+ this.path = options?.refusal?.path;
59
+ this.want = options?.refusal?.want;
60
+ this.got = options?.refusal?.got;
43
61
  }
44
62
  }
45
63
  export class ArtifactMissingError extends FetchV1Error {
@@ -73,11 +91,8 @@ export class ArtifactUnpublishedError extends FetchV1Error {
73
91
  }
74
92
  /** A source could not be reached, exhausted its retry budget, or `offline` forbade reaching it. */
75
93
  export class SourceUnreachableError extends FetchV1Error {
76
- /** Named value of a `Retry-After` refused as past the remaining budget (§7 of the guide). */
77
- retryAfterRefused;
78
94
  constructor(message, options) {
79
95
  super(CODE_SOURCE_UNREACHABLE, message, options);
80
- this.retryAfterRefused = options?.retryAfterRefused;
81
96
  }
82
97
  }
83
98
  /** A 401 from a configured base host. */
@@ -116,13 +131,9 @@ export class SourceRetiredError extends FetchV1Error {
116
131
  * faults; public issue #486).
117
132
  */
118
133
  export class CacheUnusableError extends FetchV1Error {
119
- path;
120
- reason;
121
134
  osError;
122
135
  constructor(message, fault, options) {
123
- super(CODE_CACHE_UNUSABLE, message, options);
124
- this.path = fault.path;
125
- this.reason = fault.reason;
136
+ super(CODE_CACHE_UNUSABLE, message, { ...options, refusal: { reason: fault.reason, path: fault.path } });
126
137
  this.osError = fault.osError;
127
138
  }
128
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The in-use signal (`docs/guides/fetch-v1.md` §1, "In use"; public issue
3
+ * #494). A process that is about to load an installed build, or that a
4
+ * registry's fetch handed one to, takes a SHARED advisory lock (flock(2)) on
5
+ * the entry's `verified.json` and keeps it until the process exits.
6
+ * `chtypes prune` removes an entry only after it has taken the EXCLUSIVE lock
7
+ * without waiting, so it never removes a build a live process holds. The
8
+ * kernel drops a dead process's locks, so a crash never pins a build. flock
9
+ * belongs to the open file description on Linux and darwin, so a hold taken by
10
+ * this very process counts too, and so does one taken by any binding: all four
11
+ * lock the same file the same way. Never fcntl or lockf, whose locks belong to
12
+ * the process and would not be seen by a prune in it.
13
+ *
14
+ * Node has no file lock of its own: `flock` is the generated libc declaration
15
+ * (`../abi2/libc.gen.ts`), and the file descriptors are Node's own, from
16
+ * `openSync`, which are the operating system's.
17
+ *
18
+ * Everything here is synchronous on purpose. A prune holds an entry's
19
+ * exclusive lock only across one synchronous rename, so no other code of this
20
+ * process can run, and wait on the lock, while it is held.
21
+ *
22
+ * Only the registry holds (the public API): the fetch layer's own seam
23
+ * functions never do, so the CLI and the conformance runner accumulate no
24
+ * holds.
25
+ */
26
+ import { ArtifactMissingError } from './errors.js';
27
+ /**
28
+ * What `hold` found:
29
+ *
30
+ * - `held`: this process holds the entry, shared, for its life;
31
+ * - `unheld`: the record cannot be locked here (a filesystem without flock,
32
+ * or an error other than the entry being gone). The caller goes on: a
33
+ * prune on the same filesystem cannot take its exclusive lock either, so
34
+ * it keeps the entry;
35
+ * - `vanished`: the entry is gone, or another entry has replaced it: a prune
36
+ * removed it after the lookup chose it. The caller looks again.
37
+ */
38
+ export type HoldState = 'held' | 'unheld' | 'vanished';
39
+ /**
40
+ * Takes this process's shared hold on the installed entry `dir`
41
+ * (`<root>/unpacked/sha256/<manifest hex>`) and keeps it for the life of the
42
+ * process. It waits only while a prune holds the entry exclusively, which a
43
+ * prune does across one rename; then the entry is gone, and `hold` says so.
44
+ */
45
+ export declare function hold(dir: string): HoldState;
46
+ /** What `claim` found: the exclusive lock, with its release; or the entry in use (or not lockable at all), kept; or the entry gone or replaced since it was listed, not the caller's to report. */
47
+ export type Claim = {
48
+ readonly state: 'owned';
49
+ readonly release: () => void;
50
+ } | {
51
+ readonly state: 'in-use';
52
+ } | {
53
+ readonly state: 'gone';
54
+ };
55
+ /**
56
+ * Takes the exclusive lock a prune needs on the entry `dir`, without waiting.
57
+ * It is owned only when no process holds the entry and the record it locked is
58
+ * still the one at the path; `release` drops the lock.
59
+ */
60
+ export declare function claim(dir: string): Claim;
61
+ /**
62
+ * `CHTYPES_ARTIFACT_MISSING` for a request whose build a concurrent prune
63
+ * removed twice, each time between its install and this process's hold.
64
+ */
65
+ export declare function removedWhileHeld(request: string, dir: string): ArtifactMissingError;
66
+ //# sourceMappingURL=hold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold.d.ts","sourceRoot":"","sources":["../../src/ocifetch/hold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOnD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AASvD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CA0B3C;AAED,mMAAmM;AACnM,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1I;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAiBxC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAInF"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * The in-use signal (`docs/guides/fetch-v1.md` §1, "In use"; public issue
3
+ * #494). A process that is about to load an installed build, or that a
4
+ * registry's fetch handed one to, takes a SHARED advisory lock (flock(2)) on
5
+ * the entry's `verified.json` and keeps it until the process exits.
6
+ * `chtypes prune` removes an entry only after it has taken the EXCLUSIVE lock
7
+ * without waiting, so it never removes a build a live process holds. The
8
+ * kernel drops a dead process's locks, so a crash never pins a build. flock
9
+ * belongs to the open file description on Linux and darwin, so a hold taken by
10
+ * this very process counts too, and so does one taken by any binding: all four
11
+ * lock the same file the same way. Never fcntl or lockf, whose locks belong to
12
+ * the process and would not be seen by a prune in it.
13
+ *
14
+ * Node has no file lock of its own: `flock` is the generated libc declaration
15
+ * (`../abi2/libc.gen.ts`), and the file descriptors are Node's own, from
16
+ * `openSync`, which are the operating system's.
17
+ *
18
+ * Everything here is synchronous on purpose. A prune holds an entry's
19
+ * exclusive lock only across one synchronous rename, so no other code of this
20
+ * process can run, and wait on the lock, while it is held.
21
+ *
22
+ * Only the registry holds (the public API): the fetch layer's own seam
23
+ * functions never do, so the CLI and the conformance runner accumulate no
24
+ * holds.
25
+ */
26
+ import { closeSync, fstatSync, openSync, statSync } from 'node:fs';
27
+ import { constants as osConstants } from 'node:os';
28
+ import path from 'node:path';
29
+ import { flock } from '../abi2/libc.gen.js';
30
+ import { CACHE_VERIFIED_RECORD } from './constants.gen.js';
31
+ import { ArtifactMissingError } from './errors.js';
32
+ /** flock(2)'s operations, the same on Linux and darwin. */
33
+ const LOCK_SH = 1;
34
+ const LOCK_EX = 2;
35
+ const LOCK_NB = 4;
36
+ /**
37
+ * This process's shared locks: one open record per entry directory, kept until
38
+ * the process exits. Never closed, except an old one whose entry was removed
39
+ * and installed again, which protects nothing.
40
+ */
41
+ const holds = new Map();
42
+ /**
43
+ * Takes this process's shared hold on the installed entry `dir`
44
+ * (`<root>/unpacked/sha256/<manifest hex>`) and keeps it for the life of the
45
+ * process. It waits only while a prune holds the entry exclusively, which a
46
+ * prune does across one rename; then the entry is gone, and `hold` says so.
47
+ */
48
+ export function hold(dir) {
49
+ const record = path.join(dir, CACHE_VERIFIED_RECORD);
50
+ const held = holds.get(dir);
51
+ if (held !== undefined) {
52
+ if (sameFile(held, record))
53
+ return 'held';
54
+ // The entry this process held was removed and installed again: the old
55
+ // hold protects nothing now.
56
+ closeQuietly(held);
57
+ holds.delete(dir);
58
+ }
59
+ let fd;
60
+ try {
61
+ fd = openSync(record, 'r');
62
+ }
63
+ catch (err) {
64
+ return gone(err) ? 'vanished' : 'unheld';
65
+ }
66
+ if (!lockShared(fd)) {
67
+ closeQuietly(fd);
68
+ return 'unheld';
69
+ }
70
+ if (!sameFile(fd, record)) {
71
+ closeQuietly(fd);
72
+ return 'vanished';
73
+ }
74
+ holds.set(dir, fd);
75
+ return 'held';
76
+ }
77
+ /**
78
+ * Takes the exclusive lock a prune needs on the entry `dir`, without waiting.
79
+ * It is owned only when no process holds the entry and the record it locked is
80
+ * still the one at the path; `release` drops the lock.
81
+ */
82
+ export function claim(dir) {
83
+ const record = path.join(dir, CACHE_VERIFIED_RECORD);
84
+ let fd;
85
+ try {
86
+ fd = openSync(record, 'r');
87
+ }
88
+ catch (err) {
89
+ return gone(err) ? { state: 'gone' } : { state: 'in-use' };
90
+ }
91
+ if (lock(fd, LOCK_EX | LOCK_NB) !== 0) {
92
+ closeQuietly(fd);
93
+ return { state: 'in-use' };
94
+ }
95
+ if (!sameFile(fd, record)) {
96
+ closeQuietly(fd);
97
+ return { state: 'gone' };
98
+ }
99
+ return { state: 'owned', release: () => closeQuietly(fd) };
100
+ }
101
+ /**
102
+ * `CHTYPES_ARTIFACT_MISSING` for a request whose build a concurrent prune
103
+ * removed twice, each time between its install and this process's hold.
104
+ */
105
+ export function removedWhileHeld(request, dir) {
106
+ return new ArtifactMissingError(`chtypes: ${dir} was removed by a concurrent prune before this process could hold it; ask for ${request} again`);
107
+ }
108
+ /** flock(fd, LOCK_SH), waiting while an exclusive lock is held, and retrying a wait a signal interrupted. */
109
+ function lockShared(fd) {
110
+ for (;;) {
111
+ const errno = lock(fd, LOCK_SH);
112
+ if (errno === 0)
113
+ return true;
114
+ if (errno !== osConstants.errno.EINTR)
115
+ return false;
116
+ }
117
+ }
118
+ /** flock(fd, operation): 0, else the errno it failed with; -1 when the call itself could not be made. */
119
+ function lock(fd, operation) {
120
+ try {
121
+ return flock(fd, operation);
122
+ }
123
+ catch {
124
+ return -1;
125
+ }
126
+ }
127
+ /** Whether the open file `fd` is still the file at `file`: the same device and inode. */
128
+ function sameFile(fd, file) {
129
+ try {
130
+ const held = fstatSync(fd, { bigint: true });
131
+ const now = statSync(file, { bigint: true });
132
+ return held.dev === now.dev && held.ino === now.ino;
133
+ }
134
+ catch {
135
+ return false;
136
+ }
137
+ }
138
+ function gone(err) {
139
+ const code = err.code;
140
+ return code === 'ENOENT' || code === 'ENOTDIR';
141
+ }
142
+ function closeQuietly(fd) {
143
+ try {
144
+ closeSync(fd);
145
+ }
146
+ catch {
147
+ // Already closed: nothing is held through it.
148
+ }
149
+ }
150
+ //# sourceMappingURL=hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold.js","sourceRoot":"","sources":["../../src/ocifetch/hold.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/ocifetch/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqBH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,IAAsB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wFAAwF;AACxF,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC,GAClF,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAwBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,KAAK,GACX,MAAM,GAAG,SAAS,CAQpB;AAgED;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAuC,CAAC;AA8H/D;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAoHxG;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,YAAY,CAAC,CAwIvB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAexF"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/ocifetch/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqBH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,IAAsB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wFAAwF;AACxF,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC,GAClF,OAAO,CAAC,CAAC,CAAC,CAuBZ;AAwBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,KAAK,GACX,MAAM,GAAG,SAAS,CAQpB;AAgED;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAuC,CAAC;AA8H/D;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAoHxG;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC,YAAY,CAAC,CAwIvB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAexF"}
@@ -55,7 +55,7 @@ export async function withRetry(clock, attempt) {
55
55
  let waitSeconds = RETRY_FIRST_WAIT_S * RETRY_MULTIPLIER ** (n - 1);
56
56
  if (outcome.retryAfterSeconds !== undefined) {
57
57
  if (outcome.retryAfterSeconds > RETRY_AFTER_BUDGET_S) {
58
- throw new SourceUnreachableError(`chtypes: Retry-After named ${outcome.retryAfterSeconds}s, past the ${RETRY_AFTER_BUDGET_S}s retry budget; refusing rather than sleeping it`, { retryAfterRefused: outcome.retryAfterSeconds });
58
+ throw new SourceUnreachableError(`chtypes: Retry-After named ${outcome.retryAfterSeconds}s, past the ${RETRY_AFTER_BUDGET_S}s retry budget; refusing rather than sleeping it`);
59
59
  }
60
60
  waitSeconds = Math.max(0, outcome.retryAfterSeconds);
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/ocifetch/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/ocifetch/http.ts"],"names":[],"mappings":"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"}