diff options
Diffstat (limited to 'Omni/Agent/Subagent.hs')
| -rw-r--r-- | Omni/Agent/Subagent.hs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Omni/Agent/Subagent.hs b/Omni/Agent/Subagent.hs index 597b361..3eeda3e 100644 --- a/Omni/Agent/Subagent.hs +++ b/Omni/Agent/Subagent.hs @@ -844,7 +844,10 @@ runCoderSubagentWrapper keys config callbacks = do else do onSubagentStart callbacks ("Starting Coder subagent for " <> namespace <> "...") - -- Build CoderConfig from SubagentConfig + -- Build CoderConfig from SubagentConfig, using per-spawn guardrails if provided + let getGuardrail field def = case subagentGuardrails config of + Just g -> fromMaybe def (field g) + Nothing -> def let coderCfg = Coder.CoderConfig { Coder.coderNamespace = namespace, @@ -852,9 +855,9 @@ runCoderSubagentWrapper keys config callbacks = do Coder.coderContext = subagentContext config, Coder.coderModel = fromMaybe "anthropic/claude-sonnet-4" (subagentModel config), Coder.coderTimeout = subagentTimeout config, - Coder.coderMaxCost = subagentMaxCost config, - Coder.coderMaxTokens = subagentMaxTokens config, - Coder.coderMaxIterations = subagentMaxIterations config, + Coder.coderMaxCost = getGuardrail spawnMaxCostCents (subagentMaxCost config), + Coder.coderMaxTokens = getGuardrail spawnMaxTokens (subagentMaxTokens config), + Coder.coderMaxIterations = getGuardrail spawnMaxIterations (subagentMaxIterations config), Coder.coderMaxVerifyRetries = 3 } |
