diff --git a/Cargo.lock b/Cargo.lock index 477082f8..f16bce35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2572,10 +2572,11 @@ dependencies = [ [[package]] name = "tinybus" -version = "0.1.2" +version = "0.1.5" dependencies = [ "async-trait", "flate2", + "libc", "serde", "serde_json", "sha2 0.10.9", @@ -2592,7 +2593,7 @@ dependencies = [ [[package]] name = "tinybus-macros" -version = "0.1.2" +version = "0.1.5" dependencies = [ "proc-macro2", "quote", @@ -2601,7 +2602,7 @@ dependencies = [ [[package]] name = "tinybus-module" -version = "0.1.2" +version = "0.1.5" dependencies = [ "async-trait", "serde", diff --git a/Cargo.toml b/Cargo.toml index ddb78730..2d716bfe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,13 +73,13 @@ 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.3, <0.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 = { version = ">=0.1.3, <0.2" } # Derive macros for the crate-wide error types, e.g. # `crates/tinycomputer-desktop/src/error/`. # Every dependency entry should carry a comment like this one saying why it is @@ -112,6 +112,15 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread", "time"] } # Lints apply to every member that opts in with `[lints] workspace = true`, and # to every target of that member. CI runs clippy with `-D warnings`, so anything # set to "warn" here fails the build in CI. +# TinyBus is not published to crates.io: it resolves to the nested submodule so +# standalone builds work, while a host workspace (OpenHuman) can override the +# same crates-io entries with its own single copy. The dependencies above are +# version ranges, never exact pins, so that one copy can satisfy every module. +[patch.crates-io] +tinybus = { path = "vendor/tinybus/crates/tinybus" } +tinybus-macros = { path = "vendor/tinybus/crates/tinybus-macros" } +tinybus-module = { path = "vendor/tinybus/crates/tinybus-module" } + [workspace.lints.rust] unsafe_code = "forbid" missing_docs = "warn" diff --git a/vendor/tinybus b/vendor/tinybus index 356bb24f..eb5cf727 160000 --- a/vendor/tinybus +++ b/vendor/tinybus @@ -1 +1 @@ -Subproject commit 356bb24f30d7863d81569c7e1f07a7ae60feda48 +Subproject commit eb5cf727071a6eb12f9efa3db8ec59e54039f336