{
  "$schema": "https://json-schema.org/schema",
  "version": 2,
  "$id": "r2-upload-publish",
  "title": "Cloudflare R2 Bucket Upload Publish",
  "description": "Publish files in a package by uploading the contents to a Cloudflare R2 bucket",
  "type": "object",
  "properties": {
    "registry": {
      "type": "string",
      "description": "The URL of the R2 bucket to publish the package to.",
      "format": "uri"
    },
    "bucketId": {
      "type": "string",
      "description": "The ID of the R2 Bucket in Cloudflare."
    },
    "packageRoot": {
      "type": "string",
      "description": "The root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root."
    },
    "tsConfig": {
      "type": "string",
      "description": "The path to the `tsconfig.json` file.",
      "x-completion-type": "file",
      "x-completion-glob": "tsconfig*.json",
      "x-priority": "important",
      "default": "{projectRoot}/tsconfig.json"
    },
    "dryRun": {
      "type": "boolean",
      "description": "Whether to run the command without actually publishing the package to the registry.",
      "default": false
    },
    "verbose": {
      "type": "boolean",
      "description": "Should write extra log outputs with details from the executor.",
      "default": false
    }
  },
  "required": ["tsConfig", "registry"]
}
