fix(desktop): enable the windows-sys features the ACP node launcher needs

The Windows Rust CI job fails to compile buzz-acp-node-launcher:
CreateJobObjectW and JOBOBJECT_EXTENDED_LIMIT_INFORMATION are
unresolved (E0432). In windows-sys 0.61 the JobObjects module gates
items on the features of the types in their signatures:
CreateJobObjectW behind Win32_Security (its SECURITY_ATTRIBUTES
parameter) and the JOBOBJECT_* limit structs behind
Win32_System_Threading. The launcher's Job Object code was copied from
buzz-dev-mcp's KillGroup, but its Cargo.toml only enabled
Win32_Foundation + Win32_System_JobObjects — and since the dependency
sits under [target.'cfg(windows)'], none of the macOS-host
verification for the Windows bundling commit ever compiled it.

Add Win32_Security and Win32_System_Threading, matching buzz-dev-mcp's
feature set minus its registry lookup, with a comment recording why
JobObjects alone is not enough.

Verification (macOS host, rust-std for x86_64-pc-windows-msvc added
via rustup):
- cargo check -p buzz-acp-node-launcher --target x86_64-pc-windows-msvc
  --all-targets: clean (reproduced the E0432 before the fix)
- cargo clippy -p buzz-acp-node-launcher --target x86_64-pc-windows-msvc
  --all-targets -D warnings: clean
- host cargo test -p buzz-acp-node-launcher: 9 passed; host clippy -D
  warnings and cargo fmt --check: clean

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
This commit is contained in:
Matt Toohey
2026-07-15 15:27:14 +10:00
co-authored by Claude Fable 5
parent b2ce7a4a01
commit 5aee0f4dfb
+5 -1
View File
@@ -15,7 +15,11 @@ serde = { workspace = true }
serde_json = { workspace = true }
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_System_JobObjects"] }
# Win32_System_JobObjects alone is not enough: CreateJobObjectW is gated on
# Win32_Security (its SECURITY_ATTRIBUTES parameter) and the JOBOBJECT_*
# limit structs on Win32_System_Threading. Same set as buzz-dev-mcp's
# KillGroup, minus its registry lookup.
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_Security", "Win32_System_JobObjects", "Win32_System_Threading"] }
[dev-dependencies]
tempfile = "3"