Skip to main content

data_connector/
lib.rs

1//! Data connector module for response storage and conversation storage.
2//!
3//! Provides storage backends for:
4//! - Conversations
5//! - Conversation items
6//! - Responses
7//!
8//! Supported backends:
9//! - Memory (default)
10//! - None (no-op)
11//! - Oracle ATP
12//! - Postgres
13//! - Redis
14
15mod common;
16pub mod config;
17pub mod context;
18mod core;
19mod factory;
20mod hooked;
21pub mod hooks;
22mod memory;
23mod noop;
24mod oracle;
25mod oracle_migrations;
26mod postgres;
27mod postgres_migrations;
28mod redis;
29pub mod schema;
30pub(crate) mod versioning;
31
32// Re-export config types
33// Re-export core types and traits
34pub use core::{
35    Conversation, ConversationId, ConversationItem, ConversationItemId, ConversationItemStorage,
36    ConversationStorage, ListParams, NewConversation, NewConversationItem, ResponseId,
37    ResponseStorage, ResponseStorageError, SortOrder, StoredResponse,
38};
39
40pub use config::{HistoryBackend, OracleConfig, PostgresConfig, RedisConfig};
41// Re-export hook infrastructure
42pub use context::{
43    current_extra_columns, current_request_context, with_extra_columns, with_request_context,
44    RequestContext,
45};
46// Re-export factory
47pub use factory::{create_storage, StorageBundle, StorageFactoryConfig};
48pub use hooks::{BeforeHookResult, ExtraColumns, HookError, StorageHook, StorageOperation};
49// Re-export memory implementations for testing
50pub use memory::{MemoryConversationItemStorage, MemoryConversationStorage, MemoryResponseStorage};
51// Re-export schema config types
52pub use schema::{ColumnDef, SchemaConfig, TableConfig};