@ia-qa/self-healing 1.24.0 → 1.25.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 +14 -0
- package/TUTORIAL.md +6 -0
- package/dist/cli/fix.js +23 -0
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/login.d.ts +15 -2
- package/dist/cli/login.js +34 -4
- package/dist/cli/login.js.map +1 -1
- package/dist/cli/map.d.ts +21 -0
- package/dist/cli/map.js +46 -1
- package/dist/cli/map.js.map +1 -1
- package/dist/cli/session.js +11 -2
- package/dist/cli/session.js.map +1 -1
- package/dist/explain.d.ts +14 -0
- package/dist/explain.js +23 -7
- package/dist/explain.js.map +1 -1
- package/dist/ingest.d.ts +15 -1
- package/dist/ingest.js +50 -12
- package/dist/ingest.js.map +1 -1
- package/dist/sessionCheck.d.ts +25 -0
- package/dist/sessionCheck.js +46 -0
- package/dist/sessionCheck.js.map +1 -1
- package/dist/unrepaired.d.ts +31 -0
- package/dist/unrepaired.js +0 -0
- package/dist/unrepaired.js.map +1 -1
- package/package.json +1 -1
- package/skills/ia-qa-heal/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -245,6 +245,20 @@ valid, correctly scoped and unexpired, and the app answers with a login anyway
|
|
|
245
245
|
dropped it. A navigation that fails is reported as **could not tell** (exit 2), never as a
|
|
246
246
|
dead session: that distinction is the whole point of having the verb.
|
|
247
247
|
|
|
248
|
+
**And landing somewhere else is never a pass.** A wall is read as "sent elsewhere *and* shown
|
|
249
|
+
a password field" — asked of every frame, and given a moment to render one, because a
|
|
250
|
+
federated form is usually in an iframe and an SPA has drawn nothing at `domcontentloaded`.
|
|
251
|
+
When the app sends the replay to **another host** and no password field is found there, that
|
|
252
|
+
is reported as `off-site` and **exit 2**, never as ✅: an identity provider that asks for an
|
|
253
|
+
email first looks exactly like a legitimate redirect, and the one certain fact is that the
|
|
254
|
+
session was never used on your app.
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
⚠ Asked for app.example.com, landed on https://login.provider.example/authorize — another
|
|
258
|
+
site, and no login form on it.
|
|
259
|
+
Nothing was proven either way: the session was never used on app.example.com.
|
|
260
|
+
```
|
|
261
|
+
|
|
248
262
|
Run it before a long `map`. And **`map` itself now stops at the first login wall when a
|
|
249
263
|
session is in use** — a session is one credential for the whole app, so walking the remaining
|
|
250
264
|
pages into the same wall only spends the run re-proving it. The pages it did not attempt keep
|
package/TUTORIAL.md
CHANGED
|
@@ -322,8 +322,14 @@ ia-qa-heal session --check
|
|
|
322
322
|
| `expired` | every cookie's date is in the past | log in again — nothing is wrong with your setup |
|
|
323
323
|
| `wrong-host` | nothing in the file is scoped to your `baseUrl` | **logging in again produces the identical file.** Your session and your `baseUrl` are about different applications — fix one of them |
|
|
324
324
|
| `rotated` | the file is valid and the app still answers a login | the server dropped it: a deploy, a rotation, a forced logout. Log in again |
|
|
325
|
+
| `off-site` (exit 2) | the app sent the browser to **another host**, and there was no login form there | **not a verdict.** An identity provider asking for an email first looks exactly like a legitimate redirect. Open that URL yourself: if it is a login, log in again; if it is where your app lives, fix `baseUrl` |
|
|
325
326
|
| *could not tell* (exit 2) | the app could not be opened | a fact about the network, not about your session |
|
|
326
327
|
|
|
328
|
+
A login form is looked for **in every frame, and after a moment** — a federated form is
|
|
329
|
+
usually in an iframe, and an SPA has not drawn one when the page fires `domcontentloaded`.
|
|
330
|
+
Without both, an app that bounces you to a two-step provider login reported `✅ this session
|
|
331
|
+
opens the app`, with the provider's own URL printed on the same line.
|
|
332
|
+
|
|
327
333
|
**The first two need no browser at all** — a cookie carries its own expiry and its own domain,
|
|
328
334
|
so the answer is already in the file. Add `--offline` to stay entirely local. `www.` and the
|
|
329
335
|
apex count as one host, and the port is ignored, so `localhost:3000` is never mistaken for
|
package/dist/cli/fix.js
CHANGED
|
@@ -202,10 +202,23 @@ async function runFix(args) {
|
|
|
202
202
|
}
|
|
203
203
|
const result = (0, fixEngine_1.applyRewrites)(files, rewrites, dryRun, locators, nameFindings);
|
|
204
204
|
if (rewrites.size === 0 && fixableNames === 0) {
|
|
205
|
+
// Not a bare sentence any more. "No rewrites" over a diff that announced 40 healable
|
|
206
|
+
// elements reads as a contradiction, and the reader then either distrusts the tool or
|
|
207
|
+
// starts editing by hand. The arithmetic and the per-element reasons were already
|
|
208
|
+
// computed here — they were simply unreachable from this branch, which is the one the
|
|
209
|
+
// field actually lands on.
|
|
205
210
|
console.log(' No rewrites in this diff — nothing to apply.');
|
|
211
|
+
const inventory = (0, ingest_1.loadUsage)();
|
|
212
|
+
const counted = (0, unrepaired_1.arithmeticLine)((0, unrepaired_1.repairArithmetic)(report.rows, inventory));
|
|
213
|
+
if (counted)
|
|
214
|
+
console.log(counted);
|
|
215
|
+
console.log((0, unrepaired_1.unrepairedLines)((0, unrepaired_1.referencedButUnrepaired)(report.rows, new Set(), inventory), Boolean(inventory)).join('\n'));
|
|
206
216
|
}
|
|
207
217
|
else if (result.edits.length === 0) {
|
|
208
218
|
const inventory = (0, ingest_1.loadUsage)();
|
|
219
|
+
const counted = (0, unrepaired_1.arithmeticLine)((0, unrepaired_1.repairArithmetic)(report.rows, inventory));
|
|
220
|
+
if (counted)
|
|
221
|
+
console.log(counted);
|
|
209
222
|
console.log((0, unrepaired_1.unrepairedLines)((0, unrepaired_1.referencedButUnrepaired)(report.rows, new Set(rewrites.keys()), inventory), Boolean(inventory)).join('\n'));
|
|
210
223
|
}
|
|
211
224
|
else {
|
|
@@ -421,6 +434,13 @@ async function runDirFix(args, opts) {
|
|
|
421
434
|
}
|
|
422
435
|
if (allRewrites.size === 0 && (!allLocators || allLocators.size === 0) && nameFindings.length === 0) {
|
|
423
436
|
console.log('\n🔧 No rewrites across any mapping pair — nothing to apply.');
|
|
437
|
+
// Same gap as the single-pair branch above, and it returns before reaching the
|
|
438
|
+
// explanation rather than after: a `--dir` run is where the 40-vs-0 report came from.
|
|
439
|
+
const inventory = (0, ingest_1.loadUsage)();
|
|
440
|
+
const counted = (0, unrepaired_1.arithmeticLine)((0, unrepaired_1.repairArithmetic)(allRows, inventory));
|
|
441
|
+
if (counted)
|
|
442
|
+
console.log(counted);
|
|
443
|
+
console.log((0, unrepaired_1.unrepairedLines)((0, unrepaired_1.referencedButUnrepaired)(allRows, new Set(), inventory), Boolean(inventory)).join('\n'));
|
|
424
444
|
if (totalLost > 0)
|
|
425
445
|
console.log(` ${totalLost} lost selectors need human attention.`);
|
|
426
446
|
if (totalAmbiguous > 0)
|
|
@@ -448,6 +468,9 @@ async function runDirFix(args, opts) {
|
|
|
448
468
|
const result = (0, fixEngine_1.applyRewrites)(files, allRewrites, opts.dryRun, allLocators, nameFindings);
|
|
449
469
|
if (result.edits.length === 0) {
|
|
450
470
|
const inventory = (0, ingest_1.loadUsage)();
|
|
471
|
+
const counted = (0, unrepaired_1.arithmeticLine)((0, unrepaired_1.repairArithmetic)(allRows, inventory));
|
|
472
|
+
if (counted)
|
|
473
|
+
console.log(counted);
|
|
451
474
|
console.log((0, unrepaired_1.unrepairedLines)((0, unrepaired_1.referencedButUnrepaired)(allRows, new Set(allRewrites.keys()), inventory), Boolean(inventory)).join('\n'));
|
|
452
475
|
}
|
|
453
476
|
else {
|
package/dist/cli/fix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/cli/fix.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/login.d.ts
CHANGED
|
@@ -30,6 +30,14 @@ export declare function runLogin(args: string[]): Promise<void>;
|
|
|
30
30
|
export interface SessionReplay {
|
|
31
31
|
landed: string;
|
|
32
32
|
wall: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The app sent the replay to another site — an identity provider, most often.
|
|
35
|
+
*
|
|
36
|
+
* Reported apart from `wall` because the two are different facts and only one of them is
|
|
37
|
+
* a verdict: a wall is a login seen, this is *the app not reached*. Folded the way cookies
|
|
38
|
+
* are (`www.`/apex, port and scheme ignored), so an ordinary apex→www redirect is silent.
|
|
39
|
+
*/
|
|
40
|
+
offSite?: boolean;
|
|
33
41
|
error?: string;
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
@@ -42,8 +50,12 @@ export interface SessionReplay {
|
|
|
42
50
|
* on screen is logged in. That gap is what produced "✅ Session saved — 0 cookies".
|
|
43
51
|
*
|
|
44
52
|
* A wall is read the way `assertLanded` reads it: sent somewhere else *and* shown a
|
|
45
|
-
* password field
|
|
46
|
-
*
|
|
53
|
+
* password field — asked of every frame, and given a moment to render one. A plain
|
|
54
|
+
* redirect (`/` → `/home`) is not a wall. A navigation that throws is not a verdict
|
|
55
|
+
* either — it is reported as unverified, never as a pass.
|
|
56
|
+
*
|
|
57
|
+
* `offSite` is the third fact, and it is the one that was missing: "no password field"
|
|
58
|
+
* says nothing when the browser is not even on the app any more.
|
|
47
59
|
*/
|
|
48
60
|
export declare function replaySession(browser: Browser, state: Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['storageState']>>, target: string, contextOptions?: Record<string, unknown>): Promise<SessionReplay>;
|
|
49
61
|
export interface SessionDecision {
|
|
@@ -68,6 +80,7 @@ export declare function sessionDecision(v: {
|
|
|
68
80
|
origins: number;
|
|
69
81
|
landed: string;
|
|
70
82
|
wall: boolean;
|
|
83
|
+
offSite?: boolean;
|
|
71
84
|
error?: string;
|
|
72
85
|
file: string;
|
|
73
86
|
existed: boolean;
|
package/dist/cli/login.js
CHANGED
|
@@ -44,6 +44,7 @@ const path = __importStar(require("path"));
|
|
|
44
44
|
const prompts_1 = __importDefault(require("prompts"));
|
|
45
45
|
const launcher_1 = require("../launcher");
|
|
46
46
|
const map_1 = require("./map");
|
|
47
|
+
const sessionCheck_1 = require("../sessionCheck");
|
|
47
48
|
const config_1 = require("../config");
|
|
48
49
|
/**
|
|
49
50
|
* `ia-qa-heal login` — open a browser, let a human log in, keep the session.
|
|
@@ -151,6 +152,7 @@ async function runLogin(args) {
|
|
|
151
152
|
origins: state.origins?.length || 0,
|
|
152
153
|
landed: replay.landed,
|
|
153
154
|
wall: replay.wall,
|
|
155
|
+
offSite: replay.offSite,
|
|
154
156
|
error: replay.error,
|
|
155
157
|
file,
|
|
156
158
|
existed: fs.existsSync(file),
|
|
@@ -203,8 +205,12 @@ function writeSessionGitignore() {
|
|
|
203
205
|
* on screen is logged in. That gap is what produced "✅ Session saved — 0 cookies".
|
|
204
206
|
*
|
|
205
207
|
* A wall is read the way `assertLanded` reads it: sent somewhere else *and* shown a
|
|
206
|
-
* password field
|
|
207
|
-
*
|
|
208
|
+
* password field — asked of every frame, and given a moment to render one. A plain
|
|
209
|
+
* redirect (`/` → `/home`) is not a wall. A navigation that throws is not a verdict
|
|
210
|
+
* either — it is reported as unverified, never as a pass.
|
|
211
|
+
*
|
|
212
|
+
* `offSite` is the third fact, and it is the one that was missing: "no password field"
|
|
213
|
+
* says nothing when the browser is not even on the app any more.
|
|
208
214
|
*/
|
|
209
215
|
async function replaySession(browser, state, target, contextOptions = {}) {
|
|
210
216
|
const context = await browser.newContext({ ...contextOptions, storageState: state });
|
|
@@ -212,8 +218,10 @@ async function replaySession(browser, state, target, contextOptions = {}) {
|
|
|
212
218
|
const page = await context.newPage();
|
|
213
219
|
await page.goto(target, { waitUntil: 'domcontentloaded', timeout: 60000 });
|
|
214
220
|
const landed = page.url();
|
|
215
|
-
const
|
|
216
|
-
|
|
221
|
+
const elsewhere = !(0, map_1.samePath)(landed, target);
|
|
222
|
+
const wall = elsewhere && (await (0, map_1.hasPasswordField)(page, 3000));
|
|
223
|
+
const offSite = !(0, sessionCheck_1.sameSite)(landed, target);
|
|
224
|
+
return { landed, wall, ...(offSite ? { offSite: true } : {}) };
|
|
217
225
|
}
|
|
218
226
|
catch (err) {
|
|
219
227
|
return { landed: '', wall: false, error: err instanceof Error ? err.message : String(err) };
|
|
@@ -272,6 +280,28 @@ function sessionDecision(v) {
|
|
|
272
280
|
].filter(Boolean),
|
|
273
281
|
};
|
|
274
282
|
}
|
|
283
|
+
// A check that landed somewhere else is a check that did not run, and the doctrine for
|
|
284
|
+
// those is already written above: quarantine, never over the existing file. It reaches
|
|
285
|
+
// here rather than into the branch above because nothing about it says "wall" — the
|
|
286
|
+
// honest sentence is "the app was not reached", and it must not be printed as a pass.
|
|
287
|
+
if (v.offSite) {
|
|
288
|
+
const quarantine = `${v.file}.unverified`;
|
|
289
|
+
return {
|
|
290
|
+
ok: false,
|
|
291
|
+
action: v.existed ? 'quarantine' : 'write',
|
|
292
|
+
target: v.existed ? quarantine : v.file,
|
|
293
|
+
lines: [
|
|
294
|
+
`\n⚠ Saved ${held}, but they could not be checked — reopening the app with them landed on`,
|
|
295
|
+
` ${v.landed}, which is another site. No login form was found there, and that proves`,
|
|
296
|
+
` nothing: an identity provider asking for an email first looks exactly like this.`,
|
|
297
|
+
v.existed
|
|
298
|
+
? ` ${v.file} was left untouched. The new state is beside it:\n ${quarantine}\n` +
|
|
299
|
+
` Open that URL yourself: if it is your app, rename the file over the other one.`
|
|
300
|
+
: ` Written anyway, so your login is not lost:\n ${v.file}\n` +
|
|
301
|
+
` Open that URL yourself to see whether it is your app or its login provider.`,
|
|
302
|
+
],
|
|
303
|
+
};
|
|
304
|
+
}
|
|
275
305
|
return {
|
|
276
306
|
ok: true,
|
|
277
307
|
action: 'write',
|
package/dist/cli/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/map.d.ts
CHANGED
|
@@ -112,6 +112,27 @@ export declare function runSteps(page: Page, target: PageTarget): Promise<void>;
|
|
|
112
112
|
* only the app can mint, and is therefore not a URL anyone can navigate to twice.
|
|
113
113
|
*/
|
|
114
114
|
export declare function suggestAuthBlock(page: Page, loginUrl?: string): Promise<string | null>;
|
|
115
|
+
/**
|
|
116
|
+
* Is a password field on screen — in any frame, and after the page has had a moment to draw one?
|
|
117
|
+
*
|
|
118
|
+
* Both halves were false negatives in the field, and a false negative here is the worst
|
|
119
|
+
* answer this package gives: it is what lets a contract named `dashboard` describe a login
|
|
120
|
+
* form, and what let `session --check` print `✅ This session opens the app` beside an
|
|
121
|
+
* identity provider's own URL.
|
|
122
|
+
*
|
|
123
|
+
* - **The wait.** `domcontentloaded` then an instant `count()` asks an SPA for a form it
|
|
124
|
+
* has not rendered yet. Nothing about the answer was wrong except when it was asked.
|
|
125
|
+
* - **The frames.** `page.locator` searches the main frame only, and a federated login is
|
|
126
|
+
* very often in an iframe. Asking the main frame alone is asking the wrong document.
|
|
127
|
+
*
|
|
128
|
+
* Both callers reach this only after a redirect — a page that landed where it was asked
|
|
129
|
+
* never gets here — so a healthy run pays nothing, and only an already abnormal page pays.
|
|
130
|
+
* The wait is short by default for the case that *is* common on a healthy app (a declared
|
|
131
|
+
* page that moved, with no login anywhere): one redirected page must not cost three
|
|
132
|
+
* seconds twenty times over. `session --check` raises it, because there the whole verb is
|
|
133
|
+
* this one question and there is exactly one page to ask it of.
|
|
134
|
+
*/
|
|
135
|
+
export declare function hasPasswordField(page: Page, timeoutMs?: number): Promise<boolean>;
|
|
115
136
|
/** Compare by pathname alone: a query string or a trailing slash is not another page. */
|
|
116
137
|
export declare function samePath(a: string, b: string): boolean;
|
|
117
138
|
/**
|
package/dist/cli/map.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.LoginWallError = void 0;
|
|
|
37
37
|
exports.runMap = runMap;
|
|
38
38
|
exports.runSteps = runSteps;
|
|
39
39
|
exports.suggestAuthBlock = suggestAuthBlock;
|
|
40
|
+
exports.hasPasswordField = hasPasswordField;
|
|
40
41
|
exports.samePath = samePath;
|
|
41
42
|
exports.assertLanded = assertLanded;
|
|
42
43
|
exports.login = login;
|
|
@@ -1186,6 +1187,50 @@ async function suggestAuthBlock(page, loginUrl) {
|
|
|
1186
1187
|
};
|
|
1187
1188
|
return JSON.stringify(block, null, 2);
|
|
1188
1189
|
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Is a password field on screen — in any frame, and after the page has had a moment to draw one?
|
|
1192
|
+
*
|
|
1193
|
+
* Both halves were false negatives in the field, and a false negative here is the worst
|
|
1194
|
+
* answer this package gives: it is what lets a contract named `dashboard` describe a login
|
|
1195
|
+
* form, and what let `session --check` print `✅ This session opens the app` beside an
|
|
1196
|
+
* identity provider's own URL.
|
|
1197
|
+
*
|
|
1198
|
+
* - **The wait.** `domcontentloaded` then an instant `count()` asks an SPA for a form it
|
|
1199
|
+
* has not rendered yet. Nothing about the answer was wrong except when it was asked.
|
|
1200
|
+
* - **The frames.** `page.locator` searches the main frame only, and a federated login is
|
|
1201
|
+
* very often in an iframe. Asking the main frame alone is asking the wrong document.
|
|
1202
|
+
*
|
|
1203
|
+
* Both callers reach this only after a redirect — a page that landed where it was asked
|
|
1204
|
+
* never gets here — so a healthy run pays nothing, and only an already abnormal page pays.
|
|
1205
|
+
* The wait is short by default for the case that *is* common on a healthy app (a declared
|
|
1206
|
+
* page that moved, with no login anywhere): one redirected page must not cost three
|
|
1207
|
+
* seconds twenty times over. `session --check` raises it, because there the whole verb is
|
|
1208
|
+
* this one question and there is exactly one page to ask it of.
|
|
1209
|
+
*/
|
|
1210
|
+
async function hasPasswordField(page, timeoutMs = 1500) {
|
|
1211
|
+
const deadline = Date.now() + timeoutMs;
|
|
1212
|
+
for (;;) {
|
|
1213
|
+
if (page.isClosed())
|
|
1214
|
+
return false;
|
|
1215
|
+
for (const frame of page.frames()) {
|
|
1216
|
+
try {
|
|
1217
|
+
if ((await frame.locator('input[type="password"]').count()) > 0)
|
|
1218
|
+
return true;
|
|
1219
|
+
}
|
|
1220
|
+
catch {
|
|
1221
|
+
/* a frame that navigated mid-check answers nothing; the next pass asks again */
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
if (Date.now() >= deadline)
|
|
1225
|
+
return false;
|
|
1226
|
+
try {
|
|
1227
|
+
await page.waitForTimeout(200);
|
|
1228
|
+
}
|
|
1229
|
+
catch {
|
|
1230
|
+
return false;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1189
1234
|
/** Compare by pathname alone: a query string or a trailing slash is not another page. */
|
|
1190
1235
|
function samePath(a, b) {
|
|
1191
1236
|
const pathnameOf = (u) => {
|
|
@@ -1221,7 +1266,7 @@ async function assertLanded(page, target, wanted, config, session) {
|
|
|
1221
1266
|
const landed = page.url();
|
|
1222
1267
|
if (samePath(landed, wanted))
|
|
1223
1268
|
return {};
|
|
1224
|
-
if ((await page
|
|
1269
|
+
if (!(await hasPasswordField(page))) {
|
|
1225
1270
|
console.warn(` ⚠ Redirected to ${landed} — this contract describes that page, not ${wanted}.`);
|
|
1226
1271
|
// Returned as well as printed. Field report: this line appeared once, at line 37 of a
|
|
1227
1272
|
// 172-line log, in the middle of the mapping stream — and it was the only fact that
|