upstream-radar 0.40.0 → 0.41.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 (48) hide show
  1. package/README.md +123 -225
  2. package/dist/src/cli.js +11 -2
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/dsh-compatibility-ir.d.ts +98 -0
  5. package/dist/src/dsh-compatibility-ir.d.ts.map +1 -0
  6. package/dist/src/dsh-compatibility-ir.js +389 -0
  7. package/dist/src/dsh-compatibility-ir.js.map +1 -0
  8. package/dist/src/dsh-compatibility-issues.d.ts +44 -0
  9. package/dist/src/dsh-compatibility-issues.d.ts.map +1 -0
  10. package/dist/src/dsh-compatibility-issues.js +185 -0
  11. package/dist/src/dsh-compatibility-issues.js.map +1 -0
  12. package/dist/src/dsh-compatibility-ledger.d.ts +150 -0
  13. package/dist/src/dsh-compatibility-ledger.d.ts.map +1 -0
  14. package/dist/src/dsh-compatibility-ledger.js +645 -0
  15. package/dist/src/dsh-compatibility-ledger.js.map +1 -0
  16. package/dist/src/dsh-install-observation.d.ts +88 -1
  17. package/dist/src/dsh-install-observation.d.ts.map +1 -1
  18. package/dist/src/dsh-install-observation.js +579 -6
  19. package/dist/src/dsh-install-observation.js.map +1 -1
  20. package/dist/src/dsh-install-plan.d.ts +16 -6
  21. package/dist/src/dsh-install-plan.d.ts.map +1 -1
  22. package/dist/src/dsh-install-plan.js +272 -46
  23. package/dist/src/dsh-install-plan.js.map +1 -1
  24. package/dist/src/dsh-plugin.d.ts.map +1 -1
  25. package/dist/src/dsh-plugin.js +6 -2
  26. package/dist/src/dsh-plugin.js.map +1 -1
  27. package/dist/src/dsh-runtime.d.ts +6 -0
  28. package/dist/src/dsh-runtime.d.ts.map +1 -1
  29. package/dist/src/dsh-runtime.js +38 -0
  30. package/dist/src/dsh-runtime.js.map +1 -1
  31. package/dist/src/index.d.ts +7 -4
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +4 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/installed-graph.d.ts.map +1 -1
  36. package/dist/src/installed-graph.js +105 -26
  37. package/dist/src/installed-graph.js.map +1 -1
  38. package/dist/src/radar-types.d.ts +15 -0
  39. package/dist/src/radar-types.d.ts.map +1 -1
  40. package/dist/src/semver.d.ts.map +1 -1
  41. package/dist/src/semver.js +7 -1
  42. package/dist/src/semver.js.map +1 -1
  43. package/dist/src/version.d.ts +1 -1
  44. package/dist/src/version.js +1 -1
  45. package/docs/README.zh-CN.md +25 -23
  46. package/package.json +1 -1
  47. package/schemas/dsh-compatibility-ir.schema.json +89 -0
  48. package/schemas/dsh-install-observation.schema.json +135 -2
@@ -0,0 +1,389 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { parseDshCompatibilityLedger } from './dsh-compatibility-ledger.js';
3
+ import { parseNpmSpec } from './npm.js';
4
+ /**
5
+ * A normalized, durable view of the exact direct contracts between one plugin
6
+ * artifact and the host packages a DSH runtime actually resolves for it.
7
+ *
8
+ * This intentionally is not a second copy of the full pnpm graph. The full
9
+ * graph can be large and is already bound by its digest in the ledger. This
10
+ * IR keeps the small compatibility frontier that answers a product question:
11
+ * when host package X changes, which exact plugin contracts need retesting?
12
+ */
13
+ export const DSH_COMPATIBILITY_IR_SCHEMA = 'upstream-radar.dsh-compatibility-ir/v1alpha1';
14
+ export const DSH_COMPATIBILITY_REVERSE_INDEX_SCHEMA = 'upstream-radar.dsh-compatibility-reverse-index/v1alpha1';
15
+ const EXACT_VERSION = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
16
+ const SHA256 = /^[a-f0-9]{64}$/;
17
+ const MAX_CELLS = 500;
18
+ const MAX_RELATIONS_PER_CELL = 64;
19
+ const MAX_RELATIONS = MAX_CELLS * MAX_RELATIONS_PER_CELL;
20
+ function record(value, label) {
21
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
22
+ throw new Error(`${label} must be an object`);
23
+ return value;
24
+ }
25
+ function boundedString(value, label, maximum) {
26
+ if (typeof value !== 'string' || value.trim() === '' || value.length > maximum) {
27
+ throw new Error(`${label} must be a non-empty string no longer than ${maximum} characters`);
28
+ }
29
+ return value;
30
+ }
31
+ function exactVersion(value, label) {
32
+ const parsed = boundedString(value, label, 256);
33
+ if (!EXACT_VERSION.test(parsed))
34
+ throw new Error(`${label} must be an exact semantic version`);
35
+ return parsed;
36
+ }
37
+ function boundedInteger(value, label, maximum) {
38
+ if (!Number.isSafeInteger(value) || value < 0 || value > maximum) {
39
+ throw new Error(`${label} must be a bounded non-negative integer`);
40
+ }
41
+ return value;
42
+ }
43
+ function peerStatus(value, label) {
44
+ const status = boundedString(value, label, 32);
45
+ if (status !== 'satisfied' && status !== 'mismatched' && status !== 'indeterminate' && status !== 'missing') {
46
+ throw new Error(`${label} is unsupported`);
47
+ }
48
+ return status;
49
+ }
50
+ function peerStaticUsage(value, label) {
51
+ const usage = boundedString(value, label, 64);
52
+ if (usage !== 'runtime-import-observed' && usage !== 'type-only-reference-observed'
53
+ && usage !== 'no-literal-reference-observed' && usage !== 'scan-incomplete') {
54
+ throw new Error(`${label} is unsupported`);
55
+ }
56
+ return usage;
57
+ }
58
+ function result(value, label) {
59
+ const parsed = boundedString(value, label, 64);
60
+ if (parsed !== 'compatible' && parsed !== 'runtime-incompatible' && parsed !== 'peer-contract-incompatible'
61
+ && parsed !== 'install-failed' && parsed !== 'load-failed' && parsed !== 'unknown') {
62
+ throw new Error(`${label} is unsupported`);
63
+ }
64
+ return parsed;
65
+ }
66
+ function packageName(value, label) {
67
+ const name = boundedString(value, label, 214);
68
+ try {
69
+ const parsed = parseNpmSpec(`${name}@0.0.0`);
70
+ if (parsed.name !== name)
71
+ throw new Error('canonical package name differs');
72
+ }
73
+ catch {
74
+ throw new Error(`${label} must be an npm package name`);
75
+ }
76
+ return name;
77
+ }
78
+ function exactPackage(value, label) {
79
+ const spec = boundedString(value, label, 512);
80
+ const parsed = parseNpmSpec(spec);
81
+ return { name: parsed.name, version: parsed.version };
82
+ }
83
+ function sha256(value, label) {
84
+ const parsed = boundedString(value, label, 64);
85
+ if (!SHA256.test(parsed))
86
+ throw new Error(`${label} must be a lowercase SHA-256 hex digest`);
87
+ return parsed;
88
+ }
89
+ function stableId(prefix, value) {
90
+ const digest = createHash('sha256').update(JSON.stringify(value)).digest('hex');
91
+ return `${prefix}:${digest}`;
92
+ }
93
+ function relationId(cellId, relation) {
94
+ return stableId('relation', {
95
+ cellId,
96
+ name: relation.name,
97
+ required: relation.required,
98
+ status: relation.status,
99
+ staticUsage: relation.staticUsage,
100
+ ...(relation.resolvedVersion === undefined ? {} : { resolvedVersion: relation.resolvedVersion }),
101
+ });
102
+ }
103
+ function cellId(entry) {
104
+ return stableId('cell', {
105
+ caseId: entry.caseId,
106
+ targetId: entry.targetId,
107
+ plugin: entry.plugin,
108
+ dshVersion: entry.dshVersion,
109
+ nodeMajor: entry.runtime.nodeMajor,
110
+ platform: entry.runtime.platform,
111
+ architecture: entry.runtime.architecture,
112
+ staticFingerprint: entry.staticFingerprint,
113
+ contractFingerprint: entry.contractFingerprint,
114
+ ...(entry.artifact.sha256 === undefined ? {} : { artifactSha256: entry.artifact.sha256 }),
115
+ });
116
+ }
117
+ function sortRelations(left, right) {
118
+ return left.cellId.localeCompare(right.cellId)
119
+ || left.dependency.name.localeCompare(right.dependency.name)
120
+ || left.dependency.required.localeCompare(right.dependency.required)
121
+ || left.id.localeCompare(right.id);
122
+ }
123
+ /**
124
+ * Build the compatibility IR from already-validated durable evidence. It does
125
+ * not fetch, install, or execute any target code.
126
+ */
127
+ export function buildDshCompatibilityIR(ledgerInput) {
128
+ const ledger = parseDshCompatibilityLedger(ledgerInput);
129
+ const cells = [];
130
+ const relations = [];
131
+ for (const entry of ledger.entries) {
132
+ const plugin = parseNpmSpec(entry.plugin);
133
+ const id = cellId(entry);
134
+ const runtimeGraph = entry.resolution?.runtimeGraph;
135
+ const contracts = runtimeGraph?.pluginPeerContracts;
136
+ cells.push({
137
+ id,
138
+ caseId: entry.caseId,
139
+ targetId: entry.targetId,
140
+ observedAt: entry.observedAt,
141
+ result: entry.result,
142
+ plugin: {
143
+ name: plugin.name,
144
+ version: plugin.version,
145
+ ...(entry.artifact.sha256 === undefined ? {} : { artifactSha256: entry.artifact.sha256 }),
146
+ staticFingerprint: entry.staticFingerprint,
147
+ },
148
+ runtime: {
149
+ dshVersion: entry.dshVersion,
150
+ nodeMajor: entry.runtime.nodeMajor,
151
+ nodeVersion: entry.runtime.nodeVersion,
152
+ platform: entry.runtime.platform,
153
+ architecture: entry.runtime.architecture,
154
+ ...(entry.runtime.pnpmVersion === undefined ? {} : { pnpmVersion: entry.runtime.pnpmVersion }),
155
+ contractFingerprint: entry.contractFingerprint,
156
+ },
157
+ evidence: {
158
+ ...(runtimeGraph?.digest === undefined ? {} : { runtimeGraphDigest: runtimeGraph.digest }),
159
+ ...(runtimeGraph?.nodes === undefined ? {} : { runtimeGraphNodes: runtimeGraph.nodes }),
160
+ ...(runtimeGraph?.edges === undefined ? {} : { runtimeGraphEdges: runtimeGraph.edges }),
161
+ ...(runtimeGraph?.unresolved === undefined ? {} : { requiredUnresolved: runtimeGraph.unresolved }),
162
+ ...(contracts === undefined ? {} : { declaredPeerContracts: contracts.declared }),
163
+ },
164
+ });
165
+ for (const relation of contracts?.relations ?? []) {
166
+ relations.push({
167
+ id: relationId(id, relation),
168
+ cellId: id,
169
+ dependency: {
170
+ name: relation.name,
171
+ required: relation.required,
172
+ status: relation.status,
173
+ staticUsage: relation.staticUsage,
174
+ ...(relation.resolvedVersion === undefined ? {} : { resolvedVersion: relation.resolvedVersion }),
175
+ },
176
+ });
177
+ }
178
+ }
179
+ cells.sort((left, right) => left.caseId.localeCompare(right.caseId) || left.id.localeCompare(right.id));
180
+ relations.sort(sortRelations);
181
+ return { schema: DSH_COMPATIBILITY_IR_SCHEMA, cells, relations };
182
+ }
183
+ /** Create the bounded reverse view used when a DSH host dependency changes. */
184
+ export function buildDshCompatibilityReverseIndex(irInput) {
185
+ const ir = parseDshCompatibilityIR(irInput);
186
+ const cells = new Map(ir.cells.map(cell => [cell.id, cell]));
187
+ const dependencies = new Map();
188
+ for (const relation of ir.relations) {
189
+ const cell = cells.get(relation.cellId);
190
+ if (cell === undefined)
191
+ throw new Error(`IR relation ${relation.id} refers to an unknown cell`);
192
+ const impacts = dependencies.get(relation.dependency.name) ?? [];
193
+ impacts.push({
194
+ relationId: relation.id,
195
+ cellId: cell.id,
196
+ caseId: cell.caseId,
197
+ plugin: `${cell.plugin.name}@${cell.plugin.version}`,
198
+ dshVersion: cell.runtime.dshVersion,
199
+ nodeMajor: cell.runtime.nodeMajor,
200
+ required: relation.dependency.required,
201
+ status: relation.dependency.status,
202
+ staticUsage: relation.dependency.staticUsage,
203
+ ...(relation.dependency.resolvedVersion === undefined ? {} : { resolvedVersion: relation.dependency.resolvedVersion }),
204
+ });
205
+ dependencies.set(relation.dependency.name, impacts);
206
+ }
207
+ return {
208
+ schema: DSH_COMPATIBILITY_REVERSE_INDEX_SCHEMA,
209
+ dependencies: [...dependencies.entries()]
210
+ .map(([name, impacts]) => ({
211
+ name,
212
+ impacts: impacts.sort((left, right) => left.plugin.localeCompare(right.plugin)
213
+ || left.dshVersion.localeCompare(right.dshVersion)
214
+ || left.nodeMajor - right.nodeMajor
215
+ || left.caseId.localeCompare(right.caseId)
216
+ || left.relationId.localeCompare(right.relationId)),
217
+ }))
218
+ .sort((left, right) => left.name.localeCompare(right.name)),
219
+ };
220
+ }
221
+ function parseCell(value, index) {
222
+ const item = record(value, `cells[${index}]`);
223
+ const plugin = record(item.plugin, `cells[${index}].plugin`);
224
+ const runtime = record(item.runtime, `cells[${index}].runtime`);
225
+ const evidence = record(item.evidence, `cells[${index}].evidence`);
226
+ const parsedPlugin = exactPackage(`${boundedString(plugin.name, `cells[${index}].plugin.name`, 214)}@${exactVersion(plugin.version, `cells[${index}].plugin.version`)}`, `cells[${index}].plugin`);
227
+ const artifactSha256 = plugin.artifactSha256 === undefined ? undefined : sha256(plugin.artifactSha256, `cells[${index}].plugin.artifactSha256`);
228
+ const observedAt = boundedString(item.observedAt, `cells[${index}].observedAt`, 64);
229
+ if (!Number.isFinite(Date.parse(observedAt)))
230
+ throw new Error(`cells[${index}].observedAt must be an ISO timestamp`);
231
+ const nodeMajor = boundedInteger(runtime.nodeMajor, `cells[${index}].runtime.nodeMajor`, 40);
232
+ if (nodeMajor < 16)
233
+ throw new Error(`cells[${index}].runtime.nodeMajor must be a supported Node.js major version`);
234
+ const pnpmVersion = runtime.pnpmVersion === undefined ? undefined : exactVersion(runtime.pnpmVersion, `cells[${index}].runtime.pnpmVersion`);
235
+ const runtimeGraphDigest = evidence.runtimeGraphDigest === undefined ? undefined : boundedString(evidence.runtimeGraphDigest, `cells[${index}].evidence.runtimeGraphDigest`, 80);
236
+ const runtimeGraphNodes = evidence.runtimeGraphNodes === undefined ? undefined : boundedInteger(evidence.runtimeGraphNodes, `cells[${index}].evidence.runtimeGraphNodes`, 100_000);
237
+ const runtimeGraphEdges = evidence.runtimeGraphEdges === undefined ? undefined : boundedInteger(evidence.runtimeGraphEdges, `cells[${index}].evidence.runtimeGraphEdges`, 250_000);
238
+ const requiredUnresolved = evidence.requiredUnresolved === undefined ? undefined : boundedInteger(evidence.requiredUnresolved, `cells[${index}].evidence.requiredUnresolved`, 250_000);
239
+ const declaredPeerContracts = evidence.declaredPeerContracts === undefined ? undefined : boundedInteger(evidence.declaredPeerContracts, `cells[${index}].evidence.declaredPeerContracts`, MAX_RELATIONS_PER_CELL);
240
+ const cell = {
241
+ id: boundedString(item.id, `cells[${index}].id`, 80),
242
+ caseId: boundedString(item.caseId, `cells[${index}].caseId`, 64),
243
+ targetId: boundedString(item.targetId, `cells[${index}].targetId`, 64),
244
+ observedAt,
245
+ result: result(item.result, `cells[${index}].result`),
246
+ plugin: {
247
+ name: parsedPlugin.name,
248
+ version: parsedPlugin.version,
249
+ ...(artifactSha256 === undefined ? {} : { artifactSha256 }),
250
+ staticFingerprint: boundedString(plugin.staticFingerprint, `cells[${index}].plugin.staticFingerprint`, 80),
251
+ },
252
+ runtime: {
253
+ dshVersion: exactVersion(runtime.dshVersion, `cells[${index}].runtime.dshVersion`),
254
+ nodeMajor,
255
+ nodeVersion: exactVersion(runtime.nodeVersion, `cells[${index}].runtime.nodeVersion`),
256
+ platform: boundedString(runtime.platform, `cells[${index}].runtime.platform`, 64),
257
+ architecture: boundedString(runtime.architecture, `cells[${index}].runtime.architecture`, 64),
258
+ ...(pnpmVersion === undefined ? {} : { pnpmVersion }),
259
+ contractFingerprint: boundedString(runtime.contractFingerprint, `cells[${index}].runtime.contractFingerprint`, 80),
260
+ },
261
+ evidence: {
262
+ ...(runtimeGraphDigest === undefined ? {} : { runtimeGraphDigest }),
263
+ ...(runtimeGraphNodes === undefined ? {} : { runtimeGraphNodes }),
264
+ ...(runtimeGraphEdges === undefined ? {} : { runtimeGraphEdges }),
265
+ ...(requiredUnresolved === undefined ? {} : { requiredUnresolved }),
266
+ ...(declaredPeerContracts === undefined ? {} : { declaredPeerContracts }),
267
+ },
268
+ };
269
+ return cell;
270
+ }
271
+ function parseRelation(value, index) {
272
+ const item = record(value, `relations[${index}]`);
273
+ const dependency = record(item.dependency, `relations[${index}].dependency`);
274
+ const status = peerStatus(dependency.status, `relations[${index}].dependency.status`);
275
+ const resolvedVersion = dependency.resolvedVersion === undefined
276
+ ? undefined
277
+ : exactVersion(dependency.resolvedVersion, `relations[${index}].dependency.resolvedVersion`);
278
+ if ((status === 'satisfied' || status === 'mismatched') && resolvedVersion === undefined) {
279
+ throw new Error(`relations[${index}].dependency requires a resolvedVersion for ${status}`);
280
+ }
281
+ if (status === 'missing' && resolvedVersion !== undefined) {
282
+ throw new Error(`relations[${index}].dependency.resolvedVersion must be absent for a missing peer`);
283
+ }
284
+ return {
285
+ id: boundedString(item.id, `relations[${index}].id`, 80),
286
+ cellId: boundedString(item.cellId, `relations[${index}].cellId`, 80),
287
+ dependency: {
288
+ name: packageName(dependency.name, `relations[${index}].dependency.name`),
289
+ required: boundedString(dependency.required, `relations[${index}].dependency.required`, 512),
290
+ status,
291
+ staticUsage: peerStaticUsage(dependency.staticUsage, `relations[${index}].dependency.staticUsage`),
292
+ ...(resolvedVersion === undefined ? {} : { resolvedVersion }),
293
+ },
294
+ };
295
+ }
296
+ /** Validate a persisted compatibility IR before using it for impact routing. */
297
+ export function parseDshCompatibilityIR(input) {
298
+ const root = record(input, 'DSH compatibility IR');
299
+ if (root.schema !== DSH_COMPATIBILITY_IR_SCHEMA)
300
+ throw new Error(`DSH compatibility IR schema must be ${DSH_COMPATIBILITY_IR_SCHEMA}`);
301
+ if (!Array.isArray(root.cells) || root.cells.length > MAX_CELLS)
302
+ throw new Error(`DSH compatibility IR cells must contain at most ${MAX_CELLS} entries`);
303
+ if (!Array.isArray(root.relations) || root.relations.length > MAX_RELATIONS)
304
+ throw new Error(`DSH compatibility IR relations must contain at most ${MAX_RELATIONS} entries`);
305
+ const cells = root.cells.map(parseCell);
306
+ const cellIds = new Set();
307
+ for (const cell of cells) {
308
+ if (cellIds.has(cell.id))
309
+ throw new Error(`DSH compatibility IR has a duplicate cell id: ${cell.id}`);
310
+ cellIds.add(cell.id);
311
+ }
312
+ const relations = root.relations.map(parseRelation);
313
+ const relationIds = new Set();
314
+ const relationCounts = new Map();
315
+ for (const relation of relations) {
316
+ if (relationIds.has(relation.id))
317
+ throw new Error(`DSH compatibility IR has a duplicate relation id: ${relation.id}`);
318
+ if (!cellIds.has(relation.cellId))
319
+ throw new Error(`DSH compatibility IR relation ${relation.id} references an unknown cell`);
320
+ relationIds.add(relation.id);
321
+ relationCounts.set(relation.cellId, (relationCounts.get(relation.cellId) ?? 0) + 1);
322
+ }
323
+ for (const cell of cells) {
324
+ const count = relationCounts.get(cell.id) ?? 0;
325
+ if (count > MAX_RELATIONS_PER_CELL)
326
+ throw new Error(`DSH compatibility IR cell ${cell.caseId} exceeds ${MAX_RELATIONS_PER_CELL} relations`);
327
+ if (cell.evidence.declaredPeerContracts !== undefined && count !== cell.evidence.declaredPeerContracts) {
328
+ throw new Error(`DSH compatibility IR cell ${cell.caseId} relation count does not match declared peer contracts`);
329
+ }
330
+ }
331
+ cells.sort((left, right) => left.caseId.localeCompare(right.caseId) || left.id.localeCompare(right.id));
332
+ relations.sort(sortRelations);
333
+ return { schema: DSH_COMPATIBILITY_IR_SCHEMA, cells, relations };
334
+ }
335
+ /** Validate the materialized reverse index before an observer consumes it. */
336
+ export function parseDshCompatibilityReverseIndex(input) {
337
+ const root = record(input, 'DSH compatibility reverse index');
338
+ if (root.schema !== DSH_COMPATIBILITY_REVERSE_INDEX_SCHEMA) {
339
+ throw new Error(`DSH compatibility reverse index schema must be ${DSH_COMPATIBILITY_REVERSE_INDEX_SCHEMA}`);
340
+ }
341
+ if (!Array.isArray(root.dependencies) || root.dependencies.length > MAX_RELATIONS) {
342
+ throw new Error(`DSH compatibility reverse index dependencies must contain at most ${MAX_RELATIONS} entries`);
343
+ }
344
+ const seenDependencies = new Set();
345
+ const dependencies = root.dependencies.map((value, index) => {
346
+ const dependency = record(value, `dependencies[${index}]`);
347
+ const name = packageName(dependency.name, `dependencies[${index}].name`);
348
+ if (seenDependencies.has(name))
349
+ throw new Error(`DSH compatibility reverse index has duplicate dependency ${name}`);
350
+ seenDependencies.add(name);
351
+ if (!Array.isArray(dependency.impacts) || dependency.impacts.length === 0 || dependency.impacts.length > MAX_RELATIONS) {
352
+ throw new Error(`dependencies[${index}].impacts must contain between 1 and ${MAX_RELATIONS} entries`);
353
+ }
354
+ const seenRelations = new Set();
355
+ const impacts = dependency.impacts.map((valueToParse, impactIndex) => {
356
+ const impact = record(valueToParse, `dependencies[${index}].impacts[${impactIndex}]`);
357
+ const relationId = boundedString(impact.relationId, `dependencies[${index}].impacts[${impactIndex}].relationId`, 80);
358
+ if (seenRelations.has(relationId))
359
+ throw new Error(`dependencies[${index}].impacts has duplicate relation ${relationId}`);
360
+ seenRelations.add(relationId);
361
+ const resolvedVersion = impact.resolvedVersion === undefined
362
+ ? undefined
363
+ : exactVersion(impact.resolvedVersion, `dependencies[${index}].impacts[${impactIndex}].resolvedVersion`);
364
+ const status = peerStatus(impact.status, `dependencies[${index}].impacts[${impactIndex}].status`);
365
+ if ((status === 'satisfied' || status === 'mismatched') && resolvedVersion === undefined) {
366
+ throw new Error(`dependencies[${index}].impacts[${impactIndex}] requires a resolvedVersion for ${status}`);
367
+ }
368
+ if (status === 'missing' && resolvedVersion !== undefined) {
369
+ throw new Error(`dependencies[${index}].impacts[${impactIndex}].resolvedVersion must be absent for a missing peer`);
370
+ }
371
+ return {
372
+ relationId,
373
+ cellId: boundedString(impact.cellId, `dependencies[${index}].impacts[${impactIndex}].cellId`, 80),
374
+ caseId: boundedString(impact.caseId, `dependencies[${index}].impacts[${impactIndex}].caseId`, 64),
375
+ plugin: boundedString(impact.plugin, `dependencies[${index}].impacts[${impactIndex}].plugin`, 512),
376
+ dshVersion: exactVersion(impact.dshVersion, `dependencies[${index}].impacts[${impactIndex}].dshVersion`),
377
+ nodeMajor: boundedInteger(impact.nodeMajor, `dependencies[${index}].impacts[${impactIndex}].nodeMajor`, 40),
378
+ required: boundedString(impact.required, `dependencies[${index}].impacts[${impactIndex}].required`, 512),
379
+ status,
380
+ staticUsage: peerStaticUsage(impact.staticUsage, `dependencies[${index}].impacts[${impactIndex}].staticUsage`),
381
+ ...(resolvedVersion === undefined ? {} : { resolvedVersion }),
382
+ };
383
+ });
384
+ return { name, impacts: impacts.sort((left, right) => left.relationId.localeCompare(right.relationId)) };
385
+ });
386
+ dependencies.sort((left, right) => left.name.localeCompare(right.name));
387
+ return { schema: DSH_COMPATIBILITY_REVERSE_INDEX_SCHEMA, dependencies };
388
+ }
389
+ //# sourceMappingURL=dsh-compatibility-ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh-compatibility-ir.js","sourceRoot":"","sources":["../../src/dsh-compatibility-ir.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { type DshCompatibilityLedgerEntry } from './dsh-compatibility-ledger.js';
2
+ export declare const DSH_COMPATIBILITY_ISSUE_LABELS: readonly ['upstream-radar', 'dsh-compatibility'];
3
+ export interface DshCompatibilityExistingIssue {
4
+ number: number;
5
+ state: 'open' | 'closed';
6
+ title: string;
7
+ body: string;
8
+ }
9
+ export type DshCompatibilityIssueAction = {
10
+ kind: 'create';
11
+ caseId: string;
12
+ title: string;
13
+ body: string;
14
+ } | {
15
+ kind: 'update' | 'reopen';
16
+ caseId: string;
17
+ issueNumber: number;
18
+ title: string;
19
+ body: string;
20
+ } | {
21
+ kind: 'close';
22
+ caseId: string;
23
+ issueNumber: number;
24
+ comment: string;
25
+ };
26
+ export interface DshCompatibilityIssuePlan {
27
+ actions: DshCompatibilityIssueAction[];
28
+ openCaseIds: string[];
29
+ ignoredUnknownCaseIds: string[];
30
+ }
31
+ export declare function dshCompatibilityIssueMarker(caseId: string): string;
32
+ export declare function dshCompatibilityIssueCaseId(body: string): string | undefined;
33
+ export declare function renderDshCompatibilityIssue(entry: DshCompatibilityLedgerEntry, runUrl?: string): {
34
+ title: string;
35
+ body: string;
36
+ };
37
+ export declare function renderDshCompatibilityResolution(entry: DshCompatibilityLedgerEntry, runUrl?: string): string;
38
+ /** Build an idempotent desired-state plan for issues in Radar's own repository. */
39
+ export declare function buildDshCompatibilityIssuePlan(input: {
40
+ ledger: unknown;
41
+ existingIssues: readonly DshCompatibilityExistingIssue[];
42
+ runUrl?: string;
43
+ }): DshCompatibilityIssuePlan;
44
+ //# sourceMappingURL=dsh-compatibility-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh-compatibility-issues.d.ts","sourceRoot":"","sources":["../../src/dsh-compatibility-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAA;AAUtC,eAAO,MAAM,8BAA8B,YAAI,gBAAgB,EAAE,mBAAmB,CAAU,CAAA;AAE9F,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAEL,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,2BAA2B,EAAE,CAAA;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,qBAAqB,EAAE,MAAM,EAAE,CAAA;CAChC;AAqBD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AA0CD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,2BAA2B,EAClC,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA0CjC;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,2BAA2B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5G;AAgBD,mFAAmF;AACnF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,EAAE,SAAS,6BAA6B,EAAE,CAAA;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,yBAAyB,CAyC5B"}