@ddtcorex/dsh-maestro-review 0.1.0 → 0.1.2

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 (143) 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/events.d.ts.map +1 -1
  5. package/lib/events.js.map +1 -1
  6. package/lib/git-worktree-tool.d.ts +11 -0
  7. package/lib/git-worktree-tool.d.ts.map +1 -0
  8. package/lib/git-worktree-tool.js +162 -0
  9. package/lib/git-worktree-tool.js.map +1 -0
  10. package/lib/gitlab-client.d.ts.map +1 -1
  11. package/lib/gitlab-client.js.map +1 -1
  12. package/lib/gitlab-webhook.d.ts.map +1 -1
  13. package/lib/gitlab-webhook.js.map +1 -1
  14. package/lib/govard-audit-lint-tool.d.ts +14 -0
  15. package/lib/govard-audit-lint-tool.d.ts.map +1 -0
  16. package/lib/govard-audit-lint-tool.js +177 -0
  17. package/lib/govard-audit-lint-tool.js.map +1 -0
  18. package/lib/govard-tool.d.ts.map +1 -1
  19. package/lib/govard-tool.js.map +1 -1
  20. package/lib/hyva-csp-scan-tool.d.ts +11 -0
  21. package/lib/hyva-csp-scan-tool.d.ts.map +1 -0
  22. package/lib/hyva-csp-scan-tool.js +193 -0
  23. package/lib/hyva-csp-scan-tool.js.map +1 -0
  24. package/lib/hyva-theme-inspect-tool.d.ts +10 -0
  25. package/lib/hyva-theme-inspect-tool.d.ts.map +1 -0
  26. package/lib/hyva-theme-inspect-tool.js +299 -0
  27. package/lib/hyva-theme-inspect-tool.js.map +1 -0
  28. package/lib/incremental.d.ts +28 -0
  29. package/lib/incremental.d.ts.map +1 -0
  30. package/lib/incremental.js +60 -0
  31. package/lib/incremental.js.map +1 -0
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js.map +1 -1
  34. package/lib/layout-xml-tool.d.ts +11 -0
  35. package/lib/layout-xml-tool.d.ts.map +1 -0
  36. package/lib/layout-xml-tool.js +240 -0
  37. package/lib/layout-xml-tool.js.map +1 -0
  38. package/lib/module-check-tool.d.ts +11 -0
  39. package/lib/module-check-tool.d.ts.map +1 -0
  40. package/lib/module-check-tool.js +304 -0
  41. package/lib/module-check-tool.js.map +1 -0
  42. package/lib/notify.d.ts.map +1 -1
  43. package/lib/notify.js.map +1 -1
  44. package/lib/orchestrator.d.ts +2 -0
  45. package/lib/orchestrator.d.ts.map +1 -1
  46. package/lib/orchestrator.js +220 -88
  47. package/lib/orchestrator.js.map +1 -1
  48. package/lib/perf-log-stats-tool.d.ts +13 -0
  49. package/lib/perf-log-stats-tool.d.ts.map +1 -0
  50. package/lib/perf-log-stats-tool.js +245 -0
  51. package/lib/perf-log-stats-tool.js.map +1 -0
  52. package/lib/phtml-escape-scan-tool.d.ts +11 -0
  53. package/lib/phtml-escape-scan-tool.d.ts.map +1 -0
  54. package/lib/phtml-escape-scan-tool.js +170 -0
  55. package/lib/phtml-escape-scan-tool.js.map +1 -0
  56. package/lib/plan-track-tool.d.ts +11 -0
  57. package/lib/plan-track-tool.d.ts.map +1 -0
  58. package/lib/plan-track-tool.js +143 -0
  59. package/lib/plan-track-tool.js.map +1 -0
  60. package/lib/providers/github.stub.d.ts.map +1 -1
  61. package/lib/providers/github.stub.js.map +1 -1
  62. package/lib/providers/gitlab.d.ts.map +1 -1
  63. package/lib/providers/gitlab.js.map +1 -1
  64. package/lib/providers/interface.d.ts.map +1 -1
  65. package/lib/providers/interface.js.map +1 -1
  66. package/lib/review-findings-tool.d.ts.map +1 -1
  67. package/lib/review-findings-tool.js.map +1 -1
  68. package/lib/review-history.d.ts +4 -0
  69. package/lib/review-history.d.ts.map +1 -1
  70. package/lib/review-history.js +23 -1
  71. package/lib/review-history.js.map +1 -1
  72. package/lib/review-intake.d.ts.map +1 -1
  73. package/lib/review-intake.js.map +1 -1
  74. package/lib/review-signals.d.ts.map +1 -1
  75. package/lib/review-signals.js.map +1 -1
  76. package/lib/scope-split-tool.d.ts +42 -0
  77. package/lib/scope-split-tool.d.ts.map +1 -0
  78. package/lib/scope-split-tool.js +109 -0
  79. package/lib/scope-split-tool.js.map +1 -0
  80. package/lib/search-tool.d.ts +15 -0
  81. package/lib/search-tool.d.ts.map +1 -0
  82. package/lib/search-tool.js +144 -0
  83. package/lib/search-tool.js.map +1 -0
  84. package/lib/secure-compare.d.ts.map +1 -1
  85. package/lib/secure-compare.js.map +1 -1
  86. package/lib/settings-rpc.d.ts.map +1 -1
  87. package/lib/settings-rpc.js +47 -8
  88. package/lib/settings-rpc.js.map +1 -1
  89. package/lib/skills-tool.d.ts +1 -1
  90. package/lib/skills-tool.d.ts.map +1 -1
  91. package/lib/skills-tool.js +5 -1
  92. package/lib/skills-tool.js.map +1 -1
  93. package/lib/tdd-evidence-tool.d.ts +11 -0
  94. package/lib/tdd-evidence-tool.d.ts.map +1 -0
  95. package/lib/tdd-evidence-tool.js +114 -0
  96. package/lib/tdd-evidence-tool.js.map +1 -0
  97. package/lib/tool-policy.d.ts +20 -0
  98. package/lib/tool-policy.d.ts.map +1 -0
  99. package/lib/tool-policy.js +42 -0
  100. package/lib/tool-policy.js.map +1 -0
  101. package/lib/workspace-tool.d.ts.map +1 -1
  102. package/lib/workspace-tool.js +15 -9
  103. package/lib/workspace-tool.js.map +1 -1
  104. package/package.json +4 -4
  105. package/src/{augment.d.ts → host/augment.d.ts} +5 -2
  106. package/src/{config-store.ts → host/config-store.ts} +2 -0
  107. package/src/host/git-worktree-tool.ts +130 -0
  108. package/src/host/govard-audit-lint-tool.ts +153 -0
  109. package/src/host/hyva-csp-scan-tool.ts +165 -0
  110. package/src/host/hyva-theme-inspect-tool.ts +258 -0
  111. package/src/host/incremental.ts +84 -0
  112. package/src/host/layout-xml-tool.ts +191 -0
  113. package/src/host/module-check-tool.ts +188 -0
  114. package/src/{orchestrator.ts → host/orchestrator.ts} +205 -84
  115. package/src/host/perf-log-stats-tool.ts +224 -0
  116. package/src/host/phtml-escape-scan-tool.ts +117 -0
  117. package/src/host/plan-track-tool.ts +118 -0
  118. package/src/{review-history.ts → host/review-history.ts} +27 -1
  119. package/src/host/scope-split-tool.ts +110 -0
  120. package/src/host/search-tool.ts +153 -0
  121. package/src/{settings-rpc.ts → host/settings-rpc.ts} +54 -11
  122. package/src/{skills-tool.ts → host/skills-tool.ts} +5 -1
  123. package/src/host/tdd-evidence-tool.ts +85 -0
  124. package/src/host/tool-policy.ts +49 -0
  125. package/src/{workspace-tool.ts → host/workspace-tool.ts} +27 -9
  126. package/lib/pin-store.d.ts +0 -5
  127. package/lib/pin-store.d.ts.map +0 -1
  128. package/lib/pin-store.js +0 -5
  129. package/lib/pin-store.js.map +0 -1
  130. package/src/pin-store.ts +0 -4
  131. /package/src/{events.ts → host/events.ts} +0 -0
  132. /package/src/{gitlab-client.ts → host/gitlab-client.ts} +0 -0
  133. /package/src/{gitlab-webhook.ts → host/gitlab-webhook.ts} +0 -0
  134. /package/src/{govard-tool.ts → host/govard-tool.ts} +0 -0
  135. /package/src/{index.ts → host/index.ts} +0 -0
  136. /package/src/{notify.ts → host/notify.ts} +0 -0
  137. /package/src/{providers → host/providers}/github.stub.ts +0 -0
  138. /package/src/{providers → host/providers}/gitlab.ts +0 -0
  139. /package/src/{providers → host/providers}/interface.ts +0 -0
  140. /package/src/{review-findings-tool.ts → host/review-findings-tool.ts} +0 -0
  141. /package/src/{review-intake.ts → host/review-intake.ts} +0 -0
  142. /package/src/{review-signals.ts → host/review-signals.ts} +0 -0
  143. /package/src/{secure-compare.ts → host/secure-compare.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,eAAO,MAAM,IAAI,iCAAiC,CAAA;AAElD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAUxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/host/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,eAAO,MAAM,IAAI,iCAAiC,CAAA;AAElD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAUxC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAG,8BAA8B,CAAA;AAElD,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC5F,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAA;QAC7E,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;QAC7F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,OAA8C,CAAA;YAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAG,IAAY,EAAE,QAAQ,IAAI,QAAQ,EAAE,EAAE,CAAA;QAC/F,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAS,EAAE,EAAE,CAAA;IAC7J,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/host/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAG,8BAA8B,CAAA;AAElD,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC5F,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAA;QAC7E,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;QAC7F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,OAA8C,CAAA;YAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAG,IAAY,EAAE,QAAQ,IAAI,QAAQ,EAAE,EAAE,CAAA;QAC/F,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAS,EAAE,EAAE,CAAA;IAC7J,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACtD,CAAC"}
@@ -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-layout-xml-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=layout-xml-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-xml-tool.d.ts","sourceRoot":"","sources":["../src/host/layout-xml-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,eAAO,MAAM,IAAI,4BAA4B,CAAA;AAC7C,eAAO,MAAM,MAAM,UAAY,CAAA;AAC/B,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAsC,CAAA;AA8ClF,wBAAgB,KAAK,CAAC,GAAG,EAAC,OAAO,EAAE,MAAM,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAA;CAAI,GAAE,IAAI,CAwIpE"}
@@ -0,0 +1,240 @@
1
+ import { join, resolve, sep, basename } from 'node:path';
2
+ import { readFile, readdir, realpath, stat } from 'node:fs/promises';
3
+ import z from '@deepseek-ai/schemastery';
4
+ import { defineTool } from '@deepseek-ai/dsh-tools';
5
+ export const name = 'maestro-layout-xml-tool';
6
+ export const inject = ['tools'];
7
+ export const Config = z.object({ rootPath: z.string() });
8
+ function workspaceRootFor(c, exec) {
9
+ if (c !== undefined)
10
+ return c;
11
+ const cwd = exec?.agent?.session?.header?.cwd;
12
+ return typeof cwd === 'string' && cwd !== '' ? cwd : process.cwd();
13
+ }
14
+ async function isInsideRoot(root, target) {
15
+ const ar = resolve(root);
16
+ const rs = resolve(ar, target);
17
+ if (rs !== ar && !rs.startsWith(ar + sep))
18
+ return false;
19
+ try {
20
+ const rr = await realpath(ar);
21
+ const rt = await realpath(rs);
22
+ return rt === rr || rt.startsWith(rr + sep);
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ const MAX_FILE_BYTES = 1024 * 1024;
29
+ const MAX_FILES = 2000;
30
+ const SKIP_DIRS = new Set(['.git', 'node_modules', 'vendor', 'pub/static']);
31
+ const LAYOUT_RE = /\/layout\//;
32
+ // tiny helpers
33
+ function parseAttrs(s) {
34
+ const out = {};
35
+ let m;
36
+ const re = /(\w+)="([^"]*)"/g;
37
+ while ((m = re.exec(s)) !== null)
38
+ out[m[1]] = m[2];
39
+ return out;
40
+ }
41
+ async function exists(p) { try {
42
+ await stat(p);
43
+ return true;
44
+ }
45
+ catch {
46
+ return false;
47
+ } }
48
+ async function* walkLayout(dir, root, budget) {
49
+ if (budget.files <= 0)
50
+ return;
51
+ let entries;
52
+ try {
53
+ entries = await readdir(dir, { withFileTypes: true });
54
+ }
55
+ catch {
56
+ return;
57
+ }
58
+ for (const e of entries) {
59
+ if (budget.files <= 0)
60
+ return;
61
+ if (e.isDirectory()) {
62
+ if (SKIP_DIRS.has(e.name))
63
+ continue;
64
+ yield* walkLayout(join(dir, e.name), root, budget);
65
+ continue;
66
+ }
67
+ if (!e.isFile())
68
+ continue;
69
+ if (!e.name.endsWith('.xml'))
70
+ continue;
71
+ if (!join(dir, e.name).includes('/layout/'))
72
+ continue;
73
+ budget.files -= 1;
74
+ yield join(dir, e.name);
75
+ }
76
+ }
77
+ export function apply(ctx, config = {}) {
78
+ const configuredRoot = config.rootPath;
79
+ ctx.effect(() => ctx.tools.register(defineTool({
80
+ name: 'layout_xml_extract',
81
+ description: 'Extract Magento layout handles/blocks/moves/head from layout XML under workspace. Use before claiming layout is correct.',
82
+ parameters: {
83
+ root: { type: 'string' },
84
+ changedFiles: { type: 'array', items: { type: 'string' } },
85
+ },
86
+ output: {
87
+ schema: {
88
+ type: 'object', additionalProperties: false,
89
+ properties: {
90
+ handles: { type: 'array', required: true },
91
+ handleCount: { type: 'number', required: true },
92
+ blockCount: { type: 'number', required: true },
93
+ scannedFiles: { type: 'number', required: true },
94
+ truncated: { type: 'boolean', required: true },
95
+ }
96
+ },
97
+ render: (_args, v) => [{ type: 'text', text: JSON.stringify(v, null, 2) }],
98
+ },
99
+ async execute(args, exec) {
100
+ const rawRoot = args.root ?? '';
101
+ const root = workspaceRootFor(configuredRoot, exec);
102
+ if (rawRoot !== '' && !(await isInsideRoot(root, rawRoot)))
103
+ return { text: `Path "${rawRoot}" escapes the workspace root.`, truncated: false };
104
+ const effectiveRoot = rawRoot === '' ? root : resolve(root, rawRoot);
105
+ const changedFiles = args.changedFiles;
106
+ if (changedFiles) {
107
+ for (const p of changedFiles) {
108
+ if (!(await isInsideRoot(effectiveRoot, p)))
109
+ return { text: `Path "${p}" escapes the workspace root.`, truncated: false };
110
+ }
111
+ }
112
+ // collect files
113
+ const budget = { files: MAX_FILES };
114
+ const all = [];
115
+ for await (const f of walkLayout(effectiveRoot, effectiveRoot, budget)) {
116
+ const rel = f.startsWith(effectiveRoot + sep) ? f.slice(effectiveRoot.length + 1) : basename(f);
117
+ all.push(rel);
118
+ }
119
+ let files = all;
120
+ if (changedFiles && changedFiles.length > 0) {
121
+ const set = new Set(changedFiles.map(p => p.endsWith('.xml') ? p : p));
122
+ files = all.filter(p => set.has(p) || changedFiles.some(cf => p.endsWith(basename(cf))));
123
+ // also if allow-list contains files not discovered via walk (e.g., outside layout but still layout), include them if they exist and are layout
124
+ for (const cf of changedFiles) {
125
+ if (!files.includes(cf)) {
126
+ const abs = resolve(effectiveRoot, cf);
127
+ if (await exists(abs) && cf.includes('/layout/') && cf.endsWith('.xml') && !(all.includes(cf)))
128
+ files.push(cf);
129
+ }
130
+ }
131
+ }
132
+ const truncated = budget.files <= 0;
133
+ const handles = [];
134
+ let blockCount = 0;
135
+ for (const rel of files) {
136
+ const abs = resolve(effectiveRoot, rel);
137
+ let text;
138
+ try {
139
+ const buf = await readFile(abs);
140
+ if (buf.byteLength > MAX_FILE_BYTES)
141
+ continue;
142
+ text = buf.toString('utf-8');
143
+ }
144
+ catch {
145
+ continue;
146
+ }
147
+ const handle = basename(rel, '.xml');
148
+ const layoutType = /<page\b/.test(text) ? 'page' : 'generic';
149
+ // quick parseError heuristic: mismatched < vs > or unclosed tag
150
+ let parseError = null;
151
+ const openCount = (text.match(/</g) || []).length;
152
+ const closeCount = (text.match(/>/g) || []).length;
153
+ if (openCount !== closeCount)
154
+ parseError = `mismatched < (${openCount}) vs > (${closeCount})`;
155
+ // also detect block tag without closing >
156
+ if (/<block[^>]*$/m.test(text) || /<block[^>]*<\/body/.test(text))
157
+ parseError = parseError ?? 'malformed block tag';
158
+ if (parseError) {
159
+ handles.push({ file: rel, handle, layoutType, blocks: [], moves: [], references: [], head: { scripts: [], css: [], metas: [], removes: [] }, parseError });
160
+ continue;
161
+ }
162
+ const blocks = [];
163
+ const moves = [];
164
+ const references = [];
165
+ const head = { scripts: [], css: [], metas: [], removes: [] };
166
+ // blocks/containers (only concrete)
167
+ const tagRe = /<(block|container)\b([^>]*?)(?:\/>|>)/g;
168
+ let m;
169
+ while ((m = tagRe.exec(text)) !== null) {
170
+ const type = m[1];
171
+ const attrStr = m[2];
172
+ const attrs = parseAttrs(attrStr);
173
+ const name = attrs.name ?? null;
174
+ const klass = attrs.class ?? null;
175
+ const template = attrs.template ?? null;
176
+ let templateExists = null;
177
+ if (template !== null) {
178
+ if (template.includes('::')) {
179
+ const [modPart, filePart] = template.split('::');
180
+ const [vendor, mod] = modPart.split('_');
181
+ if (vendor && mod && filePart) {
182
+ const cand = join(effectiveRoot, `app/code/${vendor}/${mod}/view/frontend/templates/${filePart}`);
183
+ templateExists = await exists(cand);
184
+ if (!templateExists) {
185
+ templateExists = false;
186
+ }
187
+ }
188
+ else
189
+ templateExists = false;
190
+ }
191
+ else {
192
+ templateExists = await exists(join(effectiveRoot, template));
193
+ }
194
+ }
195
+ const as = attrs.as ?? null;
196
+ const cacheable = attrs.cacheable ? attrs.cacheable === 'true' : null;
197
+ const remove = attrs.remove === 'true';
198
+ blocks.push({ name, type, class: klass, template, templateExists, as, cacheable, remove, refs: [] });
199
+ }
200
+ // references
201
+ const refRe = /(<(referenceBlock|referenceContainer)\b([^>]*?)(?:\/>|>))/g;
202
+ while ((m = refRe.exec(text)) !== null) {
203
+ const type = m[2];
204
+ const attrs = parseAttrs(m[3]);
205
+ references.push({ kind: type, name: attrs.name ?? '', attrs });
206
+ }
207
+ // moves
208
+ const moveRe = /<move\b([^>]*?)\/>/g;
209
+ while ((m = moveRe.exec(text)) !== null) {
210
+ const attrs = parseAttrs(m[1]);
211
+ moves.push({ element: attrs.element ?? '', destination: attrs.destination ?? null, as: attrs.as ?? null, before: attrs.before ?? null, after: attrs.after ?? null });
212
+ }
213
+ // head css/scripts
214
+ const cssRe = /<css\b([^>]*?)\/>/g;
215
+ while ((m = cssRe.exec(text)) !== null) {
216
+ const a = parseAttrs(m[1]);
217
+ if (a.src)
218
+ head.css.push({ src: a.src });
219
+ }
220
+ const scriptRe = /<script\b([^>]*?)\/>/g;
221
+ while ((m = scriptRe.exec(text)) !== null) {
222
+ const a = parseAttrs(m[1]);
223
+ if (a.src)
224
+ head.scripts.push({ src: a.src });
225
+ }
226
+ // also <remove src=>
227
+ const removeRe = /<remove\b([^>]*?)\/>/g;
228
+ while ((m = removeRe.exec(text)) !== null) {
229
+ const a = parseAttrs(m[1]);
230
+ if (a.src)
231
+ head.removes.push(a.src);
232
+ }
233
+ blockCount += blocks.length;
234
+ handles.push({ file: rel, handle, layoutType, blocks, moves, references, head, parseError: null });
235
+ }
236
+ return { handles, handleCount: handles.length, blockCount, scannedFiles: files.length, truncated };
237
+ },
238
+ }), 'layout xml'));
239
+ }
240
+ //# sourceMappingURL=layout-xml-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-xml-tool.js","sourceRoot":"","sources":["../src/host/layout-xml-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-module-check-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=module-check-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-check-tool.d.ts","sourceRoot":"","sources":["../src/host/module-check-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,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,CAAiC,CAAA;AAgCzE,wBAAgB,KAAK,CAAC,GAAG,EAAC,OAAO,EAAE,MAAM,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAA;CAAI,GAAE,IAAI,CAmJpE"}
@@ -0,0 +1,304 @@
1
+ import { join, resolve, sep } from 'node:path';
2
+ import { readFile, readdir, realpath, stat } from 'node:fs/promises';
3
+ import z from '@deepseek-ai/schemastery';
4
+ import { defineTool } from '@deepseek-ai/dsh-tools';
5
+ export const name = 'maestro-module-check-tool';
6
+ export const inject = ['tools'];
7
+ export const Config = z.object({ rootPath: z.string() });
8
+ function workspaceRootFor(c, e) {
9
+ if (c !== undefined)
10
+ return c;
11
+ const cwd = e?.agent?.session?.header?.cwd;
12
+ return typeof cwd === 'string' && cwd !== '' ? cwd : process.cwd();
13
+ }
14
+ async function isInsideRoot(r, t) {
15
+ const ar = resolve(r);
16
+ const rs = resolve(ar, t);
17
+ if (rs !== ar && !rs.startsWith(ar + sep))
18
+ return false;
19
+ try {
20
+ const rr = await realpath(ar);
21
+ const rt = await realpath(rs);
22
+ return rt === rr || rt.startsWith(rr + sep);
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ const MAX_FILE_BYTES = 1024 * 1024;
29
+ const MAX_MODULES = 100;
30
+ async function exists(p) { try {
31
+ await stat(p);
32
+ return true;
33
+ }
34
+ catch {
35
+ return false;
36
+ } }
37
+ async function boundedRead(p) {
38
+ try {
39
+ const b = await readFile(p);
40
+ if (b.byteLength > MAX_FILE_BYTES)
41
+ return null;
42
+ return b.toString('utf-8');
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ function parseRegistrationName(text) {
49
+ const re = /(?:\\?[\w\\]*ComponentRegistrar)::register\s*\(\s*(?:\\?[\w\\]*ComponentRegistrar::)?MODULE\s*,\s*['"]([^'"]+)['"]/;
50
+ const m = re.exec(text);
51
+ return m ? m[1] : null;
52
+ }
53
+ function parseModuleXml(text) {
54
+ const nameRe = /<module\b[^>]*name="([^"]+)"/;
55
+ const nm = nameRe.exec(text);
56
+ const name = nm ? nm[1] : null;
57
+ const seq = [];
58
+ const seqRe = /<module\s+name="([^"]+)"\s*\/>/g;
59
+ let m;
60
+ // only inside <sequence> block
61
+ const seqBlock = /<sequence>([\s\S]*?)<\/sequence>/.exec(text);
62
+ if (seqBlock) {
63
+ const inner = seqBlock[1];
64
+ while ((m = seqRe.exec(inner)) !== null)
65
+ seq.push(m[1]);
66
+ }
67
+ return { name, sequence: seq };
68
+ }
69
+ export function apply(ctx, config = {}) {
70
+ const configuredRoot = config.rootPath;
71
+ ctx.effect(() => ctx.tools.register(defineTool({
72
+ name: 'magento_module_check',
73
+ description: 'Validate Magento 2 module structure (registration, module.xml, composer, db_schema, acl, routes, Hyva compat).',
74
+ parameters: {
75
+ modulePath: { type: 'string' },
76
+ },
77
+ output: {
78
+ schema: {
79
+ type: 'object', additionalProperties: false,
80
+ properties: {
81
+ modules: { type: 'array', required: true },
82
+ scannedModules: { type: 'number', required: true },
83
+ truncated: { type: 'boolean', required: true },
84
+ }
85
+ },
86
+ render: (_a, v) => [{ type: 'text', text: JSON.stringify(v, null, 2) }],
87
+ },
88
+ async execute(args, exec) {
89
+ const rawPath = args.modulePath;
90
+ const root = workspaceRootFor(configuredRoot, exec);
91
+ if (rawPath !== undefined && !(await isInsideRoot(root, rawPath)))
92
+ return { text: `Path "${rawPath}" escapes the workspace root.`, truncated: false };
93
+ let candidates = [];
94
+ if (rawPath !== undefined) {
95
+ const abs = resolve(root, rawPath);
96
+ // must contain registration.php or etc/module.xml to be considered a module; otherwise empty
97
+ candidates = [rawPath];
98
+ }
99
+ else {
100
+ const base = join(root, 'app/code');
101
+ let vendors = [];
102
+ try {
103
+ vendors = await readdir(base);
104
+ }
105
+ catch {
106
+ vendors = [];
107
+ }
108
+ for (const vendor of vendors) {
109
+ if (vendor.startsWith('.'))
110
+ continue;
111
+ let mods = [];
112
+ try {
113
+ mods = await readdir(join(base, vendor));
114
+ }
115
+ catch {
116
+ continue;
117
+ }
118
+ for (const mod of mods) {
119
+ if (mod.startsWith('.'))
120
+ continue;
121
+ candidates.push(join('app/code', vendor, mod));
122
+ if (candidates.length >= MAX_MODULES)
123
+ break;
124
+ }
125
+ if (candidates.length >= MAX_MODULES)
126
+ break;
127
+ }
128
+ }
129
+ const truncated = candidates.length >= MAX_MODULES;
130
+ const modules = [];
131
+ for (const rel of candidates.slice(0, MAX_MODULES)) {
132
+ const abs = resolve(root, rel);
133
+ let isDir = false;
134
+ try {
135
+ const s = await stat(abs);
136
+ isDir = s.isDirectory();
137
+ }
138
+ catch {
139
+ continue;
140
+ }
141
+ if (!isDir)
142
+ continue;
143
+ const issues = [];
144
+ const regText = await boundedRead(join(abs, 'registration.php'));
145
+ const hasRegistration = regText !== null;
146
+ let regName = null;
147
+ let registrationValid = null;
148
+ if (hasRegistration) {
149
+ regName = parseRegistrationName(regText);
150
+ registrationValid = regName !== null;
151
+ if (!registrationValid)
152
+ issues.push({ severity: 'high', rule: 'registration-invalid', message: 'registration.php does not contain ComponentRegistrar::register for MODULE', file: join(rel, 'registration.php'), line: null });
153
+ }
154
+ else {
155
+ issues.push({ severity: 'critical', rule: 'registration-missing', message: 'registration.php missing', file: join(rel, 'registration.php'), line: null });
156
+ }
157
+ const modXmlText = await boundedRead(join(abs, 'etc/module.xml'));
158
+ const hasEtcModuleXml = modXmlText !== null;
159
+ let modName = null;
160
+ let sequence = [];
161
+ if (hasEtcModuleXml) {
162
+ const parsed = parseModuleXml(modXmlText);
163
+ modName = parsed.name;
164
+ sequence = parsed.sequence;
165
+ if (!modName)
166
+ issues.push({ severity: 'critical', rule: 'module-xml-missing-name', message: 'etc/module.xml missing module name', file: join(rel, 'etc/module.xml'), line: null });
167
+ }
168
+ else {
169
+ issues.push({ severity: 'high', rule: 'module-xml-missing', message: 'etc/module.xml missing', file: join(rel, 'etc/module.xml'), line: null });
170
+ }
171
+ if (regName && modName && regName !== modName) {
172
+ issues.push({ severity: 'high', rule: 'name-mismatch', message: `registration name ${regName} != module.xml ${modName}`, file: join(rel, 'etc/module.xml'), line: null });
173
+ }
174
+ // composer
175
+ const composerText = await boundedRead(join(abs, 'composer.json'));
176
+ let composerName = null;
177
+ let psr4 = null;
178
+ if (composerText) {
179
+ try {
180
+ const j = JSON.parse(composerText);
181
+ composerName = j.name ?? null;
182
+ psr4 = j.autoload?.['psr-4'] ?? null;
183
+ }
184
+ catch { }
185
+ if (composerName && modName) {
186
+ // psr-4 cross-check not strict for test
187
+ }
188
+ }
189
+ // db_schema
190
+ const hasDbSchema = await exists(join(abs, 'etc/db_schema.xml'));
191
+ let dbSchemaTables = [];
192
+ if (hasDbSchema) {
193
+ const dbText = await boundedRead(join(abs, 'etc/db_schema.xml'));
194
+ if (dbText) {
195
+ const re = /<table\s+name="([^"]+)"/g;
196
+ let m;
197
+ while ((m = re.exec(dbText)) !== null)
198
+ dbSchemaTables.push(m[1]);
199
+ }
200
+ }
201
+ // acl
202
+ const hasAcl = await exists(join(abs, 'etc/acl.xml'));
203
+ let aclResources = [];
204
+ if (hasAcl) {
205
+ const t = await boundedRead(join(abs, 'etc/acl.xml'));
206
+ if (t) {
207
+ const re = /<resource\s+id="([^"]+)"/g;
208
+ let m;
209
+ while ((m = re.exec(t)) !== null)
210
+ aclResources.push(m[1]);
211
+ }
212
+ }
213
+ // routes
214
+ let hasRoutes = false;
215
+ const routes = [];
216
+ for (const area of ['frontend', 'adminhtml']) {
217
+ const rp = join(abs, `etc/${area}/routes.xml`);
218
+ if (await exists(rp)) {
219
+ hasRoutes = true;
220
+ const rt = await boundedRead(rp);
221
+ if (rt) {
222
+ const re = /<route\s+[^>]*frontName="([^"]+)"/g;
223
+ let m;
224
+ while ((m = re.exec(rt)) !== null)
225
+ routes.push({ area, frontName: m[1] });
226
+ }
227
+ }
228
+ }
229
+ if (await exists(join(abs, 'etc/routes.xml'))) {
230
+ hasRoutes = true;
231
+ }
232
+ // events
233
+ let hasObserverEvents = [];
234
+ const evText = await boundedRead(join(abs, 'etc/events.xml'));
235
+ if (evText) {
236
+ const re = /<event\s+name="([^"]+)"/g;
237
+ let m;
238
+ while ((m = re.exec(evText)) !== null)
239
+ hasObserverEvents.push(m[1]);
240
+ }
241
+ // cron/webapi
242
+ const hasCron = await exists(join(abs, 'etc/crontab.xml')) || await exists(join(abs, 'etc/cron_groups.xml'));
243
+ const hasWebapi = await exists(join(abs, 'etc/webapi.xml'));
244
+ let apiInterfaces = [];
245
+ if (hasWebapi) {
246
+ const t = await boundedRead(join(abs, 'etc/webapi.xml'));
247
+ if (t) {
248
+ const re = /<service\s+class="([^"]+)"/g;
249
+ let m;
250
+ while ((m = re.exec(t)) !== null)
251
+ apiInterfaces.push(m[1]);
252
+ }
253
+ }
254
+ // Hyva compat: scan phtml for data-bind vs x-data
255
+ let isHyvaCompatible = null;
256
+ const compatNotes = [];
257
+ let hasPhtml = false;
258
+ let hasDataBind = false;
259
+ let hasXData = false;
260
+ async function scanPhtml(dir) {
261
+ let entries;
262
+ try {
263
+ entries = await readdir(dir, { withFileTypes: true });
264
+ }
265
+ catch {
266
+ return;
267
+ }
268
+ for (const e of entries) {
269
+ if (e.isDirectory())
270
+ await scanPhtml(join(dir, e.name));
271
+ else if (e.isFile() && e.name.endsWith('.phtml')) {
272
+ hasPhtml = true;
273
+ const txt = await boundedRead(join(dir, e.name));
274
+ if (!txt)
275
+ continue;
276
+ if (/data-bind\s*=/.test(txt))
277
+ hasDataBind = true;
278
+ if (/x-data\s*=/.test(txt))
279
+ hasXData = true;
280
+ }
281
+ }
282
+ }
283
+ await scanPhtml(join(abs, 'view/frontend/templates'));
284
+ if (hasPhtml) {
285
+ if (hasDataBind) {
286
+ isHyvaCompatible = false;
287
+ compatNotes.push('knockout data-bind found — not Hyva compatible');
288
+ }
289
+ else if (hasXData) {
290
+ isHyvaCompatible = true;
291
+ compatNotes.push('Alpine x-data found — Hyva compatible');
292
+ }
293
+ else {
294
+ isHyvaCompatible = null;
295
+ }
296
+ }
297
+ const moduleInfo = { name: modName ?? regName, sequence, hasRegistration, registrationValid, hasEtcModuleXml, hasDbSchema, dbSchemaTables, hasAcl, aclResources, hasRoutes, routes, hasObserverEvents, hasCron, hasWebapi, apiInterfaces, composerName, psr4 };
298
+ modules.push({ path: rel, module: moduleInfo, issues, isHyvaCompatible, compatNotes });
299
+ }
300
+ return { modules, scannedModules: modules.length, truncated };
301
+ },
302
+ }), 'module check'));
303
+ }
304
+ //# sourceMappingURL=module-check-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-check-tool.js","sourceRoot":"","sources":["../src/host/module-check-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;CAClE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CACpH;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAIT;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/host/notify.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;CAClE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CACpH;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAIT;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
package/lib/notify.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAgBnF,MAAM,UAAU,gBAAgB,CAAC,YAKhC;IACC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAA;IACjF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,CAAA;IACrF,OAAO,qBAAqB,YAAY,CAAC,WAAW,KAAK,YAAY,CAAC,KAAK,KAAK,OAAO,GAAG,OAAO,EAAE,CAAA;AACrG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,+CAA+C,GAAG,EAAE,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/host/notify.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAgBnF,MAAM,UAAU,gBAAgB,CAAC,YAKhC;IACC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAA;IACjF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,CAAA;IACrF,OAAO,qBAAqB,YAAY,CAAC,WAAW,KAAK,YAAY,CAAC,KAAK,KAAK,OAAO,GAAG,OAAO,EAAE,CAAA;AACrG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,+CAA+C,GAAG,EAAE,CAAA;AAC7D,CAAC"}