loopd: ask_memory as a core tool, and a wait of its own on brokerd
Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev>
This commit is contained in:
@@ -106,6 +106,7 @@ impl MemorySource for MemoryPort {
|
||||
|
||||
pub const RECALL: &str = "recall";
|
||||
pub const MEMORY: &str = "memory";
|
||||
pub const ASK_MEMORY: &str = bxcore::memory::ASK_MEMORY;
|
||||
|
||||
pub fn recall_schema() -> ToolSchema {
|
||||
ToolSchema {
|
||||
@@ -125,6 +126,30 @@ pub fn recall_schema() -> ToolSchema {
|
||||
}
|
||||
}
|
||||
|
||||
/// `ask_memory` (M5c spec, section 9), as `bxcore::AskMemoryArgs` reads it: `question` required,
|
||||
/// `workspaces` at most two names. Short: every schema counts toward the baseline's budget.
|
||||
pub fn ask_memory_schema() -> ToolSchema {
|
||||
ToolSchema {
|
||||
name: ASK_MEMORY.to_string(),
|
||||
description: "Ask Honcho what you and the other agents of the fleet know. Answers can \
|
||||
take a minute or more."
|
||||
.to_string(),
|
||||
parameters: serde_json::json!({
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"question": { "type": "string" },
|
||||
"workspaces": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"maxItems": 2,
|
||||
"description": "own (the default), untrusted, fleet, or another agent's name."
|
||||
}
|
||||
},
|
||||
"required": ["question"]
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn memory_schema() -> ToolSchema {
|
||||
ToolSchema {
|
||||
name: MEMORY.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user