1#![forbid(unsafe_code)]
2#![warn(missing_docs)]
3
4mod active;
19mod author_key_index;
20mod author_signing;
21mod blob_access;
22mod block_state;
23mod bundle;
24mod byte_cursor;
25mod checkout;
26mod commit_index;
27mod compact;
28mod container;
29mod doctor;
30mod file_codec;
31mod format;
32mod frame_resync;
33mod fsutil;
34mod generation;
35mod history;
36mod index;
37mod layout;
38mod lifecycle_cache;
39mod lock;
40mod maintainer_signing;
41mod memory_store;
42mod merge_evidence;
43mod merge_execute;
44mod node_id_gen;
47mod node_lifecycle;
48mod object_store;
49mod patch_algebra;
52mod patch_checkout;
53mod patch_exchange;
54mod patch_inverse;
55mod patch_replay;
56mod patch_set_digest;
57mod path;
58mod received;
59mod received_index;
60mod recognition_claim;
61mod refs;
62mod rfc111_seal_simulation;
63mod rollback_draft;
64mod rollback_preview;
65mod rollback_verify;
66mod seal_from_accepted;
67mod signature_diagnostics;
68mod snapshot;
69mod state_root;
70mod sync_negotiation;
71mod tag_travel;
72mod text_span;
73mod trust;
74mod trust_index;
75mod unlock;
76mod verify;
77mod wal;
78mod worktree;
79mod worktree_marker;
80mod worktree_patch;
81mod worktree_status;
82
83#[cfg(test)]
84mod dc55_identity_evidence;
85#[cfg(test)]
86mod format_stability_gate;
87#[cfg(test)]
88mod rfc111_index_decode_cost_gate;
89#[cfg(test)]
90mod rfc111_seal_decode_cost_gate;
91#[cfg(test)]
92mod signature_contract_tests;
93#[cfg(test)]
94mod test_support;
95
96pub use active::{
97 ActiveCommitResult, ActiveRefMetadata, ActiveSession, finish_active_publication_cleanup,
98 read_active_ref_metadata, remove_active_ref_metadata, require_active_ref_for_non_empty_wal,
99 write_active_ref_metadata,
100};
101pub use author_signing::{AuthorSigner, Ed25519AuthorSigner, author_signature};
102pub use block_state::{
103 BlockStateOutcome, BlockStateStatus, derive_next_state_root, validate_block_v2_shape,
104};
105pub use bundle::{
106 BundleExportReport, BundleImportOptions, BundleImportReport, DEFAULT_BUNDLE_MAX_OBJECT_COUNT,
107 DEFAULT_BUNDLE_MAX_TOTAL_BYTES, export_bundle, import_bundle,
108};
109pub use checkout::{
110 CheckoutMaterialization, CheckoutPlan, DEFAULT_CHECKOUT_REF, SnapshotCheckoutPlan,
111 prepare_checkout_plan, prepare_snapshot_checkout_plan,
112};
113pub use commit_index::CommitIndexDivergence;
114pub use compact::{
115 CompactionReport, compact_received_index, compact_ref_pointer_index, compact_trust_policy,
116 plan_compact_received_index, plan_compact_ref_pointer_index, plan_compact_trust_policy,
117};
118pub use doctor::{
119 DoctorIssue, DoctorRepairOptions, DoctorRepairReport, DoctorReport, DoctorSeverity,
120 doctor_repository, repair_repository,
121};
122pub use history::{
123 DEFAULT_HISTORY_LIMIT, HistoryEntry, RefHistory, load_received_ref_history, load_ref_history,
124};
125pub use layout::{ContainerSlot, LockableContainer, RepositoryFormat, RepositoryLayout};
126pub use lifecycle_cache::incremental::LifecycleCacheDivergence;
127pub use lock::{ActiveLock, ContainerLockGuard, RefLock, acquire_container_locks};
128pub use maintainer_signing::{Ed25519MaintainerSigner, MaintainerSigner, maintainer_signature};
129pub use memory_store::MemoryObjectStore;
130pub use merge_evidence::{
131 MergeEvidenceDisplay, MergeEvidenceDisplayItem, MergeEvidenceDisplayOperation,
132 MergeEvidenceDisplaySelector, MergeEvidenceTarget, MergePlanDisplay, prepare_merge_evidence,
133 prepare_merge_plan,
134};
135pub use merge_execute::{MergeExecutionReport, execute_merge};
136pub use object_store::{
137 FileObjectStore, ObjectReadSnapshot, ObjectReader, ObjectWriteSession, ObjectWriter,
138};
139pub use patch_checkout::{
140 PatchDeletionConflict, PatchDeletionPlan, PatchMaterializationReport,
141 materialize_patch_checkout, materialize_patch_checkout_with_deletions,
142 plan_patch_checkout_deletions,
143};
144pub use patch_exchange::{
145 AcceptOptions, AcceptReport, ClaimSignatureVerification,
146 DEFAULT_EXCHANGE_ARTIFACT_MAX_OBJECT_COUNT, DEFAULT_EXCHANGE_ARTIFACT_MAX_TOTAL_BYTES,
147 ExchangeExportReport, accept_exchange_artifact, accepted_but_unsealed_patch_ids,
148 export_exchange_artifact,
149};
150pub use patch_inverse::{
151 PatchInverseOperationKind, PatchInverseOperationSummary, PatchInversePlan,
152 prepare_patch_inverse_plan,
153};
154pub use patch_replay::{PatchReplayPlan, prepare_patch_replay_plan};
155pub use patch_set_digest::{
156 PatchSetDigest, PatchSetResolution, compute_patch_set_digest,
157 compute_patch_set_digest_and_count_from_block, compute_patch_set_digest_for_ref,
158 compute_patch_set_digest_from_block, patch_ids_reachable_from_block, patch_set_digest_preimage,
159 resolve_patch_set_digest,
160};
161pub use path::{RepoPath, validate_no_path_collisions, validate_repo_path};
162pub use received::{
163 ReceivedPointer, list_received_pointers, read_received_pointer, validate_received_ref,
164};
165pub use recognition_claim::{
166 RecognitionClaimConsistency, check_recognition_claim_consistency, order_claims_for_sealing,
167};
168pub use refs::{
169 RefFileOutcome, RefFileStatus, RefItemOutcome, RefItemStatus, RefLogRecord, RefLogReplay,
170 RefPointerSummary, RefPublication, RefPublicationIssue, RefRecoveryCandidate, RefStore,
171 validate_local_branch_ref, validate_local_tag_ref,
172};
173#[cfg(feature = "test-support")]
174pub use refs::{
175 force_ref_pointer_to_arbitrary_state_for_test_support,
176 remove_ref_pointer_entry_for_test_support,
177};
178#[cfg(feature = "test-support")]
179pub use rfc111_seal_simulation::simulate_one_seal_for_test_support;
180pub use rollback_draft::{RollbackDraftReport, append_rollback_draft};
181pub use rollback_preview::{
182 RollbackPreviewChange, RollbackPreviewChangeKind, RollbackPreviewPlan, prepare_rollback_preview,
183};
184pub use rollback_verify::{RollbackDraftVerification, verify_active_rollback_draft};
185pub use seal_from_accepted::{SealFromAcceptedOutcome, seal_from_accepted_claim};
186pub use signature_diagnostics::{SignatureEnvelopeIssue, SignatureEnvelopeSource};
187pub use snapshot::{SnapshotEntry, SnapshotManifest};
188pub use state_root::{
189 StateRootContent, StateRootEntry, compute_state_root, state_leaf_hash, state_leaf_preimage,
190};
191pub use sync_negotiation::{
192 DEFAULT_HAVE_LIST_MAX_PATCH_COUNT, DEFAULT_HAVE_LIST_MAX_TOTAL_BYTES,
193 DEFAULT_SYNC_SUMMARY_MAX_REF_COUNT, DEFAULT_SYNC_SUMMARY_MAX_TOTAL_BYTES, HaveList,
194 SyncArtifactBuildReport, SyncArtifactOutcome, SyncRefComparison, SyncRefComparisonState,
195 SyncSummaryRefEntry, build_have_list, build_sync_artifact, build_sync_summary,
196 compare_sync_summary, compute_sync_delta, decode_have_list, decode_sync_summary,
197};
198pub use tag_travel::{
199 LocalTagCreation, ReceivedTagResolution, ReceivedTagSummary, TagSignatureVerification,
200 adopt_tag, create_local_tag, list_received_tags, received_tag_ids,
201};
202pub use trust::{
203 AdoptedMaintainerKey, MaintainerTrustPolicy, PublicationTrustIssue, add_trusted_maintainer,
204 load_maintainer_trust_policy, remove_trusted_maintainer, verify_signer_trusted,
205 verify_trusted_publication_envelope,
206};
207pub use unlock::{HeldLock, PidLiveness, clear_lock, find_held_lock, list_held_locks};
208pub use verify::{
209 ActiveWalMetadataStatus, ActiveWalOrderingIssue, AuthorSignatureVerification,
210 BlockSealVerification, ObjectItemOutcome, ObjectItemStatus, ObjectVerification,
211 RepositoryVerification, StageOutcome, StageStatus, VerificationStage, VerifyOptions,
212 verify_repository, verify_repository_with_options,
213};
214pub use wal::{Wal, WalRecord, WalRepair, WalReplay};
215pub use worktree::{SnapshotMaterializationReport, materialize_snapshot_checkout};
216pub use worktree_patch::{
217 DEFAULT_ACTIVE_PATCH_LIMIT, WorktreePatchCommitOptions, WorktreePatchCommitReport,
218 WorktreePatchOperationKind, WorktreePatchOperationSummary, commit_worktree_changes_signed,
219};
220pub use worktree_status::{
221 WorktreeChange, WorktreeChangeKind, WorktreeStatusReport, worktree_status,
222};