@trusty-squire/mcp 0.8.0-rc.2 → 0.8.0-rc.5

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.
@@ -12,6 +12,10 @@ type Argv = {
12
12
  skipBrowser: boolean;
13
13
  forceRelogin: boolean;
14
14
  skipSecondary: boolean;
15
+ noInteractive: boolean;
16
+ llmChoice?: import("./interactive.js").LlmChoice;
17
+ byokKey?: string;
18
+ oauthProviders?: ("google" | "github")[];
15
19
  };
16
20
  declare function parseArgs(argv: string[]): Argv;
17
21
  /**
@@ -43,6 +47,7 @@ declare function resolveServerLaunch(): {
43
47
  };
44
48
  export declare function runCli(argv: string[]): Promise<void>;
45
49
  declare function connect(args: Argv): Promise<void>;
50
+ export declare function appendAlreadyParam(confirmUrl: string, providers: readonly string[]): string;
46
51
  declare function logout(): Promise<void>;
47
52
  declare function login(args: Argv): Promise<void>;
48
53
  interface ClaimResult {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAwB1D,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;IAMlB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAM1B,WAAW,EAAE,OAAO,CAAC;IAKrB,YAAY,EAAE,OAAO,CAAC;IAKtB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAkEvC;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOlE;AAED,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAwDlE;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,CAiIhD;AAmTD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AASD,iBAAe,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;AAyBD,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,CA4B3C;AAID,OAAO,EACL,OAAO,EACP,OAAO,IAAI,OAAO,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAyB1D,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;IAMlB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAM1B,WAAW,EAAE,OAAO,CAAC;IAKrB,YAAY,EAAE,OAAO,CAAC;IAKtB,aAAa,EAAE,OAAO,CAAC;IAIvB,aAAa,EAAE,OAAO,CAAC;IAKvB,SAAS,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;CAC1C,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA6EvC;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOlE;AAED,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAwDlE;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,CA0KhD;AAyUD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,CAeR;AAqBD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AASD,iBAAe,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;AA0BD,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,CA4B3C;AAID,OAAO,EACL,OAAO,EACP,OAAO,IAAI,OAAO,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,CAAC"}
@@ -52,6 +52,7 @@ import {} from "../bot/oauth-providers.js";
52
52
  import { clearAllProviderMarkers, clearProviderCookies, loggedInProviders, } from "../bot/login-state.js";
53
53
  import { VERSION } from "../version.js";
54
54
  import * as ui from "./ui.js";
55
+ import { runInteractiveSetup, shouldRunInteractive, showOutro } from "./interactive.js";
55
56
  import chalk from "chalk";
56
57
  const DEFAULT_API_BASE = process.env.TRUSTY_SQUIRE_API_BASE ?? "https://trusty-squire-api.fly.dev";
57
58
  // Default skill-registry URL. Wired into the MCP config's env block
@@ -84,6 +85,7 @@ function parseArgs(argv) {
84
85
  let skipBrowser = false;
85
86
  let forceRelogin = false;
86
87
  let skipSecondary = false;
88
+ let noInteractive = false;
87
89
  for (const arg of argv) {
88
90
  if (arg.startsWith("--target=")) {
89
91
  const t = arg.slice("--target=".length);
@@ -124,8 +126,19 @@ function parseArgs(argv) {
124
126
  else if (arg === "--skip-secondary") {
125
127
  skipSecondary = true;
126
128
  }
129
+ else if (arg === "--no-interactive") {
130
+ noInteractive = true;
131
+ }
127
132
  }
128
- const args = { command, apiBase, skipBrowser, forceRelogin, noRegistry, skipSecondary };
133
+ const args = {
134
+ command,
135
+ apiBase,
136
+ skipBrowser,
137
+ forceRelogin,
138
+ noRegistry,
139
+ skipSecondary,
140
+ noInteractive,
141
+ };
129
142
  if (target !== undefined)
130
143
  args.target = target;
131
144
  if (proxyUrl !== undefined && proxyUrl.length > 0)
@@ -267,8 +280,41 @@ export async function runCli(argv) {
267
280
  }
268
281
  }
269
282
  async function connect(args) {
270
- ui.heading("Trusty Squire");
271
- ui.hint("Setting up this machine.");
283
+ // 0.8.1 — interactive picker (clack), Goose-flavored. Walks the
284
+ // user through agent / OAuth providers / LLM choice / advanced
285
+ // before the install ceremony fires. The picker fills in args so
286
+ // the rest of this function is unchanged.
287
+ const wantInteractive = !args.noInteractive &&
288
+ shouldRunInteractive({
289
+ hasTty: process.stdin.isTTY === true,
290
+ skipBrowser: args.skipBrowser,
291
+ forceRelogin: args.forceRelogin,
292
+ });
293
+ if (wantInteractive) {
294
+ const picker = await runInteractiveSetup({
295
+ ...(args.target !== undefined ? { initialTarget: args.target } : {}),
296
+ ...(args.proxyUrl !== undefined ? { initialProxyUrl: args.proxyUrl } : {}),
297
+ ...(args.registryUrl !== undefined ? { initialRegistryUrl: args.registryUrl } : {}),
298
+ registryEnabled: !args.noRegistry,
299
+ });
300
+ args.target = picker.target;
301
+ args.llmChoice = picker.llmChoice;
302
+ if (picker.byokKey !== undefined)
303
+ args.byokKey = picker.byokKey;
304
+ args.oauthProviders = picker.oauthProviders;
305
+ if (picker.proxyUrl !== undefined)
306
+ args.proxyUrl = picker.proxyUrl;
307
+ if (!picker.registryEnabled) {
308
+ args.noRegistry = true;
309
+ }
310
+ else if (picker.registryUrl !== undefined) {
311
+ args.registryUrl = picker.registryUrl;
312
+ }
313
+ }
314
+ else {
315
+ ui.heading("Trusty Squire");
316
+ ui.hint("Setting up this machine.");
317
+ }
272
318
  const target = await resolveTarget(args.target);
273
319
  const agent = AGENTS[target];
274
320
  // Preflight: an existing install that's fully provisioned (machine
@@ -305,7 +351,11 @@ async function connect(args) {
305
351
  clearAllProviderMarkers();
306
352
  await clearProviderCookies();
307
353
  }
308
- ui.section(1, 2, "Connect Google");
354
+ // Step 1 opens trustysquire's install/confirm page in the bot's
355
+ // Chrome. That page accepts either Google or GitHub — so the label
356
+ // here is neutral. Step 2 (maybeOfferSecondaryProvider) prompts for
357
+ // whichever provider is still missing afterwards.
358
+ ui.section(1, 2, "Sign in to Trusty Squire");
309
359
  // Detect egress class so the asn rides along in the install payload
310
360
  // (API uses it to correlate captcha failures with network class).
311
361
  // Best-effort: a failure returns null and the install continues.
@@ -369,9 +419,19 @@ async function connect(args) {
369
419
  if (!args.skipBrowser) {
370
420
  await maybeOfferSecondaryProvider(args);
371
421
  }
372
- ui.divider();
373
- ui.panel(`Squire on duty. Restart ${agent.display_name} to pick up the new tools.\n\n` +
374
- `Try it ask your agent: ${ui.code(`"sign me up for Resend"`)}`, { color: "wine" });
422
+ // Visual consistency: when the picker was running, close with
423
+ // clack's `outro` so the bookends match. The flag-driven path keeps
424
+ // the boxen panel (its callers are typically CI / logs where
425
+ // clack's box would look noisier).
426
+ const closingLine = `Squire on duty. Restart ${agent.display_name} to pick up the new tools. ` +
427
+ `Try it — ask your agent: ${ui.code(`"sign me up for Resend"`)}`;
428
+ if (wantInteractive) {
429
+ showOutro(closingLine);
430
+ }
431
+ else {
432
+ ui.divider();
433
+ ui.panel(closingLine, { color: "wine" });
434
+ }
375
435
  }
376
436
  // Runs the browser-based install confirm flow.
377
437
  //
@@ -475,12 +535,20 @@ async function promptYesNo(message, defaultYes) {
475
535
  async function maybeOfferSecondaryProvider(args) {
476
536
  if (args.skipSecondary)
477
537
  return;
538
+ // 0.8.1 — if the interactive picker collected an oauthProviders
539
+ // shortlist, honor it: only prompt for missing providers the user
540
+ // actually wants. (Empty shortlist = user opted out of OAuth
541
+ // entirely; no prompt.)
542
+ const desired = args.oauthProviders;
543
+ if (desired !== undefined && desired.length === 0)
544
+ return;
478
545
  const present = new Set(loggedInProviders());
479
546
  // Force-relogin means "redo the OAuth dance", so even if the marker
480
547
  // (or stale Chrome-profile cookies from a prior session) suggests
481
548
  // both providers are already connected, prompt step 2 anyway —
482
549
  // otherwise the user can never re-seed the secondary provider via
483
- // `connect`. Step 1's label is "Connect Google", so we treat GitHub
550
+ // `connect`. Step 1 accepts either provider on the trustysquire
551
+ // install page, so we treat GitHub
484
552
  // as the secondary in that case.
485
553
  if (!args.forceRelogin) {
486
554
  if (present.size === 0)
@@ -491,6 +559,10 @@ async function maybeOfferSecondaryProvider(args) {
491
559
  const missing = args.forceRelogin
492
560
  ? (present.has("github") && !present.has("google") ? "google" : "github")
493
561
  : (present.has("google") ? "github" : "google");
562
+ // Honor the picker's shortlist — if the user said they only want
563
+ // Google, don't ambush them with a GitHub prompt afterwards.
564
+ if (desired !== undefined && !desired.includes(missing))
565
+ return;
494
566
  const missingLabel = missing === "google" ? "Google" : "GitHub";
495
567
  const missingExamples = missing === "github"
496
568
  ? "Railway, Vercel, parts of Cloudflare"
@@ -538,6 +610,28 @@ async function writeAgentConfig(target, agent, args) {
538
610
  if (!args.noRegistry) {
539
611
  env.TRUSTY_SQUIRE_REGISTRY_URL = args.registryUrl ?? DEFAULT_REGISTRY_URL;
540
612
  }
613
+ // 0.8.1 — LLM choice from the interactive picker (or future
614
+ // --llm/--byok-key flags). BYOK paths write the provider key as
615
+ // env; the server's LLM client picks the matching path. The
616
+ // managed-free path omits keys entirely so the server routes
617
+ // through our proxy (the rate-limited /v1/llm/chat endpoint).
618
+ switch (args.llmChoice) {
619
+ case "byok_openrouter":
620
+ if (args.byokKey !== undefined)
621
+ env.OPENROUTER_API_KEY = args.byokKey;
622
+ break;
623
+ case "byok_anthropic":
624
+ if (args.byokKey !== undefined)
625
+ env.ANTHROPIC_API_KEY = args.byokKey;
626
+ break;
627
+ case "byok_openai":
628
+ if (args.byokKey !== undefined)
629
+ env.OPENAI_API_KEY = args.byokKey;
630
+ break;
631
+ // "managed_free" / "skip" / undefined → no LLM env. The server's
632
+ // proxy path is the default; "skip" means the user will set keys
633
+ // themselves outside this CLI.
634
+ }
541
635
  await agent.writeConfig({
542
636
  command: launch.command,
543
637
  args: launch.args,
@@ -611,8 +705,13 @@ async function runInstallClaim(apiBase, target, baseSession, skipBrowser) {
611
705
  // threads through to the headless rig so it can shorten the
612
706
  // cloudflared tunnel URL to `trustysquire.ai/g/<slug>` before
613
707
  // printing it in the banner (G15).
708
+ //
709
+ // 0.8.0-rc.3 — append `?already=<csv>` listing providers the bot
710
+ // already has a cookie for, so apps/web/install can render a ✓
711
+ // badge on those rows and the user doesn't re-sign-in unnecessarily
712
+ // on a `--force-relogin` or follow-up `connect` run.
614
713
  const result = await openInstallConfirmInBotChrome({
615
- confirmUrl: initiate.confirm_url,
714
+ confirmUrl: appendAlreadyParam(initiate.confirm_url, loggedInProviders()),
616
715
  pollUntilClaimed: pollOnce,
617
716
  apiBaseUrl: apiBase,
618
717
  });
@@ -637,6 +736,31 @@ async function runInstallClaim(apiBase, target, baseSession, skipBrowser) {
637
736
  account_id: state.value.account_id,
638
737
  };
639
738
  }
739
+ // Decorate the trustysquire install URL with the providers the bot's
740
+ // local Chrome profile already has cookies for. The install page reads
741
+ // the `already` query param and renders a ✓ badge next to those rows
742
+ // so the user doesn't re-sign-in unnecessarily.
743
+ //
744
+ // Exported for tests. URL.searchParams handles encoding + idempotency
745
+ // (re-running connect twice doesn't keep concatenating the param).
746
+ export function appendAlreadyParam(confirmUrl, providers) {
747
+ if (providers.length === 0)
748
+ return confirmUrl;
749
+ let url;
750
+ try {
751
+ url = new URL(confirmUrl);
752
+ }
753
+ catch {
754
+ // Malformed URLs come from the API — propagate as-is rather than
755
+ // crashing the install. The page will render without badges.
756
+ return confirmUrl;
757
+ }
758
+ // Sort for stable URLs (helps the page memo/cache + makes tests
759
+ // deterministic).
760
+ const csv = [...new Set(providers)].sort().join(",");
761
+ url.searchParams.set("already", csv);
762
+ return url.toString();
763
+ }
640
764
  async function resolveTarget(explicit) {
641
765
  if (explicit !== undefined)
642
766
  return explicit;
@@ -708,6 +832,7 @@ function printHelp() {
708
832
  console.warn(` --proxy-url=<url> bake a residential proxy into the bot env`);
709
833
  console.warn(` --registry-url=<url> use a non-default skill registry`);
710
834
  console.warn(` --no-registry disable the Tier-2 router entirely`);
835
+ console.warn(` --no-interactive skip the TUI picker (use flag defaults only)`);
711
836
  console.warn("");
712
837
  console.warn(`${chalk.bold("Example")}`);
713
838
  console.warn(` ${ui.code("npx @trusty-squire/mcp connect")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type AgentTarget } from "./agents.js";
2
+ export interface InteractiveConfig {
3
+ target: AgentTarget;
4
+ oauthProviders: ("google" | "github")[];
5
+ llmChoice: LlmChoice;
6
+ byokKey?: string;
7
+ proxyUrl?: string;
8
+ registryEnabled: boolean;
9
+ registryUrl?: string;
10
+ }
11
+ export type LlmChoice = "managed_free" | "byok_openrouter" | "byok_anthropic" | "byok_openai" | "skip";
12
+ export declare function shouldRunInteractive(opts: {
13
+ hasTty: boolean;
14
+ skipBrowser: boolean;
15
+ forceRelogin: boolean;
16
+ }): boolean;
17
+ export declare function runInteractiveSetup(opts: {
18
+ initialTarget?: AgentTarget;
19
+ initialProxyUrl?: string;
20
+ initialRegistryUrl?: string;
21
+ registryEnabled: boolean;
22
+ }): Promise<InteractiveConfig>;
23
+ export declare function showOutro(message: string): void;
24
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/install/interactive.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI9E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAC;IAIpB,cAAc,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAGxC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,SAAS,GAEjB,cAAc,GAGd,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,GAEb,MAAM,CAAC;AAaX,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAKV;AAyPD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAI9C,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8C7B;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C"}
@@ -0,0 +1,287 @@
1
+ // Interactive install picker — the Goose / impeccable.style-flavored
2
+ // TUI that walks the user through agent selection, OAuth providers,
3
+ // and LLM provider config before the install ceremony fires.
4
+ //
5
+ // Powered by @clack/prompts (select / multiselect / text / confirm /
6
+ // note / intro / outro primitives, with consistent box styling).
7
+ // Activated when stdin is a TTY and the user didn't pass enough flags
8
+ // to imply scripted install. CI / piped input falls through to the
9
+ // flag-driven non-interactive path in cli.ts.
10
+ import { intro, outro, select, multiselect, confirm, text, note, isCancel, cancel, } from "@clack/prompts";
11
+ import chalk from "chalk";
12
+ import { detectInstalledAgents, AGENTS } from "./agents.js";
13
+ // Heuristic: should we run the picker, or fall through to the existing
14
+ // flag-driven flow? Run interactive when:
15
+ // - stdin is a TTY (so clack can actually read keystrokes)
16
+ // - the user didn't pass --skip-browser or any flag that implies
17
+ // they're scripting the install (in which case interactive would
18
+ // just be a hurdle in CI)
19
+ //
20
+ // Anything that already has a definitive choice baked in (an explicit
21
+ // --target=, a --proxy-url=, etc.) still gets to flow through the
22
+ // picker — the picker prefills those choices and the user just hits
23
+ // enter to accept. The scripted detection is intentionally narrow.
24
+ export function shouldRunInteractive(opts) {
25
+ if (!opts.hasTty)
26
+ return false;
27
+ // --skip-browser implies CI / scripted: no picker.
28
+ if (opts.skipBrowser)
29
+ return false;
30
+ return true;
31
+ }
32
+ // Cancel-guard. clack returns a Symbol on Ctrl-C; treating it as a
33
+ // regular value is a footgun (typescript narrows it to its concrete
34
+ // generic type, not Symbol). Wrap each picker call in this and bail
35
+ // cleanly if the user cancelled.
36
+ function bailIfCancelled(value) {
37
+ if (isCancel(value)) {
38
+ cancel("Install cancelled.");
39
+ process.exit(130); // 128 + SIGINT
40
+ }
41
+ return value;
42
+ }
43
+ // The Goose-style intro panel. Branded title + one-line subtitle.
44
+ function showIntro() {
45
+ intro(chalk.hex("#cf3a52").bold("Trusty Squire") + chalk.dim(" — setup"));
46
+ }
47
+ async function pickAgent(detected) {
48
+ // One detected → fast-path confirm.
49
+ if (detected.length === 1) {
50
+ const only = detected[0];
51
+ const yes = bailIfCancelled(await confirm({
52
+ message: `Configure for ${chalk.bold(only.display_name)}?`,
53
+ initialValue: true,
54
+ }));
55
+ if (yes)
56
+ return only.target;
57
+ // User said no — fall through to the full picker so they can choose
58
+ // a different one (or the same one explicitly).
59
+ }
60
+ // Zero detected OR user declined the one-detected fast-path → full
61
+ // picker against the registered agents. Each clack option carries
62
+ // a string-literal `value`, so we cast the array shape — without
63
+ // the cast TS narrows to the union of all per-entry types and the
64
+ // map() output won't fit.
65
+ const value = bailIfCancelled(await select({
66
+ message: "Which coding agent should we configure?",
67
+ options: Object.values(AGENTS).map((a) => {
68
+ const hint = detected.some((d) => d.target === a.target)
69
+ ? "installed"
70
+ : "";
71
+ return { value: a.target, label: a.display_name, hint };
72
+ }),
73
+ }));
74
+ return value;
75
+ }
76
+ async function pickOAuthProviders() {
77
+ const value = bailIfCancelled(await multiselect({
78
+ message: "Connect OAuth providers (recommended — most services accept one of these)",
79
+ // Both checked by default — services like Railway only accept
80
+ // GitHub, services like Resend only accept Google, so the
81
+ // default-everything path serves the broadest user. Users
82
+ // who only want one can uncheck.
83
+ initialValues: ["google", "github"],
84
+ options: [
85
+ { value: "google", label: "Google", hint: "Resend, IPInfo, Postmark, most SaaS" },
86
+ { value: "github", label: "GitHub", hint: "Railway, Vercel, Cloudflare, dev tools" },
87
+ ],
88
+ required: false,
89
+ }));
90
+ return value;
91
+ }
92
+ async function pickLlmConfig() {
93
+ const choice = bailIfCancelled(await select({
94
+ message: "How should the bot pay for LLM calls? (Claude vision powers form-fill on every signup)",
95
+ initialValue: "managed_free",
96
+ options: [
97
+ {
98
+ value: "managed_free",
99
+ label: "Free tier",
100
+ hint: "We cover the first ~10 signups, then ask you to upgrade",
101
+ },
102
+ {
103
+ value: "byok_openrouter",
104
+ label: "OpenRouter",
105
+ hint: "BYOK — use your own OpenRouter key",
106
+ },
107
+ {
108
+ value: "byok_anthropic",
109
+ label: "Anthropic",
110
+ hint: "BYOK — use your own Anthropic key (direct Claude API)",
111
+ },
112
+ {
113
+ value: "byok_openai",
114
+ label: "OpenAI",
115
+ hint: "BYOK — use your own OpenAI key (GPT-4 vision)",
116
+ },
117
+ {
118
+ value: "skip",
119
+ label: "Skip — I'll configure LLM env vars manually",
120
+ hint: "Advanced",
121
+ },
122
+ ],
123
+ }));
124
+ if (choice === "managed_free" || choice === "skip")
125
+ return { choice };
126
+ // BYOK chosen → ask for the key. clack's text() shows the input
127
+ // inline; we don't echo "***" because that flickers more than it
128
+ // protects, and the key is going to disk in the MCP config anyway.
129
+ const providerLabel = choice === "byok_openrouter"
130
+ ? "OpenRouter"
131
+ : choice === "byok_anthropic"
132
+ ? "Anthropic"
133
+ : "OpenAI";
134
+ const key = bailIfCancelled(await text({
135
+ message: `Paste your ${providerLabel} API key`,
136
+ placeholder: choice === "byok_anthropic" ? "sk-ant-…" : "sk-…",
137
+ validate: (v) => {
138
+ if (v === undefined || v.length < 8)
139
+ return "That key looks too short.";
140
+ return undefined;
141
+ },
142
+ }));
143
+ return { choice, byokKey: (key ?? "").trim() };
144
+ }
145
+ async function pickAdvancedOptions() {
146
+ const wantAdvanced = bailIfCancelled(await confirm({
147
+ message: "Configure advanced options? (proxy, skill registry)",
148
+ initialValue: false,
149
+ }));
150
+ if (!wantAdvanced) {
151
+ return { registryEnabled: true };
152
+ }
153
+ // Residential proxy. Most users skip this — datacenter egress is
154
+ // re-routed through our proxy automatically when configured; only
155
+ // power users running on a misclassified residential network ever
156
+ // touch this.
157
+ const wantProxy = bailIfCancelled(await confirm({
158
+ message: "Route the bot through a residential proxy?",
159
+ initialValue: false,
160
+ }));
161
+ let proxyUrl;
162
+ if (wantProxy) {
163
+ const url = bailIfCancelled(await text({
164
+ message: "Proxy URL (http://user:pass@host:port or socks5://…)",
165
+ validate: (v) => {
166
+ if (v === undefined || !/^(http|https|socks5):\/\//.test(v)) {
167
+ return "URL must start with http://, https://, or socks5://";
168
+ }
169
+ return undefined;
170
+ },
171
+ }));
172
+ proxyUrl = (url ?? "").trim();
173
+ }
174
+ // Skill registry. Default on (Tier-2 router); off bypasses it
175
+ // entirely (every signup goes through the universal bot).
176
+ const registryEnabled = bailIfCancelled(await confirm({
177
+ message: "Enable the skill registry router? (Recommended — reuses cached recipes for ~30s signups)",
178
+ initialValue: true,
179
+ }));
180
+ let registryUrl;
181
+ if (registryEnabled) {
182
+ const wantCustomRegistry = bailIfCancelled(await confirm({
183
+ message: "Use a custom registry URL? (default: production)",
184
+ initialValue: false,
185
+ }));
186
+ if (wantCustomRegistry) {
187
+ const url = bailIfCancelled(await text({
188
+ message: "Registry base URL",
189
+ placeholder: "https://registry.trustysquire.ai",
190
+ validate: (v) => {
191
+ if (v === undefined || !/^https?:\/\//.test(v))
192
+ return "Must be an http:// or https:// URL.";
193
+ return undefined;
194
+ },
195
+ }));
196
+ registryUrl = (url ?? "").trim();
197
+ }
198
+ }
199
+ return {
200
+ registryEnabled,
201
+ ...(proxyUrl !== undefined ? { proxyUrl } : {}),
202
+ ...(registryUrl !== undefined ? { registryUrl } : {}),
203
+ };
204
+ }
205
+ function summarize(config) {
206
+ const lines = [];
207
+ const agentLabel = AGENTS[config.target].display_name;
208
+ lines.push(`${chalk.dim("Agent: ")}${chalk.bold(agentLabel)}`);
209
+ const providers = config.oauthProviders.length > 0
210
+ ? config.oauthProviders.map((p) => (p === "google" ? "Google" : "GitHub")).join(" + ")
211
+ : chalk.dim("(none — manual signup only)");
212
+ lines.push(`${chalk.dim("OAuth: ")}${providers}`);
213
+ lines.push(`${chalk.dim("LLM: ")}${llmChoiceLabel(config.llmChoice)}`);
214
+ if (config.proxyUrl !== undefined) {
215
+ lines.push(`${chalk.dim("Proxy: ")}${config.proxyUrl}`);
216
+ }
217
+ if (!config.registryEnabled) {
218
+ lines.push(`${chalk.dim("Registry: ")}${chalk.yellow("disabled")}`);
219
+ }
220
+ else if (config.registryUrl !== undefined) {
221
+ lines.push(`${chalk.dim("Registry: ")}${config.registryUrl}`);
222
+ }
223
+ note(lines.join("\n"), "Setup summary");
224
+ }
225
+ function llmChoiceLabel(c) {
226
+ switch (c) {
227
+ case "managed_free":
228
+ return "Free tier (we cover ~10 signups)";
229
+ case "byok_openrouter":
230
+ return "OpenRouter (BYOK)";
231
+ case "byok_anthropic":
232
+ return "Anthropic (BYOK)";
233
+ case "byok_openai":
234
+ return "OpenAI (BYOK)";
235
+ case "skip":
236
+ return chalk.dim("(none configured — you'll set env vars manually)");
237
+ }
238
+ }
239
+ // The main entry point. Walks the user through pickers and returns a
240
+ // resolved config. Caller (connect() in cli.ts) decides whether to
241
+ // run it (via shouldRunInteractive) and then feeds the result into the
242
+ // existing install ceremony.
243
+ export async function runInteractiveSetup(opts) {
244
+ showIntro();
245
+ // Agent: honor --target if passed, else pick.
246
+ const detected = await detectInstalledAgents();
247
+ const target = opts.initialTarget ?? (await pickAgent(detected));
248
+ const oauthProviders = await pickOAuthProviders();
249
+ const { choice: llmChoice, byokKey } = await pickLlmConfig();
250
+ // Default-no advanced when --proxy-url isn't passed; if it IS passed,
251
+ // jump straight to confirming the value rather than asking yes/no.
252
+ const advanced = opts.initialProxyUrl !== undefined || opts.initialRegistryUrl !== undefined
253
+ ? {
254
+ registryEnabled: opts.registryEnabled,
255
+ ...(opts.initialProxyUrl !== undefined ? { proxyUrl: opts.initialProxyUrl } : {}),
256
+ ...(opts.initialRegistryUrl !== undefined
257
+ ? { registryUrl: opts.initialRegistryUrl }
258
+ : {}),
259
+ }
260
+ : await pickAdvancedOptions();
261
+ const config = {
262
+ target,
263
+ oauthProviders,
264
+ llmChoice,
265
+ ...(byokKey !== undefined ? { byokKey } : {}),
266
+ ...(advanced.proxyUrl !== undefined ? { proxyUrl: advanced.proxyUrl } : {}),
267
+ registryEnabled: advanced.registryEnabled,
268
+ ...(advanced.registryUrl !== undefined ? { registryUrl: advanced.registryUrl } : {}),
269
+ };
270
+ summarize(config);
271
+ const proceed = bailIfCancelled(await confirm({
272
+ message: "Proceed with these settings?",
273
+ initialValue: true,
274
+ }));
275
+ if (!proceed) {
276
+ cancel("Install cancelled.");
277
+ process.exit(0);
278
+ }
279
+ return config;
280
+ }
281
+ // Public so cli.ts can emit the final celebratory line through clack
282
+ // after the install ceremony finishes — keeps the box styling
283
+ // consistent.
284
+ export function showOutro(message) {
285
+ outro(message);
286
+ }
287
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/install/interactive.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trusty-squire/mcp",
3
- "version": "0.8.0-rc.2",
3
+ "version": "0.8.0-rc.5",
4
4
  "mcpName": "io.github.Trusty-Squire/mcp",
5
5
  "type": "module",
6
6
  "description": "Local MCP server vibe coding agents install. Thin relay to the Trusty Squire API, with the bundled universal signup bot.",
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@anthropic-ai/sdk": "^0.32.1",
34
+ "@clack/prompts": "^0.11.0",
34
35
  "@modelcontextprotocol/sdk": "^1.0.4",
35
36
  "boxen": "^8.0.1",
36
37
  "canonicalize": "^2.0.0",