Skip to main content

gglib_core/domain/agent/
mod.rs

1#![doc = include_str!("README.md")]
2pub mod config;
3pub(crate) mod events;
4pub(crate) mod fnv1a;
5pub(crate) mod loop_detection;
6pub(crate) mod messages;
7mod messages_serde;
8pub(crate) mod stagnation;
9pub mod tool_display;
10pub(crate) mod tool_types;
11
12// Re-export everything so callers continue to use `gglib_core::AgentConfig` etc.
13pub use config::{
14    AgentConfig, AgentConfigError, DEFAULT_MAX_ITERATIONS, DEFAULT_MAX_PARALLEL_TOOLS,
15    DEFAULT_MAX_STAGNATION_STEPS, MAX_ITERATIONS_CEILING, MAX_PARALLEL_TOOLS_CEILING,
16    MAX_STAGNATION_STEPS_CEILING, MAX_TOOL_TIMEOUT_MS_CEILING, MIN_CONTEXT_BUDGET_CHARS,
17    MIN_TOOL_TIMEOUT_MS,
18};
19pub use events::{AGENT_EVENT_CHANNEL_CAPACITY, AgentEvent, LlmStreamEvent};
20pub use loop_detection::results::{batch_results_hash, hash_result_content, hash_result_text};
21pub use loop_detection::{
22    BatchRecord, LoopDetector, RepeatOutcome, batch_signature, is_observation_batch,
23};
24pub use messages::{AgentMessage, AssistantContent};
25pub use stagnation::StagnationDetector;
26pub use tool_types::{ToolCall, ToolDefinition, ToolResult};