Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ repository = "https://github.com/tinyhumansai/tinydesktop"
tinydesktop-bus = { path = "crates/tinydesktop-bus" }
# Native typed Jev transport used by the desktop-control policy. Vendored as a
# pinned submodule so provider validation and retry behavior are reproducible.
tinyjevclient = { path = "vendor/tinyjevclient/crates/tinyjevclient" }
tinyjevclient = "=0.2.1"
# The desktop automation engine this module wraps: accessibility-tree
# observation, ref allocation, and the command implementations behind every
# member of the bus interface. Vendored as the `vendor/agent-desktop` submodule
Expand All @@ -47,13 +47,14 @@ agent-desktop-linux = { path = "vendor/agent-desktop/crates/linux" }
# TinyBus defines the message types, interface macro, and frozen module ABI
# used by the generated integration. Socket and CLI features are unnecessary
# here.
tinybus = { path = "vendor/tinybus/crates/tinybus", version = "0.1.2", default-features = false, features = [
tinybus = { version = "=0.1.2", default-features = false, features = [
"macros",
"modules",
] }
# The module-side SDK owns the isolated runtime and exports the ABI entrypoints
# required by TinyBus's dynamic loader.
tinybus-module = { path = "vendor/tinybus/crates/tinybus-module", version = "0.1.2" }
tinybus-module = "=0.1.2"

# Derive macros for the crate-wide error type in `crates/tinydesktop/src/error/`.
# Every dependency entry should carry a comment like this one saying why it is
# here.
Expand Down Expand Up @@ -103,3 +104,8 @@ private_intra_doc_links = "warn"
lto = "thin"
codegen-units = 1
strip = "debuginfo"

[patch.crates-io]
tinybus = { path = "vendor/tinybus/crates/tinybus" }
tinybus-module = { path = "vendor/tinybus/crates/tinybus-module" }
tinyjevclient = { path = "vendor/tinyjevclient/crates/tinyjevclient" }
2 changes: 2 additions & 0 deletions crates/tinydesktop/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ serde_json = { workspace = true }

[features]
default = []
linked = ["static-link"]
static-link = []

[lints]
workspace = true
4 changes: 4 additions & 0 deletions crates/tinydesktop/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@ mod desktop;
mod error;
mod tinybus_module;

/// Constructs this module for registration with an in-process TinyBus host.
#[cfg(feature = "static-link")]
pub use tinybus_module::linked_module;

pub use desktop::Desktop;
pub use error::{Error, Result};

Expand Down
2 changes: 1 addition & 1 deletion crates/tinydesktop/src/tinybus_module/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ async fn setup(connection: Connection, config: Value) -> TinyBusResult<()> {
Ok(())
}

tinybus_module::module_export! {
tinybus_module::module_export_optional_static! {
setup = setup,
config = serde_json::Value,
// Two: one to run a blocking command on, and one to keep answering on
Expand Down
Loading