@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.
- package/CHANGELOG.md +29 -0
- package/dist/abi2/buildinfo.d.ts +1 -1
- package/dist/abi2/buildinfo.js +3 -3
- package/dist/abi2/buildinfo.js.map +1 -1
- package/dist/abi2/errors.d.ts +16 -38
- package/dist/abi2/errors.d.ts.map +1 -1
- package/dist/abi2/errors.js +16 -42
- package/dist/abi2/errors.js.map +1 -1
- package/dist/abi2/index.d.ts +1 -1
- package/dist/abi2/index.d.ts.map +1 -1
- package/dist/abi2/index.js +1 -1
- package/dist/abi2/index.js.map +1 -1
- package/dist/abi2/libc.gen.d.ts +2 -0
- package/dist/abi2/libc.gen.d.ts.map +1 -1
- package/dist/abi2/libc.gen.js +10 -0
- package/dist/abi2/libc.gen.js.map +1 -1
- package/dist/abi2/loader.js +2 -2
- package/dist/abi2/loader.js.map +1 -1
- package/dist/cli.d.ts +8 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +94 -11
- package/dist/cli.js.map +1 -1
- package/dist/env.d.ts +8 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +17 -8
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/ocifetch/channel.d.ts +6 -0
- package/dist/ocifetch/channel.d.ts.map +1 -1
- package/dist/ocifetch/channel.js +31 -1
- package/dist/ocifetch/channel.js.map +1 -1
- package/dist/ocifetch/constants.gen.d.ts +20 -0
- package/dist/ocifetch/constants.gen.d.ts.map +1 -1
- package/dist/ocifetch/constants.gen.js +20 -1
- package/dist/ocifetch/constants.gen.js.map +1 -1
- package/dist/ocifetch/ensure.d.ts +42 -8
- package/dist/ocifetch/ensure.d.ts.map +1 -1
- package/dist/ocifetch/ensure.js +111 -41
- package/dist/ocifetch/ensure.js.map +1 -1
- package/dist/ocifetch/errors.d.ts +51 -27
- package/dist/ocifetch/errors.d.ts.map +1 -1
- package/dist/ocifetch/errors.js +49 -38
- package/dist/ocifetch/errors.js.map +1 -1
- package/dist/ocifetch/hold.d.ts +66 -0
- package/dist/ocifetch/hold.d.ts.map +1 -0
- package/dist/ocifetch/hold.js +150 -0
- package/dist/ocifetch/hold.js.map +1 -0
- package/dist/ocifetch/http.d.ts.map +1 -1
- package/dist/ocifetch/http.js +1 -1
- package/dist/ocifetch/http.js.map +1 -1
- package/dist/ocifetch/index.d.ts +6 -2
- package/dist/ocifetch/index.d.ts.map +1 -1
- package/dist/ocifetch/index.js +5 -1
- package/dist/ocifetch/index.js.map +1 -1
- package/dist/ocifetch/lock.d.ts +2 -1
- package/dist/ocifetch/lock.d.ts.map +1 -1
- package/dist/ocifetch/lock.js +7 -5
- package/dist/ocifetch/lock.js.map +1 -1
- package/dist/ocifetch/oci.d.ts +38 -6
- package/dist/ocifetch/oci.d.ts.map +1 -1
- package/dist/ocifetch/oci.js +48 -12
- package/dist/ocifetch/oci.js.map +1 -1
- package/dist/ocifetch/prune.d.ts +48 -0
- package/dist/ocifetch/prune.d.ts.map +1 -0
- package/dist/ocifetch/prune.js +383 -0
- package/dist/ocifetch/prune.js.map +1 -0
- package/dist/ocifetch/resolve.d.ts +37 -0
- package/dist/ocifetch/resolve.d.ts.map +1 -0
- package/dist/ocifetch/resolve.js +90 -0
- package/dist/ocifetch/resolve.js.map +1 -0
- package/dist/ocifetch/types.d.ts +1 -1
- package/dist/ocifetch/types.d.ts.map +1 -1
- package/dist/registry.d.ts +64 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +141 -10
- package/dist/registry.js.map +1 -1
- 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 {
|
|
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
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* §1
|
|
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
|
|
25
|
-
/**
|
|
26
|
-
export
|
|
27
|
-
/** A
|
|
28
|
-
export declare
|
|
29
|
-
/**
|
|
30
|
-
export
|
|
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":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/ocifetch/errors.js
CHANGED
|
@@ -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
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* §1
|
|
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
|
|
24
|
-
/** A
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
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,
|
|
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"}
|
package/dist/ocifetch/http.js
CHANGED
|
@@ -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
|
|
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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"}
|