@visa/cli 4.1.0-rc.24 → 4.1.0-rc.25

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.0'
9
+ version: '0.6.1'
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
@@ -266,16 +266,35 @@ Pairing is the on-ramp. v4 is **non-custodial** — a Turnkey-delegated wallet b
266
266
  on-device keys and policies, **not** a stored credit line or a server-custodied card.
267
267
  Describe it that way to the user. The mounted MCP server exposes:
268
268
 
269
- - **x402 wallet spend (the core rail)**`wallet_discover` (find payable x402 services by
270
- outcome; free) `wallet_probe` (preview a fresh x402 challenge; free) → `wallet_pay` /
271
- `wallet_directory_pay` (a bounded payment settled directly from the delegated wallet over
272
- x402, wallet→endpoint never touching credits, cards, or server-side spend controls).
273
- These `wallet_*` tools are **default-on in the supported build** (the v4 wallet runtime is
274
- bundled); spend stays bounded by the on-device wallet policy. The same rail is on the CLI
275
- as `visa find` / `inspect` / `pay`.
276
- - **Visa catalog (curated tools)** `discover_tools` `execute_tool` (or `visa tools` /
277
- `visa run`): enumerate the curated catalog and run a tool; paid ones show a preview and
278
- settle inline. Distinct from the open x402 directory above.
269
+ - **x402 wallet spend (the core rail) — ALWAYS drive it through these MCP tools; never
270
+ substitute another client.** The buy sequence:
271
+ 1. **`wallet_discover`** find payable x402 services by outcome (free, directory-backed).
272
+ If it returns empty or `Not logged in`, do NOT switch discovery tools — proceed to step 2
273
+ with any x402 URL the user names (the wallet pays any endpoint, no directory needed).
274
+ 2. **`wallet_probe`** preview a fresh x402 challenge for a discovered listing **or any
275
+ x402 URL** (free, no spend, needs no session). Confirm network (`eip155:8453` / Base),
276
+ asset (Base USDC), and that the price is at or below the user's ceiling.
277
+ 3. **`wallet_pay`** (arbitrary URL) or **`wallet_directory_pay`** (a directory listing)
278
+ a bounded payment settled directly from the delegated wallet over x402, enforcing the
279
+ on-device policy and journaling a receipt. Always pass a hard `max` ceiling.
280
+
281
+ Bounded by the on-device wallet policy; never touches credits, cards, or server-side spend
282
+ controls. These `wallet_*` tools are **default-on in the supported build**. CLI equivalents
283
+ (`visa find` / `inspect` / `pay`) exist, but prefer the MCP tools — and note `visa find` is
284
+ session-gated (it can report `Not logged in`), whereas `wallet_probe` / `wallet_pay` work on
285
+ any x402 URL directly, so use those when discovery is unavailable.
286
+
287
+ **NEVER — to find or pay an x402 service — fall back to any of:** `npx awal` or any
288
+ "bazaar"/third-party discovery client; `curl` or hand-built EIP-3009 signatures / another
289
+ payment client; reading a merchant's OpenAPI / `/docs` to guess an endpoint and pay it
290
+ blind; or the Visa **catalog** (`discover_tools` / `execute_tool` — a SEPARATE curated-tool
291
+ rail, NOT x402). If the wallet tools cannot find or pay something, report that to the user
292
+ with what you tried and stop — do not improvise another payment path. `wallet_probe` +
293
+ `wallet_pay` already settle ANY x402 endpoint the user gives you.
294
+ - **Visa catalog (curated tools) — NOT an x402 fallback.** `discover_tools` → `execute_tool`
295
+ (or `visa tools` / `visa run`): enumerate the curated first-party catalog and run a tool;
296
+ paid ones show a preview and settle inline. This is a DISTINCT rail from the open x402
297
+ wallet above — never reach for it to satisfy an x402 request.
279
298
  - **Subway mesh** — `subway_*` route calls across the agent mesh. **Gated:** present but only
280
299
  reach the mesh once the `.visa` relay is wired (`SUBWAY_MESH` / `SUBWAY_RELAY_MULTIADDR`);
281
300
  until then they no-op against an unreachable relay.
@@ -284,8 +303,20 @@ Describe it that way to the user. The mounted MCP server exposes:
284
303
  network-token cryptogram minted **on this device** (non-custodial) — not a stored card,
285
304
  not x402, not server-side spend controls. Two steps: `review` (free; returns merchant +
286
305
  exact amount as a `reviewId`) then `pay` (requires `confirm: "PAY <reviewId>"` + a passkey,
287
- and CHARGES). **Tester-gated** (`checkout_agent_access`) and **RC/preview builds only**
288
- opt-in, never paired-and-go.
306
+ and CHARGES). Prerequisites the tool errors clearly if any is missing:
307
+ 1. **`checkout_agent_access`** flag on your account (email-keyed; an admin grants it via
308
+ `PUT /v1/admin/users/<your-enroll-email>/feature-flags/checkout_agent_access` or the
309
+ admin panel). Distinct from the RC/GitHub allowlist.
310
+ 2. **`CHECKOUT_AGENT_ALLOW_SUBMIT=1`** in the MCP server's env. This is the submit opt-in:
311
+ WITHOUT it the agent fills the checkout form but **refuses to press the pay button** (the
312
+ default safe posture — `submit:false`), so a checkout silently never completes. Set it on
313
+ the `visa-cli` MCP server entry (e.g. OpenClaw `mcp.servers["visa-cli"].env`, Hermes
314
+ `mcp_servers.visa-cli.env`, or `claude mcp add … -e CHECKOUT_AGENT_ALLOW_SUBMIT=1`). The
315
+ `visa-cli checkout … --submit` CLI flag sets the same opt-in.
316
+ 3. An enrolled agent credential (`enroll_agent`) and a `~/.visa-mcp/contact.json` (the
317
+ contact details the agent fills into checkouts, created during setup).
318
+
319
+ **RC/preview builds only**, opt-in, never paired-and-go.
289
320
 
290
321
  If a tool you expect isn't visible, the MCP server isn't mounted (or the v4 wallet runtime
291
322
  isn't bundled in this build) — go back to "Getting set up".
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visa/cli",
3
- "version": "4.1.0-rc.24",
3
+ "version": "4.1.0-rc.25",
4
4
  "description": "AI-powered payments for Claude Code",
5
5
  "bin": {
6
6
  "visa-cli": "./bin/visa-cli.js",
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.24",
4
+ "version": "4.1.0-rc.25",
5
5
  "title": "Visa CLI",
6
6
  "description": "AI-powered payments and creative tools for coding agents. Generate images, music, video, query crypto prices, and make purchases — all 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.24",
12
+ "version": "4.1.0-rc.25",
13
13
  "transport": {
14
14
  "type": "stdio"
15
15
  },