Skip to main content

types_sdk/
lib.rs

1//! Types SDK
2//!
3//! This crate provides the public API for the `types` module:
4//! - `TypesClient` trait for inter-module communication
5//! - `TypesError` for error handling
6//!
7//! ## Purpose
8//!
9//! The `types` module is responsible for registering core GTS types that are used
10//! throughout the framework (e.g., `BaseModkitPluginV1` for plugin systems).
11//!
12//! ## Usage
13//!
14//! Consumers obtain the client from `ClientHub`:
15//! ```ignore
16//! use types_sdk::TypesClient;
17//!
18//! // Get the client from ClientHub
19//! let client = hub.get::<dyn TypesClient>()?;
20//!
21//! // Check if core types are registered
22//! let ready = client.is_ready().await?;
23//! ```
24
25#![forbid(unsafe_code)]
26#![deny(rust_2018_idioms)]
27
28pub mod api;
29pub mod error;
30
31// Re-export main types at crate root for convenience
32pub use api::TypesClient;
33pub use error::TypesError;