Skip to main content

jules_core/
lib.rs

1//! Core traits and abstractions for Jules-SDK.
2
3#![deny(missing_docs)]
4
5pub mod activity;
6pub mod builder;
7pub mod client;
8pub mod config;
9pub mod conversation;
10pub mod errors;
11pub mod message;
12pub mod pagination;
13pub mod response;
14pub mod session;
15pub mod source;
16/// Streaming APIs, stream event handling, async stream abstractions, incremental responses.
17#[cfg(feature = "streaming")]
18pub mod streaming;
19/// Tool calling abstractions and APIs.
20/// This module is only available when the `tools` feature is enabled.
21#[cfg(feature = "tools")]
22pub mod tool;
23pub mod traits;
24
25#[cfg(feature = "wasm")]
26pub mod wasm;
27
28/// Middleware pipeline and abstractions.
29#[cfg(feature = "middleware")]
30pub mod middleware;
31
32#[cfg(test)]
33mod tests {
34    #[test]
35    fn it_works() {
36        assert_eq!(2 + 2, 4);
37    }
38
39    #[test]
40    #[cfg(feature = "tools")]
41    fn test_tools_feature_compiles() {
42        // Use a construct that proves `tool` module is loaded when `tools` feature is enabled.
43        #[allow(unused_imports)]
44        use crate::tool;
45    }
46}
47
48/// Experimental features and APIs.
49///
50/// Items in this module are NOT considered stable and MAY change without notice.
51/// This module is only available when the `experimental` feature is enabled.
52#[cfg(feature = "experimental")]
53#[cfg_attr(docsrs, doc(cfg(feature = "experimental")))]
54pub mod experimental {
55    // Experimental items will be added here
56}