1#[macro_use]
5mod versioned_blob;
6
7mod action_id;
8mod action_operation;
9mod action_struct;
10mod blob;
11pub mod collaboration;
12mod diff;
13mod discussion;
14mod hash;
15mod identifiers;
16mod key_binding;
17pub mod manifest;
18mod operation_id;
19mod redaction;
20mod risk_signal;
21mod semantic_change;
22mod semantic_edges;
23mod semantic_index;
24mod session;
25mod source;
26mod spool_id;
27mod staleness_core;
28mod state_attachment;
29mod state_attribution;
30mod state_context;
31mod state_core;
32mod state_provenance;
33mod state_review;
34mod state_visibility;
35mod structured_conflict;
36#[cfg(test)]
37mod structured_conflict_tests;
38mod suggestion_core;
39mod timeline;
40mod tree;
41mod tree_diff;
42mod tree_path;
43pub mod tree_walk;
44mod visibility_tier;
45
46pub use action_id::ActionId;
47pub use action_operation::Operation;
48pub use action_struct::Action;
49pub use blob::Blob;
50pub use collaboration::*;
51pub use diff::{DiffKind, FileChange, FileChangeSet};
52pub use discussion::{
53 Discussion, DiscussionError, DiscussionId, DiscussionReference, DiscussionReferenceKind,
54 DiscussionResolution, DiscussionTurn, DiscussionsBlob, generate_discussion_id,
55};
56pub use hash::{ChangeId, ChangeIdParseError, ContentHash, StateId, StateIdParseError};
57pub use identifiers::{MarkerName, Scope, ThreadName};
58pub use key_binding::{
59 KEY_BINDING_SIGNING_PAYLOAD_VERSION_TAG, KeyBinding, KeyBindingError, KeyBindingRegistry,
60};
61pub use manifest::{
62 BuiltManifest, FsckFinding, FsckOptions, FsckReport, FsckRule, ManifestBinding,
63 ManifestBuildError, ManifestFacet, ManifestKey, ManifestNode, ManifestNodeSource,
64 ManifestObject, ManifestObjectKind, ManifestOwnerKind, PackRangeAudit, PackRangeClaim,
65 PackRecord, build_manifest, expand_manifest, fsck_manifest, fsck_manifest_with,
66 fsck_pack_range,
67};
68pub use operation_id::{OperationId, OperationIdParseError};
69pub use redaction::{
70 REDACTION_SIGNING_PAYLOAD_VERSION_TAG, Redaction, RedactionError, RedactionsBlob,
71};
72pub use risk_signal::{
73 MAX_REASON_LEN, ProducerId, RiskSignal, RiskSignalBlob, RiskSignalError, RiskSignalKind,
74 SignalAnchor,
75};
76pub use semantic_change::{ChangeImportance, ModificationKind, SemanticChange};
77pub use semantic_edges::{BindingDelta, FileBindingDelta, ResolvedSemanticEdge, SemanticEdgeKind};
78pub use semantic_index::{
79 ByteSpan, ImportBinding, ImportEntry, ImportKindTag, OccurrenceEntry, OccurrenceRole,
80 ScopeEntry, ScopeKind, SemanticEntryKind, SemanticFileFacts, SemanticFileNode,
81 SemanticIndexError, SemanticIndexRoot, SemanticTreeEntry, SemanticTreeNode, SymbolEntry,
82 SymbolKindTag, SymbolNamespace, compute_dir_semantic_digest, compute_file_scaffold_hash,
83 compute_file_semantic_digest, compute_symbol_semantic_hash,
84};
85pub use session::{Session, SessionSegment, generate_session_id};
86#[cfg(feature = "async-source")]
87pub use source::AsyncObjectSource;
88pub use source::ObjectSource;
89pub use spool_id::{SpoolId, SpoolIdParseError};
90pub use staleness_core::{
91 StalenessStatus, annotation_status_for_source,
92 annotation_status_for_source_with_symbol_resolver, extract_line_range, resolve_current_symbol,
93};
94pub use state_attachment::{
95 StateAttachment, StateAttachmentBody, StateAttachmentId, StateAttachmentKind,
96};
97pub use state_attribution::{Agent, Attribution, Principal};
98pub use state_context::{
99 Annotation, AnnotationKind, AnnotationRevision, AnnotationScope, AnnotationStatus, ContextBlob,
100 ContextError, ContextTarget,
101};
102pub use state_core::{
103 ChangeLineage, ChangeLineageKind, SignatureStatus, State, StateSignature, Status, Verification,
104 parse_commit_extension_headers,
105};
106pub use state_provenance::{FileProvenance, LineSpan, Origin, OriginSet, ProvenanceError};
107pub use state_review::{
108 ReviewKind, ReviewScope, ReviewSignature, ReviewSignatureError, ReviewSignaturesBlob,
109 SymbolAnchor, signing_payload,
110};
111pub use state_visibility::{
112 STATE_VISIBILITY_SIGNING_PAYLOAD_VERSION_TAG, StateVisibility, StateVisibilityBlob,
113 StateVisibilityError,
114};
115pub use structured_conflict::{
116 ConflictError, ConflictRange, ConflictRegion, ConflictSide, StructuredConflict,
117};
118pub use suggestion_core::{
119 ContextSuggestion, ContextSuggestionTier, HIGH_SUGGESTION_THRESHOLD,
120 MAJOR_REWRITE_THRESHOLD_PCT, MEDIUM_SUGGESTION_THRESHOLD, SUGGESTION_WINDOW, SuggestionInputs,
121 SuggestionSignal, score_suggestions,
122};
123pub use timeline::{
124 BranchCreatedV1, CursorMovedV1, NativeToolCallRefV1, TIMELINE_OPERATION_SCHEMA_VERSION,
125 TimelineBranchId, TimelineBranchReason, TimelineCodecError, TimelineCursorMoveReason,
126 TimelineLabel, TimelineOperationBodyV1, TimelineOperationEnvelope, TimelineOperationId,
127 TimelineOperationIdParseError, TimelineOperationKind, TimelineStepId, TimelineToolCallStatus,
128 TimelineToolPayloadMetadata, ToolCallFinishedV1, ToolCallStartedV1,
129};
130pub use tree::{
131 EntryType, FileMode, Tree, TreeDecodeError, TreeEntry, TreeEntryTarget, TreeError,
132 validate_name as validate_tree_entry_name,
133};
134#[cfg(feature = "async-source")]
135pub use tree_diff::diff_trees_visit_async;
136pub use tree_diff::{diff_trees, diff_trees_visit};
137#[cfg(feature = "async-source")]
138pub use tree_path::resolve_tree_path_async;
139pub use tree_path::{
140 LeafPolicy, ResolvedTreeTarget, TreePathResolveError, resolve_tree_path, split_path,
141};
142pub use tree_walk::{TreeIntegrityEvent, walk_tree_integrity};
143pub use visibility_tier::VisibilityTier;