1pub mod agent;
8pub mod bridge;
9pub mod cli;
10pub mod config;
11pub mod event_log;
12pub mod prompt;
13pub mod render;
14pub mod session;
15
16pub use agent_base::{
20 AgentBuilder, AgentError, AgentResult, AgentRuntime, ApprovalHandler, ApprovalRequest,
21 ConsecutiveFailureRecovery, LlmClient, Middleware, OpenAiClient, PlanItem, PlanStepStatus,
22 PostLlmCtx, PreLlmCtx, ReasoningConfig, ReasoningEffort, RunOutcome, RuntimeEvent, SafetyConfig,
23 SessionId, Tool, ToolContext, ToolControlFlow, ToolMetadata, ToolOutput, ToolPolicy,
24 TurnFactMiddleware, TurnToolLimitMiddleware, UpdatePlanTool, UserMessageCtx,
25};
26
27#[cfg(feature = "telemetry")]
29pub use phi_telemetry::{
30 SessionMetrics, SessionOutcome, SessionSummary, TurnMetrics, TurnOutcome, list_all_metrics, load_metrics,
31 save_metrics, try_load_metrics,
32};
33
34pub use agent_works::focus::{Context as FocusContext, Focus, FocusError, FocusInput, FocusOutput};
36
37pub use agent::{CompressionConfig, PhiAgent, PhiAgentConfig, SummarizingMiddleware, base_agent_builder};
39pub use cli::{ApprovalMode, AutoApprovalHandler};
40pub use config::{LlmConfig, resolve_llm_config};
41pub use event_log::{event_to_jsonl, event_to_value, save_turn_log};
42pub use prompt::{build_system_prompt, build_system_prompt_cn};
43pub use render::{
44 EventRenderer, JsonStreamRenderer, NullRenderer, OutputFormat, create_renderer, create_stdout_renderer,
45};
46pub use session::SessionContext;