pub struct SessionCreateRequest {
pub session_id: Option<String>,
pub relation: SessionRelation,
pub start: SessionStartPoint,
pub policy: Option<SessionPolicy>,
pub plugin_source: SessionPluginSource,
pub initial_nodes: Vec<SessionAppendNode>,
pub tool_access: SessionToolAccess,
pub subagent: Option<SubagentSessionContext>,
pub context_surface: SessionContextSurface,
pub plugin_options: PluginOptions,
pub usage_source: Option<String>,
}Fields§
§session_id: Option<String>§relation: SessionRelation§start: SessionStartPoint§policy: Option<SessionPolicy>§plugin_source: SessionPluginSource§initial_nodes: Vec<SessionAppendNode>§tool_access: SessionToolAccess§subagent: Option<SubagentSessionContext>§context_surface: SessionContextSurface§plugin_options: PluginOptionsPlugin-owned options that configure plugin behavior at session creation time. Each plugin decodes only the entry keyed by its id.
usage_source: Option<String>Label for the token-cost ledger. When this session’s turns
complete, their token usage is accumulated under this label on
the parent session’s token_ledger. Examples: "subagent",
"compaction". Defaults to "child" if unset.
Implementations§
Source§impl SessionCreateRequest
impl SessionCreateRequest
pub fn root(start: SessionStartPoint, plugin_options: PluginOptions) -> Self
pub fn root_with_policy( start: SessionStartPoint, policy: SessionPolicy, plugin_options: PluginOptions, ) -> Self
pub fn child_session( parent_session_id: impl Into<String>, start: SessionStartPoint, plugin_options: PluginOptions, ) -> Self
pub fn child_session_with_policy( parent_session_id: impl Into<String>, start: SessionStartPoint, policy: SessionPolicy, plugin_options: PluginOptions, ) -> Self
pub fn child( parent_session_id: impl Into<String>, start: SessionStartPoint, policy: SessionPolicy, plugin_options: PluginOptions, usage_source: impl Into<String>, ) -> Self
pub fn child_inheriting_policy( parent_session_id: impl Into<String>, start: SessionStartPoint, plugin_options: PluginOptions, usage_source: impl Into<String>, ) -> Self
pub fn with_plugin_source(self, plugin_source: SessionPluginSource) -> Self
pub fn with_session_id(self, session_id: impl Into<String>) -> Self
pub fn with_initial_nodes(self, initial_nodes: Vec<SessionAppendNode>) -> Self
pub fn with_tool_access(self, tool_access: SessionToolAccess) -> Self
pub fn with_subagent_context(self, subagent: SubagentSessionContext) -> Self
pub fn with_caused_by(self, caused_by: CausalRef) -> Self
pub fn with_context_surface( self, context_surface: SessionContextSurface, ) -> Self
pub fn with_usage_source(self, usage_source: impl Into<String>) -> Self
Trait Implementations§
Source§impl Clone for SessionCreateRequest
impl Clone for SessionCreateRequest
Source§fn clone(&self) -> SessionCreateRequest
fn clone(&self) -> SessionCreateRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 SessionCreateRequest
impl Debug for SessionCreateRequest
Source§impl<'de> Deserialize<'de> for SessionCreateRequest
impl<'de> Deserialize<'de> for SessionCreateRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for SessionCreateRequest
impl !UnwindSafe for SessionCreateRequest
impl Freeze for SessionCreateRequest
impl Send for SessionCreateRequest
impl Sync for SessionCreateRequest
impl Unpin for SessionCreateRequest
impl UnsafeUnpin for SessionCreateRequest
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