puxadinho 0.1.2 → 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
- ea5c344486c00400d54c7f4202422e2d4f1995da88157ed79ee84ded75137c5c puxadinho_darwin_arm64
2
- 8cf1444e65c635a7d1566108a2b545f7b9c05ce48b97ec83b1d77d3843c67bde puxadinho_darwin_amd64
3
- 98b09949ee575579df8b6c07631c084569e85238023ea8e209bfdec8358c0999 puxadinho_linux_amd64
4
- 6ab321cdf5d054fcec5fc751b977c34400d2351b9564aa18fa73ddde3f26d789 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.2",
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.2",
26
- "@puxadinho/cli-darwin-x64": "0.1.2",
27
- "@puxadinho/cli-linux-arm64": "0.1.2",
28
- "@puxadinho/cli-linux-x64": "0.1.2"
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
  }