{
  "name": "Terrain Agent",
  "description": "Terrain's lead-pipeline agent. Finds local businesses, reads and updates the signed-in user's leads, runs enrichment, analysis, audits and services, and drives the visible Terrain map and workspace while it works.",
  "version": "1.0.0",
  "documentationUrl": "https://terrain.danejw.com/docs",
  "provider": {
    "organization": "Terrain",
    "url": "https://terrain.danejw.com"
  },
  "supportedInterfaces": [
    {
      "url": "https://cdfqzjoidnysabjrmazb.supabase.co/functions/v1/a2a-agent",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://a2ui.org/a2a/extension/v0.9.1",
        "description": "A2UI: the agent returns A2UI messages rendered as native Terrain floating panels.",
        "required": false,
        "params": {
          "a2uiVersion": "v0.9.1",
          "catalogId": "https://terrain.danejw.com/a2ui/terrain-catalog.json",
          "components": [
            "DiscoveryResultsPanel",
            "DiscoveryStatusPanel",
            "LeadSummaryPanel",
            "PipelineSummaryPanel",
            "TaskStatusPanel",
            "MessagePanel",
            "WebsitePanel",
            "AuditResultsPanel"
          ]
        }
      }
    ]
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json",
    "application/a2ui+json"
  ],
  "securitySchemes": {
    "terrainSession": {
      "type": "http",
      "scheme": "bearer",
      "bearerFormat": "JWT",
      "description": "A signed-in Terrain user session token."
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "terrainSession": {
          "values": []
        }
      }
    }
  ],
  "skills": [
    {
      "id": "terrain_operations",
      "name": "Terrain lead operations",
      "description": "One conversational skill over the whole Terrain pipeline: discovery, leads, enrichment, analysis, plans, services, audits, competitors, notes, outreach and pipeline stats, plus visible navigation and map control in the user's open Terrain workspace.",
      "tags": [
        "leads",
        "local-business",
        "discovery",
        "crm",
        "maps",
        "pipeline"
      ],
      "examples": [
        "Find roofing companies around Kapolei without websites.",
        "Show me the pipeline summary.",
        "Open the lead for Island Roofing and fly the map to it.",
        "Run the full pipeline on the newest discovered business."
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/plain",
        "application/json",
        "application/a2ui+json"
      ],
      "capabilities": [
        "list_leads",
        "get_lead",
        "find_business",
        "process_business_lead",
        "analyze_competitors",
        "get_competitor_analysis",
        "list_services",
        "start_service",
        "list_service_runs",
        "get_service_result",
        "get_billing_status",
        "get_credit_balance",
        "get_service_cost",
        "create_lead",
        "update_lead",
        "get_lead_enrichment",
        "get_lead_analysis",
        "get_lead_plan",
        "create_note",
        "get_notes",
        "get_stage_history",
        "get_outreach_log",
        "submit_feedback",
        "get_pipeline_stats"
      ]
    }
  ]
}