walrus_core/memory/
tools.rs1use crate::model::Tool;
7use schemars::JsonSchema;
8use serde::Deserialize;
9
10#[derive(Deserialize, JsonSchema)]
11pub struct RememberInput {
12 pub key: String,
14 pub value: String,
16}
17
18#[derive(Deserialize, JsonSchema)]
19pub struct RecallInput {
20 pub query: String,
22 pub limit: Option<u32>,
24}
25
26pub fn remember_schema() -> Tool {
28 Tool {
29 name: "remember".into(),
30 description: "Store a key-value pair in memory.".into(),
31 parameters: schemars::schema_for!(RememberInput),
32 strict: false,
33 }
34}
35
36pub fn recall_schema() -> Tool {
38 Tool {
39 name: "recall".into(),
40 description: "Search memory for entries relevant to a query.".into(),
41 parameters: schemars::schema_for!(RecallInput),
42 strict: false,
43 }
44}