AGNT5 SDK Core
agnt5-sdk-core is the shared Rust foundation for the AGNT5 language SDKs. It
provides the runtime-facing primitives used by the Python, TypeScript, and Go
SDKs, including:
- worker registration, dispatch, and lifecycle management;
- durable workflow checkpoints and event delivery;
- language-model and embedding provider abstractions;
- built-in evaluation scorers;
- telemetry and structured logging;
- MCP client support; and
- vendor-neutral sandbox contracts.
Most application developers should use an AGNT5 language SDK rather than this crate directly:
Platform concepts and deployment guidance are available in the AGNT5 documentation.
Installation
Add the crate to a Rust project:
[]
= "0.3.0"
The default build contains the portable SDK foundation. Optional capabilities can be enabled with Cargo features:
[]
= { = "0.3.0", = ["libsql-memory"] }
| Feature | Purpose |
|---|---|
libsql-memory |
Embedded libSQL-backed vector memory |
wasm-sandbox |
Embedded Wasmtime sandbox execution |
Worker assignment mode
Starting with sdk-core 0.3.0, workers default to pull assignment when AGNT5_WORKER_MODE is unset or empty.
Set AGNT5_WORKER_MODE=push explicitly to retain coordinator-push dispatch.
Python/TypeScript worker options and Go WithWorkerMode override the environment.
Language SDKs adopt this behavior in their coordinated minor releases.
Worker runtime endpoint
Workers persist lifecycle events and durable checkpoints through the current
EngineService contract. Set AGNT5_ENGINE_URL when the Engine listener is
different from the worker coordinator. Otherwise, the SDK uses
AGNT5_COORDINATOR_ENDPOINT as a combined runtime gRPC endpoint.
The SDK does not silently fall back to the deprecated ExecutionEngineService
checkpoint RPC when the Engine endpoint is absent. A configuration that cannot
produce a non-empty current Engine endpoint fails worker startup with an
actionable error.
Repository boundaries
This repository owns the language-neutral SDK runtime contracts and their Rust
implementation. Cross-SDK conformance specifications and shared fixtures live
under conformance/ and test-fixtures/.
Vendor-specific sandbox implementations are maintained separately in
agnt5dev/sdk-integrations.
Keeping those integrations outside core prevents vendor credentials, endpoints,
and protocols from becoming part of the base SDK dependency graph.
Development
The project requires a stable Rust toolchain. Protocol Buffer tooling is built
as part of the crate, so a separate system protoc installation is not
required.
Run the same checks used by CI:
Changes to worker, checkpoint, event, streaming, or serialization behavior should include a corresponding conformance contract or fixture.
Contributing
See CONTRIBUTING.md for contribution guidance. To report a security issue, follow SECURITY.md.
License
Licensed under the Apache License 2.0.