1#![allow(unused_doc_comments)]
2#![warn(missing_docs)]
3#![cfg_attr(
12 not(test),
13 deny(clippy::expect_used, clippy::panic, clippy::unwrap_used)
14)]
15#![cfg_attr(
16 test,
17 allow(
18 clippy::unwrap_used,
19 clippy::field_reassign_with_default,
20 clippy::expect_used,
21 clippy::panic,
22 )
23)]
24#![allow(unknown_lints)]
25
26#[allow(unused_imports)]
32use oxicode_api_stability::{
33 internal as oxicode_internal, stable as oxicode_stable, unstable as oxicode_unstable,
34};
35
36pub mod advisor;
38pub mod agent;
40pub mod agent_definition;
42pub mod agent_loop;
44pub mod compaction;
46pub mod config;
48pub mod error;
50pub mod events;
52
53pub mod issues;
54pub mod mcp;
56pub mod model_id;
58pub mod recovery;
60pub mod runtime;
62pub mod state;
64pub mod stream_retry;
66pub mod structured_output;
67pub mod tools;
69pub mod types;
71
72#[oxicode_stable(since = "0.63.0")]
73pub use agent::Agent;
74pub use agent::ProviderResolver;
75#[oxicode_stable(since = "0.63.0")]
76pub use agent_definition::{
77 AgentDefinition, AgentDiscovery, AgentScope, DefaultContext, current_subagent_depth,
78 max_subagent_depth, validate_agent_name,
79};
80#[oxicode_stable(since = "0.63.0")]
81pub use agent_loop::{AgentLoop, AgentLoopConfig};
82
83#[oxicode_unstable(feature = "advisor")]
84pub use advisor::{
85 ADVISOR_GUIDANCE, ADVISOR_READONLY_TOOL_NAMES, ADVISOR_SYSTEM_PROMPT, AdviseTool, AdvisorAgent,
86 AdvisorDeliveryChannel, AdvisorEmissionGuard, AdvisorNote, AdvisorRuntime, AdvisorRuntimeHost,
87 AdvisorSeverity, AgentAdvisor, DeliveryOpts, EnqueueAdviceFn, format_advisory_batch,
88 is_immune_turn_active, is_interrupting_severity, normalize_advisor_note,
89 resolve_delivery_channel,
90};
91#[oxicode_stable(since = "0.63.0")]
93pub use config::{
94 AfterToolCallContext, AfterToolCallResult, AgentConfig, AgentHooks, BeforeToolCallContext,
95 BeforeToolCallResult, Mode, ShouldStopAfterTurnContext, ToolExecutionMode,
96};
97pub use error::AgentError;
98pub use events::{AgentEvent, StreamDelta, ToolCallContext, VisitReason};
99pub use tools::browse::{BrowseProgress, BrowseProgressCallback};
100
101#[oxicode_stable(since = "0.63.0")]
102pub use agent_loop::config::CompactionHook;
103pub use compaction::{CompactedContext, CompactionEvent};
104pub use oxicode_ai::{CompactionManager, CompactionStrategy};
105pub use recovery::PartialResponse;
107pub use state::{AgentState, SharedState};
108pub use structured_output::{OutputMode, StructuredOutput, StructuredOutputError};
109
110#[oxicode_stable(since = "0.63.0")]
111pub use mcp::{McpConfig, McpManager, McpTool};
112#[oxicode_unstable(feature = "subagent")]
114pub use tools::SubagentRunner;
115pub use tools::ask::{AskBridge, AskTool};
116pub use tools::commit::{
117 CommitGroup, CommitTool, CommitType, ConventionalAnalysis, ConventionalDetail, NumstatEntry,
118 ScopeCandidate,
119};
120pub use tools::context7::{Context7QueryDocsTool, Context7ResolveLibraryIdTool};
121pub use tools::github::GitHubTool;
122pub use tools::github_search::GitHubSearchTool;
123pub use tools::memory_edit::MemoryEditTool;
124pub use tools::memory_recall::MemoryRecallTool;
125pub use tools::memory_reflect::MemoryReflectTool;
126pub use tools::memory_retain::MemoryRetainTool;
127pub use tools::search_cache::{GetSearchResultsTool, SearchCache};
128pub use tools::subagent::SubagentTool;
129pub use tools::web_search::WebSearchTool;
130#[oxicode_stable(since = "0.63.0")]
132pub use tools::{
133 AgentTool, AgentToolResult, BashTool, EditTool, FindTool, ForkResult, GrepTool, LsTool,
134 ReadTool, ToolContext, ToolError, ToolRegistry, WriteTool,
135};
136
137#[oxicode_unstable(feature = "todo")]
138pub use tools::TodoStateProvider;
139#[oxicode_unstable(feature = "todo")]
140pub use tools::todo::{
141 InitListEntry, TodoCompletionTransition, TodoItem, TodoOp, TodoPhase, TodoStatus, TodoTool,
142 TodoUpdateResult,
143};
144
145#[oxicode_stable(since = "0.77.0")]
147pub use issues::{
148 Assignment, FileIssueStore, GithubRef, Issue, IssueError, IssueFilter, IssueMeta, IssuePatch,
149 IssueSummary, Priority, Status,
150};
151#[oxicode_stable(since = "0.77.0")]
152pub use tools::issue::{IssueTool, cas_retry, format_issue_full, format_issue_line};
153
154pub use runtime::{DebugService, EvalKernel, EvalLanguage, EvalOutput, ShellOutput, ShellSession};
155
156#[oxicode_unstable(feature = "agent-pool")]
157pub use tools::{AgentHubStatus, AgentInfo, AgentKind, AgentPoolProvider};
158#[oxicode_unstable(feature = "lsp")]
159pub use tools::{LspAction, LspProvider};
160
161pub mod prelude {
163 pub use crate::agent::Agent;
164 pub use crate::agent_loop::{AgentLoop, AgentLoopConfig, ToolExecutionMode};
165 pub use crate::compaction::{CompactedContext, CompactionEvent};
166 pub use crate::config::AgentConfig;
167 pub use crate::events::AgentEvent;
168 pub use crate::mcp::{McpConfig, McpManager, McpTool};
169 pub use crate::state::{AgentState, SharedState};
170 pub use crate::tools::ask::{AskBridge, AskTool};
171 pub use crate::tools::context7::{Context7QueryDocsTool, Context7ResolveLibraryIdTool};
172 pub use crate::tools::github::GitHubTool;
173 pub use crate::tools::github_search::GitHubSearchTool;
174 pub use crate::tools::search_cache::{GetSearchResultsTool, SearchCache};
175 pub use crate::tools::subagent::SubagentTool;
176 pub use crate::tools::web_search::WebSearchTool;
177 pub use crate::tools::{
178 AgentTool, AgentToolResult, BashTool, EditTool, FindTool, GrepTool, LsTool, ReadTool,
179 ToolContext, ToolRegistry, WriteTool,
180 };
181}
182
183#[cfg(test)]
184mod tests;