@toon-protocol/rig 2.6.4 → 2.7.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/README.md CHANGED
@@ -198,6 +198,10 @@ rig pr status <event-id> applied
198
198
  | `rig comment <root-event-id>` | **paid** | comment (kind:1622) on an issue/patch |
199
199
  | `rig pr create` | **paid** | publish a patch (kind:1617) from real `git format-patch` |
200
200
  | `rig pr status <event-id> <state>` | **paid** | set issue/patch status (kind:1630–1633) |
201
+ | `rig site publish [ref]` | **paid** | deploy a pushed repo as a permaweb site: build the ar.io path manifest (repo paths → Arweave txids) and upload it as one paid store write; prints the gateway URL |
202
+ | `rig site url [ref]` | free | print the last-published site URL for a ref |
203
+ | `rig name status <name>` | free | an ArNS name's registry record, ANT process, and current target txId |
204
+ | `rig name buy <name>` / `rig name set <name> <txId>` | **paid¹** | buy an ArNS name / point it at an Arweave txId. ¹Paid in mARIO on Solana via the ar.io registry — **not** ILP; needs the optional `@ar.io/sdk` dep |
201
205
  | `rig channel list/open/close/settle` | free / **paid** | inspect or manage the payment channels paid commands hold |
202
206
  | `rig help` / `rig --version` | free | usage / version |
203
207
  | everything else | — | executed as `git <args...>` with rig's stdio and git's exit code |
@@ -231,6 +235,67 @@ what will happen, then require `--yes` or an interactive confirm.
231
235
 
232
236
  ---
233
237
 
238
+ ## Permaweb sites & ArNS names (Arweave)
239
+
240
+ Every `rig push` already stores your repo's file bytes on Arweave. Two more verbs
241
+ turn a pushed repo into a permanent, human-named website — *GitHub Pages, but
242
+ permanent and named.*
243
+
244
+ ### `rig site` — a pushed repo as a website
245
+
246
+ `rig site publish [ref]` builds an
247
+ [ar.io path manifest](https://specs.ar.io/#/en/manifests/1.0.0) (`index.html`
248
+ routing) from the ref's tree joined with the objects already on Arweave, uploads it
249
+ as **one paid store write**, and prints a servable URL:
250
+
251
+ ```sh
252
+ rig site publish # publish the current branch as a site
253
+ # rig site publish main --spa # SPA routing: serve index.html for unknown paths
254
+ # rig site publish --force-reupload # re-pay to re-upload blobs stored without a Content-Type
255
+ rig site url # (free) print the last-published site URL for a ref
256
+ ```
257
+
258
+ ```
259
+ https://<gateway>/<manifestTxId>/
260
+ ```
261
+
262
+ `rig push` now tags each uploaded blob with a `Content-Type` derived from its path,
263
+ so files render in a browser instead of downloading as `application/octet-stream`.
264
+ Blobs pushed **before** this change serve as octet-stream until re-uploaded with
265
+ `--force-reupload` (a fresh paid write). Site assets are bounded by rig's per-object
266
+ size cap — fine for typical static sites.
267
+
268
+ The manifest txId **changes on every push**, so the stable pointer is an ArNS name.
269
+
270
+ ### `rig name` — a human name for a txId (ArNS)
271
+
272
+ [ArNS](https://ar.io) (the ar.io Name System) is Arweave's naming layer: a registered
273
+ name resolves at every ar.io gateway as `https://<name>.<gateway>/`, serving whatever
274
+ txId its record points at. Names are owned and paid by **this identity's own Solana
275
+ key** — derived from the same mnemonic as everything else, so no new key material:
276
+
277
+ ```sh
278
+ rig name status <name> # (free) registry record, ANT process, current target
279
+ rig name buy <name> --years 1 # buy a name (estimate → confirm → execute)
280
+ rig name set <name> <manifestTxId> # point the name at your published site's manifest
281
+ ```
282
+
283
+ Put together — one mnemonic, end to end:
284
+
285
+ ```sh
286
+ rig push && rig site publish && rig name set my-app <manifestTxId>
287
+ # → https://my-app.<gateway>/
288
+ ```
289
+
290
+ > **Real funds, a different rail from ILP.** `rig name buy`/`set` spend **mARIO on
291
+ > Solana via the ar.io registry program** — *not* through TOON's ILP payment channels
292
+ > (the rail behind `rig push` / `rig site publish` fees). `rig name` needs the
293
+ > optional [`@ar.io/sdk`](https://docs.ar.io) dependency; install it if the command
294
+ > reports it missing. As with every paid verb, these are estimate → confirm →
295
+ > execute, and a `--json` run *without* `--yes` is a free estimate — nothing is spent.
296
+
297
+ ---
298
+
234
299
  ## Strict `--json` stdout (machine consumers)
235
300
 
236
301
  With `--json`, stdout carries **exactly one JSON document** — everything
@@ -404,9 +404,6 @@ function resolveConflictingPath(paths) {
404
404
  }
405
405
 
406
406
  export {
407
- DEFAULT_CONTENT_TYPE,
408
- contentTypeForPath,
409
- resolveConflictingPath,
410
407
  RIG_CHANNEL_MAP_FILENAME,
411
408
  resolveChannelPaths,
412
409
  ChannelMapCorruptError,
@@ -419,6 +416,9 @@ export {
419
416
  DaemonIdentityConflictError,
420
417
  StandaloneLockError,
421
418
  checkDaemonIdentity,
422
- NonceLock
419
+ NonceLock,
420
+ DEFAULT_CONTENT_TYPE,
421
+ contentTypeForPath,
422
+ resolveConflictingPath
423
423
  };
424
- //# sourceMappingURL=chunk-57UY3OGX.js.map
424
+ //# sourceMappingURL=chunk-FQXNLPUR.js.map
@@ -4,7 +4,7 @@ import {
4
4
  checkDaemonIdentity,
5
5
  contentTypeForPath,
6
6
  recordKey
7
- } from "./chunk-57UY3OGX.js";
7
+ } from "./chunk-FQXNLPUR.js";
8
8
  import {
9
9
  MAX_OBJECT_SIZE
10
10
  } from "./chunk-B5ISARMU.js";
@@ -641,4 +641,4 @@ export {
641
641
  extractArweaveTxId,
642
642
  StandalonePublisher
643
643
  };
644
- //# sourceMappingURL=chunk-2DBPLBXW.js.map
644
+ //# sourceMappingURL=chunk-MKCF2OY2.js.map
package/dist/cli/rig.js CHANGED
@@ -34,7 +34,7 @@ import {
34
34
  defaultDaemonPort,
35
35
  resolveChannelPaths,
36
36
  resolveConflictingPath
37
- } from "../chunk-57UY3OGX.js";
37
+ } from "../chunk-FQXNLPUR.js";
38
38
  import {
39
39
  MAX_OBJECT_SIZE
40
40
  } from "../chunk-B5ISARMU.js";
@@ -974,7 +974,7 @@ function loadPaidSession(deps, relayUrl) {
974
974
  });
975
975
  }
976
976
  var defaultLoadStandalone = async (options) => {
977
- const mod = await import("../standalone-mode-W4DULOEC.js");
977
+ const mod = await import("../standalone-mode-F7L5GUTK.js");
978
978
  return mod.createStandaloneContext(options);
979
979
  };
980
980
  function identityReport(ctx) {
@@ -3,7 +3,7 @@ import {
3
3
  StandalonePublisher,
4
4
  deriveRouteDestinations,
5
5
  extractArweaveTxId
6
- } from "../chunk-2DBPLBXW.js";
6
+ } from "../chunk-MKCF2OY2.js";
7
7
  import {
8
8
  ChannelMapCorruptError,
9
9
  ChannelMapStore,
@@ -18,7 +18,7 @@ import {
18
18
  defaultLockDir,
19
19
  recordKey,
20
20
  resolveChannelPaths
21
- } from "../chunk-57UY3OGX.js";
21
+ } from "../chunk-FQXNLPUR.js";
22
22
  import "../chunk-B5ISARMU.js";
23
23
  export {
24
24
  ChannelMapCorruptError,
@@ -1,13 +1,13 @@
1
- import {
2
- StandalonePublisher
3
- } from "./chunk-2DBPLBXW.js";
4
1
  import {
5
2
  resolveIdentity
6
3
  } from "./chunk-XGFBDUQX.js";
4
+ import {
5
+ StandalonePublisher
6
+ } from "./chunk-MKCF2OY2.js";
7
7
  import {
8
8
  ChannelMapStore,
9
9
  RIG_CHANNEL_MAP_FILENAME
10
- } from "./chunk-57UY3OGX.js";
10
+ } from "./chunk-FQXNLPUR.js";
11
11
  import "./chunk-B5ISARMU.js";
12
12
  import {
13
13
  DISCOVERY_TIMEOUT_MS,
@@ -616,4 +616,4 @@ export {
616
616
  createStandaloneContext,
617
617
  resolveNetworkTopology
618
618
  };
619
- //# sourceMappingURL=standalone-mode-W4DULOEC.js.map
619
+ //# sourceMappingURL=standalone-mode-F7L5GUTK.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toon-protocol/rig",
3
- "version": "2.6.4",
3
+ "version": "2.7.1",
4
4
  "description": "Git-to-TOON write path core — build git objects and NIP-34 events for the Rig control plane",
5
5
  "license": "MIT",
6
6
  "author": "Jonathan Green",