@daleccs/conductor
v0.1.0
Published
Conductor CLI — ledger-native ops for agents.weweekly.online (SPEC-041 §1+§3)
Maintainers
Readme
@daleccs/conductor
CLI for conductor — ledger-native task/approval/deploy ops for agent swarms.
SPEC-041 §1 + §3 / T-090.
Install
pnpm add -g @daleccs/conductor
# or: npm i -g @daleccs/conductorRequires Node ≥ 18.
Auth
Create ~/.conductor/creds.yaml:
url: https://agents.weweekly.online
user: rei # agent id
pass: <password> # from Cindy / conductor bootstrapOr export CONDUCTOR_URL / CONDUCTOR_USER / CONDUCTOR_PASS.
Commands
| command | what |
|---|---|
| conductor create --title ... --owner ... [--state approved] | Create a task |
| conductor approve --task T-NNN [--pr <url>] | Ledger approval (merge gate) |
| conductor claim --task T-NNN | owner=<me>, state=in_progress |
| conductor artifact --task T-NNN --pr <url> | Attach artifacts (strict object) |
| conductor state --task T-NNN --to <state> | State transition |
| conductor ledger --task T-NNN | List approvals |
| conductor deploy --task T-NNN --url ... [--verify] [--done] | Record deploy |
| conductor get --task T-NNN | Fetch task |
| conductor list [--owner ...] [--state ...] | List tasks |
| conductor subscribe --types ... --exec ./handler.sh | Long-lived SSE + exec handler |
Run conductor <cmd> --help for per-command flags.
subscribe
Long-lived SSE client with --exec handler. On each event, forks the script with:
CONDUCTOR_EVENT = full JSON
CONDUCTOR_EVENT_ID = seq number
CONDUCTOR_EVENT_TYPE = e.g. task.approved
CONDUCTOR_TASK_ID = event.task_id
CONDUCTOR_SPEC_ID = event.spec_idPersists last_seq to ~/.conductor/state/subscribe-<slug>.json so reconnect resumes without replay.
# Rei listener: claim every task approved to me
conductor subscribe \
--types task.approved \
--owner rei \
--exec ./on-approved.shExample on-approved.sh:
#!/usr/bin/env bash
set -e
[ "$CONDUCTOR_EVENT_TYPE" = "task.approved" ] || exit 0
conductor claim --task "$CONDUCTOR_TASK_ID"
# ...kick off work...Exponential backoff on disconnect (1s → 60s cap), graceful shutdown on SIGINT/SIGTERM saves last_seq.
Dev
cd cli
node --test test/*.test.mjs # 42 unit + source-grep tests
npm pack --dry-run # verify publish contents