@microwiseai/snapshot 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/commands/doctor.d.ts +2 -0
  2. package/dist/commands/doctor.d.ts.map +1 -0
  3. package/dist/commands/doctor.js +37 -0
  4. package/dist/commands/doctor.js.map +1 -0
  5. package/dist/commands/install.d.ts.map +1 -1
  6. package/dist/commands/install.js +68 -206
  7. package/dist/commands/install.js.map +1 -1
  8. package/dist/commands/publish.d.ts +0 -4
  9. package/dist/commands/publish.d.ts.map +1 -1
  10. package/dist/commands/publish.js +1 -35
  11. package/dist/commands/publish.js.map +1 -1
  12. package/dist/commands/setup.d.ts +5 -0
  13. package/dist/commands/setup.d.ts.map +1 -0
  14. package/dist/commands/setup.js +52 -0
  15. package/dist/commands/setup.js.map +1 -0
  16. package/dist/index.js +18 -27
  17. package/dist/index.js.map +1 -1
  18. package/dist/lib/config.js +1 -1
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/gitlab.d.ts.map +1 -1
  21. package/dist/lib/gitlab.js +8 -6
  22. package/dist/lib/gitlab.js.map +1 -1
  23. package/dist/lib/prerequisites.d.ts +33 -0
  24. package/dist/lib/prerequisites.d.ts.map +1 -0
  25. package/dist/lib/prerequisites.js +123 -0
  26. package/dist/lib/prerequisites.js.map +1 -0
  27. package/dist/lib/transitive-resolver.d.ts +0 -121
  28. package/dist/lib/transitive-resolver.d.ts.map +1 -1
  29. package/dist/lib/transitive-resolver.js +0 -190
  30. package/dist/lib/transitive-resolver.js.map +1 -1
  31. package/package.json +3 -20
  32. package/dist/commands/clone-all.d.ts +0 -21
  33. package/dist/commands/clone-all.d.ts.map +0 -1
  34. package/dist/commands/clone-all.js +0 -57
  35. package/dist/commands/clone-all.js.map +0 -1
  36. package/dist/commands/preflight.d.ts +0 -31
  37. package/dist/commands/preflight.d.ts.map +0 -1
  38. package/dist/commands/preflight.js +0 -83
  39. package/dist/commands/preflight.js.map +0 -1
  40. package/dist/lib/distkit-closure-bridge.d.ts +0 -102
  41. package/dist/lib/distkit-closure-bridge.d.ts.map +0 -1
  42. package/dist/lib/distkit-closure-bridge.js +0 -177
  43. package/dist/lib/distkit-closure-bridge.js.map +0 -1
  44. package/dist/lib/distkit-closure-parity.d.ts +0 -110
  45. package/dist/lib/distkit-closure-parity.d.ts.map +0 -1
  46. package/dist/lib/distkit-closure-parity.js +0 -134
  47. package/dist/lib/distkit-closure-parity.js.map +0 -1
  48. package/dist/lib/distkit-routing-port.d.ts +0 -37
  49. package/dist/lib/distkit-routing-port.d.ts.map +0 -1
  50. package/dist/lib/distkit-routing-port.js +0 -72
  51. package/dist/lib/distkit-routing-port.js.map +0 -1
  52. package/dist/lib/install-timeline.d.ts +0 -81
  53. package/dist/lib/install-timeline.d.ts.map +0 -1
  54. package/dist/lib/install-timeline.js +0 -243
  55. package/dist/lib/install-timeline.js.map +0 -1
  56. package/dist/lib/preflight-adapter.d.ts +0 -52
  57. package/dist/lib/preflight-adapter.d.ts.map +0 -1
  58. package/dist/lib/preflight-adapter.js +0 -224
  59. package/dist/lib/preflight-adapter.js.map +0 -1
  60. package/node_modules/@gitdot/clone-lib/README.md +0 -117
  61. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.d.ts +0 -9
  62. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.d.ts.map +0 -1
  63. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.js +0 -154
  64. package/node_modules/@gitdot/clone-lib/dist/bin/gitdot-resolve.js.map +0 -1
  65. package/node_modules/@gitdot/clone-lib/dist/clone.d.ts +0 -21
  66. package/node_modules/@gitdot/clone-lib/dist/clone.d.ts.map +0 -1
  67. package/node_modules/@gitdot/clone-lib/dist/clone.js +0 -228
  68. package/node_modules/@gitdot/clone-lib/dist/clone.js.map +0 -1
  69. package/node_modules/@gitdot/clone-lib/dist/dotpath.d.ts +0 -10
  70. package/node_modules/@gitdot/clone-lib/dist/dotpath.d.ts.map +0 -1
  71. package/node_modules/@gitdot/clone-lib/dist/dotpath.js +0 -27
  72. package/node_modules/@gitdot/clone-lib/dist/dotpath.js.map +0 -1
  73. package/node_modules/@gitdot/clone-lib/dist/git.d.ts +0 -23
  74. package/node_modules/@gitdot/clone-lib/dist/git.d.ts.map +0 -1
  75. package/node_modules/@gitdot/clone-lib/dist/git.js +0 -134
  76. package/node_modules/@gitdot/clone-lib/dist/git.js.map +0 -1
  77. package/node_modules/@gitdot/clone-lib/dist/index.d.ts +0 -17
  78. package/node_modules/@gitdot/clone-lib/dist/index.d.ts.map +0 -1
  79. package/node_modules/@gitdot/clone-lib/dist/index.js +0 -35
  80. package/node_modules/@gitdot/clone-lib/dist/index.js.map +0 -1
  81. package/node_modules/@gitdot/clone-lib/dist/lock.d.ts +0 -24
  82. package/node_modules/@gitdot/clone-lib/dist/lock.d.ts.map +0 -1
  83. package/node_modules/@gitdot/clone-lib/dist/lock.js +0 -97
  84. package/node_modules/@gitdot/clone-lib/dist/lock.js.map +0 -1
  85. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.d.ts +0 -15
  86. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.d.ts.map +0 -1
  87. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.js +0 -124
  88. package/node_modules/@gitdot/clone-lib/dist/resolve/gitlab.js.map +0 -1
  89. package/node_modules/@gitdot/clone-lib/dist/resolve/index.d.ts +0 -12
  90. package/node_modules/@gitdot/clone-lib/dist/resolve/index.d.ts.map +0 -1
  91. package/node_modules/@gitdot/clone-lib/dist/resolve/index.js +0 -31
  92. package/node_modules/@gitdot/clone-lib/dist/resolve/index.js.map +0 -1
  93. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.d.ts +0 -32
  94. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.d.ts.map +0 -1
  95. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.js +0 -159
  96. package/node_modules/@gitdot/clone-lib/dist/resolve/manifest.js.map +0 -1
  97. package/node_modules/@gitdot/clone-lib/dist/resolve/member.d.ts +0 -44
  98. package/node_modules/@gitdot/clone-lib/dist/resolve/member.d.ts.map +0 -1
  99. package/node_modules/@gitdot/clone-lib/dist/resolve/member.js +0 -163
  100. package/node_modules/@gitdot/clone-lib/dist/resolve/member.js.map +0 -1
  101. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.d.ts +0 -18
  102. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.d.ts.map +0 -1
  103. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.js +0 -155
  104. package/node_modules/@gitdot/clone-lib/dist/resolve/resolve.js.map +0 -1
  105. package/node_modules/@gitdot/clone-lib/dist/types.d.ts +0 -225
  106. package/node_modules/@gitdot/clone-lib/dist/types.d.ts.map +0 -1
  107. package/node_modules/@gitdot/clone-lib/dist/types.js +0 -9
  108. package/node_modules/@gitdot/clone-lib/dist/types.js.map +0 -1
  109. package/node_modules/@gitdot/clone-lib/package.json +0 -53
  110. package/node_modules/@microwiseai/install-preflight/dist/index.d.ts +0 -27
  111. package/node_modules/@microwiseai/install-preflight/dist/index.d.ts.map +0 -1
  112. package/node_modules/@microwiseai/install-preflight/dist/index.js +0 -26
  113. package/node_modules/@microwiseai/install-preflight/dist/index.js.map +0 -1
  114. package/node_modules/@microwiseai/install-preflight/dist/policy.d.ts +0 -42
  115. package/node_modules/@microwiseai/install-preflight/dist/policy.d.ts.map +0 -1
  116. package/node_modules/@microwiseai/install-preflight/dist/policy.js +0 -79
  117. package/node_modules/@microwiseai/install-preflight/dist/policy.js.map +0 -1
  118. package/node_modules/@microwiseai/install-preflight/dist/preflight.d.ts +0 -18
  119. package/node_modules/@microwiseai/install-preflight/dist/preflight.d.ts.map +0 -1
  120. package/node_modules/@microwiseai/install-preflight/dist/preflight.js +0 -0
  121. package/node_modules/@microwiseai/install-preflight/dist/preflight.js.map +0 -1
  122. package/node_modules/@microwiseai/install-preflight/dist/resolvers.d.ts +0 -26
  123. package/node_modules/@microwiseai/install-preflight/dist/resolvers.d.ts.map +0 -1
  124. package/node_modules/@microwiseai/install-preflight/dist/resolvers.js +0 -63
  125. package/node_modules/@microwiseai/install-preflight/dist/resolvers.js.map +0 -1
  126. package/node_modules/@microwiseai/install-preflight/dist/semver.d.ts +0 -45
  127. package/node_modules/@microwiseai/install-preflight/dist/semver.d.ts.map +0 -1
  128. package/node_modules/@microwiseai/install-preflight/dist/semver.js +0 -195
  129. package/node_modules/@microwiseai/install-preflight/dist/semver.js.map +0 -1
  130. package/node_modules/@microwiseai/install-preflight/dist/types.d.ts +0 -136
  131. package/node_modules/@microwiseai/install-preflight/dist/types.d.ts.map +0 -1
  132. package/node_modules/@microwiseai/install-preflight/dist/types.js +0 -11
  133. package/node_modules/@microwiseai/install-preflight/dist/types.js.map +0 -1
  134. package/node_modules/@microwiseai/install-preflight/package.json +0 -49
@@ -1,45 +0,0 @@
1
- /**
2
- * Minimal, self-contained SemVer utilities.
3
- *
4
- * Deliberately zero-dependency (like the snapshot version-validator, which
5
- * documents why it avoids the `semver` package). We implement only what the
6
- * preflight engine needs: strict parse, precedence compare (with prerelease
7
- * rules), prerelease detection, and range satisfaction for the operator subset
8
- * that actually appears in manifests. Unsupported range forms are surfaced via
9
- * `isSupportedRange` so the engine can report them rather than silently pass.
10
- */
11
- export interface SemVer {
12
- major: number;
13
- minor: number;
14
- patch: number;
15
- /** Prerelease identifiers (empty => stable). */
16
- prerelease: Array<string | number>;
17
- raw: string;
18
- }
19
- /** Parse an exact semver string. Returns null if not a valid single version. */
20
- export declare function parse(version: string): SemVer | null;
21
- export declare function isValid(version: string): boolean;
22
- /** True iff `version` is a valid semver carrying a prerelease identifier. */
23
- export declare function isPrerelease(version: string): boolean;
24
- /**
25
- * Compare precedence per the SemVer spec.
26
- * Returns -1 if a < b, 0 if equal precedence, 1 if a > b.
27
- */
28
- export declare function compare(a: string, b: string): -1 | 0 | 1;
29
- /** A dist-tag name, not a version/range: alphabetic-ish, not semver, not an operator. */
30
- export declare function looksLikeDistTag(range: string): boolean;
31
- /** True when `range` uses a form `satisfies` can evaluate. */
32
- export declare function isSupportedRange(range: string): boolean;
33
- /**
34
- * Does `version` satisfy `range`? Supports: exact, "" / "*" / "latest" / "x"
35
- * (any), caret (^), tilde (~), and comparators (>=,<=,>,<,=).
36
- *
37
- * Prerelease handling mirrors npm: a prerelease version only satisfies a range
38
- * when the range's own comparator names the same [major,minor,patch] tuple with
39
- * a prerelease (avoids ^1.2.3 silently pulling 2.0.0-rc.1). For exact ranges the
40
- * comparison is precedence-exact.
41
- */
42
- export declare function satisfies(version: string, range: string): boolean;
43
- /** Highest version in `versions` that satisfies `range`, or null. */
44
- export declare function maxSatisfying(versions: string[], range: string): string | null;
45
- //# sourceMappingURL=semver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBpD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAgCxD;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQvD;AAaD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAuDjE;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ9E"}
@@ -1,195 +0,0 @@
1
- /**
2
- * Minimal, self-contained SemVer utilities.
3
- *
4
- * Deliberately zero-dependency (like the snapshot version-validator, which
5
- * documents why it avoids the `semver` package). We implement only what the
6
- * preflight engine needs: strict parse, precedence compare (with prerelease
7
- * rules), prerelease detection, and range satisfaction for the operator subset
8
- * that actually appears in manifests. Unsupported range forms are surfaced via
9
- * `isSupportedRange` so the engine can report them rather than silently pass.
10
- */
11
- // Canonical semver.org regex (anchored). Accepts prerelease + build metadata.
12
- const SEMVER_RE = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
13
- /** Parse an exact semver string. Returns null if not a valid single version. */
14
- export function parse(version) {
15
- if (typeof version !== 'string')
16
- return null;
17
- const m = SEMVER_RE.exec(version.trim());
18
- if (!m)
19
- return null;
20
- const prerelease = [];
21
- if (m[4]) {
22
- for (const id of m[4].split('.')) {
23
- // Numeric identifiers are compared numerically.
24
- prerelease.push(/^\d+$/.test(id) ? Number(id) : id);
25
- }
26
- }
27
- return {
28
- major: Number(m[1]),
29
- minor: Number(m[2]),
30
- patch: Number(m[3]),
31
- prerelease,
32
- raw: version.trim(),
33
- };
34
- }
35
- export function isValid(version) {
36
- return parse(version) !== null;
37
- }
38
- /** True iff `version` is a valid semver carrying a prerelease identifier. */
39
- export function isPrerelease(version) {
40
- const p = parse(version);
41
- return p !== null && p.prerelease.length > 0;
42
- }
43
- /**
44
- * Compare precedence per the SemVer spec.
45
- * Returns -1 if a < b, 0 if equal precedence, 1 if a > b.
46
- */
47
- export function compare(a, b) {
48
- const pa = parse(a);
49
- const pb = parse(b);
50
- if (!pa || !pb)
51
- throw new Error(`compare: invalid semver "${!pa ? a : b}"`);
52
- for (const k of ['major', 'minor', 'patch']) {
53
- if (pa[k] !== pb[k])
54
- return pa[k] < pb[k] ? -1 : 1;
55
- }
56
- // A version WITHOUT prerelease has higher precedence than one WITH.
57
- const aPre = pa.prerelease;
58
- const bPre = pb.prerelease;
59
- if (aPre.length === 0 && bPre.length === 0)
60
- return 0;
61
- if (aPre.length === 0)
62
- return 1;
63
- if (bPre.length === 0)
64
- return -1;
65
- const len = Math.min(aPre.length, bPre.length);
66
- for (let i = 0; i < len; i++) {
67
- const x = aPre[i];
68
- const y = bPre[i];
69
- if (x === y)
70
- continue;
71
- const xNum = typeof x === 'number';
72
- const yNum = typeof y === 'number';
73
- // Numeric identifiers always have lower precedence than alphanumeric.
74
- if (xNum && !yNum)
75
- return -1;
76
- if (!xNum && yNum)
77
- return 1;
78
- if (xNum && yNum)
79
- return x < y ? -1 : 1;
80
- return x < y ? -1 : 1;
81
- }
82
- // All preceding identifiers equal => larger set has higher precedence.
83
- if (aPre.length === bPre.length)
84
- return 0;
85
- return aPre.length < bPre.length ? -1 : 1;
86
- }
87
- /** A dist-tag name, not a version/range: alphabetic-ish, not semver, not an operator. */
88
- export function looksLikeDistTag(range) {
89
- const r = range.trim();
90
- if (r === '' || r === '*' || r === 'latest')
91
- return false; // handled as default-resolve
92
- // No operators / digits-with-dots pattern; a plain word like "beta", "next", "dev".
93
- return /^[a-zA-Z][a-zA-Z0-9-]*$/.test(r) && !isValid(r);
94
- }
95
- /** True when `range` uses a form `satisfies` can evaluate. */
96
- export function isSupportedRange(range) {
97
- const r = range.trim();
98
- if (r === '' || r === '*' || r === 'latest' || r === 'x' || r === 'X')
99
- return true;
100
- if (isValid(r))
101
- return true; // exact
102
- if (/^[\^~]/.test(r) && isValid(r.slice(1)))
103
- return true; // ^x.y.z / ~x.y.z
104
- const cmp = /^(>=|<=|>|<|=)\s*(.+)$/.exec(r);
105
- if (cmp && isValid(cmp[2].trim()))
106
- return true;
107
- return false;
108
- }
109
- function upperBoundCaret(v) {
110
- // ^1.2.3 => <2.0.0 ; ^0.2.3 => <0.3.0 ; ^0.0.3 => <0.0.4
111
- if (v.major > 0)
112
- return { ...v, major: v.major + 1, minor: 0, patch: 0, prerelease: [] };
113
- if (v.minor > 0)
114
- return { ...v, minor: v.minor + 1, patch: 0, prerelease: [] };
115
- return { ...v, patch: v.patch + 1, prerelease: [] };
116
- }
117
- function fmt(v) {
118
- return `${v.major}.${v.minor}.${v.patch}`;
119
- }
120
- /**
121
- * Does `version` satisfy `range`? Supports: exact, "" / "*" / "latest" / "x"
122
- * (any), caret (^), tilde (~), and comparators (>=,<=,>,<,=).
123
- *
124
- * Prerelease handling mirrors npm: a prerelease version only satisfies a range
125
- * when the range's own comparator names the same [major,minor,patch] tuple with
126
- * a prerelease (avoids ^1.2.3 silently pulling 2.0.0-rc.1). For exact ranges the
127
- * comparison is precedence-exact.
128
- */
129
- export function satisfies(version, range) {
130
- const v = parse(version);
131
- if (!v)
132
- return false;
133
- const r = range.trim();
134
- if (r === '' || r === '*' || r === 'latest' || r === 'x' || r === 'X') {
135
- return true;
136
- }
137
- // Exact pin.
138
- if (isValid(r)) {
139
- return compare(version, r) === 0;
140
- }
141
- // Reject prereleases from range-based matches unless the range explicitly
142
- // targets the same core tuple with a prerelease.
143
- const rangeCore = r.replace(/^[\^~]/, '').replace(/^(>=|<=|>|<|=)\s*/, '');
144
- const rangeParsed = parse(rangeCore);
145
- if (v.prerelease.length > 0) {
146
- if (!rangeParsed || rangeParsed.prerelease.length === 0)
147
- return false;
148
- if (v.major !== rangeParsed.major || v.minor !== rangeParsed.minor || v.patch !== rangeParsed.patch) {
149
- return false;
150
- }
151
- }
152
- // Caret.
153
- if (r.startsWith('^')) {
154
- const base = parse(r.slice(1));
155
- if (!base)
156
- return false;
157
- const upper = upperBoundCaret(base);
158
- return compare(version, fmt(base)) >= 0 && compare(version, fmt(upper)) < 0;
159
- }
160
- // Tilde: ~1.2.3 => >=1.2.3 <1.3.0 ; ~1.2 => >=1.2.0 <1.3.0
161
- if (r.startsWith('~')) {
162
- const base = parse(r.slice(1));
163
- if (!base)
164
- return false;
165
- const upper = { ...base, minor: base.minor + 1, patch: 0, prerelease: [] };
166
- return compare(version, fmt(base)) >= 0 && compare(version, fmt(upper)) < 0;
167
- }
168
- // Comparators.
169
- const cmp = /^(>=|<=|>|<|=)\s*(.+)$/.exec(r);
170
- if (cmp && isValid(cmp[2].trim())) {
171
- const c = compare(version, cmp[2].trim());
172
- switch (cmp[1]) {
173
- case '>=': return c >= 0;
174
- case '<=': return c <= 0;
175
- case '>': return c > 0;
176
- case '<': return c < 0;
177
- case '=': return c === 0;
178
- }
179
- }
180
- return false;
181
- }
182
- /** Highest version in `versions` that satisfies `range`, or null. */
183
- export function maxSatisfying(versions, range) {
184
- let best = null;
185
- for (const v of versions) {
186
- if (!isValid(v))
187
- continue;
188
- if (!satisfies(v, range))
189
- continue;
190
- if (best === null || compare(v, best) > 0)
191
- best = v;
192
- }
193
- return best;
194
- }
195
- //# sourceMappingURL=semver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semver.js","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- /**
2
- * @microwiseai/install-preflight — public types.
3
- *
4
- * Registry-agnostic. This engine knows nothing about "snapshot", "glpkg" or
5
- * "skit". Callers describe WHAT to verify (a flat list of package requests,
6
- * each tagged with a channel) and HOW to reach each registry (channels with an
7
- * auth mode + resolver strategy). The engine probes every request and reports
8
- * why an end-user install would break.
9
- */
10
- /** How a channel authenticates. `anonymous` reproduces an end-user with no token. */
11
- export type AuthMode = {
12
- kind: 'anonymous';
13
- } | {
14
- kind: 'token';
15
- token: string;
16
- };
17
- /** Built-in resolver strategies. `custom` => the caller injects its own Resolver. */
18
- export type ResolverStrategy = 'npm-packument' | 'custom';
19
- /**
20
- * A registry channel: how a group of packages is resolved. One channel per
21
- * installer/registry lane (e.g. npm-proxy, glpkg, skit).
22
- */
23
- export interface RegistryChannel {
24
- /** Stable id referenced by PackageRequest.channel. */
25
- id: string;
26
- /** Base registry URL (trailing slash optional). */
27
- registryUrl: string;
28
- /** Auth mode. Use `anonymous` to reproduce a first-time end-user. */
29
- auth: AuthMode;
30
- /** Resolver strategy (default: 'npm-packument'). */
31
- strategy?: ResolverStrategy;
32
- /** Package scopes served by this channel (informational / transitive scoping). */
33
- scopes?: string[];
34
- /** Registry group id, when the proxy needs one (informational). */
35
- groupId?: string;
36
- }
37
- /** A single declared pin to verify, already assigned to a channel. */
38
- export interface PackageRequest {
39
- name: string;
40
- /**
41
- * The requested version selector: an exact pin ("0.7.0"), a range ("^0.7.0"),
42
- * a dist-tag ("latest"/"beta"), or "" / "latest" / "*" meaning default-resolve.
43
- */
44
- range: string;
45
- /** Channel id this package resolves through. */
46
- channel: string;
47
- /** Provenance for reporting (e.g. the root that pulled in this transitive dep). */
48
- requestedBy?: string;
49
- /**
50
- * True when the end-user would install this WITHOUT specifying a version
51
- * (i.e. `install @x/y`). Such installs must resolve to a stable release.
52
- * When omitted, it is inferred from `range` (""/"latest"/"*").
53
- */
54
- isDefaultResolve?: boolean;
55
- }
56
- /** SemVer / dist-tag discipline policy. */
57
- export interface PreflightPolicy {
58
- /** The dist-tag this publish/promotion targets. Default: 'latest'. */
59
- distTag?: string;
60
- /**
61
- * Tags that must only ever point at a STABLE release (no prerelease
62
- * identifier). Default: ['latest'].
63
- */
64
- requireStableForTags?: string[];
65
- /**
66
- * When true, any default-resolve request (unversioned install) whose
67
- * `latest` dist-tag points at a prerelease is a violation. Default: true.
68
- */
69
- forbidPrereleaseDefaultResolve?: boolean;
70
- }
71
- export type PreflightCode = 'NOT_FOUND' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'RANGE_UNSATISFIED' | 'PRERELEASE_ON_STABLE_TAG' | 'DEFAULT_RESOLVES_PRERELEASE' | 'UNSUPPORTED_RANGE' | 'UNKNOWN_CHANNEL' | 'NETWORK_ERROR';
72
- export interface PreflightFinding {
73
- code: PreflightCode;
74
- package: string;
75
- /** The requested selector. */
76
- requested: string;
77
- /** What it resolved to, when resolution got that far. */
78
- resolved?: string;
79
- channel: string;
80
- requestedBy?: string;
81
- /** HTTP-like status from the registry, when relevant. */
82
- registryStatus?: number;
83
- message: string;
84
- }
85
- /** A successfully resolved node, retained for audit. */
86
- export interface ResolvedPin {
87
- name: string;
88
- requested: string;
89
- resolved: string;
90
- channel: string;
91
- requestedBy?: string;
92
- /** True if resolved via default-resolve (unversioned / latest). */
93
- viaDefaultResolve: boolean;
94
- distTags?: Record<string, string>;
95
- }
96
- export interface PreflightReport {
97
- /** True iff there are zero findings. */
98
- ok: boolean;
99
- /** Number of distinct (name, channel) requests probed. */
100
- checked: number;
101
- /** Fully resolved closure nodes (for audit / logging). */
102
- closure: ResolvedPin[];
103
- /** All violations. Empty => safe to publish. */
104
- findings: PreflightFinding[];
105
- }
106
- /** Raw metadata for a package on a channel. */
107
- export interface PackumentResult {
108
- /** HTTP-like status: 200 ok, 401/403/404, 0 = network/other error. */
109
- status: number;
110
- /** dist-tag → version. */
111
- distTags?: Record<string, string>;
112
- /** All published versions. */
113
- versions?: string[];
114
- /** Error detail when status is non-200. */
115
- error?: string;
116
- }
117
- /** Pluggable resolver — how a channel fetches a package's metadata. */
118
- export interface Resolver {
119
- fetchPackument(name: string, channel: RegistryChannel): Promise<PackumentResult>;
120
- }
121
- export interface PreflightInput {
122
- /** Declared channels, keyed by id via `.id`. */
123
- channels: RegistryChannel[];
124
- /**
125
- * The FULL set of package requests to probe — direct pins AND any transitive
126
- * closure the caller has already expanded. The engine does not expand
127
- * transitives itself; closure discovery is the caller's responsibility so it
128
- * can decide how (e.g. token-discover the closure, then probe anonymously).
129
- */
130
- packages: PackageRequest[];
131
- /** SemVer / dist-tag policy. */
132
- policy?: PreflightPolicy;
133
- /** Override the default network resolver (e.g. for tests or custom lanes). */
134
- resolver?: Resolver;
135
- }
136
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @microwiseai/install-preflight — public types.
3
- *
4
- * Registry-agnostic. This engine knows nothing about "snapshot", "glpkg" or
5
- * "skit". Callers describe WHAT to verify (a flat list of package requests,
6
- * each tagged with a channel) and HOW to reach each registry (channels with an
7
- * auth mode + resolver strategy). The engine probes every request and reports
8
- * why an end-user install would break.
9
- */
10
- export {};
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1,49 +0,0 @@
1
- {
2
- "name": "@microwiseai/install-preflight",
3
- "version": "0.1.0",
4
- "description": "Registry-agnostic install preflight engine: anonymous closure resolvability (401/404/range) + semver/dist-tag policy checks before publishing a manifest. Zero knowledge of snapshot/glpkg/skit.",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- }
13
- },
14
- "scripts": {
15
- "prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
16
- "build": "tsc -p tsconfig.build.json",
17
- "dev": "tsc --watch",
18
- "typecheck": "tsc --noEmit",
19
- "test": "vitest",
20
- "test:run": "vitest run",
21
- "lint": "eslint src",
22
- "prepublishOnly": "npm run build"
23
- },
24
- "files": [
25
- "dist"
26
- ],
27
- "keywords": [
28
- "preflight",
29
- "registry",
30
- "semver",
31
- "dist-tag",
32
- "install",
33
- "dependency-resolution"
34
- ],
35
- "author": "IST Team",
36
- "license": "MIT",
37
- "dependencies": {},
38
- "devDependencies": {
39
- "@types/node": "^20.11.0",
40
- "@typescript-eslint/eslint-plugin": "^8.57.0",
41
- "@typescript-eslint/parser": "^8.57.0",
42
- "eslint": "^10.0.3",
43
- "typescript": "^5.7.3",
44
- "vitest": "^4.0.18"
45
- },
46
- "engines": {
47
- "node": ">=18.0.0"
48
- }
49
- }