userflow-mcp 0.2.0 → 0.3.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.
Files changed (63) hide show
  1. package/dist/feedback/generator.d.ts.map +1 -1
  2. package/dist/feedback/generator.js +105 -0
  3. package/dist/feedback/generator.js.map +1 -1
  4. package/dist/feedback/html-report.d.ts +8 -0
  5. package/dist/feedback/html-report.d.ts.map +1 -0
  6. package/dist/feedback/html-report.js +200 -0
  7. package/dist/feedback/html-report.js.map +1 -0
  8. package/dist/server.d.ts.map +1 -1
  9. package/dist/server.js +241 -15
  10. package/dist/server.js.map +1 -1
  11. package/dist/session/session-manager.d.ts +18 -1
  12. package/dist/session/session-manager.d.ts.map +1 -1
  13. package/dist/session/session-manager.js +61 -5
  14. package/dist/session/session-manager.js.map +1 -1
  15. package/dist/session/types.d.ts +4 -0
  16. package/dist/session/types.d.ts.map +1 -1
  17. package/dist/types.d.ts +159 -36
  18. package/dist/types.d.ts.map +1 -1
  19. package/dist/utils/accessibility.d.ts +43 -0
  20. package/dist/utils/accessibility.d.ts.map +1 -0
  21. package/dist/utils/accessibility.js +72 -0
  22. package/dist/utils/accessibility.js.map +1 -0
  23. package/dist/utils/actions.d.ts +2 -0
  24. package/dist/utils/actions.d.ts.map +1 -1
  25. package/dist/utils/actions.js +47 -13
  26. package/dist/utils/actions.js.map +1 -1
  27. package/dist/utils/browser.d.ts +8 -0
  28. package/dist/utils/browser.d.ts.map +1 -1
  29. package/dist/utils/browser.js +29 -2
  30. package/dist/utils/browser.js.map +1 -1
  31. package/dist/utils/console-monitor.d.ts +44 -0
  32. package/dist/utils/console-monitor.d.ts.map +1 -0
  33. package/dist/utils/console-monitor.js +90 -0
  34. package/dist/utils/console-monitor.js.map +1 -0
  35. package/dist/utils/device-profiles.d.ts +43 -0
  36. package/dist/utils/device-profiles.d.ts.map +1 -0
  37. package/dist/utils/device-profiles.js +132 -0
  38. package/dist/utils/device-profiles.js.map +1 -0
  39. package/dist/utils/network-monitor.d.ts +121 -0
  40. package/dist/utils/network-monitor.d.ts.map +1 -0
  41. package/dist/utils/network-monitor.js +238 -0
  42. package/dist/utils/network-monitor.js.map +1 -0
  43. package/dist/utils/page-snapshot.d.ts +12 -5
  44. package/dist/utils/page-snapshot.d.ts.map +1 -1
  45. package/dist/utils/page-snapshot.js +43 -2
  46. package/dist/utils/page-snapshot.js.map +1 -1
  47. package/dist/utils/performance.d.ts +43 -0
  48. package/dist/utils/performance.d.ts.map +1 -0
  49. package/dist/utils/performance.js +108 -0
  50. package/dist/utils/performance.js.map +1 -0
  51. package/dist/utils/screenshot-diff.d.ts +36 -0
  52. package/dist/utils/screenshot-diff.d.ts.map +1 -0
  53. package/dist/utils/screenshot-diff.js +62 -0
  54. package/dist/utils/screenshot-diff.js.map +1 -0
  55. package/dist/utils/selector-engine.d.ts +53 -0
  56. package/dist/utils/selector-engine.d.ts.map +1 -0
  57. package/dist/utils/selector-engine.js +180 -0
  58. package/dist/utils/selector-engine.js.map +1 -0
  59. package/dist/utils/storage-inspector.d.ts +47 -0
  60. package/dist/utils/storage-inspector.d.ts.map +1 -0
  61. package/dist/utils/storage-inspector.js +71 -0
  62. package/dist/utils/storage-inspector.js.map +1 -0
  63. package/package.json +5 -1
package/dist/server.js CHANGED
@@ -2,11 +2,14 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { z } from "zod";
3
3
  import { sessionManager } from "./session/session-manager.js";
4
4
  import { walkFlow } from "./walker/flow-walker.js";
5
- import { resolvePersona, PERSONA_PRESETS, listPresetNames } from "./personas/engine.js";
5
+ import { resolvePersona, createCustomPersona, PERSONA_PRESETS, listPresetNames } from "./personas/engine.js";
6
6
  import { generateSessionReport } from "./feedback/generator.js";
7
+ import { generateHtmlSessionReport } from "./feedback/html-report.js";
7
8
  import { comparePersonaSessions, generateComparisonReport } from "./feedback/comparison.js";
8
9
  import { extractPageSnapshot } from "./utils/page-snapshot.js";
9
10
  import { createPage, navigateAndWait, closePage } from "./utils/browser.js";
11
+ import { compareScreenshots } from "./utils/screenshot-diff.js";
12
+ import { DEVICE_PROFILES, getDeviceProfile } from "./utils/device-profiles.js";
10
13
  /**
11
14
  * Serialize a PageSnapshot for text output (everything except the screenshot binary).
12
15
  */
@@ -23,31 +26,63 @@ function serializePageState(page) {
23
26
  formFields: page.formFields.map((f) => ({ selector: f.selector, type: f.type, placeholder: f.placeholder, ariaLabel: f.ariaLabel })),
24
27
  errorMessages: page.errorMessages,
25
28
  interactiveElementCount: page.interactiveElements.length,
29
+ // v0.3 metrics summary (compact)
30
+ ...(page.performance ? {
31
+ performance: {
32
+ lcp: page.performance.lcp,
33
+ lcpRating: page.performance.lcpRating,
34
+ cls: page.performance.cls,
35
+ clsRating: page.performance.clsRating,
36
+ fcp: page.performance.fcp,
37
+ ttfb: page.performance.ttfb,
38
+ resourceCount: page.performance.resourceCount,
39
+ },
40
+ } : {}),
41
+ ...(page.console && page.console.errors > 0 ? {
42
+ consoleErrors: page.console.errors,
43
+ consoleWarnings: page.console.warnings,
44
+ } : {}),
45
+ ...(page.network ? {
46
+ networkRequests: page.network.totalRequests,
47
+ networkFailed: page.network.failedRequests,
48
+ } : {}),
49
+ ...(page.accessibility ? {
50
+ a11yScore: page.accessibility.score,
51
+ a11yViolations: page.accessibility.violations.length,
52
+ } : {}),
26
53
  }, null, 2);
27
54
  }
28
55
  export function createServer() {
29
56
  const server = new McpServer({
30
57
  name: "userflow-mcp",
31
- version: "0.2.0",
58
+ version: "0.3.0",
32
59
  });
33
60
  // ═══════════════════════════════════════════════════════════════
34
61
  // STEP-BY-STEP TOOLS (Claude drives the simulation)
35
- // ═══════════════════════════════════════��═══════════════════════
62
+ // ═══════════════════════════════════════════════════════════════
36
63
  // ── start_session ──────────────────────────────────────────────
37
- server.tool("start_session", `Start a user flow session. Opens a browser, navigates to the URL, and returns the first page snapshot with a screenshot. Claude then drives the simulation step-by-step using the "step" tool, roleplaying as the persona.
64
+ server.tool("start_session", `Start a user flow session. Opens a browser, navigates to the URL, and returns the first page snapshot with a screenshot plus Core Web Vitals, accessibility score, and network summary. Claude then drives the simulation step-by-step using the "step" tool, roleplaying as the persona.
38
65
 
39
66
  Workflow: start_session → step (repeat) → end_session
40
67
 
41
- The persona definition is returned so you can roleplay as them — adopt their tech literacy, patience, goals, and behavioral patterns when deciding what to click next.`, {
68
+ The persona definition is returned so you can roleplay as them — adopt their tech literacy, patience, goals, and behavioral patterns when deciding what to click next.
69
+
70
+ v0.3: Supports device emulation via device_profile parameter. Use list_devices to see all options.`, {
42
71
  url: z.string().url().describe("The URL to start the session at"),
43
72
  persona: z.string().optional().describe("Persona name (e.g., 'Alex', 'Morgan'). Use list_personas to see all. Omit to be persona-free."),
44
73
  viewport_width: z.number().optional().describe("Override viewport width"),
45
74
  viewport_height: z.number().optional().describe("Override viewport height"),
46
- }, async ({ url, persona: personaName, viewport_width, viewport_height }) => {
75
+ device_profile: z.string().optional().describe("Device emulation profile (e.g., 'iphone-14-pro', 'pixel-7', 'ipad-pro-12-9'). Use list_devices to see all."),
76
+ }, async ({ url, persona: personaName, viewport_width, viewport_height, device_profile }) => {
77
+ // Resolve device profile if specified
78
+ const device = device_profile ? getDeviceProfile(device_profile) : undefined;
47
79
  const viewport = viewport_width || viewport_height
48
80
  ? { width: viewport_width, height: viewport_height }
49
- : undefined;
50
- const result = await sessionManager.createSession(url, personaName ?? undefined, viewport);
81
+ : device
82
+ ? { width: device.viewport.width, height: device.viewport.height }
83
+ : undefined;
84
+ const scaleFactor = device?.deviceScaleFactor;
85
+ const result = await sessionManager.createSession(url, personaName ?? undefined, viewport, scaleFactor);
51
86
  const personaBrief = result.persona
52
87
  ? [
53
88
  `## Persona: ${result.persona.name}`,
@@ -62,6 +97,7 @@ The persona definition is returned so you can roleplay as them — adopt their t
62
97
  ].filter(Boolean).join("\n")
63
98
  : "No persona selected — you decide how to navigate.";
64
99
  const pageState = serializePageState(result.page);
100
+ const deviceInfo = device ? `\n**Device:** ${device.name} (${device.viewport.width}×${device.viewport.height} @${device.deviceScaleFactor}x)` : "";
65
101
  return {
66
102
  content: [
67
103
  {
@@ -71,6 +107,7 @@ The persona definition is returned so you can roleplay as them — adopt their t
71
107
  `**Session ID:** ${result.sessionId}`,
72
108
  `**URL:** ${result.page.url}`,
73
109
  `**Title:** ${result.page.title}`,
110
+ deviceInfo,
74
111
  ``,
75
112
  personaBrief,
76
113
  ``,
@@ -89,10 +126,12 @@ The persona definition is returned so you can roleplay as them — adopt their t
89
126
  ],
90
127
  };
91
128
  });
92
- // ── step ────────���──────────────────────────────────────────────
129
+ // ── step ───────────────────────────────────────────────────────
93
130
  server.tool("step", `Execute one step in a session. Tell the MCP what action to take (click, type, scroll, etc.) and optionally record your persona thoughts, emotional state, and any friction you noticed. Returns the resulting page state with a new screenshot.
94
131
 
95
- Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wait`, {
132
+ Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wait
133
+
134
+ v0.3: Smart selector fallback — if your CSS selector fails, the engine will try alternative strategies (data-testid, aria-label, text content) automatically.`, {
96
135
  session_id: z.string().describe("Session ID from start_session"),
97
136
  action: z.enum(["click", "type", "scroll", "scroll_up", "navigate", "select", "hover", "press_key", "wait"])
98
137
  .describe("Action to perform"),
@@ -148,12 +187,21 @@ Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wai
148
187
  };
149
188
  });
150
189
  // ── end_session ────────────────────────────────────────────────
151
- server.tool("end_session", "End a session and get the final report. Closes the browser, computes friction score and emotional arc, and returns the full session transcript with all recorded thoughts, friction points, and recommendations.", {
190
+ server.tool("end_session", `End a session and get the final report. Closes the browser, computes friction score and emotional arc, and returns the full session transcript with all recorded thoughts, friction points, and recommendations.
191
+
192
+ v0.3: Report now includes Core Web Vitals, accessibility score, network summary, and console errors.`, {
152
193
  session_id: z.string().describe("Session ID to close"),
153
194
  goal_achieved: z.boolean().optional().describe("Did the persona achieve their goal?"),
154
195
  summary: z.string().optional().describe("Your overall summary of the session"),
155
- }, async ({ session_id, goal_achieved, summary }) => {
196
+ format: z.enum(["markdown", "html"]).optional().describe("Report format: 'markdown' (default) or 'html' for a rich standalone report with embedded screenshots"),
197
+ }, async ({ session_id, goal_achieved, summary, format }) => {
156
198
  const session = await sessionManager.endSession(session_id, goal_achieved, summary);
199
+ if (format === "html") {
200
+ const htmlReport = generateHtmlSessionReport(session);
201
+ return {
202
+ content: [{ type: "text", text: htmlReport }],
203
+ };
204
+ }
157
205
  const report = generateSessionReport(session);
158
206
  return {
159
207
  content: [{ type: "text", text: report }],
@@ -174,8 +222,167 @@ Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wai
174
222
  };
175
223
  });
176
224
  // ═══════════════════════════════════════════════════════════════
225
+ // v0.3 SESSION TOOLS (new capabilities)
226
+ // ═══════════════════════════════════════════════════════════════
227
+ // ── accessibility_audit ────────────────────────────────────────
228
+ server.tool("accessibility_audit", "Run a WCAG accessibility audit on the current page of a session using axe-core. Returns a score (0-100), all violations with WCAG criteria, and actionable fixes.", {
229
+ session_id: z.string().describe("Session ID"),
230
+ wcag_level: z.enum(["wcag2a", "wcag2aa", "wcag2aaa"]).optional().describe("WCAG conformance level (default: wcag2aa)"),
231
+ }, async ({ session_id, wcag_level }) => {
232
+ const report = await sessionManager.runAccessibilityAudit(session_id, wcag_level);
233
+ const lines = [
234
+ `# Accessibility Audit (${report.wcagLevel})`,
235
+ ``,
236
+ `**Score:** ${report.score}/100`,
237
+ `**Violations:** ${report.violations.length} (${report.violationsByImpact.critical} critical, ${report.violationsByImpact.serious} serious, ${report.violationsByImpact.moderate} moderate, ${report.violationsByImpact.minor} minor)`,
238
+ `**Passes:** ${report.passes} | **Incomplete:** ${report.incomplete}`,
239
+ ``,
240
+ ];
241
+ if (report.violations.length > 0) {
242
+ lines.push(`| Impact | Rule | Description | Affected | WCAG |`);
243
+ lines.push(`|--------|------|-------------|----------|------|`);
244
+ for (const v of report.violations) {
245
+ lines.push(`| ${v.impact} | [${v.id}](${v.helpUrl}) | ${v.description} | ${v.affectedNodes} nodes | ${v.wcagCriteria.join(", ") || "—"} |`);
246
+ }
247
+ lines.push(``);
248
+ }
249
+ return {
250
+ content: [{ type: "text", text: lines.join("\n") }],
251
+ };
252
+ });
253
+ // ── inspect_storage ────────────────────────────────────────────
254
+ server.tool("inspect_storage", "Inspect cookies, localStorage, and sessionStorage for the current page. Identifies tracking cookies and calculates total cookie size.", {
255
+ session_id: z.string().describe("Session ID"),
256
+ }, async ({ session_id }) => {
257
+ const data = await sessionManager.inspectStorage(session_id);
258
+ const lines = [
259
+ `# Storage Inspection`,
260
+ ``,
261
+ `| Storage | Count |`,
262
+ `|---------|-------|`,
263
+ `| Cookies | ${data.cookieCount} (${(data.totalCookieSize / 1024).toFixed(1)}KB) |`,
264
+ `| localStorage | ${data.localStorageKeys} keys |`,
265
+ `| sessionStorage | ${data.sessionStorageKeys} keys |`,
266
+ `| Tracking cookies | ${data.trackingCookies.length} |`,
267
+ ``,
268
+ ];
269
+ if (data.cookies.length > 0) {
270
+ lines.push(`## Cookies`);
271
+ lines.push(`| Name | Domain | Secure | HttpOnly | SameSite |`);
272
+ lines.push(`|------|--------|--------|----------|----------|`);
273
+ for (const c of data.cookies.slice(0, 20)) {
274
+ lines.push(`| ${c.name} | ${c.domain} | ${c.secure ? "✅" : "❌"} | ${c.httpOnly ? "✅" : "❌"} | ${c.sameSite} |`);
275
+ }
276
+ if (data.cookies.length > 20) {
277
+ lines.push(`| … | +${data.cookies.length - 20} more | | | |`);
278
+ }
279
+ lines.push(``);
280
+ }
281
+ if (data.trackingCookies.length > 0) {
282
+ lines.push(`## Tracking Cookies`);
283
+ for (const tc of data.trackingCookies) {
284
+ lines.push(`- **${tc.name}** (${tc.domain}) — ${tc.secure ? "secure" : "⚠️ insecure"}`);
285
+ }
286
+ lines.push(``);
287
+ }
288
+ return {
289
+ content: [{ type: "text", text: lines.join("\n") }],
290
+ };
291
+ });
292
+ // ── export_har ─────────────────────────────────────────────────
293
+ server.tool("export_har", "Export all network requests captured during the session as a HAR 1.2 log. Useful for analyzing network performance, finding slow requests, and debugging API calls.", {
294
+ session_id: z.string().describe("Session ID"),
295
+ }, async ({ session_id }) => {
296
+ const har = sessionManager.exportHar(session_id);
297
+ return {
298
+ content: [{ type: "text", text: JSON.stringify(har, null, 2) }],
299
+ };
300
+ });
301
+ // ── compare_screenshots ────────────────────────────────────────
302
+ server.tool("compare_screenshots", "Compare two base64 PNG screenshots pixel-by-pixel. Returns match percentage and a visual diff image highlighting differences. Useful for detecting UI regressions or verifying changes.", {
303
+ screenshot1: z.string().describe("First base64-encoded PNG screenshot"),
304
+ screenshot2: z.string().describe("Second base64-encoded PNG screenshot"),
305
+ threshold: z.number().optional().describe("Per-pixel color tolerance 0-1 (default: 0.1)"),
306
+ }, async ({ screenshot1, screenshot2, threshold }) => {
307
+ const diff = await compareScreenshots(screenshot1, screenshot2, threshold);
308
+ return {
309
+ content: [
310
+ {
311
+ type: "text",
312
+ text: [
313
+ `# Screenshot Comparison`,
314
+ ``,
315
+ `**Match:** ${diff.matchPercentage}%`,
316
+ `**Different pixels:** ${diff.diffPixels.toLocaleString()} / ${diff.totalPixels.toLocaleString()}`,
317
+ `**Canvas size:** ${diff.dimensions.width}×${diff.dimensions.height}`,
318
+ ].join("\n"),
319
+ },
320
+ {
321
+ type: "image",
322
+ data: diff.diffImage,
323
+ mimeType: "image/png",
324
+ },
325
+ ],
326
+ };
327
+ });
328
+ // ── create_persona ─────────────────────────────────────────────
329
+ server.tool("create_persona", "Create a custom persona for testing. Define their name, goals, tech literacy, patience, device preference, and accessibility needs. Returns the persona definition to use with start_session.", {
330
+ name: z.string().describe("Persona name (e.g., 'Maria')"),
331
+ description: z.string().describe("One-line description (e.g., 'Senior citizen shopping for first smartphone')"),
332
+ goals: z.array(z.string()).min(1).describe("What they want to accomplish"),
333
+ background: z.string().optional().describe("Background story"),
334
+ tech_literacy: z.enum(["novice", "basic", "intermediate", "advanced", "expert"]).optional().describe("Tech literacy level (default: intermediate)"),
335
+ patience: z.enum(["very_low", "low", "moderate", "high", "very_high"]).optional().describe("Patience level (default: moderate)"),
336
+ age_group: z.enum(["teen", "young_adult", "adult", "middle_aged", "senior"]).optional().describe("Age group"),
337
+ device: z.enum(["mobile", "tablet", "desktop"]).optional().describe("Preferred device"),
338
+ accessibility_needs: z.array(z.enum(["none", "low_vision", "screen_reader", "motor_impaired", "cognitive"])).optional().describe("Accessibility needs"),
339
+ behavior_notes: z.array(z.string()).optional().describe("Special behavioral notes"),
340
+ }, async ({ name, description, goals, background, tech_literacy, patience, age_group, device, accessibility_needs, behavior_notes }) => {
341
+ const persona = createCustomPersona({
342
+ name,
343
+ description,
344
+ background,
345
+ goals,
346
+ traits: {
347
+ ...(tech_literacy ? { techLiteracy: tech_literacy } : {}),
348
+ ...(patience ? { patience } : {}),
349
+ ...(age_group ? { ageGroup: age_group } : {}),
350
+ ...(device ? { devicePreference: device } : {}),
351
+ ...(accessibility_needs ? { accessibilityNeeds: accessibility_needs } : {}),
352
+ },
353
+ behaviorNotes: behavior_notes,
354
+ });
355
+ return {
356
+ content: [{
357
+ type: "text",
358
+ text: [
359
+ `# Custom Persona Created`,
360
+ ``,
361
+ `**${persona.name}** — ${persona.description}`,
362
+ `**ID:** ${persona.id}`,
363
+ ``,
364
+ `**Traits:**`,
365
+ `- Tech: ${persona.traits.techLiteracy}`,
366
+ `- Patience: ${persona.traits.patience}`,
367
+ `- Age: ${persona.traits.ageGroup}`,
368
+ `- Device: ${persona.traits.devicePreference}`,
369
+ `- A11y: ${persona.traits.accessibilityNeeds.join(", ")}`,
370
+ ``,
371
+ `**Goals:** ${persona.goals.join(", ")}`,
372
+ ``,
373
+ `---`,
374
+ `Use the persona name "${persona.name}" with start_session to begin a session as this persona.`,
375
+ ``,
376
+ `\`\`\`json`,
377
+ JSON.stringify(persona, null, 2),
378
+ `\`\`\``,
379
+ ].join("\n"),
380
+ }],
381
+ };
382
+ });
383
+ // ═══════════════════════════════════════════════════════════════
177
384
  // QUICK TOOLS (stateless, single-page)
178
- // ═════════════���═════════════════════════════════════════════════
385
+ // ═══════════════════════════════════════════════════════════════
179
386
  // ── quick_scan ─────────────────────────────────────────────────
180
387
  server.tool("quick_scan", "Fast single-page scan. Navigates to the URL, captures a screenshot, extracts all interactive elements, headings, forms, and error messages. Returns everything to you for analysis — no session state required.", {
181
388
  url: z.string().url().describe("URL to scan"),
@@ -202,7 +409,7 @@ Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wai
202
409
  await closePage(page);
203
410
  }
204
411
  });
205
- // ── list_personas ───────────────────────────────────���──────────
412
+ // ── list_personas ──────────────────────────────────────────────
206
413
  server.tool("list_personas", "List all built-in personas with their full trait definitions. Use this to choose a persona for start_session, or to understand each persona before roleplaying as them.", {}, async () => {
207
414
  const personas = PERSONA_PRESETS.map((p) => ({
208
415
  id: p.id,
@@ -230,9 +437,28 @@ Actions: click, type, scroll, scroll_up, navigate, select, hover, press_key, wai
230
437
  }],
231
438
  };
232
439
  });
440
+ // ── list_devices ───────────────────────────────────────────────
441
+ server.tool("list_devices", "List all available device emulation profiles (phones, tablets, desktops). Use the device key with start_session's device_profile parameter.", {}, async () => {
442
+ const entries = Object.entries(DEVICE_PROFILES);
443
+ const markdown = entries.map(([key, profile]) => `| ${key} | ${profile.name} | ${profile.viewport.width}×${profile.viewport.height} | @${profile.deviceScaleFactor}x | ${profile.isMobile ? "📱" : "🖥️"} | ${profile.hasTouch ? "✅" : "❌"} |`).join("\n");
444
+ return {
445
+ content: [{
446
+ type: "text",
447
+ text: [
448
+ `# Device Profiles`,
449
+ ``,
450
+ `| Key | Name | Viewport | Scale | Type | Touch |`,
451
+ `|-----|------|----------|-------|------|-------|`,
452
+ markdown,
453
+ ``,
454
+ `Use the key (first column) with \`start_session\`'s \`device_profile\` parameter.`,
455
+ ].join("\n"),
456
+ }],
457
+ };
458
+ });
233
459
  // ═══════════════════════════════════════════════════════════════
234
460
  // AUTO TOOLS (legacy heuristic walker — fast fallback)
235
- // ══════════════════════════════════���════════════════════════════
461
+ // ═══════════════════════════════════════════════════════════════
236
462
  // ── auto_walk ──────────────────────────────────────────────────
237
463
  server.tool("auto_walk", "Fast automated walk using heuristic-based navigation (no AI reasoning). Runs the full flow autonomously and returns a report. Use this for quick scans when you don't need to drive step-by-step.", {
238
464
  url: z.string().url().describe("Starting URL"),
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { Persona, PageSnapshot, UserSession } from "../types.js";
1
+ import type { Persona, PageSnapshot, UserSession, AccessibilityReport, StorageData, NetworkSummary } from "../types.js";
2
2
  import type { StepInput, StepResult } from "./types.js";
3
+ import type { HarLog } from "../utils/network-monitor.js";
3
4
  /**
4
5
  * Manages live browser sessions for step-by-step user flow simulation.
5
6
  * Each session holds a persistent Puppeteer page that survives across tool calls.
@@ -40,6 +41,22 @@ declare class SessionManager {
40
41
  * Close sessions older than TTL.
41
42
  */
42
43
  private cleanupStaleSessions;
44
+ /**
45
+ * Run an accessibility audit on the current page of a session.
46
+ */
47
+ runAccessibilityAudit(sessionId: string, wcagLevel?: "wcag2a" | "wcag2aa" | "wcag2aaa"): Promise<AccessibilityReport>;
48
+ /**
49
+ * Inspect browser storage (cookies, localStorage, sessionStorage) for a session.
50
+ */
51
+ inspectStorage(sessionId: string): Promise<StorageData>;
52
+ /**
53
+ * Get network summary for a session.
54
+ */
55
+ getNetworkSummary(sessionId: string): NetworkSummary;
56
+ /**
57
+ * Export HAR log for a session's network activity.
58
+ */
59
+ exportHar(sessionId: string): HarLog;
43
60
  /**
44
61
  * Get count of active sessions (for diagnostics).
45
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AACrF,OAAO,KAAK,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAcrE;;;GAGG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,eAAe,CAA+C;;IAOtE;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAChE,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAuEzG;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA2D3E;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAKhF;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAqBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBlC;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiB,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvI,OAAO,KAAK,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAmB1D;;;GAGG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,eAAe,CAA+C;;IAOtE;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAChE,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAsFzG;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA+D3E;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAShF;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAyBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAC5C,OAAO,CAAC,mBAAmB,CAAC;IAK/B;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAK7D;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAKpD;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKpC;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBlC;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -4,6 +4,11 @@ import { executeAction } from "../utils/actions.js";
4
4
  import { SessionRecorder } from "../walker/session-recorder.js";
5
5
  import { resolvePersona } from "../personas/engine.js";
6
6
  import { getViewport } from "../personas/engine.js";
7
+ import { NetworkMonitor } from "../utils/network-monitor.js";
8
+ import { ConsoleMonitor } from "../utils/console-monitor.js";
9
+ import { injectPerformanceObservers } from "../utils/performance.js";
10
+ import { runAccessibilityAudit } from "../utils/accessibility.js";
11
+ import { inspectStorage } from "../utils/storage-inspector.js";
7
12
  import { randomUUID } from "node:crypto";
8
13
  const NAVIGATION_TIMEOUT = 30_000;
9
14
  const DEFAULT_SCALE_FACTOR = 2;
@@ -47,6 +52,13 @@ class SessionManager {
47
52
  height: finalViewport.height,
48
53
  deviceScaleFactor: deviceScaleFactor ?? DEFAULT_SCALE_FACTOR,
49
54
  });
55
+ // Attach monitors BEFORE navigation so they capture everything
56
+ const networkMonitor = new NetworkMonitor();
57
+ networkMonitor.attach(page);
58
+ const consoleMonitor = new ConsoleMonitor();
59
+ consoleMonitor.attach(page);
60
+ // Inject performance observers before navigation
61
+ await injectPerformanceObservers(page);
50
62
  // Navigate to starting URL
51
63
  await page.goto(url, { waitUntil: "networkidle2", timeout: NAVIGATION_TIMEOUT });
52
64
  // Create session
@@ -77,10 +89,15 @@ class SessionManager {
77
89
  viewport: finalViewport,
78
90
  createdAt: new Date().toISOString(),
79
91
  locked: false,
92
+ networkMonitor,
93
+ consoleMonitor,
80
94
  };
81
95
  this.sessions.set(sessionId, session);
82
- // Extract initial snapshot
83
- const snapshot = await extractPageSnapshot(page);
96
+ // Extract initial snapshot (full audit on first page)
97
+ const snapshot = await extractPageSnapshot(page, {
98
+ networkMonitor,
99
+ consoleMonitor,
100
+ });
84
101
  return { sessionId, persona, page: snapshot };
85
102
  }
86
103
  /**
@@ -103,8 +120,12 @@ class SessionManager {
103
120
  value: input.value,
104
121
  scrollAmount: input.scrollAmount,
105
122
  });
106
- // Extract new page state
107
- const snapshot = await extractPageSnapshot(session.page);
123
+ // Extract new page state (lightweight for step speed — no a11y/storage per step)
124
+ const snapshot = await extractPageSnapshot(session.page, {
125
+ networkMonitor: session.networkMonitor,
126
+ consoleMonitor: session.consoleMonitor,
127
+ lightweight: true,
128
+ });
108
129
  // Build friction points from Claude's notes
109
130
  const frictionPoints = (input.frictionNotes ?? []).map((note, i) => ({
110
131
  id: `step-${session.recorder.getStepCount()}-friction-${i}`,
@@ -144,13 +165,20 @@ class SessionManager {
144
165
  */
145
166
  async getPageState(sessionId, fullPage) {
146
167
  const session = this.getSessionOrThrow(sessionId);
147
- return extractPageSnapshot(session.page, { fullPage });
168
+ return extractPageSnapshot(session.page, {
169
+ fullPage,
170
+ networkMonitor: session.networkMonitor,
171
+ consoleMonitor: session.consoleMonitor,
172
+ });
148
173
  }
149
174
  /**
150
175
  * End a session: close the browser page, finalize the session, return transcript.
151
176
  */
152
177
  async endSession(sessionId, goalAchieved, summaryNotes) {
153
178
  const session = this.getSessionOrThrow(sessionId);
179
+ // Detach monitors before closing
180
+ session.networkMonitor.detach();
181
+ session.consoleMonitor.detach();
154
182
  try {
155
183
  // Close the browser page
156
184
  if (!session.page.isClosed()) {
@@ -196,6 +224,34 @@ class SessionManager {
196
224
  }
197
225
  }
198
226
  }
227
+ /**
228
+ * Run an accessibility audit on the current page of a session.
229
+ */
230
+ async runAccessibilityAudit(sessionId, wcagLevel) {
231
+ const session = this.getSessionOrThrow(sessionId);
232
+ return runAccessibilityAudit(session.page, { wcagLevel });
233
+ }
234
+ /**
235
+ * Inspect browser storage (cookies, localStorage, sessionStorage) for a session.
236
+ */
237
+ async inspectStorage(sessionId) {
238
+ const session = this.getSessionOrThrow(sessionId);
239
+ return inspectStorage(session.page);
240
+ }
241
+ /**
242
+ * Get network summary for a session.
243
+ */
244
+ getNetworkSummary(sessionId) {
245
+ const session = this.getSessionOrThrow(sessionId);
246
+ return session.networkMonitor.getSummary();
247
+ }
248
+ /**
249
+ * Export HAR log for a session's network activity.
250
+ */
251
+ exportHar(sessionId) {
252
+ const session = this.getSessionOrThrow(sessionId);
253
+ return session.networkMonitor.toHAR();
254
+ }
199
255
  /**
200
256
  * Get count of active sessions (for diagnostics).
201
257
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}