pub struct SessionConfig {Show 20 fields
pub session_id: Option<String>,
pub model: Option<String>,
pub config_dir: Option<PathBuf>,
pub tools: Vec<Tool>,
pub system_message: Option<SystemMessageConfig>,
pub available_tools: Option<Vec<String>>,
pub excluded_tools: Option<Vec<String>>,
pub provider: Option<ProviderConfig>,
pub streaming: bool,
pub mcp_servers: Option<HashMap<String, Value>>,
pub custom_agents: Option<Vec<CustomAgentConfig>>,
pub skill_directories: Option<Vec<String>>,
pub disabled_skills: Option<Vec<String>>,
pub request_permission: Option<bool>,
pub infinite_sessions: Option<InfiniteSessionConfig>,
pub request_user_input: Option<bool>,
pub reasoning_effort: Option<String>,
pub working_directory: Option<String>,
pub hooks: Option<SessionHooks>,
pub auto_byok_from_env: bool,
}Expand description
Configuration for creating a new session.
Fields§
§session_id: Option<String>§model: Option<String>§config_dir: Option<PathBuf>§tools: Vec<Tool>§system_message: Option<SystemMessageConfig>§available_tools: Option<Vec<String>>§excluded_tools: Option<Vec<String>>§provider: Option<ProviderConfig>§streaming: bool§mcp_servers: Option<HashMap<String, Value>>§custom_agents: Option<Vec<CustomAgentConfig>>§skill_directories: Option<Vec<String>>§disabled_skills: Option<Vec<String>>§request_permission: Option<bool>§infinite_sessions: Option<InfiniteSessionConfig>Infinite session configuration for automatic context compaction.
request_user_input: Option<bool>Whether to request user input forwarding from the server.
When true, userInput.request callbacks will be sent to the SDK.
reasoning_effort: Option<String>Reasoning effort level: “low”, “medium”, “high”, or “xhigh”.
working_directory: Option<String>Working directory for the session.
hooks: Option<SessionHooks>Session hooks for pre/post tool use, session lifecycle, etc.
auto_byok_from_env: boolIf true and provider/model not explicitly set, load from COPILOT_SDK_BYOK_* env vars.
Default: false (explicit configuration preferred over environment variables)
Trait Implementations§
Source§impl Clone for SessionConfig
impl Clone for SessionConfig
Source§fn clone(&self) -> SessionConfig
fn clone(&self) -> SessionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionConfig
impl Debug for SessionConfig
Source§impl Default for SessionConfig
impl Default for SessionConfig
Source§fn default() -> SessionConfig
fn default() -> SessionConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SessionConfig
impl !RefUnwindSafe for SessionConfig
impl Send for SessionConfig
impl Sync for SessionConfig
impl Unpin for SessionConfig
impl UnsafeUnpin for SessionConfig
impl !UnwindSafe for SessionConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more