{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/mmerterden/multi-agent-pipeline/pipeline/schemas/repos.schema.json",
  "title": "Launch repositories",
  "description": "What GET /v1/repos returns and `launch-request.mjs repos` prints: the repositories POST /v1/launch?repo= accepts, by real path. source autopilot is a configured autopilot repo (config.json repos[], named by nameWithOwner); registered is one added with `launch-request.mjs register-repo` (launch-repos.json, named by its directory). path is dropped under redact.",
  "type": "object",
  "additionalProperties": false,
  "required": ["contractVersion", "repos"],
  "properties": {
    "contractVersion": {
      "type": "string",
      "pattern": "^1\\.[0-9]+\\.[0-9]+$",
      "x-sensitivity": "none"
    },
    "repos": {
      "type": "array",
      "x-sensitivity": "none",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "source"],
        "properties": {
          "path": {
            "type": "string",
            "x-sensitivity": "local"
          },
          "name": {
            "type": "string",
            "x-sensitivity": "none"
          },
          "source": {
            "enum": ["autopilot", "registered"],
            "x-sensitivity": "none"
          }
        }
      }
    }
  }
}
