Agent Control TypeScript SDK
TypeScript SDK for Agent Control.Installation
- Node.js
>=20
Quick Start
Create a client instance and initialize it with server and auth config:Monorepo Example
For a runnable example app inside this repository that installsagent-control from npm, see:
examples/typescript_sdk/
Method Naming Migration
From0.2.0 onward, generated method names are normalized for readability (for example client.controls.list(...)).
Common rename examples:
client.system.healthCheckHealthGet(...)->client.system.healthCheck(...)client.agents.listAgentsApiV1AgentsGet(...)->client.agents.list(...)client.controls.createControlApiV1ControlsPut(...)->client.controls.create(...)client.controls.getControlDataApiV1ControlsControlIdDataGet(...)->client.controls.getData(...)client.controls.setControlDataApiV1ControlsControlIdDataPut(...)->client.controls.updateData(...)client.evaluation.evaluateApiV1EvaluationPost(...)->client.evaluation.evaluate(...)
API Namespaces
AgentControlClient exposes generated endpoint groups directly:
client.agentsclient.controlsclient.evaluationclient.evaluatorConfigsclient.evaluatorsclient.observabilityclient.policiesclient.system
client.agents.list(...).
Exported API
Current public exports:default: singletonAgentControlClientAgentControlClientcontrolControlViolationError- endpoint API types:
AgentsApi,ControlsApi,EvaluationApi,EvaluatorConfigsApi,EvaluatorsApi,ObservabilityApi,PoliciesApi,SystemApi - generated request and response types via package root type exports (models and operations)
- utility types:
AgentControlInitOptions,StepSchema,ControlAction,EvaluationResult,JsonPrimitive,JsonValue,JsonObject
Current Status
Current implementation status:AgentControlClientmakes real API calls through the generated Speakeasy client.- Auth is sent using
X-API-KeywhenapiKeyis configured. control(...)remains a pass-through wrapper (no enforcement behavior yet).
Development
- OpenAPI source (runtime-generated):
../../server/.generated/openapi.json - Method-name overrides:
overlays/method-names.overlay.yaml(auto-generated byscripts/generate-method-names-overlay.py) - Generated code location:
src/generated/ - Speakeasy CLI version is sourced from
.speakeasy/workflow.yamland downloaded into.speakeasy/bin/
- Package name:
agent-control - Release guide:
RELEASING.md
Semantic Versioning
TypeScript SDK versioning is independent from server and monorepo tags and is automated withsemantic-release.
Release-triggering commit prefixes for scope sdk-ts:
feat(sdk-ts): ...-> minor bumpfix(sdk-ts): ...-> patch bumpperf(sdk-ts): ...-> patch bumprefactor(sdk-ts): ...-> patch bumpchore(sdk-ts): ...-> patch bumpBREAKING CHANGEfooter or!-> major bump