2.4 KiB
2.4 KiB
Mission Control CLI for Agent-Complete Operations (v1 scaffold)
This repository now includes a first-party CLI scaffold at:
- scripts/mc-cli.cjs
It is designed for autonomous/headless usage first:
- API key auth support
- profile persistence (~/.mission-control/profiles/*.json)
- stable JSON mode (
--json) - deterministic exit code categories
- command groups mapped to Mission Control API resources
Quick start
- Ensure Mission Control API is running.
- Set environment variables or use profile flags:
- MC_URL=http://127.0.0.1:3000
- MC_API_KEY=your-key
- Run commands:
node scripts/mc-cli.cjs agents list --json node scripts/mc-cli.cjs tasks queue --agent Aegis --max-capacity 2 --json node scripts/mc-cli.cjs sessions control --id --action terminate
Supported groups in scaffold
- auth: login, logout, whoami
- agents: list/get/create/update/delete/wake/diagnostics/heartbeat
- tasks: list/get/create/update/delete/queue
- sessions: list/control/continue
- connect: register/list/disconnect
- tokens: list/stats/by-agent
- skills: list/content/check/upsert/delete
- cron: list/create/update/pause/resume/remove/run
- events: watch (basic HTTP fallback)
- raw: generic request passthrough
Exit code contract
- 0 success
- 2 usage error
- 3 auth error (401)
- 4 permission error (403)
- 5 network/timeout
- 6 server error (5xx)
API contract parity gate
To detect drift between Next.js route handlers and openapi.json, use:
node scripts/check-api-contract-parity.mjs
--root .
--openapi openapi.json
--ignore-file scripts/api-contract-parity.ignore
Machine output:
node scripts/check-api-contract-parity.mjs --json
The checker scans src/app/api/**/route.ts(x), derives operations (METHOD + /api/path), compares against OpenAPI operations, and exits non-zero on mismatch.
Baseline policy in this repo:
scripts/api-contract-parity.ignorecurrently stores a temporary baseline of known drift.- CI enforces no regressions beyond baseline.
- When you fix a mismatch, remove its line from ignore file in the same PR.
- Goal is monotonic burn-down to an empty ignore file.
Next steps
- Promote scripts to package.json scripts (
mc,api:parity). - Add retry/backoff and SSE stream mode for
events watch. - Add richer pagination/filter UX and CSV export for reporting commands.
- Add integration tests that run the CLI against a test server fixture.