@nanocollective/sentinel 0.1.0-alpha.0 → 0.1.0-alpha.2
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/dist/cli.js +58 -16
- package/dist/cli.js.map +1 -1
- package/dist/dedup/hash.d.ts +6 -3
- package/dist/dedup/hash.d.ts.map +1 -1
- package/dist/dedup/hash.js +7 -9
- package/dist/dedup/hash.js.map +1 -1
- package/dist/dedup/reconcile.d.ts +2 -0
- package/dist/dedup/reconcile.d.ts.map +1 -1
- package/dist/dedup/reconcile.js +57 -23
- package/dist/dedup/reconcile.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +14 -1
- package/dist/init/templates.js.map +1 -1
- package/dist/issues/gh-client.d.ts +2 -0
- package/dist/issues/gh-client.d.ts.map +1 -1
- package/dist/issues/gh-client.js +22 -0
- package/dist/issues/gh-client.js.map +1 -1
- package/dist/issues/types.d.ts +7 -0
- package/dist/issues/types.d.ts.map +1 -1
- package/dist/observe/dashboard.d.ts +9 -0
- package/dist/observe/dashboard.d.ts.map +1 -0
- package/dist/observe/dashboard.js +87 -0
- package/dist/observe/dashboard.js.map +1 -0
- package/dist/observe/record.d.ts +11 -0
- package/dist/observe/record.d.ts.map +1 -0
- package/dist/observe/record.js +66 -0
- package/dist/observe/record.js.map +1 -0
- package/dist/observe/types.d.ts +48 -0
- package/dist/observe/types.d.ts.map +1 -0
- package/dist/observe/types.js +8 -0
- package/dist/observe/types.js.map +1 -0
- package/dist/orchestrator/extract.d.ts +2 -1
- package/dist/orchestrator/extract.d.ts.map +1 -1
- package/dist/orchestrator/extract.js +94 -2
- package/dist/orchestrator/extract.js.map +1 -1
- package/dist/run/clone.d.ts +9 -11
- package/dist/run/clone.d.ts.map +1 -1
- package/dist/run/clone.js +24 -32
- package/dist/run/clone.js.map +1 -1
- package/dist/run/expand.d.ts +26 -0
- package/dist/run/expand.d.ts.map +1 -0
- package/dist/run/expand.js +62 -0
- package/dist/run/expand.js.map +1 -0
- package/dist/run/preview.d.ts +11 -3
- package/dist/run/preview.d.ts.map +1 -1
- package/dist/run/preview.js +14 -1
- package/dist/run/preview.js.map +1 -1
- package/dist/run/repo-lister.d.ts +16 -0
- package/dist/run/repo-lister.d.ts.map +1 -0
- package/dist/run/repo-lister.js +46 -0
- package/dist/run/repo-lister.js.map +1 -0
- package/dist/run/run.d.ts +10 -5
- package/dist/run/run.d.ts.map +1 -1
- package/dist/run/run.js +24 -8
- package/dist/run/run.js.map +1 -1
- package/package.json +1 -1
package/dist/run/preview.d.ts
CHANGED
|
@@ -26,9 +26,17 @@ export interface DryRunPreview {
|
|
|
26
26
|
}
|
|
27
27
|
/** Compute the dry-run preview for one repo's findings. */
|
|
28
28
|
export declare function previewReconciliation(findings: Finding[], config: SentinelConfig, existing: ExistingIssue[], override?: RepoOverride, options?: ReconcileOptions): DryRunPreview;
|
|
29
|
-
/**
|
|
30
|
-
export
|
|
29
|
+
/** A pack whose audit did not produce valid findings this run. */
|
|
30
|
+
export interface PackFailure {
|
|
31
|
+
pack: string;
|
|
32
|
+
reason: string;
|
|
33
|
+
}
|
|
34
|
+
/** One repo's dry-run preview, plus any packs that failed to audit. */
|
|
35
|
+
export interface PreviewEntry {
|
|
31
36
|
repo: string;
|
|
32
37
|
preview: DryRunPreview;
|
|
33
|
-
|
|
38
|
+
failedPacks: PackFailure[];
|
|
39
|
+
}
|
|
40
|
+
/** Render the dry-run previews for every repo as Markdown. */
|
|
41
|
+
export declare function renderPreview(previews: PreviewEntry[]): string;
|
|
34
42
|
//# sourceMappingURL=preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../source/run/preview.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAqB,KAAK,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAC,KAAK,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGtD,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,kEAAkE;IAClE,oBAAoB,EAAE,OAAO,EAAE,CAAC;IAChC,6EAA6E;IAC7E,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,GAAE,gBAAqB,GAC5B,aAAa,CA2Bf;AAgBD,
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../source/run/preview.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAqB,KAAK,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAC,KAAK,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGtD,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,kEAAkE;IAClE,oBAAoB,EAAE,OAAO,EAAE,CAAC;IAChC,6EAA6E;IAC7E,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,GAAE,gBAAqB,GAC5B,aAAa,CA2Bf;AAgBD,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,WAAW,EAAE,CAAC;CAC3B;AAeD,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAyB9D"}
|
package/dist/run/preview.js
CHANGED
|
@@ -43,10 +43,22 @@ function group(title, findings) {
|
|
|
43
43
|
...findings.map(findingLine),
|
|
44
44
|
].join('\n');
|
|
45
45
|
}
|
|
46
|
+
function failureBlock(failedPacks) {
|
|
47
|
+
if (failedPacks.length === 0) {
|
|
48
|
+
return '';
|
|
49
|
+
}
|
|
50
|
+
// Failed audits produce no findings, so the groups above understate the
|
|
51
|
+
// picture — surface them explicitly rather than reading as "clean".
|
|
52
|
+
return [
|
|
53
|
+
'',
|
|
54
|
+
`> ⚠️ ${failedPacks.length} pack(s) failed to audit (findings above are incomplete):`,
|
|
55
|
+
...failedPacks.map(failure => `> - \`${failure.pack}\`: ${failure.reason}`),
|
|
56
|
+
].join('\n');
|
|
57
|
+
}
|
|
46
58
|
/** Render the dry-run previews for every repo as Markdown. */
|
|
47
59
|
export function renderPreview(previews) {
|
|
48
60
|
const parts = ['# Sentinel dry run', '', 'No issues were filed.'];
|
|
49
|
-
for (const { repo, preview } of previews) {
|
|
61
|
+
for (const { repo, preview, failedPacks } of previews) {
|
|
50
62
|
parts.push([
|
|
51
63
|
`## ${repo}`,
|
|
52
64
|
'',
|
|
@@ -61,6 +73,7 @@ export function renderPreview(previews) {
|
|
|
61
73
|
group('Suppressed by a prior dismissal', preview.suppressedByLabel),
|
|
62
74
|
'',
|
|
63
75
|
`**Would auto-resolve:** ${preview.wouldResolve} stale issue(s)`,
|
|
76
|
+
failureBlock(failedPacks),
|
|
64
77
|
].join('\n'));
|
|
65
78
|
}
|
|
66
79
|
return parts.join('\n\n');
|
package/dist/run/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../source/run/preview.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAC,kBAAkB,EAAwB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAe,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAkB1D,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB,CACpC,QAAmB,EACnB,MAAsB,EACtB,QAAyB,EACzB,QAAuB,EACvB,UAA4B,EAAE;IAE9B,MAAM,EACL,IAAI,EACJ,UAAU,EAAE,oBAAoB,EAChC,SAAS,GACT,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElD,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO;QACN,cAAc,EAAE,IAAI,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;QACnD,cAAc;QACd,oBAAoB;QACpB,iBAAiB,EAAE,IAAI,CAAC,UAAU;QAClC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;KACnC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACpC,OAAO,OAAO,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxH,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,QAAmB;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,KAAK,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO;QACN,KAAK,KAAK,OAAO,QAAQ,CAAC,MAAM,IAAI;QACpC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../source/run/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List an owner's repositories so `pattern:` targets can be expanded into
|
|
3
|
+
* concrete repos. Injectable (RepoLister) so target expansion is testable
|
|
4
|
+
* without the GitHub API; the real implementation shells out to `gh`.
|
|
5
|
+
*/
|
|
6
|
+
/** Lists the repositories under a GitHub owner (org or user). */
|
|
7
|
+
export interface RepoLister {
|
|
8
|
+
/** Return `owner/name` for every non-archived repo under `owner`. */
|
|
9
|
+
list(owner: string): Promise<string[]>;
|
|
10
|
+
}
|
|
11
|
+
/** Build the `gh repo list` argv. Pure and tested. */
|
|
12
|
+
export declare function buildRepoListArgs(owner: string): string[];
|
|
13
|
+
/** Parse `gh repo list --json ...` output, dropping archived repos. */
|
|
14
|
+
export declare function parseRepoList(json: string): string[];
|
|
15
|
+
export declare const ghRepoLister: RepoLister;
|
|
16
|
+
//# sourceMappingURL=repo-lister.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-lister.d.ts","sourceRoot":"","sources":["../../source/run/repo-lister.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,iEAAiE;AACjE,MAAM,WAAW,UAAU;IAC1B,qEAAqE;IACrE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACvC;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpD;AAGD,eAAO,MAAM,YAAY,EAAE,UAqB1B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List an owner's repositories so `pattern:` targets can be expanded into
|
|
3
|
+
* concrete repos. Injectable (RepoLister) so target expansion is testable
|
|
4
|
+
* without the GitHub API; the real implementation shells out to `gh`.
|
|
5
|
+
*/
|
|
6
|
+
import { spawnSync } from 'node:child_process';
|
|
7
|
+
/** Build the `gh repo list` argv. Pure and tested. */
|
|
8
|
+
export function buildRepoListArgs(owner) {
|
|
9
|
+
return [
|
|
10
|
+
'repo',
|
|
11
|
+
'list',
|
|
12
|
+
owner,
|
|
13
|
+
'--limit',
|
|
14
|
+
'1000',
|
|
15
|
+
'--json',
|
|
16
|
+
'nameWithOwner,isArchived',
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
/** Parse `gh repo list --json ...` output, dropping archived repos. */
|
|
20
|
+
export function parseRepoList(json) {
|
|
21
|
+
const raw = JSON.parse(json);
|
|
22
|
+
return raw.filter(repo => !repo.isArchived).map(repo => repo.nameWithOwner);
|
|
23
|
+
}
|
|
24
|
+
/* c8 ignore start -- spawns the gh CLI; not exercised in unit tests. */
|
|
25
|
+
export const ghRepoLister = {
|
|
26
|
+
async list(owner) {
|
|
27
|
+
const result = spawnSync('gh', buildRepoListArgs(owner), {
|
|
28
|
+
encoding: 'utf8',
|
|
29
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
30
|
+
env: process.env,
|
|
31
|
+
});
|
|
32
|
+
if (result.error) {
|
|
33
|
+
const code = result.error.code;
|
|
34
|
+
if (code === 'ENOENT') {
|
|
35
|
+
throw new Error('`gh` is not on PATH. Install the GitHub CLI.');
|
|
36
|
+
}
|
|
37
|
+
throw result.error;
|
|
38
|
+
}
|
|
39
|
+
if (result.status !== 0) {
|
|
40
|
+
throw new Error(`gh repo list ${owner} failed (status ${result.status}): ${(result.stderr ?? '').trim()}`);
|
|
41
|
+
}
|
|
42
|
+
return parseRepoList(result.stdout ?? '');
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
/* c8 ignore stop */
|
|
46
|
+
//# sourceMappingURL=repo-lister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-lister.js","sourceRoot":"","sources":["../../source/run/repo-lister.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAQ7C,sDAAsD;AACtD,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC9C,OAAO;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,SAAS;QACT,MAAM;QACN,QAAQ;QACR,0BAA0B;KAC1B,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAGzB,CAAC;IACH,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC7E,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAe;IACvC,KAAK,CAAC,IAAI,CAAC,KAAa;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACxD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,GAAI,MAAM,CAAC,KAA+B,CAAC,IAAI,CAAC;YAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,gBAAgB,KAAK,mBAAmB,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CACzF,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACD,CAAC;AACF,oBAAoB"}
|
package/dist/run/run.d.ts
CHANGED
|
@@ -12,7 +12,9 @@ import { type ReconcileResult } from '../dedup/reconcile.js';
|
|
|
12
12
|
import type { ReconcileClient } from '../issues/types.js';
|
|
13
13
|
import type { AutoFixOptions } from '../orchestrator/auto-fix.js';
|
|
14
14
|
import type { ModelRunner } from '../orchestrator/types.js';
|
|
15
|
-
import {
|
|
15
|
+
import type { PrepareResult } from './clone.js';
|
|
16
|
+
import { type PreviewEntry } from './preview.js';
|
|
17
|
+
import type { RepoLister } from './repo-lister.js';
|
|
16
18
|
import type { PackLoadError, PackLoader, RepoFiles, RunOutcome } from './types.js';
|
|
17
19
|
/** Injected dependencies for a run. */
|
|
18
20
|
export interface RunDeps {
|
|
@@ -21,6 +23,10 @@ export interface RunDeps {
|
|
|
21
23
|
packs: PackLoader;
|
|
22
24
|
/** Present only when filing issues (the Actions path). */
|
|
23
25
|
client?: ReconcileClient;
|
|
26
|
+
/** Lists an owner's repos to expand pattern targets. */
|
|
27
|
+
repoLister?: RepoLister;
|
|
28
|
+
/** Ensures a target repo is checked out; omit to assume repos are present. */
|
|
29
|
+
cloneRepo?: (repo: string, dir: string) => Promise<PrepareResult>;
|
|
24
30
|
/** ISO timestamp for deterministic reconciliation. */
|
|
25
31
|
now: string;
|
|
26
32
|
}
|
|
@@ -51,11 +57,10 @@ export interface RunReport {
|
|
|
51
57
|
result: ReconcileResult;
|
|
52
58
|
}[];
|
|
53
59
|
/** Dry-run previews (empty on a live run). */
|
|
54
|
-
previews:
|
|
55
|
-
repo: string;
|
|
56
|
-
preview: DryRunPreview;
|
|
57
|
-
}[];
|
|
60
|
+
previews: PreviewEntry[];
|
|
58
61
|
packLoadErrors: PackLoadError[];
|
|
62
|
+
/** Target-expansion and clone failures. */
|
|
63
|
+
targetErrors: string[];
|
|
59
64
|
/** True if issues were filed (client present and not a dry run). */
|
|
60
65
|
filed: boolean;
|
|
61
66
|
}
|
package/dist/run/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../source/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAe,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAC,KAAK,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAE9E,OAAO,KAAK,EAAgB,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../source/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAe,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAC,KAAK,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAE9E,OAAO,KAAK,EAAgB,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAK1D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAE9C,OAAO,EAEN,KAAK,YAAY,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EACX,aAAa,EACb,UAAU,EAEV,SAAS,EAET,UAAU,EACV,MAAM,YAAY,CAAC;AAEpB,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wDAAwD;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAChC,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,4DAA4D;IAC5D,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAC,EAAE,CAAC;IACtD,8CAA8C;IAC9C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2CAA2C;IAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;CACf;AAcD,gDAAgD;AAChD,wBAAsB,aAAa,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,SAAS,CAAC,CAqIpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
|
package/dist/run/run.js
CHANGED
|
@@ -14,7 +14,8 @@ import { targetRepoFor } from '../issues/file.js';
|
|
|
14
14
|
import { resolveDependencies } from '../rule-packs/dependencies.js';
|
|
15
15
|
import { parseRulePack } from '../rule-packs/parse.js';
|
|
16
16
|
import { auditPack } from './audit.js';
|
|
17
|
-
import {
|
|
17
|
+
import { expandTargets } from './expand.js';
|
|
18
|
+
import { previewReconciliation, } from './preview.js';
|
|
18
19
|
import { unionPatterns } from './select.js';
|
|
19
20
|
async function readOverride(files, repoDir) {
|
|
20
21
|
const text = await files.readText(join(repoDir, 'sentinel.yaml'));
|
|
@@ -32,14 +33,20 @@ export async function runFromConfig(config, deps, options) {
|
|
|
32
33
|
const reconciled = [];
|
|
33
34
|
const previews = [];
|
|
34
35
|
const filing = Boolean(deps.client) && !options.dryRun;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
36
|
+
// Expand explicit and pattern targets into concrete repositories.
|
|
37
|
+
const expanded = await expandTargets(config.targets, deps.repoLister);
|
|
38
|
+
const targetErrors = [...expanded.errors];
|
|
39
|
+
for (const target of expanded.targets) {
|
|
41
40
|
const repoName = target.repo;
|
|
42
41
|
const repoDir = join(options.workspaceDir, repoName);
|
|
42
|
+
// Clone the repo if a cloner is provided and it is not already present.
|
|
43
|
+
if (deps.cloneRepo) {
|
|
44
|
+
const prepared = await deps.cloneRepo(repoName, repoDir);
|
|
45
|
+
if (!prepared.ok) {
|
|
46
|
+
targetErrors.push(`could not check out ${repoName}: ${prepared.error ?? 'clone failed'}`);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
43
50
|
const resolvedNames = new Set();
|
|
44
51
|
const missingPacks = [];
|
|
45
52
|
for (const name of target.rulePacks) {
|
|
@@ -96,7 +103,15 @@ export async function runFromConfig(config, deps, options) {
|
|
|
96
103
|
const preview = previewReconciliation(findings, config, existing, override, {
|
|
97
104
|
resolveAfterMisses: options.resolveAfterMisses,
|
|
98
105
|
});
|
|
99
|
-
|
|
106
|
+
const failedPacks = packOutcomes
|
|
107
|
+
.filter(outcome => !outcome.ok)
|
|
108
|
+
.map(outcome => ({
|
|
109
|
+
pack: outcome.pack,
|
|
110
|
+
reason: outcome.runError
|
|
111
|
+
? `run error: ${outcome.runError}`
|
|
112
|
+
: `malformed output after ${outcome.attempts} attempt(s) (${outcome.errors.length} validation error(s))`,
|
|
113
|
+
}));
|
|
114
|
+
previews.push({ repo: repoName, preview, failedPacks });
|
|
100
115
|
}
|
|
101
116
|
}
|
|
102
117
|
return {
|
|
@@ -104,6 +119,7 @@ export async function runFromConfig(config, deps, options) {
|
|
|
104
119
|
reconciled,
|
|
105
120
|
previews,
|
|
106
121
|
packLoadErrors: loaded.errors,
|
|
122
|
+
targetErrors,
|
|
107
123
|
filed: filing,
|
|
108
124
|
};
|
|
109
125
|
}
|
package/dist/run/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../source/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAuB,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../source/run/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nanocollective/sentinel",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.2",
|
|
4
4
|
"description": "An installable, Nanocoder-driven workflow that runs continuous, configurable security and code audits across a GitHub organisation's repositories and files findings as issues.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"security",
|