{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--GitLoader.json",
  "title": "GitLoader",
  "description": "Loads files from a git repository. Uses raw git protocols, so this is not a GitHub specific implementation.",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/DocumentLoader/GitLoader.json",
    "sourceSha256": "76c431a24ba33728b56bad281ea4dec4ee73349556e4ec42608321f756f6da08"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "GitLoader",
      "title": "Implementation"
    },
    "url": {
      "description": "URL for source repository. Will be templated with envars.",
      "examples": [
        "https://github.com/eidolon-ai/eidolon.git",
        "https://{GITHUB_TOKEN}@github.com/eidolon-ai/eidolon.git"
      ],
      "title": "Url",
      "type": "string"
    },
    "branch": {
      "default": "HEAD",
      "description": "Branch, ref, or commit to load files from.",
      "title": "Branch",
      "type": "string"
    },
    "pattern": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      ],
      "default": "**",
      "description": "Blob pattern(s) of files to include.",
      "title": "Pattern"
    },
    "exclude": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      ],
      "default": [],
      "description": "Blob pattern(s) of files to exclude. Calculated after pattern (ei, files from pattern are selected, then any matching exclude are removed).",
      "title": "Exclude"
    }
  },
  "additionalProperties": false,
  "required": [
    "url",
    "implementation"
  ],
  "reference_details": {
    "clz": "eidolon_ai_sdk.agent.doc_manager.loaders.github_loader.GitLoader",
    "groups": [
      "DocumentLoader"
    ],
    "name": "GitLoader",
    "overrides": {}
  }
}
