@visa/cli 4.1.0-rc.62 → 4.1.0-rc.63
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.
|
@@ -6,7 +6,7 @@ allowed-tools: Bash(visa:*) Bash(visa-cli:*) Bash(node:*) Bash(npm:*) Bash(npx:*
|
|
|
6
6
|
metadata:
|
|
7
7
|
author: visa
|
|
8
8
|
homepage: https://visacli.sh/agents
|
|
9
|
-
version: '0.6.
|
|
9
|
+
version: '0.6.6'
|
|
10
10
|
# OpenClaw-namespaced extension (agentskills.io keeps `metadata` free-form, so
|
|
11
11
|
# non-standard runtime config lives here — `user-invocable` is not a standard
|
|
12
12
|
# top-level field). OpenClaw auto-installs `install[]` when `requires.bins` are
|
|
@@ -167,10 +167,13 @@ possible (re-pairing an existing identity silently dead-ends). Do this instead:
|
|
|
167
167
|
2. **Report status honestly — "connected" is five separate things**, not one. Never
|
|
168
168
|
imply the agent can spend just because it's connected:
|
|
169
169
|
- **Identity** — connected (`.visa` name bound to _this user's_ account). ✓ once `already_connected`.
|
|
170
|
-
- **Spending** — a _separate human approval_
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
170
|
+
- **Spending** — a _separate human approval_, and there are two rails. For the
|
|
171
|
+
Turnkey **wallet** (x402 stablecoin), the owner approves a wallet grant in
|
|
172
|
+
**account settings → agent wallet → Spend** (see "What you can do once paired"
|
|
173
|
+
below). For **card** checkout, the owner approves in **account settings → agent
|
|
174
|
+
card → Spend**. You **cannot** self-grant either; never tell the user to run
|
|
175
|
+
`visa agent add-rail` (it refuses identity-only agents), and never self-mint a
|
|
176
|
+
wallet with `wallet_init` on mainnet — it throws until the owner's delegation lands.
|
|
174
177
|
- **Mesh (`.visa` messaging)** — with `SUBWAY_MESH=visa`, a returning device now
|
|
175
178
|
registers on `pair`; if `meshRegistered` is false, `visa register <name>` joins it.
|
|
176
179
|
- **Trusted (TAP)** — follows spend/provisioning; don't promise it before then.
|
|
@@ -178,8 +181,36 @@ possible (re-pairing an existing identity silently dead-ends). Do this instead:
|
|
|
178
181
|
signed in with (their email); the wallet + spend limits are theirs. Speak in terms
|
|
179
182
|
of "your agent / your account / the limits you approved," never a shared identity.
|
|
180
183
|
|
|
181
|
-
|
|
182
|
-
|
|
184
|
+
Missing **spend** blocks _checkout mandates_, not a delegated x402 wallet — but that
|
|
185
|
+
wallet must first be acquired by owner approval (below); it is never self-minted.
|
|
186
|
+
|
|
187
|
+
## What you can do once paired — acquiring a wallet to spend
|
|
188
|
+
|
|
189
|
+
Pairing binds **identity only**. To let this agent pay via the Turnkey x402
|
|
190
|
+
(stablecoin) wallet, the wallet must be **delegated by the human owner** — the runtime
|
|
191
|
+
never self-mints it. On mainnet (production) `wallet_init` throws
|
|
192
|
+
`WalletCredentialRequiredError` until that delegation lands, so do NOT call it as a
|
|
193
|
+
setup step. Follow this sequence:
|
|
194
|
+
|
|
195
|
+
- [ ] **Pair** the identity (the flow above). Identity only — no wallet yet.
|
|
196
|
+
- [ ] **Resolve the next step** with `setup_agent` (`{"rail":"wallet"}`), or drive the
|
|
197
|
+
raw `visa agent grant-wallet <agentId>` ceremony. `setup_agent` reports
|
|
198
|
+
`needs_wallet` and points at the owner-approval grant — it does not tell you to
|
|
199
|
+
self-mint.
|
|
200
|
+
- [ ] **Owner approves the wallet.** The human runs / confirms the wallet grant and
|
|
201
|
+
approves it in the account UI (**account settings → agent wallet → Spend**),
|
|
202
|
+
confirming caps and passkey. That approval registers the delegated signer + caps
|
|
203
|
+
and writes the delegated Turnkey credential (`turnkey.json`) to this runtime.
|
|
204
|
+
You cannot approve on their behalf.
|
|
205
|
+
- [ ] **Confirm the real wallet** with `wallet_status` (or `visa wallet show`). Only a
|
|
206
|
+
provisioned/delegated credential — not the served tool list — means the wallet is
|
|
207
|
+
usable; `agent_capabilities.wallet.available` reflects this.
|
|
208
|
+
- [ ] **Spend** with `wallet_pay` (x402), enforced by the owner-approved local policy
|
|
209
|
+
caps. Never raise a human-approved limit yourself.
|
|
210
|
+
|
|
211
|
+
Card checkout is a separate upgrade on top of this Turnkey-only base — approve a card
|
|
212
|
+
in **account settings → agent card → Spend**, then `start_card_mandate` / `pay_merchant`
|
|
213
|
+
draw against it. Neither rail is enabled by pairing.
|
|
183
214
|
|
|
184
215
|
## Core flow
|
|
185
216
|
|
|
Binary file
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
|
3
3
|
"name": "io.github.visa-crypto-labs/visa-cli",
|
|
4
|
-
"version": "4.1.0-rc.
|
|
4
|
+
"version": "4.1.0-rc.63",
|
|
5
5
|
"title": "Visa CLI",
|
|
6
6
|
"description": "Pair a human-approved agent identity, configure payment capabilities separately, and discover and pay x402 services from your AI coding assistant.",
|
|
7
7
|
"websiteUrl": "https://github.com/Visa-Crypto-Labs/Visa-mono/tree/main/packages/cli#readme",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"registryType": "npm",
|
|
11
11
|
"identifier": "@visa/cli",
|
|
12
|
-
"version": "4.1.0-rc.
|
|
12
|
+
"version": "4.1.0-rc.63",
|
|
13
13
|
"transport": {
|
|
14
14
|
"type": "stdio"
|
|
15
15
|
},
|