commit 2ed561579fc2fb7f2a48367dc4869e7b33fb4cca
parent be47a692f66ad7230558686686da2435a4c6c15b
Author: William Casarin <jb55@jb55.com>
Date: Mon, 14 Apr 2025 12:45:19 -0700
dave: add a few tool docs
So that readers of this code can actually figure out
what these types actually mean.
Signed-off-by: William Casarin <jb55@jb55.com>
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/crates/notedeck_dave/src/tools.rs b/crates/notedeck_dave/src/tools.rs
@@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use std::collections::HashMap;
+/// A tool
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ToolCall {
id: String,
@@ -29,6 +30,9 @@ impl ToolCall {
}
}
+/// On streaming APIs, tool calls are incremental. We use this
+/// to represent tool calls that are in the process of returning.
+/// These eventually just become [`ToolCall`]'s
#[derive(Default, Debug, Clone)]
pub struct PartialToolCall {
id: Option<String>,
@@ -97,6 +101,10 @@ impl PartialToolCall {
}
}
+/// An enumeration of the possible tool calls that
+/// can be parsed from Dave responses. When adding
+/// new tools, this needs to be updated so that we can
+/// handle tool call responses.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum ToolCalls {
Query(QueryCall),
@@ -271,7 +279,7 @@ pub enum QueryContext {
Any,
}
-/// The parsed query that dave wants to use to satisfy a request
+/// The parsed nostrdb query that dave wants to use to satisfy a request
#[derive(Debug, Deserialize, Serialize, Clone)]
pub struct QueryCall {
context: Option<QueryContext>,