aves 0.5.5

Typed async application runtime with domain messaging, RPC, and durable workflow automation
docs.rs failed to build aves-0.5.5
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.

Aves

Build typed async domains with authenticated messaging, RPC, and durable workflows.

Installation

Add Aves to your Rust application:

[dependencies]
aves = "=0.5.0"

Use Rust 1.97 or newer. Import macros from aves; do not depend on aves_macros directly.

Quick Start

Read the Config request declarations and domain wiring.

use aves::{bus_requests, bus_responses, domain};

Usage

Use public operations for ordinary requests. Keep internal control on typed sudo services.

// src/config/messages.rs: public operation
#[operation(name = "getConfigSection", kind = "query", response = ConfigSectionOutput, response_variant = "ConfigSection")]
GetConfigSection { section: String },

Compose owner domains before Flow drains their node registrations. Pass construction inputs explicitly.

Auth (built in) → owner domains → Flow → bus finalization

Use NodeRegistrationSupply to add Flow node kinds without changing Flow core. See the node-kind guide. Use the RPC guide for generated client and service contracts.

Options

Feature Purpose
keyring Run tests requiring a desktop keyring
wasm-tests Run QuickJS-in-Wasmtime guest tests
test-support Expose downstream test fixtures

Disable default features for headless CI when the keyring or WASM guest is unavailable.

Contributing

Follow crate rules and engineering standards. Run direnv exec . cargo test --package aves from the repository root.

License

Apache-2.0. See LICENSE.