Skip to main content

Crate atomr_agents_agent

Crate atomr_agents_agent 

Source
Expand description

Agent<I, T, Ms, Ml, Sk> and the per-turn pipeline.

The agent holds an InferenceClient (an abstraction over a ModelRunner from atomr-infer); strategies are generic so the hot path is monomorphized. BoxedAgent (object-erased form) and AgentRef (Arc-wrapped handle) provide config-driven instantiation; see AgentSpec::into_agent.

Modules§

providers
Provider runtime back-ends, gated by per-provider features. Wrap any of these Runner types in LocalRunnerClient to use them as an InferenceClient.

Structs§

Agent
Generic agent. Strategy types are monomorphized for the hot path; a BoxedAgent form (using Box<dyn> for each slot) is produced from AgentSpec.
AgentBudgets
AgentRef
Public, type-erased handle to an agent. Implements Callable, so an agent can be passed wherever any executable unit is expected (workflow steps, team routing targets).
AgentSpec
Static, serializable description of an agent. Used by the registry and Python config; AgentSpec::into_agent materializes a runnable AgentRef. Strategies and inference client are passed in (typically constructed from a registry lookup keyed off the spec’s id / model).
BoxedAgent
Fully-erased agent. Mirrors the field shape of crate::Agent but stores each strategy as a trait object so callers without the concrete strategy types can still construct a runnable agent.
LocalRunnerClient
Wrap any ModelRunner (including MockRunner) as an InferenceClient. Single-runner concurrency is bounded by the internal mutex; production setups should use the EngineCoreActor from atomr-infer-runtime instead.
LoggingMiddleware
MiddlewareStack
Convenience container — registered middlewares + helpers to run them.
RateLimitMiddleware
RedactionMiddleware
ToolErrorRecoveryMiddleware
TurnResult

Enums§

Provider

Traits§

AgentMiddleware
InferenceClient
Implemented by anything the agent can use to drive an inference request. The provider matters for tool-call delta parsing.