[package] authors.workspace = true edition.workspace = true license.workspace = true name = "provisioning-core" repository.workspace = true version.workspace = true description = "Shared tool registry and protocol types for provisioning surfaces (CLI, HTTP, MCP)" [features] default = [] # Requires ../../../../stratumiops/crates/stratum-llm checkout adjacent to this repo. # Add manually when implementing tools/ai.rs (plan B10): # stratum-llm = { path = "../../../../stratumiops/crates/stratum-llm" } ai = [] [dependencies] # Serialization serde = { workspace = true } serde_json = { workspace = true } # Async tokio = { workspace = true } async-trait = { workspace = true } # Error handling thiserror = { workspace = true } anyhow = { workspace = true } # Logging tracing = { workspace = true } # HTTP client — for orchestrator source (B4) reqwest = { workspace = true } # Platform config (workspace dep) platform-config = { workspace = true } # Service clients — SSH via machines::execute_command (B5) platform-clients = { workspace = true } # Vault (B5) — path dep, not yet in workspace.dependencies vault-service = { path = "../vault-service" } # Extension registry (B5) — path dep extension-registry = { path = "../extension-registry" } # Concurrent cache (parking_lot is lighter than std::sync for short critical sections) parking_lot = { workspace = true } chrono = { workspace = true } serde_yaml = { workspace = true } dirs = { workspace = true } hex = { workspace = true } toml = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } mockito = { workspace = true } tempfile = { workspace = true }