Skip to main content

ds_api/agent/
mod.rs

1/*!
2Agent module
3
4This module is split into focused submodules:
5
6- `agent_core` — the public agent struct, event/response types and tool
7  registration logic.
8- `executor` — pure business-logic functions: building requests, fetching
9  responses, opening SSE streams, executing tools.  No `Poll` or `Context`
10  here — just `async fn`s that do real work.
11- `stream` — the asynchronous `AgentStream` state machine that schedules
12  calls into `executor` and drives the full agent loop.
13
14Public types are re-exported at the crate level so callers never need to
15reach into the submodules directly.
16*/
17
18pub mod agent_core;
19pub(crate) mod executor;
20pub mod stream;
21
22pub use agent_core::{AgentEvent, DeepseekAgent, ToolCallInfo, ToolCallResult};
23pub use stream::AgentStream;