@ddtcorex/dsh-maestro-review 0.7.4 → 0.8.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/cordis.patch.yml +8 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +40 -10
- package/lib/index.js.map +1 -1
- package/lib/orchestrator.d.ts +1 -1
- package/lib/orchestrator.d.ts.map +1 -1
- package/lib/orchestrator.js +1 -3
- package/lib/orchestrator.js.map +1 -1
- package/lib/settings-rpc.d.ts.map +1 -1
- package/lib/settings-rpc.js +4 -1
- package/lib/settings-rpc.js.map +1 -1
- package/lib/skill-provider.d.ts +19 -0
- package/lib/skill-provider.d.ts.map +1 -0
- package/lib/skill-provider.js +98 -0
- package/lib/skill-provider.js.map +1 -0
- package/lib/skills-tool.d.ts +1 -1
- package/lib/skills-tool.d.ts.map +1 -1
- package/lib/skills-tool.js +11 -19
- package/lib/skills-tool.js.map +1 -1
- package/package.json +14 -13
- package/presets/maestro-coder/agent.cordis.yml +2 -2
- package/profiles/reviewer-ci/package.json +3 -4
- package/profiles/reviewer-ci/pnpm-lock.yaml +93 -56
- package/skills/dsh-native-tools/SKILL.md +83 -0
- package/src/host/dsh-skill.d.ts +72 -0
- package/src/host/index.ts +30 -8
- package/src/host/orchestrator.ts +1 -3
- package/src/host/settings-rpc.ts +4 -1
- package/src/host/skill-provider.ts +91 -0
- package/src/host/skills-tool.ts +11 -18
- package/templates/reviewer-project.gitlab-ci.yml +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
const SKILL_NAME = 'dsh-native-tools';
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the package-root `skills/` dir regardless of module layout. The built
|
|
7
|
+
* host lib is flat (`lib/index.js` → `../skills`), but under vitest the same
|
|
8
|
+
* module loads from `src/host/` (→ `../../skills`). Walking to the nearest
|
|
9
|
+
* `package.json` yields the same package-root `skills/` in both layouts.
|
|
10
|
+
*/
|
|
11
|
+
export function resolveSkillsDir(fromDir) {
|
|
12
|
+
let dir = fromDir;
|
|
13
|
+
for (let i = 0; i < 6; i++) {
|
|
14
|
+
try {
|
|
15
|
+
if (existsSync(join(dir, 'package.json')))
|
|
16
|
+
return join(dir, 'skills');
|
|
17
|
+
}
|
|
18
|
+
catch { /* keep walking */ }
|
|
19
|
+
const parent = dirname(dir);
|
|
20
|
+
if (parent === dir)
|
|
21
|
+
break;
|
|
22
|
+
dir = parent;
|
|
23
|
+
}
|
|
24
|
+
return join(fromDir, '..', 'skills');
|
|
25
|
+
}
|
|
26
|
+
/** Minimal frontmatter reader for our own SKILL.md — enough for the provider contract. */
|
|
27
|
+
function parseFrontmatter(raw) {
|
|
28
|
+
const m = raw.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
|
|
29
|
+
if (!m)
|
|
30
|
+
return { name: SKILL_NAME, description: '', body: raw };
|
|
31
|
+
const fm = m[1].split('\n').reduce((acc, line) => {
|
|
32
|
+
const kv = line.match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
|
|
33
|
+
if (kv)
|
|
34
|
+
acc[kv[1]] = kv[2].replace(/^["']|["']$/g, '');
|
|
35
|
+
return acc;
|
|
36
|
+
}, {});
|
|
37
|
+
return { name: fm.name || SKILL_NAME, description: fm.description || '', body: m[2] };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Provider for the bundled DSH tool map. Served here rather than in the public
|
|
41
|
+
* `maestro-skills` plugin on purpose: the map names harness tools, and that
|
|
42
|
+
* repo's catalog test requires its skill content to stay tool-neutral.
|
|
43
|
+
*/
|
|
44
|
+
export function makeSkillProvider(skillsDir) {
|
|
45
|
+
return {
|
|
46
|
+
// The dsh-skill service attributes candidates through the provider object's
|
|
47
|
+
// own `name`; a missing one surfaces at runtime as `skill provider
|
|
48
|
+
// "undefined" returned skill ...` and fails every turn.
|
|
49
|
+
name: 'maestro-review',
|
|
50
|
+
async list(_options) {
|
|
51
|
+
const entry = join(skillsDir, SKILL_NAME);
|
|
52
|
+
const st = await stat(entry).catch(() => null);
|
|
53
|
+
if (!st?.isDirectory())
|
|
54
|
+
return [];
|
|
55
|
+
const skillFilePath = join(entry, 'SKILL.md');
|
|
56
|
+
const fileSt = await stat(skillFilePath).catch(() => null);
|
|
57
|
+
if (!fileSt?.isFile())
|
|
58
|
+
return [];
|
|
59
|
+
const raw = await readFile(skillFilePath, 'utf-8').catch(() => null);
|
|
60
|
+
if (raw === null)
|
|
61
|
+
return [];
|
|
62
|
+
const { name, description } = parseFrontmatter(raw);
|
|
63
|
+
return [{
|
|
64
|
+
name,
|
|
65
|
+
description,
|
|
66
|
+
invocation: { modelInvocable: true, userInvocable: true },
|
|
67
|
+
source: 'custom',
|
|
68
|
+
provider: 'maestro-review',
|
|
69
|
+
rank: 360,
|
|
70
|
+
locator: skillFilePath,
|
|
71
|
+
path: skillFilePath,
|
|
72
|
+
resourceBase: { kind: 'directory', path: entry },
|
|
73
|
+
metadata: { name, description },
|
|
74
|
+
}];
|
|
75
|
+
},
|
|
76
|
+
async get(candidate, _options) {
|
|
77
|
+
try {
|
|
78
|
+
const raw = await readFile(candidate.path, 'utf-8');
|
|
79
|
+
const { name, description, body } = parseFrontmatter(raw);
|
|
80
|
+
return {
|
|
81
|
+
name,
|
|
82
|
+
description,
|
|
83
|
+
invocation: candidate.invocation,
|
|
84
|
+
source: candidate.source,
|
|
85
|
+
provider: candidate.provider,
|
|
86
|
+
resourceBase: candidate.resourceBase,
|
|
87
|
+
path: candidate.path,
|
|
88
|
+
content: body,
|
|
89
|
+
metadata: candidate.metadata,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=skill-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-provider.js","sourceRoot":"","sources":["../src/host/skill-provider.ts"],"names":[],"mappings":"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"}
|
package/lib/skills-tool.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type ReviewSkillProfile = 'magento2' | 'laravel' | 'symfony' | 'wordpress
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const REVIEW_PROFILE_SKILLS: Record<ReviewSkillProfile, readonly string[]>;
|
|
10
10
|
export declare const MAESTRO_SKILLS_INSTALL_COMMAND = "curl -fsSL https://raw.githubusercontent.com/ddtcorex/maestro-skills/master/install.sh | bash -s -- --scope personal --target dsh --skills govard-toolbox,govard-magento,govard-laravel,govard-symfony,govard-wordpress,php-dev-core,magento2-dev-core,magento2-frontend-dev,magento2-hyva-dev,magento2-code-review,magento2-linter,magento2-security-scan,magento2-performance-audit -y";
|
|
11
|
-
export declare function loadedReviewProfile(
|
|
11
|
+
export declare function loadedReviewProfile(agent: object | undefined): ReviewSkillProfile | undefined;
|
|
12
12
|
interface SkillSummaryLike {
|
|
13
13
|
name: string;
|
|
14
14
|
description: string;
|
package/lib/skills-tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-tool.d.ts","sourceRoot":"","sources":["../src/host/skills-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,eAAO,MAAM,IAAI,wBAAwB,CAAA;AACzC,eAAO,MAAM,MAAM,UAAsB,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAE7F;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CA+B/E,CAAA;AAED,eAAO,MAAM,8BAA8B,6XAA6X,CAAA;
|
|
1
|
+
{"version":3,"file":"skills-tool.d.ts","sourceRoot":"","sources":["../src/host/skills-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,eAAO,MAAM,IAAI,wBAAwB,CAAA;AACzC,eAAO,MAAM,MAAM,UAAsB,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAE7F;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CA+B/E,CAAA;AAED,eAAO,MAAM,8BAA8B,6XAA6X,CAAA;AAcxa,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAE7F;AAQD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,iBAAiB;IACzB,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAA;CAC5D;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAE7D;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8HxC"}
|
package/lib/skills-tool.js
CHANGED
|
@@ -38,26 +38,18 @@ export const REVIEW_PROFILE_SKILLS = {
|
|
|
38
38
|
generic: [],
|
|
39
39
|
};
|
|
40
40
|
export const MAESTRO_SKILLS_INSTALL_COMMAND = 'curl -fsSL https://raw.githubusercontent.com/ddtcorex/maestro-skills/master/install.sh | bash -s -- --scope personal --target dsh --skills govard-toolbox,govard-magento,govard-laravel,govard-symfony,govard-wordpress,php-dev-core,magento2-dev-core,magento2-frontend-dev,magento2-hyva-dev,magento2-code-review,magento2-linter,magento2-security-scan,magento2-performance-audit -y';
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
41
|
+
// Keyed by the reviewer's Agent object itself, not a Cordis context: `ctx.agent`
|
|
42
|
+
// is not an actual injectable Cordis service anywhere in this composition (it
|
|
43
|
+
// throws "cannot get property agent without inject" whenever read, silently
|
|
44
|
+
// making every post-turn profile check report "not loaded" even after the
|
|
45
|
+
// tool above successfully set it — root-caused 2026-09-14 against a real
|
|
46
|
+
// failed review, reproduced deterministically against real
|
|
47
|
+
// @deepseek-ai/cordis). The tool's own `exec.agent` (a plain, non-Cordis
|
|
48
|
+
// property `ToolExecutionInput` always carries, "set by the agent loop") is
|
|
49
|
+
// the reliable handle — callers pass `handle.agent` from the same
|
|
50
|
+
// `AgentHandle` the orchestrator already holds, which is the identical object.
|
|
45
51
|
const loadedReviewProfiles = new WeakMap();
|
|
46
|
-
export function loadedReviewProfile(
|
|
47
|
-
// Cordis's Context proxy throws synchronously on any property nobody
|
|
48
|
-
// registered/injected ("cannot get property ... without inject") rather
|
|
49
|
-
// than returning undefined — so a context where the framework's own
|
|
50
|
-
// `agent` service isn't available needs a try/catch, not just an
|
|
51
|
-
// `=== undefined` check, to actually get the "no agent yet" outcome this
|
|
52
|
-
// function documents. Root-caused 2026-09-14 against a real failed
|
|
53
|
-
// review (reproduced directly with @deepseek-ai/cordis, not a mock).
|
|
54
|
-
let agent;
|
|
55
|
-
try {
|
|
56
|
-
agent = ctx.agent;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
52
|
+
export function loadedReviewProfile(agent) {
|
|
61
53
|
return agent === undefined ? undefined : loadedReviewProfiles.get(agent);
|
|
62
54
|
}
|
|
63
55
|
/** Single owned access path to the skills service (declared via `inject`). */
|
package/lib/skills-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-tool.js","sourceRoot":"","sources":["../src/host/skills-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAIzC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkD;IAClF,QAAQ,EAAE;QACR,gBAAgB;QAChB,gBAAgB;QAChB,mBAAmB;QACnB,yEAAyE;QACzE,+EAA+E;QAC/E,uBAAuB;QACvB,mBAAmB;QACnB,sBAAsB;QACtB,iBAAiB;QACjB,wBAAwB;QACxB,4BAA4B;KAC7B;IACD,OAAO,EAAE;QACP,gBAAgB;QAChB,gBAAgB;QAChB,cAAc;KACf;IACD,OAAO,EAAE;QACP,gBAAgB;QAChB,gBAAgB;QAChB,cAAc;KACf;IACD,SAAS,EAAE;QACT,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;KACf;IACD,iFAAiF;IACjF,OAAO,EAAE,EAAE;CACZ,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,0XAA0X,CAAA;AAExa,
|
|
1
|
+
{"version":3,"file":"skills-tool.js","sourceRoot":"","sources":["../src/host/skills-tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddtcorex/dsh-maestro-review",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0",
|
|
5
5
|
"description": "Maestro Review — pluggable ReviewProvider (GitLab/GitHub) + orchestrator for automated MR review",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"cordis.patch.yml",
|
|
25
25
|
"lib",
|
|
26
26
|
"src",
|
|
27
|
+
"skills",
|
|
27
28
|
"presets",
|
|
28
29
|
"client",
|
|
29
30
|
"profiles",
|
|
@@ -34,23 +35,23 @@
|
|
|
34
35
|
"@deepseek-ai/dsh-client-connection": "^0.1.0-rc.6 || >=0.1.1-rc.0 <0.2.0"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@ddtcorex/dsh-maestro-config-lib": "^0.
|
|
38
|
+
"@ddtcorex/dsh-maestro-config-lib": "^0.3.0",
|
|
38
39
|
"@deepseek-ai/schemastery": "^3.0.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
42
|
-
"@deepseek-ai/dsh-agent": "0.1.
|
|
43
|
-
"@deepseek-ai/dsh-agent-default-model": "0.1.
|
|
44
|
-
"@deepseek-ai/dsh-agent-presets": "0.1.
|
|
45
|
-
"@deepseek-ai/dsh-attachment": "0.1.
|
|
46
|
-
"@deepseek-ai/dsh-llm": "0.1.
|
|
47
|
-
"@deepseek-ai/dsh-session": "0.1.
|
|
48
|
-
"@deepseek-ai/dsh-session-title": "0.1.
|
|
49
|
-
"@deepseek-ai/dsh-subagent": "0.1.
|
|
50
|
-
"@deepseek-ai/dsh-tools": "0.1.
|
|
43
|
+
"@deepseek-ai/dsh-agent": "0.1.7-alpha.1",
|
|
44
|
+
"@deepseek-ai/dsh-agent-default-model": "0.1.7-alpha.1",
|
|
45
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.6-alpha.2",
|
|
46
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-alpha.1",
|
|
47
|
+
"@deepseek-ai/dsh-llm": "0.1.7-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-session": "0.1.7-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-session-title": "0.1.7-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-tools": "0.1.7-alpha.1",
|
|
51
52
|
"@types/node": "^22.0.0",
|
|
52
53
|
"typescript": "^5.8.0",
|
|
53
|
-
"vitest": "^2.
|
|
54
|
+
"vitest": "^3.2.4",
|
|
54
55
|
"yaml": "^2.9.0"
|
|
55
56
|
},
|
|
56
57
|
"dsh": {
|
|
@@ -62,6 +63,6 @@
|
|
|
62
63
|
"build": "tsc",
|
|
63
64
|
"test": "vitest run",
|
|
64
65
|
"verify": "tsc --noEmit",
|
|
65
|
-
"docker:build": "docker build -f docker/Dockerfile -t ddtcorex/maestro-reviewer:0.
|
|
66
|
+
"docker:build": "docker build -f docker/Dockerfile -t ddtcorex/maestro-reviewer:0.8.0 -t ddtcorex/maestro-reviewer:latest ."
|
|
66
67
|
}
|
|
67
68
|
}
|
|
@@ -172,8 +172,8 @@
|
|
|
172
172
|
backgroundMode: one-shot
|
|
173
173
|
maxDepth: provider-managed
|
|
174
174
|
|
|
175
|
-
- id: workflow-
|
|
176
|
-
name: '@deepseek-ai/dsh-workflow-
|
|
175
|
+
- id: workflow-ptc
|
|
176
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
177
177
|
config:
|
|
178
178
|
provider: spawn
|
|
179
179
|
|
|
@@ -11,10 +11,9 @@
|
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
+
"@ddtcorex/dsh-maestro-review": "^0.7.5",
|
|
15
|
+
"@ddtcorex/maestro-skills": "^2.13.0",
|
|
14
16
|
"@deepseek-ai/dsh": "0.1.5-rc.2",
|
|
15
|
-
"@deepseek-ai/dsh-
|
|
16
|
-
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2",
|
|
17
|
-
"@ddtcorex/dsh-maestro-review": "^0.7.1",
|
|
18
|
-
"@ddtcorex/maestro-skills": "^2.0.0"
|
|
17
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.5-rc.2"
|
|
19
18
|
}
|
|
20
19
|
}
|