@visa/cli 4.1.0-rc.74 → 4.1.0-rc.76

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.
@@ -153,7 +153,8 @@ after the pending identity and private key are durable. Present the link and fin
153
153
  for exact browser comparison. When `claiming` is `background`, activation completes after
154
154
  approval without another command; if it is `manual`, run the returned `recoveryCommand`
155
155
  after approval. Use the step-by-step flow below when `pair` is unavailable or when driving
156
- the plugin/MCP tools.
156
+ the plugin/MCP tools — `enroll_agent` action `start` reports the same `claiming` /
157
+ `recoveryCommand` fields and starts the same detached poller.
157
158
 
158
159
  ## Returning & already-connected — do NOT re-pair
159
160
 
@@ -269,6 +270,22 @@ dangerous). All spending is gated by the owner-approved local policy caps.
269
270
  `visa agent enroll-claim --format json`.
270
271
  - [ ] Report the stable `agentId` and that the identity is paired on this runtime.
271
272
 
273
+ ### Completion is `activated` — nothing else
274
+
275
+ Only a poll result of `activated` means this runtime is paired. Until you have one, do not
276
+ tell the human the agent is connected, paired, enrolled, set up, ready, or good to go, and
277
+ do not move on to spending, mail, or mesh steps that assume an identity.
278
+
279
+ `start` returning successfully is not completion. It returns a stable `agentId` and a
280
+ `requestKeyFingerprint` **before any human has approved anything** — those are review
281
+ values for the browser comparison, not evidence of pairing. Reporting an `agentId` as
282
+ though it were a finished pairing is the most likely way to mislead the human here, because
283
+ the number looks like a result.
284
+
285
+ If you cannot reach `activated`, say plainly what state you did reach and what the human
286
+ should do next. An honest "approved but not yet activated — I'm still polling" is correct;
287
+ "you're all set" without an `activated` result is not.
288
+
272
289
  ### 1. Start
273
290
 
274
291
  Start once. If there is already a pending pairing, poll it before creating another.
@@ -290,12 +307,23 @@ Use this concise shape:
290
307
  > Public request-key fingerprint — compare every character in the browser:
291
308
  > <requestKeyFingerprint, complete and untruncated>
292
309
  >
293
- > Approve only if the fingerprint matches, then tell me when it is finished. The link
294
- > expires shortly.
310
+ > Approve only if the fingerprint matches. The link expires shortly I'll keep watching
311
+ > and confirm here the moment it activates.
295
312
 
296
313
  Do not ask the human for a code, secret, private key, token, or signed message. The URL,
297
314
  stable agent ID, and public fingerprint are review values, not claim credentials.
298
315
 
316
+ **Do not end your turn here waiting to be told the human is done.** Presenting the link is
317
+ not the end of the ceremony; go straight to the poll in §2 and drive it to a terminal
318
+ state. Asking the human to report back is what strands a pairing: they approve in the
319
+ browser, the server records it, and nothing ever writes the local record — so the ceremony
320
+ expires while both sides believe the other is acting.
321
+
322
+ When the start result reports `claiming: "background"`, a detached poller is already
323
+ finishing activation and it will complete even if this turn ends; poll anyway so you can
324
+ confirm the outcome. When it reports `claiming: "manual"`, that poller could NOT start and
325
+ polling in this turn is the ONLY thing that will complete the pairing.
326
+
299
327
  ### 2. Poll
300
328
 
301
329
  Poll the same pending pairing. Interpret results as follows:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visa/cli",
3
- "version": "4.1.0-rc.74",
3
+ "version": "4.1.0-rc.76",
4
4
  "description": "Visa CLI runtime for stable agent identity and separately authorized payment capabilities",
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.74",
4
+ "version": "4.1.0-rc.76",
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.74",
12
+ "version": "4.1.0-rc.76",
13
13
  "transport": {
14
14
  "type": "stdio"
15
15
  },