greentic_component/
lib.rs1#![forbid(unsafe_code)]
2
3#[cfg(feature = "abi")]
4pub mod abi;
5pub mod capabilities;
6#[cfg(feature = "describe")]
7pub mod describe;
8pub mod error;
9pub mod lifecycle;
10pub mod limits;
11#[cfg(feature = "loader")]
12pub mod loader;
13pub mod manifest;
14#[cfg(feature = "prepare")]
15pub mod prepare;
16pub mod provenance;
17pub mod schema;
18pub mod security;
19pub mod signing;
20pub mod telemetry;
21
22pub mod store;
23
24#[cfg(feature = "cli")]
25pub mod cli;
26#[cfg(feature = "cli")]
27pub mod cmd;
28#[cfg(feature = "cli")]
29pub mod scaffold;
30#[cfg(any(
31 feature = "abi",
32 feature = "describe",
33 feature = "prepare",
34 feature = "cli"
35))]
36pub mod wasm;
37
38#[cfg(feature = "abi")]
39pub use abi::{AbiError, check_world, has_lifecycle};
40pub use capabilities::{Capabilities, CapabilityError};
41#[cfg(feature = "describe")]
42pub use describe::{
43 DescribeError, DescribePayload, DescribeVersion, from_embedded, from_exported_func,
44 from_wit_world, load as load_describe,
45};
46pub use error::ComponentError;
47pub use lifecycle::Lifecycle;
48pub use limits::{LimitError, LimitOverrides, Limits, defaults_dev, merge};
49#[cfg(feature = "loader")]
50pub use loader::{ComponentHandle, LoadError, discover};
51pub use manifest::{
52 Artifacts, ComponentManifest, DescribeExport, DescribeKind, Hashes, ManifestError, ManifestId,
53 WasmHash, World, parse_manifest, schema as manifest_schema, validate_manifest,
54};
55#[cfg(feature = "prepare")]
56pub use prepare::{PackEntry, PreparedComponent, RunnerConfig, clear_cache_for, prepare_component};
57pub use provenance::{Provenance, ProvenanceError};
58pub use schema::{
59 JsonPath, collect_capability_hints, collect_default_annotations, collect_redactions,
60};
61pub type RedactionPath = JsonPath;
62pub use security::{Profile, enforce_capabilities};
63pub use signing::{
64 DevPolicy, SignatureRef, SigningError, StrictPolicy, compute_wasm_hash, verify_manifest_hash,
65 verify_wasm_hash,
66};
67pub use store::{
68 CompatError, CompatPolicy, ComponentBytes, ComponentId, ComponentLocator, ComponentStore,
69 MetaInfo, SourceId,
70};
71pub use telemetry::{TelemetrySpec, span_name};