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    ConversationMemoryId, ConversationMemoryResult, ConversationMemoryStatus,
37    ConversationMemoryStorageError, ConversationMemoryType, ConversationMemoryWriter,
38    ConversationStorage, ListParams, NewConversation, NewConversationItem, NewConversationMemory,
39    ResponseId, ResponseStorage, ResponseStorageError, SortOrder, StoredResponse,
40};
41
42pub use config::{HistoryBackend, OracleConfig, PostgresConfig, RedisConfig};
43// Re-export hook infrastructure
44pub use context::{
45    current_extra_columns, current_request_context, with_extra_columns, with_request_context,
46    RequestContext,
47};
48// Re-export factory
49pub use factory::{create_storage, StorageFactoryConfig};
50pub use hooks::{BeforeHookResult, ExtraColumns, HookError, StorageHook, StorageOperation};
51// Re-export memory implementations for testing
52pub use memory::{MemoryConversationItemStorage, MemoryConversationStorage, MemoryResponseStorage};
53// Re-export schema config types
54pub use schema::{ColumnDef, SchemaConfig, TableConfig};