puxadinho 0.1.3 → 0.1.4
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/README.md +19 -20
- package/bin/puxadinho.js +2 -1
- package/checksums.txt +4 -4
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -9,22 +9,22 @@ puxadinho login
|
|
|
9
9
|
puxadinho create render-ep12
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Este pacote é só um lançador
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
Este pacote é só um lançador. O binário Go da sua plataforma (macOS e Linux, arm64 e x64) vem
|
|
13
|
+
no pacote `@puxadinho/cli-<os>-<cpu>`, que o npm instala sozinho como dependência opcional
|
|
14
|
+
(o mesmo esquema do esbuild e do Biome). Se ele não vier (`--omit=optional`, lockfile de outra
|
|
15
|
+
plataforma), o lançador baixa uma vez esse mesmo pacote do registro do npm, confere o sha256
|
|
16
|
+
contra o `checksums.txt` que vem dentro deste pacote, guarda em `~/.cache/puxadinho/<versão>/`
|
|
17
|
+
e executa com os mesmos argumentos e código de saída.
|
|
16
18
|
Sinais: Ctrl-C (SIGINT) chega direto ao binário pelo terminal e o lançador não o repete
|
|
17
19
|
(um segundo SIGINT faria a CLI sair sem limpar); SIGTERM e SIGHUP são repassados.
|
|
18
20
|
Requer Node 24 ou mais novo.
|
|
19
21
|
|
|
20
22
|
## Variáveis
|
|
21
23
|
|
|
22
|
-
- `
|
|
23
|
-
`https://
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
> TODO(release): o repositório acima é o `origin` atual do git; confirme o destino das
|
|
27
|
-
> releases antes de publicar (constante `DEFAULT_BASE` em `bin/puxadinho.js`).
|
|
24
|
+
- `npm_config_registry`: registro de onde a reserva baixa o pacote da plataforma (padrão
|
|
25
|
+
`https://registry.npmjs.org`). O sha256 é sempre o do `checksums.txt` deste pacote.
|
|
26
|
+
- `PUXADINHO_DOWNLOAD_BASE`: espelho próprio com o layout `<base>/v<versão>/puxadinho_<os>_<arch>`
|
|
27
|
+
(aceita `file://`), no lugar do registro.
|
|
28
28
|
|
|
29
29
|
## Códigos de saída
|
|
30
30
|
|
|
@@ -52,18 +52,17 @@ aparecem no campo `code` como os demais.
|
|
|
52
52
|
- `puxadinho setup claude` usa `claude mcp add --header "Authorization: Bearer <chave>"`, que expõe
|
|
53
53
|
a chave por instantes na lista de processos da máquina. O Codex guarda a chave em
|
|
54
54
|
`~/.codex/config.toml` (modo 0600).
|
|
55
|
-
- O `checksums.txt` vem no pacote npm, não da origem do download: um binário trocado
|
|
56
|
-
|
|
55
|
+
- O `checksums.txt` vem no pacote npm, não da origem do download: um binário trocado no registro,
|
|
56
|
+
no espelho ou no meio do caminho não confere e é descartado.
|
|
57
57
|
- A API padrão é `https://www.usepuxadinho.com.br` (troque com `PUXADINHO_API_URL` ou `--api-url`).
|
|
58
58
|
|
|
59
59
|
## Publicar uma versão
|
|
60
60
|
|
|
61
|
-
1.
|
|
62
|
-
2. `pnpm
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
4. `pnpm --filter puxadinho publish` (o pacote leva o `checksums.txt` desses mesmos binários:
|
|
67
|
-
publique sempre logo depois do build da release).
|
|
61
|
+
1. Suba `version` em `package.json` num commit e faça push na `main`.
|
|
62
|
+
2. Na raiz: `pnpm release cli` (ou `pnpm release all` para CLI e SDK juntos; `--dry-run` testa
|
|
63
|
+
sem publicar). O script se recusa a publicar fora da `main`, com mudança sem commit ou com
|
|
64
|
+
HEAD diferente de `origin/main`; compila os 4 binários, publica os 4 pacotes de plataforma
|
|
65
|
+
antes deste e cria a tag `cli-v<versão>`.
|
|
68
66
|
|
|
69
|
-
`dist/` e o `checksums.txt` gerado não vão para o
|
|
67
|
+
`npm publish` direto é bloqueado (`prepack`). `dist/` e o `checksums.txt` gerado não vão para o
|
|
68
|
+
git; o `checksums.txt` vai para o npm.
|
package/bin/puxadinho.js
CHANGED
|
@@ -28,7 +28,8 @@ async function fetchBuffer(url) {
|
|
|
28
28
|
if (url.startsWith("file://")) {
|
|
29
29
|
return fs.readFileSync(new URL(url));
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
// Sem resposta em 2 min, desiste (a reserva não pode travar o terminal para sempre).
|
|
32
|
+
const res = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120_000) });
|
|
32
33
|
if (!res.ok) throw new Error(`${url} respondeu ${res.status}`);
|
|
33
34
|
return Buffer.from(await res.arrayBuffer());
|
|
34
35
|
}
|
package/checksums.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
64048bb00869c601496baf4aa347e517a8e35ef17308404b0983905d9f413fc5 puxadinho_darwin_arm64
|
|
2
|
+
b1ae260127d66f04b5acfe7c6110f5f9378e59fee14bd803106ef3c03ebaa565 puxadinho_darwin_amd64
|
|
3
|
+
dcb148b194f00c99f06a97f53b89fb0291dafbb41066c43f2ced896219cdd23b puxadinho_linux_amd64
|
|
4
|
+
c44196e4441e2f384ff2b45a29ec362fa5a957daafe2598db47156f2688a52f9 puxadinho_linux_arm64
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "puxadinho",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "CLI do puxadinho: boxes Linux na nuvem para você e seus agentes.",
|
|
5
5
|
"license": "SEE LICENSE IN README.md",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -19,12 +19,13 @@
|
|
|
19
19
|
"node": ">=24"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build:binaries": "node scripts/build-binaries.js"
|
|
22
|
+
"build:binaries": "node scripts/build-binaries.js",
|
|
23
|
+
"prepack": "node -e \"process.env.PUXADINHO_RELEASE||(console.error('publique com: pnpm release sdk|cli (na raiz)'),process.exit(1))\""
|
|
23
24
|
},
|
|
24
25
|
"optionalDependencies": {
|
|
25
|
-
"@puxadinho/cli-darwin-arm64": "0.1.
|
|
26
|
-
"@puxadinho/cli-darwin-x64": "0.1.
|
|
27
|
-
"@puxadinho/cli-linux-arm64": "0.1.
|
|
28
|
-
"@puxadinho/cli-linux-x64": "0.1.
|
|
26
|
+
"@puxadinho/cli-darwin-arm64": "0.1.4",
|
|
27
|
+
"@puxadinho/cli-darwin-x64": "0.1.4",
|
|
28
|
+
"@puxadinho/cli-linux-arm64": "0.1.4",
|
|
29
|
+
"@puxadinho/cli-linux-x64": "0.1.4"
|
|
29
30
|
}
|
|
30
31
|
}
|