# Tool-Only Actor
# Demonstrates an actor that only provides tools without LLM interaction

name: utilities/file_operations
type: tool
description: Collection of file operation tools for other actors to use
version: "1.0"

# Tool collection
tools:
  # Reference existing tools
  - files/read_file
  - files/write_file
  - files/delete_file
  - files/copy_file
  - files/move_file
  - files/list_directory
  - files/create_directory

  # Add custom validation tool
  - name: validators/check_python_syntax
    description: Validate Python file syntax without executing it
    parameters:
      - name: file_path
        type: str
        description: Path to Python file to validate
        required: true
    code: |
      import ast
      def check_python_syntax(file_path: str) -> dict:
          """Check if a Python file has valid syntax."""
          try:
              with open(file_path, 'r', encoding='utf-8') as f:
                  ast.parse(f.read())
              return {"valid": True, "error": None}
          except SyntaxError as e:
              return {
                  "valid": False,
                  "error": str(e),
                  "line": e.lineno,
                  "offset": e.offset
              }

# No LLM configuration needed for tool-only actors
# No system prompt needed
