[package] name = "wai-app" version = "0.1.0" edition = "2024" license = "Apache-2.0" description = "WAI's widgets for joule-ui, and Create, as a library with no binary: a registry of WAI widgets (rooms, watching together, a show, chat, a poll, the room's video, receipts, energy) for agent-emitted surfaces, the guide a model writes against, the plan of the room an app needs, the files of a starter project (which `wai create --from app.oui` writes), a WebAssembly build for the page that renders an app while a model streams it, and the bridge on loopback a coding agent streams a program into that page through (`wai mcp --toolset app`)." repository = "https://git.transaction.science/Transaction-Science/open-standards" publish = false # Its own workspace and Cargo.lock, like the other crates beside wai-rs. [workspace] # A library: `wai` (wai-rs, the feature `app`) is its command line and its MCP server, and # the page's WebAssembly build is the cdylib. [lib] crate-type = ["cdylib", "rlib"] [dependencies] joule-ui-core = { path = "../../joule-ui/joule-ui-rs/crates/joule-ui-core" } joule-ui-lang = { path = "../../joule-ui/joule-ui-rs/crates/joule-ui-lang" } joule-ui-interaction = { path = "../../joule-ui/joule-ui-rs/crates/joule-ui-interaction" } joule-ui-catalogue = { path = "../../joule-ui/joule-ui-rs/crates/joule-ui-catalogue" } serde = { version = "1", features = ["derive"] } serde_json = "1" ed25519-dalek = { version = "3", features = ["alloc"] } sha2 = "0.11" bs58 = "0.5" # Pinned to the wasm-bindgen CLI the build runs: the two must match exactly. wasm-bindgen = { version = "=0.2.127", optional = true } [features] default = [] # The page's WebAssembly surface (src/web.rs), built for wasm32-unknown-unknown with # `--no-default-features --features web`. web = ["dep:wasm-bindgen"] [profile.release] opt-level = "s" lto = true codegen-units = 1