# Snapshot report for `test.js`

The actual snapshot is saved in `test.js.snap`.

Generated by [AVA](https://ava.li).

## hello-world

> Snapshot 1

    {
      components: {
        schemas: {},
      },
      info: {
        title: 'hello-world',
        version: 'v0.1.0',
      },
      openapi: '3.0.2',
      paths: {
        '/1/call/transitive-bullshit/hello-world@6ed513d4': {
          get: {
            parameters: [
              {
                in: 'query',
                name: 'name',
                schema: {
                  default: 'World',
                  type: 'string',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## hello-world-get

> Snapshot 1

    {
      components: {
        schemas: {},
      },
      info: {
        title: 'hello-world-get',
        version: 'v1',
      },
      openapi: '3.0.2',
      paths: {
        '/': {
          get: {
            parameters: [
              {
                in: 'query',
                name: 'name',
                schema: {
                  default: 'World',
                  type: 'string',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## hello-world-required-query-param

> Snapshot 1

    {
      components: {
        schemas: {},
      },
      info: {
        title: 'hello-world-required-query-param',
        version: 'v1',
      },
      openapi: '3.0.2',
      paths: {
        '/': {
          get: {
            parameters: [
              {
                in: 'query',
                name: 'name',
                required: true,
                schema: {
                  type: 'string',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## imagemin

> Snapshot 1

    {
      components: {
        schemas: {},
      },
      info: {
        title: 'imagemin',
        version: 'v1',
      },
      openapi: '3.0.2',
      paths: {
        '/': {
          post: {
            requestBody: {
              content: {
                'application/json': {
                  schema: {
                    additionalProperties: false,
                    properties: {
                      image: {
                        type: 'string',
                      },
                    },
                    required: [
                      'image',
                    ],
                    type: 'object',
                  },
                },
              },
              required: true,
            },
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## puppeteer-example

> Snapshot 1

    {
      components: {
        schemas: {
          ImageFormat: {
            enum: [
              'jpg',
              'png',
            ],
            type: 'string',
          },
        },
      },
      info: {
        title: 'puppeteer',
        version: 'v1',
      },
      openapi: '3.0.2',
      paths: {
        '/': {
          post: {
            requestBody: {
              content: {
                'application/json': {
                  schema: {
                    additionalProperties: false,
                    properties: {
                      type: {
                        default: 'png',
                        enum: [
                          'jpg',
                          'png',
                        ],
                        type: 'string',
                      },
                      url: {
                        type: 'string',
                      },
                    },
                    required: [
                      'url',
                    ],
                    type: 'object',
                  },
                },
              },
              required: true,
            },
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## sharp

> Snapshot 1

    {
      components: {
        schemas: {
          Create: {
            additionalProperties: false,
            properties: {
              background: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
              },
              channels: {
                description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                enum: [
                  3,
                  4,
                ],
                type: 'number',
              },
              height: {
                description: 'Number of pixels high.',
                type: 'number',
              },
              width: {
                description: 'Number of pixels wide.',
                type: 'number',
              },
            },
            required: [
              'background',
              'channels',
              'height',
              'width',
            ],
            type: 'object',
          },
          ExtendOptions: {
            additionalProperties: false,
            properties: {
              background: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
              },
              bottom: {
                type: 'number',
              },
              left: {
                type: 'number',
              },
              right: {
                type: 'number',
              },
              top: {
                type: 'number',
              },
            },
            type: 'object',
          },
          FlattenOptions: {
            additionalProperties: false,
            properties: {
              background: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
              },
            },
            type: 'object',
          },
          ImageOperation: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationBandBool: {
            additionalProperties: false,
            properties: {
              boolOp: {
                type: 'string',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'boolOp',
              'op',
            ],
            type: 'object',
          },
          ImageOperationBlur: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              sigma: {
                type: 'number',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationBoolean: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              operand: {
                type: 'string',
              },
              operator: {
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  raw: {
                    additionalProperties: false,
                    properties: {
                      channels: {
                        enum: [
                          1,
                          2,
                          3,
                          4,
                        ],
                        type: 'number',
                      },
                      height: {
                        type: 'number',
                      },
                      width: {
                        type: 'number',
                      },
                    },
                    required: [
                      'channels',
                      'height',
                      'width',
                    ],
                    type: 'object',
                  },
                },
                required: [
                  'raw',
                ],
                type: 'object',
              },
            },
            required: [
              'op',
              'operand',
              'operator',
            ],
            type: 'object',
          },
          ImageOperationComposite: {
            additionalProperties: false,
            properties: {
              images: {
                items: {
                  additionalProperties: false,
                  properties: {
                    blend: {
                      description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
                      enum: [
                        'add',
                        'atop',
                        'clear',
                        'colour-burn',
                        'colour-dodge',
                        'darken',
                        'dest',
                        'dest-atop',
                        'dest-in',
                        'dest-out',
                        'dest-over',
                        'difference',
                        'exclusion',
                        'hard-light',
                        'in',
                        'lighten',
                        'multiply',
                        'out',
                        'over',
                        'overlay',
                        'saturate',
                        'screen',
                        'soft-light',
                        'source',
                        'xor',
                      ],
                      type: 'string',
                    },
                    density: {
                      description: 'number representing the DPI for vector overlay image. (optional, default 72)',
                      type: 'number',
                    },
                    gravity: {
                      description: 'gravity at which to place the overlay. (optional, default \'centre\')',
                      type: 'string',
                    },
                    input: {
                      anyOf: [
                        {
                          description: `Raw data is stored in instances of the Buffer class.␊
                          A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.  A Buffer cannot be resized.␊
                          Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
                          items: {
                            type: 'number',
                          },
                          type: 'array',
                        },
                        {
                          additionalProperties: false,
                          properties: {
                            create: {
                              additionalProperties: false,
                              properties: {
                                background: {
                                  anyOf: [
                                    {
                                      additionalProperties: false,
                                      properties: {
                                        alpha: {
                                          type: 'number',
                                        },
                                        b: {
                                          type: 'number',
                                        },
                                        g: {
                                          type: 'number',
                                        },
                                        r: {
                                          type: 'number',
                                        },
                                      },
                                      type: 'object',
                                    },
                                    {
                                      type: 'string',
                                    },
                                  ],
                                  description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
                                },
                                channels: {
                                  description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                                  enum: [
                                    3,
                                    4,
                                  ],
                                  type: 'number',
                                },
                                height: {
                                  description: 'Number of pixels high.',
                                  type: 'number',
                                },
                                width: {
                                  description: 'Number of pixels wide.',
                                  type: 'number',
                                },
                              },
                              required: [
                                'background',
                                'channels',
                                'height',
                                'width',
                              ],
                              type: 'object',
                            },
                          },
                          required: [
                            'create',
                          ],
                          type: 'object',
                        },
                        {
                          type: 'string',
                        },
                      ],
                      description: 'Buffer containing image data, String containing the path to an image file, or Create object',
                    },
                    left: {
                      description: 'the pixel offset from the left edge.',
                      type: 'number',
                    },
                    premultiplied: {
                      description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
                      type: 'boolean',
                    },
                    raw: {
                      additionalProperties: false,
                      description: 'describes overlay when using raw pixel data.',
                      properties: {
                        channels: {
                          enum: [
                            1,
                            2,
                            3,
                            4,
                          ],
                          type: 'number',
                        },
                        height: {
                          type: 'number',
                        },
                        width: {
                          type: 'number',
                        },
                      },
                      required: [
                        'channels',
                        'height',
                        'width',
                      ],
                      type: 'object',
                    },
                    tile: {
                      description: 'set to true to repeat the overlay image across the entire image with the given  gravity. (optional, default false)',
                      type: 'boolean',
                    },
                    top: {
                      description: 'the pixel offset from the top edge.',
                      type: 'number',
                    },
                  },
                  type: 'object',
                },
                type: 'array',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'images',
              'op',
            ],
            type: 'object',
          },
          ImageOperationConvolve: {
            additionalProperties: false,
            properties: {
              kernel: {
                additionalProperties: false,
                properties: {
                  height: {
                    description: 'height of the kernel in pixels.',
                    type: 'number',
                  },
                  kernel: {
                    description: 'Array of length width*height containing the kernel values.',
                    items: {
                      type: 'number',
                    },
                    type: 'array',
                  },
                  offset: {
                    description: 'the offset of the kernel in pixels. (optional, default 0)',
                    type: 'number',
                  },
                  scale: {
                    description: 'the scale of the kernel in pixels. (optional, default sum)',
                    type: 'number',
                  },
                  width: {
                    description: 'width of the kernel in pixels.',
                    type: 'number',
                  },
                },
                required: [
                  'height',
                  'kernel',
                  'width',
                ],
                type: 'object',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'kernel',
              'op',
            ],
            type: 'object',
          },
          ImageOperationEnsureAlpha: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationExtend: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  background: {
                    anyOf: [
                      {
                        additionalProperties: false,
                        properties: {
                          alpha: {
                            type: 'number',
                          },
                          b: {
                            type: 'number',
                          },
                          g: {
                            type: 'number',
                          },
                          r: {
                            type: 'number',
                          },
                        },
                        type: 'object',
                      },
                      {
                        type: 'string',
                      },
                    ],
                    description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
                  },
                  bottom: {
                    type: 'number',
                  },
                  left: {
                    type: 'number',
                  },
                  right: {
                    type: 'number',
                  },
                  top: {
                    type: 'number',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationExtract: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              region: {
                additionalProperties: false,
                properties: {
                  height: {
                    description: 'dimension of extracted image',
                    type: 'number',
                  },
                  left: {
                    description: 'zero-indexed offset from left edge',
                    type: 'number',
                  },
                  top: {
                    description: 'zero-indexed offset from top edge',
                    type: 'number',
                  },
                  width: {
                    description: 'dimension of extracted image',
                    type: 'number',
                  },
                },
                required: [
                  'height',
                  'left',
                  'top',
                  'width',
                ],
                type: 'object',
              },
            },
            required: [
              'op',
              'region',
            ],
            type: 'object',
          },
          ImageOperationExtractChannel: {
            additionalProperties: false,
            properties: {
              channel: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'channel',
              'op',
            ],
            type: 'object',
          },
          ImageOperationFlatten: {
            additionalProperties: false,
            properties: {
              flatten: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      background: {
                        anyOf: [
                          {
                            additionalProperties: false,
                            properties: {
                              alpha: {
                                type: 'number',
                              },
                              b: {
                                type: 'number',
                              },
                              g: {
                                type: 'number',
                              },
                              r: {
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                          {
                            type: 'string',
                          },
                        ],
                        description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'boolean',
                  },
                ],
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationFlip: {
            additionalProperties: false,
            properties: {
              flip: {
                type: 'boolean',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationFlop: {
            additionalProperties: false,
            properties: {
              flop: {
                type: 'boolean',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationGamma: {
            additionalProperties: false,
            properties: {
              gamma: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationGreyscale: {
            additionalProperties: false,
            properties: {
              greyscale: {
                type: 'boolean',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationJpeg: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  chromaSubsampling: {
                    description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
                    type: 'string',
                  },
                  force: {
                    description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                    type: 'boolean',
                  },
                  optimiseCoding: {
                    description: 'Optimise Huffman coding tables (optional, default true)',
                    type: 'boolean',
                  },
                  optimiseScans: {
                    description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
                    type: 'boolean',
                  },
                  optimizeCoding: {
                    description: 'Alternative spelling of optimiseCoding (optional, default true)',
                    type: 'boolean',
                  },
                  optimizeScans: {
                    description: 'Alternative spelling of optimiseScans (optional, default false)',
                    type: 'boolean',
                  },
                  overshootDeringing: {
                    description: 'Apply overshoot deringing, requires mozjpeg (optional, default  false)',
                    type: 'boolean',
                  },
                  progressive: {
                    description: 'Use progressive (interlace) scan (optional, default false)',
                    type: 'boolean',
                  },
                  quality: {
                    description: 'Quality, integer 1-100 (optional, default 80)',
                    type: 'number',
                  },
                  quantisationTable: {
                    description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
                    type: 'number',
                  },
                  quantizationTable: {
                    description: 'Alternative spelling of quantisationTable (optional, default 0)',
                    type: 'number',
                  },
                  trellisQuantisation: {
                    description: 'Apply trellis quantisation, requires mozjpeg (optional, default  false)',
                    type: 'boolean',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationLimitInputPixels: {
            additionalProperties: false,
            properties: {
              limit: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'limit',
              'op',
            ],
            type: 'object',
          },
          ImageOperationLinear: {
            additionalProperties: false,
            properties: {
              a: {
                type: 'number',
              },
              b: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationMedian: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              size: {
                type: 'number',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationModulate: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  brightness: {
                    type: 'number',
                  },
                  hue: {
                    type: 'number',
                  },
                  saturation: {
                    type: 'number',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationNegate: {
            additionalProperties: false,
            properties: {
              negate: {
                type: 'boolean',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationNormalize: {
            additionalProperties: false,
            properties: {
              normalize: {
                type: 'boolean',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationPng: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  adaptiveFiltering: {
                    description: 'use adaptive row filtering (optional, default false)',
                    type: 'boolean',
                  },
                  colors: {
                    description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
                    type: 'number',
                  },
                  colours: {
                    description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
                    type: 'number',
                  },
                  compressionLevel: {
                    description: 'zlib compression level, 0-9 (optional, default 9)',
                    type: 'number',
                  },
                  dither: {
                    description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
                    type: 'number',
                  },
                  force: {
                    description: 'Force PNG output, otherwise attempt to use input format (optional, default  true)',
                    type: 'boolean',
                  },
                  palette: {
                    description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
                    type: 'boolean',
                  },
                  progressive: {
                    description: 'Use progressive (interlace) scan (optional, default false)',
                    type: 'boolean',
                  },
                  quality: {
                    description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
                    type: 'number',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationRecomb: {
            additionalProperties: false,
            properties: {
              inputMatrix: {
                items: {
                  type: 'number',
                },
                minItems: 3,
                type: 'array',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'inputMatrix',
              'op',
            ],
            type: 'object',
          },
          ImageOperationRemoveAlpha: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationResize: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  background: {
                    anyOf: [
                      {
                        additionalProperties: false,
                        properties: {
                          alpha: {
                            type: 'number',
                          },
                          b: {
                            type: 'number',
                          },
                          g: {
                            type: 'number',
                          },
                          r: {
                            type: 'number',
                          },
                        },
                        type: 'object',
                      },
                      {
                        type: 'string',
                      },
                    ],
                    description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
                  },
                  fastShrinkOnLoad: {
                    description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
                    type: 'boolean',
                  },
                  fit: {
                    description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
                    enum: [
                      'contain',
                      'cover',
                      'fill',
                      'inside',
                      'outside',
                    ],
                    type: 'string',
                  },
                  height: {
                    description: 'Alternative means of specifying height. If both are present this take priority.',
                    type: 'number',
                  },
                  kernel: {
                    description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
                    enum: [
                      'cubic',
                      'lanczos2',
                      'lanczos3',
                      'mitchell',
                      'nearest',
                    ],
                    type: 'string',
                  },
                  position: {
                    description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
                    type: 'string',
                  },
                  width: {
                    description: 'Alternative means of specifying width. If both are present this take priority.',
                    type: 'number',
                  },
                  withoutEnlargement: {
                    description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
                    type: 'boolean',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationRotate: {
            additionalProperties: false,
            properties: {
              angle: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  background: {
                    anyOf: [
                      {
                        additionalProperties: false,
                        properties: {
                          alpha: {
                            type: 'number',
                          },
                          b: {
                            type: 'number',
                          },
                          g: {
                            type: 'number',
                          },
                          r: {
                            type: 'number',
                          },
                        },
                        type: 'object',
                      },
                      {
                        type: 'string',
                      },
                    ],
                    description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationSharpen: {
            additionalProperties: false,
            properties: {
              flat: {
                type: 'number',
              },
              jagged: {
                type: 'number',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              sigma: {
                type: 'number',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationThreshold: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  grayscale: {
                    description: 'alternative spelling for greyscale. (optional, default true)',
                    type: 'boolean',
                  },
                  greyscale: {
                    description: 'convert to single channel greyscale. (optional, default true)',
                    type: 'boolean',
                  },
                },
                type: 'object',
              },
              threshold: {
                type: 'number',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationTiff: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  compression: {
                    description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
                    type: 'string',
                  },
                  force: {
                    description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                    type: 'boolean',
                  },
                  predictor: {
                    description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
                    type: 'string',
                  },
                  quality: {
                    description: 'Quality, integer 1-100 (optional, default 80)',
                    type: 'number',
                  },
                  squash: {
                    description: 'Squash 8-bit images down to 1 bit (optional, default false)',
                    type: 'boolean',
                  },
                  xres: {
                    description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
                    type: 'number',
                  },
                  yres: {
                    description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
                    type: 'number',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationTint: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              rgb: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
              },
            },
            required: [
              'op',
              'rgb',
            ],
            type: 'object',
          },
          ImageOperationToColorSpace: {
            additionalProperties: false,
            properties: {
              colorSpace: {
                type: 'string',
              },
              colorspace: {
                type: 'string',
              },
              colourSpace: {
                type: 'string',
              },
              colourspace: {
                type: 'string',
              },
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationTrim: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              threshold: {
                type: 'number',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationType: {
            enum: [
              'bandBool',
              'bandbool',
              'blur',
              'boolean',
              'composite',
              'convolve',
              'ensureAlpha',
              'extend',
              'extract',
              'extractChannel',
              'flatten',
              'flip',
              'flop',
              'gamma',
              'grayscale',
              'greyscale',
              'jpeg',
              'limitInputPixels',
              'linear',
              'median',
              'meta',
              'metadata',
              'modulate',
              'negate',
              'normalise',
              'normalize',
              'png',
              'raw',
              'recomb',
              'removeAlpha',
              'resize',
              'rotate',
              'sharpen',
              'stats',
              'threshold',
              'tiff',
              'tint',
              'toColorSpace',
              'toColorspace',
              'toColourSpace',
              'toColourspace',
              'trim',
              'webp',
              'withMetadata',
            ],
            type: 'string',
          },
          ImageOperationWebp: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  alphaQuality: {
                    description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
                    type: 'number',
                  },
                  force: {
                    description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                    type: 'boolean',
                  },
                  lossless: {
                    description: 'Use lossless compression mode (optional, default false)',
                    type: 'boolean',
                  },
                  nearLossless: {
                    description: 'Use near_lossless compression mode (optional, default false)',
                    type: 'boolean',
                  },
                  quality: {
                    description: 'Quality, integer 1-100 (optional, default 80)',
                    type: 'number',
                  },
                  reductionEffort: {
                    description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
                    type: 'number',
                  },
                  smartSubsample: {
                    description: 'Use high quality chroma subsampling (optional, default false)',
                    type: 'boolean',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          ImageOperationWithMetadata: {
            additionalProperties: false,
            properties: {
              op: {
                enum: [
                  'bandBool',
                  'bandbool',
                  'blur',
                  'boolean',
                  'composite',
                  'convolve',
                  'ensureAlpha',
                  'extend',
                  'extract',
                  'extractChannel',
                  'flatten',
                  'flip',
                  'flop',
                  'gamma',
                  'grayscale',
                  'greyscale',
                  'jpeg',
                  'limitInputPixels',
                  'linear',
                  'median',
                  'meta',
                  'metadata',
                  'modulate',
                  'negate',
                  'normalise',
                  'normalize',
                  'png',
                  'raw',
                  'recomb',
                  'removeAlpha',
                  'resize',
                  'rotate',
                  'sharpen',
                  'stats',
                  'threshold',
                  'tiff',
                  'tint',
                  'toColorSpace',
                  'toColorspace',
                  'toColourSpace',
                  'toColourspace',
                  'trim',
                  'webp',
                  'withMetadata',
                ],
                type: 'string',
              },
              options: {
                additionalProperties: false,
                properties: {
                  orientation: {
                    description: 'Number value of the EXIF Orientation header, if present',
                    type: 'number',
                  },
                },
                type: 'object',
              },
            },
            required: [
              'op',
            ],
            type: 'object',
          },
          JpegOptions: {
            additionalProperties: false,
            properties: {
              chromaSubsampling: {
                description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
                type: 'string',
              },
              force: {
                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                type: 'boolean',
              },
              optimiseCoding: {
                description: 'Optimise Huffman coding tables (optional, default true)',
                type: 'boolean',
              },
              optimiseScans: {
                description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
                type: 'boolean',
              },
              optimizeCoding: {
                description: 'Alternative spelling of optimiseCoding (optional, default true)',
                type: 'boolean',
              },
              optimizeScans: {
                description: 'Alternative spelling of optimiseScans (optional, default false)',
                type: 'boolean',
              },
              overshootDeringing: {
                description: 'Apply overshoot deringing, requires mozjpeg (optional, default  false)',
                type: 'boolean',
              },
              progressive: {
                description: 'Use progressive (interlace) scan (optional, default false)',
                type: 'boolean',
              },
              quality: {
                description: 'Quality, integer 1-100 (optional, default 80)',
                type: 'number',
              },
              quantisationTable: {
                description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
                type: 'number',
              },
              quantizationTable: {
                description: 'Alternative spelling of quantisationTable (optional, default 0)',
                type: 'number',
              },
              trellisQuantisation: {
                description: 'Apply trellis quantisation, requires mozjpeg (optional, default  false)',
                type: 'boolean',
              },
            },
            type: 'object',
          },
          Kernel: {
            additionalProperties: false,
            properties: {
              height: {
                description: 'height of the kernel in pixels.',
                type: 'number',
              },
              kernel: {
                description: 'Array of length width*height containing the kernel values.',
                items: {
                  type: 'number',
                },
                type: 'array',
              },
              offset: {
                description: 'the offset of the kernel in pixels. (optional, default 0)',
                type: 'number',
              },
              scale: {
                description: 'the scale of the kernel in pixels. (optional, default sum)',
                type: 'number',
              },
              width: {
                description: 'width of the kernel in pixels.',
                type: 'number',
              },
            },
            required: [
              'height',
              'kernel',
              'width',
            ],
            type: 'object',
          },
          OverlayOptions: {
            additionalProperties: false,
            properties: {
              blend: {
                description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
                enum: [
                  'add',
                  'atop',
                  'clear',
                  'colour-burn',
                  'colour-dodge',
                  'darken',
                  'dest',
                  'dest-atop',
                  'dest-in',
                  'dest-out',
                  'dest-over',
                  'difference',
                  'exclusion',
                  'hard-light',
                  'in',
                  'lighten',
                  'multiply',
                  'out',
                  'over',
                  'overlay',
                  'saturate',
                  'screen',
                  'soft-light',
                  'source',
                  'xor',
                ],
                type: 'string',
              },
              density: {
                description: 'number representing the DPI for vector overlay image. (optional, default 72)',
                type: 'number',
              },
              gravity: {
                description: 'gravity at which to place the overlay. (optional, default \'centre\')',
                type: 'string',
              },
              input: {
                anyOf: [
                  {
                    description: `Raw data is stored in instances of the Buffer class.␊
                    A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.  A Buffer cannot be resized.␊
                    Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
                    items: {
                      type: 'number',
                    },
                    type: 'array',
                  },
                  {
                    additionalProperties: false,
                    properties: {
                      create: {
                        additionalProperties: false,
                        properties: {
                          background: {
                            anyOf: [
                              {
                                additionalProperties: false,
                                properties: {
                                  alpha: {
                                    type: 'number',
                                  },
                                  b: {
                                    type: 'number',
                                  },
                                  g: {
                                    type: 'number',
                                  },
                                  r: {
                                    type: 'number',
                                  },
                                },
                                type: 'object',
                              },
                              {
                                type: 'string',
                              },
                            ],
                            description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
                          },
                          channels: {
                            description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                            enum: [
                              3,
                              4,
                            ],
                            type: 'number',
                          },
                          height: {
                            description: 'Number of pixels high.',
                            type: 'number',
                          },
                          width: {
                            description: 'Number of pixels wide.',
                            type: 'number',
                          },
                        },
                        required: [
                          'background',
                          'channels',
                          'height',
                          'width',
                        ],
                        type: 'object',
                      },
                    },
                    required: [
                      'create',
                    ],
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'Buffer containing image data, String containing the path to an image file, or Create object',
              },
              left: {
                description: 'the pixel offset from the left edge.',
                type: 'number',
              },
              premultiplied: {
                description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
                type: 'boolean',
              },
              raw: {
                additionalProperties: false,
                description: 'describes overlay when using raw pixel data.',
                properties: {
                  channels: {
                    enum: [
                      1,
                      2,
                      3,
                      4,
                    ],
                    type: 'number',
                  },
                  height: {
                    type: 'number',
                  },
                  width: {
                    type: 'number',
                  },
                },
                required: [
                  'channels',
                  'height',
                  'width',
                ],
                type: 'object',
              },
              tile: {
                description: 'set to true to repeat the overlay image across the entire image with the given  gravity. (optional, default false)',
                type: 'boolean',
              },
              top: {
                description: 'the pixel offset from the top edge.',
                type: 'number',
              },
            },
            type: 'object',
          },
          PngOptions: {
            additionalProperties: false,
            properties: {
              adaptiveFiltering: {
                description: 'use adaptive row filtering (optional, default false)',
                type: 'boolean',
              },
              colors: {
                description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
                type: 'number',
              },
              colours: {
                description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
                type: 'number',
              },
              compressionLevel: {
                description: 'zlib compression level, 0-9 (optional, default 9)',
                type: 'number',
              },
              dither: {
                description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
                type: 'number',
              },
              force: {
                description: 'Force PNG output, otherwise attempt to use input format (optional, default  true)',
                type: 'boolean',
              },
              palette: {
                description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
                type: 'boolean',
              },
              progressive: {
                description: 'Use progressive (interlace) scan (optional, default false)',
                type: 'boolean',
              },
              quality: {
                description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
                type: 'number',
              },
            },
            type: 'object',
          },
          RGBA: {
            additionalProperties: false,
            properties: {
              alpha: {
                type: 'number',
              },
              b: {
                type: 'number',
              },
              g: {
                type: 'number',
              },
              r: {
                type: 'number',
              },
            },
            type: 'object',
          },
          Raw: {
            additionalProperties: false,
            properties: {
              channels: {
                enum: [
                  1,
                  2,
                  3,
                  4,
                ],
                type: 'number',
              },
              height: {
                type: 'number',
              },
              width: {
                type: 'number',
              },
            },
            required: [
              'channels',
              'height',
              'width',
            ],
            type: 'object',
          },
          Region: {
            additionalProperties: false,
            properties: {
              height: {
                description: 'dimension of extracted image',
                type: 'number',
              },
              left: {
                description: 'zero-indexed offset from left edge',
                type: 'number',
              },
              top: {
                description: 'zero-indexed offset from top edge',
                type: 'number',
              },
              width: {
                description: 'dimension of extracted image',
                type: 'number',
              },
            },
            required: [
              'height',
              'left',
              'top',
              'width',
            ],
            type: 'object',
          },
          ResizeOptions: {
            additionalProperties: false,
            properties: {
              background: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
              },
              fastShrinkOnLoad: {
                description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
                type: 'boolean',
              },
              fit: {
                description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
                enum: [
                  'contain',
                  'cover',
                  'fill',
                  'inside',
                  'outside',
                ],
                type: 'string',
              },
              height: {
                description: 'Alternative means of specifying height. If both are present this take priority.',
                type: 'number',
              },
              kernel: {
                description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
                enum: [
                  'cubic',
                  'lanczos2',
                  'lanczos3',
                  'mitchell',
                  'nearest',
                ],
                type: 'string',
              },
              position: {
                description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
                type: 'string',
              },
              width: {
                description: 'Alternative means of specifying width. If both are present this take priority.',
                type: 'number',
              },
              withoutEnlargement: {
                description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
                type: 'boolean',
              },
            },
            type: 'object',
          },
          RotateOptions: {
            additionalProperties: false,
            properties: {
              background: {
                anyOf: [
                  {
                    additionalProperties: false,
                    properties: {
                      alpha: {
                        type: 'number',
                      },
                      b: {
                        type: 'number',
                      },
                      g: {
                        type: 'number',
                      },
                      r: {
                        type: 'number',
                      },
                    },
                    type: 'object',
                  },
                  {
                    type: 'string',
                  },
                ],
                description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
              },
            },
            type: 'object',
          },
          SharpOptions: {
            additionalProperties: false,
            properties: {
              create: {
                additionalProperties: false,
                description: 'Describes a new image to be created.',
                properties: {
                  background: {
                    anyOf: [
                      {
                        additionalProperties: false,
                        properties: {
                          alpha: {
                            type: 'number',
                          },
                          b: {
                            type: 'number',
                          },
                          g: {
                            type: 'number',
                          },
                          r: {
                            type: 'number',
                          },
                        },
                        type: 'object',
                      },
                      {
                        type: 'string',
                      },
                    ],
                    description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
                  },
                  channels: {
                    description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                    enum: [
                      3,
                      4,
                    ],
                    type: 'number',
                  },
                  height: {
                    description: 'Number of pixels high.',
                    type: 'number',
                  },
                  width: {
                    description: 'Number of pixels wide.',
                    type: 'number',
                  },
                },
                required: [
                  'background',
                  'channels',
                  'height',
                  'width',
                ],
                type: 'object',
              },
              density: {
                description: 'Number representing the DPI for vector images. (optional, default 72)',
                type: 'number',
              },
              failOnError: {
                description: `By default halt processing and raise an error when loading invalid images.␊
                Set this flag to false if you'd rather apply a "best effort" to decode images,␊
                even if the data is corrupt or invalid. (optional, default true)␊
                (optional, default true)`,
                type: 'boolean',
              },
              page: {
                description: 'Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0)',
                type: 'number',
              },
              pages: {
                description: 'Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages',
                type: 'number',
              },
              raw: {
                additionalProperties: false,
                description: 'Describes raw pixel input image data. See raw() for pixel ordering.',
                properties: {
                  channels: {
                    enum: [
                      1,
                      2,
                      3,
                      4,
                    ],
                    type: 'number',
                  },
                  height: {
                    type: 'number',
                  },
                  width: {
                    type: 'number',
                  },
                },
                required: [
                  'channels',
                  'height',
                  'width',
                ],
                type: 'object',
              },
            },
            type: 'object',
          },
          ThresholdOptions: {
            additionalProperties: false,
            properties: {
              grayscale: {
                description: 'alternative spelling for greyscale. (optional, default true)',
                type: 'boolean',
              },
              greyscale: {
                description: 'convert to single channel greyscale. (optional, default true)',
                type: 'boolean',
              },
            },
            type: 'object',
          },
          TiffOptions: {
            additionalProperties: false,
            properties: {
              compression: {
                description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
                type: 'string',
              },
              force: {
                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                type: 'boolean',
              },
              predictor: {
                description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
                type: 'string',
              },
              quality: {
                description: 'Quality, integer 1-100 (optional, default 80)',
                type: 'number',
              },
              squash: {
                description: 'Squash 8-bit images down to 1 bit (optional, default false)',
                type: 'boolean',
              },
              xres: {
                description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
                type: 'number',
              },
              yres: {
                description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
                type: 'number',
              },
            },
            type: 'object',
          },
          WebpOptions: {
            additionalProperties: false,
            properties: {
              alphaQuality: {
                description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
                type: 'number',
              },
              force: {
                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                type: 'boolean',
              },
              lossless: {
                description: 'Use lossless compression mode (optional, default false)',
                type: 'boolean',
              },
              nearLossless: {
                description: 'Use near_lossless compression mode (optional, default false)',
                type: 'boolean',
              },
              quality: {
                description: 'Quality, integer 1-100 (optional, default 80)',
                type: 'number',
              },
              reductionEffort: {
                description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
                type: 'number',
              },
              smartSubsample: {
                description: 'Use high quality chroma subsampling (optional, default false)',
                type: 'boolean',
              },
            },
            type: 'object',
          },
          WriteableMetadata: {
            additionalProperties: false,
            properties: {
              orientation: {
                description: 'Number value of the EXIF Orientation header, if present',
                type: 'number',
              },
            },
            type: 'object',
          },
          'sharp.Blend': {
            enum: [
              'add',
              'atop',
              'clear',
              'colour-burn',
              'colour-dodge',
              'darken',
              'dest',
              'dest-atop',
              'dest-in',
              'dest-out',
              'dest-over',
              'difference',
              'exclusion',
              'hard-light',
              'in',
              'lighten',
              'multiply',
              'out',
              'over',
              'overlay',
              'saturate',
              'screen',
              'soft-light',
              'source',
              'xor',
            ],
            type: 'string',
          },
        },
      },
      info: {
        title: 'sharp',
        version: 'v0.1.0',
      },
      openapi: '3.0.2',
      paths: {
        '/1/call/transitive-bullshit/sharp@d90e513e': {
          get: {
            parameters: [
              {
                in: 'query',
                name: 'input',
                schema: {
                  example: 'https://octodex.github.com/images/original.png',
                  type: 'string',
                },
              },
              {
                in: 'query',
                name: 'options',
                schema: {
                  additionalProperties: false,
                  properties: {
                    create: {
                      additionalProperties: false,
                      description: 'Describes a new image to be created.',
                      properties: {
                        background: {
                          anyOf: [
                            {
                              additionalProperties: false,
                              properties: {
                                alpha: {
                                  type: 'number',
                                },
                                b: {
                                  type: 'number',
                                },
                                g: {
                                  type: 'number',
                                },
                                r: {
                                  type: 'number',
                                },
                              },
                              type: 'object',
                            },
                            {
                              type: 'string',
                            },
                          ],
                          description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
                        },
                        channels: {
                          description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                          enum: [
                            3,
                            4,
                          ],
                          type: 'number',
                        },
                        height: {
                          description: 'Number of pixels high.',
                          type: 'number',
                        },
                        width: {
                          description: 'Number of pixels wide.',
                          type: 'number',
                        },
                      },
                      required: [
                        'background',
                        'channels',
                        'height',
                        'width',
                      ],
                      type: 'object',
                    },
                    density: {
                      description: 'Number representing the DPI for vector images. (optional, default 72)',
                      type: 'number',
                    },
                    failOnError: {
                      description: `By default halt processing and raise an error when loading invalid images.␊
                      Set this flag to false if you'd rather apply a "best effort" to decode images,␊
                      even if the data is corrupt or invalid. (optional, default true)␊
                      (optional, default true)`,
                      type: 'boolean',
                    },
                    page: {
                      description: 'Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0)',
                      type: 'number',
                    },
                    pages: {
                      description: 'Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages',
                      type: 'number',
                    },
                    raw: {
                      additionalProperties: false,
                      description: 'Describes raw pixel input image data. See raw() for pixel ordering.',
                      properties: {
                        channels: {
                          enum: [
                            1,
                            2,
                            3,
                            4,
                          ],
                          type: 'number',
                        },
                        height: {
                          type: 'number',
                        },
                        width: {
                          type: 'number',
                        },
                      },
                      required: [
                        'channels',
                        'height',
                        'width',
                      ],
                      type: 'object',
                    },
                  },
                  type: 'object',
                },
              },
              {
                in: 'query',
                name: 'ops',
                schema: {
                  example: [
                    {
                      op: 'resize',
                      options: {
                        width: 220,
                      },
                    },
                    {
                      op: 'webp',
                    },
                  ],
                  items: {
                    anyOf: [
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          limit: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'limit',
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              orientation: {
                                description: 'Number value of the EXIF Orientation header, if present',
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              chromaSubsampling: {
                                description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
                                type: 'string',
                              },
                              force: {
                                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                                type: 'boolean',
                              },
                              optimiseCoding: {
                                description: 'Optimise Huffman coding tables (optional, default true)',
                                type: 'boolean',
                              },
                              optimiseScans: {
                                description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
                                type: 'boolean',
                              },
                              optimizeCoding: {
                                description: 'Alternative spelling of optimiseCoding (optional, default true)',
                                type: 'boolean',
                              },
                              optimizeScans: {
                                description: 'Alternative spelling of optimiseScans (optional, default false)',
                                type: 'boolean',
                              },
                              overshootDeringing: {
                                description: 'Apply overshoot deringing, requires mozjpeg (optional, default  false)',
                                type: 'boolean',
                              },
                              progressive: {
                                description: 'Use progressive (interlace) scan (optional, default false)',
                                type: 'boolean',
                              },
                              quality: {
                                description: 'Quality, integer 1-100 (optional, default 80)',
                                type: 'number',
                              },
                              quantisationTable: {
                                description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
                                type: 'number',
                              },
                              quantizationTable: {
                                description: 'Alternative spelling of quantisationTable (optional, default 0)',
                                type: 'number',
                              },
                              trellisQuantisation: {
                                description: 'Apply trellis quantisation, requires mozjpeg (optional, default  false)',
                                type: 'boolean',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              adaptiveFiltering: {
                                description: 'use adaptive row filtering (optional, default false)',
                                type: 'boolean',
                              },
                              colors: {
                                description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
                                type: 'number',
                              },
                              colours: {
                                description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
                                type: 'number',
                              },
                              compressionLevel: {
                                description: 'zlib compression level, 0-9 (optional, default 9)',
                                type: 'number',
                              },
                              dither: {
                                description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
                                type: 'number',
                              },
                              force: {
                                description: 'Force PNG output, otherwise attempt to use input format (optional, default  true)',
                                type: 'boolean',
                              },
                              palette: {
                                description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
                                type: 'boolean',
                              },
                              progressive: {
                                description: 'Use progressive (interlace) scan (optional, default false)',
                                type: 'boolean',
                              },
                              quality: {
                                description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              alphaQuality: {
                                description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
                                type: 'number',
                              },
                              force: {
                                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                                type: 'boolean',
                              },
                              lossless: {
                                description: 'Use lossless compression mode (optional, default false)',
                                type: 'boolean',
                              },
                              nearLossless: {
                                description: 'Use near_lossless compression mode (optional, default false)',
                                type: 'boolean',
                              },
                              quality: {
                                description: 'Quality, integer 1-100 (optional, default 80)',
                                type: 'number',
                              },
                              reductionEffort: {
                                description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
                                type: 'number',
                              },
                              smartSubsample: {
                                description: 'Use high quality chroma subsampling (optional, default false)',
                                type: 'boolean',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              compression: {
                                description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
                                type: 'string',
                              },
                              force: {
                                description: 'Force format output, otherwise attempt to use input format (optional, default true)',
                                type: 'boolean',
                              },
                              predictor: {
                                description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
                                type: 'string',
                              },
                              quality: {
                                description: 'Quality, integer 1-100 (optional, default 80)',
                                type: 'number',
                              },
                              squash: {
                                description: 'Squash 8-bit images down to 1 bit (optional, default false)',
                                type: 'boolean',
                              },
                              xres: {
                                description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
                                type: 'number',
                              },
                              yres: {
                                description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              background: {
                                anyOf: [
                                  {
                                    additionalProperties: false,
                                    properties: {
                                      alpha: {
                                        type: 'number',
                                      },
                                      b: {
                                        type: 'number',
                                      },
                                      g: {
                                        type: 'number',
                                      },
                                      r: {
                                        type: 'number',
                                      },
                                    },
                                    type: 'object',
                                  },
                                  {
                                    type: 'string',
                                  },
                                ],
                                description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
                              },
                              fastShrinkOnLoad: {
                                description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
                                type: 'boolean',
                              },
                              fit: {
                                description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
                                enum: [
                                  'contain',
                                  'cover',
                                  'fill',
                                  'inside',
                                  'outside',
                                ],
                                type: 'string',
                              },
                              height: {
                                description: 'Alternative means of specifying height. If both are present this take priority.',
                                type: 'number',
                              },
                              kernel: {
                                description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
                                enum: [
                                  'cubic',
                                  'lanczos2',
                                  'lanczos3',
                                  'mitchell',
                                  'nearest',
                                ],
                                type: 'string',
                              },
                              position: {
                                description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
                                type: 'string',
                              },
                              width: {
                                description: 'Alternative means of specifying width. If both are present this take priority.',
                                type: 'number',
                              },
                              withoutEnlargement: {
                                description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
                                type: 'boolean',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              background: {
                                anyOf: [
                                  {
                                    additionalProperties: false,
                                    properties: {
                                      alpha: {
                                        type: 'number',
                                      },
                                      b: {
                                        type: 'number',
                                      },
                                      g: {
                                        type: 'number',
                                      },
                                      r: {
                                        type: 'number',
                                      },
                                    },
                                    type: 'object',
                                  },
                                  {
                                    type: 'string',
                                  },
                                ],
                                description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
                              },
                              bottom: {
                                type: 'number',
                              },
                              left: {
                                type: 'number',
                              },
                              right: {
                                type: 'number',
                              },
                              top: {
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          region: {
                            additionalProperties: false,
                            properties: {
                              height: {
                                description: 'dimension of extracted image',
                                type: 'number',
                              },
                              left: {
                                description: 'zero-indexed offset from left edge',
                                type: 'number',
                              },
                              top: {
                                description: 'zero-indexed offset from top edge',
                                type: 'number',
                              },
                              width: {
                                description: 'dimension of extracted image',
                                type: 'number',
                              },
                            },
                            required: [
                              'height',
                              'left',
                              'top',
                              'width',
                            ],
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                          'region',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          threshold: {
                            type: 'number',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          images: {
                            items: {
                              additionalProperties: false,
                              properties: {
                                blend: {
                                  description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
                                  enum: [
                                    'add',
                                    'atop',
                                    'clear',
                                    'colour-burn',
                                    'colour-dodge',
                                    'darken',
                                    'dest',
                                    'dest-atop',
                                    'dest-in',
                                    'dest-out',
                                    'dest-over',
                                    'difference',
                                    'exclusion',
                                    'hard-light',
                                    'in',
                                    'lighten',
                                    'multiply',
                                    'out',
                                    'over',
                                    'overlay',
                                    'saturate',
                                    'screen',
                                    'soft-light',
                                    'source',
                                    'xor',
                                  ],
                                  type: 'string',
                                },
                                density: {
                                  description: 'number representing the DPI for vector overlay image. (optional, default 72)',
                                  type: 'number',
                                },
                                gravity: {
                                  description: 'gravity at which to place the overlay. (optional, default \'centre\')',
                                  type: 'string',
                                },
                                input: {
                                  anyOf: [
                                    {
                                      description: `Raw data is stored in instances of the Buffer class.␊
                                      A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.  A Buffer cannot be resized.␊
                                      Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
                                      items: {
                                        type: 'number',
                                      },
                                      type: 'array',
                                    },
                                    {
                                      additionalProperties: false,
                                      properties: {
                                        create: {
                                          additionalProperties: false,
                                          properties: {
                                            background: {
                                              anyOf: [
                                                {
                                                  additionalProperties: false,
                                                  properties: {
                                                    alpha: {
                                                      type: 'number',
                                                    },
                                                    b: {
                                                      type: 'number',
                                                    },
                                                    g: {
                                                      type: 'number',
                                                    },
                                                    r: {
                                                      type: 'number',
                                                    },
                                                  },
                                                  type: 'object',
                                                },
                                                {
                                                  type: 'string',
                                                },
                                              ],
                                              description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
                                            },
                                            channels: {
                                              description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
                                              enum: [
                                                3,
                                                4,
                                              ],
                                              type: 'number',
                                            },
                                            height: {
                                              description: 'Number of pixels high.',
                                              type: 'number',
                                            },
                                            width: {
                                              description: 'Number of pixels wide.',
                                              type: 'number',
                                            },
                                          },
                                          required: [
                                            'background',
                                            'channels',
                                            'height',
                                            'width',
                                          ],
                                          type: 'object',
                                        },
                                      },
                                      required: [
                                        'create',
                                      ],
                                      type: 'object',
                                    },
                                    {
                                      type: 'string',
                                    },
                                  ],
                                  description: 'Buffer containing image data, String containing the path to an image file, or Create object',
                                },
                                left: {
                                  description: 'the pixel offset from the left edge.',
                                  type: 'number',
                                },
                                premultiplied: {
                                  description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
                                  type: 'boolean',
                                },
                                raw: {
                                  additionalProperties: false,
                                  description: 'describes overlay when using raw pixel data.',
                                  properties: {
                                    channels: {
                                      enum: [
                                        1,
                                        2,
                                        3,
                                        4,
                                      ],
                                      type: 'number',
                                    },
                                    height: {
                                      type: 'number',
                                    },
                                    width: {
                                      type: 'number',
                                    },
                                  },
                                  required: [
                                    'channels',
                                    'height',
                                    'width',
                                  ],
                                  type: 'object',
                                },
                                tile: {
                                  description: 'set to true to repeat the overlay image across the entire image with the given  gravity. (optional, default false)',
                                  type: 'boolean',
                                },
                                top: {
                                  description: 'the pixel offset from the top edge.',
                                  type: 'number',
                                },
                              },
                              type: 'object',
                            },
                            type: 'array',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'images',
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          angle: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              background: {
                                anyOf: [
                                  {
                                    additionalProperties: false,
                                    properties: {
                                      alpha: {
                                        type: 'number',
                                      },
                                      b: {
                                        type: 'number',
                                      },
                                      g: {
                                        type: 'number',
                                      },
                                      r: {
                                        type: 'number',
                                      },
                                    },
                                    type: 'object',
                                  },
                                  {
                                    type: 'string',
                                  },
                                ],
                                description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          flip: {
                            type: 'boolean',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          flop: {
                            type: 'boolean',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          flat: {
                            type: 'number',
                          },
                          jagged: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          sigma: {
                            type: 'number',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          size: {
                            type: 'number',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          sigma: {
                            type: 'number',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          flatten: {
                            anyOf: [
                              {
                                additionalProperties: false,
                                properties: {
                                  background: {
                                    anyOf: [
                                      {
                                        additionalProperties: false,
                                        properties: {
                                          alpha: {
                                            type: 'number',
                                          },
                                          b: {
                                            type: 'number',
                                          },
                                          g: {
                                            type: 'number',
                                          },
                                          r: {
                                            type: 'number',
                                          },
                                        },
                                        type: 'object',
                                      },
                                      {
                                        type: 'string',
                                      },
                                    ],
                                    description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
                                  },
                                },
                                type: 'object',
                              },
                              {
                                type: 'boolean',
                              },
                            ],
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          gamma: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          negate: {
                            type: 'boolean',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          normalize: {
                            type: 'boolean',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          kernel: {
                            additionalProperties: false,
                            properties: {
                              height: {
                                description: 'height of the kernel in pixels.',
                                type: 'number',
                              },
                              kernel: {
                                description: 'Array of length width*height containing the kernel values.',
                                items: {
                                  type: 'number',
                                },
                                type: 'array',
                              },
                              offset: {
                                description: 'the offset of the kernel in pixels. (optional, default 0)',
                                type: 'number',
                              },
                              scale: {
                                description: 'the scale of the kernel in pixels. (optional, default sum)',
                                type: 'number',
                              },
                              width: {
                                description: 'width of the kernel in pixels.',
                                type: 'number',
                              },
                            },
                            required: [
                              'height',
                              'kernel',
                              'width',
                            ],
                            type: 'object',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'kernel',
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              grayscale: {
                                description: 'alternative spelling for greyscale. (optional, default true)',
                                type: 'boolean',
                              },
                              greyscale: {
                                description: 'convert to single channel greyscale. (optional, default true)',
                                type: 'boolean',
                              },
                            },
                            type: 'object',
                          },
                          threshold: {
                            type: 'number',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          operand: {
                            type: 'string',
                          },
                          operator: {
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              raw: {
                                additionalProperties: false,
                                properties: {
                                  channels: {
                                    enum: [
                                      1,
                                      2,
                                      3,
                                      4,
                                    ],
                                    type: 'number',
                                  },
                                  height: {
                                    type: 'number',
                                  },
                                  width: {
                                    type: 'number',
                                  },
                                },
                                required: [
                                  'channels',
                                  'height',
                                  'width',
                                ],
                                type: 'object',
                              },
                            },
                            required: [
                              'raw',
                            ],
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                          'operand',
                          'operator',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          a: {
                            type: 'number',
                          },
                          b: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          inputMatrix: {
                            items: {
                              type: 'number',
                            },
                            minItems: 3,
                            type: 'array',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'inputMatrix',
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          options: {
                            additionalProperties: false,
                            properties: {
                              brightness: {
                                type: 'number',
                              },
                              hue: {
                                type: 'number',
                              },
                              saturation: {
                                type: 'number',
                              },
                            },
                            type: 'object',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                          rgb: {
                            anyOf: [
                              {
                                additionalProperties: false,
                                properties: {
                                  alpha: {
                                    type: 'number',
                                  },
                                  b: {
                                    type: 'number',
                                  },
                                  g: {
                                    type: 'number',
                                  },
                                  r: {
                                    type: 'number',
                                  },
                                },
                                type: 'object',
                              },
                              {
                                type: 'string',
                              },
                            ],
                          },
                        },
                        required: [
                          'op',
                          'rgb',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          greyscale: {
                            type: 'boolean',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          colorSpace: {
                            type: 'string',
                          },
                          colorspace: {
                            type: 'string',
                          },
                          colourSpace: {
                            type: 'string',
                          },
                          colourspace: {
                            type: 'string',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          channel: {
                            type: 'number',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'channel',
                          'op',
                        ],
                        type: 'object',
                      },
                      {
                        additionalProperties: false,
                        properties: {
                          boolOp: {
                            type: 'string',
                          },
                          op: {
                            enum: [
                              'bandBool',
                              'bandbool',
                              'blur',
                              'boolean',
                              'composite',
                              'convolve',
                              'ensureAlpha',
                              'extend',
                              'extract',
                              'extractChannel',
                              'flatten',
                              'flip',
                              'flop',
                              'gamma',
                              'grayscale',
                              'greyscale',
                              'jpeg',
                              'limitInputPixels',
                              'linear',
                              'median',
                              'meta',
                              'metadata',
                              'modulate',
                              'negate',
                              'normalise',
                              'normalize',
                              'png',
                              'raw',
                              'recomb',
                              'removeAlpha',
                              'resize',
                              'rotate',
                              'sharpen',
                              'stats',
                              'threshold',
                              'tiff',
                              'tint',
                              'toColorSpace',
                              'toColorspace',
                              'toColourSpace',
                              'toColourspace',
                              'trim',
                              'webp',
                              'withMetadata',
                            ],
                            type: 'string',
                          },
                        },
                        required: [
                          'boolOp',
                          'op',
                        ],
                        type: 'object',
                      },
                    ],
                  },
                  type: 'array',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  '*/*': {
                    schema: {
                      description: 'Raw HTTP response body which can be interpreted using the standard `Content-Type` header.',
                      format: 'binary',
                      type: 'string',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## ta11y

> Snapshot 1

    {
      components: {
        schemas: {
          AuditResults: {
            additionalProperties: false,
            properties: {
              results: {
                $ref: '#/components/schemas/AuditResultsPageMap',
              },
              summary: {
                $ref: '#/components/schemas/AuditResultsSummary',
              },
            },
            type: 'object',
          },
          AuditResultsPage: {
            additionalProperties: false,
            properties: {
              depth: {
                type: 'number',
              },
              error: {
                type: 'string',
              },
              rules: {
                items: {
                  $ref: '#/components/schemas/AuditResultsPageRule',
                },
                type: 'array',
              },
              summary: {
                $ref: '#/components/schemas/AuditResultsPageSummary',
              },
              url: {
                type: 'string',
              },
            },
            type: 'object',
          },
          AuditResultsPageMap: {
            additionalProperties: {
              $ref: '#/components/schemas/AuditResultsPage',
            },
            type: 'object',
          },
          AuditResultsPageRule: {
            additionalProperties: false,
            properties: {
              context: {
                type: 'string',
              },
              description: {
                type: 'string',
              },
              firstColumn: {
                type: 'number',
              },
              firstLine: {
                type: 'number',
              },
              help: {
                type: 'string',
              },
              helpUrl: {
                type: 'string',
              },
              id: {
                type: 'string',
              },
              impact: {
                type: 'string',
              },
              lastColumn: {
                type: 'number',
              },
              lastLine: {
                type: 'number',
              },
              tags: {
                items: {
                  type: 'string',
                },
                type: 'array',
              },
              type: {
                type: 'string',
              },
            },
            type: 'object',
          },
          AuditResultsPageSummary: {
            additionalProperties: false,
            properties: {
              errors: {
                type: 'number',
              },
              infos: {
                type: 'number',
              },
              pass: {
                type: 'boolean',
              },
              warnings: {
                type: 'number',
              },
            },
            type: 'object',
          },
          AuditResultsSummary: {
            additionalProperties: false,
            properties: {
              errors: {
                type: 'number',
              },
              infos: {
                type: 'number',
              },
              numPages: {
                type: 'number',
              },
              numPagesFail: {
                type: 'number',
              },
              numPagesPass: {
                type: 'number',
              },
              suites: {
                items: {
                  enum: [
                    'best-practice',
                    'html',
                    'section508',
                    'wcag2a',
                    'wcag2aa',
                    'wcag2aaa',
                  ],
                  type: 'string',
                },
                type: 'array',
              },
              warnings: {
                type: 'number',
              },
            },
            type: 'object',
          },
          AuditRuleStatus: {
            enum: [
              0,
              1,
              2,
            ],
            type: 'number',
          },
          AuditRulesMap: {
            additionalProperties: {
              enum: [
                0,
                1,
                2,
              ],
              type: 'number',
            },
            type: 'object',
          },
          DirectNavigationOptions: {
            additionalProperties: false,
            description: 'Navigation options for `page.goto`.',
            properties: {
              referer: {
                description: `Referer header value.␊
                If provided it will take preference over the referer header value set by␊
                [page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
                type: 'string',
              },
              timeout: {
                default: 30000,
                description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
                type: 'number',
              },
              waitUntil: {
                anyOf: [
                  {
                    items: {
                      enum: [
                        'domcontentloaded',
                        'load',
                        'networkidle0',
                        'networkidle2',
                      ],
                      type: 'string',
                    },
                    type: 'array',
                  },
                  {
                    enum: [
                      'domcontentloaded',
                      'load',
                      'networkidle0',
                      'networkidle2',
                    ],
                    type: 'string',
                  },
                ],
                default: 'load Navigation is consider when the `load` event is fired.',
                description: 'When to consider navigation succeeded.',
              },
            },
            type: 'object',
          },
          ExtractResults: {
            additionalProperties: false,
            properties: {
              results: {
                $ref: '#/components/schemas/ExtractResultsPageMap',
              },
              summary: {
                $ref: '#/components/schemas/ExtractResultsSummary',
              },
            },
            type: 'object',
          },
          ExtractResultsPage: {
            additionalProperties: false,
            properties: {
              content: {
                type: 'string',
              },
              depth: {
                type: 'number',
              },
              error: {
                type: 'string',
              },
              url: {
                type: 'string',
              },
            },
            type: 'object',
          },
          ExtractResultsPageMap: {
            additionalProperties: {
              $ref: '#/components/schemas/ExtractResultsPage',
            },
            type: 'object',
          },
          ExtractResultsSummary: {
            additionalProperties: false,
            properties: {
              error: {
                type: 'number',
              },
              root: {
                type: 'string',
              },
              success: {
                type: 'number',
              },
              visited: {
                type: 'number',
              },
            },
            type: 'object',
          },
          Viewport: {
            additionalProperties: false,
            properties: {
              deviceScaleFactor: {
                default: 1,
                description: 'Specify device scale factor (can be thought of as dpr).',
                type: 'number',
              },
              hasTouch: {
                default: false,
                description: 'Specifies if viewport supports touch events.',
                type: 'boolean',
              },
              height: {
                description: 'The page height in pixels.',
                type: 'number',
              },
              isLandscape: {
                default: false,
                description: 'Specifies if viewport is in landscape mode.',
                type: 'boolean',
              },
              isMobile: {
                default: false,
                description: 'Whether the `meta viewport` tag is taken into account.',
                type: 'boolean',
              },
              width: {
                description: 'The page width in pixels.',
                type: 'number',
              },
            },
            required: [
              'height',
              'width',
            ],
            type: 'object',
          },
        },
      },
      info: {
        title: 'ta11y',
        version: 'v0.1.15',
      },
      openapi: '3.0.2',
      paths: {
        '/dev/ta11y@c5c47a32/audit': {
          get: {
            description: `Runs an accessibility audit against the given URL or raw HTML, optionally crawling the␊
            site to discover additional pages and auditing those too.␊
            ␊
            Must provide either `url` or `html`.␊
            ␊
            Defaults to running all audit suites.`,
            parameters: [
              {
                description: 'URL to process.',
                in: 'query',
                name: 'url',
                schema: {
                  description: 'URL to process.',
                  example: 'https://example.com',
                  type: 'string',
                },
              },
              {
                description: 'Raw HTML to process.',
                in: 'query',
                name: 'html',
                schema: {
                  description: 'Raw HTML to process.',
                  type: 'string',
                },
              },
              {
                description: 'Audit suites to run.',
                in: 'query',
                name: 'suites',
                schema: {
                  description: 'Audit suites to run.',
                  items: {
                    enum: [
                      'best-practice',
                      'html',
                      'section508',
                      'wcag2a',
                      'wcag2aa',
                      'wcag2aaa',
                    ],
                    type: 'string',
                  },
                  type: 'array',
                },
              },
              {
                in: 'query',
                name: 'rules',
                schema: {
                  additionalProperties: {
                    enum: [
                      0,
                      1,
                      2,
                    ],
                    type: 'number',
                  },
                  type: 'object',
                },
              },
              {
                description: 'Whether or not to crawl additional pages.',
                in: 'query',
                name: 'crawl',
                schema: {
                  default: false,
                  description: 'Whether or not to crawl additional pages.',
                  type: 'boolean',
                },
              },
              {
                description: 'Maximum crawl depth while crawling.',
                in: 'query',
                name: 'maxDepth',
                schema: {
                  default: 16,
                  description: 'Maximum crawl depth while crawling.',
                  type: 'number',
                },
              },
              {
                description: 'Maximum number of pages to visit while crawling.',
                in: 'query',
                name: 'maxVisit',
                schema: {
                  description: 'Maximum number of pages to visit while crawling.',
                  type: 'number',
                },
              },
              {
                description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
                in: 'query',
                name: 'sameOrigin',
                schema: {
                  default: true,
                  description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
                  type: 'boolean',
                },
              },
              {
                description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
                in: 'query',
                name: 'blacklist',
                schema: {
                  description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
                  items: {
                    type: 'string',
                  },
                  type: 'array',
                },
              },
              {
                description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
                in: 'query',
                name: 'whitelist',
                schema: {
                  description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
                  items: {
                    type: 'string',
                  },
                  type: 'array',
                },
              },
              {
                description: 'Customize the `Page.goto` navigation options.',
                in: 'query',
                name: 'gotoOptions',
                schema: {
                  additionalProperties: false,
                  description: 'Customize the `Page.goto` navigation options.',
                  properties: {
                    referer: {
                      description: `Referer header value.␊
                      If provided it will take preference over the referer header value set by␊
                      [page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
                      type: 'string',
                    },
                    timeout: {
                      default: 30000,
                      description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
                      type: 'number',
                    },
                    waitUntil: {
                      anyOf: [
                        {
                          items: {
                            enum: [
                              'domcontentloaded',
                              'load',
                              'networkidle0',
                              'networkidle2',
                            ],
                            type: 'string',
                          },
                          type: 'array',
                        },
                        {
                          enum: [
                            'domcontentloaded',
                            'load',
                            'networkidle0',
                            'networkidle2',
                          ],
                          type: 'string',
                        },
                      ],
                      default: 'load Navigation is consider when the `load` event is fired.',
                      description: 'When to consider navigation succeeded.',
                    },
                  },
                  type: 'object',
                },
              },
              {
                description: 'Set the browser window\'s viewport dimensions and/or resolution.',
                in: 'query',
                name: 'viewport',
                schema: {
                  additionalProperties: false,
                  description: 'Set the browser window\'s viewport dimensions and/or resolution.',
                  properties: {
                    deviceScaleFactor: {
                      default: 1,
                      description: 'Specify device scale factor (can be thought of as dpr).',
                      type: 'number',
                    },
                    hasTouch: {
                      default: false,
                      description: 'Specifies if viewport supports touch events.',
                      type: 'boolean',
                    },
                    height: {
                      description: 'The page height in pixels.',
                      type: 'number',
                    },
                    isLandscape: {
                      default: false,
                      description: 'Specifies if viewport is in landscape mode.',
                      type: 'boolean',
                    },
                    isMobile: {
                      default: false,
                      description: 'Whether the `meta viewport` tag is taken into account.',
                      type: 'boolean',
                    },
                    width: {
                      description: 'The page width in pixels.',
                      type: 'number',
                    },
                  },
                  required: [
                    'height',
                    'width',
                  ],
                  type: 'object',
                },
              },
              {
                description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
                in: 'query',
                name: 'userAgent',
                schema: {
                  description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
                  type: 'string',
                },
              },
              {
                description: `Emulate a specific device type.␊
                - Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
                - Overrides `viewport` and `userAgent`.`,
                in: 'query',
                name: 'emulateDevice',
                schema: {
                  description: `Emulate a specific device type.␊
                  - Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
                  - Overrides `viewport` and `userAgent`.`,
                  type: 'string',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      additionalProperties: false,
                      properties: {
                        results: {
                          $ref: '#/components/schemas/AuditResultsPageMap',
                        },
                        summary: {
                          $ref: '#/components/schemas/AuditResultsSummary',
                        },
                      },
                      type: 'object',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
        '/dev/ta11y@c5c47a32/auditExtractResults': {
          post: {
            description: `Runs an accessibility audit against previously extracted website contents from␊
            [`@ta11y/extract`](https://github.com/saasify-sh/ta11y/tree/master/packages/ta11y-extract).␊
            ␊
            Defaults to running all audit suites.`,
            requestBody: {
              content: {
                'application/json': {
                  schema: {
                    additionalProperties: false,
                    properties: {
                      extractResults: {
                        additionalProperties: false,
                        description: 'Previously extracted website contents.',
                        example: {
                          results: {
                            'https://example.com': {
                              content: `<!DOCTYPE html><html><head>␊
                                  <title>Example Domain</title>␊
                              ␊
                                  <meta charset="utf-8">␊
                                  <meta http-equiv="Content-type" content="text/html; charset=utf-8">␊
                                  <meta name="viewport" content="width=device-width, initial-scale=1">␊
                                  <style type="text/css">␊
                                  body {␊
                                      background-color: #f0f0f2;␊
                                      margin: 0;␊
                                      padding: 0;␊
                                      font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;␊
                                      ␊
                                  }␊
                                  div {␊
                                      width: 600px;␊
                                      margin: 5em auto;␊
                                      padding: 2em;␊
                                      background-color: #fdfdff;␊
                                      border-radius: 0.5em;␊
                                      box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);␊
                                  }␊
                                  a:link, a:visited {␊
                                      color: #38488f;␊
                                      text-decoration: none;␊
                                  }␊
                                  @media (max-width: 700px) {␊
                                      div {␊
                                          margin: 0 auto;␊
                                          width: auto;␊
                                      }␊
                                  }␊
                                  </style>    ␊
                              </head>␊
                              ␊
                              <body>␊
                              <div>␊
                                  <h1>Example Domain</h1>␊
                                  <p>This domain is for use in illustrative examples in documents. You may use this␊
                                  domain in literature without prior coordination or asking for permission.</p>␊
                                  <p><a href="https://www.iana.org/domains/example">More information...</a></p>␊
                              </div>␊
                              ␊
                              ␊
                              </body></html>`,
                              depth: 0,
                              url: 'https://example.com',
                            },
                          },
                          summary: {
                            error: 0,
                            root: 'https://example.com',
                            success: 1,
                            visited: 1,
                          },
                        },
                        properties: {
                          results: {
                            additionalProperties: {
                              additionalProperties: false,
                              properties: {
                                content: {
                                  type: 'string',
                                },
                                depth: {
                                  type: 'number',
                                },
                                error: {
                                  type: 'string',
                                },
                                url: {
                                  type: 'string',
                                },
                              },
                              required: [
                                'depth',
                                'url',
                              ],
                              type: 'object',
                            },
                            type: 'object',
                          },
                          summary: {
                            additionalProperties: false,
                            properties: {
                              error: {
                                type: 'number',
                              },
                              root: {
                                type: 'string',
                              },
                              success: {
                                type: 'number',
                              },
                              visited: {
                                type: 'number',
                              },
                            },
                            required: [
                              'error',
                              'root',
                              'success',
                              'visited',
                            ],
                            type: 'object',
                          },
                        },
                        required: [
                          'results',
                          'summary',
                        ],
                        type: 'object',
                      },
                      rules: {
                        additionalProperties: {
                          enum: [
                            0,
                            1,
                            2,
                          ],
                          type: 'number',
                        },
                        type: 'object',
                      },
                      suites: {
                        description: 'Audit suites to run.',
                        items: {
                          enum: [
                            'best-practice',
                            'html',
                            'section508',
                            'wcag2a',
                            'wcag2aa',
                            'wcag2aaa',
                          ],
                          type: 'string',
                        },
                        type: 'array',
                      },
                    },
                    required: [
                      'extractResults',
                    ],
                    type: 'object',
                  },
                },
              },
              required: true,
            },
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      additionalProperties: false,
                      properties: {
                        results: {
                          $ref: '#/components/schemas/AuditResultsPageMap',
                        },
                        summary: {
                          $ref: '#/components/schemas/AuditResultsSummary',
                        },
                      },
                      type: 'object',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
        '/dev/ta11y@c5c47a32/extract': {
          get: {
            description: `Extracts the content of a given URL or raw HTML, optionally crawling the site to␊
            discover additional pages and extracting those too.␊
            ␊
            Must provide either `url` or `html`.`,
            parameters: [
              {
                description: 'URL to process.',
                in: 'query',
                name: 'url',
                schema: {
                  description: 'URL to process.',
                  example: 'https://example.com',
                  type: 'string',
                },
              },
              {
                description: 'Raw HTML to process.',
                in: 'query',
                name: 'html',
                schema: {
                  description: 'Raw HTML to process.',
                  type: 'string',
                },
              },
              {
                description: 'Whether or not to crawl additional pages.',
                in: 'query',
                name: 'crawl',
                schema: {
                  default: false,
                  description: 'Whether or not to crawl additional pages.',
                  type: 'boolean',
                },
              },
              {
                description: 'Maximum crawl depth while crawling.',
                in: 'query',
                name: 'maxDepth',
                schema: {
                  default: 16,
                  description: 'Maximum crawl depth while crawling.',
                  type: 'number',
                },
              },
              {
                description: 'Maximum number of pages to visit while crawling.',
                in: 'query',
                name: 'maxVisit',
                schema: {
                  description: 'Maximum number of pages to visit while crawling.',
                  type: 'number',
                },
              },
              {
                description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
                in: 'query',
                name: 'sameOrigin',
                schema: {
                  default: true,
                  description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
                  type: 'boolean',
                },
              },
              {
                description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
                in: 'query',
                name: 'blacklist',
                schema: {
                  description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
                  items: {
                    type: 'string',
                  },
                  type: 'array',
                },
              },
              {
                description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
                in: 'query',
                name: 'whitelist',
                schema: {
                  description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
                  items: {
                    type: 'string',
                  },
                  type: 'array',
                },
              },
              {
                description: 'Customize the `Page.goto` navigation options.',
                in: 'query',
                name: 'gotoOptions',
                schema: {
                  additionalProperties: false,
                  description: 'Customize the `Page.goto` navigation options.',
                  properties: {
                    referer: {
                      description: `Referer header value.␊
                      If provided it will take preference over the referer header value set by␊
                      [page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
                      type: 'string',
                    },
                    timeout: {
                      default: 30000,
                      description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
                      type: 'number',
                    },
                    waitUntil: {
                      anyOf: [
                        {
                          items: {
                            enum: [
                              'domcontentloaded',
                              'load',
                              'networkidle0',
                              'networkidle2',
                            ],
                            type: 'string',
                          },
                          type: 'array',
                        },
                        {
                          enum: [
                            'domcontentloaded',
                            'load',
                            'networkidle0',
                            'networkidle2',
                          ],
                          type: 'string',
                        },
                      ],
                      default: 'load Navigation is consider when the `load` event is fired.',
                      description: 'When to consider navigation succeeded.',
                    },
                  },
                  type: 'object',
                },
              },
              {
                description: 'Set the browser window\'s viewport dimensions and/or resolution.',
                in: 'query',
                name: 'viewport',
                schema: {
                  additionalProperties: false,
                  description: 'Set the browser window\'s viewport dimensions and/or resolution.',
                  properties: {
                    deviceScaleFactor: {
                      default: 1,
                      description: 'Specify device scale factor (can be thought of as dpr).',
                      type: 'number',
                    },
                    hasTouch: {
                      default: false,
                      description: 'Specifies if viewport supports touch events.',
                      type: 'boolean',
                    },
                    height: {
                      description: 'The page height in pixels.',
                      type: 'number',
                    },
                    isLandscape: {
                      default: false,
                      description: 'Specifies if viewport is in landscape mode.',
                      type: 'boolean',
                    },
                    isMobile: {
                      default: false,
                      description: 'Whether the `meta viewport` tag is taken into account.',
                      type: 'boolean',
                    },
                    width: {
                      description: 'The page width in pixels.',
                      type: 'number',
                    },
                  },
                  required: [
                    'height',
                    'width',
                  ],
                  type: 'object',
                },
              },
              {
                description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
                in: 'query',
                name: 'userAgent',
                schema: {
                  description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
                  type: 'string',
                },
              },
              {
                description: `Emulate a specific device type.␊
                - Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
                - Overrides `viewport` and `userAgent`.`,
                in: 'query',
                name: 'emulateDevice',
                schema: {
                  description: `Emulate a specific device type.␊
                  - Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
                  - Overrides `viewport` and `userAgent`.`,
                  type: 'string',
                },
              },
            ],
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {
                      additionalProperties: false,
                      properties: {
                        results: {
                          $ref: '#/components/schemas/ExtractResultsPageMap',
                        },
                        summary: {
                          $ref: '#/components/schemas/ExtractResultsSummary',
                        },
                      },
                      type: 'object',
                    },
                  },
                },
                description: 'Success',
              },
            },
          },
        },
      },
    }

## wordcloud

> Snapshot 1

    {
      components: {
        schemas: {
          HTTPValidationError: {
            properties: {
              detail: {
                items: {
                  $ref: '#/components/schemas/ValidationError',
                },
                title: 'Detail',
                type: 'array',
              },
            },
            title: 'HTTPValidationError',
            type: 'object',
          },
          StyleCloudRequest: {
            properties: {
              background_color: {
                default: 'white',
                format: 'color',
                title: 'Background_Color',
                type: 'string',
              },
              gradient: {
                description: 'Direction of gradient',
                enum: [
                  'horizontal',
                  'vertical',
                ],
                title: 'Gradient',
                type: 'string',
              },
              icon: {
                default: 'fas fa-flag',
                description: '[Font Awesome](https://fontawesome.com/icons?d=gallery&m=free) icon mask',
                enum: [
                  'fas fa-ad',
                  'fas fa-address-book',
                  'fas fa-address-card',
                  'fas fa-adjust',
                ],
                title: 'Icon',
                type: 'string',
              },
              max_font_size: {
                default: 200,
                title: 'Max_Font_Size',
                type: 'integer',
              },
              max_words: {
                default: 2000,
                description: 'Maximum number of words to include in the stylecloud',
                title: 'Max_Words',
                type: 'integer',
              },
              palette: {
                default: 'cartocolors.qualitative.Bold_6',
                description: 'Color palette to use from [palettable](https://jiffyclub.github.io/palettable/)',
                enum: [
                  'cartocolors.diverging.ArmyRose_2',
                  'cartocolors.diverging.Geyser_7',
                  'cartocolors.diverging.ArmyRose_2_r',
                  'cartocolors.diverging.Geyser_7_r',
                ],
                title: 'Palette',
                type: 'string',
              },
              size: {
                default: 512,
                description: 'Output width and height in pixels',
                title: 'Size',
                type: 'integer',
              },
              stopwords: {
                default: true,
                description: 'Boolean to filter out common stopwords',
                title: 'Stopwords',
                type: 'boolean',
              },
              text: {
                description: 'Source text',
                title: 'Text',
                type: 'string',
              },
              url: {
                description: 'URL of webpage to extract text',
                title: 'Url',
                type: 'string',
              },
            },
            title: 'StyleCloudRequest',
            type: 'object',
          },
          ValidationError: {
            properties: {
              loc: {
                items: {
                  type: 'string',
                },
                title: 'Location',
                type: 'array',
              },
              msg: {
                title: 'Message',
                type: 'string',
              },
              type: {
                title: 'Error Type',
                type: 'string',
              },
            },
            required: [
              'loc',
              'msg',
              'type',
            ],
            title: 'ValidationError',
            type: 'object',
          },
        },
      },
      info: {
        title: 'Fast API',
        version: '0.1.0',
      },
      openapi: '3.0.2',
      paths: {
        '/stylecloud': {
          post: {
            operationId: 'stylecloud_stylecloud_post',
            requestBody: {
              content: {
                'application/json': {
                  schema: {
                    $ref: '#/components/schemas/StyleCloudRequest',
                  },
                },
              },
              required: true,
            },
            responses: {
              200: {
                content: {
                  'application/json': {
                    schema: {},
                  },
                  'image/png': {},
                },
                description: 'Successful Response',
              },
              422: {
                content: {
                  'application/json': {
                    schema: {
                      $ref: '#/components/schemas/HTTPValidationError',
                    },
                  },
                },
                description: 'Validation Error',
              },
            },
            summary: 'Stylecloud',
          },
        },
      },
    }
