notedeck

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

commit e5c3bb4fe9be3c45bb4dc48659815dd8984dcdc5
parent 39e2accbce06f3d5f888b0d000291a222b2b29d5
Author: William Casarin <jb55@jb55.com>
Date:   Mon, 14 Apr 2025 16:13:40 -0700

dave: fix bugs

fixed some bugs i introduced during the refactor

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

Diffstat:
MCargo.lock | 2+-
MCargo.toml | 2+-
Mcrates/notedeck_dave/src/lib.rs | 4++--
Mcrates/notedeck_dave/src/tools.rs | 8++++++++
4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -3131,7 +3131,7 @@ dependencies = [ [[package]] name = "nostrdb" version = "0.6.1" -source = "git+https://github.com/damus-io/nostrdb-rs?rev=dd0d18e637388ae1ef344a9544801acbb3a41bfe#dd0d18e637388ae1ef344a9544801acbb3a41bfe" +source = "git+https://github.com/damus-io/nostrdb-rs?rev=e70f9b96efabb3448d182202a23156334c46f801#e70f9b96efabb3448d182202a23156334c46f801" dependencies = [ "bindgen", "cc", diff --git a/Cargo.toml b/Cargo.toml @@ -37,7 +37,7 @@ log = "0.4.17" nostr = { version = "0.37.0", default-features = false, features = ["std", "nip49"] } nwc = "0.39.0" mio = { version = "1.0.3", features = ["os-poll", "net"] } -nostrdb = { git = "https://github.com/damus-io/nostrdb-rs", rev = "dd0d18e637388ae1ef344a9544801acbb3a41bfe" } +nostrdb = { git = "https://github.com/damus-io/nostrdb-rs", rev = "e70f9b96efabb3448d182202a23156334c46f801" } #nostrdb = "0.6.1" notedeck = { path = "crates/notedeck" } notedeck_chrome = { path = "crates/notedeck_chrome" } diff --git a/crates/notedeck_dave/src/lib.rs b/crates/notedeck_dave/src/lib.rs @@ -320,12 +320,12 @@ You are an AI agent for the nostr protocol called Dave, created by Damus. nostr let entry = all_tool_calls.entry(tool.index).or_default(); if let Some(id) = &tool.id { - entry.id().get_or_insert(id); + entry.id_mut().get_or_insert(id.clone()); } if let Some(name) = tool.function.as_ref().and_then(|f| f.name.as_ref()) { - entry.name().get_or_insert(name); + entry.name_mut().get_or_insert(name.to_string()); } if let Some(argchunk) = diff --git a/crates/notedeck_dave/src/tools.rs b/crates/notedeck_dave/src/tools.rs @@ -45,10 +45,18 @@ impl PartialToolCall { self.id.as_deref() } + pub fn id_mut(&mut self) -> &mut Option<String> { + &mut self.id + } + pub fn name(&self) -> Option<&str> { self.name.as_deref() } + pub fn name_mut(&mut self) -> &mut Option<String> { + &mut self.name + } + pub fn arguments(&self) -> Option<&str> { self.arguments.as_deref() }