// VAPORA Agent Definition Schema
// Defines the structure for all agent configurations

{
  AgentDefinition = {
    // Unique identifier for the agent role
    role | String,

    // Human-readable name
    name | String,

    // LLM provider configuration
    llm | {
      provider | String,
      model | String,
      max_tokens | Number | default = 4096,
      temperature | Number | default = 0.7,
    },

    // List of capabilities this agent has
    capabilities | Array String,

    // System prompt/instructions for the agent
    system_prompt | String,

    // Whether this agent modifies code (requires worktree isolation)
    modifies_code | Bool | default = false,

    // Maximum concurrent tasks this agent can handle
    max_concurrent_tasks | Number | default = 5,

    // Whether the agent is enabled by default
    enabled | Bool | default = true,
  },
}
