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
//! Primitive type implementations.
//!
//! This module provides `Elicitation` implementations for all Rust primitive types:
//! - Integer types: i8, i16, i32, i64, u8, u16, u32, u64
//! - Floating-point types: f32, f64
//! - Boolean: bool
//! - Character: char
//! - String: String
//! - PathBuf: std::path::PathBuf
//! - Network types: IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, etc.
//! - Duration: std::time::Duration
//! - Tuples: (T1, T2), (T1, T2, T3), up to arity 12
//!
//! All primitive types implement:
//! - [`Prompt`](crate::Prompt) - Provides default prompts
//! - [`Elicitation`](crate::Elicitation) - Async elicitation via MCP
//!
//! Integer and float types use generic macros to eliminate duplication.
pub use StringStyle;