beam_agents
beam_agents defines what an agent is and ships a tool-loop agent that talks to any
OpenAI-compatible model.
beam_agents = { path = "../riverbeam/crates/beam_agents" }
Types
| Item | Role |
|---|---|
Agent | Trait: metadata(), stream(input, context), health_check() |
AgentRegistry | Registered agents: register, get_metadata, dispatch_frames, dispatch_stream, list_agents |
EchoAgent | Replies Echo: <input>; for tests and demos |
RigAgentRunner | Tool loop over a completion client: new(name, client, tools, skill), for_skill(skill, client, tools) |
CompletionClient, Completion, PendingToolCall | The model boundary |
OpenAiCompatible | Chat completions over HTTP: new, from_env, with_max_tokens, with_extra_body |
EchoClient, ScriptedClient | Clients without a network, for development and tests |
Tool, ToolSpec, json_params | Tools the model can call |
sandbox_tools(Option<WorkingTree>) | Nine file and git tools |
RememberTool | The remember tool spec; invoking it returns BEM-109 |
Skill, builtin_skills(), skill_by_name() | System prompts with tool allowlists |
terminal_result, human_message_from_input | Helpers for agent authors |
There are no feature flags.
Usage, the tool list, the skills and the current limitations are in Agents, tools and skills.