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 operation_id;
17mod redaction;
18mod risk_signal;
19mod semantic_change;
20mod semantic_index;
21mod session;
22mod spool_id;
23mod staleness_core;
24mod state_attachment;
25mod state_attribution;
26mod state_context;
27mod state_core;
28mod state_provenance;
29mod state_review;
30mod state_visibility;
31mod structured_conflict;
32mod suggestion_core;
33mod timeline;
34mod tree;
35mod tree_diff;
36mod tree_path;
37pub mod tree_walk;
38mod visibility_tier;
39
40pub use action_id::ActionId;
41pub use action_operation::Operation;
42pub use action_struct::Action;
43pub use blob::Blob;
44pub use collaboration::*;
45pub use diff::{DiffKind, FileChange, FileChangeSet};
46pub use discussion::{
47 Discussion, DiscussionError, DiscussionId, DiscussionResolution, DiscussionTurn,
48 DiscussionsBlob, generate_discussion_id,
49};
50pub use hash::{ChangeId, ChangeIdParseError, ContentHash, StateId, StateIdParseError};
51pub use identifiers::{MarkerName, Scope, ThreadName};
52pub use operation_id::{OperationId, OperationIdParseError};
53pub use redaction::{
54 REDACTION_SIGNING_PAYLOAD_VERSION_TAG, Redaction, RedactionError, RedactionsBlob,
55};
56pub use risk_signal::{
57 MAX_REASON_LEN, ProducerId, RiskSignal, RiskSignalBlob, RiskSignalError, RiskSignalKind,
58 SignalAnchor,
59};
60pub use semantic_change::{ChangeImportance, ModificationKind, SemanticChange};
61pub use semantic_index::{
62 SemanticEntryKind, SemanticFileNode, SemanticIndexError, SemanticIndexRoot, SemanticTreeEntry,
63 SemanticTreeNode, SymbolEntry, SymbolKindTag, compute_dir_semantic_digest,
64 compute_file_scaffold_hash, compute_file_semantic_digest, compute_symbol_semantic_hash,
65};
66pub use session::{Session, SessionSegment, generate_session_id};
67pub use spool_id::{SpoolId, SpoolIdParseError};
68pub use staleness_core::{
69 StalenessStatus, annotation_status_for_source,
70 annotation_status_for_source_with_symbol_resolver, extract_line_range, resolve_current_symbol,
71};
72pub use state_attachment::{
73 StateAttachment, StateAttachmentBody, StateAttachmentId, StateAttachmentKind,
74};
75pub use state_attribution::{Agent, Attribution, Principal};
76pub use state_context::{
77 Annotation, AnnotationKind, AnnotationRevision, AnnotationScope, AnnotationStatus, ContextBlob,
78 ContextError, ContextTarget,
79};
80pub use state_core::{
81 ChangeLineage, ChangeLineageKind, SignatureStatus, State, StateSignature, Status, Verification,
82 parse_commit_extension_headers,
83};
84pub use state_provenance::{FileProvenance, LineSpan, Origin, OriginSet, ProvenanceError};
85pub use state_review::{
86 ReviewKind, ReviewScope, ReviewSignature, ReviewSignatureError, ReviewSignaturesBlob,
87 SymbolAnchor, signing_payload,
88};
89pub use state_visibility::{
90 STATE_VISIBILITY_SIGNING_PAYLOAD_VERSION_TAG, StateVisibility, StateVisibilityBlob,
91 StateVisibilityError,
92};
93pub use structured_conflict::{
94 ConflictError, ConflictResolution, ConflictSide, ConflictSymbol, StructuredConflict,
95};
96pub use suggestion_core::{
97 ContextSuggestion, ContextSuggestionTier, HIGH_SUGGESTION_THRESHOLD,
98 MAJOR_REWRITE_THRESHOLD_PCT, MEDIUM_SUGGESTION_THRESHOLD, SUGGESTION_WINDOW, SuggestionInputs,
99 SuggestionSignal, score_suggestions,
100};
101pub use timeline::{
102 BranchCreatedV1, CursorMovedV1, NativeToolCallRefV1, TIMELINE_OPERATION_SCHEMA_VERSION,
103 TimelineBranchId, TimelineBranchReason, TimelineCodecError, TimelineCursorMoveReason,
104 TimelineLabel, TimelineOperationBodyV1, TimelineOperationEnvelope, TimelineOperationId,
105 TimelineOperationIdParseError, TimelineOperationKind, TimelineStepId, TimelineToolCallStatus,
106 TimelineToolPayloadMetadata, ToolCallFinishedV1, ToolCallStartedV1,
107};
108pub(crate) use tree::TreeDecodeError;
109pub use tree::{
110 EntryType, FileMode, Tree, TreeEntry, TreeEntryTarget, TreeError,
111 validate_name as validate_tree_entry_name,
112};
113#[cfg(feature = "async-source")]
114pub use tree_diff::diff_trees_visit_async;
115pub use tree_diff::{diff_trees, diff_trees_visit};
116#[cfg(feature = "async-source")]
117pub use tree_path::resolve_tree_path_async;
118pub use tree_path::{
119 LeafPolicy, ResolvedTreeTarget, TreePathResolveError, resolve_tree_path, split_path,
120};
121pub use tree_walk::{TreeIntegrityEvent, walk_tree_integrity};
122pub use visibility_tier::VisibilityTier;