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