@trusty-squire/mcp 0.4.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -10
- package/assets/login/interstitial.html +47 -0
- package/assets/login/vnc.html +204 -0
- package/dist/api-client.d.ts +7 -9
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +9 -9
- package/dist/api-client.js.map +1 -1
- package/dist/bot/agent.d.ts.map +1 -1
- package/dist/bot/agent.js +67 -43
- package/dist/bot/agent.js.map +1 -1
- package/dist/bot/google-login.d.ts +9 -0
- package/dist/bot/google-login.d.ts.map +1 -1
- package/dist/bot/google-login.js +247 -56
- package/dist/bot/google-login.js.map +1 -1
- package/dist/install/cli.d.ts +5 -6
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +160 -101
- package/dist/install/cli.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +15 -22
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js.map +1 -1
- package/dist/tools/cancel.d.ts.map +1 -1
- package/dist/tools/cancel.js +2 -2
- package/dist/tools/cancel.js.map +1 -1
- package/dist/tools/get-credential.d.ts.map +1 -1
- package/dist/tools/get-credential.js +2 -2
- package/dist/tools/get-credential.js.map +1 -1
- package/dist/tools/get-usage.d.ts.map +1 -1
- package/dist/tools/get-usage.js +2 -2
- package/dist/tools/get-usage.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +10 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-credentials.d.ts.map +1 -1
- package/dist/tools/list-credentials.js +2 -2
- package/dist/tools/list-credentials.js.map +1 -1
- package/dist/tools/list-services.d.ts.map +1 -1
- package/dist/tools/list-services.js +2 -2
- package/dist/tools/list-services.js.map +1 -1
- package/dist/tools/list-subscriptions.d.ts.map +1 -1
- package/dist/tools/list-subscriptions.js +2 -2
- package/dist/tools/list-subscriptions.js.map +1 -1
- package/dist/tools/provision-any.d.ts +4 -4
- package/dist/tools/provision-any.d.ts.map +1 -1
- package/dist/tools/provision-any.js +45 -32
- package/dist/tools/provision-any.js.map +1 -1
- package/dist/tools/provision.d.ts.map +1 -1
- package/dist/tools/provision.js +2 -2
- package/dist/tools/provision.js.map +1 -1
- package/dist/tools/wait-for-approval.d.ts.map +1 -1
- package/dist/tools/wait-for-approval.js +2 -2
- package/dist/tools/wait-for-approval.js.map +1 -1
- package/package.json +3 -2
package/dist/bot/google-login.js
CHANGED
|
@@ -24,8 +24,10 @@
|
|
|
24
24
|
import { spawn } from "node:child_process";
|
|
25
25
|
import { createRequire } from "node:module";
|
|
26
26
|
import { createServer } from "node:net";
|
|
27
|
-
import { existsSync } from "node:fs";
|
|
27
|
+
import { cpSync, existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
|
|
28
|
+
import { tmpdir } from "node:os";
|
|
28
29
|
import { join } from "node:path";
|
|
30
|
+
import { fileURLToPath } from "node:url";
|
|
29
31
|
import { CHROME_PROFILE_DIR } from "./profile.js";
|
|
30
32
|
import { markProviderLoggedIn } from "./login-state.js";
|
|
31
33
|
import { randomBytes } from "node:crypto";
|
|
@@ -61,19 +63,21 @@ const LOGIN_TARGETS = {
|
|
|
61
63
|
// onto a phone via noVNC (the spike's 1920x1080 was the UX mistake).
|
|
62
64
|
const HEADLESS_W = 540;
|
|
63
65
|
const HEADLESS_H = 960;
|
|
66
|
+
// The Debian/Ubuntu `novnc` package installs its web assets here — the
|
|
67
|
+
// `core/` RFB library our branded page reuses (see runHeadlessChrome).
|
|
68
|
+
const NOVNC_INSTALL_DIR = "/usr/share/novnc";
|
|
69
|
+
// Resolve a bundled login asset (the branded vnc.html / interstitial).
|
|
70
|
+
// `../../assets/login/` from this module resolves to apps/mcp/assets/
|
|
71
|
+
// whether running from src/ (tsx) or dist/ (compiled) — assets/ sits
|
|
72
|
+
// beside both. Shipped via the package.json `files` allowlist.
|
|
73
|
+
function loginAssetPath(name) {
|
|
74
|
+
return fileURLToPath(new URL(`../../assets/login/${name}`, import.meta.url));
|
|
75
|
+
}
|
|
64
76
|
// --- session detection -------------------------------------------------
|
|
65
77
|
async function hasProviderSession(context, target) {
|
|
66
78
|
const cookies = await context.cookies(target.cookieOrigin);
|
|
67
79
|
return cookies.some((c) => target.cookies.includes(c.name));
|
|
68
80
|
}
|
|
69
|
-
async function pollForSession(context, deadline, target) {
|
|
70
|
-
while (Date.now() < deadline) {
|
|
71
|
-
if (await hasProviderSession(context, target))
|
|
72
|
-
return true;
|
|
73
|
-
await new Promise((r) => setTimeout(r, 3000));
|
|
74
|
-
}
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
81
|
export function classifyGoogleAuthState(url, bodyText) {
|
|
78
82
|
let parsed;
|
|
79
83
|
try {
|
|
@@ -180,6 +184,17 @@ export function scopesAreBasic(scopes) {
|
|
|
180
184
|
export function hasDisplay() {
|
|
181
185
|
if (process.env.TRUSTY_SQUIRE_FORCE_HEADLESS === "true")
|
|
182
186
|
return false;
|
|
187
|
+
// macOS (Aqua) and Windows (Win32) have native windowing — Chrome
|
|
188
|
+
// opens a real window without an X server. DISPLAY is a Unix concept
|
|
189
|
+
// they don't set, so a DISPLAY-only check would have wrongly routed
|
|
190
|
+
// every Mac/Windows install into the headless+noVNC+cloudflared rig
|
|
191
|
+
// (which needs Xvfb/x11vnc/etc. that aren't installed on those
|
|
192
|
+
// platforms).
|
|
193
|
+
if (process.platform === "darwin" || process.platform === "win32")
|
|
194
|
+
return true;
|
|
195
|
+
// Linux: a non-empty DISPLAY means there's an X server we can draw to.
|
|
196
|
+
// Headless boxes (Hetzner, Codespaces, Docker, SSH) won't have it
|
|
197
|
+
// and fall through to the noVNC path.
|
|
183
198
|
return typeof process.env.DISPLAY === "string" && process.env.DISPLAY.length > 0;
|
|
184
199
|
}
|
|
185
200
|
// First :N (99..120) whose X socket is free.
|
|
@@ -219,31 +234,6 @@ export function binaryOnPath(bin) {
|
|
|
219
234
|
const paths = (process.env.PATH ?? "").split(":");
|
|
220
235
|
return paths.some((p) => p.length > 0 && existsSync(join(p, bin)));
|
|
221
236
|
}
|
|
222
|
-
// --- path 1: a display is available -----------------------------------
|
|
223
|
-
async function loginWithDisplay(profileDir, deadline, target) {
|
|
224
|
-
const chromium = resolveChromium();
|
|
225
|
-
const context = await chromium.launchPersistentContext(profileDir, {
|
|
226
|
-
channel: "chrome",
|
|
227
|
-
headless: false,
|
|
228
|
-
viewport: { width: 1280, height: 800 },
|
|
229
|
-
args: ["--disable-blink-features=AutomationControlled", "--no-sandbox", "--disable-dev-shm-usage"],
|
|
230
|
-
});
|
|
231
|
-
try {
|
|
232
|
-
if (await hasProviderSession(context, target)) {
|
|
233
|
-
return { status: "already_valid" };
|
|
234
|
-
}
|
|
235
|
-
const page = context.pages()[0] ?? (await context.newPage());
|
|
236
|
-
await page.goto(target.loginUrl, { waitUntil: "domcontentloaded" });
|
|
237
|
-
console.error(`\n[login] A Chrome window has opened. Log into your ${target.label} account there.\n`);
|
|
238
|
-
const ok = await pollForSession(context, deadline, target);
|
|
239
|
-
return ok
|
|
240
|
-
? { status: "logged_in" }
|
|
241
|
-
: { status: "timeout", detail: "no login completed before the deadline" };
|
|
242
|
-
}
|
|
243
|
-
finally {
|
|
244
|
-
await context.close();
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
237
|
function spawnBg(cmd, args, env) {
|
|
248
238
|
const child = spawn(cmd, args, {
|
|
249
239
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -253,15 +243,23 @@ function spawnBg(cmd, args, env) {
|
|
|
253
243
|
return child;
|
|
254
244
|
}
|
|
255
245
|
// Read cloudflared's output until it prints its public trycloudflare URL.
|
|
246
|
+
// Accumulates a rolling buffer rather than matching per-chunk — the URL
|
|
247
|
+
// can straddle two `data` events, and a per-chunk match would miss it
|
|
248
|
+
// and hang until the timeout.
|
|
256
249
|
function awaitTunnelUrl(cf, timeoutMs) {
|
|
257
250
|
return new Promise((resolve, reject) => {
|
|
258
251
|
const timer = setTimeout(() => reject(new Error("cloudflared did not produce a URL in time")), timeoutMs);
|
|
252
|
+
let acc = "";
|
|
259
253
|
const scan = (buf) => {
|
|
260
|
-
|
|
254
|
+
acc += buf.toString();
|
|
255
|
+
const m = acc.match(/https:\/\/[a-z0-9-]+\.trycloudflare\.com/);
|
|
261
256
|
if (m !== null) {
|
|
262
257
|
clearTimeout(timer);
|
|
263
258
|
resolve(m[0]);
|
|
264
259
|
}
|
|
260
|
+
// Bound memory if cloudflared is chatty before the URL appears.
|
|
261
|
+
if (acc.length > 65536)
|
|
262
|
+
acc = acc.slice(-4096);
|
|
265
263
|
};
|
|
266
264
|
cf.stdout?.on("data", scan);
|
|
267
265
|
cf.stderr?.on("data", scan);
|
|
@@ -276,8 +274,72 @@ function teardown(rig) {
|
|
|
276
274
|
// best-effort
|
|
277
275
|
}
|
|
278
276
|
}
|
|
277
|
+
if (rig.webDir !== undefined) {
|
|
278
|
+
try {
|
|
279
|
+
rmSync(rig.webDir, { recursive: true, force: true });
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
// best-effort
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// Assemble the directory websockify serves: a copy of the installed
|
|
287
|
+
// noVNC web assets (for the `core/` RFB library) with our branded
|
|
288
|
+
// vnc.html written over the stock one. A temp dir, NOT the package's
|
|
289
|
+
// own assets/ — under `npx` the package runs from a read-only cache,
|
|
290
|
+
// so the noVNC core cannot be copied into it. Torn down with the rig.
|
|
291
|
+
function buildVncWebDir() {
|
|
292
|
+
const webDir = mkdtempSync(join(tmpdir(), "ts-novnc-"));
|
|
293
|
+
cpSync(NOVNC_INSTALL_DIR, webDir, { recursive: true });
|
|
294
|
+
// The branded page imports `./core/rfb.js`. If the distro's novnc
|
|
295
|
+
// package put its core somewhere else, fail loudly here rather than
|
|
296
|
+
// serving a page that 404s its own script and shows a blank screen.
|
|
297
|
+
if (!existsSync(join(webDir, "core", "rfb.js"))) {
|
|
298
|
+
rmSync(webDir, { recursive: true, force: true });
|
|
299
|
+
throw new Error(`noVNC core not found at ${NOVNC_INSTALL_DIR}/core/rfb.js — the ` +
|
|
300
|
+
`installed novnc package has an unexpected layout`);
|
|
301
|
+
}
|
|
302
|
+
writeFileSync(join(webDir, "vnc.html"), readFileSync(loginAssetPath("vnc.html"), "utf8"));
|
|
303
|
+
return webDir;
|
|
304
|
+
}
|
|
305
|
+
// Open the bot's Chrome at `url`, on whichever platform path applies
|
|
306
|
+
// (with-display or headless+noVNC+cloudflared), and run `pollUntilDone`
|
|
307
|
+
// against the live context until it resolves true OR the deadline
|
|
308
|
+
// passes. Returns whether the poll succeeded.
|
|
309
|
+
//
|
|
310
|
+
// Extracted so both `mcp login` (poll for Google/GitHub cookies in the
|
|
311
|
+
// bot's profile) AND `install` (poll the API for the install claim)
|
|
312
|
+
// share the same browser-launch infrastructure — one Chrome instance,
|
|
313
|
+
// one Google login event for both use cases.
|
|
314
|
+
async function runInBotChrome(opts) {
|
|
315
|
+
if (hasDisplay()) {
|
|
316
|
+
return await runDisplayedChrome(opts);
|
|
317
|
+
}
|
|
318
|
+
return await runHeadlessChrome(opts);
|
|
279
319
|
}
|
|
280
|
-
async function
|
|
320
|
+
async function runDisplayedChrome(opts) {
|
|
321
|
+
const chromium = resolveChromium();
|
|
322
|
+
const context = await chromium.launchPersistentContext(opts.profileDir, {
|
|
323
|
+
channel: "chrome",
|
|
324
|
+
headless: false,
|
|
325
|
+
viewport: { width: 1280, height: 800 },
|
|
326
|
+
args: ["--disable-blink-features=AutomationControlled", "--no-sandbox", "--disable-dev-shm-usage"],
|
|
327
|
+
});
|
|
328
|
+
try {
|
|
329
|
+
if (opts.preflight !== undefined && await opts.preflight(context)) {
|
|
330
|
+
return { status: "preflight_satisfied" };
|
|
331
|
+
}
|
|
332
|
+
const page = context.pages()[0] ?? (await context.newPage());
|
|
333
|
+
await page.goto(opts.url, { waitUntil: "domcontentloaded" });
|
|
334
|
+
console.error(`\n[login] A Chrome window has opened. ${opts.bannerLabel}\n`);
|
|
335
|
+
const ok = await pollUntil(opts.deadline, () => opts.pollUntilDone(context));
|
|
336
|
+
return { status: ok ? "completed" : "timeout" };
|
|
337
|
+
}
|
|
338
|
+
finally {
|
|
339
|
+
await context.close().catch(() => undefined);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
async function runHeadlessChrome(opts) {
|
|
281
343
|
requireBinaries(["Xvfb", "x11vnc", "websockify", "cloudflared"]);
|
|
282
344
|
if (!existsSync("/usr/share/novnc")) {
|
|
283
345
|
throw new Error("noVNC web assets not found at /usr/share/novnc — install the `novnc` package");
|
|
@@ -287,16 +349,42 @@ async function loginHeadless(profileDir, deadline, target) {
|
|
|
287
349
|
const webPort = await findFreePort();
|
|
288
350
|
const vncPassword = randomBytes(4).toString("hex"); // 8 chars — VNC's limit
|
|
289
351
|
const rig = { procs: [], display };
|
|
290
|
-
//
|
|
352
|
+
// The persistent Chrome context is NOT a member of `rig` — it is a
|
|
353
|
+
// Playwright handle, closed via context.close(). Tracked here so the
|
|
354
|
+
// signal handler can release the profile lock before exiting.
|
|
355
|
+
let activeContext;
|
|
356
|
+
// Ensure nothing is orphaned if the process dies mid-flow. `exit`
|
|
357
|
+
// covers a normal return; SIGTERM/SIGINT cover an interrupted run —
|
|
358
|
+
// once a signal listener is registered the default terminate is
|
|
359
|
+
// suppressed, so the handler must clean up AND exit itself.
|
|
291
360
|
const onExit = () => teardown(rig);
|
|
361
|
+
const onSignal = () => {
|
|
362
|
+
const finish = () => {
|
|
363
|
+
teardown(rig);
|
|
364
|
+
process.exit(130);
|
|
365
|
+
};
|
|
366
|
+
if (activeContext !== undefined) {
|
|
367
|
+
// Close the browser to release the persistent-profile lock — but
|
|
368
|
+
// cap the wait: a wedged Chrome under Xvfb can hang close()
|
|
369
|
+
// indefinitely, and the rig MUST still be torn down. Whichever
|
|
370
|
+
// wins (clean close, or the 3s cap), `finish` runs.
|
|
371
|
+
const capped = new Promise((r) => setTimeout(r, 3000));
|
|
372
|
+
Promise.race([activeContext.close().catch(() => undefined), capped]).then(finish, finish);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
finish();
|
|
376
|
+
}
|
|
377
|
+
};
|
|
292
378
|
process.once("exit", onExit);
|
|
379
|
+
process.once("SIGTERM", onSignal);
|
|
380
|
+
process.once("SIGINT", onSignal);
|
|
293
381
|
try {
|
|
294
382
|
// 1. Virtual display — phone-shaped.
|
|
295
383
|
rig.procs.push(spawnBg("Xvfb", [display, "-screen", "0", `${HEADLESS_W}x${HEADLESS_H}x24`, "-ac"]));
|
|
296
384
|
await new Promise((r) => setTimeout(r, 1500));
|
|
297
385
|
// 2. Chrome on that display, persistent profile, window filling the display.
|
|
298
386
|
const chromium = resolveChromium();
|
|
299
|
-
const context = await chromium.launchPersistentContext(profileDir, {
|
|
387
|
+
const context = await chromium.launchPersistentContext(opts.profileDir, {
|
|
300
388
|
channel: "chrome",
|
|
301
389
|
headless: false,
|
|
302
390
|
viewport: null, // use the real window size
|
|
@@ -309,12 +397,13 @@ async function loginHeadless(profileDir, deadline, target) {
|
|
|
309
397
|
"--disable-dev-shm-usage",
|
|
310
398
|
],
|
|
311
399
|
});
|
|
400
|
+
activeContext = context;
|
|
312
401
|
try {
|
|
313
|
-
if (await
|
|
314
|
-
return { status: "
|
|
402
|
+
if (opts.preflight !== undefined && await opts.preflight(context)) {
|
|
403
|
+
return { status: "preflight_satisfied" };
|
|
315
404
|
}
|
|
316
405
|
const page = context.pages()[0] ?? (await context.newPage());
|
|
317
|
-
await page.goto(
|
|
406
|
+
await page.goto(opts.url, { waitUntil: "domcontentloaded" });
|
|
318
407
|
// 3. x11vnc on the display — localhost-only, password-gated, -noshm
|
|
319
408
|
// (the box's X server lacks the shared-memory extension).
|
|
320
409
|
rig.procs.push(spawnBg("x11vnc", [
|
|
@@ -324,9 +413,12 @@ async function loginHeadless(profileDir, deadline, target) {
|
|
|
324
413
|
"-localhost", "-forever", "-shared", "-noshm", "-quiet",
|
|
325
414
|
]));
|
|
326
415
|
await new Promise((r) => setTimeout(r, 1500));
|
|
327
|
-
// 4. noVNC web bridge —
|
|
416
|
+
// 4. noVNC web bridge — serves our branded vnc.html plus the
|
|
417
|
+
// installed noVNC core from a temp dir; localhost only,
|
|
418
|
+
// cloudflared reaches it.
|
|
419
|
+
rig.webDir = buildVncWebDir();
|
|
328
420
|
rig.procs.push(spawnBg("websockify", [
|
|
329
|
-
|
|
421
|
+
`--web=${rig.webDir}`,
|
|
330
422
|
`127.0.0.1:${webPort}`,
|
|
331
423
|
`localhost:${vncPort}`,
|
|
332
424
|
]));
|
|
@@ -335,27 +427,44 @@ async function loginHeadless(profileDir, deadline, target) {
|
|
|
335
427
|
const cf = spawnBg("cloudflared", ["tunnel", "--url", `http://127.0.0.1:${webPort}`]);
|
|
336
428
|
rig.procs.push(cf);
|
|
337
429
|
const tunnelUrl = await awaitTunnelUrl(cf, 30000);
|
|
430
|
+
// The VNC password rides in the URL *fragment* (#), not the query
|
|
431
|
+
// string — a fragment is never sent to the server, so it stays
|
|
432
|
+
// out of the cloudflared edge logs and any proxy in between. The
|
|
433
|
+
// branded vnc.html reads it from location.hash and connects with
|
|
434
|
+
// no prompt. Still printed separately as a fallback.
|
|
338
435
|
console.error("\n" + "=".repeat(64) + "\n" +
|
|
339
436
|
"[login] Open this on any device, any network:\n" +
|
|
340
|
-
` ${tunnelUrl}/vnc.html
|
|
341
|
-
`[login] VNC password: ${vncPassword}\n` +
|
|
342
|
-
`[login]
|
|
437
|
+
` ${tunnelUrl}/vnc.html#password=${vncPassword}\n` +
|
|
438
|
+
`[login] (if asked for a VNC password: ${vncPassword})\n` +
|
|
439
|
+
`[login] ${opts.bannerLabel}\n` +
|
|
343
440
|
"=".repeat(64) + "\n");
|
|
344
|
-
// 6. Wait for the
|
|
345
|
-
const ok = await
|
|
441
|
+
// 6. Wait for the side effect, then tear the whole stack down.
|
|
442
|
+
const ok = await pollUntil(opts.deadline, () => opts.pollUntilDone(context));
|
|
346
443
|
await context.close();
|
|
347
|
-
return ok
|
|
348
|
-
? { status: "logged_in" }
|
|
349
|
-
: { status: "timeout", detail: "no login completed before the deadline" };
|
|
444
|
+
return { status: ok ? "completed" : "timeout" };
|
|
350
445
|
}
|
|
351
446
|
finally {
|
|
352
447
|
await context.close().catch(() => undefined);
|
|
448
|
+
// Closed — the signal handler must not double-close it.
|
|
449
|
+
activeContext = undefined;
|
|
353
450
|
}
|
|
354
451
|
}
|
|
355
452
|
finally {
|
|
356
453
|
teardown(rig);
|
|
357
454
|
process.removeListener("exit", onExit);
|
|
455
|
+
process.removeListener("SIGTERM", onSignal);
|
|
456
|
+
process.removeListener("SIGINT", onSignal);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
// Shared timed-poll helper. `check` is invoked every 3s until it
|
|
460
|
+
// resolves true or the deadline passes.
|
|
461
|
+
async function pollUntil(deadline, check) {
|
|
462
|
+
while (Date.now() < deadline) {
|
|
463
|
+
if (await check())
|
|
464
|
+
return true;
|
|
465
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
358
466
|
}
|
|
467
|
+
return false;
|
|
359
468
|
}
|
|
360
469
|
// --- public entry ------------------------------------------------------
|
|
361
470
|
// Ensures `profileDir` holds a valid session for `provider`, doing
|
|
@@ -370,18 +479,100 @@ export async function ensureOAuthSession(opts) {
|
|
|
370
479
|
const timeoutMinutes = Math.max(1, opts?.timeoutMinutes ?? 15);
|
|
371
480
|
const deadline = Date.now() + timeoutMinutes * 60 * 1000;
|
|
372
481
|
try {
|
|
373
|
-
const result =
|
|
374
|
-
|
|
375
|
-
:
|
|
482
|
+
const result = await runInBotChrome({
|
|
483
|
+
profileDir,
|
|
484
|
+
url: target.loginUrl,
|
|
485
|
+
deadline,
|
|
486
|
+
bannerLabel: `You'll see a Chrome window — log into your ${target.label} account.`,
|
|
487
|
+
preflight: (ctx) => hasProviderSession(ctx, target),
|
|
488
|
+
pollUntilDone: (ctx) => hasProviderSession(ctx, target),
|
|
489
|
+
});
|
|
490
|
+
// Map runInBotChrome's status set to ensureOAuthSession's contract.
|
|
491
|
+
let mapped;
|
|
492
|
+
if (result.status === "preflight_satisfied") {
|
|
493
|
+
mapped = { status: "already_valid" };
|
|
494
|
+
}
|
|
495
|
+
else if (result.status === "completed") {
|
|
496
|
+
mapped = { status: "logged_in" };
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
mapped = { status: "timeout", detail: "no login completed before the deadline" };
|
|
500
|
+
}
|
|
376
501
|
// A confirmed session — record it so the signup bot can auto-prefer
|
|
377
502
|
// this provider's OAuth path without a probe round-trip.
|
|
378
|
-
if (
|
|
503
|
+
if (mapped.status === "logged_in" || mapped.status === "already_valid") {
|
|
379
504
|
markProviderLoggedIn(provider, profileDir);
|
|
380
505
|
}
|
|
381
|
-
return
|
|
506
|
+
return mapped;
|
|
507
|
+
}
|
|
508
|
+
catch (err) {
|
|
509
|
+
return { status: "error", detail: err instanceof Error ? err.message : String(err) };
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
// Public entry for the install flow: opens the trustysquire /install
|
|
513
|
+
// confirm URL in the bot's persistent Chrome profile, runs the
|
|
514
|
+
// user-supplied check until the install is claimed (or the deadline
|
|
515
|
+
// passes), then tears down. The user's Google/GitHub sign-in happens
|
|
516
|
+
// inside this Chrome instance — so the bot's profile gets a provider
|
|
517
|
+
// session as a free side effect, and there's no separate "log into
|
|
518
|
+
// Google for the bot" step after install.
|
|
519
|
+
export async function openInstallConfirmInBotChrome(opts) {
|
|
520
|
+
const profileDir = opts.profileDir ?? CHROME_PROFILE_DIR;
|
|
521
|
+
const timeoutMinutes = Math.max(1, opts.timeoutMinutes ?? 15);
|
|
522
|
+
const deadline = Date.now() + timeoutMinutes * 60 * 1000;
|
|
523
|
+
try {
|
|
524
|
+
const result = await runInBotChrome({
|
|
525
|
+
profileDir,
|
|
526
|
+
url: opts.confirmUrl,
|
|
527
|
+
deadline,
|
|
528
|
+
bannerLabel: `You'll see a Chrome window with the Trusty Squire install page. ` +
|
|
529
|
+
`Sign in there to connect this machine — you only sign in once.`,
|
|
530
|
+
pollUntilDone: () => opts.pollUntilClaimed(),
|
|
531
|
+
});
|
|
532
|
+
// The user's sign-in inside this Chrome leaves a provider session
|
|
533
|
+
// in the persistent profile — record both so the signup bot can
|
|
534
|
+
// ride either when the user later runs `provision_any_service`.
|
|
535
|
+
// (We don't know WHICH provider they used, so probe the profile
|
|
536
|
+
// by checking each target's cookies.)
|
|
537
|
+
if (result.status === "completed") {
|
|
538
|
+
// hasProviderSession needs a context, but the rig tore down
|
|
539
|
+
// already. Re-open headless quickly to probe. Cheaper than
|
|
540
|
+
// refactoring runInBotChrome to expose a post-close hook.
|
|
541
|
+
await markProvidersFromProfile(profileDir);
|
|
542
|
+
return { status: "claimed" };
|
|
543
|
+
}
|
|
544
|
+
return { status: "timeout", detail: "no install completed before the deadline" };
|
|
382
545
|
}
|
|
383
546
|
catch (err) {
|
|
384
547
|
return { status: "error", detail: err instanceof Error ? err.message : String(err) };
|
|
385
548
|
}
|
|
386
549
|
}
|
|
550
|
+
// Probe the bot's profile to see which providers (Google, GitHub) have
|
|
551
|
+
// a live session after a completed install confirm — and mark each so
|
|
552
|
+
// the signup bot's auto-OAuth path uses it without a round-trip.
|
|
553
|
+
// Best-effort: probe failures are non-fatal.
|
|
554
|
+
async function markProvidersFromProfile(profileDir) {
|
|
555
|
+
let context;
|
|
556
|
+
try {
|
|
557
|
+
const chromium = resolveChromium();
|
|
558
|
+
context = await chromium.launchPersistentContext(profileDir, {
|
|
559
|
+
channel: "chrome",
|
|
560
|
+
headless: true,
|
|
561
|
+
args: ["--no-sandbox", "--disable-dev-shm-usage"],
|
|
562
|
+
});
|
|
563
|
+
for (const provider of ["google", "github"]) {
|
|
564
|
+
const target = LOGIN_TARGETS[provider];
|
|
565
|
+
if (await hasProviderSession(context, target)) {
|
|
566
|
+
markProviderLoggedIn(provider, profileDir);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
catch {
|
|
571
|
+
// Probe failures are non-fatal — the user can rerun `mcp login`
|
|
572
|
+
// if the signup bot's OAuth-first path can't see the session.
|
|
573
|
+
}
|
|
574
|
+
finally {
|
|
575
|
+
await context?.close().catch(() => undefined);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
387
578
|
//# sourceMappingURL=google-login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-login.js","sourceRoot":"","sources":["../../src/bot/google-login.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-login.js","sourceRoot":"","sources":["../../src/bot/google-login.ts"],"names":[],"mappings":"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"}
|
package/dist/install/cli.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type AgentTarget } from "./agents.js";
|
|
2
2
|
import { type AsnInfo } from "../bot/index.js";
|
|
3
|
-
|
|
3
|
+
type ProviderArg = "google" | "github";
|
|
4
4
|
type Argv = {
|
|
5
5
|
command: string;
|
|
6
6
|
target?: AgentTarget;
|
|
7
7
|
apiBase: string;
|
|
8
|
-
withPair: boolean;
|
|
9
8
|
proxyUrl?: string;
|
|
10
|
-
|
|
9
|
+
providerArg?: ProviderArg;
|
|
10
|
+
skipBrowser: boolean;
|
|
11
11
|
};
|
|
12
12
|
declare function parseArgs(argv: string[]): Argv;
|
|
13
13
|
declare function resolveServerLaunch(): {
|
|
@@ -16,17 +16,16 @@ declare function resolveServerLaunch(): {
|
|
|
16
16
|
};
|
|
17
17
|
export declare function runCli(argv: string[]): Promise<void>;
|
|
18
18
|
declare function install(args: Argv): Promise<void>;
|
|
19
|
-
declare function pair(args: Argv): Promise<void>;
|
|
20
19
|
declare function logout(): Promise<void>;
|
|
21
20
|
declare function login(args: Argv): Promise<void>;
|
|
22
21
|
interface ClaimResult {
|
|
23
22
|
token: string;
|
|
24
23
|
account_id: string;
|
|
25
24
|
}
|
|
26
|
-
declare function pollForClaim(apiBase: string,
|
|
25
|
+
declare function pollForClaim(apiBase: string, setupCode: string, intervalMsOrOpts?: number | {
|
|
27
26
|
intervalMs?: number;
|
|
28
27
|
timeoutMs?: number;
|
|
29
28
|
}, timeoutMsArg?: number): Promise<ClaimResult | null>;
|
|
30
29
|
declare function printAsnWarning(asn: AsnInfo): void;
|
|
31
|
-
export { install,
|
|
30
|
+
export { install, logout, login, parseArgs, pollForClaim, printAsnWarning, resolveServerLaunch };
|
|
32
31
|
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAU1D,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvC,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAIhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,WAAW,CAAC,EAAE,WAAW,CAAC;IAM1B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAuCvC;AAcD,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMlE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGhD;AA+GD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AASD,iBAAe,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;AAsBD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAe,YAAY,CACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EAC3E,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoB7B;AAKD,iBAAS,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAyB3C;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC"}
|