@prism-d1/cli 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/assets/github-workflows/prism-eval-gate-kiro.yml +2 -2
  2. package/dist/assets/gitlab-workflows/prism-eval-gate.yml +2 -2
  3. package/dist/assets/kirocrew-app/skills/prism-fix-findings/SKILL.md +19 -12
  4. package/dist/src/codewatch/config.d.ts +70 -0
  5. package/dist/src/codewatch/config.d.ts.map +1 -1
  6. package/dist/src/codewatch/config.js +143 -0
  7. package/dist/src/codewatch/config.js.map +1 -1
  8. package/dist/src/codewatch/gitleaks.d.ts +67 -0
  9. package/dist/src/codewatch/gitleaks.d.ts.map +1 -1
  10. package/dist/src/codewatch/gitleaks.js +158 -2
  11. package/dist/src/codewatch/gitleaks.js.map +1 -1
  12. package/dist/src/codewatch/harness/claude.d.ts +83 -0
  13. package/dist/src/codewatch/harness/claude.d.ts.map +1 -0
  14. package/dist/src/codewatch/harness/claude.js +429 -0
  15. package/dist/src/codewatch/harness/claude.js.map +1 -0
  16. package/dist/src/codewatch/harness/diff.d.ts +51 -0
  17. package/dist/src/codewatch/harness/diff.d.ts.map +1 -0
  18. package/dist/src/codewatch/harness/diff.js +227 -0
  19. package/dist/src/codewatch/harness/diff.js.map +1 -0
  20. package/dist/src/codewatch/harness/engine.d.ts +127 -0
  21. package/dist/src/codewatch/harness/engine.d.ts.map +1 -0
  22. package/dist/src/codewatch/harness/engine.js +683 -0
  23. package/dist/src/codewatch/harness/engine.js.map +1 -0
  24. package/dist/src/codewatch/harness/state.d.ts +48 -0
  25. package/dist/src/codewatch/harness/state.d.ts.map +1 -0
  26. package/dist/src/codewatch/harness/state.js +168 -0
  27. package/dist/src/codewatch/harness/state.js.map +1 -0
  28. package/dist/src/codewatch/prepush.d.ts +4 -1
  29. package/dist/src/codewatch/prepush.d.ts.map +1 -1
  30. package/dist/src/codewatch/prepush.js +27 -25
  31. package/dist/src/codewatch/prepush.js.map +1 -1
  32. package/dist/src/codewatch/pushbase.d.ts +19 -0
  33. package/dist/src/codewatch/pushbase.d.ts.map +1 -0
  34. package/dist/src/codewatch/pushbase.js +82 -0
  35. package/dist/src/codewatch/pushbase.js.map +1 -0
  36. package/dist/src/codewatch/results.d.ts +32 -3
  37. package/dist/src/codewatch/results.d.ts.map +1 -1
  38. package/dist/src/codewatch/results.js +6 -2
  39. package/dist/src/codewatch/results.js.map +1 -1
  40. package/dist/src/codewatch/reviewers/claude.d.ts.map +1 -1
  41. package/dist/src/codewatch/reviewers/claude.js +4 -2
  42. package/dist/src/codewatch/reviewers/claude.js.map +1 -1
  43. package/dist/src/codewatch/reviewers/index.d.ts +3 -1
  44. package/dist/src/codewatch/reviewers/index.d.ts.map +1 -1
  45. package/dist/src/codewatch/reviewers/index.js +4 -2
  46. package/dist/src/codewatch/reviewers/index.js.map +1 -1
  47. package/dist/src/codewatch/reviewers/kiro.d.ts.map +1 -1
  48. package/dist/src/codewatch/reviewers/kiro.js +2 -1
  49. package/dist/src/codewatch/reviewers/kiro.js.map +1 -1
  50. package/dist/src/codewatch/reviewers/types.d.ts +4 -0
  51. package/dist/src/codewatch/reviewers/types.d.ts.map +1 -1
  52. package/dist/src/codewatch/reviewers/types.js.map +1 -1
  53. package/dist/src/codewatch/rules.d.ts +13 -0
  54. package/dist/src/codewatch/rules.d.ts.map +1 -1
  55. package/dist/src/codewatch/rules.js +20 -1
  56. package/dist/src/codewatch/rules.js.map +1 -1
  57. package/dist/src/commands/_top/mcp.js +1 -1
  58. package/dist/src/commands/_top/mcp.js.map +1 -1
  59. package/dist/src/commands/codewatch/hook.d.ts +17 -0
  60. package/dist/src/commands/codewatch/hook.d.ts.map +1 -0
  61. package/dist/src/commands/codewatch/hook.js +46 -0
  62. package/dist/src/commands/codewatch/hook.js.map +1 -0
  63. package/dist/src/commands/codewatch/review.d.ts +25 -0
  64. package/dist/src/commands/codewatch/review.d.ts.map +1 -0
  65. package/dist/src/commands/codewatch/review.js +80 -0
  66. package/dist/src/commands/codewatch/review.js.map +1 -0
  67. package/dist/src/commands/enable/codewatch.d.ts +34 -0
  68. package/dist/src/commands/enable/codewatch.d.ts.map +1 -1
  69. package/dist/src/commands/enable/codewatch.js +136 -4
  70. package/dist/src/commands/enable/codewatch.js.map +1 -1
  71. package/dist/src/dashboard/page.js +1 -1
  72. package/dist/src/dashboard/payload.d.ts +2 -0
  73. package/dist/src/dashboard/payload.d.ts.map +1 -1
  74. package/dist/src/dashboard/payload.js +1 -1
  75. package/dist/src/dashboard/payload.js.map +1 -1
  76. package/dist/src/dashboard/setup-page.d.ts +1 -1
  77. package/dist/src/dashboard/setup-page.d.ts.map +1 -1
  78. package/dist/src/dashboard/setup-page.js +1 -1
  79. package/dist/src/dashboard/setup.d.ts +5 -0
  80. package/dist/src/dashboard/setup.d.ts.map +1 -1
  81. package/dist/src/dashboard/setup.js +15 -4
  82. package/dist/src/dashboard/setup.js.map +1 -1
  83. package/dist/src/index.js +1 -1
  84. package/dist/src/index.js.map +1 -1
  85. package/dist/src/mcp/server.js +2 -2
  86. package/dist/src/mcp/server.js.map +1 -1
  87. package/dist/src/mcp/tools.d.ts +9 -1
  88. package/dist/src/mcp/tools.d.ts.map +1 -1
  89. package/dist/src/mcp/tools.js +49 -1
  90. package/dist/src/mcp/tools.js.map +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/codewatch/harness/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export declare const STATE_VERSION = 1;
2
+ export declare const MAX_STATE_FILES = 200;
3
+ export declare const CACHE_TTL_MS: number;
4
+ export type Verdict = 'pass' | 'fix' | 'stop';
5
+ export interface LastRun {
6
+ hash: string;
7
+ verdict: Verdict;
8
+ human_why: string | null;
9
+ at: string;
10
+ }
11
+ export interface SessionState {
12
+ version: typeof STATE_VERSION;
13
+ session: string;
14
+ client: string | null;
15
+ started_at: string;
16
+ head: string | null;
17
+ baseline_tree: string | null;
18
+ rounds: number;
19
+ last: LastRun | null;
20
+ }
21
+ /** A client's session id reduced to `[A-Za-z0-9_-]{1,100}`, or null when nothing is left. */
22
+ export declare function sanitizeSession(id: unknown): string | null;
23
+ export declare const harnessDir: (repoRoot: string) => string;
24
+ export declare const statePath: (repoRoot: string, session: string) => string;
25
+ export declare function ensureHarnessDir(repoRoot: string): void;
26
+ /** Reads a session's state. Returns null when absent; a corrupt file is renamed to `.bad` with a warning. */
27
+ export declare function loadState(repoRoot: string, session: string, warnings?: string[]): SessionState | null;
28
+ export declare function saveState(repoRoot: string, s: SessionState): void;
29
+ export declare function deleteState(repoRoot: string, session: string): void;
30
+ /**
31
+ * SessionStart: snapshot the working tree as this session's baseline. A
32
+ * session that already has a baseline (resume, clear, compact) keeps it, so
33
+ * the agent's earlier edits stay attributed to it.
34
+ */
35
+ export declare function recordBaseline(repoRoot: string, session: string, client: string | null, now?: Date): SessionState;
36
+ /** Deletes state older than `ttlDays`, keeps at most MAX_STATE_FILES, and drops cache entries older than a day. */
37
+ export declare function cleanupState(repoRoot: string, ttlDays: number, now?: number): void;
38
+ export interface CachedReview {
39
+ hash: string;
40
+ tool: string;
41
+ model: string | null;
42
+ findings: import('../results.js').Finding[];
43
+ summary: string | null;
44
+ score: number | null;
45
+ }
46
+ export declare function readCache(repoRoot: string, hash: string, now?: number): CachedReview | null;
47
+ export declare function writeCache(repoRoot: string, c: CachedReview): void;
48
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/codewatch/harness/state.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,YAAY,QAAmB,CAAC;AAI7C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,OAAO;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;AAEjG,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACtB;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,WAAmC,CAAC;AAC/E,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,WAAkD,CAAC;AAE9G,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGvD;AAQD,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,YAAY,GAAG,IAAI,CA0BzG;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAGjE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAa,GAAG,YAAY,CAWvH;AAED,mHAAmH;AACnH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI,CAkBtF;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,eAAe,EAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAID,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,YAAY,GAAG,IAAI,CAO/F;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAMlE"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Session state of the harness loop: `.prism/harness/<session>.json` holds the
3
+ * baseline snapshot and the round counter, `.prism/harness/cache/` the review
4
+ * cache by diff hash. The directory is excluded from git through
5
+ * `.git/info/exclude` (docs/DESIGN-harness-loop.md section 5).
6
+ *
7
+ * The file is not signed: an agent that edits it directly is outside the
8
+ * loop's threat model (section 6.2). Values in an unexpected shape are ignored,
9
+ * and a file that does not parse is renamed to `.bad` and never blocks.
10
+ */
11
+ import { mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
12
+ import { join, resolve } from 'node:path';
13
+ import { ensureDirExcluded } from '../results.js';
14
+ import { HARNESS_DIR, revParse, snapshotTree } from './diff.js';
15
+ export const STATE_VERSION = 1;
16
+ export const MAX_STATE_FILES = 200;
17
+ export const CACHE_TTL_MS = 24 * 3600 * 1000;
18
+ const SHA = /^[0-9a-f]{40,64}$/;
19
+ const HASH = /^sha256:[0-9a-f]{64}$/;
20
+ /** A client's session id reduced to `[A-Za-z0-9_-]{1,100}`, or null when nothing is left. */
21
+ export function sanitizeSession(id) {
22
+ if (typeof id !== 'string')
23
+ return null;
24
+ const s = id.replace(/[^A-Za-z0-9_-]/g, '').slice(0, 100);
25
+ return s || null;
26
+ }
27
+ export const harnessDir = (repoRoot) => resolve(repoRoot, HARNESS_DIR);
28
+ export const statePath = (repoRoot, session) => join(harnessDir(repoRoot), `${session}.json`);
29
+ export function ensureHarnessDir(repoRoot) {
30
+ try {
31
+ ensureDirExcluded(repoRoot, HARNESS_DIR, 'prism-cli harness loop state (local)');
32
+ }
33
+ catch { /* never fail over this */ }
34
+ mkdirSync(harnessDir(repoRoot), { recursive: true, mode: 0o700 });
35
+ }
36
+ function atomicWrite(file, data) {
37
+ const tmp = `${file}.${process.pid}.tmp`;
38
+ writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
39
+ renameSync(tmp, file);
40
+ }
41
+ /** Reads a session's state. Returns null when absent; a corrupt file is renamed to `.bad` with a warning. */
42
+ export function loadState(repoRoot, session, warnings = []) {
43
+ const p = statePath(repoRoot, session);
44
+ let text;
45
+ try {
46
+ text = readFileSync(p, 'utf8');
47
+ }
48
+ catch {
49
+ return null;
50
+ }
51
+ let v; // any: untrusted JSON, every field is checked below
52
+ try {
53
+ v = JSON.parse(text);
54
+ }
55
+ catch {
56
+ v = null;
57
+ }
58
+ if (!v || typeof v !== 'object' || Array.isArray(v)) {
59
+ try {
60
+ renameSync(p, `${p}.bad`);
61
+ }
62
+ catch { /* ignore */ }
63
+ warnings.push(`harness state for session ${session} could not be read; renamed it to ${session}.json.bad and started again at round 1`);
64
+ return null;
65
+ }
66
+ const str = (x, re) => (typeof x === 'string' && (!re || re.test(x)) ? x : null);
67
+ const lv = v.last && typeof v.last === 'object' ? v.last : null;
68
+ const last = lv && str(lv.hash, HASH) && ['pass', 'fix', 'stop'].includes(lv.verdict)
69
+ ? { hash: lv.hash, verdict: lv.verdict, human_why: str(lv.human_why), at: str(lv.at) || '' }
70
+ : null;
71
+ return {
72
+ version: STATE_VERSION,
73
+ session,
74
+ client: str(v.client),
75
+ started_at: str(v.started_at) || new Date().toISOString(),
76
+ head: str(v.head, SHA),
77
+ baseline_tree: str(v.baseline_tree, SHA),
78
+ rounds: Number.isInteger(v.rounds) && v.rounds >= 0 && v.rounds <= 100 ? v.rounds : 0,
79
+ last,
80
+ };
81
+ }
82
+ export function saveState(repoRoot, s) {
83
+ ensureHarnessDir(repoRoot);
84
+ atomicWrite(statePath(repoRoot, s.session), s);
85
+ }
86
+ export function deleteState(repoRoot, session) {
87
+ rmSync(statePath(repoRoot, session), { force: true });
88
+ }
89
+ /**
90
+ * SessionStart: snapshot the working tree as this session's baseline. A
91
+ * session that already has a baseline (resume, clear, compact) keeps it, so
92
+ * the agent's earlier edits stay attributed to it.
93
+ */
94
+ export function recordBaseline(repoRoot, session, client, now = new Date()) {
95
+ const warnings = [];
96
+ const existing = loadState(repoRoot, session, warnings);
97
+ if (existing?.baseline_tree)
98
+ return existing;
99
+ ensureHarnessDir(repoRoot);
100
+ const s = {
101
+ version: STATE_VERSION, session, client, started_at: now.toISOString(),
102
+ head: revParse(repoRoot, 'HEAD^{commit}'), baseline_tree: snapshotTree(repoRoot), rounds: existing?.rounds ?? 0, last: existing?.last ?? null,
103
+ };
104
+ saveState(repoRoot, s);
105
+ return s;
106
+ }
107
+ /** Deletes state older than `ttlDays`, keeps at most MAX_STATE_FILES, and drops cache entries older than a day. */
108
+ export function cleanupState(repoRoot, ttlDays, now = Date.now()) {
109
+ const dir = harnessDir(repoRoot);
110
+ let names;
111
+ try {
112
+ names = readdirSync(dir);
113
+ }
114
+ catch {
115
+ return;
116
+ }
117
+ const files = names
118
+ .filter((n) => n.endsWith('.json') || n.endsWith('.json.bad'))
119
+ .map((n) => { try {
120
+ return { p: join(dir, n), m: statSync(join(dir, n)).mtimeMs };
121
+ }
122
+ catch {
123
+ return null;
124
+ } })
125
+ .filter((x) => !!x)
126
+ .sort((a, b) => b.m - a.m);
127
+ files.forEach((f, i) => {
128
+ if (i >= MAX_STATE_FILES || now - f.m > ttlDays * 24 * 3600 * 1000)
129
+ rmSync(f.p, { force: true });
130
+ });
131
+ const cache = join(dir, 'cache');
132
+ let cached = [];
133
+ try {
134
+ cached = readdirSync(cache);
135
+ }
136
+ catch {
137
+ return;
138
+ }
139
+ for (const n of cached) {
140
+ try {
141
+ if (now - statSync(join(cache, n)).mtimeMs > CACHE_TTL_MS)
142
+ rmSync(join(cache, n), { force: true });
143
+ }
144
+ catch { /* ignore */ }
145
+ }
146
+ }
147
+ const cacheFile = (repoRoot, hash) => join(harnessDir(repoRoot), 'cache', `${hash.replace(/^sha256:/, '')}.json`);
148
+ export function readCache(repoRoot, hash, now = Date.now()) {
149
+ const f = cacheFile(repoRoot, hash);
150
+ try {
151
+ if (now - statSync(f).mtimeMs > CACHE_TTL_MS)
152
+ return null;
153
+ const v = JSON.parse(readFileSync(f, 'utf8'));
154
+ return v && v.hash === hash && Array.isArray(v.findings) ? v : null;
155
+ }
156
+ catch {
157
+ return null;
158
+ }
159
+ }
160
+ export function writeCache(repoRoot, c) {
161
+ try {
162
+ ensureHarnessDir(repoRoot);
163
+ mkdirSync(join(harnessDir(repoRoot), 'cache'), { recursive: true, mode: 0o700 });
164
+ atomicWrite(cacheFile(repoRoot, c.hash), c);
165
+ }
166
+ catch { /* a cache that cannot be written only costs a review */ }
167
+ }
168
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/codewatch/harness/state.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  /** Larger diffs are truncated before review; the result notes it. */
2
2
  export declare const MAX_DIFF_CHARS = 200000;
3
+ /** Lock files are noise to a reviewer and can be megabytes. */
4
+ export declare const DIFF_EXCLUDES: string[];
3
5
  export interface PushRef {
4
6
  localRef: string;
5
7
  localSha: string;
@@ -13,9 +15,10 @@ export declare function parsePushInput(stdin: string): PushRef[];
13
15
  * the remote already has for this ref, else the remote's default branch (a
14
16
  * first push of a new branch). The diff is merge-base based (`base...sha`).
15
17
  */
16
- export declare function resolveBase(ref: PushRef, remote: string | null): {
18
+ export declare function resolveBase(ref: PushRef, remote: string | null, repoRoot?: string): {
17
19
  base: string | null;
18
20
  upstream: string | null;
21
+ emptyTree?: boolean;
19
22
  };
20
23
  /**
21
24
  * Commits in the range whose tree has no pre-commit secrets result: committed
@@ -1 +1 @@
1
- {"version":3,"file":"prepush.d.ts","sourceRoot":"","sources":["../../../src/codewatch/prepush.ts"],"names":[],"mappings":"AAoBA,qEAAqE;AACrE,eAAO,MAAM,cAAc,SAAU,CAAC;AAMtC,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAUvD;AAOD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoBjH;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAiCjJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAkGD,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAmBvD"}
1
+ {"version":3,"file":"prepush.d.ts","sourceRoot":"","sources":["../../../src/codewatch/prepush.ts"],"names":[],"mappings":"AAqBA,qEAAqE;AACrE,eAAO,MAAM,cAAc,SAAU,CAAC;AAGtC,+DAA+D;AAC/D,eAAO,MAAM,aAAa,UAA8K,CAAC;AAEzM,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAUvD;AAOD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,SAAM,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAyBtJ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAiCjJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AA4FD,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAmBvD"}
@@ -7,12 +7,13 @@
7
7
  * bug in this file. The push is never blocked by this gate.
8
8
  */
9
9
  import { spawnSync } from 'node:child_process';
10
- import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
10
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
11
11
  import { tmpdir } from 'node:os';
12
- import { join, resolve } from 'node:path';
12
+ import { join } from 'node:path';
13
13
  import { run } from '../utils/exec.js';
14
- import { getAssetPath } from '../utils/root.js';
15
- import { DEFAULT_REVIEW_TIMEOUT_SECONDS, readEvalConfig, REVIEWER_GIT_CONFIG_KEY, RULES_PATH } from './config.js';
14
+ import { fallbackPushBase } from './pushbase.js';
15
+ import { DEFAULT_REVIEW_TIMEOUT_SECONDS, modelLabel, readEvalConfig, resolveReviewModel, reviewModelGitKey, REVIEWER_GIT_CONFIG_KEY } from './config.js';
16
+ import { loadReviewRules } from './rules.js';
16
17
  import { safeWrite } from './gitleaks.js';
17
18
  import { countBySeverity, makeResult, readResults } from './results.js';
18
19
  import { ADAPTERS, detectReviewers, findOnPath, resolveReviewer, runReview, toolVersion } from './reviewers/index.js';
@@ -22,7 +23,7 @@ export const MAX_DIFF_CHARS = 200_000;
22
23
  /** Upper bound on commits checked for a missing pre-commit scan per push. */
23
24
  const MAX_SKIP_CHECK_COMMITS = 50;
24
25
  /** Lock files are noise to a reviewer and can be megabytes. */
25
- const DIFF_EXCLUDES = [':(exclude,glob)**/package-lock.json', ':(exclude,glob)**/yarn.lock', ':(exclude,glob)**/pnpm-lock.yaml', ':(exclude,glob)**/poetry.lock', ':(exclude,glob)**/Cargo.lock'];
26
+ export const DIFF_EXCLUDES = [':(exclude,glob)**/package-lock.json', ':(exclude,glob)**/yarn.lock', ':(exclude,glob)**/pnpm-lock.yaml', ':(exclude,glob)**/poetry.lock', ':(exclude,glob)**/Cargo.lock'];
26
27
  /** Parses git's pre-push stdin: `<local ref> <local sha> <remote ref> <remote sha>` per line. */
27
28
  export function parsePushInput(stdin) {
28
29
  const refs = [];
@@ -46,7 +47,7 @@ function git(args) {
46
47
  * the remote already has for this ref, else the remote's default branch (a
47
48
  * first push of a new branch). The diff is merge-base based (`base...sha`).
48
49
  */
49
- export function resolveBase(ref, remote) {
50
+ export function resolveBase(ref, remote, repoRoot = '.') {
50
51
  const branch = ref.localRef.startsWith('refs/heads/') ? ref.localRef.slice('refs/heads/'.length) : null;
51
52
  if (branch) {
52
53
  const up = git(['rev-parse', '--abbrev-ref', '--symbolic-full-name', `${branch}@{upstream}`]);
@@ -67,6 +68,12 @@ export function resolveBase(ref, remote) {
67
68
  return { base: sha, upstream: head.replace(/^refs\/remotes\//, '') };
68
69
  }
69
70
  }
71
+ // No upstream and no remote HEAD (a first push with no -u): the remote's branch, its
72
+ // main/master, the commits on no remote, or on a first push the whole tree.
73
+ const dst = ref.remoteRef.startsWith('refs/heads/') ? ref.remoteRef.slice('refs/heads/'.length) : null;
74
+ const fb = fallbackPushBase(repoRoot, { remote, dst, branch, tip: ref.localSha });
75
+ if (fb && fb.base !== ref.localSha)
76
+ return { base: fb.base, upstream: fb.emptyTree ? null : fb.label, emptyTree: fb.emptyTree };
70
77
  return { base: null, upstream: null };
71
78
  }
72
79
  /**
@@ -111,8 +118,8 @@ function reviewRef(opts, ref, log) {
111
118
  const { repoRoot } = opts;
112
119
  const started = new Date().toISOString();
113
120
  const branch = ref.localRef.startsWith('refs/heads/') ? ref.localRef.slice(11) : ref.localRef;
114
- const { base, upstream } = resolveBase(ref, opts.remote);
115
- const unscanned = recordUnscannedCommits(repoRoot, base, ref.localSha, branch, upstream);
121
+ const { base, upstream, emptyTree } = resolveBase(ref, opts.remote, repoRoot);
122
+ const unscanned = recordUnscannedCommits(repoRoot, emptyTree ? null : base, ref.localSha, branch, upstream);
116
123
  if (unscanned > 0)
117
124
  log(`prism: ${unscanned} pushed commit(s) have no pre-commit secret scan (recorded in .prism/results/)`);
118
125
  const common = { kind: 'review', hook: 'pre-push', commit: ref.localSha, branch, upstream, base, started_at: started };
@@ -129,13 +136,19 @@ function reviewRef(opts, ref, log) {
129
136
  }
130
137
  const adapter = ADAPTERS[choice.id];
131
138
  const bin = findOnPath(adapter.binary, opts.pathEnv) || adapter.binary;
132
- const model = evalCfg.model || null;
139
+ const modelChoice = resolveReviewModel({
140
+ reviewer: adapter.id, prismConfigValue: evalCfg.model, prismConfigReviewer: evalCfg.reviewer,
141
+ gitConfigValue: git(['config', '--get', reviewModelGitKey(adapter.id)]),
142
+ });
143
+ if (modelChoice.note)
144
+ log(`prism: ${modelChoice.note}`);
145
+ const model = modelChoice.model;
133
146
  if (!base) {
134
147
  return makeResult({ ...common, tool: adapter.id, status: 'skipped', finished_at: new Date().toISOString(), reason: 'no upstream or remote default branch to diff against' });
135
148
  }
136
149
  // spawnSync rather than run(): run() inherits execFileSync's 1 MB buffer,
137
150
  // which a large branch diff exceeds.
138
- const d = spawnSync('git', ['diff', '--no-color', '--no-ext-diff', `${base}...${ref.localSha}`, '--', '.', ...DIFF_EXCLUDES], { cwd: repoRoot, encoding: 'utf8', maxBuffer: 256 * 1024 * 1024, stdio: ['ignore', 'pipe', 'pipe'] });
151
+ const d = spawnSync('git', ['diff', '--no-color', '--no-ext-diff', ...(emptyTree ? [base, ref.localSha] : [`${base}...${ref.localSha}`]), '--', '.', ...DIFF_EXCLUDES], { cwd: repoRoot, encoding: 'utf8', maxBuffer: 256 * 1024 * 1024, stdio: ['ignore', 'pipe', 'pipe'] });
139
152
  let diff = d.status === 0 ? d.stdout : null;
140
153
  if (diff === null) {
141
154
  return makeResult({ ...common, tool: adapter.id, status: 'error', finished_at: new Date().toISOString(), reason: 'git diff failed' });
@@ -148,26 +161,15 @@ function reviewRef(opts, ref, log) {
148
161
  diff = diff.slice(0, MAX_DIFF_CHARS);
149
162
  truncated = true;
150
163
  }
151
- // A repo covered only by the global hooks has no rules file of its own:
152
- // fall back to the bundled default, the same rules enable codewatch installs.
153
- let rulesPath = RULES_PATH;
154
- let rulesText = existsSync(resolve(repoRoot, RULES_PATH)) ? readFileSync(resolve(repoRoot, RULES_PATH), 'utf8') : '';
155
- if (!rulesText) {
156
- try {
157
- rulesPath = getAssetPath(import.meta.url, 'bootstrapper/eval-harness/steering/code-review.md');
158
- rulesText = readFileSync(rulesPath, 'utf8');
159
- }
160
- catch {
161
- rulesPath = RULES_PATH;
162
- log(`prism: ${RULES_PATH} not found; reviewing without the shared rules`);
163
- }
164
- }
164
+ const { rulesPath, rulesText, note: rulesNote } = loadReviewRules(repoRoot);
165
+ if (rulesNote)
166
+ log(`prism: ${rulesNote}`);
165
167
  const tmp = mkdtempSync(join(tmpdir(), 'prism-review-'));
166
168
  try {
167
169
  const diffPath = join(tmp, 'branch.diff');
168
170
  writeFileSync(diffPath, diff, { mode: 0o600 });
169
171
  const timeoutS = Number(evalCfg.timeout_seconds) > 0 ? Number(evalCfg.timeout_seconds) : DEFAULT_REVIEW_TIMEOUT_SECONDS;
170
- log(`prism: reviewing ${branch} against ${upstream} with ${adapter.displayName} (report only, up to ${timeoutS}s)...`);
172
+ log(`prism: reviewing ${branch} against ${upstream} with ${adapter.displayName}, model ${modelLabel(adapter.id, model)} (report only, up to ${timeoutS}s)...`);
171
173
  const res = runReview(adapter, { repoRoot, rulesPath, rulesText, diffPath, diff, model: model || undefined }, timeoutS * 1000, bin);
172
174
  const finished = new Date().toISOString();
173
175
  const version = toolVersion(bin);
@@ -1 +1 @@
1
- {"version":3,"file":"prepush.js","sourceRoot":"","sources":["../../../src/codewatch/prepush.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepush.js","sourceRoot":"","sources":["../../../src/codewatch/prepush.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface PushBase {
2
+ /** A commit, or the empty tree when nothing of the history is on a remote. */
3
+ base: string;
4
+ /** What the base is, for logs and the result file (`origin/main`, `commits on no remote`). */
5
+ label: string;
6
+ emptyTree: boolean;
7
+ /** A warning to show, or null. */
8
+ note: string | null;
9
+ }
10
+ /** The empty tree object of this repository's hash format. */
11
+ export declare function emptyTree(repoRoot: string): string | null;
12
+ /** The base for `tip` when no upstream is set. Null only when git itself fails. */
13
+ export declare function fallbackPushBase(repoRoot: string, opts: {
14
+ remote?: string | null;
15
+ dst?: string | null;
16
+ branch?: string | null;
17
+ tip: string;
18
+ }): PushBase | null;
19
+ //# sourceMappingURL=pushbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pushbase.d.ts","sourceRoot":"","sources":["../../../src/codewatch/pushbase.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAQD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,GAAG,IAAI,CAyC9J"}