[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"https://json-schema.org/draft-07/schema","title":"Discord Webhook","description":"Discord Webhook JSON Schema","definitions":{"string":{"type":"string","default":""},"boolean":{"type":"boolean","default":false},"url":{"$ref":"#/definitions/string","pattern":"^https?://"},"id":{"$ref":"#/definitions/string","pattern":"^\\d+$"}},"type":"object","additionalProperties":false,"anyOf":[{"required":["content"]},{"required":["embeds"]}],"properties":{"$schema":{"description":"Allow $schema because additionalProperties is false","$ref":"#/definitions/string"},"content":{"description":"The message contents\nMax is 2000 characters","$ref":"#/definitions/string","maxLength":2000},"username":{"description":"Override the default username of the webhook\nName cannot contain \"clyde\"","$ref":"#/definitions/string","pattern":"^((?!(c|C)(l|L)(y|Y)(d|D)(e|E)).)*$","maxLength":80},"avatar_url":{"description":"Override the default avatar of the webhook","$ref":"#/definitions/url"},"tts":{"description":"Whether or not this message will play in TTS\nDefault is false","$ref":"#/definitions/boolean"},"embeds":{"description":"Embedded rich content\nMax is 6000 characters","type":"array","items":{"type":"object","additionalProperties":false,"properties":{"title":{"description":"Title of embed\nMax is 256 characters","$ref":"#/definitions/string","maxLength":256},"description":{"description":"Description of embed\nMax is 4096 characters","$ref":"#/definitions/string","maxLength":4096},"url":{"description":"URL of embed\nOnly support http / https","$ref":"#/definitions/url"},"timestamp":{"description":"Timestamp of embed content\nISO8601 Timestamp","$ref":"#/definitions/string","format":"date-time"},"color":{"description":"Color code of the embed\nOnly support color in decimal\nTo match embed background color, use 3092790\nDefault is 2105893","type":"integer","default":2105893,"minimum":0,"maximum":16777215},"footer":{"description":"Footer information","type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"description":"Footer text\nMax is 2048 characters","type":"string","default":"","maxLength":2048},"icon_url":{"description":"URL of footer icon\nOnly support http / https","$ref":"#/definitions/url"}}},"image":{"description":"Image information","type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"Source url of image\nOnly support http / https","$ref":"#/definitions/url"}}},"thumbnail":{"description":"Thumbnail information","type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"Source url of thumbnail\nOnly support http / https","$ref":"#/definitions/url"}}},"author":{"description":"Author information","type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"description":"Name of author\nMax is 256 characters","$ref":"#/definitions/string","maxLength":256},"url":{"description":"URL of author\nOnly support http / https","$ref":"#/definitions/url"},"icon_url":{"description":"URL of author icon\nOnly support http / https","$ref":"#/definitions/url"}}},"fields":{"description":"Fields information","type":"array","items":{"description":"Fields information","type":"object","additionalProperties":false,"required":["name","value"],"properties":{"name":{"description":"Name of the field\nREQUIRED Max is 256","$ref":"#/definitions/string","minLength":1,"maxLength":256},"value":{"description":"Value of the field\nREQUIRED Max is 1024","$ref":"#/definitions/string","minLength":1,"maxLength":1024},"inline":{"description":"Whether or not this field should display inline\nDefault is false","$ref":"#/definitions/boolean"}}}}}}},"allowed_mentions":{"description":"Allowed mentions for the message","type":"object","minProperties":1,"additionalProperties":false,"properties":{"parse":{"description":"An array of allowed mention types to parse from the content.","type":"array","default":[],"items":{"type":"string","enum":["roles","users","everyone"]}},"roles":{"description":"Array of role_ids to mention\nMax is 100 of role_ids\nMutually exclusive with parse roles","type":["array","null"],"default":[],"uniqueItems":true,"maxItems":100,"items":{"$ref":"#/definitions/id"}},"users":{"description":"Array of user_ids to mention\nMax is 100 of user_ids\nMutually exclusive with parse users","type":["array","null"],"default":[],"uniqueItems":true,"maxItems":100,"items":{"$ref":"#/definitions/id"}}}}}}
</schema>

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

Discord Webhook

Discord Webhook JSON Schema

Allow $schema because additionalProperties is false

The message contents
Max is 2000 characters

Override the default username of the webhook
Name cannot contain "clyde"

Override the default avatar of the webhook

Whether or not this message will play in TTS
Default is false

Embedded rich content
Max is 6000 characters

Title of embed
Max is 256 characters

Description of embed
Max is 4096 characters

URL of embed
Only support http / https

Timestamp of embed content
ISO8601 Timestamp

Color code of the embed
Only support color in decimal
To match embed background color, use 3092790
Default is 2105893

Footer information

Footer text
Max is 2048 characters

URL of footer icon
Only support http / https

Image information

Source url of image
Only support http / https

Thumbnail information

Source url of thumbnail
Only support http / https

Author information

Name of author
Max is 256 characters

URL of author
Only support http / https

URL of author icon
Only support http / https

Fields information

Fields information

Name of the field
REQUIRED Max is 256

Value of the field
REQUIRED Max is 1024

Whether or not this field should display inline
Default is false

Allowed mentions for the message

An array of allowed mention types to parse from the content.

Array of role_ids to mention
Max is 100 of role_ids
Mutually exclusive with parse roles

Array of user_ids to mention
Max is 100 of user_ids
Mutually exclusive with parse users

Provide a JSON object that satisfies the schema "Discord Webhook". 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#","definitions":{"shared":{"properties":{"webJobName":{"type":"string","description":"The name of the Azure Webjob."},"startTime":{"type":"string","format":"date-time","description":"The start time of a scheduled job. Example. 2014-06-11T00:00:00-08:00"},"endTime":{"type":"string","format":"date-time","description":"The end time of a scheduled job. Example. 2014-06-12T00:00:00-08:00"},"jobRecurrenceFrequency":{"type":"string","enum":["Second","Minute","Hour","Day","Week","Month"],"description":"The frequency metric used with the 'interval' property."},"interval":{"type":"integer","description":"The interval of how often the Azure Webjob should run. Use it with the 'jobRecurrenceFrequency' property."}}},"scheduled":{"required":["webJobName","startTime","endTime","jobRecurrenceFrequency","interval"],"allOf":[{"$ref":"#/definitions/shared"}],"properties":{"runMode":{"type":"string","enum":["Scheduled"],"description":"Determines the run mode of the Azure Webjob. \n\n Triggered: manually triggered \n Scheduled: runs on a specific schedule \n Continuous: runs all the time"}}},"notScheduled":{"required":["runMode"],"allOf":[{"$ref":"#/definitions/shared"}],"properties":{"runMode":{"type":"string","enum":["Continuous","OnDemand"],"description":"Determines the run mode of the Azure Webjob. \n\n Triggered: manually triggered \n Scheduled: runs on a specific schedule \n Continuous: runs all the time"}}}},"id":"https://json.schemastore.org/webjob-publish-settings.json","oneOf":[{"$ref":"#/definitions/scheduled"},{"$ref":"#/definitions/notScheduled"}],"required":["runMode"],"title":"JSON schema for Azure Webjobs configuration files","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for Azure Webjobs configuration files". Here are the required top‑level fields: runMode. Return only the valid JSON object.

The name of the Azure Webjob.

The start time of a scheduled job. Example. 2014-06-11T00:00:00-08:00

The end time of a scheduled job. Example. 2014-06-12T00:00:00-08:00

The frequency metric used with the 'interval' property.

The interval of how often the Azure Webjob should run. Use it with the 'jobRecurrenceFrequency' property.

webJobName startTime endTime jobRecurrenceFrequency interval

Determines the run mode of the Azure Webjob.

 Triggered: manually triggered
 Scheduled: runs on a specific schedule
 Continuous: runs all the time

Provide a JSON object that satisfies the schema "JSON schema for Azure Webjobs configuration files". Here are the required top‑level fields: runMode. 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#","id":"https://json.schemastore.org/webjobs-list.json","properties":{"WebJobs":{"type":"array","description":"A list of Azure Webjobs.","items":{"type":"object","additionalProperties":false,"properties":{"filePath":{"type":"string"}}}}},"required":["WebJobs"],"title":"JSON schema for Azure Webjobs collection files","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for Azure Webjobs collection files". Here are the required top‑level fields: WebJobs. Return only the valid JSON object.

A list of Azure Webjobs.

Provide a JSON object that satisfies the schema "JSON schema for Azure Webjobs collection files". Here are the required top‑level fields: WebJobs. 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://aka.ms/winget-manifest.installer.1.0.0.schema.json","definitions":{"PackageIdentifier":{"type":"string","pattern":"^[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}(\\.[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}){1,3}$","maxLength":128,"description":"The package unique identifier"},"PackageVersion":{"type":"string","pattern":"^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$","maxLength":128,"description":"The package version"},"Locale":{"type":["string","null"],"minLength":1,"maxLength":20,"description":"The package meta-data locale"},"Channel":{"type":["string","null"],"minLength":1,"maxLength":16,"description":"The distribution channel"},"Platform":{"type":["array","null"],"items":{"title":"Platform","type":"string","enum":["Windows.Desktop","Windows.Universal"]},"maxItems":2,"uniqueItems":true,"description":"The installer supported operating system"},"MinimumOSVersion":{"type":["string","null"],"pattern":"^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){0,3}$","description":"The installer minimum operating system version"},"InstallerType":{"type":["string","null"],"enum":["msix","msi","appx","exe","zip","inno","nullsoft","wix","burn","pwa"],"description":"Enumeration of supported installer types"},"Scope":{"type":["string","null"],"enum":["user","machine"],"description":"Scope indicates if the installer is per user or per machine"},"InstallModes":{"type":["array","null"],"items":{"title":"InstallModes","type":"string","enum":["interactive","silent","silentWithProgress"]},"maxItems":3,"uniqueItems":true,"description":"List of supported installer modes"},"InstallerSwitches":{"type":"object","properties":{"Silent":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Silent is the value that should be passed to the installer when user chooses a silent or quiet install"},"SilentWithProgress":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"SilentWithProgress is the value that should be passed to the installer when user chooses a non-interactive install"},"Interactive":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Interactive is the value that should be passed to the installer when user chooses an interactive install"},"InstallLocation":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"InstallLocation is the value passed to the installer for custom install location. <INSTALLPATH> token can be included in the switch value so that winget will replace the token with user provided path"},"Log":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Log is the value passed to the installer for custom log file path. <LOGPATH> token can be included in the switch value so that winget will replace the token with user provided path"},"Upgrade":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Upgrade is the value that should be passed to the installer when user chooses an upgrade"},"Custom":{"type":["string","null"],"minLength":1,"maxLength":2048,"description":"Custom switches will be passed directly to the installer by winget"}}},"InstallerSuccessCodes":{"type":["array","null"],"items":{"type":"integer","not":{"enum":[0]}},"maxItems":16,"uniqueItems":true,"description":"List of additional non-zero installer success exit codes other than known default values by winget"},"UpgradeBehavior":{"type":["string","null"],"enum":["install","uninstallPrevious"],"description":"The upgrade method"},"Commands":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":16,"uniqueItems":true,"description":"List of commands or aliases to run the package"},"Protocols":{"type":["array","null"],"items":{"type":"string","pattern":"^[a-z][-a-z0-9\\.\\+]*$","maxLength":2048},"maxItems":16,"uniqueItems":true,"description":"List of protocols the package provides a handler for"},"FileExtensions":{"type":["array","null"],"items":{"type":"string","pattern":"^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$","maxLength":40},"maxItems":256,"uniqueItems":true,"description":"List of file extensions the package could support"},"Dependencies":{"type":["object","null"],"properties":{"WindowsFeatures":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of Windows feature dependencies"},"WindowsLibraries":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of Windows library dependencies"},"PackageDependencies":{"type":["array","null"],"items":{"type":"object","properties":{"PackageIdentifier":{"$ref":"#/definitions/PackageIdentifier"},"MinimumVersion":{"$ref":"#/definitions/PackageVersion"}},"required":["PackageIdentifier"]},"maxItems":16,"uniqueItems":true,"description":"List of package dependencies from current source"},"ExternalDependencies":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of external package dependencies"}}},"PackageFamilyName":{"type":["string","null"],"pattern":"^[A-Za-z0-9][-\\.A-Za-z0-9]+_[A-Za-z0-9]{13}$","maxLength":255,"description":"PackageFamilyName for appx or msix installer. Could be used for correlation of packages across sources"},"ProductCode":{"type":["string","null"],"minLength":1,"maxLength":255,"description":"ProductCode could be used for correlation of packages across sources"},"Capabilities":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":1000,"uniqueItems":true,"description":"List of appx or msix installer capabilities"},"RestrictedCapabilities":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":1000,"uniqueItems":true,"description":"List of appx or msix installer restricted capabilities"},"Installer":{"type":"object","properties":{"InstallerLocale":{"$ref":"#/definitions/Locale"},"Platform":{"$ref":"#/definitions/Platform"},"MinimumOSVersion":{"$ref":"#/definitions/MinimumOSVersion"},"Architecture":{"type":"string","enum":["x86","x64","arm","arm64","neutral"],"description":"The installer target architecture"},"InstallerType":{"$ref":"#/definitions/InstallerType"},"Scope":{"$ref":"#/definitions/Scope"},"InstallerUrl":{"type":"string","pattern":"^([Hh][Tt][Tt][Pp][Ss]?)://.+$","description":"The installer Url"},"InstallerSha256":{"type":"string","pattern":"^[A-Fa-f0-9]{64}$","description":"Sha256 is required. Sha256 of the installer"},"SignatureSha256":{"type":["string","null"],"pattern":"^[A-Fa-f0-9]{64}$","description":"SignatureSha256 is recommended for appx or msix. It is the sha256 of signature file inside appx or msix. Could be used during streaming install if applicable"},"InstallModes":{"$ref":"#/definitions/InstallModes"},"InstallerSwitches":{"$ref":"#/definitions/InstallerSwitches"},"InstallerSuccessCodes":{"$ref":"#/definitions/InstallerSuccessCodes"},"UpgradeBehavior":{"$ref":"#/definitions/UpgradeBehavior"},"Commands":{"$ref":"#/definitions/Commands"},"Protocols":{"$ref":"#/definitions/Protocols"},"FileExtensions":{"$ref":"#/definitions/FileExtensions"},"Dependencies":{"$ref":"#/definitions/Dependencies"},"PackageFamilyName":{"$ref":"#/definitions/PackageFamilyName"},"ProductCode":{"$ref":"#/definitions/ProductCode"},"Capabilities":{"$ref":"#/definitions/Capabilities"},"RestrictedCapabilities":{"$ref":"#/definitions/RestrictedCapabilities"}},"required":["Architecture","InstallerUrl","InstallerSha256"]}},"description":"A representation of a single-file manifest representing an app installers in the OWC. v1.0.0","properties":{"PackageIdentifier":{"$ref":"#/definitions/PackageIdentifier"},"PackageVersion":{"$ref":"#/definitions/PackageVersion"},"Channel":{"$ref":"#/definitions/Channel"},"InstallerLocale":{"$ref":"#/definitions/Locale"},"Platform":{"$ref":"#/definitions/Platform"},"MinimumOSVersion":{"$ref":"#/definitions/MinimumOSVersion"},"InstallerType":{"$ref":"#/definitions/InstallerType"},"Scope":{"$ref":"#/definitions/Scope"},"InstallModes":{"$ref":"#/definitions/InstallModes"},"InstallerSwitches":{"$ref":"#/definitions/InstallerSwitches"},"InstallerSuccessCodes":{"$ref":"#/definitions/InstallerSuccessCodes"},"UpgradeBehavior":{"$ref":"#/definitions/UpgradeBehavior"},"Commands":{"$ref":"#/definitions/Commands"},"Protocols":{"$ref":"#/definitions/Protocols"},"FileExtensions":{"$ref":"#/definitions/FileExtensions"},"Dependencies":{"$ref":"#/definitions/Dependencies"},"PackageFamilyName":{"$ref":"#/definitions/PackageFamilyName"},"ProductCode":{"$ref":"#/definitions/ProductCode"},"Capabilities":{"$ref":"#/definitions/Capabilities"},"RestrictedCapabilities":{"$ref":"#/definitions/RestrictedCapabilities"},"Installers":{"type":"array","items":{"$ref":"#/definitions/Installer"},"minItems":1,"maxItems":128},"ManifestType":{"type":"string","default":"installer","const":"installer","description":"The manifest type"},"ManifestVersion":{"type":"string","default":"1.0.0","pattern":"^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){2}$","description":"The manifest syntax version"}},"required":["PackageIdentifier","PackageVersion","Installers","ManifestType","ManifestVersion"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "winget-pkgs-installer-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, Installers, ManifestType, ManifestVersion. Return only the valid JSON object.

The package unique identifier

The package version

The package meta-data locale

The distribution channel

Platform

The installer supported operating system

The installer minimum operating system version

msix msi appx exe zip inno nullsoft wix burn pwa

Enumeration of supported installer types

Scope indicates if the installer is per user or per machine

InstallModes

List of supported installer modes

Silent is the value that should be passed to the installer when user chooses a silent or quiet install

SilentWithProgress is the value that should be passed to the installer when user chooses a non-interactive install

Interactive is the value that should be passed to the installer when user chooses an interactive install

InstallLocation is the value passed to the installer for custom install location. <INSTALLPATH> token can be included in the switch value so that winget will replace the token with user provided path

Log is the value passed to the installer for custom log file path. <LOGPATH> token can be included in the switch value so that winget will replace the token with user provided path

Upgrade is the value that should be passed to the installer when user chooses an upgrade

Custom switches will be passed directly to the installer by winget

List of additional non-zero installer success exit codes other than known default values by winget

The upgrade method

List of commands or aliases to run the package

List of protocols the package provides a handler for

List of file extensions the package could support

List of Windows feature dependencies

List of Windows library dependencies

List of package dependencies from current source

List of external package dependencies

PackageFamilyName for appx or msix installer. Could be used for correlation of packages across sources

ProductCode could be used for correlation of packages across sources

List of appx or msix installer capabilities

List of appx or msix installer restricted capabilities

The installer target architecture

The installer Url

Sha256 is required. Sha256 of the installer

SignatureSha256 is recommended for appx or msix. It is the sha256 of signature file inside appx or msix. Could be used during streaming install if applicable

A representation of a single-file manifest representing an app installers in the OWC. v1.0.0

The manifest type

The manifest syntax version

PackageIdentifier PackageVersion Installers ManifestType ManifestVersion

Provide a JSON object that satisfies the schema "winget-pkgs-installer-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, Installers, ManifestType, ManifestVersion. 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://aka.ms/winget-manifest.locale.1.0.0.schema.json","definitions":{"Url":{"type":["string","null"],"pattern":"^([Hh][Tt][Tt][Pp][Ss]?)://.+$","maxLength":2000,"description":"Optional Url type"},"Tag":{"type":["string","null"],"minLength":1,"maxLength":40,"description":"Package moniker or tag"}},"description":"A representation of a multiple-file manifest representing app metadata in other locale in the OWC. v1.0.0","properties":{"PackageIdentifier":{"type":"string","pattern":"^[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}(\\.[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}){1,3}$","maxLength":128,"description":"The package unique identifier"},"PackageVersion":{"type":"string","pattern":"^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$","maxLength":128,"description":"The package version"},"PackageLocale":{"type":"string","pattern":"^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$","maxLength":20,"description":"The package meta-data locale"},"Publisher":{"type":["string","null"],"minLength":2,"maxLength":256,"description":"The publisher name"},"PublisherUrl":{"$ref":"#/definitions/Url","description":"The publisher home page"},"PublisherSupportUrl":{"$ref":"#/definitions/Url","description":"The publisher support page"},"PrivacyUrl":{"$ref":"#/definitions/Url","description":"The publisher privacy page or the package privacy page"},"Author":{"type":["string","null"],"minLength":2,"maxLength":256,"description":"The package author"},"PackageName":{"type":["string","null"],"minLength":2,"maxLength":256,"description":"The package name"},"PackageUrl":{"$ref":"#/definitions/Url","description":"The package home page"},"License":{"type":["string","null"],"minLength":3,"maxLength":512,"description":"The package license"},"LicenseUrl":{"$ref":"#/definitions/Url","description":"The license page"},"Copyright":{"type":["string","null"],"minLength":3,"maxLength":512,"description":"The package copyright"},"CopyrightUrl":{"$ref":"#/definitions/Url","description":"The package copyright page"},"ShortDescription":{"type":["string","null"],"minLength":3,"maxLength":256,"description":"The short package description"},"Description":{"type":["string","null"],"minLength":3,"maxLength":10000,"description":"The full package description"},"Moniker":{"$ref":"#/definitions/Tag","description":"The most common package term"},"Tags":{"type":["array","null"],"items":{"$ref":"#/definitions/Tag"},"maxItems":16,"uniqueItems":true,"description":"List of additional package search terms"},"ManifestType":{"type":"string","default":"locale","const":"locale","description":"The manifest type"},"ManifestVersion":{"type":"string","default":"1.0.0","pattern":"^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){2}$","description":"The manifest syntax version"}},"required":["PackageIdentifier","PackageVersion","PackageLocale","ManifestType","ManifestVersion"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "winget-pkgs-locale-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, PackageLocale, ManifestType, ManifestVersion. Return only the valid JSON object.

Optional Url type

Package moniker or tag

A representation of a multiple-file manifest representing app metadata in other locale in the OWC. v1.0.0

The package unique identifier

The package version

The package meta-data locale

The publisher name

The publisher home page

The publisher support page

The publisher privacy page or the package privacy page

The package author

The package name

The package home page

The package license

The license page

The package copyright

The package copyright page

The short package description

The full package description

The most common package term

List of additional package search terms

The manifest type

The manifest syntax version

PackageIdentifier PackageVersion PackageLocale ManifestType ManifestVersion

Provide a JSON object that satisfies the schema "winget-pkgs-locale-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, PackageLocale, ManifestType, ManifestVersion. 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://aka.ms/winget-manifest.singleton.1.0.0.schema.json","definitions":{"PackageIdentifier":{"type":"string","pattern":"^[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}(\\.[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}){1,3}$","maxLength":128,"description":"The package unique identifier"},"PackageVersion":{"type":"string","pattern":"^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$","maxLength":128,"description":"The package version"},"Locale":{"type":["string","null"],"pattern":"^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$","maxLength":20,"description":"The package meta-data locale"},"Url":{"type":["string","null"],"pattern":"^([Hh][Tt][Tt][Pp][Ss]?)://.+$","maxLength":2000,"description":"Optional Url type"},"Tag":{"type":["string","null"],"minLength":1,"maxLength":40,"description":"Package moniker or tag"},"Channel":{"type":["string","null"],"minLength":1,"maxLength":16,"description":"The distribution channel"},"Platform":{"type":["array","null"],"items":{"title":"Platform","type":"string","enum":["Windows.Desktop","Windows.Universal"]},"maxItems":2,"uniqueItems":true,"description":"The installer supported operating system"},"MinimumOSVersion":{"type":["string","null"],"pattern":"^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){0,3}$","description":"The installer minimum operating system version"},"InstallerType":{"type":["string","null"],"enum":["msix","msi","appx","exe","zip","inno","nullsoft","wix","burn","pwa"],"description":"Enumeration of supported installer types"},"Scope":{"type":["string","null"],"enum":["user","machine"],"description":"Scope indicates if the installer is per user or per machine"},"InstallModes":{"type":["array","null"],"items":{"title":"InstallModes","type":"string","enum":["interactive","silent","silentWithProgress"]},"maxItems":3,"uniqueItems":true,"description":"List of supported installer modes"},"InstallerSwitches":{"type":"object","properties":{"Silent":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Silent is the value that should be passed to the installer when user chooses a silent or quiet install"},"SilentWithProgress":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"SilentWithProgress is the value that should be passed to the installer when user chooses a non-interactive install"},"Interactive":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Interactive is the value that should be passed to the installer when user chooses an interactive install"},"InstallLocation":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"InstallLocation is the value passed to the installer for custom install location. <INSTALLPATH> token can be included in the switch value so that winget will replace the token with user provided path"},"Log":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Log is the value passed to the installer for custom log file path. <LOGPATH> token can be included in the switch value so that winget will replace the token with user provided path"},"Upgrade":{"type":["string","null"],"minLength":1,"maxLength":512,"description":"Upgrade is the value that should be passed to the installer when user chooses an upgrade"},"Custom":{"type":["string","null"],"minLength":1,"maxLength":2048,"description":"Custom switches will be passed directly to the installer by winget"}}},"InstallerSuccessCodes":{"type":["array","null"],"items":{"type":"integer","not":{"enum":[0]}},"maxItems":16,"uniqueItems":true,"description":"List of additional non-zero installer success exit codes other than known default values by winget"},"UpgradeBehavior":{"type":["string","null"],"enum":["install","uninstallPrevious"],"description":"The upgrade method"},"Commands":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":16,"uniqueItems":true,"description":"List of commands or aliases to run the package"},"Protocols":{"type":["array","null"],"items":{"type":"string","pattern":"^[a-z][-a-z0-9\\.\\+]*$","maxLength":2048},"maxItems":16,"uniqueItems":true,"description":"List of protocols the package provides a handler for"},"FileExtensions":{"type":["array","null"],"items":{"type":"string","pattern":"^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$","maxLength":40},"maxItems":256,"uniqueItems":true,"description":"List of file extensions the package could support"},"Dependencies":{"type":["object","null"],"properties":{"WindowsFeatures":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of Windows feature dependencies"},"WindowsLibraries":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of Windows library dependencies"},"PackageDependencies":{"type":["array","null"],"items":{"type":"object","properties":{"PackageIdentifier":{"$ref":"#/definitions/PackageIdentifier"},"MinimumVersion":{"$ref":"#/definitions/PackageVersion"}},"required":["PackageIdentifier"]},"maxItems":16,"description":"List of package dependencies from current source"},"ExternalDependencies":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":128},"maxItems":16,"uniqueItems":true,"description":"List of external package dependencies"}}},"PackageFamilyName":{"type":["string","null"],"pattern":"^[A-Za-z0-9][-\\.A-Za-z0-9]+_[A-Za-z0-9]{13}$","maxLength":255,"description":"PackageFamilyName for appx or msix installer. Could be used for correlation of packages across sources"},"ProductCode":{"type":["string","null"],"minLength":1,"maxLength":255,"description":"ProductCode could be used for correlation of packages across sources"},"Capabilities":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":1000,"uniqueItems":true,"description":"List of appx or msix installer capabilities"},"RestrictedCapabilities":{"type":["array","null"],"items":{"type":"string","minLength":1,"maxLength":40},"maxItems":1000,"uniqueItems":true,"description":"List of appx or msix installer restricted capabilities"},"Installer":{"type":"object","properties":{"InstallerLocale":{"$ref":"#/definitions/Locale"},"Platform":{"$ref":"#/definitions/Platform"},"MinimumOSVersion":{"$ref":"#/definitions/MinimumOSVersion"},"Architecture":{"type":"string","enum":["x86","x64","arm","arm64","neutral"],"description":"The installer target architecture"},"InstallerType":{"$ref":"#/definitions/InstallerType"},"Scope":{"$ref":"#/definitions/Scope"},"InstallerUrl":{"type":"string","pattern":"^([Hh][Tt][Tt][Pp][Ss]?)://.+$","description":"The installer Url"},"InstallerSha256":{"type":"string","pattern":"^[A-Fa-f0-9]{64}$","description":"Sha256 is required. Sha256 of the installer"},"SignatureSha256":{"type":["string","null"],"pattern":"^[A-Fa-f0-9]{64}$","description":"SignatureSha256 is recommended for appx or msix. It is the sha256 of signature file inside appx or msix. Could be used during streaming install if applicable"},"InstallModes":{"$ref":"#/definitions/InstallModes"},"InstallerSwitches":{"$ref":"#/definitions/InstallerSwitches"},"InstallerSuccessCodes":{"$ref":"#/definitions/InstallerSuccessCodes"},"UpgradeBehavior":{"$ref":"#/definitions/UpgradeBehavior"},"Commands":{"$ref":"#/definitions/Commands"},"Protocols":{"$ref":"#/definitions/Protocols"},"FileExtensions":{"$ref":"#/definitions/FileExtensions"},"Dependencies":{"$ref":"#/definitions/Dependencies"},"PackageFamilyName":{"$ref":"#/definitions/PackageFamilyName"},"ProductCode":{"$ref":"#/definitions/ProductCode"},"Capabilities":{"$ref":"#/definitions/Capabilities"},"RestrictedCapabilities":{"$ref":"#/definitions/RestrictedCapabilities"}},"required":["Architecture","InstallerUrl","InstallerSha256"]}},"description":"A representation of a single-file manifest representing an app in the OWC. v1.0.0","properties":{"PackageIdentifier":{"$ref":"#/definitions/PackageIdentifier"},"PackageVersion":{"$ref":"#/definitions/PackageVersion"},"PackageLocale":{"type":"string","pattern":"^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$","maxLength":20,"description":"The package meta-data locale"},"Publisher":{"type":"string","minLength":2,"maxLength":256,"description":"The publisher name"},"PublisherUrl":{"$ref":"#/definitions/Url","description":"The publisher home page"},"PublisherSupportUrl":{"$ref":"#/definitions/Url","description":"The publisher support page"},"PrivacyUrl":{"$ref":"#/definitions/Url","description":"The publisher privacy page or the package privacy page"},"Author":{"type":["string","null"],"minLength":2,"maxLength":256,"description":"The package author"},"PackageName":{"type":"string","minLength":2,"maxLength":256,"description":"The package name"},"PackageUrl":{"$ref":"#/definitions/Url","description":"The package home page"},"License":{"type":"string","minLength":3,"maxLength":512,"description":"The package license"},"LicenseUrl":{"$ref":"#/definitions/Url","description":"The license page"},"Copyright":{"type":["string","null"],"minLength":3,"maxLength":512,"description":"The package copyright"},"CopyrightUrl":{"$ref":"#/definitions/Url","description":"The package copyright page"},"ShortDescription":{"type":"string","minLength":3,"maxLength":256,"description":"The short package description"},"Description":{"type":["string","null"],"minLength":3,"maxLength":10000,"description":"The full package description"},"Moniker":{"$ref":"#/definitions/Tag","description":"The most common package term"},"Tags":{"type":["array","null"],"items":{"$ref":"#/definitions/Tag"},"maxItems":16,"uniqueItems":true,"description":"List of additional package search terms"},"Channel":{"$ref":"#/definitions/Channel"},"InstallerLocale":{"$ref":"#/definitions/Locale"},"Platform":{"$ref":"#/definitions/Platform"},"MinimumOSVersion":{"$ref":"#/definitions/MinimumOSVersion"},"InstallerType":{"$ref":"#/definitions/InstallerType"},"Scope":{"$ref":"#/definitions/Scope"},"InstallModes":{"$ref":"#/definitions/InstallModes"},"InstallerSwitches":{"$ref":"#/definitions/InstallerSwitches"},"InstallerSuccessCodes":{"$ref":"#/definitions/InstallerSuccessCodes"},"UpgradeBehavior":{"$ref":"#/definitions/UpgradeBehavior"},"Commands":{"$ref":"#/definitions/Commands"},"Protocols":{"$ref":"#/definitions/Protocols"},"FileExtensions":{"$ref":"#/definitions/FileExtensions"},"Dependencies":{"$ref":"#/definitions/Dependencies"},"PackageFamilyName":{"$ref":"#/definitions/PackageFamilyName"},"ProductCode":{"$ref":"#/definitions/ProductCode"},"Capabilities":{"$ref":"#/definitions/Capabilities"},"RestrictedCapabilities":{"$ref":"#/definitions/RestrictedCapabilities"},"Installers":{"type":"array","items":{"$ref":"#/definitions/Installer"},"minItems":1,"maxItems":1},"ManifestType":{"type":"string","default":"singleton","const":"singleton","description":"The manifest type"},"ManifestVersion":{"type":"string","default":"1.0.0","pattern":"^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){2}$","description":"The manifest syntax version"}},"required":["PackageIdentifier","PackageVersion","PackageLocale","Publisher","PackageName","License","ShortDescription","Installers","ManifestType","ManifestVersion"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "winget-pkgs-singleton-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, PackageLocale, Publisher, PackageName, License, ShortDescription, Installers, ManifestType, ManifestVersion. Return only the valid JSON object.

The package unique identifier

The package version

The package meta-data locale

Optional Url type

Package moniker or tag

The distribution channel

Platform

The installer supported operating system

The installer minimum operating system version

Enumeration of supported installer types

Scope indicates if the installer is per user or per machine

InstallModes

List of supported installer modes

Silent is the value that should be passed to the installer when user chooses a silent or quiet install

SilentWithProgress is the value that should be passed to the installer when user chooses a non-interactive install

Interactive is the value that should be passed to the installer when user chooses an interactive install

InstallLocation is the value passed to the installer for custom install location. <INSTALLPATH> token can be included in the switch value so that winget will replace the token with user provided path

Log is the value passed to the installer for custom log file path. <LOGPATH> token can be included in the switch value so that winget will replace the token with user provided path

Upgrade is the value that should be passed to the installer when user chooses an upgrade

Custom switches will be passed directly to the installer by winget

List of additional non-zero installer success exit codes other than known default values by winget

The upgrade method

List of commands or aliases to run the package

List of protocols the package provides a handler for

List of file extensions the package could support

List of Windows feature dependencies

List of Windows library dependencies

List of package dependencies from current source

List of external package dependencies

PackageFamilyName for appx or msix installer. Could be used for correlation of packages across sources

ProductCode could be used for correlation of packages across sources

List of appx or msix installer capabilities

List of appx or msix installer restricted capabilities

The installer target architecture

The installer Url

Sha256 is required. Sha256 of the installer

SignatureSha256 is recommended for appx or msix. It is the sha256 of signature file inside appx or msix. Could be used during streaming install if applicable

A representation of a single-file manifest representing an app in the OWC. v1.0.0

The package meta-data locale

The publisher name

The publisher home page

The publisher support page

The publisher privacy page or the package privacy page

The package author

The package name

The package home page

The package license

The license page

The package copyright

The package copyright page

The short package description

The full package description

The most common package term

List of additional package search terms

The manifest type

The manifest syntax version

PackageIdentifier PackageVersion PackageLocale Publisher PackageName License ShortDescription Installers ManifestType ManifestVersion

Provide a JSON object that satisfies the schema "winget-pkgs-singleton-1.0.0". Here are the required top‑level fields: PackageIdentifier, PackageVersion, PackageLocale, Publisher, PackageName, License, ShortDescription, Installers, ManifestType, ManifestVersion. 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/winutil-applications.json","definitions":{"string-property":{"type":"string","minLength":1,"pattern":"[^ ]"}},"title":"applications","description":"Applications\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json","type":"object","minProperties":1,"patternProperties":{".":{"title":"application","description":"An application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json","type":"object","required":["description","category","link","choco","winget","content"],"properties":{"description":{"$ref":"#/definitions/string-property","title":"description","description":"A description of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json"},"category":{"title":"category","description":"A category of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json","type":"string","enum":["Browsers","Communications","Development","Document","Games","Microsoft Tools","Multimedia Tools","Pro Tools","Utilities"]},"link":{"title":"link","description":"A link of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json","type":"string","minLength":1,"pattern":"^https?://","format":"uri"},"choco":{"$ref":"#/definitions/string-property","title":"choco","description":"A Chocolatey package name of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json"},"winget":{"$ref":"#/definitions/string-property","title":"winget","description":"A WinGet package name of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json"},"content":{"$ref":"#/definitions/string-property","title":"content","description":"A label of an application\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json"}},"additionalProperties":false}},"additionalProperties":false}
</schema>

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

applications

Applications
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

application

An application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

description category link choco winget content

description

A description of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

category

A category of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

Browsers
Communications
Development
Document
Games
Microsoft Tools
Multimedia Tools
Pro Tools
Utilities

link

A link of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

choco

A Chocolatey package name of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

winget

A WinGet package name of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

content

A label of an application
https://github.com/ChrisTitusTech/winutil/blob/main/config/applications.json

Provide a JSON object that satisfies the schema "applications". 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/winutil-presets.json","title":"presets","description":"Presets\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json","type":"object","minProperties":1,"patternProperties":{".":{"title":"preset category","description":"A preset category\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json","type":"array","minItems":1,"uniqueItems":true,"items":{"description":"A preset\nhttps://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json","type":"string","minLength":1,"pattern":"[^ ]"}}},"additionalProperties":false}
</schema>

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

presets

Presets
https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json

preset category

A preset category
https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json

A preset
https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json

Provide a JSON object that satisfies the schema "presets". 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/wiremock-stub-mapping.json","$defs":{"dateTimeExpression":{"$schema":"http://json-schema.org/draft-07/schema#","type":"string","examples":["now +3 days"]},"dateFormat":{"$schema":"http://json-schema.org/draft-07/schema#","type":"string","examples":["yyyy-MM-dd"]},"dateTruncation":{"$schema":"http://json-schema.org/draft-07/schema#","type":"string","enum":["first second of minute","first minute of hour","first hour of day","first day of month","first day of next month","last day of month","first day of year","first day of next year","last day of year"],"examples":["first day of month"]}},"description":"WireMock stub mapping","type":"object","additionalProperties":true,"properties":{"id":{"type":"string","description":"This stub mapping's unique identifier"},"uuid":{"type":"string","description":"Alias for the id"},"name":{"type":"string","description":"The stub mapping's name"},"request":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","examples":[{"method":"POST","urlPath":"/charges","headers":{"Content-Type":{"equalTo":"application/json"}}}],"properties":{"scheme":{"type":"string","enum":["http","https"],"description":"The scheme (protocol) part of the request URL"},"host":{"type":"string","description":"The hostname part of the request URL"},"port":{"type":"integer","minimum":1,"maximum":65535,"description":"The HTTP port number of the request URL"},"method":{"type":"string","pattern":"^[A-Z]+$","description":"The HTTP request method e.g. GET"},"url":{"type":"string","description":"The path and query to match exactly against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified."},"urlPath":{"type":"string","description":"The path to match exactly against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified."},"urlPathPattern":{"type":"string","description":"The path regex to match against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified."},"urlPattern":{"type":"string","description":"The path and query regex to match against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified."},"pathParameters":{"type":"object","description":"Path parameter patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form. Can only\nbe used when the urlPathPattern URL match type is in use and all keys must be present as variables\nin the path template.\n","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"queryParameters":{"type":"object","description":"Query parameter patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"formParameters":{"type":"object","description":"application/x-www-form-urlencoded form parameter patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"headers":{"type":"object","description":"Header patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"basicAuthCredentials":{"type":"object","description":"Preemptive basic auth credentials to match against","properties":{"password":{"type":"string"},"username":{"type":"string"}},"required":["username","password"]},"cookies":{"type":"object","description":"Cookie patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"bodyPatterns":{"type":"array","description":"Request body patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","items":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","title":"Content pattern","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"String equals","type":"object","required":["equalTo"],"properties":{"equalTo":{"type":"string"},"caseInsensitive":{"type":"boolean"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Binary equals","type":"object","required":["binaryEqualTo"],"properties":{"binaryEqualTo":{"$ref":"#/properties/response/allOf/0/properties/base64Body"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"String contains","type":"object","properties":{"contains":{"type":"string"}},"required":["contains"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"String does not contain","type":"object","properties":{"doesNotContain":{"type":"string"}},"required":["doesNotContain"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Regular expression match","type":"object","properties":{"matches":{"type":"string"}},"required":["matches"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Negative regular expression match","type":"object","properties":{"doesNotMatch":{"type":"string"}},"required":["doesNotMatch"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"NOT modifier","type":"object","properties":{"not":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"required":["not"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Before datetime","type":"object","properties":{"before":{"$ref":"#/$defs/dateTimeExpression"},"actualFormat":{"$ref":"#/$defs/dateFormat"},"truncateExpected":{"$ref":"#/$defs/dateTruncation"},"truncateActual":{"$ref":"#/$defs/dateTruncation"}},"required":["before"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"After datetime","type":"object","properties":{"after":{"$ref":"#/$defs/dateTimeExpression"},"actualFormat":{"$ref":"#/$defs/dateFormat"},"truncateExpected":{"$ref":"#/$defs/dateTruncation"},"truncateActual":{"$ref":"#/$defs/dateTruncation"}},"required":["after"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Equal to datetime","type":"object","properties":{"equalToDateTime":{"$ref":"#/$defs/dateTimeExpression"},"actualFormat":{"$ref":"#/$defs/dateFormat"},"truncateExpected":{"$ref":"#/$defs/dateTruncation"},"truncateActual":{"$ref":"#/$defs/dateTruncation"}},"required":["equalToDateTime"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON equals","type":"object","properties":{"equalToJson":{"type":"object","examples":[{"amount":{"value":"${json-unit.any-number}","currency_code":"EUR"},"invoice_id":"INVOICE-123","final_capture":true,"note_to_payer":"${json-unit.any-string}","soft_descriptor":"Bob's Custom Sweaters"}]},"ignoreExtraElements":{"type":"boolean"},"ignoreArrayOrder":{"type":"boolean"}},"required":["equalToJson"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSONPath match","type":"object","properties":{"matchesJsonPath":{"oneOf":[{"type":"string","examples":["$.name"]},{"type":"object","allOf":[{"properties":{"expression":{"type":"string","examples":["$.name"]}}},{"$ref":"#/properties/request/properties/bodyPatterns/items"}],"required":["expression"]}]}},"required":["matchesJsonPath"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"XML equality","type":"object","properties":{"equalToXml":{"type":"string","examples":["<amount>123</amount>"]},"enablePlaceholders":{"type":"boolean"},"placeholderOpeningDelimiterRegex":{"type":"string","examples":["["]},"placeholderClosingDelimiterRegex":{"type":"string","examples":["]"]}},"required":["equalToXml"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"XPath match","type":"object","properties":{"matchesXPath":{"oneOf":[{"type":"string","examples":["//Order/Amount"]},{"type":"object","allOf":[{"properties":{"expression":{"type":"string","examples":["//Order/Amount"]}}},{"$ref":"#/properties/request/properties/bodyPatterns/items"}],"required":["expression"]}]},"xPathNamespaces":{"type":"object","additionalProperties":{"type":"string"}}},"required":["matchesXPath"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON Schema match","type":"object","properties":{"matchesJsonSchema":{"oneOf":[{"type":"string","examples":["//Order/Amount"]},{"type":"object","allOf":[{"properties":{"expression":{"type":"string","examples":["//Order/Amount"]}}},{"$ref":"#/properties/request/properties/bodyPatterns/items"}],"required":["expression"]}]},"xPathNamespaces":{"type":"object","additionalProperties":{"type":"string"}}},"required":["matchesJsonSchema"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Absent matcher","type":"object","properties":{"absent":{"type":"boolean"}},"required":["absent"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Logical AND matcher","type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/properties/request/properties/bodyPatterns/items"}}},"required":["and"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Logical AND matcher","type":"object","properties":{"or":{"type":"array","items":{"$ref":"#/properties/request/properties/bodyPatterns/items"}}},"required":["or"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Has exactly multi value matcher","type":"object","properties":{"hasExactly":{"type":"array","items":{"$ref":"#/properties/request/properties/bodyPatterns/items"}}},"required":["hasExactly"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Has exactly multi value matcher","type":"object","properties":{"includes":{"type":"array","items":{"$ref":"#/properties/request/properties/bodyPatterns/items"}}},"required":["includes"]}]}},"customMatcher":{"type":"object","description":"Custom request matcher to match against","properties":{"name":{"type":"string","description":"The matcher's name specified in the implementation of the matcher."},"parameters":{"type":"object"}}},"multipartPatterns":{"type":"array","description":"Multipart patterns to match against headers and body.","items":{"type":"object","properties":{"name":{"type":"string"},"matchingType":{"type":"string","description":"Determines whether all or any of the parts must match the criteria for an overall match.","default":"ANY","enum":["ALL","ANY"]},"headers":{"type":"object","description":"Header patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","additionalProperties":{"$ref":"#/properties/request/properties/bodyPatterns/items"}},"bodyPatterns":{"type":"array","description":"Body patterns to match against in the <key>: { \"<predicate>\": \"<value>\" } form","items":{"$ref":"#/properties/request/properties/bodyPatterns/items"}}}}}}},"response":{"$schema":"http://json-schema.org/draft-07/schema#","allOf":[{"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code to be returned"},"statusMessage":{"type":"string","description":"The HTTP status message to be returned"},"headers":{"type":"object","description":"Map of response headers to send","additionalProperties":{"type":"string"}},"additionalProxyRequestHeaders":{"type":"object","description":"Extra request headers to send when proxying to another host.","additionalProperties":{"type":"string"}},"removeProxyRequestHeaders":{"type":"array","description":"Request headers to remove when proxying to another host.","items":{"type":"string"}},"body":{"type":"string","description":"The response body as a string. Only one of body, base64Body, jsonBody or bodyFileName may be specified."},"base64Body":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base64 string","type":"string","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","description":"A base64 encoded string used to describe binary data."},"jsonBody":{"description":"The response body as a JSON object. Only one of body, base64Body, jsonBody or bodyFileName may be specified.","oneOf":[{"type":"object"},{"type":"array"}]},"bodyFileName":{"type":"string","description":"The path to the file containing the response body, relative to the configured file root. Only one of body, base64Body, jsonBody or bodyFileName may be specified.","examples":["user-profile-responses/user1.json"]},"fault":{"type":"string","description":"The fault to apply (instead of a full, valid response).","enum":["CONNECTION_RESET_BY_PEER","EMPTY_RESPONSE","MALFORMED_RESPONSE_CHUNK","RANDOM_DATA_THEN_CLOSE"]},"fixedDelayMilliseconds":{"type":"integer","description":"Number of milliseconds to delay be before sending the response."},"delayDistribution":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","description":"The delay distribution. Valid property configuration is either median/sigma/type or lower/type/upper.","oneOf":[{"title":"Log normal","description":"Log normal randomly distributed response delay.","type":"object","properties":{"median":{"type":"integer"},"sigma":{"type":"number"},"type":{"type":"string","enum":["lognormal"]}},"required":["median","sigma"]},{"title":"Uniform","description":"Uniformly distributed random response delay.","type":"object","properties":{"lower":{"type":"integer"},"upper":{"type":"integer"},"type":{"type":"string","enum":["uniform"]}},"required":["lower","upper"]},{"title":"Fixed","description":"Fixed response delay.","type":"object","properties":{"milliseconds":{"type":"integer"},"type":{"type":"string","enum":["fixed"]}},"required":["milliseconds"]}]},"chunkedDribbleDelay":{"type":"object","description":"The parameters for chunked dribble delay - chopping the response into pieces and sending them at delayed intervals","properties":{"numberOfChunks":{"type":"integer"},"totalDuration":{"type":"integer"}},"required":["numberOfChunks","totalDuration"]},"fromConfiguredStub":{"type":"boolean","description":"Read-only flag indicating false if this was the default, unmatched response. Not present otherwise."},"proxyBaseUrl":{"type":"string","description":"The base URL of the target to proxy matching requests to."},"proxyUrlPrefixToRemove":{"type":"string","description":"A path segment to remove from the beginning in incoming request URL paths before proxying to the target."},"transformerParameters":{"type":"object","description":"Parameters to apply to response transformers."},"transformers":{"type":"array","description":"List of names of transformers to apply to this response.","items":{"type":"string"}}}}],"type":"object"},"persistent":{"type":"boolean","description":"Indicates that the stub mapping should be persisted immediately on create/update/delete and survive resets to default."},"priority":{"type":"integer","description":"This stub mapping's priority relative to others. 1 is highest.","minimum":1},"scenarioName":{"type":"string","description":"The name of the scenario that this stub mapping is part of"},"requiredScenarioState":{"type":"string","description":"The required state of the scenario in order for this stub to be matched."},"newScenarioState":{"type":"string","description":"The new state for the scenario to be updated to after this stub is served."},"postServeActions":{"type":"object","description":"A map of the names of post serve action extensions to trigger and their parameters."},"serveEventListeners":{"type":"array","description":"The list of serve event listeners","items":{"type":"object","properties":{"name":{"type":"string"},"requestPhases":{"type":"array","items":{"type":"string","enum":["BEFORE_MATCH","AFTER_MATCH","BEFORE_RESPONSE_SENT","AFTER_COMPLETE"]}},"parameters":{"type":"object"}}}},"metadata":{"type":"object","description":"Arbitrary metadata to be used for e.g. tagging, documentation. Can also be used to find and remove stubs."}}}
</schema>

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

first second of minute
first minute of hour
first hour of day
first day of month
first day of next month
last day of month
first day of year
first day of next year
last day of year

WireMock stub mapping

This stub mapping's unique identifier

Alias for the id

The stub mapping's name

The scheme (protocol) part of the request URL

The hostname part of the request URL

The HTTP port number of the request URL

The HTTP request method e.g. GET

The path and query to match exactly against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified.

The path to match exactly against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified.

The path regex to match against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified.

The path and query regex to match against. Only one of url, urlPattern, urlPath or urlPathPattern may be specified.

Path parameter patterns to match against in the <key>: { "<predicate>": "<value>" } form. Can only
be used when the urlPathPattern URL match type is in use and all keys must be present as variables
in the path template.

Query parameter patterns to match against in the <key>: { "<predicate>": "<value>" } form

application/x-www-form-urlencoded form parameter patterns to match against in the <key>: { "<predicate>": "<value>" } form

Header patterns to match against in the <key>: { "<predicate>": "<value>" } form

Preemptive basic auth credentials to match against

Cookie patterns to match against in the <key>: { "<predicate>": "<value>" } form

Request body patterns to match against in the <key>: { "<predicate>": "<value>" } form

Content pattern

String equals

Binary equals

String contains

String does not contain

Regular expression match

Negative regular expression match

NOT modifier

Before datetime

After datetime

Equal to datetime

JSON equals

JSONPath match

XML equality

XPath match

JSON Schema match

Absent matcher

Logical AND matcher

Logical AND matcher

Has exactly multi value matcher

Has exactly multi value matcher

Custom request matcher to match against

The matcher's name specified in the implementation of the matcher.

Multipart patterns to match against headers and body.

Determines whether all or any of the parts must match the criteria for an overall match.

Body patterns to match against in the <key>: { "<predicate>": "<value>" } form

The HTTP status code to be returned

The HTTP status message to be returned

Map of response headers to send

Extra request headers to send when proxying to another host.

Request headers to remove when proxying to another host.

The response body as a string. Only one of body, base64Body, jsonBody or bodyFileName may be specified.

Base64 string

A base64 encoded string used to describe binary data.

The response body as a JSON object. Only one of body, base64Body, jsonBody or bodyFileName may be specified.

The path to the file containing the response body, relative to the configured file root. Only one of body, base64Body, jsonBody or bodyFileName may be specified.

The fault to apply (instead of a full, valid response).

Number of milliseconds to delay be before sending the response.

The delay distribution. Valid property configuration is either median/sigma/type or lower/type/upper.

Log normal

Log normal randomly distributed response delay.

Uniform

Uniformly distributed random response delay.

Fixed

Fixed response delay.

The parameters for chunked dribble delay - chopping the response into pieces and sending them at delayed intervals

Read-only flag indicating false if this was the default, unmatched response. Not present otherwise.

The base URL of the target to proxy matching requests to.

A path segment to remove from the beginning in incoming request URL paths before proxying to the target.

Parameters to apply to response transformers.

List of names of transformers to apply to this response.

Indicates that the stub mapping should be persisted immediately on create/update/delete and survive resets to default.

This stub mapping's priority relative to others. 1 is highest.

The name of the scenario that this stub mapping is part of

The required state of the scenario in order for this stub to be matched.

The new state for the scenario to be updated to after this stub is served.

A map of the names of post serve action extensions to trigger and their parameters.

The list of serve event listeners

Arbitrary metadata to be used for e.g. tagging, documentation. Can also be used to find and remove stubs.

Provide a JSON object that satisfies the schema "wiremock-stub-mapping". 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#","type":"array","items":{"$ref":"https://raw.githubusercontent.com/microsoft/RulesEngine/main/schema/workflow-schema.json"}}
</schema>

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

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


[User] Provide a JSON object that satisfies the schema "workflow-schema". Here are the required top‑level fields: WorkflowName, Rules. Return only the valid JSON object.

Rule

Leaf Rule

Provide a JSON object that satisfies the schema "workflow-schema". Here are the required top‑level fields: WorkflowName, Rules. 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":"https://json-schema.org/draft/2020-12/schema","title":"Speakeasy Workflow Schema","type":"object","additionalProperties":false,"properties":{"workflowVersion":{"type":"string","const":"1.0.0","description":"The version of the workflow schema"},"speakeasyVersion":{"type":"string","oneOf":[{"const":"latest","description":"The latest version of the speakeasy CLI"},{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$","description":"A semver version of the speakeasy CLI, corresponding to https://github.com/speakeasy-api/speakeasy/releases"}]},"sources":{"type":"object","description":"A map of source names to source configurations, where the output is an OpenAPI document","additionalProperties":{"$ref":"#/$defs/source"}},"targets":{"type":"object","description":"A map of target names to target configurations, where the output is a speakeasy generation target","additionalProperties":{"$ref":"#/$defs/target"}}},"required":["workflowVersion"],"$defs":{"source":{"type":"object","description":"A source configuration","properties":{"inputs":{"type":"array","items":{"$ref":"#/$defs/document"},"minItems":1,"description":"A list of input documents (OpenAPI Specifications). These will be merged together"},"overlays":{"type":"array","description":"A list of overlay files (OpenAPI Overlay Specification)","items":{"oneOf":[{"$ref":"#/$defs/document"},{"type":"object","properties":{"fallbackCodeSamplesLanguage":{"type":"string"}},"required":["fallbackCodeSamplesLanguage"]}]}},"transformations":{"type":"array","description":"A list of transformations to apply to the OpenAPI document","items":{"type":"object","additionalProperties":false,"properties":{"removeUnused":{"type":"boolean","description":"Remove unused components from the OpenAPI document"},"filterOperations":{"type":"object","description":"Filter operations from the OpenAPI document","properties":{"operations":{"type":"string","description":"Comma-separated list of operations to filter"},"include":{"type":"boolean","description":"Include the specified operations (mutually exclusive with exclude)"},"exclude":{"type":"boolean","description":"Exclude the specified operations (mutually exclusive with include)"}},"required":["operations"]},"cleanup":{"type":"boolean","description":"Clean up the OpenAPI document"}},"minProperties":1,"maxProperties":1}},"output":{"type":"string","description":"The output file name (optional)"},"ruleset":{"type":"string","description":"The linting ruleset to use (optional)"},"registry":{"type":"object","description":"The openapi registry configuration","properties":{"location":{"type":"string","description":"The registry location to use (for snapshotting/change tracking)"},"tags":{"type":"array","description":"The list of tags to use for the registry"}},"required":["location"]}},"required":["inputs"]},"target":{"type":"object","additionalProperties":false,"properties":{"target":{"type":"string","enum":["csharp","go","java","mcp-typescript","php","python","ruby","swift","terraform","typescript","unity","postman"]},"source":{"type":"string"},"output":{"type":"string"},"publish":{"$ref":"#/$defs/publishing"},"codeSamples":{"$ref":"#/$defs/codeSamples"},"testing":{"$ref":"#/$defs/testing"}},"required":["target","source"]},"document":{"type":"object","additionalProperties":false,"description":"A local or remote document.","properties":{"location":{"type":"string","description":"The location to resolve the document at. E.g. a file name, relative location, or a HTTP URL","minLength":1},"auth":{"$ref":"#/$defs/auth"}},"required":["location"]},"auth":{"type":"object","description":"Authentication information for the document (optional)","additionalProperties":false,"properties":{"header":{"type":"string","description":"A HTTP Header Name"},"secret":{"type":"string","description":"A HTTP Header Value"}},"required":["header","secret"]},"codeSamples":{"type":"object","additionalProperties":false,"description":"Code samples configuration. See https://www.speakeasy.com/guides/openapi/x-codesamples","properties":{"output":{"type":"string","description":"The output file name"},"blocking":{"type":"boolean","description":"Defaults to true. If false, code samples failures will not consider the workflow as failed"},"registry":{"type":"object","description":"The output registry location.","properties":{"location":{"type":"string"}},"required":["location"]},"style":{"type":"string","description":"Optional style for the code sample, one of 'standard' or 'readme'. Default is 'standard'."},"langOverride":{"type":"string","description":"Optional language override for the code sample. Default behavior is to auto-detect."},"labelOverride":{"type":"object","description":"Optional label override for the code sample. Default is to use the operationId.","properties":{"fixedValue":{"type":"string","description":"Optional fixed value for the label."},"omit":{"type":"boolean","description":"Optional flag to omit the label."}}}},"required":[]},"publishing":{"type":"object","additionalProperties":false,"description":"The publishing configuration. See https://www.speakeasy.com/docs/workflow-reference/publishing-reference","properties":{"npm":{"type":"object","additionalProperties":false,"description":"NPM (Typescript) publishing configuration.","properties":{"token":{"type":"string"}},"required":["token"]},"pypi":{"type":"object","additionalProperties":false,"description":"PyPI (Python)publishing configuration.","properties":{"token":{"type":"string"}},"required":["token"]},"packagist":{"type":"object","additionalProperties":false,"description":"Packagist (PHP) publishing configuration.","properties":{"username":{"type":"string"},"token":{"type":"string"}},"required":["username","token"]},"java":{"type":"object","additionalProperties":false,"description":"Maven (Java) publishing configuration.","properties":{"ossrhUsername":{"type":"string"},"ossrhPassword":{"type":"string"},"gpgSecretKey":{"type":"string"},"gpgPassPhrase":{"type":"string"},"useSonatypeLegacy":{"type":"boolean"}},"required":["ossrhUsername","ossrhPassword","gpgSecretKey","gpgPassPhrase","useSonatypeLegacy"]},"rubygems":{"type":"object","additionalProperties":false,"description":"Rubygems (Ruby) publishing configuration.","properties":{"token":{"type":"string"}},"required":["token"]},"nuget":{"type":"object","description":"NuGet (C#) publishing configuration.","additionalProperties":false,"properties":{"apiKey":{"type":"string"}},"required":["apiKey"]}}},"testing":{"type":"object","additionalProperties":false,"description":"Target testing configuration. By default, targets are not tested as part of the workflow.","properties":{"enabled":{"type":"boolean","description":"Defaults to false. If true, the target will be tested as part of the workflow."},"mockServer":{"type":"object","additionalProperties":false,"description":"Mock API server configuration for testing. By default and if generated, the mock API server is started before testing and used.","properties":{"enabled":{"type":"boolean","description":"Defaults to true. If false, the mock API server will not be started."}},"required":[]}},"required":[]}}}
</schema>

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

Speakeasy Workflow Schema

The version of the workflow schema

The latest version of the speakeasy CLI

A semver version of the speakeasy CLI, corresponding to https://github.com/speakeasy-api/speakeasy/releases

A map of source names to source configurations, where the output is an OpenAPI document

A map of target names to target configurations, where the output is a speakeasy generation target

A source configuration

A list of input documents (OpenAPI Specifications). These will be merged together

A list of overlay files (OpenAPI Overlay Specification)

A list of transformations to apply to the OpenAPI document

Remove unused components from the OpenAPI document

Filter operations from the OpenAPI document

Comma-separated list of operations to filter

Include the specified operations (mutually exclusive with exclude)

Exclude the specified operations (mutually exclusive with include)

Clean up the OpenAPI document

The output file name (optional)

The linting ruleset to use (optional)

The openapi registry configuration

The registry location to use (for snapshotting/change tracking)

The list of tags to use for the registry

csharp go java mcp-typescript php python ruby swift terraform typescript unity postman

A local or remote document.

The location to resolve the document at. E.g. a file name, relative location, or a HTTP URL

Authentication information for the document (optional)

A HTTP Header Name

A HTTP Header Value

Code samples configuration. See https://www.speakeasy.com/guides/openapi/x-codesamples

The output file name

Defaults to true. If false, code samples failures will not consider the workflow as failed

The output registry location.

Optional style for the code sample, one of 'standard' or 'readme'. Default is 'standard'.

Optional language override for the code sample. Default behavior is to auto-detect.

Optional label override for the code sample. Default is to use the operationId.

Optional fixed value for the label.

Optional flag to omit the label.

The publishing configuration. See https://www.speakeasy.com/docs/workflow-reference/publishing-reference

NPM (Typescript) publishing configuration.

PyPI (Python)publishing configuration.

Packagist (PHP) publishing configuration.

Maven (Java) publishing configuration.

ossrhUsername ossrhPassword gpgSecretKey gpgPassPhrase useSonatypeLegacy

Rubygems (Ruby) publishing configuration.

NuGet (C#) publishing configuration.

Target testing configuration. By default, targets are not tested as part of the workflow.

Defaults to false. If true, the target will be tested as part of the workflow.

Mock API server configuration for testing. By default and if generated, the mock API server is started before testing and used.

Defaults to true. If false, the mock API server will not be started.

Provide a JSON object that satisfies the schema "Speakeasy Workflow Schema". Here are the required top‑level fields: workflowVersion. 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/workflows.json","definitions":{"subworkflow":{"type":"object","description":"A subworkflow.","additionalProperties":false,"properties":{"params":{"description":"The name of the parameter variable.","type":"array","minItems":0,"maxItems":10,"uniqueItems":true},"steps":{"$ref":"#/definitions/stepArray","description":"An array of objects with a single step."}}},"stepArray":{"type":"array","description":"An array of objects with a single step.","minItems":1,"maxItems":100000,"items":{"type":"object","description":"An object with a single step.","minProperties":1,"maxProperties":1,"additionalProperties":false,"patternProperties":{"^.*$":{"$ref":"#/definitions/step","description":"A single workflow step."}}}},"step":{"type":"object","description":"A single workflow step.","additionalProperties":false,"dependencies":{"args":["call"],"result":["call"],"except":["try"],"retry":["try"]},"properties":{"assign":{"$ref":"#/definitions/assign"},"call":{"$ref":"#/definitions/call"},"args":{"$ref":"#/definitions/args"},"result":{"$ref":"#/definitions/result"},"next":{"$ref":"#/definitions/next"},"switch":{"$ref":"#/definitions/switch"},"for":{"$ref":"#/definitions/for"},"parallel":{"$ref":"#/definitions/parallel"},"raise":{"$ref":"#/definitions/raise"},"try":{"$ref":"#/definitions/try"},"retry":{"$ref":"#/definitions/retry"},"except":{"$ref":"#/definitions/except"},"return":{"$ref":"#/definitions/return"},"steps":{"$ref":"#/definitions/stepArray"}}},"assign":{"description":"A list of variable assignment maps.","type":"array","items":{"type":"object","description":"A single variable assignment.","minProperties":1,"maxProperties":1},"minItems":1,"maxItems":50},"call":{"description":"Run a function and return a result.","anyOf":[{"description":"Standard library module for HTTP/S request support.","type":"string","enum":["http.get","http.post","http.put","http.patch","http.delete","http.request"]},{"description":"Standard library module for common system interface.","type":"string","enum":["sys.sleep","sys.sleep_until","sys.log"]},{"description":"Standard library module for event support.","type":"string","enum":["events.await_callback","events.create_callback_endpoint"]},{"description":"A subworkflow.","type":"string"},{"description":"A Google Cloud API connector.","type":"string","pattern":"^googleapis(\\.[a-zA-Z1-9]+)+"}]},"args":{"type":"object","description":"Pass arguments and their values when calling a function that accepts parameters.","additionalProperties":true,"properties":{"url":{"anyOf":[{"description":"URL where the request is sent. Required if using call type http.request.","type":"string","format":"uri"},{"description":"An expression that results to a URL where the request is sent. Required if using call type http.request.","type":"string","pattern":"^\\$\\{.+\\}$"}]},"method":{"description":"The type of HTTP request method to use. Required if using call type http.request.","type":"string","enum":["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]},"headers":{"description":"Header fields to supply input to the API.","type":"object","minProperties":1},"body":{"description":"Body fields to supply input to the API.","anyOf":[{"type":"object"},{"type":"null"},{"type":"string"},{"type":"string","pattern":"^\\$\\{.+\\}$"}]},"query":{"description":"Query fields to supply input to the API.","anyOf":[{"type":"object"},{"type":"string","pattern":"^\\$\\{.+\\}$"}]},"auth":{"description":"Required if the API being called requires authentication.","type":"object","additionalProperties":false,"properties":{"type":{"description":"The type of authentication.","enum":["OIDC","OAuth2"]},"scope":{"description":"Specify token scope to limit an application's access to a user's account.","anyOf":[{"description":"List of scope strings.","type":"array","contains":{"type":"string"}},{"description":"Scope string.","type":"string"}]},"scopes":{"$ref":"#/definitions/scopes","description":"Specify token scope to limit an application's access to a user's account."},"audience":{"description":"Specifies the audience for the OIDC token. By default, it's set to the same value as url; however, it should be set to your service's root URL.","anyOf":[{"type":"string","format":"uri"},{"type":"string","pattern":"^\\$\\{.+\\}$"}]}}},"timeout":{"description":"Time in seconds. How long a request is allowed to run before throwing an exception. Default and maximum values vary by call.","type":"number"},"connector_params":{"description":"Connector-specific parameters.","type":"object","properties":{"timeout":{"description":"Time in seconds. The end-to-end duration the connector call is allowed to run for before throwing a timeout exception.","type":"integer","default":1800,"maximum":31536000},"polling_policy":{"description":"Polling policy.","type":"object","properties":{"initial_delay":{"description":"Time in seconds. Only applies to long-running operation calls.","type":"number","default":1.0},"multiplier":{"description":"Time in seconds. Only applies to long-running operation calls.","type":"number","default":1.25},"max_delay":{"description":"Time in seconds. Only applies to long-running operation calls.","type":"number","default":60.0}}},"skip_polling":{"description":"If set to True, the connector invocation call is non-blocking if the initial request to manage or update the resource succeeds","type":"boolean","default":false},"scopes":{"$ref":"#/definitions/scopes","description":"OAuth2 scopes to pass to the Google API."}}}}},"result":{"description":"Assign the result from a call to this variable."},"next":{"description":"Define what step Workflows should execute next.","anyOf":[{"description":"The step name.","type":"string"},{"description":"Stop a workflow's execution without returning a value.","type":"string","const":"end"},{"description":"Terminate the current iteration of a for loop and continue with the next iteration.","type":"string","const":"continue"},{"description":"Terminate iteration of a for loop.","type":"string","const":"break"}]},"return":{"description":"Stop a workflow's execution and return a value, variable, or expression."},"for":{"description":"Iterates over a sequence of numbers or through a collection of data, such as a list or map.","type":"object","additionalProperties":false,"required":["value","steps"],"properties":{"value":{"description":"A loop variable name. Contains the value of the currently iterated element.","type":"string"},"index":{"description":"An index variable name. Contains the value to the current offset of the iteration. ","type":"string"},"in":{"description":"An expression that evaluates into a list or a list definition. Required, if not using 'range'.","anyOf":[{"description":"A list.","type":"array"},{"description":"An expression that evaluates into a list.","type":"string","pattern":"^\\$\\{.+\\}$"}]},"range":{"description":"A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.","anyOf":[{"description":"Array specifying the beginning and end of the range, both inclusive.","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"description":"The expressions must evaluate into incrementable values; that is, integer or double. Make sure that you do not use multiple expressions inside a list like this: [${rangeStart}, ${rangeEnd}]).","type":"string","pattern":"^\\$\\{\\[.+\\]\\}$"}]},"steps":{"$ref":"#/definitions/stepArray","description":"Each iteration the steps will be executed."}},"oneOf":[{"required":["in"]},{"required":["range"]}]},"parallel":{"type":"object","description":"Define a part of your workflow where two or more steps can execute concurrently. A 'parallel' step waits until all the steps defined within it have completed or are interrupted by an unhandled exception; execution then continues.","additionalProperties":false,"properties":{"exception_policy":{"description":"The action for other branches when an exception occurs. Optional. The default policy, 'continueAll', results in no further action, and all other branches will attempt to run.","type":"string","const":"continueAll"},"shared":{"description":"A list of writable variables with parent scope that allow assignments within the 'parallel' step.","type":"array","uniqueItems":true,"items":{"type":"string"}},"concurrency_limit":{"description":"The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are queued to wait. This applies to a single 'parallel' step only and does not cascade. Must be a positive integer and can be either a literal value or an expression.","type":"integer"},"branches":{"$ref":"#/definitions/branches","description":"Branches that can run concurrently. Required, if not using 'for'."},"for":{"$ref":"#/definitions/for","description":"A loop where iterations can run concurrently. Required, if not using 'branches'."}},"oneOf":[{"required":["for"]},{"required":["branches"]}]},"branches":{"$ref":"#/definitions/stepArray","description":"Execute parallel branches concurrently and the steps in each branch sequentially.","type":"array","minItems":2,"maxItems":10},"switch":{"description":"A switch block. A selection mechanism that allows the value of an expression to control the flow of a workflow's execution. If a value matches, that condition's statement is executed.","type":"array","minItems":1,"maxItems":50,"items":{"$ref":"#/definitions/condition"}},"condition":{"type":"object","description":"Define conditional expressions for a switch block.","required":["condition"],"properties":{"condition":{"description":"An expression to switch on.","anyOf":[{"type":"string","pattern":"^\\$\\{.+\\}$"},{"type":"boolean"}]},"steps":{"$ref":"#/definitions/stepArray"},"assign":{"$ref":"#/definitions/assign"},"call":{"$ref":"#/definitions/call"},"args":{"$ref":"#/definitions/args"},"result":{"$ref":"#/definitions/result"},"next":{"$ref":"#/definitions/next"},"switch":{"$ref":"#/definitions/switch"},"for":{"$ref":"#/definitions/for"},"parallel":{"$ref":"#/definitions/parallel"},"raise":{"$ref":"#/definitions/raise"},"try":{"$ref":"#/definitions/try"},"retry":{"$ref":"#/definitions/retry"},"except":{"$ref":"#/definitions/except"},"return":{"$ref":"#/definitions/return"}}},"raise":{"description":"Raise an exception.","anyOf":[{"description":"Error message string.","type":"string"},{"description":"Error message map.","type":"object","properties":{"code":{"description":"Error code.","type":"integer"},"message":{"description":"Error message string.","type":"string"}}}]},"try":{"description":"A try/except structure for error handling.","anyOf":[{"$ref":"#/definitions/step","description":"A step."},{"$ref":"#/definitions/stepArray","description":"A list of steps."}]},"except":{"description":"A try/except structure for error handling.","type":"object","additionalProperties":false,"properties":{"as":{"description":"The name of a map variable that contains the error message.","type":"string"},"steps":{"$ref":"#/definitions/stepArray","description":"A list of steps."}}},"retry":{"description":"Define a retry policy to retry steps that return a specific error code.","oneOf":[{"type":"object","description":"Retry block. Optional, if using a default retry policy.","additionalProperties":false,"properties":{"predicate":{"type":"string","description":"Defines which error codes will be retried. Options include ${http.default_retry_predicate}, ${http.default_retry_predicate_non_idempotent}, or a custom predicate defined as a subworkflow."},"max_retries":{"type":"integer","description":"Maximum number of times a step will be retried, not counting the initial step execution attempt."},"backoff":{"type":"object","description":"Block that controls how retries occur.","additionalProperties":false,"properties":{"initial_delay":{"type":"integer","description":"Delay in seconds between the initial failure and the first retry."},"max_delay":{"type":"integer","description":"Maximum delay in seconds between retries."},"multiplier":{"type":"integer","description":"Multiplier applied to the previous delay to calculate the delay for the subsequent retry."}}}}},{"description":"Default retry policy. Optional, if using retry block. Options include ${http.default_retry} and ${http.default_retry_non_idempotent}.","type":"string","pattern":"^\\$\\{.+\\}$"}]},"scopes":{"description":"Specify token scope to limit an application's access to a user's account.","anyOf":[{"description":"List of scope strings.","type":"array","contains":{"type":"string"}},{"description":"Scope string.","type":"string"},{"description":"Space and comma-separated strings","type":"string"}]}},"description":"Orchestrate Workflows consisting of Google Cloud APIs, SaaS APIs or private API endpoints.","oneOf":[{"type":"object","description":"The main workflow.","required":["main"],"properties":{"main":{"type":"object","additionalProperties":false,"properties":{"params":{"description":"The name of the parameter variable.","type":"array","items":{"type":"string"},"minItems":0,"maxItems":1,"uniqueItems":true},"steps":{"$ref":"#/definitions/stepArray","description":"An array of objects with a single step."}}}},"additionalProperties":{"$ref":"#/definitions/subworkflow"}},{"$ref":"#/definitions/stepArray","description":"A list of steps."}],"title":"Google Cloud Workflows"}
</schema>

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

A subworkflow.

The name of the parameter variable.

An array of objects with a single step.

An array of objects with a single step.

An object with a single step.

A single workflow step.

A single workflow step.

A list of variable assignment maps.

A single variable assignment.

Run a function and return a result.

Standard library module for HTTP/S request support.

Standard library module for common system interface.

Standard library module for event support.

A subworkflow.

A Google Cloud API connector.

Pass arguments and their values when calling a function that accepts parameters.

An expression that results to a URL where the request is sent. Required if using call type http.request.

The type of HTTP request method to use. Required if using call type http.request.

GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH

Header fields to supply input to the API.

Body fields to supply input to the API.

Query fields to supply input to the API.

Required if the API being called requires authentication.

The type of authentication.

Specify token scope to limit an application's access to a user's account.

List of scope strings.

Scope string.

Specifies the audience for the OIDC token. By default, it's set to the same value as url; however, it should be set to your service's root URL.

Time in seconds. How long a request is allowed to run before throwing an exception. Default and maximum values vary by call.

Connector-specific parameters.

Time in seconds. The end-to-end duration the connector call is allowed to run for before throwing a timeout exception.

Polling policy.

Time in seconds. Only applies to long-running operation calls.

If set to True, the connector invocation call is non-blocking if the initial request to manage or update the resource succeeds

OAuth2 scopes to pass to the Google API.

Assign the result from a call to this variable.

Define what step Workflows should execute next.

The step name.

Stop a workflow's execution without returning a value.

Terminate the current iteration of a for loop and continue with the next iteration.

Terminate iteration of a for loop.

Stop a workflow's execution and return a value, variable, or expression.

Iterates over a sequence of numbers or through a collection of data, such as a list or map.

A loop variable name. Contains the value of the currently iterated element.

An index variable name. Contains the value to the current offset of the iteration.

An expression that evaluates into a list or a list definition. Required, if not using 'range'.

A list.

An expression that evaluates into a list.

A list of two expressions, specifying the beginning and end of the range, both inclusive. Required, if not using 'in'.

Array specifying the beginning and end of the range, both inclusive.

The expressions must evaluate into incrementable values; that is, integer or double. Make sure that you do not use multiple expressions inside a list like this: [${rangeStart}, ${rangeEnd}]).

Each iteration the steps will be executed.

Define a part of your workflow where two or more steps can execute concurrently. A 'parallel' step waits until all the steps defined within it have completed or are interrupted by an unhandled exception; execution then continues.

The action for other branches when an exception occurs. Optional. The default policy, 'continueAll', results in no further action, and all other branches will attempt to run.

A list of writable variables with parent scope that allow assignments within the 'parallel' step.

The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are queued to wait. This applies to a single 'parallel' step only and does not cascade. Must be a positive integer and can be either a literal value or an expression.

Branches that can run concurrently. Required, if not using 'for'.

A loop where iterations can run concurrently. Required, if not using 'branches'.

Execute parallel branches concurrently and the steps in each branch sequentially.

A switch block. A selection mechanism that allows the value of an expression to control the flow of a workflow's execution. If a value matches, that condition's statement is executed.

Define conditional expressions for a switch block.

An expression to switch on.

Raise an exception.

Error message string.

Error message map.

Error code.

Error message string.

A try/except structure for error handling.

A step.

A list of steps.

The name of a map variable that contains the error message.

A list of steps.

Define a retry policy to retry steps that return a specific error code.

Retry block. Optional, if using a default retry policy.

Defines which error codes will be retried. Options include ${http.default_retry_predicate}, ${http.default_retry_predicate_non_idempotent}, or a custom predicate defined as a subworkflow.

Maximum number of times a step will be retried, not counting the initial step execution attempt.

Block that controls how retries occur.

Delay in seconds between the initial failure and the first retry.

Maximum delay in seconds between retries.

Multiplier applied to the previous delay to calculate the delay for the subsequent retry.

Default retry policy. Optional, if using retry block. Options include ${http.default_retry} and ${http.default_retry_non_idempotent}.

List of scope strings.

Scope string.

Space and comma-separated strings

Orchestrate Workflows consisting of Google Cloud APIs, SaaS APIs or private API endpoints.

The main workflow.

The name of the parameter variable.

An array of objects with a single step.

A list of steps.

Google Cloud Workflows

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