Skip to main content

hawdb_core/
lib.rs

1// Copyright 2026 Nowledge
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15pub mod access;
16pub mod access_control;
17pub mod cancellation;
18pub mod capability;
19pub mod error;
20pub mod graph;
21pub mod graph_rag;
22pub mod ids;
23pub mod logical_type;
24pub mod projection;
25pub mod regex;
26pub mod schema;
27mod shared_allocation;
28pub mod time;
29pub mod uuidv7;
30pub mod value;
31pub mod vector;
32pub mod vector_index;
33
34pub use access_control::QueryAccessControlContext;
35pub use cancellation::{
36    RuntimeCancellationFuture, RuntimeCancellationReason, RuntimeCancellationToken,
37    RuntimeIoWaveController, RuntimeIoWaveError, RuntimeIoWavePermit, RuntimeIoWaveTryAcquire,
38    RuntimeMemoryController, RuntimeMemoryError, RuntimeMemoryPermit, RuntimeMemoryReservation,
39    RuntimeTaskContext,
40};
41pub use capability::{RuntimeCapabilities, RuntimeCapability};
42pub use error::{
43    HawDBError, ReadBudgetError, ReadBudgetResource, ResourceBudgetError, ResourceBudgetKind,
44    ResourceBudgetScope, Result,
45};
46pub use graph::RelationshipDirection;
47pub use graph_rag::{
48    build_graph_rag_schema_context, GraphRagCommonPathSummary, GraphRagGeneratedQuery,
49    GraphRagLabelSummary, GraphRagPropertySubject, GraphRagPropertySummary, GraphRagQueryBinding,
50    GraphRagQueryDraft, GraphRagQueryGenerationError, GraphRagQueryParameterCardinality,
51    GraphRagQueryParameterError, GraphRagQueryParameterRequirement, GraphRagQueryPattern,
52    GraphRagQueryPredicate, GraphRagQueryPredicateOperator, GraphRagQueryProjection,
53    GraphRagRelationshipTypeSummary, GraphRagRouteSummary, GraphRagSchemaContext,
54    GraphRagSchemaContextOptions, GraphRagSchemaContextTruncation,
55    DEFAULT_GRAPH_RAG_MAX_COMMON_PATHS, DEFAULT_GRAPH_RAG_MAX_LABELS,
56    DEFAULT_GRAPH_RAG_MAX_PROPERTIES_PER_SUBJECT, DEFAULT_GRAPH_RAG_MAX_RELATIONSHIP_TYPES,
57    DEFAULT_GRAPH_RAG_MAX_ROUTES, GRAPH_RAG_SCHEMA_CONTEXT_PROTOCOL, MAX_GRAPH_RAG_QUERY_LIMIT,
58};
59pub use logical_type::{LogicalType, VectorDimension};
60pub use regex::ValidatedRegex;
61pub use schema::{
62    AdvancedStatisticsFreshness, BasicGraphStatistics, Catalog, CompositeIndexDescriptor,
63    ConstraintDescriptor, ConstraintId, ConstraintKind, ConstraintSubject, GraphStatistics,
64    IndexDescriptor, IndexId, IndexKind, IndexStatisticsSample, Label, LabelId, PropertyDescriptor,
65    PropertyId, PropertyType, RelType, RelTypeId, SchemaObjectState, TableDescriptor, TableId,
66    TableKind,
67};
68pub use uuid::Uuid;
69pub use uuidv7::generate_uuidv7;
70pub use value::{Value, ValueRef};
71pub use vector::{Vector, VectorDistance, VectorRef};
72pub use vector_index::{
73    VectorIndexBackend, VectorIndexDescriptor, VectorIndexQueryMode, VectorIndexReadIdentity,
74    VectorIndexTarget,
75};
76
77#[doc(hidden)]
78pub use shared_allocation::SharedAllocation;