{
  "name": "mydoclist.com",
  "description": "AI-powered provider search and CRM for healthcare teams",
  "version": "1.0",
  "discovery": "window.AITools.getCapabilities()",
  "readiness": {
    "property": "window.AITools.ready",
    "event": "ai-tools-ready"
  },
  "tools": {
    "getCapabilities": {
      "description": "Returns available tools and their descriptions",
      "auth": false,
      "returns": "object"
    },
    "getState": {
      "description": "Get current app state: auth status, active view, search context",
      "auth": false,
      "returns": "AIAppState"
    },
    "getProviders": {
      "description": "Get all providers from current search results as structured JSON",
      "auth": false,
      "returns": "AIProvider[]"
    },
    "getProvider": {
      "description": "Get a single provider by place_id from current results",
      "auth": false,
      "params": { "placeId": "string" },
      "returns": "AIProvider | null"
    },
    "getStatusSummary": {
      "description": "Get a count of providers by CRM status in current results",
      "auth": false,
      "returns": "Record<string, number>"
    },
    "compareProviders": {
      "description": "Get side-by-side comparison data for 2-10 providers by place_id",
      "auth": false,
      "params": { "placeIds": "string[]" },
      "returns": "AIProvider[]"
    },
    "search": {
      "description": "Search for providers by query and location. Waits for results and returns them.",
      "auth": false,
      "params": { "query": "string", "location": "string" },
      "returns": "Promise<AIProvider[]>"
    },
    "updateProviderStatus": {
      "description": "Set or clear a provider's CRM status",
      "auth": false,
      "params": { "placeId": "string", "status": "ProviderStatus | undefined" }
    },
    "bulkClassify": {
      "description": "Set status on multiple providers at once",
      "auth": false,
      "params": { "updates": "Array<{ placeId, status }>" }
    },
    "createCampaign": {
      "description": "Create a new campaign/list for organizing providers",
      "auth": true,
      "params": { "name": "string", "description": "string?" },
      "returns": "Promise<{ id, name }>"
    },
    "addProviderToCampaign": {
      "description": "Add a provider to an existing campaign",
      "auth": true,
      "params": { "placeId": "string", "campaignId": "string" },
      "returns": "Promise<{ success, error? }>"
    },
    "exportCurrentViewToCSV": {
      "description": "Download CSV of current search results",
      "auth": false
    },
    "runDeepSearch": {
      "description": "Run full background analysis on a provider. Takes 2-10 seconds.",
      "auth": false,
      "params": { "placeId": "string" },
      "returns": "Promise<ProviderDossierPayload>"
    },
    "renderDashboard": {
      "description": "Render charts in the projection panel. Supports bar, pie, line, stat, and table.",
      "auth": false,
      "params": { "config": "AIDashboardConfig" }
    },
    "clearDashboard": {
      "description": "Close the projection panel and clear all charts",
      "auth": false
    }
  },
  "statuses": ["soft_lead", "hard_lead", "existing", "non_target", "does_not_exist"],
  "chartTypes": ["bar", "pie", "line", "stat", "table"]
}
