From 03259f073e23324c72185d3041d4324a1d15cece Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:09:24 +0530 Subject: [PATCH 1/6] feat: expose linked TinyDesktop module --- crates/tinydesktop/Cargo.toml | 1 + crates/tinydesktop/src/lib.rs | 4 ++++ vendor/tinybus | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/tinydesktop/Cargo.toml b/crates/tinydesktop/Cargo.toml index e0f0b01b..6445cd75 100644 --- a/crates/tinydesktop/Cargo.toml +++ b/crates/tinydesktop/Cargo.toml @@ -59,6 +59,7 @@ serde_json = { workspace = true } [features] default = [] +linked = [] [lints] workspace = true diff --git a/crates/tinydesktop/src/lib.rs b/crates/tinydesktop/src/lib.rs index 5358164e..fc17d151 100644 --- a/crates/tinydesktop/src/lib.rs +++ b/crates/tinydesktop/src/lib.rs @@ -96,6 +96,10 @@ mod desktop; mod error; mod tinybus_module; +/// Constructs this module for registration with an in-process TinyBus host. +#[cfg(feature = "linked")] +pub use tinybus_module::linked_module; + pub use desktop::Desktop; pub use error::{Error, Result}; diff --git a/vendor/tinybus b/vendor/tinybus index 6ee8258c..65f1598a 160000 --- a/vendor/tinybus +++ b/vendor/tinybus @@ -1 +1 @@ -Subproject commit 6ee8258c03eb442aca8225d328d3c8e7c5489af6 +Subproject commit 65f1598a227d9caf853f1f9840cdc6477be432f3 From 2c5abe65729943e238b644dcdf706c1dbd1f6aff Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:12:50 +0530 Subject: [PATCH 2/6] fix: resolve TinyBus through registry version --- Cargo.toml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 03502d33..0a817661 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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. @@ -103,3 +104,7 @@ 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" } From 0a29c2ecb81c8ce5e2a171e839f538ee063d0679 Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:13:46 +0530 Subject: [PATCH 3/6] fix: resolve TinyJevClient through versioned dependency --- Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0a817661..84a35ede 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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 @@ -108,3 +108,4 @@ 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" } From 78ce6de24eb7888ac395eb37618aa49de28471b4 Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:21:15 +0530 Subject: [PATCH 4/6] docs: update TinyBus linked module pin --- vendor/tinybus | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/tinybus b/vendor/tinybus index 65f1598a..ad60ac17 160000 --- a/vendor/tinybus +++ b/vendor/tinybus @@ -1 +1 @@ -Subproject commit 65f1598a227d9caf853f1f9840cdc6477be432f3 +Subproject commit ad60ac17da0fc92b8eb410aeaff3274435e5bcb1 From a9b98d818977b14c9803640f089ab585bb1dff42 Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:27:01 +0530 Subject: [PATCH 5/6] fix: update TinyBus manifest cache pin --- vendor/tinybus | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/tinybus b/vendor/tinybus index ad60ac17..b0b02e74 160000 --- a/vendor/tinybus +++ b/vendor/tinybus @@ -1 +1 @@ -Subproject commit ad60ac17da0fc92b8eb410aeaff3274435e5bcb1 +Subproject commit b0b02e74ff108288093b59ef5f6fa06720174c3e From 82d2730ca65c599a914a31aff59a8de805a6b9cf Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sat, 26 Sep 2026 02:39:53 +0530 Subject: [PATCH 6/6] feat: select static TinyBus module exports --- crates/tinydesktop/Cargo.toml | 3 ++- crates/tinydesktop/src/lib.rs | 2 +- crates/tinydesktop/src/tinybus_module/mod.rs | 2 +- vendor/tinybus | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/tinydesktop/Cargo.toml b/crates/tinydesktop/Cargo.toml index 6445cd75..9773cd4f 100644 --- a/crates/tinydesktop/Cargo.toml +++ b/crates/tinydesktop/Cargo.toml @@ -59,7 +59,8 @@ serde_json = { workspace = true } [features] default = [] -linked = [] +linked = ["static-link"] +static-link = [] [lints] workspace = true diff --git a/crates/tinydesktop/src/lib.rs b/crates/tinydesktop/src/lib.rs index fc17d151..7734eb63 100644 --- a/crates/tinydesktop/src/lib.rs +++ b/crates/tinydesktop/src/lib.rs @@ -97,7 +97,7 @@ mod error; mod tinybus_module; /// Constructs this module for registration with an in-process TinyBus host. -#[cfg(feature = "linked")] +#[cfg(feature = "static-link")] pub use tinybus_module::linked_module; pub use desktop::Desktop; diff --git a/crates/tinydesktop/src/tinybus_module/mod.rs b/crates/tinydesktop/src/tinybus_module/mod.rs index 82262bef..e5ea1985 100644 --- a/crates/tinydesktop/src/tinybus_module/mod.rs +++ b/crates/tinydesktop/src/tinybus_module/mod.rs @@ -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 diff --git a/vendor/tinybus b/vendor/tinybus index b0b02e74..433d9ed0 160000 --- a/vendor/tinybus +++ b/vendor/tinybus @@ -1 +1 @@ -Subproject commit b0b02e74ff108288093b59ef5f6fa06720174c3e +Subproject commit 433d9ed088597d21c48706e397b149fff04855cd