docs.rs failed to build greentic-interfaces-0.4.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
greentic-interfaces-0.4.87
greentic-interfaces
Shared WebAssembly Interface Types (WIT) and Rust bindings for the Greentic stack. All packages are MIT licensed and designed to evolve additively: new fields and functions land in minor releases, breaking changes require a new major package or crate version.
Package overview
greentic:types-core@0.4.0– canonical IDs, tenant context, flow metadata, run results, and interface errors reused by every host surface.greentic:types-core@0.2.0– previous shared types retained for compatibility.greentic:host-import@0.4.0– host services that packs/components import (secrets, telemetry, optional outbound HTTP) built on the shared types.greentic:host-import@0.2.0– previous host import contract kept for compatibility.greentic:pack-export@0.4.0– pack services (discover flows, execute flows, and A2A search) using the shared flow/run records.greentic:pack-export@0.2.0– previous pack export contract retained for compatibility.wasix:mcp@0.0.5– unchanged WASIX MCP router/secrets interface (upstream schema, hosted here for reuse).greentic:component@0.4.0– component runtime contract with lifecycle hooks, invoke/invoke-stream, and structured errors.greentic:secrets@0.1.0– legacy secrets host interface (still published for compatibility).
Each WIT package lives under wit/<package>@<version>.wit. CI validates every file with wit-bindgen markdown and wasm-tools component wit so the schemas stay well-formed.
Rust bindings
Add the crate to your Wasmtime host:
[]
= "0.2"
= { = "38", = ["component-model"] }
Then wire in the bindings you need. Example for greentic:component@0.4.0 control imports:
use ;
use ;
use ;
use ;
;
type HostFuture<'a, T> = ;
let mut config = new;
config.wasm_component_model;
let engine = new?;
let mut linker = new;
add_control_to_linker?;
let component = from_file?;
let mut store = new;
let = instantiate_async.await?;
let node = bindings.exports.greentic_component_node?;
Host integrations can use the helper modules:
types_core_v0_4/types_core_v0_2expose the shared structs and enums for their respective packages.host_import_v0_4/host_import_v0_2provide theHostImportstrait plusadd_to_linkerhelpers for wiring the host services.pack_export_v0_4/pack_export_v0_2re-export the generated exports when hosting pack components.wasix_mcp_v0_0_5exposes the WASIX MCP router/secrets schema.
Versioning
- Minor bumps add optional fields or functions; existing behaviour remains.
- Breaking changes require a new package (e.g.,
greentic:host-import@0.3.0) and crate minor bump. - The crate is published to crates.io (
0.2.xfor the current set) and taggedv0.2.xin git.
Validation and tooling
bash scripts/validate-wit.sh– runwit-bindgen markdownandwasm-tools component wit --wasmover every.witfile.bash scripts/package-wit.sh <out-dir>– emit wasm-encoded packages for publishing.bash scripts/publish_wit.sh– package + push all WIT packages to GHCR (ghcr.io/<user>/wit/...).build.rsstages each WIT file and its dependencies intotarget/wit-bindgen/so the Wasmtimebindgen!macro can resolve cross-packageusestatements.- CI (
.github/workflows/ci.yml) installswit-bindgen, validates WIT, and runscargo build.
CHANGELOG
See CHANGELOG.md for release notes.
License
MIT