@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 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 return `legacy_door_removed`; they never resume or proxy work.
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 answers
245
- `legacy_door_removed` naming the one door for a new agent,
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
- Auth HTTP 410 responses with `code: route_retired` or `error: route_retired`
254
- are classified as `legacy_door_removed`. Follow `agent_enroll` /
255
- `visa agent enroll`; retrying the retired route does not restore it.
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, subway) with upgrade paths |
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`, `subway`)
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