@visa/cli 4.1.0-rc.326 → 4.1.0-rc.328
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 +10 -18
- package/dist/cli.js +353 -363
- package/dist/mcp-server/index.js +311 -323
- package/dist/merchant-ucp-mcp/index.js +6 -6
- package/dist/skills/pair-visa-agent/SKILL.md +3 -9
- package/native/bin/darwin-arm64/visa-runtime-signer +0 -0
- package/native/bin/darwin-x64/visa-runtime-signer +0 -0
- package/native/bin/linux-arm64/visa-runtime-signer +0 -0
- package/native/bin/linux-x64/visa-runtime-signer +0 -0
- package/native/bin/win32-arm64/visa-runtime-signer.exe +0 -0
- package/native/bin/win32-x64/visa-keychain-win.exe +0 -0
- package/native/bin/win32-x64/visa-runtime-signer.exe +0 -0
- package/package.json +2 -12
- package/server.json +2 -2
- package/dist/subway-direct.mjs +0 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ The protected product flow has three explicit parts:
|
|
|
12
12
|
1. **Enrollment** — call `agent_enroll` or have the owner run `visa agent enroll`
|
|
13
13
|
and approves the exact device and its limits in the browser. The private key
|
|
14
14
|
stays on the runtime device. Retired setup, pairing, handoff, and per-rail
|
|
15
|
-
grant names
|
|
15
|
+
grant names are not registered at all; they never resume or proxy work.
|
|
16
16
|
2. **Capabilities** — payment methods, spend grants, email and directory
|
|
17
17
|
bindings are configured separately, each with its own human-visible terms.
|
|
18
18
|
3. **Use** — when a separately provisioned capability exists, the wallet and
|
|
@@ -241,23 +241,24 @@ is required so the CLI never guesses which agent can spend.
|
|
|
241
241
|
## MCP tools (v4 surface)
|
|
242
242
|
|
|
243
243
|
Rows marked **Removed** are kept so old transcripts still resolve: the tool is
|
|
244
|
-
no longer in `tools/list`, and a direct call by name
|
|
245
|
-
|
|
246
|
-
`visa agent enroll-protected`.
|
|
244
|
+
no longer in `tools/list`, and a direct call by name is an unknown-tool error.
|
|
245
|
+
The one door for a new agent is `visa agent enroll` / `agent_enroll`.
|
|
247
246
|
|
|
248
247
|
A leftover direct-mode `turnkey.json` is not usable wallet authority.
|
|
249
248
|
`agent_capabilities` reports wallet status `legacy_direct_mode` and unavailable;
|
|
250
249
|
`get_status` directs even an already paired agent to `agent_enroll`. Have the
|
|
251
250
|
owner complete `visa agent enroll` before attempting payment.
|
|
252
251
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
252
|
+
A deploy that predates the tombstone removal can still answer HTTP 410 with
|
|
253
|
+
`code: route_retired`; the CLI classifies that as `legacy_door_removed`. Once
|
|
254
|
+
the removal is deployed the same paths answer a typed JSON 404
|
|
255
|
+
(`ROUTE_NOT_FOUND`). Either way, follow `agent_enroll` / `visa agent enroll`;
|
|
256
|
+
retrying the retired route does not restore it.
|
|
256
257
|
|
|
257
258
|
|
|
258
259
|
| Tool | Description |
|
|
259
260
|
|------|-------------|
|
|
260
|
-
| `agent_capabilities` | Derived live capability map (identity, wallet, card, mail, tap
|
|
261
|
+
| `agent_capabilities` | Derived live capability map (identity, wallet, card, mail, tap) with upgrade paths |
|
|
261
262
|
| `agent_login` | Start/claim the owner's device account session (required before a grant) |
|
|
262
263
|
| `wallet_status` | Delegated wallet address, network, and policy state |
|
|
263
264
|
| `wallet_policy_set` | Set per-transaction / daily caps (with human approval) |
|
|
@@ -410,7 +411,7 @@ and resolves its owner root from the independently claimed selection. The device
|
|
|
410
411
|
ceremonies (`connect-device`, `renew`, `resume`, `revoke --purpose tap`) travel the
|
|
411
412
|
public identity-device relay with native possession proofs, so a missing or expired
|
|
412
413
|
`visa agent login` never blocks them; the owner approval and owner revocation pages
|
|
413
|
-
remain required. Hosted purposes (`card:vic`, `wallet:x402`, hosted `tap
|
|
414
|
+
remain required. Hosted purposes (`card:vic`, `wallet:x402`, hosted `tap`)
|
|
414
415
|
still need a locally paired agent and its Auth session.
|
|
415
416
|
|
|
416
417
|
`visa agent keychain renew --agent <name-or-id> --purpose tap` creates an independently
|
|
@@ -435,15 +436,6 @@ handle until exact terminal readback, then deletes keys idempotently; `keychain
|
|
|
435
436
|
retries locked cleanup. A public revoked selection tombstone prevents legacy TAP fallback.
|
|
436
437
|
After cleanup completes, `connect-device` explicitly enrolls a new runtime.
|
|
437
438
|
|
|
438
|
-
### Native Subway owner certificates
|
|
439
|
-
|
|
440
|
-
Subway certificate issuance and renewal retired with the runtime certificate plane
|
|
441
|
-
(UNIFY D2); `agent keychain renew` and `revoke` accept only `--purpose tap`. A Subway
|
|
442
|
-
certificate an earlier build already selected keeps signing through the native
|
|
443
|
-
financial-presence key while its owner signature stays valid: WebSocket messages and
|
|
444
|
-
direct libp2p Noise authentication use structured native signing operations, and an
|
|
445
|
-
invalid, expired, revoked, or unavailable selection fails closed. Existing unpaired
|
|
446
|
-
mesh usage retains its current behavior.
|
|
447
439
|
|
|
448
440
|
### Protected managed-wallet rollout
|
|
449
441
|
|