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