1mod canonical;
8mod crypto;
9mod elevation;
10mod engine;
11mod error;
12mod lock;
13mod model;
14mod parser;
15mod paths;
16mod payload;
17mod store;
18
19pub use canonical::canonical_json_bytes;
20pub use crypto::verify_ed25519_signature;
21pub use elevation::{
22 ElevationOptions, clear_elevation_session, create_elevation_session, is_elevated,
23};
24pub use engine::{CheckContext, Decision, DenyReason, check};
25pub use error::{Error, Result};
26pub use lock::{
27 LockOptions, LockResult, LockReview, ReviewDiffEntry, ReviewDiffKind, load_installed_warrant,
28 load_installed_warrant_for_tool, lock_warrant_from_draft_path, review_lock_from_draft_path,
29};
30pub use model::{ParsedWarrant, SignatureBlock, WarrantMeta};
31pub use parser::parse_toml_warrant;
32pub use paths::{ToolId, ToolPaths};
33
34pub fn verify_toml_warrant(input: &str) -> Result<ParsedWarrant> {
36 let parsed = parse_toml_warrant(input)?;
37 parsed.verify_signature()?;
38 Ok(parsed)
39}