Skip to main content

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