vtx_sdk/lib.rs
1/// WIT 接口绑定模块(私有)
2///
3/// # 说明
4/// 该模块负责生成和管理与 VTX Protocol 定义的接口绑定。
5/// 它不再依赖本地文件,而是直接使用 `vtx-protocol` 提供的单一事实来源。
6pub mod bindings {
7 include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
8}
9
10// =====================
11// 模块定义
12// =====================
13
14/// 数据库工具模块(迁移、结构、连接封装)
15pub mod db;
16
17/// HTTP 请求 / 响应结构与构造器
18pub mod http;
19
20/// 用户身份认证与上下文结构工具
21pub mod auth;
22
23/// 错误类型定义与统一错误处理
24pub mod error;
25
26/// 通用预导入模块(导出常用类型/宏/辅助函数)
27pub mod prelude;
28
29// =====================
30// 类型导出(供外部模块使用)
31// =====================
32
33/// 导出插件实现接口定义(`export!(...)`)
34/// 提供给外部使用插件的接口。
35pub use bindings::export;
36
37/// 用户上下文结构,常用于授权接口
38/// `UserContext` 类型常用于用户身份认证和权限检查的上下文数据。
39pub use bindings::vtx::api::auth_types::UserContext;
40
41/// 插件清单类型,用于插件元数据管理
42/// `Manifest` 类型用于表示插件的元数据和描述信息。
43pub use bindings::vtx::api::types::Manifest;
44
45// =====================
46// 元数据导出 (仅在 meta 特性开启时可用)
47// =====================
48
49/// 暴露 SDK 使用的 WIT 接口定义内容
50/// 直接复用 vtx-protocol crate 中的常量,零运行时开销
51#[cfg(feature = "meta")]
52pub const WIT_DEFINITION: &str = vtx_protocol::WIT_CONTENT;
53
54/// SDK 版本号
55#[cfg(feature = "meta")]
56pub const VERSION: &str = env!("CARGO_PKG_VERSION");