@ddtcorex/dsh-maestro-review 0.3.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/cordis.patch.yml +18 -0
- package/lib/ci-clone.d.ts +21 -0
- package/lib/ci-clone.d.ts.map +1 -0
- package/lib/ci-clone.js +35 -0
- package/lib/ci-clone.js.map +1 -0
- package/lib/ci-coexist.d.ts +9 -0
- package/lib/ci-coexist.d.ts.map +1 -0
- package/lib/ci-coexist.js +36 -0
- package/lib/ci-coexist.js.map +1 -0
- package/lib/config-store.d.ts +13 -6
- package/lib/config-store.d.ts.map +1 -1
- package/lib/config-store.js.map +1 -1
- package/lib/events.d.ts +23 -0
- package/lib/events.d.ts.map +1 -1
- package/lib/gitlab-auth.d.ts +11 -0
- package/lib/gitlab-auth.d.ts.map +1 -0
- package/lib/gitlab-auth.js +15 -0
- package/lib/gitlab-auth.js.map +1 -0
- package/lib/gitlab-client.d.ts +57 -0
- package/lib/gitlab-client.d.ts.map +1 -1
- package/lib/gitlab-client.js +120 -17
- 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/incremental.d.ts.map +1 -1
- package/lib/incremental.js +3 -2
- package/lib/incremental.js.map +1 -1
- package/lib/orchestrator.d.ts +137 -5
- package/lib/orchestrator.d.ts.map +1 -1
- package/lib/orchestrator.js +439 -70
- package/lib/orchestrator.js.map +1 -1
- package/lib/providers/ci-trigger.d.ts +43 -0
- package/lib/providers/ci-trigger.d.ts.map +1 -0
- package/lib/providers/ci-trigger.js +146 -0
- package/lib/providers/ci-trigger.js.map +1 -0
- package/lib/providers/gitlab.d.ts.map +1 -1
- package/lib/providers/gitlab.js +2 -1
- package/lib/providers/gitlab.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/lib/review-marker.d.ts +17 -0
- package/lib/review-marker.d.ts.map +1 -0
- package/lib/review-marker.js +23 -0
- package/lib/review-marker.js.map +1 -0
- package/lib/review-signals.d.ts.map +1 -1
- package/lib/review-signals.js +4 -8
- package/lib/review-signals.js.map +1 -1
- package/lib/settings-rpc.js +1 -1
- package/lib/settings-rpc.js.map +1 -1
- package/package.json +14 -9
- package/profiles/reviewer-ci/cordis.patch.yml +61 -0
- package/profiles/reviewer-ci/package.json +19 -0
- package/profiles/reviewer-ci/pnpm-lock.yaml +62 -0
- package/profiles/reviewer-ci/pnpm-workspace.yaml +12 -0
- package/src/host/ci-clone.ts +54 -0
- package/src/host/ci-coexist.ts +43 -0
- package/src/host/config-store.ts +14 -1
- package/src/host/events.ts +25 -0
- package/src/host/gitlab-auth.ts +13 -0
- package/src/host/gitlab-client.ts +142 -17
- package/src/host/govard-audit-lint-tool.ts +144 -31
- package/src/host/govard-tool.ts +1 -1
- package/src/host/incremental.ts +3 -2
- package/src/host/orchestrator.ts +462 -50
- package/src/host/providers/ci-trigger.ts +164 -0
- package/src/host/providers/gitlab.ts +2 -1
- package/src/host/review-findings-tool.ts +9 -1
- package/src/host/review-intake.ts +5 -1
- package/src/host/review-marker.ts +25 -0
- package/src/host/review-signals.ts +4 -3
- package/src/host/settings-rpc.ts +1 -1
- package/templates/reviewer-project.gitlab-ci.yml +90 -0
- package/templates/source-project.gitlab-ci.yml +42 -0
package/lib/orchestrator.d.ts
CHANGED
|
@@ -2,13 +2,14 @@ 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
|
-
import { type MaestroUserConfig, type ReviewModelSelection } from './config-store.js';
|
|
7
|
+
import { type MaestroUserConfig, type ProjectMapping, type ReviewModelSelection } from './config-store.js';
|
|
8
8
|
import { type ReviewSkillProfile } from './skills-tool.js';
|
|
9
9
|
import type { ReviewProvider } from './providers/interface.js';
|
|
10
10
|
import { gitlabProvider } from './providers/gitlab.js';
|
|
11
11
|
import './events.js';
|
|
12
|
+
import { type ReviewFlow } from './review-marker.js';
|
|
12
13
|
export declare function runReviewWithProvider(provider: ReviewProvider, request: {
|
|
13
14
|
provider: string;
|
|
14
15
|
projectPath: string;
|
|
@@ -16,6 +17,30 @@ export declare function runReviewWithProvider(provider: ReviewProvider, request:
|
|
|
16
17
|
profile: string;
|
|
17
18
|
}): Promise<void>;
|
|
18
19
|
export { gitlabProvider };
|
|
20
|
+
/**
|
|
21
|
+
* Finding severity, assigned by the reviewer. Display order is fixed
|
|
22
|
+
* (blocking first) wherever counts are rendered.
|
|
23
|
+
*/
|
|
24
|
+
export declare const SEVERITY_ORDER: readonly FindingSeverity[];
|
|
25
|
+
/** Missing or unknown severities degrade to `minor` — never drop a finding. */
|
|
26
|
+
export declare function normalizeFindingSeverity(severity: unknown): FindingSeverity;
|
|
27
|
+
export declare function severityPrefix(severity: unknown): string;
|
|
28
|
+
/** Count findings per severity; zero counts are omitted. */
|
|
29
|
+
export declare function countFindingSeverities(findings: ReviewFinding[]): Partial<Record<FindingSeverity, number>>;
|
|
30
|
+
export interface ReviewerScopePromptOpts {
|
|
31
|
+
scopeKind: 'discussion' | 'full';
|
|
32
|
+
discussionId?: string;
|
|
33
|
+
path?: string;
|
|
34
|
+
line?: number;
|
|
35
|
+
mode?: string;
|
|
36
|
+
profileInstruction: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Reviewer scope prompt. Static analysis is mandatory: reviewers skipped
|
|
40
|
+
* govard_audit_lint for whole rounds (no lint signal at all), so the prompt
|
|
41
|
+
* requires at least one call before report_review_findings. Pure for testing.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildReviewerScopePrompt(opts: ReviewerScopePromptOpts): string;
|
|
19
44
|
/**
|
|
20
45
|
* Build a user-friendly GitLab Markdown comment for a completed review.
|
|
21
46
|
* Shared design language with `reviewDigestText` (Telegram HTML) — same
|
|
@@ -33,15 +58,24 @@ export declare function buildReviewComment(opts: {
|
|
|
33
58
|
findings?: {
|
|
34
59
|
newCount: number;
|
|
35
60
|
replyCount: number;
|
|
61
|
+
severityCounts?: Partial<Record<FindingSeverity, number>>;
|
|
36
62
|
};
|
|
37
63
|
durationMs?: number;
|
|
38
64
|
isDiffOnly?: boolean;
|
|
39
65
|
isDiscussion?: boolean;
|
|
66
|
+
marker?: {
|
|
67
|
+
sha: string;
|
|
68
|
+
flow: ReviewFlow;
|
|
69
|
+
};
|
|
40
70
|
}): string;
|
|
41
71
|
export declare function buildNotStartedComment(opts: {
|
|
42
72
|
gitlabBaseUrl: string;
|
|
43
73
|
projectPath: string;
|
|
44
74
|
mrIid: number;
|
|
75
|
+
marker?: {
|
|
76
|
+
sha: string;
|
|
77
|
+
flow: ReviewFlow;
|
|
78
|
+
};
|
|
45
79
|
}): string;
|
|
46
80
|
export declare const name = "maestro-orchestrator";
|
|
47
81
|
export declare const inject: string[];
|
|
@@ -51,11 +85,19 @@ export declare function isUnsupportedReasoningError(err: unknown): boolean;
|
|
|
51
85
|
export declare function getTurnErrorMessage(handle: unknown): string | undefined;
|
|
52
86
|
/**
|
|
53
87
|
* Resolve the model to use for an automated review. Priority: per-project
|
|
54
|
-
* override > global reviewModel >
|
|
88
|
+
* override > global reviewModel (Maestro Settings) > row-config reviewModel
|
|
89
|
+
* (lets a headless profile such as reviewer-ci pin a model from env vars,
|
|
90
|
+
* where there is no Settings UI) > DSH default (`fallback`).
|
|
55
91
|
*/
|
|
56
92
|
export declare function resolveReviewModel(userConfig: MaestroUserConfig, mapping: {
|
|
57
93
|
reviewModel?: ReviewModelSelection | null;
|
|
58
|
-
|
|
94
|
+
projectPath?: string;
|
|
95
|
+
} | undefined, fallback: ModelSelection, rowSelection?: ReviewModelSelection | null): ModelSelection;
|
|
96
|
+
/** Effective auto-trigger flags: per-project row overrides global, unset inherits (design §4). */
|
|
97
|
+
export declare function resolveReviewTriggers(userConfig: MaestroUserConfig, mapping?: ProjectMapping): {
|
|
98
|
+
onPush: boolean;
|
|
99
|
+
onAssign: boolean;
|
|
100
|
+
};
|
|
59
101
|
/** Compose a newly-created agent from the preset service owned by the root context. */
|
|
60
102
|
export declare function mountAgentPreset(agentPresets: {
|
|
61
103
|
mount(agentCtx: Context, id: string): Promise<unknown> | unknown;
|
|
@@ -75,12 +117,26 @@ export interface Config {
|
|
|
75
117
|
botUsername: string;
|
|
76
118
|
/** Hard ceiling on one automated agent's turn. */
|
|
77
119
|
agentTimeoutMs: number;
|
|
120
|
+
/**
|
|
121
|
+
* Deployment-level model pin, below Maestro Settings in precedence. Lets a
|
|
122
|
+
* headless profile (reviewer-ci) select the review model from env vars —
|
|
123
|
+
* e.g. REVIEW_MODEL_PROVIDER/REVIEW_MODEL — where no Settings UI exists.
|
|
124
|
+
*
|
|
125
|
+
* Deliberately absent from the zod schema below: schemastery object schemas
|
|
126
|
+
* always descend into inner fields (probed — even `.required(false)` still
|
|
127
|
+
* throws on undefined), so declaring it would fail every boot without the
|
|
128
|
+
* vars. Unknown keys pass validation through (same precedent as mapping-level
|
|
129
|
+
* reviewModel, which the projectMappings schema doesn't declare either),
|
|
130
|
+
* and resolveReviewModel reads it at review time.
|
|
131
|
+
*/
|
|
132
|
+
reviewModel?: ReviewModelSelection | null;
|
|
78
133
|
}
|
|
79
134
|
export declare const DEFAULT_AGENT_TIMEOUT_MS: number;
|
|
80
135
|
export declare const Config: z<Config>;
|
|
81
136
|
export interface ReviewOutcome {
|
|
82
137
|
summary: string;
|
|
83
138
|
failures: string[];
|
|
139
|
+
severityCounts?: Partial<Record<FindingSeverity, number>>;
|
|
84
140
|
}
|
|
85
141
|
/**
|
|
86
142
|
* Await an agent's turn with a hard ceiling. A hung automated agent would
|
|
@@ -151,7 +207,34 @@ export declare function postReviewFindings(findings: ReviewFinding[], config: Gi
|
|
|
151
207
|
* (quick + deep of one MR) never share one worktree directory.
|
|
152
208
|
*/
|
|
153
209
|
export declare function reviewKeyHash(payload: ReviewRequest): string;
|
|
154
|
-
/**
|
|
210
|
+
/**
|
|
211
|
+
* Read an agent session's transcript for the auditor's final output across
|
|
212
|
+
* host/session API skew: hosts built from the harness checkout expose
|
|
213
|
+
* `ownEvents()`/`snapshotEvents()` with no `.events` getter, while older
|
|
214
|
+
* packaged `@deepseek-ai/dsh-session` builds expose only the `.events`
|
|
215
|
+
* getter. `ownEvents()` (child-owned suffix, no fork prefix) matches
|
|
216
|
+
* `finalAssistantOutput`'s documented input best, so it wins when present.
|
|
217
|
+
* Returns `[]` — never throws — when no event source exists.
|
|
218
|
+
*/
|
|
219
|
+
export declare function auditorOutputFromSession(session: unknown): import("@deepseek-ai/dsh-llm").ContentBlock[];
|
|
220
|
+
/** CI-deep decision: deep mode + CI env + head SHA (spec §3). Mapping is checked by the caller. */
|
|
221
|
+
export declare function shouldCiDeepReview(payload: ReviewRequest): boolean;
|
|
222
|
+
/** CI quick-with-profile decision: quick mode + non-generic profile + CI env
|
|
223
|
+
* + head SHA. Quick + generic/unset stays diff-only (no clone cost); a real
|
|
224
|
+
* profile opts into the clone branch reviewer-only (no auditor — quick never
|
|
225
|
+
* audits, see shouldAudit in runReviewAndAudit). Mapping is checked by the caller. */
|
|
226
|
+
export declare function shouldCiQuickProfileReview(payload: ReviewRequest): boolean;
|
|
227
|
+
/** Auditor degrade for CI (no runtime env): a govard throw becomes reviewer-only, never a failed review. */
|
|
228
|
+
export declare function withAuditorDegrade(runAuditor: (worktreePath: string, payload: ReviewRequest) => Promise<string>): (worktreePath: string, payload: ReviewRequest) => Promise<string>;
|
|
229
|
+
/**
|
|
230
|
+
* Auditor instruction. The mapped flow keeps the full environment + test-suite
|
|
231
|
+
* workflow; the CI flow has no runtime, so the prompt countermands the
|
|
232
|
+
* auditor preset's environment steps and drops the Environment & Test Suite
|
|
233
|
+
* section entirely instead of reporting it "blocked".
|
|
234
|
+
*/
|
|
235
|
+
export declare function buildAuditorPrompt(opts: {
|
|
236
|
+
staticOnly: boolean;
|
|
237
|
+
}): string;
|
|
155
238
|
export declare function runReviewAndAudit(payload: ReviewRequest, deps: ReviewAndAuditDeps): Promise<string>;
|
|
156
239
|
/**
|
|
157
240
|
* Review the GitLab diff without a local checkout. This deliberately has no
|
|
@@ -169,6 +252,55 @@ export declare function isBranchNotFoundError(err: unknown): boolean;
|
|
|
169
252
|
* and Govard may either reject the worktree or run commands in the wrong stack.
|
|
170
253
|
*/
|
|
171
254
|
export declare function govardWorktreeOverride(projectId: number, mrIid: number, keySuffix?: string): string;
|
|
255
|
+
/**
|
|
256
|
+
* Fetch the MR's diff base SHA for govard diff-scope runs. Best-effort:
|
|
257
|
+
* returns undefined (the lint tool then fail-fasts with guidance) rather
|
|
258
|
+
* than failing the review when GitLab is unreachable.
|
|
259
|
+
*/
|
|
260
|
+
export declare function fetchMrBaseSha(baseUrl: string, token: string, projectId: number, mrIid: number, fetcher?: typeof fetch): Promise<string | undefined>;
|
|
172
261
|
export declare function ensureWorktree(localRepoPath: string, sourceBranch: string, projectId: number, mrIid: number, keySuffix?: string): Promise<string>;
|
|
262
|
+
/**
|
|
263
|
+
* A vendor dir only counts as installed dependencies when the composer
|
|
264
|
+
* autoloader is a real file. Magento tracks `vendor/.htaccess`, so every
|
|
265
|
+
* worktree has a vendor/ stub — that stub must not pass for real deps, and
|
|
266
|
+
* must not block the container bind that provides them.
|
|
267
|
+
*/
|
|
268
|
+
export declare function vendorHasAutoload(dir: string): Promise<boolean>;
|
|
269
|
+
/**
|
|
270
|
+
* Share the primary checkout's `vendor/` (and `app/etc/env.php` when the
|
|
271
|
+
* auditor needs a database) into the review worktree via symlinks, so
|
|
272
|
+
* phpunit/static analysis run against real dependencies instead of falling
|
|
273
|
+
* back to static-only. Links point INTO the worktree only — the primary
|
|
274
|
+
* checkout is never written to — and `git worktree remove --force` deletes
|
|
275
|
+
* the links along with the worktree. Missing sources, or targets that
|
|
276
|
+
* already exist (e.g. Magento's tracked `vendor/.htaccess` stub), are
|
|
277
|
+
* skipped quietly: the review still runs, the auditor discloses it.
|
|
278
|
+
*/
|
|
279
|
+
export declare function linkVendorIntoWorktree(localRepoPath: string, worktreePath: string): Promise<string[]>;
|
|
280
|
+
/**
|
|
281
|
+
* Render a compose override that bind-mounts the primary checkout's vendor/
|
|
282
|
+
* read-only into the php service. A host-side symlink alone dangles inside
|
|
283
|
+
* containers (absolute host path), so container tools (phpunit) need this
|
|
284
|
+
* bind to see real dependencies.
|
|
285
|
+
*
|
|
286
|
+
* The project mount (`.`) MUST be repeated first: govard merges overrides
|
|
287
|
+
* with MergeMap, which REPLACES lists instead of appending — an override
|
|
288
|
+
* carrying only the vendor bind would wipe `.:<workdir>` and leave the
|
|
289
|
+
* container docroot holding nothing but vendor/. Relative `.` resolves
|
|
290
|
+
* against the project root because govard passes --project-directory.
|
|
291
|
+
*
|
|
292
|
+
* Only the always-present `php` service is targeted: `php-debug` drops out
|
|
293
|
+
* of the rendered base when xdebug is off, and a volumes-only override
|
|
294
|
+
* entry would recreate it as a hollow service that fails compose validation.
|
|
295
|
+
*/
|
|
296
|
+
export declare function buildVendorOverrideYaml(vendorHostPath: string, envHostPath?: string, containerWorkDir?: string): string;
|
|
297
|
+
/**
|
|
298
|
+
* Drop the vendor bind override into the worktree (merged by govard via
|
|
299
|
+
* `.govard/docker-compose.override.yml`). Binds only when the primary
|
|
300
|
+
* checkout carries installed deps and the worktree does not — never shadow
|
|
301
|
+
* real deps with a possibly stale bind. Returns the written path, or
|
|
302
|
+
* undefined when skipped.
|
|
303
|
+
*/
|
|
304
|
+
export declare function writeContainerVendorOverride(localRepoPath: string, worktreePath: string): Promise<string | undefined>;
|
|
173
305
|
export declare function apply(ctx: Context, config: Config): void;
|
|
174
306
|
//# 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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"}
|