1#![forbid(unsafe_code)]
11#![deny(missing_docs)]
12
13pub mod adjacency;
14pub mod candidate_state;
15mod candidate_state_shared;
16pub mod chunked_vec;
17pub(crate) mod committer;
18pub(crate) mod committer_batch;
19pub mod compaction;
20pub(crate) mod composite_property_index;
21pub mod composite_typed_index;
22mod consistency;
23pub mod core_provider;
24pub mod durable_provider;
25pub mod error;
26pub mod graph;
27pub mod graph_types;
28pub mod id_allocator;
29pub(crate) mod id_map;
30pub mod index_provider;
31pub mod json_search;
32mod json_search_candidates;
33pub mod mutator;
34pub(crate) mod panic_payload;
35pub(crate) mod parallel_scan;
36pub(crate) mod property_index;
37pub(crate) mod provider_fanout;
38mod recover;
39pub(crate) mod reentry;
40pub(crate) mod schema_index_kind;
41pub mod shared;
42mod shared_snapshot;
43pub mod store;
44pub mod text_index;
45pub mod text_search;
46pub mod type_validator;
47mod typed_float_key;
48pub mod typed_index;
49pub mod vector_index;
50pub mod vector_search;
51pub mod write_txn;
52
53pub use adjacency::{AdjacencyEdge, AdjacencyEntry};
54pub use candidate_state::{
55 CANDIDATE_STATE_PROVIDER_TAG, CANDIDATE_STATE_SUB, CandidateStateSpec,
56 MaintainedCandidateStateProvider,
57};
58pub use chunked_vec::ChunkedVec;
59pub use committer_batch::CommitBatching;
60pub use compaction::{CompactedCore, CompactionReport, CompactionStats, compact_core};
61pub use composite_typed_index::{
62 CompositeIndexValueError, CompositeKey, CompositeKeyComponent, CompositeTypedIndex,
63};
64pub use core_provider::{
65 CORE_EDGE_SUB, CORE_GTYP_SUB, CORE_META_SUB, CORE_NODE_SUB, CORE_PROVIDER_TAG, CORE_SCMA_SUB,
66 CORE_TIDX_SUB, CORE_VIDX_SUB, CoreProvider, DurableState,
67};
68pub use durable_provider::DurableProvider;
69pub use error::{GraphError, GraphResult};
70pub use graph::{
71 CompositePropertyIndexEntry, GraphMeta, SeleneGraph, TextIndexEntry, VectorIndexEntry,
72};
73pub use graph_types::{
74 DropBehavior, EdgeEndpointDef, EdgeTypeDef, GraphTypeDef, MAX_RECORD_TYPE_NESTING, NodeTypeDef,
75 PropertyDefaultRecordField, PropertyDefaultValue, PropertyElementType, PropertyTypeDef,
76 RecordFieldType, RecordFieldTypeDef, RecordFieldTypes, ValidationMode,
77};
78pub use id_allocator::IdAllocator;
79pub use index_provider::{
80 IndexProvider, ProviderError, ProviderTag, SubTag, VectorCandidateStateInfo,
81};
82pub use json_search::{
83 JSON_PATH_SELECTOR_LIMIT, JsonContainmentHit, JsonPathContainmentHit, JsonPathHit,
84 JsonPathValueHit, JsonSearchError,
85};
86pub use json_search_candidates::JsonPathContainmentCandidateOptions;
87pub use mutator::Mutator;
88pub use selene_core::JsonPathSelector;
89pub use selene_core::{HnswIndexConfig, IvfIndexConfig};
90pub use selene_persist::{DEFAULT_WAL_FILE_NAME, SyncPolicy, WalConfig};
91pub use shared::{SharedGraph, SharedGraphBuilder};
92pub use store::{EdgeStore, NodeStore, RowIndex};
93pub use text_index::{TextIndex, TextIndexMemoryUsage, TextIndexStats};
94pub use text_search::{TextSearchError, TextSearchHit};
95pub use type_validator::{EntityId, TypeViolation, validate_change, validate_entity_state};
96pub use typed_float_key::{NotNanError, NotNanF32, NotNanF64};
97pub use typed_index::{TypedIndex, TypedIndexKind};
98pub use vector_index::{
99 IVF_REBUILD_MIN_PENDING_RETRAIN_ENTRIES, IVF_REBUILD_PENDING_RETRAIN_BASIS_POINTS, VectorIndex,
100 VectorIndexConfig, VectorIndexKind, VectorIndexMaintenancePolicy, VectorIndexMemoryUsage,
101 VectorIndexRebuildEntry, VectorIndexRebuildReport, VectorIndexValueError,
102};
103pub use vector_search::{
104 ApproximateVectorExpansionOptions, ApproximateVectorSearchOptions, VectorCandidateSet,
105 VectorNeighborDirection, VectorNeighborSearchOptions, VectorNodeSearchHit, VectorSearchError,
106};
107pub use write_txn::{CommitOutcome, CommitWarning, WriteTxn};
108
109#[cfg(test)]
110mod closed_graph_tests;