0.37.0

Added

  • SubagentManager — запуск фоновых подагентов через горутины с собственным ToolRegistry (spawn исключён для предотвращения рекурсии)
  • SpawnTool — асинхронный запуск подагента с параметрами prompt, max_iterations, timeout; результат инжектируется через mid-turn injection
  • SpawnCancelTool — отмена запущенного подагента по task_id
  • Mid-turn injection в AgentRunner: InjectionCallback проверяется после tool calls и перед финальным ответом, при наличии injections — LLM получает результат и продолжает работу
  • pendingInjections + sync.Cond в SessionActor — блокировка injectionCallback при активных подагентах, пробуждение по сигналу от SubagentManager
  • cleanupSubagents — автоматическая отмена всех подагентов актора при завершении хода (/stop, error, max_iterations)
  • contextWithActor/ActorFromContext — проброс SessionActor в контекст для SpawnTool
  • Разрешение spawn в permissions уже существовало, теперь интегрировано в registerToolsForAgent
  • 18 тестов: spawn→result, timeout, cancel, cancelByActor, injectionCallback, cleanupSubagents, context helpers, tool interfaces, runner injection