notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 0294d2d1c803be4df7fb60e4100fa2febeed67b6
parent 686d8c61859e204d5af43444c866233a762c39ba
Author: William Casarin <jb55@jb55.com>
Date:   Sat, 29 Mar 2025 10:25:08 -0700

dave: remove default property value and add to description

openai doesn't seem to support this

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Mcrates/notedeck_dave/src/lib.rs | 16+++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/crates/notedeck_dave/src/lib.rs b/crates/notedeck_dave/src/lib.rs @@ -307,6 +307,7 @@ pub struct Dave { model_config: ModelConfig, } +#[derive(Debug)] pub struct ModelConfig { endpoint: Option<String>, model: String, @@ -732,13 +733,14 @@ impl Tool { "type".to_string(), Value::String(arg.typ.type_string().to_string()), ); - if let Some(default) = &arg.default { - props.insert("default".to_string(), default.clone()); - } - props.insert( - "description".to_string(), - Value::String(arg.description.to_owned()), - ); + + let description = if let Some(default) = &arg.default { + format!("{} (Default: {default}))", arg.description) + } else { + arg.description.to_owned() + }; + + props.insert("description".to_string(), Value::String(description)); if let ArgType::Enum(enums) = &arg.typ { props.insert( "enum".to_string(),