instar 1.3.1270 → 1.3.1271
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/dist/core/ChromeCdpReloginBrowser.d.ts +31 -0
- package/dist/core/ChromeCdpReloginBrowser.d.ts.map +1 -1
- package/dist/core/ChromeCdpReloginBrowser.js +131 -8
- package/dist/core/ChromeCdpReloginBrowser.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1271.md +26 -0
- package/upgrades/relogin-follow-popup.eli16.md +24 -0
- package/upgrades/side-effects/relogin-follow-popup.md +83 -0
|
@@ -49,12 +49,19 @@ export declare class ChromeCdpReloginBrowser implements ReloginBrowserPort {
|
|
|
49
49
|
private readonly policy;
|
|
50
50
|
private child;
|
|
51
51
|
private transport;
|
|
52
|
+
/** TCP mode: the debugging port, the main page target, the targets present at open, and the target the socket is on now. */
|
|
53
|
+
private tcpPort;
|
|
54
|
+
private tcpMainTarget;
|
|
55
|
+
private tcpTargetsAtOpen;
|
|
56
|
+
private tcpActiveTargetId;
|
|
52
57
|
private requestId;
|
|
53
58
|
private pending;
|
|
54
59
|
private readonly eventHandlers;
|
|
55
60
|
/** Pipe mode: every attached target by sessionId. */
|
|
56
61
|
private readonly sessions;
|
|
57
62
|
private mainSessionId;
|
|
63
|
+
/** Page targets in attach order; the newest live one is the page the drive reads and acts on. */
|
|
64
|
+
private readonly pageOrder;
|
|
58
65
|
private mainSessionReady;
|
|
59
66
|
/** The credential currently loaded into the authenticators, or null. */
|
|
60
67
|
private credential;
|
|
@@ -80,6 +87,15 @@ export declare class ChromeCdpReloginBrowser implements ReloginBrowserPort {
|
|
|
80
87
|
*/
|
|
81
88
|
private openPipe;
|
|
82
89
|
private onAttached;
|
|
90
|
+
/**
|
|
91
|
+
* The page the drive currently reads and acts on: the newest live page target (a provider
|
|
92
|
+
* popup such as Google's "Continue with Google" window), falling back to the main page once
|
|
93
|
+
* every popup has closed. Before this, every snapshot/fill/click addressed the MAIN page, so a
|
|
94
|
+
* drive that opened a popup kept re-reading the page behind it (2026-09-23: three attempts
|
|
95
|
+
* saw `provider-choice`, clicked Google again, and timed out while Google's window sat open).
|
|
96
|
+
* Navigation, browsing-data clearing and the passkey origin policy stay on the main page.
|
|
97
|
+
*/
|
|
98
|
+
private activeSessionId;
|
|
83
99
|
/** Everything a target needs BEFORE it is allowed to navigate. */
|
|
84
100
|
private prepareSession;
|
|
85
101
|
private onRequestPaused;
|
|
@@ -175,6 +191,21 @@ export declare class ChromeCdpReloginBrowser implements ReloginBrowserPort {
|
|
|
175
191
|
private fillAndSubmit;
|
|
176
192
|
private evaluate;
|
|
177
193
|
private waitForPort;
|
|
194
|
+
/** TCP mode: the page targets Chrome currently reports (newest first). */
|
|
195
|
+
private listTcpTargets;
|
|
196
|
+
/**
|
|
197
|
+
* TCP mode: put the page-level socket on the page the drive should read and act on — the
|
|
198
|
+
* newest page that appeared AFTER open() (a provider popup such as Google's "Continue with
|
|
199
|
+
* Google" window), or the main page once every popup has closed. The TCP transport is one
|
|
200
|
+
* socket to ONE target, so before this every snapshot/fill/click addressed the main page and
|
|
201
|
+
* a drive that opened a popup kept re-reading the page behind it (2026-09-23: three attempts
|
|
202
|
+
* saw `provider-choice`, clicked Google again, and timed out while Google's window sat open).
|
|
203
|
+
* Pipe mode gets the same behaviour from `activeSessionId()`.
|
|
204
|
+
*/
|
|
205
|
+
private followNewestPage;
|
|
206
|
+
/** TCP mode: return the socket to the main page (navigation and browsing-data operations act there). */
|
|
207
|
+
private followMainPage;
|
|
208
|
+
private switchTcpTarget;
|
|
178
209
|
private connectWs;
|
|
179
210
|
private attachTransport;
|
|
180
211
|
private on;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChromeCdpReloginBrowser.d.ts","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,0GAA0G;AAC1G,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CACvE,GAAG,OAAO,CAOV;AAYD,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AA8ED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAmI;IAClJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAAgE;IACxF,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAmC;IACrD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,4FAA4F;IAC5F,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,OAAO,EAAE,8BAA8B;IAa7C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,4FAA4F;YAC9E,OAAO;
|
|
1
|
+
{"version":3,"file":"ChromeCdpReloginBrowser.d.ts","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,12 +100,19 @@ export class ChromeCdpReloginBrowser {
|
|
|
100
100
|
policy;
|
|
101
101
|
child = null;
|
|
102
102
|
transport = null;
|
|
103
|
+
/** TCP mode: the debugging port, the main page target, the targets present at open, and the target the socket is on now. */
|
|
104
|
+
tcpPort = null;
|
|
105
|
+
tcpMainTarget = null;
|
|
106
|
+
tcpTargetsAtOpen = new Set();
|
|
107
|
+
tcpActiveTargetId = null;
|
|
103
108
|
requestId = 0;
|
|
104
109
|
pending = new Map();
|
|
105
110
|
eventHandlers = new Map();
|
|
106
111
|
/** Pipe mode: every attached target by sessionId. */
|
|
107
112
|
sessions = new Map();
|
|
108
113
|
mainSessionId = null;
|
|
114
|
+
/** Page targets in attach order; the newest live one is the page the drive reads and acts on. */
|
|
115
|
+
pageOrder = [];
|
|
109
116
|
mainSessionReady = null;
|
|
110
117
|
/** The credential currently loaded into the authenticators, or null. */
|
|
111
118
|
credential = null;
|
|
@@ -163,6 +170,11 @@ export class ChromeCdpReloginBrowser {
|
|
|
163
170
|
args.unshift('--headless=new');
|
|
164
171
|
this.child = spawn(this.chromePath, args, { stdio: 'ignore' });
|
|
165
172
|
const port = await this.waitForPort(portFile);
|
|
173
|
+
this.tcpPort = port;
|
|
174
|
+
// Remember the targets Chrome opened on its own (the initial about:blank tab) so a page
|
|
175
|
+
// that appears LATER is recognised as a popup even while its URL is still about:blank.
|
|
176
|
+
for (const t of await this.listTcpTargets())
|
|
177
|
+
this.tcpTargetsAtOpen.add(t.id);
|
|
166
178
|
const target = await fetch(`http://127.0.0.1:${port}/json/new?${encodeURIComponent(url)}`, {
|
|
167
179
|
method: 'PUT', signal: AbortSignal.timeout(this.operationTimeoutMs),
|
|
168
180
|
}).then(async (response) => {
|
|
@@ -172,6 +184,9 @@ export class ChromeCdpReloginBrowser {
|
|
|
172
184
|
});
|
|
173
185
|
if (!target.webSocketDebuggerUrl)
|
|
174
186
|
throw new Error('chrome-target-missing-websocket');
|
|
187
|
+
this.tcpMainTarget = { id: String(target.id ?? ''), wsUrl: target.webSocketDebuggerUrl };
|
|
188
|
+
this.tcpTargetsAtOpen.add(this.tcpMainTarget.id);
|
|
189
|
+
this.tcpActiveTargetId = this.tcpMainTarget.id;
|
|
175
190
|
await this.connectWs(target.webSocketDebuggerUrl);
|
|
176
191
|
await this.send('Page.enable');
|
|
177
192
|
await this.send('Runtime.enable');
|
|
@@ -205,7 +220,13 @@ export class ChromeCdpReloginBrowser {
|
|
|
205
220
|
const promise = new Promise((r) => { resolveReady = r; });
|
|
206
221
|
this.mainSessionReady = { resolve: resolveReady, promise };
|
|
207
222
|
this.on('Target.attachedToTarget', (params) => this.onAttached(params));
|
|
208
|
-
this.on('Target.detachedFromTarget', (params) => {
|
|
223
|
+
this.on('Target.detachedFromTarget', (params) => {
|
|
224
|
+
const sid = String(params.sessionId);
|
|
225
|
+
this.sessions.delete(sid);
|
|
226
|
+
const at = this.pageOrder.indexOf(sid);
|
|
227
|
+
if (at >= 0)
|
|
228
|
+
this.pageOrder.splice(at, 1);
|
|
229
|
+
});
|
|
209
230
|
this.on('Fetch.requestPaused', (params, sessionId) => this.onRequestPaused(params, sessionId));
|
|
210
231
|
this.on('WebAuthn.credentialAsserted', (params) => {
|
|
211
232
|
const cred = params.credential;
|
|
@@ -245,11 +266,30 @@ export class ChromeCdpReloginBrowser {
|
|
|
245
266
|
}
|
|
246
267
|
catch { /* @silent-fallback-ok — target may have gone away */ }
|
|
247
268
|
}
|
|
248
|
-
if (type === 'page'
|
|
249
|
-
this.
|
|
250
|
-
this.
|
|
269
|
+
if (type === 'page') {
|
|
270
|
+
this.pageOrder.push(sessionId);
|
|
271
|
+
if (!this.mainSessionId) {
|
|
272
|
+
this.mainSessionId = sessionId;
|
|
273
|
+
this.mainSessionReady?.resolve();
|
|
274
|
+
}
|
|
251
275
|
}
|
|
252
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* The page the drive currently reads and acts on: the newest live page target (a provider
|
|
279
|
+
* popup such as Google's "Continue with Google" window), falling back to the main page once
|
|
280
|
+
* every popup has closed. Before this, every snapshot/fill/click addressed the MAIN page, so a
|
|
281
|
+
* drive that opened a popup kept re-reading the page behind it (2026-09-23: three attempts
|
|
282
|
+
* saw `provider-choice`, clicked Google again, and timed out while Google's window sat open).
|
|
283
|
+
* Navigation, browsing-data clearing and the passkey origin policy stay on the main page.
|
|
284
|
+
*/
|
|
285
|
+
activeSessionId() {
|
|
286
|
+
for (let i = this.pageOrder.length - 1; i >= 0; i--) {
|
|
287
|
+
const sid = this.pageOrder[i];
|
|
288
|
+
if (this.sessions.has(sid))
|
|
289
|
+
return sid;
|
|
290
|
+
}
|
|
291
|
+
return this.mainSessionId;
|
|
292
|
+
}
|
|
253
293
|
/** Everything a target needs BEFORE it is allowed to navigate. */
|
|
254
294
|
async prepareSession(sessionId, session) {
|
|
255
295
|
await this.send('Page.enable', {}, sessionId);
|
|
@@ -476,11 +516,13 @@ export class ChromeCdpReloginBrowser {
|
|
|
476
516
|
async navigateTo(url) {
|
|
477
517
|
if (!this.transport)
|
|
478
518
|
throw new Error('relogin-browser-not-open');
|
|
519
|
+
await this.followMainPage();
|
|
479
520
|
await this.send('Page.navigate', { url }, this.mainSessionId ?? undefined);
|
|
480
521
|
const deadline = Date.now() + this.operationTimeoutMs;
|
|
481
522
|
for (;;) {
|
|
482
523
|
try {
|
|
483
|
-
|
|
524
|
+
// Poll the MAIN page (the one being navigated), not a live popup.
|
|
525
|
+
const ready = await this.evaluate(`document.readyState === 'complete' || document.readyState === 'interactive'`, false, this.mainSessionId);
|
|
484
526
|
if (ready)
|
|
485
527
|
return;
|
|
486
528
|
}
|
|
@@ -500,6 +542,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
500
542
|
async clearBrowsingData() {
|
|
501
543
|
if (!this.transport)
|
|
502
544
|
throw new Error('relogin-browser-not-open');
|
|
545
|
+
await this.followMainPage();
|
|
503
546
|
const sid = this.mainSessionId ?? undefined;
|
|
504
547
|
await this.send('Network.clearBrowserCookies', {}, sid);
|
|
505
548
|
await this.send('Network.clearBrowserCache', {}, sid);
|
|
@@ -568,6 +611,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
568
611
|
}
|
|
569
612
|
// ── ReloginBrowserPort ───────────────────────────────────────────────
|
|
570
613
|
async snapshot(expectedIdentity) {
|
|
614
|
+
await this.followNewestPage();
|
|
571
615
|
return this.evaluate(`(() => {
|
|
572
616
|
const expected = ${JSON.stringify(expectedIdentity)}.trim().toLowerCase();
|
|
573
617
|
const body = (document.body?.innerText || '').toLowerCase();
|
|
@@ -654,6 +698,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
654
698
|
})()`);
|
|
655
699
|
}
|
|
656
700
|
async chooseExpectedAccount(expectedIdentity) {
|
|
701
|
+
await this.followNewestPage();
|
|
657
702
|
// A REAL input click (spec §3.5): Google's choice-list items do not respond
|
|
658
703
|
// to a script-level element.click().
|
|
659
704
|
await this.clickReal(`(() => {
|
|
@@ -671,6 +716,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
671
716
|
})()`);
|
|
672
717
|
}
|
|
673
718
|
async fillPublic(field, value) {
|
|
719
|
+
await this.followNewestPage();
|
|
674
720
|
// Google's identifier field is `input[type="text"]#identifierId`, not type=email (measured 2026-09-20).
|
|
675
721
|
const selector = field === 'email'
|
|
676
722
|
? 'input[type="email"],input[autocomplete="username"],input#identifierId,input[name="identifier"]'
|
|
@@ -678,6 +724,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
678
724
|
await this.fillAndSubmit(selector, value);
|
|
679
725
|
}
|
|
680
726
|
async fillSecret(field, value) {
|
|
727
|
+
await this.followNewestPage();
|
|
681
728
|
const selector = field === 'password'
|
|
682
729
|
? 'input[type="password"]'
|
|
683
730
|
: field === 'backup-code'
|
|
@@ -686,6 +733,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
686
733
|
await this.fillAndSubmit(selector, value);
|
|
687
734
|
}
|
|
688
735
|
async click(action) {
|
|
736
|
+
await this.followNewestPage();
|
|
689
737
|
// Exact control labels (spec §3.6: closed page classes, closed action set). The
|
|
690
738
|
// create-confirm click is scoped to an open dialog so a page-level "Continue"
|
|
691
739
|
// can never stand in for the confirmation.
|
|
@@ -715,6 +763,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
715
763
|
await this.clickReal(`(() => { const n = document.querySelector(${JSON.stringify(selector)}); return n instanceof HTMLElement ? n : null; })()`);
|
|
716
764
|
}
|
|
717
765
|
async readPasteCode() {
|
|
766
|
+
await this.followNewestPage();
|
|
718
767
|
return this.evaluate(`(() => {
|
|
719
768
|
const candidates = Array.from(document.querySelectorAll('code,pre,[data-testid*="code" i]'))
|
|
720
769
|
.map((node) => (node.textContent || '').trim()).filter((value) => /^\S{8,512}$/.test(value));
|
|
@@ -741,7 +790,12 @@ export class ChromeCdpReloginBrowser {
|
|
|
741
790
|
}
|
|
742
791
|
this.pending.clear();
|
|
743
792
|
this.sessions.clear();
|
|
793
|
+
this.pageOrder.length = 0;
|
|
744
794
|
this.mainSessionId = null;
|
|
795
|
+
this.tcpPort = null;
|
|
796
|
+
this.tcpMainTarget = null;
|
|
797
|
+
this.tcpTargetsAtOpen.clear();
|
|
798
|
+
this.tcpActiveTargetId = null;
|
|
745
799
|
if (child && child.exitCode === null && child.signalCode === null) {
|
|
746
800
|
child.kill('SIGTERM');
|
|
747
801
|
if (!await this.waitForChildExit(child, 5_000)) {
|
|
@@ -790,7 +844,7 @@ export class ChromeCdpReloginBrowser {
|
|
|
790
844
|
})()`);
|
|
791
845
|
if (!point)
|
|
792
846
|
throw new Error('browser-element-not-found');
|
|
793
|
-
const sid = this.
|
|
847
|
+
const sid = this.activeSessionId() ?? undefined;
|
|
794
848
|
await this.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x: point.x, y: point.y }, sid);
|
|
795
849
|
await this.send('Input.dispatchMouseEvent', { type: 'mousePressed', x: point.x, y: point.y, button: 'left', clickCount: 1 }, sid);
|
|
796
850
|
await this.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x: point.x, y: point.y, button: 'left', clickCount: 1 }, sid);
|
|
@@ -827,8 +881,8 @@ export class ChromeCdpReloginBrowser {
|
|
|
827
881
|
}
|
|
828
882
|
await this.wait(500);
|
|
829
883
|
}
|
|
830
|
-
async evaluate(expression, requireTruthy = false) {
|
|
831
|
-
const result = await this.send('Runtime.evaluate', { expression, returnByValue: true, awaitPromise: true },
|
|
884
|
+
async evaluate(expression, requireTruthy = false, sessionId = this.activeSessionId()) {
|
|
885
|
+
const result = await this.send('Runtime.evaluate', { expression, returnByValue: true, awaitPromise: true }, sessionId ?? undefined);
|
|
832
886
|
const remote = result.result;
|
|
833
887
|
if (!remote || result.exceptionDetails)
|
|
834
888
|
throw new Error('browser-evaluation-failed');
|
|
@@ -851,6 +905,69 @@ export class ChromeCdpReloginBrowser {
|
|
|
851
905
|
}
|
|
852
906
|
throw new Error('chrome-launch-timeout');
|
|
853
907
|
}
|
|
908
|
+
/** TCP mode: the page targets Chrome currently reports (newest first). */
|
|
909
|
+
async listTcpTargets() {
|
|
910
|
+
if (this.tcpPort === null)
|
|
911
|
+
return [];
|
|
912
|
+
const response = await fetch(`http://127.0.0.1:${this.tcpPort}/json/list`, { signal: AbortSignal.timeout(this.operationTimeoutMs) });
|
|
913
|
+
if (!response.ok)
|
|
914
|
+
throw new Error(`chrome-target-list-${response.status}`);
|
|
915
|
+
const raw = await response.json();
|
|
916
|
+
return raw.map((t) => ({ id: String(t.id ?? ''), type: String(t.type ?? ''), url: String(t.url ?? ''), webSocketDebuggerUrl: t.webSocketDebuggerUrl }))
|
|
917
|
+
.filter((t) => t.type === 'page' && t.id.length > 0);
|
|
918
|
+
}
|
|
919
|
+
/**
|
|
920
|
+
* TCP mode: put the page-level socket on the page the drive should read and act on — the
|
|
921
|
+
* newest page that appeared AFTER open() (a provider popup such as Google's "Continue with
|
|
922
|
+
* Google" window), or the main page once every popup has closed. The TCP transport is one
|
|
923
|
+
* socket to ONE target, so before this every snapshot/fill/click addressed the main page and
|
|
924
|
+
* a drive that opened a popup kept re-reading the page behind it (2026-09-23: three attempts
|
|
925
|
+
* saw `provider-choice`, clicked Google again, and timed out while Google's window sat open).
|
|
926
|
+
* Pipe mode gets the same behaviour from `activeSessionId()`.
|
|
927
|
+
*/
|
|
928
|
+
async followNewestPage() {
|
|
929
|
+
if (this.tcpPort === null || !this.tcpMainTarget)
|
|
930
|
+
return;
|
|
931
|
+
let targets;
|
|
932
|
+
try {
|
|
933
|
+
targets = await this.listTcpTargets();
|
|
934
|
+
}
|
|
935
|
+
catch {
|
|
936
|
+
return; /* @silent-fallback-ok — an unreadable target list keeps the current page; the next call re-checks */
|
|
937
|
+
}
|
|
938
|
+
const popup = targets.find((t) => !this.tcpTargetsAtOpen.has(t.id) && !/^(chrome|devtools):/.test(t.url));
|
|
939
|
+
const desired = popup ?? targets.find((t) => t.id === this.tcpMainTarget.id) ?? null;
|
|
940
|
+
if (!desired)
|
|
941
|
+
return;
|
|
942
|
+
await this.switchTcpTarget(desired.id, desired.webSocketDebuggerUrl ?? (desired.id === this.tcpMainTarget.id ? this.tcpMainTarget.wsUrl : undefined));
|
|
943
|
+
}
|
|
944
|
+
/** TCP mode: return the socket to the main page (navigation and browsing-data operations act there). */
|
|
945
|
+
async followMainPage() {
|
|
946
|
+
if (this.tcpPort === null || !this.tcpMainTarget)
|
|
947
|
+
return;
|
|
948
|
+
await this.switchTcpTarget(this.tcpMainTarget.id, this.tcpMainTarget.wsUrl);
|
|
949
|
+
}
|
|
950
|
+
async switchTcpTarget(targetId, wsUrl) {
|
|
951
|
+
if (targetId === this.tcpActiveTargetId && this.transport?.open)
|
|
952
|
+
return;
|
|
953
|
+
if (!wsUrl)
|
|
954
|
+
return;
|
|
955
|
+
const previous = this.transport;
|
|
956
|
+
this.transport = null;
|
|
957
|
+
for (const entry of this.pending.values()) {
|
|
958
|
+
clearTimeout(entry.timer);
|
|
959
|
+
entry.reject(new Error('cdp-target-switched'));
|
|
960
|
+
}
|
|
961
|
+
this.pending.clear();
|
|
962
|
+
try {
|
|
963
|
+
previous?.close();
|
|
964
|
+
}
|
|
965
|
+
catch { /* @silent-fallback-ok — the old socket may already be closed by the popup going away */ }
|
|
966
|
+
await this.connectWs(wsUrl);
|
|
967
|
+
await this.send('Page.enable');
|
|
968
|
+
await this.send('Runtime.enable');
|
|
969
|
+
this.tcpActiveTargetId = targetId;
|
|
970
|
+
}
|
|
854
971
|
async connectWs(url) {
|
|
855
972
|
const socket = new WebSocket(url, { origin: 'http://127.0.0.1' });
|
|
856
973
|
await new Promise((resolve, reject) => {
|
|
@@ -863,6 +980,10 @@ export class ChromeCdpReloginBrowser {
|
|
|
863
980
|
attachTransport(transport) {
|
|
864
981
|
this.transport = transport;
|
|
865
982
|
transport.onMessage((raw) => {
|
|
983
|
+
// A socket that has been replaced (a TCP target switch) must not touch the shared
|
|
984
|
+
// pending map: its late messages and its asynchronous close belong to the old target.
|
|
985
|
+
if (this.transport !== transport)
|
|
986
|
+
return;
|
|
866
987
|
let message;
|
|
867
988
|
try {
|
|
868
989
|
message = JSON.parse(raw);
|
|
@@ -894,6 +1015,8 @@ export class ChromeCdpReloginBrowser {
|
|
|
894
1015
|
}
|
|
895
1016
|
});
|
|
896
1017
|
transport.onClose(() => {
|
|
1018
|
+
if (this.transport !== transport)
|
|
1019
|
+
return;
|
|
897
1020
|
for (const [id, entry] of this.pending) {
|
|
898
1021
|
this.pending.delete(id);
|
|
899
1022
|
clearTimeout(entry.timer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChromeCdpReloginBrowser.js","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChromeCdpReloginBrowser.js","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "c55d201d822f8706b0dc50ce21b0b8298b4ac470543cfe46d8988da03b0d34b9",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1271",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "9689c97fa4d254a0e1c41005804426ca1c3c22579a1baba890107191a7363bd2",
|
|
3
3
|
"registrySha256": "c55d201d822f8706b0dc50ce21b0b8298b4ac470543cfe46d8988da03b0d34b9",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1271"
|
|
5
5
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-09-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-09-24T01:28:56.857Z",
|
|
5
|
+
"instarVersion": "1.3.1271",
|
|
6
6
|
"entryCount": 203,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "c55d201d822f8706b0dc50ce21b0b8298b4ac470543cfe46d8988da03b0d34b9",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1271",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "9689c97fa4d254a0e1c41005804426ca1c3c22579a1baba890107191a7363bd2",
|
|
3
3
|
"registrySha256": "c55d201d822f8706b0dc50ce21b0b8298b4ac470543cfe46d8988da03b0d34b9",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1271"
|
|
5
5
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
The assisted re-login browser could not follow a provider popup. In its TCP transport (the mode every non-passkey repair uses) `ChromeCdpReloginBrowser` holds one page-level WebSocket to the target created by `/json/new`, so every `snapshot`/`fill`/`click` addressed the main page. When Claude's sign-in page opened Google's "Continue with Google" window, the drive kept reading the page behind it, saw `provider-choice` again, clicked Google again, and ran out its step budget as `provider-transient` — three times per episode in the live 2026-09-23 `justin-gmail` repair.
|
|
9
|
+
|
|
10
|
+
- **TCP mode:** before each port operation (`snapshot`, `chooseExpectedAccount`, `fillPublic`, `fillSecret`, `click`, `readPasteCode`) the browser now lists page targets (`/json/list`) and moves its socket to the newest page that appeared **after** `open()` (a popup), or back to the main page once every popup has gone. The targets present at open (Chrome's initial `about:blank` tab and the main page) are remembered by id, so a popup is recognised even while its URL is still `about:blank`. `navigateTo` and `clearBrowsingData` switch back to the main page first. Switching rejects any in-flight CDP call with `cdp-target-switched` and re-enables `Page`/`Runtime` on the new socket.
|
|
11
|
+
- **Pipe (passkey) mode:** popups were already auto-attached but never read; page sessions are now tracked in attach order and `activeSessionId()` (the newest live page session, else main) drives `evaluate` and real clicks. The passkey origin policy, navigation and browsing-data clearing stay on the main page.
|
|
12
|
+
|
|
13
|
+
No config, route or on-disk format changes.
|
|
14
|
+
|
|
15
|
+
## What to Tell Your User
|
|
16
|
+
|
|
17
|
+
When the automatic sign-in repair chose "Continue with Google", Google opened its sign-in in a separate window. The repair kept looking at the original window, didn't see anything change, and clicked the button again until it gave up. It now follows the newest open window, signs in there, and comes back to the original window when that one closes — the way a person would.
|
|
18
|
+
|
|
19
|
+
## Summary of New Capabilities
|
|
20
|
+
|
|
21
|
+
- Assisted re-login drives provider sign-in popups (Google's "Continue with Google" window) instead of stalling on the page behind them.
|
|
22
|
+
|
|
23
|
+
## Evidence
|
|
24
|
+
|
|
25
|
+
- Live, 2026-09-23 17:05–17:10 PDT on the Studio (v1.3.1270): three attempts each reached `Sign in - Claude`, opened `Sign in - Google Accounts`, and returned `provider-transient` after ~100 s; a direct run of the engine's browser class on the same link logged `class=provider-choice … google=true` while the target list showed the Google window open.
|
|
26
|
+
- Tests: `tests/integration/chrome-cdp-relogin-browser.test.ts` (+1, real headless Chrome): a main page whose "Continue with Google" opens a popup; the snapshot after the click classifies the popup (`email`), `fillPublic` submits in the popup which closes itself, and the next snapshot reads the main page (`success`). Fails against the pre-fix code (`provider-choice` forever). All relogin test files green, `tsc` clean.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Automatic sign-in repair: follow the sign-in window
|
|
2
|
+
|
|
3
|
+
## What this is, in plain English
|
|
4
|
+
|
|
5
|
+
When an agent's Claude sign-in expires, Instar repairs it by opening Claude's sign-in page in the account's own browser window and clicking through. Claude's page offers "Continue with Google", and when you choose it, Google opens its own separate window for the sign-in. A person naturally looks at the new window, signs in there, and then turns back to the first window when the Google one closes.
|
|
6
|
+
|
|
7
|
+
## What was wrong
|
|
8
|
+
|
|
9
|
+
The repair was wired to exactly one browser tab from the moment it started: the Claude page. It had no idea a second window had opened. So after clicking "Continue with Google", it kept looking at the Claude page, saw the same button still there, clicked it again, and repeated that until its time ran out, while Google's window sat open waiting. On September 23rd a real repair did this three times in a row and gave up.
|
|
10
|
+
|
|
11
|
+
## What changes
|
|
12
|
+
|
|
13
|
+
Before every step, the repair now checks which browser windows are open. If a new window has appeared since it started, it switches its attention to that window and works there. When that window closes, it switches back to the original one. Nothing else about how it fills in forms or clicks buttons changes.
|
|
14
|
+
|
|
15
|
+
## What stays the same (the safeguards)
|
|
16
|
+
|
|
17
|
+
- Every page it reads still has to be on an approved sign-in address. A window on an unexpected site is refused exactly as before.
|
|
18
|
+
- Only windows that opened after the repair began count as candidates. The browser's own blank starting tab is never mistaken for one.
|
|
19
|
+
- Navigating to a new page and clearing browsing data still happen on the original window only.
|
|
20
|
+
- The passkey version of the browser gets the same "newest window" behavior, and its stricter origin rules are untouched.
|
|
21
|
+
|
|
22
|
+
## What you need to decide
|
|
23
|
+
|
|
24
|
+
Nothing. There are no new settings. Repairs that stalled right after "Continue with Google" should now carry on into Google's window and finish.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Side-Effects Review — assisted re-login follows the provider popup
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `relogin-follow-popup`
|
|
4
|
+
**Date:** `2026-09-23`
|
|
5
|
+
**Author:** `Echo`
|
|
6
|
+
**Second-pass reviewer:** `independent subagent (browser-drive path) — see below`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
`src/core/ChromeCdpReloginBrowser.ts`. TCP mode: remember the debugging port, the main target and the target ids present at `open()`; before every port operation (`snapshot`, `chooseExpectedAccount`, `fillPublic`, `fillSecret`, `click`, `readPasteCode`) list page targets and move the single page-level socket to the newest page that appeared after open (a popup) or back to the main page when none is left (`followNewestPage`); `navigateTo`/`clearBrowsingData` first return to the main page (`followMainPage`); a switch rejects in-flight CDP calls with `cdp-target-switched` and re-enables `Page`/`Runtime`. Pipe mode: track page sessions in attach order and read/click on `activeSessionId()` (newest live page session, else main). Test: +1 real-Chrome integration test. No driver, policy or store change.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- Which page the drive observes and acts on — modify — newest popup, else main. The driver's origin allow-list and page-class logic then run on that page's snapshot exactly as before.
|
|
15
|
+
- Passkey origin policy (`mayAddCredential` loop over page sessions, main vs secondary) — pass-through, unchanged; it still keys on `mainSessionId`.
|
|
16
|
+
|
|
17
|
+
## 1. Over-block
|
|
18
|
+
|
|
19
|
+
None. No new refusal is introduced.
|
|
20
|
+
|
|
21
|
+
## 2. Under-block / new reach
|
|
22
|
+
|
|
23
|
+
- **A popup on an unexpected origin.** Its snapshot carries its own `origin`, and the driver refuses `unexpected-origin` before any action, as it already did for a redirected main page. This is the safety property that matters, and it is preserved because the origin check runs on whatever page is active.
|
|
24
|
+
- **Two popups at once.** The newest wins (first in `/json/list`, which Chrome orders newest first). Sign-in flows open one at a time; a second popup would be read instead of the first, and the first is picked up again when the second closes.
|
|
25
|
+
- **A popup that never closes.** Snapshots keep addressing it; the drive fails on its normal step budget. Same terminal shape as before.
|
|
26
|
+
- **Stale `/json/list` race.** A popup that closes between listing and connecting makes `connectWs` fail; the port operation throws, the driver maps it to `provider-transient`, and the next attempt re-syncs. Not a hang, not a wrong action.
|
|
27
|
+
|
|
28
|
+
## 3. Level-of-abstraction fit
|
|
29
|
+
|
|
30
|
+
Target selection is a browser-transport concern, so it lives in the browser class behind the unchanged `ReloginBrowserPort`. The driver keeps deciding what to do on the page it is shown.
|
|
31
|
+
|
|
32
|
+
## 4. Signal vs authority compliance
|
|
33
|
+
|
|
34
|
+
No new authority. The change only alters which page's DOM the existing, supervised actions see.
|
|
35
|
+
|
|
36
|
+
## 4b. Judgment-point check
|
|
37
|
+
|
|
38
|
+
No heuristic: "newest page target not present at open" is a structural rule.
|
|
39
|
+
|
|
40
|
+
## 5. Interactions
|
|
41
|
+
|
|
42
|
+
- **In-flight calls on a switch:** rejected with `cdp-target-switched` (never left pending). Port operations are sequential in the driver, so this only affects a call racing a switch.
|
|
43
|
+
- **The old socket's asynchronous close (second-pass finding):** `ws` emits `close` after `close()` returns, so the replaced socket's `onClose` could have rejected the NEW socket's `Page.enable`/`Runtime.enable` with `cdp-closed` and failed the attempt at the popup moment. Both transport handlers now return early when `this.transport` is no longer that transport, so a retired socket can't touch the shared pending map.
|
|
44
|
+
- **Pipe-mode `navigateTo`:** it navigates the main session, so its readiness poll now evaluates on the main session explicitly rather than on a live popup.
|
|
45
|
+
- **`--remote-allow-origins`:** the popup's WebSocket connects with the same `origin: http://127.0.0.1` header the main socket uses.
|
|
46
|
+
- **Interstitial (#2057) and reissue (#2055) fixes:** orthogonal; an interstitial in a popup is classified from the popup snapshot and waited out the same way.
|
|
47
|
+
- **Cost:** one local `/json/list` HTTP call per port operation (a few ms).
|
|
48
|
+
|
|
49
|
+
## 6. External surfaces
|
|
50
|
+
|
|
51
|
+
None beyond the browser now completing the provider step it previously stalled on. No routes, config or on-disk change.
|
|
52
|
+
|
|
53
|
+
## 6b. Operator-surface quality
|
|
54
|
+
|
|
55
|
+
Not applicable — no dashboard or approval-surface file changed.
|
|
56
|
+
|
|
57
|
+
## 7. Multi-machine posture
|
|
58
|
+
|
|
59
|
+
Machine-local by design. Each machine drives its own Chrome.
|
|
60
|
+
|
|
61
|
+
## 8. Rollback cost
|
|
62
|
+
|
|
63
|
+
Revert the single-file hunk and patch release. No state to migrate.
|
|
64
|
+
|
|
65
|
+
## Conclusion
|
|
66
|
+
|
|
67
|
+
Closes the fourth and last gap between the hand-driven sign-ins and the shipped repair: the engine now follows the provider popup, so the Google step can complete unattended.
|
|
68
|
+
|
|
69
|
+
## Second-pass review (if required)
|
|
70
|
+
|
|
71
|
+
**Reviewer:** independent subagent
|
|
72
|
+
**Independent read of the artifact:** First pass: "Concern raised" — the replaced TCP socket's asynchronous `onClose` could reject the new socket's enable calls (a timing-dependent spurious `provider-transient`), and pipe-mode `navigateTo` polled readiness on the active page. Both fixed (transport-identity guards in `attachTransport`; explicit main-session evaluate in `navigateTo`) and recorded in section 5. Origin safety, pending-map hygiene and the passkey policy were confirmed intact. Second pass: "Concur with the review" — the transport-identity guard closes the race (the switch nulls `this.transport` before closing the old socket), a live transport's genuine close still rejects pending, and `navigateTo` polls the main session.
|
|
73
|
+
|
|
74
|
+
## Evidence pointers
|
|
75
|
+
|
|
76
|
+
- Live: `justin-gmail` episode, Studio, 17:05–17:10 PDT, three `browser-driving → approved transient-retry-scheduled` transitions with the tab list showing `Sign in - Google Accounts` open the whole time; a direct engine-class run logged `class=provider-choice … google=true` with the popup open.
|
|
77
|
+
- Test: the new popup test fails pre-fix (`provider-choice` for 5 s), passes post-fix; all relogin files green; `tsc` clean.
|
|
78
|
+
|
|
79
|
+
## Class-Closure Declaration (display-only mirror)
|
|
80
|
+
|
|
81
|
+
- **`defectClass`**: `unbounded-self-action` (this changes what a self-triggered browser drive acts on each step).
|
|
82
|
+
- **`closure`**: `guard`
|
|
83
|
+
- **`guardEvidence`**: `{enforcementType: ratchet, citation: tests/integration/chrome-cdp-relogin-browser.test.ts "follows a provider popup", howCaught: control-loop edge = a socket switch happens only when the newest-live-page verdict changes; steady-state bound = at most one switch per port operation and the driver's unchanged step/attempt/wall-clock budgets; settling brake = when no popup remains the socket returns to the main page and stays there. The test asserts popup read → popup fill → fall back to main.}`
|