[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","additionalProperties":false,"definitions":{"info":{"type":"object","description":"General information about the API.","required":["version","title"],"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"title":{"type":"string","description":"A unique and precise title of the API."},"version":{"type":"string","description":"A semantic version number of the API."},"description":{"type":"string","description":"A longer description of the API. Should be different from the title.  GitHub Flavored Markdown is allowed."},"termsOfService":{"type":"string","description":"The terms of service for the API."},"contact":{"$ref":"#/definitions/contact"},"license":{"$ref":"#/definitions/license"}}},"contact":{"type":"object","description":"Contact information for the owners of the API.","additionalProperties":false,"properties":{"name":{"type":"string","description":"The identifying name of the contact person/organization."},"url":{"type":"string","description":"The URL pointing to the contact information.","format":"uri"},"email":{"type":"string","description":"The email address of the contact person/organization.","format":"email"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"license":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the license type. It's encouraged to use an OSI compatible license."},"url":{"type":"string","description":"The URL pointing to the license.","format":"uri"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"paths":{"type":"object","description":"Relative paths to the individual endpoints. They must be relative to the 'basePath'.","patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"},"^/":{"$ref":"#/definitions/pathItem"}},"additionalProperties":false},"definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"description":"One or more JSON objects describing the schemas being consumed and produced by the API."},"parameterDefinitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/parameter"},"description":"One or more JSON representations for parameters"},"responseDefinitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/response"},"description":"One or more JSON representations for responses"},"externalDocs":{"type":"object","additionalProperties":false,"description":"information about external documentation","required":["url"],"properties":{"description":{"type":"string"},"url":{"type":"string","format":"uri"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"examples":{"type":"object","additionalProperties":true},"mimeType":{"type":"string","description":"The MIME type of the HTTP message."},"operation":{"type":"object","required":["responses"],"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"tags":{"type":"array","items":{"type":"string"},"uniqueItems":true},"summary":{"type":"string","description":"A brief summary of the operation."},"description":{"type":"string","description":"A longer description of the operation, GitHub Flavored Markdown is allowed."},"externalDocs":{"$ref":"#/definitions/externalDocs"},"operationId":{"type":"string","description":"A unique identifier of the operation."},"produces":{"description":"A list of MIME types the API can produce.","allOf":[{"$ref":"#/definitions/mediaTypeList"}]},"consumes":{"description":"A list of MIME types the API can consume.","allOf":[{"$ref":"#/definitions/mediaTypeList"}]},"parameters":{"$ref":"#/definitions/parametersList"},"responses":{"$ref":"#/definitions/responses"},"schemes":{"$ref":"#/definitions/schemesList"},"deprecated":{"type":"boolean","default":false},"security":{"$ref":"#/definitions/security"}}},"pathItem":{"type":"object","additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"$ref":{"type":"string"},"get":{"$ref":"#/definitions/operation"},"put":{"$ref":"#/definitions/operation"},"post":{"$ref":"#/definitions/operation"},"delete":{"$ref":"#/definitions/operation"},"options":{"$ref":"#/definitions/operation"},"head":{"$ref":"#/definitions/operation"},"patch":{"$ref":"#/definitions/operation"},"parameters":{"$ref":"#/definitions/parametersList"}}},"responses":{"type":"object","description":"Response objects names can either be any valid HTTP status code or 'default'.","minProperties":1,"additionalProperties":false,"patternProperties":{"^([0-9]{3})$|^(default)$":{"$ref":"#/definitions/responseValue"},"^x-":{"$ref":"#/definitions/vendorExtension"}},"not":{"type":"object","additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}}},"responseValue":{"oneOf":[{"$ref":"#/definitions/response"},{"$ref":"#/definitions/jsonReference"}]},"response":{"type":"object","required":["description"],"properties":{"description":{"type":"string"},"schema":{"oneOf":[{"$ref":"#/definitions/schema"},{"$ref":"#/definitions/fileSchema"}]},"headers":{"$ref":"#/definitions/headers"},"examples":{"$ref":"#/definitions/examples"}},"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"headers":{"type":"object","additionalProperties":{"$ref":"#/definitions/header"}},"header":{"type":"object","additionalProperties":false,"required":["type"],"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","array"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormat"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"vendorExtension":{"description":"Any property starting with x- is valid."},"bodyParameter":{"type":"object","required":["name","in","schema"],"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},"name":{"type":"string","description":"The name of the parameter."},"in":{"type":"string","description":"Determines the location of the parameter.","enum":["body"]},"required":{"type":"boolean","description":"Determines whether or not this parameter is required or optional.","default":false},"schema":{"$ref":"#/definitions/schema"}},"additionalProperties":false},"headerParameterSubSchema":{"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"required":{"type":"boolean","description":"Determines whether or not this parameter is required or optional.","default":false},"in":{"type":"string","description":"Determines the location of the parameter.","enum":["header"]},"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},"name":{"type":"string","description":"The name of the parameter."},"type":{"type":"string","enum":["string","number","boolean","integer","array"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormat"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"}}},"queryParameterSubSchema":{"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"required":{"type":"boolean","description":"Determines whether or not this parameter is required or optional.","default":false},"in":{"type":"string","description":"Determines the location of the parameter.","enum":["query"]},"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},"name":{"type":"string","description":"The name of the parameter."},"allowEmptyValue":{"type":"boolean","default":false,"description":"allows sending a parameter by name only or with an empty value."},"type":{"type":"string","enum":["string","number","boolean","integer","array"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormatWithMulti"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"}}},"formDataParameterSubSchema":{"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"required":{"type":"boolean","description":"Determines whether or not this parameter is required or optional.","default":false},"in":{"type":"string","description":"Determines the location of the parameter.","enum":["formData"]},"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},"name":{"type":"string","description":"The name of the parameter."},"allowEmptyValue":{"type":"boolean","default":false,"description":"allows sending a parameter by name only or with an empty value."},"type":{"type":"string","enum":["string","number","boolean","integer","array","file"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormatWithMulti"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"}}},"pathParameterSubSchema":{"additionalProperties":false,"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"required":["required"],"properties":{"required":{"type":"boolean","enum":[true],"description":"Determines whether or not this parameter is required or optional."},"in":{"type":"string","description":"Determines the location of the parameter.","enum":["path"]},"description":{"type":"string","description":"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},"name":{"type":"string","description":"The name of the parameter."},"type":{"type":"string","enum":["string","number","boolean","integer","array"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormat"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"}}},"nonBodyParameter":{"type":"object","required":["name","in","type"],"oneOf":[{"$ref":"#/definitions/headerParameterSubSchema"},{"$ref":"#/definitions/formDataParameterSubSchema"},{"$ref":"#/definitions/queryParameterSubSchema"},{"$ref":"#/definitions/pathParameterSubSchema"}]},"parameter":{"oneOf":[{"$ref":"#/definitions/bodyParameter"},{"$ref":"#/definitions/nonBodyParameter"}]},"schema":{"type":"object","description":"A deterministic version of a JSON Schema object.","patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"$ref":{"type":"string"},"format":{"type":"string"},"title":{"$ref":"http://json-schema.org/draft-04/schema#/properties/title"},"description":{"$ref":"http://json-schema.org/draft-04/schema#/properties/description"},"default":{"$ref":"http://json-schema.org/draft-04/schema#/properties/default"},"multipleOf":{"$ref":"http://json-schema.org/draft-04/schema#/properties/multipleOf"},"maximum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/maximum"},"exclusiveMaximum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},"minimum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/minimum"},"exclusiveMinimum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},"maxLength":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},"minLength":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},"pattern":{"$ref":"http://json-schema.org/draft-04/schema#/properties/pattern"},"maxItems":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},"minItems":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},"uniqueItems":{"$ref":"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},"maxProperties":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},"minProperties":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},"required":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/stringArray"},"enum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/enum"},"additionalProperties":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"boolean"}],"default":{}},"type":{"$ref":"http://json-schema.org/draft-04/schema#/properties/type"},"items":{"anyOf":[{"$ref":"#/definitions/schema"},{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}}],"default":{}},"allOf":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/schema"}},"properties":{"type":"object","additionalProperties":{"$ref":"#/definitions/schema"},"default":{}},"discriminator":{"type":"string"},"readOnly":{"type":"boolean","default":false},"xml":{"$ref":"#/definitions/xml"},"externalDocs":{"$ref":"#/definitions/externalDocs"},"example":{}},"additionalProperties":false},"fileSchema":{"type":"object","description":"A deterministic version of a JSON Schema object.","patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"required":["type"],"properties":{"format":{"type":"string"},"title":{"$ref":"http://json-schema.org/draft-04/schema#/properties/title"},"description":{"$ref":"http://json-schema.org/draft-04/schema#/properties/description"},"default":{"$ref":"http://json-schema.org/draft-04/schema#/properties/default"},"required":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/stringArray"},"type":{"type":"string","enum":["file"]},"readOnly":{"type":"boolean","default":false},"externalDocs":{"$ref":"#/definitions/externalDocs"},"example":{}},"additionalProperties":false},"primitivesItems":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","array"]},"format":{"type":"string"},"items":{"$ref":"#/definitions/primitivesItems"},"collectionFormat":{"$ref":"#/definitions/collectionFormat"},"default":{"$ref":"#/definitions/default"},"maximum":{"$ref":"#/definitions/maximum"},"exclusiveMaximum":{"$ref":"#/definitions/exclusiveMaximum"},"minimum":{"$ref":"#/definitions/minimum"},"exclusiveMinimum":{"$ref":"#/definitions/exclusiveMinimum"},"maxLength":{"$ref":"#/definitions/maxLength"},"minLength":{"$ref":"#/definitions/minLength"},"pattern":{"$ref":"#/definitions/pattern"},"maxItems":{"$ref":"#/definitions/maxItems"},"minItems":{"$ref":"#/definitions/minItems"},"uniqueItems":{"$ref":"#/definitions/uniqueItems"},"enum":{"$ref":"#/definitions/enum"},"multipleOf":{"$ref":"#/definitions/multipleOf"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"security":{"type":"array","items":{"$ref":"#/definitions/securityRequirement"},"uniqueItems":true},"securityRequirement":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"xml":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"namespace":{"type":"string"},"prefix":{"type":"string"},"attribute":{"type":"boolean","default":false},"wrapped":{"type":"boolean","default":false}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"tag":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"securityDefinitions":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/definitions/basicAuthenticationSecurity"},{"$ref":"#/definitions/apiKeySecurity"},{"$ref":"#/definitions/oauth2ImplicitSecurity"},{"$ref":"#/definitions/oauth2PasswordSecurity"},{"$ref":"#/definitions/oauth2ApplicationSecurity"},{"$ref":"#/definitions/oauth2AccessCodeSecurity"}]}},"basicAuthenticationSecurity":{"type":"object","additionalProperties":false,"required":["type"],"properties":{"type":{"type":"string","enum":["basic"]},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"apiKeySecurity":{"type":"object","additionalProperties":false,"required":["type","name","in"],"properties":{"type":{"type":"string","enum":["apiKey"]},"name":{"type":"string"},"in":{"type":"string","enum":["header","query"]},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"oauth2ImplicitSecurity":{"type":"object","additionalProperties":false,"required":["type","flow","authorizationUrl"],"properties":{"type":{"type":"string","enum":["oauth2"]},"flow":{"type":"string","enum":["implicit"]},"scopes":{"$ref":"#/definitions/oauth2Scopes"},"authorizationUrl":{"type":"string","format":"uri"},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"oauth2PasswordSecurity":{"type":"object","additionalProperties":false,"required":["type","flow","tokenUrl"],"properties":{"type":{"type":"string","enum":["oauth2"]},"flow":{"type":"string","enum":["password"]},"scopes":{"$ref":"#/definitions/oauth2Scopes"},"tokenUrl":{"type":"string","format":"uri"},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"oauth2ApplicationSecurity":{"type":"object","additionalProperties":false,"required":["type","flow","tokenUrl"],"properties":{"type":{"type":"string","enum":["oauth2"]},"flow":{"type":"string","enum":["application"]},"scopes":{"$ref":"#/definitions/oauth2Scopes"},"tokenUrl":{"type":"string","format":"uri"},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"oauth2AccessCodeSecurity":{"type":"object","additionalProperties":false,"required":["type","flow","authorizationUrl","tokenUrl"],"properties":{"type":{"type":"string","enum":["oauth2"]},"flow":{"type":"string","enum":["accessCode"]},"scopes":{"$ref":"#/definitions/oauth2Scopes"},"authorizationUrl":{"type":"string","format":"uri"},"tokenUrl":{"type":"string","format":"uri"},"description":{"type":"string"}},"patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}}},"oauth2Scopes":{"type":"object","additionalProperties":{"type":"string"}},"mediaTypeList":{"type":"array","items":{"$ref":"#/definitions/mimeType"},"uniqueItems":true},"parametersList":{"type":"array","description":"The parameters needed to send a valid API call.","items":{"oneOf":[{"$ref":"#/definitions/parameter"},{"$ref":"#/definitions/jsonReference"}]},"uniqueItems":true},"schemesList":{"type":"array","description":"The transfer protocol of the API.","items":{"type":"string","enum":["http","https","ws","wss"]},"uniqueItems":true},"collectionFormat":{"type":"string","enum":["csv","ssv","tsv","pipes"],"default":"csv"},"collectionFormatWithMulti":{"type":"string","enum":["csv","ssv","tsv","pipes","multi"],"default":"csv"},"title":{"$ref":"http://json-schema.org/draft-04/schema#/properties/title"},"description":{"$ref":"http://json-schema.org/draft-04/schema#/properties/description"},"default":{"$ref":"http://json-schema.org/draft-04/schema#/properties/default"},"multipleOf":{"$ref":"http://json-schema.org/draft-04/schema#/properties/multipleOf"},"maximum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/maximum"},"exclusiveMaximum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},"minimum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/minimum"},"exclusiveMinimum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},"maxLength":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},"minLength":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},"pattern":{"$ref":"http://json-schema.org/draft-04/schema#/properties/pattern"},"maxItems":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},"minItems":{"$ref":"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},"uniqueItems":{"$ref":"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},"enum":{"$ref":"http://json-schema.org/draft-04/schema#/properties/enum"},"jsonReference":{"type":"object","required":["$ref"],"additionalProperties":false,"properties":{"$ref":{"type":"string"}}}},"id":"http://swagger.io/v2/schema.json#","patternProperties":{"^x-":{"$ref":"#/definitions/vendorExtension"}},"properties":{"swagger":{"type":"string","enum":["2.0"],"description":"The Swagger version of this document."},"info":{"$ref":"#/definitions/info"},"host":{"type":"string","pattern":"^[^{}/ :\\\\]+(?::\\d+)?$","description":"The host (name or ip) of the API. Example: 'swagger.io'"},"basePath":{"type":"string","pattern":"^/","description":"The base path to the API. Example: '/api'."},"schemes":{"$ref":"#/definitions/schemesList"},"consumes":{"description":"A list of MIME types accepted by the API.","allOf":[{"$ref":"#/definitions/mediaTypeList"}]},"produces":{"description":"A list of MIME types the API can produce.","allOf":[{"$ref":"#/definitions/mediaTypeList"}]},"paths":{"$ref":"#/definitions/paths"},"definitions":{"$ref":"#/definitions/definitions"},"parameters":{"$ref":"#/definitions/parameterDefinitions"},"responses":{"$ref":"#/definitions/responseDefinitions"},"security":{"$ref":"#/definitions/security"},"securityDefinitions":{"$ref":"#/definitions/securityDefinitions"},"tags":{"type":"array","items":{"$ref":"#/definitions/tag"},"uniqueItems":true},"externalDocs":{"$ref":"#/definitions/externalDocs"}},"required":["swagger","info","paths"],"title":"A JSON Schema for Swagger 2.0 API.","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "A JSON Schema for Swagger 2.0 API.". Here are the required top‑level fields: swagger, info, paths. Return only the valid JSON object.

General information about the API.

A unique and precise title of the API.

A semantic version number of the API.

A longer description of the API. Should be different from the title.  GitHub Flavored Markdown is allowed.

The terms of service for the API.

Contact information for the owners of the API.

The identifying name of the contact person/organization.

The URL pointing to the contact information.

The email address of the contact person/organization.

The name of the license type. It's encouraged to use an OSI compatible license.

The URL pointing to the license.

Relative paths to the individual endpoints. They must be relative to the 'basePath'.

One or more JSON objects describing the schemas being consumed and produced by the API.

One or more JSON representations for parameters

One or more JSON representations for responses

information about external documentation

The MIME type of the HTTP message.

A brief summary of the operation.

A longer description of the operation, GitHub Flavored Markdown is allowed.

A unique identifier of the operation.

A list of MIME types the API can produce.

A list of MIME types the API can consume.

Response objects names can either be any valid HTTP status code or 'default'.

Any property starting with x- is valid.

A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.

The name of the parameter.

Determines the location of the parameter.

Determines whether or not this parameter is required or optional.

The name of the parameter.

The name of the parameter.

allows sending a parameter by name only or with an empty value.

The name of the parameter.

string number boolean integer array file

The name of the parameter.

A deterministic version of a JSON Schema object.

The parameters needed to send a valid API call.

The transfer protocol of the API.

The Swagger version of this document.

The host (name or ip) of the API. Example: 'swagger.io'

The base path to the API. Example: '/api'.

A list of MIME types accepted by the API.

A JSON Schema for Swagger 2.0 API.

Provide a JSON object that satisfies the schema "A JSON Schema for Swagger 2.0 API.". Here are the required top‑level fields: swagger, info, paths. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tach Domain Configuration Schema","description":"Domain-level configuration for the Tach CLI","type":"object","properties":{"root":{"type":"object","properties":{"depends_on":{"type":"array","items":{"oneOf":[{"type":"string","description":"Path to the dependency"},{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the dependency"},"deprecated":{"type":"boolean","default":false,"description":"Flag usages of this dependency without failing tach check"}}}]},"default":null,"description":"List of dependencies for the module"},"cannot_depend_on":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden dependencies for the module"},"layer":{"type":"string","description":"The architectural layer this module belongs to"},"unchecked":{"type":"boolean","default":false,"description":"Flag to skip checks for this module"},"utility":{"type":"boolean","description":"Whether this module is a utility module"},"strict":{"type":"boolean","default":false,"description":"DEPRECATED: Use 'interfaces' instead"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"}},"additionalProperties":false,"description":"Configuration for the root module of the domain"},"modules":{"type":"array","items":{"type":"object","oneOf":[{"required":["path"],"properties":{"path":{"type":"string","description":"Path to the module"},"depends_on":{"type":"array","items":{"oneOf":[{"type":"string","description":"Path to the dependency"},{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the dependency"},"deprecated":{"type":"boolean","default":false,"description":"Flag usages of this dependency without failing tach check"}},"additionalProperties":false}]},"default":null,"description":"List of dependencies for the module"},"cannot_depend_on":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden dependencies for the module"},"depends_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of external dependencies for the module"},"cannot_depend_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden external dependencies for the module"},"layer":{"type":"string","description":"The architectural layer this module belongs to"},"unchecked":{"type":"boolean","default":false,"description":"Flag to skip checks for this module"},"utility":{"type":"boolean","description":"Whether this module is a utility module"},"strict":{"type":"boolean","default":false,"description":"DEPRECATED: Use 'interfaces' instead"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"}},"additionalProperties":false},{"required":["paths"],"properties":{"paths":{"type":"array","items":{"type":"string"},"description":"List of module paths that share the same configuration"},"depends_on":{"type":"array","items":{"oneOf":[{"type":"string","description":"Path to the dependency"},{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the dependency"},"deprecated":{"type":"boolean","default":false,"description":"Flag usages of this dependency without failing tach check"}},"additionalProperties":false}]},"default":null,"description":"List of dependencies for the module"},"cannot_depend_on":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden dependencies for the module"},"depends_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of external dependencies for the module"},"cannot_depend_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden external dependencies for the module"},"layer":{"type":"string","description":"The architectural layer this module belongs to"},"unchecked":{"type":"boolean","default":false,"description":"Flag to skip checks for this module"},"utility":{"type":"boolean","description":"Whether this module is a utility module"},"strict":{"type":"boolean","default":false,"description":"DEPRECATED: Use 'interfaces' instead"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"}},"additionalProperties":false}]},"default":[],"description":"List of module configurations"},"interfaces":{"type":"array","items":{"type":"object","properties":{"expose":{"type":"array","items":{"type":"string"},"description":"List of regex patterns that match paths to expose in this interface"},"from":{"type":"array","items":{"type":"string"},"description":"List of regex patterns that match modules which adopt this interface"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"},"exclusive":{"type":"boolean","default":false,"description":"Whether this interface is exclusive"},"data_types":{"type":"string","default":"all","description":"The data types allowed to cross the interface"}},"additionalProperties":false},"default":[],"description":"List of interface configurations"}},"additionalProperties":false}
</schema>

[User] Provide a JSON object that satisfies the schema "Tach Domain Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Tach Domain Configuration Schema

Domain-level configuration for the Tach CLI

Path to the dependency

Path to the dependency

Flag usages of this dependency without failing tach check

List of dependencies for the module

Path to the dependency

List of forbidden dependencies for the module

The architectural layer this module belongs to

Flag to skip checks for this module

Whether this module is a utility module

DEPRECATED: Use 'interfaces' instead

List of visibility patterns

Configuration for the root module of the domain

Path to the module

Path to the dependency

Path to the dependency

List of dependencies for the module

Path to the dependency

Path to the dependency

List of external dependencies for the module

Path to the dependency

List of forbidden external dependencies for the module

Flag to skip checks for this module

Whether this module is a utility module

DEPRECATED: Use 'interfaces' instead

List of visibility patterns

List of module paths that share the same configuration

Path to the dependency

Path to the dependency

List of dependencies for the module

Path to the dependency

Path to the dependency

Path to the dependency

Flag to skip checks for this module

Whether this module is a utility module

DEPRECATED: Use 'interfaces' instead

List of visibility patterns

List of module configurations

List of regex patterns that match paths to expose in this interface

List of regex patterns that match modules which adopt this interface

List of visibility patterns

Whether this interface is exclusive

The data types allowed to cross the interface

List of interface configurations

Provide a JSON object that satisfies the schema "Tach Domain Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Tach Project Configuration Schema","description":"Project-level configuration for the Tach CLI","type":"object","properties":{"modules":{"type":"array","items":{"type":"object","oneOf":[{"required":["path"],"properties":{"path":{"type":"string","description":"Path to the module"},"depends_on":{"type":"array","items":{"oneOf":[{"type":"string","description":"Path to the dependency"},{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the dependency"},"deprecated":{"type":"boolean","default":false,"description":"Flag usages of this dependency without failing tach check"}},"additionalProperties":false}]},"default":null,"description":"List of dependencies for the module"},"cannot_depend_on":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden dependencies for the module"},"depends_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of external dependencies for the module"},"cannot_depend_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden external dependencies for the module"},"layer":{"type":"string","description":"The architectural layer this module belongs to"},"unchecked":{"type":"boolean","default":false,"description":"Flag to skip checks for this module"},"utility":{"type":"boolean","description":"Whether this module is a utility module"},"strict":{"type":"boolean","default":false,"description":"DEPRECATED: Use 'interfaces' instead"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"}},"additionalProperties":false},{"required":["paths"],"properties":{"paths":{"type":"array","items":{"type":"string"},"description":"List of module paths that share the same configuration"},"depends_on":{"type":"array","items":{"oneOf":[{"type":"string","description":"Path to the dependency"},{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the dependency"},"deprecated":{"type":"boolean","default":false,"description":"Flag usages of this dependency without failing tach check"}},"additionalProperties":false}]},"default":null,"description":"List of dependencies for the module"},"cannot_depend_on":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden dependencies for the module"},"depends_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of external dependencies for the module"},"cannot_depend_on_external":{"type":"array","items":{"type":"string","description":"Path to the dependency"},"default":null,"description":"List of forbidden external dependencies for the module"},"layer":{"type":"string","description":"The architectural layer this module belongs to"},"unchecked":{"type":"boolean","default":false,"description":"Flag to skip checks for this module"},"utility":{"type":"boolean","description":"Whether this module is a utility module"},"strict":{"type":"boolean","default":false,"description":"DEPRECATED: Use 'interfaces' instead"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"}},"additionalProperties":false}]},"default":[],"description":"List of module configurations"},"interfaces":{"type":"array","items":{"type":"object","properties":{"expose":{"type":"array","items":{"type":"string"},"description":"List of regex patterns that match paths to expose in this interface"},"from":{"type":"array","items":{"type":"string"},"description":"List of regex patterns that match modules which adopt this interface"},"visibility":{"type":"array","items":{"type":"string"},"default":null,"description":"List of visibility patterns"},"exclusive":{"type":"boolean","default":false,"description":"Whether this interface is exclusive"},"data_types":{"type":"string","default":"all","description":"The data types allowed to cross the interface"}},"additionalProperties":false},"default":[],"description":"List of interface configurations"},"external":{"type":"object","properties":{"exclude":{"type":"array","items":{"type":"string"},"description":"List of external dependency names to ignore during checks"}},"additionalProperties":false},"plugins":{"type":"object","properties":{"django":{"type":"object","properties":{"settings_module":{"type":"string","description":"The settings module to use for Django"}},"additionalProperties":false}},"additionalProperties":false},"layers":{"type":"array","items":{"oneOf":[{"type":"string","description":"Layer name"},{"type":"object","properties":{"name":{"type":"string","description":"Layer name"},"closed":{"type":"boolean","default":false,"description":"Whether this layer is closed. Closed layers prevent modules in higher layers from importing modules in lower layers."}},"required":["name"],"additionalProperties":false,"description":"Layer configuration with optional closed property"}]},"description":"List of layers in hierarchical order (highest to lowest). Each layer can be specified as a string (shorthand) or an object with name and optional closed property."},"cache":{"type":"object","properties":{"backend":{"type":"string","enum":["local"],"default":"local","description":"Cache backend type (currently not configurable, 'local' only)"},"file_dependencies":{"type":"array","items":{"type":"string"},"default":[],"description":"List of files that trigger cache invalidation"},"env_dependencies":{"type":"array","items":{"type":"string"},"default":[],"description":"List of environment variables that trigger cache invalidation"}},"additionalProperties":false},"rules":{"type":"object","properties":{"unused_ignore_directives":{"type":"string","enum":["error","warn","off"],"default":"error","description":"How to handle unused ignore directives"},"require_ignore_directive_reasons":{"type":"string","enum":["error","warn","off"],"default":"error","description":"How to handle require ignore directive reasons"},"unused_external_dependencies":{"type":"string","enum":["error","warn","off"],"default":"error","description":"How to handle unused external dependencies"},"local_imports":{"type":"string","enum":["error","warn","off"],"default":"error","description":"How to handle imports that are not at the global scope (e.g. within a function, class, or control structure)"}},"additionalProperties":false},"exclude":{"type":"array","items":{"type":"string"},"description":"List of paths to exclude from the project; relative to the project root"},"source_roots":{"type":"array","items":{"type":"string"},"description":"Root directories of Python source code; relative to the project root"},"exact":{"type":"boolean","default":false,"description":"Disallow listed dependencies that are not used in the project"},"respect_gitignore":{"type":"boolean","default":true,"description":"Exclude files and directories matched by '.gitignore'"},"root_module":{"type":"string","description":"How to treat code outside of explicitly listed modules"},"disable_logging":{"type":"boolean","default":false,"description":"Disable anonymized usage logging"},"ignore_type_checking_imports":{"type":"boolean","default":true,"description":"Ignore type-checking imports when checking module boundaries"},"forbid_circular_dependencies":{"type":"boolean","default":false,"description":"Cause `tach check` to fail if any circular dependencies are detected"}},"additionalProperties":false}
</schema>

[User] Provide a JSON object that satisfies the schema "Tach Project Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Tach Project Configuration Schema

Project-level configuration for the Tach CLI

Path to the module

Path to the dependency

Path to the dependency

List of dependencies for the module

Path to the dependency

Path to the dependency

Path to the dependency

Flag to skip checks for this module

Whether this module is a utility module

DEPRECATED: Use 'interfaces' instead

List of visibility patterns

Path to the dependency

Path to the dependency

List of dependencies for the module

Path to the dependency

Path to the dependency

Path to the dependency

Flag to skip checks for this module

Whether this module is a utility module

DEPRECATED: Use 'interfaces' instead

List of visibility patterns

List of module configurations

List of visibility patterns

Whether this interface is exclusive

List of interface configurations

List of external dependency names to ignore during checks

The settings module to use for Django

Layer name

Layer name

Whether this layer is closed. Closed layers prevent modules in higher layers from importing modules in lower layers.

Layer configuration with optional closed property

List of layers in hierarchical order (highest to lowest). Each layer can be specified as a string (shorthand) or an object with name and optional closed property.

Cache backend type (currently not configurable, 'local' only)

List of files that trigger cache invalidation

List of environment variables that trigger cache invalidation

How to handle unused ignore directives

How to handle require ignore directive reasons

How to handle unused external dependencies

How to handle imports that are not at the global scope (e.g. within a function, class, or control structure)

List of paths to exclude from the project; relative to the project root

Root directories of Python source code; relative to the project root

Disallow listed dependencies that are not used in the project

Exclude files and directories matched by '.gitignore'

How to treat code outside of explicitly listed modules

Disable anonymized usage logging

Ignore type-checking imports when checking module boundaries

Cause `tach check` to fail if any circular dependencies are detected

Provide a JSON object that satisfies the schema "Tach Project Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[User] Provide a JSON object that satisfies the schema "talconfig". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Whether to skip envsubst to the contents (only for contents in another file)

The Common Expression Language (CEL) expression to match the disk

Name of the extension service config

The config files for the extension service

The environment for the extension service

Filesystem type

Registry url or the image

Protocol of the registry(https or http)

Template for installer image URL

Template for image URL

Source subnet

Source subnet to exclude from the subnet

Default action for all not explicitly configured traffic

List of matching network rules to allow or block against the defaultAction

Disk size

Machine mode (e.g: metal)

Machine architecture (e.g: amd64

Whether to enable Secure Boot

Whether to use UKI if Secure Boot is enabled

Boot method of the node (can be disk-image

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

Name of the rule

Ports and protocols on the host affected by the rule

List of source subnets allowed to access the host ports/protocols

installDiskSelector

installDisk

Hostname of the node

IP address where the node can be reached

Whether the node is a controlplane

The disk used for installation

Look up disk used for installation

Whether to set "machine.network.hostname" to the generated config file

Whether "patches" defined here should override the one defined in node group

Whether "extraManifests" defined here should override the one defined in node group

Whether "certSANs" defined here should override the one defined in node group

Labels to be added to the node

Annotations to be added to the node

Node taints for the node. Effect is optional

DEPRECATED: user "userVolumes" instead

List of files to create inside the node

Whether to disable generating default search domain

List of additional kernel modules to load inside the node

List of nameservers for the node

List of network interface configuration for the node

List of manifest files to be added to the node

Additional certificate SANs to add to the machine certificate

Patches to be applied to the node

Talos installer image url for the node

Whether to skip schematic validation

Talos image customization to be used in the installer image

Talos image customization to be used for ISO or boot image

Machine hardware specification

Machine firewall specification

Machine extension services specification

Machine volume configs specification

Machine user volume configs specification

Template for the generated filename

Labels to be added to the node

Annotations to be added to the node

DEPRECATED: user "userVolumes" instead

List of files to create inside the node

List of nameservers for the node

Patches to be applied to the node

Talos installer image url for the node

Whether to skip schematic validation

Machine hardware specification

Machine firewall specification

Machine volume configs specification

Template for the generated filename

List of ports or port ranges

Protocol (can be tcp or udp)

The disk selector expression

Should the volume grow to the size of the disk (if possible)

The minimum size of the volume

The maximum size of the volume

Name of the cluster

Talos version to perform installation

Kubernetes version to use

Cluster's controlplane endpoint

The domain to be used by Kubernetes DNS

Whether to allow running workload on controlplane nodes. It is an alias to "AllowSchedulingOnMasters"

DEPRECATED Use node/node groups extraMachineCertSans ! Extra certificate SANs for the machine's certificate

Extra certificate SANs for the API server's certificate

A list of inline Kubernetes manifests for the cluster

The pod subnet CIDR list

The service subnet CIDR list

The CNI to be used for the cluster's network

Patches to be applied to all nodes

List of configurations for Node

Configurations targetted for all controlplane nodes

Configurations targetted for all worker nodes

Name of user volume config

Provisioning spec of the user volume config

Filesystem spec of the user volume config

Name of the volume config

Provisioning spec of the volume config

Provide a JSON object that satisfies the schema "talconfig". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/taplo.json","title":"Taplo Configuration Schema","type":"object","properties":{"exclude":{"description":"Files to exclude (ignore).\n\nA list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns. Globstars (`**`) are supported.\n\nRelative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.\n\nThis has priority over `include`.","type":["array","null"],"items":{"type":"string"}},"formatting":{"description":"Formatting options.","anyOf":[{"$ref":"#/definitions/OptionsIncomplete"},{"type":"null"}]},"include":{"description":"Files to include.\n\nA list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns. Globstars (`**`) are supported.\n\nRelative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.\n\nOmitting this property includes all files, **however an empty array will include none**.","type":["array","null"],"items":{"type":"string"}},"plugins":{"type":["object","null"],"additionalProperties":{"$ref":"#/definitions/Plugin"}},"rule":{"description":"Rules are used to override configurations by path and keys.","type":"array","items":{"$ref":"#/definitions/Rule"}},"schema":{"description":"Schema validation options.","anyOf":[{"$ref":"#/definitions/SchemaOptions"},{"type":"null"}]}},"additionalProperties":false,"definitions":{"OptionsIncomplete":{"description":"All the formatting options.","type":"object","properties":{"align_comments":{"description":"Align consecutive comments after entries and items vertically.\n\nThis applies to comments that are after entries or array items.","type":["boolean","null"]},"align_entries":{"description":"Align entries vertically.\n\nEntries that have table headers, comments, or blank lines between them are not aligned.","type":["boolean","null"]},"align_single_comments":{"description":"If `align_comments` is true, apply the alignment in cases where there's only one comment.","type":["boolean","null"]},"allowed_blank_lines":{"description":"The maximum amount of consecutive blank lines allowed.","type":["integer","null"],"minimum":0.0},"array_auto_collapse":{"description":"Automatically collapse arrays if they fit in one line.\n\nThe array won't be collapsed if it contains a comment.","type":["boolean","null"]},"array_auto_expand":{"description":"Automatically expand arrays to multiple lines once they exceed the configured `column_width`.","type":["boolean","null"]},"array_trailing_comma":{"description":"Put trailing commas for multiline arrays.","type":["boolean","null"]},"column_width":{"description":"Target maximum column width after which arrays are expanded into new lines.\n\nThis is best-effort and might not be accurate.","type":["integer","null"],"minimum":0.0},"compact_arrays":{"description":"Omit whitespace padding inside single-line arrays.","type":["boolean","null"]},"compact_entries":{"description":"Omit whitespace around `=`.","type":["boolean","null"]},"compact_inline_tables":{"description":"Omit whitespace padding inside inline tables.","type":["boolean","null"]},"crlf":{"description":"Use CRLF line endings","type":["boolean","null"]},"indent_entries":{"description":"Indent entries under tables.","type":["boolean","null"]},"indent_string":{"description":"Indentation to use, should be tabs or spaces but technically could be anything.","type":["string","null"]},"indent_tables":{"description":"Indent subtables if they come in order.","type":["boolean","null"]},"inline_table_expand":{"description":"Expand values (e.g.) inside inline tables where possible.","type":["boolean","null"]},"reorder_arrays":{"description":"Alphabetically reorder array values that are not separated by blank lines.","type":["boolean","null"]},"reorder_keys":{"description":"Alphabetically reorder keys that are not separated by blank lines.","type":["boolean","null"]},"trailing_newline":{"description":"Add trailing newline to the source.","type":["boolean","null"]}}},"Plugin":{"description":"A plugin to extend Taplo's capabilities.","type":"object","properties":{"settings":{"description":"Optional settings for the plugin.","default":null}}},"Rule":{"description":"A rule to override options by either name or file.","type":"object","properties":{"exclude":{"description":"Files that are excluded from this rule.\n\nA list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns.\n\nRelative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.\n\nThis has priority over `include`.","type":["array","null"],"items":{"type":"string"}},"formatting":{"description":"Formatting options.","anyOf":[{"$ref":"#/definitions/OptionsIncomplete"},{"type":"null"}]},"include":{"description":"Files this rule is valid for.\n\nA list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns.\n\nRelative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.\n\nOmitting this property includes all files, **however an empty array will include none**.","type":["array","null"],"items":{"type":"string"}},"keys":{"description":"Keys the rule is valid for in a document.\n\nA list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) dotted key patterns.\n\nThis allows enabling the rule for specific paths in the document.\n\nFor example:\n\n- `package.metadata` will enable the rule for everything inside the `package.metadata` table, including itself.\n\nIf omitted, the rule will always be valid for all keys.","type":["array","null"],"items":{"type":"string"}},"name":{"description":"The name of the rule.\n\nUsed in `taplo::<name>` comments.","type":["string","null"]},"schema":{"description":"Schema validation options.","anyOf":[{"$ref":"#/definitions/SchemaOptions"},{"type":"null"}]}},"additionalProperties":false},"SchemaOptions":{"description":"Options for schema validation and completion.\n\nSchemas in rules with defined keys are ignored.","type":"object","properties":{"enabled":{"description":"Whether the schema should be enabled or not.\n\nDefaults to true if omitted.","type":["boolean","null"]},"path":{"description":"A local file path to the schema, overrides `url` if set.\n\nURLs are also accepted here, but it's not a guarantee and might change in newer releases. Please use the `url` field instead whenever possible.","type":["string","null"]},"url":{"description":"A full absolute URL to the schema.\n\nThe url of the schema, supported schemes are `http`, `https`, `file` and `taplo`.","type":["string","null"],"format":"uri"}},"additionalProperties":false}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Taplo Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Taplo Configuration Schema

Files to exclude (ignore).

A list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns. Globstars (`**`) are supported.

Relative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.

This has priority over `include`.

Formatting options.

Files to include.

A list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns. Globstars (`**`) are supported.

Relative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.

Omitting this property includes all files, **however an empty array will include none**.

Rules are used to override configurations by path and keys.

Schema validation options.

All the formatting options.

Align consecutive comments after entries and items vertically.

This applies to comments that are after entries or array items.

Align entries vertically.

Entries that have table headers, comments, or blank lines between them are not aligned.

If `align_comments` is true, apply the alignment in cases where there's only one comment.

The maximum amount of consecutive blank lines allowed.

Automatically collapse arrays if they fit in one line.

The array won't be collapsed if it contains a comment.

Automatically expand arrays to multiple lines once they exceed the configured `column_width`.

Put trailing commas for multiline arrays.

Target maximum column width after which arrays are expanded into new lines.

This is best-effort and might not be accurate.

Omit whitespace padding inside single-line arrays.

Omit whitespace around `=`.

Omit whitespace padding inside inline tables.

Use CRLF line endings

Indent entries under tables.

Indentation to use, should be tabs or spaces but technically could be anything.

Indent subtables if they come in order.

Expand values (e.g.) inside inline tables where possible.

Alphabetically reorder array values that are not separated by blank lines.

Alphabetically reorder keys that are not separated by blank lines.

Add trailing newline to the source.

A plugin to extend Taplo's capabilities.

Optional settings for the plugin.

A rule to override options by either name or file.

Files that are excluded from this rule.

A list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns.

Relative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.

This has priority over `include`.

Formatting options.

Files this rule is valid for.

A list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) path patterns.

Relative paths are **not** relative to the configuration file, but rather depends on the tool using the configuration.

Omitting this property includes all files, **however an empty array will include none**.

Keys the rule is valid for in a document.

A list of Unix-like [glob](https://en.wikipedia.org/wiki/Glob_(programming)) dotted key patterns.

This allows enabling the rule for specific paths in the document.

For example:

- `package.metadata` will enable the rule for everything inside the `package.metadata` table, including itself.

If omitted, the rule will always be valid for all keys.

The name of the rule.

Used in `taplo::<name>` comments.

Schema validation options.

Options for schema validation and completion.

Schemas in rules with defined keys are ignored.

Whether the schema should be enabled or not.

Defaults to true if omitted.

A local file path to the schema, overrides `url` if set.

URLs are also accepted here, but it's not a guarantee and might change in newer releases. Please use the `url` field instead whenever possible.

A full absolute URL to the schema.

The url of the schema, supported schemes are `http`, `https`, `file` and `taplo`.

Provide a JSON object that satisfies the schema "Taplo Configuration Schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/task.json","$comment":"Generated with typescript-json-schema on March 24, 2023 from https://code.visualstudio.com/docs/editor/tasks-appendix","definitions":{"BackgroundMatcher":{"description":"A description to track the start and end of a background task.","properties":{"activeOnStart":{"description":"If set to true the watcher is in active mode when the task\nstarts. This is equals of issuing a line that matches the\nbeginPattern.","type":"boolean"},"beginsPattern":{"description":"If matched in the output the start of a background task is signaled.","type":"string"},"endsPattern":{"description":"If matched in the output the end of a background task is signaled.","type":"string"}},"type":"object"},"BaseTaskConfiguration":{"properties":{"args":{"description":"The arguments passed to the command. Can be omitted.","items":{"type":"string"},"type":"array"},"command":{"description":"The command to be executed. Can be an external program or a shell\ncommand.","type":"string"},"isBackground":{"description":"Specifies whether a global command is a background task.","type":"boolean"},"options":{"$ref":"#/definitions/CommandOptions","description":"The command options used when the command is executed. Can be omitted."},"presentation":{"$ref":"#/definitions/PresentationOptions","description":"The presentation options."},"problemMatcher":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"items":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"type":"string"}]},"type":"array"},{"type":"string"}],"description":"The problem matcher to be used if a global command is executed (e.g. no tasks\nare defined). A tasks.json file can either contain a global problemMatcher\nproperty or a tasks property but not both."},"tasks":{"description":"The configuration of the available tasks. A tasks.json file can either\ncontain a global problemMatcher property or a tasks property but not both.","items":{"$ref":"#/definitions/TaskDescription"},"type":"array"},"type":{"description":"The type of a custom task. Tasks of type \"shell\" are executed\ninside a shell (e.g. bash, cmd, powershell, ...)","enum":["process","shell","npm"],"type":"string"}},"type":"object"},"CommandOptions":{"description":"Options to be passed to the external program or shell","properties":{"cwd":{"description":"The current working directory of the executed program or shell.\nIf omitted the current workspace's root is used.","type":"string"},"env":{"additionalProperties":{"type":"string"},"description":"The environment of the executed program or shell. If omitted\nthe parent process' environment is used.","type":"object"},"shell":{"description":"Configuration of the shell when task type is `shell`","properties":{"args":{"description":"The arguments to be passed to the shell executable to run in command mode\n(e.g ['-c'] for bash or ['/S', '/C'] for cmd.exe).","items":{"type":"string"},"type":"array"},"executable":{"description":"The shell to use.","type":"string"}},"type":"object"}},"type":"object"},"PresentationOptions":{"properties":{"clear":{"description":"Controls whether the terminal is cleared before this task is run.\nDefaults to `false`.","type":"boolean"},"echo":{"description":"Controls whether the command associated with the task is echoed\nin the user interface. Defaults to `true`.","type":"boolean"},"focus":{"description":"Controls whether the panel showing the task output is taking focus.\nDefaults to `false`.","type":"boolean"},"group":{"description":"Controls whether the task is executed in a specific terminal\ngroup using split panes. Tasks in the same group (specified by a string value)\nwill use split terminals to present instead of a new terminal panel.","type":"string"},"panel":{"description":"Controls if the task panel is used for this task only (dedicated),\nshared between tasks (shared) or if a new panel is created on\nevery task execution (new). Defaults to `shared`.","enum":["dedicated","new","shared"],"type":"string"},"reveal":{"description":"Controls whether the task output is reveal in the user interface.\nDefaults to `always`.","enum":["always","never","silent"],"type":"string"},"showReuseMessage":{"description":"Controls whether to show the `Terminal will be reused by tasks,\npress any key to close it` message.","type":"boolean"}},"type":"object"},"ProblemMatcher":{"description":"A description of a problem matcher that detects problems\nin build output.","properties":{"background":{"$ref":"#/definitions/BackgroundMatcher","description":"Additional information used to detect when a background task (like a watching task in Gulp)\nis active."},"base":{"description":"The name of a base problem matcher to use. If specified the\nbase problem matcher will be used as a template and properties\nspecified here will replace properties of the base problem\nmatcher","type":"string"},"fileLocation":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"}],"description":"Defines how filename reported in a problem pattern\nshould be read. Valid values are:\n - \"absolute\": the filename is always treated absolute.\n - \"relative\": the filename is always treated relative to\n   the current working directory. This is the default.\n - [\"relative\", \"path value\"]: the filename is always\n   treated relative to the given path value.\n - \"autodetect\": the filename is treated relative to\n   the current workspace directory, and if the file\n   does not exist, it is treated as absolute.\n - [\"autodetect\", \"path value\"]: the filename is treated\n   relative to the given path value, and if it does not\n   exist, it is treated as absolute."},"owner":{"description":"The owner of the produced VS Code problem. This is typically\nthe identifier of a VS Code language service if the problems are\nto be merged with the one produced by the language service\nor 'external'. Defaults to 'external' if omitted.","type":"string"},"pattern":{"anyOf":[{"$ref":"#/definitions/ProblemPattern"},{"items":{"$ref":"#/definitions/ProblemPattern"},"type":"array"},{"type":"string"}],"description":"The name of a predefined problem pattern, the inline definition\nof a problem pattern or an array of problem patterns to match\nproblems spread over multiple lines."},"severity":{"description":"The severity of the VS Code problem produced by this problem matcher.\n\nValid values are:\n  \"error\": to produce errors.\n  \"warning\": to produce warnings.\n  \"info\": to produce infos.\n\nThe value is used if a pattern doesn't specify a severity match group.\nDefaults to \"error\" if omitted.","type":"string"}},"type":"object"},"ProblemPattern":{"properties":{"code":{"description":"The match group index of the problem's code.\n\nDefaults to undefined. No code is captured.","type":"number"},"column":{"description":"The match group index of the problem's column in the source file.","type":"number"},"endColumn":{"description":"The match group index of the problem's end column in the source file.\n\nDefaults to undefined. No end column is captured.","type":"number"},"endLine":{"description":"The match group index of the problem's end line in the source file.\n\nDefaults to undefined. No end line is captured.","type":"number"},"file":{"description":"The match group index of the filename.","type":"number"},"kind":{"description":"Whether the pattern matches a problem for the whole file or for a location\ninside a file.\n\nDefaults to \"location\".","enum":["file","location"],"type":"string"},"line":{"description":"The match group index of the problem's line in the source file.\nCan only be omitted if location is specified.","type":"number"},"location":{"description":"The match group index of the problem's location. Valid location\npatterns are: (line), (line,column) and (startLine,startColumn,endLine,endColumn).\nIf omitted the line and column properties are used.","type":"number"},"loop":{"description":"Specifies if the last pattern in a multi line problem matcher should\nloop as long as it does match a line consequently. Only valid on the\nlast problem pattern in a multi line problem matcher.","type":"boolean"},"message":{"description":"The match group index of the message. Defaults to 0.","type":"number"},"regexp":{"description":"The regular expression to find a problem in the console output of an\nexecuted task.","type":"string"},"severity":{"description":"The match group index of the problem's severity.\n\nDefaults to undefined. In this case the problem matcher's severity\nis used.","type":"number"}},"type":"object"},"RunOptions":{"description":"A description to when and how run a task.","properties":{"reevaluateOnRerun":{"description":"Controls how variables are evaluated when a task is executed through\nthe Rerun Last Task command.\nThe default is `true`, meaning that variables will be re-evaluated when\na task is rerun. When set to `false`, the resolved variable values from\nthe previous run of the task will be used.","type":"boolean"},"runOn":{"description":"Specifies when a task is run.\n\nValid values are:\n  \"default\": The task will only be run when executed through the Run Task command.\n  \"folderOpen\": The task will be run when the containing folder is opened.","type":"string"}},"type":"object"},"TaskDescription":{"description":"The description of a task.","properties":{"args":{"description":"Additional arguments passed to the command. Should be used if type\nis \"process\".","items":{"type":"string"},"type":"array"},"command":{"description":"The command to execute. If the type is \"shell\" it should be the full\ncommand line including any additional arguments passed to the command.","type":"string"},"group":{"anyOf":[{"properties":{"isDefault":{"type":"boolean"},"kind":{"enum":["build","test"],"type":"string"}},"type":"object"},{"enum":["build","test"],"type":"string"}],"description":"Defines the group to which this task belongs. Also supports to mark\na task as the default task in a group."},"isBackground":{"description":"Whether the executed command is kept alive and runs in the background.","type":"boolean"},"label":{"description":"The task's name","type":"string"},"presentation":{"$ref":"#/definitions/PresentationOptions","description":"The presentation options."},"problemMatcher":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"items":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"type":"string"}]},"type":"array"},{"type":"string"}],"description":"The problem matcher(s) to use to capture problems in the tasks\noutput."},"runOptions":{"$ref":"#/definitions/RunOptions","description":"Defines when and how a task is run."},"type":{"description":"The type of a custom task. Tasks of type \"shell\" are executed\ninside a shell (e.g. bash, cmd, powershell, ...)","enum":["process","shell","npm"],"type":"string"}},"type":"object"}},"properties":{"args":{"description":"The arguments passed to the command. Can be omitted.","items":{"type":"string"},"type":"array"},"command":{"description":"The command to be executed. Can be an external program or a shell\ncommand.","type":"string"},"isBackground":{"description":"Specifies whether a global command is a background task.","type":"boolean"},"linux":{"$ref":"#/definitions/BaseTaskConfiguration","description":"Linux specific task configuration"},"options":{"$ref":"#/definitions/CommandOptions","description":"The command options used when the command is executed. Can be omitted."},"osx":{"$ref":"#/definitions/BaseTaskConfiguration","description":"macOS specific task configuration"},"presentation":{"$ref":"#/definitions/PresentationOptions","description":"The presentation options."},"problemMatcher":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"items":{"anyOf":[{"$ref":"#/definitions/ProblemMatcher"},{"type":"string"}]},"type":"array"},{"type":"string"}],"description":"The problem matcher to be used if a global command is executed (e.g. no tasks\nare defined). A tasks.json file can either contain a global problemMatcher\nproperty or a tasks property but not both."},"tasks":{"description":"The configuration of the available tasks. A tasks.json file can either\ncontain a global problemMatcher property or a tasks property but not both.","items":{"$ref":"#/definitions/TaskDescription"},"type":"array"},"type":{"description":"The type of a custom task. Tasks of type \"shell\" are executed\ninside a shell (e.g. bash, cmd, powershell, ...)","enum":["process","shell","npm"],"type":"string"},"version":{"description":"The configuration's version number","enum":["2.0.0"],"type":"string"},"windows":{"$ref":"#/definitions/BaseTaskConfiguration","description":"Windows specific task configuration"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "task". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Generated with typescript-json-schema on March 24, 2023 from https://code.visualstudio.com/docs/editor/tasks-appendix

A description to track the start and end of a background task.

If set to true the watcher is in active mode when the task
starts. This is equals of issuing a line that matches the
beginPattern.

If matched in the output the start of a background task is signaled.

If matched in the output the end of a background task is signaled.

The arguments passed to the command. Can be omitted.

The command to be executed. Can be an external program or a shell
command.

Specifies whether a global command is a background task.

The command options used when the command is executed. Can be omitted.

The presentation options.

The problem matcher to be used if a global command is executed (e.g. no tasks
are defined). A tasks.json file can either contain a global problemMatcher
property or a tasks property but not both.

The configuration of the available tasks. A tasks.json file can either
contain a global problemMatcher property or a tasks property but not both.

The type of a custom task. Tasks of type "shell" are executed
inside a shell (e.g. bash, cmd, powershell, ...)

Options to be passed to the external program or shell

The current working directory of the executed program or shell.
If omitted the current workspace's root is used.

The environment of the executed program or shell. If omitted
the parent process' environment is used.

Configuration of the shell when task type is `shell`

The arguments to be passed to the shell executable to run in command mode
(e.g ['-c'] for bash or ['/S', '/C'] for cmd.exe).

The shell to use.

Controls whether the terminal is cleared before this task is run.
Defaults to `false`.

Controls whether the command associated with the task is echoed
in the user interface. Defaults to `true`.

Controls whether the panel showing the task output is taking focus.
Defaults to `false`.

Controls whether the task is executed in a specific terminal
group using split panes. Tasks in the same group (specified by a string value)
will use split terminals to present instead of a new terminal panel.

Controls if the task panel is used for this task only (dedicated),
shared between tasks (shared) or if a new panel is created on
every task execution (new). Defaults to `shared`.

Controls whether the task output is reveal in the user interface.
Defaults to `always`.

Controls whether to show the `Terminal will be reused by tasks,
press any key to close it` message.

A description of a problem matcher that detects problems
in build output.

Additional information used to detect when a background task (like a watching task in Gulp)
is active.

The name of a base problem matcher to use. If specified the
base problem matcher will be used as a template and properties
specified here will replace properties of the base problem
matcher

Defines how filename reported in a problem pattern
should be read. Valid values are:
 - "absolute": the filename is always treated absolute.
 - "relative": the filename is always treated relative to
   the current working directory. This is the default.
 - ["relative", "path value"]: the filename is always
   treated relative to the given path value.
 - "autodetect": the filename is treated relative to
   the current workspace directory, and if the file
   does not exist, it is treated as absolute.
 - ["autodetect", "path value"]: the filename is treated
   relative to the given path value, and if it does not
   exist, it is treated as absolute.

The owner of the produced VS Code problem. This is typically
the identifier of a VS Code language service if the problems are
to be merged with the one produced by the language service
or 'external'. Defaults to 'external' if omitted.

The name of a predefined problem pattern, the inline definition
of a problem pattern or an array of problem patterns to match
problems spread over multiple lines.

The severity of the VS Code problem produced by this problem matcher.

Valid values are:
  "error": to produce errors.
  "warning": to produce warnings.
  "info": to produce infos.

The value is used if a pattern doesn't specify a severity match group.
Defaults to "error" if omitted.

The match group index of the problem's code.

Defaults to undefined. No code is captured.

The match group index of the problem's column in the source file.

The match group index of the problem's end column in the source file.

Defaults to undefined. No end column is captured.

The match group index of the problem's end line in the source file.

Defaults to undefined. No end line is captured.

The match group index of the filename.

Whether the pattern matches a problem for the whole file or for a location
inside a file.

Defaults to "location".

The match group index of the problem's line in the source file.
Can only be omitted if location is specified.

The match group index of the problem's location. Valid location
patterns are: (line), (line,column) and (startLine,startColumn,endLine,endColumn).
If omitted the line and column properties are used.

Specifies if the last pattern in a multi line problem matcher should
loop as long as it does match a line consequently. Only valid on the
last problem pattern in a multi line problem matcher.

The match group index of the message. Defaults to 0.

The regular expression to find a problem in the console output of an
executed task.

The match group index of the problem's severity.

Defaults to undefined. In this case the problem matcher's severity
is used.

A description to when and how run a task.

Controls how variables are evaluated when a task is executed through
the Rerun Last Task command.
The default is `true`, meaning that variables will be re-evaluated when
a task is rerun. When set to `false`, the resolved variable values from
the previous run of the task will be used.

Specifies when a task is run.

Valid values are:
  "default": The task will only be run when executed through the Run Task command.
  "folderOpen": The task will be run when the containing folder is opened.

The description of a task.

Additional arguments passed to the command. Should be used if type
is "process".

The command to execute. If the type is "shell" it should be the full
command line including any additional arguments passed to the command.

Defines the group to which this task belongs. Also supports to mark
a task as the default task in a group.

Whether the executed command is kept alive and runs in the background.

The task's name

The presentation options.

The problem matcher(s) to use to capture problems in the tasks
output.

Defines when and how a task is run.

Linux specific task configuration

macOS specific task configuration

The presentation options.

The configuration's version number

Windows specific task configuration

Provide a JSON object that satisfies the schema "task". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.