pub struct CodeModeConfig {Show 29 fields
pub enabled: bool,
pub allow_mutations: bool,
pub allowed_mutations: HashSet<String>,
pub blocked_mutations: HashSet<String>,
pub allow_introspection: bool,
pub blocked_fields: HashSet<String>,
pub allowed_queries: HashSet<String>,
pub blocked_queries: HashSet<String>,
pub openapi_reads_enabled: bool,
pub openapi_allow_writes: bool,
pub openapi_allowed_writes: HashSet<String>,
pub openapi_blocked_writes: HashSet<String>,
pub openapi_allow_deletes: bool,
pub openapi_allowed_deletes: HashSet<String>,
pub openapi_blocked_paths: HashSet<String>,
pub openapi_internal_blocked_fields: HashSet<String>,
pub openapi_output_blocked_fields: HashSet<String>,
pub openapi_require_output_declaration: bool,
pub action_tags: HashMap<String, String>,
pub max_depth: u32,
pub max_field_count: u32,
pub max_cost: u32,
pub allowed_sensitive_categories: HashSet<String>,
pub token_ttl_seconds: i64,
pub auto_approve_levels: Vec<RiskLevel>,
pub max_query_length: usize,
pub max_result_rows: usize,
pub query_timeout_seconds: u32,
pub server_id: Option<String>,
}Expand description
Configuration for Code Mode.
Fields§
§enabled: boolWhether Code Mode is enabled for this server
allow_mutations: boolWhether to allow mutations (MVP: false)
allowed_mutations: HashSet<String>Allowed mutation names (whitelist). If empty and allow_mutations=true, all are allowed.
blocked_mutations: HashSet<String>Blocked mutation names (blacklist). Always blocked even if allow_mutations=true.
allow_introspection: boolWhether to allow introspection queries
blocked_fields: HashSet<String>Fields that should never be returned (Type.field format) - GraphQL
allowed_queries: HashSet<String>Allowed query names (whitelist). If empty and mode is allowlist, none are allowed.
blocked_queries: HashSet<String>Blocked query names (blocklist). Always blocked even if reads enabled.
openapi_reads_enabled: boolWhether read operations (GET) are enabled (default: true)
openapi_allow_writes: boolWhether write operations (POST, PUT, PATCH) are allowed globally
openapi_allowed_writes: HashSet<String>Allowed write operations (operationId or “METHOD /path”)
openapi_blocked_writes: HashSet<String>Blocked write operations
openapi_allow_deletes: boolWhether delete operations (DELETE) are allowed globally
openapi_allowed_deletes: HashSet<String>Allowed delete operations (operationId or “METHOD /path”)
openapi_blocked_paths: HashSet<String>Blocked paths (glob patterns like “/admin/*”)
openapi_internal_blocked_fields: HashSet<String>Fields that are stripped from API responses entirely (no access)
openapi_output_blocked_fields: HashSet<String>Fields that can be used internally but not in script output
openapi_require_output_declaration: boolWhether scripts must declare their return type with @returns
Action tags to override inferred actions for specific operations.
max_depth: u32Maximum query depth
max_field_count: u32Maximum field count per query
max_cost: u32Maximum estimated query cost
allowed_sensitive_categories: HashSet<String>Allowed sensitive data categories
token_ttl_seconds: i64Token time-to-live in seconds
auto_approve_levels: Vec<RiskLevel>Risk levels that can be auto-approved without human confirmation
max_query_length: usizeMaximum query length in characters
max_result_rows: usizeMaximum result rows to return
query_timeout_seconds: u32Query execution timeout in seconds
server_id: Option<String>Server ID for token generation
Implementations§
Source§impl CodeModeConfig
impl CodeModeConfig
Sourcepub fn should_auto_approve(&self, risk_level: RiskLevel) -> bool
pub fn should_auto_approve(&self, risk_level: RiskLevel) -> bool
Check if a risk level should be auto-approved.
Sourcepub fn to_server_config_entity(&self) -> ServerConfigEntity
pub fn to_server_config_entity(&self) -> ServerConfigEntity
Convert to ServerConfigEntity for policy evaluation.
Trait Implementations§
Source§impl Clone for CodeModeConfig
impl Clone for CodeModeConfig
Source§fn clone(&self) -> CodeModeConfig
fn clone(&self) -> CodeModeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more