Skip to Content
Platform
SDK & CLIOverview

SDK & CLI

The tools you use to drive Introspection from your own code and terminal, and what each one is for.

Introspection ships platform SDKs for JavaScript, Python, and Rust, plus a browser client and an operator CLI. The SDKs share the same execution shape: construct a client, read or resolve a runtime, open a runner, then start and stream tasks. Runtime creation, version selection, bindings, and environment routing are operator concerns handled by the CLI and platform.

import { IntrospectionClient } from "@introspection-sdk/introspection-node"; const client = new IntrospectionClient(); // reads INTROSPECTION_TOKEN const runner = await client.runtimes("support-agent").run({ identity: { user_id: "user_123" }, }); const run = await runner.tasks.start({ prompt: "Summarize my open tickets" }); for await (const ev of run.stream()) console.log(ev); await runner.close(); await client.shutdown();

See the Quickstart for a complete first run.

Platform SDKs

SDKPackageNotes
JavaScript / TypeScript@introspection-sdk/introspection-nodeServer-side Node; a separate browser client for client apps.
Pythonintrospection-sdkSync IntrospectionClient and an async-first AsyncIntrospectionClient.
Rustintrospection-sdkAsync client and typed runner resources, with optional Arrow telemetry reads.

The browser SDK

Client apps don’t use an API key. @introspection-sdk/introspection-browser/api exposes an IntrospectionApiClient that authenticates with a cookie session minted by a backend token broker: your server holds the API key, the browser never sees it. Use this when an end-user’s browser needs to talk to Introspection directly. See Authentication & API keys.

The CLI

The introspection CLI is the operator surface for local development and platform lifecycle work. You log in once, then use it to validate recipes, create and route runtimes, configure bindings, operate tasks and experiments, inspect telemetry, or run introspection dev against the recipe in your working tree. See CLI.

What’s here

  • JavaScript SDK: the IntrospectionClient, runners, tasks, and the rest of the platform surface.
  • Python SDK: the sync and async clients, with the same runner/tasks/files surface.
  • Rust SDK: the async Rust client, typed task controls, telemetry reads, and shares.
  • CLI: browser login, local development, and operator workflows for bindings, runtimes, tasks, experiments, and judges.
  • Authentication & API keys: SDK keys, CLI login, environment scoping, and the browser token-broker model.
Last updated on