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