Skip to main content

Tselora

License Python 3.12+

The execution shadow for intelligent systems.

Tselora is an open-source execution intelligence platform for AI agents. It plugs into an existing agent, observes what actually ran, and reconstructs the execution graph, timeline, node state, causal relationships, retries, loops, parallel branches, and observable decision metadata.

Developers can inspect what happened, understand why execution changed (from structured metadata, not private reasoning), and eventually replay, control, and learn from previous executions.

Tselora is not another agent framework or orchestration runtime. It is a developer / execution-intelligence layer that works with agents you already have.

v0.1.0 scope

This is a local-first execution-intelligence release. It includes:

  • Python SDK (run, @agent / @node / @tool / @llm)
  • JSONL collector, ProjectionEngine, REST snapshots, live StatePatch WebSocket
  • tselora CLI (tselora serve)
  • Explorer (graph, timeline, node list, inspector, structured Why?, visualization replay) — separate Vite app, not in the wheel
  • Optional OpenTelemetry inbound adapter (tselora[otel])
  • Optional LangGraph first-slice inbound adapter (tselora[langgraph]: compiled StateGraph via TseloraLangGraphCallbackHandler)

It does not include hosted/cloud Tselora, authentication, a database, runtime control, generic re-execution, or zero-config / zero-touch integration. LangGraph coverage is the locked first slice only. Explorer, examples, and docs are in the source repository.

Install

Python 3.12+. The wheel ships core, sdk, server, adapters, and cli.

pip install tselora
# optional:
pip install "tselora[otel]"
pip install "tselora[langgraph]"

From a clone (needed for Explorer, examples, and development):

git clone https://github.com/Tselora/Tselora.git
cd Tselora
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .
# tests / linters / both adapter extras: pip install -e ".[dev]"

Quickstart (5 minutes)

Prerequisites: Python 3.12+. Node.js 20+ and a clone if you want Explorer.

Terminal 1 — local collector (JSONL under .agent-devtools/ unless --data-dir or TSELOA_DATA_DIR):

tselora serve
# equivalent: uvicorn server.collector.app:app --host 127.0.0.1 --port 8000

Terminal 2 — instrumented agent (@tool + run()). Examples are not in the wheel:

TSELOA_COLLECTOR_URL=http://127.0.0.1:8000 python examples/simple_agent.py

Copy the printed run_id. Richer graph (retry / loop / fan-out): python examples/structured_execution.py.

Terminal 3 — Explorer from the repo (not bundled):

cd ui
npm install
npm run dev

Open http://127.0.0.1:5173/runs/{run_id} (or / and paste the run_id). Vite proxies /v1 to the collector on port 8000. Stop tselora serve with Ctrl+C.

Live one-run viewer: execution graph, run status, node list, and timeline

More detail: docs/development/getting-started.md · ui/README.md.

What problem it solves

Agent runs are hard to inspect. Logs are linear. Framework traces mix transport, prompts, and orchestration. When a critic fails, a plan changes, or a node retries, it is often unclear:

  • which logical node ran, and which invocation it was
  • what caused the next step (parent_event_id, not “the next log line”)
  • how fan-out, loops, and retries relate in the graph
  • whether a “why” is observable metadata or reconstructed guesswork

Tselora treats execution as an append-only event log plus a canonical projection of that log into graph, timeline, and state.

What Tselora is not

  • Not an agent framework, planner, or orchestrator
  • Not a replacement for LangGraph, CrewAI, OpenAI Agents SDK, Google ADK, etc.
  • Not a chain-of-thought recorder
  • Not a generic “re-run any Python agent” debugger in v1
  • Not an inference engine, vLLM replacement, generic LLM dashboard, or evaluation product
  • Not a cloud control plane, multi-tenant SaaS, or production auth system in v1

Planned capabilities

These are product directions. Only a subset is in v1 scope.

Capability Intent Horizon
Execution graph Logical nodes + execution instances; edges from causality v1
Timeline Ordered view by per-run sequence v1
Node inspection Status, payload, metadata per instance v1
Observable “Why?” Structured decision metadata emitted by the agent v1 (display)
Replay / time travel Re-project the event log; visualization only v1
Runtime control Pause, resume, stop, approve, retry, fork Future
Cross-run experience Compare runs, historical evidence Future / experimental
Framework adapters OTEL + LangGraph first slice in v0.1.0; further adapters staged v0.1.0 / later

Canonical v1 data flow

flowchart TD
  A[Existing agent] --> B[Framework adapters / instrumentation]
  B --> C[Universal Agent Event Protocol]
  C --> D[Local collector]
  D --> E[JSONL event store]
  E --> F[Canonical ProjectionEngine]
  F --> G[Graph]
  F --> H[Timeline]
  F --> I[Run state]
  F --> J[Node state]
  F --> K[REST + WebSocket]
  K --> L[React UI]

The event log is the source of truth. The UI does not invent execution semantics. WebSocket carries state patches after projection, not a second copy of the log as the authority.

Persistence (v1)

No database in v1. Append-only JSONL files:

.agent-devtools/
  runs/
    run_<id>/
      events.jsonl
      metadata.json
      snapshot.json   # optional optimization later; never source of truth

EventStore is an abstraction so JSONL can later be replaced by SQLite/Postgres without changing the event protocol or projection architecture. See docs/architecture/persistence.md and ADR-006.

Repository layout

Path Role
core/ Event protocol, projection, context, redaction
sdk/ Emission, batching, transport, decorators
server/ Collector, storage, REST, WebSocket
adapters/ Framework-neutral translations into the protocol
ui/ One-run live React viewer (graph, nodes, timeline)
cli/ Local developer CLI
docs/ Architecture, ADRs, product, development
examples/ Quickstart (simple_agent.py), Week 3 acceptance (structured_execution.py), optional OTEL (otel_spans.py) and LangGraph first-slice (langgraph_stategraph.py) paths
tests/ Invariant-focused tests

Documentation map

Stack (intended)

Python 3.12+, Pydantic, FastAPI, React, TypeScript, React Flow, WebSockets, argparse CLI (tselora). v1 persistence is JSONL, not SQLite. Explorer is a separate Node/Vite app in ui/.

License

Apache License 2.0

Release files for tselora 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tselora 0.1.0
File Size Uploaded
tselora-0.1.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tselora 0.1.0
File Interpreter ABI Platform
tselora-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / tselora-0.1.0.tar.gz

Download URL tselora-0.1.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
7f24fe59ac6e8e1ebac262cae123de0b7808b48af9b8dda20957d5eba1c9716f
BLAKE2b-256 checksum
How to use checksums
2661a4b29a610fde4a168ff856b744b6c1e2dda1f06c496b3f4389bd8bdd10d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.7

Release files / tselora-0.1.0-py3-none-any.whl

Download URL tselora-0.1.0-py3-none-any.whl
Size 53.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7651dcb0e796818caf2f02b240b8a64e8d41803b03350015777d2b2f4ce983a8
BLAKE2b-256 checksum
How to use checksums
5223a7fdc3ec3100ccfede85e4a1b63645aadb4548384cd11444dd473894806d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.7

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page