@visa/cli 5.0.0-rc.368 → 5.0.0-rc.369

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
@@ -204,6 +204,13 @@ Two browser approvals remain: the sign-in page, then the protected-agent page
204
204
  where the owner approves the device and its limits. Each prints one URL and one
205
205
  short code at a time. Never relay the code on the owner's behalf.
206
206
 
207
+ `visa connect --restart` starts a fresh approval for this machine: choose
208
+ **Replacing** on the approval page to give the same agent new keys (its budget
209
+ and history stay; the old keys are retired and this machine's old local records
210
+ are kept as `*.replaced-<time>` backups). `--restart` never touches the
211
+ installed `pair-visa-agent` skill; `--force-skill` replaces it, moving a locally
212
+ edited copy to `.visa-cli-managed/backups/` first.
213
+
207
214
  On macOS and Linux the private identity key lives under `~/.visa-cli/` in an
208
215
  owner-only directory with file mode `0600`. It is an exportable local file:
209
216
  copying it transfers identity proof, and losing it blocks new proofs, because
@@ -245,6 +252,14 @@ Pausing, resuming, renaming and revoking an agent are owner actions in the
245
252
  Console. `visa disconnect --revoke` is the one terminal exit: it withdraws
246
253
  spending authority without touching identity.
247
254
 
255
+ **"Ask me each time".** When the owner's mode for a payment is "Ask me each
256
+ time", `pay` (and `purchase_create` for cards) returns
257
+ `wallet_owner_approval_required` / `card_owner_approval_required` with the
258
+ owner's approval link, and nothing is paid. Call the tool again with the same
259
+ `economicIntentId` (card: the returned `resumeId`): it waits for the owner's
260
+ approval (up to 5 minutes) and then completes that exact payment once. Each
261
+ approval covers one payment.
262
+
248
263
  ## Discover and pay
249
264
 
250
265
  The rail comes from the target. You never name it:
@@ -448,6 +463,13 @@ Restart the client or reconnect the MCP server (`/mcp` → `visa-cli` → reconn
448
463
  Every failure envelope carries `code`, `kind`, `fix`, and `nextAction`. Branch on
449
464
  `code` (stable, append-only) and `kind` (`caller` = fix it yourself and retry;
450
465
  `platform` = stop and escalate to a human), never on the English `error` text.
466
+ When a person fixes the failure in the Visa Console (add funds, resume or
467
+ reconnect an agent, change limits, renew an approval, verify a card), the
468
+ envelope also carries `remedyUrl` and `remedyLabel`: one link on this
469
+ deployment's Console to hand the owner, for example
470
+ `"remedyUrl": "https://app.visacli.sh/agent/enroll/payments", "remedyLabel": "Add funds to the wallet"`.
471
+ MCP tool failures carry the same two fields in `structuredContent` and in the
472
+ `io.visa/visa-error` metadata.
451
473
  Deterministic preconditions always resolve to a specific code:
452
474
 
453
475
  | Condition | `code` | `kind` |