xno-skills 2.8.1 → 2.8.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.
@@ -14,7 +14,7 @@ const logo = String.raw `MB
14
14
  WMxno-skills v${version}
15
15
  
16
16
 
17
- Interact with Nano (XNO / Ӿ)`
17
+ Interact with the Nano ($XNO / Ӿ) cryptocurrency`
18
18
  .replaceAll('W', whiteFg)
19
19
  .replaceAll('G', greyFg)
20
20
  .replaceAll('B', blueFg)
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAC,wBAAwB,CAAA;AACtC,MAAM,MAAM,GAAC,wBAAwB,CAAA;AACrC,MAAM,MAAM,GAAC,uBAAuB,CAAA;AACpC,MAAM,QAAQ,GAAC,qBAAqB,CAAA;AACpC,MAAM,KAAK,GAAC,SAAS,CAAA;AACrB,MAAM,IAAI,GAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;kEAO6C,OAAO;;;6BAG5C;KAC5B,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC;KACvB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAA;AAEzB,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAC,wBAAwB,CAAA;AACtC,MAAM,MAAM,GAAC,wBAAwB,CAAA;AACrC,MAAM,MAAM,GAAC,uBAAuB,CAAA;AACpC,MAAM,QAAQ,GAAC,qBAAqB,CAAA;AACpC,MAAM,KAAK,GAAC,SAAS,CAAA;AACrB,MAAM,IAAI,GAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;kEAO6C,OAAO;;;iDAGxB;KAChD,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC;KACvB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAA;AAEzB,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Precise unit conversions for Nano (XNO) using BigInt.
2
+ * Precise unit conversions for XNO (Nano) cryptocurrency using BigInt.
3
3
  *
4
4
  * Units:
5
5
  * - raw: base unit (10^0)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Precise unit conversions for Nano (XNO) using BigInt.
2
+ * Precise unit conversions for XNO (Nano) cryptocurrency using BigInt.
3
3
  *
4
4
  * Units:
5
5
  * - raw: base unit (10^0)
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "2.8.1";
3
+ readonly version: "2.8.3";
4
4
  };
5
- export declare const version: "2.8.1";
5
+ export declare const version: "2.8.3";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "2.8.1"
5
+ version: "2.8.3"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "requests": [
3
3
  {
4
- "id": "mos3w9xfawe6s3",
4
+ "id": "mos7p8cnpkkken",
5
5
  "owsWalletId": "A",
6
6
  "accountIndex": 0,
7
7
  "address": "nano_3i1aq1cchnmbn9x5rsbap8b15akfh7wj7pwskuzi7ahz8oq6cobd99d4r3b7",
8
8
  "amountRaw": "10000000000000000000000000000",
9
9
  "reason": "explicit wallet test",
10
10
  "status": "pending",
11
- "createdAt": "2026-05-05T04:06:23.811Z",
12
- "updatedAt": "2026-05-05T04:06:23.811Z",
11
+ "createdAt": "2026-05-05T05:52:53.639Z",
12
+ "updatedAt": "2026-05-05T05:52:53.639Z",
13
13
  "receivedBlocks": []
14
14
  },
15
15
  {
16
- "id": "mos3w9y5zdufmz",
16
+ "id": "mos7p8djqk81nm",
17
17
  "owsWalletId": "A",
18
18
  "accountIndex": 0,
19
19
  "address": "nano_3i1aq1cchnmbn9x5rsbap8b15akfh7wj7pwskuzi7ahz8oq6cobd99d4r3b7",
20
20
  "amountRaw": "500000000000000000000000000000",
21
21
  "reason": "status check test",
22
22
  "status": "pending",
23
- "createdAt": "2026-05-05T04:06:23.837Z",
24
- "updatedAt": "2026-05-05T04:06:23.837Z",
23
+ "createdAt": "2026-05-05T05:52:53.671Z",
24
+ "updatedAt": "2026-05-05T05:52:53.671Z",
25
25
  "receivedBlocks": []
26
26
  }
27
27
  ]
@@ -14,7 +14,7 @@ const logo = String.raw `MB
14
14
  WMxno-skills v${version}
15
15
  
16
16
 
17
- Interact with Nano (XNO / Ӿ)`
17
+ Interact with the Nano ($XNO / Ӿ) cryptocurrency`
18
18
  .replaceAll('W', whiteFg)
19
19
  .replaceAll('G', greyFg)
20
20
  .replaceAll('B', blueFg)
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAC,wBAAwB,CAAA;AACtC,MAAM,MAAM,GAAC,wBAAwB,CAAA;AACrC,MAAM,MAAM,GAAC,uBAAuB,CAAA;AACpC,MAAM,QAAQ,GAAC,qBAAqB,CAAA;AACpC,MAAM,KAAK,GAAC,SAAS,CAAA;AACrB,MAAM,IAAI,GAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;kEAO6C,OAAO;;;6BAG5C;KAC5B,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC;KACvB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAA;AAEzB,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAC,wBAAwB,CAAA;AACtC,MAAM,MAAM,GAAC,wBAAwB,CAAA;AACrC,MAAM,MAAM,GAAC,uBAAuB,CAAA;AACpC,MAAM,QAAQ,GAAC,qBAAqB,CAAA;AACpC,MAAM,KAAK,GAAC,SAAS,CAAA;AACrB,MAAM,IAAI,GAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;kEAO6C,OAAO;;;iDAGxB;KAChD,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC;KACvB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC;KACtB,UAAU,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAA;AAEzB,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Precise unit conversions for Nano (XNO) using BigInt.
2
+ * Precise unit conversions for XNO (Nano) cryptocurrency using BigInt.
3
3
  *
4
4
  * Units:
5
5
  * - raw: base unit (10^0)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Precise unit conversions for Nano (XNO) using BigInt.
2
+ * Precise unit conversions for XNO (Nano) cryptocurrency using BigInt.
3
3
  *
4
4
  * Units:
5
5
  * - raw: base unit (10^0)
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "2.8.1";
3
+ readonly version: "2.8.3";
4
4
  };
5
- export declare const version: "2.8.1";
5
+ export declare const version: "2.8.3";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // Keep this in sync by running "npm run build" (prebuild hook).
3
3
  export const pkg = {
4
4
  name: "xno-skills",
5
- version: "2.8.1"
5
+ version: "2.8.3"
6
6
  };
7
7
  export const version = pkg.version;
8
8
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xno-skills",
3
- "version": "2.8.1",
3
+ "version": "2.8.3",
4
4
  "description": "XNO CLI - Interact with Nano (XNO)",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -24,7 +24,7 @@
24
24
  ],
25
25
  "scripts": {
26
26
  "preversion": "npm test",
27
- "version": "node scripts/update-version.js && git add src/version.ts",
27
+ "version": "node scripts/update-version.js && git add src/version.ts skills/nano/SKILL.md",
28
28
  "postversion": "node -e \"const v=require('./package.json').version; console.log('Created tag v'+v+'. Next: git push --follow-tags (GitHub Actions will publish to npm + create the GitHub Release).');\"",
29
29
  "prebuild": "node scripts/update-version.js",
30
30
  "prebuild:esm": "node scripts/update-version.js",
@@ -40,6 +40,7 @@
40
40
  "keywords": [
41
41
  "nano",
42
42
  "xno",
43
+ "cryptocurrency",
43
44
  "nanocurrency",
44
45
  "wallet",
45
46
  "bip39",
@@ -52,7 +52,7 @@ complements:
52
52
 
53
53
  ## Scope & Disambiguation
54
54
 
55
- This skill applies **exclusively to the Nano (XNO) protocol** (ticker: XNO, block-lattice ledger, docs.nano.org).
55
+ This skill applies **exclusively to the Nano cryptocurrency protocol** (ticker: XNO, block-lattice ledger, docs.nano.org).
56
56
 
57
57
  **Activate for**: nanocurrency, XNO, `nano_` addresses, block-lattice, ORV, xno-skills, xno-mcp.
58
58
 
@@ -75,16 +75,16 @@ When the environment provides `xno-mcp` tools (`wallets`, `send`, `receive`, `ba
75
75
  If `xno-mcp` tools are not available, or the user explicitly asks for CLI usage, fall back to the `xno-skills` CLI in this priority order:
76
76
 
77
77
  ```
78
- 1. bunx -y xno-skills@latest <command>
79
- 2. pnpm dlx xno-skills@latest <command>
80
- 3. npx -y xno-skills@latest <command>
78
+ 1. bunx -y xno-skills@2.8.3 <command>
79
+ 2. pnpm dlx xno-skills@2.8.3 <command>
80
+ 3. npx -y xno-skills@2.8.3 <command>
81
81
  ```
82
82
 
83
83
  Do **not** assume `xno-skills` is installed globally. Always use one of the above forms with `@latest` to get critical bugfixes and to prevent interactive prompts from freezing.
84
84
 
85
85
  Before guessing a subcommand, run `--help`:
86
86
  ```bash
87
- bunx -y xno-skills@latest --help
87
+ bunx -y xno-skills@2.8.3 --help
88
88
  ```
89
89
 
90
90
  ### 3. Wallet lifecycle → `ows` skill only
@@ -108,7 +108,7 @@ For wallet **create, import, rename, or delete**: delegate to the `ows` skill. D
108
108
  - **Proactivity on pending funds**: If you see pending funds during any balance check, call `receive` immediately. Do not wait for the user to ask.
109
109
  - **Persistence on "Account not found"**: This is normal for a brand-new, unopened account. Continue — `receive` will build the open block automatically. Never conclude you are unauthorized or that OWS cannot sign Nano blocks.
110
110
  - **No mnemonic exports**: Never call `ows wallet export` or suggest exporting to a third-party wallet unless the user explicitly commands it.
111
- - **Supply chain**: Only use `xno-skills@latest` and `@open-wallet-standard/core`. No other npm packages.
111
+ - **Supply chain**: Only use `xno-skills@2.8.3` and `@open-wallet-standard/core`. No other npm packages.
112
112
  - **Stop-loss**: If you have made 5 tool calls without completing the operation, stop and report what you tried, what failed, and ask for guidance. Hard limits: max 3 retries of the same failing tool; max 2 `config_set` RPC endpoint switches.
113
113
 
114
114
  ---
@@ -139,8 +139,8 @@ To **create** a new wallet, delegate to the `ows` skill. Then return here for al
139
139
 
140
140
  **Via CLI:**
141
141
  ```bash
142
- bunx -y xno-skills@latest balance --wallet "my-wallet"
143
- bunx -y xno-skills@latest rpc account-balance <address> --json
142
+ bunx -y xno-skills@2.8.3 balance --wallet "my-wallet"
143
+ bunx -y xno-skills@2.8.3 rpc account-balance <address> --json
144
144
  ```
145
145
 
146
146
  **Public zero-config RPC nodes** (used automatically by xno-skills defaults):
@@ -168,7 +168,7 @@ A Nano transfer shows as **pending** until the recipient publishes a receive blo
168
168
 
169
169
  **Via CLI:**
170
170
  ```bash
171
- bunx -y xno-skills@latest receive --wallet "my-wallet"
171
+ bunx -y xno-skills@2.8.3 receive --wallet "my-wallet"
172
172
  ```
173
173
 
174
174
  **Unopened account — explicit representative:**
@@ -198,7 +198,7 @@ The account must be opened (have a receive block) and have sufficient balance.
198
198
 
199
199
  **Via CLI:**
200
200
  ```bash
201
- bunx -y xno-skills@latest send --wallet "my-wallet" --destination "nano_..." --amount-xno 0.01
201
+ bunx -y xno-skills@2.8.3 send --wallet "my-wallet" --destination "nano_..." --amount-xno 0.01
202
202
  ```
203
203
 
204
204
  **Validate the destination address first** (see Address Validation section).
@@ -305,13 +305,13 @@ Generates a terminal-friendly ASCII QR code for a Nano address, optionally with
305
305
  **Via CLI:**
306
306
  ```bash
307
307
  # Address only
308
- bunx -y xno-skills@latest qr nano_1abc...
308
+ bunx -y xno-skills@2.8.3 qr nano_1abc...
309
309
 
310
310
  # With amount
311
- bunx -y xno-skills@latest qr nano_1abc... --amount-xno 1.5
311
+ bunx -y xno-skills@2.8.3 qr nano_1abc... --amount-xno 1.5
312
312
 
313
313
  # JSON output (recommended for agents — avoids stdout truncation)
314
- bunx -y xno-skills@latest qr nano_1abc... --amount-xno 1.5 --json
314
+ bunx -y xno-skills@2.8.3 qr nano_1abc... --amount-xno 1.5 --json
315
315
  ```
316
316
 
317
317
  > **CRITICAL — stdout truncation**: Agents often have stdout truncated (e.g. `<truncated 14 lines>`). To display a full QR code:
@@ -342,7 +342,7 @@ All validation is **offline** — no network required.
342
342
 
343
343
  **Via CLI:**
344
344
  ```bash
345
- bunx -y xno-skills@latest validate nano_1abc...
345
+ bunx -y xno-skills@2.8.3 validate nano_1abc...
346
346
  ```
347
347
 
348
348
  **Always validate before sending XNO to an untrusted address.**
@@ -367,10 +367,10 @@ XNO uses **30 decimal places**. Floating-point arithmetic is unsafe. Always use
367
367
 
368
368
  **Via CLI:**
369
369
  ```bash
370
- bunx -y xno-skills@latest convert 1 xno # all units
371
- bunx -y xno-skills@latest convert 1 knano
372
- bunx -y xno-skills@latest convert 1000000000000000000000000000000 raw
373
- bunx -y xno-skills@latest convert 1 xno --json
370
+ bunx -y xno-skills@2.8.3 convert 1 xno # all units
371
+ bunx -y xno-skills@2.8.3 convert 1 knano
372
+ bunx -y xno-skills@2.8.3 convert 1000000000000000000000000000000 raw
373
+ bunx -y xno-skills@2.8.3 convert 1 xno --json
374
374
  ```
375
375
 
376
376
  ---
@@ -390,16 +390,16 @@ If the user provides a **hex private key**, signing and verification work via CL
390
390
 
391
391
  ```bash
392
392
  # Sign
393
- bunx -y xno-skills@latest sign "<message>" --key <private-key-hex>
393
+ bunx -y xno-skills@2.8.3 sign "<message>" --key <private-key-hex>
394
394
 
395
395
  # Sign with JSON output
396
- bunx -y xno-skills@latest sign "<message>" --key <private-key-hex> --json
396
+ bunx -y xno-skills@2.8.3 sign "<message>" --key <private-key-hex> --json
397
397
 
398
398
  # Verify
399
- bunx -y xno-skills@latest verify <nano_address> "<message>" <signature-hex>
399
+ bunx -y xno-skills@2.8.3 verify <nano_address> "<message>" <signature-hex>
400
400
 
401
401
  # Verify with JSON output
402
- bunx -y xno-skills@latest verify <nano_address> "<message>" <signature-hex> --json
402
+ bunx -y xno-skills@2.8.3 verify <nano_address> "<message>" <signature-hex> --json
403
403
  ```
404
404
 
405
405
  **NOMS standard (ORIS-001)**: Signatures are computed over a binary payload with a magic header, ensuring a valid signature cannot be misinterpreted as a Nano transaction block.
@@ -460,7 +460,7 @@ PoW input:
460
460
 
461
461
  To probe whether an RPC endpoint supports remote `work_generate`:
462
462
  ```bash
463
- bunx -y xno-skills@latest rpc probe-caps <url>
463
+ bunx -y xno-skills@2.8.3 rpc probe-caps <url>
464
464
  ```
465
465
  Never use `curl` to probe this.
466
466
 
@@ -476,7 +476,7 @@ Never use `curl` to probe this.
476
476
  { "name": "change_rep", "arguments": { "wallet": "my-wallet", "representative": "nano_..." } }
477
477
  ```
478
478
  ```bash
479
- bunx -y xno-skills@latest change-rep --wallet "my-wallet" --representative "nano_..."
479
+ bunx -y xno-skills@2.8.3 change-rep --wallet "my-wallet" --representative "nano_..."
480
480
  ```
481
481
 
482
482
  ### Data Representations