@ddtcorex/dsh-maestro-review 0.3.2 → 0.4.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/lib/gitlab-client.d.ts +57 -0
- package/lib/gitlab-client.d.ts.map +1 -1
- package/lib/gitlab-client.js +118 -16
- package/lib/gitlab-client.js.map +1 -1
- package/lib/govard-audit-lint-tool.d.ts +81 -0
- package/lib/govard-audit-lint-tool.d.ts.map +1 -1
- package/lib/govard-audit-lint-tool.js +121 -36
- package/lib/govard-audit-lint-tool.js.map +1 -1
- package/lib/govard-tool.js +1 -1
- package/lib/govard-tool.js.map +1 -1
- package/lib/orchestrator.d.ts +86 -1
- package/lib/orchestrator.d.ts.map +1 -1
- package/lib/orchestrator.js +239 -12
- package/lib/orchestrator.js.map +1 -1
- package/lib/review-findings-tool.d.ts +5 -0
- package/lib/review-findings-tool.d.ts.map +1 -1
- package/lib/review-findings-tool.js +3 -1
- package/lib/review-findings-tool.js.map +1 -1
- package/lib/review-intake.d.ts.map +1 -1
- package/lib/review-intake.js +5 -1
- package/lib/review-intake.js.map +1 -1
- package/package.json +1 -1
- package/src/host/gitlab-client.ts +140 -16
- package/src/host/govard-audit-lint-tool.ts +144 -31
- package/src/host/govard-tool.ts +1 -1
- package/src/host/orchestrator.ts +261 -14
- package/src/host/review-findings-tool.ts +9 -1
- package/src/host/review-intake.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"govard-audit-lint-tool.js","sourceRoot":"","sources":["../src/host/govard-audit-lint-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"govard-audit-lint-tool.js","sourceRoot":"","sources":["../src/host/govard-audit-lint-tool.ts"],"names":[],"mappings":"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"}
|
package/lib/govard-tool.js
CHANGED
|
@@ -64,7 +64,7 @@ export function apply(ctx, config) {
|
|
|
64
64
|
name: 'govard_shell',
|
|
65
65
|
description: 'Run one non-interactive command inside the Govard-managed container (e.g. a test suite) and return its output.',
|
|
66
66
|
parameters: {
|
|
67
|
-
command: { type: 'string', required: true, description: 'Shell command to run inside the container
|
|
67
|
+
command: { type: 'string', required: true, description: 'Shell command to run inside the container. PHPUnit in a Magento root: always scope it — "vendor/bin/phpunit -c dev/tests/unit/phpunit.xml.dist --filter <Module>" or "vendor/bin/phpunit --no-coverage --bootstrap dev/tests/unit/framework/bootstrap.php app/code/<Vendor>/<Module>/Test/Unit". The root ships no phpunit.xml so the bare binary prints usage and exits 1; never run the full suite bare (core fixture conflicts), and capture status via ${PIPESTATUS[0]} when piping through tail.' },
|
|
68
68
|
},
|
|
69
69
|
output: {
|
|
70
70
|
schema: { type: 'object', additionalProperties: false, properties: { text: { type: 'string', required: true } } },
|
package/lib/govard-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"govard-tool.js","sourceRoot":"","sources":["../src/host/govard-tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"govard-tool.js","sourceRoot":"","sources":["../src/host/govard-tool.ts"],"names":[],"mappings":"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"}
|
package/lib/orchestrator.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Context } from '@deepseek-ai/cordis';
|
|
|
2
2
|
import z from '@deepseek-ai/schemastery';
|
|
3
3
|
import type { AgentHandle } from '@deepseek-ai/dsh-agent';
|
|
4
4
|
import type { ModelSelection } from '@deepseek-ai/dsh-agent';
|
|
5
|
-
import type { ReviewFinding } from './review-findings-tool.js';
|
|
5
|
+
import type { ReviewFinding, FindingSeverity } from './review-findings-tool.js';
|
|
6
6
|
import type { ReviewRequest } from './events.js';
|
|
7
7
|
import { type MaestroUserConfig, type ReviewModelSelection } from './config-store.js';
|
|
8
8
|
import { type ReviewSkillProfile } from './skills-tool.js';
|
|
@@ -16,6 +16,30 @@ export declare function runReviewWithProvider(provider: ReviewProvider, request:
|
|
|
16
16
|
profile: string;
|
|
17
17
|
}): Promise<void>;
|
|
18
18
|
export { gitlabProvider };
|
|
19
|
+
/**
|
|
20
|
+
* Finding severity, assigned by the reviewer. Display order is fixed
|
|
21
|
+
* (blocking first) wherever counts are rendered.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SEVERITY_ORDER: readonly FindingSeverity[];
|
|
24
|
+
/** Missing or unknown severities degrade to `minor` — never drop a finding. */
|
|
25
|
+
export declare function normalizeFindingSeverity(severity: unknown): FindingSeverity;
|
|
26
|
+
export declare function severityPrefix(severity: unknown): string;
|
|
27
|
+
/** Count findings per severity; zero counts are omitted. */
|
|
28
|
+
export declare function countFindingSeverities(findings: ReviewFinding[]): Partial<Record<FindingSeverity, number>>;
|
|
29
|
+
export interface ReviewerScopePromptOpts {
|
|
30
|
+
scopeKind: 'discussion' | 'full';
|
|
31
|
+
discussionId?: string;
|
|
32
|
+
path?: string;
|
|
33
|
+
line?: number;
|
|
34
|
+
mode?: string;
|
|
35
|
+
profileInstruction: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Reviewer scope prompt. Static analysis is mandatory: reviewers skipped
|
|
39
|
+
* govard_audit_lint for whole rounds (no lint signal at all), so the prompt
|
|
40
|
+
* requires at least one call before report_review_findings. Pure for testing.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildReviewerScopePrompt(opts: ReviewerScopePromptOpts): string;
|
|
19
43
|
/**
|
|
20
44
|
* Build a user-friendly GitLab Markdown comment for a completed review.
|
|
21
45
|
* Shared design language with `reviewDigestText` (Telegram HTML) — same
|
|
@@ -33,6 +57,7 @@ export declare function buildReviewComment(opts: {
|
|
|
33
57
|
findings?: {
|
|
34
58
|
newCount: number;
|
|
35
59
|
replyCount: number;
|
|
60
|
+
severityCounts?: Partial<Record<FindingSeverity, number>>;
|
|
36
61
|
};
|
|
37
62
|
durationMs?: number;
|
|
38
63
|
isDiffOnly?: boolean;
|
|
@@ -81,6 +106,7 @@ export declare const Config: z<Config>;
|
|
|
81
106
|
export interface ReviewOutcome {
|
|
82
107
|
summary: string;
|
|
83
108
|
failures: string[];
|
|
109
|
+
severityCounts?: Partial<Record<FindingSeverity, number>>;
|
|
84
110
|
}
|
|
85
111
|
/**
|
|
86
112
|
* Await an agent's turn with a hard ceiling. A hung automated agent would
|
|
@@ -151,6 +177,16 @@ export declare function postReviewFindings(findings: ReviewFinding[], config: Gi
|
|
|
151
177
|
* (quick + deep of one MR) never share one worktree directory.
|
|
152
178
|
*/
|
|
153
179
|
export declare function reviewKeyHash(payload: ReviewRequest): string;
|
|
180
|
+
/**
|
|
181
|
+
* Read an agent session's transcript for the auditor's final output across
|
|
182
|
+
* host/session API skew: hosts built from the harness checkout expose
|
|
183
|
+
* `ownEvents()`/`snapshotEvents()` with no `.events` getter, while older
|
|
184
|
+
* packaged `@deepseek-ai/dsh-session` builds expose only the `.events`
|
|
185
|
+
* getter. `ownEvents()` (child-owned suffix, no fork prefix) matches
|
|
186
|
+
* `finalAssistantOutput`'s documented input best, so it wins when present.
|
|
187
|
+
* Returns `[]` — never throws — when no event source exists.
|
|
188
|
+
*/
|
|
189
|
+
export declare function auditorOutputFromSession(session: unknown): import("@deepseek-ai/dsh-llm").ContentBlock[];
|
|
154
190
|
/** Full review + performance audit; resolves to the comment body that was posted. */
|
|
155
191
|
export declare function runReviewAndAudit(payload: ReviewRequest, deps: ReviewAndAuditDeps): Promise<string>;
|
|
156
192
|
/**
|
|
@@ -169,6 +205,55 @@ export declare function isBranchNotFoundError(err: unknown): boolean;
|
|
|
169
205
|
* and Govard may either reject the worktree or run commands in the wrong stack.
|
|
170
206
|
*/
|
|
171
207
|
export declare function govardWorktreeOverride(projectId: number, mrIid: number, keySuffix?: string): string;
|
|
208
|
+
/**
|
|
209
|
+
* Fetch the MR's diff base SHA for govard diff-scope runs. Best-effort:
|
|
210
|
+
* returns undefined (the lint tool then fail-fasts with guidance) rather
|
|
211
|
+
* than failing the review when GitLab is unreachable.
|
|
212
|
+
*/
|
|
213
|
+
export declare function fetchMrBaseSha(baseUrl: string, token: string, projectId: number, mrIid: number, fetcher?: typeof fetch): Promise<string | undefined>;
|
|
172
214
|
export declare function ensureWorktree(localRepoPath: string, sourceBranch: string, projectId: number, mrIid: number, keySuffix?: string): Promise<string>;
|
|
215
|
+
/**
|
|
216
|
+
* A vendor dir only counts as installed dependencies when the composer
|
|
217
|
+
* autoloader is a real file. Magento tracks `vendor/.htaccess`, so every
|
|
218
|
+
* worktree has a vendor/ stub — that stub must not pass for real deps, and
|
|
219
|
+
* must not block the container bind that provides them.
|
|
220
|
+
*/
|
|
221
|
+
export declare function vendorHasAutoload(dir: string): Promise<boolean>;
|
|
222
|
+
/**
|
|
223
|
+
* Share the primary checkout's `vendor/` (and `app/etc/env.php` when the
|
|
224
|
+
* auditor needs a database) into the review worktree via symlinks, so
|
|
225
|
+
* phpunit/static analysis run against real dependencies instead of falling
|
|
226
|
+
* back to static-only. Links point INTO the worktree only — the primary
|
|
227
|
+
* checkout is never written to — and `git worktree remove --force` deletes
|
|
228
|
+
* the links along with the worktree. Missing sources, or targets that
|
|
229
|
+
* already exist (e.g. Magento's tracked `vendor/.htaccess` stub), are
|
|
230
|
+
* skipped quietly: the review still runs, the auditor discloses it.
|
|
231
|
+
*/
|
|
232
|
+
export declare function linkVendorIntoWorktree(localRepoPath: string, worktreePath: string): Promise<string[]>;
|
|
233
|
+
/**
|
|
234
|
+
* Render a compose override that bind-mounts the primary checkout's vendor/
|
|
235
|
+
* read-only into the php service. A host-side symlink alone dangles inside
|
|
236
|
+
* containers (absolute host path), so container tools (phpunit) need this
|
|
237
|
+
* bind to see real dependencies.
|
|
238
|
+
*
|
|
239
|
+
* The project mount (`.`) MUST be repeated first: govard merges overrides
|
|
240
|
+
* with MergeMap, which REPLACES lists instead of appending — an override
|
|
241
|
+
* carrying only the vendor bind would wipe `.:<workdir>` and leave the
|
|
242
|
+
* container docroot holding nothing but vendor/. Relative `.` resolves
|
|
243
|
+
* against the project root because govard passes --project-directory.
|
|
244
|
+
*
|
|
245
|
+
* Only the always-present `php` service is targeted: `php-debug` drops out
|
|
246
|
+
* of the rendered base when xdebug is off, and a volumes-only override
|
|
247
|
+
* entry would recreate it as a hollow service that fails compose validation.
|
|
248
|
+
*/
|
|
249
|
+
export declare function buildVendorOverrideYaml(vendorHostPath: string, envHostPath?: string, containerWorkDir?: string): string;
|
|
250
|
+
/**
|
|
251
|
+
* Drop the vendor bind override into the worktree (merged by govard via
|
|
252
|
+
* `.govard/docker-compose.override.yml`). Binds only when the primary
|
|
253
|
+
* checkout carries installed deps and the worktree does not — never shadow
|
|
254
|
+
* real deps with a possibly stale bind. Returns the written path, or
|
|
255
|
+
* undefined when skipped.
|
|
256
|
+
*/
|
|
257
|
+
export declare function writeContainerVendorOverride(localRepoPath: string, worktreePath: string): Promise<string | undefined>;
|
|
173
258
|
export declare function apply(ctx: Context, config: Config): void;
|
|
174
259
|
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/host/orchestrator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAiB5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/host/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/lib/orchestrator.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, writeFile } from 'node:fs/promises';
|
|
1
|
+
import { mkdir, writeFile, symlink, stat, lstat } from 'node:fs/promises';
|
|
2
2
|
import { execFile } from 'node:child_process';
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
4
|
import { promisify } from 'node:util';
|
|
@@ -45,6 +45,47 @@ export async function runReviewWithProvider(provider, request) {
|
|
|
45
45
|
export { gitlabProvider };
|
|
46
46
|
const execFileAsync = promisify(execFile);
|
|
47
47
|
const GIT_TIMEOUT_MS = 60_000;
|
|
48
|
+
/**
|
|
49
|
+
* Finding severity, assigned by the reviewer. Display order is fixed
|
|
50
|
+
* (blocking first) wherever counts are rendered.
|
|
51
|
+
*/
|
|
52
|
+
export const SEVERITY_ORDER = ['blocking', 'major', 'minor', 'nit'];
|
|
53
|
+
const SEVERITY_LABEL = {
|
|
54
|
+
blocking: '🔴 Blocking',
|
|
55
|
+
major: '🟡 Major',
|
|
56
|
+
minor: '🔵 Minor',
|
|
57
|
+
nit: '⚪ Nit',
|
|
58
|
+
};
|
|
59
|
+
/** Missing or unknown severities degrade to `minor` — never drop a finding. */
|
|
60
|
+
export function normalizeFindingSeverity(severity) {
|
|
61
|
+
return severity === 'blocking' || severity === 'major' || severity === 'minor' || severity === 'nit'
|
|
62
|
+
? severity
|
|
63
|
+
: 'minor';
|
|
64
|
+
}
|
|
65
|
+
export function severityPrefix(severity) {
|
|
66
|
+
return SEVERITY_LABEL[normalizeFindingSeverity(severity)];
|
|
67
|
+
}
|
|
68
|
+
/** Count findings per severity; zero counts are omitted. */
|
|
69
|
+
export function countFindingSeverities(findings) {
|
|
70
|
+
const counts = {};
|
|
71
|
+
for (const finding of findings) {
|
|
72
|
+
const level = normalizeFindingSeverity(finding.severity);
|
|
73
|
+
counts[level] = (counts[level] ?? 0) + 1;
|
|
74
|
+
}
|
|
75
|
+
return counts;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Reviewer scope prompt. Static analysis is mandatory: reviewers skipped
|
|
79
|
+
* govard_audit_lint for whole rounds (no lint signal at all), so the prompt
|
|
80
|
+
* requires at least one call before report_review_findings. Pure for testing.
|
|
81
|
+
*/
|
|
82
|
+
export function buildReviewerScopePrompt(opts) {
|
|
83
|
+
const lintRule = 'LINT RULE: you MUST call govard_audit_lint at least once (scope "diff"; the MR base default is already wired, no base arg needed) before report_review_findings. A review with no lint call is incomplete.';
|
|
84
|
+
if (opts.scopeKind === 'discussion') {
|
|
85
|
+
return `${opts.profileInstruction}Review only the requested inline discussion ${opts.discussionId} at ${opts.path}:${opts.line}. Do not review unrelated files or start a broad audit. Call gitlab_get_mr_diff, then gitlab_get_file_diff for the file under review, then call report_review_findings exactly once when done. ${lintRule}`;
|
|
86
|
+
}
|
|
87
|
+
return `${opts.profileInstruction}Review this merge request (${opts.mode} mode). Call gitlab_list_own_review_threads and gitlab_get_mr_diff first, then gitlab_get_file_diff per file you inspect (inline results never spill), then call report_review_findings exactly once when done. ${lintRule} DEDUP RULE: when a finding matches the substance of an existing own thread (same file and same underlying issue, even if worded differently — including resolved threads, whose reply reopens them), report it as {status: "reply", discussionId} instead of posting a new thread. Use status "new" only for issues with no matching thread.`;
|
|
88
|
+
}
|
|
48
89
|
/**
|
|
49
90
|
* Build a user-friendly GitLab Markdown comment for a completed review.
|
|
50
91
|
* Shared design language with `reviewDigestText` (Telegram HTML) — same
|
|
@@ -75,6 +116,13 @@ export function buildReviewComment(opts) {
|
|
|
75
116
|
parts.push(`💬 ${opts.findings.newCount} new`);
|
|
76
117
|
if (opts.findings.replyCount > 0)
|
|
77
118
|
parts.push(`🔁 ${opts.findings.replyCount} updated`);
|
|
119
|
+
if (opts.findings.severityCounts !== undefined) {
|
|
120
|
+
for (const level of SEVERITY_ORDER) {
|
|
121
|
+
const count = opts.findings.severityCounts[level] ?? 0;
|
|
122
|
+
if (count > 0)
|
|
123
|
+
parts.push(`${SEVERITY_LABEL[level].split(' ')[0]} ${count} ${level}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
78
126
|
if (parts.length === 0)
|
|
79
127
|
parts.push('no inline findings');
|
|
80
128
|
return `\n\n**Findings:** ${parts.join(' · ')}`;
|
|
@@ -276,11 +324,13 @@ export async function postReviewFindings(findings, config) {
|
|
|
276
324
|
const headers = { 'PRIVATE-TOKEN': config.token, 'Content-Type': 'application/json' };
|
|
277
325
|
for (const finding of findings) {
|
|
278
326
|
let response;
|
|
327
|
+
const label = severityPrefix(finding.severity);
|
|
328
|
+
const body = finding.body.startsWith(label) ? finding.body : `${label}\n\n${finding.body}`;
|
|
279
329
|
if (finding.status === 'reply') {
|
|
280
330
|
if (finding.discussionId === undefined)
|
|
281
331
|
throw new Error('reply finding missing discussionId');
|
|
282
332
|
response = await fetcher(`${apiBase}/discussions/${encodeURIComponent(finding.discussionId)}/notes`, {
|
|
283
|
-
method: 'POST', headers, body: JSON.stringify({ body
|
|
333
|
+
method: 'POST', headers, body: JSON.stringify({ body }),
|
|
284
334
|
});
|
|
285
335
|
}
|
|
286
336
|
else {
|
|
@@ -301,13 +351,13 @@ export async function postReviewFindings(findings, config) {
|
|
|
301
351
|
// Line not in diff — fallback to MR note so finding is not silently lost.
|
|
302
352
|
response = await fetcher(`${apiBase}/notes`, {
|
|
303
353
|
method: 'POST', headers,
|
|
304
|
-
body: JSON.stringify({ body: `**Inline fallback — \`${finding.path}:${finding.line}\` line is not in current MR diff**\n\n${
|
|
354
|
+
body: JSON.stringify({ body: `**Inline fallback — \`${finding.path}:${finding.line}\` line is not in current MR diff**\n\n${body}` }),
|
|
305
355
|
});
|
|
306
356
|
}
|
|
307
357
|
else {
|
|
308
358
|
response = await fetcher(`${apiBase}/discussions`, {
|
|
309
359
|
method: 'POST', headers,
|
|
310
|
-
body: JSON.stringify({ body
|
|
360
|
+
body: JSON.stringify({ body, position: {
|
|
311
361
|
position_type: 'text', ...snapshot.diffRefs, old_path: change.old_path, new_path: change.new_path,
|
|
312
362
|
...linePosition.oldLine === undefined ? {} : { old_line: linePosition.oldLine },
|
|
313
363
|
...linePosition.newLine === undefined ? {} : { new_line: linePosition.newLine },
|
|
@@ -356,6 +406,31 @@ function assertSafeId(value, label) {
|
|
|
356
406
|
throw new Error(`refusing to operate on unsafe ${label}: ${JSON.stringify(value)}`);
|
|
357
407
|
}
|
|
358
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Read an agent session's transcript for the auditor's final output across
|
|
411
|
+
* host/session API skew: hosts built from the harness checkout expose
|
|
412
|
+
* `ownEvents()`/`snapshotEvents()` with no `.events` getter, while older
|
|
413
|
+
* packaged `@deepseek-ai/dsh-session` builds expose only the `.events`
|
|
414
|
+
* getter. `ownEvents()` (child-owned suffix, no fork prefix) matches
|
|
415
|
+
* `finalAssistantOutput`'s documented input best, so it wins when present.
|
|
416
|
+
* Returns `[]` — never throws — when no event source exists.
|
|
417
|
+
*/
|
|
418
|
+
export function auditorOutputFromSession(session) {
|
|
419
|
+
const candidate = session;
|
|
420
|
+
let events;
|
|
421
|
+
if (typeof candidate?.ownEvents === 'function') {
|
|
422
|
+
events = candidate.ownEvents();
|
|
423
|
+
}
|
|
424
|
+
else if (typeof candidate?.snapshotEvents === 'function') {
|
|
425
|
+
events = candidate.snapshotEvents();
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
events = candidate?.events;
|
|
429
|
+
}
|
|
430
|
+
if (!Array.isArray(events))
|
|
431
|
+
return [];
|
|
432
|
+
return finalAssistantOutput(events) ?? [];
|
|
433
|
+
}
|
|
359
434
|
/** Full review + performance audit; resolves to the comment body that was posted. */
|
|
360
435
|
export async function runReviewAndAudit(payload, deps) {
|
|
361
436
|
assertSafeId(payload.projectId, 'projectId');
|
|
@@ -375,7 +450,7 @@ export async function runReviewAndAudit(payload, deps) {
|
|
|
375
450
|
]);
|
|
376
451
|
const labels = ['Reviewer', 'Auditor'];
|
|
377
452
|
if (settled[0].status === 'fulfilled') {
|
|
378
|
-
const { summary, failures } = settled[0].value;
|
|
453
|
+
const { summary, failures, severityCounts } = settled[0].value;
|
|
379
454
|
// Try to parse findings counts from summary like "2 new inline comment(s), 1 thread(s) updated."
|
|
380
455
|
const summaryText = summary ?? '';
|
|
381
456
|
const newMatch = /(\d+)\s+new inline/.exec(summaryText);
|
|
@@ -392,7 +467,7 @@ export async function runReviewAndAudit(payload, deps) {
|
|
|
392
467
|
profile: deps.reviewProfile,
|
|
393
468
|
summary: summaryText,
|
|
394
469
|
failures,
|
|
395
|
-
findings: { newCount, replyCount },
|
|
470
|
+
findings: { newCount, replyCount, severityCounts },
|
|
396
471
|
})
|
|
397
472
|
: `## 🤖 Maestro Review\n\n**\`${payload.projectPath}\` !${payload.mrIid}** · ✅ Completed · \`${payload.mode}\`${deps.reviewProfile !== undefined ? ` · \`${deps.reviewProfile}\`` : ''}\n\n${summaryText}${failures.length > 0 ? `\n\n<details>\n<summary>⚠️ Failed to post (${failures.length})</summary>\n\n${failures.map((f) => `- \`${f}\``).join('\n')}\n\n</details>` : ''}`;
|
|
398
473
|
sections.push(richOpts);
|
|
@@ -540,7 +615,26 @@ export function isBranchNotFoundError(err) {
|
|
|
540
615
|
*/
|
|
541
616
|
export function govardWorktreeOverride(projectId, mrIid, keySuffix) {
|
|
542
617
|
const name = `maestro-mr-${projectId}-${mrIid}${keySuffix === undefined ? '' : `-${keySuffix}`}`;
|
|
543
|
-
|
|
618
|
+
// Xdebug stays off in review envs: the auditor runs no coverage, and an
|
|
619
|
+
// enabled Xdebug trips govard's lint perf-tax guard (exit 1, 0 findings).
|
|
620
|
+
return `project_name: ${name}\ndomain: ${name}.test\nstack:\n features:\n xdebug: false\n`;
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Fetch the MR's diff base SHA for govard diff-scope runs. Best-effort:
|
|
624
|
+
* returns undefined (the lint tool then fail-fasts with guidance) rather
|
|
625
|
+
* than failing the review when GitLab is unreachable.
|
|
626
|
+
*/
|
|
627
|
+
export async function fetchMrBaseSha(baseUrl, token, projectId, mrIid, fetcher = fetch) {
|
|
628
|
+
try {
|
|
629
|
+
const response = await fetcher(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}`, { headers: { 'PRIVATE-TOKEN': token } });
|
|
630
|
+
if (!response.ok)
|
|
631
|
+
return undefined;
|
|
632
|
+
const mr = await response.json();
|
|
633
|
+
return mr.diff_refs?.base_sha;
|
|
634
|
+
}
|
|
635
|
+
catch {
|
|
636
|
+
return undefined;
|
|
637
|
+
}
|
|
544
638
|
}
|
|
545
639
|
export async function ensureWorktree(localRepoPath, sourceBranch, projectId, mrIid, keySuffix) {
|
|
546
640
|
assertSafeBranchName(sourceBranch);
|
|
@@ -564,8 +658,138 @@ export async function ensureWorktree(localRepoPath, sourceBranch, projectId, mrI
|
|
|
564
658
|
.catch(() => { });
|
|
565
659
|
await execFileAsync('git', ['worktree', 'add', '--', worktreePath, `origin/${sourceBranch}`], { cwd: localRepoPath, timeout: GIT_TIMEOUT_MS });
|
|
566
660
|
await writeFile(join(worktreePath, '.govard.local.yml'), govardWorktreeOverride(projectId, mrIid, keySuffix), 'utf-8');
|
|
661
|
+
await linkVendorIntoWorktree(localRepoPath, worktreePath);
|
|
662
|
+
await writeContainerVendorOverride(localRepoPath, worktreePath);
|
|
567
663
|
return worktreePath;
|
|
568
664
|
}
|
|
665
|
+
/**
|
|
666
|
+
* A vendor dir only counts as installed dependencies when the composer
|
|
667
|
+
* autoloader is a real file. Magento tracks `vendor/.htaccess`, so every
|
|
668
|
+
* worktree has a vendor/ stub — that stub must not pass for real deps, and
|
|
669
|
+
* must not block the container bind that provides them.
|
|
670
|
+
*/
|
|
671
|
+
export async function vendorHasAutoload(dir) {
|
|
672
|
+
try {
|
|
673
|
+
return (await stat(join(dir, 'vendor', 'autoload.php'))).isFile();
|
|
674
|
+
}
|
|
675
|
+
catch {
|
|
676
|
+
return false;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Share the primary checkout's `vendor/` (and `app/etc/env.php` when the
|
|
681
|
+
* auditor needs a database) into the review worktree via symlinks, so
|
|
682
|
+
* phpunit/static analysis run against real dependencies instead of falling
|
|
683
|
+
* back to static-only. Links point INTO the worktree only — the primary
|
|
684
|
+
* checkout is never written to — and `git worktree remove --force` deletes
|
|
685
|
+
* the links along with the worktree. Missing sources, or targets that
|
|
686
|
+
* already exist (e.g. Magento's tracked `vendor/.htaccess` stub), are
|
|
687
|
+
* skipped quietly: the review still runs, the auditor discloses it.
|
|
688
|
+
*/
|
|
689
|
+
export async function linkVendorIntoWorktree(localRepoPath, worktreePath) {
|
|
690
|
+
const linked = [];
|
|
691
|
+
const candidates = [
|
|
692
|
+
{ source: join(localRepoPath, 'vendor'), target: join(worktreePath, 'vendor'), dir: true, needsAutoload: true },
|
|
693
|
+
{ source: join(localRepoPath, 'app', 'etc', 'env.php'), target: join(worktreePath, 'app', 'etc', 'env.php'), dir: false, needsAutoload: false },
|
|
694
|
+
];
|
|
695
|
+
let advertised = false;
|
|
696
|
+
for (const { source, target, dir, needsAutoload } of candidates) {
|
|
697
|
+
let isDir = false;
|
|
698
|
+
try {
|
|
699
|
+
isDir = (await stat(source)).isDirectory();
|
|
700
|
+
if (dir !== isDir)
|
|
701
|
+
continue;
|
|
702
|
+
}
|
|
703
|
+
catch {
|
|
704
|
+
continue;
|
|
705
|
+
}
|
|
706
|
+
if (needsAutoload && !(await vendorHasAutoload(localRepoPath)))
|
|
707
|
+
continue;
|
|
708
|
+
if ((await lstat(target).catch(() => undefined)) !== undefined) {
|
|
709
|
+
console.error(`maestro-orchestrator: link target exists, skipping ${target}`);
|
|
710
|
+
continue;
|
|
711
|
+
}
|
|
712
|
+
try {
|
|
713
|
+
if (!advertised) {
|
|
714
|
+
const sha = await execFileAsync('git', ['rev-parse', 'HEAD'], { cwd: localRepoPath, timeout: GIT_TIMEOUT_MS })
|
|
715
|
+
.then(({ stdout }) => stdout.trim()).catch(() => 'unknown');
|
|
716
|
+
console.error(`maestro-orchestrator: linking vendor from ${localRepoPath} @ ${sha} into ${worktreePath}`);
|
|
717
|
+
advertised = true;
|
|
718
|
+
}
|
|
719
|
+
if (!dir)
|
|
720
|
+
await mkdir(join(worktreePath, 'app', 'etc'), { recursive: true });
|
|
721
|
+
await symlink(source, target, dir ? 'dir' : 'file');
|
|
722
|
+
linked.push(target);
|
|
723
|
+
}
|
|
724
|
+
catch (err) {
|
|
725
|
+
console.error(`maestro-orchestrator: failed to link ${source} into worktree:`, err);
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
if (!advertised) {
|
|
729
|
+
console.error(`maestro-orchestrator: no vendor/ in ${localRepoPath} — worktree ${worktreePath} runs without shared dependencies`);
|
|
730
|
+
}
|
|
731
|
+
return linked;
|
|
732
|
+
}
|
|
733
|
+
/** Container path of the project root inside govard services. */
|
|
734
|
+
const GOVARD_CONTAINER_WORKDIR = '/var/www/html';
|
|
735
|
+
/**
|
|
736
|
+
* Render a compose override that bind-mounts the primary checkout's vendor/
|
|
737
|
+
* read-only into the php service. A host-side symlink alone dangles inside
|
|
738
|
+
* containers (absolute host path), so container tools (phpunit) need this
|
|
739
|
+
* bind to see real dependencies.
|
|
740
|
+
*
|
|
741
|
+
* The project mount (`.`) MUST be repeated first: govard merges overrides
|
|
742
|
+
* with MergeMap, which REPLACES lists instead of appending — an override
|
|
743
|
+
* carrying only the vendor bind would wipe `.:<workdir>` and leave the
|
|
744
|
+
* container docroot holding nothing but vendor/. Relative `.` resolves
|
|
745
|
+
* against the project root because govard passes --project-directory.
|
|
746
|
+
*
|
|
747
|
+
* Only the always-present `php` service is targeted: `php-debug` drops out
|
|
748
|
+
* of the rendered base when xdebug is off, and a volumes-only override
|
|
749
|
+
* entry would recreate it as a hollow service that fails compose validation.
|
|
750
|
+
*/
|
|
751
|
+
export function buildVendorOverrideYaml(vendorHostPath, envHostPath, containerWorkDir = GOVARD_CONTAINER_WORKDIR) {
|
|
752
|
+
const volumes = [
|
|
753
|
+
`.:${containerWorkDir}`,
|
|
754
|
+
`${vendorHostPath}:${containerWorkDir}/vendor:ro`,
|
|
755
|
+
...(envHostPath !== undefined ? [`${envHostPath}:${containerWorkDir}/app/etc/env.php:ro`] : []),
|
|
756
|
+
];
|
|
757
|
+
const service = ` volumes:\n${volumes.map((v) => ` - ${v}\n`).join('')}`;
|
|
758
|
+
return `services:\n php:\n${service}`;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Drop the vendor bind override into the worktree (merged by govard via
|
|
762
|
+
* `.govard/docker-compose.override.yml`). Binds only when the primary
|
|
763
|
+
* checkout carries installed deps and the worktree does not — never shadow
|
|
764
|
+
* real deps with a possibly stale bind. Returns the written path, or
|
|
765
|
+
* undefined when skipped.
|
|
766
|
+
*/
|
|
767
|
+
export async function writeContainerVendorOverride(localRepoPath, worktreePath) {
|
|
768
|
+
const vendorHostPath = join(localRepoPath, 'vendor');
|
|
769
|
+
if (!(await vendorHasAutoload(localRepoPath)))
|
|
770
|
+
return undefined;
|
|
771
|
+
// Our own host-side symlink still needs the bind (it dangles in-container);
|
|
772
|
+
// only a real installed worktree vendor makes the bind redundant.
|
|
773
|
+
const wtLink = await lstat(join(worktreePath, 'vendor')).catch(() => undefined);
|
|
774
|
+
if (wtLink?.isSymbolicLink() !== true && await vendorHasAutoload(worktreePath))
|
|
775
|
+
return undefined;
|
|
776
|
+
const overridePath = join(worktreePath, '.govard', 'docker-compose.override.yml');
|
|
777
|
+
await mkdir(join(worktreePath, '.govard'), { recursive: true });
|
|
778
|
+
// A linked env.php dangles in-container like the vendor symlink did — bind
|
|
779
|
+
// the real file over it when the primary checkout carries one.
|
|
780
|
+
const envHostPath = join(localRepoPath, 'app', 'etc', 'env.php');
|
|
781
|
+
let envBind;
|
|
782
|
+
try {
|
|
783
|
+
if ((await stat(envHostPath)).isFile())
|
|
784
|
+
envBind = envHostPath;
|
|
785
|
+
}
|
|
786
|
+
catch {
|
|
787
|
+
envBind = undefined;
|
|
788
|
+
}
|
|
789
|
+
await writeFile(overridePath, buildVendorOverrideYaml(vendorHostPath, envBind), 'utf-8');
|
|
790
|
+
console.error(`maestro-orchestrator: container vendor bind ${vendorHostPath} -> ${GOVARD_CONTAINER_WORKDIR}/vendor (ro) for ${worktreePath}`);
|
|
791
|
+
return overridePath;
|
|
792
|
+
}
|
|
569
793
|
async function removeWorktree(worktreePath) {
|
|
570
794
|
// Best-effort cleanup by design (a failure here must not block or fail the review that
|
|
571
795
|
// already ran) — but a swallowed failure with zero visibility leaves an orphaned worktree
|
|
@@ -585,6 +809,9 @@ export function apply(ctx, config) {
|
|
|
585
809
|
// effect without a plugin restart.
|
|
586
810
|
let effectiveAgentTimeoutMs = config.agentTimeoutMs;
|
|
587
811
|
async function runReviewer(worktreePath, payload, effective, reviewProfile, modelSelection, incrementalBlock) {
|
|
812
|
+
// MR base SHA feeds govard diff-scope runs; undefined degrades to the
|
|
813
|
+
// tool's fail-fast guidance instead of a wasted govard invocation.
|
|
814
|
+
const lintDefaultBase = await fetchMrBaseSha(effective.gitlabBaseUrl, effective.gitlabToken, payload.projectId, payload.mrIid);
|
|
588
815
|
const primaryOptions = agentOptionsForModel(modelSelection ?? ctx.agentDefaultModel.currentSelection());
|
|
589
816
|
const fallbackOptions = { provider: primaryOptions.provider, model: primaryOptions.model };
|
|
590
817
|
let lastHandle;
|
|
@@ -619,7 +846,7 @@ export function apply(ctx, config) {
|
|
|
619
846
|
await agentCtx.plugin(ModuleCheckTool, { rootPath: worktreePath });
|
|
620
847
|
await agentCtx.plugin(PhtmlEscapeScanTool, { rootPath: worktreePath });
|
|
621
848
|
await agentCtx.plugin(ScopeSplitTool, { rootPath: worktreePath });
|
|
622
|
-
await agentCtx.plugin(GovardAuditLintTool, { rootPath: worktreePath });
|
|
849
|
+
await agentCtx.plugin(GovardAuditLintTool, { rootPath: worktreePath, defaultBase: lintDefaultBase, allowXdebug: true });
|
|
623
850
|
await agentCtx.plugin(PerfLogStatsTool, { rootPath: worktreePath });
|
|
624
851
|
}
|
|
625
852
|
},
|
|
@@ -636,8 +863,8 @@ export function apply(ctx, config) {
|
|
|
636
863
|
? 'This is a diff-only review with no local checkout or Magento environment. Do not claim that tests, static analysis, or Magento runtime validation ran. '
|
|
637
864
|
: `Call maestro_load_review_profile with {"profile":"${reviewProfile}"} before examining code. `;
|
|
638
865
|
let scopePrompt = payload.scope.kind === 'discussion'
|
|
639
|
-
?
|
|
640
|
-
:
|
|
866
|
+
? buildReviewerScopePrompt({ scopeKind: 'discussion', discussionId: payload.scope.discussionId, path: payload.scope.path, line: payload.scope.line, profileInstruction })
|
|
867
|
+
: buildReviewerScopePrompt({ scopeKind: 'full', mode: payload.mode, profileInstruction });
|
|
641
868
|
if (incrementalBlock !== undefined)
|
|
642
869
|
scopePrompt = `${incrementalBlock}\n\n${scopePrompt}`;
|
|
643
870
|
handle.agent.followup(createUserMessage({
|
|
@@ -680,7 +907,7 @@ export function apply(ctx, config) {
|
|
|
680
907
|
failures.push(`${locator}: ${err instanceof Error ? err.message : String(err)}`);
|
|
681
908
|
}
|
|
682
909
|
}
|
|
683
|
-
return { summary: `${postedNew} new inline comment(s), ${postedReplies} thread(s) updated.`, failures };
|
|
910
|
+
return { summary: `${postedNew} new inline comment(s), ${postedReplies} thread(s) updated.`, failures, severityCounts: countFindingSeverities(capturedFindings) };
|
|
684
911
|
}
|
|
685
912
|
finally {
|
|
686
913
|
await handle.dispose();
|
|
@@ -746,7 +973,7 @@ export function apply(ctx, config) {
|
|
|
746
973
|
const prompt = 'Audit this merge request\'s performance: bring up the environment, run the test suite, look for regressions, then write a Markdown report and tear the environment down.';
|
|
747
974
|
handle.agent.followup(createUserMessage({ content: [{ type: 'text', text: prompt }], source: { kind: 'user' } }));
|
|
748
975
|
await whenIdleWithTimeout(handle, effectiveAgentTimeoutMs);
|
|
749
|
-
const output =
|
|
976
|
+
const output = auditorOutputFromSession(handle.agent.session);
|
|
750
977
|
const text = output.map(block => ('text' in block ? block.text : '')).join('');
|
|
751
978
|
return `## Maestro Performance Audit\n\n${text}`;
|
|
752
979
|
}
|