@ia-qa/pal 0.9.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/ROADMAP.md +121 -0
- package/TUTORIAL.md +62 -1
- package/dist/cli/index.js +36 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/skill.d.ts +16 -0
- package/dist/cli/skill.js +57 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/history.js +4 -0
- package/dist/history.js.map +1 -1
- package/dist/htmlReport.js +20 -14
- package/dist/htmlReport.js.map +1 -1
- package/dist/mcp/server.js +3 -16
- package/dist/mcp/server.js.map +1 -1
- package/dist/plan.d.ts +9 -0
- package/dist/plan.js +2 -0
- package/dist/plan.js.map +1 -1
- package/dist/project.d.ts +20 -0
- package/dist/project.js +106 -0
- package/dist/project.js.map +1 -0
- package/dist/report.d.ts +11 -0
- package/dist/report.js +48 -1
- package/dist/report.js.map +1 -1
- package/dist/run.d.ts +1 -0
- package/dist/run.js +3 -1
- package/dist/run.js.map +1 -1
- package/dist/tour.d.ts +27 -0
- package/dist/tour.js +60 -3
- package/dist/tour.js.map +1 -1
- package/package.json +5 -3
- package/skills/ia-qa-pal/SKILL.md +120 -0
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,0BAOC;AA+CD,0BAgBC;AAGD,8BAGC;AAWD,kCAsCC;AAeD,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/tour.d.ts
CHANGED
|
@@ -11,6 +11,13 @@ export interface TourOptions {
|
|
|
11
11
|
more?: boolean;
|
|
12
12
|
/** Run the test suite from config.json with the capture hook, to learn which pages it visits. */
|
|
13
13
|
suite?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Run only the declared suite, for coverage — no capture, no comparison, no verdict.
|
|
16
|
+
*
|
|
17
|
+
* The escape hatch for a project whose session is not opening the app: the suite has its
|
|
18
|
+
* own login, and which pages it visits is a fact it can state alone. Implies `--suite`.
|
|
19
|
+
*/
|
|
20
|
+
suiteOnly?: boolean;
|
|
14
21
|
/** Also fail on drift behind interaction (elements reached only by clicking). */
|
|
15
22
|
strict?: boolean;
|
|
16
23
|
/**
|
|
@@ -48,6 +55,17 @@ export interface TourResult {
|
|
|
48
55
|
/** Pages explored in depth by this tour. */
|
|
49
56
|
exploredThisTour: string[];
|
|
50
57
|
partlyExplored: string[];
|
|
58
|
+
/**
|
|
59
|
+
* Pages the app sent elsewhere: the contract under that name describes another page.
|
|
60
|
+
*
|
|
61
|
+
* Reported here because the field found it exactly once, mid-stream, in a 172-line log —
|
|
62
|
+
* and it was the only fact explaining six failing tests. A summary that leaves its most
|
|
63
|
+
* useful line in the stream is not a summary.
|
|
64
|
+
*/
|
|
65
|
+
redirected: Array<{
|
|
66
|
+
page: string;
|
|
67
|
+
landedOn: string;
|
|
68
|
+
}>;
|
|
51
69
|
/** `loginWall`: the page landed on a login form — the session expired or never took. */
|
|
52
70
|
notMapped: Array<{
|
|
53
71
|
page: string;
|
|
@@ -129,6 +147,15 @@ export interface TourResult {
|
|
|
129
147
|
captureHints: string[];
|
|
130
148
|
};
|
|
131
149
|
estimate: Estimate | null;
|
|
150
|
+
/**
|
|
151
|
+
* This run captured nothing on purpose (`--suite-only`): it ran the declared command to
|
|
152
|
+
* learn which pages it visits, and compared nothing.
|
|
153
|
+
*
|
|
154
|
+
* On the result rather than only on the options, because a report that cannot say which
|
|
155
|
+
* question it answered is indistinguishable from a tour that failed to answer one — the
|
|
156
|
+
* defect this package keeps meeting in other costumes.
|
|
157
|
+
*/
|
|
158
|
+
suiteOnly?: true;
|
|
132
159
|
/** Set when the tour declined to run, with the reason. */
|
|
133
160
|
refused?: string;
|
|
134
161
|
/** The project has no config yet: what a setup needs, and the command that provides it. */
|
package/dist/tour.js
CHANGED
|
@@ -42,7 +42,19 @@ const plan_1 = require("./plan");
|
|
|
42
42
|
const state_1 = require("./state");
|
|
43
43
|
const suite_1 = require("./suite");
|
|
44
44
|
Object.defineProperty(exports, "CAPTURE_IMPORT", { enumerable: true, get: function () { return suite_1.CAPTURE_IMPORT; } });
|
|
45
|
+
const setup_1 = require("./setup");
|
|
45
46
|
const EMPTY_MAP = { mapped: 0, attempted: 0, failed: [], pages: [] };
|
|
47
|
+
/**
|
|
48
|
+
* Why the suite did not run, and the one flag that runs it anyway.
|
|
49
|
+
*
|
|
50
|
+
* Its own constant because the two refusal branches must not word it differently, and
|
|
51
|
+
* because the escape hatch is the load-bearing half: a `--suite` run has value a dead
|
|
52
|
+
* session does not destroy — the suite carries its own login, and the run records which
|
|
53
|
+
* pages it visits. Refusing it without offering that would trade eighteen wasted minutes
|
|
54
|
+
* for a coverage measurement nobody can get.
|
|
55
|
+
*/
|
|
56
|
+
const SUITE_NOT_RUN = ` The suite was NOT run: it has its own login and may well pass, but its result could\n` +
|
|
57
|
+
` not have been compared to anything. For coverage alone: ia-qa-pal tour --suite-only`;
|
|
46
58
|
/**
|
|
47
59
|
* The verbs print, and a tour's stdout belongs to its report. Everything they say is kept —
|
|
48
60
|
* moved to stderr, where a person still reads it and a pipe does not.
|
|
@@ -109,7 +121,7 @@ function notSetUp(started) {
|
|
|
109
121
|
mode: 'first',
|
|
110
122
|
baseUrl: '',
|
|
111
123
|
level: 0,
|
|
112
|
-
pages: { configured: 0, underContract: 0, explored: 0, notExplored: [], exploredThisTour: [], partlyExplored: [], notMapped: [], notInBaseline: [], outOfScope: [], unreadable: [] },
|
|
124
|
+
pages: { configured: 0, underContract: 0, explored: 0, notExplored: [], exploredThisTour: [], partlyExplored: [], redirected: [], notMapped: [], notInBaseline: [], outOfScope: [], unreadable: [] },
|
|
113
125
|
drift: null,
|
|
114
126
|
check: null,
|
|
115
127
|
suite: null,
|
|
@@ -154,7 +166,7 @@ async function runTour(opts = {}) {
|
|
|
154
166
|
mode,
|
|
155
167
|
baseUrl: config.baseUrl,
|
|
156
168
|
level: hasSuite ? 2 : hasLogin(config, session, dir) ? 1 : 0,
|
|
157
|
-
pages: { configured: names.length, underContract: 0, explored: 0, notExplored: [], exploredThisTour: [], partlyExplored: [], notMapped: [], notInBaseline: [], outOfScope: [], unreadable: [] },
|
|
169
|
+
pages: { configured: names.length, underContract: 0, explored: 0, notExplored: [], exploredThisTour: [], partlyExplored: [], redirected: [], notMapped: [], notInBaseline: [], outOfScope: [], unreadable: [] },
|
|
158
170
|
drift: null,
|
|
159
171
|
check: null,
|
|
160
172
|
suite: null,
|
|
@@ -195,7 +207,14 @@ async function runTour(opts = {}) {
|
|
|
195
207
|
}));
|
|
196
208
|
let runs = [];
|
|
197
209
|
let measured = 0;
|
|
198
|
-
if (
|
|
210
|
+
if (opts.suiteOnly) {
|
|
211
|
+
// Nothing is captured and nothing is compared: this run exists to answer "which pages
|
|
212
|
+
// does the suite visit", which is a coverage fact the suite can state on its own. It is
|
|
213
|
+
// the escape hatch the refusal below offers, and it must genuinely not need a session —
|
|
214
|
+
// the suite carries its own login.
|
|
215
|
+
progress(`▶ Suite only: no capture, no comparison, no verdict — just which pages your suite visits.`);
|
|
216
|
+
}
|
|
217
|
+
else if (mode === 'first') {
|
|
199
218
|
progress(`🗺 Surface: every page, no clicks…`);
|
|
200
219
|
const surface = await mapWith('surface', names);
|
|
201
220
|
recordPages(state, [surface]);
|
|
@@ -325,6 +344,37 @@ async function runTour(opts = {}) {
|
|
|
325
344
|
result.pages.outOfScope = outcome.outOfScope ?? [];
|
|
326
345
|
}
|
|
327
346
|
}
|
|
347
|
+
// Nothing was mapped, so nothing can be compared — say it HERE, before the suite.
|
|
348
|
+
//
|
|
349
|
+
// Field report: a tour knew at minute one that 0 of 6 pages had been mapped, then ran an
|
|
350
|
+
// 18-minute test suite, and ended on "no comparable page". Every fact needed to stop was
|
|
351
|
+
// already in hand. A tool that keeps working after it knows the work cannot produce an
|
|
352
|
+
// answer is not being thorough, it is spending someone's afternoon.
|
|
353
|
+
//
|
|
354
|
+
// Not a failure of the app, so the wording never blames it — and `--suite-only` is
|
|
355
|
+
// offered rather than implied, because the suite run has its own value (it has its own
|
|
356
|
+
// login, and it records which pages it visits) and that value survives a dead session.
|
|
357
|
+
if (measured === 0 && names.length > 0 && !opts.suiteOnly) {
|
|
358
|
+
const walled = runs.flatMap((r) => r.failed).filter((f) => f.kind === 'login-wall');
|
|
359
|
+
result.pages.notMapped = runs
|
|
360
|
+
.flatMap((r) => r.failed)
|
|
361
|
+
.map((f) => ({ page: f.page, url: f.url, reason: f.error, ...(f.kind === 'login-wall' ? { loginWall: true } : {}) }));
|
|
362
|
+
result.refused =
|
|
363
|
+
walled.length > 0
|
|
364
|
+
? `Not one of the ${names.length} page(s) could be mapped: they landed on a login page, so the session ` +
|
|
365
|
+
`is not opening this app. This tour can produce no verdict — every page would read as "not seen".\n` +
|
|
366
|
+
` Check what the session is actually doing: npx -p @ia-qa/self-healing ia-qa-heal session --check\n` +
|
|
367
|
+
` Then a person logs in again: ${setup_1.LOGIN_COMMAND}\n` +
|
|
368
|
+
(opts.suite ? SUITE_NOT_RUN : ` Nothing was run after this point.`)
|
|
369
|
+
: `Not one of the ${names.length} page(s) could be mapped, so there is nothing to compare and this ` +
|
|
370
|
+
`tour can produce no verdict.\n` +
|
|
371
|
+
` The per-page reasons are above and in "notMapped".` +
|
|
372
|
+
(opts.suite ? `\n${SUITE_NOT_RUN}` : '');
|
|
373
|
+
result.exitCode = 2;
|
|
374
|
+
progress(`⛔ ${result.refused.split('\n')[0]}`);
|
|
375
|
+
(0, state_1.saveState)(state);
|
|
376
|
+
return finish();
|
|
377
|
+
}
|
|
328
378
|
if (suiteInventory) {
|
|
329
379
|
let run = state.suite ?? null;
|
|
330
380
|
let ranThisTour = false;
|
|
@@ -376,9 +426,16 @@ async function runTour(opts = {}) {
|
|
|
376
426
|
result.pages.exploredThisTour = names.filter((n) => exploredNow.has(n) && !((before.get(n) ?? 0) > 0));
|
|
377
427
|
result.pages.partlyExplored = runs.flatMap((r) => r.pages).filter((p) => p.truncated).map((p) => p.page);
|
|
378
428
|
result.pages.notMapped = runs.flatMap((r) => r.failed).map((f) => ({ page: f.page, url: f.url, reason: f.error, ...(f.kind === 'login-wall' ? { loginWall: true } : {}) }));
|
|
429
|
+
result.pages.redirected = runs
|
|
430
|
+
.flatMap((r) => r.pages)
|
|
431
|
+
.filter((p) => p.landedOn)
|
|
432
|
+
.map((p) => ({ page: p.page, landedOn: p.landedOn }));
|
|
379
433
|
result.estimate = (0, plan_1.estimate)(result.pages.notExplored, state.openables, state.pace);
|
|
434
|
+
if (opts.suiteOnly)
|
|
435
|
+
result.suiteOnly = true;
|
|
380
436
|
result.exitCode = (0, plan_1.exitCodeFor)({
|
|
381
437
|
measured,
|
|
438
|
+
suiteOnly: opts.suiteOnly,
|
|
382
439
|
drift: result.drift,
|
|
383
440
|
deadLinks: result.check?.deadLinks.length ?? 0,
|
|
384
441
|
suiteFailed: !!(result.suite?.ranThisTour && result.suite.run && result.suite.run.exitCode !== 0),
|
package/dist/tour.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour.js","sourceRoot":"","sources":["../src/tour.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tour.js","sourceRoot":"","sources":["../src/tour.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ia-qa/pal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "A QA pal next to your team: one command walks your web app, maps it, checks it and diffs it against yesterday, then reports what broke, what needs a decision and what it could not see. Local, deterministic, no LLM.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"qa",
|
|
@@ -29,8 +29,10 @@
|
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"dist",
|
|
32
|
+
"skills",
|
|
32
33
|
"README.md",
|
|
33
|
-
"TUTORIAL.md"
|
|
34
|
+
"TUTORIAL.md",
|
|
35
|
+
"ROADMAP.md"
|
|
34
36
|
],
|
|
35
37
|
"scripts": {
|
|
36
38
|
"build": "tsc -p tsconfig.json",
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
"node": ">=18.0.0"
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
|
-
"@ia-qa/self-healing": "^1.
|
|
46
|
+
"@ia-qa/self-healing": "^1.19.0"
|
|
45
47
|
},
|
|
46
48
|
"peerDependencies": {
|
|
47
49
|
"playwright": ">=1.40.0"
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ia-qa-pal
|
|
3
|
+
description: >-
|
|
4
|
+
Run one command that walks a web app, maps every page, checks it, compares it with the last
|
|
5
|
+
tour and reports what broke, what needs a person and what it could not see. Use when asked
|
|
6
|
+
to watch an app for regressions, to set up QA on a project that has none, to run a QA round
|
|
7
|
+
or tour, or to find out what a test suite never visits. Requires @ia-qa/pal (`ia-qa-pal`).
|
|
8
|
+
Runs entirely on the user's machine; no LLM is ever called.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ia-qa-pal — one tour, one report, no engine of its own
|
|
12
|
+
|
|
13
|
+
## 1. What it is, and what it is not
|
|
14
|
+
|
|
15
|
+
pal **composes** `@ia-qa/self-healing`: every verdict it prints comes from that package's own
|
|
16
|
+
functions. It adds no scoring, no heuristic and no second opinion. If a number here disagrees
|
|
17
|
+
with `ia-qa-heal`, that is a bug, not a nuance.
|
|
18
|
+
|
|
19
|
+
A tour is minutes, not seconds — it drives a real browser over every configured page. Always
|
|
20
|
+
start it in the background and follow it, or you block your own session:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx -p @ia-qa/pal ia-qa-pal tour --background
|
|
24
|
+
npx -p @ia-qa/pal ia-qa-pal status
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Through MCP: `pal_project`, `pal_setup`, `pal_tour` (always background), `pal_status`.
|
|
28
|
+
|
|
29
|
+
## 2. The order, and it is not negotiable
|
|
30
|
+
|
|
31
|
+
| Step | Command | Why it must come first |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| 1 | `ia-qa-pal project` | is this project set up at all, and is a tour already running? **Call this first.** |
|
|
34
|
+
| 2 | `ia-qa-pal setup …` | writes `.ia-qa/config.json`. Never overwrites one. |
|
|
35
|
+
| 3 | `ia-qa-pal tour --background` | first tour = **baseline**. It is never a pass. |
|
|
36
|
+
| 4 | `ia-qa-pal status` | follow it; the report lands here |
|
|
37
|
+
| 5 | later tours | the same command. Now it compares. |
|
|
38
|
+
|
|
39
|
+
`tour` in an unset project returns a typed `setupRequired` with exit 2 rather than guessing an
|
|
40
|
+
answer. That is your cue to run step 2 — after asking the human, never before.
|
|
41
|
+
|
|
42
|
+
## 3. Setting a project up — ask, never assume
|
|
43
|
+
|
|
44
|
+
`setup` needs three answers, and **all three are the human's**:
|
|
45
|
+
|
|
46
|
+
1. **Where the app lives** — the URL you would type in a browser.
|
|
47
|
+
2. **How it logs in** — one of:
|
|
48
|
+
- `none` — public pages only
|
|
49
|
+
- `browser` — a person logs in by hand. Hand them `npx -p @ia-qa/self-healing ia-qa-heal login`; **you cannot run it** (§5.1)
|
|
50
|
+
- `session` — their suite already writes a Playwright `storageState`; ask for its path
|
|
51
|
+
3. **Where their end-to-end tests are** — only if they have some. Skip it rather than guess.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npx -p @ia-qa/pal ia-qa-pal setup --url <their app> --login <their answer> --yes
|
|
55
|
+
# add --tests <folder> when they have a suite
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
It reads the pages from the app's sitemap, falling back to a same-origin crawl (≤ 50 pages).
|
|
59
|
+
Never type a URL, a credential or a test folder the human did not give you. **No setup field
|
|
60
|
+
ever takes a secret**: a login is a `storageState` path or a variable name, never a value.
|
|
61
|
+
|
|
62
|
+
## 4. Reading the report
|
|
63
|
+
|
|
64
|
+
Four sections, each appearing only when it holds something — plus one above them all.
|
|
65
|
+
|
|
66
|
+
| Section | What it means |
|
|
67
|
+
|---|---|
|
|
68
|
+
| 🧭 **Read this first** | the thing to act on before anything else. Relay it verbatim |
|
|
69
|
+
| 🔴 **Broken** | the app answered with an error, or the suite failed under `--suite` |
|
|
70
|
+
| ⛔ **To decide** | drift and findings a person must judge |
|
|
71
|
+
| 🔧 **Ready to repair** | proposed rewrites to the suite's selectors — **proposed, never applied** |
|
|
72
|
+
| 🔍 **Not seen** | pages not explored, not mapped, not compared, or the suite never visits |
|
|
73
|
+
|
|
74
|
+
Exit codes: `0` answered · `1` something failed · `2` **could not answer**. Reading a `2` as a
|
|
75
|
+
`1` turns an unanswered question into a red build.
|
|
76
|
+
|
|
77
|
+
## 5. Never do this
|
|
78
|
+
|
|
79
|
+
1. **Never run `ia-qa-heal login` or `ia-qa-heal ui` yourself.** Both wait for a person at a
|
|
80
|
+
browser; in your shell they hang. Give the human the command.
|
|
81
|
+
2. **Never call a first tour a pass.** It says *Baseline established* because nothing was
|
|
82
|
+
compared — there was nothing to compare with.
|
|
83
|
+
3. **Never drop the "Not seen" section** from a green report. A tour that measured a third of
|
|
84
|
+
the app and found nothing is not a green app, and that section is where the denominator is.
|
|
85
|
+
4. **Never apply the repairs** in *Ready to repair* without the human reviewing them. pal never
|
|
86
|
+
edits a test file; neither should you on its behalf.
|
|
87
|
+
5. **Never add `--suite` without asking.** It runs *their* test command on *their* machine, and
|
|
88
|
+
a full suite can be twenty minutes. If they want a shorter one, it goes in their config as
|
|
89
|
+
`"pal": { "testCommand": "…" }` — read from the file, never from your flag.
|
|
90
|
+
6. **Never re-run a tour to "get a cleaner result".** Only one runs per project; a second is
|
|
91
|
+
refused while the first is alive. Follow with `status`.
|
|
92
|
+
7. **Never promote a baseline to clear a BLOCK.** `ia-qa-pal accept <page…>` exists for drift a
|
|
93
|
+
**person** reviewed and decided was intended. It is CLI-only and has no MCP tool on purpose.
|
|
94
|
+
8. **When every page failed to map, stop and read the cause.** pal refuses before running the
|
|
95
|
+
suite in that case and names it — usually the session. Do not re-run; run
|
|
96
|
+
`npx -p @ia-qa/self-healing ia-qa-heal session --check`, which separates *expired* (log in
|
|
97
|
+
again) from *wrong-host* (the session and the app's URL are different applications — logging
|
|
98
|
+
in again changes nothing) from *rotated*. If the human only wanted the coverage measurement,
|
|
99
|
+
`ia-qa-pal tour --suite-only` runs their suite without any of the comparison.
|
|
100
|
+
|
|
101
|
+
## 6. What leaves the machine
|
|
102
|
+
|
|
103
|
+
Nothing. pal drives a local headless browser against the app the user configured, and runs
|
|
104
|
+
their own test command only when asked. No LLM is called and nothing is sent to ia-qa.com.
|
|
105
|
+
|
|
106
|
+
The one secret it can touch is a session file — live cookies, gitignored on creation. Never
|
|
107
|
+
print it, never copy it, never commit it.
|
|
108
|
+
|
|
109
|
+
## 7. Where each thing actually lives
|
|
110
|
+
|
|
111
|
+
| Path | What it is |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `.ia-qa/config.json` | the project: URL, pages, login, test command |
|
|
114
|
+
| `.ia-qa/mapping/`, `.ia-qa/baseline/` | the contracts, and the reference they are compared to |
|
|
115
|
+
| `.ia-qa/pal/run.json` | the live tour: phase, progress, then the final report |
|
|
116
|
+
| `.ia-qa/pal/history.jsonl` | one line per finished tour |
|
|
117
|
+
| `.ia-qa/session.json` | **secret** — live cookies |
|
|
118
|
+
|
|
119
|
+
For anything about locators, verdicts or repairs themselves, the deeper instructions are in
|
|
120
|
+
`@ia-qa/self-healing`: `npx -p @ia-qa/self-healing ia-qa-heal skill --print`.
|