@nextera.one/openlogs-cli
v2.1.0
Published
OpenLogs CLI v2 (Reality Containers)
Readme
@nextera.one/openlogs-cli
Command-line tool for creating, signing, verifying, and inspecting OpenLogs v2 records on disk.
Install
npm i -g @nextera.one/openlogs-cliCommands
openlogs init
Create an Ed25519 identity keypair for signing records.
openlogs init
openlogs init --out ./my-identity.json --kid kid:prod-keyOptions:
-o, --out <path>— Output path (default:.openlogs/identity.json)--kid <kid>— Key identifier to embed in signatures (default:kid:local)
openlogs log
Append a new signed v2 record to a JSONL file.
openlogs log \
--actor "user:alice" \
--event "auth.login" \
--tps "tps://L:40.7128,-74.0060@T:greg.m3.c1.y26.m3.d3.h16.m30.s0.m0" \
--data '{"method":"oauth2"}'Options:
-a, --actor <actor>— Actor identifier (required)-e, --event <event>— Event type (required)-t, --tps <tps>— TPS Reality String (required)-d, --data <json>— JSON payload (default:{})-x, --indexes <json>— JSON indexes for querying-f, --file <path>— Output JSONL file (default:./openlogs.jsonl)-k, --key <path>— Identity JSON path (default:.openlogs/identity.json)--unsigned— Do not sign the record
openlogs verify
Verify hash chain integrity and signatures of an OpenLogs JSONL file.
openlogs verify
openlogs verify --file ./audit.jsonlOptions:
-f, --file <path>— Input JSONL file (default:./openlogs.jsonl)
openlogs inspect
Inspect records from an OpenLogs JSONL file with multiple output formats.
openlogs inspect # Full JSON output
openlogs inspect --last # Last record only
openlogs inspect -n 5 # Last 5 records
openlogs inspect --format table # Table view
openlogs inspect --format compact # Compact one-line-per-recordOptions:
-f, --file <path>— Input JSONL file (default:./openlogs.jsonl)--last— Show only the last record-n, --count <n>— Show last N records--format <format>— Output format:json(default),compact, ortable
openlogs export
Export records to JSON array or CSV format.
openlogs export # JSON array output
openlogs export --format csv # CSV with auto-detected fields
openlogs export --format csv --fields entry.id,entry.event,hashOptions:
-f, --file <path>— Input JSONL file (default:./openlogs.jsonl)--format <format>— Output format:json(default) orcsv--fields <fields>— Comma-separated fields for CSV (auto-detects if omitted)
Typical Workflow
# 1. Initialize identity
openlogs init
# 2. Log some events
openlogs log -a "user:alice" -e "door.unlock" \
-t "tps://L:40.71,-74.00@T:greg.m3.c1.y26.m3.d3.h08.m0.s0.m0"
openlogs log -a "system:audit" -e "data.read" \
-t "tps://L:40.71,-74.00@T:greg.m3.c1.y26.m3.d3.h08.m5.s0.m0" \
-d '{"query":"SELECT * FROM users"}'
# 3. Verify chain
openlogs verify
# 4. Inspect records
openlogs inspect --format table
# 5. Export
openlogs export --format csv > audit.csvLicense
Apache-2.0
