Skip to main content

vigil_types/
lib.rs

1//! vigil-types
2//!
3//! 跨 crate 共享的核心数据类型。严格对应主方案 §2 的 10 个对象。
4//!
5//! I00 仅声明类型骨架并锁定不变量:
6//!   - Debug / Display 对 `SecretLease` 等敏感类型必须脱敏
7//!   - 枚举必须是 `#[non_exhaustive]`(跨 crate),以便后续迭代扩展而不破坏 ABI
8//!   - 所有类型支持 serde(审计账本、UI 协议、lease broker 都要序列化)
9//!
10//! 运行时行为(存储 / 校验 / hash chain)不在本 crate 范围,参见各专用 crate。
11
12#![deny(missing_docs)]
13#![forbid(unsafe_code)]
14
15pub mod approval;
16pub mod audit;
17pub mod decision;
18pub mod effect;
19pub mod invocation;
20pub mod lease;
21pub mod principal;
22pub mod server;
23pub mod session;
24pub mod tool;
25
26pub use approval::{ApprovalRequest, ApprovalResolution, ApprovalScope, ApprovalStatus};
27pub use audit::AuditEvent;
28pub use decision::{DecisionKind, DecisionRecord};
29pub use effect::{EffectKind, EffectVector};
30pub use invocation::ToolInvocation;
31pub use lease::{InjectionMethod, SecretLease};
32pub use principal::{Principal, PrincipalKind, TrustLevel};
33pub use server::{ServerProfile, TransportKind};
34pub use session::{Session, SessionSource};
35pub use tool::ToolDescriptor;