@trusty-squire/mcp 0.9.17 → 0.9.18-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -149,6 +149,9 @@ export declare class BrowserController {
149
149
  private snapshotState;
150
150
  extractText(): Promise<string>;
151
151
  extractVisibleText(): Promise<string>;
152
+ extractGoogleApiKeyFromCredentials(projectId: string): Promise<string | null>;
153
+ fillRequiredComboboxes(): Promise<string[]>;
154
+ hasDisabledSubmit(): Promise<boolean>;
152
155
  extractScopedRouteCandidates(prefix: string): Promise<string[]>;
153
156
  readClipboard(): Promise<string>;
154
157
  extractAllInputValues(): Promise<string[]>;
@@ -199,6 +202,7 @@ export declare class BrowserController {
199
202
  bodyText: string;
200
203
  } | null>;
201
204
  oauthPageClosed(): boolean;
205
+ loginGoogleInline(email: string, password: string): Promise<boolean>;
202
206
  detectSessionProviders(): Promise<OAuthProviderId[]>;
203
207
  advanceOAuthConsent(provider: OAuthProviderId): Promise<boolean>;
204
208
  waitForClerkSession(timeoutMs?: number): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/bot/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/bot/browser.ts"],"names":[],"mappings":"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"}
@@ -3884,7 +3884,7 @@ export class BrowserController {
3884
3884
  throw new Error("Browser not started");
3885
3885
  try {
3886
3886
  const responseKey = extractHcaptchaResponseKeyFromToken(token);
3887
- return await this.page.evaluate(({ tok, key }) => {
3887
+ const diag = await this.page.evaluate(({ tok, key }) => {
3888
3888
  const widgetIds = new Set();
3889
3889
  const inputs = Array.from(document.querySelectorAll('textarea[name="h-captcha-response"], textarea[id^="h-captcha-response"], textarea[name="g-recaptcha-response"]'));
3890
3890
  for (const input of inputs) {
@@ -3981,8 +3981,19 @@ export class BrowserController {
3981
3981
  };
3982
3982
  scan(win.___hcaptcha_cfg, 0);
3983
3983
  scan(win.hcaptcha, 0);
3984
- return inputs.length > 0 || widgetIds.size > 0 || callbackFired;
3984
+ return {
3985
+ ok: inputs.length > 0 || widgetIds.size > 0 || callbackFired,
3986
+ textareas: inputs.length,
3987
+ widgets: widgetIds.size,
3988
+ callbackFired,
3989
+ hasHcaptchaGlobal: win.hcaptcha !== undefined,
3990
+ };
3985
3991
  }, { tok: token, key: responseKey });
3992
+ if (process.env.UNIVERSAL_BOT_OAUTH_DEBUG) {
3993
+ console.error(`[captcha] hCaptcha inject diag: ok=${diag.ok} textareas=${diag.textareas} ` +
3994
+ `widgets=${diag.widgets} callbackFired=${diag.callbackFired} hcaptchaGlobal=${diag.hasHcaptchaGlobal}`);
3995
+ }
3996
+ return diag.ok;
3986
3997
  }
3987
3998
  catch {
3988
3999
  return false;
@@ -4225,6 +4236,262 @@ export class BrowserController {
4225
4236
  throw new Error("Browser not started");
4226
4237
  return await this.page.evaluate(() => document.body?.innerText ?? "");
4227
4238
  }
4239
+ // Deterministic Firebase/GCP credential extraction. Every Firebase project
4240
+ // auto-creates a "Browser key (auto created by Firebase)" in its underlying
4241
+ // Google Cloud project — the SAME AIzaSy value as firebaseConfig.apiKey AND a
4242
+ // usable GCP API key — even with NO web app registered. PROVEN surface
4243
+ // (2026-06-23): console.cloud.google.com/apis/credentials?project=<projectId>
4244
+ // → API Keys row "Browser key (auto created by Firebase)" → "Show key" reveals
4245
+ // the AIzaSy value inline in that row. Row-scoped so it never grabs one of the
4246
+ // console's own internal AIzaSy keys (which live in script/attribute data, not
4247
+ // the visible row text). Returns the key, or null when the page didn't render
4248
+ // a Browser key (project not provisioned yet / different surface).
4249
+ async extractGoogleApiKeyFromCredentials(projectId) {
4250
+ if (!this.page)
4251
+ throw new Error("Browser not started");
4252
+ const KEY_RE = /AIzaSy[0-9A-Za-z_-]{33}/;
4253
+ const url = `https://console.cloud.google.com/apis/credentials?project=${encodeURIComponent(projectId)}`;
4254
+ await this.page.goto(url, { waitUntil: "domcontentloaded" }).catch(() => undefined);
4255
+ // The credentials table renders async (heavy Angular console). Poll for it.
4256
+ for (let i = 0; i < 12; i++) {
4257
+ await this.wait(2.5);
4258
+ const ready = await this.page
4259
+ .evaluate(() => /Browser key|API Keys|Create credentials/i.test(document.body?.innerText ?? ""))
4260
+ .catch(() => false);
4261
+ if (ready)
4262
+ break;
4263
+ }
4264
+ // Locate the Firebase Browser-key row; return its AIzaSy if already shown,
4265
+ // else click the row's "Show key" button to reveal it.
4266
+ const readRowKey = () => this.page
4267
+ .evaluate(() => {
4268
+ const rows = Array.from(document.querySelectorAll("tr"));
4269
+ const row = rows.find((r) => /browser key \(auto created by firebase\)/i.test(r.textContent ?? "")) ??
4270
+ rows.find((r) => /browser key/i.test(r.textContent ?? ""));
4271
+ if (row === undefined)
4272
+ return null;
4273
+ const m = (row.textContent ?? "").match(/AIzaSy[0-9A-Za-z_-]{33}/);
4274
+ if (m !== null)
4275
+ return m[0];
4276
+ const btn = Array.from(row.querySelectorAll("button,a")).find((b) => /show key/i.test(b.textContent ?? ""));
4277
+ if (btn !== undefined)
4278
+ btn.click();
4279
+ return null;
4280
+ })
4281
+ .catch(() => null);
4282
+ const first = await readRowKey();
4283
+ if (first !== null && KEY_RE.test(first))
4284
+ return first;
4285
+ // After the Show-key click, poll the row (reveal is async) and any dialog
4286
+ // / readonly input the console may surface the value in.
4287
+ for (let i = 0; i < 8; i++) {
4288
+ await this.wait(1.5);
4289
+ const revealed = await this.page
4290
+ .evaluate(() => {
4291
+ const rows = Array.from(document.querySelectorAll("tr"));
4292
+ const row = rows.find((r) => /browser key/i.test(r.textContent ?? ""));
4293
+ const inRow = (row?.textContent ?? "").match(/AIzaSy[0-9A-Za-z_-]{33}/);
4294
+ if (inRow !== null)
4295
+ return inRow[0];
4296
+ for (const inp of Array.from(document.querySelectorAll("input"))) {
4297
+ const v = inp.value ?? "";
4298
+ const m = v.match(/AIzaSy[0-9A-Za-z_-]{33}/);
4299
+ if (m !== null)
4300
+ return m[0];
4301
+ }
4302
+ return null;
4303
+ })
4304
+ .catch(() => null);
4305
+ if (revealed !== null && KEY_RE.test(revealed))
4306
+ return revealed;
4307
+ }
4308
+ return null;
4309
+ }
4310
+ // Deterministically satisfy required, currently-EMPTY combobox/listbox
4311
+ // selectors (cmdk / Radix / Headless UI multi-selects) that gate a disabled
4312
+ // submit. The dominant `oauth_onboarding_failed` blocker is a post-OAuth
4313
+ // "tell us about yourself" survey whose required multi-selects the greedy
4314
+ // planner opens but never commits — it concludes "all filled", clicks the
4315
+ // disabled Next, and stalls (MEASURED 2026-06-23, meilisearch
4316
+ // /welcome-informations: `[data-cy=...-trigger]` role=combobox → cmdk-list of
4317
+ // `[role=option][cmdk-item]`). For each unfilled trigger: open it, click the
4318
+ // first non-disabled option (Playwright locator click COMMITS where a raw
4319
+ // coordinate click drops — same as the post-verify combobox path), and Escape
4320
+ // to close the multi-select popover. Returns the labels it satisfied. Tightly
4321
+ // scoped: only acts on placeholder-showing (empty) comboboxes, never a
4322
+ // combobox that already holds a value.
4323
+ async fillRequiredComboboxes() {
4324
+ if (!this.page)
4325
+ throw new Error("Browser not started");
4326
+ const page = this.page;
4327
+ let triggerSelectors = [];
4328
+ try {
4329
+ triggerSelectors = await page.evaluate(() => {
4330
+ const isVisible = (el) => {
4331
+ const r = el.getBoundingClientRect();
4332
+ return r.width > 0 && r.height > 0;
4333
+ };
4334
+ const out = [];
4335
+ const seen = new Set();
4336
+ // Candidate trigger elements: an ARIA combobox/listbox-popup, OR a
4337
+ // shadcn/Radix `*-trigger` data-cy button. MEASURED 2026-06-23
4338
+ // (meilisearch): the clickable trigger carries `data-cy="…-trigger"`
4339
+ // but role=combobox lives on a separate inner node with NO data-cy, so
4340
+ // a role-only query found an un-addressable element. Collect both and
4341
+ // resolve each to its nearest stable data-cy selector.
4342
+ const candidates = new Set();
4343
+ for (const e of Array.from(document.querySelectorAll("[role='combobox'],[aria-haspopup='listbox'],button[data-cy$='-trigger']"))) {
4344
+ candidates.add(e);
4345
+ }
4346
+ for (const el of Array.from(candidates)) {
4347
+ if (!isVisible(el))
4348
+ continue;
4349
+ // Skip text/autocomplete inputs (role=combobox is also set on search
4350
+ // multiselects like MongoDB's "data types") — we click-to-pick from a
4351
+ // dropdown, never type into a filter box.
4352
+ if (el.tagName === "INPUT")
4353
+ continue;
4354
+ const txt = (el.textContent ?? "").replace(/\s+/g, " ").trim();
4355
+ // Unfilled signals: (1) Radix sets `data-placeholder` on a SelectTrigger
4356
+ // until a value is committed — present even when the trigger PREVIEWS
4357
+ // the first option (meilisearch's role/referral show "Founder/CTO" /
4358
+ // "Open Source" but stay uncommitted, so Next stays disabled); (2) empty
4359
+ // text; (3) a clear "Select…/Choose…/Pick…" placeholder. NOT
4360
+ // "search"/"add"/"type" — those are filter inputs we must not auto-pick.
4361
+ const hasPlaceholderAttr = el.hasAttribute("data-placeholder") ||
4362
+ el.querySelector("[data-placeholder]") !== null;
4363
+ const placeholderish = hasPlaceholderAttr ||
4364
+ txt.length === 0 ||
4365
+ /^(?:please\s+)?(?:select|choose|pick)\b/i.test(txt);
4366
+ if (!placeholderish)
4367
+ continue;
4368
+ // Resolve a stable data-cy selector — own, or nearest ancestor — so
4369
+ // the locator click can't drift after the portal re-renders.
4370
+ const dcEl = el.getAttribute("data-cy") !== null ? el : el.closest("[data-cy]");
4371
+ const dc = dcEl !== null ? dcEl.getAttribute("data-cy") : null;
4372
+ const sel = dc !== null && dc.length > 0 ? `[data-cy="${dc}"]` : null;
4373
+ if (sel === null || seen.has(sel))
4374
+ continue;
4375
+ seen.add(sel);
4376
+ out.push(sel);
4377
+ }
4378
+ // LeafyGreen (MongoDB Atlas) path. Its select triggers are
4379
+ // `<button data-lgid="lg-button">Select</button>` with NO data-cy and NO
4380
+ // data-placeholder — the placeholder is the literal text "Select".
4381
+ // Address each by its index among lg-buttons (Playwright `>> nth=`),
4382
+ // since there's no stable per-trigger attribute. MEASURED 2026-06-23
4383
+ // (mongodb-atlas /atlas onboarding personalization wizard).
4384
+ const lgButtons = Array.from(document.querySelectorAll("button[data-lgid='lg-button']"));
4385
+ for (let i = 0; i < lgButtons.length; i++) {
4386
+ const el = lgButtons[i];
4387
+ if (el === undefined || !isVisible(el))
4388
+ continue;
4389
+ const txt = (el.textContent ?? "").replace(/\s+/g, " ").trim();
4390
+ if (!/^(?:please\s+)?(?:select|choose|pick)\b/i.test(txt))
4391
+ continue;
4392
+ const sel = `button[data-lgid="lg-button"] >> nth=${i}`;
4393
+ if (seen.has(sel))
4394
+ continue;
4395
+ seen.add(sel);
4396
+ out.push(sel);
4397
+ }
4398
+ // Autocomplete-list combobox INPUTS that are part of the survey and
4399
+ // still EMPTY (mongodb's required "data types" multiselect). These are
4400
+ // distinct from free-text search boxes: `aria-autocomplete=list/both`
4401
+ // means a fixed option list, and an empty value means unfilled. Click +
4402
+ // pick-first via the same option locator. Addressed by index.
4403
+ const acInputs = Array.from(document.querySelectorAll("input[role='combobox'][aria-autocomplete]"));
4404
+ for (let i = 0; i < acInputs.length; i++) {
4405
+ const el = acInputs[i];
4406
+ if (el === undefined || !isVisible(el))
4407
+ continue;
4408
+ if ((el.value ?? "").trim().length > 0)
4409
+ continue;
4410
+ const sel = `input[role='combobox'][aria-autocomplete] >> nth=${i}`;
4411
+ if (seen.has(sel))
4412
+ continue;
4413
+ seen.add(sel);
4414
+ out.push(sel);
4415
+ }
4416
+ return out.slice(0, 8);
4417
+ });
4418
+ }
4419
+ catch {
4420
+ return [];
4421
+ }
4422
+ const filled = [];
4423
+ for (const sel of triggerSelectors) {
4424
+ try {
4425
+ const trigger = page.locator(sel).first();
4426
+ if ((await trigger.count().catch(() => 0)) === 0)
4427
+ continue;
4428
+ await trigger.click({ timeout: 5000 });
4429
+ await page.waitForTimeout(600);
4430
+ // An autocomplete input may only render its option list after a
4431
+ // keystroke — nudge it with ArrowDown so the option locator can resolve.
4432
+ if (sel.includes("input[")) {
4433
+ await page.keyboard.press("ArrowDown").catch(() => undefined);
4434
+ await page.waitForTimeout(400);
4435
+ }
4436
+ const option = page
4437
+ .locator("[role='option']:not([aria-disabled='true']):not([data-disabled='true'])," +
4438
+ "[cmdk-item]:not([aria-disabled='true']):not([data-disabled='true'])," +
4439
+ "[data-lgid='lg-option']:not([aria-disabled='true'])")
4440
+ .first();
4441
+ if ((await option.count().catch(() => 0)) > 0) {
4442
+ const name = ((await option.textContent().catch(() => "")) ?? "")
4443
+ .replace(/\s+/g, " ")
4444
+ .trim()
4445
+ .slice(0, 40);
4446
+ await option.click({ timeout: 5000 });
4447
+ filled.push(`${sel} → ${name}`);
4448
+ await page.waitForTimeout(300);
4449
+ }
4450
+ // Close the (multi-select) popover so the next trigger isn't occluded.
4451
+ await page.keyboard.press("Escape").catch(() => undefined);
4452
+ await page.waitForTimeout(200);
4453
+ }
4454
+ catch {
4455
+ // Best-effort per combobox — a miss falls back to the planner.
4456
+ }
4457
+ }
4458
+ return filled;
4459
+ }
4460
+ // True when a visible advance/submit button (Next / Continue / Create /
4461
+ // Register / Submit / Get started / Finish) is currently DISABLED. The gate
4462
+ // for the deterministic combobox filler: only auto-satisfy a survey's
4463
+ // required selects when something is actually blocking forward progress.
4464
+ async hasDisabledSubmit() {
4465
+ if (!this.page)
4466
+ return false;
4467
+ try {
4468
+ return await this.page.evaluate(() => {
4469
+ const re = /\b(?:next|continue|register|submit|get started|finish|complete|done|create account|sign up)\b/i;
4470
+ for (const el of Array.from(document.querySelectorAll("button,[role='button']"))) {
4471
+ const r = el.getBoundingClientRect();
4472
+ if (r.width <= 0 || r.height <= 0)
4473
+ continue;
4474
+ const disabled = el.disabled === true ||
4475
+ el.getAttribute("aria-disabled") === "true" ||
4476
+ el.getAttribute("disabled") !== null;
4477
+ if (!disabled)
4478
+ continue;
4479
+ // A disabled advance/submit button gates the survey. Match by verb
4480
+ // text OR by type=submit (meilisearch's button-register is a
4481
+ // type=submit whose visible label is icon+text, so a text-only match
4482
+ // missed it).
4483
+ const txt = (el.textContent ?? "").replace(/\s+/g, " ").trim();
4484
+ const isSubmit = el.type === "submit";
4485
+ if (re.test(txt) || isSubmit)
4486
+ return true;
4487
+ }
4488
+ return false;
4489
+ });
4490
+ }
4491
+ catch {
4492
+ return false;
4493
+ }
4494
+ }
4228
4495
  async extractScopedRouteCandidates(prefix) {
4229
4496
  if (!this.page)
4230
4497
  throw new Error("Browser not started");
@@ -6208,6 +6475,90 @@ export class BrowserController {
6208
6475
  oauthPageClosed() {
6209
6476
  return this.page === null || this.page.isClosed();
6210
6477
  }
6478
+ // Drive a Google sign-in on the ACTIVE OAuth page (already sitting at
6479
+ // accounts.google.com/.../identifier). The whole point: replay must not bail
6480
+ // `needs_login` where the full discover bot would just type the password —
6481
+ // a freshly-created robot account lands on the identifier page the first time
6482
+ // a given relying party requests OAuth even with a live session, and the
6483
+ // robot's credentials are available to the verifier. Mirrors the proven
6484
+ // tools/google-login-fleet.mjs in-page steps (email → Enter → password →
6485
+ // Enter → ToS/continue speedbumps) but operates on `this.page` instead of
6486
+ // navigating to myaccount — in the OAuth flow the success terminus is the
6487
+ // consent screen or the return to the relying party, NOT myaccount. Returns
6488
+ // true when the flow progressed off the Google identifier/password screens
6489
+ // (or the popup closed); false on any failure, so the caller can fall back to
6490
+ // its existing needs_login path. Never logs the password.
6491
+ async loginGoogleInline(email, password) {
6492
+ const page = this.page;
6493
+ if (page === null || page.isClosed())
6494
+ return false;
6495
+ const onIdentifierOrPwd = () => /\/signin\/(?:identifier|v\d+\/(?:identifier|challenge|signin)|challenge|pwd|password)/i.test(page.url());
6496
+ try {
6497
+ // Cookie-consent wall (EU surfaces) — best-effort.
6498
+ await page
6499
+ .evaluate(() => {
6500
+ const want = /^(accept all|i agree|agree|accept|reject all)$/i;
6501
+ for (const b of Array.from(document.querySelectorAll("button,[role=button]"))) {
6502
+ if (want.test((b.textContent ?? "").trim())) {
6503
+ b.click();
6504
+ return;
6505
+ }
6506
+ }
6507
+ })
6508
+ .catch(() => undefined);
6509
+ await page.waitForTimeout(1200);
6510
+ // Email — #identifierId, never input[type=email] alone (Google uses a
6511
+ // custom input). Only fill if the identifier field is actually present;
6512
+ // a flow already past identifier (parked on the password screen) skips it.
6513
+ const EMAIL = '#identifierId, input[name="identifier"], input[type="email"]';
6514
+ const emailField = await page.$(EMAIL);
6515
+ if (emailField !== null) {
6516
+ await page.fill(EMAIL, email).catch(() => undefined);
6517
+ await page.waitForTimeout(400);
6518
+ await page.keyboard.press("Enter");
6519
+ await page.waitForTimeout(6000);
6520
+ }
6521
+ // Password.
6522
+ const PW = 'input[type="password"][name="Passwd"], input[type="password"]';
6523
+ await page.waitForSelector(PW, { state: "visible", timeout: 15_000 });
6524
+ await page.fill(PW, password).catch(() => undefined);
6525
+ await page.waitForTimeout(400);
6526
+ await page.keyboard.press("Enter");
6527
+ await page.waitForTimeout(7000);
6528
+ // New-account ToS speedbump + OAuth follow-ons — patient (renders late).
6529
+ for (let i = 0; i < 8; i++) {
6530
+ if (page.isClosed())
6531
+ return true; // popup closed → handshake done
6532
+ const clicked = await page
6533
+ .evaluate(() => {
6534
+ const want = /^(not now|skip|confirm|i understand|i agree|accept|agree|got it|continue|allow|done|maybe later|next)$/i;
6535
+ for (const b of Array.from(document.querySelectorAll("button,[role=button],a,input[type=submit]"))) {
6536
+ const t = (b.textContent ?? b.value ?? "").trim();
6537
+ if (want.test(t)) {
6538
+ b.click();
6539
+ return t;
6540
+ }
6541
+ }
6542
+ return null;
6543
+ })
6544
+ .catch(() => null);
6545
+ if (clicked !== null) {
6546
+ await page.waitForTimeout(3500);
6547
+ }
6548
+ else {
6549
+ if (!onIdentifierOrPwd())
6550
+ break; // left the sign-in screens → progressed
6551
+ await page.waitForTimeout(2500);
6552
+ }
6553
+ }
6554
+ // Success = we are no longer parked on a Google identifier/password
6555
+ // screen (moved to consent / back to the relying party / popup closed).
6556
+ return page.isClosed() || !onIdentifierOrPwd();
6557
+ }
6558
+ catch {
6559
+ return false;
6560
+ }
6561
+ }
6211
6562
  // Which OAuth providers have a LIVE session in this profile's cookie jar.
6212
6563
  // The logged-in-providers.json marker is a memo that drifts out of sync
6213
6564
  // (a --force-relogin clears it, a misclassified run clears it, a parallel
@@ -6872,6 +7223,13 @@ export function scoreSignupButton(text, oauthProviders) {
6872
7223
  // forms; it should beat nothing but lose to OAuth markers.
6873
7224
  if (t.includes("continue"))
6874
7225
  score += 2;
7226
+ // "Next" / "Submit" / "Join" are the real form-submit verb on a multi-step
7227
+ // signup (huggingface /join step 1's button is "Next"). Weak positive so the
7228
+ // submit survives the button cap among many 0-scored nav anchors — otherwise
7229
+ // the planner can't see it and hallucinates a submit_selector. Loses to any
7230
+ // real signup CTA / OAuth marker. MEASURED 2026-06-23 (huggingface).
7231
+ if (/\bnext\b/.test(t) || /\bsubmit\b/.test(t) || /\bjoin\b/.test(t))
7232
+ score += 2;
6875
7233
  // Post-signup dashboards reveal the key behind a "Create API Key" /
6876
7234
  // "Add key" / "Generate key" / "Get API Key" CTA — the run's actual
6877
7235
  // goal once the account exists. These score 0 on signup vocabulary, so