1pub mod agent;
6pub mod attachment;
7pub mod blob;
8pub mod capability;
9pub mod embedding_space;
10pub mod entity;
11mod env;
12pub mod error;
13pub mod event;
14pub mod graph;
15pub mod note;
16pub mod operation_context;
17pub mod request_context;
18pub mod sparse;
19pub mod sql;
20pub mod telemetry;
21#[cfg(feature = "test-support")]
22pub mod test_support;
23pub mod text;
24pub mod tx_registry;
25pub mod types;
26pub mod usage;
27pub mod vectors;
28
29pub use agent::AgentStore;
30pub use attachment::{
31 Attachment, AttachmentReadReport, AttachmentStore, AttachmentSubstrate, NewAttachment,
32};
33pub use blob::{
34 BlobOrphanSweepConfig, BlobOrphanSweepResult, BlobStore, ContentRef, UploadId,
35 MAX_BLOB_WHOLE_BYTES,
36};
37pub use capability::StorageCapability;
38pub use embedding_space::{EmbeddingSpaceIdentity, EmbeddingSpaceIdentityError, EmbeddingSpaceKey};
39pub use entity::{Entity, EntityFilter, EntityStore};
40pub use env::read_env_number;
41pub use error::{CapacityUnavailablePhase, StorageError, WriterTaskRequestState};
42
43pub use event::{
44 Event, EventFilter, EventObservation, EventStore, EventView, ObservationRole, ReferentKind,
45};
46pub use graph::GraphStore;
47pub use khive_types::vector::{
48 decode_f32_le, decode_f32_native, encode_f32_le, encode_f32_native, VectorCodecError,
49};
50pub use note::{FilterOp, Note, NoteFilter, NoteStore, NoteVisibility, SortDir};
51pub use request_context::{
52 await_request_read_phase, capture_request_read_context, effective_request_read_deadline,
53 ensure_request_read_active, inherit_request_read_cancellation, inherit_request_read_context,
54 request_read_is_cancelled, request_read_timeout_from_env, scope_request_read_cancellation,
55 scope_request_read_deadline, scope_request_read_deadline_at,
56 wait_for_request_read_cancellation, RequestReadContext, RequestReadDeadline,
57 RequestReadStopReason, DEFAULT_REQUEST_READ_TIMEOUT_SECS,
58};
59pub use sparse::{SparseStore, SparseStoreFactory};
60pub use sql::{AtomicUnitOp, BoxFuture, SqlAccess, SqlReader, SqlWriter, TopLevelMaintenance};
61pub use telemetry::{
62 ChannelBackoffArmedPayload, ChannelBackoffResetPayload, ChannelHeartbeatPersistFailedPayload,
63 ChannelPollFailedPayload, ChannelPollStartedPayload, ChannelPollSucceededPayload,
64 CheckpointOutcomeRecordedPayload, ConfigLockedPayload, LifecycleEvent, PhaseCancelledPayload,
65 PhaseCompletedPayload, PhaseStartedPayload,
66};
67pub use text::{TextSearch, TextSearchFactory};
68pub use types::StorageResult;
69pub use vectors::{VectorStore, VectorStoreFactory};
70
71pub use types::{
72 BatchWriteError, BatchWriteErrorClass, BatchWriteErrorCount, BatchWriteRetryability,
73 BatchWriteSummary, BoundedCount, DeleteMode, DirectedNeighborHit, Direction, Edge, EdgeFilter,
74 EdgeSeekPage, EdgeSortField, EdgeUpsertDisposition, EdgeUpsertRefusal, EdgeUpsertRequest,
75 EdgeUpsertResult, GraphPath, GuardedBatchOutcome, GuardedBatchRefusal, GuardedEdgeBatchRefusal,
76 GuardedEdgeBatchUpsertOutcome, GuardedEdgeUpsertOutcome, GuardedWriteOutcome,
77 IndexRebuildScope, LimitReport, LinkId, MissingEndpoints, NeighborCursor, NeighborHit,
78 NeighborQuery, OrphanSweepConfig, OrphanSweepResult, Page, PageRequest, PathNode,
79 PropertyFilter, PropertyOp, SeekCursor, SeekPage, SortDirection, SortOrder, SparseRecord,
80 SparseSearchHit, SparseSearchRequest, SparseVector, SqlRow, SqlStatement, SqlValue,
81 TextDocument, TextFilter, TextGatherMode, TextIndexStats, TextQueryMode, TextSearchHit,
82 TextSearchOptions, TextSearchRequest, TextTermStats, TextTermStatsRequest, TimeRange,
83 TraversalExecutionBudget, TraversalOptions, TraversalRequest, VectorIndexKind,
84 VectorMetadataFilter, VectorRecord, VectorScanEntry, VectorScanPage, VectorScanRequest,
85 VectorSearchHit, VectorSearchRequest, VectorStoreCapabilities, VectorStoreInfo,
86 DEFAULT_TRAVERSAL_LIMIT, MAX_BATCH_WRITE_ERROR_DETAILS, MAX_BATCH_WRITE_ERROR_MESSAGE_CHARS,
87 MAX_SPARSE_SEARCH_TOP_K, MAX_TRAVERSAL_DEPTH, MAX_TRAVERSAL_LIMIT, MAX_TRAVERSAL_MILLIS,
88 MAX_TRAVERSAL_ROOTS, MAX_TRAVERSAL_WORK,
89};
90
91pub use khive_types::{
92 AgentRecord, AgentState, EdgeCategory, EdgeRelation, EventOutcome, SubstrateKind,
93 TerminalReason,
94};
95
96pub fn now_micros() -> i64 {
99 chrono::Utc::now().timestamp_micros()
100}