pub struct SessionRequest {Show 18 fields
pub model: Option<String>,
pub provider: Option<String>,
pub permission_mode: Option<PermissionMode>,
pub system_prompt: Option<String>,
pub append_system_prompt: Option<String>,
pub tools: Option<Vec<String>>,
pub include_tools: Option<Vec<String>>,
pub exclude_tools: Option<Vec<String>>,
pub cwd: Option<PathBuf>,
pub effort: Option<Effort>,
pub enable_auto_memory: Option<bool>,
pub short_prompt: Option<bool>,
pub no_skills: Option<bool>,
pub include_skills: Option<Vec<String>>,
pub exclude_skills: Option<Vec<String>>,
pub save_session: Option<bool>,
pub unattended: Option<bool>,
pub title: Option<String>,
}Expand description
The requested session configuration — the payload of Op::StartSession.
A set field is pinned: it wins over every default. An unset field means
“the host’s default for this, now”: the daemon fills it from the user’s
settings (re-read at the session boundary) or its built-in default. There
is exactly one meaning, regardless of who built the value — never “leave
unchanged”.
Fields§
§model: Option<String>§provider: Option<String>§permission_mode: Option<PermissionMode>§system_prompt: Option<String>§append_system_prompt: Option<String>§tools: Option<Vec<String>>Exactly these tools, replacing the default tool set as the base.
include_tools: Option<Vec<String>>Tools added on top of the base set (tools, or the default set).
exclude_tools: Option<Vec<String>>Tools removed from the session; wins over tools and include_tools.
cwd: Option<PathBuf>§effort: Option<Effort>§enable_auto_memory: Option<bool>§short_prompt: Option<bool>§no_skills: Option<bool>When true, the session loads no skills: none are discovered, advertised, or invocable.
include_skills: Option<Vec<String>>Skills added to the default set; names match exactly. Does not enable skill loading when disabled.
exclude_skills: Option<Vec<String>>Skills removed from the session; names match exactly. Wins over
include_skills.
save_session: Option<bool>Whether the session writes a transcript and a resumable snapshot.
unattended: Option<bool>Whether no one can answer an approval prompt for this session. When true, a tool call that would pause the turn for approval is denied instead of pausing. Absent means false.
title: Option<String>A title for the session (see SessionUpdate::title for the rules).
Implementations§
Source§impl SessionRequest
impl SessionRequest
Sourcepub fn patched(self, patch: SessionRequest) -> SessionRequest
pub fn patched(self, patch: SessionRequest) -> SessionRequest
Fold patch onto self, field by field: a set field in the patch
wins, an unset one keeps self’s value. This is the rule for every
request-over-request combination (e.g. a client retargeting the
request it keeps for /clear). patch is destructured exhaustively
(no .. rest) so adding a field fails to compile here until its fold
rule is decided.