SDKs
Agent Control provides official SDKs for Python and TypeScript.SDK development
The SDK source lives in a uv workspace. To work with the SDKs locally:Concepts (Reference)
A Control is a single rule that defines what to check and what to do when a condition is met.
Selectors:
Actions:
Priority semantics:
-
Deny wins — if any
denycontrol matches, execution is blocked. -
Steer second — if any
steercontrol matches (and no deny), steering context is returned. - Observe — non-blocking observability action that does not affect execution.
Server API
The Agent Control server exposes a RESTful API for managing agents and controls.Base URL
Default:http://localhost:8000/api/v1
Endpoints
Agents:
Controls:
System:
See more in Server Docs
Authentication
Agent Control supports API key authentication for production deployments.Configuration
Authentication is controlled by environment variables:Usage
Include the API key in theX-API-Key header:
Access Levels
Key Rotation
Agent Control supports multiple API keys for zero-downtime rotation:-
Add new key to
AGENT_CONTROL_API_KEYS(e.g.,key1,key2,new-key) - Deploy the server
- Update clients to use the new key
- Remove the old key from the variable
- Redeploy
Configuration Reference
See Configuration for full environment variables, server settings, and database setup.Troubleshooting
Server connection issues
Import errors
Authentication errors
If you get 401 Unauthorized:-
Check if auth is enabled:
AGENT_CONTROL_API_KEY_ENABLED -
Verify your API key is in
AGENT_CONTROL_API_KEYS -
Ensure the
X-API-Keyheader is set correctly
Database connection issues
Control not triggering
- Verify the control is enabled
-
Check
scope.step_typesmatches your step type (llmvstool) -
Check
scope.stagesis correct (prefor input,postfor output) - Verify the selector path matches your data structure
- Test the evaluator pattern/values independently
Luna-2 evaluator errors
-
Ensure the Galileo package is installed:
pip install agent-control-evaluator-galileo(orpip install agent-control-evaluators[galileo]) -
Ensure
GALILEO_API_KEYis set - Check network connectivity to Galileo API
- Verify the metric name is valid
-
Check
on_errorsetting if failures are silently allowed
galileo.luna2 doesn’t appear in list_evaluators():
- Verify the Galileo package is installed
- Check server logs for evaluator discovery messages