diff --git a/.gitignore b/.gitignore index d3e40cc..c0b6588 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,5 @@ Cargo.lock clawforge.db sleepy_agent.json tmp/ -.claude/ -memory/ +/.claude/ +/memory/ diff --git a/backend/cli/examples/coding_agent.rs b/backend/cli/examples/coding_agent.rs index 6a33e81..52fda0a 100644 --- a/backend/cli/examples/coding_agent.rs +++ b/backend/cli/examples/coding_agent.rs @@ -38,6 +38,7 @@ async fn main() -> Result<()> { allowed_domains: vec![], max_tokens_per_run: None, max_cost_per_run_usd: None, + ..Default::default() }, llm_policy: LlmPolicy { providers: vec!["mock".to_string()], @@ -50,6 +51,7 @@ async fn main() -> Result<()> { memory_config: None, workflow: vec![], allowed_tools: vec!["file_write".to_string()], + allowed_skills: vec![], }; // 3. Wiring @@ -111,7 +113,7 @@ async fn main() -> Result<()> { tokio::time::sleep(Duration::from_secs(2)).await; // 7. Verify Log - let runs = supervisor.get_recent_runs(5)?; + let runs = supervisor.get_recent_runs(5, 0)?; info!("Runs: {}", serde_json::to_string_pretty(&runs)?); // 8. checks diff --git a/backend/cli/examples/github_pr_reviewer.rs b/backend/cli/examples/github_pr_reviewer.rs index fe879b2..fc4a514 100644 --- a/backend/cli/examples/github_pr_reviewer.rs +++ b/backend/cli/examples/github_pr_reviewer.rs @@ -44,6 +44,7 @@ async fn main() -> Result<()> { allowed_domains: vec!["api.github.com".to_string()], max_tokens_per_run: Some(1000), max_cost_per_run_usd: Some(0.10), + ..Default::default() }, llm_policy: LlmPolicy { providers: vec!["openrouter".to_string(), "ollama".to_string()], @@ -65,6 +66,7 @@ async fn main() -> Result<()> { }, ], allowed_tools: vec![], + allowed_skills: vec![], }; info!(agent_id = %pr_reviewer.id, "Defined PR Reviewer agent"); @@ -136,7 +138,7 @@ async fn main() -> Result<()> { tokio::time::sleep(Duration::from_secs(5)).await; // 9. Check results - let runs = supervisor.get_recent_runs(10)?; + let runs = supervisor.get_recent_runs(10, 0)?; info!("Demo finished. Recent runs: {}", serde_json::to_string_pretty(&runs)?); Ok(()) diff --git a/backend/cli/examples/research_agent.rs b/backend/cli/examples/research_agent.rs index 563718b..2ad99f8 100644 --- a/backend/cli/examples/research_agent.rs +++ b/backend/cli/examples/research_agent.rs @@ -12,7 +12,8 @@ use clawforge_core::{ types::{MemoryConfig, Role}, }; use clawforge_executor::Executor; -use clawforge_memory::{InMemoryVectorStore, MemoryStore, VectorEntry, MemoryQuery}; +use clawforge_memory::{InMemoryVectorStore, MemoryStore}; +use clawforge_memory::types::{VectorEntry, MemoryQuery}; use clawforge_planner::providers::ProviderRegistry; use clawforge_planner::LlmPlanner; use clawforge_scheduler::Scheduler; @@ -41,6 +42,7 @@ impl Component for MemoryService { vector: req.query_vector, min_score: req.min_score, limit: req.limit, + ..Default::default() }; match self.store.search(query).await { @@ -93,6 +95,7 @@ async fn run_memory_service( vector: req.query_vector, min_score: req.min_score, limit: req.limit, + ..Default::default() }; if let Ok(results) = store.search(query).await { @@ -130,6 +133,8 @@ async fn main() -> Result<()> { content: "Rust 1.75 stabilized async traits in traits.".to_string(), vector: vec![0.0; 1536], // Mock vector metadata: serde_json::json!({"source": "manual_entry"}), + created_at: 0, + session_id: None, }; memory_store.upsert(fact1).await?; @@ -154,6 +159,7 @@ async fn main() -> Result<()> { }), workflow: vec![], allowed_tools: vec![], + allowed_skills: vec![], }; // 3. Wiring @@ -217,7 +223,7 @@ async fn main() -> Result<()> { tokio::time::sleep(Duration::from_secs(3)).await; // 6. Verify Log - let runs = supervisor.get_recent_runs(10)?; + let runs = supervisor.get_recent_runs(10, 0)?; info!("Recent runs: {}", serde_json::to_string_pretty(&runs)?); Ok(()) diff --git a/backend/memory/src/store.rs b/backend/memory/src/store.rs index b499e54..ebf5ca8 100644 --- a/backend/memory/src/store.rs +++ b/backend/memory/src/store.rs @@ -103,6 +103,8 @@ mod tests { content: "The cat sits on the mat".to_string(), vector: vec![1.0, 0.0, 0.0], metadata: serde_json::json!({}), + created_at: 0, + session_id: None, }; let entry2 = VectorEntry { @@ -110,6 +112,8 @@ mod tests { content: "The dog barks at the mailman".to_string(), vector: vec![0.0, 1.0, 0.0], metadata: serde_json::json!({}), + created_at: 0, + session_id: None, }; store.upsert(entry1.clone()).await.unwrap(); @@ -120,6 +124,7 @@ mod tests { vector: vec![0.9, 0.1, 0.0], min_score: 0.5, limit: 1, + ..Default::default() }; let results = store.search(query).await.unwrap(); diff --git a/backend/scheduler/src/scheduler.rs b/backend/scheduler/src/scheduler.rs index 60a820a..4dbb0c1 100644 --- a/backend/scheduler/src/scheduler.rs +++ b/backend/scheduler/src/scheduler.rs @@ -213,6 +213,7 @@ mod tests { memory_config: None, workflow: vec![], allowed_tools: vec![], + allowed_skills: vec![], } }