101 Commits

Author SHA1 Message Date
David Noël-Romas 198ffbab37 feat: Add email username claim/release commands
Support the new email_claim_username and email_release_username MCP
tools. Users can claim a human-readable username ($1.00) to use
{username}@atxp.email instead of {user_id}@atxp.email.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.10.5
2026-02-17 14:56:21 -06:00
GitHub Action 738d33b60c bump version to 1.10.4 [skip ci] 2026-02-17 20:23:28 +00:00
David Noël-Romas a30f677e5b feat: Rename deposit to fund, add credit card payment option
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.10.4
2026-02-17 14:22:30 -06:00
GitHub Action 943f211ca6 bump version to 1.10.3 [skip ci] 2026-02-16 17:42:34 +00:00
David Noël-Romas e1fbefbfd1 feat: Add deposit address command
Adds `npx atxp deposit` to fetch and display the user's deposit
addresses (typically Base and Solana) for topping up their ATXP
account with USDC.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.10.3
2026-02-16 11:41:49 -06:00
GitHub Action e11337018e bump version to 1.10.2 [skip ci] 2026-02-12 17:28:16 +00:00
R-M-Naveen 9a798209ab Merge pull request #41 from atxp-dev/naveen/agent-register-cli-added
feat: Add --registration-id flag for two-step agent registration
v1.10.2
2026-02-12 12:26:27 -05:00
R-M-Naveen d053f244a0 feat: Add --registration-id flag for two-step agent registration
Allows agents to resume a previous registration challenge without
fetching a new one. When both --registration-id and --answer are
provided, the CLI skips step 1 (challenge fetch) and goes directly
to verification. This enables non-interactive registration flows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 11:21:42 -06:00
GitHub Action e3adb9ad2c bump version to 1.10.1 [skip ci] 2026-02-12 16:30:15 +00:00
R-M-Naveen 390757cbd9 Merge pull request #40 from atxp-dev/naveen/agent-register-cli-added
feat: Add agent self-registration CLI command
v1.10.1
2026-02-12 11:15:47 -05:00
R-M-Naveen 796140e546 feat: Add agent self-registration CLI command
Adds `npx atxp agent register` for AI agents to self-register without
requiring an existing login. The command handles the 2-step flow:
fetches a base64-encoded captcha challenge, decodes and displays it,
prompts for the answer, then verifies and creates the account.

Supports --server flag for custom server URL and --answer for
non-interactive use.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 10:10:52 -06:00
GitHub Action 88db529a4b bump version to 1.10.0 [skip ci] 2026-02-10 15:11:47 +00:00
R-M-Naveen 2f0c140f6a Merge pull request #39 from atxp-dev/naveen/agent-account-cli-changes
feat: Add agent create/list CLI commands
v1.10.0
2026-02-10 08:47:08 -06:00
R-M-Naveen b4c0eb35d9 feat: Add agent create/list CLI commands
Adds `npx atxp agent create` and `npx atxp agent list` commands
for managing agent accounts directly from the CLI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:36:29 -05:00
GitHub Action a20941e9ae bump version to 1.9.0 [skip ci] 2026-02-06 22:38:23 +00:00
David Noël-Romas cd730d8600 feat: Add balance command and update atxp skill with LLM gateway, Clowdbot, and support info
Add `npx atxp balance` command that queries the ATXP accounts API to
display combined USDC + IOU balance. Update the atxp skill with guidance
on LLM Gateway access, Clowdbot environment configuration, contacting
support@atxp.ai, and checking email inbox daily for skill updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.9.0
2026-02-06 16:37:19 -06:00
GitHub Action 3208b5e5d4 bump version to 1.8.2 [skip ci] 2026-02-01 06:21:27 +00:00
David Noël-Romas 7f86b2163b feat: Display agent email address in read and send responses
The email MCP server now returns inboxAddress in every response.
Updated readMessage and sendEmail to display this information.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v1.8.2
2026-02-01 00:20:41 -06:00
GitHub Action 13e981d6c1 bump version to 1.8.1 [skip ci] 2026-01-31 08:25:43 +00:00
David Noël-Romas 674056d6d1 feat: Add email read command for fetching full message content
- Add `npx atxp email read <messageId>` command to read full message body
- Update inbox display to show message IDs
- Integrate with new `email_get_message` MCP tool
- Update skill documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v1.8.1
2026-01-31 02:25:05 -06:00
GitHub Action a28b673bf8 bump version to 1.8.0 [skip ci] 2026-01-31 08:08:06 +00:00
David Noël-Romas 52cc48fb19 feat: Add email service support to CLI
- Add `npx atxp email inbox` command to check inbox (free)
- Add `npx atxp email send` command with --to, --subject, --body options ($0.01/email)
- Integrate with email.mcp.atxp.ai MCP server
- Update help to include email commands
- Update atxp skill documentation with email usage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v1.8.0
2026-01-31 02:06:51 -06:00
GitHub Action bae8f11b94 bump version to 1.7.0 [skip ci] 2026-01-28 21:38:12 +00:00
emilioacc 64a15133fe feat: Add worker info command to display worker details (#31)
* feat: Add worker info command to display worker details

- Add workerInfoCommand() function that calls get_worker_info tool
- Display worker name, URL, creation/modification timestamps
- Format bindings output: databases, storage, analytics, env vars, secrets
- Add 'info' case to handleWorkerCommand() switch
- Update help text and error messages to include info command

ATXP-1430

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: trigger CI

* test: add tests for workerInfoCommand

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: correct process.exit mocking in workerInfoCommand tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: trigger CI

* chore: trigger CI build

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.7.0
2026-01-28 16:36:24 -05:00
emilioacc 39b440334b feat: Add comprehensive tests for env vars and secrets (ATXP-1436) (#36)
- Add unit tests for parseEnvArg(), parseEnvFile(), validateEnvVarName()
- Add tests for SENSITIVE_PATTERNS and getReservedEnvNames()
- Add tests for --env flag precedence over --env-file
- Add tests for sensitive pattern warnings
- Create secrets.test.ts with tests for parseKeyValue(), isValidSecretKey()
- Add tests for secretsSetCommand, secretsListCommand, secretsDeleteCommand
- Export helper functions for direct unit testing

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:22:54 -05:00
emilioacc 049d5ede0e feat(paas): add real-time log streaming with --follow flag (#34)
Add --follow (-f) flag to `npx atxp paas worker logs` command for
continuous log streaming via client-side polling.

Features:
- Stream logs continuously with Ctrl+C to stop
- Configurable polling interval via --interval flag (default: 2000ms)
- Color-coded log output by level (error, warn, info, debug)
- Deduplication to prevent duplicate log entries
- Automatic retry logic (3 attempts with 5s delay)
- Memory-bounded deduplication set (max 10k entries)
- Works with existing filters (--level, --since)

Usage:
  npx atxp paas worker logs my-api --follow
  npx atxp paas worker logs my-api -f --interval 500
  npx atxp paas worker logs my-api --follow --level error

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:00:21 -05:00
emilioacc 0c42583cf4 feat(cli): make OAuth debug logs opt-in via --verbose flag (#35)
Suppress [atxp] OAuth debug logs by default. Enable them via:
- --verbose or -v flag
- DEBUG=atxp, DEBUG=1, or DEBUG=true environment variable

Changes:
- Add verbose.ts utility with isVerboseMode() and getCliLogger()
- Update atxpClient() to use LogLevel.WARN by default
- Add Global Options section to help output
- Add unit tests for verbose mode detection

Fixes: ATXP-1428

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:56:50 -05:00
emilioacc 9929d0b00a feat(paas): implement consistent --help at all PAAS command levels (#33)
* feat(paas): implement consistent --help at all PAAS command levels

- Stop global --help interception for paas commands in index.ts
- Create centralized help registry with data-driven definitions in help.ts
- Handle --help at category, command, and subcommand levels
- Add CI test coverage to ensure help documentation for all commands

Closes ATXP-1426

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(paas): fix test to handle multi-word related commands

Use replaceAll instead of replace to convert all spaces to dots
for nested commands like "dns record create" -> "dns.record.create"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 13:05:14 -05:00
emilioacc 0e1114c5a9 feat(cli): cache OAuth tokens between CLI invocations (#32)
Add FileOAuthDb class that persists OAuth tokens to disk at
~/.atxp/oauth-cache.json. This eliminates the need for a fresh
OAuth flow on every paas command.

- Create FileOAuthDb implementing OAuthDb interface
- Store tokens with 0o600 permissions (owner read/write only)
- Check token expiration on retrieval
- Add unit tests for token persistence and expiration

Fixes ATXP-1427

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:59:08 -05:00
emilioacc 9345d02d0f feat(paas): add analytics list and schema commands (#30)
* feat(paas): add analytics list and schema commands

Add two new CLI commands for analytics:
- `npx atxp paas analytics list` - List all available analytics datasets
- `npx atxp paas analytics schema <dataset>` - Show column names for a dataset

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: add integration tests for analytics list and schema commands

- Update analytics subcommands list to include 'list' and 'schema'
- Add test for parsing analytics schema dataset argument
- Add test for identifying analytics list command

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:51:25 -05:00
GitHub Action 0fc9bf74a7 bump version to 1.6.0 [skip ci] 2026-01-28 17:35:21 +00:00
emilioacc a40a518b3d feat(paas): add secrets management CLI commands (#29)
Add CLI commands for managing encrypted worker secrets:
- npx atxp paas secrets set <worker> KEY=VALUE
- npx atxp paas secrets list <worker>
- npx atxp paas secrets delete <worker> <key>

Secrets are encrypted at rest and update immediately without redeployment.
Secret keys must be UPPER_SNAKE_CASE (e.g., API_KEY, DATABASE_URL).

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.6.0
2026-01-28 12:22:05 -05:00
emilioacc 98455843b6 feat(paas): allow configurable Analytics Engine binding name (#28)
* feat(paas): allow configurable Analytics Engine binding name

- Update --enable-analytics to accept optional binding name
- Default to 'ANALYTICS' when no name is specified
- Dynamically update reserved env var names based on binding name
- Update help text to document new [NAME] syntax

Closes ATXP-1423

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: add tests for custom analytics binding name

- Test custom binding name passed to enable_analytics
- Test reserved env var validation with default ANALYTICS binding
- Test reserved env var validation with custom binding name
- Test that ANALYTICS env var is allowed when using different custom binding

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Emilio Amaya <emilioamaya99@gmail.com>
2026-01-28 10:51:59 -05:00
GitHub Action c1496c1399 bump version to 1.5.0 [skip ci] 2026-01-28 15:37:03 +00:00
emilioacc 44e20ca116 feat(paas): add --env and --env-file flags for worker deploy (#27)
Add support for setting environment variables when deploying workers:
- --env KEY=VALUE flag (repeatable) for individual env vars
- --env-file <path> flag to load from a .env file
- --env takes precedence over --env-file for duplicate keys
- Validation for reserved names (DB, BUCKET, ANALYTICS, USER_NAMESPACE)
- Warning for sensitive-looking variables (SECRET, PASSWORD, KEY, etc.)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.5.0
2026-01-28 10:31:28 -05:00
emilioacc 3e475e613a docs(analytics): Update CLI help text for query command (#26)
Add notes explaining:
- Use "analytics_data" as table name (auto-replaced)
- Time filtering is applied automatically unless query has "timestamp"

Related to ATXP-1424

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 10:13:34 -05:00
GitHub Action 6f9c2b4665 bump version to 1.4.0 [skip ci] 2026-01-27 23:13:07 +00:00
emilioacc 1cc01c88ae feat: add PAAS CLI commands for workers, databases, storage, DNS, and analytics (#25)
Add 24 PAAS tools from paas.mcp.atxp.ai under the `atxp paas` namespace:

Worker commands:
- atxp paas worker deploy/list/logs/delete

Database commands:
- atxp paas db create/list/query/delete

Storage commands:
- atxp paas storage create/list/upload/download/files/delete-bucket/delete-file

DNS commands:
- atxp paas dns add/list/record create/list/delete/connect

Analytics commands:
- atxp paas analytics query/events/stats

Includes comprehensive tests for all commands (59 new tests).

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.4.0
2026-01-27 18:11:26 -05:00
GitHub Action 4329ee50d3 bump version to 1.3.1 [skip ci] 2026-01-27 22:10:16 +00:00
emilioacc fc129ab16e Simplify PaaS section in atxp SKILL.md (#24)
Remove detailed tool enumeration to avoid sync issues with atxp-paas skill.
Use generic terminology instead of Cloudflare-specific references.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.3.1
2026-01-27 17:09:24 -05:00
Emilio Amaya 0d38ab92c1 docs: add CLAUDE.md with release process guidelines 2026-01-27 16:35:04 -05:00
GitHub Action 9b9be3fe42 bump version to 1.3.0 [skip ci] 2026-01-27 21:33:36 +00:00
emilioacc 83d7a4c7ae feat: include atxp-paas tools in atxp skill (#23)
* feat: include atxp-paas tools in atxp skill

- Add PaaS section to SKILL.md with Workers, D1, and R2 tool documentation
- Add paas.mcp.atxp.ai to MCP Servers table
- Update description to include cloud deployment capabilities
- Bump version to 1.3.0 (minor release for new feature)

Fixes ATXP-1418

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: update package-lock.json after version bump

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.3.0
2026-01-27 16:31:53 -05:00
GitHub Action c5fb991134 bump version to 1.2.7 [skip ci] 2026-01-27 15:57:42 +00:00
emilioacc 2eaa4182a7 feat: auto-update shell profile on login and read config file directly (#22)
- Add config.ts with centralized config handling:
  - getConnection() checks env var first, falls back to ~/.atxp/config
  - saveConnection() writes connection string to config file
  - getShellProfile() detects user's shell profile path
  - updateShellProfile() adds source line to shell profile

- Update call-tool.ts to use getConnection() so CLI works even
  without ATXP_CONNECTION env var set (reads from config file)

- Update login.ts to auto-update shell profile after saving config,
  eliminating the need for users to manually edit their shell profile

This improves the login UX - users no longer need to manually update
their ~/.zshrc or ~/.bashrc after running `npx atxp login`.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.7
2026-01-27 10:52:03 -05:00
GitHub Action c908827d52 bump version to 1.2.6 [skip ci] 2026-01-26 22:17:51 +00:00
emilioacc f4bf6f0610 fix: construct full URL when using --token for headless login (#21)
When using `npx atxp login --token <token>`, the raw token was saved
directly to the config file. However, the @atxp/client library expects
a full URL format with the connection_token parameter.

This caused "Invalid URL" errors when trying to use any ATXP tools
after headless login.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.6
2026-01-26 17:03:39 -05:00
GitHub Action 9a91659dc3 bump version to 1.2.5 [skip ci] 2026-01-26 21:04:30 +00:00
Emilio Amaya e72fd06a55 fix: sync package-lock.json v1.2.5 2026-01-26 16:03:47 -05:00
Emilio Amaya 17be61fc80 fix: reset atxp dependency to published version 2026-01-26 16:02:07 -05:00