@ia-qa/self-healing 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,15 +42,18 @@ const markdown_1 = require("../markdown");
42
42
  const fixEngine_1 = require("../fixEngine");
43
43
  const sandbox_1 = require("./sandbox");
44
44
  const config_1 = require("../config");
45
+ const resolver_1 = require("../ai/resolver");
45
46
  /**
46
47
  * @ia-qa/self-healing — local stdio MCP server.
47
48
  *
48
49
  * A dependency-free JSON-RPC 2.0 server over stdio (newline-delimited messages,
49
50
  * the MCP stdio transport). It runs on the END USER's machine, launches its own
50
- * headless Chromium via Playwright, and exposes three tools to an agent:
51
+ * headless Chromium via Playwright, and exposes these tools to an agent:
51
52
  * - map_app — scan one URL → page contract (json + md)
52
53
  * - diff_mappings — two contracts → PASS/FIX/BLOCK verdict + drift detail
53
54
  * - fix_tests — apply the deterministic healable rewrites to test files
55
+ * - suggest_heal — OPTIONAL BYOK AI: propose matches for the lost/ambiguous rows
56
+ * the deterministic engine gave up on (suggestion only, no writes)
54
57
  *
55
58
  * Because it runs locally, it sees localhost / staging / VPN apps and nothing
56
59
  * leaves the machine. stdout carries the protocol; all logs go to stderr.
@@ -112,6 +115,24 @@ const TOOLS = [
112
115
  required: ['test_paths'],
113
116
  },
114
117
  },
118
+ {
119
+ name: 'suggest_heal',
120
+ description: "OPTIONAL, BYOK AI add-on. For the rows the DETERMINISTIC diff gave up on (lost / ambiguous — e.g. a semantic rename like 'Submit' → 'Confirm order'), ask an LLM which current element is the same one, and return a SUGGESTION for a human to confirm. Never writes files, never a CI gate — deterministic fix_tests stays the gate. Constrained: the model picks among live candidates by index (cannot invent a selector) and a confidence floor drops weak guesses. The API key is read from an environment variable on THIS server (api_key_env) — do NOT pass a raw key in the call.",
121
+ inputSchema: {
122
+ type: 'object',
123
+ properties: {
124
+ before_path: { type: 'string', description: 'Path to the baseline mapping JSON.' },
125
+ after_path: { type: 'string', description: 'Path to the current mapping JSON.' },
126
+ before_json: { type: 'object', description: 'Baseline mapping inline (alternative to before_path).' },
127
+ after_json: { type: 'object', description: 'Current mapping inline (alternative to after_path).' },
128
+ provider: { type: 'string', enum: ['anthropic', 'openai', 'google'], description: 'Which LLM provider to call (BYOK): anthropic (Claude), openai (GPT), google (Gemini).' },
129
+ model: { type: 'string', description: 'Pinned model id, e.g. claude-haiku-4-5, gpt-4o-mini, gemini-2.0-flash. Runs at temperature 0 (auto-retries without it for models that reject sampling).' },
130
+ api_key_env: { type: 'string', description: "Name of the environment variable on this server holding the API key. Defaults to ANTHROPIC_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY by provider. The raw key is never passed through the tool call." },
131
+ min_confidence: { type: 'number', description: 'Drop suggestions below this confidence (0-1). Default 0.7.' },
132
+ },
133
+ required: ['provider', 'model'],
134
+ },
135
+ },
115
136
  ];
116
137
  function loadMappingArg(inlineJson, filePath, label) {
117
138
  let mapping = inlineJson;
@@ -227,6 +248,62 @@ async function callTool(name, args) {
227
248
  : 'Working tree edited. NOT committed — review with git diff, then a human decides to push or discard.',
228
249
  }, null, 2);
229
250
  }
251
+ if (name === 'suggest_heal') {
252
+ if (args?.before_path)
253
+ (0, sandbox_1.assertInsideProject)(args.before_path, 'before_path');
254
+ if (args?.after_path)
255
+ (0, sandbox_1.assertInsideProject)(args.after_path, 'after_path');
256
+ const provider = args?.provider;
257
+ if (provider !== 'anthropic' && provider !== 'openai' && provider !== 'google') {
258
+ throw new Error('suggest_heal requires "provider" to be "anthropic", "openai", or "google".');
259
+ }
260
+ if (!args?.model)
261
+ throw new Error('suggest_heal requires "model".');
262
+ const DEFAULT_KEY_ENV = { anthropic: 'ANTHROPIC_API_KEY', openai: 'OPENAI_API_KEY', google: 'GEMINI_API_KEY' };
263
+ const keyEnv = args.api_key_env || DEFAULT_KEY_ENV[provider];
264
+ const apiKey = process.env[keyEnv];
265
+ if (!apiKey) {
266
+ throw new Error(`No API key found in environment variable "${keyEnv}" on this server. Set it before starting ` +
267
+ `ia-qa-heal-mcp (BYOK), or pass api_key_env pointing at the variable you use. The raw key is never accepted in the tool call.`);
268
+ }
269
+ const before = loadMappingArg(args?.before_json, args?.before_path, 'before');
270
+ const after = loadMappingArg(args?.after_json, args?.after_path, 'after');
271
+ assertComparable(before, after);
272
+ const report = (0, match_1.diffMappings)(before, after);
273
+ const minConfidence = typeof args.min_confidence === 'number' ? args.min_confidence : 0.7;
274
+ const targets = report.rows.filter((r) => r.status === 'lost' || r.status === 'ambiguous');
275
+ const suggestions = [];
276
+ const unresolved = [];
277
+ for (const row of targets) {
278
+ const target = { role: row.role, name: row.name, selector: row.selector, context: row.context, hint: row.hint };
279
+ const res = await (0, resolver_1.aiResolve)(target, after.elements, { provider, model: args.model, apiKey, minConfidence });
280
+ if (res) {
281
+ suggestions.push({
282
+ status: row.status,
283
+ role: target.role,
284
+ name: target.name,
285
+ selector: target.selector,
286
+ suggested_selector: res.selector,
287
+ suggested_name: res.candidate.name,
288
+ confidence: res.confidence,
289
+ rationale: res.rationale,
290
+ rebound_to: row.reboundTo,
291
+ });
292
+ }
293
+ else {
294
+ unresolved.push({ status: row.status, role: target.role, name: target.name, selector: target.selector });
295
+ }
296
+ }
297
+ return JSON.stringify({
298
+ verdict: report.verdict,
299
+ provider,
300
+ model: args.model,
301
+ min_confidence: minConfidence,
302
+ suggestions,
303
+ unresolved,
304
+ note: 'AI SUGGESTIONS ONLY — nothing was written. A human confirms, then applies with `ia-qa-heal-ai suggest --apply` or edits by hand. The deterministic fix_tests remains the CI gate.',
305
+ }, null, 2);
306
+ }
230
307
  throw new Error(`Unknown tool "${name}".`);
231
308
  }
232
309
  // ── JSON-RPC over stdio (newline-delimited) ─────────────────────────────────
@@ -286,6 +363,10 @@ async function handle(req) {
286
363
  }
287
364
  }
288
365
  function main() {
366
+ if (process.argv.includes('--version') || process.argv.includes('-v')) {
367
+ process.stdout.write(SERVER_INFO.version + '\n');
368
+ process.exit(0);
369
+ }
289
370
  process.stderr.write('[ia-qa-self-healing] MCP server ready (stdio)\n');
290
371
  let buffer = '';
291
372
  process.stdin.setEncoding('utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyB;AACzB,gCAAoD;AACpD,sCAAyD;AACzD,4CAAgD;AAChD,0CAAiD;AACjD,4CAAoG;AACpG,uCAAkE;AAClE,sCAAuC;AAEvC;;;;;;;;;;;;GAYG;AAEH,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,uFAAuF;AACvF,yFAAyF;AACzF,qEAAqE;AACrE,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAiB,EAAE,CAAC;AAS7G,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,8ZAA8Z;QACha,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;gBAClG,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;gBACpH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qGAAqG,EAAE;gBAC/I,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gFAAgF,EAAE;gBACpI,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBACvJ,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8SAA8S,EAAE;gBAChW,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0EAA0E,EAAE;gBACzH,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6MAA6M,EAAE;aACvP;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gRAAgR;QAClR,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAClF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAChF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACrG,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;aACnG;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,4ZAA4Z;QAC9Z,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAClF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAChF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBACrG,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBAClG,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAC9G,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAC7F,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4VAA4V;iBAC/V;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,UAAe,EAAE,QAA4B,EAAE,KAAa;IAClF,IAAI,OAAO,GAAQ,UAAU,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,KAAK,QAAQ,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2CAA2C,CAAC,CAAC;IAC3G,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,MAAmB,EAAE,KAAkB;IAC/D,IAAI,CAAC,IAAA,mBAAa,EAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO;IAC1C,MAAM,IAAI,KAAK,CACb,kDAAkD,MAAM,CAAC,UAAU,yBAAyB;QAC1F,2FAA2F;QAC3F,0FAA0F;QAC1F,8CAA8C,CACjD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAS;IAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,4DAA4D,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,2EAA2E;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAA,0BAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,6EAA6E;QAC/E,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,GAAG,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM;YACN,eAAe,EAAE,IAAI,CAAC,iBAAiB;YACvC,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GACV,UAAU,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,IAAI;YACpG,cAAc,GAAG,CAAC,OAAO,EAAE;YAC3B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAA,YAAG,EAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAA,YAAG,EAAC,GAAG,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC;QAC1I,OAAO,GAAG,MAAM,OAAO,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,IAAI,IAAI,EAAE,WAAW;YAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,IAAI,EAAE,UAAU;YAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1E,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,IAAI,IAAI,EAAE,WAAW;YAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,IAAI,EAAE,UAAU;YAAE,IAAA,6BAAmB,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;YAAE,IAAA,6BAAmB,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1E,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,IAAa,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,EAAE,YAAY;YACjC,CAAC,CAAC,IAAA,kCAAsB,EAAC,MAAM,CAAC,IAAa,EAAG,KAAa,CAAC,QAAQ,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI;aACxB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aAC7F,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAEnJ,8EAA8E;QAC9E,gFAAgF;QAChF,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI;aACxB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aAC7B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAElI,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;YACrD,WAAW,EAAE,MAAM,CAAC,iBAAiB;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,YAAG,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YACrF,WAAW,EAAE,OAAO;YACpB,kBAAkB,EAAE,OAAO;YAC3B,aAAa,EAAE,OAAO;YACtB,IAAI,EAAE,MAAM,CAAC,MAAM;gBACjB,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,qGAAqG;SAC1G,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CAAC,EAAO,EAAE,MAAc;IACpC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,EAAO,EAAE,IAAY,EAAE,OAAe;IACxD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,GAAmB;IACvC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACnC,MAAM,cAAc,GAAG,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;IAEvD,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,EAAE,EAAE;gBACR,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,gBAAgB;gBAC5D,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3B,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,2BAA2B,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACvE,OAAO,CAAC,4BAA4B;QACtC,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc;YAAE,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc;YAAE,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;;YAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACxE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAChB,IAAI,EAAU,CAAC;QACf,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,GAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC3F,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Page } from 'playwright';
2
2
  import { MappedElement } from '../aom';
3
+ import { AiResolveOptions } from '../ai/resolver';
3
4
  /**
4
5
  * Runtime self-healing helpers for Playwright.
5
6
  *
@@ -31,10 +32,22 @@ export interface HealerOptions {
31
32
  export declare function aiClick(page: Page, selector: string, options?: HealerOptions): Promise<void>;
32
33
  export declare function aiFill(page: Page, selector: string, value: string, options?: HealerOptions): Promise<void>;
33
34
  /**
34
- * LLM resolver stub TO COMPLETE. Wire this to a real model (e.g.
35
- * `POST https://www.ia-qa.com/mcp/call` with an embedding/similarity tool, or
36
- * your own provider) and pass it via `options.llmResolver`. It must return the
37
- * selector of the best candidate, or null to defer to the heuristic.
35
+ * BYOK AI resolver for the runtime healer the same brain as `ia-qa-heal-ai`,
36
+ * behind the `llmResolver` seam. Opt-in: pass it explicitly.
37
+ *
38
+ * import { aiClick, createAiResolver } from '@ia-qa/self-healing';
39
+ * await aiClick(page, 'button#login', {
40
+ * llmResolver: createAiResolver({ provider: 'anthropic', model: 'claude-...', apiKey: process.env.ANTHROPIC_API_KEY! }),
41
+ * });
42
+ *
43
+ * It returns the chosen candidate's selector, or null to defer to the deterministic
44
+ * heuristic — so a low-confidence, malformed, or failed call never breaks the run,
45
+ * it just falls through to `matchElement`.
46
+ */
47
+ export declare function createAiResolver(opts: AiResolveOptions): (target: MappedElement, candidates: MappedElement[]) => Promise<string | null>;
48
+ /**
49
+ * LLM resolver stub — kept for backward compatibility. Use `createAiResolver`
50
+ * (BYOK) for a real resolver. Returns null → defers to the deterministic heuristic.
38
51
  */
39
52
  export declare function llmResolverStub(_target: MappedElement, _candidates: MappedElement[]): Promise<string | null>;
40
53
  export declare function inferPageName(page: Page): string;
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aiClick = aiClick;
4
4
  exports.aiFill = aiFill;
5
+ exports.createAiResolver = createAiResolver;
5
6
  exports.llmResolverStub = llmResolverStub;
6
7
  exports.inferPageName = inferPageName;
7
8
  const config_1 = require("../config");
8
9
  const aom_1 = require("../aom");
9
10
  const match_1 = require("../browser/match");
10
11
  const pageName_1 = require("../pageName");
12
+ const resolver_1 = require("../ai/resolver");
11
13
  const DEFAULT_TIMEOUT = 5000;
12
14
  async function aiClick(page, selector, options = {}) {
13
15
  const timeout = options.timeout ?? DEFAULT_TIMEOUT;
@@ -59,10 +61,27 @@ async function heal(page, selector, options, originalError) {
59
61
  return healedSelector;
60
62
  }
61
63
  /**
62
- * LLM resolver stub TO COMPLETE. Wire this to a real model (e.g.
63
- * `POST https://www.ia-qa.com/mcp/call` with an embedding/similarity tool, or
64
- * your own provider) and pass it via `options.llmResolver`. It must return the
65
- * selector of the best candidate, or null to defer to the heuristic.
64
+ * BYOK AI resolver for the runtime healer the same brain as `ia-qa-heal-ai`,
65
+ * behind the `llmResolver` seam. Opt-in: pass it explicitly.
66
+ *
67
+ * import { aiClick, createAiResolver } from '@ia-qa/self-healing';
68
+ * await aiClick(page, 'button#login', {
69
+ * llmResolver: createAiResolver({ provider: 'anthropic', model: 'claude-...', apiKey: process.env.ANTHROPIC_API_KEY! }),
70
+ * });
71
+ *
72
+ * It returns the chosen candidate's selector, or null to defer to the deterministic
73
+ * heuristic — so a low-confidence, malformed, or failed call never breaks the run,
74
+ * it just falls through to `matchElement`.
75
+ */
76
+ function createAiResolver(opts) {
77
+ return async (target, candidates) => {
78
+ const res = await (0, resolver_1.aiResolve)(target, candidates, opts);
79
+ return res ? res.selector : null;
80
+ };
81
+ }
82
+ /**
83
+ * LLM resolver stub — kept for backward compatibility. Use `createAiResolver`
84
+ * (BYOK) for a real resolver. Returns null → defers to the deterministic heuristic.
66
85
  */
67
86
  async function llmResolverStub(_target, _candidates) {
68
87
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"healer.js","sourceRoot":"","sources":["../../src/playwright/healer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"healer.js","sourceRoot":"","sources":["../../src/playwright/healer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ia-qa/self-healing",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "Local-first self-healing for UI tests: a local MCP server + CLI that map your app's pages to a role/name/selector contract, diff selector drift (PASS/FIX/BLOCK), and apply deterministic fixes to Cypress/Playwright/Selenium tests. Runs on your machine — nothing leaves it.",
5
5
  "keywords": [
6
6
  "self-healing",
@@ -40,12 +40,14 @@
40
40
  },
41
41
  "bin": {
42
42
  "ia-qa-heal": "dist/cli/index.js",
43
- "ia-qa-heal-mcp": "dist/mcp/server.js"
43
+ "ia-qa-heal-mcp": "dist/mcp/server.js",
44
+ "ia-qa-heal-ai": "dist/cli-ai/index.js"
44
45
  },
45
46
  "files": [
46
47
  "dist",
47
48
  "README.md",
48
- "TUTORIAL.md"
49
+ "TUTORIAL.md",
50
+ "ROADMAP.md"
49
51
  ],
50
52
  "scripts": {
51
53
  "build": "tsc -p tsconfig.json",