Skip to main content

Bridge between Codex CLI hooks and Infinium agent tracing

Project description

Infinium Codex Connector

Bridge between Codex CLI hooks and Infinium agent tracing. Automatically captures Codex CLI sessions — tool calls, prompts, token usage — and sends structured traces to the Infinium platform for Maestro analysis.

Quick Start

Navigate to your project, install, and set up:

cd /path/to/your/project
pip install infinium-codex-connector
infinium-codex init
infinium-codex test       # verify credentials + network

That's it. Now just use Codex CLI as you normally would — every session is automatically traced to Infinium.

If infinium-codex is not on your PATH, use python -m infinium_codex_connector as a drop-in replacement.

Requirements

  • Python 3.9+
  • Codex CLI with hooks enabled (codex features enable codex_hooks)
  • An Infinium agent ID and secret

Windows: requires Codex CLI v0.119.0 or newer — earlier versions had hooks gated off on Windows (openai/codex#17268, merged 2026-04-09).

How It Works

After infinium-codex init, everything is automatic. You use Codex CLI exactly as before — the connector works silently in the background via hooks.

Codex CLI ──command hook──> python -m infinium_codex_connector.hook
                                 │
                                 ├─ append event to session JSONL file
                                 │
                                 └─ on Stop:
                                      spawn detached background worker
                                      → replay events → aggregate → send trace
                                                                       │
                                                                       ▼
                                                               Infinium API
                                                           POST /agents/{id}/trace
  1. Codex CLI fires a command hook for each event (tool call, prompt, etc.)
  2. The hook script appends the event to a session JSONL file on disk — returns instantly so Codex is never blocked.
  3. On turn completion (Stop), a detached background worker replays all events, aggregates them into a structured trace, and sends it to Infinium via the Python SDK.
  4. Maestro interprets the trace (grading accuracy, efficiency, prompt adherence).

CLI Reference

infinium-codex init

Interactive setup wizard. Configures credentials and Codex hooks.

Options:
  --agent-id TEXT        Agent ID (skip prompt)
  --agent-secret TEXT    Agent Secret (skip prompt)
  --base-url TEXT        API base URL
  --no-interactive       Use flags only, no prompts (for CI/scripting)

infinium-codex test

Send a minimal test trace to verify credentials + network.

Options:
  -v, --verbose    Show the full trace payload before sending

infinium-codex status

Show current configuration: tracing state, credentials, config source, hook locations, pending retries.

infinium-codex pause / infinium-codex resume

Temporarily stop or restart tracing. Hooks stay installed — events are silently skipped while paused.

infinium-codex history

View recently sent traces.

Options:
  -n, --limit N    Number of entries (default: 10)
  --json           Output raw JSON lines
  --clear          Delete all history

infinium-codex errors

View the connector error log (network failures, bad payloads, keyring issues).

infinium-codex retry

Resend traces that failed due to network issues.

Options:
  --dry-run    Show what would be retried without sending

infinium-codex update-credentials

Update your Agent ID or Secret.

infinium-codex uninstall

Remove the connector completely — hooks, config file, and keyring secret.

Options:
  -y, --yes    Skip confirmation prompt

infinium-codex cleanup

Remove stale session files (housekeeping).

infinium-codex start

Start HTTP server mode (alternative to command hooks, requires pip install infinium-codex-connector[server]).

Per-Project Configuration

Each project traces to its own Infinium agent:

cd /path/to/project-a
infinium-codex init    # Agent A credentials

cd /path/to/project-b
infinium-codex init    # Agent B credentials

Config resolution order:

  1. Project config (.infinium/config.json at or above the working directory)
  2. Environment variables (INFINIUM_AGENT_ID, INFINIUM_AGENT_SECRET — override for CI/Docker)

Add .infinium/ to your .gitignore.

Credential Storage

  • Agent ID and API URL are stored in the project config file (.infinium/config.json)
  • Agent Secret is stored in your OS keyring:
    • Windows: Credential Manager
    • macOS: Keychain
    • Linux: Secret Service (GNOME Keyring / KWallet)
  • Environment variables (INFINIUM_AGENT_ID, INFINIUM_AGENT_SECRET) override stored values — useful for CI/Docker

What Gets Traced

Field Source
name First user prompt, truncated (e.g. "Fix the login validation")
description First user prompt (full)
duration Total session duration in seconds
steps Ordered list: user prompts, tool calls
errors Tool failures (Codex tool_response: false)
environment Model, session source, working directory, permission mode
llm_usage Prompt / completion / cached input tokens (from Codex transcript)

Captured Events

Event What It Captures
SessionStart Model, source (startup/resume), working directory
UserPromptSubmit User prompt text (truncated)
PreToolUse / PostToolUse Tool name (Bash), command, success/failure
Stop Assistant's final response — triggers trace flush

Configuration

Environment variables (all optional — init handles the common case):

# Credentials (override config file + keyring)
INFINIUM_AGENT_ID=...
INFINIUM_AGENT_SECRET=...
INFINIUM_BASE_URL=...

# Connector behavior
CONNECTOR_QUIET=false              # Suppress output
CONNECTOR_FLUSH_ON_STOP=true       # Send trace after each turn
CONNECTOR_FLUSH_ON_SESSION_END=true
CONNECTOR_SESSION_TTL=600          # Stale session cleanup threshold (seconds)
CONNECTOR_SESSION_DIR=...          # Override temp directory for session files

Documentation

Full documentation: i42m.ai/docs/codex

License

MIT

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

infinium_codex_connector-1.0.0.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

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

infinium_codex_connector-1.0.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file infinium_codex_connector-1.0.0.tar.gz.

File metadata

  • Download URL: infinium_codex_connector-1.0.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for infinium_codex_connector-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8ce98b0308fb20c9e193d166787d76333da9abcc989c654662de0b6c751b6aa1
MD5 66a65d10b802ce22df905118f9a6cecf
BLAKE2b-256 c9be33f5b9fc429d8f1af4492cb224ee2866083fedd4ea2491ac1438689ccc47

See more details on using hashes here.

File details

Details for the file infinium_codex_connector-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for infinium_codex_connector-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0cecebaa60ed4c61887bf13792013959d1091101e5b62a92f6cb409b76bb4874
MD5 def5676e4a9bf27cc3f2d95fa5640e6d
BLAKE2b-256 fcf53ba61aaabea45054bc2f4a44854dbdf96311bd5934876b184fd9aa3833f8

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