# Tool Rollout Configuration
# Defines default tool groups and role → tools mapping
# Used by agent_tools_config.py for automatic merge policy
#
# Syntax:
#   - @group_name   → expands to all tools in that group
#   - tool_name     → literal tool name

# ─── Tool Groups ────────────────────────────────────────────────────────────

default_tools_read:
  - repo_tool
  - kb_tool
  - oncall_tool
  - observability_tool
  - memory_search
  - graph_query
  - web_search
  - web_extract
  - remember_fact

cto_tools:
  - pr_reviewer_tool
  - contract_tool
  - config_linter_tool
  - threatmodel_tool
  - job_orchestrator_tool
  - dependency_scanner_tool
  - drift_analyzer_tool
  - cost_analyzer_tool
  - data_governance_tool
  - calendar_tool
  - agent_email_tool
  - browser_tool
  - safe_code_executor_tool
  - secure_vault_tool

content_tools:
  - image_generate
  - tts_speak
  - presentation_create
  - presentation_status
  - presentation_download
  - file_tool
  - crawl4ai_scrape

media_tools:
  - comfy_generate_image
  - comfy_generate_video

# ─── Role Map ────────────────────────────────────────────────────────────────
# Maps role → list of tool groups/tools
# Agents inherit tools from their role automatically.
# agent_specific tools are additive on top of role tools.

role_map:
  agent_default:
    # All agents get read + content tools by default
    tools:
      - "@default_tools_read"
      - "@content_tools"

  agent_cto:
    # CTO-role agents (sofiia, yaromir) get everything
    tools:
      - "@default_tools_read"
      - "@cto_tools"
      - "@content_tools"
      - "@media_tools"

  agent_oncall:
    # Oncall agents: read + job orchestration
    tools:
      - "@default_tools_read"
      - job_orchestrator_tool

  agent_media:
    # Media/content agents: read + all media
    tools:
      - "@default_tools_read"
      - "@content_tools"
      - "@media_tools"

  agent_monitor:
    # Monitor agents (per-node): read-only observability + health + KB
    tools:
      - observability_tool
      - oncall_tool
      - kb_tool

  agent_interface:
    # Interface agents (AISTALK): minimal read + incident list
    tools:
      - kb_tool
      - oncall_tool

# ─── Agent → Role Assignment ─────────────────────────────────────────────────
agent_roles:
  sofiia: agent_cto
  admin: agent_cto
  yaromir: agent_cto
  helion: agent_oncall
  alateya: agent_media
  nutra: agent_media
  agromatrix: agent_media
  greenfood: agent_media
  druid: agent_media
  daarwizz: agent_default
  clan: agent_default
  eonarch: agent_media
  senpai: agent_default
  soul: agent_media
  daarion: agent_media
  oneok: agent_default
  # Infrastructure / monitoring agents
  monitor: agent_monitor
  aistalk: agent_interface
  # Fallback: unknown agents get agent_default
