from crewai import Agent
from crews.agromatrix_crew.llm_factory import make_llm

# v4.3/v4.4: farmos tools — fail-safe import
# Якщо agromatrix_tools недоступні в середовищі → tools залишається порожнім.
_farmos_tools: list = []
try:
    from agromatrix_tools.tool_farmos_read import farmos_ping as _farmos_ping
    _farmos_tools.append(_farmos_ping)
except Exception:
    pass
try:
    from agromatrix_tools.tool_farmos_read import farmos_read_logs as _farmos_read_logs
    _farmos_tools.append(_farmos_read_logs)
except Exception:
    pass
try:
    from agromatrix_tools.tool_farmos_read import farmos_search_assets as _farmos_search_assets
    _farmos_tools.append(_farmos_search_assets)
except Exception:
    pass


def build_operations():
    return Agent(
        role="Operations Agent",
        goal="Операційні дії по farmOS (читання/через integration write).",
        backstory="Ти працюєш з farmOS лише через інструменти. Прямі записи заборонені.",
        tools=_farmos_tools,
        llm=make_llm(),
        allow_delegation=False,
        verbose=True
    )
