greentic_interfaces_host/
lib.rs

1#![deny(unsafe_code)]
2#![warn(missing_docs, clippy::unwrap_used, clippy::expect_used)]
3//! Host-facing bindings and mappers re-exported from `greentic-interfaces`.
4
5#[cfg(target_arch = "wasm32")]
6compile_error!("greentic-interfaces-host is intended for native host targets.");
7
8pub use greentic_interfaces::{bindings, mappers, validate};
9
10/// Component control and exports.
11pub mod component {
12    /// Compatibility exports for `greentic:component/component@0.4.0`.
13    pub mod v0_4 {
14        pub use greentic_interfaces::component_v0_4::*;
15    }
16    /// Describe-only schema export world `greentic:component/component@1.0.0`.
17    pub mod describe_v1 {
18        pub use greentic_interfaces::component_describe_v1::*;
19    }
20    /// Lifecycle hooks world `greentic:lifecycle/component-lifecycle@1.0.0`.
21    pub mod lifecycle_v1 {
22        pub use greentic_interfaces::component_lifecycle_v1::*;
23    }
24}
25
26/// Legacy host import bundles.
27pub mod host_import {
28    /// Host imports `0.2.0` bundle.
29    pub mod v0_2 {
30        pub use greentic_interfaces::host_import_v0_2::*;
31    }
32    /// Host imports `0.4.0` bundle.
33    pub mod v0_4 {
34        pub use greentic_interfaces::host_import_v0_4::*;
35    }
36    /// Host imports `0.6.0` bundle.
37    pub mod v0_6 {
38        pub use greentic_interfaces::host_import_v0_6::*;
39    }
40    /// Runner host bundle `greentic:host@1.0.0`.
41    pub mod runner_host_v1 {
42        pub use greentic_interfaces::runner_host_v1::*;
43    }
44}
45
46/// Pack exporters.
47pub mod pack_exports {
48    /// Pack exports `0.2.0` world.
49    pub mod v0_2 {
50        pub use greentic_interfaces::pack_export_v0_2::*;
51    }
52    /// Pack exports `0.4.0` world.
53    pub mod v0_4 {
54        pub use greentic_interfaces::pack_export_v0_4::*;
55    }
56}
57
58/// Core types.
59pub mod types {
60    /// Shared event envelope types.
61    pub mod events_v1 {
62        pub use greentic_interfaces::events_v1::*;
63    }
64    /// Core type defs for the 0.2 line.
65    pub mod types_core_v0_2 {
66        pub use greentic_interfaces::types_core_v0_2::*;
67    }
68    /// Core type defs for the 0.4 line.
69    pub mod types_core_v0_4 {
70        pub use greentic_interfaces::types_core_v0_4::*;
71    }
72}
73
74/// v1 host capability contracts.
75pub mod secrets {
76    /// `greentic:secrets/store@1.0.0` host imports.
77    pub mod store_v1 {
78        pub use greentic_interfaces::secrets_store_v1::*;
79    }
80    /// Legacy `greentic:secrets/host@0.1.0`.
81    pub mod secrets_v0_1 {
82        pub use greentic_interfaces::secrets_v0_1::*;
83    }
84}
85
86/// v1 host capability contracts.
87pub mod state {
88    pub use greentic_interfaces::state_store_v1::*;
89}
90
91/// v1 host capability contracts.
92pub mod messaging_session {
93    pub use greentic_interfaces::messaging_session_v1::*;
94}
95
96/// v1 host capability contracts.
97pub mod events_emitter {
98    pub use greentic_interfaces::events_emitter_v1::*;
99}
100
101/// v1 host capability contracts.
102pub mod http_client {
103    pub use greentic_interfaces::http_client_v1::*;
104}
105
106/// v1 host capability contracts.
107pub mod telemetry {
108    pub use greentic_interfaces::telemetry_logger_v1::*;
109}
110
111/// v1 host capability contracts.
112pub mod oauth_broker {
113    pub use greentic_interfaces::oauth_broker_v1::*;
114}
115
116/// Legacy/compat helpers.
117pub mod misc {
118    pub use greentic_interfaces::oauth_v0_1::*;
119}
120
121/// Stable alias for messaging session imports.
122pub mod messaging {
123    pub use super::messaging_session::*;
124}
125
126/// Stable alias for HTTP client imports.
127pub mod http {
128    pub use super::http_client::*;
129}
130
131/// Stable alias for OAuth broker imports.
132pub mod oauth {
133    pub use super::oauth_broker::*;
134}