@autohq/cli 0.1.181 → 0.1.183
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/agent-bridge.js +1 -1
- package/dist/index.js +253 -101
- package/package.json +1 -1
package/dist/agent-bridge.js
CHANGED
|
@@ -26571,7 +26571,7 @@ Object.assign(lookup, {
|
|
|
26571
26571
|
// package.json
|
|
26572
26572
|
var package_default = {
|
|
26573
26573
|
name: "@autohq/cli",
|
|
26574
|
-
version: "0.1.
|
|
26574
|
+
version: "0.1.183",
|
|
26575
26575
|
license: "SEE LICENSE IN README.md",
|
|
26576
26576
|
publishConfig: {
|
|
26577
26577
|
access: "public"
|
package/dist/index.js
CHANGED
|
@@ -343,8 +343,8 @@ async function createOAuthLoopbackCallback(input) {
|
|
|
343
343
|
});
|
|
344
344
|
let resolveResult;
|
|
345
345
|
let rejectResult;
|
|
346
|
-
const result = new Promise((
|
|
347
|
-
resolveResult =
|
|
346
|
+
const result = new Promise((resolve4, reject) => {
|
|
347
|
+
resolveResult = resolve4;
|
|
348
348
|
rejectResult = reject;
|
|
349
349
|
});
|
|
350
350
|
const server = createServer((request, response) => {
|
|
@@ -606,14 +606,14 @@ async function listenOnPreferredPort(server, port) {
|
|
|
606
606
|
}
|
|
607
607
|
}
|
|
608
608
|
async function listen(server, port) {
|
|
609
|
-
await new Promise((
|
|
609
|
+
await new Promise((resolve4, reject) => {
|
|
610
610
|
const onError = (error51) => {
|
|
611
611
|
server.off("listening", onListening);
|
|
612
612
|
reject(error51);
|
|
613
613
|
};
|
|
614
614
|
const onListening = () => {
|
|
615
615
|
server.off("error", onError);
|
|
616
|
-
|
|
616
|
+
resolve4();
|
|
617
617
|
};
|
|
618
618
|
server.once("error", onError);
|
|
619
619
|
server.once("listening", onListening);
|
|
@@ -884,7 +884,7 @@ function persistLogin(config2, input) {
|
|
|
884
884
|
}
|
|
885
885
|
}
|
|
886
886
|
async function sleep(ms) {
|
|
887
|
-
await new Promise((
|
|
887
|
+
await new Promise((resolve4) => setTimeout(resolve4, ms));
|
|
888
888
|
}
|
|
889
889
|
var init_login = __esm({
|
|
890
890
|
"src/commands/auth/login.ts"() {
|
|
@@ -21681,7 +21681,7 @@ var init_package = __esm({
|
|
|
21681
21681
|
"package.json"() {
|
|
21682
21682
|
package_default = {
|
|
21683
21683
|
name: "@autohq/cli",
|
|
21684
|
-
version: "0.1.
|
|
21684
|
+
version: "0.1.183",
|
|
21685
21685
|
license: "SEE LICENSE IN README.md",
|
|
21686
21686
|
publishConfig: {
|
|
21687
21687
|
access: "public"
|
|
@@ -24256,7 +24256,7 @@ function resolveEditor(input) {
|
|
|
24256
24256
|
return input.env.VISUAL?.trim() || input.env.EDITOR?.trim() || "vi";
|
|
24257
24257
|
}
|
|
24258
24258
|
async function runEditor(editor, filePath) {
|
|
24259
|
-
await new Promise((
|
|
24259
|
+
await new Promise((resolve4, reject) => {
|
|
24260
24260
|
const child = spawn2(editor, [filePath], {
|
|
24261
24261
|
shell: true,
|
|
24262
24262
|
stdio: "inherit"
|
|
@@ -24268,7 +24268,7 @@ async function runEditor(editor, filePath) {
|
|
|
24268
24268
|
});
|
|
24269
24269
|
child.on("close", (code, signal) => {
|
|
24270
24270
|
if (code === 0) {
|
|
24271
|
-
|
|
24271
|
+
resolve4();
|
|
24272
24272
|
return;
|
|
24273
24273
|
}
|
|
24274
24274
|
if (signal) {
|
|
@@ -24326,6 +24326,70 @@ var init_actions2 = __esm({
|
|
|
24326
24326
|
}
|
|
24327
24327
|
});
|
|
24328
24328
|
|
|
24329
|
+
// src/lib/branding/auto-logo.ts
|
|
24330
|
+
function autoLogo(style = plainStyle, terminalWidth) {
|
|
24331
|
+
const width = terminalWidth ?? Number.POSITIVE_INFINITY;
|
|
24332
|
+
const logo = AUTO_LOGOS.find(
|
|
24333
|
+
(candidate) => logoWidth(candidate) <= width
|
|
24334
|
+
) ?? ["auto"];
|
|
24335
|
+
return logo.map((line) => style.id(line));
|
|
24336
|
+
}
|
|
24337
|
+
function largestAutoLogoWidth() {
|
|
24338
|
+
return logoWidth(AUTO_LOGOS[0]);
|
|
24339
|
+
}
|
|
24340
|
+
function logoWidth(logo) {
|
|
24341
|
+
return Math.max(...logo.map((line) => line.length));
|
|
24342
|
+
}
|
|
24343
|
+
var AUTO_LOGOS;
|
|
24344
|
+
var init_auto_logo = __esm({
|
|
24345
|
+
"src/lib/branding/auto-logo.ts"() {
|
|
24346
|
+
"use strict";
|
|
24347
|
+
init_style();
|
|
24348
|
+
AUTO_LOGOS = [
|
|
24349
|
+
[
|
|
24350
|
+
" \u2584\u2584\u2584\u2584",
|
|
24351
|
+
" \u2584\u2584\u2584\u2584",
|
|
24352
|
+
" \u2584\u2584\u2584\u2584",
|
|
24353
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24354
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24355
|
+
"\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24356
|
+
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24357
|
+
" \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24358
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24359
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24360
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24361
|
+
"\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24362
|
+
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24363
|
+
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24364
|
+
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24365
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24366
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584"
|
|
24367
|
+
],
|
|
24368
|
+
[
|
|
24369
|
+
" \u2584\u2584",
|
|
24370
|
+
" \u2584\u2584",
|
|
24371
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
24372
|
+
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24373
|
+
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24374
|
+
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24375
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24376
|
+
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24377
|
+
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24378
|
+
" \u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
24379
|
+
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584"
|
|
24380
|
+
],
|
|
24381
|
+
[
|
|
24382
|
+
" \u2584\u2584",
|
|
24383
|
+
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
24384
|
+
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584",
|
|
24385
|
+
" \u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584",
|
|
24386
|
+
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584",
|
|
24387
|
+
" \u2584\u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584\u2584"
|
|
24388
|
+
]
|
|
24389
|
+
];
|
|
24390
|
+
}
|
|
24391
|
+
});
|
|
24392
|
+
|
|
24329
24393
|
// src/tui/ApiClientContext.ts
|
|
24330
24394
|
import { createContext, useContext } from "react";
|
|
24331
24395
|
function useApiClient() {
|
|
@@ -26123,13 +26187,13 @@ function sleep3(ms, signal) {
|
|
|
26123
26187
|
if (signal.aborted) {
|
|
26124
26188
|
return Promise.resolve();
|
|
26125
26189
|
}
|
|
26126
|
-
return new Promise((
|
|
26127
|
-
const timeout = setTimeout(
|
|
26190
|
+
return new Promise((resolve4) => {
|
|
26191
|
+
const timeout = setTimeout(resolve4, ms);
|
|
26128
26192
|
signal.addEventListener(
|
|
26129
26193
|
"abort",
|
|
26130
26194
|
() => {
|
|
26131
26195
|
clearTimeout(timeout);
|
|
26132
|
-
|
|
26196
|
+
resolve4();
|
|
26133
26197
|
},
|
|
26134
26198
|
{ once: true }
|
|
26135
26199
|
);
|
|
@@ -29428,25 +29492,50 @@ import { Spinner as Spinner2 } from "@inkjs/ui";
|
|
|
29428
29492
|
import { Box as Box14, Text as Text15, useApp as useApp3, useStdout as useStdout8 } from "ink";
|
|
29429
29493
|
import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
29430
29494
|
import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
29431
|
-
function SplashView({
|
|
29495
|
+
function SplashView({
|
|
29496
|
+
durationMs = 1600,
|
|
29497
|
+
hold = false,
|
|
29498
|
+
version: version2
|
|
29499
|
+
}) {
|
|
29432
29500
|
const { exit } = useApp3();
|
|
29433
29501
|
const { stdout } = useStdout8();
|
|
29434
29502
|
const termWidth = stdout?.columns ?? 120;
|
|
29435
29503
|
const termHeight = stdout?.rows ?? 24;
|
|
29504
|
+
const logo = autoLogo(void 0, Math.min(termWidth, SPLASH_LOGO_MAX_WIDTH));
|
|
29505
|
+
const logoWidth2 = Math.max(...logo.map((line) => line.length));
|
|
29506
|
+
const logoRows = keyedLogoRows(logo);
|
|
29436
29507
|
const [step, setStep] = useState4(0);
|
|
29508
|
+
const [frame, setFrame] = useState4(0);
|
|
29437
29509
|
useEffect4(() => {
|
|
29510
|
+
const frameInterval = setInterval(() => {
|
|
29511
|
+
setFrame((value) => (value + 1) % 240);
|
|
29512
|
+
}, FRAME_MS);
|
|
29438
29513
|
const interval = setInterval(() => {
|
|
29439
|
-
setStep((s) =>
|
|
29514
|
+
setStep((s) => {
|
|
29515
|
+
const next = Math.min(s + 1, STEPS.length - 1);
|
|
29516
|
+
if (!hold && next === STEPS.length - 1) {
|
|
29517
|
+
clearInterval(interval);
|
|
29518
|
+
}
|
|
29519
|
+
return next;
|
|
29520
|
+
});
|
|
29440
29521
|
}, STEP_MS);
|
|
29522
|
+
if (hold) {
|
|
29523
|
+
return () => {
|
|
29524
|
+
clearInterval(frameInterval);
|
|
29525
|
+
clearInterval(interval);
|
|
29526
|
+
};
|
|
29527
|
+
}
|
|
29441
29528
|
const done = setTimeout(() => {
|
|
29529
|
+
clearInterval(frameInterval);
|
|
29442
29530
|
clearInterval(interval);
|
|
29443
29531
|
exit();
|
|
29444
29532
|
}, durationMs);
|
|
29445
29533
|
return () => {
|
|
29534
|
+
clearInterval(frameInterval);
|
|
29446
29535
|
clearInterval(interval);
|
|
29447
29536
|
clearTimeout(done);
|
|
29448
29537
|
};
|
|
29449
|
-
}, [exit, durationMs]);
|
|
29538
|
+
}, [exit, durationMs, hold]);
|
|
29450
29539
|
const isDone = step === STEPS.length - 1;
|
|
29451
29540
|
return /* @__PURE__ */ jsxs13(
|
|
29452
29541
|
Box14,
|
|
@@ -29458,32 +29547,82 @@ function SplashView({ durationMs = 1600 }) {
|
|
|
29458
29547
|
justifyContent: "center",
|
|
29459
29548
|
gap: 1,
|
|
29460
29549
|
children: [
|
|
29461
|
-
/* @__PURE__ */ jsx15(
|
|
29462
|
-
|
|
29550
|
+
/* @__PURE__ */ jsx15(
|
|
29551
|
+
Box14,
|
|
29552
|
+
{
|
|
29553
|
+
width: logoWidth2,
|
|
29554
|
+
flexDirection: "column",
|
|
29555
|
+
marginBottom: 1,
|
|
29556
|
+
marginRight: SPLASH_LOGO_OPTICAL_OFFSET,
|
|
29557
|
+
children: logoRows.map((row) => /* @__PURE__ */ jsx15(
|
|
29558
|
+
ShimmerLogoLine,
|
|
29559
|
+
{
|
|
29560
|
+
frame,
|
|
29561
|
+
line: row.line,
|
|
29562
|
+
rowIndex: row.rowIndex
|
|
29563
|
+
},
|
|
29564
|
+
row.key
|
|
29565
|
+
))
|
|
29566
|
+
}
|
|
29567
|
+
),
|
|
29568
|
+
/* @__PURE__ */ jsx15(Text15, { dimColor: true, children: "Program software factories the same way you program CI/CD." }),
|
|
29463
29569
|
/* @__PURE__ */ jsx15(Text15, { dimColor: true, children: "\u2500".repeat(32) }),
|
|
29464
29570
|
/* @__PURE__ */ jsxs13(Text15, { dimColor: true, children: [
|
|
29465
29571
|
"v",
|
|
29466
|
-
|
|
29572
|
+
version2
|
|
29467
29573
|
] }),
|
|
29468
|
-
/* @__PURE__ */ jsx15(
|
|
29469
|
-
|
|
29470
|
-
|
|
29471
|
-
|
|
29574
|
+
/* @__PURE__ */ jsx15(
|
|
29575
|
+
Box14,
|
|
29576
|
+
{
|
|
29577
|
+
marginTop: 1,
|
|
29578
|
+
marginRight: isDone ? SPLASH_STATUS_OPTICAL_OFFSET : 0,
|
|
29579
|
+
children: isDone ? /* @__PURE__ */ jsxs13(Text15, { color: "green", children: [
|
|
29580
|
+
"\u2713 ",
|
|
29581
|
+
/* @__PURE__ */ jsx15(Text15, { dimColor: true, children: "Ready" })
|
|
29582
|
+
] }) : /* @__PURE__ */ jsx15(Spinner2, { label: STEPS[step] ?? "Initializing\u2026" })
|
|
29583
|
+
}
|
|
29584
|
+
)
|
|
29472
29585
|
]
|
|
29473
29586
|
}
|
|
29474
29587
|
);
|
|
29475
29588
|
}
|
|
29476
|
-
|
|
29589
|
+
function keyedLogoRows(logo) {
|
|
29590
|
+
const seen = /* @__PURE__ */ new Map();
|
|
29591
|
+
return logo.map((line, rowIndex) => {
|
|
29592
|
+
const occurrence = seen.get(line) ?? 0;
|
|
29593
|
+
seen.set(line, occurrence + 1);
|
|
29594
|
+
return { key: `${occurrence}:${line}`, line, rowIndex };
|
|
29595
|
+
});
|
|
29596
|
+
}
|
|
29597
|
+
function ShimmerLogoLine({
|
|
29598
|
+
frame,
|
|
29599
|
+
line,
|
|
29600
|
+
rowIndex
|
|
29601
|
+
}) {
|
|
29602
|
+
const highlight = frame * 2 % (line.length + 8);
|
|
29603
|
+
return /* @__PURE__ */ jsx15(Text15, { children: Array.from(line).map((char, index) => {
|
|
29604
|
+
const distance = Math.abs(index - highlight + rowIndex);
|
|
29605
|
+
const key = `${index}:${char}`;
|
|
29606
|
+
if (char === " ") {
|
|
29607
|
+
return /* @__PURE__ */ jsx15(Text15, { children: char }, key);
|
|
29608
|
+
}
|
|
29609
|
+
return /* @__PURE__ */ jsx15(
|
|
29610
|
+
Text15,
|
|
29611
|
+
{
|
|
29612
|
+
color: distance <= 1 ? "white" : "cyan",
|
|
29613
|
+
bold: distance <= 1,
|
|
29614
|
+
dimColor: distance > 4,
|
|
29615
|
+
children: char
|
|
29616
|
+
},
|
|
29617
|
+
key
|
|
29618
|
+
);
|
|
29619
|
+
}) });
|
|
29620
|
+
}
|
|
29621
|
+
var STEPS, STEP_MS, FRAME_MS, SPLASH_LOGO_MAX_WIDTH, SPLASH_LOGO_OPTICAL_OFFSET, SPLASH_STATUS_OPTICAL_OFFSET;
|
|
29477
29622
|
var init_SplashView = __esm({
|
|
29478
29623
|
"src/tui/SplashView.tsx"() {
|
|
29479
29624
|
"use strict";
|
|
29480
|
-
|
|
29481
|
-
LOGO = [
|
|
29482
|
-
" ___ __ __ ______ ___ ",
|
|
29483
|
-
" / _ | / / / / /_ __/ / _ \\ ",
|
|
29484
|
-
" / __ |/ /_/ / / / / // / ",
|
|
29485
|
-
"/_/ |_|\\____/ /_/ /____/ "
|
|
29486
|
-
];
|
|
29625
|
+
init_auto_logo();
|
|
29487
29626
|
STEPS = [
|
|
29488
29627
|
"Initializing\u2026",
|
|
29489
29628
|
"Loading configuration\u2026",
|
|
@@ -29491,6 +29630,10 @@ var init_SplashView = __esm({
|
|
|
29491
29630
|
"Ready"
|
|
29492
29631
|
];
|
|
29493
29632
|
STEP_MS = 380;
|
|
29633
|
+
FRAME_MS = 90;
|
|
29634
|
+
SPLASH_LOGO_MAX_WIDTH = 36;
|
|
29635
|
+
SPLASH_LOGO_OPTICAL_OFFSET = 4;
|
|
29636
|
+
SPLASH_STATUS_OPTICAL_OFFSET = 2;
|
|
29494
29637
|
}
|
|
29495
29638
|
});
|
|
29496
29639
|
|
|
@@ -29499,6 +29642,10 @@ var launcher_exports = {};
|
|
|
29499
29642
|
__export(launcher_exports, {
|
|
29500
29643
|
launch: () => launch
|
|
29501
29644
|
});
|
|
29645
|
+
import { spawnSync } from "child_process";
|
|
29646
|
+
import { existsSync as existsSync5 } from "fs";
|
|
29647
|
+
import { dirname as dirname6, resolve as resolve3 } from "path";
|
|
29648
|
+
import { fileURLToPath } from "url";
|
|
29502
29649
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
29503
29650
|
import { render } from "ink";
|
|
29504
29651
|
import React from "react";
|
|
@@ -29533,7 +29680,9 @@ async function launch(opts) {
|
|
|
29533
29680
|
apiClient.listConnectionProviders({ apiBaseUrl: apiUrl })
|
|
29534
29681
|
]);
|
|
29535
29682
|
const { waitUntilExit: waitSplash } = render(
|
|
29536
|
-
React.createElement(SplashView
|
|
29683
|
+
React.createElement(SplashView, {
|
|
29684
|
+
version: resolveSplashVersion()
|
|
29685
|
+
}),
|
|
29537
29686
|
{ alternateScreen: true, patchConsole: false }
|
|
29538
29687
|
);
|
|
29539
29688
|
const [, prefetchResult] = await Promise.all([waitSplash(), prefetchP]);
|
|
@@ -29660,6 +29809,50 @@ function sortByResourceName(resources) {
|
|
|
29660
29809
|
(left, right) => left.metadata.name.localeCompare(right.metadata.name)
|
|
29661
29810
|
);
|
|
29662
29811
|
}
|
|
29812
|
+
function resolveSplashVersion() {
|
|
29813
|
+
if (cliVersion !== "0.1.0") {
|
|
29814
|
+
return cliVersion;
|
|
29815
|
+
}
|
|
29816
|
+
return resolveLatestReleaseVersionFromCheckout() ?? cliVersion;
|
|
29817
|
+
}
|
|
29818
|
+
function resolveLatestReleaseVersionFromCheckout() {
|
|
29819
|
+
const repoRoot = findRepoRoot(dirname6(fileURLToPath(import.meta.url)));
|
|
29820
|
+
if (!repoRoot) {
|
|
29821
|
+
return null;
|
|
29822
|
+
}
|
|
29823
|
+
const result = spawnSync("git", ["tag", "--list", "auto-cli-v*"], {
|
|
29824
|
+
cwd: repoRoot,
|
|
29825
|
+
encoding: "utf8"
|
|
29826
|
+
});
|
|
29827
|
+
if (result.status !== 0) {
|
|
29828
|
+
return null;
|
|
29829
|
+
}
|
|
29830
|
+
const versions = result.stdout.split(/\r?\n/).map((tag) => tag.match(/^auto-cli-v(\d+\.\d+\.\d+)$/)?.[1]).filter((version2) => version2 !== void 0).sort(compareVersions);
|
|
29831
|
+
return versions.at(-1) ?? null;
|
|
29832
|
+
}
|
|
29833
|
+
function findRepoRoot(startDirectory) {
|
|
29834
|
+
let directory = startDirectory;
|
|
29835
|
+
while (true) {
|
|
29836
|
+
if (existsSync5(resolve3(directory, ".git")) && existsSync5(resolve3(directory, "apps/cli/package.json"))) {
|
|
29837
|
+
return directory;
|
|
29838
|
+
}
|
|
29839
|
+
const parent = dirname6(directory);
|
|
29840
|
+
if (parent === directory) {
|
|
29841
|
+
return null;
|
|
29842
|
+
}
|
|
29843
|
+
directory = parent;
|
|
29844
|
+
}
|
|
29845
|
+
}
|
|
29846
|
+
function compareVersions(a, b) {
|
|
29847
|
+
const left = a.split(".").map(Number);
|
|
29848
|
+
const right = b.split(".").map(Number);
|
|
29849
|
+
for (let i = 0; i < 3; i += 1) {
|
|
29850
|
+
if (left[i] !== right[i]) {
|
|
29851
|
+
return (left[i] ?? 0) - (right[i] ?? 0);
|
|
29852
|
+
}
|
|
29853
|
+
}
|
|
29854
|
+
return 0;
|
|
29855
|
+
}
|
|
29663
29856
|
function isEditSelection(selection) {
|
|
29664
29857
|
return "action" in selection && selection.action === "editResource";
|
|
29665
29858
|
}
|
|
@@ -29671,6 +29864,7 @@ var init_launcher = __esm({
|
|
|
29671
29864
|
"src/tui/launcher.ts"() {
|
|
29672
29865
|
"use strict";
|
|
29673
29866
|
init_src();
|
|
29867
|
+
init_version();
|
|
29674
29868
|
init_actions2();
|
|
29675
29869
|
init_base_url();
|
|
29676
29870
|
init_client();
|
|
@@ -29706,7 +29900,7 @@ var init_launcher = __esm({
|
|
|
29706
29900
|
});
|
|
29707
29901
|
|
|
29708
29902
|
// src/cli/program.ts
|
|
29709
|
-
import { existsSync as
|
|
29903
|
+
import { existsSync as existsSync6 } from "fs";
|
|
29710
29904
|
import { Command, Option as Option4 } from "commander";
|
|
29711
29905
|
|
|
29712
29906
|
// src/commands/account/commands.ts
|
|
@@ -30214,7 +30408,7 @@ async function requireYes(rl, prompt) {
|
|
|
30214
30408
|
}
|
|
30215
30409
|
}
|
|
30216
30410
|
async function sleep2(ms) {
|
|
30217
|
-
await new Promise((
|
|
30411
|
+
await new Promise((resolve4) => setTimeout(resolve4, ms));
|
|
30218
30412
|
}
|
|
30219
30413
|
|
|
30220
30414
|
// src/commands/account/commands.ts
|
|
@@ -30323,8 +30517,8 @@ async function startGitCredentialRelay(input) {
|
|
|
30323
30517
|
update: (next) => {
|
|
30324
30518
|
target = { url: next.url, accessToken: next.accessToken };
|
|
30325
30519
|
},
|
|
30326
|
-
close: () => new Promise((
|
|
30327
|
-
server.close(() =>
|
|
30520
|
+
close: () => new Promise((resolve4) => {
|
|
30521
|
+
server.close(() => resolve4());
|
|
30328
30522
|
})
|
|
30329
30523
|
};
|
|
30330
30524
|
}
|
|
@@ -30747,12 +30941,12 @@ async function runAgentBridgeSocket(options) {
|
|
|
30747
30941
|
let handler = null;
|
|
30748
30942
|
const reconnectLoop = createReconnectLoop(socket);
|
|
30749
30943
|
let hasConnected = false;
|
|
30750
|
-
await new Promise((
|
|
30944
|
+
await new Promise((resolve4, reject) => {
|
|
30751
30945
|
const shutdown = () => {
|
|
30752
30946
|
reconnectLoop.stop();
|
|
30753
30947
|
handler?.shutdown?.();
|
|
30754
30948
|
socket.disconnect();
|
|
30755
|
-
|
|
30949
|
+
resolve4();
|
|
30756
30950
|
};
|
|
30757
30951
|
process.once("SIGINT", shutdown);
|
|
30758
30952
|
process.once("SIGTERM", shutdown);
|
|
@@ -30935,7 +31129,7 @@ function createSessiontimeBridgeBootstrapListener(input) {
|
|
|
30935
31129
|
};
|
|
30936
31130
|
}
|
|
30937
31131
|
function emitOutputWithAck(socket, output) {
|
|
30938
|
-
return new Promise((
|
|
31132
|
+
return new Promise((resolve4, reject) => {
|
|
30939
31133
|
socket.timeout(5e3).emit(
|
|
30940
31134
|
RUNTIME_BRIDGE_OUTPUT_EVENT,
|
|
30941
31135
|
output,
|
|
@@ -30955,7 +31149,7 @@ function emitOutputWithAck(socket, output) {
|
|
|
30955
31149
|
);
|
|
30956
31150
|
return;
|
|
30957
31151
|
}
|
|
30958
|
-
|
|
31152
|
+
resolve4(ack.data);
|
|
30959
31153
|
}
|
|
30960
31154
|
);
|
|
30961
31155
|
});
|
|
@@ -31783,8 +31977,8 @@ var AsyncMessageQueue = class {
|
|
|
31783
31977
|
if (this.closed) {
|
|
31784
31978
|
return Promise.resolve({ done: true, value: void 0 });
|
|
31785
31979
|
}
|
|
31786
|
-
return new Promise((
|
|
31787
|
-
this.waiters.push(
|
|
31980
|
+
return new Promise((resolve4) => {
|
|
31981
|
+
this.waiters.push(resolve4);
|
|
31788
31982
|
});
|
|
31789
31983
|
}
|
|
31790
31984
|
};
|
|
@@ -32015,13 +32209,13 @@ var ClaudeCodeCommandHandler = class {
|
|
|
32015
32209
|
this.input.writeOutput?.(
|
|
32016
32210
|
`agent_bridge_question_pending tool_use_id=${toolUseId}`
|
|
32017
32211
|
);
|
|
32018
|
-
return new Promise((
|
|
32019
|
-
this.pendingQuestions.set(toolUseId, { input: toolInput, resolve:
|
|
32212
|
+
return new Promise((resolve4) => {
|
|
32213
|
+
this.pendingQuestions.set(toolUseId, { input: toolInput, resolve: resolve4 });
|
|
32020
32214
|
options.signal.addEventListener(
|
|
32021
32215
|
"abort",
|
|
32022
32216
|
() => {
|
|
32023
32217
|
if (this.pendingQuestions.delete(toolUseId)) {
|
|
32024
|
-
|
|
32218
|
+
resolve4({
|
|
32025
32219
|
behavior: "deny",
|
|
32026
32220
|
message: "The question was cancelled before the user answered",
|
|
32027
32221
|
toolUseID: toolUseId
|
|
@@ -32362,7 +32556,7 @@ async function connectAgentPresence2(input) {
|
|
|
32362
32556
|
);
|
|
32363
32557
|
return;
|
|
32364
32558
|
}
|
|
32365
|
-
const sleep4 = input.sleep ?? ((ms) => new Promise((
|
|
32559
|
+
const sleep4 = input.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
|
|
32366
32560
|
const openBrowser2 = input.openBrowser ?? openBrowser;
|
|
32367
32561
|
const now3 = input.now ?? Date.now;
|
|
32368
32562
|
const pollIntervalMs = input.pollIntervalMs ?? POLL_INTERVAL_MS;
|
|
@@ -33130,7 +33324,7 @@ async function activeGrantIds(input) {
|
|
|
33130
33324
|
);
|
|
33131
33325
|
}
|
|
33132
33326
|
async function waitForNewGrant(input, knownGrantIds) {
|
|
33133
|
-
const sleep4 = input.sleep ?? ((ms) => new Promise((
|
|
33327
|
+
const sleep4 = input.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
|
|
33134
33328
|
const now3 = input.now ?? Date.now;
|
|
33135
33329
|
const deadline = now3() + (input.pollTimeoutMs ?? POLL_TIMEOUT_MS2);
|
|
33136
33330
|
while (now3() < deadline) {
|
|
@@ -34814,13 +35008,13 @@ function delay(ms, signal) {
|
|
|
34814
35008
|
if (signal.aborted) {
|
|
34815
35009
|
return Promise.resolve();
|
|
34816
35010
|
}
|
|
34817
|
-
return new Promise((
|
|
34818
|
-
const timeout = setTimeout(
|
|
35011
|
+
return new Promise((resolve4) => {
|
|
35012
|
+
const timeout = setTimeout(resolve4, ms);
|
|
34819
35013
|
signal.addEventListener(
|
|
34820
35014
|
"abort",
|
|
34821
35015
|
() => {
|
|
34822
35016
|
clearTimeout(timeout);
|
|
34823
|
-
|
|
35017
|
+
resolve4();
|
|
34824
35018
|
},
|
|
34825
35019
|
{ once: true }
|
|
34826
35020
|
);
|
|
@@ -34845,11 +35039,11 @@ function pollUntilFailed(input) {
|
|
|
34845
35039
|
input.abort?.addEventListener("abort", cancel, { once: true });
|
|
34846
35040
|
const done = (async () => {
|
|
34847
35041
|
while (!cancelled) {
|
|
34848
|
-
await new Promise((
|
|
34849
|
-
sleepResolve =
|
|
35042
|
+
await new Promise((resolve4) => {
|
|
35043
|
+
sleepResolve = resolve4;
|
|
34850
35044
|
activeSleep = setTimeout(() => {
|
|
34851
35045
|
activeSleep = void 0;
|
|
34852
|
-
|
|
35046
|
+
resolve4();
|
|
34853
35047
|
}, interval);
|
|
34854
35048
|
});
|
|
34855
35049
|
if (cancelled) {
|
|
@@ -35149,7 +35343,7 @@ function delay2(ms) {
|
|
|
35149
35343
|
if (ms <= 0) {
|
|
35150
35344
|
return Promise.resolve();
|
|
35151
35345
|
}
|
|
35152
|
-
return new Promise((
|
|
35346
|
+
return new Promise((resolve4) => setTimeout(resolve4, ms));
|
|
35153
35347
|
}
|
|
35154
35348
|
function createDiagnosticCollector(limit) {
|
|
35155
35349
|
const events = [];
|
|
@@ -35717,10 +35911,12 @@ function registerSessionCommands(program, context) {
|
|
|
35717
35911
|
}
|
|
35718
35912
|
|
|
35719
35913
|
// src/commands/setup/actions.ts
|
|
35914
|
+
init_auto_logo();
|
|
35720
35915
|
init_browser();
|
|
35721
35916
|
init_file();
|
|
35722
35917
|
init_style();
|
|
35723
35918
|
init_login();
|
|
35919
|
+
init_auto_logo();
|
|
35724
35920
|
var SETUP_STATUS_POLL_INTERVAL_MS = 5e3;
|
|
35725
35921
|
var SETUP_STATUS_HINT_EVERY_POLLS = 12;
|
|
35726
35922
|
var SETUP_STATUS_MAX_CONSECUTIVE_ERRORS = 12;
|
|
@@ -36039,55 +36235,11 @@ function setupPitchText(style = plainStyle, options = {}) {
|
|
|
36039
36235
|
""
|
|
36040
36236
|
].join("\n");
|
|
36041
36237
|
}
|
|
36042
|
-
function autoLogo(style = plainStyle, terminalWidth) {
|
|
36043
|
-
const width = terminalWidth ?? Number.POSITIVE_INFINITY;
|
|
36044
|
-
const logo = SETUP_AUTO_LOGOS.find(
|
|
36045
|
-
(candidate) => logoWidth(candidate) <= width
|
|
36046
|
-
) ?? ["auto"];
|
|
36047
|
-
return logo.map((line) => style.id(line));
|
|
36048
|
-
}
|
|
36049
|
-
var SETUP_AUTO_LOGOS = [
|
|
36050
|
-
[
|
|
36051
|
-
" \u2584\u2584\u2584\u2584",
|
|
36052
|
-
" \u2584\u2584\u2584\u2584",
|
|
36053
|
-
" \u2584\u2584\u2584\u2584",
|
|
36054
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36055
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36056
|
-
"\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36057
|
-
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36058
|
-
" \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36059
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36060
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36061
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36062
|
-
"\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36063
|
-
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36064
|
-
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584",
|
|
36065
|
-
"\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36066
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36067
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584"
|
|
36068
|
-
],
|
|
36069
|
-
[
|
|
36070
|
-
" \u2584\u2584",
|
|
36071
|
-
" \u2584\u2584",
|
|
36072
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584",
|
|
36073
|
-
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36074
|
-
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36075
|
-
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36076
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36077
|
-
" \u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36078
|
-
" \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36079
|
-
" \u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584 \u2584\u2584\u2584",
|
|
36080
|
-
" \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584"
|
|
36081
|
-
]
|
|
36082
|
-
];
|
|
36083
|
-
function logoWidth(logo) {
|
|
36084
|
-
return Math.max(...logo.map((line) => line.length));
|
|
36085
|
-
}
|
|
36086
36238
|
function wizardMargin(columns) {
|
|
36087
36239
|
if (columns === void 0) {
|
|
36088
36240
|
return 0;
|
|
36089
36241
|
}
|
|
36090
|
-
const largestLogoWidth =
|
|
36242
|
+
const largestLogoWidth = largestAutoLogoWidth();
|
|
36091
36243
|
return largestLogoWidth + WIZARD_MARGIN <= columns ? WIZARD_MARGIN : 0;
|
|
36092
36244
|
}
|
|
36093
36245
|
function bullet(style, text) {
|
|
@@ -36144,8 +36296,8 @@ async function pressEnter(context, prompt) {
|
|
|
36144
36296
|
try {
|
|
36145
36297
|
await Promise.race([
|
|
36146
36298
|
readline.question(context.io.style.dim(indent(prompt, margin))),
|
|
36147
|
-
new Promise((
|
|
36148
|
-
readline.once("close",
|
|
36299
|
+
new Promise((resolve4) => {
|
|
36300
|
+
readline.once("close", resolve4);
|
|
36149
36301
|
})
|
|
36150
36302
|
]);
|
|
36151
36303
|
} finally {
|
|
@@ -36347,7 +36499,7 @@ function isDefined(value) {
|
|
|
36347
36499
|
return value !== void 0;
|
|
36348
36500
|
}
|
|
36349
36501
|
function defaultSleep(delayMs) {
|
|
36350
|
-
return new Promise((
|
|
36502
|
+
return new Promise((resolve4) => setTimeout(resolve4, delayMs));
|
|
36351
36503
|
}
|
|
36352
36504
|
|
|
36353
36505
|
// src/commands/setup/commands.ts
|
|
@@ -36604,7 +36756,7 @@ function createProgram(options = {}) {
|
|
|
36604
36756
|
assertValidProfileName(pin);
|
|
36605
36757
|
const base = options.configPath ?? defaultConfigPath();
|
|
36606
36758
|
const pinnedPath = profileFilePath(base, pin);
|
|
36607
|
-
if (!
|
|
36759
|
+
if (!existsSync6(pinnedPath)) {
|
|
36608
36760
|
const names = listProfiles(base).map((profile) => profile.name);
|
|
36609
36761
|
throw new Error(
|
|
36610
36762
|
`No stored profile "${pin}". Stored profiles: ${names.join(", ") || "(none)"}.`
|