@cat-factory/contracts 0.189.0 → 0.190.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.
|
@@ -7,7 +7,7 @@ export declare const packageRegistryVendorSchema: v.PicklistSchema<["npmjs", "gi
|
|
|
7
7
|
export type PackageRegistryVendor = v.InferOutput<typeof packageRegistryVendorSchema>;
|
|
8
8
|
/** The registry host each vendor resolves to. Never user-supplied. */
|
|
9
9
|
export declare function packageRegistryHost(vendor: PackageRegistryVendor): string;
|
|
10
|
-
/** An npm package scope (`@org`)
|
|
10
|
+
/** An npm package scope (`@org`) routed to a private registry. */
|
|
11
11
|
export declare const npmScopeSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 2, undefined>, v.MaxLengthAction<string, 215, undefined>, v.RegexAction<string, "scope must look like @org (letters, digits and ._~- after the @)">]>;
|
|
12
12
|
/**
|
|
13
13
|
* A registry auth token. Constrained to printable ASCII with no whitespace: a
|
|
@@ -17,11 +17,30 @@ export declare const npmScopeSchema: v.SchemaWithPipe<readonly [v.StringSchema<u
|
|
|
17
17
|
* non-secret `tokenTail` (last 4 chars) from ever revealing the whole token.
|
|
18
18
|
*/
|
|
19
19
|
export declare const packageRegistryTokenSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 8, undefined>, v.MaxLengthAction<string, 4096, undefined>, v.RegexAction<string, "token must be a single opaque string with no spaces or control characters">]>;
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Add one registry entry to the workspace (token write-only, never read back).
|
|
22
|
+
*
|
|
23
|
+
* `scopes` may be EMPTY, and that is the right answer more often than it looks: an npmrc
|
|
24
|
+
* scope mapping is all-or-nothing, so routing `@org` at a private registry makes EVERY
|
|
25
|
+
* `@org/*` package resolve from it — which breaks an organisation publishing part of that
|
|
26
|
+
* scope to the public registry. A scope-less entry still emits the host's `_authToken`
|
|
27
|
+
* line, which is all a checkout needs when the ROUTING is already settled elsewhere:
|
|
28
|
+
*
|
|
29
|
+
* - the repository commits its own `.npmrc` (project config wins over the user config the
|
|
30
|
+
* harness writes, so the repo keeps owning where its packages come from);
|
|
31
|
+
* - single dependencies carry a named-registry prefix — `"@acme/private": "gh:^1.0.0"`,
|
|
32
|
+
* with `gh:` built in for GitHub Packages and further aliases declared under
|
|
33
|
+
* `namedRegistries` in `pnpm-workspace.yaml` (pnpm >= 11.1.0, pnpm/pnpm#11324);
|
|
34
|
+
* - the vendor IS the default registry (`npmjs`), where a scope mapping back to
|
|
35
|
+
* `registry.npmjs.org` is a no-op and only the credential was ever missing.
|
|
36
|
+
*
|
|
37
|
+
* NB an empty list needs harness image >= 1.73.0. An older image does not ignore the entry,
|
|
38
|
+
* it rejects the whole job body — see the harness's `parsePackageRegistries`.
|
|
39
|
+
*/
|
|
21
40
|
export declare const addPackageRegistrySchema: v.ObjectSchema<{
|
|
22
41
|
readonly ecosystem: v.PicklistSchema<["npm"], undefined>;
|
|
23
42
|
readonly vendor: v.PicklistSchema<["npmjs", "github-packages"], undefined>;
|
|
24
|
-
readonly scopes: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 2, undefined>, v.MaxLengthAction<string, 215, undefined>, v.RegexAction<string, "scope must look like @org (letters, digits and ._~- after the @)">]>, undefined>, v.
|
|
43
|
+
readonly scopes: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 2, undefined>, v.MaxLengthAction<string, 215, undefined>, v.RegexAction<string, "scope must look like @org (letters, digits and ._~- after the @)">]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>;
|
|
25
44
|
readonly token: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 8, undefined>, v.MaxLengthAction<string, 4096, undefined>, v.RegexAction<string, "token must be a single opaque string with no spaces or control characters">]>;
|
|
26
45
|
}, undefined>;
|
|
27
46
|
export type AddPackageRegistryInput = v.InferOutput<typeof addPackageRegistrySchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-registries.d.ts","sourceRoot":"","sources":["../src/package-registries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,sCAAsB,CAAA;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,2DAA2C,CAAA;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAOzE;AAED,
|
|
1
|
+
{"version":3,"file":"package-registries.d.ts","sourceRoot":"","sources":["../src/package-registries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,sCAAsB,CAAA;AACzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,2DAA2C,CAAA;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAOzE;AAED,kEAAkE;AAClE,eAAO,MAAM,cAAc,qPAS1B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,+PAStC,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB;;;;;aAKnC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEpF,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B;;;;;;aAMrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAEhF;AAED,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B;;;;;IAKzC,+DAA+D;;aAE/D,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,eAAO,MAAM,yBAAyB;;;;;;QALpC,+DAA+D;;;aAO/D,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAErF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,EAAE,GAC9B,wBAAwB,EAAE,CAQ5B;AAED,8DAA8D;AAC9D,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,EAAE,CAEpF"}
|
|
@@ -31,7 +31,7 @@ export function packageRegistryHost(vendor) {
|
|
|
31
31
|
return 'npm.pkg.github.com';
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
/** An npm package scope (`@org`)
|
|
34
|
+
/** An npm package scope (`@org`) routed to a private registry. */
|
|
35
35
|
export const npmScopeSchema = v.pipe(v.string(), v.trim(), v.minLength(2), v.maxLength(215), v.regex(/^@[a-z0-9~-][a-z0-9._~-]*$/i, 'scope must look like @org (letters, digits and ._~- after the @)'));
|
|
36
36
|
/**
|
|
37
37
|
* A registry auth token. Constrained to printable ASCII with no whitespace: a
|
|
@@ -41,11 +41,30 @@ export const npmScopeSchema = v.pipe(v.string(), v.trim(), v.minLength(2), v.max
|
|
|
41
41
|
* non-secret `tokenTail` (last 4 chars) from ever revealing the whole token.
|
|
42
42
|
*/
|
|
43
43
|
export const packageRegistryTokenSchema = v.pipe(v.string(), v.trim(), v.minLength(8), v.maxLength(4096), v.regex(/^[\x21-\x7e]+$/, 'token must be a single opaque string with no spaces or control characters'));
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Add one registry entry to the workspace (token write-only, never read back).
|
|
46
|
+
*
|
|
47
|
+
* `scopes` may be EMPTY, and that is the right answer more often than it looks: an npmrc
|
|
48
|
+
* scope mapping is all-or-nothing, so routing `@org` at a private registry makes EVERY
|
|
49
|
+
* `@org/*` package resolve from it — which breaks an organisation publishing part of that
|
|
50
|
+
* scope to the public registry. A scope-less entry still emits the host's `_authToken`
|
|
51
|
+
* line, which is all a checkout needs when the ROUTING is already settled elsewhere:
|
|
52
|
+
*
|
|
53
|
+
* - the repository commits its own `.npmrc` (project config wins over the user config the
|
|
54
|
+
* harness writes, so the repo keeps owning where its packages come from);
|
|
55
|
+
* - single dependencies carry a named-registry prefix — `"@acme/private": "gh:^1.0.0"`,
|
|
56
|
+
* with `gh:` built in for GitHub Packages and further aliases declared under
|
|
57
|
+
* `namedRegistries` in `pnpm-workspace.yaml` (pnpm >= 11.1.0, pnpm/pnpm#11324);
|
|
58
|
+
* - the vendor IS the default registry (`npmjs`), where a scope mapping back to
|
|
59
|
+
* `registry.npmjs.org` is a no-op and only the credential was ever missing.
|
|
60
|
+
*
|
|
61
|
+
* NB an empty list needs harness image >= 1.73.0. An older image does not ignore the entry,
|
|
62
|
+
* it rejects the whole job body — see the harness's `parsePackageRegistries`.
|
|
63
|
+
*/
|
|
45
64
|
export const addPackageRegistrySchema = v.object({
|
|
46
65
|
ecosystem: packageEcosystemSchema,
|
|
47
66
|
vendor: packageRegistryVendorSchema,
|
|
48
|
-
scopes: v.pipe(v.array(npmScopeSchema), v.
|
|
67
|
+
scopes: v.pipe(v.array(npmScopeSchema), v.maxLength(50)),
|
|
49
68
|
token: packageRegistryTokenSchema,
|
|
50
69
|
});
|
|
51
70
|
/** A stored registry entry — the decrypted-blob shape (token included). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-registries.js","sourceRoot":"","sources":["../src/package-registries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,8EAA8E;AAE9E,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAGzD,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAGnF,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAA;QAC7B,KAAK,iBAAiB;YACpB,OAAO,oBAAoB,CAAA;IAC/B,CAAC;AACH,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"package-registries.js","sourceRoot":"","sources":["../src/package-registries.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export declare const addPackageRegistryContract: {
|
|
|
42
42
|
readonly requestBodySchema: import("valibot").ObjectSchema<{
|
|
43
43
|
readonly ecosystem: import("valibot").PicklistSchema<["npm"], undefined>;
|
|
44
44
|
readonly vendor: import("valibot").PicklistSchema<["npmjs", "github-packages"], undefined>;
|
|
45
|
-
readonly scopes: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 2, undefined>, import("valibot").MaxLengthAction<string, 215, undefined>, import("valibot").RegexAction<string, "scope must look like @org (letters, digits and ._~- after the @)">]>, undefined>, import("valibot").
|
|
45
|
+
readonly scopes: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 2, undefined>, import("valibot").MaxLengthAction<string, 215, undefined>, import("valibot").RegexAction<string, "scope must look like @org (letters, digits and ._~- after the @)">]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>;
|
|
46
46
|
readonly token: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 8, undefined>, import("valibot").MaxLengthAction<string, 4096, undefined>, import("valibot").RegexAction<string, "token must be a single opaque string with no spaces or control characters">]>;
|
|
47
47
|
}, undefined>;
|
|
48
48
|
readonly responsesByStatusCode: {
|