1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Remote access subsystem for AimDB (AimX protocol)
//!
//! Provides introspection and management APIs over Unix domain sockets,
//! enabling external tools (CLI, dashboards, MCP adapters) to interact
//! with running AimDB instances.
//!
//! # Protocol
//!
//! AimX v1 uses NDJSON (newline-delimited JSON) over Unix domain sockets.
//! See `docs/design/remote-access/aimx-v1.md` for full specification.
//!
//! # Security
//!
//! - **Read-only by default**: No writes unless explicitly enabled
//! - **UDS permissions**: Primary security mechanism (file permissions)
//! - **Optional auth tokens**: Additional authentication layer
//! - **Per-record write permissions**: Explicit opt-in required
//!
//! # Usage
//!
//! ```rust,ignore
//! use aimdb_core::remote::{AimxConfig, SecurityPolicy};
//!
//! let db = AimDbBuilder::new()
//! .runtime(tokio_adapter)
//! .with_remote_access(
//! AimxConfig::uds_default()
//! .socket_path("/var/run/aimdb/aimdb.sock")
//! .security_policy(SecurityPolicy::ReadOnly)
//! .max_connections(16)
//! .subscription_queue_size(100)
//! )
//! .build()?;
//! ```
pub use ;
pub use ;
pub use ;
pub use RecordMetadata;
pub use ;
// Internal exports for implementation
pub
pub