pub struct ReplBridgeOptions {Show 28 fields
pub dir: String,
pub machine_name: String,
pub branch: String,
pub git_repo_url: Option<String>,
pub title: String,
pub base_url: String,
pub session_ingress_url: String,
pub worker_type: String,
pub get_access_token: Arc<dyn Fn() -> Option<String> + Send + Sync>,
pub create_session: Arc<dyn Fn(String, String, Option<String>, String) -> Pin<Box<dyn Future<Output = Result<Option<String>, AgentError>> + Send>> + Send + Sync>,
pub archive_session: Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<(), AgentError>> + Send>> + Send + Sync>,
pub get_current_title: Option<Arc<dyn Fn() -> String + Send + Sync>>,
pub to_sdk_messages: Option<Arc<dyn Fn(Vec<Message>) -> Vec<SDKMessage> + Send + Sync>>,
pub on_auth_401: Option<Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<bool, AgentError>> + Send>> + Send + Sync>>,
pub get_poll_interval_config: Option<Arc<dyn Fn() -> PollIntervalConfig + Send + Sync>>,
pub initial_history_cap: Option<u32>,
pub initial_messages: Option<Vec<Message>>,
pub previously_flushed_uuids: Option<Arc<dyn Fn() -> HashSet<String> + Send + Sync>>,
pub on_inbound_message: Option<Arc<dyn Fn(SDKMessage) + Send + Sync>>,
pub on_permission_response: Option<Arc<dyn Fn(BridgeControlResponse) + Send + Sync>>,
pub on_interrupt: Option<Arc<dyn Fn() + Send + Sync>>,
pub on_set_model: Option<Arc<dyn Fn(Option<String>) + Send + Sync>>,
pub on_set_max_thinking_tokens: Option<Arc<dyn Fn(Option<u32>) + Send + Sync>>,
pub on_set_permission_mode: Option<Arc<dyn Fn(PermissionMode) -> Result<(), String> + Send + Sync>>,
pub on_state_change: Option<Arc<dyn Fn(BridgeState, Option<String>) + Send + Sync>>,
pub on_user_message: Option<Arc<dyn Fn(String, String) -> bool + Send + Sync>>,
pub perpetual: Option<bool>,
pub initial_sse_sequence_num: Option<u64>,
}Expand description
Options for initializing the REPL bridge.
Fields§
§dir: StringCurrent working directory.
machine_name: StringMachine name.
branch: StringCurrent git branch.
git_repo_url: Option<String>Git repo URL.
title: StringSession title.
base_url: StringBase API URL.
session_ingress_url: StringSession ingress URL.
worker_type: StringWorker type (e.g., “repl”, “daemon”).
get_access_token: Arc<dyn Fn() -> Option<String> + Send + Sync>Get the current OAuth access token.
create_session: Arc<dyn Fn(String, String, Option<String>, String) -> Pin<Box<dyn Future<Output = Result<Option<String>, AgentError>> + Send>> + Send + Sync>Create a new session.
archive_session: Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<(), AgentError>> + Send>> + Send + Sync>Archive a session.
get_current_title: Option<Arc<dyn Fn() -> String + Send + Sync>>Get current session title (for reconnection).
to_sdk_messages: Option<Arc<dyn Fn(Vec<Message>) -> Vec<SDKMessage> + Send + Sync>>Convert internal messages to SDK format.
on_auth_401: Option<Arc<dyn Fn(String) -> Pin<Box<dyn Future<Output = Result<bool, AgentError>> + Send>> + Send + Sync>>Handle OAuth 401 refresh.
get_poll_interval_config: Option<Arc<dyn Fn() -> PollIntervalConfig + Send + Sync>>Get poll interval config.
initial_history_cap: Option<u32>Max initial messages to replay on connect.
initial_messages: Option<Vec<Message>>Initial messages to flush on connect.
previously_flushed_uuids: Option<Arc<dyn Fn() -> HashSet<String> + Send + Sync>>Previously flushed UUIDs (for dedup).
on_inbound_message: Option<Arc<dyn Fn(SDKMessage) + Send + Sync>>Callback for inbound messages.
on_permission_response: Option<Arc<dyn Fn(BridgeControlResponse) + Send + Sync>>Callback for permission responses.
on_interrupt: Option<Arc<dyn Fn() + Send + Sync>>Callback for interrupt.
on_set_model: Option<Arc<dyn Fn(Option<String>) + Send + Sync>>Callback for model change.
on_set_max_thinking_tokens: Option<Arc<dyn Fn(Option<u32>) + Send + Sync>>Callback for max thinking tokens change.
on_set_permission_mode: Option<Arc<dyn Fn(PermissionMode) -> Result<(), String> + Send + Sync>>Callback for permission mode change.
on_state_change: Option<Arc<dyn Fn(BridgeState, Option<String>) + Send + Sync>>Callback for state changes.
on_user_message: Option<Arc<dyn Fn(String, String) -> bool + Send + Sync>>Callback for user messages (title derivation).
perpetual: Option<bool>Whether this is a perpetual (persistent) bridge.
initial_sse_sequence_num: Option<u64>Initial SSE sequence number (for daemon persistence).
Trait Implementations§
Source§impl Clone for ReplBridgeOptions
impl Clone for ReplBridgeOptions
Source§fn clone(&self) -> ReplBridgeOptions
fn clone(&self) -> ReplBridgeOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more