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 audience_tier;
12mod blob;
13pub mod check_evidence;
14pub mod collaboration;
15mod diff;
16mod discussion;
17mod entry_redactions;
18mod entry_visibility;
19mod facet_kind;
20mod frontier_ref;
21mod git_note;
22mod hash;
23mod identifiers;
24mod key_binding;
25pub mod manifest;
26mod operation_id;
27pub mod original_boundary_acceptance;
28mod redaction;
29mod reserved_name;
30mod risk_signal;
31mod semantic_change;
32mod semantic_edges;
33mod semantic_graph_query;
34mod semantic_index;
35mod semantic_reverse_deps;
36mod session;
37mod source;
38pub mod source_target;
39pub mod source_target_map;
40mod spool_id;
41mod staleness_core;
42mod state_attachment;
43mod state_attribution;
44mod state_context;
45mod state_core;
46mod state_provenance;
47mod state_review;
48mod state_visibility;
49mod structured_conflict;
50#[cfg(test)]
51mod structured_conflict_tests;
52mod suggestion_core;
53pub mod thread_authority_admission;
54pub mod thread_genesis_admission;
55mod timeline;
56mod tree;
57mod tree_canonical;
58mod tree_diff;
59mod tree_git_layout;
60mod tree_path;
61mod tree_source;
62mod tree_stream;
63pub mod tree_walk;
64mod visibility_tier;
65
66pub use action_id::ActionId;
67pub use action_operation::Operation;
68pub use action_struct::Action;
69pub use annotated_tag::{AnnotatedTag, AnnotatedTagError, AnnotatedTagMarker};
70pub use audience_tier::{AudienceParseError, AudienceTier, visible};
71pub use blob::Blob;
72pub use collaboration::*;
73pub use diff::{DiffKind, FileChange, FileChangeSet};
74pub use discussion::{
75    Discussion, DiscussionError, DiscussionId, DiscussionReference, DiscussionReferenceKind,
76    DiscussionResolution, DiscussionTurn, DiscussionsBlob, generate_discussion_id,
77};
78pub use entry_redactions::EntryRedactions;
79pub use entry_visibility::{EntryVisibility, EntryVisibilityEntry, EntryVisibilityError};
80pub use facet_kind::{FacetKind, SourceHistoryLaws};
81pub use frontier_ref::{
82    GIT_SYNTHETIC_FRONTIER_PREFIX, SYNTHETIC_FRONTIER_PREFIX, SyntheticFrontierName,
83    SyntheticFrontierNameError,
84};
85pub use git_note::{HeddleNote, NoteAttribution, OmittedBreakdown, SignalCounts};
86pub use hash::{ChangeId, ChangeIdParseError, ContentHash, StateId, StateIdParseError};
87pub use identifiers::{
88    MarkerName, RESERVED_REF_SEGMENT, ReservedRefNameError, Scope, ThreadName,
89    is_reserved_heddle_namespace,
90};
91pub use key_binding::{
92    KEY_BINDING_REGISTRY_SIGNING_PAYLOAD_VERSION_TAG, KEY_BINDING_SIGNING_PAYLOAD_VERSION_TAG,
93    KeyBinding, KeyBindingError, KeyBindingRegistry, KeyRole,
94};
95pub use manifest::{
96    BuiltManifest, FsckFinding, FsckOptions, FsckReport, FsckRule, ManifestBinding,
97    ManifestBuildError, ManifestFacet, ManifestKey, ManifestNode, ManifestNodeSource,
98    ManifestObject, ManifestObjectKind, ManifestOwnerKind, PackRangeAudit, PackRangeClaim,
99    PackRecord, build_manifest, expand_manifest, fsck_manifest, fsck_manifest_with,
100    fsck_pack_range,
101};
102pub use operation_id::{OperationId, OperationIdParseError};
103pub use redaction::{
104    PURGE_SIGNING_PAYLOAD_VERSION_TAG, PurgeEvidence, REDACTION_SIGNING_PAYLOAD_VERSION_TAG,
105    Redaction, RedactionError, RedactionsBlob,
106};
107pub use reserved_name::{
108    MetadataAlias, MetadataName, ReservedMetadataName, ReservedPathComponent,
109    is_reserved_metadata_name, reserved_metadata_name, reserved_path_component,
110    reserved_tree_entry_name,
111};
112pub use risk_signal::{
113    MAX_REASON_LEN, ProducerId, RiskSignal, RiskSignalBlob, RiskSignalError, RiskSignalKind,
114    SignalAnchor,
115};
116pub use semantic_change::{ChangeImportance, ModificationKind, SemanticChange};
117pub use semantic_edges::{BindingDelta, FileBindingDelta, ResolvedSemanticEdge, SemanticEdgeKind};
118pub use semantic_graph_query::{
119    SemanticGraphQueryKind, SemanticGraphQueryRequest, SemanticGraphQueryResponse, SemanticGraphRef,
120};
121pub use semantic_index::{
122    ByteSpan, ImportBinding, ImportEntry, ImportKindTag, OccurrenceEntry, OccurrenceRole,
123    ScopeEntry, ScopeKind, SemanticEntryKind, SemanticFileFacts, SemanticFileNode,
124    SemanticIndexError, SemanticIndexRoot, SemanticTreeEntry, SemanticTreeNode, SymbolEntry,
125    SymbolKindTag, SymbolNamespace, compute_dir_semantic_digest, compute_file_scaffold_hash,
126    compute_file_semantic_digest, compute_symbol_semantic_hash,
127};
128pub use semantic_reverse_deps::ReverseDependencyIndex;
129pub use session::{Session, SessionSegment, generate_session_id};
130#[cfg(feature = "async-source")]
131pub use source::AsyncObjectSource;
132pub use source::ObjectSource;
133pub use spool_id::{SpoolId, SpoolIdParseError};
134pub use staleness_core::{
135    StalenessStatus, SymbolResolution, annotation_status_for_source,
136    annotation_status_for_source_with_symbol_resolver, extract_line_range, resolve_current_symbol,
137};
138pub use state_attachment::{
139    StateAttachment, StateAttachmentBody, StateAttachmentId, StateAttachmentKind,
140};
141pub use state_attribution::{Agent, Attribution, Principal};
142pub use state_context::{
143    Annotation, AnnotationAnchorStatus, AnnotationKind, AnnotationRevision, AnnotationScope,
144    AnnotationStatus, ContextBlob, ContextError, ContextTarget,
145};
146pub use state_core::{
147    ChangeLineage, ChangeLineageKind, SignatureStatus, State, StateSignature, Status,
148    TZ_OFFSET_NEGATIVE_UTC, Verification, git_tz_offset_seconds, parse_commit_extension_headers,
149};
150pub use state_provenance::{FileProvenance, LineSpan, Origin, OriginSet, ProvenanceError};
151pub use state_review::{
152    ReviewKind, ReviewScope, ReviewSignature, ReviewSignatureError, ReviewSignaturesBlob,
153    SymbolAnchor, signing_payload,
154};
155pub use state_visibility::{
156    STATE_VISIBILITY_SIGNING_PAYLOAD_VERSION_TAG, StateVisibility, StateVisibilityBlob,
157    StateVisibilityError,
158};
159pub use structured_conflict::{
160    ConflictError, ConflictRange, ConflictRegion, ConflictSide, StructuredConflict,
161};
162pub use suggestion_core::{
163    ContextSuggestion, ContextSuggestionTier, HIGH_SUGGESTION_THRESHOLD,
164    MAJOR_REWRITE_THRESHOLD_PCT, MEDIUM_SUGGESTION_THRESHOLD, SUGGESTION_WINDOW, SuggestionInputs,
165    SuggestionSignal, score_suggestions,
166};
167pub use timeline::{
168    BranchCreatedV1, CursorMovedV1, NativeToolCallRefV1, TIMELINE_OPERATION_SCHEMA_VERSION,
169    TimelineBranchId, TimelineBranchReason, TimelineCodecError, TimelineCursorMoveReason,
170    TimelineLabel, TimelineOperationBodyV1, TimelineOperationEnvelope, TimelineOperationId,
171    TimelineOperationIdParseError, TimelineOperationKind, TimelineStepId, TimelineToolCallStatus,
172    TimelineToolPayloadMetadata, ToolCallFinishedV1, ToolCallStartedV1,
173};
174pub use tree::{
175    EntryType, FileMode, PartialTree, PartialTreeLeaf, Tree, TreeDecodeError, TreeEntry,
176    TreeEntryTarget, TreeError, TreeScheme, validate_name as validate_tree_entry_name,
177};
178pub use tree_canonical::{
179    TREE_BLOCK_ENCODING_VERSION, TREE_BLOCK_MIN_ENTRIES, TREE_CANONICAL_MAGIC,
180    TREE_DELTA_ANCHOR_INTERVAL, TREE_DELTA_ENCODING_VERSION, TREE_DELTA_HEADER_LEN,
181    TREE_DELTA_MAGIC, TREE_DELTA_MAX_OPS, TREE_ENCODING_VERSION, TREE_HEADER_LEN,
182    TREE_LEAN_ENCODING_VERSION, TREE_LEAN_MAGIC, TREE_REDACTED_ENCODING_VERSION,
183    TREE_REDACTED_HEADER_LEN, TREE_REDACTED_MAGIC, TREE_SALTED_ENCODING_VERSION, TREE_SALTED_MAGIC,
184    TreeDeltaHeader, TreeDeltaOp, TreeHeader, apply_tree_delta, decode_header, decode_lean_prefix,
185    decode_redacted_projection, decode_salted_v4, decode_tree_delta, decode_tree_delta_header,
186    decode_tree_delta_header_prefix, decode_tree_delta_ops, decode_tree_delta_ops_prefix,
187    encode_lean_entry, encode_redacted_projection, encode_tree_delta, is_canonical_tree,
188    is_delta_tree, is_lean_tree, is_redacted_tree, is_salted_tree, is_streamable_tree, tree_delta,
189};
190#[cfg(feature = "async-source")]
191pub use tree_diff::diff_trees_visit_async;
192pub use tree_diff::{diff_trees, diff_trees_visit};
193pub use tree_git_layout::{GitTreeEntryRef, RawGitMode, parse_git_tree};
194#[cfg(feature = "async-source")]
195pub use tree_path::resolve_tree_path_async;
196pub use tree_path::{
197    LeafPolicy, ResolvedTreeTarget, TreePathResolveError, resolve_tree_path, split_path,
198};
199pub use tree_source::{
200    BytesTreeSource, FileTreeSource, OpenedTreeBody, TreeBodyIntegrity, TreeByteSource,
201};
202pub use tree_stream::{
203    TreeEntryReader, TreePage, TreePageLimits, TreeResumeCursor, TreeStreamError,
204};
205pub use tree_walk::{TreeIntegrityEvent, walk_tree_integrity};
206pub use visibility_tier::VisibilityTier;
207
208pub mod thread_replication;