@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.
- package/dist/install/cli.d.ts +5 -0
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +134 -9
- package/dist/install/cli.js.map +1 -1
- package/dist/install/interactive.d.ts +24 -0
- package/dist/install/interactive.d.ts.map +1 -0
- package/dist/install/interactive.js +287 -0
- package/dist/install/interactive.js.map +1 -0
- package/package.json +2 -1
package/dist/install/cli.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/install/cli.js
CHANGED
|
@@ -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 = {
|
|
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
|
-
|
|
271
|
-
|
|
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
|
-
|
|
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
|
-
|
|
373
|
-
|
|
374
|
-
|
|
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
|
|
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")}`);
|
package/dist/install/cli.js.map
CHANGED
|
@@ -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":"AAAA,oDAAoD;AACpD,EAAE;AACF,wDAAwD;AACxD,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,qEAAqE;AACrE,oCAAoC;AACpC,qEAAqE;AACrE,6DAA6D;AAC7D,wCAAwC;AACxC,EAAE;AACF,4DAA4D;AAC5D,sEAAsE;AACtE,qEAAqE;AACrE,iDAAiD;AACjD,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,SAAS;AACT,6CAA6C;AAC7C,mDAAmD;AACnD,2DAA2D;AAC3D,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,wEAAwE;AACxE,uDAAuD;AACvD,iEAAiE;AACjE,sEAAsE;AACtE,4DAA4D;AAC5D,kEAAkE;AAClE,sDAAsD;AACtD,kEAAkE;AAClE,oEAAoE;AACpE,qEAAqE;AACrE,EAAE;AACF,gEAAgE;AAChE,4CAA4C;AAE5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAoB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAoB,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAwB,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,mCAAmC,CAAC;AACnG,oEAAoE;AACpE,qEAAqE;AACrE,gEAAgE;AAChE,mEAAmE;AACnE,gBAAgB;AAChB,MAAM,oBAAoB,GACxB,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,kCAAkC,CAAC;AAqD/E,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,qEAAqE;IACrE,sEAAsE;IACtE,0DAA0D;IAC1D,IAAI,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,8CAA8C;YAC5C,gEAAgE;YAChE,gEAAgE,CACnE,CAAC;QACF,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,IAAI,MAA+B,CAAC;IACpC,IAAI,OAAO,GAAG,gBAAgB,CAAC;IAC/B,IAAI,QAA4B,CAAC;IACjC,IAAI,WAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,WAAoC,CAAC;IACzC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,+DAA+D;gBAC/D,gEAAgE;gBAChE,+DAA+D;gBAC/D,OAAO,CAAC,KAAK,CACX,qBAAqB,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ;gBAAE,WAAW,GAAG,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAC9D,8DAA8D;YAC9D,+BAA+B;YAC/B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACtC,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACtC,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAS;QACjB,OAAO;QACP,OAAO;QACP,WAAW;QACX,YAAY;QACZ,UAAU;QACV,aAAa;QACb,aAAa;KACd,CAAC;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5E,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACxF,IAAI,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,mEAAmE;IACnE,qEAAqE;IACrE,2BAA2B;IAC3B,OAAO,CAAC,IAAI,MAAM,CAAC;AACrB,CAAC;AAED,gEAAgE;AAChE,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,6CAA6C;AAC7C,EAAE;AACF,0DAA0D;AAC1D,mEAAmE;AACnE,iEAAiE;AACjE,6EAA6E;AAC7E,gEAAgE;AAChE,wDAAwD;AACxD,EAAE;AACF,8DAA8D;AAC9D,gEAAgE;AAChE,gEAAgE;AAChE,iEAAiE;AACjE,wEAAwE;AACxE,qEAAqE;AACrE,oCAAoC;AACpC,EAAE;AACF,qEAAqE;AACrE,yDAAyD;AACzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,IAAY;IAC1D,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE;QAChB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,sBAAsB,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,8DAA8D;IAC9D,gEAAgE;IAChE,EAAE;IACF,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,EAAE;IACF,iCAAiC;IACjC,aAAa;IACb,oBAAoB;IACpB,mDAAmD;IACnD,kEAAkE;IAClE,sEAAsE;IACtE,EAAE;IACF,mDAAmD;IACnD,mDAAmD;IACnD,iEAAiE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oCAAoC;IAC/E,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB;IACtE,MAAM,SAAS,GAAG,IAAI,CACpB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;IACF,IAAI,CAAC;QACH,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oEAAoE;QACpE,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,OAAO,CAAC,IAAI,CACV,qEAAqE;YACnE,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB;YAC3E,iDAAiD,CACpD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,MAAM,EAAE,CAAC;YACf,OAAO;QACT,KAAK,OAAO;YACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,KAAK,MAAM;YACT,SAAS,EAAE,CAAC;YACZ,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAU;IAC/B,gEAAgE;IAChE,+DAA+D;IAC/D,iEAAiE;IACjE,0CAA0C;IAC1C,MAAM,eAAe,GACnB,CAAC,IAAI,CAAC,aAAa;QACnB,oBAAoB,CAAC;YACnB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;YACpC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,eAAe,EAAE,CAAC,IAAI,CAAC,UAAU;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,mEAAmE;IACnE,qEAAqE;IACrE,mEAAmE;IACnE,oEAAoE;IACpE,uEAAuE;IACvE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAClD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,EAAE,CAAC,OAAO,CACR,wBAAwB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;gBAC1D,GAAG,KAAK,CAAC,YAAY,oBAAoB,CAC5C,CAAC;YACF,2DAA2D;YAC3D,wDAAwD;YACxD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS;gBAAE,MAAM,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACtE,0DAA0D;YAC1D,gEAAgE;YAChE,mDAAmD;YACnD,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CACV,oFAAoF,CACrF,CAAC;IAEF,iEAAiE;IACjE,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,uBAAuB,EAAE,CAAC;QAC1B,MAAM,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IACD,gEAAgE;IAChE,mEAAmE;IACnE,oEAAoE;IACpE,kDAAkD;IAClD,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAE7C,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC;QAC/B,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,GAAG,EAAE,CAAC,uCAAuC;QACnD,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KACxB,CAAC,CAAC;IAEH,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,qEAAqE;IACrE,gBAAgB;IAChB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC;QACnC,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,SAAS,CAAC;KACrE,CAAC,CAAC;IAEH,mEAAmE;IACnE,kEAAkE;IAClE,kEAAkE;IAClE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,eAAe,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,oEAAoE;IACpE,kEAAkE;IAClE,kEAAkE;IAClE,+DAA+D;IAC/D,kEAAkE;IAClE,eAAe;IACf,MAAM,WAAW,GAAgB;QAC/B,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3F,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,EAAE,CAAC,IAAI,CACL,4DAA4D;YAC1D,cAAc,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAC5D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,EAAE,CAAC,OAAO,CAAC,kBAAkB,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEvD,oEAAoE;IACpE,6DAA6D;IAC7D,wCAAwC;IACxC,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE;QAAE,MAAM,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,EAAE,CAAC,KAAK,CACN,4EAA4E;YAC1E,wCAAwC;YACxC,KAAK,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,EAAE,EAC3E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CACvC,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,oEAAoE;IACpE,0DAA0D;IAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,8DAA8D;IAC9D,oEAAoE;IACpE,6DAA6D;IAC7D,mCAAmC;IACnC,MAAM,WAAW,GACf,2BAA2B,KAAK,CAAC,YAAY,6BAA6B;QAC1E,4BAA4B,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;IACnE,IAAI,eAAe,EAAE,CAAC;QACpB,SAAS,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,gEAAgE;AAChE,oEAAoE;AACpE,oCAAoC;AACpC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,gEAAgE;AAChE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,mEAAmE;AACnE,mEAAmE;AACnE,KAAK,UAAU,uBAAuB;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,IACE,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,aAAa,KAAK,SAAS;YACnC,OAAO,CAAC,mBAAmB,KAAK,SAAS;YACzC,OAAO,CAAC,UAAU,KAAK,SAAS,EAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,8DAA8D;AAC9D,oEAAoE;AACpE,4DAA4D;AAC5D,KAAK,UAAU,uBAAuB,CAAC,QAAyB;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,GAAG,OAAO;YACV,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC;YACjC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;QAC5D,4DAA4D;QAC5D,gEAAgE;QAChE,+DAA+D;QAC/D,wBAAwB;IAC1B,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,qEAAqE;AACrE,kEAAkE;AAClE,+DAA+D;AAC/D,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,UAAmB;IAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAC5C,OAAO,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,+DAA+D;AAC/D,+DAA+D;AAC/D,EAAE;AACF,iBAAiB;AACjB,2EAA2E;AAC3E,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,wDAAwD;AACxD,KAAK,UAAU,2BAA2B,CAAC,IAAU;IACnD,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO;IAC/B,gEAAgE;IAChE,kEAAkE;IAClE,6DAA6D;IAC7D,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7C,oEAAoE;IACpE,kEAAkE;IAClE,+DAA+D;IAC/D,kEAAkE;IAClE,gEAAgE;IAChE,mCAAmC;IACnC,iCAAiC;IACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,gDAAgD;QAChF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,yBAAyB;IACvF,CAAC;IACD,MAAM,OAAO,GAAoB,IAAI,CAAC,YAAY;QAChD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,iEAAiE;IACjE,6DAA6D;IAC7D,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO;IAChE,MAAM,YAAY,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChE,MAAM,eAAe,GACnB,OAAO,KAAK,QAAQ;QAClB,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,0BAA0B,CAAC;IAEjC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,EAAE,CAAC,IAAI,CACL,qBAAqB,YAAY,UAAU,eAAe,IAAI,CAC/D,CAAC;IACF,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,YAAY,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,YAAY,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,EAAE,CAAC,IAAI,CACL,yBAAyB,EAAE,CAAC,IAAI,CAAC,2CAA2C,OAAO,EAAE,CAAC,EAAE,CACzF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,uBAAuB,YAAY,WAAW,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,IAAI,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACvE,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvC,EAAE,CAAC,OAAO,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,IAAI,CACL,GAAG,YAAY,6BAA6B,MAAM,CAAC,MAAM,KAAK;YAC5D,UAAU,EAAE,CAAC,IAAI,CAAC,2CAA2C,OAAO,EAAE,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,sBAAsB;AACtB,KAAK,UAAU,gBAAgB,CAC7B,MAAmB,EACnB,KAAmC,EACnC,IAAU;IAEV,mEAAmE;IACnE,kEAAkE;IAClE,8CAA8C;IAC9C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,GAAG,GAA2B;QAClC,4BAA4B,EAAE,MAAM;QACpC,0BAA0B,EAAE,MAAM;KACnC,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9C,CAAC;IACD,mEAAmE;IACnE,8DAA8D;IAC9D,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,GAAG,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAC5E,CAAC;IACD,4DAA4D;IAC5D,gEAAgE;IAChE,4DAA4D;IAC5D,6DAA6D;IAC7D,8DAA8D;IAC9D,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,iBAAiB;YACpB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;YACtE,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;YACrE,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;YAClE,MAAM;QACR,iEAAiE;QACjE,iEAAiE;QACjE,+BAA+B;IACjC,CAAC;IACD,MAAM,KAAK,CAAC,WAAW,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG;KACJ,CAAC,CAAC;IACH,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,YAAY,kBAAkB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,EAAE,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,EAAE,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;IACrG,CAAC;SAAM,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC1C,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,MAAmB,EACnB,WAAwB,EACxB,WAAoB;IAEpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,OAAO,EACP,MAAM,EACN,WAAW,CAAC,aAAa,IAAI,IAAI,CAClC,CAAC;IAEF,oEAAoE;IACpE,oEAAoE;IACpE,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,KAAK,GAA4D,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvF,MAAM,QAAQ,GAAG,KAAK,IAAsB,EAAE;QAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5E,KAAK,CAAC,KAAK,GAAG;gBACZ,KAAK,EAAE,MAAM,CAAC,mBAAmB;gBACjC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;aACpC,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,+DAA+D;QAC/D,4DAA4D;QAC5D,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,CAAC,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,qEAAqE;QACrE,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,YAAY;QACZ,EAAE,CAAC,KAAK,CACN,8CAA8C,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAC7E,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CACpC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO;YACL,GAAG,WAAW;YACd,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,mBAAmB,EAAE,EAAE,CAAC,KAAK;YAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,mEAAmE;IACnE,8DAA8D;IAC9D,4DAA4D;IAC5D,8DAA8D;IAC9D,mCAAmC;IACnC,EAAE;IACF,iEAAiE;IACjE,+DAA+D;IAC/D,oEAAoE;IACpE,qDAAqD;IACrD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;QACjD,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACzE,gBAAgB,EAAE,QAAQ;QAC1B,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;IAEH,oEAAoE;IACpE,iEAAiE;IACjE,iEAAiE;IACjE,gEAAgE;IAChE,iEAAiE;IACjE,mEAAmE;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,mCAAmC,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,YAAY,EAAE,OAAO;QACrB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;QACtC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;KACnC,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,SAA4B;IAE5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;QACjE,6DAA6D;QAC7D,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,gEAAgE;IAChE,kBAAkB;IAClB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAiC;IAC5D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAE,CAAC,YAAY,8BAA8B,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,oEAAoE;AACpE,kEAAkE;AAClE,gEAAgE;AAChE,oEAAoE;AACpE,uEAAuE;AACvE,sEAAsE;AACtE,gDAAgD;AAChD,KAAK,UAAU,KAAK,CAAC,IAAU;IAC7B,MAAM,QAAQ,GACZ,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,eAAe;YAClB,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,OAAO,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;YAC7C,OAAO;QACT,KAAK,WAAW;YACd,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,OAAO,CAAC,gBAAgB,KAAK,qBAAqB,CAAC,CAAC;YACvD,OAAO;QACT,KAAK,SAAS;YACZ,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,OAAO;YACV,EAAE,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,0CAA0C,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACxE,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC;AAOD,KAAK,UAAU,YAAY,CACzB,OAAe,EACf,SAAiB,EACjB,mBAAyE,EAAE,EAC3E,YAAqB;IAErB,MAAM,IAAI,GACR,OAAO,gBAAgB,KAAK,QAAQ;QAClC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE;QAC3D,CAAC,CAAC,gBAAgB,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,mBAAmB;gBACjC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;aACpC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mEAAmE;AACnE,mEAAmE;AACnE,wDAAwD;AACxD,SAAS,eAAe,CAAC,GAAY;IACnC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC;IAC9C,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,YAAY;YACf,EAAE,CAAC,KAAK,CACN,qBAAqB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC5C,iEAAiE;gBACjE,2DAA2D;gBAC3D,mEAAmE;gBACnE,wCAAwC;gBACxC,iEAAiE;gBACjE,qEAAqE;gBACrE,kEAAkE;gBAClE,8DAA8D,EAChE,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpD,CAAC;YACF,OAAO;QACT,KAAK,aAAa;YAChB,EAAE,CAAC,OAAO,CACR,qBAAqB,UAAU,+CAA+C,CAC/E,CAAC;YACF,OAAO;QACT,KAAK,SAAS;YACZ,EAAE,CAAC,IAAI,CACL,qBAAqB,UAAU,8CAA8C,CAC9E,CAAC;YACF,OAAO;IACX,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,OAAO,EACL,OAAO,EACP,OAAO,IAAI,OAAO,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,CAAC"}
|
|
@@ -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.
|
|
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",
|