pub struct SessionManagedSettingsResolvedData {
pub bypass_permissions_disabled: bool,
pub client_managed: Option<bool>,
pub device_managed: bool,
pub fail_closed: bool,
pub managed_keys: Vec<String>,
pub permissions_allow_intersected: Option<bool>,
pub server_managed: bool,
pub settings: Option<Value>,
pub source: ManagedSettingsResolvedSource,
}Expand description
Session event “session.managed_settings_resolved”. Enterprise managed-settings resolution: the effective managed settings the session applied and which channels contributed, so SDK clients can show users what is enterprise-managed. Fires whenever managed policy is (re)applied — at session start, on resume, and on account switch. This is an ephemeral live snapshot (delivered to subscribers but not persisted to the session event log), because at session start it resolves before session.start is emitted. Device values take precedence over server values per ordinary key, while permissions compose restrictively across device, server, and SDK-client layers. The account-scoped getManagedSettings() API does not include session-local client injection. Marked experimental while the managed-settings surface stabilizes.
Experimental. This type is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases.
Fields§
§bypass_permissions_disabled: boolWhether enterprise policy disables bypass-permissions (“yolo”) mode for this session. Deny-wins across layers, and forced on when failClosed is true.
client_managed: Option<bool>Whether a session-local permissions layer injected by the SDK host was present
device_managed: boolWhether an actual device MDM/plist/registry/file managed-settings layer was present
fail_closed: boolWhether managed policy could not be determined (e.g. a failed server fetch) and the session fell back to the fail-closed restriction. When true, restrictions such as disabling bypass-permissions are enforced even though settings may be absent.
managed_keys: Vec<String>The setting keys under enterprise management in the effective managed settings (e.g. model, enabledPlugins, permissions). Empty when no managed settings are in force.
permissions_allow_intersected: Option<bool>Whether at least two managed sources supplied permission allowlists, so enforcement intersects them and the flattened settings payload omits permissions.allow.
server_managed: boolWhether the server (account/org) managed-settings layer was present
settings: Option<Value>The effective (resolved) managed settings values, so clients can render exactly what is enforced. Absent when no managed policy is in force.
source: ManagedSettingsResolvedSourceChannel summary: server, device, or client when exactly one channel contributed; mixed when multiple channels contributed; otherwise none. Consult the per-channel booleans for exact provenance.
Trait Implementations§
Source§impl Clone for SessionManagedSettingsResolvedData
impl Clone for SessionManagedSettingsResolvedData
Source§fn clone(&self) -> SessionManagedSettingsResolvedData
fn clone(&self) -> SessionManagedSettingsResolvedData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more