SDKs & API
Introspection ships SDKs for JavaScript, Python, and Rust, plus a CLI. Use an SDK for application traffic and production evidence. Use the CLI or dashboard to create runtimes, choose versions, configure bindings, and route environments.
Choose a surface
| You are building | Start with |
|---|---|
| A Node.js or TypeScript service, or a browser application | JavaScript & TypeScript SDK |
| A Python service or notebook | Python SDK |
| A Rust service | Rust SDK |
| Local development or platform operations | CLI |
| A custom client without an SDK | API reference |
If you do not have a recipe yet, begin with the Quickstart.
What each surface owns
The SDKs work around a runtime. Your application embeds them, so they cover
the work a running agent does and the evidence it produces: tasks and runs,
files, shares, conversations, events, and metrics. They also resolve the
runtime, recipe, or experiment the code is running under, and can bracket their
own execution with an experiment’s start, end, and cancel. The SDK pages
below cover the run-and-evidence path; for the experiment resource itself, read
the API reference alongside the client’s generated types,
and see Experiments for what the arms mean.
The CLI is the operator inside a project. It authors and edits runtimes, recipes, and experiments; enables, disables, and calibrates judges; manages API keys, applications, and service-account credentials; configures bindings, endpoints, and variables; and drives local development, deployment, and environment routing.
| Operation | SDK | CLI |
|---|---|---|
| Run tasks, stream runs, read evidence | Yes | Yes |
| Files, shares, conversations, events, metrics | Yes | Yes |
| Resolve a runtime, recipe, or experiment | Yes | Yes |
Experiment start / end / cancel | Yes (see API reference) | Yes |
| Create, edit, or delete a recipe or experiment | No | Yes |
| Create runtimes, or change a judge’s state | No | Yes |
| API keys, applications, service accounts | No | Yes |
| Bindings, endpoints, variables | No | Yes |
| Local development, deploy, environment routing | No | Yes |
Packages
| SDK | Package | Notes |
|---|---|---|
| JavaScript / TypeScript | @introspection-sdk/introspection-node, @introspection-sdk/introspection-browser | Node.js opens runners and reads production evidence. The browser package has separate Data Plane and product-signal entrypoints. |
| Python | introspection-sdk | Async-first AsyncIntrospectionClient and a synchronous IntrospectionClient twin. |
| Rust | introspection-sdk | Async client and typed runner resources, with optional Arrow telemetry reads. |
Every SDK reads INTROSPECTION_TOKEN from the environment. See
Authentication for service accounts, browser token
brokering, and token exchange.
Point an application at your own machine
While introspection dev is attached, an application built on any SDK can send
its tasks to your local recipe instead of the deployed one. Run the application
with a development-scoped credential and it reaches the overlay through its
ordinary calls; when several developers share the runtime, set
INTROSPECTION_DEV_TARGET to the target printed by the session you want. The
selector is development-only: leave it unset in production. See
introspection dev for the attachment
side and
Development lifecycle
for the routing and failure rules.