[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/ti8m-cdk-environment-definition.json","title":"Environment Definition","description":"Definition of an application environment","type":"object","properties":{"app":{"type":"string","description":"the name of the application-(component) defined by this environment"},"config-set":{"type":"object","description":"configuration sets, which can be referenced from the service definitions","additionalProperties":{"$ref":"#/definitions/serviceConfiguration","description":"A set of service-configurations applied to several services in the same way."}},"services":{"type":"array","description":"list of services which are part of this environment","items":{"type":"object","allOf":[{"$ref":"#/definitions/serviceConfiguration"},{"type":"object","properties":{"alias":{"type":"string","description":"a convenient name, unique within the environment."},"name":{"type":"string","description":"the name of the service, usually prefixed by the environment name to continue the historic way of supporting plain docker/docker-compose environments"},"hostname":{"type":"string","description":"the hostname of the docker-container, to override the automatic created hostnames for docker-compose environments"},"external-name":{"type":"string","description":"the external name of the service, this is usually a DNS name for an external service, e.g. api.google.com"},"image":{"type":"string","description":"URL of the docker registry containing the services image"},"config-sets":{"type":"array","description":"list of configuration sets to be applied to this service","items":{"type":"string"}},"exposed-route":{"type":"object","description":"Additional properties for routes","properties":{"timeout":{"type":"string","description":"the timeout in minutes or seconds (e.g. 10m, 10s)"},"rewrite-target":{"type":"string","description":"the target path for url rewrites (replaces the entry path of the route)"}}}},"required":["name","alias"]}]}}},"required":["app"],"definitions":{"serviceConfiguration":{"type":"object","properties":{"environment":{"type":"object","description":"List of environment variables set in the Container/Pod","patternProperties":{"^.*$":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"keyRefName":{"type":"string","description":"the name of the secret to reference"},"key":{"type":"string","description":"the (entry) key of the referenced secret"}}},{"type":"string","description":"plain simple value of the variable"},{"type":"number","description":"plain simple value of the variable"},{"type":"boolean","description":"plain simple value of the variable"}]}},"additionalProperties":false},"entrypoint":{"type":"string","description":"The entrypoint that is used to start the image (Only works with docker-compose and OpenShift"},"additionalLabels":{"type":"object","properties":{"deployment":{"$ref":"#/definitions/labels","type":"object","description":"List of labels for deployments"},"service":{"$ref":"#/definitions/labels","type":"object","description":"List of labels for services"}},"additionalProperties":false},"liveness":{"$ref":"#/definitions/probe","type":"object","description":"Defines a check, failure of which leads to the restart of the service"},"startup":{"$ref":"#/definitions/probe","type":"object","description":"A startup probe indicates whether the application within a container is started. All other probes are disabled until the startup succeeds"},"readiness":{"$ref":"#/definitions/probe","type":"object","description":"Defines a check, failure of which leads to the service not receiving any requests"},"deploymentStrategy":{"type":"object","description":"How to roll out changed versions of the service (Recreate or Rolling)","properties":{"type":{"enum":["Rolling","Recreate"],"default":"Recreate"},"params":{"type":"object","properties":{"updatePeriodSeconds":{"type":"number","description":"Number of seconds to wait between pod updates"},"intervalSeconds":{"type":"number","description":"Number of seconds to wait between evaluations of the deployment status"},"timeoutSeconds":{"description":"Time to wait for a successful scale-up before rolling back to the previous deployment","oneOf":[{"type":"number"},{"$ref":"#/definitions/templateParameterReference"}]},"maxSurge":{"description":"Maximum temporary excess number of pods above the desired number of replicas","oneOf":[{"type":"number"},{"$ref":"#/definitions/templateParameterReference"}]},"maxUnavailable":{"description":"Maximum temporarily lacking pods compared to the desired number of replicas","oneOf":[{"type":"number"},{"$ref":"#/definitions/templateParameterReference"}]}}}}},"needsDbSchema":{"type":"boolean","description":"true, if this service needs a database schema to persist information."},"pull-policy":{"type":"string","description":"Image pull policy for openshift. Default: IfNotPresent","enum":["IfNotPresent","Always"]},"service-account":{"type":"string","description":"The service account to use for Openshift."},"service-account-name":{"type":"string","description":"The name of the service account to use for Openshift."},"host-aliases":{"$ref":"#/definitions/host-aliases","type":"array","description":"Host entries added to /etc/hosts file"},"replicas":{"description":"Number of desired instances.","anyOf":[{"type":"number"},{"type":"string"},{"$ref":"#/definitions/templateParameterReference"}]},"resources":{"$ref":"#/definitions/resourceSpec","description":"Specifies resource usage of a container instance"},"deploymentResources":{"$ref":"#/definitions/resourceSpec","type":"object","description":"Specifies resource usage of a deployment container instance"},"nodeSelector":{"$ref":"#/definitions/nodeSelector","type":"array","description":"Label for a desired node selector"},"tolerations":{"type":"array","items":{"$ref":"#/definitions/toleration"},"description":"Tolerations section for Openshift"},"podAntiAffinity":{"$ref":"#/definitions/podAntiAffinity","type":"array","description":"podAntiAffinity"},"port-override":{"$ref":"#/definitions/port-override","type":"array","description":"ports exposed by the service"},"nlb":{"type":"boolean","description":"marks this service as 'network load-balanced'. On AWS this is a simple alternative to setting up a router and ingresses, which is the preferred method."},"config-files":{"$ref":"#/definitions/config-files","type":"array","description":"configuration files to be mapped into the pod"},"secret-files":{"$ref":"#/definitions/secret-files","type":"array","description":"secret files to be mounted in the pod"},"volumes":{"oneOf":[{"$ref":"#/definitions/volumes","type":"array","description":"Volumes claimed by the service - these are usable cluster environments as well as docker-compose"},{"type":"object","description":"For docker-compose targets: Keys in this object are directories on the host (if they contain slashes), or names of global volumes (if there are no slashes)","additionalProperties":true}]},"customData":{"type":"object","description":"Custom data object which will be passed as is into the render context","additionalProperties":true},"expose":{"$ref":"#/definitions/expose"},"template-parameters":{"type":"array","items":{"$ref":"#/definitions/templateParameter"}},"external-port":{"type":"number"},"external-ip":{"type":"string"},"disableAutomountServiceAccountToken":{"description":"(K8s/OpenShift only) Indicates whether a service account token should be mounted","type":"boolean"},"disableServiceLinks":{"description":"(K8s/OpenShift only) Indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links","type":"boolean"},"revisionHistoryLimit":{"description":"(K8s/OpenShift only) The number of old ReplicationControllers to retain to allow for rollbacks","type":"number"}}},"probe":{"type":"object","oneOf":[{"properties":{"path":{"type":"string","description":"the url-path to http-GET for the check."},"port":{"type":"string","description":"the port on which to http-GET the path for checking this service"},"scheme":{"type":"string","description":"(optional) the scheme used for the probe HTTP or HTTPS defaults to HTTP","pattern":"(HTTP|HTTPS)"}},"required":["port","path"]},{"properties":{"tcpSocket":{"type":"string","description":"the port on which to tcp checking this service"}},"required":["tcpSocket"]},{"properties":{"commands":{"type":"array","description":"list of probe commands","items":{"type":"object","properties":{"arg":{"type":"string","description":"argument"}}}}},"required":["commands"]}],"properties":{"initialDelay":{"type":"number","description":"(optional) the initial delay to wait before starting to probe in seconds"},"timeout":{"type":"number","description":"(optional) the time in seconds to wait for an http response for each call to the probe endpoint"},"failureThreshold":{"type":"integer","minimum":1,"description":"(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)"},"successThreshold":{"type":"integer","minimum":1,"description":"(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)"}}},"resourceSpec":{"type":"object","properties":{"limits":{"$ref":"#/definitions/resources","type":"object","description":"Upper limits of resources available to a container instance"},"requests":{"$ref":"#/definitions/resources","type":"object","description":"Amount of resources necessary to run a container instance. Must be less than limits."}}},"nodeSelector":{"type":"object","properties":{"key":{"type":"string","description":"nodeSelector key"},"value":{"type":"string","description":"nodeSelector value"}}},"podAntiAffinity":{"type":"object","properties":{"key":{"type":"string","description":"podAntiAffinity key"},"operator":{"type":"string","description":"podAntiAffinity operator"},"values":{"type":"array","description":"podAntiAffinity values","items":{"type":"string"}},"topologyKey":{"type":"string","description":"podAntiAffinity topologyKey"}}},"toleration":{"type":"object","properties":{"key":{"type":"string","description":"Toleration key. The key is any string, up to 253 characters. The key must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores."},"operator":{"type":"string","description":"Toleration operator. The operator is one of the following: Equal or Exists"},"value":{"type":"string","description":"Toleration value. The value is any string, up to 63 characters. The value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores."},"effect":{"type":"string","description":"Toleration effect. The effect is one of the following: NoSchedule, PreferNoSchedule or NoExecute"}}},"resources":{"type":"object","properties":{"cpu":{"description":"The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')","oneOf":[{"$ref":"#/definitions/templateParameterReference"},{"type":"string","pattern":"\\d+m?"}]},"memory":{"description":"The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')","oneOf":[{"type":"string","pattern":"\\d+(M|G|Mi|Gi)"},{"$ref":"#/definitions/templateParameterReference"}]}},"required":["cpu","memory"]},"config-files":{"type":"array","description":"list of configuration files to be mapped into the service-container","items":{"type":"object","properties":{"source":{"type":"string","description":"name of the source file"},"target":{"type":"string","description":"name & path of the file inside the container"},"isBinaryFile":{"type":"boolean","description":"Whether the file is binary. Needed for kubernetes environments so that binaryData is used in the ConfigMap.","default":false}}}},"secret-files":{"type":"array","description":"list of secret files to be mounted in the service-container","items":{"type":"object","required":["secret","mountPath"],"properties":{"secret":{"type":"string","description":"Name of the secret to be mounted. If no key and target specified, all the items of the secret will be mounted in the mount path.","examples":["truststore"]},"mountPath":{"type":"string","description":"Mount path in the target service-container where the secret files will be available.","examples":["/secrets"]},"key":{"type":"string","description":"(Optional) Specifies the use of a single item of the secret identified by its key.","examples":["truststore.jks"]},"target":{"type":"string","description":"(Optional) When using a specific secret item, then target file name needs to be specified.","examples":["truststore.jks"]}}}},"volumes":{"type":"array","description":"list of volumes needed by this service, may result in persistent volume-claims or transient volumes","items":{"type":"object","properties":{"persistentVolumeClaimName":{"type":"string","description":"existing pvc Name that is already existing on openshift"},"path":{"type":"string","description":"path onto which the volume will be mounted"},"size":{"type":"string","description":"the requested size of the volume in Mega- or Giga-Byte. If this is specified, it will generate a volume-claim, if not an anonymous volume of type emptyDir will be created","pattern":"\\d+(M|G|Mi|Gi)"},"shared":{"type":"boolean","description":"whether or not the volume can be mounted by multiple nodes, generates a global volume for docker-compose environments"}},"required":["path"]}},"labels":{"type":"object","description":"List of labels","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false},"host-aliases":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"IP of the hostalias"},"hostnames":{"type":"array","items":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname"}}}}}}},"port-override":{"type":"array","items":{"oneOf":[{"type":"number"},{"type":"object","properties":{"port":{"type":"number","description":"port number exposed by the container"},"externalPort":{"type":"number","description":"port number exposed to clients (service port). If omitted implicitly equal to the port"},"nodePort":{"description":"port number exposed on the Kubernetes cluster nodes. This generates a separate Service of type NodePort, if set.","oneOf":[{"type":"number"},{"$ref":"#/definitions/templateParameterReference"}]},"portLabel":{"type":"string","description":"name of the port"}}}]}},"expose":{"anyOf":[{"$ref":"#/definitions/exposure"},{"type":"array","items":{"$ref":"#/definitions/exposure"}}]},"exposure":{"type":"object","description":"defines, which endpoints, if any, to expose to the outside of the cluster","properties":{"hostname":{"type":"string","description":"The host to be used for this exposure, the global cluster host is the default."},"path":{"type":"array","description":"list of paths (path-beginnings) to be routed to this service","items":{"type":"string"}},"port":{"type":"integer","description":"the internal port of the service that exposes the path"},"tls-termination":{"type":"string","description":"TLS termination on OpenShift","enum":["edge","passthrough","reencrypt"]}},"required":["path"]},"templateParameterReference":{"type":"string","pattern":"\\$\\{\\{?.+\\}?\\}"},"templateParameter":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"description":{"type":"string"}},"required":["description","name","value"]}}}
</schema>

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

Environment Definition

Definition of an application environment

the name of the application-(component) defined by this environment

configuration sets, which can be referenced from the service definitions

A set of service-configurations applied to several services in the same way.

list of services which are part of this environment

a convenient name, unique within the environment.

the name of the service, usually prefixed by the environment name to continue the historic way of supporting plain docker/docker-compose environments

the hostname of the docker-container, to override the automatic created hostnames for docker-compose environments

the external name of the service, this is usually a DNS name for an external service, e.g. api.google.com

URL of the docker registry containing the services image

list of configuration sets to be applied to this service

Additional properties for routes

the timeout in minutes or seconds (e.g. 10m, 10s)

the target path for url rewrites (replaces the entry path of the route)

List of environment variables set in the Container/Pod

the name of the secret to reference

the (entry) key of the referenced secret

plain simple value of the variable

plain simple value of the variable

plain simple value of the variable

The entrypoint that is used to start the image (Only works with docker-compose and OpenShift

List of labels for deployments

List of labels for services

Defines a check, failure of which leads to the restart of the service

A startup probe indicates whether the application within a container is started. All other probes are disabled until the startup succeeds

Defines a check, failure of which leads to the service not receiving any requests

How to roll out changed versions of the service (Recreate or Rolling)

Number of seconds to wait between pod updates

Number of seconds to wait between evaluations of the deployment status

Time to wait for a successful scale-up before rolling back to the previous deployment

Maximum temporary excess number of pods above the desired number of replicas

Maximum temporarily lacking pods compared to the desired number of replicas

true, if this service needs a database schema to persist information.

Image pull policy for openshift. Default: IfNotPresent

The service account to use for Openshift.

The name of the service account to use for Openshift.

Host entries added to /etc/hosts file

Number of desired instances.

Specifies resource usage of a container instance

Specifies resource usage of a deployment container instance

Label for a desired node selector

Tolerations section for Openshift

podAntiAffinity

ports exposed by the service

marks this service as 'network load-balanced'. On AWS this is a simple alternative to setting up a router and ingresses, which is the preferred method.

configuration files to be mapped into the pod

secret files to be mounted in the pod

Volumes claimed by the service - these are usable cluster environments as well as docker-compose

For docker-compose targets: Keys in this object are directories on the host (if they contain slashes), or names of global volumes (if there are no slashes)

Custom data object which will be passed as is into the render context

(K8s/OpenShift only) Indicates whether a service account token should be mounted

(K8s/OpenShift only) Indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links

(K8s/OpenShift only) The number of old ReplicationControllers to retain to allow for rollbacks

the url-path to http-GET for the check.

the port on which to http-GET the path for checking this service

(optional) the scheme used for the probe HTTP or HTTPS defaults to HTTP

the port on which to tcp checking this service

list of probe commands

argument

(optional) the initial delay to wait before starting to probe in seconds

(optional) the time in seconds to wait for an http response for each call to the probe endpoint

(optional) the number of times the probe is allowed to fail the health check before performing its duty (e.g., recreating a pod or marking a pod as unavailable)

(optional) the number of times the probe has to pass the health check before performing its duty (e.g., marking a pod as available)

Upper limits of resources available to a container instance

Amount of resources necessary to run a container instance. Must be less than limits.

nodeSelector key

nodeSelector value

podAntiAffinity key

podAntiAffinity operator

podAntiAffinity values

podAntiAffinity topologyKey

Toleration key. The key is any string, up to 253 characters. The key must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores.

Toleration operator. The operator is one of the following: Equal or Exists

Toleration value. The value is any string, up to 63 characters. The value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores.

Toleration effect. The effect is one of the following: NoSchedule, PreferNoSchedule or NoExecute

The number of cores, can be specified as integer cores, or in milli-cores (eg: '100m')

The amount of main memory in either of M,G (base 10) or Mi, Gi (base 2). (eg: '3Gi')

list of configuration files to be mapped into the service-container

name of the source file

name & path of the file inside the container

Whether the file is binary. Needed for kubernetes environments so that binaryData is used in the ConfigMap.

list of secret files to be mounted in the service-container

Name of the secret to be mounted. If no key and target specified, all the items of the secret will be mounted in the mount path.

Mount path in the target service-container where the secret files will be available.

(Optional) Specifies the use of a single item of the secret identified by its key.

(Optional) When using a specific secret item, then target file name needs to be specified.

list of volumes needed by this service, may result in persistent volume-claims or transient volumes

existing pvc Name that is already existing on openshift

path onto which the volume will be mounted

the requested size of the volume in Mega- or Giga-Byte. If this is specified, it will generate a volume-claim, if not an anonymous volume of type emptyDir will be created

whether or not the volume can be mounted by multiple nodes, generates a global volume for docker-compose environments

List of labels

IP of the hostalias

Hostname

port number exposed by the container

port number exposed to clients (service port). If omitted implicitly equal to the port

port number exposed on the Kubernetes cluster nodes. This generates a separate Service of type NodePort, if set.

name of the port

defines, which endpoints, if any, to expose to the outside of the cluster

The host to be used for this exposure, the global cluster host is the default.

list of paths (path-beginnings) to be routed to this service

the internal port of the service that exposes the path

TLS termination on OpenShift

Provide a JSON object that satisfies the schema "Environment Definition". Here are the required top‑level fields: app. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Config","description":"Tikibase configuration data","type":"object","properties":{"$schema":{"description":"link to the JSON-Schema definition for this file","type":["string","null"]},"bidiLinks":{"description":"enables bi-directional links","type":["boolean","null"]},"ignore":{"description":"Names of filesystem entries to ignore in this directory.","type":["array","null"],"items":{"type":"string"}},"sections":{"description":"the allowed section titles","type":["array","null"],"items":{"type":"string"}},"standaloneDocs":{"description":"whether documents without links are allowed","type":["boolean","null"]},"titleRegEx":{"description":"regex with a single capture group to extract a shorter title for links to notes","type":["string","null"]}},"additionalProperties":false}
</schema>

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

Config

Tikibase configuration data

link to the JSON-Schema definition for this file

enables bi-directional links

Names of filesystem entries to ignore in this directory.

the allowed section titles

whether documents without links are allowed

regex with a single capture group to extract a shorter title for links to notes

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


[User] Provide a JSON object that satisfies the schema "tizen_workspace". Here are the required top‑level fields: auto_gen_build_files, type, profile, api_version, profiles_xml_path, signing_profile, build_type, rootstrap, compiler, skip_vs_files, dotnet_cli_path, msbuild_path, dotnet_build_tool, tizen_net_version, tizen_net_sdk_verison, xamarin_forms_version, msbuild_tasks_version, tizen_wearable_circleui_version, tizen_opentk_version, tizen_nuixaml_version, tizen_hotreload_version, working_folder, chrome_path, chrome_simulator_options, chrome_simulator_data_path, tv_simulator_path, chrome_inspector_options, chrome_inspector_data_path, arch, opt, src_file_patterns, test_file_patterns, projects. Return only the valid JSON object.

Provide a JSON object that satisfies the schema "tizen_workspace". Here are the required top‑level fields: auto_gen_build_files, type, profile, api_version, profiles_xml_path, signing_profile, build_type, rootstrap, compiler, skip_vs_files, dotnet_cli_path, msbuild_path, dotnet_build_tool, tizen_net_version, tizen_net_sdk_verison, xamarin_forms_version, msbuild_tasks_version, tizen_wearable_circleui_version, tizen_opentk_version, tizen_nuixaml_version, tizen_hotreload_version, working_folder, chrome_path, chrome_simulator_options, chrome_simulator_data_path, tv_simulator_path, chrome_inspector_options, chrome_inspector_data_path, arch, opt, src_file_patterns, test_file_patterns, projects. 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/tldr.json","additionalProperties":false,"properties":{"platform":{"oneOf":[{"enum":["linux"]},{"type":"string"}]},"pagesRepository":{"type":"string"},"repository":{"type":"string"},"skipUpdateWhenPageNotFound":{"type":"boolean"},"theme":{"type":"string"},"themes":{"type":"object","additionalProperties":{"type":"object","properties":{"commandName":{"type":"string"},"mainDescription":{"type":"string"},"exampleDescription":{"type":"string"},"exampleCode":{"type":"string"},"exampleToken":{"type":"string"}}}}},"type":"object"}
</schema>

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

Provide a JSON object that satisfies the schema "tldr". 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>
{"$id":"https://raw.githubusercontent.com/tektronix/tm_devices/main/src/tm_devices/tm_devices_config_schema.json","$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"definitions":{"ConnectionTypes":{"enum":["REST_API","SERIAL","SOCKET","TCPIP","USB","GPIB","MOCK"]},"DMConfigOptions":{"additionalProperties":false,"properties":{"check_for_updates":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if the package should check for updates on creation of the DeviceManager\nhttps://tm-devices.readthedocs.io/stable/configuration/#check_for_updates"},"default_visa_timeout":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"The default VISA timeout value (in milliseconds) to use when creating VISA connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#default_visa_timeout"},"disable_command_verification":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if command verification should be disabled for all devices\nhttps://tm-devices.readthedocs.io/stable/configuration/#disable_command_verification"},"log_colored_output":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if colored output should be used for the console logging\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_colored_output"},"log_console_level":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Set the logging level for the console\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_console_level"},"log_file_directory":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Set the directory to save log files to\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_file_directory"},"log_file_level":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Set the logging level for the log file\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_file_level"},"log_file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Set the name of the log file to save the logs to\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_file_name"},"log_pyvisa_messages":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if PyVISA logs should be included in the log file\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_pyvisa_messages"},"log_uncaught_exceptions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if uncaught exceptions should be logged to the log file with full tracebacks\nhttps://tm-devices.readthedocs.io/stable/configuration/#log_uncaught_exceptions"},"retry_visa_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if the VISA connection attempt should be retried after a failure\nhttps://tm-devices.readthedocs.io/stable/configuration/#retry_visa_connection"},"setup_cleanup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if a device's `cleanup()` method should be run when opening the connection\nhttps://tm-devices.readthedocs.io/stable/configuration/#setup_cleanup"},"standalone":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if PyVISA-py's pure Python VISA backend should be used\nhttps://tm-devices.readthedocs.io/stable/configuration/#standalone"},"teardown_cleanup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if a device's `cleanup()` method should be run when closing the connection\nhttps://tm-devices.readthedocs.io/stable/configuration/#teardown_cleanup"},"verbose_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if more verbose output should be printed to stdout instead of just the log file\nhttps://tm-devices.readthedocs.io/stable/configuration/#verbose_mode"},"verbose_visa":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicate if verbose VISA logging should be printed to stdout instead of just the log file\nhttps://tm-devices.readthedocs.io/stable/configuration/#verbose_visa"}},"type":"object"},"DeviceConfigEntry":{"additionalProperties":false,"properties":{"address":{"description":"The address to use to connect to the device\nhttps://tm-devices.readthedocs.io/stable/configuration/#address","type":"string"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"An alias used to access the device via the DeviceManager\nhttps://tm-devices.readthedocs.io/stable/configuration/#alias"},"connection_type":{"$ref":"#/definitions/ConnectionTypes","default":"TCPIP","description":"The connection type to use to connect with the device\nhttps://tm-devices.readthedocs.io/stable/configuration/#connection_type"},"device_driver":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The name of a specific device driver class to use for the device, only used for REST_API connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#device_driver"},"device_type":{"$ref":"#/definitions/DeviceTypes","description":"The specific type of device to connect to\nhttps://tm-devices.readthedocs.io/stable/configuration/#device_type"},"gpib_board_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"The GPIB board number to use, only used for GPIB connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#gpib_board_number"},"lan_device_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The LAN device name (e.g. 'inst0') to connect via, used for TCPIP connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#lan_device_name"},"lan_port":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"The LAN port number to connect on, used for SOCKET/REST_API connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#lan_port"},"serial_config":{"anyOf":[{"$ref":"#/definitions/SerialConfig","type":"object"},{"type":"null"}],"default":null,"description":"The configuration options for SERIAL (ASRL) connections\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"}},"required":["device_type","address"],"type":"object"},"DeviceTypes":{"enum":["AFG","AWG","DAQ","DMM","MT","PSU","SCOPE","SMU","SS","UNSUPPORTED"]},"SerialConfig":{"additionalProperties":false,"properties":{"baud_rate":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"The baud rate of the communication, this controls the communication frequency\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"},"data_bits":{"anyOf":[{"enum":[5,6,7,8]},{"type":"null"}],"default":null,"description":"The number of data bits in each character\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"},"end_input":{"anyOf":[{"type":"number"},{"enum":["termination_break","termination_char","last_bit","none"]},{"type":"null"}],"default":null,"description":"The specific character(s) that indicate the end of a message transmission\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"},"flow_control":{"anyOf":[{"type":"number"},{"enum":["none","xon_xoff","dtr_dsr","rts_cts"]},{"type":"null"}],"default":null,"description":"The control for pausing/resuming data streaming between slower devices\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"},"parity":{"anyOf":[{"type":"number"},{"enum":["none","odd","even","mark","space"]},{"type":"null"}],"default":null,"description":"Define if and where a checksum bit should be added to each data character\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"},"stop_bits":{"anyOf":[{"type":"number"},{"enum":["one","one_and_a_half","two"]},{"type":"null"}],"default":null,"description":"The number of bits to use to indicate the end of a frame/character\nhttps://tm-devices.readthedocs.io/stable/configuration/#serial_config"}},"type":"object"}},"description":"Configuration options for the tm_devices Python package\nhttps://github.com/tektronix/tm_devices","properties":{"devices":{"description":"A list of devices for the DeviceManager to connect to\nhttps://tm-devices.readthedocs.io/stable/configuration/#device-configuration","items":{"$ref":"#/definitions/DeviceConfigEntry","type":"object"},"type":"array"},"options":{"$ref":"#/definitions/DMConfigOptions","description":"The options controlling the behavior of the tm_devices package\nhttps://tm-devices.readthedocs.io/stable/configuration/#general-configuration-options"}},"title":"tm_devices Configuration File JSON Schema","type":"object"}
</schema>

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

REST_API SERIAL SOCKET TCPIP USB GPIB MOCK

Indicate if the package should check for updates on creation of the DeviceManager
https://tm-devices.readthedocs.io/stable/configuration/#check_for_updates

The default VISA timeout value (in milliseconds) to use when creating VISA connections
https://tm-devices.readthedocs.io/stable/configuration/#default_visa_timeout

Indicate if command verification should be disabled for all devices
https://tm-devices.readthedocs.io/stable/configuration/#disable_command_verification

Indicate if colored output should be used for the console logging
https://tm-devices.readthedocs.io/stable/configuration/#log_colored_output

Set the logging level for the console
https://tm-devices.readthedocs.io/stable/configuration/#log_console_level

Set the directory to save log files to
https://tm-devices.readthedocs.io/stable/configuration/#log_file_directory

Set the logging level for the log file
https://tm-devices.readthedocs.io/stable/configuration/#log_file_level

Set the name of the log file to save the logs to
https://tm-devices.readthedocs.io/stable/configuration/#log_file_name

Indicate if PyVISA logs should be included in the log file
https://tm-devices.readthedocs.io/stable/configuration/#log_pyvisa_messages

Indicate if uncaught exceptions should be logged to the log file with full tracebacks
https://tm-devices.readthedocs.io/stable/configuration/#log_uncaught_exceptions

Indicate if the VISA connection attempt should be retried after a failure
https://tm-devices.readthedocs.io/stable/configuration/#retry_visa_connection

Indicate if a device's `cleanup()` method should be run when opening the connection
https://tm-devices.readthedocs.io/stable/configuration/#setup_cleanup

Indicate if PyVISA-py's pure Python VISA backend should be used
https://tm-devices.readthedocs.io/stable/configuration/#standalone

Indicate if a device's `cleanup()` method should be run when closing the connection
https://tm-devices.readthedocs.io/stable/configuration/#teardown_cleanup

Indicate if more verbose output should be printed to stdout instead of just the log file
https://tm-devices.readthedocs.io/stable/configuration/#verbose_mode

Indicate if verbose VISA logging should be printed to stdout instead of just the log file
https://tm-devices.readthedocs.io/stable/configuration/#verbose_visa

The address to use to connect to the device
https://tm-devices.readthedocs.io/stable/configuration/#address

An alias used to access the device via the DeviceManager
https://tm-devices.readthedocs.io/stable/configuration/#alias

The connection type to use to connect with the device
https://tm-devices.readthedocs.io/stable/configuration/#connection_type

The name of a specific device driver class to use for the device, only used for REST_API connections
https://tm-devices.readthedocs.io/stable/configuration/#device_driver

The specific type of device to connect to
https://tm-devices.readthedocs.io/stable/configuration/#device_type

The GPIB board number to use, only used for GPIB connections
https://tm-devices.readthedocs.io/stable/configuration/#gpib_board_number

The LAN device name (e.g. 'inst0') to connect via, used for TCPIP connections
https://tm-devices.readthedocs.io/stable/configuration/#lan_device_name

The LAN port number to connect on, used for SOCKET/REST_API connections
https://tm-devices.readthedocs.io/stable/configuration/#lan_port

The configuration options for SERIAL (ASRL) connections
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

AFG AWG DAQ DMM MT PSU SCOPE SMU SS UNSUPPORTED

The baud rate of the communication, this controls the communication frequency
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

The number of data bits in each character
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

The specific character(s) that indicate the end of a message transmission
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

The control for pausing/resuming data streaming between slower devices
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

Define if and where a checksum bit should be added to each data character
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

The number of bits to use to indicate the end of a frame/character
https://tm-devices.readthedocs.io/stable/configuration/#serial_config

Configuration options for the tm_devices Python package
https://github.com/tektronix/tm_devices

A list of devices for the DeviceManager to connect to
https://tm-devices.readthedocs.io/stable/configuration/#device-configuration

The options controlling the behavior of the tm_devices package
https://tm-devices.readthedocs.io/stable/configuration/#general-configuration-options

Provide a JSON object that satisfies the schema "tm_devices Configuration File JSON 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/tmlanguage.json","$ref":"#/definitions/root","definitions":{"root":{"allOf":[{"$ref":"#/definitions/grammar"},{"type":"object","properties":{"name":{"type":"string"},"scopeName":{"description":"this should be a unique name for the grammar, following the convention of being a dot-separated name where each new (left-most) part specializes the name. Normally it would be a two-part name where the first is either text or source and the second is the name of the language or document type. But if you are specializing an existing type, you probably want to derive the name from the type you are specializing. For example Markdown is text.html.markdown and Ruby on Rails (rhtml files) is text.html.rails. The advantage of deriving it from (in this case) text.html is that everything which works in the text.html scope will also work in the text.html.\u00absomething\u00bb scope (but with a lower precedence than something specifically targeting text.html.\u00absomething\u00bb).","type":"string","pattern":"^(text|source)(\\.[\\w0-9-]+)+$"},"foldingStartMarker":{"description":"regular expressions that lines (in the document) are matched against. If a line matches one of the patterns (but not both), it becomes a folding marker (see the foldings section for more info).","type":"string"},"foldingStopMarker":{"description":"regular expressions that lines (in the document) are matched against. If a line matches one of the patterns (but not both), it becomes a folding marker (see the foldings section for more info).","type":"string"},"fileTypes":{"description":"this is an array of file type extensions that the grammar should (by default) be used with. This is referenced when TextMate does not know what grammar to use for a file the user opens. If however the user selects a grammar from the language pop-up in the status bar, TextMate will remember that choice.","type":"array","items":{"type":"string"}},"uuid":{"type":"string"},"firstLineMatch":{"type":"string"}},"required":["scopeName"]}]},"grammar":{"type":"object","properties":{"patterns":{"type":"array","items":{"$ref":"#/definitions/pattern"},"default":[]},"repository":{"description":"a dictionary (i.e. key/value pairs) of rules which can be included from other places in the grammar. The key is the name of the rule and the value is the actual rule. Further explanation (and example) follow with the description of the include rule key.","type":"object","additionalProperties":{"$ref":"#/definitions/pattern"}}},"required":["patterns"]},"captures":{"type":"object","patternProperties":{"^[0-9]+$":{"type":"object","properties":{"name":{"$ref":"#/definitions/name"},"patterns":{"type":"array","items":{"$ref":"#/definitions/pattern"},"default":[]}},"additionalProperties":false}},"additionalProperties":false},"pattern":{"type":"object","properties":{"comment":{"type":"string"},"disabled":{"type":"integer","minimum":0,"maximum":1,"description":"set this property to 1 to disable the current pattern"},"include":{"description":"this allows you to reference a different language, recursively reference the grammar itself or a rule declared in this file's repository.","type":"string"},"match":{"description":"a regular expression which is used to identify the portion of text to which the name should be assigned. Example: '\\b(true|false)\\b'.","type":"string"},"name":{"$ref":"#/definitions/name","description":"the name which gets assigned to the portion matched. This is used for styling and scope-specific settings and actions, which means it should generally be derived from one of the standard names."},"contentName":{"$ref":"#/definitions/name","description":"this key is similar to the name key but only assigns the name to the text between what is matched by the begin/end patterns."},"begin":{"description":"these keys allow matches which span several lines and must both be mutually exclusive with the match key. Each is a regular expression pattern. begin is the pattern that starts the block and end is the pattern which ends the block. Captures from the begin pattern can be referenced in the end pattern by using normal regular expression back-references. This is often used with here-docs. A begin/end rule can have nested patterns using the patterns key.","type":"string"},"end":{"description":"these keys allow matches which span several lines and must both be mutually exclusive with the match key. Each is a regular expression pattern. begin is the pattern that starts the block and end is the pattern which ends the block. Captures from the begin pattern can be referenced in the end pattern by using normal regular expression back-references. This is often used with here-docs. A begin/end rule can have nested patterns using the patterns key.","type":"string"},"while":{"description":"these keys allow matches which span several lines and must both be mutually exclusive with the match key. Each is a regular expression pattern. begin is the pattern that starts the block and while continues it.","type":"string"},"captures":{"$ref":"#/definitions/captures","description":"allows you to assign attributes to the captures of the match pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values."},"beginCaptures":{"$ref":"#/definitions/captures","description":"allows you to assign attributes to the captures of the begin pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values."},"endCaptures":{"$ref":"#/definitions/captures","description":"allows you to assign attributes to the captures of the end pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values."},"whileCaptures":{"$ref":"#/definitions/captures","description":"allows you to assign attributes to the captures of the while pattern. Using the captures key for a begin/while rule is short-hand for giving both beginCaptures and whileCaptures with same values."},"patterns":{"description":"applies to the region between the begin and end matches","type":"array","items":{"$ref":"#/definitions/pattern"},"default":[]},"applyEndPatternLast":{"type":"integer","minimum":0,"maximum":1}},"dependencies":{"begin":{"anyOf":[{"required":["end"]},{"required":["while"]}]},"end":["begin"],"while":["begin"],"contentName":{"anyOf":[{"required":["begin","end"]},{"required":["begin","while"]}]},"beginCaptures":{"anyOf":[{"required":["begin","end"]},{"required":["begin","while"]}]},"whileCaptures":["begin","while"],"endCaptures":["begin","end"],"applyEndPatternLast":["end"]}},"name":{"anyOf":[{"type":"string"},{"type":"string","enum":["comment","comment.block","comment.block.documentation","comment.line","comment.line.double-dash","comment.line.double-slash","comment.line.number-sign","comment.line.percentage","constant","constant.character","constant.character.escape","constant.language","constant.numeric","constant.other","constant.regexp","constant.rgb-value","constant.sha.git-rebase","emphasis","entity","entity.name","entity.name.class","entity.name.function","entity.name.method","entity.name.section","entity.name.selector","entity.name.tag","entity.name.type","entity.other","entity.other.attribute-name","entity.other.inherited-class","header","invalid","invalid.deprecated","invalid.illegal","keyword","keyword.control","keyword.control.less","keyword.operator","keyword.operator.new","keyword.other","keyword.other.unit","markup","markup.bold","markup.changed","markup.deleted","markup.heading","markup.inline.raw","markup.inserted","markup.italic","markup.list","markup.list.numbered","markup.list.unnumbered","markup.other","markup.punctuation.list.beginning","markup.punctuation.quote.beginning","markup.quote","markup.raw","markup.underline","markup.underline.link","meta","meta.cast","meta.parameter.type.variable","meta.preprocessor","meta.preprocessor.numeric","meta.preprocessor.string","meta.return-type","meta.selector","meta.structure.dictionary.key.python","meta.tag","meta.type.annotation","meta.type.name","metatag.php","storage","storage.modifier","storage.modifier.import.java","storage.modifier.package.java","storage.type","storage.type.cs","storage.type.java","string","string.html","string.interpolated","string.jade","string.other","string.quoted","string.quoted.double","string.quoted.other","string.quoted.single","string.quoted.triple","string.regexp","string.unquoted","string.xml","string.yaml","strong","support","support.class","support.constant","support.function","support.function.git-rebase","support.other","support.property-value","support.type","support.type.property-name","support.type.property-name.css","support.type.property-name.less","support.type.property-name.scss","support.variable","variable","variable.language","variable.name","variable.other","variable.parameter"]}]}}}
</schema>

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

this should be a unique name for the grammar, following the convention of being a dot-separated name where each new (left-most) part specializes the name. Normally it would be a two-part name where the first is either text or source and the second is the name of the language or document type. But if you are specializing an existing type, you probably want to derive the name from the type you are specializing. For example Markdown is text.html.markdown and Ruby on Rails (rhtml files) is text.html.rails. The advantage of deriving it from (in this case) text.html is that everything which works in the text.html scope will also work in the text.html.«something» scope (but with a lower precedence than something specifically targeting text.html.«something»).

regular expressions that lines (in the document) are matched against. If a line matches one of the patterns (but not both), it becomes a folding marker (see the foldings section for more info).

this is an array of file type extensions that the grammar should (by default) be used with. This is referenced when TextMate does not know what grammar to use for a file the user opens. If however the user selects a grammar from the language pop-up in the status bar, TextMate will remember that choice.

a dictionary (i.e. key/value pairs) of rules which can be included from other places in the grammar. The key is the name of the rule and the value is the actual rule. Further explanation (and example) follow with the description of the include rule key.

set this property to 1 to disable the current pattern

this allows you to reference a different language, recursively reference the grammar itself or a rule declared in this file's repository.

a regular expression which is used to identify the portion of text to which the name should be assigned. Example: '\b(true|false)\b'.

the name which gets assigned to the portion matched. This is used for styling and scope-specific settings and actions, which means it should generally be derived from one of the standard names.

this key is similar to the name key but only assigns the name to the text between what is matched by the begin/end patterns.

these keys allow matches which span several lines and must both be mutually exclusive with the match key. Each is a regular expression pattern. begin is the pattern that starts the block and end is the pattern which ends the block. Captures from the begin pattern can be referenced in the end pattern by using normal regular expression back-references. This is often used with here-docs. A begin/end rule can have nested patterns using the patterns key.

these keys allow matches which span several lines and must both be mutually exclusive with the match key. Each is a regular expression pattern. begin is the pattern that starts the block and while continues it.

allows you to assign attributes to the captures of the match pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values.

allows you to assign attributes to the captures of the begin pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values.

allows you to assign attributes to the captures of the end pattern. Using the captures key for a begin/end rule is short-hand for giving both beginCaptures and endCaptures with same values.

allows you to assign attributes to the captures of the while pattern. Using the captures key for a begin/while rule is short-hand for giving both beginCaptures and whileCaptures with same values.

applies to the region between the begin and end matches

Provide a JSON object that satisfies the schema "tmlanguage". 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-04/schema#","additionalProperties":false,"id":"https://json.schemastore.org/tmuxinator.json","properties":{"defaults":{"type":"object"},"name":{"oneOf":[{"type":"number"},{"type":"string","minLength":1}]},"project_name":{"description":"Name of project root (deprecated, use `name`)","type":"string"},"root":{"type":"string"},"project_root":{"description":"Name of project root (deprecated, use `root`)","type":"string"},"socket_name":{"description":"Optional tmux socket.","type":"string"},"on_project_start":{"description":"Runs on project start, always.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_first_start":{"description":"Run on project start, the first time.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_restart":{"description":"Run on project start, after the first time.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_exit":{"description":"Run on project exit (detaching from tmux session).","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_stop":{"description":"Run on project stop.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pre":{"description":"Runs before everything (deprecated).","type":"string"},"post":{"description":"Runs after everything (deprecated).","type":"string"},"rbenv":{"description":"Specify version for rbenv (deprecated)","type":"string"},"cli_args":{"description":"Pass arguments to tmux (deprecated)","type":"string"},"tabs":{"description":"Specify tabs (deprecated)","type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}},"pre_window":{"description":"Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.","type":"string"},"tmux_options":{"description":"Pass command line options to tmux. Useful for specifying a different tmux.conf.","type":"string"},"tmux_command":{"description":"Change the command to call tmux.  This can be used by derivatives/wrappers like byobu.","type":"string"},"startup_window":{"description":"Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.","oneOf":[{"type":"string"},{"type":"integer"}]},"startup_pane":{"description":"Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.","type":"integer"},"attach":{"description":"Controls whether the tmux session should be attached to automatically. Defaults to true.","type":"boolean","default":true},"tmux_detached":{"description":"Deprecated. Use `attach`","type":"boolean"},"enable_pane_titles":{"description":"Enables the display of pane titles.","type":"boolean","default":false},"pane_title_position":{"description":"Configures pane title position.","type":"string","default":"top"},"pane_title_format":{"description":"Configures pane title format.","type":"string","default":"#{pane_index}: #{pane_title}"},"windows":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","properties":{"pre":{"type":"array","items":{"type":"string"}},"layout":{"description":"The layout setting gets handed down to tmux directly, so you can choose from one of the five tmux standard layouts or specify your own.","type":"string"},"panes":{"description":"Panes are optional and are children of window entries.","type":"array","items":{"oneOf":[{"type":"number"},{"type":"string","minLength":1},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","patternProperties":{".":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}]}}]}}}}]}}},"type":"object"}
</schema>

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

Name of project root (deprecated, use `name`)

Name of project root (deprecated, use `root`)

Optional tmux socket.

Runs on project start, always.

Run on project start, the first time.

Run on project start, after the first time.

Run on project exit (detaching from tmux session).

Run on project stop.

Runs before everything (deprecated).

Runs after everything (deprecated).

Specify version for rbenv (deprecated)

Pass arguments to tmux (deprecated)

Specify tabs (deprecated)

Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.

Pass command line options to tmux. Useful for specifying a different tmux.conf.

Change the command to call tmux.  This can be used by derivatives/wrappers like byobu.

Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.

Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.

Controls whether the tmux session should be attached to automatically. Defaults to true.

Deprecated. Use `attach`

Enables the display of pane titles.

Configures pane title position.

Configures pane title format.

The layout setting gets handed down to tmux directly, so you can choose from one of the five tmux standard layouts or specify your own.

Panes are optional and are children of window entries.

Provide a JSON object that satisfies the schema "tmuxinator". 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://uniswap.org/tokenlist.schema.json","title":"Uniswap Token List","description":"Schema for lists of tokens compatible with the Uniswap Interface","definitions":{"Version":{"type":"object","description":"The version of the list, used in change detection","examples":[{"major":1,"minor":0,"patch":0}],"additionalProperties":false,"properties":{"major":{"type":"integer","description":"The major version of the list. Must be incremented when tokens are removed from the list or token addresses are changed.","minimum":0,"examples":[1,2]},"minor":{"type":"integer","description":"The minor version of the list. Must be incremented when tokens are added to the list.","minimum":0,"examples":[0,1]},"patch":{"type":"integer","description":"The patch version of the list. Must be incremented for any changes to the list.","minimum":0,"examples":[0,1]}},"required":["major","minor","patch"]},"TagIdentifier":{"type":"string","description":"The unique identifier of a tag","minLength":1,"maxLength":10,"pattern":"^[\\w]+$","examples":["compound","stablecoin"]},"ExtensionIdentifier":{"type":"string","description":"The name of a token extension property","minLength":1,"maxLength":40,"pattern":"^[\\w]+$","examples":["color","is_fee_on_transfer","aliases"]},"ExtensionMap":{"type":"object","description":"An object containing any arbitrary or vendor-specific token metadata","maxProperties":10,"propertyNames":{"$ref":"#/definitions/ExtensionIdentifier"},"additionalProperties":{"$ref":"#/definitions/ExtensionValue"},"examples":[{"color":"#000000","is_verified_by_me":true},{"x-bridged-addresses-by-chain":{"1":{"bridgeAddress":"0x4200000000000000000000000000000000000010","tokenAddress":"0x4200000000000000000000000000000000000010"}}}]},"ExtensionPrimitiveValue":{"anyOf":[{"type":"string","minLength":1,"maxLength":42,"examples":["#00000"]},{"type":"boolean","examples":[true]},{"type":"number","examples":[15]},{"type":"null"}]},"ExtensionValue":{"anyOf":[{"$ref":"#/definitions/ExtensionPrimitiveValue"},{"type":"object","maxProperties":10,"propertyNames":{"$ref":"#/definitions/ExtensionIdentifier"},"additionalProperties":{"$ref":"#/definitions/ExtensionValueInner0"}}]},"ExtensionValueInner0":{"anyOf":[{"$ref":"#/definitions/ExtensionPrimitiveValue"},{"type":"object","maxProperties":10,"propertyNames":{"$ref":"#/definitions/ExtensionIdentifier"},"additionalProperties":{"$ref":"#/definitions/ExtensionValueInner1"}}]},"ExtensionValueInner1":{"anyOf":[{"$ref":"#/definitions/ExtensionPrimitiveValue"}]},"TagDefinition":{"type":"object","description":"Definition of a tag that can be associated with a token via its identifier","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the tag","pattern":"^[ \\w]+$","minLength":1,"maxLength":20},"description":{"type":"string","description":"A user-friendly description of the tag","pattern":"^[ \\w\\.,:]+$","minLength":1,"maxLength":200}},"required":["name","description"],"examples":[{"name":"Stablecoin","description":"A token with value pegged to another asset"}]},"TokenInfo":{"type":"object","description":"Metadata for a single token in a token list","additionalProperties":false,"properties":{"chainId":{"type":"integer","description":"The chain ID of the Ethereum network where this token is deployed","minimum":1,"examples":[1,42]},"address":{"type":"string","description":"The checksummed address of the token on the specified chain ID","pattern":"^0x[a-fA-F0-9]{40}$","examples":["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]},"decimals":{"type":"integer","description":"The number of decimals for the token balance","minimum":0,"maximum":255,"examples":[18]},"name":{"type":"string","description":"The name of the token","minLength":0,"maxLength":60,"anyOf":[{"const":""},{"pattern":"^[ \\S+]+$"}],"examples":["USD Coin"]},"symbol":{"type":"string","description":"The symbol for the token","minLength":0,"maxLength":20,"anyOf":[{"const":""},{"pattern":"^\\S+$"}],"examples":["USDC"]},"logoURI":{"type":"string","description":"A URI to the token logo asset; if not set, interface will attempt to find a logo based on the token address; suggest SVG or PNG of size 64x64","format":"uri","examples":["ipfs://QmXfzKRvjZz3u5JRgC4v5mGVbm9ahrUiB4DgzHBsnWbTMM"]},"tags":{"type":"array","description":"An array of tag identifiers associated with the token; tags are defined at the list level","items":{"$ref":"#/definitions/TagIdentifier"},"maxItems":10,"examples":["stablecoin","compound"]},"extensions":{"$ref":"#/definitions/ExtensionMap"}},"required":["chainId","address","decimals","name","symbol"]}},"type":"object","properties":{"name":{"type":"string","description":"The name of the token list","minLength":1,"maxLength":30,"pattern":"^[\\w ]+$","examples":["My Token List"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of this list version; i.e. when this immutable version of the list was created"},"version":{"$ref":"#/definitions/Version"},"tokens":{"type":"array","description":"The list of tokens included in the list","items":{"$ref":"#/definitions/TokenInfo"},"minItems":1,"maxItems":10000},"tokenMap":{"type":"object","description":"A mapping of key 'chainId_tokenAddress' to its corresponding token object","minProperties":1,"maxProperties":10000,"propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/definitions/TokenInfo"},"examples":[{"4_0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984":{"name":"Uniswap","address":"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984","symbol":"UNI","decimals":18,"chainId":4,"logoURI":"ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"}}]},"keywords":{"type":"array","description":"Keywords associated with the contents of the list; may be used in list discoverability","items":{"type":"string","description":"A keyword to describe the contents of the list","minLength":1,"maxLength":20,"pattern":"^[\\w ]+$","examples":["compound","lending","personal tokens"]},"maxItems":20,"uniqueItems":true},"tags":{"type":"object","description":"A mapping of tag identifiers to their name and description","propertyNames":{"$ref":"#/definitions/TagIdentifier"},"additionalProperties":{"$ref":"#/definitions/TagDefinition"},"maxProperties":20,"examples":[{"stablecoin":{"name":"Stablecoin","description":"A token with value pegged to another asset"}}]},"logoURI":{"type":"string","description":"A URI for the logo of the token list; prefer SVG or PNG of size 256x256","format":"uri","examples":["ipfs://QmXfzKRvjZz3u5JRgC4v5mGVbm9ahrUiB4DgzHBsnWbTMM"]}},"required":["name","timestamp","version","tokens"]}
</schema>

[User] Provide a JSON object that satisfies the schema "Uniswap Token List". Here are the required top‑level fields: name, timestamp, version, tokens. Return only the valid JSON object.

Uniswap Token List

Schema for lists of tokens compatible with the Uniswap Interface

The version of the list, used in change detection

The major version of the list. Must be incremented when tokens are removed from the list or token addresses are changed.

The minor version of the list. Must be incremented when tokens are added to the list.

The patch version of the list. Must be incremented for any changes to the list.

The unique identifier of a tag

The name of a token extension property

An object containing any arbitrary or vendor-specific token metadata

Definition of a tag that can be associated with a token via its identifier

The name of the tag

A user-friendly description of the tag

Stablecoin

A token with value pegged to another asset

Metadata for a single token in a token list

The chain ID of the Ethereum network where this token is deployed

The checksummed address of the token on the specified chain ID

The number of decimals for the token balance

The name of the token

The symbol for the token

A URI to the token logo asset; if not set, interface will attempt to find a logo based on the token address; suggest SVG or PNG of size 64x64

An array of tag identifiers associated with the token; tags are defined at the list level

The name of the token list

The timestamp of this list version; i.e. when this immutable version of the list was created

The list of tokens included in the list

A mapping of key 'chainId_tokenAddress' to its corresponding token object

Keywords associated with the contents of the list; may be used in list discoverability

A keyword to describe the contents of the list

A mapping of tag identifiers to their name and description

A URI for the logo of the token list; prefer SVG or PNG of size 256x256

Provide a JSON object that satisfies the schema "Uniswap Token List". Here are the required top‑level fields: name, timestamp, version, tokens. 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/tombi.json","title":"Tombi","description":"**Tombi** (\u9cf6) is a toolkit for TOML; providing a formatter/linter and language server.\nSee the [GitHub repository](https://github.com/tombi-toml/tombi) for more information.","type":"object","properties":{"toml-version":{"title":"TOML version.","description":"TOML version to use if not specified in the schema.","anyOf":[{"$ref":"#/definitions/TomlVersion"},{"type":"null"}],"default":"v1.0.0"},"include":{"title":"Deprecated. Use `files.include` instead.","type":["array","null"],"items":{"type":"string"},"deprecated":true,"minItems":1},"exclude":{"title":"Deprecated. Use `files.exclude` instead.","type":["array","null"],"items":{"type":"string"},"deprecated":true,"minItems":1},"files":{"anyOf":[{"$ref":"#/definitions/FilesOptions"},{"type":"null"}]},"format":{"title":"Formatter options.","anyOf":[{"$ref":"#/definitions/FormatOptions"},{"type":"null"}]},"lint":{"title":"Linter options.","anyOf":[{"$ref":"#/definitions/LintOptions"},{"type":"null"}]},"lsp":{"title":"Language Server Protocol options.","anyOf":[{"$ref":"#/definitions/LspOptions"},{"type":"null"}]},"server":{"title":"Deprecated. Use `lsp` instead.","anyOf":[{"$ref":"#/definitions/LspOptions"},{"type":"null"}],"deprecated":true},"schema":{"title":"Schema options.","anyOf":[{"$ref":"#/definitions/SchemaOptions"},{"type":"null"}]},"schemas":{"title":"Schema catalog items.","type":["array","null"],"items":{"$ref":"#/definitions/Schema"}}},"additionalProperties":false,"x-tombi-toml-version":"v1.1.0-preview","x-tombi-table-keys-order":"schema","definitions":{"TomlVersion":{"title":"TOML version.","type":"string","enum":["v1.0.0","v1.1.0-preview"]},"FilesOptions":{"title":"Files options.","type":"object","properties":{"include":{"title":"File patterns to include.","description":"The file match pattern to include in formatting and linting.\nSupports glob pattern.","type":["array","null"],"items":{"type":"string"},"minItems":1,"default":["**/*.toml"]},"exclude":{"title":"File patterns to exclude.","description":"The file match pattern to exclude from formatting and linting.\nSupports glob pattern.","type":["array","null"],"items":{"type":"string"},"minItems":1}},"additionalProperties":false,"x-tombi-table-keys-order":"schema"},"FormatOptions":{"title":"Formatter options.","description":"To avoid needless discussion of formatting rules,\nwe do not currently have a configuration item for formatting.","type":"object","additionalProperties":false,"x-tombi-table-keys-order":"schema"},"LintOptions":{"type":"object","properties":{"rules":{"title":"Lint rules.","anyOf":[{"$ref":"#/definitions/LintRules"},{"type":"null"}]}},"additionalProperties":false,"x-tombi-table-keys-order":"schema"},"LintRules":{"type":"object","properties":{"key-empty":{"title":"Key empty.","description":"Check if the key is empty.\n\n```toml\n# VALID BUT DISCOURAGED\n\"\" = true\n```","anyOf":[{"$ref":"#/definitions/SeverityLevelDefaultWarn"},{"type":"null"}]},"dotted-keys-out-of-order":{"title":"Dotted keys out of order.","description":"Check if dotted keys are defined out of order.\n\n```toml\n# VALID BUT DISCOURAGED\napple.type = \"fruit\"\norange.type = \"fruit\"\napple.skin = \"thin\"\norange.skin = \"thick\"\n\n# RECOMMENDED\napple.type = \"fruit\"\napple.skin = \"thin\"\norange.type = \"fruit\"\norange.skin = \"thick\"\n```","anyOf":[{"$ref":"#/definitions/SeverityLevelDefaultWarn"},{"type":"null"}]},"tables-out-of-order":{"title":"Tables out of order.","description":"Check if tables are defined out of order.\n\n```toml\n# VALID BUT DISCOURAGED\n[fruit.apple]\n[animal]\n[fruit.orange]\n\n# RECOMMENDED\n[fruit.apple]\n[fruit.orange]\n[animal]\n```","anyOf":[{"$ref":"#/definitions/SeverityLevelDefaultWarn"},{"type":"null"}]}},"additionalProperties":false,"x-tombi-table-keys-order":"version-sort"},"SeverityLevelDefaultWarn":{"default":"warn","allOf":[{"$ref":"#/definitions/SeverityLevel"}]},"SeverityLevel":{"oneOf":[{"title":"Disable the Rule.","type":"string","const":"off"},{"title":"Display as Warning.","type":"string","const":"warn"},{"title":"Display as Error.","type":"string","const":"error"}]},"LspOptions":{"type":"object","properties":{"code-action":{"title":"Code Action Feature options.","anyOf":[{"$ref":"#/definitions/LspCodeAction"},{"type":"null"}]},"completion":{"title":"Completion Feature options.","anyOf":[{"$ref":"#/definitions/LspCompletion"},{"type":"null"}]},"diagnostics":{"title":"Diagnostics Feature options.","anyOf":[{"$ref":"#/definitions/LspDiagnostics"},{"type":"null"}]},"document-link":{"title":"Document Link Feature options.","anyOf":[{"$ref":"#/definitions/LspDocumentLink"},{"type":"null"}]},"formatting":{"title":"Formatting Feature options.","anyOf":[{"$ref":"#/definitions/LspFormatting"},{"type":"null"}]},"goto-declaration":{"title":"Goto Declaration Feature options.","anyOf":[{"$ref":"#/definitions/LspGotoDefinition"},{"type":"null"}]},"goto-definition":{"title":"Goto Definition Feature options.","anyOf":[{"$ref":"#/definitions/LspGotoDefinition"},{"type":"null"}]},"goto-type-definition":{"title":"Goto Type Definition Feature options.","anyOf":[{"$ref":"#/definitions/LspGotoDefinition"},{"type":"null"}]},"hover":{"title":"Hover Feature options.","anyOf":[{"$ref":"#/definitions/LspHover"},{"type":"null"}]}},"additionalProperties":false,"x-tombi-table-keys-order":"ascending"},"LspCodeAction":{"type":"object","properties":{"enabled":{"title":"Enable code action feature.","description":"Whether to enable code action.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"BoolDefaultTrue":{"type":"boolean","default":true},"LspCompletion":{"type":"object","properties":{"enabled":{"title":"Enable completion feature.","description":"Whether to enable completion.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"LspDiagnostics":{"type":"object","properties":{"enabled":{"title":"Enable diagnostics feature.","description":"Whether to enable diagnostics.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"LspDocumentLink":{"type":"object","properties":{"enabled":{"title":"Enable document link feature.","description":"Whether to enable document link.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"LspFormatting":{"type":"object","properties":{"enabled":{"title":"Enable formatting feature.","description":"Whether to enable formatting.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"LspGotoDefinition":{"type":"object","properties":{"enabled":{"title":"Enable goto definition feature.","description":"Whether to enable goto definition.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"LspHover":{"type":"object","properties":{"enabled":{"title":"Enable hover feature.","description":"Whether to enable hover.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]}},"additionalProperties":false},"SchemaOptions":{"type":"object","properties":{"enabled":{"title":"Enable or disable the schema.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]},"strict":{"title":"Enable or disable strict schema validation.","description":"If `additionalProperties` is not specified in the JSON Schema,\nthe strict mode treats it as `additionalProperties: false`,\nwhich is different from the JSON Schema specification.","anyOf":[{"$ref":"#/definitions/BoolDefaultTrue"},{"type":"null"}]},"catalog":{"title":"Schema catalog options.","anyOf":[{"$ref":"#/definitions/SchemaCatalog"},{"type":"null"}]}},"additionalProperties":false,"x-tombi-table-keys-order":"schema"},"SchemaCatalog":{"anyOf":[{"$ref":"#/definitions/NewSchemaCatalog"},{"$ref":"#/definitions/SchemaCatalogOld"}]},"NewSchemaCatalog":{"type":"object","properties":{"paths":{"title":"The schema catalog path/url array.","description":"The catalog is evaluated after the schemas specified by [[schemas]].\\\nSchemas are loaded in order from the beginning of the catalog list.","type":["array","null"],"items":{"$ref":"#/definitions/SchemaCatalogPath"},"default":["tombi:///json/catalog.json","https://json.schemastore.org/api/json/catalog.json"]}},"additionalProperties":false},"SchemaCatalogPath":{"description":"Generic value that can be either single or multiple","type":"string"},"SchemaCatalogOld":{"type":"object","properties":{"path":{"title":"The schema catalog path or url.","description":"**\ud83d\udea7 Deprecated \ud83d\udea7**\\\nPlease use `schema.catalog.paths` instead.","anyOf":[{"$ref":"#/definitions/OneOrMany"},{"type":"null"}],"deprecated":true,"default":"https://json.schemastore.org/api/json/catalog.json"}},"additionalProperties":false},"OneOrMany":{"anyOf":[{"$ref":"#/definitions/SchemaCatalogPath"},{"type":"array","items":{"$ref":"#/definitions/SchemaCatalogPath"}}]},"Schema":{"anyOf":[{"$ref":"#/definitions/RootSchema"},{"$ref":"#/definitions/SubSchema"},{"$ref":"#/definitions/OldSubSchema"}]},"RootSchema":{"title":"The schema for the root table.","type":"object","properties":{"toml-version":{"title":"The TOML version that the schema is available.","anyOf":[{"$ref":"#/definitions/TomlVersion"},{"type":"null"}]},"path":{"title":"The schema path.","type":"string"},"include":{"title":"The file match pattern of the schema.","description":"The file match pattern to include the target to apply the schema.\nSupports glob pattern.","type":"array","items":{"type":"string"},"minItems":1}},"additionalProperties":false,"required":["path","include"],"x-tombi-table-keys-order":"schema"},"SubSchema":{"title":"The schema for the sub value.","type":"object","properties":{"root":{"title":"The accessors to apply the sub schema.","type":"string","examples":["tools.tombi","items[0].name"],"minLength":1},"path":{"title":"The sub schema path.","type":"string"},"include":{"title":"The file match pattern of the sub schema.","description":"The file match pattern to include the target to apply the sub schema.\nSupports glob pattern.","type":"array","items":{"type":"string"},"minItems":1}},"additionalProperties":false,"required":["root","path","include"],"x-tombi-table-keys-order":"schema"},"OldSubSchema":{"title":"The schema for the old sub value.","description":"This is for backward compatibility.","type":"object","properties":{"path":{"title":"The sub schema path.","type":"string"},"include":{"title":"The file match pattern of the sub schema.","description":"The file match pattern to include the target to apply the sub schema.\nSupports glob pattern.","type":"array","items":{"type":"string"},"minItems":1},"root-keys":{"title":"The keys to apply the sub schema.","description":"**\ud83d\udea7 Deprecated \ud83d\udea7**\\\nPlease use `schemas[*].root` instead.","type":"string","deprecated":true,"minLength":1}},"additionalProperties":false,"required":["path","include","root-keys"],"x-tombi-table-keys-order":"schema"}}}
</schema>

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

Tombi

**Tombi** (鳶) is a toolkit for TOML; providing a formatter/linter and language server.
See the [GitHub repository](https://github.com/tombi-toml/tombi) for more information.

TOML version.

TOML version to use if not specified in the schema.

Deprecated. Use `files.include` instead.

Deprecated. Use `files.exclude` instead.

Formatter options.

Linter options.

Language Server Protocol options.

Deprecated. Use `lsp` instead.

Schema options.

Schema catalog items.

TOML version.

Files options.

File patterns to include.

The file match pattern to include in formatting and linting.
Supports glob pattern.

File patterns to exclude.

The file match pattern to exclude from formatting and linting.
Supports glob pattern.

Formatter options.

To avoid needless discussion of formatting rules,
we do not currently have a configuration item for formatting.

Lint rules.

Key empty.

Check if the key is empty.

```toml
# VALID BUT DISCOURAGED
"" = true
```

Dotted keys out of order.

Check if dotted keys are defined out of order.

```toml
# VALID BUT DISCOURAGED
apple.type = "fruit"
orange.type = "fruit"
apple.skin = "thin"
orange.skin = "thick"

# RECOMMENDED
apple.type = "fruit"
apple.skin = "thin"
orange.type = "fruit"
orange.skin = "thick"
```

Tables out of order.

Check if tables are defined out of order.

```toml
# VALID BUT DISCOURAGED
[fruit.apple]
[animal]
[fruit.orange]

# RECOMMENDED
[fruit.apple]
[fruit.orange]
[animal]
```

Disable the Rule.

Display as Warning.

Display as Error.

Code Action Feature options.

Completion Feature options.

Diagnostics Feature options.

Document Link Feature options.

Formatting Feature options.

Goto Declaration Feature options.

Goto Definition Feature options.

Goto Type Definition Feature options.

Hover Feature options.

Enable code action feature.

Whether to enable code action.

Enable completion feature.

Whether to enable completion.

Enable diagnostics feature.

Whether to enable diagnostics.

Enable document link feature.

Whether to enable document link.

Enable formatting feature.

Whether to enable formatting.

Enable goto definition feature.

Whether to enable goto definition.

Enable hover feature.

Whether to enable hover.

Enable or disable the schema.

Enable or disable strict schema validation.

If `additionalProperties` is not specified in the JSON Schema,
the strict mode treats it as `additionalProperties: false`,
which is different from the JSON Schema specification.

Schema catalog options.

The schema catalog path/url array.

The catalog is evaluated after the schemas specified by [[schemas]].\
Schemas are loaded in order from the beginning of the catalog list.

Generic value that can be either single or multiple

The schema catalog path or url.

**🚧 Deprecated 🚧**\
Please use `schema.catalog.paths` instead.

The schema for the root table.

The TOML version that the schema is available.

The schema path.

The file match pattern of the schema.

The file match pattern to include the target to apply the schema.
Supports glob pattern.

The schema for the sub value.

The accessors to apply the sub schema.

The sub schema path.

The file match pattern of the sub schema.

The file match pattern to include the target to apply the sub schema.
Supports glob pattern.

The schema for the old sub value.

This is for backward compatibility.

The sub schema path.

The keys to apply the sub schema.

**🚧 Deprecated 🚧**\
Please use `schemas[*].root` instead.

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


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Root","type":"object","properties":{"actors":{"default":{},"type":"object","additionalProperties":{"$ref":"#/definitions/Actor"}},"containers":{"default":{},"type":"object","additionalProperties":{"$ref":"#/definitions/Actor"}},"functions":{"default":{},"type":"object","additionalProperties":{"$ref":"#/definitions/Function"}}},"additionalProperties":false,"definitions":{"Actor":{"type":"object","anyOf":[{"$ref":"#/definitions/Build"},{"$ref":"#/definitions/Build2"}],"properties":{"tags":{"type":"object","additionalProperties":{"type":"string"}}}},"Build":{"type":"object","properties":{"build_args":{"description":"Build arguments to pass to the build.","type":"object","additionalProperties":{"type":"string"}},"build_path":{"description":"Directory to build the Docker image from.","type":"string"},"build_target":{"description":"Build target to upload.","type":"string"},"dockerfile":{"description":"Dockerfile to build.","type":"string"},"image":{"description":"Existing image tag to upload.","type":"string"},"unstable":{"description":"Unstable features.","allOf":[{"$ref":"#/definitions/Unstable"}]}},"additionalProperties":false},"Build2":{"type":"object","required":["script"],"properties":{"script":{"type":"string"},"unstable":{"default":{"minify":null,"analyze_result":null,"esbuild_log_level":null,"compression":null,"dump_build":null,"no_bundler":null},"allOf":[{"$ref":"#/definitions/Unstable2"}]}}},"BuildMethod":{"oneOf":[{"description":"Use the native Docker build command. Only used if Buildx is not available.","type":"string","enum":["buildx"]},{"description":"Create & use a Buildx builder on this machine. Required for cross-platform compilation.","type":"string","enum":["native"]}]},"BundleKind":{"oneOf":[{"description":"Legacy option. Docker image archive output from `docker save`. Slower lobby start times.","type":"string","enum":["docker_image"]},{"description":"OCI bundle archive derived from a generated Docker image. Optimized for fast lobby start times.","type":"string","enum":["oci_bundle"]}]},"Compression":{"oneOf":[{"description":"No compression.","type":"string","enum":["none"]},{"description":"LZ4 compression. Fast compression optimized for fast lobby start times.","type":"string","enum":["lz4"]}]},"Function":{"type":"object","anyOf":[{"$ref":"#/definitions/Build"},{"$ref":"#/definitions/Build2"}],"properties":{"networking":{"default":{"internal_port":null},"allOf":[{"$ref":"#/definitions/FunctionNetworking"}]},"path":{"type":"string"},"resources":{"default":null,"allOf":[{"$ref":"#/definitions/Resources"}]},"route_subpaths":{"type":"boolean"},"strip_prefix":{"default":null,"type":"boolean"},"tags":{"type":"object","additionalProperties":{"type":"string"}}}},"FunctionNetworking":{"type":"object","properties":{"internal_port":{"type":"integer","format":"uint16","minimum":0.0}}},"Resources":{"type":"object","required":["cpu","memory"],"properties":{"cpu":{"type":"integer","format":"uint64","minimum":0.0},"memory":{"type":"integer","format":"uint64","minimum":0.0}}},"Unstable":{"type":"object","properties":{"allow_root":{"type":"boolean"},"build_method":{"$ref":"#/definitions/BuildMethod"},"bundle":{"$ref":"#/definitions/BundleKind"},"compression":{"$ref":"#/definitions/Compression"}},"additionalProperties":false},"Unstable2":{"type":"object","properties":{"analyze_result":{"type":"boolean"},"compression":{"$ref":"#/definitions/Compression"},"dump_build":{"type":"boolean"},"esbuild_log_level":{"type":"string"},"minify":{"type":"boolean"},"no_bundler":{"type":"boolean"}},"additionalProperties":false}}}
</schema>

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

Root

Build arguments to pass to the build.

Directory to build the Docker image from.

Build target to upload.

Dockerfile to build.

Existing image tag to upload.

Unstable features.

Use the native Docker build command. Only used if Buildx is not available.

Create & use a Buildx builder on this machine. Required for cross-platform compilation.

Legacy option. Docker image archive output from `docker save`. Slower lobby start times.

OCI bundle archive derived from a generated Docker image. Optimized for fast lobby start times.

No compression.

LZ4 compression. Fast compression optimized for fast lobby start times.

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


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON Schema for AsyncAPI tool discovery file.","type":"object","additionalProperties":false,"required":["title","filters"],"properties":{"title":{"type":"string","description":"Human-readable name of the tool that will be visible to people in the list of tools.","examples":["AsyncAPI Generator","Cupid"]},"description":{"type":"string","description":"By default scripts read description of repository there project is stored. You can override this behaviour by providing custom description."},"links":{"type":"object","additionalProperties":false,"properties":{"websiteUrl":{"type":"string","description":"You can provide URL to the website where your project hosts some demo or project landing page.","format":"uri"},"docsUrl":{"type":"string","description":"You can provide URL to project documentation in case you have more than just a readme file.","format":"uri"},"repoUrl":{"type":"string","description":"You can provide URL to project codebase in case you have more than one tool present inside single repository.","format":"uri"}}},"filters":{"type":"object","additionalProperties":false,"required":["categories"],"properties":{"language":{"description":"The language referred to is the runtime language selected by the user, not the generator or library language. For example, the Generator written in JavaScript generates Python code from the JavaScript template and the result of generation is a Python app, so the language for Generator is specified as Python. But for the Bundler library, users need to know if it can be integrated into their TypeScript codebase, so its language is specified as TypeScript. If some language in the schema's enum is omitted, it can be added through a pull request to the AsyncAPI website repository.","anyOf":[{"type":"string","anyOf":[{"type":"string","enum":["Go","Java","JavaScript","HTML","C/C++","C#","Python","TypeScript","Kotlin","Scala","Markdown","YAML","R","Ruby","Rust","Shell","Groovy"]},{"type":"string"}]},{"type":"array","items":{"type":"string","anyOf":[{"type":"string","enum":["Go","Java","JavaScript","HTML","C/C++","C#","Python","TypeScript","Kotlin","Scala","Markdown","YAML","R","Ruby","Rust","Shell","Groovy"]},{"type":"string"}]}}]},"technology":{"type":"array","description":"Provide a list of different technologies used in the tool. Put details useful for tool user and tool contributor.","items":{"type":"string","anyOf":[{"type":"string","enum":["Node js","Hermes","React JS",".NET","ASP.NET","Springboot","AWS","Docker","Node-red","Maven","Saas","Kubernetes-native","Scala","Azure","Jenkins","Flask"]},{"type":"string"}]},"examples":["Express.js","Kafka"]},"categories":{"type":"array","description":"Categories are used to group tools by different use case, like documentation or code generation. If have a list of fixed categories. If you use different one that your tool lands under \"other\" category. Feel free to add your category through a pull request to AsyncAPI website repository.","items":{"type":"string","anyOf":[{"type":"string","enum":["api","code-first","code-generator","converter","directory","documentation-generator","editor","ui-component","dsl","framework","github-action","mocking-and-testing","validator","compare-tool","other","cli","bundler","ide-extension"]},{"type":"string"}]},"minItems":1,"examples":["api","code-first","code-generator","converter","directory","documentation-generator","editor","ui-component","dsl","framework","github-action","mocking-and-testing","validator","compare-tool","other","cli","bundler","ide-extension"]},"hasCommercial":{"type":"boolean","description":"Indicate if your tool is open source or commercial offering, like SAAS for example","default":false}}}}}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON Schema for AsyncAPI tool discovery file.". Here are the required top‑level fields: title, filters. Return only the valid JSON object.

Human-readable name of the tool that will be visible to people in the list of tools.

By default scripts read description of repository there project is stored. You can override this behaviour by providing custom description.

You can provide URL to the website where your project hosts some demo or project landing page.

You can provide URL to project documentation in case you have more than just a readme file.

You can provide URL to project codebase in case you have more than one tool present inside single repository.

The language referred to is the runtime language selected by the user, not the generator or library language. For example, the Generator written in JavaScript generates Python code from the JavaScript template and the result of generation is a Python app, so the language for Generator is specified as Python. But for the Bundler library, users need to know if it can be integrated into their TypeScript codebase, so its language is specified as TypeScript. If some language in the schema's enum is omitted, it can be added through a pull request to the AsyncAPI website repository.

Go Java JavaScript HTML C/C++ C# Python TypeScript Kotlin Scala Markdown YAML R Ruby Rust Shell Groovy

Provide a list of different technologies used in the tool. Put details useful for tool user and tool contributor.

Node js
Hermes
React JS
.NET
ASP.NET
Springboot
AWS
Docker
Node-red
Maven
Saas
Kubernetes-native
Scala
Azure
Jenkins
Flask

Categories are used to group tools by different use case, like documentation or code generation. If have a list of fixed categories. If you use different one that your tool lands under "other" category. Feel free to add your category through a pull request to AsyncAPI website repository.

api code-first code-generator converter directory documentation-generator editor ui-component dsl framework github-action mocking-and-testing validator compare-tool other cli bundler ide-extension

Indicate if your tool is open source or commercial offering, like SAAS for example

Provide a JSON object that satisfies the schema "JSON Schema for AsyncAPI tool discovery file.". Here are the required top‑level fields: title, filters. Return only the valid JSON object.