[package]
edition = "2024"
rust-version = "1.88"
name = "greentic-interfaces"
version = "0.4.87"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Greentic ABI: WIT contracts, generated bindings, thin mappers"
documentation = "https://docs.rs/greentic-interfaces"
readme = "README.md"
keywords = [
"greentic",
"wit",
"wasm",
"component",
]
categories = [
"wasm",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/greentic-ai/greentic-interfaces"
resolver = "2"
[features]
attestation-v1 = []
bindings-rust = ["dep:wit-bindgen"]
build-v1 = []
common-types-v0-1 = []
component-lifecycle-v1 = []
component-v0-4 = []
component-v0-5 = []
component-v1 = []
default = [
"bindings-rust",
"common-types-v0-1",
"component-v1",
"component-v0-5",
"pack-export-v1",
"pack-validate-v0-1",
"provision-v0-1",
"component-v0-4",
"pack-export-v0-4",
"types-core-v0-4",
"pack-export-v0-2",
"types-core-v0-2",
"wasix-mcp-v0-0-5",
"wasix-mcp-24-11-05",
"wasix-mcp-25-03-26",
"wasix-mcp-25-06-18",
"secrets-store-v1",
"state-store-v1",
"source-v1",
"build-v1",
"scan-v1",
"signing-v1",
"attestation-v1",
"policy-v1",
"metadata-v1",
"distributor-api",
"distributor-api-v1-1",
"distribution-v1",
"oci-v1",
"http-client-v1",
"http-client-v1-1",
"telemetry-logger-v1",
"repo-ui-actions-v1",
"worker-api",
"gui-fragment",
"provider-core-v1",
"provider-common",
"oauth-broker-v1",
]
describe-v1 = []
distribution-v1 = []
distributor-api = []
distributor-api-v1-1 = []
gui-fragment = []
http-client-v1 = []
http-client-v1-1 = []
metadata-v1 = []
oauth-broker-v1 = []
oci-v1 = []
pack-export-v0-2 = []
pack-export-v0-4 = []
pack-export-v1 = []
pack-validate-v0-1 = []
policy-v1 = []
provider-common = []
provider-core-v1 = []
provision-v0-1 = []
repo-ui-actions-v1 = []
runner-host-v1 = []
scan-v1 = []
schema = [
"dep:schemars",
"greentic-types/schemars",
]
secrets-store-v1 = []
signing-v1 = []
source-v1 = []
state-store-v1 = []
telemetry-logger-v1 = []
types-core-v0-2 = []
types-core-v0-4 = []
wasix-mcp-24-11-05 = []
wasix-mcp-25-03-26 = []
wasix-mcp-25-06-18 = []
wasix-mcp-v0-0-5 = []
wit-all = [
"bindings-rust",
"common-types-v0-1",
"component-v1",
"component-v0-5",
"component-v0-4",
"describe-v1",
"pack-export-v1",
"pack-validate-v0-1",
"provision-v0-1",
"pack-export-v0-4",
"types-core-v0-4",
"runner-host-v1",
"pack-export-v0-2",
"types-core-v0-2",
"component-lifecycle-v1",
"wasix-mcp-v0-0-5",
"wasix-mcp-24-11-05",
"wasix-mcp-25-03-26",
"wasix-mcp-25-06-18",
"secrets-store-v1",
"state-store-v1",
"source-v1",
"build-v1",
"scan-v1",
"signing-v1",
"attestation-v1",
"policy-v1",
"metadata-v1",
"distributor-api",
"distributor-api-v1-1",
"distribution-v1",
"oci-v1",
"http-client-v1",
"http-client-v1-1",
"telemetry-logger-v1",
"repo-ui-actions-v1",
"worker-api",
"provider-common",
"provider-core-v1",
"oauth-broker-v1",
]
worker-api = []
[lib]
name = "greentic_interfaces"
path = "src/lib.rs"
[[test]]
name = "component_config"
path = "tests/component_config.rs"
[[test]]
name = "component_descriptor_roundtrip"
path = "tests/component_descriptor_roundtrip.rs"
[[test]]
name = "gui_fragment_bindings"
path = "tests/gui_fragment_bindings.rs"
[[test]]
name = "http_client_wit"
path = "tests/http_client_wit.rs"
[[test]]
name = "mapping_roundtrip"
path = "tests/mapping_roundtrip.rs"
[[test]]
name = "mcp_wit"
path = "tests/mcp_wit.rs"
[[test]]
name = "oauth_broker_client_roundtrip"
path = "tests/oauth_broker_client_roundtrip.rs"
[[test]]
name = "provider_schema"
path = "tests/provider_schema.rs"
[[test]]
name = "secrets_store_bindings"
path = "tests/secrets_store_bindings.rs"
[[test]]
name = "tenant_ctx_bindings"
path = "tests/tenant_ctx_bindings.rs"
[[test]]
name = "wit_build"
path = "tests/wit_build.rs"
[dependencies.anyhow]
version = "1"
[dependencies.greentic-types]
version = "0.4"
[dependencies.schemars]
version = "1"
features = ["derive"]
optional = true
[dependencies.semver]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
[dependencies.wit-bindgen]
version = "0.52"
features = [
"macros",
"realloc",
]
optional = true
default-features = false
[dev-dependencies.insta]
version = "1"
features = ["json"]
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.wasmtime-wasi]
version = "41"
[dev-dependencies.wit-parser]
version = "0.244"
[build-dependencies.wit-bindgen-core]
version = "0.52"
[build-dependencies.wit-bindgen-rust]
version = "0.52"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wasmtime]
version = "41"
features = [
"component-model",
"cranelift",
"runtime",
"std",
]
default-features = false