@ddtcorex/dsh-maestro-review 0.1.0 → 0.1.1

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 (104) hide show
  1. package/lib/config-store.d.ts +2 -0
  2. package/lib/config-store.d.ts.map +1 -1
  3. package/lib/config-store.js.map +1 -1
  4. package/lib/git-worktree-tool.d.ts +11 -0
  5. package/lib/git-worktree-tool.d.ts.map +1 -0
  6. package/lib/git-worktree-tool.js +162 -0
  7. package/lib/git-worktree-tool.js.map +1 -0
  8. package/lib/govard-audit-lint-tool.d.ts +14 -0
  9. package/lib/govard-audit-lint-tool.d.ts.map +1 -0
  10. package/lib/govard-audit-lint-tool.js +171 -0
  11. package/lib/govard-audit-lint-tool.js.map +1 -0
  12. package/lib/hyva-csp-scan-tool.d.ts +11 -0
  13. package/lib/hyva-csp-scan-tool.d.ts.map +1 -0
  14. package/lib/hyva-csp-scan-tool.js +193 -0
  15. package/lib/hyva-csp-scan-tool.js.map +1 -0
  16. package/lib/hyva-theme-inspect-tool.d.ts +10 -0
  17. package/lib/hyva-theme-inspect-tool.d.ts.map +1 -0
  18. package/lib/hyva-theme-inspect-tool.js +299 -0
  19. package/lib/hyva-theme-inspect-tool.js.map +1 -0
  20. package/lib/incremental.d.ts +28 -0
  21. package/lib/incremental.d.ts.map +1 -0
  22. package/lib/incremental.js +60 -0
  23. package/lib/incremental.js.map +1 -0
  24. package/lib/layout-xml-tool.d.ts +11 -0
  25. package/lib/layout-xml-tool.d.ts.map +1 -0
  26. package/lib/layout-xml-tool.js +240 -0
  27. package/lib/layout-xml-tool.js.map +1 -0
  28. package/lib/module-check-tool.d.ts +11 -0
  29. package/lib/module-check-tool.d.ts.map +1 -0
  30. package/lib/module-check-tool.js +304 -0
  31. package/lib/module-check-tool.js.map +1 -0
  32. package/lib/orchestrator.d.ts +2 -0
  33. package/lib/orchestrator.d.ts.map +1 -1
  34. package/lib/orchestrator.js +203 -78
  35. package/lib/orchestrator.js.map +1 -1
  36. package/lib/perf-log-stats-tool.d.ts +13 -0
  37. package/lib/perf-log-stats-tool.d.ts.map +1 -0
  38. package/lib/perf-log-stats-tool.js +245 -0
  39. package/lib/perf-log-stats-tool.js.map +1 -0
  40. package/lib/phtml-escape-scan-tool.d.ts +11 -0
  41. package/lib/phtml-escape-scan-tool.d.ts.map +1 -0
  42. package/lib/phtml-escape-scan-tool.js +170 -0
  43. package/lib/phtml-escape-scan-tool.js.map +1 -0
  44. package/lib/plan-track-tool.d.ts +11 -0
  45. package/lib/plan-track-tool.d.ts.map +1 -0
  46. package/lib/plan-track-tool.js +143 -0
  47. package/lib/plan-track-tool.js.map +1 -0
  48. package/lib/review-history.d.ts +4 -0
  49. package/lib/review-history.d.ts.map +1 -1
  50. package/lib/review-history.js +4 -0
  51. package/lib/review-history.js.map +1 -1
  52. package/lib/scope-split-tool.d.ts +42 -0
  53. package/lib/scope-split-tool.d.ts.map +1 -0
  54. package/lib/scope-split-tool.js +109 -0
  55. package/lib/scope-split-tool.js.map +1 -0
  56. package/lib/search-tool.d.ts +15 -0
  57. package/lib/search-tool.d.ts.map +1 -0
  58. package/lib/search-tool.js +144 -0
  59. package/lib/search-tool.js.map +1 -0
  60. package/lib/settings-rpc.d.ts.map +1 -1
  61. package/lib/settings-rpc.js +47 -8
  62. package/lib/settings-rpc.js.map +1 -1
  63. package/lib/skills-tool.d.ts +1 -1
  64. package/lib/skills-tool.d.ts.map +1 -1
  65. package/lib/skills-tool.js +5 -1
  66. package/lib/skills-tool.js.map +1 -1
  67. package/lib/tdd-evidence-tool.d.ts +11 -0
  68. package/lib/tdd-evidence-tool.d.ts.map +1 -0
  69. package/lib/tdd-evidence-tool.js +114 -0
  70. package/lib/tdd-evidence-tool.js.map +1 -0
  71. package/lib/tool-policy.d.ts +20 -0
  72. package/lib/tool-policy.d.ts.map +1 -0
  73. package/lib/tool-policy.js +42 -0
  74. package/lib/tool-policy.js.map +1 -0
  75. package/lib/workspace-tool.d.ts.map +1 -1
  76. package/lib/workspace-tool.js +15 -9
  77. package/lib/workspace-tool.js.map +1 -1
  78. package/package.json +3 -2
  79. package/src/augment.d.ts +4 -0
  80. package/src/config-store.ts +2 -0
  81. package/src/git-worktree-tool.ts +130 -0
  82. package/src/govard-audit-lint-tool.ts +147 -0
  83. package/src/hyva-csp-scan-tool.ts +165 -0
  84. package/src/hyva-theme-inspect-tool.ts +258 -0
  85. package/src/incremental.ts +84 -0
  86. package/src/layout-xml-tool.ts +191 -0
  87. package/src/module-check-tool.ts +188 -0
  88. package/src/orchestrator.ts +189 -75
  89. package/src/perf-log-stats-tool.ts +224 -0
  90. package/src/phtml-escape-scan-tool.ts +117 -0
  91. package/src/plan-track-tool.ts +118 -0
  92. package/src/review-history.ts +8 -0
  93. package/src/scope-split-tool.ts +110 -0
  94. package/src/search-tool.ts +153 -0
  95. package/src/settings-rpc.ts +53 -10
  96. package/src/skills-tool.ts +5 -1
  97. package/src/tdd-evidence-tool.ts +85 -0
  98. package/src/tool-policy.ts +49 -0
  99. package/src/workspace-tool.ts +27 -9
  100. package/lib/pin-store.d.ts +0 -5
  101. package/lib/pin-store.d.ts.map +0 -1
  102. package/lib/pin-store.js +0 -5
  103. package/lib/pin-store.js.map +0 -1
  104. package/src/pin-store.ts +0 -4
@@ -18,6 +18,8 @@ export interface MaestroUserConfig {
18
18
  }>;
19
19
  /** Override the DSH default model for automated reviews. When absent the global DSH default is used. */
20
20
  reviewModel?: ReviewModelSelection;
21
+ /** Override the DSH default model for the supervisor debug-agent. When absent the review model (or DSH default) is used. */
22
+ supervisorModel?: ReviewModelSelection;
21
23
  /** Re-run a quick review whenever new commits land on a previously reviewed MR. */
22
24
  autoRereviewOnPush?: boolean;
23
25
  /** Bound one automated review agent's turn. */
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAO1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;QAAC,WAAW,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAA;IAC/I,wGAAwG;IACxG,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uFAAuF;IACvF,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAyBD,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAMjF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAc3G"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAO1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;QAAC,WAAW,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAA;IAC/I,wGAAwG;IACxG,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,4HAA4H;IAC5H,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uFAAuF;IACvF,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAyBD,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAMjF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAc3G"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import z from '@deepseek-ai/schemastery';
3
+ export declare const name = "maestro-git-worktree-tool";
4
+ export declare const inject: string[];
5
+ export declare const Config: z<{
6
+ rootPath?: string;
7
+ }>;
8
+ export declare function apply(ctx: Context, config?: {
9
+ rootPath?: string;
10
+ }): void;
11
+ //# sourceMappingURL=git-worktree-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-worktree-tool.d.ts","sourceRoot":"","sources":["../src/git-worktree-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,eAAO,MAAM,IAAI,8BAA4B,CAAA;AAC7C,eAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,eAAO,MAAM,MAAM,EAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAA;CAAC,CAAmC,CAAA;AAuB3E,wBAAgB,KAAK,CAAC,GAAG,EAAC,OAAO,EAAE,MAAM,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAA;CAAI,GAAE,IAAI,CAgGpE"}
@@ -0,0 +1,162 @@
1
+ import { resolve, sep } from 'node:path';
2
+ import { stat, realpath } from 'node:fs/promises';
3
+ import { execFile } from 'node:child_process';
4
+ import { promisify } from 'node:util';
5
+ import { defineTool } from '@deepseek-ai/dsh-tools';
6
+ import z from '@deepseek-ai/schemastery';
7
+ export const name = 'maestro-git-worktree-tool';
8
+ export const inject = ['tools'];
9
+ export const Config = z.object({ rootPath: z.string() });
10
+ function workspaceRootFor(c, e) { if (c !== undefined)
11
+ return c; const cwd = e?.agent?.session?.header?.cwd; return typeof cwd === 'string' && cwd !== '' ? cwd : process.cwd(); }
12
+ async function isInsideRoot(r, t) {
13
+ const ar = resolve(r);
14
+ const rs = resolve(ar, t);
15
+ if (rs !== ar && !rs.startsWith(ar + sep))
16
+ return false;
17
+ // For non-existent targets (create), realpath fails — allow if string prefix passes and parent is inside
18
+ try {
19
+ const rr = await realpath(ar);
20
+ const rt = await realpath(rs);
21
+ return rt === rr || rt.startsWith(rr + sep);
22
+ }
23
+ catch {
24
+ try {
25
+ const rr = await realpath(ar);
26
+ const parent = resolve(rs, '..');
27
+ const rp = await realpath(parent);
28
+ return rp === rr || rp.startsWith(rr + sep);
29
+ }
30
+ catch {
31
+ return rs === ar || rs.startsWith(ar + sep);
32
+ }
33
+ }
34
+ }
35
+ const SAFE_BRANCH = /^[A-Za-z0-9._\/-]+$/;
36
+ const execFileAsync = promisify(execFile);
37
+ async function runGit(cwd, args) {
38
+ try {
39
+ const { stdout, stderr } = await execFileAsync('git', args, { cwd, timeout: 10000 });
40
+ return { code: 0, stdout: String(stdout), stderr: String(stderr) };
41
+ }
42
+ catch (e) {
43
+ return { code: e.code ?? 1, stdout: e.stdout ?? '', stderr: e.stderr ?? String(e.message) };
44
+ }
45
+ }
46
+ async function exists(p) { try {
47
+ await stat(p);
48
+ return true;
49
+ }
50
+ catch {
51
+ return false;
52
+ } }
53
+ export function apply(ctx, config = {}) {
54
+ const configuredRoot = config.rootPath;
55
+ ctx.effect(() => ctx.tools.register(defineTool({
56
+ name: 'git_worktree',
57
+ description: 'Inspect/create/remove git worktrees deterministically (isolated workspace, branch, submodule guard).',
58
+ parameters: {
59
+ op: { type: 'string', enum: ['inspect', 'create', 'remove'], required: true },
60
+ worktreePath: { type: 'string', required: true },
61
+ branch: { type: 'string' },
62
+ base: { type: 'string' },
63
+ },
64
+ output: {
65
+ schema: {
66
+ type: 'object', additionalProperties: true,
67
+ properties: {
68
+ op: { type: 'string', required: true },
69
+ exists: { type: 'boolean' },
70
+ isWorktree: { type: 'boolean' },
71
+ created: { type: 'boolean' },
72
+ reason: { type: 'string' },
73
+ }
74
+ },
75
+ render: (_a, v) => [{ type: 'text', text: JSON.stringify(v, null, 2) }],
76
+ },
77
+ async execute(args, exec) {
78
+ const op = args.op;
79
+ const rawPath = args.worktreePath;
80
+ const root = workspaceRootFor(configuredRoot, exec);
81
+ if (!(await isInsideRoot(root, rawPath)))
82
+ return { text: `Path "${rawPath}" escapes the workspace root.`, truncated: false };
83
+ const worktreePath = resolve(root, rawPath);
84
+ if (op === 'inspect') {
85
+ const ex = await exists(worktreePath);
86
+ let isWorktree = false, branch = null, headSha = null, isClean = true, gitDir = null, gitCommonDir = null;
87
+ if (ex) {
88
+ // try git rev-parse
89
+ const r1 = await runGit(worktreePath, ['rev-parse', '--git-dir']);
90
+ const r2 = await runGit(worktreePath, ['rev-parse', '--git-common-dir']);
91
+ const r3 = await runGit(worktreePath, ['branch', '--show-current']);
92
+ const r4 = await runGit(worktreePath, ['rev-parse', 'HEAD']);
93
+ const r5 = await runGit(worktreePath, ['status', '--porcelain']);
94
+ if (r1.code === 0)
95
+ gitDir = r1.stdout.trim();
96
+ if (r2.code === 0)
97
+ gitCommonDir = r2.stdout.trim();
98
+ if (r3.code === 0)
99
+ branch = r3.stdout.trim() || null;
100
+ if (r4.code === 0)
101
+ headSha = r4.stdout.trim() || null;
102
+ isClean = r5.stdout.trim() === '';
103
+ // isWorktree if gitDir is file and gitCommonDir differs
104
+ if (gitDir && gitCommonDir && gitDir !== gitCommonDir)
105
+ isWorktree = true;
106
+ // fallback: if worktreePath contains .worktrees
107
+ if (worktreePath.includes('/.worktrees/'))
108
+ isWorktree = true;
109
+ }
110
+ return { op: 'inspect', exists: ex, branch, headSha, isClean, isWorktree, gitDir, gitCommonDir, untrackedFiles: [], truncated: false, ignored: null };
111
+ }
112
+ if (op === 'create') {
113
+ const branch = args.branch;
114
+ const base = args.base ?? 'HEAD';
115
+ if (!branch)
116
+ return { text: 'branch required for create', truncated: false };
117
+ if (!SAFE_BRANCH.test(branch) || branch.startsWith('-') || branch.includes('..'))
118
+ return { text: `invalid branch name "${branch}" — must match ${SAFE_BRANCH.source}`, truncated: false };
119
+ if (branch.includes('--'))
120
+ return { text: `invalid branch name "${branch}"`, truncated: false };
121
+ // base validate
122
+ if (base && !SAFE_BRANCH.test(base) && !/^[0-9a-f]{7,40}$/.test(base))
123
+ return { text: `invalid base "${base}"`, truncated: false };
124
+ // .gitignore guard: check if worktreePath is ignored
125
+ const check = await runGit(root, ['check-ignore', '-q', worktreePath]);
126
+ const isIgnored = check.code === 0;
127
+ if (!isIgnored) {
128
+ return { op: 'create', created: false, worktreePath, branch, headSha: '', alreadyExisted: false, reason: 'not ignored — add .worktrees to .gitignore' };
129
+ }
130
+ if (await exists(worktreePath)) {
131
+ return { op: 'create', created: false, worktreePath, branch, headSha: '', alreadyExisted: true, reason: 'already exists' };
132
+ }
133
+ const res = await runGit(root, ['worktree', 'add', '--', worktreePath, '-b', branch, base]);
134
+ if (res.code !== 0) {
135
+ if (res.stderr.includes('permission denied') || res.stderr.includes('EACCES')) {
136
+ return { op: 'create', created: false, worktreePath, branch, headSha: '', alreadyExisted: false, reason: 'blocked by sandbox — working in place' };
137
+ }
138
+ return { op: 'create', created: false, worktreePath, branch, headSha: '', alreadyExisted: false, reason: res.stderr.slice(0, 500) };
139
+ }
140
+ const head = await runGit(worktreePath, ['rev-parse', 'HEAD']);
141
+ return { op: 'create', created: true, worktreePath, branch, headSha: head.stdout.trim(), alreadyExisted: false, reason: null };
142
+ }
143
+ if (op === 'remove') {
144
+ const ex = await exists(worktreePath);
145
+ if (!ex)
146
+ return { op: 'remove', removed: false, pruned: false, reason: 'not exists', dirtyFiles: [] };
147
+ const status = await runGit(worktreePath, ['status', '--porcelain']);
148
+ const dirtyFiles = status.stdout.trim() ? status.stdout.trim().split('\n').slice(0, 20) : [];
149
+ if (dirtyFiles.length > 0) {
150
+ return { op: 'remove', removed: false, pruned: false, reason: 'contains modified or untracked files', dirtyFiles };
151
+ }
152
+ const res = await runGit(root, ['worktree', 'remove', '--', worktreePath]);
153
+ if (res.code !== 0)
154
+ return { op: 'remove', removed: false, pruned: false, reason: res.stderr.slice(0, 500), dirtyFiles };
155
+ const prune = await runGit(root, ['worktree', 'prune']);
156
+ return { op: 'remove', removed: true, pruned: prune.code === 0, reason: null, dirtyFiles: [] };
157
+ }
158
+ return { text: `unknown op ${op}`, truncated: false };
159
+ }
160
+ }), 'git worktree'));
161
+ }
162
+ //# sourceMappingURL=git-worktree-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-worktree-tool.js","sourceRoot":"","sources":["../src/git-worktree-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import z from '@deepseek-ai/schemastery';
3
+ export declare const name = "maestro-govard-audit-lint-tool";
4
+ export declare const inject: string[];
5
+ export declare const Config: z<{
6
+ rootPath?: string;
7
+ timeoutMs?: number;
8
+ }>;
9
+ export declare function cleanJson(raw: string): string;
10
+ export declare function apply(ctx: Context, config?: {
11
+ rootPath?: string;
12
+ timeoutMs?: number;
13
+ }): void;
14
+ //# sourceMappingURL=govard-audit-lint-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govard-audit-lint-tool.d.ts","sourceRoot":"","sources":["../src/govard-audit-lint-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,eAAO,MAAM,IAAI,mCAAiC,CAAA;AAClD,eAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,eAAO,MAAM,MAAM,EAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,CAAC,EAAC,MAAM,CAAA;CAAC,CAAyD,CAAA;AA8BpH,wBAAgB,SAAS,CAAC,GAAG,EAAC,MAAM,GAAE,MAAM,CAE3C;AAgBD,wBAAgB,KAAK,CAAC,GAAG,EAAC,OAAO,EAAE,MAAM,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,CAAC,EAAC,MAAM,CAAA;CAAI,GAAE,IAAI,CAyFvF"}
@@ -0,0 +1,171 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { basename, dirname, resolve, sep } from 'node:path';
3
+ import { realpath } from 'node:fs/promises';
4
+ import z from '@deepseek-ai/schemastery';
5
+ import { defineTool } from '@deepseek-ai/dsh-tools';
6
+ export const name = 'maestro-govard-audit-lint-tool';
7
+ export const inject = ['tools'];
8
+ export const Config = z.object({ rootPath: z.string(), timeoutMs: z.number() });
9
+ function workspaceRootFor(c, e) {
10
+ if (c !== undefined)
11
+ return c;
12
+ const cwd = e?.agent?.session?.header?.cwd;
13
+ return typeof cwd === 'string' && cwd !== '' ? cwd : process.cwd();
14
+ }
15
+ async function isInsideRoot(r, t) {
16
+ const ar = resolve(r);
17
+ const rs = resolve(ar, t);
18
+ if (rs !== ar && !rs.startsWith(ar + sep))
19
+ return false;
20
+ let realRoot;
21
+ try {
22
+ realRoot = await realpath(ar);
23
+ }
24
+ catch {
25
+ return true;
26
+ }
27
+ let existing = rs;
28
+ const pending = [];
29
+ while (true) {
30
+ let real;
31
+ try {
32
+ real = await realpath(existing);
33
+ }
34
+ catch (err) {
35
+ if (err.code !== 'ENOENT')
36
+ return false;
37
+ const parent = dirname(existing);
38
+ if (parent === existing)
39
+ return false;
40
+ pending.unshift(basename(existing));
41
+ existing = parent;
42
+ continue;
43
+ }
44
+ const realTarget = pending.length > 0 ? resolve(real, ...pending) : real;
45
+ if (realTarget !== realRoot && !realTarget.startsWith(realRoot + sep))
46
+ return false;
47
+ return true;
48
+ }
49
+ }
50
+ export function cleanJson(raw) {
51
+ return raw.replace(/\n\s*ERROR audit run.*$/s, '').replace(/\s{2,}ERROR audit run.*$/s, '').trimEnd();
52
+ }
53
+ const DEFAULT_TIMEOUT = 120000;
54
+ function run(cmd, args, cwd, timeoutMs) {
55
+ return new Promise((resolvePromise) => {
56
+ const child = spawn(cmd, args, { cwd });
57
+ let stdout = '', stderr = '';
58
+ let timedOut = false;
59
+ const timer = setTimeout(() => { timedOut = true; child.kill('SIGKILL'); }, timeoutMs);
60
+ child.stdout?.on('data', (c) => stdout += c.toString());
61
+ child.stderr?.on('data', (c) => stderr += c.toString());
62
+ child.on('error', (err) => { clearTimeout(timer); resolvePromise({ code: null, stdout, stderr: err.message, timedOut: false }); });
63
+ child.on('close', (code) => { clearTimeout(timer); resolvePromise({ code, stdout, stderr, timedOut }); });
64
+ });
65
+ }
66
+ export function apply(ctx, config = {}) {
67
+ const configuredRoot = config.rootPath;
68
+ const defaultTimeout = config.timeoutMs ?? DEFAULT_TIMEOUT;
69
+ ctx.effect(() => ctx.tools.register(defineTool({
70
+ name: 'govard_audit_lint',
71
+ description: 'Run govard audit --checks lint --format json and return structured phpcs/phpstan results. Use before hand-parsing text.',
72
+ parameters: {
73
+ worktreePath: { type: 'string' },
74
+ checks: { type: 'array', items: { type: 'string' } },
75
+ mode: { type: 'string', enum: ['auto', 'project', 'module_in_project', 'standalone'] },
76
+ phpVersions: { type: 'array', items: { type: 'string' } },
77
+ noLintResultCache: { type: 'boolean' },
78
+ timeoutMs: { type: 'number' },
79
+ },
80
+ output: {
81
+ schema: {
82
+ type: 'object', additionalProperties: false,
83
+ properties: {
84
+ ok: { type: 'boolean', required: true },
85
+ exitCode: { type: 'number', required: true },
86
+ timedOut: { type: 'boolean', required: true },
87
+ worktreePath: { type: 'string', required: true },
88
+ lint: { type: 'object', required: true, additionalProperties: true },
89
+ summary: { type: 'object', required: true, additionalProperties: true },
90
+ rawJson: { type: 'object', required: true, additionalProperties: true },
91
+ }
92
+ },
93
+ render: (_a, v) => [{ type: 'text', text: v.ok ? 'audit lint passed' : 'audit lint failed' }],
94
+ },
95
+ async execute(args, exec) {
96
+ const rawPath = args.worktreePath;
97
+ const root = workspaceRootFor(configuredRoot, exec);
98
+ const worktreePath = rawPath ? resolve(root, rawPath) : root;
99
+ const checkPath = rawPath ?? '';
100
+ if (checkPath !== '' && !(await isInsideRoot(root, checkPath)))
101
+ return { text: `Path "${checkPath}" escapes the workspace root.`, truncated: false };
102
+ const timeoutMs = args.timeoutMs ?? defaultTimeout;
103
+ if (timeoutMs < 5000 || timeoutMs > 300000)
104
+ return { text: 'timeoutMs out of range 5000-300000', truncated: false };
105
+ const cliArgs = ['audit', 'run', '--checks', 'lint', '--format', 'json'];
106
+ const result = await run('govard', cliArgs, worktreePath, timeoutMs);
107
+ if (result.timedOut) {
108
+ return { ok: false, exitCode: result.code, timedOut: true, worktreePath, lint: { phpcs: { violations: [] }, phpstan: { errors: [] }, pubMediaGuard: { violations: [] } }, summary: { status: null, phpVersions: [], matrixComplete: false, findingCount: 0, truncated: false }, rawJson: null, errors: [{ code: 'timeout', message: `timed out after ${timeoutMs}ms` }], diagnostics: result.stderr.slice(0, 4000) };
109
+ }
110
+ if (result.code === null && result.stderr.includes('ENOENT')) {
111
+ return { ok: false, exitCode: null, timedOut: false, worktreePath, lint: { phpcs: { violations: [] }, phpstan: { errors: [] }, pubMediaGuard: { violations: [] } }, summary: { status: null, phpVersions: [], matrixComplete: false, findingCount: 0, truncated: false }, rawJson: null, errors: [{ code: 'govard_not_found', message: 'govard binary not found' }], diagnostics: result.stderr.slice(0, 4000) };
112
+ }
113
+ const cleaned = cleanJson(result.stdout);
114
+ let parsed = null;
115
+ try {
116
+ parsed = JSON.parse(cleaned);
117
+ }
118
+ catch {
119
+ parsed = null;
120
+ }
121
+ if (!parsed) {
122
+ const fallback = cleaned.split('\n').slice(0, -1).join('\n').trimEnd();
123
+ try {
124
+ parsed = JSON.parse(fallback);
125
+ }
126
+ catch { }
127
+ if (!parsed) {
128
+ const tryStderr = cleanJson(result.stdout + result.stderr);
129
+ try {
130
+ parsed = JSON.parse(tryStderr);
131
+ }
132
+ catch { }
133
+ }
134
+ }
135
+ if (!parsed) {
136
+ return { ok: false, exitCode: result.code, timedOut: false, worktreePath, lint: { phpcs: { violations: [] }, phpstan: { errors: [] }, pubMediaGuard: { violations: [] } }, summary: { status: null, phpVersions: [], matrixComplete: false, findingCount: 0, truncated: false }, rawJson: null, errors: [{ code: 'parse_error', message: 'stdout not JSON' }], diagnostics: (cleaned + result.stderr).slice(0, 4000) };
137
+ }
138
+ const findings = parsed.findings ?? parsed.evidence?.php_results?.flatMap((r) => r.findings) ?? [];
139
+ const phpcsViolations = [];
140
+ const phpstanErrors = [];
141
+ const pubMediaViolations = [];
142
+ for (const f of findings) {
143
+ if (f.tool === 'phpstan')
144
+ phpstanErrors.push({ path: f.path, line: f.line, message: f.message });
145
+ else if (f.tool === 'phpcs') {
146
+ if (f.path?.includes('pub/media') || f.rule?.includes('PubMedia'))
147
+ pubMediaViolations.push(f);
148
+ else
149
+ phpcsViolations.push({ path: f.path, line: f.line, column: f.column, rule: f.rule, message: f.message, severity: f.severity });
150
+ }
151
+ }
152
+ const status = parsed.status ?? (result.code === 0 ? 'passed' : 'failed');
153
+ const phpVersions = parsed.php_versions ?? parsed.phpVersions ?? [];
154
+ const findingCount = findings.length;
155
+ return {
156
+ ok: result.code === 0,
157
+ exitCode: result.code,
158
+ timedOut: false,
159
+ worktreePath,
160
+ sessionId: parsed.session_id ?? parsed.sessionId ?? null,
161
+ runId: parsed.run_id ?? parsed.runId ?? null,
162
+ rawJson: parsed,
163
+ summary: { status, phpVersions, matrixComplete: true, findingCount, truncated: findingCount > 100 },
164
+ lint: { phpcs: { violations: phpcsViolations }, phpstan: { errors: phpstanErrors }, pubMediaGuard: { violations: pubMediaViolations } },
165
+ errors: [],
166
+ diagnostics: result.stderr.slice(0, 4000) || null,
167
+ };
168
+ }
169
+ })));
170
+ }
171
+ //# sourceMappingURL=govard-audit-lint-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govard-audit-lint-tool.js","sourceRoot":"","sources":["../src/govard-audit-lint-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import z from '@deepseek-ai/schemastery';
3
+ export declare const name = "maestro-hyva-csp-scan-tool";
4
+ export declare const inject: string[];
5
+ export declare const Config: z<{
6
+ rootPath?: string;
7
+ }>;
8
+ export declare function apply(ctx: Context, config?: {
9
+ rootPath?: string;
10
+ }): void;
11
+ //# sourceMappingURL=hyva-csp-scan-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyva-csp-scan-tool.d.ts","sourceRoot":"","sources":["../src/hyva-csp-scan-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,eAAO,MAAM,IAAI,+BAA+B,CAAA;AAChD,eAAO,MAAM,MAAM,UAAY,CAAA;AAC/B,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAsC,CAAA;AA+ClF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CA6G5E"}