Skip to content

Command line ​

Two commands, one per package. Both run on plain Node 22 or later. Exit code 0 on success, 1 when a check or an operation fails, 2 for usage errors. Everything diagnostic goes to stderr; stdout carries the result, so --json output can be piped.

agent-custody ​

commandwhat it doespage
keygen --dir <dir> --name <name>an Ed25519 key pair as <name>.key and <name>.pub; prints the keyidSDK
grant --key <principal.key> --principal <id> --agent <id> --scopes <a,b> [--ttl-hours 24] [--agent-key <agent.pub>] --out <file>a signed delegationgateway
delegate --key <agent.key> --parent <grant.json> --agent <sub> --scopes <a,b> [--ttl-hours N] [--agent-key <sub.pub>] --out <file>a narrower grant for a sub-agentgateway
gateway --config <gateway.json> [--http [--port 8790] [--host 127.0.0.1] [--idle-minutes 30]]the gateway over stdio, or shared over HTTPgateway
hook [--config <sdk.json>]the Claude Code hook; the event on stdinClaude Code
serve --config <sdk.json> [--port 8788] [--host 127.0.0.1]the sidecarsidecar
verify <bundle.json> --issuer-key <pub> [--principal-key <pub>] [--log-key <pub> | --log-url <url>] [--log-id <id>] [--upstream-key <pub>] [--stripe-secret-env NAME] [--github-secret-env NAME] [--log <log.jsonl>] [--json]checks one receiptverify
audit --older <bundle> --newer <bundle> (--log <log.jsonl> | --log-url <url>) [--issuer-key <pub>] [--log-key <pub>] [--log-id <id>] [--witness-key <pub> | --witness-url <url>] [--json]proves the newer head extends the olderverify
prune --log <log.jsonl> --before <ISO> [--receipts <dir>]retention on a local log: older leaves become their hasheslog API
log --file <log.jsonl> --key <log.key> [--port 8787] [--host] [--token-env NAME] [--log-id <id>] [--tenants <file>]the log server over a filelog API
log --db-env NAME (--key <log.key> [--retired-key <pub>]… | --signer-url <url> [--signer-token-env NAME]) [--checkpoint-dir <dir>] [--checkpoint-every 300] [--checkpoint-heartbeat 21600] [--admin-token-env NAME] [--public-url <url>] [--checkpoints-url <url>] [--trust-proxy]the log server over Postgres, with tenants, checkpoints, and the admin pagelog API
signer --key <log.key> --port 8790 [--host] [--token-env NAME] [--retired-key <pub>]…the process that holds the log's keylog API
witness --key <witness.key> --log-url <url> --checkpoints-url <url> --out <dir> [--tenant <name>]… [--every 300] [--once]a second signer on another operator's machinelog API
log-check --log-url <url> [--checkpoints-url <url>] [--witness-url <url>] [--tenant <name>]… [--max-lag 900] [--json]the outside monitorlog API
log-export --log-url <url> [--tenant <name>] --token-env NAME --out <dir> [--month YYYY-MM]… [--json]a tenant's own log, self-checkedverify
log-admin --db-env NAME tenant add <id> [--log-id <id>] | tenant list | tenant disable <id> | tenant plan <id> <free|team|enterprise>tenantshosted
log-admin --db-env NAME token add <tenant> --label <text> | token list <tenant> | token revoke <tenant> <hash-prefix>tokens; a minted token is printed oncehosted
log-admin --db-env NAME audit [--tenant <id>], log-admin --db-env NAME import --file <log.jsonl> [--tenant default]the audit trail; a file log brought into the databasehosted
portal --db-env NAME --secret-env NAME --public-url <log url> [--checkpoints-url <url>] [--portal-url <url>] [--port 8792] [--host] [--stripe-key-env NAME --stripe-webhook-env NAME --stripe-price-team <id>] [--trust-proxy]the tenant portalhosted

agent-custody-memory ​

commandwhat it doespage
serve --ledger <path> [--allow-direct] [--key <memory.key>] [--forget-key-env NAME] [--retention '<space>=<ISO duration>,…']the memory server over stdiomemory
serve --ledger <path> --http [--port 8790] [--host] [--token-env NAME] [--allow-direct]the same over HTTP, sharedmemory
sweep --via <gateway.json> --reason <text> [--before <ISO>] [--space <space>] [--no-digest]retention as a receipted callstate tools
sweep --ledger <path> --before <ISO> --reason <text> [--space] [--actor] [--forget-key-env NAME] [--no-digest]retention on the ledger alonestate tools
eval [--scenarios <file>] [--baseline] [--json] [--sign <key> --out <report>], eval --verify <report> --key <pub>the memory-mutation evalsstate tools
pack --ledger <path> --receipts <dir> --fact <factId> --out <pack.json> --sign <key>, pack --verify <pack.json> --key <pub> [--issuer-key] [--principal-key]one fact's custody packstate tools
explain --receipts <dir> --receipt <id> [--ledger <path>] [--issuer-key] [--principal-key] [--log-key] [--json], explain … --out <file> --sign <key>, explain --verify <file> --key <pub>one action explainedstate tools
review --receipts <dir> [--ledger <path>] [--issuer-key] [--principal-key] [--log-key] [--log-id] [--port 8791] [--host] [--title <text>], review … --out <dir>the review pagesstate tools
export --ledger <path> --out <ledger.jsonl>any ledger as JSONLstate tools
blast --ledger <path> --receipts <dir> --fact <factId> [--json]what relied on a factstate tools