Restore research as first-class tool, remove research skill
Restores the research tool that was previously externalized as a skill: - Add pending_research.rs: PendingResearchManager with thread-safe task tracking - Add tools/research.rs: execute_research (async), execute_research_status - Add research/research_status tool definitions with exclude_research config - Integrate PendingResearchManager into Agent and ToolContext - Inject completed research results in streaming loop Remove research skill: - Clear EMBEDDED_SKILLS array in embedded.rs - Delete skills/research/ directory - Update all tests expecting embedded research skill - Update docs and memory to reflect the change The research tool now: - Spawns scout agent in background tokio task - Returns immediately with research_id - Automatically injects results into conversation when ready - Supports status checks via research_status tool
This commit is contained in:
@@ -259,14 +259,13 @@ Key modules in `crates/g3-core/src/skills/`:
|
||||
Core skills are embedded at compile time using `include_str!`, ensuring g3 works anywhere without external files:
|
||||
|
||||
```rust
|
||||
// Currently empty - skills can be added here as needed
|
||||
static EMBEDDED_SKILLS: &[EmbeddedSkill] = &[
|
||||
EmbeddedSkill {
|
||||
name: "research",
|
||||
skill_md: include_str!("../../../../skills/research/SKILL.md"),
|
||||
scripts: &[
|
||||
("g3-research", include_str!("../../../../skills/research/g3-research")),
|
||||
],
|
||||
},
|
||||
// Example:
|
||||
// EmbeddedSkill {
|
||||
// name: "example-skill",
|
||||
// skill_md: include_str!("../../../../skills/example-skill/SKILL.md"),
|
||||
// },
|
||||
];
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user