@trusty-squire/mcp 0.9.13 → 0.9.14-rc.1

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 (44) hide show
  1. package/dist/bot/agent.d.ts +5 -1
  2. package/dist/bot/agent.d.ts.map +1 -1
  3. package/dist/bot/agent.js +496 -20
  4. package/dist/bot/agent.js.map +1 -1
  5. package/dist/bot/browser.d.ts +12 -0
  6. package/dist/bot/browser.d.ts.map +1 -1
  7. package/dist/bot/browser.js +838 -83
  8. package/dist/bot/browser.js.map +1 -1
  9. package/dist/bot/captcha-solver-2captcha.d.ts +18 -0
  10. package/dist/bot/captcha-solver-2captcha.d.ts.map +1 -1
  11. package/dist/bot/captcha-solver-2captcha.js +21 -0
  12. package/dist/bot/captcha-solver-2captcha.js.map +1 -1
  13. package/dist/bot/email-code-fetcher.d.ts +5 -0
  14. package/dist/bot/email-code-fetcher.d.ts.map +1 -0
  15. package/dist/bot/email-code-fetcher.js +33 -0
  16. package/dist/bot/email-code-fetcher.js.map +1 -0
  17. package/dist/bot/inbox-client.d.ts +1 -0
  18. package/dist/bot/inbox-client.d.ts.map +1 -1
  19. package/dist/bot/inbox-client.js +55 -15
  20. package/dist/bot/inbox-client.js.map +1 -1
  21. package/dist/bot/index.d.ts +0 -1
  22. package/dist/bot/index.d.ts.map +1 -1
  23. package/dist/bot/index.js +45 -19
  24. package/dist/bot/index.js.map +1 -1
  25. package/dist/bot/promote-to-skill.d.ts +2 -1
  26. package/dist/bot/promote-to-skill.d.ts.map +1 -1
  27. package/dist/bot/promote-to-skill.js +115 -6
  28. package/dist/bot/promote-to-skill.js.map +1 -1
  29. package/dist/bot/replay-skill.d.ts +17 -0
  30. package/dist/bot/replay-skill.d.ts.map +1 -1
  31. package/dist/bot/replay-skill.js +243 -10
  32. package/dist/bot/replay-skill.js.map +1 -1
  33. package/dist/bot/signup-lock.d.ts +17 -0
  34. package/dist/bot/signup-lock.d.ts.map +1 -0
  35. package/dist/bot/signup-lock.js +174 -0
  36. package/dist/bot/signup-lock.js.map +1 -0
  37. package/dist/tools/provision-any.d.ts.map +1 -1
  38. package/dist/tools/provision-any.js +25 -12
  39. package/dist/tools/provision-any.js.map +1 -1
  40. package/package.json +2 -2
  41. package/dist/bot/oauth-lock.d.ts +0 -2
  42. package/dist/bot/oauth-lock.d.ts.map +0 -1
  43. package/dist/bot/oauth-lock.js +0 -28
  44. package/dist/bot/oauth-lock.js.map +0 -1
@@ -49,6 +49,24 @@ export declare class TwoCaptchaSolver {
49
49
  sitekey: string;
50
50
  pageUrl: string;
51
51
  }): Promise<TwoCaptchaResult>;
52
+ /**
53
+ * Submit a Cloudflare Turnstile sitekey + page URL to 2Captcha
54
+ * (method=turnstile) and poll for the token. The returned token goes into
55
+ * the page's `cf-turnstile-response` input + the widget's success callback.
56
+ *
57
+ * Historically NOT wired, on the belief that "Cloudflare IP-scores Turnstile
58
+ * so a solver token is rejected." That belief was FALSIFIED 2026-06-12 (exa
59
+ * fails on a fresh direct residential IP + real GPU — it is NOT IP-bound; see
60
+ * STATE.md), so a 2Captcha token may actually be accepted. Optional
61
+ * `action`/`data` fields carry through for the managed-challenge variants
62
+ * that bind a cData/chlPageData blob.
63
+ */
64
+ solveTurnstile(input: {
65
+ sitekey: string;
66
+ pageUrl: string;
67
+ action?: string;
68
+ data?: string;
69
+ }): Promise<TwoCaptchaResult>;
52
70
  private submitAndPoll;
53
71
  }
54
72
  //# sourceMappingURL=captcha-solver-2captcha.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"captcha-solver-2captcha.d.ts","sourceRoot":"","sources":["../../src/bot/captcha-solver-2captcha.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAElC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,IAAI,GAAE,oBAAyB;IAO3C,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS7B;;;;;;OAMG;IACG,aAAa,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAYf,aAAa;CA4E5B"}
1
+ {"version":3,"file":"captcha-solver-2captcha.d.ts","sourceRoot":"","sources":["../../src/bot/captcha-solver-2captcha.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAElC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,IAAI,GAAE,oBAAyB;IAO3C,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS7B;;;;;;OAMG;IACG,aAAa,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQ7B;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAcf,aAAa;CA4E5B"}
@@ -72,6 +72,27 @@ export class TwoCaptchaSolver {
72
72
  pageurl: input.pageUrl,
73
73
  });
74
74
  }
75
+ /**
76
+ * Submit a Cloudflare Turnstile sitekey + page URL to 2Captcha
77
+ * (method=turnstile) and poll for the token. The returned token goes into
78
+ * the page's `cf-turnstile-response` input + the widget's success callback.
79
+ *
80
+ * Historically NOT wired, on the belief that "Cloudflare IP-scores Turnstile
81
+ * so a solver token is rejected." That belief was FALSIFIED 2026-06-12 (exa
82
+ * fails on a fresh direct residential IP + real GPU — it is NOT IP-bound; see
83
+ * STATE.md), so a 2Captcha token may actually be accepted. Optional
84
+ * `action`/`data` fields carry through for the managed-challenge variants
85
+ * that bind a cData/chlPageData blob.
86
+ */
87
+ async solveTurnstile(input) {
88
+ return this.submitAndPoll({
89
+ method: "turnstile",
90
+ sitekey: input.sitekey,
91
+ pageurl: input.pageUrl,
92
+ ...(input.action !== undefined ? { action: input.action } : {}),
93
+ ...(input.data !== undefined ? { data: input.data } : {}),
94
+ });
95
+ }
75
96
  // Shared in.php submit + res.php poll. `params` carries the
76
97
  // provider-specific fields (method + sitekey param name); everything
77
98
  // else (auth, json, the polling loop, timeouts) is identical across
@@ -1 +1 @@
1
- {"version":3,"file":"captcha-solver-2captcha.js","sourceRoot":"","sources":["../../src/bot/captcha-solver-2captcha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captcha-solver-2captcha.js","sourceRoot":"","sources":["../../src/bot/captcha-solver-2captcha.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { InboxClient } from "./inbox-client.js";
2
+ export declare function makeEmailCodeFetcher(inbox: InboxClient, timeoutSeconds?: number): (input: {
3
+ alias: string;
4
+ }) => Promise<string | null>;
5
+ //# sourceMappingURL=email-code-fetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-code-fetcher.d.ts","sourceRoot":"","sources":["../../src/bot/email-code-fetcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,cAAc,SAAM,GACnB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BtD"}
@@ -0,0 +1,33 @@
1
+ import { extractCodeFromEmailBody } from "./agent.js";
2
+ // Subject matcher broad enough to catch the verification mail across
3
+ // services (mirrors agent.ts's waitForVerificationEmail pattern).
4
+ const VERIFICATION_SUBJECT = /verif|confirm|code|one[\s-]?time|otp|sign[\s-]?up|activate|complete/i;
5
+ export function makeEmailCodeFetcher(inbox, timeoutSeconds = 120) {
6
+ return async ({ alias }) => {
7
+ try {
8
+ const email = await inbox.waitForEmail({
9
+ alias,
10
+ matcher: { subject: VERIFICATION_SUBJECT },
11
+ timeout_seconds: timeoutSeconds,
12
+ });
13
+ // Prefer the poller's own parsed code; else scan the body. Either
14
+ // way, reject any candidate that's just the recipient address's
15
+ // digits (a human-looking alias like `ryan.collins761@` would
16
+ // otherwise poison the parse — see inbox-client.humanLocalPart).
17
+ const fromParsed = email.parsed_codes.find((c) => /^\d{4,8}$/.test(c));
18
+ if (fromParsed !== undefined)
19
+ return fromParsed;
20
+ return extractCodeFromEmailBody({
21
+ subject: email.subject,
22
+ body_text: email.body_text,
23
+ body_html: email.body_html,
24
+ }, alias);
25
+ }
26
+ catch {
27
+ // No mail in the window / network fault — replay's await_email_code
28
+ // step fails cleanly with "no code arrived".
29
+ return null;
30
+ }
31
+ };
32
+ }
33
+ //# sourceMappingURL=email-code-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-code-fetcher.js","sourceRoot":"","sources":["../../src/bot/email-code-fetcher.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,qEAAqE;AACrE,kEAAkE;AAClE,MAAM,oBAAoB,GACxB,sEAAsE,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,cAAc,GAAG,GAAG;IAEpB,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;gBACrC,KAAK;gBACL,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBAC1C,eAAe,EAAE,cAAc;aAChC,CAAC,CAAC;YACH,kEAAkE;YAClE,gEAAgE;YAChE,8DAA8D;YAC9D,iEAAiE;YACjE,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,UAAU,CAAC;YAChD,OAAO,wBAAwB,CAC7B;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,EACD,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,6CAA6C;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -25,6 +25,7 @@ export interface InboxClientOpts {
25
25
  fetch?: typeof fetch;
26
26
  workspaceDomain?: string;
27
27
  }
28
+ export declare function humanLocalPart(): string;
28
29
  export declare class InboxClient {
29
30
  private readonly baseUrl;
30
31
  private readonly apiKey;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-client.d.ts","sourceRoot":"","sources":["../../src/bot/inbox-client.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAQrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA2BD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,IAAI,EAAE,eAAe;IAO3B,WAAW,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgClH,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAiClE,qBAAqB;IAwE7B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAehD"}
1
+ {"version":3,"file":"inbox-client.d.ts","sourceRoot":"","sources":["../../src/bot/inbox-client.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAQrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgDD,wBAAgB,cAAc,IAAI,MAAM,CAgBvC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,IAAI,EAAE,eAAe;IAO3B,WAAW,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgClH,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAiClE,qBAAqB;IAwE7B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAehD"}
@@ -15,11 +15,8 @@ function pickWorkspaceDomain(explicit) {
15
15
  return env;
16
16
  return null;
17
17
  }
18
- function randomLocalPart() {
19
- // Six bytes 12 hex chars. Enough entropy that two parallel
20
- // signups never collide; short enough that services with strict
21
- // local-part length limits don't reject.
22
- const bytes = new Uint8Array(6);
18
+ function randomBytesArray(n) {
19
+ const bytes = new Uint8Array(n);
23
20
  if (typeof globalThis.crypto !== "undefined" && globalThis.crypto.getRandomValues !== undefined) {
24
21
  globalThis.crypto.getRandomValues(bytes);
25
22
  }
@@ -27,9 +24,52 @@ function randomLocalPart() {
27
24
  for (let i = 0; i < bytes.length; i++)
28
25
  bytes[i] = Math.floor(Math.random() * 256);
29
26
  }
30
- return Array.from(bytes)
31
- .map((b) => b.toString(16).padStart(2, "0"))
32
- .join("");
27
+ return bytes;
28
+ }
29
+ // Common given/family names. Kept short and ordinary on purpose — the
30
+ // local part must read like a real person's personal address, not a
31
+ // generated handle.
32
+ const FIRST_NAMES = [
33
+ "james", "mary", "john", "patricia", "robert", "jennifer", "michael",
34
+ "linda", "david", "elizabeth", "william", "susan", "richard", "jessica",
35
+ "joseph", "sarah", "thomas", "karen", "daniel", "nancy", "matthew", "lisa",
36
+ "mark", "sandra", "paul", "ashley", "steven", "emily", "andrew", "laura",
37
+ "kenneth", "anna", "kevin", "olivia", "brian", "grace", "george", "julia",
38
+ "ryan", "chloe", "jason", "hannah", "eric", "rachel", "adam", "natalie",
39
+ ];
40
+ const LAST_NAMES = [
41
+ "smith", "johnson", "williams", "brown", "jones", "garcia", "miller",
42
+ "davis", "rodriguez", "martinez", "lopez", "wilson", "anderson", "taylor",
43
+ "moore", "jackson", "martin", "lee", "clark", "lewis", "walker", "hall",
44
+ "allen", "young", "king", "wright", "scott", "green", "baker", "adams",
45
+ "nelson", "carter", "mitchell", "roberts", "turner", "phillips", "campbell",
46
+ "parker", "evans", "edwards", "collins", "stewart", "morris", "murphy",
47
+ ];
48
+ // A realistic personal email local part: `first.last4821`, `mlee93`, etc.
49
+ // Replaces the prior `${service}-${hex}` shape, which leaked the target
50
+ // service's own name into the signup address (e.g. `deepseek-852847…`) —
51
+ // an obvious bot tell no real signup would carry. Random name + a short
52
+ // numeric suffix (the "my handle was taken" digits real people append)
53
+ // keeps catch-all collisions negligible while reading as human.
54
+ export function humanLocalPart() {
55
+ const r = randomBytesArray(5);
56
+ const first = FIRST_NAMES[r[0] % FIRST_NAMES.length];
57
+ const last = LAST_NAMES[r[1] % LAST_NAMES.length];
58
+ // A 2–3 digit suffix only. DELIBERATELY capped below OTP length (codes
59
+ // are 4–8 digits): a longer run in the recipient address gets mistaken
60
+ // for the emailed code by the OTP scanners (parsed_codes / body regex /
61
+ // IMAP poller), which made a `…13526@` alias fill 13526 as the code.
62
+ // Name variety (≈1900) × 900 keeps catch-all collisions negligible.
63
+ const num = (((r[2] << 8) | r[3]) % 900) + 100; // 100–999
64
+ // Vary the shape so the addresses aren't all `first.last`.
65
+ const shape = r[4] % 4;
66
+ if (shape === 0)
67
+ return `${first}.${last}${num}`;
68
+ if (shape === 1)
69
+ return `${first}${last}${num}`;
70
+ if (shape === 2)
71
+ return `${first[0]}${last}${num}`;
72
+ return `${first}.${last}.${num}`;
33
73
  }
34
74
  export class InboxClient {
35
75
  baseUrl;
@@ -48,13 +88,13 @@ export class InboxClient {
48
88
  // mailbox; the API's poll-workspace-mail endpoint finds the
49
89
  // message by its TO header.
50
90
  if (this.workspaceDomain !== null) {
51
- // Include the service slug so an inbox glance disambiguates
52
- // mail from concurrent signups, plus a per-run random suffix.
53
- const slug = (input.service ?? "svc")
54
- .toLowerCase()
55
- .replace(/[^a-z0-9]+/g, "-")
56
- .slice(0, 18);
57
- return `${slug}-${randomLocalPart()}@${this.workspaceDomain}`;
91
+ // A human-looking personal address. We deliberately DON'T embed the
92
+ // service slug here `deepseek-…@` style locals are an obvious bot
93
+ // tell that some signup forms score against. Delivery is by exact
94
+ // TO-header match on the catch-all, so the local part only needs to
95
+ // be unique, not descriptive; the service is logged separately for
96
+ // operator debugging.
97
+ return `${humanLocalPart()}@${this.workspaceDomain}`;
58
98
  }
59
99
  const resp = await this.fetchImpl(`${this.baseUrl}/v1/inbox/aliases`, {
60
100
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-client.js","sourceRoot":"","sources":["../../src/bot/inbox-client.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AAwCtE,0DAA0D;AAC1D,oEAAoE;AACpE,kEAAkE;AAClE,SAAS,mBAAmB,CAAC,QAAiB;IAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe;IACtB,6DAA6D;IAC7D,gEAAgE;IAChE,yCAAyC;IACzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAChG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,OAAO,WAAW;IACL,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,SAAS,CAAe;IACxB,eAAe,CAAgB;IAEhD,YAAY,IAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAoF;QACpG,0DAA0D;QAC1D,+DAA+D;QAC/D,4DAA4D;QAC5D,4BAA4B;QAC5B,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,4DAA4D;YAC5D,8DAA8D;YAC9D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;iBAClC,WAAW,EAAE;iBACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;iBAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,OAAO,GAAG,IAAI,IAAI,eAAe,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAsB,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uEAAuE;IACvE,0CAA0C;IAC1C,KAAK,CAAC,YAAY,CAAC,KAA8B;QAC/C,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;YACtF,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,KAAK,cAAc,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAwB,CAAC;IACpD,CAAC;IAED,mEAAmE;IACnE,kEAAkE;IAClE,+DAA+D;IACvD,KAAK,CAAC,qBAAqB,CAAC,KAA8B;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,IAAI,CAAC,OAAO,+BAA+B,EAC9C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACvC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,UAAU,EAAE,KAAK,CAAC,KAAK;oBACvB,aAAa,EAAE,GAAG;iBACnB,CAAC;aACH,CACF,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAW9B,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBACrB,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACxE,MAAM,WAAW,GACf,YAAY,KAAK,SAAS;oBAC1B,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAClC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACrC,IAAI,cAAc,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBACjD,OAAO;wBACL,EAAE,EAAE,aAAa,CAAC,CAAC,WAAW,EAAE;wBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;qBAC3B,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,8DAA8D;YAC9D,6DAA6D;YAC7D,sBAAsB;YACtB,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM;YAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,gEAAgE;QAChE,8DAA8D;QAC9D,6BAA6B;QAC7B,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;YAChF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,qBAAqB,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;YACjG,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"inbox-client.js","sourceRoot":"","sources":["../../src/bot/inbox-client.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import type { AgentInbox } from "./agent.js";
3
3
  import type { OAuthProviderId } from "./oauth-providers.js";
4
4
  import type { LLMClient, LLMPair } from "./llm-client.js";
5
5
  export { type SignupResult, type ExtractFailureUploader, type RoundUploader, LLMCallBudgetExceeded, };
6
- export { withOAuthLock } from "./oauth-lock.js";
7
6
  export { isOAuthProviderId, type OAuthProviderId } from "./oauth-providers.js";
8
7
  export { BrowserController } from "./browser.js";
9
8
  export type { CaptchaVariant, CaptchaKind } from "./browser.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bot/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,qBAAqB,GACtB,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG3B,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAK/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAO/B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAOtC,aAAa,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAI5C,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAIhC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAI/B,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAGjC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAGtD,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAO7C,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAM5D,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAM1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gBAAgB;IAWlB,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;YAWtD,UAAU;CAiGzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bot/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,qBAAqB,GACtB,CAAC;AACF,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG3B,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAK/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAO/B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAOtC,aAAa,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAI5C,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAIhC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAI/B,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAGjC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAGtD,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAO7C,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAM5D,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAM1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IAgClB,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;YAatD,UAAU;CAiGzB"}
package/dist/bot/index.js CHANGED
@@ -2,13 +2,13 @@
2
2
  // Orchestrates browser + AI agent to sign up for any service
3
3
  import { randomBytes } from "crypto";
4
4
  import { BrowserController } from "./browser.js";
5
+ import { humanLocalPart } from "./inbox-client.js";
5
6
  import { SignupAgent, LLMCallBudgetExceeded, } from "./agent.js";
6
- import { withOAuthLock } from "./oauth-lock.js";
7
+ import { withSignupLock } from "./signup-lock.js";
7
8
  import { capturedAnyRound, captureRunOutcome, resetCaptureChain } from "./onboarding-capture.js";
8
9
  import { classifyFailureStage } from "./failure-stage.js";
9
10
  import { classifyUnwinnable } from "./unwinnable-services.js";
10
11
  export { LLMCallBudgetExceeded, };
11
- export { withOAuthLock } from "./oauth-lock.js";
12
12
  export { isOAuthProviderId } from "./oauth-providers.js";
13
13
  export { BrowserController } from "./browser.js";
14
14
  export { replaySkill } from "./replay-skill.js";
@@ -17,28 +17,54 @@ export { detectAsn } from "./asn.js";
17
17
  export { pickLLMClient, pickLLMPair, AnthropicDirectClient, OpenRouterClient, ProxyLLMClient, } from "./llm-client.js";
18
18
  export class UniversalSignupBot {
19
19
  generateEmail() {
20
- const random = randomBytes(8).toString("hex");
21
- return `bot-${random}@trustysquire.ai`;
20
+ // Human-looking personal address — never a `bot-…`/service-named local
21
+ // part (an obvious signup-form bot tell). Shared with the inbox-alias
22
+ // generator. Only a fallback: discover/CLI pass an explicit inbox alias.
23
+ return `${humanLocalPart()}@trustysquire.ai`;
22
24
  }
23
25
  generatePassword() {
24
- // Generate secure random password
25
- const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*";
26
- let password = "";
27
- const bytes = randomBytes(16);
28
- for (const byte of bytes) {
29
- password += chars[byte % chars.length];
26
+ // Secure random password with GUARANTEED class coverage. Sampling 16
27
+ // chars uniformly from one big set can (and did) emit a password missing
28
+ // an uppercase or digit, which complexity-gated signups reject client-side
29
+ // the submit silently fails, no account is created, and the bot
30
+ // mis-reports verification_not_sent (MEASURED 2026-06-12: huggingface's
31
+ // "must contain uppercase, lowercase letters, and numbers"). Force one of
32
+ // each class, fill the rest randomly, then shuffle — deterministically
33
+ // satisfies lower+upper+digit+symbol policies.
34
+ const lower = "abcdefghijklmnopqrstuvwxyz";
35
+ const upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
36
+ const digit = "0123456789";
37
+ const symbol = "!@#$%^&*";
38
+ const all = lower + upper + digit + symbol;
39
+ const bytes = randomBytes(20);
40
+ const pick = (set, b) => set[b % set.length];
41
+ const chars = [
42
+ pick(lower, bytes[0]),
43
+ pick(upper, bytes[1]),
44
+ pick(digit, bytes[2]),
45
+ pick(symbol, bytes[3]),
46
+ ];
47
+ for (let i = 4; i < bytes.length; i++)
48
+ chars.push(pick(all, bytes[i]));
49
+ // Fisher-Yates shuffle so the guaranteed leading classes aren't positional.
50
+ const shuf = randomBytes(chars.length);
51
+ for (let i = chars.length - 1; i > 0; i--) {
52
+ const j = shuf[i] % (i + 1);
53
+ [chars[i], chars[j]] = [chars[j], chars[i]];
30
54
  }
31
- return password;
55
+ return chars.join("");
32
56
  }
33
57
  async signup(request) {
34
- // T8/D2 OAuth runs all launch Chrome from the one shared
35
- // persistent profile, which Chrome single-instances. Serialize
36
- // them so a second concurrent run queues rather than corrupting
37
- // the profile lock. Form-fill runs are unaffected.
38
- if (request.oauthProvider !== undefined) {
39
- return withOAuthLock(() => this.runSession(request));
40
- }
41
- return this.runSession(request);
58
+ // Every signup run (OAuth AND form-fill) launches Chrome from the ONE
59
+ // shared persistent profile, which Chrome single-instances — so they must
60
+ // serialize. withSignupLock is the explicit CROSS-process locked queue:
61
+ // it queues same-process callers, serializes across processes via a file
62
+ // lock that RECLAIMS a dead/hung holder, and arms a watchdog that
63
+ // hard-exits a run overrunning the hold cap — so a stuck run can never
64
+ // accumulate as a lock-starving orphan (the 2026-06-12 failure: ~26
65
+ // hung discover processes). Subsumes the in-process-only withOAuthLock.
66
+ const label = `${request.service}:${request.oauthProvider ?? "form"}`;
67
+ return withSignupLock(label, () => this.runSession(request));
42
68
  }
43
69
  async runSession(request) {
44
70
  // AB6 — short-circuit known-unwinnable services BEFORE launching Chrome.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bot/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bot/index.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export type PromoteResult = {
36
36
  export interface PromoteRejection {
37
37
  kind: "rejected";
38
38
  stage: "chain_verification" | "synthesis" | "schema_validation";
39
- error_kind: "unknown_version" | "hash_mismatch" | "prev_hash_mismatch" | "missing_round" | "no_rounds" | "parse_error" | "no_extract_step" | "ambiguous_text_match" | "missing_text_hint" | "unsupported_step_kind" | "inventory_entry_not_found" | "credential_spec_inference_failed" | "schema_invalid" | "duplicate_credential_produces" | "unparseable_credential_label";
39
+ error_kind: "unknown_version" | "hash_mismatch" | "prev_hash_mismatch" | "missing_round" | "no_rounds" | "parse_error" | "no_extract_step" | "ambiguous_text_match" | "missing_text_hint" | "unsupported_step_kind" | "inventory_entry_not_found" | "credential_spec_inference_failed" | "schema_invalid" | "duplicate_credential_produces" | "unparseable_credential_label" | "incomplete_replay_graph";
40
40
  message: string;
41
41
  offending_round?: number;
42
42
  offending_step?: number;
@@ -58,6 +58,7 @@ export declare function pickStableDomHint(el: InteractiveElement): {
58
58
  id?: string;
59
59
  } | undefined;
60
60
  export declare function hasEphemeralPathSegment(path: string): boolean;
61
+ export declare function isIdentityProviderUrl(url: string): boolean;
61
62
  export declare function generalizeCapturedUrl(url: string): string;
62
63
  export declare function pickHrefHint(el: InteractiveElement): string | null;
63
64
  export declare function synthesizeLabeledExtractSteps(observed: Extract<PostVerifyStep, {
@@ -1 +1 @@
1
- {"version":3,"file":"promote-to-skill.d.ts","sourceRoot":"","sources":["../../src/bot/promote-to-skill.ts"],"names":[],"mappings":"AAqCA,OAAO,EAGL,KAAK,KAAK,EAEV,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC5B,gBAAgB,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,oBAAoB,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAChE,UAAU,EACN,iBAAiB,GACjB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,kCAAkC,GAClC,gBAAgB,GAQhB,+BAA+B,GAC/B,8BAA8B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAC;AAI9C,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAkLjE;AAmLD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAQjF;AAqWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,IAAI,MAAM,CAUrE;AAKD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,GACrB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK5C;AAOD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO7D;AAUD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAczD;AAMD,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAsBlE;AAsZD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACtD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,mBAAmB,GAC9B,SAAS,EAAE,GAAG,IAAI,CAkCpB;AAgGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMvE;AAsrBD,wBAAgB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,CAexE"}
1
+ {"version":3,"file":"promote-to-skill.d.ts","sourceRoot":"","sources":["../../src/bot/promote-to-skill.ts"],"names":[],"mappings":"AAqCA,OAAO,EAIL,KAAK,KAAK,EAEV,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC5B,gBAAgB,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,oBAAoB,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAChE,UAAU,EACN,iBAAiB,GACjB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,kCAAkC,GAClC,gBAAgB,GAQhB,+BAA+B,GAC/B,8BAA8B,GAI9B,yBAAyB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAC;AAI9C,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA+MjE;AAmLD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAQjF;AA6YD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,IAAI,MAAM,CAUrE;AAKD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,GACrB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK5C;AAOD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO7D;AAwBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAS1D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAczD;AAMD,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAsBlE;AA2aD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACtD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,mBAAmB,GAC9B,SAAS,EAAE,GAAG,IAAI,CAkCpB;AAgGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMvE;AAsrBD,wBAAgB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,CAexE"}