pub struct SdkAgent(/* private fields */);Expand description
SDK-owned emulation runtime component.
The wrapper makes ownership transfer explicit: public adapters receive an
SDK component, and crate::server::RpcEngine consumes that component as
the sole live-loop owner. It intentionally does not implement Deref:
model/tool-loop entry points stay unreachable outside the SDK/runtime
implementation boundary.
Implementations§
Source§impl SdkAgent
impl SdkAgent
Sourcepub fn config(&self) -> &Config
pub fn config(&self) -> &Config
Read the resolved runtime configuration without acquiring loop ownership.
Sourcepub fn set_recorder(&mut self, writer: SidecarWriter)
pub fn set_recorder(&mut self, writer: SidecarWriter)
Install the full-fidelity sidecar writer used by SDK persistence.
Sourcepub fn set_reduction_policy(&mut self, policy: ReductionPolicy)
pub fn set_reduction_policy(&mut self, policy: ReductionPolicy)
Install the reversible provider-view reduction policy.
Sourcepub fn reduction_policy(&self) -> Option<&ReductionPolicy>
pub fn reduction_policy(&self) -> Option<&ReductionPolicy>
Inspect the current provider-view reduction policy.
Sourcepub fn set_reduction_log(&mut self, log: ReductionLog)
pub fn set_reduction_log(&mut self, log: ReductionLog)
Replace the reversible reduction log after an SDK-owned projection.
Sourcepub fn reduction_log(&self) -> &ReductionLog
pub fn reduction_log(&self) -> &ReductionLog
Inspect the reversible reduction log.
Sourcepub fn prepare_cleared_turns_summary(
&self,
messages: &[ChatMessage],
policy: &ReductionPolicy,
prior: &ReductionLog,
) -> Option<PreparedClearSummary>
pub fn prepare_cleared_turns_summary( &self, messages: &[ChatMessage], policy: &ReductionPolicy, prior: &ReductionLog, ) -> Option<PreparedClearSummary>
Prepare optional cleared-turn summary metadata without sending a turn.
Sourcepub fn set_span_summarizer(
&mut self,
summarizer: impl SpanSummarizer + Send + Sync + 'static,
)
pub fn set_span_summarizer( &mut self, summarizer: impl SpanSummarizer + Send + Sync + 'static, )
Install a reduction span summarizer.
Sourcepub fn set_session_titler(
&mut self,
titler: impl SessionTitler + Send + Sync + 'static,
)
pub fn set_session_titler( &mut self, titler: impl SessionTitler + Send + Sync + 'static, )
Install the optional persisted-session title generator.
Sourcepub fn auto_title(&self) -> Option<String>
pub fn auto_title(&self) -> Option<String>
Generate a title from canonical history when configured.
Sourcepub fn set_subagent_store(
&mut self,
store: Arc<SessionStore>,
session_name: impl Into<String>,
)
pub fn set_subagent_store( &mut self, store: Arc<SessionStore>, session_name: impl Into<String>, )
Attach a session store for SDK-owned subagent persistence.
Sourcepub fn set_claude_runtime_manifest(&mut self, manifest: ClaudeRuntimeManifest)
pub fn set_claude_runtime_manifest(&mut self, manifest: ClaudeRuntimeManifest)
Install restored Claude runtime state without activating a timer.
Sourcepub fn claude_runtime_manifest(&self) -> Option<&ClaudeRuntimeManifest>
pub fn claude_runtime_manifest(&self) -> Option<&ClaudeRuntimeManifest>
Inspect restored Claude runtime state.
Sourcepub fn claude_runtime_manifest_mut(
&mut self,
) -> Option<&mut ClaudeRuntimeManifest>
pub fn claude_runtime_manifest_mut( &mut self, ) -> Option<&mut ClaudeRuntimeManifest>
Mutate Claude runtime state from the SDK scheduler/persistence driver.
Sourcepub fn restore_claude_project_agents(&mut self) -> Result<usize, Error>
pub fn restore_claude_project_agents(&mut self) -> Result<usize, Error>
Restore project-scoped Claude agent definitions after disk reload.
Sourcepub fn load_session(&mut self, session: Session)
pub fn load_session(&mut self, session: Session)
Replace canonical history with a loaded normalized session.
Sourcepub fn load_transcript(&mut self, path: impl AsRef<Path>) -> Result<(), Error>
pub fn load_transcript(&mut self, path: impl AsRef<Path>) -> Result<(), Error>
Load a Supercode transcript through the SDK component.
Sourcepub fn save_transcript(&self, path: impl AsRef<Path>) -> Result<(), Error>
pub fn save_transcript(&self, path: impl AsRef<Path>) -> Result<(), Error>
Save the canonical transcript through the SDK component.
Sourcepub fn history(&self) -> &[ChatMessage]
pub fn history(&self) -> &[ChatMessage]
Read canonical history at a quiescent boundary.
Sourcepub fn rewind_to(&mut self, checkpoint: usize)
pub fn rewind_to(&mut self, checkpoint: usize)
Rewind canonical history to a prior message boundary.
Sourcepub fn append_system_note(&mut self, text: &str)
pub fn append_system_note(&mut self, text: &str)
Append an SDK-assembled system note.
Sourcepub fn register_tool(&mut self, tool: impl Tool + 'static)
pub fn register_tool(&mut self, tool: impl Tool + 'static)
Register one configured tool before transferring live-loop ownership.
Sourcepub fn register_mcp_prompt(
&mut self,
command_name: impl Into<String>,
source: impl SdkPromptSource + 'static,
)
pub fn register_mcp_prompt( &mut self, command_name: impl Into<String>, source: impl SdkPromptSource + 'static, )
Register one MCP prompt source before transferring loop ownership.
Sourcepub fn tool_schemas(&self) -> Vec<ToolSchema>
pub fn tool_schemas(&self) -> Vec<ToolSchema>
Inspect the exact next-request tool schemas for preflight measurement.
Sourcepub fn set_context_limit(&mut self, limit: u64)
pub fn set_context_limit(&mut self, limit: u64)
Arm the per-request context limit guard.
Sourcepub fn context_limit(&self) -> Option<u64>
pub fn context_limit(&self) -> Option<u64>
Inspect the armed context limit.
Sourcepub fn set_model(&mut self, model: impl Into<String>)
pub fn set_model(&mut self, model: impl Into<String>)
Switch the next-request model at a quiescent boundary.
Sourcepub fn request_issued(&self) -> bool
pub fn request_issued(&self) -> bool
Whether a provider request has actually been issued.
Sourcepub fn session_name(&self) -> Option<&str>
pub fn session_name(&self) -> Option<&str>
Configured durable session name.
Sourcepub fn session_persist(&self) -> bool
pub fn session_persist(&self) -> bool
Whether persistence is enabled for this component.
Sourcepub fn git_metadata(&self) -> Option<&GitMetadataRecord>
pub fn git_metadata(&self) -> Option<&GitMetadataRecord>
Captured git provenance.
Sourcepub fn save_git_metadata(
&self,
store: &SessionStore,
name: &str,
) -> Result<(), Error>
pub fn save_git_metadata( &self, store: &SessionStore, name: &str, ) -> Result<(), Error>
Save captured git provenance.
Sourcepub fn turn_count(&self) -> usize
pub fn turn_count(&self) -> usize
Number of non-system canonical messages.
Sourcepub fn total_output_tokens(&self) -> u64
pub fn total_output_tokens(&self) -> u64
Cumulative provider-reported output tokens.