feat(agents): allow passing agent variables to agent__spawn and agent__task_create
- agent__spawn accepts an optional variables object (string->string); values overlay the parent-inherited agent variables per key, with inheritance preserved as the fallback layer - unknown variable names, non-string values, and non-object shapes return self-correcting status:error JSON listing the agent's declared variables - spawned children can no longer trigger the interactive variable prompt: a new interactive gate in Agent::init_agent_variables routes missing required variables to the existing bail path while leaving CLI/REPL prompting and --info skip semantics unchanged - agent__task_create persists variables on the task, agent__task_list echoes them, and task auto-dispatch threads them into the spawn - tool schemas and built-in spawn docs updated; unit tests extended in agents.rs and taskqueue.rs
This commit is contained in:
6 files changed
+339
-35
No files matched your search
@@ -504,7 +504,7 @@ mod tests {
|
||||
let mut sup = Supervisor::new(4, 3);
|
||||
let id = sup
|
||||
.task_queue_mut()
|
||||
.create("task".into(), "desc".into(), None, None);
|
||||
.create("task".into(), "desc".into(), None, None, None);
|
||||
assert!(!id.is_empty());
|
||||
assert_eq!(sup.task_queue().list().len(), 1);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user