diff --git a/CHANGELOG.md b/CHANGELOG.md index 52e2338..4d7273b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,256 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.0.1] - 2026-06-12 -> Versioning restarts at 0.0.x: the Memory client is a new product line. Entries -> below 0.0.1 document the retired agent-runtime CLI (unpublished from npm). - -### Changed -- **BREAKING - Memory client reboot.** The CLI is now the agentage Memory client. - All agent-runtime commands were removed: run, agents, runs, machines, schedules, - projects, vault, daemon, logs, create, config, whoami (folded into status), - completions, update, setup mcp. The local daemon (:4243) is gone - the CLI is stateless. -- `setup` now signs in via OAuth 2.1 (Dynamic Client Registration + PKCE) against - auth.agentage.io with a localhost callback; flags: `--disconnect`, `--reauth`, `--no-browser`. -- `status` shows account, plan, memories, and endpoint health (`--json` supported). -- Dependencies reduced to chalk + commander + open. - -## [0.24.6] - 2026-04-26 - -### New Features -- Add hub command bridge with invoke-action handler and settings update functionality - -## [0.24.5] - 2026-04-26 - -### New Features -- Add redesigned authentication callback pages for improved user experience - -## [0.24.4] - 2026-04-26 - -### New Features -- Add machine name parameter to authentication login flow for better device identification - -## [0.24.3] - 2026-04-26 - -### Bug Fixes -- Fix authentication token refresh handling to properly detect expired credentials and surface auth errors - -## [0.24.2] - 2026-04-25 - -### Bug Fixes -- Fix race condition in agent run initialization that could cause missed status updates - -## [0.24.1] - 2026-04-25 - -### Bug Fixes -- Fix update notification appearing when CLI output is redirected or piped to other commands - -## [Unreleased] - -### Bug Fixes -- Update-available notice no longer corrupts non-interactive output. The - notice is now suppressed when stdout is not a TTY (CI, pipes, `--json` - consumers), and respects the `NO_UPDATE_NOTIFIER` environment variable - to match the npm convention. Previously the trailing message could get - appended to JSON output and break downstream parsers. - -## [0.24.0] - 2026-04-25 - -### New Features -- Add automatic vault registration from ~/projects/vaults directory during setup -- Add heartbeat monitoring for parent directories - -## [0.23.0] - 2026-04-25 - -### New Features -- Add AGENTAGE_BIND_HOST environment variable for configuring daemon host binding with secure loopback default - -### Bug Fixes -- Fix daemon startup with invalid config.json files through validation and legacy discovery.dirs migration - -## [Unreleased] - -### Bug Fixes -- Validate `~/.agentage/config.json` shape at load and rewrite the file when it - is malformed, partial, or carries a foreign schema. Previously a desktop-era - or hand-edited file could spread an underspecified object into the daemon - config and crash at runtime. - -### Migration -- `discovery.dirs` (cli@<0.18) is now auto-migrated into the new - `agents.default` / `agents.additional` shape on first load. Old paths are - preserved as `agents.additional` entries so custom search paths survive the - upgrade. No user action required; the next daemon start rewrites - `config.json` in the new format. - -## [0.22.1] - 2026-04-25 - -### New Features -- Add vault metadata to daemon heartbeat for improved monitoring and debugging - -## [0.22.0] - 2026-04-25 - -### New Features -- Add vault system for secure content storage and management -- Add vault file operations: read, search, and edit content through CLI -- Add vault admin actions for content management -- Include action capabilities in daemon heartbeat for better monitoring - -### Infrastructure -- Update dependencies across multiple packages - -## [0.21.0] - 2026-04-24 - -### New Features -- Add `--scope` flag to setup command for configuring MCP with user-specific scope settings - -## [0.20.3] - 2026-04-24 - -### New Features -- Add `setup mcp` subcommand to configure MCP (Model Context Protocol) settings in current directory - -## [0.20.2] - 2026-04-23 - -### New Features -- Add machine metrics endpoint for monitoring system performance via API - -### Infrastructure -- Improve CI automation with fallback squash merge for clean-status PRs - -## [0.20.1] - 2026-04-22 - -### New Features -- Add CPU count and load average metrics to daemon heartbeat monitoring - -## [0.20.0] - 2026-04-22 - -### New Features -- Add CPU, memory, and disk metrics collection in daemon heartbeat -- Replace separate init/login/logout commands with unified `agentage setup` command -- Expose control-plane action registry via HTTP and WebSocket APIs - -### Documentation -- Rewrite Quick Start guide as streamlined 5-minute onboarding walkthrough - -## [Unreleased] - -### BREAKING - -- Replace `agentage init`, `agentage login`, `agentage logout` with unified `agentage setup` command. Interactive by default (one confirmation prompt), fully headless with `--yes` / `--token` / `--machine-id` flags. `--disconnect` replaces `logout`; `--reauth` re-runs OAuth. Callers invoking the old commands will receive `unknown command` from Commander. - -## [0.19.0] - 2026-04-19 - -### New Features -- Add recursive project discovery with configurable directory ignore patterns -- Send default agent and project configurations in heartbeat synchronization - -## [0.18.1] - 2026-04-17 - -### Bug Fixes -- Fix daemon machine identity persistence by storing in machine.json file - -## [0.18.0] - 2026-04-17 - -### New Features -- Add support for configurable agents and projects directories with default and additional paths - -## [0.17.1] - 2026-04-17 - -### New Features -- Add schedules subcommands to CLI for managing scheduled agent tasks -- Add cron scheduler module to daemon for automated agent execution - -### Bug Fixes -- Fix project loading to automatically recover from ghost entries and sync missing remote projects - -### Improvements -- Update core dependencies to latest versions - -## [0.17.0] - 2026-04-15 - -### New Features -- Add WebSocket event emission when runs start to ensure child runs appear in the hub -- Add `ctx.run()` dispatch functionality with parent-child run linkage - -### Bug Fixes -- Fix task parameter to be optional when agent's input schema allows it - -## [0.16.0] - 2026-04-15 - -### New Features -- Add validation of agent results against output schema defined in manifest - -## [0.15.0] - 2026-04-13 - -### New Features -- Add input validation for agent runs against defined schemas -- Add standalone file-path mode for running agents directly from files - -### Bug Fixes -- Fix agent run command to accept empty prompts - -## [0.14.4] - 2026-04-10 - -### Bug Fixes -- Fix hub sync to properly include discovered and remote agent data in heartbeat payload - -## [0.14.3] - 2026-04-09 - -### Bug Fixes -- Fix project commands to return proper exit codes when errors occur - -## [0.14.2] - 2026-04-09 - -### New Features -- Capture git origin URL when discovering or adding projects - -## [0.14.1] - 2026-04-09 - -### New Features -- Add upgrade hint in status command when newer version is available - -### Bug Fixes -- Fix projects.json schema validation with automatic rewrite on mismatch - -## [0.14.0] - 2026-04-09 - -### New Features -- Add projects registry with auto-discovery and worktree support -- Add `agentage projects` command to list and manage discovered projects -- Wire projects into run, status, API, and heartbeat functionality -- Add in-progress PR validation comment support - -### Bug Fixes -- Fix hub status to show 'connecting' during WebSocket handshake instead of incorrect status - -### Documentation -- Fix daemon default port in README (correct port is 4243, not 3100) -- Document daemon hub resilience features including heartbeat and retry mechanisms - -## [0.13.1] - 2026-03-29 - -### New Features -- Add version information display in `agentage status` command -- Add automatic daemon self-update when version mismatch is detected - -### Infrastructure -- Add automated release preparation workflow with auto-merge capability -- Add release workflow gating to ensure proper publish process - -### Bug Fixes -- Fix package-lock.json synchronization with @anthropic-ai/sdk dependency - -## [0.13.0] - 2026-03-29 - -### New Features -- Add version information display to `agentage status` command -- Add automatic daemon self-update when version mismatch is detected -- Add automated release preparation workflow with auto-merge capability - -### Bug Fixes -- Fix package-lock.json synchronization with Anthropic SDK dependency -- Fix release workflow patterns for squash merge compatibility - -### Infrastructure -- Add release workflow enforcement with publication gates and PR guards -- Align release PR format with desktop application standards +### Added +- `setup` - browser OAuth 2.1 sign-in (Dynamic Client Registration + PKCE) with a + localhost callback; tokens stored in `~/.agentage/auth.json` (mode 0600); flags: + `--disconnect`, `--reauth`, `--no-browser`. +- `status` - one line per fact: CLI version, target, sign-in state, and endpoint + reachability (`--json` supported). diff --git a/CLAUDE.md b/CLAUDE.md index 83b3bd0..cf7968c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,8 +1,8 @@ # CLAUDE.md - @agentage/cli -Terminal client for agentage Memory. Rebooted 2026-06 with versioning RESTARTED at 0.0.x -(old npm versions were unpublished; earliest burned slot is 0.1.19 - stay below it until -the line naturally passes). Commands: `setup` (OAuth sign-in) + `status` only. The old +The agentage CLI. Versioning RESTARTED at 0.0.x (old npm versions were +unpublished; earliest burned slot is 0.1.19 - stay below it until the line naturally +passes). Commands: `setup` (OAuth sign-in) + `status` only. The old agent-runtime CLI (daemon, run/agents/machines/...) lives in git history only - do not resurrect patterns from it. @@ -19,8 +19,8 @@ resurrect patterns from it. Fresh DCR public client per `setup` run (the redirect URI binds the ephemeral callback port); `client_id` stored in auth.json for the refresh grant. Tokens are opaque; `status` validates them via the OAuth introspection endpoint (`/api/auth/mcp/get-session`). -Account details (email/plan/memories) in `status` are pending OAuth-bearer support in the -backend REST API - it currently accepts session cookies only. +`status` omits account details (email/plan/memories): the backend REST API accepts +session cookies only, not OAuth bearers. ## E2E (`./e2e`, Playwright) Drives the built `dist/cli.js` as a subprocess against a live stack (default dev target). diff --git a/README.md b/README.md index 5ee9712..8ad4ee3 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,7 @@ [![CI](https://github.com/agentage/cli/actions/workflows/ci.yml/badge.svg)](https://github.com/agentage/cli/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/%40agentage%2Fcli.svg)](https://badge.fury.io/js/%40agentage%2Fcli) -The terminal client for [agentage Memory](https://agentage.io) - one memory, every AI, owned by you. - -> This package was rebooted as the agentage **Memory client** and its versioning -> restarts at 0.0.x. The old agent-runtime CLI (daemon, run, agents, machines, ...) -> was removed and unpublished. +The [agentage](https://agentage.io) command line. ## Install @@ -21,7 +17,7 @@ Requires Node.js >= 22. ### `agentage setup` -Signs this machine in to your agentage memory. Opens a browser for OAuth 2.1 +Signs this machine in to your agentage account. Opens a browser for OAuth 2.1 sign-in (PKCE) and stores the resulting tokens in `~/.agentage/auth.json` (mode 0600). No passwords ever touch the terminal. @@ -44,9 +40,9 @@ agentage status --json ## Environment -| Variable | Purpose | Default | -|---|---|---| -| `AGENTAGE_SITE_FQDN` | Target host | `agentage.io` | +| Variable | Purpose | Default | +| --------------------- | --------------------------- | ------------- | +| `AGENTAGE_SITE_FQDN` | Target host | `agentage.io` | | `AGENTAGE_CONFIG_DIR` | Credential/config directory | `~/.agentage` | ## Development diff --git a/changelog-content.md b/changelog-content.md index f97baf0..0ac655f 100644 --- a/changelog-content.md +++ b/changelog-content.md @@ -1,2 +1,2 @@ -### New Features -- Add hub command bridge with invoke-action handler and settings update functionality +- `setup` - browser OAuth 2.1 sign-in (Dynamic Client Registration + PKCE) with a localhost callback. +- `status` - CLI version, target, sign-in state, and endpoint reachability (`--json` supported). diff --git a/node_modules b/node_modules new file mode 120000 index 0000000..27765ab --- /dev/null +++ b/node_modules @@ -0,0 +1 @@ +/home/vreshch/projects/agentage/cli/node_modules \ No newline at end of file diff --git a/package.json b/package.json index f8521b7..82f1f62 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@agentage/cli", "version": "0.0.1", - "description": "agentage Memory CLI - connect, clone, and manage your memory from the terminal", + "description": "The agentage CLI - connect this machine to agentage from the terminal", "type": "module", "main": "./dist/index.js", "bin": { diff --git a/scripts/generate-changelog.js b/scripts/generate-changelog.js index 11a523f..2810e1d 100755 --- a/scripts/generate-changelog.js +++ b/scripts/generate-changelog.js @@ -17,7 +17,7 @@ import Anthropic from '@anthropic-ai/sdk'; import { execSync } from 'child_process'; const CHANGELOG_PROMPT = `You are a changelog generator for Agentage CLI. -Agentage CLI is the daemon and command-line interface for running and managing AI agents. +Agentage CLI is the agentage command-line tool. Given the following git commits, generate a concise, user-friendly changelog entry. diff --git a/src/cli.ts b/src/cli.ts index 3136e41..06a2504 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -7,10 +7,7 @@ import { VERSION } from './utils/version.js'; const program = new Command(); -program - .name('agentage') - .description('agentage Memory CLI - one memory, every AI, owned by you') - .version(VERSION); +program.name('agentage').description('The agentage CLI').version(VERSION); registerSetup(program); registerStatus(program); diff --git a/src/commands/setup.ts b/src/commands/setup.ts index cdc02e4..963bd73 100644 --- a/src/commands/setup.ts +++ b/src/commands/setup.ts @@ -116,7 +116,7 @@ export const runSetup = async ( export const registerSetup = (program: Command): void => { program .command('setup') - .description('Sign in and connect this machine to your agentage memory') + .description('Sign in and connect this machine to your agentage account') .option('--disconnect', 'sign out and remove local credentials') .option('--reauth', 'force a fresh sign-in') .option('--no-browser', 'print the sign-in URL instead of opening a browser')