codeloop-mcp-server 0.1.25 → 0.1.27

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.
@@ -0,0 +1,375 @@
1
+ import { existsSync, readFileSync, readdirSync } from "fs";
2
+ import { join, basename, extname } from "path";
3
+ import { discoverInteractions, } from "./discover_interactions.js";
4
+ // ─────────────────────────────────────────────────────────────────────
5
+ // Entity-noun extraction
6
+ // ─────────────────────────────────────────────────────────────────────
7
+ /**
8
+ * Best-effort entity noun extraction. We look at:
9
+ * 1. Source-file names — class names ending in conceptual nouns
10
+ * (PhotometricDataView, ProductDesignBOMView → Product, BOM).
11
+ * 2. Button labels that start with "Add/New/Create" → the noun after.
12
+ * 3. spec.md / acceptance.md / docs that name entities directly.
13
+ * 4. JSON / YAML schema files for top-level type names.
14
+ *
15
+ * We don't try to be perfect — we pick the top-K nouns by frequency and
16
+ * let the agent's LLM contextualise them when it follows the plan.
17
+ */
18
+ function extractEntityCandidates(projectDir, discovery) {
19
+ const candidates = new Map();
20
+ function bump(noun, score, source) {
21
+ const norm = noun.trim();
22
+ if (!norm)
23
+ return;
24
+ // Drop obvious non-entities (UI / dialog / view / panel / button …).
25
+ if (UI_NOUN_STOPLIST.has(norm.toLowerCase()))
26
+ return;
27
+ if (norm.length < 3)
28
+ return;
29
+ const existing = candidates.get(norm) ?? { score: 0, source_files: new Set() };
30
+ existing.score += score;
31
+ if (source)
32
+ existing.source_files.add(source);
33
+ candidates.set(norm, existing);
34
+ }
35
+ // 1. Add/New/Create button labels → noun after.
36
+ for (const el of discovery.elements) {
37
+ if (el.kind !== "button" && el.kind !== "submit_button")
38
+ continue;
39
+ const m = el.label.match(/^\s*(?:add|new|create|insert|register|enroll)\s+(?:a\s+|an\s+|the\s+)?(.+?)\s*$/i);
40
+ if (m)
41
+ bump(toEntityNoun(m[1]), 5, el.source_file);
42
+ }
43
+ // 2. View / Page / Form class names → noun before the suffix.
44
+ for (const el of discovery.elements) {
45
+ const fname = basename(el.source_file, extname(el.source_file));
46
+ const m = fname.match(/^(.+?)(View|Page|Form|Dialog|Window|Component)$/);
47
+ if (m)
48
+ bump(toEntityNoun(m[1]), 2, el.source_file);
49
+ }
50
+ // 3. Spec / acceptance / domain docs.
51
+ for (const docPath of findDocCandidates(projectDir)) {
52
+ let txt = "";
53
+ try {
54
+ txt = readFileSync(docPath, "utf-8");
55
+ }
56
+ catch {
57
+ continue;
58
+ }
59
+ // Heading nouns ("## Products", "### LED Engine") get a strong boost.
60
+ for (const m of txt.matchAll(/^#{1,4}\s+(.+?)\s*$/gm)) {
61
+ const heading = m[1].trim();
62
+ // Skip generic section headings.
63
+ if (/^(overview|summary|introduction|getting started|installation|setup|usage|notes|faq|changelog)$/i.test(heading))
64
+ continue;
65
+ // Take last word as the entity noun.
66
+ const last = heading.split(/\s+/).slice(-1)[0];
67
+ bump(toEntityNoun(last), 4, docPath);
68
+ }
69
+ // "Add a product / Create an order" patterns.
70
+ for (const m of txt.matchAll(/\b(?:add|create|new)\s+(?:a\s+|an\s+|the\s+)?([A-Z][a-zA-Z]{2,30})/g)) {
71
+ bump(toEntityNoun(m[1]), 1, docPath);
72
+ }
73
+ }
74
+ return candidates;
75
+ }
76
+ const UI_NOUN_STOPLIST = new Set([
77
+ "button", "view", "page", "form", "dialog", "window", "panel", "tab",
78
+ "modal", "popup", "toast", "menu", "list", "row", "card", "screen",
79
+ "navigation", "header", "footer", "sidebar", "field", "input", "control",
80
+ "widget", "section", "component", "container", "item", "icon", "image",
81
+ "data", "info", "details", "settings", "config", "preference", "option",
82
+ "user", "admin", "main", "default", "test", "sample", "demo", "example",
83
+ "the", "a", "an", "and", "or", "for", "with", "from", "to", "of",
84
+ "summary", "list", "table", "grid",
85
+ ]);
86
+ /** Common domain acronyms we want to keep upper-cased even when the source typed them lower-case (`led_engines` → "LED Engine"). */
87
+ const ACRONYM_SET = new Set([
88
+ "LED", "PCB", "BOM", "AI", "ML", "API", "URL", "UI", "UX", "CCT", "CRI",
89
+ "SKU", "VAT", "GST", "IP", "DNS", "PDF", "CSV", "JSON", "XML", "HTML",
90
+ "USB", "HDMI", "CPU", "GPU", "RAM", "SSD", "OS", "QA", "QR", "AC", "DC",
91
+ ]);
92
+ /** Singularise + TitleCase a phrase. "Products" → "Product"; "led engines" → "LED Engine". */
93
+ function toEntityNoun(raw) {
94
+ let s = raw.trim().replace(/[_-]+/g, " ");
95
+ // Split words, title-case each.
96
+ const words = s
97
+ .split(/\s+/)
98
+ .filter(Boolean)
99
+ .map((w) => {
100
+ // Preserve acronyms (LED, PCB, BOM, AI, …) regardless of input case.
101
+ const upper = w.toUpperCase();
102
+ if (ACRONYM_SET.has(upper))
103
+ return upper;
104
+ if (/^[A-Z]{2,6}$/.test(w))
105
+ return w;
106
+ // Convert camelCase to "Camel Case" tokens.
107
+ const split = w.replace(/([a-z])([A-Z])/g, "$1 $2").split(/\s+/);
108
+ return split
109
+ .map((p) => {
110
+ const up = p.toUpperCase();
111
+ if (ACRONYM_SET.has(up))
112
+ return up;
113
+ if (/^[A-Z]{2,6}$/.test(p))
114
+ return p;
115
+ return p[0].toUpperCase() + p.slice(1).toLowerCase();
116
+ })
117
+ .join(" ");
118
+ });
119
+ s = words.join(" ");
120
+ // Naive singularise on the last word (don't touch acronyms).
121
+ const parts = s.split(" ");
122
+ const last = parts[parts.length - 1];
123
+ if (!/^[A-Z]{2,6}$/.test(last)) {
124
+ if (last.endsWith("ies") && last.length > 3)
125
+ parts[parts.length - 1] = last.slice(0, -3) + "y";
126
+ else if (last.endsWith("ses") && last.length > 3)
127
+ parts[parts.length - 1] = last.slice(0, -2);
128
+ else if (last.endsWith("s") && !last.endsWith("ss") && last.length > 3)
129
+ parts[parts.length - 1] = last.slice(0, -1);
130
+ }
131
+ return parts.join(" ");
132
+ }
133
+ function findDocCandidates(projectDir) {
134
+ const out = [];
135
+ const candidates = [
136
+ "spec.md", "SPEC.md", "specification.md",
137
+ "acceptance.md", "ACCEPTANCE.md",
138
+ "README.md", "readme.md",
139
+ "docs/spec.md", "docs/SPEC.md", "docs/acceptance.md", "docs/ACCEPTANCE.md",
140
+ "docs/PRD.md", "docs/prd.md", "docs/requirements.md",
141
+ "docs/architecture.md", "docs/ARCHITECTURE.md",
142
+ "docs/user-guide.md", "docs/USER_GUIDE.md",
143
+ ];
144
+ for (const rel of candidates) {
145
+ const abs = join(projectDir, rel);
146
+ if (existsSync(abs))
147
+ out.push(abs);
148
+ }
149
+ // Also scan docs/ for any .md (capped).
150
+ const docsDir = join(projectDir, "docs");
151
+ if (existsSync(docsDir)) {
152
+ try {
153
+ for (const f of readdirSync(docsDir, { withFileTypes: true })) {
154
+ if (f.isFile && f.isFile() && /\.md$/i.test(f.name)) {
155
+ const abs = join(docsDir, f.name);
156
+ if (!out.includes(abs))
157
+ out.push(abs);
158
+ }
159
+ }
160
+ }
161
+ catch { /* best-effort */ }
162
+ if (out.length > 12)
163
+ out.length = 12;
164
+ }
165
+ return out;
166
+ }
167
+ /**
168
+ * Domain-agnostic data hints. The list is intentionally broad — it covers
169
+ * lighting / photometric units (CCT, CRI, lumen, beam angle), e-commerce
170
+ * (price, quantity), generic profile fields (name, email, phone), and
171
+ * everyday measurements (length, weight, temperature). The agent's LLM
172
+ * still adapts the value to context; these are just sane defaults so
173
+ * "Drive Current (mA)" doesn't end up with "test".
174
+ */
175
+ const HINT_RULES = [
176
+ // Photometric / lighting
177
+ { match: /\bcct\b|colou?r\s*temp/i, example: "4000", unit: "K", min: 1500, max: 12000 },
178
+ { match: /\bcri\b|colou?r\s*rendering/i, example: "90", unit: "Ra", min: 0, max: 100 },
179
+ { match: /\bdrive\s*current\b/i, example: "350", unit: "mA", min: 10, max: 5000 },
180
+ { match: /\blumen\b|luminous\s*flux/i, example: "1200", unit: "lm", min: 1, max: 100000 },
181
+ { match: /\befficacy\b/i, example: "120", unit: "lm/W" },
182
+ { match: /\bbeam\s*angle\b/i, example: "24", unit: "°", min: 1, max: 360 },
183
+ { match: /\bwattage\b|\bpower\b/i, example: "12", unit: "W", min: 0, max: 10000 },
184
+ { match: /\bvoltage\b|\bvf\b/i, example: "12", unit: "V" },
185
+ { match: /\bdiameter\b/i, example: "50", unit: "mm" },
186
+ { match: /\bheight\b/i, example: "70", unit: "mm" },
187
+ // Profile / contact
188
+ { match: /\b(first|given)\s*name\b/i, example: "Alex" },
189
+ { match: /\b(last|family|surname)\s*name\b/i, example: "Taylor" },
190
+ { match: /\bfull\s*name\b|^name$/i, example: "Alex Taylor" },
191
+ { match: /\bemail\b/i, example: "test+codeloop@example.com" },
192
+ { match: /\bphone\b|mobile\b/i, example: "+1 555 123 4567" },
193
+ { match: /\bpassword\b/i, example: "CodeLoopTest!2026" },
194
+ { match: /\baddress\b/i, example: "1 Test Way, Springfield" },
195
+ { match: /\bcity\b/i, example: "Springfield" },
196
+ { match: /\bcountry\b/i, example: "United Kingdom" },
197
+ { match: /\bpostcode\b|\bzip\b/i, example: "SW1A 1AA" },
198
+ // Commerce
199
+ { match: /\bprice\b|\bcost\b/i, example: "199.99", unit: "£", min: 0 },
200
+ { match: /\bquantity\b|\bqty\b/i, example: "3", min: 1 },
201
+ { match: /\bsku\b|product\s*code\b/i, example: "CL-TEST-001" },
202
+ { match: /\b(description|notes?|comments?)\b/i, example: "Verified by CodeLoop end-to-end test." },
203
+ { match: /\btitle\b/i, example: "CodeLoop test record" },
204
+ // Identifiers
205
+ { match: /\bid\b$/i, example: "CL-001" },
206
+ { match: /\b(serial|s\/?n)\b/i, example: "CL-SN-20260517-001" },
207
+ // Date / time
208
+ { match: /\b(date|deadline|due)\b/i, example: "2026-12-31" },
209
+ { match: /\btime\b/i, example: "14:30" },
210
+ // URLs / search
211
+ { match: /\burl\b|website|link/i, example: "https://example.com" },
212
+ { match: /\bsearch\b|query\b/i, example: "test" },
213
+ ];
214
+ function hintForLabel(label) {
215
+ for (const rule of HINT_RULES) {
216
+ if (rule.match.test(label)) {
217
+ return { example: rule.example, unit: rule.unit, min: rule.min, max: rule.max };
218
+ }
219
+ }
220
+ // Default: a short, human-looking placeholder.
221
+ return { example: "CodeLoop test value" };
222
+ }
223
+ // ─────────────────────────────────────────────────────────────────────
224
+ // Plan synthesis
225
+ // ─────────────────────────────────────────────────────────────────────
226
+ export async function planUserJourney(projectDir, platform = "auto", topN = 3) {
227
+ const discovery = await discoverInteractions(projectDir, platform);
228
+ const entityScores = extractEntityCandidates(projectDir, discovery);
229
+ // Take top-N by score; tie-break by name.
230
+ const ranked = [...entityScores.entries()]
231
+ .map(([name, v]) => ({ name, score: v.score, source_files: [...v.source_files] }))
232
+ .sort((a, b) => b.score - a.score || a.name.localeCompare(b.name))
233
+ .slice(0, Math.max(1, topN));
234
+ // Helper: pick the input fields likely to belong to entity X. We use a
235
+ // simple "file proximity" heuristic — inputs in the same file as a
236
+ // button labelled "Add <X>" or in a file whose name contains <X>.
237
+ function fieldsForEntity(name) {
238
+ const lower = name.toLowerCase().replace(/\s+/g, "");
239
+ const inputs = discovery.elements.filter((e) => e.kind === "input");
240
+ const matchedFiles = new Set();
241
+ for (const e of discovery.elements) {
242
+ if (e.kind === "button" || e.kind === "submit_button") {
243
+ if (e.label.toLowerCase().includes(name.toLowerCase()))
244
+ matchedFiles.add(e.source_file);
245
+ }
246
+ const fname = basename(e.source_file).toLowerCase().replace(/[\s_-]+/g, "");
247
+ if (fname.includes(lower))
248
+ matchedFiles.add(e.source_file);
249
+ }
250
+ const scoped = inputs.filter((i) => matchedFiles.has(i.source_file));
251
+ const chosen = (scoped.length > 0 ? scoped : inputs).slice(0, 6);
252
+ return chosen.map((c) => {
253
+ const hint = hintForLabel(c.label);
254
+ return {
255
+ label: c.label,
256
+ selector: c.selector,
257
+ example: hint.example,
258
+ unit: hint.unit,
259
+ min: hint.min,
260
+ max: hint.max,
261
+ source_file: c.source_file,
262
+ line: c.line,
263
+ };
264
+ });
265
+ }
266
+ function commitButtonFor(name) {
267
+ const lower = name.toLowerCase();
268
+ const buttons = discovery.elements.filter((e) => e.kind === "submit_button" || e.kind === "button");
269
+ // Prefer a button whose label mentions the entity (Save Product, Add Component).
270
+ const exact = buttons.find((b) => /\b(save|submit|create|add|update|apply)\b/i.test(b.label) &&
271
+ b.label.toLowerCase().includes(lower));
272
+ if (exact)
273
+ return exact.label;
274
+ const generic = buttons.find((b) => /\b(save|submit|create|add|update|apply)\b/i.test(b.label));
275
+ return generic ? generic.label : "Save / Submit";
276
+ }
277
+ const entities = ranked.map((r, idx) => ({
278
+ name: r.name,
279
+ priority: idx + 1,
280
+ source_files: r.source_files,
281
+ arc: [
282
+ { step: "navigate", target: r.name, hint: `Open the section/page that lists ${r.name} records.` },
283
+ { step: "create", target: `Add ${r.name}`, hint: `Click the Add/New/Create/+ control for ${r.name}.` },
284
+ { step: "fill", fields: fieldsForEntity(r.name), hint: "Fill EVERY field with the suggested realistic example. Do not type 'abc' or 'test' in numeric / unit-bearing fields." },
285
+ { step: "commit", target: commitButtonFor(r.name), hint: "Click the Save / Submit / Apply button." },
286
+ { step: "verify", target: `${r.name} appears in the list / detail view`, hint: "Take a screenshot AFTER the commit; confirm the new record shows in the list or persisted view." },
287
+ { step: "edit", target: `Open the just-created ${r.name}`, hint: "Re-open the record (click the row / drill in) and change at least one field." },
288
+ { step: "commit", target: commitButtonFor(r.name), hint: "Save the edit." },
289
+ { step: "verify", target: `Edited ${r.name} reflects the change`, hint: "Screenshot after save to confirm the edit persisted." },
290
+ { step: "delete", target: `Delete ${r.name}`, hint: "Trigger delete + confirm the dialog. Don't leave test records behind." },
291
+ ],
292
+ }));
293
+ // AI journeys — one per detected AI feature, with substantive prompts.
294
+ const aiJourneys = [];
295
+ if (discovery.ai_features_detected) {
296
+ const aiFiles = new Set();
297
+ for (const e of discovery.elements) {
298
+ if (e.kind === "ai_feature")
299
+ aiFiles.add(e.source_file);
300
+ }
301
+ aiJourneys.push({
302
+ feature: "Primary AI surface",
303
+ source_files: [...aiFiles].slice(0, 5),
304
+ prompt_examples: [
305
+ `Walk me through how this product handles ${ranked[0]?.name || "the main workflow"}. Be specific.`,
306
+ "What input fields are required to generate a complete dataset? Explain each unit.",
307
+ `Generate sample values for a new ${ranked[0]?.name || "record"} suitable for an end-to-end smoke test.`,
308
+ "What are the most common mistakes users make on this screen? List 3 and how to avoid each.",
309
+ "Predict the result if I increase the primary numeric input by 20%. Explain the trade-offs.",
310
+ ],
311
+ });
312
+ }
313
+ // Coverage targets — informed by the discovery counts so the gate scales
314
+ // up for richer projects.
315
+ const inputs = discovery.counts.inputs;
316
+ const target = {
317
+ full_crud_arcs: Math.min(ranked.length, 2),
318
+ ai_substantive_prompts: discovery.ai_features_detected ? 3 : 0,
319
+ upload_actions: discovery.counts.upload_areas > 0 ? 1 : 0,
320
+ datagrid_edits: discovery.counts.datagrids > 0 ? 1 : 0,
321
+ };
322
+ const advice = [
323
+ `Drive ${target.full_crud_arcs} entity through a full CRUD arc (create → verify-persisted → edit → verify → delete). Don't stop after the create.`,
324
+ "Fill EVERY discovered input field with the suggested realistic example. Numeric / unit-bearing fields with placeholder text like 'test' or 'abc' are an automatic depth-gate failure.",
325
+ "After each commit, capture a screenshot AND read back the form state via win_ui_automate Value / browser_snapshot — the gate scores `verify_persisted` from those signals.",
326
+ "Use codeloop_interact win_ui_automate / browser_click — not raw osascript / PowerShell / xdotool. The interaction log is the gate's source of truth and only codeloop_interact writes it.",
327
+ "Run the entities in priority order. Lower-priority entities can be skipped if time-boxed but at least 1 entity MUST complete the full arc.",
328
+ ];
329
+ if (discovery.ai_features_detected) {
330
+ advice.push(`Exercise the AI feature with at least ${target.ai_substantive_prompts} substantive prompts (>= 30 chars each) — toggling modes, multi-turn follow-ups, and one tool-routing test.`);
331
+ }
332
+ if (discovery.counts.upload_areas > 0) {
333
+ advice.push("At least one file-upload action via the drop zone or 'Choose Files' control.");
334
+ }
335
+ if (discovery.counts.datagrids > 0) {
336
+ advice.push("Edit at least one DataGrid cell, then verify the row reflects the change after committing.");
337
+ }
338
+ return {
339
+ project_summary: summariseProject(projectDir, ranked.map((r) => r.name), discovery),
340
+ entities,
341
+ ai_journeys: aiJourneys,
342
+ coverage_targets: target,
343
+ advice,
344
+ discovered_interactions_summary: {
345
+ inputs,
346
+ submit_buttons: discovery.counts.submit_buttons,
347
+ datagrids: discovery.counts.datagrids,
348
+ upload_areas: discovery.counts.upload_areas,
349
+ ai_features: discovery.counts.ai_features,
350
+ },
351
+ };
352
+ }
353
+ function summariseProject(projectDir, entities, discovery) {
354
+ let name = basename(projectDir);
355
+ // Prefer the package.json `name` if present.
356
+ try {
357
+ const pkgPath = join(projectDir, "package.json");
358
+ if (existsSync(pkgPath)) {
359
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
360
+ if (pkg.name)
361
+ name = pkg.name;
362
+ }
363
+ }
364
+ catch { /* best-effort */ }
365
+ const aiBit = discovery.ai_features_detected ? "AI-assisted " : "";
366
+ return `${name} is a ${aiBit}${discovery.platform} project with ${discovery.counts.inputs} input fields, ${discovery.counts.submit_buttons} submit/save buttons${discovery.counts.datagrids ? `, ${discovery.counts.datagrids} datagrid(s)` : ""}${discovery.counts.upload_areas ? `, ${discovery.counts.upload_areas} upload zone(s)` : ""}. Top entities to exercise: ${entities.join(", ") || "(none detected — exercise the main forms by hand)"}.`;
367
+ }
368
+ // Re-export for tests.
369
+ export function _internal_hintForLabel(label) {
370
+ return hintForLabel(label);
371
+ }
372
+ export function _internal_toEntityNoun(s) {
373
+ return toEntityNoun(s);
374
+ }
375
+ //# sourceMappingURL=plan_user_journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan_user_journey.js","sourceRoot":"","sources":["../../src/tools/plan_user_journey.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { runPlaywrightTests } from "../runners/playwright.js";
8
8
  import { captureScreenshot } from "../runners/screenshot.js";
9
9
  import { loadCustomRunners } from "../runners/plugin_sdk.js";
10
10
  import { resolveEnvironment } from "../environment/presets.js";
11
- import { hasDesignReferences, runDesignCompareAll } from "./design_compare.js";
11
+ import { runDesignCompareAll, shouldEnforceDesignCompare } from "./design_compare.js";
12
12
  export function detectPlatform(cwd) {
13
13
  if (existsSync(join(cwd, "pubspec.yaml")))
14
14
  return "flutter";
@@ -148,7 +148,7 @@ export async function runVerify(input, config, cwd = process.cwd()) {
148
148
  // This populates artifacts/runs/<run>/design_compare_summary.json which the
149
149
  // design_compare_evidence gate consumes during gate_check.
150
150
  let designCompareNote;
151
- if (screenshotPaths.length > 0 && hasDesignReferences(cwd)) {
151
+ if (screenshotPaths.length > 0 && shouldEnforceDesignCompare(cwd, config)) {
152
152
  try {
153
153
  const dcResult = await runDesignCompareAll({ platform, viewport_sizes: [], mode: "all" }, config, cwd);
154
154
  const failed = dcResult.output.failed_screens?.length ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeloop-mcp-server",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "description": "CodeLoop MCP server - verification, self-repair, and recommendation layer for AI coding agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",