@visa/cli 5.0.0-rc.416 → 5.0.0-rc.418

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/install.ps1 CHANGED
@@ -188,15 +188,14 @@ foreach ($commandName in $cliCommandNames) {
188
188
  Write-Host ""
189
189
  if ($verifiedCommand) {
190
190
  Write-Host " Visa CLI $visaVersion installed." -ForegroundColor Green
191
- Write-Host " Connect an AI client with: $verifiedCommand connect <client>" -ForegroundColor Cyan
192
- # Same door as install.sh, same reason: this line used to name the retired
193
- # setup ceremony. `pnpm lint:docs-sync` reads this file too.
194
- Write-Host " Then create your agent with: visa connect" -ForegroundColor Cyan
191
+ # Same one next step as install.sh: an angle-bracket placeholder is a redirection when
192
+ # pasted. `pnpm lint:docs-sync` reads this file too.
193
+ Write-Host " Next: visa connect" -ForegroundColor Cyan
195
194
  Write-Host " Or ask your agent to call its connect tool. You approve it in the browser." -ForegroundColor Cyan
196
195
  Write-Host ""
197
196
  } else {
198
197
  $primaryCommand = $cliCommandNames | Select-Object -First 1
199
198
  Write-Host " Installed but '$primaryCommand' was not runnable from PATH yet." -ForegroundColor Yellow
200
- Write-Host " Close and reopen PowerShell, then run: $primaryCommand connect <client>" -ForegroundColor Yellow
199
+ Write-Host " Close and reopen PowerShell, then run: visa connect" -ForegroundColor Yellow
201
200
  Write-Host ""
202
201
  }
package/install.sh CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
  # Visa CLI installer for macOS and Linux
3
- # Usage: curl -fsSL https://app.visacli.sh/cli | bash
3
+ # Usage: bash -o pipefail -c 'curl -fsSL https://app.visacli.sh/cli | bash'
4
4
  #
5
5
  # The entire body is wrapped in _visa_install() so bash must parse the full
6
6
  # file before executing anything — prevents partial-download execution if
@@ -40,10 +40,7 @@ esac
40
40
 
41
41
  # ── check Node.js ─────────────────────────────────────────────────────────────
42
42
  if ! command -v node &>/dev/null; then
43
- fail "Node.js is required but not installed.
44
- Install from https://nodejs.org/ or use nvm:
45
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
46
- nvm install ${REQUIRED_NODE_MAJOR}"
43
+ fail "Install Node.js ${REQUIRED_NODE_MAJOR}+ from https://nodejs.org/."
47
44
  fi
48
45
 
49
46
  NODE_VERSION="$(node --version)"
@@ -55,8 +52,7 @@ case "$NODE_MAJOR" in
55
52
  esac
56
53
 
57
54
  if [ "$NODE_MAJOR" -lt "$REQUIRED_NODE_MAJOR" ]; then
58
- fail "Node.js ${NODE_VERSION} is too old. Version ${REQUIRED_NODE_MAJOR}+ required.
59
- Install from https://nodejs.org/ or: nvm install ${REQUIRED_NODE_MAJOR}"
55
+ fail "Install Node.js ${REQUIRED_NODE_MAJOR}+ from https://nodejs.org/."
60
56
  fi
61
57
 
62
58
  ok "Node.js ${NODE_VERSION}"
@@ -76,16 +72,24 @@ NPM_OUTPUT=""
76
72
  NPM_EXIT=0
77
73
  NPM_OUTPUT="$(npm install -g "$PACKAGE" 2>&1)" || NPM_EXIT=$?
78
74
 
75
+ # No permission to write npm's global folder (a system Node): install once more
76
+ # under a folder this user owns, instead of handing back manual steps (T33).
77
+ USER_PREFIX=""
78
+ if [ "$NPM_EXIT" -ne 0 ] && echo "$NPM_OUTPUT" | grep -qiE 'EACCES|permission denied|access denied'; then
79
+ USER_PREFIX="$HOME/.npm-global"
80
+ printf " ${DIM}No permission for npm's global folder. Running: npm install -g --prefix ~/.npm-global ${PACKAGE}${RESET}\n"
81
+ mkdir -p "$USER_PREFIX"
82
+ NPM_EXIT=0
83
+ NPM_OUTPUT="$(npm install -g --prefix "$USER_PREFIX" "$PACKAGE" 2>&1)" || NPM_EXIT=$?
84
+ export PATH="$USER_PREFIX/bin:$PATH"
85
+ fi
86
+
79
87
  if [ "$NPM_EXIT" -ne 0 ]; then
80
88
  echo "$NPM_OUTPUT"
81
89
  echo ""
82
90
 
83
91
  if echo "$NPM_OUTPUT" | grep -qiE 'EACCES|permission denied|access denied'; then
84
- warn "Permission problem. Fix with a user-scoped npm prefix:"
85
- warn " mkdir -p ~/.npm-global"
86
- warn " npm config set prefix ~/.npm-global"
87
- warn ' export PATH="$HOME/.npm-global/bin:$PATH"'
88
- warn "Add the export line to your shell profile, then rerun this installer."
92
+ warn "npm could not write to ~/.npm-global either. Check that your home folder is writable, then rerun this installer."
89
93
  elif echo "$NPM_OUTPUT" | grep -qiE 'UNABLE_TO_GET_ISSUER_CERT|SELF_SIGNED_CERT|CERT_HAS_EXPIRED'; then
90
94
  warn "Certificate/proxy problem. If you are on a corporate network,"
91
95
  warn "use a personal network or ask IT for the npm certificate configuration."
@@ -108,16 +112,18 @@ fi
108
112
  echo ""
109
113
  if [ -n "$VISA_VERSION" ]; then
110
114
  ok "Visa CLI ${VISA_VERSION} installed."
111
- info "Connect an AI client with: visa-cli connect <client>"
112
- # The door, named as the shell sees it. This line used to name the retired
113
- # setup ceremony, so an owner who followed it to the letter got
114
- # legacy_door_removed at the end of a clean install (owner report,
115
- # 2026-09-15). `pnpm lint:docs-sync` now reads this file.
116
- info "Then create your agent with: visa connect"
115
+ # One runnable next step (T16). `visa connect` mounts the app it runs in and
116
+ # names that app's restart; a pasted placeholder in angle brackets is a shell
117
+ # redirection. `pnpm lint:docs-sync` reads this file.
118
+ if [ -n "$USER_PREFIX" ]; then
119
+ # The one line that keeps it on PATH in new shells.
120
+ info "Add to your shell profile: export PATH=\"\$HOME/.npm-global/bin:\$PATH\""
121
+ fi
122
+ info "Next: visa connect"
117
123
  info "Or ask your agent to call its connect tool. You approve it in the browser."
118
124
  else
119
125
  warn "Installed, but 'visa-cli' was not found on PATH."
120
- warn "Restart your shell, then run: visa-cli connect <client>"
126
+ warn "Restart your shell, then run: visa connect"
121
127
  fi
122
128
  echo ""
123
129
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visa/cli",
3
- "version": "5.0.0-rc.416",
3
+ "version": "5.0.0-rc.418",
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",
@@ -60,6 +60,7 @@
60
60
  "@visa/financial-core": "workspace:*",
61
61
  "@visa/identity": "workspace:*",
62
62
  "@visa/contracts": "workspace:*",
63
+ "@visa/integration-taskmarket": "workspace:*",
63
64
  "@visa/observability": "workspace:*",
64
65
  "@visa/shared": "workspace:*",
65
66
  "@visa/wallet": "workspace:*",
package/server.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.visa-crypto-labs/visa-cli",
4
- "version": "5.0.0-rc.416",
4
+ "version": "5.0.0-rc.418",
5
5
  "title": "Visa CLI",
6
6
  "description": "Connect an owner-approved agent, then discover and pay supported Tempo MPP services within its limits.",
7
7
  "websiteUrl": "https://web-visa-code-preview.up.railway.app/docs",
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "registryType": "npm",
11
11
  "identifier": "@visa/cli",
12
- "version": "5.0.0-rc.416",
12
+ "version": "5.0.0-rc.418",
13
13
  "transport": {
14
14
  "type": "stdio"
15
15
  },