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