@explainui/mcp 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -109,17 +109,16 @@ Load your project configuration. **Call this first** before any analysis.
109
109
 
110
110
  ### `explainui_analyze`
111
111
 
112
- Run a UX QA check. Captures screenshots at 3 viewports (desktop 1280×800, tablet 768×1024, mobile 375×812) with scroll positions, then sends to GPT-4o for analysis.
112
+ Run a UX QA check. Captures screenshots (desktop 1440×900, multiple scroll positions) and runs analysis against your project's UX constraints. Iteration is tracked automatically — never pass an iteration number.
113
113
 
114
114
  | Parameter | Type | Required | Description |
115
115
  |---|---|---|---|
116
116
  | `project_id` | string | Yes | Project ID from attach step |
117
- | `page_key` | string | Yes | Page to check (e.g. `homepage`, `pricing`) |
118
- | `iteration` | integer | Yes | Iteration count (110), increment after each call |
119
- | `this_iteration` | string | Yes | What was built/changed (40–2000 chars) |
120
- | `git_snapshot_hash` | string | No | Short SHA from pre-analysis commit |
117
+ | `page_key` | string | Yes | Page to check must exactly match a `page_key` from attach |
118
+ | `changes_made` | string | Yes | What was built/changed since last analysis (402000 chars). For first run: describe the current state of the page. |
119
+ | `git_snapshot_hash` | string | No | Short SHA (`git rev-parse --short HEAD`). Pass `null` if git unavailable. |
121
120
 
122
- **Returns:** Pass/fail verdict, per-check results, issues with severity and fix suggestions.
121
+ **Returns:** Pass/fail verdict, per-check results, issues grouped by fix type, and a `NEXT STEP` instruction block that tells the agent exactly what to do next.
123
122
 
124
123
  ### `explainui_close_project`
125
124
 
@@ -133,14 +132,18 @@ End the session. Releases browser resources and clears cached config.
133
132
  ## Typical Workflow
134
133
 
135
134
  ```
136
- 1. explainui_attach_project → load project config
137
- 2. (write code / make changes)
138
- 3. explainui_analyze → capture + GPT-4o analysis
139
- 4. (fix any issues found)
135
+ 1. explainui_attach_project → load config, shows pages + quota, asks which to analyze
136
+ 2. (user confirms pages, e.g. "homepage and pricing")
137
+ 3. explainui_analyze → capture + analysis (iteration tracked automatically)
138
+ 4. (agent applies all fixes listed)
140
139
  5. explainui_analyze → re-check (iteration 2)
141
- 6. explainui_close_project → cleanup
140
+ 6. ... repeat until next_action="done" or "review_human"
141
+ 7. explainui_analyze → next confirmed page
142
+ 8. explainui_close_project → cleanup when all pages done
142
143
  ```
143
144
 
145
+ The agent never needs to count iterations or ask whether to run analysis — the MCP response includes a `NEXT STEP` block with explicit instructions.
146
+
144
147
  ## Development
145
148
 
146
149
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,MAAM;IAa1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAK1C;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgCjE;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAY5D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAQtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,MAAM;IAa1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAK1C;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCjE;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAY5D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAQtC"}
package/dist/client.js CHANGED
@@ -61,6 +61,10 @@ export class ApiClient {
61
61
  },
62
62
  trigger_threshold: data.trigger_threshold || "major_features",
63
63
  fetched_at: Date.now(),
64
+ tier: data.tier || "free",
65
+ analyses_remaining: data.analyses_remaining ?? 0,
66
+ analyses_limit: data.analyses_limit ?? 0,
67
+ last_run_page_keys: data.last_run_page_keys || [],
64
68
  };
65
69
  }
66
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,6 +33,9 @@ const session = {
33
33
  platform: detectPlatform(),
34
34
  currentRunId: null,
35
35
  currentRunNumber: null,
36
+ iterationByPage: {},
37
+ selectedPages: null,
38
+ skippedPages: [],
36
39
  };
37
40
  // ── Config + Client ────────────────────────────────────────────────────────
38
41
  const config = loadConfig();
@@ -46,20 +49,32 @@ const server = new McpServer({
46
49
  server.tool("explainui_attach_project", `Load your ExplainUI project configuration into this session.
47
50
 
48
51
  WHEN TO CALL:
49
- Immediately when the user provides their project ID in any of these forms:
52
+ Immediately when the user provides their project ID in any form:
50
53
  "ExplainUI project: proj_abc123"
51
- "My ExplainUI project is proj_abc123"
52
- "proj_abc123" (if ExplainUI context is established)
53
- Call BEFORE writing any code. BEFORE starting any task. First action always.
54
+ "proj_abc123"
55
+ Call this BEFORE any code changes. First action always.
54
56
 
55
- WHAT THIS LOADS AND CACHES FOR THE ENTIRE SESSION:
56
- - pages[]: every configured page with page_key → URL mapping
57
- - constraint_bundle: design constraints + intentional decisions to skip
58
- - trigger_threshold: when to auto-call analyze
59
- - project name + tier
57
+ AFTER LOADING present this to the user (fill in real values):
60
58
 
61
- CONFIG IS CACHED: If called again for the same project_id within 5 minutes,
62
- returns cached result without hitting the API.`, {
59
+ Project: [name] ([project_id])
60
+ Tier: [tier] · Quota: [analyses_remaining] of [analyses_limit] analyses remaining
61
+
62
+ Pages configured:
63
+ • [page_key] → [url]
64
+ • [page_key] → [url]
65
+
66
+ Last session analyzed: [last_run_page_keys, or "none yet" if empty]
67
+
68
+ Which pages should I check this session?
69
+ (Say "all", "same as last time", or list specific page keys like "homepage, pricing")
70
+
71
+ Wait for the user's answer. Store the confirmed pages mentally for this session.
72
+ Once confirmed, analyze those pages automatically — do NOT ask again this session.
73
+
74
+ If the user says "skip [page]" at any point, stop analyzing that page for this session.
75
+ If no previous run exists, default to all pages.
76
+
77
+ CONFIG IS CACHED for 5 minutes.`, {
63
78
  project_id: z
64
79
  .string()
65
80
  .describe("The project ID from explainui.com/dashboard, format: proj_xxxxxxxx"),
@@ -67,64 +82,50 @@ returns cached result without hitting the API.`, {
67
82
  return attachProject(session, client, project_id);
68
83
  });
69
84
  // ── Tool: explainui_analyze ────────────────────────────────────────────────
70
- server.tool("explainui_analyze", `Run a UX QA check on a locally running web page. Captures screenshots at 3 viewports (desktop, tablet, mobile) and sends them to GPT-4o for professional UX analysis.
85
+ server.tool("explainui_analyze", `Run a UX QA check on a locally running page.
86
+
87
+ WHEN TO CALL:
88
+ Automatically after any meaningful UI change on a page the user confirmed.
89
+ Do NOT ask "should I run an analysis?" — just run it.
90
+ Only analyze pages the user confirmed in explainui_attach_project this session.
91
+ If the user said "skip [page]", do not call this for that page.
71
92
 
72
- Call this after each meaningful code change. The tool:
73
- 1. Launches headless Chromium and captures the page at multiple viewports
74
- 2. Sends screenshots + context to the ExplainUI API
75
- 3. Returns issues with severity, fix suggestions, and bounding boxes
93
+ HOW THE LOOP WORKS (per page):
94
+ 1. Call explainui_analyze iteration is tracked automatically, never pass a number
95
+ 2. next_action="fix" apply ALL fixes listed, then call again (same page)
96
+ 3. next_action="done" all checks passed move to next confirmed page
97
+ 4. next_action="review_human" → STOP for this page — tell user, share report_url, move on
76
98
 
77
- IMPORTANT: Always call explainui_attach_project first to load the project config.`, {
99
+ ACROSS PAGES:
100
+ - Work through each confirmed page one at a time (finish all iterations on one page, then next)
101
+ - When all confirmed pages are done or review_human, call explainui_close_project
102
+
103
+ IMPORTANT: Call explainui_attach_project before the first analyze call in a session.`, {
78
104
  project_id: z
79
105
  .string()
80
- .describe("proj_xxx from the attach_project result this session"),
106
+ .describe("The project ID from explainui_attach_project. Format: proj_xxxxxxxx"),
81
107
  page_key: z
82
108
  .string()
83
- .describe("Which page to check. E.g., 'homepage', 'pricing'. Must match a page in project config."),
84
- iteration: z
85
- .number()
86
- .int()
87
- .min(1)
88
- .max(10)
89
- .describe("Current iteration count for this page_key. Start at 1. Increment after each call."),
90
- this_iteration: z
109
+ .describe("Which page to analyze. Must exactly match one of the page_keys returned by explainui_attach_project."),
110
+ changes_made: z
91
111
  .string()
92
112
  .min(40)
93
113
  .max(2000)
94
- .describe("What was just built or changed. Be specific — GPT uses this to verify. Minimum 40 characters."),
114
+ .describe("Describe what was built or changed since the last analysis. Be specific — list the files and UI elements changed. " +
115
+ "Format: 'Changed X in file Y. Added Z to component W.' Minimum 40 characters. " +
116
+ "For iteration=1 (first run): describe the current state of the page, not changes."),
95
117
  git_snapshot_hash: z
96
118
  .string()
97
119
  .nullable()
98
120
  .optional()
99
- .describe("Short SHA from the pre-analysis git commit. null if git unavailable."),
100
- viewport: z
101
- .enum(["desktop", "tablet", "mobile", "all"])
102
- .optional()
103
- .default("all")
104
- .describe("Which viewport(s) to capture. Default: 'all' (desktop 1440px + tablet 768px + mobile 375px). Use 'desktop' for faster runs."),
105
- scroll_depth: z
106
- .enum(["full", "above_fold"])
107
- .optional()
108
- .default("full")
109
- .describe("How much of the page to capture. Default: 'full' (scrolls entire page). Use 'above_fold' for faster hero/nav-only checks."),
110
- focus_areas: z
111
- .array(z.enum(["contrast", "cta", "forms", "spacing", "typography", "navigation", "accessibility"]))
112
- .optional()
113
- .default([])
114
- .describe("Narrow analysis to specific UX areas. Default: [] (all areas). Example: ['contrast', 'forms'] to focus only on contrast and form issues."),
115
- user_goal: z
116
- .string()
117
- .max(500)
118
- .optional()
119
- .default("")
120
- .describe("Purpose of this page in 1-2 sentences. Helps AI give contextual feedback. Example: 'SaaS pricing page — goal is to convert free users to paid plans.'"),
121
- skip_iteration_validation: z
122
- .boolean()
123
- .optional()
124
- .default(false)
125
- .describe("Skip the vague-description guard on this_iteration. Default: false. Only set true if your description is intentionally short."),
121
+ .describe("Short git SHA of the current commit (run: git rev-parse --short HEAD). Pass null if git is unavailable."),
126
122
  }, async (args) => {
127
- return analyze(session, client, args);
123
+ return analyze(session, client, {
124
+ project_id: args.project_id,
125
+ page_key: args.page_key,
126
+ changes_made: args.changes_made,
127
+ git_snapshot_hash: args.git_snapshot_hash,
128
+ });
128
129
  });
129
130
  // ── Tool: explainui_close_project ──────────────────────────────────────────
130
131
  server.tool("explainui_close_project", `Mark the ExplainUI session as complete. Housekeeping — always call when done.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -19,14 +19,8 @@ export declare function attachProject(session: ExplainUISession, client: ApiClie
19
19
  export declare function analyze(session: ExplainUISession, client: ApiClient, args: {
20
20
  project_id: string;
21
21
  page_key: string;
22
- iteration: number;
23
- this_iteration: string;
22
+ changes_made: string;
24
23
  git_snapshot_hash?: string | null;
25
- viewport?: "desktop" | "tablet" | "mobile" | "all";
26
- scroll_depth?: "full" | "above_fold";
27
- focus_areas?: string[];
28
- user_goal?: string;
29
- skip_iteration_validation?: boolean;
30
24
  }): Promise<{
31
25
  content: Array<{
32
26
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4E7D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,GACA,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuH7D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB7D"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyF7D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,GACA,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4H7D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4B7D"}
package/dist/tools.js CHANGED
@@ -20,8 +20,8 @@ export async function attachProject(session, client, projectId) {
20
20
  type: "text",
21
21
  text: [
22
22
  `✅ Project already loaded: ${config.name} (${config.project_id})`,
23
+ `Tier: ${config.tier} · Quota: ${config.analyses_remaining} of ${config.analyses_limit} remaining`,
23
24
  `Pages: ${config.pages.map((p) => p.page_key).join(", ")}`,
24
- `Trigger: ${config.trigger_threshold}`,
25
25
  `(cached — valid for ${Math.round((CONFIG_CACHE_TTL_MS - (Date.now() - config.fetched_at)) / 1000)}s)`,
26
26
  ].join("\n"),
27
27
  },
@@ -34,25 +34,35 @@ export async function attachProject(session, client, projectId) {
34
34
  const pageList = config.pages
35
35
  .map((p) => ` • ${p.page_key} → ${p.url}${p.description ? ` (${p.description})` : ""}`)
36
36
  .join("\n");
37
+ const lastRunInfo = config.last_run_page_keys.length > 0
38
+ ? `Last session analyzed: ${config.last_run_page_keys.join(", ")}`
39
+ : "Last session analyzed: none yet (first run)";
40
+ const quotaLine = `Quota: ${config.analyses_remaining} of ${config.analyses_limit} analyses remaining (${config.tier} tier)`;
41
+ const defaultPrompt = config.last_run_page_keys.length > 0
42
+ ? `(Default: ${config.last_run_page_keys.join(", ")} — same as last session. Say "all", "same", or list specific page keys.)`
43
+ : `(Default: all pages. Say "all" or list specific page keys like "homepage, pricing".)`;
37
44
  return {
38
45
  content: [
39
46
  {
40
47
  type: "text",
41
48
  text: [
42
49
  `✅ Project loaded: ${config.name} (${config.project_id})`,
50
+ `Tier: ${config.tier} · ${quotaLine}`,
43
51
  ``,
44
52
  `Pages:`,
45
53
  pageList,
46
54
  ``,
47
- `Trigger threshold: ${config.trigger_threshold}`,
55
+ lastRunInfo,
56
+ ``,
48
57
  config.constraint_bundle.user_goal
49
- ? `User goal: ${config.constraint_bundle.user_goal}`
58
+ ? `Goal: ${config.constraint_bundle.user_goal}`
50
59
  : "",
51
60
  config.constraint_bundle.do_not_flag.length > 0
52
61
  ? `Do not flag: ${config.constraint_bundle.do_not_flag.join(", ")}`
53
62
  : "",
54
63
  ``,
55
- `You may now call explainui_analyze for any page_key listed above.`,
64
+ `Which pages should I analyze this session?`,
65
+ defaultPrompt,
56
66
  ]
57
67
  .filter(Boolean)
58
68
  .join("\n"),
@@ -146,6 +156,9 @@ export async function analyze(session, client, args) {
146
156
  ],
147
157
  };
148
158
  }
159
+ // Auto-manage iteration: increment per page_key, reset when starting fresh
160
+ const currentIteration = (session.iterationByPage[args.page_key] ?? 0) + 1;
161
+ session.iterationByPage[args.page_key] = currentIteration;
149
162
  // Step 2: Send to API
150
163
  try {
151
164
  // Build element map: screenshot_label → visible DOM elements
@@ -155,17 +168,14 @@ export async function analyze(session, client, args) {
155
168
  elementMap[s.label] = s.elements;
156
169
  }
157
170
  }
158
- // Build constraint_bundle: merge project config with per-call user_goal override
159
- const baseConstraints = session.projectConfig.constraint_bundle ?? {};
160
- const constraintBundle = args.user_goal
161
- ? { ...baseConstraints, user_goal: args.user_goal }
162
- : baseConstraints;
171
+ // constraint_bundle always comes from project config no per-call override
172
+ const constraintBundle = session.projectConfig.constraint_bundle ?? {};
163
173
  const response = await client.analyze({
164
174
  project_id: args.project_id,
165
175
  page_key: args.page_key,
166
176
  url: pageConfig.url,
167
- iteration: args.iteration,
168
- this_iteration: args.this_iteration,
177
+ iteration: currentIteration,
178
+ this_iteration: args.changes_made,
169
179
  license_key: "", // Filled by client
170
180
  screenshots_base64: capture.screenshots.map((s) => s.data),
171
181
  screenshot_labels: capture.screenshots.map((s) => s.label),
@@ -174,14 +184,17 @@ export async function analyze(session, client, args) {
174
184
  axe_violations: capture.axe_violations,
175
185
  element_map: Object.keys(elementMap).length > 0 ? elementMap : undefined,
176
186
  constraint_bundle: constraintBundle,
177
- skip_iteration_validation: args.skip_iteration_validation ?? false,
178
- focus_areas: args.focus_areas && args.focus_areas.length > 0 ? args.focus_areas : undefined,
187
+ skip_iteration_validation: false,
179
188
  });
180
189
  // Track run state in session
181
190
  if (response.run_id) {
182
191
  session.currentRunId = response.run_id;
183
192
  session.currentRunNumber = response.run_number ?? null;
184
193
  }
194
+ // If done or max reached, reset iteration counter for this page so next run starts at 1
195
+ if (response.next_action === "done" || response.next_action === "review_human" || response.max_iterations_reached) {
196
+ delete session.iterationByPage[args.page_key];
197
+ }
185
198
  // Step 3: Format response for Claude
186
199
  return { content: [{ type: "text", text: formatResponse(response) }] };
187
200
  }
@@ -207,6 +220,9 @@ export async function closeProject(session, _client, args) {
207
220
  session.projectConfig = null;
208
221
  session.currentRunId = null;
209
222
  session.currentRunNumber = null;
223
+ session.iterationByPage = {};
224
+ session.selectedPages = null;
225
+ session.skippedPages = [];
210
226
  return {
211
227
  content: [
212
228
  {
@@ -223,39 +239,64 @@ export async function closeProject(session, _client, args) {
223
239
  };
224
240
  }
225
241
  // ── Response Formatter ─────────────────────────────────────────────────────
242
+ // The first block the agent reads is always the NEXT STEP instruction.
243
+ // This eliminates all ambiguity — the agent never has to decide what to do.
226
244
  function formatResponse(resp) {
227
245
  const lines = [];
246
+ // ── Error path ───────────────────────────────────────────────────────────
228
247
  if (resp.error) {
229
248
  if (resp.error.code === "ITERATION_LIMIT_REACHED") {
230
- lines.push("🛑 STOP ITERATION LIMIT REACHED");
231
- lines.push("");
232
- lines.push("This run has already completed the maximum number of iterations.");
233
- lines.push("DO NOT call explainui_analyze again for this run.");
234
- lines.push("");
235
- lines.push("Tell the user:");
236
- lines.push(" • The remaining issues require human review and manual intervention.");
237
- lines.push(" • The full report is available in the ExplainUI dashboard.");
238
- lines.push(" To start a fresh analysis, call explainui_analyze with iteration=1.");
239
- lines.push("");
240
- lines.push("Call explainui_close_project with reason='all_pages_done' to end this session.");
249
+ lines.push("━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
250
+ lines.push("🛑 STOP. Do NOT call explainui_analyze again.");
251
+ lines.push("Tell the user: max iterations reached. Report: see ExplainUI dashboard.");
252
+ lines.push("Then call: explainui_close_project(reason='all_pages_done')");
253
+ lines.push("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
254
+ return lines.join("\n");
255
+ }
256
+ if (resp.error.code === "QUOTA_EXCEEDED") {
257
+ lines.push("━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
258
+ lines.push("🛑 STOP. Quota exceeded — do NOT retry.");
259
+ lines.push(`Tell the user: ${resp.error.message}`);
260
+ if (resp.error.upgrade_url)
261
+ lines.push(`Upgrade: ${resp.error.upgrade_url}`);
262
+ lines.push("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
241
263
  return lines.join("\n");
242
264
  }
243
- lines.push(`❌ Analysis Error`);
244
- lines.push(`Code: ${resp.error.code}`);
245
- lines.push(`Message: ${resp.error.message}`);
265
+ lines.push("━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
266
+ lines.push(`❌ Error: ${resp.error.code} — ${resp.error.message}`);
246
267
  if (resp.error.hint)
247
268
  lines.push(`Hint: ${resp.error.hint}`);
269
+ lines.push("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
248
270
  return lines.join("\n");
249
271
  }
250
- const emoji = resp.pass ? "✅" : "🔧";
251
- const runInfo = resp.run_number ? ` (Run ${resp.run_number})` : "";
252
- lines.push(`${emoji} UX Design Analysis — ${resp.page_key} iteration ${resp.iteration}${runInfo}`);
253
- lines.push(`Pass: ${resp.pass}`);
254
- lines.push(`Next action: ${resp.next_action}`);
272
+ const runInfo = resp.run_number ? ` · Run ${resp.run_number}` : "";
273
+ // ── NEXT STEP block always first, always unambiguous ───────────────────
274
+ lines.push("━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
275
+ if (resp.next_action === "done" || (resp.pass && (!resp.issues || resp.issues.length === 0))) {
276
+ lines.push("✅ ALL CHECKS PASSED. No fixes needed.");
277
+ lines.push("Tell the user: UX analysis complete — no issues found.");
278
+ lines.push(`Report: ${resp.report_url || "see ExplainUI dashboard"}`);
279
+ lines.push("Then call: explainui_close_project(reason='all_pages_done')");
280
+ }
281
+ else if (resp.next_action === "review_human" || resp.max_iterations_reached) {
282
+ lines.push("⚠️ STOP. Max iterations reached — do NOT call explainui_analyze again.");
283
+ lines.push("Tell the user: remaining issues need human review.");
284
+ lines.push(`Report: ${resp.report_url || "see ExplainUI dashboard"}`);
285
+ lines.push("Then call: explainui_close_project(reason='all_pages_done')");
286
+ }
287
+ else {
288
+ const issueCount = resp.issues?.length ?? 0;
289
+ lines.push(`🔧 ${issueCount} issue(s) found. Apply ALL fixes below, then:`);
290
+ lines.push(`→ Call explainui_analyze(project_id="${resp.project_id}", page_key="${resp.page_key}", changes_made="<what you just fixed>")`);
291
+ lines.push("Iteration is tracked automatically. Do NOT ask the user — just fix and call.");
292
+ }
293
+ lines.push("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
294
+ lines.push("");
295
+ // ── Result summary ────────────────────────────────────────────────────────
296
+ lines.push(`Page: ${resp.page_key} · Iteration: ${resp.iteration}${runInfo}`);
255
297
  lines.push("");
256
- // Checks summary
298
+ // Checks
257
299
  if (resp.checks) {
258
- lines.push("Checks:");
259
300
  for (const [check, result] of Object.entries(resp.checks)) {
260
301
  const r = result;
261
302
  const icon = r.pass ? "✅" : "❌";
@@ -263,83 +304,49 @@ function formatResponse(resp) {
263
304
  }
264
305
  lines.push("");
265
306
  }
266
- // Issues grouped by fixability for clarity
267
- if (resp.issues && resp.issues.length > 0) {
268
- // Group by fixable_by for reporting
269
- const autoFixable = resp.issues.filter((i) => i.fixable_by === "css" || (!i.fixable_by && i.source !== "qa_defect"));
270
- const needsHtmlChanges = resp.issues.filter((i) => i.fixable_by === "html");
271
- const needsJsChanges = resp.issues.filter((i) => i.fixable_by === "js");
272
- const needsContentChanges = resp.issues.filter((i) => i.fixable_by === "content");
273
- const unknownFix = resp.issues.filter((i) => i.fixable_by === "unknown" || (i.fixable_by !== "css" && i.fixable_by !== "html" && i.fixable_by !== "js" && i.fixable_by !== "content" && !(!i.fixable_by && i.source !== "qa_defect")));
274
- function formatIssueBlock(issues, header) {
275
- if (!issues || issues.length === 0)
276
- return;
277
- lines.push(`${header} (${issues.length}):`);
307
+ // Corrected since last iteration
308
+ if (resp.issue_statuses) {
309
+ const corrected = Object.entries(resp.issue_statuses).filter(([, v]) => v === "CORRECTED");
310
+ if (corrected.length > 0) {
311
+ lines.push(`✅ Fixed since last iteration (${corrected.length}):`);
312
+ for (const [key] of corrected)
313
+ lines.push(` • ${key}`);
278
314
  lines.push("");
279
- for (const issue of issues) {
280
- const sourceTag = issue.source === "qa_defect" ? " [QA]" : "";
281
- const statusTag = resp.issue_statuses?.[issue.id]
282
- ? ` [${resp.issue_statuses[issue.id]}]`
283
- : "";
284
- lines.push(` [${issue.severity.toUpperCase()}]${sourceTag}${statusTag} ${issue.id}: ${issue.description}`);
285
- lines.push(` Category: ${issue.category || issue.type || "unknown"}`);
286
- if (issue.location?.viewport || issue.location?.description)
287
- lines.push(` Where: ${issue.location.viewport}${issue.location.description ? ` — ${issue.location.description}` : ""}`);
288
- if (issue.source !== "qa_defect")
289
- lines.push(` Confidence: ${(issue.confidence * 100).toFixed(0)}%`);
290
- if (issue.suggested_fix_context)
291
- lines.push(` Suggested fix: ${issue.suggested_fix_context}`);
292
- lines.push("");
293
- }
294
315
  }
295
- formatIssueBlock(autoFixable, "Auto-fixable (CSS changes)");
296
- formatIssueBlock(needsHtmlChanges, "Requires HTML changes");
297
- formatIssueBlock(needsJsChanges, "Requires JavaScript changes");
298
- formatIssueBlock(needsContentChanges, "Requires content/copy changes");
299
- formatIssueBlock(unknownFix, "Issues to review");
300
- // Corrected issues from previous iteration
301
- if (resp.issue_statuses) {
302
- const corrected = Object.entries(resp.issue_statuses).filter(([, v]) => v === "CORRECTED");
303
- if (corrected.length > 0) {
304
- lines.push(`✅ CORRECTED (${corrected.length} fixed since last iteration):`);
305
- for (const [key] of corrected) {
306
- lines.push(` • ${key.replace("corrected_", "")}`);
307
- }
308
- lines.push("");
309
- }
310
- }
311
- // Summary
312
- const cssCount = autoFixable.length;
313
- const manualCount = needsHtmlChanges.length + needsJsChanges.length + needsContentChanges.length;
314
- if (manualCount > 0) {
315
- lines.push(`Summary: ${cssCount} auto-fixable, ${manualCount} need manual/HTML changes.`);
316
- lines.push("");
316
+ }
317
+ // Issues grouped by fix type
318
+ if (resp.issues && resp.issues.length > 0) {
319
+ const groups = { css: [], html: [], js: [], content: [], unknown: [] };
320
+ for (const issue of resp.issues) {
321
+ const key = issue.fixable_by && groups[issue.fixable_by] ? issue.fixable_by : "unknown";
322
+ groups[key].push(issue);
317
323
  }
318
- // Actionable instruction for the AI agent
319
- if (resp.next_action === "fix") {
320
- lines.push("ACTION REQUIRED: Fix the issues listed above, then call explainui_analyze again with iteration incremented by 1.");
321
- if (manualCount > 0) {
322
- lines.push(`NOTE: ${manualCount} issue(s) require HTML/JS/content changes — apply those fixes too.`);
324
+ const groupLabels = {
325
+ css: "CSS fixes",
326
+ html: "HTML fixes",
327
+ js: "JavaScript fixes",
328
+ content: "Content/copy fixes",
329
+ unknown: "Review manually",
330
+ };
331
+ for (const [key, label] of Object.entries(groupLabels)) {
332
+ const bucket = groups[key];
333
+ if (!bucket || bucket.length === 0)
334
+ continue;
335
+ lines.push(`── ${label} (${bucket.length}) ──`);
336
+ for (const issue of bucket) {
337
+ const statusTag = resp.issue_statuses?.[issue.id] ? ` [${resp.issue_statuses[issue.id]}]` : "";
338
+ lines.push(` [${issue.severity.toUpperCase()}]${statusTag} ${issue.id}`);
339
+ lines.push(` ${issue.description}`);
340
+ if (issue.location?.viewport)
341
+ lines.push(` Where: ${issue.location.viewport}${issue.location.description ? ` — ${issue.location.description}` : ""}`);
342
+ if (issue.suggested_fix_context)
343
+ lines.push(` Fix: ${issue.suggested_fix_context}`);
344
+ lines.push("");
323
345
  }
324
346
  }
325
- else if (resp.next_action === "review_human") {
326
- lines.push("");
327
- lines.push("⚠️ HUMAN REVIEW REQUIRED — Maximum iterations reached.");
328
- lines.push("The remaining issues above could not be fully resolved within 5 iterations.");
329
- lines.push("Please tell the user:");
330
- lines.push(" 1. These issues need manual human review and intervention");
331
- lines.push(" 2. The full report with all iterations is available in the ExplainUI dashboard");
332
- lines.push(" 3. Some issues may require design decisions that go beyond automated fixes");
333
- lines.push("");
334
- lines.push("Call explainui_close_project with reason 'all_pages_done' to end this session.");
335
- }
336
347
  }
337
- else {
338
- lines.push("No issues found — all checks passed.");
339
- }
340
- if (resp.analysis_duration_ms) {
341
- lines.push("");
342
- lines.push(`(Analysis took ${resp.analysis_duration_ms}ms)`);
348
+ if (resp.report_url) {
349
+ lines.push(`Full report: ${resp.report_url}`);
343
350
  }
344
351
  return lines.join("\n");
345
352
  }
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,9 @@ export interface ExplainUISession {
7
7
  platform: "claude_desktop" | "cursor" | "cline" | "windsurf" | "copilot" | "unknown";
8
8
  currentRunId: string | null;
9
9
  currentRunNumber: number | null;
10
+ iterationByPage: Record<string, number>;
11
+ selectedPages: string[] | null;
12
+ skippedPages: string[];
10
13
  }
11
14
  export interface ProjectConfig {
12
15
  project_id: string;
@@ -15,6 +18,10 @@ export interface ProjectConfig {
15
18
  constraint_bundle: ConstraintBundle;
16
19
  trigger_threshold: "every_change" | "major_features" | "manual_only";
17
20
  fetched_at: number;
21
+ tier: string;
22
+ analyses_remaining: number;
23
+ analyses_limit: number;
24
+ last_run_page_keys: string[];
18
25
  }
19
26
  export interface PageConfig {
20
27
  page_key: string;
@@ -232,6 +239,8 @@ export interface AnalyzeResponse {
232
239
  run_id?: string;
233
240
  run_number?: number;
234
241
  issue_statuses?: Record<string, string>;
242
+ max_iterations_reached?: boolean;
243
+ report_url?: string;
235
244
  }
236
245
  export interface Issue {
237
246
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACrF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,iBAAiB,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,eAAO,MAAM,SAAS,EAAE,WAAW,EAElC,CAAC;AAGF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,cAAc,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;IACpN,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,8BAA8B,CAAC;IAC5L,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;IAC5K,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,qBAAqB,GACrB,kBAAkB,GAClB,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,mBAAmB,GACnB,2BAA2B,GAC3B,uBAAuB,GACvB,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,4BAA4B,GAC5B,+BAA+B,GAC/B,gCAAgC,GAChC,wBAAwB,GACxB,6BAA6B,GAC7B,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,+BAA+B,GAC/B,4BAA4B,GAC5B,gBAAgB,GAChB,wBAAwB,GACxB,2BAA2B,GAC3B,kBAAkB,GAClB,4BAA4B,GAC5B,mBAAmB,GACnB,8BAA8B,GAC9B,2BAA2B,GAC3B,yBAAyB,GACzB,8BAA8B,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,aAAa,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,gBAAgB,EAAE;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,cAAc,EAAE,cAAc,EAAE,CAAC;QACjC,WAAW,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtD,YAAY,EAAE,OAAO,CAAC;QACtB,sBAAsB,EAAE,cAAc,EAAE,CAAC;QACzC,mBAAmB,EAAE,KAAK,CAAC,cAAc,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,qBAAqB,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrH,iBAAiB,EAAE,eAAe,EAAE,CAAC;KACtC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,kBAAkB,EAAE,CAAC;KAChC,CAAC;IACF,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,oBAAoB,EAAE,CAAC;KACpC,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,aAAa,EAAE,CAAC;KAC3B,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;KACjC,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;KACjC,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;KACnC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,eAAe,EAAE,qBAAqB,EAAE,CAAC;QACzC,aAAa,EAAE,kBAAkB,EAAE,CAAC;QACpC,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;QAChD,4BAA4B,EAAE,yBAAyB,EAAE,CAAC;KAC3D,CAAC;CACH;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAGD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAGD,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,MAAM,CAAC;gBACD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuCH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE;CAChE,CAAC;AAqRF,8EAA8E;AAC9E,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiDH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE;CAChE,CAAC;AAuRF,8EAA8E;AAC9E,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explainui/mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "ExplainUI MCP server — silent UX QA in your AI agent workflow",
5
5
  "bin": {
6
6
  "explainui-mcp": "dist/index.js"