instar 1.3.1271 → 1.3.1273

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.
Files changed (61) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +28 -2
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AnthropicReloginBrowserDriver.d.ts +80 -0
  5. package/dist/core/AnthropicReloginBrowserDriver.d.ts.map +1 -1
  6. package/dist/core/AnthropicReloginBrowserDriver.js +159 -8
  7. package/dist/core/AnthropicReloginBrowserDriver.js.map +1 -1
  8. package/dist/core/ChromeCdpReloginBrowser.d.ts +13 -1
  9. package/dist/core/ChromeCdpReloginBrowser.d.ts.map +1 -1
  10. package/dist/core/ChromeCdpReloginBrowser.js +67 -0
  11. package/dist/core/ChromeCdpReloginBrowser.js.map +1 -1
  12. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  13. package/dist/core/PostUpdateMigrator.js +11 -0
  14. package/dist/core/PostUpdateMigrator.js.map +1 -1
  15. package/dist/core/SubscriptionReloginOrchestrator.d.ts +6 -0
  16. package/dist/core/SubscriptionReloginOrchestrator.d.ts.map +1 -1
  17. package/dist/core/SubscriptionReloginOrchestrator.js +1 -1
  18. package/dist/core/SubscriptionReloginOrchestrator.js.map +1 -1
  19. package/dist/core/SubscriptionReloginRuntime.d.ts +16 -1
  20. package/dist/core/SubscriptionReloginRuntime.d.ts.map +1 -1
  21. package/dist/core/SubscriptionReloginRuntime.js +13 -1
  22. package/dist/core/SubscriptionReloginRuntime.js.map +1 -1
  23. package/dist/core/types.d.ts +13 -0
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/core/types.js.map +1 -1
  26. package/dist/data/standards-guard-index.json +1 -1
  27. package/dist/data/standards-guard-index.meta.json +2 -2
  28. package/dist/data/standards-registry.meta.json +1 -1
  29. package/dist/scaffold/templates.d.ts.map +1 -1
  30. package/dist/scaffold/templates.js +1 -0
  31. package/dist/scaffold/templates.js.map +1 -1
  32. package/dist/scheduler/AgentMdJobLoader.d.ts +2 -0
  33. package/dist/scheduler/AgentMdJobLoader.d.ts.map +1 -1
  34. package/dist/scheduler/AgentMdJobLoader.js +14 -7
  35. package/dist/scheduler/AgentMdJobLoader.js.map +1 -1
  36. package/dist/scheduler/InstallBuiltinJobs.d.ts.map +1 -1
  37. package/dist/scheduler/InstallBuiltinJobs.js +3 -0
  38. package/dist/scheduler/InstallBuiltinJobs.js.map +1 -1
  39. package/dist/scheduler/JevJobCompletionAudit.d.ts +18 -2
  40. package/dist/scheduler/JevJobCompletionAudit.d.ts.map +1 -1
  41. package/dist/scheduler/JevJobCompletionAudit.js +35 -5
  42. package/dist/scheduler/JevJobCompletionAudit.js.map +1 -1
  43. package/dist/scheduler/JobScheduler.js +3 -3
  44. package/dist/scheduler/JobScheduler.js.map +1 -1
  45. package/dist/scheduler/buildPerSlugManifest.d.ts +2 -0
  46. package/dist/scheduler/buildPerSlugManifest.d.ts.map +1 -1
  47. package/dist/scheduler/buildPerSlugManifest.js +2 -0
  48. package/dist/scheduler/buildPerSlugManifest.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/data/builtin-manifest.json +20 -20
  51. package/src/data/standards-guard-index.json +1 -1
  52. package/src/data/standards-guard-index.meta.json +2 -2
  53. package/src/data/standards-registry.meta.json +1 -1
  54. package/src/scaffold/templates/jobs/instar/commitment-detection.md +3 -1
  55. package/src/scaffold/templates/jobs/instar/reflection-trigger.md +3 -0
  56. package/src/scaffold/templates.ts +1 -0
  57. package/upgrades/1.3.1272.md +58 -0
  58. package/upgrades/1.3.1273.md +24 -0
  59. package/upgrades/agent-driven-relogin.eli16.md +7 -0
  60. package/upgrades/side-effects/agent-driven-relogin.md +42 -0
  61. package/upgrades/side-effects/jev-audit-claimed-effects.md +88 -0
@@ -17,6 +17,17 @@ export interface ReloginBrowserSnapshot {
17
17
  hasNotNow?: boolean;
18
18
  requestedScopes: string[];
19
19
  }
20
+ /** Raw facts about the page's visible controls (spec agent-driven-relogin). The driver filters + redacts. */
21
+ export interface ReloginControlObservation {
22
+ title: string;
23
+ path: string;
24
+ controls: {
25
+ n: number;
26
+ text: string;
27
+ identities: string[];
28
+ }[];
29
+ inputKinds: string[];
30
+ }
20
31
  export type ReloginBrowserClick = 'next' | 'authorize' | 'google' | 'passkey-continue' | 'try-another-way' | 'create-passkey' | 'create-passkey-confirm' | 'not-now';
21
32
  export interface ReloginBrowserPort {
22
33
  open(url: string): Promise<void>;
@@ -28,6 +39,9 @@ export interface ReloginBrowserPort {
28
39
  fillSecret(field: 'password' | 'totp' | 'backup-code', value: string): Promise<void>;
29
40
  click(action: ReloginBrowserClick): Promise<void>;
30
41
  readPasteCode(): Promise<string | null>;
42
+ /** Agent navigation (optional): the page's visible controls, and a real click on one of them. */
43
+ observeControls?(): Promise<ReloginControlObservation>;
44
+ clickControl?(n: number, expectedText: string, expectedIdentities: string[]): Promise<void>;
31
45
  wait(ms: number): Promise<void>;
32
46
  close(): Promise<void>;
33
47
  }
@@ -74,6 +88,33 @@ export interface AnthropicReloginBrowserDriverDeps {
74
88
  maxSteps?: number;
75
89
  /** Total time to wait out a bot-check interstitial per drive (default 90 s, capped at 5 min). */
76
90
  interstitialMaxMs?: number;
91
+ /**
92
+ * `agent` (spec agent-driven-relogin): on every non-terminal page a model chooses the next
93
+ * step from an OPEN, floor-filtered list of the page's visible controls plus the typed fills,
94
+ * instead of the page-class table. Sign-in drives only; enrollment stays `closed`.
95
+ */
96
+ navigation?: 'closed' | 'agent';
97
+ /** The agent's chooser. Returns exactly one token from `offered`. Required when navigation is `agent`. */
98
+ navigate?: (input: AgentNavigationInput) => Promise<string>;
99
+ /** Hard drive deadline (default 8 min, clamped 1–10 min), raced against every model and browser call. */
100
+ driveDeadlineMs?: number;
101
+ }
102
+ /** Everything the agent's chooser ever sees — a fixed schema with no values, no query strings, no foreign identities. */
103
+ export interface AgentNavigationInput {
104
+ provider: 'anthropic' | 'openai';
105
+ loginMethod: AnthropicReloginBrowserRequest['loginMethod'];
106
+ origin: string;
107
+ path: string;
108
+ title: string;
109
+ pageClassHint: ReloginBrowserSnapshot['pageClass'];
110
+ expectedAccountVisible: boolean;
111
+ inputKinds: string[];
112
+ controls: {
113
+ token: string;
114
+ label: string;
115
+ }[];
116
+ offered: string[];
117
+ recentSteps: string[];
77
118
  }
78
119
  /** Poll cadence while a bot-check interstitial is showing. */
79
120
  export declare const INTERSTITIAL_POLL_MS = 3000;
@@ -84,10 +125,49 @@ export declare class AnthropicReloginBrowserDriver {
84
125
  private readonly maxSteps;
85
126
  private readonly interstitialMaxMs;
86
127
  constructor(deps: AnthropicReloginBrowserDriverDeps);
128
+ private readonly driveDeadlineMs;
129
+ /** Agent navigation applies to sign-in drives with a chooser and a browser that can observe controls. */
130
+ private agentMode;
87
131
  drive(request: AnthropicReloginBrowserRequest, signal?: AbortSignal): Promise<BrowserRepairResult>;
132
+ /**
133
+ * One agent-navigation step (spec agent-driven-relogin): observe the page's controls, build
134
+ * the floor-filtered offer, ask the chooser for exactly one token, perform it. Returns a
135
+ * result only when the drive ends; `null` means "keep going".
136
+ */
137
+ private agentStep;
88
138
  private perform;
89
139
  }
90
140
  export declare function allowedActions(snapshot: ReloginBrowserSnapshot, request: Pick<AnthropicReloginBrowserRequest, 'artifact' | 'loginMethod' | 'secretRefs' | 'intent'>): ReloginBrowserAction[];
141
+ /**
142
+ * Controls the agent may NEVER be offered, whatever the page (spec agent-driven-relogin):
143
+ * account-changing, destructive, and credential-creating actions. A deterministic block on
144
+ * irreversible actions — the Signal-vs-Authority exemption for safety guards.
145
+ */
146
+ export declare const AGENT_BLOCKED_PHRASES: readonly string[];
147
+ export declare function isBlockedControl(text: string): boolean;
148
+ /**
149
+ * What a label may carry to the model: every secret resolved in this drive stripped verbatim,
150
+ * foreign emails masked, long token-like runs and 6+ digit runs masked, and a hard length cap
151
+ * that DISCLOSES a cut (never a silently shortened label).
152
+ */
153
+ export declare function redactLabel(text: string, expectedIdentity: string, secrets: string[], max?: number): string;
154
+ export interface AgentOffer {
155
+ offered: string[];
156
+ controls: {
157
+ token: string;
158
+ n: number;
159
+ text: string;
160
+ identities: string[];
161
+ label: string;
162
+ }[];
163
+ }
164
+ /**
165
+ * The floor-filtered action list for one agent step. Pure — every floor is testable here.
166
+ * Typed fills are offered by INPUT PRESENCE (not page class); visible controls are offered
167
+ * unless they name another identity, carry a blocked phrase, or would grant consent without
168
+ * measured, allowed, non-empty scopes.
169
+ */
170
+ export declare function buildAgentOffer(snapshot: ReloginBrowserSnapshot, observation: ReloginControlObservation, request: Pick<AnthropicReloginBrowserRequest, 'artifact' | 'loginMethod' | 'secretRefs' | 'expectedIdentity' | 'allowedScopes'>, secrets: string[]): AgentOffer;
91
171
  export declare function safeAllowedUrl(value: string, provider?: AnthropicReloginBrowserRequest['provider']): boolean;
92
172
  export declare function generateTotp(base32: string, at: number, digits?: number, periodSeconds?: number): string;
93
173
  //# sourceMappingURL=AnthropicReloginBrowserDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicReloginBrowserDriver.d.ts","sourceRoot":"","sources":["../../src/core/AnthropicReloginBrowserDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicReloginBrowserDriver.d.ts","sourceRoot":"","sources":["../../src/core/AnthropicReloginBrowserDriver.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,13 @@ export class AnthropicReloginBrowserDriver {
28
28
  this.now = deps.now ?? Date.now;
29
29
  this.maxSteps = Math.max(1, Math.min(40, Math.floor(deps.maxSteps ?? 20)));
30
30
  this.interstitialMaxMs = Math.max(0, Math.min(300_000, Math.floor(deps.interstitialMaxMs ?? 90_000)));
31
+ this.driveDeadlineMs = Math.max(60_000, Math.min(600_000, Math.floor(deps.driveDeadlineMs ?? 480_000)));
32
+ }
33
+ driveDeadlineMs;
34
+ /** Agent navigation applies to sign-in drives with a chooser and a browser that can observe controls. */
35
+ agentMode(request) {
36
+ return this.deps.navigation === 'agent' && request.intent !== 'enroll' && !!this.deps.navigate
37
+ && typeof this.deps.browser.observeControls === 'function' && typeof this.deps.browser.clickControl === 'function';
31
38
  }
32
39
  async drive(request, signal = new AbortController().signal) {
33
40
  if (!safeAllowedUrl(request.verificationUrl, request.provider))
@@ -40,13 +47,31 @@ export class AnthropicReloginBrowserDriver {
40
47
  return { outcome: 'transient', failureClass: 'seat-busy' };
41
48
  const abort = () => { void this.deps.browser.close().catch(() => { }); };
42
49
  signal.addEventListener('abort', abort, { once: true });
50
+ const agent = this.agentMode(request);
51
+ const deadline = this.now() + this.driveDeadlineMs;
52
+ // A hard deadline raced against every browser and model call: a stalled await can never
53
+ // outlive the drive (spec agent-driven-relogin, "hard time limit").
54
+ const bounded = (work) => {
55
+ const remaining = deadline - this.now();
56
+ if (remaining <= 0)
57
+ return Promise.reject(new Error('relogin-drive-deadline'));
58
+ let timer;
59
+ const expiry = new Promise((_, reject) => {
60
+ timer = setTimeout(() => reject(new Error('relogin-drive-deadline')), remaining);
61
+ });
62
+ return Promise.race([work, expiry]).finally(() => clearTimeout(timer));
63
+ };
64
+ const resolvedSecrets = new Set();
65
+ if (request.artifact.userCode)
66
+ resolvedSecrets.add(request.artifact.userCode);
67
+ const recentSteps = [];
43
68
  try {
44
69
  signal.throwIfAborted();
45
- await this.deps.browser.open(request.verificationUrl);
70
+ await bounded(this.deps.browser.open(request.verificationUrl));
46
71
  let interstitialWaitedMs = 0;
47
72
  for (let step = 0; step < this.maxSteps; step++) {
48
73
  signal.throwIfAborted();
49
- const snapshot = await this.deps.browser.snapshot(request.expectedIdentity);
74
+ const snapshot = await bounded(this.deps.browser.snapshot(request.expectedIdentity));
50
75
  if (!allowedOrigins(request.provider, request.intent).includes(snapshot.origin))
51
76
  return { outcome: 'refused', failureClass: 'unexpected-origin' };
52
77
  // A bot-check interstitial ("Just a moment…") clears on its own in roughly 30–90 s.
@@ -56,7 +81,7 @@ export class AnthropicReloginBrowserDriver {
56
81
  if (snapshot.pageClass === 'interstitial') {
57
82
  if (interstitialWaitedMs >= this.interstitialMaxMs)
58
83
  return { outcome: 'transient', failureClass: 'provider-transient' };
59
- await this.deps.browser.wait(INTERSTITIAL_POLL_MS);
84
+ await bounded(this.deps.browser.wait(INTERSTITIAL_POLL_MS));
60
85
  interstitialWaitedMs += INTERSTITIAL_POLL_MS;
61
86
  step -= 1; // an interstitial poll is not a drive step
62
87
  continue;
@@ -85,16 +110,22 @@ export class AnthropicReloginBrowserDriver {
85
110
  if (snapshot.pageClass === 'success')
86
111
  return { outcome: 'approved' };
87
112
  if (snapshot.pageClass === 'paste-code') {
88
- const code = await this.deps.browser.readPasteCode();
113
+ const code = await bounded(this.deps.browser.readPasteCode());
89
114
  return code ? { outcome: 'approved', pasteCode: code } : { outcome: 'transient', failureClass: 'provider-transient' };
90
115
  }
116
+ if (agent) {
117
+ const ended = await this.agentStep(snapshot, request, resolvedSecrets, recentSteps, bounded);
118
+ if (ended)
119
+ return ended;
120
+ continue;
121
+ }
91
122
  const allowed = allowedActions(snapshot, request);
92
123
  if (allowed.length === 0)
93
124
  return { outcome: 'transient', failureClass: 'provider-transient' };
94
- const action = await this.deps.supervise({ snapshot, allowedActions: allowed });
125
+ const action = await bounded(this.deps.supervise({ snapshot, allowedActions: allowed }));
95
126
  if (!allowed.includes(action))
96
127
  return { outcome: 'refused', failureClass: 'provider-rejected' };
97
- const acted = await this.perform(action, request);
128
+ const acted = await bounded(this.perform(action, request, resolvedSecrets));
98
129
  if (!acted)
99
130
  return { outcome: 'refused', failureClass: 'vault-reference-missing' };
100
131
  }
@@ -108,11 +139,49 @@ export class AnthropicReloginBrowserDriver {
108
139
  }
109
140
  finally {
110
141
  signal.removeEventListener('abort', abort);
142
+ resolvedSecrets.clear();
111
143
  await this.deps.browser.close().catch(() => { });
112
144
  this.deps.seatLease.release(holderId);
113
145
  }
114
146
  }
115
- async perform(action, req) {
147
+ /**
148
+ * One agent-navigation step (spec agent-driven-relogin): observe the page's controls, build
149
+ * the floor-filtered offer, ask the chooser for exactly one token, perform it. Returns a
150
+ * result only when the drive ends; `null` means "keep going".
151
+ */
152
+ async agentStep(snapshot, request, resolvedSecrets, recentSteps, bounded) {
153
+ const observation = await bounded(this.deps.browser.observeControls());
154
+ const offer = buildAgentOffer(snapshot, observation, request, [...resolvedSecrets]);
155
+ const token = String(await bounded(this.deps.navigate({
156
+ provider: request.provider, loginMethod: request.loginMethod,
157
+ origin: snapshot.origin, path: redactLabel(observation.path, request.expectedIdentity, [...resolvedSecrets], 120),
158
+ title: redactLabel(observation.title, request.expectedIdentity, [...resolvedSecrets], 120),
159
+ pageClassHint: snapshot.pageClass, expectedAccountVisible: snapshot.expectedAccountVisible,
160
+ inputKinds: observation.inputKinds, controls: offer.controls.map(({ token: t, label }) => ({ token: t, label })),
161
+ offered: offer.offered, recentSteps: recentSteps.slice(-6),
162
+ }))).trim();
163
+ // The model's answer is only ever a token from the offer; anything else ends the drive.
164
+ if (!offer.offered.includes(token) || token === 'give-up')
165
+ return { outcome: 'transient', failureClass: 'provider-transient' };
166
+ if (token === 'wait') {
167
+ await bounded(this.deps.browser.wait(2_000));
168
+ recentSteps.push('wait');
169
+ return null;
170
+ }
171
+ const control = offer.controls.find((entry) => entry.token === token);
172
+ if (control) {
173
+ // Re-checked at click time: the browser refuses unless control n still has the same text.
174
+ await bounded(this.deps.browser.clickControl(control.n, control.text, control.identities));
175
+ recentSteps.push(`${token} "${control.label}"`);
176
+ return null;
177
+ }
178
+ const acted = await bounded(this.perform(token, request, resolvedSecrets));
179
+ if (!acted)
180
+ return { outcome: 'refused', failureClass: 'vault-reference-missing' };
181
+ recentSteps.push(token);
182
+ return null;
183
+ }
184
+ async perform(action, req, seen) {
116
185
  switch (action) {
117
186
  case 'choose-expected-account':
118
187
  await this.deps.browser.chooseExpectedAccount(req.expectedIdentity);
@@ -135,6 +204,7 @@ export class AnthropicReloginBrowserDriver {
135
204
  let secret = await this.deps.resolveSecret(req.secretRefs.password);
136
205
  if (!secret)
137
206
  return false;
207
+ seen?.add(secret);
138
208
  try {
139
209
  await this.deps.browser.fillSecret('password', secret);
140
210
  }
@@ -149,8 +219,11 @@ export class AnthropicReloginBrowserDriver {
149
219
  let seed = await this.deps.resolveSecret(req.secretRefs.totp);
150
220
  if (!seed)
151
221
  return false;
222
+ const totpCode = generateTotp(seed, this.now());
223
+ seen?.add(seed);
224
+ seen?.add(totpCode);
152
225
  try {
153
- await this.deps.browser.fillSecret('totp', generateTotp(seed, this.now()));
226
+ await this.deps.browser.fillSecret('totp', totpCode);
154
227
  }
155
228
  finally {
156
229
  seed = '';
@@ -257,6 +330,84 @@ export function allowedActions(snapshot, request) {
257
330
  default: return [];
258
331
  }
259
332
  }
333
+ /**
334
+ * Controls the agent may NEVER be offered, whatever the page (spec agent-driven-relogin):
335
+ * account-changing, destructive, and credential-creating actions. A deterministic block on
336
+ * irreversible actions — the Signal-vs-Authority exemption for safety guards.
337
+ */
338
+ export const AGENT_BLOCKED_PHRASES = [
339
+ 'sign out', 'log out', 'logout', 'delete', 'remove', 'forgot password', 'change password',
340
+ 'reset password', 'security', 'manage', 'add account', 'add another account', 'use another account',
341
+ 'create api key', 'buy', 'upgrade', 'invite', 'cancel plan', 'create a passkey', 'create passkey',
342
+ 'add passkey', 'set up', 'turn on', 'add phone', 'add recovery', 'save password',
343
+ 'create account', 'create an account', 'sign up', 'create your account',
344
+ ];
345
+ const CONSENT_LABEL = /^(allow|authorize|authorise|approve|accept|grant)\b/i;
346
+ function normalizePhrase(text) {
347
+ return text.toLowerCase().replace(/[^a-z0-9 ]+/g, ' ').replace(/\s+/g, ' ').trim();
348
+ }
349
+ export function isBlockedControl(text) {
350
+ const normalized = normalizePhrase(text);
351
+ return AGENT_BLOCKED_PHRASES.some((phrase) => normalized.includes(phrase));
352
+ }
353
+ /**
354
+ * What a label may carry to the model: every secret resolved in this drive stripped verbatim,
355
+ * foreign emails masked, long token-like runs and 6+ digit runs masked, and a hard length cap
356
+ * that DISCLOSES a cut (never a silently shortened label).
357
+ */
358
+ export function redactLabel(text, expectedIdentity, secrets, max = 60) {
359
+ let out = String(text ?? '');
360
+ for (const secret of secrets)
361
+ if (secret && secret.length >= 3)
362
+ out = out.split(secret).join('‹secret›');
363
+ const expected = expectedIdentity.trim().toLowerCase();
364
+ out = out.replace(/[a-z0-9.!#$%&'*+/=?^_{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+/gi, (email) => email.toLowerCase() === expected ? email : '‹other-email›');
365
+ // Partially hidden emails (Google renders j•••@gmail.com) cannot be compared, so they are masked too.
366
+ out = out.replace(/[^\s@]*[•*…][^\s@]*@\S+/g, '‹masked-email›');
367
+ out = out.replace(/[A-Za-z0-9_-]{20,}/g, '‹masked›').replace(/\d{6,}/g, '‹masked›');
368
+ out = out.replace(/\s+/g, ' ').trim();
369
+ return out.length > max ? `${out.slice(0, max)}…(truncated)` : out;
370
+ }
371
+ /**
372
+ * The floor-filtered action list for one agent step. Pure — every floor is testable here.
373
+ * Typed fills are offered by INPUT PRESENCE (not page class); visible controls are offered
374
+ * unless they name another identity, carry a blocked phrase, or would grant consent without
375
+ * measured, allowed, non-empty scopes.
376
+ */
377
+ export function buildAgentOffer(snapshot, observation, request, secrets) {
378
+ const offered = [];
379
+ const kinds = new Set(observation.inputKinds);
380
+ if ((snapshot.expectedAccountMatchCount ?? (snapshot.expectedAccountVisible ? 1 : 0)) === 1)
381
+ offered.push('choose-expected-account');
382
+ if (kinds.has('email'))
383
+ offered.push('fill-email');
384
+ if (kinds.has('password') && usesPassword(request.loginMethod) && request.secretRefs.password)
385
+ offered.push('fill-password');
386
+ if (kinds.has('code') && request.loginMethod === 'password+totp' && request.secretRefs.totp)
387
+ offered.push('fill-totp');
388
+ if (kinds.has('code') && request.artifact?.kind === 'device-code' && request.artifact.userCode)
389
+ offered.push('fill-device-code');
390
+ const expected = request.expectedIdentity.trim().toLowerCase();
391
+ const consentMeasured = snapshot.requestedScopes.length > 0 && scopesAllowed(snapshot.requestedScopes, request.allowedScopes);
392
+ const controls = [];
393
+ for (const control of observation.controls) {
394
+ if (control.identities.some((identity) => identity.trim().toLowerCase() !== expected))
395
+ continue;
396
+ if (isBlockedControl(control.text))
397
+ continue;
398
+ const consent = CONSENT_LABEL.test(control.text.trim()) || snapshot.pageClass === 'authorize';
399
+ if (consent && !consentMeasured)
400
+ continue;
401
+ const label = redactLabel(control.text, request.expectedIdentity, secrets);
402
+ if (!label)
403
+ continue;
404
+ const token = `click:${control.n}`;
405
+ controls.push({ token, n: control.n, text: control.text, identities: control.identities, label });
406
+ offered.push(token);
407
+ }
408
+ offered.push('wait', 'give-up');
409
+ return { offered, controls };
410
+ }
260
411
  export function safeAllowedUrl(value, provider) {
261
412
  try {
262
413
  const url = new URL(value);
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicReloginBrowserDriver.js","sourceRoot":"","sources":["../../src/core/AnthropicReloginBrowserDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicReloginBrowserDriver.js","sourceRoot":"","sources":["../../src/core/AnthropicReloginBrowserDriver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ReloginBrowserClick, ReloginBrowserPort, ReloginBrowserSnapshot } from './AnthropicReloginBrowserDriver.js';
1
+ import type { ReloginBrowserClick, ReloginBrowserPort, ReloginBrowserSnapshot, ReloginControlObservation } from './AnthropicReloginBrowserDriver.js';
2
2
  import { type OriginPolicy } from './PasskeyBrowserPolicy.js';
3
3
  export interface ChromeCdpReloginBrowserOptions {
4
4
  userDataDir: string;
@@ -176,6 +176,18 @@ export declare class ChromeCdpReloginBrowser implements ReloginBrowserPort {
176
176
  fillPublic(field: 'email' | 'device-code', value: string): Promise<void>;
177
177
  fillSecret(field: 'password' | 'totp' | 'backup-code', value: string): Promise<void>;
178
178
  click(action: ReloginBrowserClick): Promise<void>;
179
+ /**
180
+ * The visible, enabled controls of the active page, numbered in DOM order (spec
181
+ * agent-driven-relogin). Raw facts only — the DRIVER applies the floors and the
182
+ * redaction before anything reaches a model. Never returns any input's value.
183
+ */
184
+ observeControls(): Promise<ReloginControlObservation>;
185
+ /**
186
+ * Real pointer click on control `n` from {@link observeControls}, refused unless the
187
+ * control at that position still has exactly `expectedText` and names exactly
188
+ * `expectedIdentities` (the page may have changed since the observation).
189
+ */
190
+ clickControl(n: number, expectedText: string, expectedIdentities?: string[]): Promise<void>;
179
191
  /** Click a fixture/test element by CSS selector with a REAL pointer event. FIXTURE-ONLY (see runInPage). */
180
192
  clickSelector(selector: string): Promise<void>;
181
193
  readPasteCode(): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeCdpReloginBrowser.d.ts","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChromeCdpReloginBrowser.d.ts","sourceRoot":"","sources":["../../src/core/ChromeCdpReloginBrowser.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,27 @@ import { WebSocket } from 'ws';
5
5
  import { SafeFsExecutor } from './SafeFsExecutor.js';
6
6
  import { classifyGooglePasskeyPage } from './GooglePasskeyPageClasses.js';
7
7
  import { GOOGLE_ORIGIN_POLICY, PASSKEY_SESSION_CHROME_ARGS, isGoogleOrigin, isRpFamilyOrigin, mayAddCredential, mustRemoveCredentialBefore, } from './PasskeyBrowserPolicy.js';
8
+ /**
9
+ * In-page enumeration of the visible, enabled controls (buttons, links, submit inputs) in
10
+ * DOM order — ONE definition shared by observeControls and clickControl so a numbered
11
+ * handle always means the same node. Nested controls collapse to the innermost one.
12
+ * `identities` = declared data-email/data-identifier, else emails in the control's text.
13
+ */
14
+ const ENUMERATE_CONTROLS = `() => {
15
+ const sel = 'button,[role="button"],a[href],[role="link"],input[type="submit"],input[type="button"],[role="option"],[data-email],[data-identifier]';
16
+ const all = Array.from(document.querySelectorAll(sel)).filter((node) => node instanceof HTMLElement
17
+ && node.getClientRects().length > 0 && !node.disabled && node.getAttribute('aria-disabled') !== 'true');
18
+ const inner = all.filter((node) => !all.some((other) => other !== node && node.contains(other)));
19
+ const emailRe = /[a-z0-9.!#$%&'*+/=?^_{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+/gi;
20
+ return inner.slice(0, 80).map((node, index) => {
21
+ const raw = node instanceof HTMLInputElement ? (node.value || '') : (node.innerText || node.textContent || node.getAttribute('aria-label') || '');
22
+ const text = raw.replace(/\\s+/g, ' ').trim().slice(0, 300);
23
+ const holder = node.closest('[data-email],[data-identifier]');
24
+ const declared = holder ? (holder.getAttribute('data-email') || holder.getAttribute('data-identifier') || '').trim().toLowerCase() : '';
25
+ const identities = declared ? [declared] : ((text.toLowerCase().match(emailRe)) || []);
26
+ return { n: index + 1, text, identities, node };
27
+ });
28
+ }`;
8
29
  /** Closed structural floor for OpenAI's device confirmation; consent prose can never enter this class. */
9
30
  export function isClosedOpenAiDeviceApproval(input) {
10
31
  return input.origin === 'https://auth.openai.com'
@@ -757,6 +778,52 @@ export class ChromeCdpReloginBrowser {
757
778
  })()`);
758
779
  await this.wait(500);
759
780
  }
781
+ /**
782
+ * The visible, enabled controls of the active page, numbered in DOM order (spec
783
+ * agent-driven-relogin). Raw facts only — the DRIVER applies the floors and the
784
+ * redaction before anything reaches a model. Never returns any input's value.
785
+ */
786
+ async observeControls() {
787
+ await this.followNewestPage();
788
+ return this.evaluate(`(() => {
789
+ const controls = (${ENUMERATE_CONTROLS})();
790
+ const kinds = new Set();
791
+ for (const input of Array.from(document.querySelectorAll('input,textarea'))) {
792
+ if (!(input instanceof HTMLElement) || input.getClientRects().length === 0 || input.disabled) continue;
793
+ const t = (input.getAttribute('type') || 'text').toLowerCase();
794
+ const ac = (input.getAttribute('autocomplete') || '').toLowerCase();
795
+ const name = ((input.getAttribute('name') || '') + ' ' + (input.id || '')).toLowerCase();
796
+ if (t === 'password') kinds.add('password');
797
+ else if (t === 'email' || ac === 'username' || name.includes('identifier')) kinds.add('email');
798
+ else if (ac === 'one-time-code' || /totp|code|pin/.test(name) || t === 'tel') kinds.add('code');
799
+ else if (t !== 'hidden' && t !== 'submit' && t !== 'button' && t !== 'checkbox' && t !== 'radio') kinds.add('text');
800
+ }
801
+ return {
802
+ title: (document.title || '').slice(0, 200),
803
+ path: location.pathname.slice(0, 200),
804
+ controls: controls.map((c) => ({ n: c.n, text: c.text, identities: c.identities })),
805
+ inputKinds: Array.from(kinds),
806
+ };
807
+ })()`);
808
+ }
809
+ /**
810
+ * Real pointer click on control `n` from {@link observeControls}, refused unless the
811
+ * control at that position still has exactly `expectedText` and names exactly
812
+ * `expectedIdentities` (the page may have changed since the observation).
813
+ */
814
+ async clickControl(n, expectedText, expectedIdentities = []) {
815
+ await this.followNewestPage();
816
+ await this.clickReal(`(() => {
817
+ const controls = (${ENUMERATE_CONTROLS})();
818
+ const hit = controls.find((c) => c.n === ${JSON.stringify(n)});
819
+ if (!hit || hit.text !== ${JSON.stringify(expectedText)}) return null;
820
+ // The account a control names is re-checked too: two rows with the same display name
821
+ // that reorder between observation and click must never swap accounts.
822
+ if (JSON.stringify(hit.identities) !== ${JSON.stringify(JSON.stringify(expectedIdentities))}) return null;
823
+ return hit.node instanceof HTMLElement ? hit.node : null;
824
+ })()`);
825
+ await this.wait(500);
826
+ }
760
827
  /** Click a fixture/test element by CSS selector with a REAL pointer event. FIXTURE-ONLY (see runInPage). */
761
828
  async clickSelector(selector) {
762
829
  this.assertFixturePolicy('click-selector');