@ia-qa/self-healing 1.1.1 → 1.2.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.
- package/README.md +24 -2
- package/dist/ai/models.js +6 -1
- package/dist/ai/models.js.map +1 -1
- package/dist/browser/union.d.ts +1 -0
- package/dist/browser/union.js +35 -0
- package/dist/browser/union.js.map +1 -0
- package/dist/captureMerge.d.ts +2 -6
- package/dist/captureMerge.js +4 -26
- package/dist/captureMerge.js.map +1 -1
- package/dist/cli/map.js +18 -1
- package/dist/cli/map.js.map +1 -1
- package/dist/cli-ai/index.js +26 -4
- package/dist/cli-ai/index.js.map +1 -1
- package/dist/cypress/capture.d.ts +1 -0
- package/dist/cypress/capture.js +122 -0
- package/dist/cypress/capture.js.map +1 -0
- package/dist/htmlReport.d.ts +27 -0
- package/dist/htmlReport.js +168 -86
- package/dist/htmlReport.js.map +1 -1
- package/dist/pageName.d.ts +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -101,6 +101,7 @@ Everything the tool needs lives in **one JSON file**, written for you by `ia-qa-
|
|
|
101
101
|
1. **Separate configs/runs** — one `.ia-qa/` per role (point `map` at a different config dir), or
|
|
102
102
|
2. **Let your own test suite log in** — run `ia-qa-heal run` with your `testCommand`; it sets `IAQA_CAPTURE=1` and the contract is captured *during your suite*, so **whatever logins your tests already do (any number of users) are covered** — no `auth` block needed.
|
|
103
103
|
- **"How do I add a page behind a click, not a URL?"** → add `steps` to that page (see `billing` above): a list of `{ "click": { "role": "...", "name": "..." } }`. Named by role + accessible name, exactly like the contract — never a CSS selector.
|
|
104
|
+
- **"My app spans several domains behind a single sign-on (federated SSO) — does `map` cover it?"** → **Not with one `auth` block.** `auth` runs **one** login against **one** domain, before the first page. A federated IdP that re-challenges each project/domain with its own scope (`?projectName=…`, a different sub-domain per portal) is never satisfied by that single login — the second domain bounces back to a login the first one never covered, and the page maps empty (map now warns when an authenticated target returns 0 elements). Two ways through: **one `.ia-qa/` per domain/portal** (each with its own `baseUrl` + `auth`, run separately), or **`ia-qa-heal run` with `IAQA_CAPTURE=1`** so your own suite — which already handles the full SSO dance (cookies, redirects, per-project scope) — does the auth and the contract is captured during that real run. For a multi-portal app, capture-during-run is the intended path; `map --auth` is for single-domain apps.
|
|
104
105
|
|
|
105
106
|
> **🤖 For AI agents helping a human set this up:** the config is the human's *secret zone* — treat it with care.
|
|
106
107
|
> - **Never put a real secret value in `secrets`** — only `{ "source": "env", "key": "THE_VAR_NAME" }`. If the human pastes a key, tell them to `export` it and reference the var name instead.
|
|
@@ -129,6 +130,24 @@ import { test, expect } from '@ia-qa/self-healing/capture';
|
|
|
129
130
|
|
|
130
131
|
Inert unless `IAQA_CAPTURE=1` — a normal run pays nothing. When armed, each worker records the pages it visits (per navigation, debounced, plus the final state of each test) into `.ia-qa/mapping/.capture/`; the next CLI verb merges the shards into regular page contracts, named from `config.pages` so they pair with your baseline. Views reached through `steps` share their URL and are skipped — `map` remains their path.
|
|
131
132
|
|
|
133
|
+
### Capture during your test run — Cypress (`@ia-qa/self-healing/cypress`)
|
|
134
|
+
|
|
135
|
+
Same idea, one import in `cypress/support/e2e.js`:
|
|
136
|
+
|
|
137
|
+
```js
|
|
138
|
+
import '@ia-qa/self-healing/cypress';
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Inert unless `IAQA_CAPTURE=1` (set it as a real env var, or forward it in `cypress.config.js` → `env: { IAQA_CAPTURE: process.env.IAQA_CAPTURE }`). When armed, it records the interactive elements of the page **each test ends on** — post-login, modals, wizards, whatever your suite already walks — and writes them to `.ia-qa/mapping/.capture/` via `cy.writeFile`. **Nothing to wire in `setupNodeEvents`.** The next CLI verb (`diff` / `run` / `baseline`) merges the shards into the same page contracts as `map` and the Playwright capture — byte-compatible.
|
|
142
|
+
|
|
143
|
+
**This is the intended path for a multi-domain / federated-SSO app.** `map` logs in once against one domain; a suite that already authenticates across several portals reaches states `map` structurally cannot. Capture rides that real run, so **whatever logins your tests already do — UI form, API token injection, `cy.session`, any number of domains — are covered, with no `auth` block and without self-healing ever touching your credentials.**
|
|
144
|
+
|
|
145
|
+
Details and limits (same as the Playwright path, plus a couple Cypress-specific ones):
|
|
146
|
+
- Coverage is whatever the suite visits — it is not a crawler. To get a page's contract, have a test that **ends** on it (v1 captures the final state of each test, not every intermediate navigation).
|
|
147
|
+
- Only the app-under-test's top document is read (iframes/shadow DOM excluded), and the extractor runs in the AUT realm via `eval` — an app whose CSP forbids `unsafe-eval` will silently capture nothing (the capture never fails your suite).
|
|
148
|
+
- Parallel runners (`cypress-parallel`, Cypress Cloud) are fine: each worker writes its own uniquely-named shard and the merge unions them.
|
|
149
|
+
- If a `.ia-qa/config.json` exists, contracts are named from `config.pages` (so they pair with your baseline) and `steps`-only views are skipped; with no config, the page name falls back to a slug of the URL.
|
|
150
|
+
|
|
132
151
|
### Selector inventory — `ia-qa-heal ingest`
|
|
133
152
|
|
|
134
153
|
```bash
|
|
@@ -254,11 +273,11 @@ Everything above is deterministic and **refuses to guess**: a rename Dice can't
|
|
|
254
273
|
|
|
255
274
|
| Provider | `provider` | Example models | Default key env |
|
|
256
275
|
|---|---|---|---|
|
|
257
|
-
| OpenAI | `openai` | `gpt-4o-mini`, `gpt-
|
|
276
|
+
| OpenAI | `openai` | `gpt-4o-mini`, `gpt-4.1`, `gpt-5`, `gpt-5-mini`, `gpt-5-nano` | `OPENAI_API_KEY` |
|
|
258
277
|
| Anthropic (Claude) | `anthropic` | `claude-haiku-4-5`, `claude-sonnet-5`, `claude-opus-4-8` | `ANTHROPIC_API_KEY` |
|
|
259
278
|
| Google (Gemini) | `google` | `gemini-2.0-flash`, `gemini-1.5-pro` | `GEMINI_API_KEY` |
|
|
260
279
|
|
|
261
|
-
The model list is a convenience — **any model id your provider accepts works** (the picker has a "custom…" entry). The call runs at temperature 0 and **auto-retries without it** for models that reject sampling params (newest Claude/GPT reasoning models), so your choice always works. `ia-qa-heal-ai models` prints the full list.
|
|
280
|
+
The model list is a convenience — **any model id your provider accepts works** (the picker has a "custom…" entry), so point releases like `gpt-5.1` or dated snapshots you just type in. The call runs at temperature 0 and **auto-retries without it** for models that reject sampling params (newest Claude/GPT reasoning models), so your choice always works. `ia-qa-heal-ai models` prints the full list.
|
|
262
281
|
|
|
263
282
|
**Setup — the easy way:**
|
|
264
283
|
```bash
|
|
@@ -282,8 +301,11 @@ export OPENAI_API_KEY=sk-… # (or ANTHROPIC_API_KEY / GEMINI_API_KEY — wha
|
|
|
282
301
|
npx ia-qa-heal-ai suggest # baseline/ vs mapping/, all pages
|
|
283
302
|
npx ia-qa-heal-ai suggest before.json after.json # one pair
|
|
284
303
|
npx ia-qa-heal-ai suggest --json # machine-readable, no writes
|
|
304
|
+
npx ia-qa-heal-ai suggest --report r.html # branded HTML report to attach to a PR (add --open locally)
|
|
285
305
|
npx ia-qa-heal-ai suggest --apply # rewrite accepted ones — interactive, TTY only
|
|
286
306
|
```
|
|
307
|
+
|
|
308
|
+
`--report` writes the same self-contained, ia-qa.com-branded artefact as `ia-qa-heal diff --report` — but of the **AI proposals**, with a loud "these are suggestions, not applied changes" banner. Attach it to a PR for a reviewer to sign off on what the model proposed.
|
|
287
309
|
```
|
|
288
310
|
💡 lost button "Submit" (checkout)
|
|
289
311
|
button#submit → button[data-testid="confirm"]
|
package/dist/ai/models.js
CHANGED
|
@@ -14,7 +14,12 @@ exports.AI_PROVIDERS = [
|
|
|
14
14
|
{ id: 'gpt-4o', label: 'GPT-4o' },
|
|
15
15
|
{ id: 'gpt-4.1-mini', label: 'GPT-4.1 mini' },
|
|
16
16
|
{ id: 'gpt-4.1', label: 'GPT-4.1' },
|
|
17
|
-
{ id: 'gpt-5', label: 'GPT-5', note: '
|
|
17
|
+
{ id: 'gpt-5-nano', label: 'GPT-5 nano', note: 'GPT-5 family, cheapest' },
|
|
18
|
+
{ id: 'gpt-5-mini', label: 'GPT-5 mini', note: 'GPT-5 family' },
|
|
19
|
+
{ id: 'gpt-5', label: 'GPT-5', note: 'GPT-5 family, most capable' },
|
|
20
|
+
// Point releases (gpt-5.1, gpt-5.2, …) and dated snapshots change often — pick
|
|
21
|
+
// "custom…" in `init` and type the exact id your account has. Any id OpenAI
|
|
22
|
+
// accepts works; temperature is auto-dropped on a 400 for reasoning models.
|
|
18
23
|
],
|
|
19
24
|
},
|
|
20
25
|
{
|
package/dist/ai/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function unionElements(base: any, extra: any): any;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unionElements = unionElements;
|
|
4
|
+
/**
|
|
5
|
+
* Union of two element lists by contract identity (role + normalized accessible
|
|
6
|
+
* name — the same identity `match` heals with). Lives in `browser/` and stays
|
|
7
|
+
* dependency-free because both consumers need it in a browser context:
|
|
8
|
+
* 1. `captureMerge.ts` (Node) merges Playwright/CLI capture shards.
|
|
9
|
+
* 2. `cypress/capture.js` (browser) accumulates a page seen across a test run,
|
|
10
|
+
* and cannot import anything that pulls `fs`.
|
|
11
|
+
*
|
|
12
|
+
* Several captures of one page see overlapping element sets; the later selector
|
|
13
|
+
* wins, because it is the most recent observation of the element.
|
|
14
|
+
*/
|
|
15
|
+
const match_1 = require("./match");
|
|
16
|
+
function identity(e) {
|
|
17
|
+
return e.role + '|' + (0, match_1.normalize)(e.name);
|
|
18
|
+
}
|
|
19
|
+
function unionElements(base, extra) {
|
|
20
|
+
const out = base.slice();
|
|
21
|
+
const at = new Map(out.map((e, i) => [identity(e), i]));
|
|
22
|
+
for (const el of extra) {
|
|
23
|
+
const key = identity(el);
|
|
24
|
+
const i = at.get(key);
|
|
25
|
+
if (i === undefined) {
|
|
26
|
+
at.set(key, out.length);
|
|
27
|
+
out.push(el);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
out[i] = el;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=union.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/browser/union.js"],"names":[],"mappings":";;AAiBA,sCAcC;AA/BD;;;;;;;;;;GAUG;AACH,mCAAoC;AAEpC,SAAS,QAAQ,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,aAAa,CAAC,IAAI,EAAE,KAAK;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/captureMerge.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MappedElement } from './aom';
|
|
2
|
+
import { unionElements } from './browser/union';
|
|
2
3
|
/**
|
|
3
4
|
* Run-time capture writes shards, not contracts: each Playwright worker appends
|
|
4
5
|
* what it saw to `.ia-qa/mapping/.capture/worker-<n>.json`, because workers are
|
|
@@ -17,12 +18,7 @@ export interface CaptureShardPage {
|
|
|
17
18
|
export interface CaptureShard {
|
|
18
19
|
pages: CaptureShardPage[];
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
* Union by contract identity (role + accessible name — the same identity `match`
|
|
22
|
-
* heals with). Several captures of one page see overlapping element sets; the
|
|
23
|
-
* later selector wins, because it is the most recent observation of the element.
|
|
24
|
-
*/
|
|
25
|
-
export declare function unionElements(base: MappedElement[], extra: MappedElement[]): MappedElement[];
|
|
21
|
+
export { unionElements };
|
|
26
22
|
export interface MergeResult {
|
|
27
23
|
pages: string[];
|
|
28
24
|
shards: number;
|
package/dist/captureMerge.js
CHANGED
|
@@ -33,9 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CAPTURE_DIRNAME = void 0;
|
|
36
|
+
exports.unionElements = exports.CAPTURE_DIRNAME = void 0;
|
|
37
37
|
exports.captureDir = captureDir;
|
|
38
|
-
exports.unionElements = unionElements;
|
|
39
38
|
exports.mergeCaptures = mergeCaptures;
|
|
40
39
|
exports.mergeCapturesAnnounced = mergeCapturesAnnounced;
|
|
41
40
|
const fs = __importStar(require("fs"));
|
|
@@ -43,7 +42,8 @@ const path = __importStar(require("path"));
|
|
|
43
42
|
const config_1 = require("./config");
|
|
44
43
|
const aom_1 = require("./aom");
|
|
45
44
|
const markdown_1 = require("./markdown");
|
|
46
|
-
const
|
|
45
|
+
const union_1 = require("./browser/union");
|
|
46
|
+
Object.defineProperty(exports, "unionElements", { enumerable: true, get: function () { return union_1.unionElements; } });
|
|
47
47
|
const overview_1 = require("./overview");
|
|
48
48
|
/**
|
|
49
49
|
* Run-time capture writes shards, not contracts: each Playwright worker appends
|
|
@@ -57,28 +57,6 @@ exports.CAPTURE_DIRNAME = '.capture';
|
|
|
57
57
|
function captureDir(cwd = process.cwd()) {
|
|
58
58
|
return path.join((0, config_1.mappingDir)(cwd), exports.CAPTURE_DIRNAME);
|
|
59
59
|
}
|
|
60
|
-
const identity = (e) => `${e.role}|${(0, match_1.normalize)(e.name)}`;
|
|
61
|
-
/**
|
|
62
|
-
* Union by contract identity (role + accessible name — the same identity `match`
|
|
63
|
-
* heals with). Several captures of one page see overlapping element sets; the
|
|
64
|
-
* later selector wins, because it is the most recent observation of the element.
|
|
65
|
-
*/
|
|
66
|
-
function unionElements(base, extra) {
|
|
67
|
-
const out = [...base];
|
|
68
|
-
const at = new Map(out.map((e, i) => [identity(e), i]));
|
|
69
|
-
for (const el of extra) {
|
|
70
|
-
const key = identity(el);
|
|
71
|
-
const i = at.get(key);
|
|
72
|
-
if (i === undefined) {
|
|
73
|
-
at.set(key, out.length);
|
|
74
|
-
out.push(el);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
out[i] = el;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return out;
|
|
81
|
-
}
|
|
82
60
|
function mergeCaptures(cwd = process.cwd()) {
|
|
83
61
|
const dir = captureDir(cwd);
|
|
84
62
|
if (!fs.existsSync(dir))
|
|
@@ -107,7 +85,7 @@ function mergeCaptures(cwd = process.cwd()) {
|
|
|
107
85
|
const prev = byPage.get(p.page);
|
|
108
86
|
byPage.set(p.page, {
|
|
109
87
|
url: p.url,
|
|
110
|
-
elements: prev ? unionElements(prev.elements, p.elements) : p.elements,
|
|
88
|
+
elements: prev ? (0, union_1.unionElements)(prev.elements, p.elements) : p.elements,
|
|
111
89
|
});
|
|
112
90
|
}
|
|
113
91
|
}
|
package/dist/captureMerge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureMerge.js","sourceRoot":"","sources":["../src/captureMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,gCAEC;
|
|
1
|
+
{"version":3,"file":"captureMerge.js","sourceRoot":"","sources":["../src/captureMerge.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/map.js
CHANGED
|
@@ -79,7 +79,13 @@ async function runMap(pageNameArg) {
|
|
|
79
79
|
if (config.auth) {
|
|
80
80
|
console.log('🔐 Logging in…');
|
|
81
81
|
await login(page, config);
|
|
82
|
-
|
|
82
|
+
// Without a successSelector, login() only knows the form was submitted and the
|
|
83
|
+
// network settled — not that auth actually stuck. Saying "Logged in." there is a
|
|
84
|
+
// false positive that hides a session which never established (federated SSO that
|
|
85
|
+
// re-challenges per domain/scope is the classic case). Only claim it when verified.
|
|
86
|
+
console.log(config.auth.successSelector
|
|
87
|
+
? ' Logged in.'
|
|
88
|
+
: ' Login form submitted (no auth.successSelector — auth state unverified).');
|
|
83
89
|
}
|
|
84
90
|
for (const target of targets) {
|
|
85
91
|
const url = new URL(target.url, config.baseUrl).toString();
|
|
@@ -98,6 +104,17 @@ async function runMap(pageNameArg) {
|
|
|
98
104
|
const md = (0, markdown_1.saveMarkdown)(mapping);
|
|
99
105
|
console.log(` ✔ ${elements.length} interactive elements → ` +
|
|
100
106
|
`${path.relative(process.cwd(), file)} + ${path.relative(process.cwd(), md)}`);
|
|
107
|
+
// A page behind a login that comes back empty is almost never an empty page — it is a
|
|
108
|
+
// session that never fully established for this domain. assertLanded catches the loud
|
|
109
|
+
// case (a redirect to a password field); this catches the silent one (a shell that
|
|
110
|
+
// rendered nothing while auth was still resolving client-side). Federated SSO, which
|
|
111
|
+
// re-challenges per domain/scope, lands here rather than on assertLanded.
|
|
112
|
+
if (config.auth && elements.length === 0) {
|
|
113
|
+
console.warn(` ⚠ 0 interactive elements on an authenticated target — the session may not have ` +
|
|
114
|
+
`established for this domain. Federated SSO (a per-project/per-domain login scope) ` +
|
|
115
|
+
`defeats the single login here. Map each domain behind its own config, or capture ` +
|
|
116
|
+
`during a real run (IAQA_CAPTURE=1 + testCommand).`);
|
|
117
|
+
}
|
|
101
118
|
}
|
|
102
119
|
}
|
|
103
120
|
finally {
|
package/dist/cli/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/cli/map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/cli/map.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-ai/index.js
CHANGED
|
@@ -46,6 +46,8 @@ const ingest_1 = require("../ingest");
|
|
|
46
46
|
const config_1 = require("../config");
|
|
47
47
|
const resolver_1 = require("../ai/resolver");
|
|
48
48
|
const models_1 = require("../ai/models");
|
|
49
|
+
const htmlReport_1 = require("../htmlReport");
|
|
50
|
+
const diff_1 = require("../cli/diff");
|
|
49
51
|
const PROVIDERS = ['anthropic', 'openai', 'google'];
|
|
50
52
|
// dist/cli-ai/ → package root; npm ships package.json in every tarball.
|
|
51
53
|
const VERSION = require('../../package.json').version;
|
|
@@ -82,6 +84,10 @@ Usage:
|
|
|
82
84
|
--apply after review, rewrite the suggested selectors in your test files.
|
|
83
85
|
Interactive confirmation required — REFUSES without a TTY (never in CI).
|
|
84
86
|
--json machine-readable output (no writes)
|
|
87
|
+
--report [file.html] also write a branded HTML report of the proposals (default
|
|
88
|
+
ia-qa-heal-ai-report.html) — the artefact to attach to a PR for review
|
|
89
|
+
--open open that report in the browser (local, not CI)
|
|
90
|
+
ia-qa-heal-ai version Print the installed version (also --version, -v)
|
|
85
91
|
ia-qa-heal-ai help Show this help
|
|
86
92
|
`;
|
|
87
93
|
async function main() {
|
|
@@ -176,10 +182,13 @@ async function runInit() {
|
|
|
176
182
|
console.log(` Next: export ${keyEnv}=… then ia-qa-heal diff and ia-qa-heal-ai suggest\n`);
|
|
177
183
|
}
|
|
178
184
|
async function runSuggest(args) {
|
|
179
|
-
const
|
|
180
|
-
const
|
|
181
|
-
const
|
|
182
|
-
const
|
|
185
|
+
const { reportPath: explicitReport, rest: argsNoReport } = (0, diff_1.takeReportFlag)(args, 'ia-qa-heal-ai-report.html');
|
|
186
|
+
const apply = argsNoReport.includes('--apply');
|
|
187
|
+
const json = argsNoReport.includes('--json');
|
|
188
|
+
const open = argsNoReport.includes('--open');
|
|
189
|
+
const dirMode = argsNoReport.includes('--dir');
|
|
190
|
+
const rest = argsNoReport.filter((a) => !a.startsWith('--'));
|
|
191
|
+
const reportPath = explicitReport ?? (open ? 'ia-qa-heal-ai-report.html' : null);
|
|
183
192
|
const opts = await resolveAiOptions();
|
|
184
193
|
if (!opts)
|
|
185
194
|
return; // resolveAiOptions already printed guidance + set exit code
|
|
@@ -216,6 +225,19 @@ async function runSuggest(args) {
|
|
|
216
225
|
}
|
|
217
226
|
}
|
|
218
227
|
}
|
|
228
|
+
if (reportPath) {
|
|
229
|
+
const html = (0, htmlReport_1.renderSuggestReportHtml)(suggestions.map((s) => ({
|
|
230
|
+
page: s.page, status: s.status, role: s.target.role, name: s.target.name, selector: s.target.selector,
|
|
231
|
+
suggestedSelector: s.resolution.selector, suggestedName: s.resolution.candidate.name,
|
|
232
|
+
confidence: s.resolution.confidence, rationale: s.resolution.rationale, reboundTo: s.reboundTo,
|
|
233
|
+
})), unresolved.map((u) => ({ page: u.page, status: u.status, role: u.target.role, name: u.target.name, selector: u.target.selector })), { provider: opts.provider, model: opts.model, minConfidence: opts.minConfidence });
|
|
234
|
+
const dest = path.resolve(reportPath);
|
|
235
|
+
fs.writeFileSync(dest, html, 'utf8');
|
|
236
|
+
if (!json)
|
|
237
|
+
console.log(`\n 📄 Branded HTML report → ${dest}`);
|
|
238
|
+
if (open)
|
|
239
|
+
(0, diff_1.openInBrowser)(dest);
|
|
240
|
+
}
|
|
219
241
|
if (json) {
|
|
220
242
|
console.log(JSON.stringify({
|
|
221
243
|
suggestions: suggestions.map((s) => ({
|
package/dist/cli-ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli-ai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyB;AACzB,2CAA6B;AAC7B,sDAA8B;AAE9B,4CAAgD;AAChD,4CAA2D;AAC3D,sCAAkD;AAClD,sCAAqG;AACrG,6CAAuF;AACvF,yCAA2E;AAE3E,MAAM,SAAS,GAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAElE,wEAAwE;AACxE,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAiB,CAAC;AAEhE;;;;;;;;;GASG;AAEH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBZ,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,wBAAe,GAAE,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,SAAS,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,OAAO;IACpB,qEAAqE;IACrE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACnD,sGAAsG,CACzG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,sFAAsF;YACpF,8DAA8D;YAC9D,yEAAyE;YACzE,0EAA0E,CAC7E,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC;QAChC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,mCAAmC;QAC5C,OAAO,EAAE,qBAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACjG,CAAC,CAAC;IACH,MAAM,QAAQ,GAA2B,WAAW,CAAC,QAAQ,CAAC;IAC9D,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,IAAA,qBAAY,EAAC,QAAQ,CAAE,CAAC;IAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,SAAS;QAC/B,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/F,EAAE,KAAK,EAAE,oDAAoD,EAAE,KAAK,EAAE,YAAY,EAAE;SACrF;KACF,CAAC,CAAC;IACH,IAAI,KAAK,GAAuB,QAAQ,CAAC,KAAK,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACrE,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC3B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,IAAI,CAAC,MAAM;KACrB,CAAC,CAAC;IACH,MAAM,MAAM,GAAuB,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAEtE,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,YAAY,KAAK,gBAAgB,MAAM,qCAAqC,CAAC,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,6DAA6D,CAAC,CAAC;AACvG,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAc;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,4DAA4D;IAE/E,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,sDAAsD;QACtD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAiF,EAAE,CAAC;IAEpG,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAI,MAAM,CAAC,IAAkB,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAmD,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CACxG,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAkB;gBAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YACnF,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAS,EAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;gBACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;gBACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;gBAC3B,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ;gBACzC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI;gBAC3C,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU;gBACnC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS;gBACjC,UAAU,EAAE,CAAC,CAAC,SAAS;aACxB,CAAC,CAAC;YACH,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/I,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAC;QACtH,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB;IAC7B,IAAI,EAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,EAAE,GAAG,IAAA,mBAAU,GAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CACX,oEAAoE;YAClE,oFAAoF;YACpF,gEAAgE;YAChE,8EAA8E;YAC9E,6DAA6D,CAChE,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACX,0BAA0B,EAAE,CAAC,QAAQ,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC9E,yFAAyF,CAC5F,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,+EAA+E;QAC/E,qEAAqE;QACrE,MAAM,GAAG,MAAM,IAAA,sBAAa,EAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,IAAI,GAAG,CAAC;IAC9C,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC3E,CAAC;AAQD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAc,EAAE,OAAgB;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC1F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACxG,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAA,oBAAW,GAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CACX,oBAAoB,GAAG,CAAC,IAAI,CAAC,mFAAmF;gBAC9G,gFAAgF,CACnF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAA,mBAAU,GAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;AACxG,CAAC;AAED,gIAAgI;AAChI,SAAS,QAAQ,CAAC,OAAe,EAAE,MAAc;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,MAAM,MAAM,uBAAuB,CAAC,CAAC;QACnD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACrH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBACjC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,WAAyB,EAAE,SAAmB;IACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,gFAAgF;IAChF,gFAAgF;IAChF,sBAAsB;IACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,6FAA6F;YAC3F,+FAA+F;YAC/F,0CAA0C,CAC7C,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,+FAA+F,CAAC,CAAC;QAC/G,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC3B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAAS,WAAW,CAAC,MAAM,iBAAiB,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qCAAqC;QAC7H,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,8BAA8B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtH,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CACT,gBAAgB,MAAM,CAAC,iBAAiB,eAAe,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAC1K,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;IAChH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAyB,EACzB,UAAwF;IAExF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,QAAQ,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,oBAAoB,GAAG,GAAG,CAAC,CAAC;QAC9H,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC;QACzI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,kDAAkD,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,KAAK,CAAC,EAAiD;IAC9D,IAAI,EAAE,CAAC,IAAI;QAAE,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;IAC9C,IAAI,EAAE,CAAC,IAAI;QAAE,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,KAAK,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,mDAAmD,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli-ai/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Cypress run-time capture — the Cypress twin of `playwright/capture.ts`.
|
|
5
|
+
*
|
|
6
|
+
* One line in `cypress/support/e2e.js`:
|
|
7
|
+
*
|
|
8
|
+
* import '@ia-qa/self-healing/cypress';
|
|
9
|
+
*
|
|
10
|
+
* Inert unless `IAQA_CAPTURE=1` (via `Cypress.env`, or the OS env forwarded in
|
|
11
|
+
* `cypress.config.js` → `env`). When armed, it records the interactive elements
|
|
12
|
+
* of the page each test ends on — post-login, modals, wizards, whatever the
|
|
13
|
+
* suite already walks, with the auth the suite already performs — into
|
|
14
|
+
* `.ia-qa/mapping/.capture/cy-<worker>.json`. The next CLI verb merges the
|
|
15
|
+
* shards into real page contracts (`captureMerge.ts`), byte-compatible with the
|
|
16
|
+
* Playwright capture and with `map`.
|
|
17
|
+
*
|
|
18
|
+
* Why this exists: `map` logs in once against one domain. A suite that already
|
|
19
|
+
* drives a multi-domain / federated-SSO app reaches states `map` structurally
|
|
20
|
+
* cannot — so we ride the real run instead of re-implementing its auth.
|
|
21
|
+
*
|
|
22
|
+
* Generic by design: nothing here knows any specific app. Coverage is whatever
|
|
23
|
+
* the suite visits. Views reachable only through `steps` share a URL and are
|
|
24
|
+
* skipped (the URL alone can't say which one is on screen) — `map` stays their
|
|
25
|
+
* path. Only the top document is read (same iframe limit as Playwright capture).
|
|
26
|
+
*
|
|
27
|
+
* It must NEVER fail or slow the user's suite: every path swallows its own
|
|
28
|
+
* errors, and a normal (unarmed) run pays nothing.
|
|
29
|
+
*/
|
|
30
|
+
const extract_1 = require("../browser/extract");
|
|
31
|
+
const union_1 = require("../browser/union");
|
|
32
|
+
const pageName_1 = require("../pageName");
|
|
33
|
+
// Mirrors `captureDir()` in captureMerge.ts. Hardcoded because that helper is
|
|
34
|
+
// Node-only (fs/path) and this file runs in the browser; `cy.writeFile` resolves
|
|
35
|
+
// relative to the project root, which is where `.ia-qa/` lives. The merge reads
|
|
36
|
+
// every `*.json` in this directory, so only the directory has to match.
|
|
37
|
+
const CAPTURE_DIR = '.ia-qa/mapping/.capture';
|
|
38
|
+
function armed() {
|
|
39
|
+
try {
|
|
40
|
+
const v = Cypress.env('IAQA_CAPTURE');
|
|
41
|
+
return v === '1' || v === 1 || v === true;
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// One id per worker/spec. `cypress-parallel` and Cypress Cloud sharding run
|
|
48
|
+
// several workers at once; a unique filename per worker is what lets the merge
|
|
49
|
+
// union all shards without a torn write (the model Playwright gets from
|
|
50
|
+
// TEST_WORKER_INDEX). Re-generated per spec is fine — the merge unions across
|
|
51
|
+
// files anyway.
|
|
52
|
+
function workerId() {
|
|
53
|
+
try {
|
|
54
|
+
if (typeof crypto !== 'undefined' && crypto.randomUUID)
|
|
55
|
+
return crypto.randomUUID();
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
/* fall through */
|
|
59
|
+
}
|
|
60
|
+
return 'w' + Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
61
|
+
}
|
|
62
|
+
// Cumulative write after each test: crash-safe (a suite that dies mid-run keeps
|
|
63
|
+
// everything captured so far) and idempotent (the merge unions by identity, so
|
|
64
|
+
// re-writing the growing set costs nothing). `log:false` keeps the command log
|
|
65
|
+
// clean.
|
|
66
|
+
function flush(shardId, pages) {
|
|
67
|
+
try {
|
|
68
|
+
const shardPages = [];
|
|
69
|
+
pages.forEach((c, name) => {
|
|
70
|
+
shardPages.push({ page: name, url: c.url, elements: c.elements });
|
|
71
|
+
});
|
|
72
|
+
if (shardPages.length === 0)
|
|
73
|
+
return;
|
|
74
|
+
cy.writeFile(CAPTURE_DIR + '/cy-' + shardId + '.json', { pages: shardPages }, { log: false });
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
/* a failed shard write loses one worker's capture, never the test run */
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (armed()) {
|
|
81
|
+
const shardId = workerId();
|
|
82
|
+
const pages = new Map(); // resolved page name -> { url, elements }
|
|
83
|
+
let config = null;
|
|
84
|
+
// Optional: pairs captured contracts with the names in config.pages and skips
|
|
85
|
+
// steps-views. Absent config is fine — the name falls back to a slug of the URL.
|
|
86
|
+
before(() => {
|
|
87
|
+
return cy.readFile('.ia-qa/config.json', { log: false }).then((c) => {
|
|
88
|
+
config = c;
|
|
89
|
+
}, () => {
|
|
90
|
+
config = null;
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
// The state the test ended on — the modal / wizard / dashboard that no
|
|
94
|
+
// navigation event announces. `cy.window()` yields the app-under-test's own
|
|
95
|
+
// window; we run the extractor IN that realm's DOM via `eval`, the Cypress
|
|
96
|
+
// twin of Playwright's `page.evaluate(extractInPage)`. `extractInPage` is
|
|
97
|
+
// self-contained by contract, so its source runs standalone.
|
|
98
|
+
afterEach(() => {
|
|
99
|
+
return cy.window({ log: false }).then((win) => {
|
|
100
|
+
try {
|
|
101
|
+
const els = win.eval('(' + extract_1.extractInPage.toString() + ')()');
|
|
102
|
+
if (!els || els.length === 0)
|
|
103
|
+
return;
|
|
104
|
+
const url = win.location.href;
|
|
105
|
+
const res = (0, pageName_1.resolvePageName)(url, config);
|
|
106
|
+
if (res.kind === 'steps')
|
|
107
|
+
return; // shared URL — map's job, not capture's
|
|
108
|
+
const prev = pages.get(res.name);
|
|
109
|
+
pages.set(res.name, {
|
|
110
|
+
url: url,
|
|
111
|
+
elements: prev ? (0, union_1.unionElements)(prev.elements, els) : els,
|
|
112
|
+
});
|
|
113
|
+
flush(shardId, pages);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
// Cross-origin pages (the IdP mid-login), a CSP that forbids `eval`, a
|
|
117
|
+
// closed window — none of it may ever break the user's suite.
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/cypress/capture.js"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,gDAAmD;AACnD,4CAAiD;AACjD,0CAA8C;AAE9C,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,wEAAwE;AACxE,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,SAAS,KAAK;IACZ,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,8EAA8E;AAC9E,gBAAgB;AAChB,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IACrF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,kBAAkB;IACpB,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,SAAS,KAAK,CAAC,OAAO,EAAE,KAAK;IAC3B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACxB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,EAAE,CAAC,SAAS,CAAC,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED,IAAI,KAAK,EAAE,EAAE,CAAC;IACZ,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;IACnE,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,CAAC,GAAG,EAAE;QACV,OAAO,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,EAAE;YACJ,MAAM,GAAG,CAAC,CAAC;QACb,CAAC,EACD,GAAG,EAAE;YACH,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,6DAA6D;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,uBAAa,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;gBAC7D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACrC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,CAAC,wCAAwC;gBAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;oBAClB,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;iBACzD,CAAC,CAAC;gBACH,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,uEAAuE;gBACvE,8DAA8D;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/htmlReport.d.ts
CHANGED
|
@@ -12,3 +12,30 @@ export declare function renderDriftReportHtml(agg: DirReport, reports: Array<{
|
|
|
12
12
|
report: Report;
|
|
13
13
|
isLayout: boolean;
|
|
14
14
|
}>, meta: DriftReportMeta): string;
|
|
15
|
+
export interface SuggestReportRow {
|
|
16
|
+
page: string;
|
|
17
|
+
status: 'lost' | 'ambiguous';
|
|
18
|
+
role: string;
|
|
19
|
+
name: string;
|
|
20
|
+
selector: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SuggestReportSuggestion extends SuggestReportRow {
|
|
23
|
+
suggestedSelector: string;
|
|
24
|
+
suggestedName: string;
|
|
25
|
+
confidence: number;
|
|
26
|
+
rationale: string;
|
|
27
|
+
reboundTo?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SuggestReportMeta {
|
|
30
|
+
provider: string;
|
|
31
|
+
model: string;
|
|
32
|
+
minConfidence: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A branded HTML report for `ia-qa-heal-ai suggest`. Mirrors the drift report's
|
|
36
|
+
* look (shared CSS/header/footer), but its content is AI SUGGESTIONS the human
|
|
37
|
+
* has not applied — the page says so loudly. It is the artefact to attach to a PR
|
|
38
|
+
* when asking a reviewer to sign off on what the model proposed for the rows the
|
|
39
|
+
* deterministic engine gave up on. The deterministic gate is untouched.
|
|
40
|
+
*/
|
|
41
|
+
export declare function renderSuggestReportHtml(suggestions: SuggestReportSuggestion[], unresolved: SuggestReportRow[], meta: SuggestReportMeta): string;
|
package/dist/htmlReport.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderDriftReportHtml = renderDriftReportHtml;
|
|
4
|
+
exports.renderSuggestReportHtml = renderSuggestReportHtml;
|
|
4
5
|
/**
|
|
5
6
|
* A branded, self-contained HTML report for a directory-level selector diff.
|
|
6
7
|
*
|
|
@@ -121,71 +122,12 @@ function renderRunSummary(agg, reports, meta) {
|
|
|
121
122
|
}
|
|
122
123
|
return `<p class="run-summary">${body}</p>`;
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const value = agg.totals[f.key];
|
|
131
|
-
const dim = value === 0 && f.key !== 'total' ? ' dim' : '';
|
|
132
|
-
return `<div class="stat${dim}"><div class="stat-value tone-${f.tone}">${value}</div><div class="stat-label">${esc(f.label)}</div></div>`;
|
|
133
|
-
})
|
|
134
|
-
.join('');
|
|
135
|
-
const pageRows = agg.pageReports
|
|
136
|
-
.map((pr) => {
|
|
137
|
-
const t = verdictTone(pr.verdict);
|
|
138
|
-
return `<tr>
|
|
139
|
-
<td><span class="badge badge-${t}">${esc(pr.verdict)}</span></td>
|
|
140
|
-
<td class="page-name">${esc(pr.name)}</td>
|
|
141
|
-
<td class="nums">${pr.counts.ok} ok · ${pr.counts.healable} heal · ${pr.counts.lost} lost · ${pr.counts.added} new</td>
|
|
142
|
-
</tr>`;
|
|
143
|
-
})
|
|
144
|
-
.join('');
|
|
145
|
-
const layoutHtml = agg.layoutVerdict
|
|
146
|
-
? `<section><h2>📐 Shared layout</h2>
|
|
147
|
-
<div class="verdict-inline verdict-${verdictTone(agg.layoutVerdict)}">${esc(agg.layoutVerdict)}</div>
|
|
148
|
-
${agg.layoutCounts ? `<span class="nums">${agg.layoutCounts.ok} ok · ${agg.layoutCounts.healable} healable · ${agg.layoutCounts.lost} lost · ${agg.layoutCounts.added} new</span>` : ''}
|
|
149
|
-
<p class="hint">These elements were diffed once instead of per page — fix drift here in the layout, once.</p>
|
|
150
|
-
</section>`
|
|
151
|
-
: '';
|
|
152
|
-
const driftBlocks = reports
|
|
153
|
-
.map(({ name, report }) => {
|
|
154
|
-
const drift = report.rows.filter((r) => r.status !== 'ok');
|
|
155
|
-
const rows = [...drift, ...report.added];
|
|
156
|
-
if (rows.length === 0)
|
|
157
|
-
return '';
|
|
158
|
-
const items = rows
|
|
159
|
-
.map((r) => {
|
|
160
|
-
const m = statusMeta(r.status);
|
|
161
|
-
const rebound = r.rebound
|
|
162
|
-
? `<div class="rebound">⚠️ that selector now resolves to ${esc(r.role)} "${esc(r.reboundTo)}" — green today, clicking the wrong element.</div>`
|
|
163
|
-
: '';
|
|
164
|
-
return `<div class="drift-row">
|
|
165
|
-
<div class="drift-head"><span class="badge badge-${m.tone}">${m.icon} ${esc(m.label)}</span><span class="drift-label">${esc(rowLabel(r))}</span>${usageNote(meta.usage, r.selector)}</div>
|
|
166
|
-
<div class="drift-body">${rowTransition(r)}</div>
|
|
167
|
-
${rebound}
|
|
168
|
-
</div>`;
|
|
169
|
-
})
|
|
170
|
-
.join('');
|
|
171
|
-
return `<div class="drift-page"><div class="drift-page-title">${esc(name)}</div>${items}</div>`;
|
|
172
|
-
})
|
|
173
|
-
.filter(Boolean)
|
|
174
|
-
.join('');
|
|
175
|
-
const stale = agg.staleExcluded?.length
|
|
176
|
-
? `<section class="note"><h2>⏸ Left out of the verdict</h2><p>${agg.staleExcluded.length} contract(s) were the same capture on both sides, so they cannot show drift: <code>${esc(agg.staleExcluded.join(', '))}</code>. Re-map to bring them back into the gate.</p></section>`
|
|
177
|
-
: '';
|
|
178
|
-
const verdictLine = agg.verdict === 'PASS' ? 'No drift — your suite is safe to run.'
|
|
179
|
-
: agg.verdict === 'FIX' ? 'Healable drift — deterministic old→new rewrites available via ia-qa-heal fix.'
|
|
180
|
-
: 'A selector broke with no safe match — a human must fix or delete the test before anything is rewritten.';
|
|
181
|
-
const runSummary = renderRunSummary(agg, reports, meta);
|
|
182
|
-
return `<!DOCTYPE html>
|
|
183
|
-
<html lang="en">
|
|
184
|
-
<head>
|
|
185
|
-
<meta charset="UTF-8">
|
|
186
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
187
|
-
<title>IA-QA — Selector drift report</title>
|
|
188
|
-
<style>
|
|
125
|
+
/**
|
|
126
|
+
* Shared, self-contained CSS for every branded report (drift + AI suggestions).
|
|
127
|
+
* Extracted so the two renderers never drift apart visually. Zero-dependency,
|
|
128
|
+
* inline — nothing is fetched.
|
|
129
|
+
*/
|
|
130
|
+
const REPORT_CSS = `
|
|
189
131
|
:root{--bg:#09090b;--surface:#18181b;--surface2:#111113;--border:#27272a;--text:#e4e4e7;--muted:#a1a1aa;
|
|
190
132
|
--orange:#f97316;--orange2:#fb923c;--pass:#10b981;--fail:#ef4444;--warn:#f59e0b;--info:#8b5cf6;}
|
|
191
133
|
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
|
@@ -248,30 +190,111 @@ function renderDriftReportHtml(agg, reports, meta) {
|
|
|
248
190
|
.use-none{background:#3f3f4633;color:var(--muted);border:1px solid var(--border)}
|
|
249
191
|
.hint{color:var(--muted);font-size:12.5px;margin-top:10px}
|
|
250
192
|
.note p{color:var(--muted);font-size:13px}
|
|
193
|
+
.disclaimer{background:#f59e0b14;border:1px solid #f59e0b40;border-radius:10px;padding:11px 14px;color:#fcd34d;font-size:12.5px;line-height:1.55}
|
|
194
|
+
.conf{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}
|
|
195
|
+
.conf-bar{width:56px;height:6px;border-radius:99px;background:#3f3f4640;overflow:hidden}
|
|
196
|
+
.conf-fill{height:100%;background:var(--pass)}
|
|
197
|
+
.proposes{color:var(--text)}
|
|
198
|
+
.rationale{margin-top:6px;font-size:12px;color:var(--muted)}
|
|
199
|
+
.rationale::before{content:"\\21b3 ";color:var(--orange2)}
|
|
251
200
|
footer{border-top:1px solid var(--border);background:var(--surface2);padding:26px 0}
|
|
252
201
|
.foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
|
|
253
202
|
.foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px}
|
|
254
203
|
.foot-note{color:var(--muted);font-size:12px}
|
|
255
204
|
.foot-note a{font-weight:600}
|
|
256
205
|
@media(max-width:560px){.title h1{font-size:20px}.verdict .big{font-size:20px}.nums{display:block}}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
<header><div class="wrap">
|
|
206
|
+
`;
|
|
207
|
+
function reportHeader(title, metaLine) {
|
|
208
|
+
return `<header><div class="wrap">
|
|
261
209
|
<div class="brand">
|
|
262
210
|
<a class="logo" href="${BRAND.home}"><span class="mark">IA-QA</span><span>ia-qa.com</span></a>
|
|
263
211
|
<a class="cta" href="${BRAND.tools}">Explore 150+ QA tools →</a>
|
|
264
212
|
</div>
|
|
265
213
|
<div class="title">
|
|
266
|
-
<h1
|
|
267
|
-
<div class="meta">
|
|
268
|
-
<code>${esc(meta.baselineName)}</code> → <code>${esc(meta.currentName)}</code>
|
|
269
|
-
· ${meta.filesDiffed} file${meta.filesDiffed === 1 ? '' : 's'} diffed
|
|
270
|
-
· Generated ${esc(generated)}
|
|
271
|
-
· <code>@ia-qa/self-healing</code>
|
|
272
|
-
</div>
|
|
214
|
+
<h1>${esc(title)}</h1>
|
|
215
|
+
<div class="meta">${metaLine}</div>
|
|
273
216
|
</div>
|
|
274
|
-
</div></header
|
|
217
|
+
</div></header>`;
|
|
218
|
+
}
|
|
219
|
+
function reportFooter() {
|
|
220
|
+
return `<footer><div class="wrap"><div class="foot">
|
|
221
|
+
<div class="foot-links">
|
|
222
|
+
<a href="${BRAND.home}">🏠 Home</a>
|
|
223
|
+
<a href="${BRAND.tools}">🧰 All tools</a>
|
|
224
|
+
<a href="${BRAND.method}">📚 Method</a>
|
|
225
|
+
<a href="${BRAND.healing}">📦 @ia-qa/self-healing</a>
|
|
226
|
+
</div>
|
|
227
|
+
<div class="foot-note">Local-first self-healing for UI tests — nothing leaves your machine. — <a href="${BRAND.home}">ia-qa.com</a></div>
|
|
228
|
+
</div></div></footer>`;
|
|
229
|
+
}
|
|
230
|
+
function renderDriftReportHtml(agg, reports, meta) {
|
|
231
|
+
const generated = new Date().toLocaleString('en-US', { dateStyle: 'medium', timeStyle: 'short' });
|
|
232
|
+
const tone = verdictTone(agg.verdict);
|
|
233
|
+
const statTotal = { key: 'total', label: 'Elements', tone: 'neutral' };
|
|
234
|
+
const statsHtml = [statTotal, ...COUNT_FIELDS]
|
|
235
|
+
.map((f) => {
|
|
236
|
+
const value = agg.totals[f.key];
|
|
237
|
+
const dim = value === 0 && f.key !== 'total' ? ' dim' : '';
|
|
238
|
+
return `<div class="stat${dim}"><div class="stat-value tone-${f.tone}">${value}</div><div class="stat-label">${esc(f.label)}</div></div>`;
|
|
239
|
+
})
|
|
240
|
+
.join('');
|
|
241
|
+
const pageRows = agg.pageReports
|
|
242
|
+
.map((pr) => {
|
|
243
|
+
const t = verdictTone(pr.verdict);
|
|
244
|
+
return `<tr>
|
|
245
|
+
<td><span class="badge badge-${t}">${esc(pr.verdict)}</span></td>
|
|
246
|
+
<td class="page-name">${esc(pr.name)}</td>
|
|
247
|
+
<td class="nums">${pr.counts.ok} ok · ${pr.counts.healable} heal · ${pr.counts.lost} lost · ${pr.counts.added} new</td>
|
|
248
|
+
</tr>`;
|
|
249
|
+
})
|
|
250
|
+
.join('');
|
|
251
|
+
const layoutHtml = agg.layoutVerdict
|
|
252
|
+
? `<section><h2>📐 Shared layout</h2>
|
|
253
|
+
<div class="verdict-inline verdict-${verdictTone(agg.layoutVerdict)}">${esc(agg.layoutVerdict)}</div>
|
|
254
|
+
${agg.layoutCounts ? `<span class="nums">${agg.layoutCounts.ok} ok · ${agg.layoutCounts.healable} healable · ${agg.layoutCounts.lost} lost · ${agg.layoutCounts.added} new</span>` : ''}
|
|
255
|
+
<p class="hint">These elements were diffed once instead of per page — fix drift here in the layout, once.</p>
|
|
256
|
+
</section>`
|
|
257
|
+
: '';
|
|
258
|
+
const driftBlocks = reports
|
|
259
|
+
.map(({ name, report }) => {
|
|
260
|
+
const drift = report.rows.filter((r) => r.status !== 'ok');
|
|
261
|
+
const rows = [...drift, ...report.added];
|
|
262
|
+
if (rows.length === 0)
|
|
263
|
+
return '';
|
|
264
|
+
const items = rows
|
|
265
|
+
.map((r) => {
|
|
266
|
+
const m = statusMeta(r.status);
|
|
267
|
+
const rebound = r.rebound
|
|
268
|
+
? `<div class="rebound">⚠️ that selector now resolves to ${esc(r.role)} "${esc(r.reboundTo)}" — green today, clicking the wrong element.</div>`
|
|
269
|
+
: '';
|
|
270
|
+
return `<div class="drift-row">
|
|
271
|
+
<div class="drift-head"><span class="badge badge-${m.tone}">${m.icon} ${esc(m.label)}</span><span class="drift-label">${esc(rowLabel(r))}</span>${usageNote(meta.usage, r.selector)}</div>
|
|
272
|
+
<div class="drift-body">${rowTransition(r)}</div>
|
|
273
|
+
${rebound}
|
|
274
|
+
</div>`;
|
|
275
|
+
})
|
|
276
|
+
.join('');
|
|
277
|
+
return `<div class="drift-page"><div class="drift-page-title">${esc(name)}</div>${items}</div>`;
|
|
278
|
+
})
|
|
279
|
+
.filter(Boolean)
|
|
280
|
+
.join('');
|
|
281
|
+
const stale = agg.staleExcluded?.length
|
|
282
|
+
? `<section class="note"><h2>⏸ Left out of the verdict</h2><p>${agg.staleExcluded.length} contract(s) were the same capture on both sides, so they cannot show drift: <code>${esc(agg.staleExcluded.join(', '))}</code>. Re-map to bring them back into the gate.</p></section>`
|
|
283
|
+
: '';
|
|
284
|
+
const verdictLine = agg.verdict === 'PASS' ? 'No drift — your suite is safe to run.'
|
|
285
|
+
: agg.verdict === 'FIX' ? 'Healable drift — deterministic old→new rewrites available via ia-qa-heal fix.'
|
|
286
|
+
: 'A selector broke with no safe match — a human must fix or delete the test before anything is rewritten.';
|
|
287
|
+
const runSummary = renderRunSummary(agg, reports, meta);
|
|
288
|
+
return `<!DOCTYPE html>
|
|
289
|
+
<html lang="en">
|
|
290
|
+
<head>
|
|
291
|
+
<meta charset="UTF-8">
|
|
292
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
293
|
+
<title>IA-QA — Selector drift report</title>
|
|
294
|
+
<style>${REPORT_CSS}</style>
|
|
295
|
+
</head>
|
|
296
|
+
<body>
|
|
297
|
+
${reportHeader('Selector drift report', `<code>${esc(meta.baselineName)}</code> → <code>${esc(meta.currentName)}</code> · ${meta.filesDiffed} file${meta.filesDiffed === 1 ? '' : 's'} diffed · Generated ${esc(generated)} · <code>@ia-qa/self-healing</code>`)}
|
|
275
298
|
<main><div class="wrap">
|
|
276
299
|
<section class="hero verdict-${tone}">
|
|
277
300
|
<div class="verdict verdict-${tone}"><span class="big">${esc(agg.verdict)}</span><span>${esc(verdictLine)}</span></div>
|
|
@@ -286,15 +309,74 @@ function renderDriftReportHtml(agg, reports, meta) {
|
|
|
286
309
|
${driftBlocks ? `<section><h2>🔍 Drifted selectors</h2>${driftBlocks}</section>` : ''}
|
|
287
310
|
${stale}
|
|
288
311
|
</div></main>
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
312
|
+
${reportFooter()}
|
|
313
|
+
</body>
|
|
314
|
+
</html>`;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* A branded HTML report for `ia-qa-heal-ai suggest`. Mirrors the drift report's
|
|
318
|
+
* look (shared CSS/header/footer), but its content is AI SUGGESTIONS the human
|
|
319
|
+
* has not applied — the page says so loudly. It is the artefact to attach to a PR
|
|
320
|
+
* when asking a reviewer to sign off on what the model proposed for the rows the
|
|
321
|
+
* deterministic engine gave up on. The deterministic gate is untouched.
|
|
322
|
+
*/
|
|
323
|
+
function renderSuggestReportHtml(suggestions, unresolved, meta) {
|
|
324
|
+
const generated = new Date().toLocaleString('en-US', { dateStyle: 'medium', timeStyle: 'short' });
|
|
325
|
+
const label = (r) => `${r.role} "${r.name || '(no name)'}"`;
|
|
326
|
+
const sugItems = suggestions
|
|
327
|
+
.map((s) => {
|
|
328
|
+
const pct = Math.round(s.confidence * 100);
|
|
329
|
+
const rebound = s.reboundTo
|
|
330
|
+
? `<div class="rebound">⚠️ the old selector currently resolves onto "${esc(s.reboundTo)}" — green today, clicking the wrong element.</div>`
|
|
331
|
+
: '';
|
|
332
|
+
return `<div class="drift-row">
|
|
333
|
+
<div class="drift-head">
|
|
334
|
+
<span class="badge badge-warn">💡 ${esc(s.status)}</span>
|
|
335
|
+
<span class="drift-label">${esc(label(s))}</span>
|
|
336
|
+
<span class="hint" style="margin:0">${esc(s.page)}</span>
|
|
337
|
+
<span class="conf"><span class="conf-bar"><span class="conf-fill" style="width:${pct}%"></span></span>${pct}%</span>
|
|
338
|
+
</div>
|
|
339
|
+
<div class="drift-body"><code class="old">${esc(s.selector)}</code> <span class="arr">→</span> <code class="new">${esc(s.suggestedSelector)}</code> <span class="how">· proposes <span class="proposes">${esc(s.role)} "${esc(s.suggestedName)}"</span></span></div>
|
|
340
|
+
<div class="rationale">${esc(s.rationale)}</div>
|
|
341
|
+
${rebound}
|
|
342
|
+
</div>`;
|
|
343
|
+
})
|
|
344
|
+
.join('');
|
|
345
|
+
const unresolvedItems = unresolved
|
|
346
|
+
.map((u) => `<div class="drift-row">
|
|
347
|
+
<div class="drift-head"><span class="badge badge-fail">🚫 ${esc(u.status)}</span><span class="drift-label">${esc(label(u))}</span><span class="hint" style="margin:0">${esc(u.page)}</span></div>
|
|
348
|
+
<div class="drift-body"><code class="old">${esc(u.selector)}</code> <span class="arr">→</span> <span class="how">no confident AI match — stays for a human.</span></div>
|
|
349
|
+
</div>`)
|
|
350
|
+
.join('');
|
|
351
|
+
const statsHtml = [
|
|
352
|
+
{ value: suggestions.length, label: 'Suggested', tone: 'warn' },
|
|
353
|
+
{ value: unresolved.length, label: 'No match', tone: 'fail' },
|
|
354
|
+
{ value: `≥ ${meta.minConfidence}`, label: 'Min confidence', tone: 'neutral' },
|
|
355
|
+
]
|
|
356
|
+
.map((s) => `<div class="stat"><div class="stat-value tone-${s.tone}">${esc(s.value)}</div><div class="stat-label">${esc(s.label)}</div></div>`)
|
|
357
|
+
.join('');
|
|
358
|
+
const metaLine = `<code>${esc(meta.provider)}</code> · <code>${esc(meta.model)}</code> · Generated ${esc(generated)} · <code>@ia-qa/self-healing</code>`;
|
|
359
|
+
return `<!DOCTYPE html>
|
|
360
|
+
<html lang="en">
|
|
361
|
+
<head>
|
|
362
|
+
<meta charset="UTF-8">
|
|
363
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
364
|
+
<title>IA-QA — AI heal suggestions</title>
|
|
365
|
+
<style>${REPORT_CSS}</style>
|
|
366
|
+
</head>
|
|
367
|
+
<body>
|
|
368
|
+
${reportHeader('AI heal suggestions', metaLine)}
|
|
369
|
+
<main><div class="wrap">
|
|
370
|
+
<section class="hero verdict-warn">
|
|
371
|
+
<div class="verdict verdict-warn"><span class="big">SUGGESTIONS</span><span>AI proposals for what deterministic healing gave up on — not applied.</span></div>
|
|
372
|
+
<p class="disclaimer">⚠️ These are <strong>AI suggestions, not changes.</strong> Nothing was written and no CI gate depends on them. A human confirms each one (locally, via <code>ia-qa-heal-ai suggest --apply</code>) — the deterministic <code>ia-qa-heal diff</code> / <code>fix</code> gate is untouched.</p>
|
|
373
|
+
<div class="stats">${statsHtml}</div>
|
|
374
|
+
</section>
|
|
375
|
+
${suggestions.length ? `<section><h2>💡 Proposed heals (${suggestions.length})</h2>${sugItems}</section>` : ''}
|
|
376
|
+
${unresolved.length ? `<section><h2>🚫 No confident match — for a human (${unresolved.length})</h2>${unresolvedItems}</section>` : ''}
|
|
377
|
+
${suggestions.length === 0 && unresolved.length === 0 ? `<section class="note"><p>Nothing for the AI to do — deterministic healing left no lost/ambiguous rows.</p></section>` : ''}
|
|
378
|
+
</div></main>
|
|
379
|
+
${reportFooter()}
|
|
298
380
|
</body>
|
|
299
381
|
</html>`;
|
|
300
382
|
}
|
package/dist/htmlReport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlReport.js","sourceRoot":"","sources":["../src/htmlReport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"htmlReport.js","sourceRoot":"","sources":["../src/htmlReport.ts"],"names":[],"mappings":"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"}
|
package/dist/pageName.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ia-qa/self-healing",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.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",
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
"types": "./dist/playwright/capture.d.ts",
|
|
33
33
|
"default": "./dist/playwright/capture.js"
|
|
34
34
|
},
|
|
35
|
+
"./cypress": {
|
|
36
|
+
"default": "./dist/cypress/capture.js"
|
|
37
|
+
},
|
|
35
38
|
"./dist/*": [
|
|
36
39
|
"./dist/*",
|
|
37
40
|
"./dist/*.js"
|