[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$defs":{"buildTasks":{"items":{"additionalProperties":false,"properties":{"name":{"description":"Task identifier for the logging.","minLength":1,"type":"string"},"run":{"description":"Either a complete command line or an array consisting of a command followed by an array of arguments.","oneOf":[{"minLength":1,"type":"string"},{"items":{"type":"string"},"type":"array"}]}},"required":["name","run"],"type":"object"},"type":"array"}},"$id":"https://www.qgoda.net/schemas/qgoda-v0.11.0.json","$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"description":"A Qgoda Configuration","properties":{"analyzers":{"default":[],"description":"Additional analyzers to run after the Qgoda standard analyzer.","items":{"description":"Name of the analyzer without the leading Qgoda::Analyzer::","type":"string"},"type":"array"},"build-task-timeout":{"default":300,"description":"Number of seconds to wait before forcibly terminating pre-build or post-build tasks; defaults to 300 seconds.","minimum":1,"type":"number"},"case-sensitive":{"default":false,"description":"Set to true if a case-sensitive file system shoud be assumed.","type":"boolean"},"compare-output":{"default":true,"description":"Should existing output files be read and compared to the new version to avoid updating timestamps (default => true)","type":"boolean"},"defaults":{"default":[],"description":"Default values, see http://www.qgoda.net/en/docs/defaults","items":{"additionalProperties":false,"description":"A list of objects with properties 'files' and 'values', default => empty","properties":{"files":{"default":[],"description":"Either one single file name pattern or a list of file name patterns.  Files that match will receive the values specified.","items":{"type":"string"},"type":"array"},"values":{"additionalProperties":false,"default":{},"description":"Values that should be set for matching files.","patternProperties":{".*":{}},"type":"object"}},"required":["files","values"],"type":"object"},"type":"array"},"exclude":{"default":[],"description":"List of additional file name patterns that should be ignored for building the site.","items":{"type":"string"},"type":"array"},"exclude-watch":{"default":[],"description":"List of additional file name patterns that should be ignored when changed in watch mode.","items":{"type":"string"},"type":"array"},"front-matter-placeholder":{"additionalProperties":false,"default":{"*":"[% '' %]\n"},"description":"An object of valid chain names or '*' that give the frontmatter placeholder string for each configured processor chain.","patternProperties":{"(\\*|_[a-zA-Z][_a-zA-Z0-9]*)":{"type":"string"}},"type":"object"},"generator":{"default":"Qgoda vv0.11.0 (https://www.qgoda.net/)","description":"Value for the generator meta tag in generated pages.","type":"string"},"helpers":{"additionalProperties":false,"default":{},"description":"Key-value pairs of command identifiers and the command to run in parallel, when running in watch mode. Default: empty.","patternProperties":{".+":{"items":{"type":"string"},"type":"array"}},"type":"object"},"index":{"default":"index","description":"Basename of a file that is considered to be the index document of a directory.","type":"string"},"latency":{"default":0.5,"description":"Number of seconds to wait until a rebuild is triggered after a file system change in watch mode.","minimum":0,"type":"number"},"linguas":{"description":"List of language identifiers complying to RFC4647 section 2.1 but without any asterisk (*) characters.","items":{"pattern":"[a-zA-Z]{1,8}(-[a-zA-z0-9]{8})?","type":"string"},"type":"array"},"link-score":{"default":5,"description":"By which value should two assets be considered more related if they link to to each other.","minimum":0,"type":"number"},"location":{"default":"/{directory}/{basename}/{index}{suffix}","description":"Template string for the output location.","type":"string"},"no-scm":{"default":[],"description":"List of additional file name patterns that should be processed in scm mode, even when not under version control","items":{"type":"string"},"type":"array"},"paths":{"additionalProperties":false,"default":{},"description":"Configurable paths.","properties":{"plugins":{"default":"_plugins","description":"Directory for plug-ins.","type":"string"},"po":{"default":"_po","description":"Directory for po files and other i18n related files.","type":"string"},"site":{"default":"_site","description":"Directory where to store rendered files, defaults to the absolute path to '_site' in the current directory.","type":"string"},"timestamp":{"default":"_timestamp","description":"Name of the timestamp file containing the seconds since the epoch since the last write of the site.","type":"string"},"views":{"default":"_views","description":"Directory where view templates are searched.","type":"string"}},"required":["plugins","po","site","timestamp","views"],"type":"object"},"permalink":{"default":"{significant-path}","description":"Template string for permalinks.","type":"string"},"po":{"additionalProperties":false,"default":{},"description":"Variables for internationalization (i18n) and the translation workflow.","properties":{"copyright-holder":{"default":"Set config.po.copyright-holder in '_config.yaml'.","description":"Copyright information for the original content.","type":"string"},"mdextra":{"default":[],"description":"List of file name patterns for additional markdown files to translate.","items":{"type":"string"},"type":"array"},"msgfmt":{"default":["msgfmt"],"description":"The 'msgfmt' command or an array of the program name plus arguments.","items":{"type":"string"},"type":"array"},"msgid-bugs-address":{"default":"Set config.po.msgid-bugs-address in '_config.yaml'.","description":"Where to report translation problems with the original strings.","type":"string"},"msgmerge":{"default":["msgmerge"],"description":"The 'msgmerge' command(or an array of the program name plus arguments.","items":{"type":"string"},"type":"array"},"qgoda":{"default":["qgoda"],"description":"The 'qgoda' command or an array of the program name plus arguments.","items":{"type":"string"},"type":"array"},"reload":{"default":false,"description":"Whether to throw away the translation before every rebuild, defaults to false.","type":"boolean"},"textdomain":{"default":"messages","description":"An identifier for the translation catalog (textdomain), defaults to 'messages'.","type":"string"},"tt2":{"default":[],"description":"A list of file name patterns or one single pattern, where translatable templates for the Template Toolkit version 2 are stored, defaults to '_views'.","items":{"type":"string"},"type":"array"},"xgettext":{"default":["xgettext"],"description":"The 'xgettext' command or an array of the program name plus arguments.","items":{"type":"string"},"type":"array"},"xgettext-tt2":{"default":["xgettext-tt2"],"description":"The 'xgettext-tt2' command or an array of the program name plus arguments.","items":{"type":"string"},"type":"array"}},"type":"object"},"post-build":{"#ref":"#/defs/buildTasks"},"post-processors":{"additionalProperties":false,"default":{"modules":[],"options":{}},"description":"Modules to run after each build.","properties":{"modules":{"default":[],"description":"The post-processor modules.","items":{"description":"Name of one post-processor module.","pattern":"[_a-zA-Z][_a-zA-Z0-9]*(::[_a-zA-Z][_a-zA-Z0-9]*)*","type":"string"},"type":"array"},"options":{"additionalProperties":false,"default":{},"description":"Additional options for the post-processor plug-ins","patternProperties":{".*":{}},"type":"object"}},"required":["modules","options"],"type":"object"},"pre-build":{"#ref":"#/defs/buildTasks"},"precious":{"default":[],"description":"List of file name patterns that should notbe deleted in the output directory.","items":{"type":"string"},"type":"array"},"private":{"description":"Site-specific variables.  You can also choose the namespace 'site' if you prefer."},"processors":{"additionalProperties":false,"default":{},"description":"The processors to use for generating content.","properties":{"chains":{"default":{"html":{"modules":["TT2","Strip","HTMLFilter"]},"markdown":{"modules":["TT2","Strip","Markdown"],"suffix":"html","wrapper":"html"},"raw":{"modules":["TT2","Strip"]},"xml":{"modules":["TT2","Strip"]}},"description":"The processor chains.","patternProperties":{"[_a-zA-Z][a-zA-Z0-9]*":{"additionalProperties":false,"description":"Properties of one processor chain.","properties":{"modules":{"description":"The module names.","items":{"type":"string"},"type":"array"},"suffix":{"description":"An optional suffix if different from original filename.","type":"string"},"wrapper":{"description":"An optional wrapper for a second run.","type":"string"}},"required":["modules"],"type":"object"}},"type":"object"},"options":{"additionalProperties":true,"default":{"HTMLFilter":{"AnchorTarget":{},"CleanUp":{},"Generator":{},"TOC":{"content-tag":"qgoda-content","end":6,"start":2,"template":"components/toc.html","toc-tag":"qgoda-toc"}}},"description":"Additional options for the processor plug-ins","type":"object"},"triggers":{"default":{"htm":"html","html":"html","json":"raw","md":"markdown","mdown":"markdown","mdwn":"markdown","mkd":"markdown","mkdn":"markdown","xml":"raw"},"description":"Filename extenders that trigger a  particular chain if not specified in front matter or defaults.","patternProperties":{".+":{"description":"The filename extender.","type":"string"}},"type":"object"}},"required":["chains","options","triggers"],"type":"object"},"scm":{"const":"git","description":"Source code management (SCM) that is in use. If present, only files that are under version control and those matching 'no-scm' are processed. Currently only git is supported.","type":"string"},"site":{"description":"Site-specific variables.  You can also choose the namespace 'private' if you prefer."},"srcdir":{"default":".","description":"The source directory for all assets. Do not set that variable yourself! It will be overwritten at runtime with the absolute path to the current directory.","readOnly":true,"type":"string"},"taxonomies":{"additionalProperties":true,"default":{"categories":3,"links":1,"tags":2},"description":"Key/value pairs of taxonomy names and their respective weights for the computation of relatedness.","patternProperties":{".+":{"nullable":true,"type":"integer"}},"type":"object"},"title":{"default":"A new Qgoda Powered Site","description":"The title of the site. It has no particular semantics.","type":"string"},"track-dependencies":{"default":false,"description":"Set to true if you want to speed up watch mode by re-processing only assets that have changed or depend on changed files.","type":"boolean"},"url":{"default":"Configure 'url' in _config.yaml!","description":"The main url of the site.","type":"string"},"view":{"default":"default.html","description":"The default view template to use.","minLength":1,"type":"string"}},"title":"Configuration","type":"object"}
</schema>

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

Task identifier for the logging.

Either a complete command line or an array consisting of a command followed by an array of arguments.

A Qgoda Configuration

Additional analyzers to run after the Qgoda standard analyzer.

Name of the analyzer without the leading Qgoda::Analyzer::

Number of seconds to wait before forcibly terminating pre-build or post-build tasks; defaults to 300 seconds.

Set to true if a case-sensitive file system shoud be assumed.

Should existing output files be read and compared to the new version to avoid updating timestamps (default => true)

Default values, see http://www.qgoda.net/en/docs/defaults

A list of objects with properties 'files' and 'values', default => empty

Either one single file name pattern or a list of file name patterns.  Files that match will receive the values specified.

Values that should be set for matching files.

List of additional file name patterns that should be ignored for building the site.

List of additional file name patterns that should be ignored when changed in watch mode.

An object of valid chain names or '*' that give the frontmatter placeholder string for each configured processor chain.

Value for the generator meta tag in generated pages.

Key-value pairs of command identifiers and the command to run in parallel, when running in watch mode. Default: empty.

Basename of a file that is considered to be the index document of a directory.

Number of seconds to wait until a rebuild is triggered after a file system change in watch mode.

List of language identifiers complying to RFC4647 section 2.1 but without any asterisk (*) characters.

By which value should two assets be considered more related if they link to to each other.

Template string for the output location.

List of additional file name patterns that should be processed in scm mode, even when not under version control

Configurable paths.

Directory for plug-ins.

Directory for po files and other i18n related files.

Directory where to store rendered files, defaults to the absolute path to '_site' in the current directory.

Name of the timestamp file containing the seconds since the epoch since the last write of the site.

Directory where view templates are searched.

Template string for permalinks.

Variables for internationalization (i18n) and the translation workflow.

Set config.po.copyright-holder in '_config.yaml'.

Copyright information for the original content.

List of file name patterns for additional markdown files to translate.

The 'msgfmt' command or an array of the program name plus arguments.

Set config.po.msgid-bugs-address in '_config.yaml'.

Where to report translation problems with the original strings.

The 'msgmerge' command(or an array of the program name plus arguments.

The 'qgoda' command or an array of the program name plus arguments.

Whether to throw away the translation before every rebuild, defaults to false.

An identifier for the translation catalog (textdomain), defaults to 'messages'.

A list of file name patterns or one single pattern, where translatable templates for the Template Toolkit version 2 are stored, defaults to '_views'.

The 'xgettext' command or an array of the program name plus arguments.

The 'xgettext-tt2' command or an array of the program name plus arguments.

Modules to run after each build.

The post-processor modules.

Name of one post-processor module.

Additional options for the post-processor plug-ins

List of file name patterns that should notbe deleted in the output directory.

Site-specific variables.  You can also choose the namespace 'site' if you prefer.

The processors to use for generating content.

The processor chains.

Properties of one processor chain.

The module names.

An optional suffix if different from original filename.

An optional wrapper for a second run.

Additional options for the processor plug-ins

Filename extenders that trigger a  particular chain if not specified in front matter or defaults.

The filename extender.

Source code management (SCM) that is in use. If present, only files that are under version control and those matching 'no-scm' are processed. Currently only git is supported.

Site-specific variables.  You can also choose the namespace 'private' if you prefer.

The source directory for all assets. Do not set that variable yourself! It will be overwritten at runtime with the absolute path to the current directory.

Key/value pairs of taxonomy names and their respective weights for the computation of relatedness.

The title of the site. It has no particular semantics.

Set to true if you want to speed up watch mode by re-processing only assets that have changed or depend on changed files.

The main url of the site.

The default view template to use.

Configuration

Provide a JSON object that satisfies the schema "Configuration". 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/qodana-1.0.json","$comment":"https://www.jetbrains.com/help/qodana/qodana-yaml.html","additionalProperties":true,"definitions":{"profile":{"description":"A profile is some template set of checks to run with Qodana analysis","type":"object","anyOf":[{"properties":{"name":{"description":"The profile name (embedded or located in the project)","type":"string"}},"required":["name"],"additionalProperties":false},{"properties":{"path":{"description":"The path to the profile file relative to the project root","type":"string"}},"required":["path"],"additionalProperties":false}]},"include":{"description":"The inspections to run in addition to those from the profile","type":"object","properties":{"name":{"description":"The ID of the inspection to be added","type":"string"},"paths":{"description":"The path in which to enable the inspection, relative to the project root. Omitting the paths enables the inspection everywhere","type":"array","minItems":0,"items":{"type":"string"}}},"required":["name"],"additionalProperties":false},"exclude":{"description":"The inspections or paths to exclude from analysis","type":"object","properties":{"name":{"description":"The ID of the inspection to exclude, or 'All'","type":"string"},"paths":{"description":"The path in which to disable the inspection, relative to the project root. Omitting the paths disables the inspection everywhere","type":"array","minItems":0,"items":{"type":"string"}}},"required":["name"],"additionalProperties":false},"script":{"description":"The default running scenario","type":"object","additionalProperties":false,"properties":{"name":{"description":"The name of the script","enum":["default","php-migration","local-changes","teamcity-changes","migrate-classes"]},"parameters":{"description":"The parameters to pass to the script","type":"object","additionalProperties":true}}},"licenseRule":{"description":"A license rule to apply for license compatibility checks in Qodana","type":"object","properties":{"keys":{"description":"The list of project license SPDX IDs","type":"array","minItems":0,"items":{"type":"string"}},"allowed":{"description":"The list of allowed dependency licenses for the project","type":"array","minItems":0,"items":{"type":"string"}},"prohibited":{"description":"The list of prohibited dependency licenses for the project","type":"array","minItems":0,"items":{"type":"string"}}},"additionalProperties":false},"dependencyIgnore":{"description":"A dependency to ignore for license checks in Qodana","type":"object","additionalProperties":false,"properties":{"name":{"description":"The name of a dependency to ignore","type":"string"}}},"dependencyOverride":{"description":"A dependency metadata to override for license checks in Qodana","type":"object","additionalProperties":false,"properties":{"name":{"description":"The dependency name","type":"string"},"version":{"description":"The dependency version","type":"string"},"url":{"description":"The dependency homepage","type":"string"},"licenses":{"description":"The dependency licenses","type":"array","minItems":0,"items":{"$ref":"#/definitions/license"}}},"required":["name","version","licenses"]},"customDependency":{"description":"A dependency to add to license checks to Qodana","type":"object","additionalProperties":false,"properties":{"name":{"description":"The dependency name","type":"string"},"version":{"description":"The dependency version","type":"string"},"url":{"description":"The dependency homepage","type":"string"},"licenses":{"description":"The dependency licenses","type":"array","minItems":0,"items":{"$ref":"#/definitions/license"}}},"required":["name","version","licenses"]},"license":{"description":"A license to apply for license compatibility checks in Qodana","type":"object","properties":{"key":{"description":"The SPDX ID of the license","type":"string"},"url":{"description":"The license homepage","type":"string"}},"additionalProperties":false},"dotnet":{"description":"Configuration for .NET solutions and projects","anyOf":[{"type":"object","properties":{"solution":{"description":"The name of a .NET solution inside the Qodana project","type":"string","minLength":1}},"additionalProperties":false},{"type":"object","properties":{"project":{"description":"The name of a .NET project inside the Qodana project","type":"string","minLength":1}},"additionalProperties":false},{"type":"object","properties":{"configuration":{"description":"The name of a configuration to be used for .NET solution or project","type":"string","minLength":1}},"additionalProperties":false},{"type":"object","properties":{"platform":{"description":"The name of a platform to be used for .NET solution or project","type":"string","minLength":1}},"additionalProperties":false},{"type":"object","properties":{"frameworks":{"description":"Semicolon-separated list of target framework monikers (TFM) to be analyzed (https://learn.microsoft.com/en-us/dotnet/standard/frameworks)","type":"string","minLength":1}},"additionalProperties":false}]},"dot-net":{"description":"Configuration for .NET solutions and projects","deprecated":true,"anyOf":[{"type":"object","properties":{"solution":{"description":"The name of a .NET solution inside the Qodana project","type":"string","minLength":1}},"additionalProperties":false},{"type":"object","properties":{"project":{"description":"The name of a .NET project inside the Qodana project","type":"string","minLength":1}},"additionalProperties":false}]},"licenseOverride":{"type":"object","description":"Specifies the license of a dependency or project ","properties":{"key":{"type":"string","description":"SPDX id of this license"},"url":{"type":"string","description":"Homepage of this license","format":"uri"}}},"php":{"description":"Configuration for PHP projects","type":"object","properties":{"version":{"description":"The PHP version to use for the code analysis","type":"string","minLength":1}},"additionalProperties":false},"plugin":{"description":"A plugin to install for Qodana analysis","type":"object","properties":{"id":{"description":"The plugin ID to install (can be copied from the plugin page on the JetBrains Marketplace)","type":"string","minLength":1}}},"severityThresholds":{"type":"object","description":"Configures maximum thresholds for different problem severities. Absent properties are not checked. If a baseline is given, only new results are counted","properties":{"any":{"type":"integer","default":null,"description":"The run fails if the total amount of results exceeds this number."},"critical":{"type":"integer","default":null,"description":"The run fails if the amount results with severity CRITICAL exceeds this number."},"high":{"type":"integer","default":null,"description":"The run fails if the amount results with severity HIGH exceeds this number."},"moderate":{"type":"integer","default":null,"description":"The run fails if the amount results with severity MODERATE exceeds this number."},"low":{"type":"integer","default":null,"description":"The run fails if the amount results with severity LOW exceeds this number."},"info":{"type":"integer","default":null,"description":"The run fails if the amount results with severity INFO exceeds this number."}}},"coverageThresholds":{"type":"object","description":"Configures minimum thresholds for test coverage metrics. Absent properties are not checked","properties":{"total":{"type":"integer","default":null,"description":"The run fails if the percentage of total lines covered is lower than this number."},"fresh":{"type":"integer","default":null,"description":"The run fails if the percentage of fresh lines covered is lower than this number"}}},"failureConditions":{"type":"object","properties":{"severityThresholds":{"$ref":"#/definitions/severityThresholds","default":null},"testCoverageThresholds":{"$ref":"#/definitions/coverageThresholds","default":null}}}},"description":"A configuration file for Qodana (https://jetbrains.com/qodana), named qodana.yaml or qodana.yml","properties":{"version":{"description":"The version of the file format","enum":["1.0"]},"profile":{"$ref":"#/definitions/profile","description":"The profile configuration for Qodana analysis"},"failThreshold":{"description":"Deprecated: Use failureConditions#anySeverity","type":"integer","minimum":0,"deprecated":true},"script":{"$ref":"#/definitions/script","description":"The run scenario. 'default' by default"},"exclude":{"description":"The inspections and paths that are excluded from analysis","type":"array","minItems":0,"items":{"$ref":"#/definitions/exclude"}},"include":{"description":"The inspections and paths that are added to those from the profile","type":"array","minItems":0,"items":{"$ref":"#/definitions/include"}},"linter":{"description":"The linter (Docker image) to run for Qodana CLI / any CI extensions","type":"string"},"ide":{"description":"The local path to an IDE or a product code to use for Qodana analysis. Incompatible with 'linter'","type":"string"},"bootstrap":{"type":"string","description":"The command to run inside Docker before the analysis starts"},"properties":{"type":"object","description":"Set JVM properties to be used while running Qodana","additionalProperties":{"type":"string"}},"licenseRules":{"description":"A list of license rules to apply for license checks","type":"array","minItems":0,"items":{"$ref":"#/definitions/licenseRule"}},"dependencyIgnores":{"description":"","type":"array","minItems":0,"items":{"$ref":"#/definitions/dependencyIgnore"}},"dependencyOverrides":{"description":"","type":"array","minItems":0,"items":{"$ref":"#/definitions/dependencyOverride"}},"projectLicenses":{"description":"Overrides the licenses attached to the project","type":"array","minItems":0,"items":{"$ref":"#/definitions/licenseOverride"}},"customDependencies":{"description":"","type":"array","minItems":0,"items":{"$ref":"#/definitions/customDependency"}},"plugins":{"description":"A list of plugins to install for Qodana analysis","type":"array","minItems":0,"items":{"$ref":"#/definitions/plugin"}},"dot-net":{"$ref":"#/definitions/dot-net","description":"The configuration for .NET solutions and projects"},"dotnet":{"$ref":"#/definitions/dotnet","description":"The configuration for .NET solutions and projects"},"projectJDK":{"description":"The JDK to use for the project","type":"string"},"php":{"$ref":"#/definitions/php","description":"The configuration for PHP projects"},"disableSanityInspections":{"description":"Disable sanity checks for the project","type":"boolean","default":false},"fixesStrategy":{"description":"The strategy to apply fixes","enum":["none","cleanup","apply"],"default":"none"},"runPromoInspections":{"description":"Whether to run a curated set of promo inspections","type":"boolean","default":false},"includeAbsent":{"description":"Whether to include absent issues in the baseline calculation","type":"boolean","default":false},"maxRuntimeNotifications":{"description":"Maximum amount of internal errors to collect in the report","type":"integer","default":100},"failOnErrorNotification":{"description":"Whether to fail the run when any internal error was encountered. In that case, the program returns exit code 70","type":"boolean","default":false},"failureConditions":{"$ref":"#/definitions/failureConditions","description":"Configures individual failure conditions. Absent properties will not be checked"},"dependencySbomExclude":{"type":"array","description":"Which dependencies to exclude from the generated SBOM report","items":{"$ref":"#/definitions/dependencyIgnore"}},"modulesToAnalyze":{"description":"Which submodules to include. Omitting this key will include all submodules","type":"array","minItems":0,"items":{"type":"object","properties":{"name":{"type":"string"}}}},"analyzeDevDependencies":{"description":"Whether to include dev dependencies in the analysis","type":"boolean","default":false},"enablePackageSearch":{"description":"Using package-search service for fetching license data for dependencies (only for jvm libraries)","type":"boolean","default":false},"raiseLicenseProblems":{"description":"Show license problems like other inspections","type":"boolean","default":false}},"required":["version"],"title":"Qodana","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "Qodana". Here are the required top‑level fields: version. Return only the valid JSON object.

A profile is some template set of checks to run with Qodana analysis

The profile name (embedded or located in the project)

The path to the profile file relative to the project root

The inspections to run in addition to those from the profile

The ID of the inspection to be added

The path in which to enable the inspection, relative to the project root. Omitting the paths enables the inspection everywhere

The inspections or paths to exclude from analysis

The ID of the inspection to exclude, or 'All'

The path in which to disable the inspection, relative to the project root. Omitting the paths disables the inspection everywhere

The default running scenario

The name of the script

default php-migration local-changes teamcity-changes migrate-classes

The parameters to pass to the script

A license rule to apply for license compatibility checks in Qodana

The list of project license SPDX IDs

The list of allowed dependency licenses for the project

The list of prohibited dependency licenses for the project

A dependency to ignore for license checks in Qodana

The name of a dependency to ignore

A dependency metadata to override for license checks in Qodana

The dependency name

The dependency version

The dependency homepage

The dependency licenses

A dependency to add to license checks to Qodana

The dependency name

The dependency version

The dependency homepage

The dependency licenses

A license to apply for license compatibility checks in Qodana

The SPDX ID of the license

The license homepage

Configuration for .NET solutions and projects

The name of a .NET solution inside the Qodana project

The name of a .NET project inside the Qodana project

The name of a configuration to be used for .NET solution or project

The name of a platform to be used for .NET solution or project

Semicolon-separated list of target framework monikers (TFM) to be analyzed (https://learn.microsoft.com/en-us/dotnet/standard/frameworks)

Specifies the license of a dependency or project

SPDX id of this license

Homepage of this license

Configuration for PHP projects

The PHP version to use for the code analysis

A plugin to install for Qodana analysis

The plugin ID to install (can be copied from the plugin page on the JetBrains Marketplace)

Configures maximum thresholds for different problem severities. Absent properties are not checked. If a baseline is given, only new results are counted

The run fails if the total amount of results exceeds this number.

The run fails if the amount results with severity CRITICAL exceeds this number.

The run fails if the amount results with severity HIGH exceeds this number.

The run fails if the amount results with severity MODERATE exceeds this number.

The run fails if the amount results with severity LOW exceeds this number.

The run fails if the amount results with severity INFO exceeds this number.

Configures minimum thresholds for test coverage metrics. Absent properties are not checked

The run fails if the percentage of total lines covered is lower than this number.

The run fails if the percentage of fresh lines covered is lower than this number

A configuration file for Qodana (https://jetbrains.com/qodana), named qodana.yaml or qodana.yml

The version of the file format

The profile configuration for Qodana analysis

Deprecated: Use failureConditions#anySeverity

The run scenario. 'default' by default

The inspections and paths that are excluded from analysis

The inspections and paths that are added to those from the profile

The linter (Docker image) to run for Qodana CLI / any CI extensions

The local path to an IDE or a product code to use for Qodana analysis. Incompatible with 'linter'

The command to run inside Docker before the analysis starts

Set JVM properties to be used while running Qodana

A list of license rules to apply for license checks

Overrides the licenses attached to the project

A list of plugins to install for Qodana analysis

The configuration for .NET solutions and projects

The JDK to use for the project

The configuration for PHP projects

Disable sanity checks for the project

The strategy to apply fixes

Whether to run a curated set of promo inspections

Whether to include absent issues in the baseline calculation

Maximum amount of internal errors to collect in the report

Whether to fail the run when any internal error was encountered. In that case, the program returns exit code 70

Configures individual failure conditions. Absent properties will not be checked

Which dependencies to exclude from the generated SBOM report

Which submodules to include. Omitting this key will include all submodules

Whether to include dev dependencies in the analysis

Using package-search service for fetching license data for dependencies (only for jvm libraries)

Show license problems like other inspections

Qodana

Provide a JSON object that satisfies the schema "Qodana". Here are the required top‑level fields: version. 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>
{"$defs":{"Agent":{"additionalProperties":false,"properties":{"id":{"description":"Unique ID of this component.","title":"Id","type":"string"},"inputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Input variable IDs required by this component.","title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Variable IDs where output is stored.","title":"Outputs"},"type":{"const":"agent","default":"agent","title":"Type","type":"string"},"model":{"description":"The id of the model for this agent to use.","title":"Model","type":"string"},"prompt":{"description":"The id of the prompt for this agent to use","title":"Prompt","type":"string"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Tools that this agent has access to","title":"Tools"}},"required":["id","model","prompt"],"title":"Agent","type":"object"},"AuthorizationProvider":{"additionalProperties":false,"description":"Defines how tools or providers authenticate with APIs, such as OAuth2 or API keys.","properties":{"id":{"description":"Unique ID of the authorization configuration.","title":"Id","type":"string"},"type":{"description":"Authorization method, e.g., 'oauth2' or 'api_key'.","title":"Type","type":"string"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Base URL or domain of the provider.","title":"Host"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"OAuth2 client ID.","title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"OAuth2 client secret.","title":"Client Secret"},"token_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Token endpoint URL.","title":"Token Url"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"OAuth2 scopes required.","title":"Scopes"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"API key if using token-based auth.","title":"Api Key"}},"required":["id","type"],"title":"AuthorizationProvider","type":"object"},"Condition":{"additionalProperties":false,"description":"Conditional logic gate within a flow. Supports branching logic for execution based on variable values.","properties":{"if_var":{"description":"ID of the variable to evaluate.","title":"If Var","type":"string"},"equals":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"default":null,"description":"Match condition for equality check.","title":"Equals"},"exists":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Condition to check existence of a variable.","title":"Exists"},"then":{"description":"List of step IDs to run if condition matches.","items":{"type":"string"},"title":"Then","type":"array"},"else":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional list of step IDs to run if condition fails.","title":"Else"}},"required":["if_var","then"],"title":"Condition","type":"object"},"DisplayMetadata":{"additionalProperties":false,"description":"Additional UI hints used to customize how input fields are displayed in the generated application UI.","properties":{"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Placeholder text shown inside the input field.","title":"Placeholder"},"tooltip":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Tooltip shown on hover.","title":"Tooltip"},"default_value":{"anyOf":[{},{"type":"null"}],"default":null,"description":"Default value if the user doesn't supply one.","title":"Default Value"},"min_value":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"default":null,"description":"Minimum value for numeric inputs.","title":"Min Value"},"max_value":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"default":null,"description":"Maximum value for numeric inputs.","title":"Max Value"},"step":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"default":null,"description":"Step size for numeric inputs.","title":"Step"},"allowed_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Allowed file types for file upload.","title":"Allowed Types"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Options for dropdowns, radios, or checkboxes.","title":"Options"},"group":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Grouping section this input belongs to.","title":"Group"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Section name used to visually separate inputs.","title":"Section"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Icon shown alongside input (optional).","title":"Icon"},"css_class":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional CSS class for advanced styling.","title":"Css Class"}},"title":"DisplayMetadata","type":"object"},"DisplayType":{"description":"UI rendering hint for how an input should appear in the frontend (e.g., text box, dropdown, file upload).","enum":["text","textarea","dropdown","file_upload","checkbox","slider","radio","group","section"],"title":"DisplayType","type":"string"},"Feedback":{"additionalProperties":false,"description":"Schema to define how user feedback is collected, structured, and optionally used to guide future prompts.","properties":{"id":{"description":"Unique ID of the feedback config.","title":"Id","type":"string"},"type":{"$ref":"#/$defs/FeedbackType","description":"Feedback mechanism type."},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Question to show user for qualitative feedback.","title":"Question"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ID of prompt used to generate a follow-up based on feedback.","title":"Prompt"}},"required":["id","type"],"title":"Feedback","type":"object"},"FeedbackType":{"description":"Enum of supported feedback mechanisms such as thumbs, stars, or text responses.","enum":["thumbs","star","text","rating","choice","boolean"],"title":"FeedbackType","type":"string"},"Flow":{"additionalProperties":false,"description":"Composable structure that defines the interaction logic for a generative AI application.\nSupports branching, memory, and sequencing of steps.","properties":{"id":{"description":"Unique ID of this component.","title":"Id","type":"string"},"inputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Input variable IDs required by this component.","title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Variable IDs where output is stored.","title":"Outputs"},"mode":{"$ref":"#/$defs/FlowMode","description":"Interaction mode for the flow."},"steps":{"description":"List of steps or nested step IDs.","items":{"anyOf":[{"discriminator":{"mapping":{"agent":"#/$defs/Agent","tool":"#/$defs/Tool","vector_retrieve":"#/$defs/VectorDBRetriever"},"propertyName":"type"},"oneOf":[{"$ref":"#/$defs/Agent"},{"$ref":"#/$defs/Tool"},{"$ref":"#/$defs/VectorDBRetriever"}]},{"type":"string"}]},"title":"Steps","type":"array"},"conditions":{"anyOf":[{"items":{"$ref":"#/$defs/Condition"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional conditional logic within the flow.","title":"Conditions"},"memory":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"List of memory IDs to include (chat mode only).","title":"Memory"}},"required":["id","mode"],"title":"Flow","type":"object"},"FlowMode":{"description":"Execution context for the flow. `chat` maintains history, while `complete` operates statelessly.","enum":["chat","complete"],"title":"FlowMode","type":"string"},"Memory":{"additionalProperties":false,"description":"Session or persistent memory used to store relevant conversation or state data across steps or turns.","properties":{"id":{"description":"Unique ID of the memory block.","title":"Id","type":"string"},"type":{"$ref":"#/$defs/MemoryType","description":"The type of memory to store context."},"embedding_model":{"description":"Embedding model ID used for storage.","title":"Embedding Model","type":"string"},"persist":{"default":false,"description":"Whether memory persists across sessions.","title":"Persist","type":"boolean"},"ttl_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Optional TTL for temporary memory.","title":"Ttl Minutes"},"use_for_context":{"default":true,"description":"Whether this memory should be injected as context.","title":"Use For Context","type":"boolean"}},"required":["id","type","embedding_model"],"title":"Memory","type":"object"},"MemoryType":{"description":"Enum to differentiate supported memory types, such as vector memory for embedding-based recall.","enum":["vector"],"title":"MemoryType","type":"string"},"Model":{"additionalProperties":false,"description":"Describes a generative model configuration, including provider and model ID.","properties":{"id":{"description":"Unique ID for the model.","title":"Id","type":"string"},"provider":{"description":"Name of the provider, e.g., openai or anthropic.","title":"Provider","type":"string"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The specific model name or ID for the provider. If None, id is used","title":"Model Id"},"inference_params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"description":"Optional inference parameters like temperature or max_tokens.","title":"Inference Params"},"dimensions":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Dimensionality of the embedding vectors produced by this model if an embedding model.","title":"Dimensions"}},"required":["id","provider"],"title":"Model","type":"object"},"Prompt":{"additionalProperties":false,"description":"References a prompt template, either inline or from file, along with expected input and output variable bindings.","properties":{"id":{"description":"Unique ID for the prompt.","title":"Id","type":"string"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"File path to the prompt template.","title":"Path"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Inline template string for the prompt.","title":"Template"},"inputs":{"description":"List of input variable IDs this prompt expects.","items":{"type":"string"},"title":"Inputs","type":"array"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional list of output variable IDs this prompt generates.","title":"Outputs"}},"required":["id","inputs"],"title":"Prompt","type":"object"},"TelemetrySink":{"additionalProperties":false,"description":"Defines an observability endpoint for collecting telemetry data from the QType runtime.","properties":{"id":{"description":"Unique ID of the telemetry sink configuration.","title":"Id","type":"string"},"endpoint":{"description":"URL endpoint where telemetry data will be sent.","title":"Endpoint","type":"string"},"auth":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"AuthorizationProvider ID used to authenticate telemetry data transmission.","title":"Auth"}},"required":["id","endpoint"],"title":"TelemetrySink","type":"object"},"Tool":{"additionalProperties":false,"description":"Callable function or external operation available to the model. Input/output shapes are described via JSON Schema.","properties":{"type":{"const":"tool","title":"Type","type":"string"},"id":{"description":"Unique ID of the tool.","title":"Id","type":"string"},"name":{"description":"Name of the tool function.","title":"Name","type":"string"},"description":{"description":"Description of what the tool does.","title":"Description","type":"string"},"inputs":{"description":"List of input variable IDs this prompt expects.","items":{"type":"string"},"title":"Inputs","type":"array"},"outputs":{"description":"Optional list of output variable IDs this prompt generates.","items":{"type":"string"},"title":"Outputs","type":"array"}},"required":["type","id","name","description","inputs","outputs"],"title":"Tool","type":"object"},"ToolProvider":{"additionalProperties":false,"description":"Logical grouping of tools, often backed by an API or OpenAPI spec, and optionally authenticated.\n\nThis should show the Pydantic fields.","properties":{"id":{"description":"Unique ID of the tool provider.","title":"Id","type":"string"},"name":{"description":"Name of the tool provider.","title":"Name","type":"string"},"tools":{"description":"List of tools exposed by this provider.","items":{"$ref":"#/$defs/Tool"},"title":"Tools","type":"array"},"openapi_spec":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional path or URL to an OpenAPI spec to auto-generate tools.","title":"Openapi Spec"},"include_tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Limit tool generation to specific OpenAPI tags.","title":"Include Tags"},"exclude_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Exclude specific endpoints by path.","title":"Exclude Paths"},"auth":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"AuthorizationProvider ID used to authenticate tool access.","title":"Auth"}},"required":["id","name","tools"],"title":"ToolProvider","type":"object"},"Variable":{"additionalProperties":false,"description":"Schema for a variable that can serve as input, output, or parameter within the DSL.","properties":{"id":{"description":"Unique ID of the variable. Referenced in prompts or steps.","title":"Id","type":"string"},"type":{"$ref":"#/$defs/VariableType","description":"Type of data expected or produced."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Label shown in the UI.","title":"Display Name"},"display_type":{"anyOf":[{"$ref":"#/$defs/DisplayType"},{"type":"null"}],"default":null,"description":"Hint for how to render this variable."},"display_metadata":{"anyOf":[{"$ref":"#/$defs/DisplayMetadata"},{"type":"null"}],"default":null,"description":"Additional UI hints."}},"required":["id","type"],"title":"Variable","type":"object"},"VariableType":{"description":"Represents the type of data a user or system input can accept within the DSL.\nUsed for schema validation and UI rendering of input fields.","enum":["text","number","file","image","date","time","datetime","video","audio"],"title":"VariableType","type":"string"},"VectorDBRetriever":{"additionalProperties":false,"description":"Retriever that fetches top-K documents using a vector database and embedding-based similarity search.","properties":{"type":{"const":"vector_retrieve","default":"vector_retrieve","title":"Type","type":"string"},"id":{"description":"Unique ID of the retriever.","title":"Id","type":"string"},"index":{"description":"ID of the index this retriever uses.","title":"Index","type":"string"},"embedding_model":{"description":"ID of the embedding model used to vectorize the query.","title":"Embedding Model","type":"string"},"top_k":{"default":5,"description":"Number of top documents to retrieve.","title":"Top K","type":"integer"},"args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"description":"Arbitrary arguments as JSON/YAML for custom retriever configuration.","title":"Args"},"inputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Input variable IDs required by this retriever.","title":"Inputs"},"outputs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional list of output variable IDs this prompt generates.","title":"Outputs"}},"required":["id","index","embedding_model"],"title":"VectorDBRetriever","type":"object"}},"additionalProperties":false,"description":"The root configuration object for a QType AI application. Includes flows, models, tools, and more.\nThis object is expected to be serialized into YAML and consumed by the QType runtime.","properties":{"version":{"description":"Version of the QType specification schema used.","title":"Version","type":"string"},"models":{"anyOf":[{"items":{"$ref":"#/$defs/Model"},"type":"array"},{"type":"null"}],"default":null,"description":"List of generative models available for use, including their providers and inference parameters.","title":"Models"},"variables":{"anyOf":[{"items":{"$ref":"#/$defs/Variable"},"type":"array"},{"type":"null"}],"default":null,"description":"Variables or parameters exposed by the application.","title":"Variables"},"prompts":{"anyOf":[{"items":{"$ref":"#/$defs/Prompt"},"type":"array"},{"type":"null"}],"default":null,"description":"Prompt templates used in generation steps or tools, referencing input and output variables.","title":"Prompts"},"tool_providers":{"anyOf":[{"items":{"$ref":"#/$defs/ToolProvider"},"type":"array"},{"type":"null"}],"default":null,"description":"Tool providers with optional OpenAPI specs, exposing callable tools for the model.","title":"Tool Providers"},"flows":{"anyOf":[{"items":{"$ref":"#/$defs/Flow"},"type":"array"},{"type":"null"}],"default":null,"description":"Entry points to application logic. Each flow defines an executable composition of steps.","title":"Flows"},"agents":{"anyOf":[{"items":{"$ref":"#/$defs/Agent"},"type":"array"},{"type":"null"}],"default":null,"description":"AI agents with specific models, prompts, and tools for autonomous task execution.","title":"Agents"},"feedback":{"anyOf":[{"items":{"$ref":"#/$defs/Feedback"},"type":"array"},{"type":"null"}],"default":null,"description":"Feedback configurations for collecting structured or unstructured user reactions to outputs.","title":"Feedback"},"memory":{"anyOf":[{"items":{"$ref":"#/$defs/Memory"},"type":"array"},{"type":"null"}],"default":null,"description":"Session-level memory contexts, only used in chat-mode flows to persist state across turns.","title":"Memory"},"auth":{"anyOf":[{"items":{"$ref":"#/$defs/AuthorizationProvider"},"type":"array"},{"type":"null"}],"default":null,"description":"Authorization providers and credentials used to access external APIs or cloud services.","title":"Auth"},"telemetry":{"anyOf":[{"items":{"$ref":"#/$defs/TelemetrySink"},"type":"array"},{"type":"null"}],"default":null,"description":"Telemetry sinks for collecting observability data from the QType runtime.","title":"Telemetry"}},"required":["version"],"title":"QTypeSpec","type":"object","$schema":"http://json-schema.org/draft-07/schema#"}
</schema>

[User] Provide a JSON object that satisfies the schema "QTypeSpec". Here are the required top‑level fields: version. Return only the valid JSON object.

Unique ID of this component.

Id

Input variable IDs required by this component.

Inputs

Variable IDs where output is stored.

Outputs

Type

The id of the model for this agent to use.

Model

The id of the prompt for this agent to use

Prompt

Tools that this agent has access to

Tools

Agent

Defines how tools or providers authenticate with APIs, such as OAuth2 or API keys.

Unique ID of the authorization configuration.

Id

Authorization method, e.g., 'oauth2' or 'api_key'.

Type

Base URL or domain of the provider.

Host

OAuth2 client ID.

Client Id

OAuth2 client secret.

Client Secret

Token endpoint URL.

Token Url

OAuth2 scopes required.

Scopes

API key if using token-based auth.

Api Key

AuthorizationProvider

Conditional logic gate within a flow. Supports branching logic for execution based on variable values.

ID of the variable to evaluate.

If Var

Match condition for equality check.

Equals

Condition to check existence of a variable.

Exists

List of step IDs to run if condition matches.

Then

Optional list of step IDs to run if condition fails.

Else

Condition

Additional UI hints used to customize how input fields are displayed in the generated application UI.

Placeholder text shown inside the input field.

Placeholder

Tooltip shown on hover.

Tooltip

Default value if the user doesn't supply one.

Default Value

Minimum value for numeric inputs.

Min Value

Maximum value for numeric inputs.

Max Value

Step size for numeric inputs.

Step

Allowed file types for file upload.

Allowed Types

Options for dropdowns, radios, or checkboxes.

Options

Grouping section this input belongs to.

Group

Section name used to visually separate inputs.

Section

Icon shown alongside input (optional).

Icon

Optional CSS class for advanced styling.

Css Class

DisplayMetadata

UI rendering hint for how an input should appear in the frontend (e.g., text box, dropdown, file upload).

text textarea dropdown file_upload checkbox slider radio group section

DisplayType

Schema to define how user feedback is collected, structured, and optionally used to guide future prompts.

Unique ID of the feedback config.

Id

Feedback mechanism type.

Question to show user for qualitative feedback.

Question

ID of prompt used to generate a follow-up based on feedback.

Prompt

Feedback

Enum of supported feedback mechanisms such as thumbs, stars, or text responses.

FeedbackType

Composable structure that defines the interaction logic for a generative AI application.
Supports branching, memory, and sequencing of steps.

Unique ID of this component.

Id

Inputs

Variable IDs where output is stored.

Outputs

Interaction mode for the flow.

List of steps or nested step IDs.

Steps

Optional conditional logic within the flow.

Conditions

List of memory IDs to include (chat mode only).

Memory

Flow

Execution context for the flow. `chat` maintains history, while `complete` operates statelessly.

FlowMode

Session or persistent memory used to store relevant conversation or state data across steps or turns.

Unique ID of the memory block.

Id

The type of memory to store context.

Embedding model ID used for storage.

Embedding Model

Whether memory persists across sessions.

Persist

Optional TTL for temporary memory.

Ttl Minutes

Whether this memory should be injected as context.

Use For Context

Memory

Enum to differentiate supported memory types, such as vector memory for embedding-based recall.

MemoryType

Describes a generative model configuration, including provider and model ID.

Unique ID for the model.

Id

Name of the provider, e.g., openai or anthropic.

Provider

The specific model name or ID for the provider. If None, id is used

Model Id

Optional inference parameters like temperature or max_tokens.

Inference Params

Dimensionality of the embedding vectors produced by this model if an embedding model.

Dimensions

Model

References a prompt template, either inline or from file, along with expected input and output variable bindings.

Unique ID for the prompt.

Id

File path to the prompt template.

Path

Inline template string for the prompt.

Template

List of input variable IDs this prompt expects.

Inputs

Optional list of output variable IDs this prompt generates.

Outputs

Prompt

Defines an observability endpoint for collecting telemetry data from the QType runtime.

Unique ID of the telemetry sink configuration.

Id

URL endpoint where telemetry data will be sent.

Endpoint

AuthorizationProvider ID used to authenticate telemetry data transmission.

Auth

TelemetrySink

Callable function or external operation available to the model. Input/output shapes are described via JSON Schema.

Type

Unique ID of the tool.

Id

Name of the tool function.

Name

Description of what the tool does.

Description

List of input variable IDs this prompt expects.

Inputs

Optional list of output variable IDs this prompt generates.

Outputs

Tool

Logical grouping of tools, often backed by an API or OpenAPI spec, and optionally authenticated.

This should show the Pydantic fields.

Unique ID of the tool provider.

Id

Name of the tool provider.

Name

List of tools exposed by this provider.

Tools

Optional path or URL to an OpenAPI spec to auto-generate tools.

Openapi Spec

Limit tool generation to specific OpenAPI tags.

Include Tags

Exclude specific endpoints by path.

Exclude Paths

AuthorizationProvider ID used to authenticate tool access.

Auth

ToolProvider

Schema for a variable that can serve as input, output, or parameter within the DSL.

Unique ID of the variable. Referenced in prompts or steps.

Id

Type of data expected or produced.

Label shown in the UI.

Display Name

Hint for how to render this variable.

Additional UI hints.

Variable

Represents the type of data a user or system input can accept within the DSL.
Used for schema validation and UI rendering of input fields.

text number file image date time datetime video audio

VariableType

Retriever that fetches top-K documents using a vector database and embedding-based similarity search.

Type

Unique ID of the retriever.

Id

ID of the index this retriever uses.

Index

ID of the embedding model used to vectorize the query.

Embedding Model

Number of top documents to retrieve.

Top K

Arbitrary arguments as JSON/YAML for custom retriever configuration.

Args

Input variable IDs required by this retriever.

Inputs

Optional list of output variable IDs this prompt generates.

Outputs

VectorDBRetriever

The root configuration object for a QType AI application. Includes flows, models, tools, and more.
This object is expected to be serialized into YAML and consumed by the QType runtime.

Version of the QType specification schema used.

Version

List of generative models available for use, including their providers and inference parameters.

Models

Variables or parameters exposed by the application.

Variables

Prompt templates used in generation steps or tools, referencing input and output variables.

Prompts

Tool providers with optional OpenAPI specs, exposing callable tools for the model.

Tool Providers

Entry points to application logic. Each flow defines an executable composition of steps.

Flows

AI agents with specific models, prompts, and tools for autonomous task execution.

Agents

Feedback configurations for collecting structured or unstructured user reactions to outputs.

Feedback

Session-level memory contexts, only used in chat-mode flows to persist state across turns.

Memory

Authorization providers and credentials used to access external APIs or cloud services.

Auth

Telemetry sinks for collecting observability data from the QType runtime.

Telemetry

QTypeSpec

Provide a JSON object that satisfies the schema "QTypeSpec". Here are the required top‑level fields: version. 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/radiohound-v0.json","$defs":{"DataType":{"description":"Data types supported by RadioHound.","enum":["periodogram"],"title":"DataType","type":"string"},"_RHMetadataV0":{"additionalProperties":false,"description":"Metadata for a RadioHound capture.","properties":{"data_type":{"$ref":"#/$defs/DataType","description":"The category of this capture"},"fmax":{"description":"The maximum frequency in the sample","exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"title":"Fmax","type":"integer"},"fmin":{"description":"The minimum frequency in the sample","exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"title":"Fmin","type":"integer"},"gps_lock":{"description":"Whether a GPS satellite lock is obtained, otherwise the last known coordinates","title":"Gps Lock","type":"boolean"},"nfft":{"description":"Number of FFT bins, recommended to be a power of 2","exclusiveMinimum":0,"title":"Nfft","type":"integer"},"scan_time":{"description":"The time taken to scan this sample, in seconds","exclusiveMinimum":0.0,"title":"Scan Time","type":"number"},"xcount":{"anyOf":[{"exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated] The number of points in the periodogram","title":"Xcount"},"xstart":{"anyOf":[{"exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated] The start frequency of the periodogram","title":"Xstart"},"xstop":{"anyOf":[{"exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated] The stop frequency of the periodogram","title":"Xstop"},"archive_result":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Whether the data was archived","title":"Archive Result"}},"required":["data_type","fmax","fmin","gps_lock","nfft","scan_time"],"title":"_RHMetadataV0","type":"object"}},"additionalProperties":false,"description":"Describes a RadioHound capture.","properties":{"data":{"format":"binary","title":"Data","type":"string"},"gain":{"title":"Gain","type":"number"},"latitude":{"description":"The latitude where the data was captured, in decimal degrees","exclusiveMaximum":90.0,"exclusiveMinimum":-90.0,"title":"Latitude","type":"number"},"longitude":{"description":"The longitude where the data was captured, in decimal degrees","exclusiveMaximum":180.0,"exclusiveMinimum":-180.0,"title":"Longitude","type":"number"},"mac_address":{"description":"MAC address of the device, without separators","maxLength":12,"minLength":12,"title":"Mac Address","type":"string"},"metadata":{"$ref":"#/$defs/_RHMetadataV0","description":"Metadata for this capture"},"sample_rate":{"description":"Sample rate of the capture, in Hz","exclusiveMaximum":9223372036854775807,"exclusiveMinimum":0,"title":"Sample Rate","type":"integer"},"short_name":{"description":"The short name of the device","maxLength":255,"title":"Short Name","type":"string"},"timestamp":{"description":"Timestamp of the capture start, as ISO 8601 with timezone information","format":"date-time","title":"Timestamp","type":"string"},"type":{"description":"Numpy-compatible dtype of `data` elements","title":"Type","type":"string"},"version":{"default":"v0","description":"Version of the RadioHound data format","maxLength":255,"title":"Version","type":"string"},"altitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"The altitude where the data was captured, in meters","title":"Altitude"},"center_frequency":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"The center frequency of the capture, calculated as the mean of the start and end frequencies","title":"Center Frequency"},"custom_fields":{"description":"Custom fields that are not part of the standard schema","title":"Custom Fields","type":"object"},"hardware_board_id":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"The hardware board ID of the device capturing the data","title":"Hardware Board Id"},"hardware_version":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"The hardware version of the device capturing the data","title":"Hardware Version"},"scan_group":{"anyOf":[{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string"},{"type":"null"}],"default":null,"description":"The scan group, used to group RH files. UUID version 4 as a 36 char string (with dashes).","title":"Scan Group"},"software_version":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"description":"The software version of the device capturing the data","title":"Software Version"},"batch":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated | Use scan_group instead] Can be used to group scans together.","title":"Batch"},"suggested_gain":{"anyOf":[{"exclusiveMinimum":0.0,"type":"number"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated] Suggested gain for the device","title":"Suggested Gain"},"uncertainty":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"deprecated":true,"description":"[Deprecated] Uncertainty of the measurement","title":"Uncertainty"},"requested":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"description":"Attributes set by requestor","title":"Requested"}},"required":["data","gain","latitude","longitude","mac_address","metadata","sample_rate","short_name","timestamp","type"],"title":"_RadioHoundDataV0","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "_RadioHoundDataV0". Here are the required top‑level fields: data, gain, latitude, longitude, mac_address, metadata, sample_rate, short_name, timestamp, type. Return only the valid JSON object.

Data types supported by RadioHound.

DataType

Metadata for a RadioHound capture.

The category of this capture

The maximum frequency in the sample

Fmax

The minimum frequency in the sample

Fmin

Whether a GPS satellite lock is obtained, otherwise the last known coordinates

Gps Lock

Number of FFT bins, recommended to be a power of 2

Nfft

The time taken to scan this sample, in seconds

Scan Time

[Deprecated] The number of points in the periodogram

Xcount

[Deprecated] The start frequency of the periodogram

Xstart

[Deprecated] The stop frequency of the periodogram

Xstop

Whether the data was archived

Archive Result

_RHMetadataV0

Describes a RadioHound capture.

Data

Gain

The latitude where the data was captured, in decimal degrees

Latitude

The longitude where the data was captured, in decimal degrees

Longitude

MAC address of the device, without separators

Mac Address

Metadata for this capture

Sample rate of the capture, in Hz

Sample Rate

The short name of the device

Short Name

Timestamp of the capture start, as ISO 8601 with timezone information

Timestamp

Numpy-compatible dtype of `data` elements

Type

Version of the RadioHound data format

Version

The altitude where the data was captured, in meters

Altitude

The center frequency of the capture, calculated as the mean of the start and end frequencies

Center Frequency

Custom fields that are not part of the standard schema

Custom Fields

The hardware board ID of the device capturing the data

Hardware Board Id

The hardware version of the device capturing the data

Hardware Version

The scan group, used to group RH files. UUID version 4 as a 36 char string (with dashes).

Scan Group

The software version of the device capturing the data

Software Version

[Deprecated | Use scan_group instead] Can be used to group scans together.

Batch

[Deprecated] Suggested gain for the device

Suggested Gain

[Deprecated] Uncertainty of the measurement

Uncertainty

Attributes set by requestor

Requested

data gain latitude longitude mac_address metadata sample_rate short_name timestamp type

_RadioHoundDataV0

Provide a JSON object that satisfies the schema "_RadioHoundDataV0". Here are the required top‑level fields: data, gain, latitude, longitude, mac_address, metadata, sample_rate, short_name, timestamp, type. 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#","type":"object","properties":{"$schema":{"type":"string"},"build":{"type":"object","properties":{"builder":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","enum":["NIXPACKS","DOCKERFILE","RAILPACK","HEROKU","PAKETO"],"description":"Set the builder for the deployment"}]},{"type":"null"}]},"watchPatterns":{"anyOf":[{"anyOf":[{"not":{}},{"type":"array","items":{"type":"string","description":"Array of patterns used to conditionally trigger a deploys"}}]},{"type":"null"}]},"buildCommand":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Build command to pass to the Nixpacks builder"}]},{"type":"null"}]},"buildEnvironment":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","const":"V2","description":"Build environment to be used for the build process"}]},{"type":"null"}]},"dockerfilePath":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Location of non-standard Dockerfile"}]},{"type":"null"}]},"nixpacksConfigPath":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Location of a non-standard Nixpacks config file"}]},{"type":"null"}]},"nixpacksPlan":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"providers":{"type":"array","items":{"type":"string"}},"phases":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"dependsOn":{"type":"array","items":{"type":"string"}},"cmds":{"type":"array","items":{"type":"string"}},"nixPkgs":{"type":"array","items":{"type":"string"}},"nixLibs":{"type":"array","items":{"type":"string"}},"aptPkgs":{"type":"array","items":{"type":"string"}},"nixOverlays":{"type":"array","items":{"type":"string"}},"nixPkgsArchive":{"type":"string"},"includedFiles":{"type":"array","items":{"type":"string"}},"cacheDirectories":{"type":"array","items":{"type":"string"}},"paths":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"description":"Single Nixpacks phase"}}},"additionalProperties":true,"description":"Full nixpacks plan. See https://nixpacks.com/docs/configuration/file for more info"}]},{"type":"null"}]},"nixpacksVersion":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Version of Nixpacks to use. Must be a valid Nixpacks version. EXPERIMENTAL: USE AT YOUR OWN RISK!"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Configuration for the build step"},"deploy":{"type":"object","properties":{"startCommand":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"The command to run when starting the container"}]},{"type":"null"}]},"preDeployCommand":{"anyOf":[{"anyOf":[{"not":{}},{"anyOf":[{"anyOf":[{"not":{}},{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":1}]}]},{"type":"null"}]}]},{"type":"null"}]},"numReplicas":{"anyOf":[{"anyOf":[{"not":{}},{"type":"integer","minimum":1,"maximum":100,"description":"The number of instances to run for the deployment"}]},{"type":"null"}]},"healthcheckPath":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Path to check after starting your deployment to ensure it is healthy"}]},{"type":"null"}]},"healthcheckTimeout":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","description":"Number of seconds to wait for the healthcheck path to become healthy"}]},{"type":"null"}]},"sleepApplication":{"anyOf":[{"anyOf":[{"not":{}},{"type":"boolean","description":"Should application be stopped when inactive"}]},{"type":"null"}]},"runtime":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","enum":["UNSPECIFIED","LEGACY","V2"],"description":"Runtime to use for the deployment"}]},{"type":"null"}]},"registryCredentials":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false,"description":"Private Docker registry credentials. Only available for Pro plan deployments."}]},{"type":"null"}]},"restartPolicyType":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","enum":["ON_FAILURE","ALWAYS","NEVER"],"description":"How to handle the deployment crashing"}]},{"type":"null"}]},"restartPolicyMaxRetries":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","minimum":1}]},{"type":"null"}]},"cronSchedule":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Cron schedule to run the deployment on"}]},{"type":"null"}]},"region":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Region to deploy to. Only available for Pro plan deploys"}]},{"type":"null"}]},"multiRegionConfig":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"numReplicas":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/numReplicas/anyOf/0/anyOf/1"}]},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"description":"Multi-region deployment configuration"}]},{"type":"null"}]},"limitOverride":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"containers":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"cpu":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","description":"cpus available to the instance"}]},{"type":"null"}]},"memoryBytes":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","description":"bytes of RAM available to the instance"}]},{"type":"null"}]},"diskBytes":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","description":"bytes of disk available to the instance"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Container limits"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Resource limits available"}]},{"type":"null"}]},"requiredMountPath":{"anyOf":[{"anyOf":[{"not":{}},{"type":"string","description":"Required mount path for the deployment"}]},{"type":"null"}]},"overlapSeconds":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","minimum":0,"description":"Time in seconds that the previous deploy will overlap with the newest one being deployed"}]},{"type":"null"}]},"drainingSeconds":{"anyOf":[{"anyOf":[{"not":{}},{"type":"number","minimum":0,"description":"The time in seconds between when the previous deploy is sent a SIGTERM to the time it is sent a SIGKILL"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Configuration for the deploy step"},"environments":{"type":"object","additionalProperties":{"type":"object","properties":{"build":{"type":"object","properties":{"builder":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/builder/anyOf/0/anyOf/1"}]},{"type":"null"}]},"watchPatterns":{"anyOf":[{"anyOf":[{"not":{}},{"type":"array","items":{"$ref":"#/properties/build/properties/watchPatterns/anyOf/0/anyOf/1/items"}}]},{"type":"null"}]},"buildCommand":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/buildCommand/anyOf/0/anyOf/1"}]},{"type":"null"}]},"buildEnvironment":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/buildEnvironment/anyOf/0/anyOf/1"}]},{"type":"null"}]},"dockerfilePath":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/dockerfilePath/anyOf/0/anyOf/1"}]},{"type":"null"}]},"nixpacksConfigPath":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/nixpacksConfigPath/anyOf/0/anyOf/1"}]},{"type":"null"}]},"nixpacksPlan":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"providers":{"type":"array","items":{"$ref":"#/properties/build/properties/nixpacksPlan/anyOf/0/anyOf/1/properties/providers/items"}},"phases":{"$ref":"#/properties/build/properties/nixpacksPlan/anyOf/0/anyOf/1/properties/phases"}},"additionalProperties":true,"description":"Full nixpacks plan. See https://nixpacks.com/docs/configuration/file for more info"}]},{"type":"null"}]},"nixpacksVersion":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/build/properties/nixpacksVersion/anyOf/0/anyOf/1"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Configuration for the build step"},"deploy":{"type":"object","properties":{"startCommand":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/startCommand/anyOf/0/anyOf/1"}]},{"type":"null"}]},"preDeployCommand":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/preDeployCommand/anyOf/0/anyOf/1"}]},{"type":"null"}]},"numReplicas":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/numReplicas/anyOf/0/anyOf/1"}]},{"type":"null"}]},"healthcheckPath":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/healthcheckPath/anyOf/0/anyOf/1"}]},{"type":"null"}]},"healthcheckTimeout":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/healthcheckTimeout/anyOf/0/anyOf/1"}]},{"type":"null"}]},"sleepApplication":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/sleepApplication/anyOf/0/anyOf/1"}]},{"type":"null"}]},"runtime":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/runtime/anyOf/0/anyOf/1"}]},{"type":"null"}]},"registryCredentials":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"username":{"$ref":"#/properties/deploy/properties/registryCredentials/anyOf/0/anyOf/1/properties/username"},"password":{"$ref":"#/properties/deploy/properties/registryCredentials/anyOf/0/anyOf/1/properties/password"}},"additionalProperties":false,"description":"Private Docker registry credentials. Only available for Pro plan deployments."}]},{"type":"null"}]},"restartPolicyType":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/restartPolicyType/anyOf/0/anyOf/1"}]},{"type":"null"}]},"restartPolicyMaxRetries":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/restartPolicyMaxRetries/anyOf/0/anyOf/1"}]},{"type":"null"}]},"cronSchedule":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/cronSchedule/anyOf/0/anyOf/1"}]},{"type":"null"}]},"region":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/region/anyOf/0/anyOf/1"}]},{"type":"null"}]},"multiRegionConfig":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/multiRegionConfig/anyOf/0/anyOf/1"}]},{"type":"null"}]},"limitOverride":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"containers":{"anyOf":[{"anyOf":[{"not":{}},{"type":"object","properties":{"cpu":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/limitOverride/anyOf/0/anyOf/1/properties/containers/anyOf/0/anyOf/1/properties/cpu/anyOf/0/anyOf/1"}]},{"type":"null"}]},"memoryBytes":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/limitOverride/anyOf/0/anyOf/1/properties/containers/anyOf/0/anyOf/1/properties/memoryBytes/anyOf/0/anyOf/1"}]},{"type":"null"}]},"diskBytes":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/limitOverride/anyOf/0/anyOf/1/properties/containers/anyOf/0/anyOf/1/properties/diskBytes/anyOf/0/anyOf/1"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Container limits"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Resource limits available"}]},{"type":"null"}]},"requiredMountPath":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/requiredMountPath/anyOf/0/anyOf/1"}]},{"type":"null"}]},"overlapSeconds":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/overlapSeconds/anyOf/0/anyOf/1"}]},{"type":"null"}]},"drainingSeconds":{"anyOf":[{"anyOf":[{"not":{}},{"$ref":"#/properties/deploy/properties/drainingSeconds/anyOf/0/anyOf/1"}]},{"type":"null"}]}},"additionalProperties":false,"description":"Configuration for the deploy step"}},"additionalProperties":false},"description":"Override service manifest for different environments"}},"additionalProperties":false}
</schema>

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

NIXPACKS DOCKERFILE RAILPACK HEROKU PAKETO

Set the builder for the deployment

Array of patterns used to conditionally trigger a deploys

Build command to pass to the Nixpacks builder

Build environment to be used for the build process

Location of non-standard Dockerfile

Location of a non-standard Nixpacks config file

Single Nixpacks phase

Full nixpacks plan. See https://nixpacks.com/docs/configuration/file for more info

Version of Nixpacks to use. Must be a valid Nixpacks version. EXPERIMENTAL: USE AT YOUR OWN RISK!

Configuration for the build step

The command to run when starting the container

The number of instances to run for the deployment

Path to check after starting your deployment to ensure it is healthy

Number of seconds to wait for the healthcheck path to become healthy

Should application be stopped when inactive

Runtime to use for the deployment

Private Docker registry credentials. Only available for Pro plan deployments.

How to handle the deployment crashing

Cron schedule to run the deployment on

Region to deploy to. Only available for Pro plan deploys

Multi-region deployment configuration

cpus available to the instance

bytes of RAM available to the instance

bytes of disk available to the instance

Container limits

Resource limits available

Required mount path for the deployment

Time in seconds that the previous deploy will overlap with the newest one being deployed

The time in seconds between when the previous deploy is sent a SIGTERM to the time it is sent a SIGKILL

Configuration for the deploy step

Configuration for the build step

Container limits

Resource limits available

Configuration for the deploy step

Override service manifest for different environments

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