pub struct AppProfile {
pub app: String,
pub service: String,
pub methods: Vec<String>,
pub commands: CommandPolicy,
pub sensitive: bool,
pub dictation: bool,
}Expand description
Per-app client-side allowlist: which control methods and app commands agents may use. The service enforces its own allowlist as well; this one is the agent-facing layer on top.
Fields§
§app: String§service: StringService name under <suite>/runtime/, default control-<app>.
methods: Vec<String>§commands: CommandPolicy§sensitive: boolSensitive apps (HeardRight) expose no generic read channel.
dictation: boolDictation apps (HeardRight) also refuse the dictation, delivery and history names
(exposure::forbidden_with). Other apps keep those words.
Implementations§
Source§impl AppProfile
impl AppProfile
Sourcepub fn sensitive(app: &str, commands: &[&str]) -> Self
pub fn sensitive(app: &str, commands: &[&str]) -> Self
An app whose own data must not leave through generic channels: health
and an explicit command list only. Commands the hard rules forbid are
dropped from the list.
Sourcepub fn with_dictation_rules(self) -> Self
pub fn with_dictation_rules(self) -> Self
Apply the dictation exposure layer to this app: dictation, delivery and history names are refused, and any listed command they cover is dropped.
Sourcepub fn command_forbidden(&self, name: &str) -> bool
pub fn command_forbidden(&self, name: &str) -> bool
Whether the hard exposure rules refuse command name for this app.
Sourcepub fn for_app(app: &str) -> Self
pub fn for_app(app: &str) -> Self
The built-in profile for app: HeardRight is sensitive, everything else standard.
pub fn with_methods(self, methods: &[&str]) -> Self
pub fn with_commands(self, policy: CommandPolicy) -> Self
Sourcepub fn allow_patterns(&self) -> Vec<String>
pub fn allow_patterns(&self) -> Vec<String>
Allowlist patterns (see Toolbox::allow) that grant exactly this profile.