aves-tyto 0.5.0

Specialized messaging domain for the Aves async application runtime
docs.rs failed to build aves-tyto-0.5.0
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.

Tyto

Embed a specialized messaging domain for the Aves async application runtime.

Observe Email, Slack, and Telegram deliveries and send outbound messages. Name Tyto after Tytonidae: barn owls, vigilant observers of their environment.

Installation

Add Tyto to your application:

[dependencies]
tyto = { package = "aves-tyto", version = "=0.5.0" }
aves = "=0.5.0"

Use Rust 1.97 or newer. Tyto depends on Aves and Kea, never the embedding application's trading implementation.

Quick Start

Import the domain marker into your Aves composition:

use tyto::MessagingDomain;

Supply the configuration directory and shared Flow registration supply through your host runtime. Provide credentials through the privileged MessagingRuntimeService, not public request payloads. Read the Aves README for application wiring.

Usage

Manage persisted connections through subscription.listConnections, createConnection, updateConnection, and related operations. Use subscription.send for outbound delivery through an existing connection UUID. Query subscription.sendMetadataSchema for provider-specific message metadata.

Use one enabled connection for shared inbound listening and filtered subscriber delivery. Use MessageNode and PermissionNode for Flow automation. PermissionNode supports Slack and Telegram, not Email. Disabling inbound listening does not disable outbound sends.

Keep credential values outside public RPC, configuration, logs, and persistence. Supply typed, memory-only credentials through the trusted in-process service. Use credential UUIDs in connection records.

Persist messaging configuration and history in config_dir/messages.db. Preserve the existing __peitho_migrations ledger when upgrading from the previous crate name. The crate rename does not rename subscription.* operations or migrate database identities.

Choose optional Knowledge persistence for received messages or accepted outbound sends. Knowledge handoff failures do not gate delivery or turn accepted sends into failures.

Run unit tests from the repository root:

cargo test --package aves-tyto

Contributing

Follow contribution guidance in the source repository. Use the Aves README for runtime and domain mechanisms.

License

Use Tyto under the Apache License, Version 2.0.