xno-skills 1.5.2 → 1.5.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.
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "1.5.2";
3
+ readonly version: "1.5.3";
4
4
  };
5
- export declare const version: "1.5.2";
5
+ export declare const version: "1.5.3";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -5,7 +5,7 @@ exports.version = exports.pkg = void 0;
5
5
  // Keep this in sync by running "npm run build" (prebuild hook).
6
6
  exports.pkg = {
7
7
  name: "xno-skills",
8
- version: "1.5.2"
8
+ version: "1.5.3"
9
9
  };
10
10
  exports.version = exports.pkg.version;
11
11
  //# sourceMappingURL=version.js.map
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "requests": [
3
3
  {
4
- "id": "mogj8e2n0bi3yc",
4
+ "id": "mogjndqb36p3dt",
5
5
  "owsWalletId": "A",
6
6
  "accountIndex": 0,
7
7
  "address": "nano_1link1111111111111111111111111111111111111111111111111111111",
8
8
  "amountRaw": "10000000000000000000000000000",
9
9
  "reason": "explicit wallet test",
10
10
  "status": "pending",
11
- "createdAt": "2026-04-27T01:42:29.183Z",
12
- "updatedAt": "2026-04-27T01:42:29.183Z",
11
+ "createdAt": "2026-04-27T01:54:08.579Z",
12
+ "updatedAt": "2026-04-27T01:54:08.579Z",
13
13
  "receivedBlocks": []
14
14
  },
15
15
  {
16
- "id": "mogj8e3mw1dwqc",
16
+ "id": "mogjndr89prcne",
17
17
  "owsWalletId": "A",
18
18
  "accountIndex": 0,
19
19
  "address": "nano_1link1111111111111111111111111111111111111111111111111111111",
20
20
  "amountRaw": "500000000000000000000000000000",
21
21
  "reason": "status check test",
22
22
  "status": "pending",
23
- "createdAt": "2026-04-27T01:42:29.218Z",
24
- "updatedAt": "2026-04-27T01:42:29.218Z",
23
+ "createdAt": "2026-04-27T01:54:08.612Z",
24
+ "updatedAt": "2026-04-27T01:54:08.612Z",
25
25
  "receivedBlocks": []
26
26
  }
27
27
  ]
@@ -1,6 +1,6 @@
1
1
  export declare const pkg: {
2
2
  readonly name: "xno-skills";
3
- readonly version: "1.5.2";
3
+ readonly version: "1.5.3";
4
4
  };
5
- export declare const version: "1.5.2";
5
+ export declare const version: "1.5.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: "1.5.2"
5
+ version: "1.5.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": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "XNO CLI - Interact with the Nano cryptocurrency",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -119,13 +119,19 @@ This is the single most important protocol concept. Apply it automatically.
119
119
  - `link` = hash of Alice’s Send block
120
120
  - Bob signs and computes PoW.
121
121
  - Only after Bob’s Receive block is confirmed can he spend the funds.
122
-
123
122
  **Critical realities**:
124
123
  - The Send block is final for Alice, but the funds are **not spendable by Bob** until his Receive exists.
125
124
  - Bob can be completely offline when Alice sends — the pending sits forever until he claims it.
126
125
  - There is no “automatic receive.” The agent **must** explicitly publish the Receive block.
127
126
 
128
- ## Exact Block Creation Sequence
127
+ **Mandate for Agents**:
128
+ - A transaction task is **INCOMPLETE** if funds are merely pending.
129
+ - You MUST proactively settle all pending funds by publishing a receive block (via `wallet_receive`) as soon as the send is confirmed.
130
+ - Never wait for the user to ask you to "pocket" or "receive" funds if they have already sent them. Do it as the "next right thing" in your workflow.
131
+ - **Persistence**: If `wallet_receive` fails with "Account not found", it means you are opening the account. Simply continue; the tool will handle it. **Never conclude that OWS cannot sign Nano blocks.** OWS is the primary signer for this project.
132
+
133
+ ## Universal State Blocks (All Blocks Since 2018)
134
+ ...
129
135
  1. Fetch current frontier (`previous`).
130
136
  2. Build block data (account, previous, representative, balance, link).
131
137
  3. Serialize the data (excluding signature and work).
@@ -43,10 +43,13 @@ When a user asks "did you receive it?" / "check the balance", you need an on-cha
43
43
 
44
44
  Nano can show funds as **pending** until the receiving wallet publishes the receive/open block. Many wallet apps do this automatically; raw keys alone do not.
45
45
 
46
- **If you see pending funds, you must call `wallet_receive` to pocket them.**
46
+ **Mandate**:
47
+ - If you see **pending** funds during a balance check, you MUST proactively call `wallet_receive` to claim them.
48
+ - Do not wait for the user to ask you to receive.
49
+ - A transaction is not "received" until the `pending` balance moves to the `confirmed` balance.
47
50
 
48
51
  ## Well-known Public RPC Nodes
49
-
52
+ ...
50
53
  If the user doesn't have an RPC URL, suggest these public nodes:
51
54
  - `https://rpc.nano.org` (Nano Foundation)
52
55
  - `https://app.natrium.io/api/rpc` (Natrium)
@@ -71,9 +71,20 @@ The `xno-mcp` MCP server is a private wallet custody service. You **CAN** send a
71
71
 
72
72
  - Access **named OWS wallets** (e.g. `"my-agent"`) via `wallet_list`.
73
73
  - **Key Security**: Secrets stay encrypted in the OWS vault (`~/.ows`). `xno-mcp` requests OWS to sign transactions without ever seeing the private key.
74
+ - **OWS Signing Capability**: Contrary to some hallucinations, **OWS DOES support Nano state block signing.** It is the primary way `xno-mcp` functions. Never assume OWS is limited to EVM chains.
74
75
 
75
- ## Built-in Zero-Config Defaults
76
+ ## Agent Chain of Thought (Mental Model)
77
+
78
+ When a user says "I sent funds" or you see "Pending" funds:
79
+ 1. **Goal**: Settle the funds immediately. A transaction is not "done" until it is Received.
80
+ 2. **Action**: Call `wallet_receive`.
81
+ 3. **Internal Objection**: "Wait, the account is unopened/not found."
82
+ 4. **Resolution**: "That is normal for Nano. `wallet_receive` will handle the Open block automatically. Proceed."
83
+ 5. **Internal Objection**: "Does OWS support Nano signing?"
84
+ 6. **Resolution**: "YES. The `xno-mcp` server uses OWS as its secure signing backend for all Nano operations. Proceed."
76
85
 
86
+ ## Built-in Zero-Config Defaults
87
+ ...
77
88
  As of v1.1.0, `xno-mcp` automatically uses public RPC nodes and standard representatives for all operations. You do **NOT** need to configure anything to get started.
78
89
 
79
90
  ### Overriding Defaults (Optional)