#![forbid(unsafe_code)]
#![doc = include_str!("../README.md")]
mod canonical;
mod code;
mod conversion;
mod error;
mod evidence;
mod evidence_validation;
mod extension;
mod fingerprint;
mod limits;
mod metadata;
mod operation;
mod parser;
mod path;
mod structure;
mod validation;
pub use code::{ScopeKind, StatusCode, SubjectKind, UncertaintyCode, WarningCode};
pub use conversion::{
attach_annotations, detach_annotations, extract_annotations, replace_annotations,
};
pub use error::{PlanError, PlanErrorCode};
pub use evidence::{
CompletenessProof, EvidenceScope, GraphRevision, NotModified, PlanAnnotations, PlanEvidence,
PlannerIdentity, TypedSubject, UncertainReference,
};
pub(crate) use fingerprint::fingerprint_validated;
pub use fingerprint::{
FINGERPRINT_ALGORITHM, FingerprintParseError, PlanFingerprint, canonical_plan_bytes,
canonical_plan_bytes_with_limits, fingerprint_plan, fingerprint_plan_with_limits,
};
pub use limits::{PlanStats, RefactorPlanLimits};
pub use operation::{
CreateFile, CreatePermissions, DeleteFile, REFACTOR_PLAN_SCHEMA, RefactorOperation,
RefactorPlan, RenameFile,
};
pub use parser::parse_refactor_plan;
pub use path::{portable_path_key, validate_plan_path};
pub use validation::{
ValidatedConsumerPlan, ValidatedExecutorPlan, ValidatedPlannerPlan, ValidatedRefactorPlan,
validate_consumer_plan, validate_executor_plan, validate_planner_plan,
};
pub use weavatrix_edit;
pub use weavatrix_edit::{
ApplyLimits, BatchLimits, BorrowedFileEdit, Completeness, EDIT_PLAN_SCHEMA, EditError,
EditPlan, EditValidationStats, ErrorCode, FILE_EDIT_RESERVED_EXTENSION_KEYS, FileEdit,
LineIndexLimits, MAX_PLAN_OPERATION_BYTES, PlanLimits, Position, PositionEncoding, Provenance,
TextEdit, TextRange, ValidatedEditPlan, WriteSummary, apply_edits_with_limits,
prepare_edits_with_limits, validate_edit_plan, validate_file_edits,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");