1#[macro_use]
5mod versioned_blob;
6
7mod action_id;
8mod action_operation;
9mod action_struct;
10mod annotated_tag;
11mod audience_tier;
12mod blob;
13pub mod collaboration;
14mod diff;
15mod discussion;
16mod facet_kind;
17mod frontier_ref;
18mod hash;
19mod identifiers;
20mod key_binding;
21pub mod manifest;
22mod operation_id;
23mod redaction;
24mod risk_signal;
25mod semantic_change;
26mod semantic_edges;
27mod semantic_graph_query;
28mod semantic_index;
29mod semantic_reverse_deps;
30mod session;
31mod source;
32mod spool_id;
33mod staleness_core;
34mod state_attachment;
35mod state_attribution;
36mod state_context;
37mod state_core;
38mod state_provenance;
39mod state_review;
40mod state_visibility;
41mod structured_conflict;
42#[cfg(test)]
43mod structured_conflict_tests;
44mod suggestion_core;
45mod timeline;
46mod tree;
47mod tree_canonical;
48mod tree_diff;
49mod tree_path;
50mod tree_source;
51mod tree_stream;
52pub mod tree_walk;
53mod visibility_tier;
54
55pub use action_id::ActionId;
56pub use action_operation::Operation;
57pub use action_struct::Action;
58pub use annotated_tag::{AnnotatedTag, AnnotatedTagError, AnnotatedTagMarker};
59pub use audience_tier::{AudienceParseError, AudienceTier, visible};
60pub use blob::Blob;
61pub use collaboration::*;
62pub use diff::{DiffKind, FileChange, FileChangeSet};
63pub use discussion::{
64 Discussion, DiscussionError, DiscussionId, DiscussionReference, DiscussionReferenceKind,
65 DiscussionResolution, DiscussionTurn, DiscussionsBlob, generate_discussion_id,
66};
67pub use facet_kind::{FacetKind, SourceHistoryLaws};
68pub use frontier_ref::{
69 GIT_SYNTHETIC_FRONTIER_PREFIX, SYNTHETIC_FRONTIER_PREFIX, SyntheticFrontierName,
70 SyntheticFrontierNameError,
71};
72pub use hash::{ChangeId, ChangeIdParseError, ContentHash, StateId, StateIdParseError};
73pub use identifiers::{
74 MarkerName, RESERVED_REF_SEGMENT, ReservedRefNameError, Scope, ThreadName,
75 is_reserved_heddle_namespace,
76};
77pub use key_binding::{
78 KEY_BINDING_REGISTRY_SIGNING_PAYLOAD_VERSION_TAG, KEY_BINDING_SIGNING_PAYLOAD_VERSION_TAG,
79 KeyBinding, KeyBindingError, KeyBindingRegistry, KeyRole,
80};
81pub use manifest::{
82 BuiltManifest, FsckFinding, FsckOptions, FsckReport, FsckRule, ManifestBinding,
83 ManifestBuildError, ManifestFacet, ManifestKey, ManifestNode, ManifestNodeSource,
84 ManifestObject, ManifestObjectKind, ManifestOwnerKind, PackRangeAudit, PackRangeClaim,
85 PackRecord, build_manifest, expand_manifest, fsck_manifest, fsck_manifest_with,
86 fsck_pack_range,
87};
88pub use operation_id::{OperationId, OperationIdParseError};
89pub use redaction::{
90 PURGE_SIGNING_PAYLOAD_VERSION_TAG, PurgeEvidence, REDACTION_SIGNING_PAYLOAD_VERSION_TAG,
91 Redaction, RedactionError, RedactionsBlob,
92};
93pub use risk_signal::{
94 MAX_REASON_LEN, ProducerId, RiskSignal, RiskSignalBlob, RiskSignalError, RiskSignalKind,
95 SignalAnchor,
96};
97pub use semantic_change::{ChangeImportance, ModificationKind, SemanticChange};
98pub use semantic_edges::{BindingDelta, FileBindingDelta, ResolvedSemanticEdge, SemanticEdgeKind};
99pub use semantic_graph_query::{
100 SemanticGraphQueryKind, SemanticGraphQueryRequest, SemanticGraphQueryResponse, SemanticGraphRef,
101};
102pub use semantic_index::{
103 ByteSpan, ImportBinding, ImportEntry, ImportKindTag, OccurrenceEntry, OccurrenceRole,
104 ScopeEntry, ScopeKind, SemanticEntryKind, SemanticFileFacts, SemanticFileNode,
105 SemanticIndexError, SemanticIndexRoot, SemanticTreeEntry, SemanticTreeNode, SymbolEntry,
106 SymbolKindTag, SymbolNamespace, compute_dir_semantic_digest, compute_file_scaffold_hash,
107 compute_file_semantic_digest, compute_symbol_semantic_hash,
108};
109pub use semantic_reverse_deps::ReverseDependencyIndex;
110pub use session::{Session, SessionSegment, generate_session_id};
111#[cfg(feature = "async-source")]
112pub use source::AsyncObjectSource;
113pub use source::ObjectSource;
114pub use spool_id::{SpoolId, SpoolIdParseError};
115pub use staleness_core::{
116 StalenessStatus, annotation_status_for_source,
117 annotation_status_for_source_with_symbol_resolver, extract_line_range, resolve_current_symbol,
118};
119pub use state_attachment::{
120 StateAttachment, StateAttachmentBody, StateAttachmentId, StateAttachmentKind,
121};
122pub use state_attribution::{Agent, Attribution, Principal};
123pub use state_context::{
124 Annotation, AnnotationAnchorStatus, AnnotationKind, AnnotationRevision, AnnotationScope,
125 AnnotationStatus, ContextBlob, ContextError, ContextTarget,
126};
127pub use state_core::{
128 ChangeLineage, ChangeLineageKind, SignatureStatus, State, StateSignature, Status, Verification,
129 parse_commit_extension_headers,
130};
131pub use state_provenance::{FileProvenance, LineSpan, Origin, OriginSet, ProvenanceError};
132pub use state_review::{
133 ReviewKind, ReviewScope, ReviewSignature, ReviewSignatureError, ReviewSignaturesBlob,
134 SymbolAnchor, signing_payload,
135};
136pub use state_visibility::{
137 STATE_VISIBILITY_SIGNING_PAYLOAD_VERSION_TAG, StateVisibility, StateVisibilityBlob,
138 StateVisibilityError,
139};
140pub use structured_conflict::{
141 ConflictError, ConflictRange, ConflictRegion, ConflictSide, StructuredConflict,
142};
143pub use suggestion_core::{
144 ContextSuggestion, ContextSuggestionTier, HIGH_SUGGESTION_THRESHOLD,
145 MAJOR_REWRITE_THRESHOLD_PCT, MEDIUM_SUGGESTION_THRESHOLD, SUGGESTION_WINDOW, SuggestionInputs,
146 SuggestionSignal, score_suggestions,
147};
148pub use timeline::{
149 BranchCreatedV1, CursorMovedV1, NativeToolCallRefV1, TIMELINE_OPERATION_SCHEMA_VERSION,
150 TimelineBranchId, TimelineBranchReason, TimelineCodecError, TimelineCursorMoveReason,
151 TimelineLabel, TimelineOperationBodyV1, TimelineOperationEnvelope, TimelineOperationId,
152 TimelineOperationIdParseError, TimelineOperationKind, TimelineStepId, TimelineToolCallStatus,
153 TimelineToolPayloadMetadata, ToolCallFinishedV1, ToolCallStartedV1,
154};
155pub use tree::{
156 EntryType, FileMode, Tree, TreeDecodeError, TreeEntry, TreeEntryTarget, TreeError,
157 validate_name as validate_tree_entry_name,
158};
159pub use tree_canonical::{
160 TREE_BLOCK_ENCODING_VERSION, TREE_BLOCK_MIN_ENTRIES, TREE_CANONICAL_MAGIC,
161 TREE_DELTA_ANCHOR_INTERVAL, TREE_DELTA_ENCODING_VERSION, TREE_DELTA_HEADER_LEN,
162 TREE_DELTA_MAGIC, TREE_DELTA_MAX_OPS, TREE_ENCODING_VERSION, TREE_HEADER_LEN,
163 TREE_LEAN_ENCODING_VERSION, TREE_LEAN_MAGIC, TreeDeltaHeader, TreeDeltaOp, TreeHeader,
164 apply_tree_delta, decode_header, decode_lean_prefix, decode_tree_delta,
165 decode_tree_delta_header, decode_tree_delta_header_prefix, decode_tree_delta_ops,
166 decode_tree_delta_ops_prefix, encode_lean_entry, encode_tree_delta, is_canonical_tree,
167 is_delta_tree, is_lean_tree, is_streamable_tree, tree_delta,
168};
169#[cfg(feature = "async-source")]
170pub use tree_diff::diff_trees_visit_async;
171pub use tree_diff::{diff_trees, diff_trees_visit};
172#[cfg(feature = "async-source")]
173pub use tree_path::resolve_tree_path_async;
174pub use tree_path::{
175 LeafPolicy, ResolvedTreeTarget, TreePathResolveError, resolve_tree_path, split_path,
176};
177pub use tree_source::{
178 BytesTreeSource, FileTreeSource, OpenedTreeBody, TreeBodyIntegrity, TreeByteSource,
179};
180pub use tree_stream::{
181 TreeEntryReader, TreePage, TreePageLimits, TreeResumeCursor, TreeStreamError,
182};
183pub use tree_walk::{TreeIntegrityEvent, walk_tree_integrity};
184pub use visibility_tier::VisibilityTier;