diff --git a/strix/agents/base_agent.py b/strix/agents/base_agent.py index 59557eb..7392e32 100644 --- a/strix/agents/base_agent.py +++ b/strix/agents/base_agent.py @@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Optional if TYPE_CHECKING: - from strix.interface.tracer import Tracer + from strix.telemetry.tracer import Tracer from jinja2 import ( Environment, @@ -77,7 +77,7 @@ class BaseAgent(metaclass=AgentMeta): self._current_task: asyncio.Task[Any] | None = None - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: @@ -150,7 +150,7 @@ class BaseAgent(metaclass=AgentMeta): async def agent_loop(self, task: str) -> dict[str, Any]: # noqa: PLR0912, PLR0915 await self._initialize_sandbox_and_state(task) - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() @@ -225,7 +225,7 @@ class BaseAgent(metaclass=AgentMeta): self.state.resume_from_waiting() self.state.add_message("assistant", "Waiting timeout reached. Resuming execution.") - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: @@ -407,7 +407,7 @@ class BaseAgent(metaclass=AgentMeta): state.resume_from_waiting() has_new_messages = True - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: @@ -416,7 +416,7 @@ class BaseAgent(metaclass=AgentMeta): state.resume_from_waiting() has_new_messages = True - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: @@ -458,7 +458,7 @@ class BaseAgent(metaclass=AgentMeta): message["read"] = True if has_new_messages and not state.is_waiting_for_input(): - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: diff --git a/strix/interface/cli.py b/strix/interface/cli.py index 46c32b0..af258e0 100644 --- a/strix/interface/cli.py +++ b/strix/interface/cli.py @@ -8,8 +8,8 @@ from rich.panel import Panel from rich.text import Text from strix.agents.StrixAgent import StrixAgent -from strix.interface.tracer import Tracer, set_global_tracer from strix.llm.config import LLMConfig +from strix.telemetry.tracer import Tracer, set_global_tracer async def run_cli(args: Any) -> None: # noqa: PLR0915 diff --git a/strix/interface/main.py b/strix/interface/main.py index 31f0bee..5bf9bfd 100644 --- a/strix/interface/main.py +++ b/strix/interface/main.py @@ -24,9 +24,9 @@ from rich.panel import Panel from rich.text import Text from strix.interface.cli import run_cli -from strix.interface.tracer import get_global_tracer from strix.interface.tui import run_tui from strix.runtime.docker_runtime import STRIX_IMAGE +from strix.telemetry.tracer import get_global_tracer logging.getLogger().setLevel(logging.ERROR) diff --git a/strix/interface/tui.py b/strix/interface/tui.py index 659b899..38dbe43 100644 --- a/strix/interface/tui.py +++ b/strix/interface/tui.py @@ -31,8 +31,8 @@ from textual.widgets import Button, Label, Static, TextArea, Tree from textual.widgets.tree import TreeNode from strix.agents.StrixAgent import StrixAgent -from strix.interface.tracer import Tracer, set_global_tracer from strix.llm.config import LLMConfig +from strix.telemetry.tracer import Tracer, set_global_tracer def escape_markup(text: str) -> str: diff --git a/strix/runtime/docker_runtime.py b/strix/runtime/docker_runtime.py index 0b896f2..fa7b5bf 100644 --- a/strix/runtime/docker_runtime.py +++ b/strix/runtime/docker_runtime.py @@ -40,7 +40,7 @@ class DockerRuntime(AbstractRuntime): def _get_scan_id(self, agent_id: str) -> str: try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer and tracer.scan_config: diff --git a/strix/telemetry/__init__.py b/strix/telemetry/__init__.py new file mode 100644 index 0000000..25902ed --- /dev/null +++ b/strix/telemetry/__init__.py @@ -0,0 +1,4 @@ +from .tracer import Tracer, get_global_tracer, set_global_tracer + + +__all__ = ["Tracer", "get_global_tracer", "set_global_tracer"] diff --git a/strix/interface/tracer.py b/strix/telemetry/tracer.py similarity index 100% rename from strix/interface/tracer.py rename to strix/telemetry/tracer.py diff --git a/strix/tools/agents_graph/agents_graph_actions.py b/strix/tools/agents_graph/agents_graph_actions.py index 7530ea2..379352a 100644 --- a/strix/tools/agents_graph/agents_graph_actions.py +++ b/strix/tools/agents_graph/agents_graph_actions.py @@ -491,7 +491,7 @@ def stop_agent(agent_id: str) -> dict[str, Any]: agent_node["status"] = "stopping" try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: @@ -582,7 +582,7 @@ def wait_for_message( _agent_graph["nodes"][agent_id]["waiting_reason"] = reason try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: diff --git a/strix/tools/executor.py b/strix/tools/executor.py index fef2a18..6dd1b04 100644 --- a/strix/tools/executor.py +++ b/strix/tools/executor.py @@ -240,7 +240,7 @@ async def _execute_single_tool( def _get_tracer_and_agent_id(agent_state: Any | None) -> tuple[Any | None, str]: try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() agent_id = agent_state.agent_id if agent_state else "unknown_agent" diff --git a/strix/tools/finish/finish_actions.py b/strix/tools/finish/finish_actions.py index ab041cf..42c3e67 100644 --- a/strix/tools/finish/finish_actions.py +++ b/strix/tools/finish/finish_actions.py @@ -107,7 +107,7 @@ def _check_active_agents(agent_state: Any = None) -> dict[str, Any] | None: def _finalize_with_tracer(content: str, success: bool) -> dict[str, Any]: try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: diff --git a/strix/tools/reporting/reporting_actions.py b/strix/tools/reporting/reporting_actions.py index 3f9b052..dd98d6d 100644 --- a/strix/tools/reporting/reporting_actions.py +++ b/strix/tools/reporting/reporting_actions.py @@ -27,7 +27,7 @@ def create_vulnerability_report( return {"success": False, "message": validation_error} try: - from strix.interface.tracer import get_global_tracer + from strix.telemetry.tracer import get_global_tracer tracer = get_global_tracer() if tracer: