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::{
47 EdgeInsertIfAbsentOutcome, GraphGuardValueKind, GraphStatementGuard,
48 GraphStatementGuardFailure, GraphStatementGuardFailureReason, GraphStore,
49};
50pub use khive_types::vector::{
51 decode_f32_le, decode_f32_native, encode_f32_le, encode_f32_native, VectorCodecError,
52};
53pub use note::{FilterOp, Note, NoteFilter, NoteStore, NoteVisibility, SortDir};
54pub use request_context::{
55 await_request_read_phase, capture_request_read_context, effective_request_read_deadline,
56 ensure_request_read_active, inherit_request_read_cancellation, inherit_request_read_context,
57 request_read_is_cancelled, request_read_timeout_from_env, scope_request_read_cancellation,
58 scope_request_read_deadline, scope_request_read_deadline_at,
59 wait_for_request_read_cancellation, RequestReadContext, RequestReadDeadline,
60 RequestReadStopReason, DEFAULT_REQUEST_READ_TIMEOUT_SECS,
61};
62pub use sparse::{SparseStore, SparseStoreFactory};
63pub use sql::{AtomicUnitOp, BoxFuture, SqlAccess, SqlReader, SqlWriter, TopLevelMaintenance};
64pub use telemetry::{
65 ChannelBackoffArmedPayload, ChannelBackoffResetPayload, ChannelHeartbeatPersistFailedPayload,
66 ChannelPollFailedPayload, ChannelPollStartedPayload, ChannelPollSucceededPayload,
67 CheckpointOutcomeRecordedPayload, ConfigLockedPayload, LifecycleEvent, PhaseCancelledPayload,
68 PhaseCompletedPayload, PhaseStartedPayload,
69};
70pub use text::{TextSearch, TextSearchFactory};
71pub use types::StorageResult;
72pub use vectors::{VectorStore, VectorStoreFactory};
73
74pub use types::{
75 BatchWriteError, BatchWriteErrorClass, BatchWriteErrorCount, BatchWriteRetryability,
76 BatchWriteSummary, BoundedCount, DeleteMode, DirectedNeighborHit, Direction, Edge, EdgeFilter,
77 EdgeSeekPage, EdgeSortField, EdgeUpsertDisposition, EdgeUpsertRefusal, EdgeUpsertRequest,
78 EdgeUpsertResult, GraphPath, GuardedBatchOutcome, GuardedBatchRefusal, GuardedEdgeBatchRefusal,
79 GuardedEdgeBatchUpsertOutcome, GuardedEdgeUpsertOutcome, GuardedWriteOutcome,
80 IndexRebuildScope, LimitReport, LinkId, MissingEndpoints, NeighborCursor, NeighborHit,
81 NeighborQuery, OrphanSweepConfig, OrphanSweepResult, Page, PageRequest, PathNode,
82 PropertyFilter, PropertyOp, SeekCursor, SeekPage, SortDirection, SortOrder, SparseRecord,
83 SparseSearchHit, SparseSearchRequest, SparseVector, SqlRow, SqlStatement, SqlValue,
84 TextDocument, TextFilter, TextGatherMode, TextIndexStats, TextQueryMode, TextSearchHit,
85 TextSearchOptions, TextSearchRequest, TextTermStats, TextTermStatsRequest, TimeRange,
86 TraversalExecutionBudget, TraversalOptions, TraversalRequest, VectorIndexKind,
87 VectorMetadataFilter, VectorRecord, VectorScanEntry, VectorScanPage, VectorScanRequest,
88 VectorSearchHit, VectorSearchRequest, VectorStoreCapabilities, VectorStoreInfo,
89 DEFAULT_TRAVERSAL_LIMIT, MAX_BATCH_WRITE_ERROR_DETAILS, MAX_BATCH_WRITE_ERROR_MESSAGE_CHARS,
90 MAX_SPARSE_SEARCH_TOP_K, MAX_TRAVERSAL_DEPTH, MAX_TRAVERSAL_LIMIT, MAX_TRAVERSAL_MILLIS,
91 MAX_TRAVERSAL_ROOTS, MAX_TRAVERSAL_WORK,
92};
93
94pub use khive_types::{
95 AgentRecord, AgentState, EdgeCategory, EdgeRelation, EventOutcome, SubstrateKind,
96 TerminalReason,
97};
98
99pub fn now_micros() -> i64 {
102 chrono::Utc::now().timestamp_micros()
103}