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