katu_core/lib.rs
1//! # katu-core
2//!
3//! ## 职责
4//! 定义 Katu AI Agent 框架的核心 trait 与类型。
5//! 零外部 katu 依赖,是整个系统的"接口契约"层。
6//!
7//! ## 对外接口
8//! - `types` — newtype ID 与基础枚举 (SessionId, MessageId, Role, FinishReason...)
9//! - `error` — 全局错误类型 (Error, ProviderErrorKind, AuthErrorKind, Result)
10//! - `usage` — token 用量与费用类型 (Usage, Cost)
11//! - `message` — 对话消息类型 (Message, ContentBlock, AssistantBlock...)
12//! - `generation` — LLM 生成参数 (GenerationOptions)
13//! - `event` — LLM 流式事件 (StreamEvent, ToolResultValue)
14//! - `agent_event` — Agent 语义层事件 (AgentEvent, AgentEventKind, AgentFinishReason...)
15//! - `tool` — 工具类型与执行契约 (Tool, ToolDefinition, ToolOutput, ToolCallContext...)
16//! - `agent` — Agent 定义数据模型 (AgentDefinition, AgentRole, ToolFilter...)
17//! - `hook` — Hook 系统类型与执行契约 (Hook, HookEvent, HookInput, HookOutput, HookRegistry...)
18//! - `permission` — 权限系统类型与规则引擎 (PermissionRule, Ruleset, PermissionDecision, PermissionMode...)
19
20pub mod agent;
21pub mod agent_event;
22pub mod compaction;
23pub mod error;
24pub mod event;
25pub mod generation;
26pub mod hook;
27pub mod message;
28pub mod permission;
29pub mod tool;
30pub mod types;
31pub mod usage;
32
33// re-export 常用类型到 crate 根
34pub use agent::{AgentDefinition, AgentModelRef, AgentName, AgentRole, ToolFilter};
35pub use agent_event::{AgentEvent, AgentEventKind, AgentFinishReason};
36pub use compaction::{CompactTrigger, CompactionConfig, CompactionResult, TokenBudgetState};
37pub use error::{Error, Result};
38pub use generation::GenerationOptions;
39pub use event::{StreamEvent, ToolResultValue};
40pub use message::{AssistantBlock, AssistantMessage, ContentBlock, Message, ToolResultMessage, UserContent, UserMessage};
41pub use tool::{
42 CancellationToken, ConcurrencyMode, Tool, ToolCallContext, ToolChoice, ToolDefinition,
43 ToolOutput,
44};
45pub use types::*;
46pub use usage::{Cost, Usage};