refactor!: rebrand CCAM to AgentHub
Clean break, no compatibility alias. Renames the product name, the CLI binary (`ccam` -> `agenthub`), the env var prefix (`CCAM_` -> `AGENTHUB_`), the Prometheus metric namespace (`ccam_*` -> `agenthub_*`), the tmux session prefix (`ccam-lane-<id>` -> `agenthub-lane-<id>`), the per-repo runtime profile directory (`.ccam/profile` -> `.agenthub/profile`), the lanes state root (`~/.claude/ccam-lanes` -> `~/.claude/agenthub-lanes`), the bundled plugins (`plugins/ccam*` -> `plugins/agenthub*`) and their slash commands (`/ccam-doctor` -> `/agenthub-doctor`, `/ccam:*` -> `/agenthub:*`). Because there is no alias, an existing install has to be updated by hand: rename its `.ccam/profile` directory and any `CCAM_*` variables, and reinstall the plugin under its new name. Two other name families are deliberately left alone here, since they are not just strings: the `Claude-Code-Monitor` repository/marketplace name, and the `agent-dashboard` npm package plus its `~/.claude/agent-dashboard` runtime directory, which holds the live database and needs a migration rather than a rename. Verified: server 1406/1406, client 459/459, `grep -i ccam` clean across tracked files, `openapi.yaml` regenerated (95 paths, unchanged count).
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
---
|
||||
description: >
|
||||
Probes each major Agent Monitor API route — /api/stats, /api/analytics,
|
||||
/api/sessions, /api/pricing/cost, /api/workflows/runs, /api/cc-config/overview
|
||||
— and reports each one's HTTP status, latency, and response shape, flagging
|
||||
which are reachable. Use to verify a dashboard install is wired up correctly.
|
||||
---
|
||||
|
||||
# Endpoint Probe
|
||||
|
||||
Smoke-test the dashboard's main API surface by hitting each major route once and
|
||||
reporting whether it responds and what shape it returns.
|
||||
|
||||
## Input
|
||||
|
||||
The user provides: **$ARGUMENTS**
|
||||
|
||||
Options: empty (default: probe all routes below), or a substring to filter which
|
||||
routes are probed (e.g. `pricing` probes only matching routes).
|
||||
|
||||
## Data Sources
|
||||
|
||||
| Endpoint | Returns |
|
||||
|----------|---------|
|
||||
| `GET /api/stats` | `{ total_sessions, active_sessions, active_agents, total_agents, total_events, events_today, ws_connections, agents_by_status, sessions_by_status }` |
|
||||
| `GET /api/analytics` | `{ overview, tokens, tool_usage, daily_events, daily_sessions, agent_types, event_types, avg_events_per_session, total_subagents, sessions_by_status, agents_by_status }` |
|
||||
| `GET /api/sessions` | Session list; each: `id, status, model, cwd, started_at, ended_at, cost, metadata` |
|
||||
| `GET /api/pricing/cost` | `{ total_cost, breakdown:[{ model, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, cost, matched_rule }] }` |
|
||||
| `GET /api/workflows/runs` | Workflow-tool run journals (fleets) |
|
||||
| `GET /api/cc-config/overview` | Claude Code config explorer overview (skills, agents, commands, plugins, mcp, hooks, etc.) |
|
||||
|
||||
## Method
|
||||
|
||||
For each route, issue a single `GET` against `http://localhost:4820<path>` with a
|
||||
short timeout, capturing the HTTP status code, round-trip latency, and the
|
||||
top-level shape of the JSON body (object keys, or array length). A route counts
|
||||
as reachable when it returns a 2xx with parseable JSON.
|
||||
|
||||
If `/api/stats` itself fails to connect, the dashboard is not running — stop and
|
||||
tell the user to start it with `npm start` (or `npm run dev`) from the repo root.
|
||||
|
||||
## Report Sections
|
||||
|
||||
### 1. Probe Matrix
|
||||
A Markdown table — one row per route — with columns:
|
||||
`endpoint`, `status` (HTTP code), `latency`, `reachable` (✅/❌), `shape`
|
||||
(e.g. `object: {total_cost, breakdown[…]}` or `array[N]`).
|
||||
|
||||
### 2. Reachability Summary
|
||||
Count of reachable vs total. Name any unreachable or non-2xx routes explicitly.
|
||||
|
||||
### 3. Verdict
|
||||
One line: install looks healthy (all reachable) or partially wired (list the
|
||||
gaps and the most likely cause — server not running, route disabled, or empty data).
|
||||
|
||||
## Output
|
||||
|
||||
- Compact Markdown; the probe matrix is the centerpiece.
|
||||
- Cite the real status code, latency, and observed shape per route — never assume.
|
||||
- Report shape from what actually came back; if a route returns an empty array or
|
||||
object, say so rather than inferring fields.
|
||||
- Keep currency, where shown, to 4 decimals (e.g. `total_cost: $0.0000`).
|
||||
Reference in New Issue
Block a user