Support chat-compatible sandbox patch tool

This commit is contained in:
0xallam
2026-04-26 16:54:34 -07:00
parent 760c2dfc13
commit 0e7e858412
4 changed files with 152 additions and 3 deletions
+2
View File
@@ -370,6 +370,8 @@ async def _run_cycle(
logger.exception("agent run failed for %s; parking as %s", agent_id, status)
await coordinator.set_status(agent_id, status)
await _notify_parent_on_crash(coordinator, agent_id, status)
if context.get("parent_id") is None and status in {"failed", "crashed"}:
raise
return None
else:
await _settle_run_result(coordinator, agent_id, interactive)
+8 -1
View File
@@ -19,7 +19,11 @@ from agents.sandbox import SandboxRunConfig
from strix.agents.factory import build_strix_agent, make_child_factory
from strix.config import load_settings
from strix.config.models import configure_sdk_model_defaults, normalize_model_name
from strix.config.models import (
configure_sdk_model_defaults,
normalize_model_name,
uses_chat_completions_tool_schema,
)
from strix.core.agents import AgentCoordinator
from strix.core.execution import (
respawn_subagents,
@@ -99,6 +103,7 @@ async def run_strix_scan(
"No LLM model configured. Set STRIX_LLM env or pass model= to run_strix_scan().",
)
logger.info("LLM model resolved: %s", resolved_model)
chat_completions_tools = uses_chat_completions_tool_schema(resolved_model, settings)
# Caller may pre-create the coordinator so it can route stop/chat
# commands while the scan loop runs in another thread.
@@ -178,6 +183,7 @@ async def run_strix_scan(
scan_mode=scan_mode,
is_whitebox=is_whitebox,
interactive=interactive,
chat_completions_tools=chat_completions_tools,
system_prompt_context=scope_context,
)
@@ -194,6 +200,7 @@ async def run_strix_scan(
scan_mode=scan_mode,
is_whitebox=is_whitebox,
interactive=interactive,
chat_completions_tools=chat_completions_tools,
system_prompt_context=scope_context,
)