-
Notifications
You must be signed in to change notification settings - Fork 0
Add permission mode and tool restriction fields to AgentConfig #116
Copy link
Copy link
Open
Labels
Milestone
Description
Context
Child of #78. Adds the data model fields needed for sandbox and permission mode configuration.
Changes
Add the following fields to AgentConfig, CreateAgentRequest, and AgentTemplate:
permission_mode: Option<PermissionMode>— maps to--permission-modeCLI flag (values:default,plan,acceptEdits,dontAsk,bypassPermissions)allowed_tools: Vec<String>— maps to--allowed-toolsflag (e.g.,["Bash(git:*)", "Read", "Grep"])disallowed_tools: Vec<String>— maps to--disallowed-toolsflagtools: Vec<String>— maps to--toolsflag (restricts available tool set entirely)skip_permissions: bool— maps to--dangerously-skip-permissions(for sandboxed environments)require_sandbox: bool— when true, refuse to launch if Claude Code sandbox not configured
Add a PermissionMode enum with serde serialization.
All fields default to empty/false so existing configs remain compatible.
Files
crates/orchestrator/src/types.rs—AgentConfig,CreateAgentRequest,PermissionModeenumcrates/cli/src/commands/apply.rs—AgentTemplate
Acceptance Criteria
- New fields added with appropriate serde defaults
-
PermissionModeenum withrename_all = "camelCase"serialization - Existing YAML templates and API requests still parse without changes
-
cargo build --workspacepasses
Reactions are currently unavailable