1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# HOMECORE-PLUGINS — WASM integration plugin system.
# Implements ADR-128 (HOMECORE-PLUGINS), P1 scaffold:
# - PluginManifest (serde-deserialised, superset of HA manifest.json)
# - HomeCorePlugin async trait + PluginId + PluginError
# - PluginRuntime trait + InProcessRuntime (native Rust, first-party plugins)
# - PluginRegistry (load / unload / list)
#
# The `wasmtime` feature gates the audited server-side WebAssembly sandbox.
[]
= "homecore-plugins"
= "0.1.0-alpha.0"
= "2021"
= "MIT"
= ["rUv <ruv@ruv.net>", "HOMECORE Contributors"]
= "WASM integration plugin runtime for HOMECORE (ADR-128 P1 scaffold)"
= "https://github.com/ruvnet/RuView"
[]
= "homecore_plugins"
= "src/lib.rs"
[]
= []
# P2: real Wasmtime JIT sandbox (Cranelift; ~15 MB binary delta on Pi 5).
# Do not enable in production until the host ABI is frozen (ADR-128 §8 risk).
= ["dep:wasmtime"]
[]
# HOMECORE state machine — local path (ADR-127).
= { = "../homecore", = "0.1.0-alpha.0" }
# Async runtime — same version as workspace.
= { = "1", = ["sync", "rt", "rt-multi-thread", "time", "macros"] }
# Async trait support for HomeCorePlugin.
= "0.1"
# Error handling.
= "1"
# Serialisation (manifest JSON + ABI call payloads).
= { = "1", = ["derive"] }
= "1"
# UUIDs for config entry IDs in host_abi.rs.
= { = "1", = ["v4"] }
# ── ADR-162 P4: plugin signature + integrity verification ──────────────────
# Reuses the same in-repo crypto stack as cog-ha-matter (witness_signing.rs):
# Ed25519 over a SHA-256 module digest. All four are already in the workspace
# Cargo.lock (cog-ha-matter / bfld pull them in) — no new external dep tree.
= "2.1"
= { = true }
= "0.4"
= "0.22"
# Optional Wasmtime runtime (P2, default-off — 30 MB dep).
# Upgraded from 25.0.3 to remediate the Cranelift/Winch sandbox advisories;
# 40.0.4 was subsequently replaced because of RUSTSEC-2026-0114.
# Patched 36.x retains HOMECORE's Rust 1.89 MSRV.
= { = "36.0.8", = true }
[]
= { = "1", = ["sync", "rt", "rt-multi-thread", "time", "macros", "test-util"] }
# WAT text-format compiler for inline WASM unit tests (wasmtime feature only).
= { = "1", = false }