Skip to main content

Production CLI for Relay — query, sync, and manage organisational memory.

Project description

relay-cli

Production CLI for Relay. One command (relay) wraps the full HTTP surface: query the memory layer, pull the daily brief, manage atoms / conflicts / drift, upload meetings, manage API tokens, sync published skills, inspect retrieval traces.

The legacy relay-sync console script is preserved as an alias for relay skills sync so existing automation keeps working.

Install

pipx install ./cli            # recommended — isolated, on $PATH
# or
pip install -e ./cli          # editable, for hacking on the CLI

Optional extras:

pip install -e "./cli[yaml]"  # adds --output yaml support
pip install -e "./cli[dev]"   # adds pytest, pyyaml

First run

relay profile set prod --api-base https://api.relay.example --org acme --default
relay login --email you@acme.com
relay doctor

Environment variables (handy in CI):

Var Purpose
RELAY_PROFILE Override active profile
RELAY_API_BASE Override API base (skills-sync only)
RELAY_TOKEN Bypass the keyring
RELAY_CONFIG_DIR Override ~/.config/relay

Commands

relay login [--email --password|-] | [--with-token <jwt>]
relay logout
relay whoami

relay query ask "what is our refund SLA?"
relay query drift <query_log_id>

relay brief [--must-know N --must-do N --waiting N]

relay atoms list [--type --domain --search --limit --offset --include-inactive]
relay atoms list --all [--max 10000]   # auto-paginate every page
relay atoms get <atom_id>

relay conflicts list [--status]
relay conflicts resolve <id> --winner <atom_id> [--note "..."]

relay drift list [--status]
relay drift recompute

relay meetings list | get <id> | upload <file> [--title]

relay integrations status
relay integrations disconnect <kind>

relay export mine | create --kind atoms --format json | download <id> --out file

relay trace list | get <id>

relay tokens create --name ci --scope atoms:read --scope query:run
relay tokens list | revoke <id>

relay skills sync --org <slug> --target <dir> [--prune] [--dry-run]

relay profile list | set <name> | default <name> | show
relay welcome   # show the Relay banner (profile, API, auth state)
relay doctor
relay --version

Output formats

Every read command supports --output text|json|yaml|table. Default is text on a TTY, json on a pipe, so relay atoms list | jq just works.

Security notes

  • Tokens live in the OS keyring (Keychain / Credential Manager / Secret Service). Fallback: ~/.config/relay/tokens/<profile> mode 0600 with a warning.
  • Authorization is never echoed in -vv logs (httpx pinned to INFO).
  • Skills-sync cache rejects any ETag that isn't hex-64 SHA-256.
  • Writes are atomic via tmp + rename.

Tests

cd cli
python -m pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

try_relay-0.3.2.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

try_relay-0.3.2-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

Details for the file try_relay-0.3.2.tar.gz.

File metadata

  • Download URL: try_relay-0.3.2.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for try_relay-0.3.2.tar.gz
Algorithm Hash digest
SHA256 421218fba99e0f08ebec7b488d141af7f50b72b3e2f1c3f2d3cf17dcdad32c55
MD5 0b5fe84fae979f599048a703516e09bb
BLAKE2b-256 58bf788ba75599160dbd3d3030e31cc0347959cbd45e41a04fae35c6a5ec1212

See more details on using hashes here.

File details

Details for the file try_relay-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: try_relay-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 51.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for try_relay-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd8c686f84d7301c7edf2b59dd52b00fa1402760296c90894f475a46553a0290
MD5 6aaad70091eed0c507435e9916b9e1ee
BLAKE2b-256 11c2ad9bb29c77fbab32e62b00fb2bbe113f2c11f76067c3d5d3f254630387b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page