Skip to main content

heddle_object_model/object/
mod.rs

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