Improve tool parameter schemas: add defaults, readable formatting
Format memory_query and journal_tail parameter JSON as indented multi-line for readability. Add JSON Schema "default" values and document the "format" parameter on memory_query. Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
568ce417fc
commit
db49f49958
1 changed files with 20 additions and 4 deletions
|
|
@ -66,8 +66,16 @@ pub fn memory_tools() -> [super::Tool; 13] {
|
|||
Tool { name: "memory_supersede", description: "Mark a node as superseded by another (sets weight to 0.01).",
|
||||
parameters_json: r#"{"type":"object","properties":{"old_key":{"type":"string"},"new_key":{"type":"string"},"reason":{"type":"string"}},"required":["old_key","new_key"]}"#,
|
||||
handler: Arc::new(|a, v| Box::pin(async move { supersede(&a, &v).await })) },
|
||||
Tool { name: "memory_query", description: "Run a structured query against the memory graph.",
|
||||
parameters_json: r#"{"type":"object","properties":{"query":{"type":"string","description":"Query expression"}},"required":["query"]}"#,
|
||||
Tool { name: "memory_query",
|
||||
description: "Run a structured query against the memory graph.",
|
||||
parameters_json: r#"{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"query": {"type": "string", "description": "Query expression"},
|
||||
"format": {"type": "string", "description": "compact (default) or full (with content and graph metrics)", "default": "compact"}
|
||||
},
|
||||
"required": ["query"]
|
||||
}"#,
|
||||
handler: Arc::new(|_a, v| Box::pin(async move { query(&v).await })) },
|
||||
Tool { name: "graph_topology", description: "Show graph topology stats (nodes, edges, clustering, hubs).",
|
||||
parameters_json: r#"{"type":"object","properties":{}}"#,
|
||||
|
|
@ -81,8 +89,16 @@ pub fn memory_tools() -> [super::Tool; 13] {
|
|||
pub fn journal_tools() -> [super::Tool; 3] {
|
||||
use super::Tool;
|
||||
[
|
||||
Tool { name: "journal_tail", description: "Read the last N entries at a given level (0=journal, 1=daily, 2=weekly, 3=monthly).",
|
||||
parameters_json: r#"{"type":"object","properties":{"count":{"type":"integer","description":"Number of entries (default 1)"},"level":{"type":"integer","description":"0=journal, 1=daily digest, 2=weekly, 3=monthly (default 0)"},"keys_only":{"type":"boolean","description":"Return only node keys, not content"}}}"#,
|
||||
Tool { name: "journal_tail",
|
||||
description: "Read the last N entries at a given level.",
|
||||
parameters_json: r#"{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"count": {"type": "integer", "description": "Number of entries", "default": 1},
|
||||
"level": {"type": "integer", "description": "0=journal, 1=daily, 2=weekly, 3=monthly", "default": 0},
|
||||
"keys_only": {"type": "boolean", "description": "Return only node keys, not content", "default": false}
|
||||
}
|
||||
}"#,
|
||||
handler: Arc::new(|_a, v| Box::pin(async move { journal_tail(&v).await })) },
|
||||
Tool { name: "journal_new", description: "Start a new journal entry.",
|
||||
parameters_json: r#"{"type":"object","properties":{"name":{"type":"string","description":"Short node name (becomes the key)"},"title":{"type":"string","description":"Descriptive title"},"body":{"type":"string","description":"Entry body"}},"required":["name","title","body"]}"#,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue