The previous fix only passed -y to npx (to auto-install the skills
package) but not to the skills add command itself, which has its own
interactive confirmation prompts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
OpenClaw's exec tool in allowlist mode blocks shell builtins like
`source` and command substitution `$()`. The CLI already reads
credentials from ~/.atxp/config directly via getConnection() — this
commit removes the shell-sourcing path entirely:
- Config format changed from `export ATXP_CONNECTION="value"` to plain
`ATXP_CONNECTION=value` (backward-compatible regex parses both)
- Deleted getShellProfile() and updateShellProfile() — no more shell
profile modification on login
- Login output now says "npx atxp whoami" instead of "source ~/.atxp/config"
- SKILL.md: removed grep/cut/source patterns, added OpenClaw Integration section
- README.md: replaced source instruction with whoami verification
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Agents couldn't find or use claim-username because the parameter was
documented as <n> (looks numeric) instead of <username>. Expanded the
description to explain what the command does and valid username format.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The topup command has been removed from the CLI. The fund command
now handles both Stripe payment links and USDC deposit addresses.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace hardcoded 'cli/1.19.1' with dynamic version from package.json
so the header stays in sync across releases
- Add X-ATXP-Client header to GET /agents (listAgents) for consistent
traffic attribution across all agent endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sends cli/1.19.1 identifier on POST /agents/register and POST /agents
so the server can distinguish CLI traffic from direct API bot calls.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The video MCP server expects `userPrompt` but the CLI was sending `prompt`,
causing the positional argument to arrive as undefined.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fail explicitly with error codes (E_REG_001, E_REG_002) and support
contact when device context is unavailable or the server rejects the
request, instead of silently omitting the context parameter.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add local contacts database (add/list/show/edit/remove/search) stored
in ~/.atxp/contacts.json with cloud push/pull backup. Add --unread-only
and --direction filters to phone sms/calls commands, and update
direction labels from inbound/outbound to incoming/sent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fetches phone number from phone.mcp.atxp.ai in parallel with the
account info request and displays it when present.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* ci: add AI code review workflow
Adds a self-contained AI code review workflow using
anthropics/claude-code-action@v1. Reviews PR changes and posts
structured feedback. Self-contained because this repo is in a
different org from the reusable workflow.
Part of ATXP-1602.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* ci: trigger fresh workflow run with secret
* ci: re-trigger with API key
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Exposes phone.mcp.atxp.ai MCP server with 11 subcommands: register,
release, configure-voice, sms, read-sms, send-sms, get-attachment,
call, calls, read-call, and search. Updates skill documentation with
phone command reference, security boundaries, and pricing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Auto-install @zvec/zvec into ~/.atxp/deps on first `memory index` or
`memory search` call so agents using npx get local vector search
without manual setup. Fix zvec optional dep version to ^0.2.0. When
`npx atxp` is run with no arguments, install the atxp skill via
`npx skills add`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix three zvec integration bugs: ESM dynamic import not unwrapping
CJS default export, wrong indexParams key (type→indexType), and search
query being contaminated with flag values. Replace .md-only file filter
with gitignore-aware collection of all text files, skip binary files
and common directories (node_modules, .git, etc.), and increase file
limit to 500.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Obfuscated .cjs vendor files cause lint errors in CI. Exclude
src/vendor/ from the lint command since vendor code shouldn't be linted.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace separate `topup` and `deposit` commands with a unified `fund`
command that calls POST /api/funding/fund and displays both crypto
deposit addresses and payment links (for agent accounts).
- Rewrite deposit.ts to use Bearer auth and call unified endpoint
- Remove topup.ts (functionality merged into fund)
- Update help.ts and index.ts routing
- Include transactions command and memory from main merge
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Refactor the backup tool and skill into a broader "memory management"
system. Cloud backup/restore (push/pull/status) is preserved with full
backward compatibility ('backup' is an alias for 'memory'). Two new
subcommands are added:
- memory index --path <dir>: chunks .md files by heading, generates
feature-hash embeddings (256-dim), and stores them in a local zvec
HNSW index for fast approximate nearest-neighbor search.
- memory search <query> --path <dir>: converts the query to the same
vector space and returns the top-k most similar memory chunks with
file paths, headings, line numbers, and similarity scores.
Local search is fully offline — no network or authentication required.
https://claude.ai/code/session_017TjuWQCrpzPM4rYdTTPFBQ
The backup tool now uses jszip to create DEFLATE-compressed zip archives
instead of sending raw JSON payloads. This reduces transfer size and
bandwidth usage. Includes server migration instructions for the
corresponding endpoint changes.
https://claude.ai/code/session_01HZSR7WQPTnnuo8Pmi8UwAw
The OpenClaw LLM scanner flagged the skill as "suspicious" across
five dimensions. Changes to improve the score:
- Add top-level permissions field to frontmatter declaring network,
filesystem, subprocess, and credential access explicitly
- Expand compatibility field to mention all runtime requirements
(credential, network, filesystem, npx download)
- Add Runtime Execution Model section documenting npx download
behavior, version pinning, source verification, and cache location
- Add human-approval recommendations for financial operations:
require approval before first paid call, use test wallets,
implement per-session spending caps, treat email send as high-risk
- Remove "No human approval per transaction" claim and replace with
pointer to Financial Safety guardrails
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Address Snyk W007 (HIGH): remove --token CLI examples and echo
$ATXP_CONNECTION pattern that expose secrets in process listings
and shell history. Add explicit rule against passing credentials
as CLI arguments.
Address Snyk W011 / Trust Hub prompt injection: add boundary
marker guidance ([BEGIN/END UNTRUSTED CONTENT]) for untrusted
output from search, email, and X commands.
Address Snyk W009: add Financial Safety section with guardrails
against externally-triggered spending, payment link generation,
and social engineering vectors.
Address Trust Hub command execution: add explicit rule against
sourcing ~/.atxp/config (uses export syntax = shell execution).
Update version pinning guidance to recommend exact versions and
npm audit signatures for supply-chain verification.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Push/pull .md files to ATXP servers so agents can preserve their
identity (SOUL.md, MEMORY.md, etc.) across workspace rebuilds.
Separate skill file with its own security boundary since it reads/writes
arbitrary directories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>