use std::path::Path;
use anyhow::Result;
use crate::acp_cli::{RoutingOptions, SessionSelection};
use crate::contexts::RemoteContext;
#[derive(Clone)]
pub struct SessionRequest {
pub agent: String,
pub selection: SessionSelection,
pub turn_timeout: Option<u64>,
pub routing: RoutingOptions,
}
pub async fn run(
remote: Option<(String, RemoteContext)>,
config: Option<&Path>,
socket: Option<&Path>,
initial_session: Option<SessionRequest>,
) -> Result<()> {
let services = crate::actions::code::CodeServices::open(remote, config, socket).await?;
crate::chat::code::run(services, initial_session).await
}