ORTHOGON AISDK 0.2.0 · beta
ShelfAI · Context IDE for AI agents

See what your agent saw—and where it came from.

Capture the actual instructions, messages, tool calls, handoffs, and outputs behind every run. Try context changes safely in Workbench, compare the result, and promote only after human approval.

PUBLIC BETA · VERSION 0.2.0 · RELEASED 2026-09-04
model requesttool calltool resultmodel output

Install

The public beta is distributed as versioned, checksum-pinned packages. Choose your runtime and wrap the provider client your application already uses.

Python

Install 0.2.0
python -m pip install \
  https://orthogonai.ai/shelfai/releases/0.2.0/shelfai_sdk-0.2.0-py3-none-any.whl
Integrate
from shelfai_sdk import ShelfAI

integration = ShelfAI.integrate(client=client)
client = integration.client

Node.js / TypeScript

Install 0.2.0
npm install \
  https://orthogonai.ai/shelfai/releases/0.2.0/shelfai-sdk-0.2.0.tgz
Integrate
import { ShelfAI } from "@shelfai/sdk";

const integration = ShelfAI.integrate({
  client: existingModelClient,
});
const modelClient = integration.client;
Important: environment variables alone do not instrument an existing client. Your application must use integration.client after wrapping.

Configure

Use the workspace URL and API key supplied by ShelfAI. Start with metadata-only capture, then deliberately enable Full Capture for replayable content.

SHELFAI_API_URL=<your-shelfai-url>
SHELFAI_API_KEY=<your-workspace-api-key>
SHELFAI_AGENT_ID=<stable-agent-name>
SHELFAI_CAPTURE_MODE=metadata_only

Capture tools without rewriting them

Provider-native and supported framework tools are captured automatically. For ordinary functions used as tools, wrap the existing registry once.

Python

tools = integration.tools(existing_tools)
result = integration.run(run_workflow, tools)

Node.js

const tools = integration.tools(existingTools);
const result = await integration.runAsync(
  () => runWorkflow(tools)
);

ShelfAI records definition → call → result or error, including nested tool calls and the context that consumes each result. It does not require annotations inside individual tools.

What happens in a real workflow

The wrapped model client records the instructions and messages the provider actually receives.

When the agent chooses a tool, ShelfAI records the real function invocation—not a guess based on text.

The original tool runs normally. Its result is linked to the next model call that consumes it.

Workbench shows the observed path and lets a human propose an experiment against the responsible context.

Replay compares baseline and experimental output. Production source changes require explicit approval.

Enable one-click replay

Give ShelfAI one signed endpoint that runs your existing workflow. Workbench can then apply an approved experiment to one isolated run and return its trace automatically—without experiment IDs or prompt patches in your business logic.

Python · FastAPI

integration = ShelfAI.integrate(
  client=existing_model_client,
  replay=run_existing_workflow,
)
model_client = integration.client
integration.install(app)

Node.js · Express

const integration = ShelfAI.integrate({
  client: existingModelClient,
  replay: runExistingWorkflow,
});
const modelClient = integration.client;
app.post(
  "/shelfai/replay",
  express.raw({ type: "application/json" }),
  integration.replayNodeHandler(),
);
Set SHELFAI_REPLAY_SECRET to the workspace signing secret and register the endpoint once. Normal capture remains fail-open; authenticated replay is fail-closed.

Verify the installation

The Python package includes two non-destructive checks. Run the first before a model call and the second after one observed run.

shelfai doctor
shelfai verify-integration --latest

Privacy and failure behavior

Metadata only

Records structure, types, timing, and relationships while withholding prompt, argument, result, and output text.

Full Capture

Makes selected context replayable while still applying secret scrubbing. Enable it only under the workspace’s approved data policy.

Normal telemetry is fail-open: if ShelfAI is disabled, misconfigured, or unreachable, the original client, tool return values, and application exceptions remain unchanged.

Release files

These are the exact public-beta artifacts for 0.2.0. Verify downloads with the published SHA-256 manifest.