Skip to content

Expose ProcessContainer config in Rust SDK - #881

Closed
Branden Bonaby (bbonaby) wants to merge 4 commits into
mainfrom
user/bbonaby/fix-rust-sdk-parsing2
Closed

Expose ProcessContainer config in Rust SDK#881
Branden Bonaby (bbonaby) wants to merge 4 commits into
mainfrom
user/bbonaby/fix-rust-sdk-parsing2

Conversation

@bbonaby

@bbonaby Branden Bonaby (bbonaby) commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

📖 Description

Superseded by a more modular v3 design.

🔗 References

Parent: #887.

🔍 Validation

  • Rust SDK tests and Clippy.

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ea8d4b87-97bc-49cb-b319-552e89e3e21e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ea8d4b87-97bc-49cb-b319-552e89e3e21e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ea8d4b87-97bc-49cb-b319-552e89e3e21e
Copilot AI balanced review requested due to automatic review settings August 14, 2026 18:51
@bbonaby
Branden Bonaby (bbonaby) requested a review from a team as a code owner August 14, 2026 18:51
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Exposes explicit Windows ProcessContainer configuration through the Rust SDK.

Changes:

  • Adds ProcessContainer settings for capabilities and least privilege.
  • Maps settings through shared wire validation.
  • Re-exports the new public SDK type and adds tests.
Show a summary per file
File Description
src/core/mxc-sdk/src/lib.rs Exposes and references ProcessContainer.
src/core/mxc_engine/src/policy.rs Implements configuration mapping and tests.
src/core/mxc_engine/src/lib.rs Re-exports the configuration type.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Balanced

platform_support, temporary_files_policy, user_profile_policy, AvailableBackend,
BackendCapability, Containment, Error, ErrorCode, FilesystemPolicyResult, PlatformSupport,
SandboxPolicy, SandboxRequest, WslcSection,
ProcessContainer, SandboxPolicy, SandboxRequest, WslcSection,
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ea8d4b87-97bc-49cb-b319-552e89e3e21e
Copilot AI review requested due to automatic review settings August 14, 2026 19:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

Suppressed comments (1)

src/core/mxc_engine/src/process_container_config.rs:15

  • The public config still cannot represent all ProcessContainer-specific settings: ui is part of both stable contracts (for example schemas/stable/mxc-config.schema.0.7.0-alpha.json:231), but it is omitted here and the factory always substitutes ProcessContainerUi::default(); the 0.8 learningMode setting is also absent. Rust SDK callers therefore cannot configure those supported backend fields, leaving the linked ProcessContainer-config task only partially implemented. Add version-aware public UI/learning-mode fields and serialize the caller's values while retaining the current defaults.
pub struct ProcessContainer {
    /// Enforce least-privilege mode.
    pub least_privilege: bool,
    /// Additional AppContainer capabilities, such as `registryRead`.
    pub capabilities: Vec<String>,
  • Files reviewed: 5/6 changed files
  • Comments generated: 1
  • Review effort level: Balanced

let _ = (policy, container_id);
}

Ok(())
@bbonaby

Copy link
Copy Markdown
Collaborator Author

Closing in favor of a more modular v3 implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants