@autonsh/cli 0.0.4 → 0.0.6

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/index.js CHANGED
@@ -7,6 +7,11 @@ import { readFile, writeFile } from "node:fs/promises";
7
7
  import { readdirSync, mkdirSync, symlinkSync, existsSync, cpSync, readFileSync, lstatSync } from "node:fs";
8
8
  import { dirname, join, resolve, basename } from "node:path";
9
9
  import { fileURLToPath } from "node:url";
10
+ import { spawn } from "node:child_process";
11
+ import { SingleBar, Presets } from "cli-progress";
12
+ import pc from "picocolors";
13
+ import { ok, fail, info, dim, bold, url, spinner, logo, tagLine, statusColor, table, box, isTTY, } from "./ui.js";
14
+ import { TEMPLATES, promptInit, promptConfirmUndeploy } from "./prompts.js";
10
15
  const SRC = dirname(fileURLToPath(import.meta.url));
11
16
  // runtime package real (monorepo). CLI linka em node_modules/@autonsh/runtime
12
17
  // do diretório do agente → handler importa "@autonsh/runtime" de qualquer lugar.
@@ -30,7 +35,70 @@ function ensureRuntimeLink(dir) {
30
35
  symlinkSync(RUNTIME_SRC, target, "dir");
31
36
  console.log(`[deploy] runtime link: node_modules/@autonsh/runtime`);
32
37
  }
33
- const TEMPLATES = ["support", "cron-digester", "webhook-echo"];
38
+ /** instala @autonsh/runtime no projeto (user normal, sem monorepo).
39
+ * TTY: barra de progresso com fases do npm. Pipe: silencioso, 1 linha. */
40
+ async function installRuntime(dir) {
41
+ const run = (onLine) => new Promise((resolveP, reject) => {
42
+ const args = ["install", "@autonsh/runtime", "--no-audit", "--no-fund", "--loglevel=info"];
43
+ const child = spawn("npm", args, {
44
+ cwd: dir,
45
+ stdio: ["ignore", "ignore", "pipe"],
46
+ shell: process.platform === "win32",
47
+ });
48
+ const timer = setTimeout(() => {
49
+ child.kill("SIGKILL");
50
+ reject(new Error("npm install demorou demais (120s)"));
51
+ }, 120_000);
52
+ child.stderr?.on("data", (d) => {
53
+ for (const line of d.toString().split("\n"))
54
+ onLine?.(line);
55
+ });
56
+ child.on("close", (code) => {
57
+ clearTimeout(timer);
58
+ if (code === 0)
59
+ resolveP();
60
+ else
61
+ reject(new Error(`npm install falhou (exit ${code ?? "?"})`));
62
+ });
63
+ child.on("error", (e) => {
64
+ clearTimeout(timer);
65
+ reject(e);
66
+ });
67
+ });
68
+ if (!isTTY) {
69
+ await run();
70
+ console.log(ok("runtime instalado"));
71
+ return;
72
+ }
73
+ const bar = new SingleBar({
74
+ format: `instalando runtime ${pc.cyan("{bar}")} {percentage}% {phase}`,
75
+ barCompleteChar: "█",
76
+ barIncompleteChar: "░",
77
+ clearOnComplete: false,
78
+ hideCursor: true,
79
+ fps: 10,
80
+ }, Presets.shades_classic);
81
+ bar.start(100, 0, { phase: "resolvendo" });
82
+ let fetches = 0;
83
+ try {
84
+ await run((line) => {
85
+ if (line.includes("http fetch")) {
86
+ fetches++;
87
+ bar.update(Math.min(25 + fetches * 3, 75), { phase: "baixando" });
88
+ }
89
+ else if (line.includes("reify")) {
90
+ bar.update(85, { phase: "instalando" });
91
+ }
92
+ else if (line.includes("npm error")) {
93
+ bar.update(100, { phase: "erro" });
94
+ }
95
+ });
96
+ bar.update(100, { phase: "pronto" });
97
+ }
98
+ finally {
99
+ bar.stop();
100
+ }
101
+ }
34
102
  async function cmdInit(name, template) {
35
103
  const plain = name === "." ? basename(process.cwd()) : name;
36
104
  const dir = resolve(name === "." ? process.cwd() : join(process.cwd(), name));
@@ -45,10 +113,12 @@ async function cmdInit(name, template) {
45
113
  await writeFile(yamlPath, yaml);
46
114
  ensureRuntimeLink(dir);
47
115
  if (!HAS_LOCAL_RUNTIME) {
48
- console.log(`[init] runtime: rode "npm i @autonsh/runtime" no projeto (ou: npm i)`);
116
+ await installRuntime(dir);
49
117
  }
50
- console.log(`[init] ✓ ${plain} (template: ${template}) em ${dir}`);
51
- console.log(`[init] próximo: deploy agent .`);
118
+ if (isTTY)
119
+ console.log(logo());
120
+ console.log(ok(`${plain} (template: ${template}) em ${dim(dir)}`));
121
+ console.log(info(`próximo: ${bold("deploy agent .")}`));
52
122
  }
53
123
  const VERSION = JSON.parse(readFileSync(resolve(SRC, "../package.json"), "utf8")).version;
54
124
  const API = process.env.AUTON_API ?? "http://localhost:8080";
@@ -64,7 +134,7 @@ auton — Deploy AI agents in one command
64
134
 
65
135
  Usage:
66
136
  deploy init [nome] [template] Scaffold de agente (support|cron-digester|webhook-echo)
67
- deploy agent [path] Deploya agente (default: diretório atual)
137
+ deploy agent [path] Faz deploy do agente (default: diretório atual)
68
138
  deploy ps Lista agentes + status
69
139
  deploy logs [name] Stream de logs do agente (SSE)
70
140
  deploy status [name] Status do agente
@@ -112,25 +182,31 @@ function pickEnv(keys) {
112
182
  }
113
183
  async function cmdDeploy(dir) {
114
184
  const manifest = await loadManifest(dir);
115
- console.log(`[deploy] agente: ${manifest.name} (entry: ${manifest.entry})`);
116
- const res = await fetch(`${API}/v1/agents`, {
117
- method: "POST",
118
- headers: authHeaders({ "Content-Type": "application/json" }),
119
- body: JSON.stringify({
120
- name: manifest.name,
121
- entry: manifest.entry,
122
- dir,
123
- env: pickEnv(manifest.env),
124
- models: manifest.models,
125
- cron: manifest.cron,
126
- }),
127
- });
128
- if (!res.ok) {
129
- throw new Error(`control plane ${res.status}: ${await res.text()}`);
185
+ const spin = spinner(`deployando ${bold(manifest.name)}...`);
186
+ try {
187
+ const res = await fetch(`${API}/v1/agents`, {
188
+ method: "POST",
189
+ headers: authHeaders({ "Content-Type": "application/json" }),
190
+ body: JSON.stringify({
191
+ name: manifest.name,
192
+ entry: manifest.entry,
193
+ dir,
194
+ env: pickEnv(manifest.env),
195
+ models: manifest.models,
196
+ cron: manifest.cron,
197
+ }),
198
+ });
199
+ spin.stop();
200
+ if (!res.ok) {
201
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
202
+ }
203
+ const out = (await res.json());
204
+ console.log(box(manifest.name, [`deployado: ${url(out.url)}`, `logs: ${dim(out.logs)}`]));
205
+ }
206
+ catch (e) {
207
+ spin.stop();
208
+ throw e;
130
209
  }
131
- const out = (await res.json());
132
- console.log(`[deploy] ✓ deployado: ${out.url}`);
133
- console.log(`[deploy] logs: ${out.logs}`);
134
210
  }
135
211
  async function cmdLogs(name) {
136
212
  const agent = name ?? (await loadManifest(process.cwd())).name;
@@ -156,7 +232,7 @@ async function cmdLogs(name) {
156
232
  buf = buf.slice(idx + 2);
157
233
  for (const line of event.split("\n")) {
158
234
  if (line.startsWith("data: "))
159
- console.log(line.slice(6));
235
+ console.log(tagLine(line.slice(6)));
160
236
  if (line.startsWith("event: exit"))
161
237
  return;
162
238
  }
@@ -175,6 +251,8 @@ async function cmdStatus(name) {
175
251
  }
176
252
  async function cmdUndeploy(name) {
177
253
  const agent = name ?? (await loadManifest(process.cwd())).name;
254
+ if (isTTY && !(await promptConfirmUndeploy(agent)))
255
+ return;
178
256
  const res = await fetch(`${API}/v1/agents/${agent}`, {
179
257
  method: "DELETE",
180
258
  headers: authHeaders(),
@@ -182,7 +260,7 @@ async function cmdUndeploy(name) {
182
260
  if (!res.ok) {
183
261
  throw new Error(`control plane ${res.status}: ${await res.text()}`);
184
262
  }
185
- console.log(`[deploy] ✓ ${agent} removido`);
263
+ console.log(ok(`${agent} removido`));
186
264
  }
187
265
  async function cmdInvoke(name, prompt, stream) {
188
266
  const agent = name ?? (await loadManifest(process.cwd())).name;
@@ -193,21 +271,31 @@ async function cmdInvoke(name, prompt, stream) {
193
271
  body: body ? JSON.stringify(body) : undefined,
194
272
  });
195
273
  if (!stream) {
196
- const res = await post;
197
- if (!res.ok) {
198
- throw new Error(`control plane ${res.status}: ${await res.text()}`);
274
+ const spin = spinner(`turno rodando...`);
275
+ try {
276
+ const res = await post;
277
+ spin.stop();
278
+ if (!res.ok) {
279
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
280
+ }
281
+ const out = (await res.json());
282
+ console.log(ok(`turno ${out.turn} (${out.lines.length} linhas)`));
283
+ for (const line of out.lines)
284
+ console.log(line);
285
+ }
286
+ catch (e) {
287
+ spin.stop();
288
+ throw e;
199
289
  }
200
- const out = (await res.json());
201
- console.log(`[invoke] turno ${out.turn} (${out.lines.length} linhas)`);
202
- for (const line of out.lines)
203
- console.log(line);
204
290
  return;
205
291
  }
206
292
  // modo stream: conecta no SSE de logs e imprime AO VIVO até o turno terminar
293
+ const spin = spinner("aguardando turno...");
207
294
  const res = await fetch(`${API}/v1/agents/${agent}/logs`, {
208
295
  headers: authHeaders({ Accept: "text/event-stream" }),
209
296
  });
210
297
  if (!res.ok) {
298
+ spin.stop();
211
299
  throw new Error(`control plane ${res.status}: ${await res.text()}`);
212
300
  }
213
301
  if (!res.body)
@@ -228,7 +316,8 @@ async function cmdInvoke(name, prompt, stream) {
228
316
  if (!line.startsWith("data: "))
229
317
  continue;
230
318
  const payload = line.slice(6);
231
- console.log(payload);
319
+ spin.stop();
320
+ console.log(tagLine(payload));
232
321
  if (payload.includes("turno terminado")) {
233
322
  // turno acabou; aguarda o POST confirmar e encerra
234
323
  await post;
@@ -237,6 +326,7 @@ async function cmdInvoke(name, prompt, stream) {
237
326
  }
238
327
  }
239
328
  }
329
+ spin.stop();
240
330
  }
241
331
  async function cmdPs() {
242
332
  const res = await fetch(`${API}/v1/agents`, { headers: authHeaders() });
@@ -245,13 +335,17 @@ async function cmdPs() {
245
335
  }
246
336
  const list = (await res.json());
247
337
  if (list.length === 0) {
248
- console.log("(nenhum agente deployado)");
338
+ console.log(dim("(nenhum agente deployado)"));
249
339
  return;
250
340
  }
251
- console.log("AGENTE\tSTATUS\tCRON\tLOGS\tKV");
252
- for (const a of list) {
253
- console.log(`${a.name}\t${a.status}\t${a.cron ? "sim" : "-"}\t${a.logs}\t${a.kv}`);
254
- }
341
+ const rows = list.map((a) => [
342
+ a.name,
343
+ statusColor(a.status),
344
+ a.cron ? "sim" : "-",
345
+ String(a.logs),
346
+ String(a.kv),
347
+ ]);
348
+ console.log(table(["AGENTE", "STATUS", "CRON", "LOGS", "KV"], rows));
255
349
  }
256
350
  async function cmdKv(op, name, key, value) {
257
351
  const agent = name ?? (await loadManifest(process.cwd())).name;
@@ -263,11 +357,11 @@ async function cmdKv(op, name, key, value) {
263
357
  const all = (await res.json());
264
358
  const keys = Object.keys(all);
265
359
  if (keys.length === 0) {
266
- console.log("(kv vazio)");
360
+ console.log(dim("(kv vazio)"));
267
361
  return;
268
362
  }
269
363
  for (const k of keys.sort()) {
270
- console.log(`${k} = ${JSON.stringify(all[k])}`);
364
+ console.log(`${bold(k)} = ${JSON.stringify(all[k])}`);
271
365
  }
272
366
  return;
273
367
  }
@@ -290,10 +384,10 @@ async function cmdKv(op, name, key, value) {
290
384
  });
291
385
  if (!res.ok)
292
386
  throw new Error(`control plane ${res.status}: ${await res.text()}`);
293
- console.log(`[kv] ✓ ${key} = ${value}`);
387
+ console.log(ok(`${key} = ${bold(value)}`));
294
388
  }
295
389
  async function cmdLogin() {
296
- console.log("[login] TODO: fluxo de auth com control plane (dpk_...)");
390
+ console.log(info("login: TODO auth com control plane (dpk_...)"));
297
391
  }
298
392
  async function main() {
299
393
  const args = process.argv.slice(2);
@@ -302,7 +396,9 @@ async function main() {
302
396
  return;
303
397
  }
304
398
  if (args[0] === "--version" || args[0] === "-v") {
305
- console.log(`auton v${VERSION}`);
399
+ if (isTTY)
400
+ console.log(logo());
401
+ console.log(bold(`auton v${VERSION}`));
306
402
  return;
307
403
  }
308
404
  switch (args[0]) {
@@ -342,12 +438,18 @@ async function main() {
342
438
  await cmdPs();
343
439
  break;
344
440
  case "init": {
345
- // deploy init [nome] [template]
346
- const tpl = (args[2] ?? "support");
347
- if (!TEMPLATES.includes(tpl)) {
348
- throw new Error(`template desconhecido: ${tpl} (disponíveis: ${TEMPLATES.join(", ")})`);
441
+ // deploy init [nome] [template] — sem argumentos (TTY): pergunta interativo
442
+ if (isTTY && !args[1] && !args[2]) {
443
+ const p = await promptInit();
444
+ await cmdInit(p.name, p.template);
445
+ }
446
+ else {
447
+ const tpl = (args[2] ?? "support");
448
+ if (!TEMPLATES.includes(tpl)) {
449
+ throw new Error(`template desconhecido: ${tpl} (disponíveis: ${TEMPLATES.join(", ")})`);
450
+ }
451
+ await cmdInit(args[1] ?? ".", tpl);
349
452
  }
350
- await cmdInit(args[1] ?? ".", tpl);
351
453
  break;
352
454
  }
353
455
  case "kv":
@@ -355,13 +457,13 @@ async function main() {
355
457
  await cmdKv(args[1], args[2], args[3], args[4]);
356
458
  break;
357
459
  default:
358
- console.error(`[deploy] comando desconhecido: ${args[0]}`);
460
+ console.error(fail(`comando desconhecido: ${args[0]}`));
359
461
  console.error(USAGE);
360
462
  process.exit(1);
361
463
  }
362
464
  }
363
465
  main().catch((err) => {
364
- console.error(`[deploy] erro: ${err.message}`);
466
+ console.error(fail(`erro: ${err.message}`));
365
467
  process.exit(1);
366
468
  });
367
469
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const TEMPLATES: readonly ["support", "cron-digester", "webhook-echo"];
2
+ export type Template = (typeof TEMPLATES)[number];
3
+ export declare function promptCanceled(): never;
4
+ /** init sem argumentos: pergunta template + nome (TTY). */
5
+ export declare function promptInit(): Promise<{
6
+ name: string;
7
+ template: Template;
8
+ }>;
9
+ /** confirm destrutivo (TTY). Retorna false se cancelou. */
10
+ export declare function promptConfirmUndeploy(name: string): Promise<boolean>;
@@ -0,0 +1,44 @@
1
+ // prompts.ts — interações com o usuário via @clack/prompts (só TTY).
2
+ // Em pipe/CI nada é perguntado: callers usam defaults.
3
+ import { confirm, intro, isCancel, outro, select, text } from "@clack/prompts";
4
+ import pc from "picocolors";
5
+ import { basename } from "node:path";
6
+ import { dim } from "./ui.js";
7
+ export const TEMPLATES = ["support", "cron-digester", "webhook-echo"];
8
+ export function promptCanceled() {
9
+ outro("cancelado");
10
+ process.exit(0);
11
+ }
12
+ /** init sem argumentos: pergunta template + nome (TTY). */
13
+ export async function promptInit() {
14
+ intro(pc.bold("criar novo agente"));
15
+ const template = await select({
16
+ message: "qual template?",
17
+ options: TEMPLATES.map((t) => ({ value: t, label: t })),
18
+ });
19
+ if (isCancel(template))
20
+ promptCanceled();
21
+ const name = await text({
22
+ message: "nome do agente",
23
+ placeholder: basename(process.cwd()),
24
+ validate: (v) => (!v || v.trim() === "" ? "nome não pode ser vazio" : undefined),
25
+ });
26
+ if (isCancel(name))
27
+ promptCanceled();
28
+ outro("tudo pronto");
29
+ return { name: name.trim(), template: template };
30
+ }
31
+ /** confirm destrutivo (TTY). Retorna false se cancelou. */
32
+ export async function promptConfirmUndeploy(name) {
33
+ const answer = await confirm({
34
+ message: `remover o agente ${pc.bold(name)}?`,
35
+ active: "sim",
36
+ inactive: "não",
37
+ });
38
+ if (isCancel(answer) || answer === false) {
39
+ console.log(dim("cancelado"));
40
+ return false;
41
+ }
42
+ return true;
43
+ }
44
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAU,CAAC;AAG/E,MAAM,UAAU,cAAc;IAC5B,KAAK,CAAC,WAAW,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KACxD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAAE,cAAc,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;KAC1F,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,cAAc,EAAE,CAAC;IACrC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAoB,EAAE,CAAC;AAC/D,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,OAAO,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/ui.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ export declare const isTTY: boolean;
2
+ export declare const ok: (msg: string) => string;
3
+ export declare const fail: (msg: string) => string;
4
+ export declare const info: (msg: string) => string;
5
+ export declare const dim: (msg: string) => string;
6
+ export declare const bold: (msg: string) => string;
7
+ export declare const url: (msg: string) => string;
8
+ export interface Spinner {
9
+ stop(): void;
10
+ setText(t: string): void;
11
+ }
12
+ export declare function spinner(text: string): Spinner;
13
+ export declare function logo(): string;
14
+ export declare function tagLine(line: string): string;
15
+ export declare function statusColor(s: string): string;
16
+ export declare function table(headers: string[], rows: string[][]): string;
17
+ export declare function box(title: string, lines: string[]): string;
package/dist/ui.js ADDED
@@ -0,0 +1,132 @@
1
+ // ui.ts — camada de apresentação do CLI auton.
2
+ // Cores/badges/spinner/tabela/logo/boxes. Tudo respeita NO_COLOR e pipe (isTTY).
3
+ // Conteúdo do agente (payload de logs) nunca é colorido — só tags.
4
+ import pc from "picocolors";
5
+ import createSpinner from "ora";
6
+ import logSymbols from "log-symbols";
7
+ import stringWidth from "string-width";
8
+ import boxen from "boxen";
9
+ export const isTTY = process.stdout.isTTY === true;
10
+ // --- badges (log-symbols: glyphs exatos, fallback Windows) ---
11
+ export const ok = (msg) => pc.green(`${logSymbols.success} ${msg}`);
12
+ export const fail = (msg) => pc.red(`${logSymbols.error} ${msg}`);
13
+ export const info = (msg) => pc.cyan(`${logSymbols.info} ${msg}`);
14
+ export const dim = (msg) => pc.dim(msg);
15
+ export const bold = (msg) => pc.bold(msg);
16
+ export const url = (msg) => pc.cyan(msg);
17
+ export function spinner(text) {
18
+ const s = createSpinner({ text, color: "cyan" });
19
+ if (isTTY)
20
+ s.start();
21
+ return {
22
+ stop() {
23
+ if (isTTY)
24
+ s.stop();
25
+ },
26
+ setText(t) {
27
+ if (isTTY)
28
+ s.text = t;
29
+ },
30
+ };
31
+ }
32
+ // --- logo pixel art "AUTON" (fonte ANSI Shadow, só TTY) ---
33
+ const FONT = {
34
+ A: [
35
+ " █████╗ ",
36
+ "██╔══██╗",
37
+ "███████║",
38
+ "██╔══██║",
39
+ "██║ ██║",
40
+ "╚═╝ ╚═╝",
41
+ ],
42
+ U: [
43
+ "██╗ ██╗",
44
+ "██║ ██║",
45
+ "██║ ██║",
46
+ "██║ ██║",
47
+ "╚██████╔╝",
48
+ " ╚═════╝ ",
49
+ ],
50
+ T: [
51
+ "████████╗",
52
+ "╚══██╔══╝",
53
+ " ██║ ",
54
+ " ██║ ",
55
+ " ██║ ",
56
+ " ╚═╝ ",
57
+ ],
58
+ O: [
59
+ " ██████╗ ",
60
+ "██╔═══██╗",
61
+ "██║ ██║",
62
+ "██║ ██║",
63
+ "╚██████╔╝",
64
+ " ╚═════╝ ",
65
+ ],
66
+ N: [
67
+ "███╗ ██╗",
68
+ "████╗ ██║",
69
+ "██╔██╗ ██║",
70
+ "██║╚██╗██║",
71
+ "██║ ╚████║",
72
+ "╚═╝ ╚═══╝",
73
+ ],
74
+ };
75
+ export function logo() {
76
+ const chars = "AUTON".split("").map((c) => FONT[c]);
77
+ const lines = Array.from({ length: 6 }, (_, row) => chars
78
+ .map((ch) => {
79
+ const width = Math.max(...ch.map((l) => l.length));
80
+ return ch[row].padEnd(width);
81
+ })
82
+ .join(" ")
83
+ .trimEnd());
84
+ return pc.cyan(lines.join("\n"));
85
+ }
86
+ // --- linha de log do agente: tag colorida, payload cru ---
87
+ export function tagLine(line) {
88
+ const m = line.match(/^(\[[^\]]+\])\s*(.*)$/s);
89
+ if (!m)
90
+ return line;
91
+ const [tag, rest] = [m[1], m[2]];
92
+ const tagColor = tag.includes("error")
93
+ ? pc.red
94
+ : tag.includes("info")
95
+ ? pc.cyan
96
+ : tag.includes("runtime")
97
+ ? pc.yellow
98
+ : pc.dim;
99
+ return `${tagColor(tag)} ${rest}`;
100
+ }
101
+ // --- status badge colorido ---
102
+ export function statusColor(s) {
103
+ if (s === "running")
104
+ return pc.green(s);
105
+ if (s === "scheduled")
106
+ return pc.cyan(s);
107
+ if (s === "exited")
108
+ return pc.red(s);
109
+ return pc.yellow(s);
110
+ }
111
+ // --- tabela alinhada com header bold (string-width: cores não desalinham) ---
112
+ export function table(headers, rows) {
113
+ const widths = headers.map((h, i) => Math.max(stringWidth(h), ...rows.map((r) => stringWidth(r[i] ?? ""))));
114
+ const fmt = (cells) => cells
115
+ .map((c, i) => c + " ".repeat(Math.max(0, widths[i] - stringWidth(c))))
116
+ .join(" ")
117
+ .trimEnd();
118
+ const head = fmt(headers.map((h, i) => pc.bold(h.padEnd(widths[i]))));
119
+ return [head, ...rows.map(fmt)].join("\n");
120
+ }
121
+ // --- caixa emoldurada (boxen) ---
122
+ export function box(title, lines) {
123
+ return boxen(lines.join("\n"), {
124
+ title,
125
+ titleAlignment: "left",
126
+ padding: 1,
127
+ margin: { top: 1, bottom: 1 },
128
+ borderStyle: "round",
129
+ borderColor: "cyan",
130
+ });
131
+ }
132
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@autonsh/cli",
3
- "version": "0.0.4",
4
- "description": "auton CLI Deploy AI agents in one command",
3
+ "version": "0.0.6",
4
+ "description": "auton CLI. Deploy AI agents in one command.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "deploy": "dist/index.js"
@@ -20,5 +20,14 @@
20
20
  "@types/node": "^20.10.0",
21
21
  "tsx": "^4.7.0",
22
22
  "typescript": "^5.9.3"
23
+ },
24
+ "dependencies": {
25
+ "@clack/prompts": "^1.7.0",
26
+ "boxen": "^8.0.1",
27
+ "cli-progress": "^3.12.0",
28
+ "log-symbols": "^7.0.1",
29
+ "ora": "^9.4.1",
30
+ "picocolors": "^1.1.1",
31
+ "string-width": "^8.2.2"
23
32
  }
24
- }
33
+ }