aboutsummaryrefslogtreecommitdiffstats
path: root/crates/asist-core/src/tools.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/asist-core/src/tools.rs')
-rw-r--r--crates/asist-core/src/tools.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/asist-core/src/tools.rs b/crates/asist-core/src/tools.rs
index 0b8a646..ac08141 100644
--- a/crates/asist-core/src/tools.rs
+++ b/crates/asist-core/src/tools.rs
@@ -35,6 +35,17 @@ pub trait Tool: Send + Sync {
fn is_side_effecting(&self) -> bool {
false
}
+
+ /// Frase que se pronuncia nada más empezar a ejecutarla.
+ ///
+ /// Existe por una razón de trato, no de adorno: una búsqueda son unos
+ /// 2,5 s, la cámara casi 3, y a eso hay que sumarle las dos pasadas del
+ /// modelo. Seis segundos de silencio absoluto se leen como que el
+ /// asistente se ha colgado. Devuelve `None` la herramienta que responda
+ /// al instante, donde el acuse molestaría más que ayudar.
+ fn acknowledgement(&self) -> Option<&str> {
+ None
+ }
}
/// Una llamada tal y como la pide el modelo.
@@ -453,6 +464,7 @@ mod tests {
ToolsConfig {
enabled: true,
dedicated_prompt: true,
+ spoken_ack: true,
shell: true,
shell_allowlist: vec!["echo".into(), "sleep".into()],
shell_timeout_secs: 1,