SandboxedExecutionEnv class final

An ExecutionEnv confined by a cube's policies.

Implemented types

Constructors

SandboxedExecutionEnv(ExecutionEnv _delegate, CubeSpec? spec, {String? homeDir, String? workspaceRoot, CubeFsProbe? pathProbe, String? os, void onWarning(String message)?})
Creates a sandboxed view over delegate. A non-null spec is enforced immediately; null starts in passthrough mode (as after clearSpec) — updateSpec swaps a cube in later.

Properties

activeSpec → CubeSpec?
The spec currently enforced, or null in passthrough mode.
no setter
backgroundJobsSupported → bool
Whether startShellJob actually works here. Decorators forward their delegate's answer, so wrapping an env never fakes the capability.
no setteroverride
cwd → String
Current working directory for relative paths.
no setteroverride
effectiveBackend → CubeBackendMode?
The backend the shell actually executes with (null = passthrough or a refused kernel spec): hosts display/audit what actually ran.
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

absolutePath(String path) → Future<Result<String, FileError>>
Returns an absolute addressed path without requiring it to exist and without resolving symlinks.
override
appendFile(String path, String content) → Future<Result<void, FileError>>
Creates or appends to a file, creating parent directories.
override
clearSpec() → void
Leaves sandbox mode: every operation forwards untouched.
createDir(String path, {bool recursive = true}) → Future<Result<void, FileError>>
Creates a directory. When recursive is true (the default), missing parents are created too.
override
exec(String command, {ShellExecOptions? options}) → Future<Result<ShellExecResult, ExecutionError>>
Executes a shell command. Must never throw: all failures are encoded in the returned Result.
override
exists(String path) → Future<Result<bool, FileError>>
Returns false for missing paths; other errors surface as Err.
override
fileInfo(String path) → Future<Result<FileInfo, FileError>>
Returns metadata for the addressed path without following symlinks.
override
joinPath(List<String> parts) → Future<Result<String, FileError>>
Joins path segments in the filesystem namespace without requiring the result to exist.
override
listDir(String path) → Future<Result<List<FileInfo>, FileError>>
Lists the direct children of a directory.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readBinaryFile(String path) → Future<Result<Uint8List, FileError>>
Reads the file as raw bytes.
override
readTextFile(String path) → Future<Result<String, FileError>>
Reads a UTF-8 text file.
override
readTextLines(String path, {int? maxLines}) → Future<Result<List<String>, FileError>>
Reads UTF-8 text lines. Implementations should stop once maxLines lines have been read.
override
remove(String path, {bool recursive = false, bool force = false}) → Future<Result<void, FileError>>
Removes a file or directory. With force, a missing path is not an error.
override
startShellJob(String command, {required String id, required String logPath, ShellExecOptions? options}) → Future<Result<ShellJob, ExecutionError>>
Starts command detached: stdout/stderr append to logPath and the returned ShellJob keeps running until it exits or is stopped. ShellExecOptions.timeout and ShellExecOptions.cancelToken still apply (both stop the job).
override
toString() → String
A string representation of this object.
inherited
updateSpec(CubeSpec spec) → void
Swaps the enforced spec live; the fs guard, shell and job policy all pick it up on their next call.
writeBinaryFile(String path, Uint8List content) → Future<Result<void, FileError>>
Writes raw bytes to a file, creating parent directories.
override
writeFile(String path, String content) → Future<Result<void, FileError>>
Creates or overwrites a file, creating parent directories.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited