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 CHANGED
@@ -9,22 +9,22 @@ puxadinho login
9
9
  puxadinho create render-ep12
10
10
  ```
11
11
 
12
- Este pacote é só um lançador: no primeiro uso baixa o binário Go da sua plataforma
13
- (`puxadinho_<os>_<arch>`, macOS e Linux, arm64 e amd64) da release `v<versão>`, confere o
14
- sha256 contra o `checksums.txt` que vem dentro deste pacote, guarda em
15
- `~/.cache/puxadinho/<versão>/` e executa com os mesmos argumentos e código de saída.
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
- - `PUXADINHO_DOWNLOAD_BASE`: base das releases (padrão
23
- `https://github.com/hightech-company/puxadinho/releases/download`; aceita `file://`).
24
- O binário é buscado em `<base>/v<versão>/`.
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 na release
56
- (ou no meio do caminho) não confere e é descartado.
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. Ajuste `version` em `package.json`.
62
- 2. `pnpm --filter puxadinho build:binaries` gera `dist/v<versão>/puxadinho_*` e o `checksums.txt`
63
- (na raiz do pacote, que vai para o npm, e uma cópia em `dist/v<versão>/`)
64
- (`go build` com `-ldflags "-X puxadinho.app/go/internal/cli/api.Version=<versão>"`).
65
- 3. Crie a release `v<versão>` com os binários de `dist/v<versão>/`.
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 git; o `checksums.txt` vai para o npm.
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
- const res = await fetch(url, { redirect: "follow" });
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
- d4ac53727667b3020bfffe8553ec53a81b80a885eac3faf7a3825620b02de5e4 puxadinho_darwin_arm64
2
- f4c5ae7d4aacc2faf445537701e896e432d13f0864498daaad219e8007dad01b puxadinho_darwin_amd64
3
- 370ccc17ed11871a0990b2ea5ea4c74d52c1659bb5359c8a2cf3a6c4f934ef25 puxadinho_linux_amd64
4
- 3c4b04546c26f2e7ddeade16e97b60bad189fd895dd32eb3f9b0e87347a7f3e6 puxadinho_linux_arm64
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",
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.3",
26
- "@puxadinho/cli-darwin-x64": "0.1.3",
27
- "@puxadinho/cli-linux-arm64": "0.1.3",
28
- "@puxadinho/cli-linux-x64": "0.1.3"
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
  }