upstream-radar 0.8.0 → 0.10.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.
- package/README.md +18 -17
- package/dist/src/cli.js +96 -15
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/init.d.ts +13 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +88 -9
- package/dist/src/init.js.map +1 -1
- package/dist/src/radar-status.d.ts +37 -0
- package/dist/src/radar-status.d.ts.map +1 -0
- package/dist/src/radar-status.js +85 -0
- package/dist/src/radar-status.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/docs/README.zh-CN.md +16 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,20 +26,20 @@
|
|
|
26
26
|
|
|
27
27
|
## Try it in 60 seconds
|
|
28
28
|
|
|
29
|
-
Use a DSH profile that already contains at least one third-party bundle.
|
|
29
|
+
Use a DSH profile that already contains at least one third-party bundle. If DSH has only one such profile, `init` can find it for you:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
dsh plugin --profile web add upstream-radar@latest
|
|
33
33
|
pnpm dlx --package=upstream-radar@latest upstream-radar init \
|
|
34
|
-
--profile web \
|
|
35
34
|
--project-name "My DSH project" \
|
|
36
35
|
--workspace "$PWD" \
|
|
37
|
-
--output ./upstream-radar.config.json
|
|
38
|
-
|
|
39
|
-
dsh --profile web
|
|
36
|
+
--output ./upstream-radar.config.json \
|
|
37
|
+
--dsh-patch ./upstream-radar.dsh.yml
|
|
38
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml
|
|
39
|
+
pnpm dlx --package=upstream-radar@latest upstream-radar radar status ./upstream-radar.config.json
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The initializer writes a reviewable inventory
|
|
42
|
+
The initializer writes a reviewable inventory and an explicit DSH overlay. Review both files, start the same profile with `--patch`, then use `radar status` to confirm the first run without another network request. If more than one DSH profile has third-party bundles, pass `--profile <name>` explicitly. Read the [full DSH setup](#install-in-dsh) for the legacy environment-variable path, profile boundaries, and the real runtime proof.
|
|
43
43
|
|
|
44
44
|
If you want to try the monitoring loop without booting a DSH profile, run one cycle from a reviewed inventory:
|
|
45
45
|
|
|
@@ -104,26 +104,25 @@ Generate the inventory from the DSH profile instead of writing the dependency gr
|
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
106
|
pnpm dlx --package=upstream-radar@latest upstream-radar init \
|
|
107
|
-
--profile web \
|
|
108
107
|
--project-name "My DSH project" \
|
|
109
108
|
--workspace "$PWD" \
|
|
110
|
-
--output ./upstream-radar.config.json
|
|
109
|
+
--output ./upstream-radar.config.json \
|
|
110
|
+
--dsh-patch ./upstream-radar.dsh.yml
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
The initializer reads the profile's actual third-party bundles, resolves each exact npm artifact with lifecycle scripts disabled, and writes a reviewable config. It never starts DSH or enables polling by itself. Review
|
|
113
|
+
The initializer reads the profile's actual third-party bundles, resolves each exact npm artifact with lifecycle scripts disabled, and writes a reviewable config plus a self-contained DSH overlay. It never starts DSH or enables polling by itself. Review both generated files, then run:
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
dsh --profile web --dump-config
|
|
121
|
-
dsh --profile web
|
|
116
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml --dump-config
|
|
117
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml
|
|
118
|
+
pnpm dlx --package=upstream-radar@latest upstream-radar radar status ./upstream-radar.config.json
|
|
122
119
|
```
|
|
123
120
|
|
|
121
|
+
The generated overlay points DSH at the config and state files explicitly. `radar status` is read-only and reports whether a check has completed, which source is unhealthy, active incidents, and pending DSH tasks. If you prefer environment variables or need to override the polling interval, omit `--dsh-patch` and use `UPSTREAM_RADAR_CONFIG`, `UPSTREAM_RADAR_STATE`, and `UPSTREAM_RADAR_INTERVAL_SECONDS` as before.
|
|
122
|
+
|
|
124
123
|
The generated graph is the exact public npm artifact graph for the installed bundle versions. If your DSH profile applies package-manager overrides, patches, or unusual peer resolution, review those differences before enabling continuous monitoring.
|
|
125
124
|
|
|
126
|
-
For a hand-written or CI fixture, use [the example inventory](examples/radar/config.json). If `UPSTREAM_RADAR_CONFIG` is
|
|
125
|
+
For a hand-written or CI fixture, use [the example inventory](examples/radar/config.json). If neither a generated `--patch` overlay nor `UPSTREAM_RADAR_CONFIG` is provided, the bundle stays dormant and performs no polling.
|
|
127
126
|
|
|
128
127
|
Once running, Radar polls OSV, npm, and public GitHub Releases, persists incident state before delivery, and submits only changed incidents to the first live root DSH Agent. If a source is temporarily unavailable, Radar keeps the last confirmed state instead of claiming that the project is clean, continues delivering already queued tasks, and creates one source-health notice after three consecutive failures.
|
|
129
128
|
|
|
@@ -242,6 +241,7 @@ Advisories, release notes, links, package names, and repository strings remain u
|
|
|
242
241
|
- npm release monitoring for plugins and DSH/Cordis packages, with public GitHub Release notes attached when an exact candidate tag is available;
|
|
243
242
|
- durable incident state with current-task replacement and resolution;
|
|
244
243
|
- native DSH bundle installation, startup polling, `agent/created` retry, and plugin-source attribution;
|
|
244
|
+
- automatic selection of the only DSH profile with third-party bundles, plus a network-free `radar status` snapshot;
|
|
245
245
|
- compatibility signals for Node.js, peers, exports, entrypoints, bundle paths, dependencies, and version boundaries;
|
|
246
246
|
- network-free Radar and real DSH runtime showcases.
|
|
247
247
|
|
|
@@ -254,7 +254,8 @@ pnpm dlx --package=upstream-radar@latest upstream-radar inspect npm:dsh-cloudfla
|
|
|
254
254
|
|
|
255
255
|
## Current boundaries
|
|
256
256
|
|
|
257
|
-
- `init
|
|
257
|
+
- `init` discovers the only DSH profile with third-party bundles when `--profile` is omitted; multiple candidates still require an explicit profile. `--dsh-patch <path>` writes an explicit DSH overlay so first startup needs no environment variables. Native pnpm override/peer resolution is not implemented yet.
|
|
258
|
+
- `radar status` is a local snapshot only: it does not refresh OSV/npm/GitHub data, and it cannot prove that a source is current until a check has completed.
|
|
258
259
|
- npm lock graphs are supported; pnpm and Yarn graph adapters are not implemented.
|
|
259
260
|
- OSV, npm `latest`, and public GitHub Release notes are live sources; changelog, comparison-diff, and migration-guide ingestion are deferred.
|
|
260
261
|
- A failed OSV check preserves confirmed matches and returns a visible source warning; source health is durable and routed through DSH after three consecutive failures, while source-claim conflict handling and external health destinations are not implemented yet.
|
package/dist/src/cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import process from 'node:process';
|
|
3
|
-
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { access, readFile } from 'node:fs/promises';
|
|
4
4
|
import { resolve } from 'node:path';
|
|
5
5
|
import { assessCompatibilityChange } from './compatibility.js';
|
|
6
6
|
import { createAnalysisTask, renderAgentAnalysisPrompt } from './dsh-analysis.js';
|
|
7
7
|
import { GitHubReleaseClient } from './github-release.js';
|
|
8
|
-
import { createRadarConfigFromDshProfile, resolveDshProfileDirectory, writeRadarConfig } from './init.js';
|
|
8
|
+
import { createRadarConfigFromDshProfile, discoverDshProfiles, resolveDshProfileDirectory, writeDshPatch, writeRadarConfig } from './init.js';
|
|
9
9
|
import { parsePackageManifestSnapshot, parseRadarConfig } from './inventory.js';
|
|
10
10
|
import { inspectNpmPackage } from './npm.js';
|
|
11
11
|
import { NpmReleaseClient } from './npm-release.js';
|
|
@@ -14,6 +14,7 @@ import { verdictAtLeast } from './policy.js';
|
|
|
14
14
|
import { emptyRadarState, pollRadar } from './radar.js';
|
|
15
15
|
import { renderRadarEvents } from './radar-render.js';
|
|
16
16
|
import { loadRadarState, saveRadarState } from './radar-state.js';
|
|
17
|
+
import { createRadarStatus, renderRadarStatus } from './radar-status.js';
|
|
17
18
|
import { renderTextReport } from './render.js';
|
|
18
19
|
import { scanDirectory } from './scan.js';
|
|
19
20
|
import { TOOL_VERSION } from './version.js';
|
|
@@ -28,11 +29,12 @@ function usage() {
|
|
|
28
29
|
return `Upstream Radar — always-on dependency and compatibility monitoring for DSH plugins
|
|
29
30
|
|
|
30
31
|
Usage:
|
|
31
|
-
upstream-radar init --profile <name> [options]
|
|
32
|
+
upstream-radar init [--profile <name>] [options]
|
|
32
33
|
upstream-radar scan <directory> [--json] [--fail-on <warn|review|block|never>]
|
|
33
34
|
upstream-radar inspect npm:<package>@<exact-version> [--deep] [--json] [--fail-on <warn|review|block|never>]
|
|
34
35
|
upstream-radar radar check <config.json> [--state <state.json>] [--json]
|
|
35
36
|
upstream-radar radar watch <config.json> [--state <state.json>] [--interval <seconds>] [--once] [--json]
|
|
37
|
+
upstream-radar radar status <config.json> [--state <state.json>] [--json]
|
|
36
38
|
upstream-radar radar compare <config.json> <before.json> <candidate.json> [--notes <release-notes.txt>] [--json]
|
|
37
39
|
upstream-radar task list <state.json> [--json]
|
|
38
40
|
upstream-radar task show <state.json> [task-id] [--json]
|
|
@@ -54,8 +56,9 @@ Options:
|
|
|
54
56
|
--interval <seconds> watch interval from 300 to 86400 seconds (default: 1800)
|
|
55
57
|
--once run one watch cycle and exit (useful for CI and demos)
|
|
56
58
|
--notes <path> release notes used as untrusted compatibility evidence
|
|
57
|
-
--profile <name> DSH profile to inspect for init (
|
|
59
|
+
--profile <name> DSH profile to inspect for init (auto-selects the only candidate when omitted)
|
|
58
60
|
--output <path> init output path (default: ./upstream-radar.config.json)
|
|
61
|
+
--dsh-patch <path> write a self-contained DSH --patch overlay (optional)
|
|
59
62
|
--force allow init to replace an existing output file
|
|
60
63
|
--json emit the canonical JSON report
|
|
61
64
|
--fail-on <verdict> CI threshold; default is review
|
|
@@ -149,10 +152,21 @@ async function readJson(path) {
|
|
|
149
152
|
throw new Error(`${path} is not valid JSON`);
|
|
150
153
|
}
|
|
151
154
|
}
|
|
155
|
+
async function fileExists(path) {
|
|
156
|
+
try {
|
|
157
|
+
await access(resolve(path));
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (error.code === 'ENOENT')
|
|
162
|
+
return false;
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
152
166
|
async function runRadar(args) {
|
|
153
167
|
const subcommand = args[0];
|
|
154
|
-
if (subcommand !== 'check' && subcommand !== 'watch' && subcommand !== 'compare') {
|
|
155
|
-
throw new Error('radar requires check, watch or compare');
|
|
168
|
+
if (subcommand !== 'check' && subcommand !== 'watch' && subcommand !== 'status' && subcommand !== 'compare') {
|
|
169
|
+
throw new Error('radar requires check, watch, status or compare');
|
|
156
170
|
}
|
|
157
171
|
const configPath = args[1];
|
|
158
172
|
if (configPath === undefined || configPath.startsWith('-'))
|
|
@@ -205,6 +219,23 @@ async function runRadar(args) {
|
|
|
205
219
|
}
|
|
206
220
|
}
|
|
207
221
|
const readConfig = async () => parseRadarConfig(await readJson(configPath));
|
|
222
|
+
if (subcommand === 'status') {
|
|
223
|
+
if (positional.length > 0 || notesPath !== undefined || once || intervalProvided
|
|
224
|
+
|| osvBaseUrl !== undefined || registry !== undefined || statePath === ':memory:') {
|
|
225
|
+
throw new Error('radar status only accepts --state and --json options');
|
|
226
|
+
}
|
|
227
|
+
const config = await readConfig();
|
|
228
|
+
const stateFile = statePath ?? `${resolve(configPath)}.state.json`;
|
|
229
|
+
const stateExists = await fileExists(stateFile);
|
|
230
|
+
const state = stateExists ? await loadRadarState(stateFile) : emptyRadarState();
|
|
231
|
+
const report = createRadarStatus(config, state, {
|
|
232
|
+
configFile: resolve(configPath),
|
|
233
|
+
stateFile: resolve(stateFile),
|
|
234
|
+
stateExists,
|
|
235
|
+
});
|
|
236
|
+
process.stdout.write(json ? `${JSON.stringify(report, null, 2)}\n` : renderRadarStatus(report));
|
|
237
|
+
return report.monitoring === 'degraded' ? 1 : 0;
|
|
238
|
+
}
|
|
208
239
|
const osv = new OsvClient({
|
|
209
240
|
...(osvBaseUrl === undefined ? {} : { baseUrl: osvBaseUrl }),
|
|
210
241
|
});
|
|
@@ -308,6 +339,7 @@ async function runRadar(args) {
|
|
|
308
339
|
async function runInit(args) {
|
|
309
340
|
let profile;
|
|
310
341
|
let output = 'upstream-radar.config.json';
|
|
342
|
+
let dshPatch;
|
|
311
343
|
let projectId;
|
|
312
344
|
let projectName;
|
|
313
345
|
let repository;
|
|
@@ -322,7 +354,7 @@ async function runInit(args) {
|
|
|
322
354
|
force = true;
|
|
323
355
|
else if (argument === '--json')
|
|
324
356
|
json = true;
|
|
325
|
-
else if (argument === '--profile' || argument === '--output' || argument === '--project-id'
|
|
357
|
+
else if (argument === '--profile' || argument === '--output' || argument === '--dsh-patch' || argument === '--project-id'
|
|
326
358
|
|| argument === '--project-name' || argument === '--repository' || argument === '--workspace'
|
|
327
359
|
|| argument === '--channel' || argument === '--registry') {
|
|
328
360
|
const value = args[index + 1];
|
|
@@ -332,6 +364,8 @@ async function runInit(args) {
|
|
|
332
364
|
profile = value;
|
|
333
365
|
else if (argument === '--output')
|
|
334
366
|
output = value;
|
|
367
|
+
else if (argument === '--dsh-patch')
|
|
368
|
+
dshPatch = value;
|
|
335
369
|
else if (argument === '--project-id')
|
|
336
370
|
projectId = value;
|
|
337
371
|
else if (argument === '--project-name')
|
|
@@ -350,10 +384,43 @@ async function runInit(args) {
|
|
|
350
384
|
throw new Error(`unknown option for init: ${argument}`);
|
|
351
385
|
}
|
|
352
386
|
}
|
|
353
|
-
|
|
354
|
-
|
|
387
|
+
let autoSelected = false;
|
|
388
|
+
let resolvedProfile = profile;
|
|
389
|
+
if (resolvedProfile === undefined) {
|
|
390
|
+
const candidates = await discoverDshProfiles();
|
|
391
|
+
if (candidates.length === 0) {
|
|
392
|
+
throw new Error('init could not find a DSH profile with third-party bundles; pass --profile <name>');
|
|
393
|
+
}
|
|
394
|
+
if (candidates.length > 1) {
|
|
395
|
+
throw new Error(`init found multiple DSH profiles with third-party bundles (${candidates.join(', ')}); pass --profile <name>`);
|
|
396
|
+
}
|
|
397
|
+
resolvedProfile = candidates[0];
|
|
398
|
+
autoSelected = true;
|
|
399
|
+
}
|
|
400
|
+
if (resolvedProfile === undefined)
|
|
401
|
+
throw new Error('init could not select a DSH profile');
|
|
402
|
+
const plannedOutputPath = resolve(output);
|
|
403
|
+
const plannedStatePath = `${plannedOutputPath}.state.json`;
|
|
404
|
+
if (dshPatch !== undefined) {
|
|
405
|
+
const plannedPatchPath = resolve(dshPatch);
|
|
406
|
+
if (plannedPatchPath === plannedOutputPath || plannedPatchPath === plannedStatePath) {
|
|
407
|
+
throw new Error('DSH patch output must be different from the Radar config and state files');
|
|
408
|
+
}
|
|
409
|
+
if (!force) {
|
|
410
|
+
try {
|
|
411
|
+
await access(plannedPatchPath);
|
|
412
|
+
throw new Error(`${plannedPatchPath} already exists; pass --force to replace it`);
|
|
413
|
+
}
|
|
414
|
+
catch (error) {
|
|
415
|
+
if (error instanceof Error && !('code' in error))
|
|
416
|
+
throw error;
|
|
417
|
+
if (error?.code !== 'ENOENT')
|
|
418
|
+
throw error;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
355
422
|
const config = await createRadarConfigFromDshProfile({
|
|
356
|
-
profileDirectory: resolveDshProfileDirectory(
|
|
423
|
+
profileDirectory: resolveDshProfileDirectory(resolvedProfile),
|
|
357
424
|
...(projectId === undefined ? {} : { projectId }),
|
|
358
425
|
...(projectName === undefined ? {} : { projectName }),
|
|
359
426
|
...(repository === undefined ? {} : { repository }),
|
|
@@ -361,22 +428,36 @@ async function runInit(args) {
|
|
|
361
428
|
...(channels.length === 0 ? {} : { channels }),
|
|
362
429
|
...(registry === undefined ? {} : { registry }),
|
|
363
430
|
});
|
|
364
|
-
const outputPath = await writeRadarConfig(config, { output, force });
|
|
365
|
-
const statePath =
|
|
431
|
+
const outputPath = await writeRadarConfig(config, { output: plannedOutputPath, force });
|
|
432
|
+
const statePath = plannedStatePath;
|
|
433
|
+
const patchPath = dshPatch === undefined ? undefined : await writeDshPatch({
|
|
434
|
+
output: dshPatch,
|
|
435
|
+
configFile: outputPath,
|
|
436
|
+
stateFile: statePath,
|
|
437
|
+
profile: resolvedProfile,
|
|
438
|
+
force,
|
|
439
|
+
});
|
|
366
440
|
const plugins = config.projects[0]?.plugins ?? [];
|
|
367
441
|
if (json) {
|
|
368
|
-
process.stdout.write(`${JSON.stringify({ output: outputPath, profile, plugins: plugins.map(plugin => ({
|
|
442
|
+
process.stdout.write(`${JSON.stringify({ output: outputPath, profile: resolvedProfile, plugins: plugins.map(plugin => ({
|
|
369
443
|
name: plugin.package.name,
|
|
370
444
|
version: plugin.package.version,
|
|
371
445
|
nodes: plugin.graph.nodes.length,
|
|
372
446
|
edges: plugin.graph.edges.length,
|
|
373
|
-
})), state: statePath }, null, 2)}\n`);
|
|
447
|
+
})), state: statePath, ...(patchPath === undefined ? {} : { patch: patchPath }) }, null, 2)}\n`);
|
|
374
448
|
}
|
|
375
449
|
else {
|
|
450
|
+
if (autoSelected)
|
|
451
|
+
process.stdout.write(`Auto-selected DSH profile: ${resolvedProfile}\n`);
|
|
376
452
|
process.stdout.write(`Created ${outputPath}\nDiscovered ${plugins.length} DSH plugin bundle(s):\n`);
|
|
377
453
|
for (const plugin of plugins)
|
|
378
454
|
process.stdout.write(` ${plugin.package.name}@${plugin.package.version} (${plugin.graph.nodes.length} dependency nodes)\n`);
|
|
379
|
-
|
|
455
|
+
if (patchPath === undefined) {
|
|
456
|
+
process.stdout.write(`\nReview the generated inventory, then run:\n export UPSTREAM_RADAR_CONFIG=${shellQuote(outputPath)}\n export UPSTREAM_RADAR_STATE=${shellQuote(statePath)}\n dsh --profile ${shellQuote(resolvedProfile)}\n`);
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
process.stdout.write(`Created ${patchPath}\n\nReview the generated inventory and DSH overlay, then run:\n dsh --profile ${shellQuote(resolvedProfile)} --patch ${shellQuote(patchPath)}\n`);
|
|
460
|
+
}
|
|
380
461
|
}
|
|
381
462
|
return 0;
|
|
382
463
|
}
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -9,8 +9,9 @@ export { emptyRadarState, pollRadar, type AdvisorySource, type RadarPollResult,
|
|
|
9
9
|
export { assessCompatibilityChange, assessCompatibilityChanges, type CompatibilityChangeInput } from './compatibility.js';
|
|
10
10
|
export { createAnalysisTask, renderAgentAnalysisPrompt, renderDshAnalysisPrompt } from './dsh-analysis.js';
|
|
11
11
|
export { parsePackageManifestSnapshot, parseRadarConfig } from './inventory.js';
|
|
12
|
-
export { createRadarConfigFromDshProfile, resolveDshProfileDirectory, writeRadarConfig, type DshInitOptions, type InitInspector, type WriteRadarConfigOptions, } from './init.js';
|
|
12
|
+
export { createRadarConfigFromDshProfile, discoverDshProfiles, resolveDshProfileDirectory, writeDshPatch, writeRadarConfig, type DshInitOptions, type InitInspector, type WriteDshPatchOptions, type WriteRadarConfigOptions, } from './init.js';
|
|
13
13
|
export { loadRadarState, parseRadarState, saveRadarState } from './radar-state.js';
|
|
14
|
+
export { createRadarStatus, renderRadarStatus, RADAR_STATUS_SCHEMA, type CreateRadarStatusOptions, type RadarMonitoringStatus, type RadarSourceStatus, type RadarStatusReport, type RadarStatusSource, } from './radar-status.js';
|
|
14
15
|
export { renderRadarEvent, renderRadarEvents } from './radar-render.js';
|
|
15
16
|
export { crossesBreakingVersionBoundary, parseSemver, satisfiesSemverRange } from './semver.js';
|
|
16
17
|
export { scanDirectory, type ScanOptions } from './scan.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7G,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtI,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AACzH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -9,8 +9,9 @@ export { emptyRadarState, pollRadar } from './radar.js';
|
|
|
9
9
|
export { assessCompatibilityChange, assessCompatibilityChanges } from './compatibility.js';
|
|
10
10
|
export { createAnalysisTask, renderAgentAnalysisPrompt, renderDshAnalysisPrompt } from './dsh-analysis.js';
|
|
11
11
|
export { parsePackageManifestSnapshot, parseRadarConfig } from './inventory.js';
|
|
12
|
-
export { createRadarConfigFromDshProfile, resolveDshProfileDirectory, writeRadarConfig, } from './init.js';
|
|
12
|
+
export { createRadarConfigFromDshProfile, discoverDshProfiles, resolveDshProfileDirectory, writeDshPatch, writeRadarConfig, } from './init.js';
|
|
13
13
|
export { loadRadarState, parseRadarState, saveRadarState } from './radar-state.js';
|
|
14
|
+
export { createRadarStatus, renderRadarStatus, RADAR_STATUS_SCHEMA, } from './radar-status.js';
|
|
14
15
|
export { renderRadarEvent, renderRadarEvents } from './radar-render.js';
|
|
15
16
|
export { crossesBreakingVersionBoundary, parseSemver, satisfiesSemverRange } from './semver.js';
|
|
16
17
|
export { scanDirectory } from './scan.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,wBAAwB,GAIzB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAA4D,MAAM,kBAAkB,CAAA;AAC7G,OAAO,EAAE,mBAAmB,EAA+E,MAAM,qBAAqB,CAAA;AACtI,OAAO,EAAE,eAAe,EAAE,SAAS,EAAiE,MAAM,YAAY,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAiC,MAAM,oBAAoB,CAAA;AACzH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,wBAAwB,GAIzB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAA4D,MAAM,kBAAkB,CAAA;AAC7G,OAAO,EAAE,mBAAmB,EAA+E,MAAM,qBAAqB,CAAA;AACtI,OAAO,EAAE,eAAe,EAAE,SAAS,EAAiE,MAAM,YAAY,CAAA;AACtH,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAiC,MAAM,oBAAoB,CAAA;AACzH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,GAKjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAoB,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAyD,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EACL,aAAa,GAcd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GAyBnB,MAAM,kBAAkB,CAAA"}
|
package/dist/src/init.d.ts
CHANGED
|
@@ -24,10 +24,23 @@ export interface WriteRadarConfigOptions {
|
|
|
24
24
|
output: string;
|
|
25
25
|
force?: boolean;
|
|
26
26
|
}
|
|
27
|
+
export interface WriteDshPatchOptions {
|
|
28
|
+
output: string;
|
|
29
|
+
configFile: string;
|
|
30
|
+
stateFile: string;
|
|
31
|
+
profile: string;
|
|
32
|
+
intervalSeconds?: number;
|
|
33
|
+
runOnStart?: boolean;
|
|
34
|
+
force?: boolean;
|
|
35
|
+
}
|
|
27
36
|
/** Resolve a DSH profile using the same DSH_HOME convention as the launcher. */
|
|
28
37
|
export declare function resolveDshProfileDirectory(profile: string, dshHome?: string | undefined): string;
|
|
38
|
+
/** Find DSH profiles that contain at least one installed third-party bundle. */
|
|
39
|
+
export declare function discoverDshProfiles(dshHome?: string | undefined): Promise<string[]>;
|
|
29
40
|
/** Build a reviewable Radar inventory from the third-party bundles in a DSH profile. */
|
|
30
41
|
export declare function createRadarConfigFromDshProfile(options: DshInitOptions): Promise<RadarConfig>;
|
|
31
42
|
export declare function writeRadarConfig(config: RadarConfig, options: WriteRadarConfigOptions): Promise<string>;
|
|
43
|
+
/** Write a self-contained DSH overlay so startup does not depend on shell environment variables. */
|
|
44
|
+
export declare function writeDshPatch(options: WriteDshPatchOptions): Promise<string>;
|
|
32
45
|
export {};
|
|
33
46
|
//# sourceMappingURL=init.d.ts.map
|
package/dist/src/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,EAGL,KAAK,eAAe,EAGpB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAA;AAIzB,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE;YACJ,eAAe,EAAE;gBACf,KAAK,CAAC,EAAE,eAAe,CAAA;aACxB,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAEjG,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,EAGL,KAAK,eAAe,EAGpB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAA;AAIzB,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE;YACJ,eAAe,EAAE;gBACf,KAAK,CAAC,EAAE,eAAe,CAAA;aACxB,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAEjG,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AA+DD,gFAAgF;AAChF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,qBAAuB,GAAG,MAAM,CAOlG;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CAAC,OAAO,qBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyB3F;AAED,wFAAwF;AACxF,wBAAsB,+BAA+B,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAgDnG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7G;AAED,oGAAoG;AACpG,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClF"}
|
package/dist/src/init.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { access, readFile, writeFile } from 'node:fs/promises';
|
|
1
|
+
import { access, readFile, readdir, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { basename, isAbsolute, join, relative, resolve } from 'node:path';
|
|
4
4
|
import { inspectNpmPackage } from './npm.js';
|
|
@@ -41,6 +41,19 @@ function isDshInfrastructure(packageName) {
|
|
|
41
41
|
|| packageName.startsWith('@deepseek-ai/')
|
|
42
42
|
|| packageName.startsWith('@cordis/');
|
|
43
43
|
}
|
|
44
|
+
function resolveDshHome(dshHome = process.env.DSH_HOME) {
|
|
45
|
+
return dshHome?.trim() === '' || dshHome === undefined ? join(homedir(), '.dsh') : dshHome;
|
|
46
|
+
}
|
|
47
|
+
async function readDshProfileBundles(profileDirectory) {
|
|
48
|
+
const profileManifest = asRecord(await readJson(join(profileDirectory, 'package.json')), 'DSH profile package.json');
|
|
49
|
+
const dsh = asRecord(profileManifest.dsh, 'DSH profile dsh');
|
|
50
|
+
const profile = asRecord(dsh.profile, 'DSH profile dsh.profile');
|
|
51
|
+
const bundles = profile.bundles;
|
|
52
|
+
if (!Array.isArray(bundles) || bundles.length === 0 || !bundles.every(item => typeof item === 'string')) {
|
|
53
|
+
throw new Error('DSH profile package.json does not contain dsh.profile.bundles');
|
|
54
|
+
}
|
|
55
|
+
return bundles;
|
|
56
|
+
}
|
|
44
57
|
function defaultProjectId(workspace) {
|
|
45
58
|
const name = basename(resolve(workspace)).toLowerCase().replace(/[^a-z0-9._-]+/g, '-');
|
|
46
59
|
return name.replace(/^-+|-+$/g, '').slice(0, 512) || 'dsh-project';
|
|
@@ -50,23 +63,49 @@ function defaultProjectName(workspace) {
|
|
|
50
63
|
}
|
|
51
64
|
/** Resolve a DSH profile using the same DSH_HOME convention as the launcher. */
|
|
52
65
|
export function resolveDshProfileDirectory(profile, dshHome = process.env.DSH_HOME) {
|
|
53
|
-
const home =
|
|
66
|
+
const home = resolveDshHome(dshHome);
|
|
54
67
|
const profileName = requiredString(profile, 'profile');
|
|
55
68
|
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(profileName)) {
|
|
56
69
|
throw new Error('profile must be a simple DSH profile name (letters, numbers, ., _, and -)');
|
|
57
70
|
}
|
|
58
71
|
return resolve(home, 'profiles', profileName);
|
|
59
72
|
}
|
|
73
|
+
/** Find DSH profiles that contain at least one installed third-party bundle. */
|
|
74
|
+
export async function discoverDshProfiles(dshHome = process.env.DSH_HOME) {
|
|
75
|
+
const profilesDirectory = resolve(resolveDshHome(dshHome), 'profiles');
|
|
76
|
+
let entries;
|
|
77
|
+
try {
|
|
78
|
+
entries = await readdir(profilesDirectory, { withFileTypes: true });
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (error.code === 'ENOENT')
|
|
82
|
+
return [];
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
const candidates = [];
|
|
86
|
+
for (const entry of entries) {
|
|
87
|
+
if (!entry.isDirectory() || !/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(entry.name))
|
|
88
|
+
continue;
|
|
89
|
+
const profileDirectory = resolveDshProfileDirectory(entry.name, dshHome);
|
|
90
|
+
let bundles;
|
|
91
|
+
try {
|
|
92
|
+
bundles = await readDshProfileBundles(profileDirectory);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
if (error.code === 'ENOENT')
|
|
96
|
+
continue;
|
|
97
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
98
|
+
throw new Error(`could not inspect DSH profile ${entry.name}: ${message}`);
|
|
99
|
+
}
|
|
100
|
+
if (bundles.some(bundle => !isDshInfrastructure(bundle)))
|
|
101
|
+
candidates.push(entry.name);
|
|
102
|
+
}
|
|
103
|
+
return candidates.sort();
|
|
104
|
+
}
|
|
60
105
|
/** Build a reviewable Radar inventory from the third-party bundles in a DSH profile. */
|
|
61
106
|
export async function createRadarConfigFromDshProfile(options) {
|
|
62
107
|
const profileDirectory = resolve(options.profileDirectory);
|
|
63
|
-
const
|
|
64
|
-
const dsh = asRecord(profileManifest.dsh, 'DSH profile dsh');
|
|
65
|
-
const profile = asRecord(dsh.profile, 'DSH profile dsh.profile');
|
|
66
|
-
const bundles = profile.bundles;
|
|
67
|
-
if (!Array.isArray(bundles) || bundles.length === 0 || !bundles.every(item => typeof item === 'string')) {
|
|
68
|
-
throw new Error('DSH profile package.json does not contain dsh.profile.bundles');
|
|
69
|
-
}
|
|
108
|
+
const bundles = await readDshProfileBundles(profileDirectory);
|
|
70
109
|
const workspace = options.workspace ?? process.cwd();
|
|
71
110
|
const projectId = options.projectId ?? defaultProjectId(workspace);
|
|
72
111
|
const projectName = options.projectName ?? defaultProjectName(workspace);
|
|
@@ -130,4 +169,44 @@ export async function writeRadarConfig(config, options) {
|
|
|
130
169
|
await writeFile(output, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
|
|
131
170
|
return output;
|
|
132
171
|
}
|
|
172
|
+
/** Write a self-contained DSH overlay so startup does not depend on shell environment variables. */
|
|
173
|
+
export async function writeDshPatch(options) {
|
|
174
|
+
const output = resolve(options.output);
|
|
175
|
+
const configFile = resolve(options.configFile);
|
|
176
|
+
const stateFile = resolve(options.stateFile);
|
|
177
|
+
if (output === configFile || output === stateFile) {
|
|
178
|
+
throw new Error('DSH patch output must be different from the Radar config and state files');
|
|
179
|
+
}
|
|
180
|
+
const intervalSeconds = options.intervalSeconds ?? 1_800;
|
|
181
|
+
if (!Number.isSafeInteger(intervalSeconds) || intervalSeconds < 300 || intervalSeconds > 86_400) {
|
|
182
|
+
throw new Error('DSH patch intervalSeconds must be between 300 and 86400');
|
|
183
|
+
}
|
|
184
|
+
const runOnStart = options.runOnStart ?? true;
|
|
185
|
+
if (!options.force) {
|
|
186
|
+
try {
|
|
187
|
+
await access(output);
|
|
188
|
+
throw new Error(`${output} already exists; pass --force to replace it`);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
if (error instanceof Error && !('code' in error))
|
|
192
|
+
throw error;
|
|
193
|
+
if (error?.code !== 'ENOENT')
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const patch = [
|
|
198
|
+
'# Generated by upstream-radar init. Review before starting DSH.',
|
|
199
|
+
`# Run: dsh --profile ${JSON.stringify(options.profile)} --patch ${JSON.stringify(output)}`,
|
|
200
|
+
'- id: upstream-radar',
|
|
201
|
+
" name: 'upstream-radar/dsh'",
|
|
202
|
+
' config:',
|
|
203
|
+
` configFile: ${JSON.stringify(configFile)}`,
|
|
204
|
+
` stateFile: ${JSON.stringify(stateFile)}`,
|
|
205
|
+
` intervalSeconds: ${intervalSeconds}`,
|
|
206
|
+
` runOnStart: ${runOnStart}`,
|
|
207
|
+
'',
|
|
208
|
+
].join('\n');
|
|
209
|
+
await writeFile(output, patch, { mode: 0o600 });
|
|
210
|
+
return output;
|
|
211
|
+
}
|
|
133
212
|
//# sourceMappingURL=init.js.map
|
package/dist/src/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAA0B,MAAM,UAAU,CAAA;AACpE,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAKpB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAwCtC,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;IACtH,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAA;IACnI,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,cAAc,aAAa,CAAC,CAAA;IACrH,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,gBAAwB,EAAE,WAAmB;IAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,oBAAoB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,+DAA+D,WAAW,EAAE,CAAC,CAAA;IAC/F,CAAC;IACD,OAAO,4BAA4B,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,WAAW,KAAK,gBAAgB;WAClC,WAAW,KAAK,QAAQ;WACxB,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;WACvC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IACpD,OAAO,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAC5F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,gBAAwB;IAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAA;IACpH,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACtF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,CAAA;AACpE,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,aAAa,CAAA;AACtD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IACxF,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACtD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;IAC9F,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;AAC/C,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IACtE,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;IACtE,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAA;QACjE,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtF,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,IAAI,OAAiB,CAAA;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAQ;YAChE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvF,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAAuB;IAC3E,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAA;IACpD,MAAM,OAAO,GAAyB,EAAE,CAAA;IACxC,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,mBAAmB,CAAC,WAAW,CAAC;YAAE,SAAQ;QAC9C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QACzE,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,IAAI,8BAA8B,WAAW,EAAE,CAAC,CAAA;QACtG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YACvE,IAAI,EAAE,IAAI;YACV,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1E,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAA;QACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1G,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC7E,QAAQ;YACR,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IAE9F,MAAM,MAAM,GAAgB;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,CAAC;gBACT,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,WAAW;oBACjB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC/E,SAAS;oBACT,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;iBAC3G;gBACD,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnD,OAAO;aACR,CAAC;KACH,CAAA;IACD,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACxB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAmB,EAAE,OAAgC;IAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,6CAA6C,CAAC,CAAA;QACzE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YAC7D,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAA;QACtE,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAChF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA6B;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,GAAG,IAAI,eAAe,GAAG,MAAM,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAA;IAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,6CAA6C,CAAC,CAAA;QACzE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;YAC7D,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAA;QACtE,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,iEAAiE;QACjE,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAC3F,sBAAsB;QACtB,8BAA8B;QAC9B,WAAW;QACX,mBAAmB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QAC/C,kBAAkB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;QAC7C,wBAAwB,eAAe,EAAE;QACzC,mBAAmB,UAAU,EAAE;QAC/B,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { RadarConfig, RadarSource, RadarState } from './radar-types.js';
|
|
2
|
+
export declare const RADAR_STATUS_SCHEMA: 'upstream-radar.radar-status/v1alpha1';
|
|
3
|
+
export type RadarMonitoringStatus = 'not-started' | 'healthy' | 'degraded';
|
|
4
|
+
export type RadarSourceStatus = 'not-run' | 'healthy' | 'degraded';
|
|
5
|
+
export interface RadarStatusSource {
|
|
6
|
+
source: RadarSource;
|
|
7
|
+
status: RadarSourceStatus;
|
|
8
|
+
consecutiveFailures: number;
|
|
9
|
+
lastAttemptedAt?: string;
|
|
10
|
+
lastSucceededAt?: string;
|
|
11
|
+
lastError?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RadarStatusReport {
|
|
14
|
+
schema: typeof RADAR_STATUS_SCHEMA;
|
|
15
|
+
configFile: string;
|
|
16
|
+
stateFile: string;
|
|
17
|
+
stateExists: boolean;
|
|
18
|
+
monitoring: RadarMonitoringStatus;
|
|
19
|
+
projects: number;
|
|
20
|
+
pluginBundles: number;
|
|
21
|
+
lastCheckedAt?: string;
|
|
22
|
+
sources: RadarStatusSource[];
|
|
23
|
+
activeVulnerabilities: number;
|
|
24
|
+
activeCompatibility: number;
|
|
25
|
+
activeSourceHealth: number;
|
|
26
|
+
pendingAnalysisTasks: number;
|
|
27
|
+
}
|
|
28
|
+
export interface CreateRadarStatusOptions {
|
|
29
|
+
configFile: string;
|
|
30
|
+
stateFile: string;
|
|
31
|
+
stateExists: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** Build a network-free snapshot from the reviewed config and durable Radar state. */
|
|
34
|
+
export declare function createRadarStatus(config: RadarConfig, state: RadarState, options: CreateRadarStatusOptions): RadarStatusReport;
|
|
35
|
+
/** Render the status snapshot for a human checking the first run. */
|
|
36
|
+
export declare function renderRadarStatus(report: RadarStatusReport): string;
|
|
37
|
+
//# sourceMappingURL=radar-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radar-status.d.ts","sourceRoot":"","sources":["../../src/radar-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAA;AAEhG,eAAO,MAAM,mBAAmB,EAAG,sCAA+C,CAAA;AAIlF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAA;AAC1E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAElE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,iBAAiB,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,qBAAqB,CAAA;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB;AAuBD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAsBnB;AAmBD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA4BnE"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const RADAR_STATUS_SCHEMA = 'upstream-radar.radar-status/v1alpha1';
|
|
2
|
+
const RADAR_SOURCES = ['osv', 'npm-releases', 'github-releases'];
|
|
3
|
+
function sourceStatus(source, status) {
|
|
4
|
+
if (status === undefined) {
|
|
5
|
+
return { source, status: 'not-run', consecutiveFailures: 0 };
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
source,
|
|
9
|
+
status: status.consecutiveFailures === 0 ? 'healthy' : 'degraded',
|
|
10
|
+
consecutiveFailures: status.consecutiveFailures,
|
|
11
|
+
lastAttemptedAt: status.lastAttemptedAt,
|
|
12
|
+
...(status.lastSucceededAt === undefined ? {} : { lastSucceededAt: status.lastSucceededAt }),
|
|
13
|
+
...(status.lastError === undefined ? {} : { lastError: status.lastError }),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function latestTimestamp(sources) {
|
|
17
|
+
return sources
|
|
18
|
+
.flatMap(source => source.lastAttemptedAt === undefined ? [] : [source.lastAttemptedAt])
|
|
19
|
+
.sort()
|
|
20
|
+
.at(-1);
|
|
21
|
+
}
|
|
22
|
+
/** Build a network-free snapshot from the reviewed config and durable Radar state. */
|
|
23
|
+
export function createRadarStatus(config, state, options) {
|
|
24
|
+
const sources = RADAR_SOURCES.map(source => sourceStatus(source, state.sourceHealth?.[source]));
|
|
25
|
+
const observedSources = sources.filter(source => source.status !== 'not-run');
|
|
26
|
+
const monitoring = observedSources.length === 0
|
|
27
|
+
? 'not-started'
|
|
28
|
+
: observedSources.some(source => source.status === 'degraded') ? 'degraded' : 'healthy';
|
|
29
|
+
const lastCheckedAt = latestTimestamp(sources);
|
|
30
|
+
return {
|
|
31
|
+
schema: RADAR_STATUS_SCHEMA,
|
|
32
|
+
configFile: options.configFile,
|
|
33
|
+
stateFile: options.stateFile,
|
|
34
|
+
stateExists: options.stateExists,
|
|
35
|
+
monitoring,
|
|
36
|
+
projects: config.projects.length,
|
|
37
|
+
pluginBundles: config.projects.reduce((total, project) => total + project.plugins.length, 0),
|
|
38
|
+
...(lastCheckedAt === undefined ? {} : { lastCheckedAt }),
|
|
39
|
+
sources,
|
|
40
|
+
activeVulnerabilities: Object.keys(state.activeVulnerabilities).length,
|
|
41
|
+
activeCompatibility: Object.keys(state.activeCompatibility).length,
|
|
42
|
+
activeSourceHealth: Object.keys(state.activeSourceHealth ?? {}).length,
|
|
43
|
+
pendingAnalysisTasks: state.pendingAnalysisTasks.length,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function display(value, maxLength = 512) {
|
|
47
|
+
const escaped = value.replace(/[\u0000-\u001f\u007f-\u009f]/g, character => (`\\u${character.codePointAt(0)?.toString(16).padStart(4, '0') ?? '0000'}`));
|
|
48
|
+
return escaped.length <= maxLength ? escaped : `${escaped.slice(0, maxLength)}…`;
|
|
49
|
+
}
|
|
50
|
+
function sourceLabel(source) {
|
|
51
|
+
if (source === 'osv')
|
|
52
|
+
return 'OSV';
|
|
53
|
+
if (source === 'npm-releases')
|
|
54
|
+
return 'npm releases';
|
|
55
|
+
return 'GitHub releases';
|
|
56
|
+
}
|
|
57
|
+
function plural(value, singular, multiple = `${singular}s`) {
|
|
58
|
+
return `${value} ${value === 1 ? singular : multiple}`;
|
|
59
|
+
}
|
|
60
|
+
/** Render the status snapshot for a human checking the first run. */
|
|
61
|
+
export function renderRadarStatus(report) {
|
|
62
|
+
const lines = [
|
|
63
|
+
'Upstream Radar status',
|
|
64
|
+
`Monitoring: ${report.monitoring.replace('-', ' ')}`,
|
|
65
|
+
`Config: ${display(report.configFile)} (${plural(report.projects, 'project')}, ${plural(report.pluginBundles, 'DSH plugin bundle')})`,
|
|
66
|
+
`State: ${display(report.stateFile)}${report.stateExists ? '' : ' (not created yet)'}`,
|
|
67
|
+
`Last check: ${report.lastCheckedAt === undefined ? 'never' : display(report.lastCheckedAt)}`,
|
|
68
|
+
'',
|
|
69
|
+
'Sources:',
|
|
70
|
+
];
|
|
71
|
+
for (const source of report.sources) {
|
|
72
|
+
const detail = source.status === 'not-run'
|
|
73
|
+
? 'not run'
|
|
74
|
+
: `${source.status}${source.lastSucceededAt === undefined ? '' : `, last success ${display(source.lastSucceededAt)}`}`;
|
|
75
|
+
lines.push(` ${sourceLabel(source.source)}: ${detail}`);
|
|
76
|
+
if (source.lastError !== undefined)
|
|
77
|
+
lines.push(` error: ${display(source.lastError, 2_048)}`);
|
|
78
|
+
}
|
|
79
|
+
lines.push('', `Active vulnerabilities: ${report.activeVulnerabilities}`, `Active compatibility incidents: ${report.activeCompatibility}`, `Source-health incidents: ${report.activeSourceHealth}`, `Pending DSH analysis tasks: ${report.pendingAnalysisTasks}`);
|
|
80
|
+
if (report.monitoring === 'not-started') {
|
|
81
|
+
lines.push('', 'No completed check is recorded yet. Start DSH or run `radar check` once.');
|
|
82
|
+
}
|
|
83
|
+
return `${lines.join('\n')}\n`;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=radar-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radar-status.js","sourceRoot":"","sources":["../../src/radar-status.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const TOOL_VERSION = "0.
|
|
1
|
+
export declare const TOOL_VERSION = "0.10.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,WAAW,CAAA"}
|
package/dist/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const TOOL_VERSION = '0.
|
|
1
|
+
export const TOOL_VERSION = '0.10.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAA"}
|
package/docs/README.zh-CN.md
CHANGED
|
@@ -17,20 +17,20 @@
|
|
|
17
17
|
|
|
18
18
|
## 60 秒开始
|
|
19
19
|
|
|
20
|
-
使用一个已经安装至少一个第三方 bundle 的 DSH profile
|
|
20
|
+
使用一个已经安装至少一个第三方 bundle 的 DSH profile。如果 DSH 中只有一个这样的 profile,初始化命令可以自动找到它:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
dsh plugin --profile web add upstream-radar@latest
|
|
24
24
|
pnpm dlx --package=upstream-radar@latest upstream-radar init \
|
|
25
|
-
--profile web \
|
|
26
25
|
--project-name "我的 DSH 项目" \
|
|
27
26
|
--workspace "$PWD" \
|
|
28
|
-
--output ./upstream-radar.config.json
|
|
29
|
-
|
|
30
|
-
dsh --profile web
|
|
27
|
+
--output ./upstream-radar.config.json \
|
|
28
|
+
--dsh-patch ./upstream-radar.dsh.yml
|
|
29
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml
|
|
30
|
+
pnpm dlx --package=upstream-radar@latest upstream-radar radar status ./upstream-radar.config.json
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
初始化命令会写出可审查的清单和 DSH overlay。检查两个文件后,用 `--patch` 启动,再用 `radar status` 在不重新请求网络的情况下确认第一次运行。如果有多个 DSH profile 含第三方 bundle,就显式传入 `--profile <name>`。完整的状态文件、兼容的旧环境变量方式、profile 边界和真实运行证明见[完整 DSH 配置](#安装到-dsh)。
|
|
34
34
|
|
|
35
35
|
如果只想先试跑一次监控,而不启动 DSH profile,可以使用同一份清单:
|
|
36
36
|
|
|
@@ -95,26 +95,25 @@ dsh plugin --profile web add upstream-radar@latest
|
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
97
|
pnpm dlx --package=upstream-radar@latest upstream-radar init \
|
|
98
|
-
--profile web \
|
|
99
98
|
--project-name "我的 DSH 项目" \
|
|
100
99
|
--workspace "$PWD" \
|
|
101
|
-
--output ./upstream-radar.config.json
|
|
100
|
+
--output ./upstream-radar.config.json \
|
|
101
|
+
--dsh-patch ./upstream-radar.dsh.yml
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
初始化命令会读取 profile 中实际安装的第三方 bundle,用禁用 lifecycle scripts 的方式解析每个精确 npm artifact
|
|
104
|
+
初始化命令会读取 profile 中实际安装的第三方 bundle,用禁用 lifecycle scripts 的方式解析每个精确 npm artifact,然后写出可审查的配置和自包含 DSH overlay。它不会自行启动 DSH,也不会自行开启轮询。检查生成文件后,直接运行:
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
dsh --profile web --dump-config
|
|
112
|
-
dsh --profile web
|
|
107
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml --dump-config
|
|
108
|
+
dsh --profile web --patch ./upstream-radar.dsh.yml
|
|
109
|
+
pnpm dlx --package=upstream-radar@latest upstream-radar radar status ./upstream-radar.config.json
|
|
113
110
|
```
|
|
114
111
|
|
|
112
|
+
`radar status` 只读取本地配置和状态,不会刷新 OSV/npm/GitHub;它会告诉你是否已经完成检查、哪个数据源异常、当前事件和待处理的 DSH 任务。如果不使用 `--dsh-patch`,仍可以使用原来的 `UPSTREAM_RADAR_CONFIG`、`UPSTREAM_RADAR_STATE` 和 `UPSTREAM_RADAR_INTERVAL_SECONDS` 环境变量方式。
|
|
113
|
+
|
|
115
114
|
生成的依赖图对应已安装 bundle 版本的精确公共 npm artifact。如果你的 DSH profile 使用了 package-manager override、patch 或特殊的 peer 解析规则,开启持续监控前仍需要人工检查这些差异。
|
|
116
115
|
|
|
117
|
-
如果需要手写配置或制作 CI fixture,可以参考[示例清单](../examples/radar/config.json)
|
|
116
|
+
如果需要手写配置或制作 CI fixture,可以参考[示例清单](../examples/radar/config.json)。如果既没有 `--patch` overlay,也没有设置 `UPSTREAM_RADAR_CONFIG`,插件会保持休眠,不发起轮询。
|
|
118
117
|
|
|
119
118
|
启动后,Radar 会轮询 OSV 与 npm,先把事件状态持久化,再把有变化的事件交给第一个在线的根 DSH Agent。
|
|
120
119
|
|
|
@@ -209,7 +208,7 @@ DSH Agent 收到的任务要求:只读分析、引用项目证据、保留不
|
|
|
209
208
|
|
|
210
209
|
已经支持:npm lock 依赖图、重复版本路径、OSV 精确版本匹配、恶意包记录、npm release 监听、公开 GitHub Release 说明、OSV 故障时保留已确认状态、连续失败后的 source-health DSH notice、持久事件、DSH 原生投递,以及 Node/peer/exports/入口/bundle/版本边界检查。
|
|
211
210
|
|
|
212
|
-
`init
|
|
211
|
+
`init` 在省略 `--profile` 时可以自动选择唯一一个含第三方 bundle 的 DSH profile;多个候选仍要求显式指定。加上 `--dsh-patch <path>` 可以生成不依赖环境变量的 DSH overlay。`radar status` 提供离线的首次运行检查,但不会替你刷新漏洞源。暂未支持原生解析 pnpm override/peer 规则、Yarn 图适配、changelog/比较 diff/迁移文档源、项目级 Session 精确路由、把 Agent 结论写回事件,以及自动创建 Issue 或 PR。
|
|
213
212
|
|
|
214
213
|
`radar watch` 是 CLI 监控入口,本身不会把任务投递给 DSH;需要 Agent 分析时应使用原生 DSH bundle。
|
|
215
214
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "upstream-radar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Dependency security monitoring for DeepSeek Harness (DSH) plugins: find the exact vulnerable path or breaking update, then route evidence to a DSH Agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|