@ia-qa/pal 1.7.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -97,10 +97,16 @@ npx ia-qa-pal ui
97
97
 
98
98
  Your browser opens on a page that does the whole loop from buttons:
99
99
 
100
+ [![The pal console while a tour runs: two users with saved sessions, the tour walking page 9 of 14 with a live heartbeat, and the history of the last seven tours with who each one ran as](https://www.ia-qa.com/media/pal-console.png)](https://www.ia-qa.com/media/pal-console.png)
101
+
100
102
  - **Who the tour runs as.** Every user the project knows (see *Several users* below), whether each one still has a working session, a **Check** button that asks the app, and **Log in** — a browser window opens on your app, you log in, and it is saved by itself the moment the app actually opens. Nothing to come back and confirm; the *I have logged in* button is there if your login cannot be seen from outside.
101
103
  - **Run a tour**, as the user you choose, optionally with your tests.
102
104
  - **Now** — the phase, *page N of M*, the last line your tests printed, and the last heartbeat. A tour that has said nothing for a while says so, instead of looking the same as a working one.
103
105
  - **Last result** and **History** — the mood, the counts, who it ran as, and the full report one click away.
106
+ - **The repair console, when it is time for it.** When a tour leaves elements for a person to decide or repairs ready to apply, the result says how many and offers **Decide and repair** — it opens `ia-qa-heal ui` on the same project, where each row is shown side by side and nothing is applied until you say so. The **Repair console** link in the header opens it any time.
107
+
108
+ [![The console after a tour: Broken, 14 of 16 pages under contract, 3 lost, 2 ambiguous, 1 rebound, 7 repairs ready, and the button that opens the repair console](https://www.ia-qa.com/media/pal-console-result.png)](https://www.ia-qa.com/media/pal-console-result.png)
109
+
104
110
  - **Before a tour starts**, the page checks that the login secrets it will need resolve (only when it logs in with `auth`, not with a session) — a missing one is named, and the field to store it is filled in for you. A tour that fails anyway shows its reason in *Now*, never only in `.ia-qa/pal/run.log`.
105
111
  - **Secrets** — listed **by name**, checked for whether they resolve, and **set from the page**: type a value once and it goes into this machine's credential store (Windows DPAPI, the macOS keychain, or the Linux keyring) — the same place `ia-qa-heal secret set <NAME>` writes to, and nowhere else. The page never shows it back, not even its length; the store is read back before the page says *stored*; `.ia-qa/config.json` is **never edited**. An existing `{ "source": "env", "key": "APP_PASSWORD" }` reference picks up a value stored under `APP_PASSWORD` when your shell does not set that variable. A variable set in the shell always wins, so CI, which sets it and has no store, behaves exactly as before. On a machine with no store, the page says so and points you to the shell. Secrets kept in AWS are never checked from here: that would call AWS, and nothing here leaves your machine without asking.
106
112
 
package/TUTORIAL.md CHANGED
@@ -439,6 +439,33 @@ When it is done, `status` prints the report, and `npx ia-qa-pal report --open` o
439
439
 
440
440
  ---
441
441
 
442
+ ## 8b. Without a terminal — the console
443
+
444
+ Everything above, from buttons:
445
+
446
+ ```bash
447
+ npx ia-qa-pal ui
448
+ ```
449
+
450
+ [![The pal console while a tour runs: who the tour runs as, the tour walking page 9 of 14, the heartbeat, and the history](https://www.ia-qa.com/media/pal-console.png)](https://www.ia-qa.com/media/pal-console.png)
451
+
452
+ 1. **Who the tour runs as.** Each user the project knows, with **Check** (does the session still open the app?) and **Log in** — a browser window opens on your app, you log in, and it is saved by itself. No user yet: type a name, then *Log in as this user*.
453
+ 2. **Run a tour.** Pick the user (with several, the page never picks for you), tick *also run my tests* if you want the pages your suite never visits, then **Start the tour**. If the tour logs in with a form and a secret it needs is not set, the page says which one before starting and fills in the field to store it — you never wait for a tour that was going to die in its first second.
454
+ 3. **Now** follows it: the phase, *page N of M*, the page being walked, the last heartbeat. You can close the tab; the tour keeps going and the page picks it up when you come back. A tour that failed shows its reason here.
455
+ 4. **Last result.** The mood, the counts, who it ran as, and the full report. When there are elements to decide or repairs ready, **Decide and repair** opens the repair console (`ia-qa-heal ui`) on the same project — each row side by side, nothing applied until you say so.
456
+
457
+ [![The console after a tour: Broken, the counts, 6 elements to decide and 7 repairs ready, and the button that opens the repair console](https://www.ia-qa.com/media/pal-console-result.png)](https://www.ia-qa.com/media/pal-console-result.png)
458
+
459
+ 5. **Secrets.** Listed by name, never by value. **Set a value** stores one in this machine's credential store — `.ia-qa/config.json` is not changed, and a variable set in your shell still wins, so CI behaves as before.
460
+
461
+ It works the same on a phone-sized window and in dark mode:
462
+
463
+ ![The console on a phone, in dark mode](https://www.ia-qa.com/media/pal-console-mobile-dark.png)
464
+
465
+ The page listens on `127.0.0.1` only, every request carries the one-time token in the link it opens, and it stops by itself when you close the tab. It refuses to start under CI — a pipeline wants `tour --json`, see below.
466
+
467
+ ---
468
+
442
469
  ## 9. In CI
443
470
 
444
471
  Build the baseline on your machine, commit it, and let CI compare.
package/dist/ui/page.js CHANGED
@@ -33,6 +33,8 @@ main{max-width:1000px;margin:0 auto;padding:22px 16px 60px}
33
33
  h1{font-size:24px;margin:0;letter-spacing:-.02em}
34
34
  .hello{opacity:.92;font-size:14px}
35
35
  .where{margin-top:10px;font-size:14px;opacity:.95;overflow-wrap:anywhere;position:relative;z-index:1}
36
+ .chip.chipBtn{margin-left:0;border:0;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
37
+ .chip.chipBtn:hover:not(:disabled){background:#ffffff4d;box-shadow:none}
36
38
  .chip{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:#ffffff2e;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
37
39
  .dot{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.7}
38
40
  .dot.live{background:#4ade80;opacity:1;box-shadow:0 0 0 0 #4ade80aa;animation:pulse 1.4s infinite}
@@ -94,6 +96,7 @@ footer{color:var(--muted);font-size:13px;margin-top:24px;text-align:center}
94
96
  <div class="mascot">🧭</div>
95
97
  <div><h1>ia-qa-pal</h1><div class="hello" id="hello">Your QA pal — it walks your app and tells you what moved.</div></div>
96
98
  <span class="chip"><span class="dot" id="liveDot"></span><span id="liveWord">Idle</span></span>
99
+ <button class="chip chipBtn" id="healLink" title="ia-qa-heal ui — decide the rows the tour could not, apply repairs, see the drift history">🔧 Repair console ↗</button>
97
100
  </div>
98
101
  <div class="where" id="where">loading…</div>
99
102
  </header>
@@ -144,6 +147,7 @@ footer{color:var(--muted);font-size:13px;margin-top:24px;text-align:center}
144
147
  <div class="row"><span class="mood" id="mood"></span><span id="resultHead"></span></div>
145
148
  <div class="stats" id="stats"></div>
146
149
  <div class="muted" id="resultCounts"></div>
150
+ <div id="healCta" class="notice hidden"><span id="healCtaText"></span> <button class="primary" id="healCtaBtn">🔧 Decide and repair in the repair console ↗</button></div>
147
151
  <div class="row"><a id="reportLink" target="_blank" rel="noopener">Open the full report →</a></div>
148
152
  </div>
149
153
  <h2 style="margin-top:18px"><span class="ic">📈</span>History</h2>
@@ -250,7 +254,7 @@ footer{color:var(--muted);font-size:13px;margin-top:24px;text-align:center}
250
254
 
251
255
  function renderResult(s) {
252
256
  show('resultEmpty', !s); show('result', !!s);
253
- if (!s) { q('resultEmptyText').textContent = (state && state.history && state.history.length) ? 'The last run did not finish, so there is no result to show — earlier tours are in History below.' : 'No finished tour yet — the first one draws the map everything else is compared with.'; return; }
257
+ if (!s) { q('resultEmptyText').textContent = (state && state.run && state.run.status === 'running') ? 'A tour is walking your app right now — its result lands here when it finishes.' : (state && state.history && state.history.length) ? 'The last run did not finish, so there is no result to show — earlier tours are in History below.' : 'No finished tour yet — the first one draws the map everything else is compared with.'; return; }
254
258
  const [tone, icon, word] = MOOD[s.mood] || ['info', '•', s.mood];
255
259
  q('mood').className = 'mood ' + tone; q('mood').textContent = icon + ' ' + word;
256
260
  q('resultHead').textContent = (s.refused ? 'Refused: ' + s.refused.split('\\n')[0] : s.mode + ' tour') + (s.persona ? ' · as ' + s.persona : '');
@@ -263,8 +267,28 @@ footer{color:var(--muted);font-size:13px;margin-top:24px;text-align:center}
263
267
  if (s.notMapped) box.appendChild(stat(s.notMapped, 'not mapped', 'warn'));
264
268
  q('resultCounts').textContent = '⏱ took ' + span(s.durationMs);
265
269
  q('reportLink').href = '/report?t=' + TOKEN;
270
+ // The moment heal's console is FOR: rows the tour could not settle, or repairs it proposed.
271
+ const repairs = s.totals ? (s.totals.healable || 0) : 0;
272
+ const toDecide = s.totals ? (s.totals.lost || 0) + (s.totals.ambiguous || 0) + (s.totals.rebound || 0) : 0;
273
+ const due = !s.refused && (s.verdict === 'BLOCK' || s.verdict === 'FIX' || toDecide > 0 || repairs > 0);
274
+ show('healCta', due);
275
+ if (due) q('healCtaText').textContent = (toDecide ? toDecide + ' element' + (toDecide > 1 ? 's' : '') + ' need a person to decide' : '') + (toDecide && repairs ? ' · ' : '') + (repairs ? repairs + ' repair' + (repairs > 1 ? 's are' : ' is') + ' ready' : '') + (toDecide || repairs ? '. ' : 'The tour was held back. ') + 'The repair console shows each one side by side, and applies nothing until you say so.';
266
276
  }
267
277
 
278
+ async function openHeal(btn) {
279
+ // Opened on the click itself — a window opened after an await is a popup the browser blocks.
280
+ const w = window.open('about:blank', '_blank');
281
+ const label = btn.textContent; btn.disabled = true; btn.textContent = '⏳ Opening…';
282
+ try {
283
+ const out = await (await api('/api/heal-console', {})).json();
284
+ if (out.url && w) w.location.href = out.url;
285
+ else { if (w) w.close(); note('tourNotice', out.url ? 'Your browser blocked the new tab — open ' + out.url : (out.error || 'The repair console did not start.'), out.url ? '' : 'bad'); }
286
+ } catch { if (w) w.close(); }
287
+ finally { btn.disabled = false; btn.textContent = label; }
288
+ }
289
+ q('healLink').onclick = () => openHeal(q('healLink'));
290
+ q('healCtaBtn').onclick = () => openHeal(q('healCtaBtn'));
291
+
268
292
  function renderHistory(h) {
269
293
  const list = q('history'); list.textContent = ''; const strip = q('strip'); strip.textContent = '';
270
294
  if (!h.length) { list.appendChild(el('li', 'Nothing yet — every finished tour lands here.', 'muted')); return; }
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ui/page.ts"],"names":[],"mappings":";;AAcA,8CAmWC;AAjXD;;;;;;;;;;;;;GAaG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2JS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsMxB,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ui/page.ts"],"names":[],"mappings":";;AAcA,8CA2XC;AAzYD;;;;;;;;;;;;;GAaG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+JS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0NxB,CAAC;AAChB,CAAC"}
@@ -35,6 +35,8 @@ export interface PalUiOptions {
35
35
  /** Injected so tests exercise the routes without a browser. */
36
36
  login?: typeof performLogin;
37
37
  probe?: typeof probeSession;
38
+ /** The heal CLI the repair console is started from. Default: the installed @ia-qa/self-healing. */
39
+ healEntry?: string;
38
40
  /** Injected so tests never write to the real credential store. */
39
41
  store?: {
40
42
  write: typeof writeSecret;
@@ -90,6 +92,24 @@ export declare function missingAuthSecrets(dir: string, config: {
90
92
  name: string;
91
93
  key: string;
92
94
  }>;
95
+ /** Where `ia-qa-heal` lives: the self-healing this package already depends on, never a PATH lookup. */
96
+ export declare function healCliEntry(): string;
97
+ /**
98
+ * Open heal's repair console on THIS project and hand back its address.
99
+ *
100
+ * A separate process, never an in-process `startUi`: both consoles keep "which project" in
101
+ * module-global state (`setBaseDir`), and two servers sharing one would let a request of one
102
+ * run against the other's folder. The argv is fixed — `ui --no-open --offline --config <dir>` —
103
+ * `--offline` because this page promises nothing leaves the machine, and heal's once-a-day update
104
+ * check would be a request nobody announced here. Heal reuses a console already open on the
105
+ * project, so a second click never starts a rival with a different token. Its output goes to a
106
+ * file rather than a pipe: a pipe closed after the URL is read would kill heal on its next line.
107
+ */
108
+ export declare function openHealConsole(dir: string, entry?: string, timeoutMs?: number): Promise<{
109
+ url: string;
110
+ } | {
111
+ error: string;
112
+ }>;
93
113
  /** A name a store entry may carry: the shape of an environment variable, so one name serves both. */
94
114
  export declare const SECRET_NAME: RegExp;
95
115
  export type SetSecretAnswer = {
package/dist/ui/server.js CHANGED
@@ -38,10 +38,13 @@ exports.consoleState = consoleState;
38
38
  exports.consoleSecrets = consoleSecrets;
39
39
  exports.checkSecrets = checkSecrets;
40
40
  exports.missingAuthSecrets = missingAuthSecrets;
41
+ exports.healCliEntry = healCliEntry;
42
+ exports.openHealConsole = openHealConsole;
41
43
  exports.setSecret = setSecret;
42
44
  exports.startPalUi = startPalUi;
43
45
  const fs = __importStar(require("fs"));
44
46
  const path = __importStar(require("path"));
47
+ const child_process_1 = require("child_process");
45
48
  const self_healing_1 = require("@ia-qa/self-healing");
46
49
  const project_1 = require("../project");
47
50
  const run_1 = require("../run");
@@ -179,6 +182,41 @@ function missingAuthSecrets(dir, config, usesSession) {
179
182
  .filter((c) => needed.has(c.name) && c.resolves === false)
180
183
  .map((c) => ({ name: c.name, key: keyOf.get(c.name) ?? c.name }));
181
184
  }
185
+ /** Where `ia-qa-heal` lives: the self-healing this package already depends on, never a PATH lookup. */
186
+ function healCliEntry() {
187
+ return path.join(path.dirname(require.resolve('@ia-qa/self-healing/package.json')), 'dist', 'cli', 'index.js');
188
+ }
189
+ const CONSOLE_URL = /http:\/\/127\.0\.0\.1:\d+\/\?t=[0-9a-f]+/;
190
+ /**
191
+ * Open heal's repair console on THIS project and hand back its address.
192
+ *
193
+ * A separate process, never an in-process `startUi`: both consoles keep "which project" in
194
+ * module-global state (`setBaseDir`), and two servers sharing one would let a request of one
195
+ * run against the other's folder. The argv is fixed — `ui --no-open --offline --config <dir>` —
196
+ * `--offline` because this page promises nothing leaves the machine, and heal's once-a-day update
197
+ * check would be a request nobody announced here. Heal reuses a console already open on the
198
+ * project, so a second click never starts a rival with a different token. Its output goes to a
199
+ * file rather than a pipe: a pipe closed after the URL is read would kill heal on its next line.
200
+ */
201
+ async function openHealConsole(dir, entry = healCliEntry(), timeoutMs = 20_000) {
202
+ const log = path.join(dir, '.ia-qa', 'pal', 'heal-ui.log');
203
+ fs.mkdirSync(path.dirname(log), { recursive: true });
204
+ const out = fs.openSync(log, 'w');
205
+ const child = (0, child_process_1.spawn)(process.execPath, [entry, 'ui', '--no-open', '--offline', '--config', dir], { cwd: dir, detached: true, stdio: ['ignore', out, out], windowsHide: true });
206
+ child.unref();
207
+ fs.closeSync(out);
208
+ const deadline = Date.now() + timeoutMs;
209
+ while (Date.now() < deadline) {
210
+ await new Promise((r) => setTimeout(r, 150));
211
+ const text = fs.existsSync(log) ? fs.readFileSync(log, 'utf8') : '';
212
+ const found = CONSOLE_URL.exec(text);
213
+ if (found)
214
+ return { url: found[0] };
215
+ if (child.exitCode !== null && child.exitCode !== 0)
216
+ return { error: text.trim().split('\n').slice(0, 6).join('\n') || `ia-qa-heal ui exited with code ${child.exitCode}` };
217
+ }
218
+ return { error: 'The repair console did not answer in time — see .ia-qa/pal/heal-ui.log.' };
219
+ }
182
220
  /** A name a store entry may carry: the shape of an environment variable, so one name serves both. */
183
221
  exports.SECRET_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,127}$/;
184
222
  const MAX_SECRET = 8 * 1024;
@@ -372,6 +410,11 @@ async function startPalUi(opts) {
372
410
  (0, self_healing_1.sendJson)(res, 200, { ok: true });
373
411
  return true;
374
412
  }
413
+ if (post && url.pathname === '/api/heal-console') {
414
+ const opened = await openHealConsole(dir, opts.healEntry);
415
+ (0, self_healing_1.sendJson)(res, 'url' in opened ? 200 : 500, opened);
416
+ return true;
417
+ }
375
418
  if (get && url.pathname === '/api/secrets') {
376
419
  (0, self_healing_1.sendJson)(res, 200, consoleSecrets(dir));
377
420
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.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": "1.7.1",
3
+ "version": "1.7.2",
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",