@visa/cli 4.1.0-rc.37 → 4.1.0-rc.39
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 +79 -36
- package/dist/checkout-engine/cli-engine.d.ts +13 -26
- package/dist/checkout-engine/cli-engine.js +189 -116
- package/dist/checkout-engine/evidence.d.ts +1 -1
- package/dist/checkout-engine/executor.d.ts +3 -1
- package/dist/checkout-engine/executor.js +14 -14
- package/dist/checkout-engine/hosted-approval.d.ts +7 -0
- package/dist/checkout-engine/hosted-approval.js +29 -1
- package/dist/checkout-engine/live-fill-approval.js +3 -3
- package/dist/checkout-engine/mandate/card-mandate.d.ts +5 -1
- package/dist/checkout-engine/mandate/card-mandate.js +7 -1
- package/dist/checkout-engine/mandate/mandate-ledger.d.ts +13 -12
- package/dist/checkout-engine/mandate/mandate-ledger.js +15 -4
- package/dist/checkout-engine/run-live-fill.js +6 -5
- package/dist/checkout-engine/vic-confirmation.js +2 -2
- package/dist/cli.js +373 -335
- package/dist/mcp-server/index.js +300 -262
- package/dist/skills/pair-visa-agent/RUNTIMES.md +92 -79
- package/dist/skills/pair-visa-agent/SKILL.md +197 -311
- package/native/bin/win32-x64/visa-keychain-win.exe +0 -0
- package/package.json +2 -2
- package/server.json +3 -3
|
@@ -1,79 +1,92 @@
|
|
|
1
|
-
# Running
|
|
2
|
-
|
|
3
|
-
`@visa/visa-cli-openclaw` is packaged for OpenClaw, but the
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
1
|
+
# Running Visa pairing in OpenClaw and Hermes
|
|
2
|
+
|
|
3
|
+
`@visa/visa-cli-openclaw` is packaged for OpenClaw, but the pairing v2 skill is
|
|
4
|
+
runtime-agnostic. OpenClaw, Hermes, and any runtime that can execute the `visa` CLI or
|
|
5
|
+
mount its MCP server all use the same identity-only enrollment ceremony.
|
|
6
|
+
|
|
7
|
+
## Plugins are runtime-specific
|
|
8
|
+
|
|
9
|
+
| Axis | OpenClaw | Hermes |
|
|
10
|
+
| --------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
11
|
+
| Language | JavaScript/TypeScript | Python |
|
|
12
|
+
| Plugin manifest | `openclaw.plugin.json` + `definePluginEntry` (`index.ts`) | `~/.hermes/plugins/<name>/plugin.yaml` + `__init__.py`, `ctx.register_tool(...)` |
|
|
13
|
+
| Config file | `~/.openclaw/openclaw.json` | `~/.hermes/config.yaml` |
|
|
14
|
+
| Skills | Markdown `SKILL.md` | Markdown under `~/.hermes/skills/<name>/` |
|
|
15
|
+
| MCP | `mcp.servers.*` | `mcp_servers.*` |
|
|
16
|
+
| Migration | — | `hermes claw migrate` imports skills, allowlists, compatible MCP servers, memory, and `SOUL.md` |
|
|
17
|
+
|
|
18
|
+
The OpenClaw JavaScript tools do not load as a Hermes plugin. Portability comes from the
|
|
19
|
+
Markdown skill, CLI, and MCP protocol instead.
|
|
20
|
+
|
|
21
|
+
## One ceremony, three surfaces
|
|
22
|
+
|
|
23
|
+
All supported surfaces share the same local pending record and pairing v2 protocol:
|
|
24
|
+
|
|
25
|
+
1. OpenClaw: `pair_agent_start` / `pair_agent_poll`.
|
|
26
|
+
2. Visa MCP server: `enroll_agent` with `action: "start"` / `action: "claim"`.
|
|
27
|
+
3. Raw CLI: `visa agent enroll --format json` /
|
|
28
|
+
`visa agent enroll-claim --format json`.
|
|
29
|
+
|
|
30
|
+
The start operation returns an authorization URL for the human. The browser receives only
|
|
31
|
+
that URL. The runtime retains its private Ed25519 key and local claim material. Polling
|
|
32
|
+
resumes the same pending identity and safely replays the same signed request after an
|
|
33
|
+
interruption.
|
|
34
|
+
|
|
35
|
+
On activation, use `agentId` as the stable identity. `identityKeyJkt` identifies the
|
|
36
|
+
currently bound Ed25519 public key and can change after key rotation. Activation means the
|
|
37
|
+
identity is paired only; payment methods, email, and tap bindings are separate future or
|
|
38
|
+
follow-up configuration.
|
|
39
|
+
|
|
40
|
+
## Install and mount
|
|
41
|
+
|
|
42
|
+
Install the prerelease CLI, which provides both command names and the MCP server:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
npm install -g @visa/cli@rc
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
There is no `visa mcp` subcommand. Run `visa-cli connect <runtime>` when supported, or
|
|
49
|
+
configure `@visa/cli/dist/mcp-server/index.js` directly. Replace `<npm root -g>` below
|
|
50
|
+
with the output of `npm root -g`.
|
|
51
|
+
|
|
52
|
+
OpenClaw (`~/.openclaw/openclaw.json`):
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"mcp": {
|
|
57
|
+
"servers": {
|
|
58
|
+
"visa-cli": {
|
|
59
|
+
"command": "node",
|
|
60
|
+
"args": ["<npm root -g>/@visa/cli/dist/mcp-server/index.js"]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Hermes (`~/.hermes/config.yaml`):
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
mcp_servers:
|
|
71
|
+
visa-cli:
|
|
72
|
+
command: node
|
|
73
|
+
args: ['<npm root -g>/@visa/cli/dist/mcp-server/index.js']
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Runtime setup map
|
|
77
|
+
|
|
78
|
+
| Runtime | Setup and pairing surface |
|
|
79
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
80
|
+
| OpenClaw | Install `@visa/visa-cli-openclaw` for the `pair_agent_*` tools and bundled skill. The plugin auto-mounts the Visa MCP server. The MCP or raw CLI surfaces remain valid alternatives. |
|
|
81
|
+
| Hermes | Run `visa-cli connect hermes`, install `pair-visa-agent/SKILL.md` under `~/.hermes/skills/`, and use `enroll_agent`. `hermes claw migrate` can import an existing OpenClaw setup. |
|
|
82
|
+
| Other runtime | Put `visa` on `PATH`, mount the same MCP server if supported, or use the raw `visa agent enroll` and `visa agent enroll-claim` commands as the universal fallback. |
|
|
83
|
+
|
|
84
|
+
The skill itself can be installed with `visa agent skill`. Pass `--runtime <name>` or
|
|
85
|
+
`--dir <path>` when auto-detection is not appropriate, then reload the runtime.
|
|
86
|
+
|
|
87
|
+
## Optional Hermes wrapper
|
|
88
|
+
|
|
89
|
+
A Hermes Python plugin may expose the same `pair_agent_start` and `pair_agent_poll` names
|
|
90
|
+
by calling the canonical raw CLI commands and registering tools with
|
|
91
|
+
`ctx.register_tool(...)`. It is optional: the MCP server and skill already expose the
|
|
92
|
+
same protocol and persisted pairing state without a second implementation.
|