@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.
Files changed (60) hide show
  1. package/dist/cli.js +58 -16
  2. package/dist/cli.js.map +1 -1
  3. package/dist/dedup/hash.d.ts +6 -3
  4. package/dist/dedup/hash.d.ts.map +1 -1
  5. package/dist/dedup/hash.js +7 -9
  6. package/dist/dedup/hash.js.map +1 -1
  7. package/dist/dedup/reconcile.d.ts +2 -0
  8. package/dist/dedup/reconcile.d.ts.map +1 -1
  9. package/dist/dedup/reconcile.js +57 -23
  10. package/dist/dedup/reconcile.js.map +1 -1
  11. package/dist/index.d.ts +8 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +6 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/init/templates.d.ts.map +1 -1
  16. package/dist/init/templates.js +14 -1
  17. package/dist/init/templates.js.map +1 -1
  18. package/dist/issues/gh-client.d.ts +2 -0
  19. package/dist/issues/gh-client.d.ts.map +1 -1
  20. package/dist/issues/gh-client.js +22 -0
  21. package/dist/issues/gh-client.js.map +1 -1
  22. package/dist/issues/types.d.ts +7 -0
  23. package/dist/issues/types.d.ts.map +1 -1
  24. package/dist/observe/dashboard.d.ts +9 -0
  25. package/dist/observe/dashboard.d.ts.map +1 -0
  26. package/dist/observe/dashboard.js +87 -0
  27. package/dist/observe/dashboard.js.map +1 -0
  28. package/dist/observe/record.d.ts +11 -0
  29. package/dist/observe/record.d.ts.map +1 -0
  30. package/dist/observe/record.js +66 -0
  31. package/dist/observe/record.js.map +1 -0
  32. package/dist/observe/types.d.ts +48 -0
  33. package/dist/observe/types.d.ts.map +1 -0
  34. package/dist/observe/types.js +8 -0
  35. package/dist/observe/types.js.map +1 -0
  36. package/dist/orchestrator/extract.d.ts +2 -1
  37. package/dist/orchestrator/extract.d.ts.map +1 -1
  38. package/dist/orchestrator/extract.js +94 -2
  39. package/dist/orchestrator/extract.js.map +1 -1
  40. package/dist/run/clone.d.ts +9 -11
  41. package/dist/run/clone.d.ts.map +1 -1
  42. package/dist/run/clone.js +24 -32
  43. package/dist/run/clone.js.map +1 -1
  44. package/dist/run/expand.d.ts +26 -0
  45. package/dist/run/expand.d.ts.map +1 -0
  46. package/dist/run/expand.js +62 -0
  47. package/dist/run/expand.js.map +1 -0
  48. package/dist/run/preview.d.ts +11 -3
  49. package/dist/run/preview.d.ts.map +1 -1
  50. package/dist/run/preview.js +14 -1
  51. package/dist/run/preview.js.map +1 -1
  52. package/dist/run/repo-lister.d.ts +16 -0
  53. package/dist/run/repo-lister.d.ts.map +1 -0
  54. package/dist/run/repo-lister.js +46 -0
  55. package/dist/run/repo-lister.js.map +1 -0
  56. package/dist/run/run.d.ts +10 -5
  57. package/dist/run/run.d.ts.map +1 -1
  58. package/dist/run/run.js +24 -8
  59. package/dist/run/run.js.map +1 -1
  60. package/package.json +1 -1
@@ -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
- /** Render the dry-run previews for every repo as Markdown. */
30
- export declare function renderPreview(previews: {
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
- }[]): string;
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,8DAA8D;AAC9D,wBAAgB,aAAa,CAC5B,QAAQ,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAC,EAAE,GAChD,MAAM,CAwBR"}
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"}
@@ -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');
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../source/run/preview.ts"],"names":[],"mappings":"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"}
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 { type DryRunPreview } from './preview.js';
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
  }
@@ -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,aAAa,EAAwB,MAAM,cAAc,CAAC;AAEvE,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,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;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAC,EAAE,CAAC;IACnD,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,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,CAkHpB;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"}
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 { previewReconciliation } from './preview.js';
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
- for (const target of config.targets) {
36
- // Pattern targets need org repo enumeration (a GitHub API concern); v1
37
- // audits explicit repos.
38
- if (!target.repo) {
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
- previews.push({ repo: repoName, preview });
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../source/run/run.ts"],"names":[],"mappings":"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"}
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.0",
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",