trust-tasks 0.17.5

One-dependency front door to the Trust Tasks framework: re-exports trust-tasks-rs plus the transport, proof, ceremony and capability crates behind Cargo features.
Documentation

trust-tasks

One dependency line for the Trust Tasks framework.

trust-tasks = { version = "0.1", features = ["https", "proof-affinidi"] }

The framework ships as eight independently-versioned crates, because each transport binding drags in a different (and heavy) dependency tree and you should only pay for the one you use. That split is right for a build; it is a tax at the front door. This crate is the front door.

Everything here is a pub use. There are no wrapper types and nothing to keep in step: trust_tasks::TrustTask is trust_tasks_rs::TrustTask, and trust_tasks::https::HttpsClient is trust_tasks_https::HttpsClient. Dropping the facade later is a find-and-replace, not a migration.

Features

feature gives you crate
(always on) TrustTask, consume_inbound, specs, RejectReason at the crate root trust-tasks-rs
https trust_tasks::https — typed client + axum server trust-tasks-https
didcomm trust_tasks::didcomm — DIDComm v2.1 trust-tasks-didcomm
didcomm-v1 trust_tasks::didcomm_v1 — Aries-lineage agents trust-tasks-didcomm-v1
tsp trust_tasks::tsp — ToIP Trust Spanning Protocol trust-tasks-tsp
proof-affinidi trust_tasks::proof — signing and proof verification trust-tasks-proof
ceremony trust_tasks::ceremony — Trust Ceremony receipts trust-tasks-ceremony
capability-client trust_tasks::capability_client — capability/git-trust wire helpers trust-tasks-capability-client
validate runtime JSON Schema validation of payloads trust-tasks-rs
all-transports all four transport modules
https-jwt trust_tasks::https::JwtBearerAuth trust-tasks-https
all-specs (default) every spec family; default-features = false for none trust-tasks-rs

Most deployments want one transport plus proof-affinidi: a task whose specification declares proof REQUIRED cannot be produced or consumed without a signer and a verifier.

What this crate does not forward

trust-tasks-rs carries 26 per-spec-family features (vault, acl, keys, …). Only the all-specs umbrella is forwarded. If you are trimming spec families, or subtracting a transport crate's own defaults, depend on those crates directly — that is the supported answer, not a workaround.

Getting started

GETTING-STARTED.md walks a signed acl/grant round trip end to end, in Rust and TypeScript, and names the traps. Its Rust is extracted from this crate's example:

cargo run -p trust-tasks --features https,proof-affinidi \
    --example acl_grant_roundtrip

License

Apache-2.0. See LICENSE.md at the repo root.