Skip to content
Draft
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 @@ -37,17 +37,18 @@ tinybrowser = { path = "crates/tinybrowser" }
# 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.0", 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.0" }
tinybus-module = "=0.1.2"

# Jev makes bounded, typed decisions for the agentic browser-control loop. It is
# pinned by the `vendor/tinyjevclient` gitlink so its wire behavior is reviewed
# together with each update.
tinyjevclient = { path = "vendor/tinyjevclient/crates/tinyjevclient" }
tinyjevclient = "=0.2.1"
# Derive macros for the crate-wide error type in `crates/template/src/error/`.
# Every dependency entry should carry a comment like this one saying why it is
# here.
Expand Down Expand Up @@ -95,3 +96,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/tinybrowser/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ futures-util = { version = "0.3", default-features = false, features = ["sink",

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

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

pub mod tinybus_module;

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

pub use engine::Browser;
pub use error::{Error, Result};

Expand Down
4 changes: 2 additions & 2 deletions crates/tinybrowser/src/tinybus_module/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,8 @@ async fn setup(connection: Connection) -> BusResult<()> {
unreachable_pub,
reason = "generated C ABI symbols are documented by the TinyBus module SDK"
)]
mod exports {
tinybus_module::module_export! {
pub(crate) mod exports {
tinybus_module::module_export_optional_static! {
setup = super::setup,
// Two threads: one to serve calls, one so a long navigation does not
// block the call that would close the session it is stuck in.
Expand Down
Loading