Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
258 changes: 6 additions & 252 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
10 changes: 5 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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).
Expand Down
14 changes: 5 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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.

Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions changelog-content.md
Original file line number Diff line number Diff line change
@@ -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).
1 change: 1 addition & 0 deletions node_modules
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate-changelog.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
5 changes: 1 addition & 4 deletions src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion src/commands/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down