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