#![forbid(unsafe_code)]
#![warn(missing_docs)]
mod active;
mod author_key_index;
mod author_signing;
mod blob_access;
mod block_state;
mod bundle;
mod byte_cursor;
mod checkout;
mod commit_index;
mod compact;
mod container;
mod doctor;
mod file_codec;
mod format;
mod frame_resync;
mod fsutil;
mod generation;
mod history;
mod index;
mod layout;
mod lifecycle_cache;
mod lock;
mod maintainer_signing;
mod memory_store;
mod merge_evidence;
mod merge_execute;
mod node_id_gen;
mod node_lifecycle;
mod object_store;
mod patch_algebra;
mod patch_checkout;
mod patch_exchange;
mod patch_inverse;
mod patch_replay;
mod patch_set_digest;
mod path;
mod received;
mod received_index;
mod recognition_claim;
mod refs;
mod rfc111_seal_simulation;
mod rollback_draft;
mod rollback_preview;
mod rollback_verify;
mod seal_from_accepted;
mod signature_diagnostics;
mod snapshot;
mod state_root;
mod sync_negotiation;
mod tag_travel;
mod text_span;
mod trust;
mod trust_index;
mod unlock;
mod verify;
mod wal;
mod worktree;
mod worktree_marker;
mod worktree_patch;
mod worktree_status;
#[cfg(test)]
mod dc55_identity_evidence;
#[cfg(test)]
mod format_stability_gate;
#[cfg(test)]
mod release_compatibility_gate;
#[cfg(test)]
mod rfc111_index_decode_cost_gate;
#[cfg(test)]
mod rfc111_seal_decode_cost_gate;
#[cfg(test)]
mod signature_contract_tests;
#[cfg(test)]
mod test_support;
#[cfg(test)]
mod trust_gated_operations_binding_gate;
pub use active::{
ActiveCommitResult, ActiveRefMetadata, ActiveSession, finish_active_publication_cleanup,
read_active_ref_metadata, remove_active_ref_metadata, require_active_ref_for_non_empty_wal,
write_active_ref_metadata,
};
pub use author_signing::{AuthorSigner, Ed25519AuthorSigner, author_signature};
pub use block_state::{
BlockStateOutcome, BlockStateStatus, derive_next_state_root, validate_block_v2_shape,
};
pub use bundle::{
BundleExportReport, BundleImportOptions, BundleImportReport, DEFAULT_BUNDLE_MAX_OBJECT_COUNT,
DEFAULT_BUNDLE_MAX_TOTAL_BYTES, export_bundle, import_bundle,
};
pub use checkout::{
CheckoutMaterialization, CheckoutPlan, DEFAULT_CHECKOUT_REF, SnapshotCheckoutPlan,
prepare_checkout_plan, prepare_snapshot_checkout_plan,
};
pub use commit_index::CommitIndexDivergence;
pub use compact::{
CompactionReport, compact_received_index, compact_ref_pointer_index, compact_trust_policy,
plan_compact_received_index, plan_compact_ref_pointer_index, plan_compact_trust_policy,
};
pub use doctor::{
DoctorIssue, DoctorRepairOptions, DoctorRepairReport, DoctorReport, DoctorSeverity,
doctor_repository, repair_repository,
};
pub use history::{
DEFAULT_HISTORY_LIMIT, HistoryEntry, RefHistory, load_received_ref_history, load_ref_history,
};
pub use layout::{ContainerSlot, LockableContainer, RepositoryFormat, RepositoryLayout};
pub use lifecycle_cache::incremental::LifecycleCacheDivergence;
pub use lock::{ActiveLock, ContainerLockGuard, RefLock, acquire_container_locks};
pub use maintainer_signing::{Ed25519MaintainerSigner, MaintainerSigner, maintainer_signature};
pub use memory_store::MemoryObjectStore;
pub use merge_evidence::{
MergeEvidenceDisplay, MergeEvidenceDisplayItem, MergeEvidenceDisplayOperation,
MergeEvidenceDisplaySelector, MergeEvidenceTarget, MergePlanDisplay, prepare_merge_evidence,
prepare_merge_plan,
};
pub use merge_execute::{MergeExecutionReport, execute_merge};
pub use object_store::{
FileObjectStore, ObjectReadSnapshot, ObjectReader, ObjectWriteSession, ObjectWriter,
};
pub use patch_checkout::{
PatchDeletionConflict, PatchDeletionPlan, PatchMaterializationReport,
materialize_patch_checkout, materialize_patch_checkout_with_deletions,
plan_patch_checkout_deletions,
};
pub use patch_exchange::{
AcceptOptions, AcceptReport, ClaimSignatureVerification,
DEFAULT_EXCHANGE_ARTIFACT_MAX_OBJECT_COUNT, DEFAULT_EXCHANGE_ARTIFACT_MAX_TOTAL_BYTES,
ExchangeExportReport, accept_exchange_artifact, accepted_but_unsealed_patch_ids,
export_exchange_artifact,
};
pub use patch_inverse::{
PatchInverseOperationKind, PatchInverseOperationSummary, PatchInversePlan,
prepare_patch_inverse_plan,
};
pub use patch_replay::{PatchReplayPlan, prepare_patch_replay_plan};
pub use patch_set_digest::{
PatchSetDigest, PatchSetResolution, compute_patch_set_digest,
compute_patch_set_digest_and_count_from_block, compute_patch_set_digest_for_ref,
compute_patch_set_digest_from_block, patch_ids_reachable_from_block, patch_set_digest_preimage,
resolve_patch_set_digest,
};
pub use path::{RepoPath, validate_no_path_collisions, validate_repo_path};
pub use received::{
ReceivedPointer, list_received_pointers, read_received_pointer, validate_received_ref,
};
pub use recognition_claim::{
RecognitionClaimConsistency, check_recognition_claim_consistency, order_claims_for_sealing,
};
pub use refs::{
RefFileOutcome, RefFileStatus, RefItemOutcome, RefItemStatus, RefLogRecord, RefLogReplay,
RefPointerSummary, RefPublication, RefPublicationIssue, RefRecoveryCandidate, RefStore,
validate_local_branch_ref, validate_local_tag_ref,
};
#[cfg(feature = "test-support")]
pub use refs::{
force_ref_pointer_to_arbitrary_state_for_test_support,
remove_ref_pointer_entry_for_test_support,
};
#[cfg(feature = "test-support")]
pub use rfc111_seal_simulation::simulate_one_seal_for_test_support;
pub use rollback_draft::{RollbackDraftReport, append_rollback_draft};
pub use rollback_preview::{
RollbackPreviewChange, RollbackPreviewChangeKind, RollbackPreviewPlan, prepare_rollback_preview,
};
pub use rollback_verify::{RollbackDraftVerification, verify_active_rollback_draft};
pub use seal_from_accepted::{SealFromAcceptedOutcome, seal_from_accepted_claim};
pub use signature_diagnostics::{SignatureEnvelopeIssue, SignatureEnvelopeSource};
pub use snapshot::{SnapshotEntry, SnapshotManifest};
pub use state_root::{
StateRootContent, StateRootEntry, compute_state_root, state_leaf_hash, state_leaf_preimage,
};
pub use sync_negotiation::{
DEFAULT_HAVE_LIST_MAX_PATCH_COUNT, DEFAULT_HAVE_LIST_MAX_TOTAL_BYTES,
DEFAULT_SYNC_SUMMARY_MAX_REF_COUNT, DEFAULT_SYNC_SUMMARY_MAX_TOTAL_BYTES, HaveList,
SyncArtifactBuildReport, SyncArtifactOutcome, SyncRefComparison, SyncRefComparisonState,
SyncSummaryRefEntry, build_have_list, build_sync_artifact, build_sync_summary,
compare_sync_summary, compute_sync_delta, decode_have_list, decode_sync_summary,
};
pub use tag_travel::{
LocalTagCreation, ReceivedTagResolution, ReceivedTagSummary, TagSignatureVerification,
adopt_tag, create_local_tag, list_received_tags, received_tag_ids,
};
pub use trust::{
AdoptedMaintainerKey, GatedOperation, MaintainerTrustPolicy, PublicationTrustIssue,
add_trusted_maintainer, load_maintainer_trust_policy, remove_trusted_maintainer,
verify_signer_trusted, verify_trusted_publication_envelope,
};
pub use unlock::{HeldLock, PidLiveness, clear_lock, find_held_lock, list_held_locks};
pub use verify::{
ActiveWalMetadataStatus, ActiveWalOrderingIssue, AuthorSignatureVerification,
BlockSealVerification, ObjectItemOutcome, ObjectItemStatus, ObjectVerification,
RepositoryVerification, StageOutcome, StageStatus, VerificationStage, VerifyOptions,
verify_repository, verify_repository_with_options,
};
pub use wal::{Wal, WalRecord, WalRepair, WalReplay};
pub use worktree::{SnapshotMaterializationReport, materialize_snapshot_checkout};
pub use worktree_patch::{
DEFAULT_ACTIVE_PATCH_LIMIT, WorktreePatchCommitOptions, WorktreePatchCommitReport,
WorktreePatchOperationKind, WorktreePatchOperationSummary, commit_worktree_changes_signed,
};
pub use worktree_status::{
WorktreeChange, WorktreeChangeKind, WorktreeStatusReport, worktree_status,
};