Source commit: 6d1a121b0a8a636aac95998fe5d15c24c78eb7d0 Public tree identity: sha256:2bc22807f5b838286678b65d3f550b8ae4714ae673622041d4c2516a7c5b7926
39 lines
1.2 KiB
Rust
39 lines
1.2 KiB
Rust
use clusterflux_core::{
|
|
Capability, CommandBackendKind, CommandInvocation, CommandPlan, GuestRuntimeKind,
|
|
};
|
|
|
|
use crate::{BackendError, CommandBackend};
|
|
|
|
#[derive(Clone, Debug, Default)]
|
|
pub struct WindowsCommandDevBackend;
|
|
|
|
impl CommandBackend for WindowsCommandDevBackend {
|
|
fn kind(&self) -> CommandBackendKind {
|
|
CommandBackendKind::WindowsCommandDev
|
|
}
|
|
|
|
fn plan(&self, _invocation: &CommandInvocation) -> Result<CommandPlan, BackendError> {
|
|
Ok(CommandPlan {
|
|
guest_runtime: GuestRuntimeKind::Wasmtime,
|
|
backend: CommandBackendKind::WindowsCommandDev,
|
|
required_capability: Capability::WindowsCommandDev,
|
|
user_attached_development_execution: true,
|
|
})
|
|
}
|
|
}
|
|
|
|
#[derive(Clone, Debug, Default)]
|
|
pub struct WindowsSandboxStubBackend;
|
|
|
|
impl CommandBackend for WindowsSandboxStubBackend {
|
|
fn kind(&self) -> CommandBackendKind {
|
|
CommandBackendKind::StubbedWindowsSandbox
|
|
}
|
|
|
|
fn plan(&self, _invocation: &CommandInvocation) -> Result<CommandPlan, BackendError> {
|
|
Err(BackendError::Denied(
|
|
"Windows sandbox backend is an explicit stub for MVP; use windows-command-dev only for user-attached development execution"
|
|
.to_owned(),
|
|
))
|
|
}
|
|
}
|