1#![warn(missing_docs)]
16#![warn(clippy::print_stdout, clippy::print_stderr)]
18
19mod action;
20mod engine;
21mod expand;
22mod host;
23pub mod ir;
24mod kind;
25#[doc(hidden)]
28pub mod lexer;
29pub mod lint;
30mod packages;
31mod patch;
32mod paths;
33mod pattern;
34mod policy;
35mod programs;
36mod realpath;
37mod repo;
38mod secret;
39mod shell;
40mod taint;
41pub mod token;
42mod verdict;
43pub mod yaml;
44
45pub use action::{Action, AtomicAction, UNCHECKED_RULE};
46pub use engine::{
49 CompiledPolicy, EvalContext, HOLDS_PROTECTED_RULE, Secret as TaintSecret, TAINT_RULE, Taint,
50 evaluate,
51};
52pub use host::{
53 MAX_DNS_LABEL_LEN, MAX_DNS_NAME_LEN, file_url_path, malformed_port_pattern, port_pattern,
54};
55pub use kind::{Kind, UnknownKind};
56pub use patch::writes as patch_writes;
57pub use paths::resolve as resolve_path;
58pub use pattern::literal_shell_pattern;
59pub use policy::{Defaults, McpSettings, Policy, PolicyError, RuleGroup, SandboxSettings};
60pub use programs::{MapResolver, NoResolver, ProgramResolver};
61pub use realpath::{MapPathResolver, PathResolver};
62pub use repo::{REPO_RULE_PREFIX, RepoPolicy};
63pub use secret::{SECRET_RULE_PREFIX, Secret, Source as SecretSource};
64pub use shell::cwd::leaves_unknown_directory;
65pub use shell::installs::near_miss_atoms as package_near_misses;
66pub use shell::push::Push;
67pub use taint::TaintSettings;
68pub use verdict::{Decision, UnknownVerdict, Verdict};
69
70pub const DEFAULT_POLICY: &str = include_str!("../policies/default-v1.yaml");