[package] name = "flowrs-transport" version.workspace = true edition.workspace = true publish.workspace = true rust-version.workspace = true authors.workspace = true license = "MIT OR Apache-2.0" description = "Sans-IO instrument transports for FlowRS. The protocol logic owns no sockets, no handles and no async, so one implementation drives native USB and browser WebUSB alike." [lib] crate-type = ["rlib"] [dependencies] [features] default = ["std"] # Everything. Without it the crate is `no_std` and holds only `link`, the typed MCU link, # which is what embedded firmware links (`default-features = false`). std = [] # `cfg(kani)` is set by `cargo kani`, never by cargo itself, so rustc does not know the # name; declaring it keeps the link's proofs (src/link/proofs.rs) from warning. [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] } # Symposium (`cargo agents`): an agent working on a project that depends on this crate gets # the flowRS skill (crates/flowrs-mcp/symposium/flowrs, rendered by flowrs-mcp's # skills::symposium_plugin) and the flowRS MCP server under the read-only plan profile. Never # the full profile: a dependency is not a trust root, and Symposium registers servers at user # level. Symposium 0.5.1 parses a crate's MCP entry but does not dispatch it yet; a registry # carrying symposium/flowrs/SYMPOSIUM.toml registers the same entry today. [package.metadata.symposium] [package.metadata.symposium.defaults] skills = false [[package.metadata.symposium.skills]] source.path = "../flowrs-mcp/symposium/flowrs/skills/core" [[package.metadata.symposium.mcp_servers]] name = "flowrs" command = "flowrs-mcp" args = ["--profile", "plan"] env = []