@ia-qa/self-healing 1.24.0 → 1.26.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 +24 -1
- package/TUTORIAL.md +23 -3
- package/dist/cli/args.js +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/fix.js +23 -0
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/login.d.ts +101 -4
- package/dist/cli/login.js +247 -46
- 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.d.ts +27 -0
- package/dist/cli/session.js +48 -29
- 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/index.d.ts +4 -0
- package/dist/index.js +12 -2
- package/dist/index.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 +6 -2
package/README.md
CHANGED
|
@@ -152,7 +152,16 @@ npx ia-qa-heal login # opens a real browser; you log in however the app asks
|
|
|
152
152
|
npx ia-qa-heal map # reuses that session
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
-
**
|
|
155
|
+
**Nothing to confirm in the terminal.** `login` watches the window and finishes by itself the
|
|
156
|
+
moment the session it carries genuinely opens the app — "press Enter when you are done" was
|
|
157
|
+
the last place this verb took somebody's word for a fact about the world, and it mostly went
|
|
158
|
+
unanswered while the person got on with their day. What counts as done is a definition rather
|
|
159
|
+
than a guess: a clean browser carrying only the captured session has to reach somewhere the
|
|
160
|
+
logged-out one could not, so a magic-link login page with no password field on it is never
|
|
161
|
+
mistaken for success. `--wait 0` restores the press-Enter flow for an app whose login cannot
|
|
162
|
+
be observed from outside; `--wait <seconds>` changes how long to watch.
|
|
163
|
+
|
|
164
|
+
**The session is checked before it is saved.** `login` reopens
|
|
156
165
|
the same page in a clean browser carrying nothing but the captured session. Only a session that
|
|
157
166
|
lands on the app is saved and reported as good. A session that carries nothing is **not
|
|
158
167
|
written at all** — it could log nobody in, and writing it would replace a session that worked.
|
|
@@ -245,6 +254,20 @@ valid, correctly scoped and unexpired, and the app answers with a login anyway
|
|
|
245
254
|
dropped it. A navigation that fails is reported as **could not tell** (exit 2), never as a
|
|
246
255
|
dead session: that distinction is the whole point of having the verb.
|
|
247
256
|
|
|
257
|
+
**And landing somewhere else is never a pass.** A wall is read as "sent elsewhere *and* shown
|
|
258
|
+
a password field" — asked of every frame, and given a moment to render one, because a
|
|
259
|
+
federated form is usually in an iframe and an SPA has drawn nothing at `domcontentloaded`.
|
|
260
|
+
When the app sends the replay to **another host** and no password field is found there, that
|
|
261
|
+
is reported as `off-site` and **exit 2**, never as ✅: an identity provider that asks for an
|
|
262
|
+
email first looks exactly like a legitimate redirect, and the one certain fact is that the
|
|
263
|
+
session was never used on your app.
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
⚠ Asked for app.example.com, landed on https://login.provider.example/authorize — another
|
|
267
|
+
site, and no login form on it.
|
|
268
|
+
Nothing was proven either way: the session was never used on app.example.com.
|
|
269
|
+
```
|
|
270
|
+
|
|
248
271
|
Run it before a long `map`. And **`map` itself now stops at the first login wall when a
|
|
249
272
|
session is in use** — a session is one credential for the whole app, so walking the remaining
|
|
250
273
|
pages into the same wall only spends the run re-proving it. The pages it did not attempt keep
|
package/TUTORIAL.md
CHANGED
|
@@ -278,9 +278,23 @@ npx ia-qa-heal login # a real browser window opens at your first configured
|
|
|
278
278
|
npx ia-qa-heal map # reuses that session; no "auth" block needed
|
|
279
279
|
```
|
|
280
280
|
|
|
281
|
-
**
|
|
282
|
-
|
|
283
|
-
|
|
281
|
+
**You do not have to come back and confirm anything.** The window is watched: the moment the
|
|
282
|
+
session it carries genuinely opens the app, it is saved and the command finishes on its own.
|
|
283
|
+
That replaces "press Enter when you are done", which was the last place this verb took a
|
|
284
|
+
human's word for a fact about the world — and which failed in the most ordinary way there is,
|
|
285
|
+
by being left unanswered while the person went back to work.
|
|
286
|
+
|
|
287
|
+
What counts as done is a definition, not a guess: **a clean browser carrying only the captured
|
|
288
|
+
session has to reach somewhere the logged-out one could not.** Reading "no password field on
|
|
289
|
+
screen" as success instead would call a magic-link or passkey login page a finished login.
|
|
290
|
+
|
|
291
|
+
If your app's login cannot be seen from the outside at all, `--wait 0` restores the plain
|
|
292
|
+
press-Enter flow, and `--wait <seconds>` sets how long to watch (default 10 minutes). Running
|
|
293
|
+
out of time is **not** a refusal: whatever the browser holds is checked and reported anyway.
|
|
294
|
+
|
|
295
|
+
**It checks the session before saving it, and tells you which file now holds what.** The
|
|
296
|
+
session is replayed in a clean browser: same page, nothing but the captured cookies and local
|
|
297
|
+
storage.
|
|
284
298
|
|
|
285
299
|
| what the replay shows | what happens | exit |
|
|
286
300
|
|---|---|---|
|
|
@@ -322,8 +336,14 @@ ia-qa-heal session --check
|
|
|
322
336
|
| `expired` | every cookie's date is in the past | log in again — nothing is wrong with your setup |
|
|
323
337
|
| `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
338
|
| `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 |
|
|
339
|
+
| `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
340
|
| *could not tell* (exit 2) | the app could not be opened | a fact about the network, not about your session |
|
|
326
341
|
|
|
342
|
+
A login form is looked for **in every frame, and after a moment** — a federated form is
|
|
343
|
+
usually in an iframe, and an SPA has not drawn one when the page fires `domcontentloaded`.
|
|
344
|
+
Without both, an app that bounces you to a two-step provider login reported `✅ this session
|
|
345
|
+
opens the app`, with the provider's own URL printed on the same line.
|
|
346
|
+
|
|
327
347
|
**The first two need no browser at all** — a cookie carries its own expiry and its own domain,
|
|
328
348
|
so the answer is already in the file. Add `--offline` to stay entirely local. `www.` and the
|
|
329
349
|
apex count as one host, and the port is ignored, so `localhost:3000` is never mistaken for
|
package/dist/cli/args.js
CHANGED
|
@@ -17,7 +17,7 @@ exports.rejectUnknownFlags = rejectUnknownFlags;
|
|
|
17
17
|
exports.KNOWN_FLAGS = {
|
|
18
18
|
init: ['--yes', '--base-url', '--pages', '--discover', '--tests', '--test-command', '--bootstrap'],
|
|
19
19
|
discover: ['--sitemap', '--crawl', '--no-reveal', '--strict-host', '--apply', '--max', '--depth', '--session'],
|
|
20
|
-
login: ['--url', '--session'],
|
|
20
|
+
login: ['--url', '--session', '--wait'],
|
|
21
21
|
secret: ['--json'],
|
|
22
22
|
session: ['--check', '--offline', '--url', '--session', '--json'],
|
|
23
23
|
map: ['--screenshots', '--session', '--deep', '--depth', '--deep-budget', '--fix-redirects'],
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":";;;AAkCA,gDAeC;AAjDD;;;;;;;;;;;GAWG;AACU,QAAA,WAAW,GAAsC;IAC5D,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC;IAClG,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;IAC9G,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":";;;AAkCA,gDAeC;AAjDD;;;;;;;;;;;GAWG;AACU,QAAA,WAAW,GAAsC;IAC5D,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC;IAClG,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;IAC9G,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;IACvC,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;IACjE,GAAG,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC;IAC5F,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACtE,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;IACnD,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC;IACvD,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;IAC3D,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;IAChD,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACtF,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;IAC7D,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC;CACnF,CAAC;AAEF,SAAgB,kBAAkB,CAAC,OAAe,EAAE,IAAc;IAChE,MAAM,KAAK,GAAG,mBAAW,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,0FAA0F;gBAC9G,4GAA4G;gBAC5G,8FAA8F,CACjG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,OAAO,8CAA8C,CAAC,CAAC;IAChH,CAAC;AACH,CAAC"}
|
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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Browser } from 'playwright';
|
|
1
|
+
import type { Browser, BrowserContext, Page } from 'playwright';
|
|
2
2
|
/**
|
|
3
3
|
* `ia-qa-heal login` — open a browser, let a human log in, keep the session.
|
|
4
4
|
*
|
|
@@ -26,10 +26,30 @@ import type { Browser } from 'playwright';
|
|
|
26
26
|
* with your own suite's login) remain the two paths. A saved session is a local artefact
|
|
27
27
|
* with a shelf life — when it expires, `map` hits the wall again and says to re-run this.
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* What the verb achieved, for a caller that is not a shell.
|
|
31
|
+
*
|
|
32
|
+
* `ok` is the same thing the exit code says — a session that was **replayed** and opened the
|
|
33
|
+
* app — so an orchestrator cannot read success more loosely than the terminal does. The exit
|
|
34
|
+
* code is still set, because this is a CLI verb first.
|
|
35
|
+
*/
|
|
36
|
+
export interface LoginResult {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
/** Where the session was written, when anything was written at all. */
|
|
39
|
+
file?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function runLogin(args: string[]): Promise<LoginResult>;
|
|
30
42
|
export interface SessionReplay {
|
|
31
43
|
landed: string;
|
|
32
44
|
wall: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* The app sent the replay to another site — an identity provider, most often.
|
|
47
|
+
*
|
|
48
|
+
* Reported apart from `wall` because the two are different facts and only one of them is
|
|
49
|
+
* a verdict: a wall is a login seen, this is *the app not reached*. Folded the way cookies
|
|
50
|
+
* are (`www.`/apex, port and scheme ignored), so an ordinary apex→www redirect is silent.
|
|
51
|
+
*/
|
|
52
|
+
offSite?: boolean;
|
|
33
53
|
error?: string;
|
|
34
54
|
}
|
|
35
55
|
/**
|
|
@@ -42,10 +62,86 @@ export interface SessionReplay {
|
|
|
42
62
|
* on screen is logged in. That gap is what produced "✅ Session saved — 0 cookies".
|
|
43
63
|
*
|
|
44
64
|
* A wall is read the way `assertLanded` reads it: sent somewhere else *and* shown a
|
|
45
|
-
* password field
|
|
46
|
-
*
|
|
65
|
+
* password field — asked of every frame, and given a moment to render one. A plain
|
|
66
|
+
* redirect (`/` → `/home`) is not a wall. A navigation that throws is not a verdict
|
|
67
|
+
* either — it is reported as unverified, never as a pass.
|
|
68
|
+
*
|
|
69
|
+
* `offSite` is the third fact, and it is the one that was missing: "no password field"
|
|
70
|
+
* says nothing when the browser is not even on the app any more.
|
|
47
71
|
*/
|
|
48
72
|
export declare function replaySession(browser: Browser, state: Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['storageState']>>, target: string, contextOptions?: Record<string, unknown>): Promise<SessionReplay>;
|
|
73
|
+
/** Why the watch stopped. Only `verified` means the session was proven from a clean context. */
|
|
74
|
+
export type LoginEnd = 'verified' | 'confirmed' | 'closed' | 'timeout';
|
|
75
|
+
export interface LoginWatch {
|
|
76
|
+
end: LoginEnd;
|
|
77
|
+
/** The verification that ended the watch, when one did. */
|
|
78
|
+
replay?: SessionReplay;
|
|
79
|
+
/**
|
|
80
|
+
* The state that `replay` was taken from — never a later one.
|
|
81
|
+
*
|
|
82
|
+
* They travel together because they must: verifying state S1 and then writing an S2 taken
|
|
83
|
+
* a moment later reports a proof about a file that was never the file. That is this
|
|
84
|
+
* verb's own bug in a new place, and the pair makes it unrepresentable.
|
|
85
|
+
*/
|
|
86
|
+
state?: Awaited<ReturnType<BrowserContext['storageState']>>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Is this state, replayed in a clean context, evidence that somebody logged in?
|
|
90
|
+
*
|
|
91
|
+
* One rule, and it is the definition rather than a heuristic: **a login worked when a clean
|
|
92
|
+
* context reaches somewhere the unauthenticated browser could not.** `startedAt` is where
|
|
93
|
+
* the very first navigation landed — the wall — so a replay that lands back there gained
|
|
94
|
+
* nothing, whatever it shows.
|
|
95
|
+
*
|
|
96
|
+
* Reading "no password field" as success instead is the trap this avoids, and it is not
|
|
97
|
+
* theoretical: a magic-link or passkey login page has no password field at all, so the
|
|
98
|
+
* cheap signal says *logged in* from the first second, and the watch would save a state
|
|
99
|
+
* that opens nothing and call it ✅ — the exact false green this verb was rewritten to stop.
|
|
100
|
+
*/
|
|
101
|
+
export declare function loginProven(replay: SessionReplay, startedAt: string): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Watch a visible browser until the person is logged in — instead of asking them to say so.
|
|
104
|
+
*
|
|
105
|
+
* The prompt this replaces was the last place in the verb that trusted a human's word, and
|
|
106
|
+
* the verb's whole history is about not doing that: `storageState({ path })` wrote on that
|
|
107
|
+
* word and printed `✅ Session saved — 0 cookies` over a file that logged nobody in. Asking
|
|
108
|
+
* "are you done?" has the same shape — it is a question about the world answered by
|
|
109
|
+
* someone who is looking at a browser, not at the cookie jar. And it fails in the most
|
|
110
|
+
* ordinary way there is: the person logs in, goes back to what they were doing, and the
|
|
111
|
+
* terminal sits on an unanswered prompt. It was reported by the person who wrote it.
|
|
112
|
+
*
|
|
113
|
+
* So the watch asks the browser, on a loop, and the evidence it accepts is the one the rest
|
|
114
|
+
* of this file already accepts: a **clean context** carrying only the captured state,
|
|
115
|
+
* reaching somewhere the unauthenticated browser could not (`loginProven`).
|
|
116
|
+
*
|
|
117
|
+
* Three restraints:
|
|
118
|
+
*
|
|
119
|
+
* - **It never gives up early.** A verification that fails means *not yet* — a multi-step
|
|
120
|
+
* login, a consent screen still to come — never *this will not work*. After a few failed
|
|
121
|
+
* attempts it explains the one case that genuinely cannot succeed (a token in IndexedDB
|
|
122
|
+
* leaves a session file empty) and keeps watching, because the alternative is telling
|
|
123
|
+
* somebody their login failed while they are still typing.
|
|
124
|
+
* - **The keyboard still works.** `confirmed` is the escape hatch for every app whose
|
|
125
|
+
* login this cannot observe, and whichever finishes first wins. Nothing that worked
|
|
126
|
+
* before stops working.
|
|
127
|
+
* - **Replaying is not free**, so the cheap gate runs first: on the app's own site, no
|
|
128
|
+
* password field in any frame, and something in the cookie jar. A clean context is
|
|
129
|
+
* opened only once that holds, and then only when the live page has moved again or
|
|
130
|
+
* enough time has passed.
|
|
131
|
+
*/
|
|
132
|
+
export declare function watchForLogin(opts: {
|
|
133
|
+
browser: Browser;
|
|
134
|
+
context: BrowserContext;
|
|
135
|
+
page: Page;
|
|
136
|
+
target: string;
|
|
137
|
+
/** Where the FIRST navigation landed: the wall, and the thing a replay must beat. */
|
|
138
|
+
startedAt: string;
|
|
139
|
+
contextOptions?: Record<string, unknown>;
|
|
140
|
+
confirmed: Promise<void>;
|
|
141
|
+
timeoutMs?: number;
|
|
142
|
+
now?: () => number;
|
|
143
|
+
note?: (line: string) => void;
|
|
144
|
+
}): Promise<LoginWatch>;
|
|
49
145
|
export interface SessionDecision {
|
|
50
146
|
ok: boolean;
|
|
51
147
|
action: 'write' | 'quarantine' | 'none';
|
|
@@ -68,6 +164,7 @@ export declare function sessionDecision(v: {
|
|
|
68
164
|
origins: number;
|
|
69
165
|
landed: string;
|
|
70
166
|
wall: boolean;
|
|
167
|
+
offSite?: boolean;
|
|
71
168
|
error?: string;
|
|
72
169
|
file: string;
|
|
73
170
|
existed: boolean;
|