[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/metricshub.json","type":"object","definitions":{"sequential":{"type":"boolean","description":"Sequential mode. This forces all network calls to be ordered in a sequential order."},"enableSelfMonitoring":{"description":"Enables or disables self monitoring signals. E.g. job duration metrics.","type":"boolean"},"duration":{"oneOf":[{"type":"integer"},{"type":"string","pattern":"^[0-9]+\\s*[years|yrs|y|weeks|wks|w|days|d|hours|hrs|h|minutes|mins|m!seconds|secs|s|milliseconds|ms]*$"}]},"namespace":{"description":"Forces a specific namespace for connectors that perform namespace auto-detection (Advanced).","type":"string"},"loggerLevel":{"type":"string","enum":["all","trace","debug","info","warn","error","fatal","off"],"default":"error","description":"Logger Level (Default: error)"},"resources":{"type":"object","description":"Contains Resources","additionalProperties":{"type":"object","description":"Resource name","properties":{"loggerLevel":{"$ref":"#/definitions/loggerLevel"},"outputDirectory":{"type":"string","description":"Output directory"},"collectPeriod":{"$ref":"#/definitions/collectPeriod"},"discoveryCycle":{"$ref":"#/definitions/discoveryCycle"},"alertingSystemConfig":{"type":"object","description":"Alerting System Configuration","properties":{"disable":{"type":"boolean","description":"If true, disables the alerting system"},"problemTemplate":{"type":"string","description":"Problem alerts template"}}},"enableSelfMonitoring":{"$ref":"#/definitions/enableSelfMonitoring"},"sequential":{"$ref":"#/definitions/sequential"},"resolveHostnameToFqdn":{"$ref":"#/definitions/resolveHostnameToFqdn"},"jobTimeout":{"$ref":"#/definitions/jobTimeout"},"attributes":{"type":"object","description":"Resource attributes","additionalProperties":{"type":["string","number","array"],"description":"Attribute key-value pair"}},"metrics":{"type":"object","description":"Resource metrics","additionalProperties":{"type":["string","number"],"description":"Metrics key-value pair"}},"protocols":{"type":"object","description":"Protocols Used","properties":{"http":{"type":"object","description":"Configures the HTTP protocol to access the host.","properties":{"username":{"type":"string","description":"Sets the username used to establish the connection with the host through the HTTP protocol."},"password":{"type":"string","description":"Sets the password used to establish the connection with the host through the HTTP protocol."},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the HTTP request times out (Default: 120s).","default":"120s"},"https":{"type":"boolean","description":"Enables HTTPS to access the host (Default: true)."},"port":{"type":"number","description":"Sets the HTTPS port number used to perform HTTP requests (Default: 443)."},"hostname":{"$ref":"#/definitions/hostname"}}},"ipmi":{"type":"object","description":"Configures the IPMI protocol to access the host.","properties":{"username":{"type":"string","description":"Sets the username used to establish the connection with the host through the IPMI protocol."},"password":{"type":"string","description":"Sets the username used to establish the connection with the host through the IPMI protocol."},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the IPMI request times out (Default: 120s).","default":"120s"},"bmcKey":{"type":"string","description":"BMC Key used to establish the connection with the host through the IPMI protocol."},"skipAuth":{"type":"boolean","description":"Skip Authentication"},"hostname":{"$ref":"#/definitions/hostname"}}},"osCommand":{"type":"object","description":"Configures the OS Command protocol to access the host.","properties":{"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the local OS Command times out (Default: 120s).","default":"120s"},"useSudo":{"type":"boolean","description":"Sets if sudo needs to be used for the local OS Command (Default: false).","default":false},"useSudoCommands":{"type":"array","description":"Sets the list of commands for which sudo is required.","items":{"type":"string"}},"sudoCommand":{"type":"string","description":"Sets the sudo command to be used for the host to be monitored (Default: sudo).","default":"sudo"},"hostname":{"$ref":"#/definitions/hostname"}}},"ping":{"type":"object","description":"Configures the Ping protocol to access the host.","properties":{"hostname":{"$ref":"#/definitions/hostname"},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the ping times out (Default: 5s).","default":"5s"}}},"snmp":{"type":"object","description":"Configures the SNMP protocol to access the host.","properties":{"version":{"description":"Sets the version of the SNMP protocol (Default: v1).","type":"string","enum":["v1","v2c"],"default":"v1"},"community":{"type":"string","description":"Sets the SNMP Community string to use to perform queries (Default: public)."},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the SNMP request times out (Default: 120s).","default":"120s"},"port":{"type":"number","description":"Sets the SNMP port number used to perform SNMP queries (Default: 161).","default":161},"hostname":{"$ref":"#/definitions/hostname"},"retryIntervals":{"$ref":"#/definitions/retryIntervals"}}},"snmpv3":{"type":"object","description":"Configures the SNMPv3 protocol to access the host.","properties":{"username":{"type":"string","description":"Sets the username to use for performing the SNMPv3 query."},"password":{"type":"string","description":"Sets the password to use for performing the SNMPv3 query."},"privacyPassword":{"type":"string","description":"Sets the privacy password to use for performing the SNMPv3 query."},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the SNMPv3 request times out (Default: 120s).","default":"120s"},"port":{"type":"number","description":"Sets the SNMP port number used to perform SNMP queries (Default: 161).","default":161},"contextName":{"type":"string","description":"Sets the context name."},"authType":{"type":"string","enum":["NO_AUTH","MD5","SHA","SHA256","SHA512","SHA224","SHA384"],"description":"Sets the SNMPv3 authentication type. (MD5, SHA, SHA256, SHA512, SHA384, SHA224 or NO_AUTH)."},"privacy":{"type":"string","enum":["DES","AES","none"],"description":"Sets the SNMPv3 encryption type. (AES, DES or none)."},"retryIntervals":{"$ref":"#/definitions/retryIntervals"},"hostname":{"$ref":"#/definitions/hostname"}}},"ssh":{"type":"object","description":"Configures the SSH protocol to access the host.","properties":{"username":{"type":"string","description":"Sets the username to use for performing the SSH query."},"password":{"type":"string","description":"Sets the password to use for performing the SSH query."},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the command times out (Default: 120s).","default":"120s"},"sudoCommand":{"description":"Sets the sudo command to be used.","type":"string","default":"sudo"},"useSudo":{"description":"Sets if sudo needs to be used for the SSH Command (Default: false).","type":"boolean","default":false},"useSudoCommands":{"description":"Sets the list of commands for which sudo is required.","type":"array","items":{"type":"string"}},"privateKey":{"type":"string","description":"Sets the private Key File to use to establish the connection to the host through the SSH protocol."},"hostname":{"$ref":"#/definitions/hostname"}}},"wbem":{"type":"object","description":"Configures the WBEM protocol to access the host.","properties":{"namespace":{"$ref":"#/definitions/namespace"},"password":{"description":"Sets the password used to establish the connection with the host through the WBEM protocol.","type":"string"},"port":{"description":"Sets the HTTPS port number used to perform WBEM queries (Default: 5989 for HTTPS or 5988 for HTTP).","type":"integer","default":5989},"protocol":{"$ref":"#/definitions/transportProtocols","description":"Sets the protocol used to access the host (Default: https).","default":"https"},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the WBEM request times out (Default: 120s).","default":"120s"},"username":{"description":"Sets the username used to establish the connection with the host through the WBEM protocol.","type":"string"},"hostname":{"$ref":"#/definitions/hostname"}}},"winrm":{"type":"object","description":"Configures the WinRM protocol to access the host.","properties":{"namespace":{"$ref":"#/definitions/namespace"},"password":{"description":"Sets the password used to establish the connection with the host through the WinRM protocol.","type":"string"},"port":{"description":"Sets the HTTPS port number used to perform WinRM queries (Default: 5989 for HTTPS or 5988 for HTTP).","type":"integer","default":5989},"protocol":{"$ref":"#/definitions/transportProtocols","description":"Sets the protocol used to access the host (Default: https).","default":"https"},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the WinRM request times out (Default: 120s).","default":"120s"},"username":{"description":"Sets the username used to establish the connection with the host through the WinRM protocol.","type":"string"},"authentications":{"type":"array","description":"Authentication Type","items":{"type":"string","enum":["ntlm","kerberos"]}},"hostname":{"$ref":"#/definitions/hostname"}}},"wmi":{"type":"object","description":"Configures the WMI protocol to access the host.","properties":{"namespace":{"$ref":"#/definitions/namespace"},"password":{"description":"Sets the password used to establish the connection with the host through the WMI protocol.","type":"string"},"timeout":{"$ref":"#/definitions/duration","description":"Sets how long until the WMI request times out (Default: 120s).","default":"120s"},"username":{"description":"Sets the username used to establish the connection with the host through the WMI protocol.","type":"string"},"hostname":{"$ref":"#/definitions/hostname"}}},"jdbc":{"type":"object","description":"Configuration for JDBC connection.","properties":{"hostname":{"$ref":"#/definitions/hostname"},"timeout":{"$ref":"#/definitions/duration","description":"How long until the SQL query times out (Default: 120s).","default":"120s"},"username":{"type":"string","description":"Name used to authenticate against the database."},"password":{"type":"string","description":"Password used to authenticate against the database."},"url":{"type":"string","description":"The JDBC connection URL to access the database."},"type":{"type":"string","description":"The type of database (e.g., postgresql, oracle, mssql, informix, h2, mysql)."},"port":{"type":"integer","description":"The port number used to connect to the database.","minimum":1,"maximum":65535},"database":{"type":"string","description":"The name of the database instance to connect to on the server."}}}}},"additionalConnectors":{"type":"object","patternProperties":{"^[a-zA-Z0-9_.-]+$":{"type":"object","properties":{"uses":{"type":"string","description":"Specifies the connector ID to use. Defaults to the key name if not specified."},"variables":{"type":"object","additionalProperties":{"type":"string","description":"Variable key-value pair"},"description":"Key-value pairs for connector-specific variables."},"force":{"type":"boolean","description":"Set to false for auto-detection only, defaults to true if not specified.","default":true}},"additionalProperties":false}},"description":"Custom connector configurations keyed by their ID including variables (Advanced).","additionalProperties":false},"connectors":{"description":"Sets the Connector(s) to use or exclude, as well as connector tags to be matched.","type":"array","items":{"type":"string"}},"monitors":{"type":"object","description":"Monitor Identity Properties","additionalProperties":{"type":"object","properties":{"discovery":{"type":"object","description":"Discovery Monitor","properties":{"sources":{"$ref":"#/definitions/sources"},"mapping":{"type":"object","description":"Discovery Mapping","properties":{"source":{"type":"string"},"attributes":{"type":"object","description":"Discovery Attributes","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","description":"Display Name"}},"additionalProperties":{"type":"string"}},"metrics":{"type":"string","description":"Discovery Metrics","additionalProperties":{}},"conditionalCollection":{"type":"object"}}}}},"collect":{"type":"object","description":"Collect Monitor","properties":{"sources":{"$ref":"#/definitions/sources"},"keys":{"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Collect Instance Type","enum":["monoInstance","multiInstance"]},"mapping":{"type":"object","description":"Collect Mapping","properties":{"source":{"type":"string"},"attributes":{"type":"object","description":"Collect Attributes","properties":{"id":{"type":"string","description":"ID"}},"additionalProperties":{"type":"string"}},"metrics":{"type":"object","description":"Collect Metrics","additionalProperties":{"type":"string"}},"legacyTextParameters":{"type":"object","properties":{"StatusInformation":{"type":"string"}}}}}}},"simple":{"type":"object","description":"Discovery Monitor","properties":{"sources":{"$ref":"#/definitions/sources"},"mapping":{"type":"object","description":"Discovery Mapping","properties":{"source":{"type":"string"},"attributes":{"type":"object","description":"Discovery Attributes","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","description":"Display Name"}},"additionalProperties":{"type":"string"}},"metrics":{"type":"object","description":"Discovery Metrics","additionalProperties":{"type":"string"}},"conditionalCollection":{"type":"object"}}}}}}}},"stateSetCompression":{"$ref":"#/definitions/stateSetCompression"},"monitorFilters":{"$ref":"#/definitions/monitorFilters"}}}},"resultContent":{"type":"string","description":"Result Content Expected","enum":["http_status","header","body","all"]},"httpMethod":{"type":"string","description":"HTTP Method","enum":["get","post","delete","put"]},"executeForEachEntryOf":{"type":"object","description":"Execute For Each Entry","properties":{"source":{"type":"string"},"concatMethod":{"oneOf":[{"type":"string","enum":["list","json_array","json_array_extended"]},{"type":"object","properties":{"concatStart":{"type":"string"},"concatEnd":{"type":"string"}}}]}}},"sources":{"type":"object","description":"Contains Sources","additionalProperties":{"type":"object","description":"Source Name","oneOf":[{"properties":{"type":{"type":"string","const":"http"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"method":{"$ref":"#/definitions/httpMethod"},"url":{"type":"string","description":"HTTP Url"},"path":{"type":"string","description":"HTTP Path"},"header":{"type":"string","description":"HTTP Header"},"body":{"type":"string","description":"HTTP Body"},"authenticationToken":{"type":"string","description":"HTTP Authentication Token"},"resultContent":{"$ref":"#/definitions/resultContent"}}},{"properties":{"type":{"type":"string","const":"ipmi"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"}}},{"properties":{"type":{"type":"string","const":"osCommand"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"commandLine":{"type":"string","description":"Command Line"},"timeout":{"type":["number","string"],"description":"OS Command Timeout"},"executeLocally":{"type":"boolean","description":"Command Executed On Local Agent"},"exclude":{"type":"string","description":"Exclude Lines Matching"},"keep":{"type":"string","description":"Keep Lines Matching"},"beginAtLineNumber":{"type":"integer","description":"Begin At Line Number"},"endAtLineNumber":{"type":"integer","description":"End At Line Number"},"separator":{"type":"string","description":"Column Separator"},"selectColumns":{"type":"string","description":"Columns Selected"}}},{"properties":{"type":{"type":"string","const":"copy"},"from":{"type":"string","description":"Source Copied"},"computes":{"$ref":"#/definitions/computes"}}},{"properties":{"type":{"type":"string","const":"static"},"value":{"type":"string","description":"Source Value"},"computes":{"$ref":"#/definitions/computes"}}},{"properties":{"type":{"type":"string","const":"snmpGet"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"oid":{"type":"string","description":"OID Queried"}}},{"properties":{"type":{"type":"string","const":"snmpTable"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"oid":{"type":"string","description":"OID Queried"},"selectColumns":{"type":"string","description":"Columns Selected"}}},{"properties":{"type":{"type":"string","const":"tableJoin"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"leftTable":{"type":"string","description":"Left Table"},"rightTable":{"type":"string","description":"Right Table"},"leftKeyColumn":{"type":"integer","description":"Left Key Column"},"rightKeyColumn":{"type":"integer","description":"Right Key Column"},"defaultRightLine":{"type":"string","description":"Line Used If No Matches From Right Table"},"isWbemKey":{"type":"boolean","description":"Is WBEM Identifier"}}},{"properties":{"type":{"type":"string","const":"tableUnion"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"tables":{"type":"array","description":"Tables To Be Concatenated","items":{"type":"string"}}}},{"properties":{"type":{"type":"string","const":"wbem"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"query":{"type":"string","description":"WBEM Query"},"namespace":{"type":"string","description":"WBEM Namespace"}}},{"properties":{"type":{"type":"string","const":"wmi"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"query":{"type":"string","description":"WMI Query"},"namespace":{"type":"string","description":"WMI Namespace"}}},{"properties":{"type":{"type":"string","const":"internalDbQuery"},"forceSerialization":{"type":"boolean"},"executeForEachEntryOf":{"$ref":"#/definitions/executeForEachEntryOf"},"tables":{"type":"array","description":"The list of tables to be used in the internal database query (SQL)","items":{"type":"object","properties":{"source":{"type":"string","description":"Source to be used as a table"},"alias":{"type":"string","description":"Alias for the table"},"columns":{"type":"array","description":"SQL table columns","items":{"type":"object","properties":{"name":{"type":"string","description":"Column name"},"type":{"type":"string","description":"SQL column type"},"number":{"type":"integer","description":"Column number in the source"}}}}}}},"computes":{"$ref":"#/definitions/computes"},"query":{"type":"string","description":"Internal database SQL Query"}}},{"properties":{"type":{"type":"string","const":"sql"},"forceSerialization":{"type":"boolean"},"computes":{"$ref":"#/definitions/computes"},"query":{"type":"string","description":"SQL Query"}}}]}},"computes":{"type":"array","items":{"type":"object","oneOf":[{"properties":{"type":{"type":"string","enum":["add","divide","multiply","subtract"]},"column":{"type":"integer","description":"Column Computed"},"value":{"type":["string","number"],"description":"Number Value"}}},{"properties":{"type":{"type":"string","enum":["and","prepend","append"]},"column":{"type":"integer","description":"Column Computed"},"value":{"type":"string","description":"String Value"}}},{"properties":{"type":{"const":"arrayTranslate"},"column":{"type":"integer","description":"Column Computed"},"translationTable":{"type":"string","description":"Translation Table Name"},"arraySeparator":{"type":"string","description":"Array Separator"},"resultSeparator":{"type":"string","description":"Result Separator"}}},{"properties":{"type":{"const":"awk"},"script":{"type":"string","description":"Awk Script Name"},"exclude":{"type":"string","description":"Exclude Lines Matching"},"keep":{"type":"string","description":"Keep Lines Matching"},"separators":{"type":"string","description":"Column Separator"},"selectColumns":{"type":"string","description":"Column Computed"}}},{"properties":{"type":{"const":"convert"},"column":{"type":"integer","description":"Column Computed"},"conversion":{"type":"string","enum":["hex2Dec","array2SimpleStatus"]}}},{"properties":{"type":{"const":"duplicateColumn"},"column":{"type":"integer","description":"Column Computed"}}},{"properties":{"type":{"type":"string","enum":["excludeOnlyMatchingLines","keepOnlyMatchingLines"]},"column":{"type":"integer","description":"Column Computed"},"regExp":{"type":"string","description":"Regular Expression To Match"},"valueList":{"type":"string","description":"Value List To Match"}}},{"properties":{"type":{"const":"extract"},"column":{"type":"integer","description":"Column Computed"},"subColumn":{"type":"integer","description":"Subcolumn Extracted"},"subSeparators":{"type":"string","description":"Subcolumn Separators"}}},{"properties":{"type":{"const":"extractPropertyFromWbemPath"},"column":{"type":"integer","description":"Column Computed"},"property":{"type":"string","description":"Property Extracted"}}},{"properties":{"type":{"const":"json2Csv"},"entryKey":{"type":"string","description":"JSON Entry Key"},"properties":{"type":"string","description":"Properties To Capture"},"separator":{"type":"string","description":"Column Separator"}}},{"properties":{"type":{"const":"perBitTranslation"},"column":{"type":"integer","description":"Column Computed"},"bitList":{"type":"string","description":"List Of Bits"},"translationTable":{"type":"string","description":"Translation Table Name"}}},{"properties":{"type":{"const":"replace"},"column":{"type":"integer","description":"Column Computed"},"existingValue":{"type":"string","description":"Value Replaced"},"newValue":{"type":"string","description":"New Value"}}},{"properties":{"type":{"const":"substring"},"column":{"type":"integer","description":"Column Computed"},"start":{"type":"string","description":"Starting Character Index"},"length":{"type":"string","description":"Substring Length"}}},{"properties":{"type":{"const":"translate"},"column":{"type":"integer","description":"Column Computed"},"translationTable":{"oneOf":[{"type":"string","description":"Translation Table Name"},{"type":"object","description":"Inline Translation Table","additionalProperties":{"type":["string","number"],"description":"Translation key-value pairs"}}]}}},{"properties":{"type":{"const":"xml2Csv"},"recordTag":{"type":"string","description":"XML Record Tag"},"properties":{"type":"string","description":"Properties To Capture"}}}]}},"transportProtocols":{"type":"string","enum":["http","https"]},"stateSetCompression":{"type":"string","description":"Represents the possible compression methods for the state set metrics.","enum":["none","suppressZeros"],"default":"suppressZeros"},"monitorFilters":{"type":"array","description":"Monitor inclusion or exclusion in data collection. This parameter accepts '+<monitor_name>' for inclusion and '!<monitor_name>' for exclusion.","items":{"type":"string","pattern":"^[+!]?[a-zA-Z0-9_.-]+$","description":"Each value can optionally start with '+' or '!' followed by a valid monitor type."},"uniqueItems":true,"minItems":1},"resolveHostnameToFqdn":{"type":"boolean","description":"Resolve hostnames to FQDN (Default: false).","default":false},"collectPeriod":{"$ref":"#/definitions/duration","description":"Sets the collect period that MetricsHub uses to collects metrics from the monitored resources (Default: 2m).","default":"2m"},"jobTimeout":{"$ref":"#/definitions/duration","description":"Sets how long until the job times out (Default: 5m).","default":"5m"},"hostname":{"description":"The hostname to which the query is sent.","oneOf":[{"type":"array"},{"type":"string"}]},"retryIntervals":{"type":"array","description":"An array of retry intervals (in milliseconds) between request retries.","items":{"type":"integer","minimum":0,"description":"A retry interval in milliseconds. Must be a non-negative integer."},"minItems":1,"uniqueItems":false},"discoveryCycle":{"type":"integer","description":"Sets the cycle that MetricsHub uses to perform discoveries and detect new components in your monitored environment. By default, MetricsHub runs a discovery after 30 collects."}},"properties":{"jobPoolSize":{"type":"integer","description":"Job Pool Size"},"loggerLevel":{"$ref":"#/definitions/loggerLevel"},"outputDirectory":{"type":"string","description":"Output directory"},"collectPeriod":{"$ref":"#/definitions/collectPeriod"},"discoveryCycle":{"$ref":"#/definitions/discoveryCycle"},"alertingSystemConfig":{"type":"object","description":"Alerting System Configuration","properties":{"disable":{"type":"boolean","description":"If true, disables the alerting system"},"problemTemplate":{"type":"string","description":"Problem alerts template"}}},"enableSelfMonitoring":{"$ref":"#/definitions/enableSelfMonitoring"},"sequential":{"$ref":"#/definitions/sequential"},"resolveHostnameToFqdn":{"$ref":"#/definitions/resolveHostnameToFqdn"},"jobTimeout":{"$ref":"#/definitions/jobTimeout"},"otelCollector":{"description":"Customizes the OpenTelemetry Collector sub-process.","type":"object","properties":{"commandLine":{"description":"Overrides the OpenTelemetry Collector command line.","type":"array","items":{"type":"string"}},"environment":{"type":"object","description":"Configures the OpenTelemetry Collector environment variables."},"output":{"description":"Configures where to print the OpenTelemetry Collector's output (Default: log).","type":"string","enum":["log","console","silent"],"default":"log"},"workingDir":{"description":"Configures the working directory of the OpenTelemetry Collector.","type":"string"},"disabled":{"description":"Disables the OpenTelemetry Collector (Default: false).","type":"boolean","default":false}}},"otel":{"type":"object","description":"Internal OpenTelemetry SDK configuration","properties":{"otel.exporter.otlp.logs.protocol":{"type":"string","description":"Property used to configure the transport protocol to use on OTLP log requests","enum":["grpc","http/protobuf"]},"otel.exporter.otlp.metrics.protocol":{"type":"string","description":"Property used to configure the transport protocol to use on OTLP metric requests","enum":["grpc","http/protobuf"]},"otel.exporter.otlp.logs.endpoint":{"type":"string","description":"Property used to configure the OTLP logs endpoint to connect to. Must be a URL with a scheme of either http or https based on the use of TLS"},"otel.exporter.otlp.endpoint":{"type":"string","description":"Property used to configure the OTLP traces, metrics, and logs endpoint to connect to"},"otel.exporter.otlp.certificate":{"type":"string","description":"Property used to configure the path to the file containing trusted certificates"},"otel.exporter.otlp.metrics.endpoint":{"type":"string","description":"Property used to configure the OTLP metrics endpoint to connect to"},"otel.exporter.otlp.metrics.certificate":{"type":"string","description":"Property used to configure the path to the file containing trusted certificates to use when verifying an OTLP metric server's TLS credentials"},"otel.exporter.otlp.protocol":{"type":"string","description":"The transport protocol to use on OTLP trace, metric, and log requests","enum":["grpc","http/protobuf"]},"otel.exporter.otlp.logs.certificate":{"type":"string","description":"Property used to configure the path to the file containing trusted certificates to use when verifying an OTLP log server's TLS credentials"},"otel.logs.exporter":{"type":"string","description":"Property used to configure the OpenTelemetry exporter for logs"},"otel.metrics.exporter":{"type":"string","description":"Property used to configure the OpenTelemetry exporter for metrics","const":"otlp"}},"additionalProperties":{"type":"string","description":"Property from https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure"}},"attributes":{"type":"object","description":"Top level attributes","additionalProperties":{"type":["string","number"],"description":"Attribute key-value pair"}},"metrics":{"type":"object","description":"Top level metrics","additionalProperties":{"type":["string","number"],"description":"Metrics key-value pair"}},"resources":{"$ref":"#/definitions/resources"},"resourceGroups":{"type":"object","description":"Contains Resource Groups","additionalProperties":{"type":"object","description":"Resource Group name","properties":{"loggerLevel":{"$ref":"#/definitions/loggerLevel"},"outputDirectory":{"type":"string","description":"Output directory"},"collectPeriod":{"$ref":"#/definitions/collectPeriod"},"discoveryCycle":{"$ref":"#/definitions/discoveryCycle"},"alertingSystemConfig":{"type":"object","description":"Alerting System Configuration","properties":{"disable":{"type":"boolean","description":"If true, disables the alerting system"},"problemTemplate":{"type":"string","description":"Problem alerts template"}}},"enableSelfMonitoring":{"$ref":"#/definitions/enableSelfMonitoring"},"sequential":{"$ref":"#/definitions/sequential"},"resolveHostnameToFqdn":{"$ref":"#/definitions/resolveHostnameToFqdn"},"jobTimeout":{"$ref":"#/definitions/jobTimeout"},"attributes":{"type":"object","description":"Resource group attributes","additionalProperties":{"type":["string","number","array"],"description":"Attribute key-value pair"}},"metrics":{"type":"object","description":"Resource group metrics","additionalProperties":{"type":["string","number"],"description":"Metrics key-value pair"}},"resources":{"$ref":"#/definitions/resources"},"stateSetCompression":{"$ref":"#/definitions/stateSetCompression"},"monitorFilters":{"$ref":"#/definitions/monitorFilters"}}}},"license":{"description":"MetricsHub License","type":"object","properties":{"product":{"description":"The name of the product the license is for.","type":"string"},"organization":{"description":"The name of the organization the license is for.","type":"string"},"expiresOn":{"description":"The expiration date of the license in the format yyyy-MM-dd.","type":"string"},"resources":{"description":"The maximum number of resources the license covers.","type":"integer"},"key":{"description":"The license key","type":"string"}}},"stateSetCompression":{"$ref":"#/definitions/stateSetCompression"},"patchDirectory":{"type":"string","description":"The path of the custom connectors directory, connectors will also be loaded from the default directory."},"monitorFilters":{"$ref":"#/definitions/monitorFilters"}}}
</schema>

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

Sequential mode. This forces all network calls to be ordered in a sequential order.

Enables or disables self monitoring signals. E.g. job duration metrics.

Forces a specific namespace for connectors that perform namespace auto-detection (Advanced).

all trace debug info warn error fatal off

Logger Level (Default: error)

Contains Resources

Resource name

Output directory

Alerting System Configuration

If true, disables the alerting system

Problem alerts template

Resource attributes

Attribute key-value pair

Resource metrics

Metrics key-value pair

Protocols Used

Configures the HTTP protocol to access the host.

Sets the username used to establish the connection with the host through the HTTP protocol.

Sets the password used to establish the connection with the host through the HTTP protocol.

Sets how long until the HTTP request times out (Default: 120s).

Enables HTTPS to access the host (Default: true).

Sets the HTTPS port number used to perform HTTP requests (Default: 443).

Configures the IPMI protocol to access the host.

Sets the username used to establish the connection with the host through the IPMI protocol.

Sets how long until the IPMI request times out (Default: 120s).

BMC Key used to establish the connection with the host through the IPMI protocol.

Skip Authentication

Configures the OS Command protocol to access the host.

Sets how long until the local OS Command times out (Default: 120s).

Sets if sudo needs to be used for the local OS Command (Default: false).

Sets the list of commands for which sudo is required.

Sets the sudo command to be used for the host to be monitored (Default: sudo).

Configures the Ping protocol to access the host.

Sets how long until the ping times out (Default: 5s).

Configures the SNMP protocol to access the host.

Sets the version of the SNMP protocol (Default: v1).

Sets the SNMP Community string to use to perform queries (Default: public).

Sets how long until the SNMP request times out (Default: 120s).

Sets the SNMP port number used to perform SNMP queries (Default: 161).

Configures the SNMPv3 protocol to access the host.

Sets the username to use for performing the SNMPv3 query.

Sets the password to use for performing the SNMPv3 query.

Sets the privacy password to use for performing the SNMPv3 query.

Sets how long until the SNMPv3 request times out (Default: 120s).

Sets the context name.

Sets the SNMPv3 authentication type. (MD5, SHA, SHA256, SHA512, SHA384, SHA224 or NO_AUTH).

Sets the SNMPv3 encryption type. (AES, DES or none).

Configures the SSH protocol to access the host.

Sets the username to use for performing the SSH query.

Sets the password to use for performing the SSH query.

Sets how long until the command times out (Default: 120s).

Sets the sudo command to be used.

Sets if sudo needs to be used for the SSH Command (Default: false).

Sets the list of commands for which sudo is required.

Sets the private Key File to use to establish the connection to the host through the SSH protocol.

Configures the WBEM protocol to access the host.

Sets the password used to establish the connection with the host through the WBEM protocol.

Sets the HTTPS port number used to perform WBEM queries (Default: 5989 for HTTPS or 5988 for HTTP).

Sets the protocol used to access the host (Default: https).

Sets how long until the WBEM request times out (Default: 120s).

Sets the username used to establish the connection with the host through the WBEM protocol.

Configures the WinRM protocol to access the host.

Sets the password used to establish the connection with the host through the WinRM protocol.

Sets the HTTPS port number used to perform WinRM queries (Default: 5989 for HTTPS or 5988 for HTTP).

Sets how long until the WinRM request times out (Default: 120s).

Sets the username used to establish the connection with the host through the WinRM protocol.

Authentication Type

Configures the WMI protocol to access the host.

Sets the password used to establish the connection with the host through the WMI protocol.

Sets how long until the WMI request times out (Default: 120s).

Sets the username used to establish the connection with the host through the WMI protocol.

Configuration for JDBC connection.

How long until the SQL query times out (Default: 120s).

Name used to authenticate against the database.

Password used to authenticate against the database.

The JDBC connection URL to access the database.

The type of database (e.g., postgresql, oracle, mssql, informix, h2, mysql).

The port number used to connect to the database.

The name of the database instance to connect to on the server.

Specifies the connector ID to use. Defaults to the key name if not specified.

Variable key-value pair

Key-value pairs for connector-specific variables.

Set to false for auto-detection only, defaults to true if not specified.

Custom connector configurations keyed by their ID including variables (Advanced).

Sets the Connector(s) to use or exclude, as well as connector tags to be matched.

Monitor Identity Properties

Discovery Monitor

Discovery Mapping

Discovery Attributes

ID

Display Name

Discovery Metrics

Collect Monitor

Collect Instance Type

Collect Mapping

Collect Attributes

ID

Collect Metrics

Discovery Monitor

Discovery Mapping

Discovery Attributes

ID

Display Name

Discovery Metrics

Result Content Expected

HTTP Method

Execute For Each Entry

Contains Sources

Source Name

HTTP Url

HTTP Path

HTTP Header

HTTP Body

HTTP Authentication Token

Command Line

OS Command Timeout

Command Executed On Local Agent

Exclude Lines Matching

Keep Lines Matching

Begin At Line Number

End At Line Number

Column Separator

Columns Selected

Source Copied

Source Value

OID Queried

OID Queried

Columns Selected

Left Table

Right Table

Left Key Column

Right Key Column

Line Used If No Matches From Right Table

Is WBEM Identifier

Tables To Be Concatenated

WBEM Query

WBEM Namespace

WMI Query

WMI Namespace

The list of tables to be used in the internal database query (SQL)

Source to be used as a table

Alias for the table

SQL table columns

Column name

SQL column type

Column number in the source

Internal database SQL Query

SQL Query

Column Computed

Number Value

Column Computed

String Value

Column Computed

Translation Table Name

Array Separator

Result Separator

Awk Script Name

Exclude Lines Matching

Keep Lines Matching

Column Separator

Column Computed

Column Computed

Column Computed

Column Computed

Regular Expression To Match

Value List To Match

Column Computed

Subcolumn Extracted

Subcolumn Separators

Column Computed

Property Extracted

JSON Entry Key

Properties To Capture

Column Separator

Column Computed

List Of Bits

Translation Table Name

Column Computed

Value Replaced

New Value

Column Computed

Starting Character Index

Substring Length

Column Computed

Translation Table Name

Inline Translation Table

Translation key-value pairs

XML Record Tag

Properties To Capture

Represents the possible compression methods for the state set metrics.

Monitor inclusion or exclusion in data collection. This parameter accepts '+<monitor_name>' for inclusion and '!<monitor_name>' for exclusion.

Each value can optionally start with '+' or '!' followed by a valid monitor type.

Resolve hostnames to FQDN (Default: false).

Sets the collect period that MetricsHub uses to collects metrics from the monitored resources (Default: 2m).

Sets how long until the job times out (Default: 5m).

The hostname to which the query is sent.

An array of retry intervals (in milliseconds) between request retries.

A retry interval in milliseconds. Must be a non-negative integer.

Sets the cycle that MetricsHub uses to perform discoveries and detect new components in your monitored environment. By default, MetricsHub runs a discovery after 30 collects.

Job Pool Size

Output directory

Alerting System Configuration

If true, disables the alerting system

Problem alerts template

Customizes the OpenTelemetry Collector sub-process.

Overrides the OpenTelemetry Collector command line.

Configures the OpenTelemetry Collector environment variables.

Configures where to print the OpenTelemetry Collector's output (Default: log).

Configures the working directory of the OpenTelemetry Collector.

Disables the OpenTelemetry Collector (Default: false).

Internal OpenTelemetry SDK configuration

Property used to configure the transport protocol to use on OTLP log requests

Property used to configure the transport protocol to use on OTLP metric requests

Property used to configure the OTLP logs endpoint to connect to. Must be a URL with a scheme of either http or https based on the use of TLS

Property used to configure the OTLP traces, metrics, and logs endpoint to connect to

Property used to configure the OTLP metrics endpoint to connect to

Property used to configure the path to the file containing trusted certificates to use when verifying an OTLP metric server's TLS credentials

The transport protocol to use on OTLP trace, metric, and log requests

Property used to configure the path to the file containing trusted certificates to use when verifying an OTLP log server's TLS credentials

Property used to configure the OpenTelemetry exporter for logs

Property used to configure the OpenTelemetry exporter for metrics

Property from https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure

Top level attributes

Attribute key-value pair

Top level metrics

Metrics key-value pair

Contains Resource Groups

Resource Group name

Output directory

Alerting System Configuration

If true, disables the alerting system

Problem alerts template

Resource group attributes

Attribute key-value pair

Resource group metrics

Metrics key-value pair

MetricsHub License

The name of the product the license is for.

The name of the organization the license is for.

The expiration date of the license in the format yyyy-MM-dd.

The maximum number of resources the license covers.

The license key

The path of the custom connectors directory, connectors will also be loaded from the default directory.

Provide a JSON object that satisfies the schema "metricshub". 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/micro-syntax.json","$comment":"Port this schema to https://github.com/zyedidia/micro repository.","additionalProperties":false,"definitions":{"string-or-region":{"oneOf":[{"title":"rule","type":"string","minLength":1},{"type":"object","properties":{"start":{"description":"A region start\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"string","minLength":1,"examples":["//"]},"end":{"description":"A region end\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"string","minLength":1,"examples":["$"]},"skip":{"description":"Ignored region sequences\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"string","minLength":1,"examples":["\\\\."]},"rules":{"$ref":"#/definitions/rules"}},"additionalProperties":false}]},"rules":{"description":"Rules\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"array","uniqueItems":true,"items":{"description":"A rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"object","properties":{"comment":{"$ref":"#/definitions/string-or-region","title":"comment rule region","description":"A comment rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"comment.line":{"$ref":"#/definitions/string-or-region","title":"line comment rule region","description":"A line comment rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"comment.block":{"$ref":"#/definitions/string-or-region","title":"block comment rule region","description":"A block comment rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier":{"$ref":"#/definitions/string-or-region","title":"identifier rule region","description":"An identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin identifier rule region","description":"A builtin identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.type":{"$ref":"#/definitions/string-or-region","title":"type identifier rule region","description":"A type rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.type.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin type identifier rule region","description":"A builtin type rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.callable":{"$ref":"#/definitions/string-or-region","title":"callable identifier rule region","description":"A callable identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.callable.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin callable identifier rule region","description":"A builtin callable identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.macro":{"$ref":"#/definitions/string-or-region","title":"macro identifier rule region","description":"A macro rule\nAlso used for functions\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.macro.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin macro identifier rule region","description":"A builtin macro rule\nAlso used for functions\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.var":{"$ref":"#/definitions/string-or-region","title":"variable identifier rule region","description":"A variable identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.var.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin variable identifier rule region","description":"A builtin variable identifier rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant":{"$ref":"#/definitions/string-or-region","title":"constant rule region","description":"A constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"identifier.null":{"$ref":"#/definitions/string-or-region","title":"null identifier rule region","description":"A null rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.bool":{"$ref":"#/definitions/string-or-region","title":"bool constant rule region","description":"A bool constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.bool.true":{"$ref":"#/definitions/string-or-region","title":"true bool constant rule region","description":"A true bool constant rule\n`.builtin` suffix is not used\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.bool.false":{"$ref":"#/definitions/string-or-region","title":"false bool constant rule region","description":"A false bool constant rule\n`.builtin` suffix is not used\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.number":{"$ref":"#/definitions/string-or-region","title":"number constant rule region","description":"A number constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.number.integer":{"$ref":"#/definitions/string-or-region","title":"integer number constant rule region","description":"A integer number constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.number.float":{"$ref":"#/definitions/string-or-region","title":"float number constant rule region","description":"A float number constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.number.complex":{"$ref":"#/definitions/string-or-region","title":"complex number constant rule region","description":"A complex number constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.string":{"$ref":"#/definitions/string-or-region","title":"string constant rule region","description":"A string constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.string.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin string constant rule region","description":"A builtin string constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.string.url":{"$ref":"#/definitions/string-or-region","title":"url string constant rule region","description":"A url string constant rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.string.escape":{"$ref":"#/definitions/string-or-region","title":"escape string constant rule region","description":"A escape string constant rule\n`.builtin` suffix is not used\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"constant.string.format":{"$ref":"#/definitions/string-or-region","title":"string format specifier constant rule region","description":"A string format specifier constant rule\n`.builtin` suffix is not used\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"statement":{"$ref":"#/definitions/string-or-region","title":"statement rule region","description":"A statement rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"symbol":{"$ref":"#/definitions/string-or-region","title":"symbol rule region","description":"A symbol rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"symbol.brackets":{"$ref":"#/definitions/string-or-region","title":"bracket symbol rule region","description":"A bracket symbol rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"symbol.operator":{"$ref":"#/definitions/string-or-region","title":"operator symbol rule region","description":"An operator symbol rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"symbol.tag":{"$ref":"#/definitions/string-or-region","title":"tag symbol rule region","description":"A tag symbol rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"preproc":{"$ref":"#/definitions/string-or-region","title":"preprocessor rule region","description":"A preprocessor rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"preproc.shebang":{"$ref":"#/definitions/string-or-region","title":"shebang preprocessor rule region","description":"A shebang preprocessor rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"type":{"$ref":"#/definitions/string-or-region","title":"type rule region","description":"A type rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"type.builtin":{"$ref":"#/definitions/string-or-region","title":"builtin type rule region","description":"A builtin type rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"type.keyword":{"$ref":"#/definitions/string-or-region","title":"keyword type rule region","description":"A keyword type rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"},"todo":{"$ref":"#/definitions/string-or-region","title":"todo region","description":"A todo rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","examples":["(TODO|XXX|FIXME)"]},"include":{"description":"An include\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules","type":"string","examples":["javascript"]}},"additionalProperties":{"$ref":"#/definitions/string-or-region","title":"rule region","description":"A rule\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules"}}}},"description":"A syntax\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-files","properties":{"filetype":{"description":"A file type\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#filetype-definition","type":"string","minLength":1,"examples":["go"]},"detect":{"title":"detection options","description":"Detection options\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition","type":"object","properties":{"filename":{"description":"A file name\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition","type":"string","minLength":1,"examples":["\\.go$"]},"header":{"description":"A file header\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition","type":"string","minLength":1,"examples":["%YAML"]}},"additionalProperties":false},"rules":{"$ref":"#/definitions/rules","title":"rule"}},"title":"syntax","type":"object"}
</schema>

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

Port this schema to https://github.com/zyedidia/micro repository.

rule

A region start
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

A region end
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

Ignored region sequences
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

Rules
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

A rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

comment rule region

A comment rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

line comment rule region

A line comment rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

block comment rule region

A block comment rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

identifier rule region

An identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin identifier rule region

A builtin identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

type identifier rule region

A type rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin type identifier rule region

A builtin type rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

callable identifier rule region

A callable identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin callable identifier rule region

A builtin callable identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

macro identifier rule region

A macro rule
Also used for functions
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin macro identifier rule region

A builtin macro rule
Also used for functions
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

variable identifier rule region

A variable identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin variable identifier rule region

A builtin variable identifier rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

constant rule region

A constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

null identifier rule region

A null rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

bool constant rule region

A bool constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

true bool constant rule region

A true bool constant rule
`.builtin` suffix is not used
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

false bool constant rule region

A false bool constant rule
`.builtin` suffix is not used
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

number constant rule region

A number constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

integer number constant rule region

A integer number constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

float number constant rule region

A float number constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

complex number constant rule region

A complex number constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

string constant rule region

A string constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

builtin string constant rule region

A builtin string constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

url string constant rule region

A url string constant rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

escape string constant rule region

A escape string constant rule
`.builtin` suffix is not used
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

string format specifier constant rule region

A string format specifier constant rule
`.builtin` suffix is not used
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

statement rule region

A statement rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

symbol rule region

A symbol rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

bracket symbol rule region

A bracket symbol rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

operator symbol rule region

An operator symbol rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

tag symbol rule region

A tag symbol rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

preprocessor rule region

A preprocessor rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

shebang preprocessor rule region

A shebang preprocessor rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

type rule region

builtin type rule region

keyword type rule region

A keyword type rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

todo region

A todo rule
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

An include
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-rules

rule region

A syntax
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#syntax-files

A file type
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#filetype-definition

detection options

Detection options
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition

A file name
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition

A file header
https://github.com/zyedidia/micro/blob/master/runtime/help/colors.md#detect-definition

rule

syntax

Provide a JSON object that satisfies the schema "syntax". 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/micro.json","$comment":"https://github.com/zyedidia/micro","additionalProperties":false,"properties":{"autoindent":{"description":"Whether to use the same indentation as a previous line\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"autosave":{"description":"A delay between automatic saves\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"integer","minimum":0,"default":0},"autosu":{"description":"Whether attempt to use super user privileges\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"backup":{"description":"Whether to backup all open buffers\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"backupdir":{"description":"A directory to store backups\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":""},"basename":{"description":"Whether to show a basename instead of a full path\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"clipboard":{"description":"A way to access the system clipboard\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","enum":["external","terminal","internal"],"default":"external"},"colorcolumn":{"description":"A position to display a column\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"integer","minimum":0,"default":0},"colorscheme":{"description":"A color scheme\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","enum":["atom-dark","bubblegum","cmc-16","cmc-tc","darcula","default","dracula-tc","dukedark-tc","dukelight-tc","dukeubuntu-tc","geany","gotham","gruvbox","gruvbox-tc","material-tc","monokai-dark","monokai","one-dark","railscast","simple","solarized","solarized-tc","sunny-day","twilight","zenburn"],"default":"default"},"cursorline":{"description":"Whether to highlight a line with a cursor with a different color\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"diffgutter":{"description":"Whether to display diff inticators before lines\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"divchars":{"description":"Divider chars for vertical and horizontal splits\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"|-"},"divreverse":{"description":"Whether to use inversed color scheme colors for splits\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"encoding":{"description":"An encoding used to open and save files\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"utf-8"},"eofnewline":{"description":"Whether to add a missing trailing new line\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"fastdirty":{"description":"Whether to use a fast algorithm to determine whether a file is changed\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"fileformat":{"description":"A line ending format\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","enum":["unix","dos"],"default":"unix"},"filetype":{"description":"A filetype for the current buffer\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"unknown"},"hlsearch":{"description":"Whether to highlight all instances of a searched text after a successful search\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"incsearch":{"description":"Whether to enable an incremental search in `Find` prompt\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"ignorecase":{"description":"Whether to perform case-insensitive searches\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"indentchar":{"description":"An indentation character\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","maxLength":1,"default":" "},"infobar":{"description":"Whether to enable a line at the bottom where messages are printed\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"keepautoindent":{"description":"Whether add a whitespace while using autoindent\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"keymenu":{"description":"Whether to display nano-style key menu at the bottom\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"matchbrace":{"description":"Whether to underline matching braces\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"mkparents":{"description":"Whether to create missing directories\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"mouse":{"description":"Whether to enable mouse support\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"paste":{"description":"Whether to treat characters sent from the terminal in a single chunk as a paste event\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"parsecursor":{"description":"Whether to extract a line number and a column to open files with from file names\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"permbackup":{"description":"Whether to permanently save backups\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"pluginchannels":{"description":"A file with list of plugin channels\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json"},"pluginrepos":{"description":"Plugin repositories\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"array","uniqueItems":true,"items":{"description":"A plugin repository\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string"},"default":[]},"readonly":{"description":"Whether to forbid buffer editing\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"rmtrailingws":{"description":"Whether to remove trailing whitespaces\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"ruler":{"description":"Whether to display line numbers\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"relativeruler":{"description":"Whether to display relative line numbers\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"savecursor":{"description":"Whether to save cursor position in files\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"savehistory":{"description":"Whether to save command history between closing and re-opening editor\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"saveundo":{"description":"Whether to save undo after closing file\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"scrollbar":{"description":"Whether to save undo after closing file\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"scrollmargin":{"description":"A margin at which a view starts scrolling when a cursor approaches an edge of a view\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"integer","default":3},"scrollspeed":{"description":"Line count to scroll for one scroll event\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"integer","default":2},"smartpaste":{"description":"Whether to add a leading whitespace while pasting multiple lines\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"softwrap":{"description":"Whether to wrap long lines\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"splitbottom":{"description":"Whether to create a new horizontal split below the current one\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"splitright":{"description":"Whether to create a new vertical split right of the current one\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"statusformatl":{"description":"Format string of left-justified part of the statusline\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"$(filename) $(modified)($(line),$(col)) $(status.paste)| ft:$(opt:filetype) | $(opt:fileformat) | $(opt:encoding)"},"statusformatr":{"description":"Format string of right-justified part of the statusline\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"$(bind:ToggleKeyMenu): bindings, $(bind:ToggleHelp): help"},"statusline":{"description":"Whether to display a status line\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"sudo"},"sucmd":{"description":"A super user command\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"string","default":"sudo","examples":["sudo","doas"]},"syntax":{"description":"Whether to enable a syntax highlighting\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"tabmovement":{"description":"Whether to navigate spaces at the beginning of lines as if they are tabs\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"tabhighlight":{"description":"Whether to invert tab character colors\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"tabreverse":{"description":"Whether to reverse tab bar colors\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"tabsize":{"description":"A tab size\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"integer","default":4},"tabstospaces":{"description":"Whether to use spaces instead of tabs\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"useprimary":{"description":"Whether to use primary clipboard to copy selections in the background\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":true},"wordwrap":{"description":"Whether to wrap long lines by words\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false},"xterm":{"description":"Whether to assume that the current terminal is `xterm`\nhttps://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options","type":"boolean","default":false}},"title":"A micro editor config schema","type":"object"}
</schema>

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

Whether to use the same indentation as a previous line
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A delay between automatic saves
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether attempt to use super user privileges
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to backup all open buffers
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A directory to store backups
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to show a basename instead of a full path
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A way to access the system clipboard
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A position to display a column
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A color scheme
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

atom-dark bubblegum cmc-16 cmc-tc darcula default dracula-tc dukedark-tc dukelight-tc dukeubuntu-tc geany gotham gruvbox gruvbox-tc material-tc monokai-dark monokai one-dark railscast simple solarized solarized-tc sunny-day twilight zenburn

Whether to highlight a line with a cursor with a different color
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to display diff inticators before lines
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Divider chars for vertical and horizontal splits
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to use inversed color scheme colors for splits
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

An encoding used to open and save files
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to add a missing trailing new line
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to use a fast algorithm to determine whether a file is changed
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A line ending format
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A filetype for the current buffer
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to highlight all instances of a searched text after a successful search
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to enable an incremental search in `Find` prompt
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to perform case-insensitive searches
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

An indentation character
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to enable a line at the bottom where messages are printed
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether add a whitespace while using autoindent
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to display nano-style key menu at the bottom
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to underline matching braces
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to create missing directories
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to enable mouse support
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to treat characters sent from the terminal in a single chunk as a paste event
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to extract a line number and a column to open files with from file names
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to permanently save backups
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A file with list of plugin channels
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Plugin repositories
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A plugin repository
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to forbid buffer editing
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to remove trailing whitespaces
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to display line numbers
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to display relative line numbers
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to save cursor position in files
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to save command history between closing and re-opening editor
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to save undo after closing file
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A margin at which a view starts scrolling when a cursor approaches an edge of a view
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Line count to scroll for one scroll event
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to add a leading whitespace while pasting multiple lines
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to wrap long lines
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to create a new horizontal split below the current one
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to create a new vertical split right of the current one
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Format string of left-justified part of the statusline
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

$(filename) $(modified)($(line),$(col)) $(status.paste)| ft:$(opt:filetype) | $(opt:fileformat) | $(opt:encoding)

Format string of right-justified part of the statusline
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

$(bind:ToggleKeyMenu): bindings, $(bind:ToggleHelp): help

Whether to display a status line
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A super user command
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to enable a syntax highlighting
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to navigate spaces at the beginning of lines as if they are tabs
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to invert tab character colors
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to reverse tab bar colors
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A tab size
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to use spaces instead of tabs
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to use primary clipboard to copy selections in the background
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to wrap long lines by words
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

Whether to assume that the current terminal is `xterm`
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md#options

A micro editor config schema

Provide a JSON object that satisfies the schema "A micro editor config 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/mimetypes.json","additionalProperties":false,"patternProperties":{"^\\..+$":{"description":"A file extension","pattern":"^[a-zA-Z0-9-_.]+/[a-zA-Z0-9-_.]+$","type":"string","examples":["application/json"]}},"title":"Mime types","type":"object"}
</schema>

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

A file extension

Mime types

Provide a JSON object that satisfies the schema "Mime types". 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/minecraft-advancement.json","$comment":"https://minecraft.wiki/w/Advancement/JSON_format","definitions":{"jsonTextComponent":{"$comment":"https://minecraft.wiki/w/Raw_JSON_text_format","type":["string","boolean","number","array","object"],"properties":{"extra":{"description":"A list of additional raw JSON text components to be displayed after this one.","type":"array","items":{"$ref":"#/definitions/jsonTextComponent","description":"A child text component. Child text components inherit all formatting and interactivity from the parent component, unless they explicitly override them."}},"color":{"description":"The color to render the content in.","type":"string","anyOf":[{"enum":["black","dark_blue","dark_green","dark_aqua","dark_red","dark_purple","gold","gray","dark_gray","blue","green","aqua","red","light_purple","yellow","white","reset"]},{"pattern":"#[A-F\\d]{6}"}]},"font":{"description":"The resource location of the font for this component in the resource pack within assets/<namespace>/font.","type":"string","default":"minecraft:default"},"bold":{"description":"Whether to render the content in bold.","type":"boolean"},"italic":{"description":"Whether to render the content in italics. Note that text that is italicized by default, such as custom item names, can be unitalicized by setting this to false.","type":"boolean"},"underlined":{"description":"Whether to underline the content.","type":"boolean"},"strikethrough":{"description":"Whether to strikethrough the content.","type":"boolean"},"obfuscated":{"description":"Whether to render the content obfuscated.","type":"boolean"},"insertion":{"description":"When the text is shift-clicked by a player, this string is inserted in their chat input. It does not overwrite any existing text the player was writing. This only works in chat messages.","type":"string"},"clickEvent":{"title":"click event","description":"Allows for events to occur when the player clicks on text. Only work in chat messages and written books, unless specified otherwise.","type":"object","properties":{"action":{"description":"The action to perform when clicked.","type":"string","enum":["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]},"value":{"description":"The URL, file path, chat, command or book page used by the specified action.","type":"string"}}},"hoverEvent":{"title":"hover event","description":"Allows for a tooltip to be displayed when the player hovers their mouse over text.","type":"object","properties":{"action":{"description":"The type of tooltip to show.","type":"string","enum":["show_text","show_item","show_entity"]},"value":{"description":"The formatting and type of this tag varies depending on the action.","type":"string"},"contents":{"title":"contents","description":"The formatting of this tag varies depending on the action.","type":"object"}}},"text":{"description":"A string containing plain text to display directly. Can also be a number or boolean that is displayed directly.","type":["string","number","boolean"]},"translate":{"description":"A translation identifier, corresponding to the identifiers found in loaded language files. Displayed as the corresponding text in the player's selected language. If no corresponding translation can be found, the identifier itself is used as the translated text.","type":"string"},"with":{"description":"A list of raw JSON text components to be inserted into slots in the translation text.","type":"array","items":{"$ref":"#/definitions/jsonTextComponent","description":"A raw JSON text component. If no component is provided for a slot, the slot is displayed as no text."}}}}},"description":"A data pack advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","properties":{"display":{"title":"display","description":"Display options for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"object","properties":{"icon":{"title":"icon","description":"Icon options for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"object","properties":{"item":{"description":"An item identifier for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1},"nbt":{"description":"A named binary tag of an item for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1}}},"title":{"$ref":"#/definitions/jsonTextComponent","title":"title","description":"A title for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend"},"frame":{"description":"A frame type for the icon for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","enum":["challenge","goal","task"],"default":"task"},"background":{"$ref":"https://json.schemastore.org/base.json#/definitions/path","description":"A background directory for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend"},"description":{"$ref":"#/definitions/jsonTextComponent","title":"description","description":"A description for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend"},"show_toast":{"description":"Whether or not to show the toast pop up after completing the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"boolean","default":true},"annouce_to_chat":{"description":"Whether or not to announce in the chat when the current advancement has been completed\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"boolean","default":true},"hidden":{"description":"Whether or not to hide this advancement and all its children from the advancement screen until the current advancement have been completed\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"boolean","default":false}}},"parent":{"$ref":"https://json.schemastore.org/base.json#/definitions/path","description":"A parent directory for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend"},"criteria":{"title":"criteria","description":"Required criteria have to be met for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"object","additionalProperties":{"title":"criteria","description":"Required criteria have to be met for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"object","properties":{"trigger":{"description":"A trigger for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Criteria","type":"string"},"conditions":{"description":"Conditions need to be met when the trigger gets activated for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Criteria","type":"object","properties":{"player":{"title":"player options","description":"Check properties of the player for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Criteria","type":["array","object"]}}}}}},"requirements":{"description":"Requirements for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"array","uniqueItems":true,"items":{"description":"Criterions for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"array","uniqueItems":true,"items":{"description":"Criterion name for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1}}},"rewards":{"title":"rewards","description":"Rewards for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"object","properties":{"recipes":{"description":"Recipes to unlock for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"array","uniqueItems":true,"items":{"description":"A namespaced identifier for a recipe for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1}},"loot":{"description":"Loot tables to give to the player for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"array","uniqueItems":true,"items":{"description":"A namespaced identifier for a loot table for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1}},"experience":{"description":"An experience amount for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"integer","minimum":0},"function":{"description":"A function to run for the current advancement\nhttps://minecraft.wiki/w/Advancement/JSON_format#Legend","type":"string","minLength":1}},"additionalProperties":false}},"title":"data pack advancement","type":"object"}
</schema>

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

A list of additional raw JSON text components to be displayed after this one.

A child text component. Child text components inherit all formatting and interactivity from the parent component, unless they explicitly override them.

The color to render the content in.

The resource location of the font for this component in the resource pack within assets/<namespace>/font.

Whether to render the content in bold.

Whether to render the content in italics. Note that text that is italicized by default, such as custom item names, can be unitalicized by setting this to false.

Whether to underline the content.

Whether to strikethrough the content.

Whether to render the content obfuscated.

When the text is shift-clicked by a player, this string is inserted in their chat input. It does not overwrite any existing text the player was writing. This only works in chat messages.

click event

Allows for events to occur when the player clicks on text. Only work in chat messages and written books, unless specified otherwise.

The action to perform when clicked.

The URL, file path, chat, command or book page used by the specified action.

hover event

Allows for a tooltip to be displayed when the player hovers their mouse over text.

The type of tooltip to show.

The formatting and type of this tag varies depending on the action.

contents

The formatting of this tag varies depending on the action.

A string containing plain text to display directly. Can also be a number or boolean that is displayed directly.

A translation identifier, corresponding to the identifiers found in loaded language files. Displayed as the corresponding text in the player's selected language. If no corresponding translation can be found, the identifier itself is used as the translated text.

A list of raw JSON text components to be inserted into slots in the translation text.

A raw JSON text component. If no component is provided for a slot, the slot is displayed as no text.

A data pack advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

display

Display options for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

icon

Icon options for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

An item identifier for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A named binary tag of an item for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

title

A title for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A frame type for the icon for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A background directory for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

description

A description for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Whether or not to show the toast pop up after completing the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Whether or not to announce in the chat when the current advancement has been completed
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Whether or not to hide this advancement and all its children from the advancement screen until the current advancement have been completed
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A parent directory for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

criteria

Required criteria have to be met for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

criteria

A trigger for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Criteria

Conditions need to be met when the trigger gets activated for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Criteria

player options

Check properties of the player for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Criteria

Requirements for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Criterions for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Criterion name for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

rewards

Rewards for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Recipes to unlock for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A namespaced identifier for a recipe for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

Loot tables to give to the player for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A namespaced identifier for a loot table for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

An experience amount for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

A function to run for the current advancement
https://minecraft.wiki/w/Advancement/JSON_format#Legend

data pack advancement

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