{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "search_investors request",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language search query (e.g. 'seed investor in San Francisco')."
    },
    "stage": {
      "type": "string",
      "enum": ["pre-seed", "seed", "series-a", "series-b-plus"],
      "description": "Investment stage filter."
    },
    "category": {
      "type": "string",
      "description": "Sector or category keyword (e.g. 'fintech', 'AI infra')."
    },
    "geo": {
      "type": "string",
      "description": "Geography filter (e.g. 'San Francisco', 'Europe')."
    },
    "check_size": {
      "type": "string",
      "description": "Check size range (e.g. '$500K-$2M')."
    },
    "recent_window_days": {
      "type": "integer",
      "minimum": 1,
      "description": "Recency intent hint for the host assistant. Rocketplace ranking itself is not a verified date filter; use web/deep research to validate current activity when this is provided."
    },
    "interaction_traits": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Behavioral traits to filter on (e.g. ['responsive', 'gives-feedback'])."
    },
    "community_slug": {
      "type": "string",
      "description": "Restrict results to a specific community (e.g. 'mit', 'odf')."
    },
    "relationship_scope": {
      "type": "string",
      "enum": ["global", "my_network", "community"],
      "description": "Scope of relationship graph to search."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "default": 1,
      "description": "Page number (1-indexed)."
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Results per page."
    }
  },
  "required": ["query"]
}
