{
  "title": "GitHub repository watchlist",
  "type": "object",
  "schemaVersion": 1,
  "properties": {
    "repositories": {
      "title": "GitHub repositories",
      "type": "array",
      "editor": "stringList",
      "description": "Paste owner/repository or full https://github.com/owner/repository URLs. Public repositories only; up to10 per run. Empty input uses apify/crawlee.",
      "prefill": [
        "apify/crawlee"
      ],
      "items": {
        "type": "string"
      }
    },
    "maxResults": {
      "title": "Maximum saved repositories",
      "type": "integer",
      "editor": "number",
      "description": "Stop after this many confirmed saved repository observations.",
      "default": 10,
      "minimum": 1,
      "maximum": 10
    },
    "comparePrevious": {
      "title": "Compare with saved observations",
      "type": "boolean",
      "editor": "checkbox",
      "description": "First run establishes a baseline only after rows save. Reuse the same watchlist and snapshot name.",
      "default": false,
      "sectionCaption": "Monitoring"
    },
    "onlyChanges": {
      "title": "Save only changed observations",
      "type": "boolean",
      "editor": "checkbox",
      "description": "Enables comparison and skips unchanged repositories. An unchanged run can legitimately save zero rows.",
      "default": false
    },
    "snapshotName": {
      "title": "Snapshot name",
      "type": "string",
      "editor": "textfield",
      "description": "Separate monitoring histories. One writer per snapshot; no historical backfill.",
      "default": "default"
    },
    "maxRunSeconds": {
      "title": "Run budget in seconds",
      "type": "integer",
      "editor": "number",
      "description": "Requests share this wall-clock budget. Stops before platform timeout.",
      "default": 60,
      "minimum": 30,
      "maximum": 180,
      "sectionCaption": "Advanced limits"
    }
  }
}
