Something went wrong. Try again.
Flatpak-style launcher for sandboxed WebAssembly tools. Install, verify, and run .wasm binaries with explicit capability grants. Single binary, local-first, zero telemetry. wasmbox.orbiter.website
wasm rust wasmbox
Something went wrong. Try again.
938 B · 36 lines
Rust
at dev
12345678910111213141516171819202122232425262728293031323334353637use serde::{Deserialize, Serialize};
/// How a tool presents its UI.#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]#[serde(rename_all = "lowercase")]pub enum ToolType { Cli, Web, Headless,}
/// Unique identifier for a tool (name + version).#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]pub struct ToolId { pub name: String, pub version: semver::Version,}
impl std::fmt::Display for ToolId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{}@{}", self.name, self.version) }}
/// Metadata about an installed or available tool.#[derive(Debug, Clone, Serialize, Deserialize)]pub struct ToolMetadata { pub name: String, pub version: semver::Version, pub description: String, pub author: String, pub license: String, pub homepage: Option<String>, pub tool_type: ToolType, pub hash: String,}