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