primocode 8.33.0 → 8.33.1
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/bin/primocode.js +29 -16
- package/package.json +1 -1
package/bin/primocode.js
CHANGED
|
@@ -1403,22 +1403,6 @@ async function main() {
|
|
|
1403
1403
|
}));
|
|
1404
1404
|
rl = readline.createInterface({ input: process.stdin, output: process.stdout, prompt: makePrompt(), completer: completarSlash });
|
|
1405
1405
|
|
|
1406
|
-
/* A primeira vez. Antes o CLI abria direto no prompt e quem instalava não
|
|
1407
|
-
descobria que existe conta, nem que dá para usar a própria chave — ia
|
|
1408
|
-
usar o gratuito achando que era só aquilo, até bater na cota e concluir
|
|
1409
|
-
que o produto não presta. Aparece UMA vez; depois disso, /conectar e
|
|
1410
|
-
/chave é que são o caminho. */
|
|
1411
|
-
if (!boasVindas.jaAbriu({ arquivoConfig: cfg.CONFIG_FILE })) {
|
|
1412
|
-
await boasVindas.rodar({
|
|
1413
|
-
perguntar: ask,
|
|
1414
|
-
mostrar: (t) => console.log(t),
|
|
1415
|
-
cores: c,
|
|
1416
|
-
interativo: !!(process.stdin.isTTY && process.stdout.isTTY),
|
|
1417
|
-
conectar: () => handleSlash('/conectar'),
|
|
1418
|
-
configurarChave: () => handleSlash('/chave'),
|
|
1419
|
-
});
|
|
1420
|
-
}
|
|
1421
|
-
|
|
1422
1406
|
rl.prompt();
|
|
1423
1407
|
|
|
1424
1408
|
// Fila: o readline continua emitindo 'line' enquanto um pedido está sendo
|
|
@@ -1525,6 +1509,35 @@ async function main() {
|
|
|
1525
1509
|
});
|
|
1526
1510
|
|
|
1527
1511
|
rl.on('close', () => { closed = true; if (!busy) sayBye(); });
|
|
1512
|
+
|
|
1513
|
+
/* A primeira vez — e ela roda AQUI, depois de `line` e `close` existirem.
|
|
1514
|
+
*
|
|
1515
|
+
* Estava lá em cima, logo depois de criar o readline. Parecia certo e
|
|
1516
|
+
* estava errado: o `await` do assistente segurava o resto do main(), e
|
|
1517
|
+
* tudo o que chegasse pelo teclado nesse meio-tempo caía no vazio, porque
|
|
1518
|
+
* ainda não havia ouvinte de `line` para pegar. Quem colasse dois comandos
|
|
1519
|
+
* de uma vez perdia o segundo, e quem fechasse a entrada (Ctrl+D, um
|
|
1520
|
+
* script) saía sem nem o "Até logo" — porque o ouvinte de `close` também
|
|
1521
|
+
* ainda não existia.
|
|
1522
|
+
*
|
|
1523
|
+
* Digitando devagar ninguém via: os ouvintes ficavam prontos milissegundos
|
|
1524
|
+
* depois. Foi preciso um terminal de mentira mandando as linhas de uma vez
|
|
1525
|
+
* para o defeito aparecer.
|
|
1526
|
+
*
|
|
1527
|
+
* Aparece UMA vez; depois disso, /conectar e /chave é que são o caminho. */
|
|
1528
|
+
if (!boasVindas.jaAbriu({ arquivoConfig: cfg.CONFIG_FILE })) {
|
|
1529
|
+
boasVindas.rodar({
|
|
1530
|
+
perguntar: ask,
|
|
1531
|
+
mostrar: (t) => console.log(t),
|
|
1532
|
+
cores: c,
|
|
1533
|
+
interativo: !!(process.stdin.isTTY && process.stdout.isTTY),
|
|
1534
|
+
conectar: () => handleSlash('/conectar'),
|
|
1535
|
+
configurarChave: () => handleSlash('/chave'),
|
|
1536
|
+
}).then(() => { if (!closed && !busy) rl.prompt(); })
|
|
1537
|
+
// Um assistente que falha não pode levar o CLI junto: ele é uma
|
|
1538
|
+
// apresentação, não uma condição para usar o programa.
|
|
1539
|
+
.catch(() => {});
|
|
1540
|
+
}
|
|
1528
1541
|
}
|
|
1529
1542
|
|
|
1530
1543
|
main().catch((e) => { console.error(c.err(e.message || e)); process.exit(1); });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "primocode",
|
|
3
|
-
"version": "8.33.
|
|
3
|
+
"version": "8.33.1",
|
|
4
4
|
"description": "PrimoCode — agente de engenharia com IA e cursor próprio. Modelos grátis. Cria arquivos, roda comandos, controla navegador e desktop: abre apps, clica em botões e ícones pelo nome, digita e usa atalhos.",
|
|
5
5
|
"main": "bin/primocode.js",
|
|
6
6
|
"bin": {
|