Skip to main content

vibesql_server/
lib.rs

1//! VibeSQL Server Library
2//!
3//! This module provides the core server components for the VibeSQL database server,
4//! including PostgreSQL wire protocol support, authentication, and session management.
5
6pub mod auth;
7pub mod config;
8pub mod connection;
9pub mod http;
10pub mod observability;
11pub mod protocol;
12pub mod registry;
13pub mod scheduler;
14pub mod session;
15pub mod subscription;
16pub mod transaction;
17
18pub use auth::PasswordStore;
19pub use config::{
20    ApiKeyConfig, AuthConfig, Config, HttpAuthConfig, HttpAuthMethod, HttpConfig, JwtConfig,
21    LoggingConfig, ServerConfig,
22};
23pub use connection::{ConnectionHandler, TableMutationNotification};
24pub use observability::ObservabilityProvider;
25pub use protocol::{
26    BackendMessage, FieldDescription, FrontendMessage, SubscriptionUpdateType, TransactionStatus,
27};
28pub use scheduler::{
29    ScheduleExecutor, ScheduleExecutorConfig, SchedulerManager, SchedulerManagerConfig,
30};
31pub use registry::{DatabaseRegistry, SharedDatabase};
32pub use session::{Column, ExecutionResult, Row, Session};
33pub use subscription::{
34    create_partial_row_update, extract_table_dependencies, extract_table_refs,
35    SelectiveColumnConfig, Subscription, SubscriptionConfig, SubscriptionError, SubscriptionId,
36    SubscriptionManager, SubscriptionUpdate,
37};
38pub use transaction::{
39    SessionTransactionManager, TransactionChange, TransactionError, TransactionState,
40};
41// Re-export ChangeEvent from storage layer for consistency
42pub use vibesql_storage::ChangeEvent;