feat: wire tools into LocalBackend turn loop
- Added max_tool_rounds (configurable per-agent) to LlmConfig - Rewrote run_turn() with multi-round tool-calling loop (max 10 rounds by default, 0 disables tools) - Converts core ToolDefinitions → bifrost ToolDefinitions - Streams tool execution status to TUI via BackendEvent::Token - Continues consciousness processing (surfacing, reflection, archivist) after tool loop completes - Fixed git2::Config Send issue in memory/mod.rs (scoped block) Closes: docs/tasks/tool-wiring.md
This commit is contained in:
parent
bc7316c411
commit
ae0968bf44
6 changed files with 397 additions and 43 deletions
|
|
@ -160,10 +160,12 @@ impl MemoryRepo {
|
|||
let repo = git2::Repository::init(mem_path)
|
||||
.context("initializing git repository for memory")?;
|
||||
|
||||
// Set user config for commits
|
||||
let mut config = repo.config().context("opening repo config")?;
|
||||
config.set_str("user.name", &self.agent_id)?;
|
||||
config.set_str("user.email", &format!("{}@souveraine.local", self.agent_id))?;
|
||||
// Set user config for commits (scoped to drop before .await)
|
||||
{
|
||||
let mut config = repo.config().context("opening repo config")?;
|
||||
config.set_str("user.name", &self.agent_id)?;
|
||||
config.set_str("user.email", &format!("{}@souveraine.local", self.agent_id))?;
|
||||
}
|
||||
|
||||
// Write initial placeholder files with frontmatter
|
||||
let persona_content = render_frontmatter(
|
||||
|
|
|
|||
Loading…
Reference in a new issue