use std::path::PathBuf;
use crate::CliOverridesPatch;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugCommandRequest {
pub overrides: CliOverridesPatch,
}
impl DebugCommandRequest {
pub fn new() -> Self {
Self {
overrides: CliOverridesPatch::default(),
}
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugCommandRequest {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugHelpRequest {
pub command: Vec<String>,
pub overrides: CliOverridesPatch,
}
impl DebugHelpRequest {
pub fn new() -> Self {
Self {
command: Vec::new(),
overrides: CliOverridesPatch::default(),
}
}
pub fn command(mut self, command: impl IntoIterator<Item = impl Into<String>>) -> Self {
self.command = command.into_iter().map(Into::into).collect();
self
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugHelpRequest {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugAppServerRequest {
pub overrides: CliOverridesPatch,
}
impl DebugAppServerRequest {
pub fn new() -> Self {
Self {
overrides: CliOverridesPatch::default(),
}
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugAppServerRequest {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugAppServerHelpRequest {
pub command: Vec<String>,
pub overrides: CliOverridesPatch,
}
impl DebugAppServerHelpRequest {
pub fn new() -> Self {
Self {
command: Vec::new(),
overrides: CliOverridesPatch::default(),
}
}
pub fn command(mut self, command: impl IntoIterator<Item = impl Into<String>>) -> Self {
self.command = command.into_iter().map(Into::into).collect();
self
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugAppServerHelpRequest {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugAppServerSendMessageV2Request {
pub user_message: String,
pub overrides: CliOverridesPatch,
}
impl DebugAppServerSendMessageV2Request {
pub fn new(user_message: impl Into<String>) -> Self {
Self {
user_message: user_message.into(),
overrides: CliOverridesPatch::default(),
}
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugModelsRequest {
pub bundled: bool,
pub overrides: CliOverridesPatch,
}
impl DebugModelsRequest {
pub fn new() -> Self {
Self {
bundled: false,
overrides: CliOverridesPatch::default(),
}
}
pub fn bundled(mut self, enable: bool) -> Self {
self.bundled = enable;
self
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugModelsRequest {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DebugPromptInputRequest {
pub prompt: Option<String>,
pub images: Vec<PathBuf>,
pub overrides: CliOverridesPatch,
}
impl DebugPromptInputRequest {
pub fn new() -> Self {
Self {
prompt: None,
images: Vec::new(),
overrides: CliOverridesPatch::default(),
}
}
pub fn prompt(mut self, prompt: impl Into<String>) -> Self {
self.prompt = Some(prompt.into());
self
}
pub fn image(mut self, image: impl Into<PathBuf>) -> Self {
self.images.push(image.into());
self
}
pub fn images<I, P>(mut self, images: I) -> Self
where
I: IntoIterator<Item = P>,
P: Into<PathBuf>,
{
self.images.extend(images.into_iter().map(Into::into));
self
}
pub fn with_overrides(mut self, overrides: CliOverridesPatch) -> Self {
self.overrides = overrides;
self
}
}
impl Default for DebugPromptInputRequest {
fn default() -> Self {
Self::new()
}
}