Python
python -m pip install \ https://orthogonai.ai/shelfai/releases/0.2.0/shelfai_sdk-0.2.0-py3-none-any.whl
from shelfai_sdk import ShelfAI
integration = ShelfAI.integrate(client=client)
client = integration.client
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.
The public beta is distributed as versioned, checksum-pinned packages. Choose your runtime and wrap the provider client your application already uses.
python -m pip install \ https://orthogonai.ai/shelfai/releases/0.2.0/shelfai_sdk-0.2.0-py3-none-any.whl
from shelfai_sdk import ShelfAI
integration = ShelfAI.integrate(client=client)
client = integration.client
npm install \ https://orthogonai.ai/shelfai/releases/0.2.0/shelfai-sdk-0.2.0.tgz
import { ShelfAI } from "@shelfai/sdk";
const integration = ShelfAI.integrate({
client: existingModelClient,
});
const modelClient = integration.client;
integration.client after wrapping.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
Provider-native and supported framework tools are captured automatically. For ordinary functions used as tools, wrap the existing registry once.
tools = integration.tools(existing_tools) result = integration.run(run_workflow, tools)
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.
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.
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.
integration = ShelfAI.integrate( client=existing_model_client, replay=run_existing_workflow, ) model_client = integration.client integration.install(app)
const integration = ShelfAI.integrate({
client: existingModelClient,
replay: runExistingWorkflow,
});
const modelClient = integration.client;
app.post(
"/shelfai/replay",
express.raw({ type: "application/json" }),
integration.replayNodeHandler(),
);
SHELFAI_REPLAY_SECRET to the workspace signing secret and register the endpoint once. Normal capture remains fail-open; authenticated replay is fail-closed.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
Records structure, types, timing, and relationships while withholding prompt, argument, result, and output text.
Makes selected context replayable while still applying secret scrubbing. Enable it only under the workspace’s approved data policy.
These are the exact public-beta artifacts for 0.2.0. Verify downloads with the published SHA-256 manifest.