permaweb-deploy 3.4.2 → 3.4.3

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
@@ -189,14 +189,14 @@ permaweb-deploy deploy --arns-name my-app --sig-type ethereum --private-key "0x.
189
189
 
190
190
  ### Bundler service
191
191
 
192
- Uploads go through a [Turbo](https://docs.ardrive.io/docs/turbo/) **bundler service** (HTTP API that bundles data for Arweave). By default, permaweb-deploy uses ArDrive’s production bundler (`https://upload.ardrive.io`). **`--uploader`** sets the **base URL** of the bundler service to use (scheme + host; typically no path).
192
+ Uploads go through a bundler service that accepts signed data items and posts them to Arweave. By default, permaweb-deploy uses the [Turbo](https://docs.ardrive.io/docs/turbo/) API and ArDrive’s production bundler (`https://upload.ardrive.io`). **`--uploader`** sets the **base URL** of the bundler service to use (scheme + host; typically no path).
193
193
 
194
- | When to use | Example value |
195
- | ------------------------- | ------------------------------------------------------------- |
196
- | **Default** (omit flag) | ArDrive production bundler — same as Turbo CLI defaults |
197
- | **Arweave bundler** | `https://up.arweave.net` |
198
- | **Development / staging** | `https://upload.ardrive.dev` |
199
- | **Custom or self-hosted** | Your own base URL if it implements the Turbo bundler protocol |
194
+ | When to use | Example value |
195
+ | ------------------------- | ----------------------------------------------------------------- |
196
+ | **Default** (omit flag) | ArDrive production bundler — same as Turbo CLI defaults |
197
+ | **Arweave bundler** | `https://up.arweave.net` |
198
+ | **Development / staging** | `https://upload.ardrive.dev` |
199
+ | **Custom or self-hosted** | Your own base URL if it implements the selected uploader protocol |
200
200
 
201
201
  **Examples:**
202
202
 
@@ -207,10 +207,40 @@ permaweb-deploy deploy --arns-name my-app --wallet ./wallet.json --uploader http
207
207
  permaweb-deploy upload --wallet ./wallet.json --deploy-folder ./dist --uploader https://up.arweave.net
208
208
  ```
209
209
 
210
+ To upload through a HyperBEAM bundler, set `--uploader-type hyperbeam` and pass the node URL:
211
+
212
+ ```bash
213
+ permaweb-deploy upload \
214
+ --wallet ./wallet.json \
215
+ --deploy-folder ./dist \
216
+ --uploader-type hyperbeam \
217
+ --uploader https://hyperbeam.example.com
218
+
219
+ permaweb-deploy deploy \
220
+ --arns-name my-app \
221
+ --wallet ./wallet.json \
222
+ --deploy-folder ./dist \
223
+ --uploader-type hyperbeam \
224
+ --uploader https://hyperbeam.example.com
225
+ ```
226
+
227
+ If the node follows the standard AO-paid HyperBEAM bundler flow, the CLI can fund the uploader wallet before uploading:
228
+
229
+ ```bash
230
+ permaweb-deploy upload \
231
+ --wallet ./wallet.json \
232
+ --deploy-folder ./dist \
233
+ --uploader-type hyperbeam \
234
+ --uploader https://hyperbeam.example.com \
235
+ --hyperbeam-auto-fund
236
+ ```
237
+
210
238
  **Notes:**
211
239
 
212
- - Billing and signer behavior still follow Turbo; if an alternate bundler has different rules, check that provider’s docs.
213
- - Use a **base URL only** (e.g. `https://up.arweave.net`), not a path to a specific file or route.
240
+ - Turbo billing and signer behavior follow Turbo.
241
+ - HyperBEAM uploads require an Arweave JWK signer. With `--hyperbeam-auto-fund`, the CLI signs each data item, asks the node's `metering@1.0` device for a byte quote, sends AO to the node address from `/~meta@1.0/info/address`, imports that deposit through `/~ao-payment@1.0/ingest`, and waits for the uploader's balance at `/ledger~node-process@1.0/now/balance/<address>` before uploading. The default route is `/~bundler@1.0/item?codec-device=ans104@1.0`; override it with `--hyperbeam-upload-path` if your node exposes a different bundler route.
242
+ - `--hyperbeam-fund-amount` is an optional override for the minimum local ledger balance to ensure, in AO base units. Without it, `--hyperbeam-auto-fund` uses the node's `metering@1.0` quote for the signed byte count. Use `--hyperbeam-token-id` only for a non-default AO token process, and `--hyperbeam-ledger-id` only for a non-default local ledger profile.
243
+ - Use a **base URL only** (e.g. `https://up.arweave.net` or `https://hyperbeam.example.com`), not a path to a specific file or route.
214
244
 
215
245
  ### Command Options
216
246
 
@@ -229,9 +259,16 @@ permaweb-deploy upload --wallet ./wallet.json --deploy-folder ./dist --uploader
229
259
  - `--max-token-amount`: Maximum token amount for on-demand payment (used with `--on-demand`)
230
260
  - `--no-dedupe`: Disable deduplication (do not cache or reuse previous uploads)
231
261
  - `--dedupe-cache-max-entries`: Maximum number of entries to keep in the dedupe cache (LRU). Default: `10000`
232
- - `--uploader`: Base URL of the Turbo **bundler service** to use (default: `https://upload.ardrive.io`). See [Bundler service](#bundler-service) above.
262
+ - `--uploader`: Base URL of the bundler service to use. See [Bundler service](#bundler-service) above.
263
+ - `--uploader-type`: Upload protocol to use (`turbo` or `hyperbeam`). Default: `turbo`
264
+ - `--hyperbeam-upload-path`: HyperBEAM bundler route. Default: `/~bundler@1.0/item?codec-device=ans104@1.0`
265
+ - `--hyperbeam-auto-fund`: Automatically fund the HyperBEAM local ledger before upload
266
+ - `--hyperbeam-fund-amount`: Optional minimum HyperBEAM local ledger balance override, in token base units
267
+ - `--hyperbeam-token-id`: Advanced AO token process ID override
268
+ - `--hyperbeam-ledger-id`: Advanced local HyperBEAM ledger ID override
269
+ - `--hyperbeam-ao-state-url`: AO state endpoint used while waiting for auto-fund transfer assignment. Default: `https://state.forward.computer`
233
270
 
234
- **`upload`** (no ArNS): accepts `--deploy-folder`, `--deploy-file`, wallet/signer flags, `--uploader`, `--on-demand` / `--max-token-amount`, and dedupe flags only.
271
+ **`upload`** (no ArNS): accepts `--deploy-folder`, `--deploy-file`, wallet/signer flags, uploader flags, `--on-demand` / `--max-token-amount`, and dedupe flags only.
235
272
 
236
273
  ### Deduplication
237
274
 
@@ -405,6 +442,20 @@ jobs:
405
442
  max-token-amount: '2.0'
406
443
  ```
407
444
 
445
+ ### With HyperBEAM
446
+
447
+ ```yaml
448
+ - name: Deploy through a HyperBEAM bundler
449
+ uses: permaweb/permaweb-deploy@v1
450
+ with:
451
+ deploy-key: ${{ secrets.DEPLOY_KEY }}
452
+ arns-name: myapp
453
+ deploy-folder: ./dist
454
+ uploader-type: hyperbeam
455
+ uploader: https://hyperbeam.example.com
456
+ hyperbeam-auto-fund: 'true'
457
+ ```
458
+
408
459
  ### Disabling Deduplication
409
460
 
410
461
  By default, the action caches transaction IDs to avoid re-uploading unchanged files. To disable this: