[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":{"module-format":{"enum":["esmodule","commonjs","es6","es6-global"],"description":"es6 and es6-global are deprecated. Default: commonjs."},"suffix-spec":{"type":"string","description":"Suffix of generated js files. Default: .js. May contain letters, digits, \"-\", \"_\" and \".\" and must end with .js, .mjs or .cjs."},"module-format-object":{"type":"object","properties":{"module":{"$ref":"#/definitions/module-format"},"in-source":{"type":"boolean","description":"Default: false."},"suffix":{"$ref":"#/definitions/suffix-spec"}},"required":["module"]},"package-spec":{"oneOf":[{"$ref":"#/definitions/module-format"},{"$ref":"#/definitions/module-format-object"}]},"namespace-spec":{"oneOf":[{"type":"boolean","description":"true to use the package name as namespace, false to not use"},{"type":"string","description":"provide customized namespace name"}]},"package-specs":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/package-spec"}},{"$ref":"#/definitions/package-spec"}]},"reanalyze":{"type":"object","properties":{"analysis":{"type":"array","items":{"enum":["dce","exception","termination"]},"description":"The types of analysis to activate. `dce` means dead code analysis, `exception` means exception analysis, and `termination` is to check for infinite loops."},"suppress":{"type":"array","items":{"type":"string"},"description":"Paths for any folders you'd like to exclude from analysis. Useful for bindings and similar. Example: `[\"src/bindings\"]`."},"unsuppress":{"type":"array","items":{"type":"string"},"description":"Any specific paths inside suppressed folders that you want to unsuppress. Example: [\"src/bindings/SomeBinding.res\"]."},"transitive":{"type":"boolean","description":"specify whether transitively dead items should be reported (default: false)"}},"additionalProperties":false},"react-jsx-version":{"title":"jsx-version","type":"number","description":"backward compatible mode, true means on with the default to be version 1 (the default value is subject to change)"},"ppx-specs":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"pp-specs":{"type":"string"},"bs-dependency":{"type":"string","title":"dependency"},"dependencies":{"type":"array","items":{"$ref":"#/definitions/bs-dependency"}},"js-post-build":{"type":"object","properties":{"cmd":{"type":"string"}}},"rule-generator":{"type":"object","properties":{"name":{"type":"string"},"command":{"type":"string"}},"description":"The shell command is running in *dev* time, and you generated could should be checked in, the depedency is tracked properly during dev time,example: `{ \"name\" : \"ocamllex\", \"command\" : \"ocamllex.opt $in -o $out\"}`"},"build-generator":{"type":"object","properties":{"name":{"type":"string"},"edge":{"type":"array","items":{"type":"string"}}},"description":"Note that we will add the directory path accordingly"},"sourceItem":{"title":"sourceItem","oneOf":[{"type":"object","properties":{"dir":{"type":"string","description":"name of the directory"},"type":{"enum":["dev"]},"files":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"if files are empty, the build system will populate it automatically. Useful for initial build"},{"type":"object","properties":{"slow-re":{"type":"string","description":"Regex to glob the patterns, syntax is documented [here](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html), for better incremental build performance, we'd suggest listing files explicitly"},"excludes":{"type":"array","items":{"type":"string"},"description":"Files to be excluded"}}}]},"generators":{"type":"array","items":{"$ref":"#/definitions/build-generator"},"description":"(WIP) Files generated in dev time"},"public":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Selected modules, for example, [Module_a, Module_b] "},{"enum":["all"]}],"description":"Default: export all modules. It is recommended for library developers to hide some files/interfaces"},"resources":{"type":"array","items":{"type":"string"}},"subdirs":{"title":"Sub directories","oneOf":[{"$ref":"#/definitions/sources","description":"More source directories"},{"type":"boolean","description":"true means traverse to all subdirs"}]},"group":{"oneOf":[{"type":"string","description":"A _unique_ name for each directory to refer as an internal dependency later"},{"type":"object","properties":{"name":{"type":"string"},"hierachy":{"type":"boolean","description":"When true, all subdirs are considered as a whole as dependency"}}}],"description":"Not implemented yet"},"internal-depends":{"type":"array","items":{"type":"string","description":"internal dependencies, if unspecified, all existing listed source files are considered potential dependencies"}}},"required":["dir"]},{"title":"Single non-nested directory","type":"string"}]},"sources":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/sourceItem"},"description":"A list of source items"},{"$ref":"#/definitions/sourceItem","description":"A single source item"}],"description":"Example: `\"src\"` or `[\"src\", \"test\"]` or `[{\"dir\": \"src\", \"subdirs\": [...]}]`"},"gentype-specs":{"type":"object","properties":{"path":{"type":"string"}},"description":"path to gentype, path resolution is similar to ReScript"},"jsx-specs":{"type":"object","properties":{"version":{"type":"number","enum":[4],"description":"Whether to apply the specific version of JSX PPX transformation"},"module":{"type":"string","description":"JSX module. Either \"react\" for React, or (since v11.1) any valid module name to apply a generic JSX transform."},"mode":{"type":"string","enum":["classic","automatic"],"description":"JSX transformation mode"}},"additionalProperties":false},"bsc-flags":{"oneOf":[{"type":"array","items":{"type":"string"},"description":"Default: `[\"-no-alias-deps\"]`"},{"type":"object","properties":{"kind":{"enum":["reset","prefix","append"]},"flags":{"type":"array","items":{"type":"string"}}},"description":"(Not implemented yet)"}]},"editor":{"type":"object","properties":{"autocomplete":{"type":"object","description":"A mapping to extend the autocompletion for a given type with an array of modules. E.g. `{ \"int\": [\"IntUtils\", \"IntExt\"] }` will extend the autocompletion of the `int` type with the values from `IntUtils` and `IntExt` modules.","patternProperties":{"^[a-zA-Z0-9_.]+$":{"type":"array","items":{"type":"string"}}}}},"additionalProperties":false}},"title":"ReScript build configuration","description":"All paths are required to be in **Unix format** (foo/bar), the build system normalizes them for other platforms internally","type":"object","properties":{"version":{"type":"string","description":"The semantic version of the ReScript library"},"name":{"type":"string","description":"Package name"},"namespace":{"$ref":"#/definitions/namespace-spec","description":"can be true/false or a customized name"},"sources":{"$ref":"#/definitions/sources","description":"Source code location"},"ignored-dirs":{"type":"array","items":{"type":"string"},"description":"a list of directories that bsb will not look into"},"bs-dependencies":{"$ref":"#/definitions/dependencies","description":"ReScript dependencies of the library, like in package.json. Currently searches in `node_modules`"},"bs-dev-dependencies":{"$ref":"#/definitions/dependencies","description":"ReScript dev dependencies of the library, like in package.json. Currently searches in `node_modules`"},"pinned-dependencies":{"$ref":"#/definitions/dependencies","description":"Those dependencies are pinned (since version 8.4)"},"generators":{"type":"array","items":{"$ref":"#/definitions/rule-generator"},"description":"(WIP) Pre defined rules"},"cut-generators":{"type":"boolean","description":"Ignore generators, cut the dependency on generator tools"},"jsx":{"$ref":"#/definitions/jsx-specs","description":"Configuration for the JSX transformation."},"uncurried":{"type":"boolean","description":"Configuration for the uncurried mode."},"gentypeconfig":{"$ref":"#/definitions/gentype-specs","description":"gentype config, see cristianoc/genType for more details"},"bsc-flags":{"$ref":"#/definitions/bsc-flags","description":"Flags passed to bsc.exe"},"warnings":{"type":"object","properties":{"number":{"type":"string","description":"Default: \"+a-4-9-20-41-50-102\". Go [here](https://rescript-lang.org/docs/manual/latest/warning-numbers) for the meanings of the warning flags"},"error":{"oneOf":[{"type":"boolean","description":"True means warn is error(default)"},{"type":"string","description":"Same as warning number but different set"}]}},"description":"warning numbers and whether to turn it into error or not"},"ppx-flags":{"$ref":"#/definitions/ppx-specs","description":"PPX macros to pass to compiler. The syntax is package_name/binary, for example: `rescript-relay/ppx`. Currenly searches in `node_modules`"},"pp-flags":{"$ref":"#/definitions/pp-specs","description":"preprocessors to pass to compiler. The syntax is package_name/binary, for example: `pp/syntax.exe`. Currenly searches in `node_modules`"},"js-post-build":{"$ref":"#/definitions/js-post-build","description":"(Experimental) post-processing hook. bsb will invoke `cmd ${file}` whenever a `${file}` is changed"},"package-specs":{"$ref":"#/definitions/package-specs","description":"ReScript can currently output to [Commonjs](https://en.wikipedia.org/wiki/CommonJS), and [ES6 modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)"},"external-stdlib":{"type":"string","description":"Use the external stdlib library instead of the one shipped with the compiler package"},"bs-external-includes":{"type":"array","items":{"type":"string"},"description":"(Not needed usually) external include directories, which will be applied `-I` to all compilation units"},"suffix":{"$ref":"#/definitions/suffix-spec"},"reanalyze":{"$ref":"#/definitions/reanalyze","description":"Configure reanalyze, a static code analysis tool for ReScript."},"editor":{"$ref":"#/definitions/editor","description":"Configure editor functionality, like modules that should be included in autocompletions for given (built-in) types."}},"additionalProperties":false,"required":["name","sources"]}
</schema>

[User] Provide a JSON object that satisfies the schema "ReScript build configuration". Here are the required top‑level fields: name, sources. Return only the valid JSON object.

es6 and es6-global are deprecated. Default: commonjs.

Suffix of generated js files. Default: .js. May contain letters, digits, "-", "_" and "." and must end with .js, .mjs or .cjs.

Default: false.

true to use the package name as namespace, false to not use

provide customized namespace name

The types of analysis to activate. `dce` means dead code analysis, `exception` means exception analysis, and `termination` is to check for infinite loops.

Paths for any folders you'd like to exclude from analysis. Useful for bindings and similar. Example: `["src/bindings"]`.

Any specific paths inside suppressed folders that you want to unsuppress. Example: ["src/bindings/SomeBinding.res"].

specify whether transitively dead items should be reported (default: false)

jsx-version

backward compatible mode, true means on with the default to be version 1 (the default value is subject to change)

dependency

The shell command is running in *dev* time, and you generated could should be checked in, the depedency is tracked properly during dev time,example: `{ "name" : "ocamllex", "command" : "ocamllex.opt $in -o $out"}`

Note that we will add the directory path accordingly

sourceItem

name of the directory

if files are empty, the build system will populate it automatically. Useful for initial build

Regex to glob the patterns, syntax is documented [here](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html), for better incremental build performance, we'd suggest listing files explicitly

Files to be excluded

(WIP) Files generated in dev time

Selected modules, for example, [Module_a, Module_b]

Default: export all modules. It is recommended for library developers to hide some files/interfaces

Sub directories

More source directories

true means traverse to all subdirs

A _unique_ name for each directory to refer as an internal dependency later

When true, all subdirs are considered as a whole as dependency

Not implemented yet

internal dependencies, if unspecified, all existing listed source files are considered potential dependencies

Single non-nested directory

A list of source items

A single source item

Example: `"src"` or `["src", "test"]` or `[{"dir": "src", "subdirs": [...]}]`

path to gentype, path resolution is similar to ReScript

Whether to apply the specific version of JSX PPX transformation

JSX module. Either "react" for React, or (since v11.1) any valid module name to apply a generic JSX transform.

JSX transformation mode

Default: `["-no-alias-deps"]`

(Not implemented yet)

A mapping to extend the autocompletion for a given type with an array of modules. E.g. `{ "int": ["IntUtils", "IntExt"] }` will extend the autocompletion of the `int` type with the values from `IntUtils` and `IntExt` modules.

ReScript build configuration

All paths are required to be in **Unix format** (foo/bar), the build system normalizes them for other platforms internally

The semantic version of the ReScript library

Package name

can be true/false or a customized name

Source code location

a list of directories that bsb will not look into

ReScript dependencies of the library, like in package.json. Currently searches in `node_modules`

ReScript dev dependencies of the library, like in package.json. Currently searches in `node_modules`

Those dependencies are pinned (since version 8.4)

(WIP) Pre defined rules

Ignore generators, cut the dependency on generator tools

Configuration for the JSX transformation.

Configuration for the uncurried mode.

gentype config, see cristianoc/genType for more details

Flags passed to bsc.exe

Default: "+a-4-9-20-41-50-102". Go [here](https://rescript-lang.org/docs/manual/latest/warning-numbers) for the meanings of the warning flags

True means warn is error(default)

Same as warning number but different set

warning numbers and whether to turn it into error or not

PPX macros to pass to compiler. The syntax is package_name/binary, for example: `rescript-relay/ppx`. Currenly searches in `node_modules`

preprocessors to pass to compiler. The syntax is package_name/binary, for example: `pp/syntax.exe`. Currenly searches in `node_modules`

(Experimental) post-processing hook. bsb will invoke `cmd ${file}` whenever a `${file}` is changed

ReScript can currently output to [Commonjs](https://en.wikipedia.org/wiki/CommonJS), and [ES6 modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)

Use the external stdlib library instead of the one shipped with the compiler package

(Not needed usually) external include directories, which will be applied `-I` to all compilation units

Configure reanalyze, a static code analysis tool for ReScript.

Configure editor functionality, like modules that should be included in autocompletions for given (built-in) types.

Provide a JSON object that satisfies the schema "ReScript build configuration". Here are the required top‑level fields: name, sources. 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#","title":"build-info","description":"build-info","type":"object","properties":{"properties":{"type":"object","description":"Environment variables and properties collected from the CI server","patternProperties":{"^.+$":{"type":"string"}}},"version":{"description":"Build info schema version","type":"string"},"name":{"description":"Build name","type":"string"},"number":{"description":"Build number","type":"string"},"type":{"description":"Build type","type":"string"},"buildAgent":{"description":"Build tool information","type":"object","properties":{"name":{"description":"Build tool type","type":"string"},"version":{"description":"Build tool version","type":"string"}}},"agent":{"description":"CI server information","type":"object","properties":{"name":{"description":"CI server type","type":"string"},"version":{"description":"CI server version","type":"string"}}},"started":{"description":"Build start time","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}(Z|[+-]\\d{4})$"},"durationMillis":{"description":"Build duration in milliseconds","type":"integer"},"principal":{"description":"","type":"string"},"url":{"description":"CI server URL","type":"string"},"vcs":{"description":"List of VCS used for the build","type":"array","items":{"url":{"description":"VCS URL","type":"string"},"branch":{"description":"Branch","type":"string"},"revision":{"description":"Last commit hash","type":"string"},"message":{"description":"Last commit message","type":"string"}}}},"modules":{"description":"Build-info modules","type":"array","items":{"type":"object","properties":{"properties":{"description":"Module properties","type":"object","patternProperties":{"^.+$":{"type":"string"}}},"id":{"description":"Module ID","type":"string"},"type":{"description":"Module type","type":"string"},"artifacts":{"description":"List of module artifacts","type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"sha256":{"type":"string"},"sha1":{"type":"string"},"md5":{"type":"string"}}}},"dependencies":{"description":"List of module dependencies","type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"sha256":{"type":"string"},"sha1":{"type":"string"},"md5":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"requestedBy":{"description":"List of ancestor dependencies, which caused this dependency to be imported into the build","type":"array","items":{"description":"List of ancestor dependencies, which caused this dependency to be imported into the build. The first item in the list is the direct ancestor","type":"array","items":{"description":"Dependency ID","type":"string"}}}}}}}}},"issues":{"description":"List of issues related to the build","type":"object","properties":{"tracker":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false},"aggregateBuildIssues":{"description":"Whether issues have appeared in previous builds","type":"boolean"},"aggregationBuildStatus":{"type":"string"},"affectedIssues":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"url":{"type":"string"},"summary":{"type":"string"},"aggregated":{"description":"Whether this specific issue already appeared in previous builds","type":"boolean"}}}}}}}
</schema>

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

build-info

build-info

Environment variables and properties collected from the CI server

Build info schema version

Build name

Build number

Build type

Build tool information

Build tool type

Build tool version

CI server information

CI server type

CI server version

Build start time

Build duration in milliseconds

CI server URL

List of VCS used for the build

VCS URL

Branch

Last commit hash

Last commit message

Build-info modules

Module properties

Module ID

Module type

List of module artifacts

List of module dependencies

List of ancestor dependencies, which caused this dependency to be imported into the build. The first item in the list is the direct ancestor

Dependency ID

List of issues related to the build

Whether issues have appeared in previous builds

Whether this specific issue already appeared in previous builds

Provide a JSON object that satisfies the schema "build-info". 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/bukkit-plugin","additionalProperties":true,"definitions":{"plugin-name":{"type":"string","pattern":"^[A-Za-z0-9_\\.-]+$"},"command":{"description":"Optional command attributes.","type":"object","properties":{"description":{"description":"A user-friendly description for a command.","type":"string"},"aliases":{"description":"Alternate command names a user may use instead.","type":["string","array"]},"permission":{"description":"The permission required to use the command.","type":"string"},"permission-message":{"description":"A no-permission message.","type":"string","examples":["You do not have <permission>"]},"usage":{"description":"A short description of how to use this command.","type":"string"}}},"permission":{"description":"Optional permission attributes.","properties":{"description":{"description":"A short description of what this permission allows.","type":"string"},"default":{"$ref":"#/definitions/default-permission","description":"The default state for the permission."},"children":{"description":"Allows other permissions to be set as a relation to the parent permission.","type":["array","object"],"items":{"type":"string"},"additionalProperties":{"$ref":"#/definitions/permission","type":["boolean","object"],"items":{"type":"boolean"}}}}},"default-permission":{"type":["string","boolean"],"enum":[true,false,"op","not op"],"default":"op"}},"properties":{"name":{"$ref":"#/definitions/plugin-name","description":"The unique name of plugin."},"main":{"description":"The plugin's initial class file.","type":"string","pattern":"^(?!org\\.bukkit\\.)([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*$"},"version":{"description":"A plugin revision identifier.","type":["string","number"]},"description":{"description":"Human readable plugin summary.","type":"string"},"author":{"description":"The plugin author.","type":"string"},"authors":{"description":"The plugin contributors.","type":"array","items":{"type":"string"}},"website":{"title":"Website","description":"The URL to the plugin's site","type":"string","format":"uri"},"prefix":{"description":"The token to prefix plugin log entries.","type":"string"},"database":{"description":"Set to true if this plugin uses a database.","type":"boolean","default":false},"load":{"description":"The phase of server-startup this plugin will load during.","type":"string","enum":["STARTUP","POSTWORLD"],"default":"POSTWORLD"},"depend":{"description":"Other required plugins.","type":"array","items":{"$ref":"#/definitions/plugin-name"}},"softdepend":{"description":"Other plugins that add functionality.","type":"array","items":{"$ref":"#/definitions/plugin-name"}},"loadbefore":{"description":"A list of plugins should be loaded after this plugin.","type":"array","items":{"$ref":"#/definitions/plugin-name"}},"commands":{"description":"The commands the plugin will register","type":"object","additionalProperties":{"$ref":"#/definitions/command"}},"permissions":{"description":"The permissions the plugin will register","type":"object","additionalProperties":{"$ref":"#/definitions/permission","type":"object"}},"default-permission":{"$ref":"#/definitions/default-permission","description":"Gives the default default state of permissions registered for the plugin."},"awareness":{"description":"The concepts that the plugin acknowledges.","type":"array","items":{"type":"string","pattern":"^!@.+$","examples":["!@UTF-8"]}},"api-version":{"description":"Gives the API version which this plugin is designed to support.","type":["string","number"],"examples":["1.13","1.14","1.15","1.16"]},"libraries":{"description":"A list of libraries the server should download and supply to the plugin when loading it.","type":"array","items":{"type":"string","description":"A single server provided library. This library can be used during runtime without being shaded into the plugin jar.","pattern":"([^: ]+):([^: ]+)(:([^: ]*)(:([^: ]+))?)?:([^: ]+)","examples":["org.xerial:sqlite-jdbc:3.34.0","com.google.dagger:dagger:2.36"]}}},"required":["name","main","version"],"title":"JSON schema for Bukkit Plugin YAML","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for Bukkit Plugin YAML". Here are the required top‑level fields: name, main, version. Return only the valid JSON object.

Optional command attributes.

A user-friendly description for a command.

Alternate command names a user may use instead.

The permission required to use the command.

A no-permission message.

A short description of how to use this command.

Optional permission attributes.

A short description of what this permission allows.

The default state for the permission.

Allows other permissions to be set as a relation to the parent permission.

The unique name of plugin.

The plugin's initial class file.

A plugin revision identifier.

Human readable plugin summary.

The plugin author.

The plugin contributors.

Website

The URL to the plugin's site

The token to prefix plugin log entries.

Set to true if this plugin uses a database.

The phase of server-startup this plugin will load during.

Other required plugins.

Other plugins that add functionality.

A list of plugins should be loaded after this plugin.

The commands the plugin will register

The permissions the plugin will register

Gives the default default state of permissions registered for the plugin.

The concepts that the plugin acknowledges.

Gives the API version which this plugin is designed to support.

A list of libraries the server should download and supply to the plugin when loading it.

A single server provided library. This library can be used during runtime without being shaded into the plugin jar.

JSON schema for Bukkit Plugin YAML

Provide a JSON object that satisfies the schema "JSON schema for Bukkit Plugin YAML". Here are the required top‑level fields: name, main, version. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/bun-lock.json","title":"Bun.lock file","description":"Schema definition for Bun's `bun.lock` file (package manager lockfile). See https://bun.sh/docs/install/lockfile","type":"object","allowTrailingCommas":true,"properties":{"lockfileVersion":{"type":"integer","enum":[0,1],"description":"Specifies the version of the lockfile format. Currently only sypporting 0 or 1."},"workspaces":{"type":"object","description":"Defines the project workspaces and their corresponding packages.","patternProperties":{".*":{"$ref":"#/definitions/BunLockFileWorkspacePackage"}}},"overrides":{"type":"object","description":"Defines custom dependency resolutions for specific packages.","patternProperties":{".*":{"type":"string"}}},"patchedDependencies":{"type":"object","description":"Lists dependencies that have been patched to modify their behavior.","patternProperties":{".*":{"type":"string"}}},"trustedDependencies":{"type":"array","description":"An array of dependencies explicitly marked as trusted.","items":{"type":"string"}},"packages":{"type":"object","description":"Contains information about all the packages used in the project.","patternProperties":{".*":{"$ref":"#/definitions/BunLockFilePackageArray"}}}},"required":["lockfileVersion","workspaces","packages"],"definitions":{"BunLockFileBasePackageInfo":{"type":"object","description":"Base information about a package, including dependencies and peer relationships.","required":[],"properties":{"dependencies":{"type":"object","description":"A map of dependencies required by this package.","patternProperties":{".*":{"type":"string"}}},"devDependencies":{"type":"object","description":"A map of development-only dependencies.","patternProperties":{".*":{"type":"string"}}},"optionalDependencies":{"type":"object","description":"A map of optional dependencies for this package.","patternProperties":{".*":{"type":"string"}}},"peerDependencies":{"type":"object","description":"A map of peer dependencies for this package.","patternProperties":{".*":{"type":"string"}}},"optionalPeers":{"type":"array","description":"An array of optional peer dependencies.","items":{"type":"string"}},"bin":{"description":"Executable binaries provided by the package.","oneOf":[{"type":"object","patternProperties":{".*":{"type":"string"}}},{"type":"string"}]},"binDir":{"type":"string","description":"Directory where the package's binaries are located."}}},"BunLockFileWorkspacePackage":{"allOf":[{"$ref":"#/definitions/BunLockFileBasePackageInfo"},{"type":"object","description":"Information specific to workspace packages.","properties":{"name":{"type":"string","description":"The name of the workspace package."},"version":{"type":"string","description":"The version of the workspace package."}}}]},"BunLockFilePackageInfo":{"allOf":[{"$ref":"#/definitions/BunLockFileBasePackageInfo"},{"type":"object","description":"Detailed information about a specific package.","properties":{"os":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Specifies operating systems supported by this package."},"cpu":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Specifies CPU architectures supported by this package."},"bundled":{"type":"boolean","enum":[true],"description":"Indicates if the package is bundled."}},"required":[]}]},"BunLockFilePackageArray":{"description":"An array representing a package in the lockfile.","oneOf":[{"description":"Represents an npm package.","type":"array","items":[{"type":"string","description":"Package name and version in the format 'name@version'."},{"type":"string","description":"Registry URL or empty string for the default registry."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."},{"type":"string","description":"Integrity hash for the package."}],"minItems":4,"maxItems":4},{"description":"Represents a symlink, folder, or tarball package.","type":"array","items":[{"type":"string","description":"Package name with a path."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."}],"minItems":2,"maxItems":2},{"description":"Represents workspace package.","type":"array","items":[{"type":"string","description":"Package name with a workspace path."}],"minItems":1,"maxItems":1},{"description":"Represents a git or GitHub package.","type":"array","items":[{"type":"string","description":"Package name with a git or GitHub prefix."},{"$ref":"#/definitions/BunLockFilePackageInfo","description":"Package metadata including dependencies and environment constraints."},{"type":"string","description":"Bun tag for the package."}],"minItems":3,"maxItems":3},{"description":"Represents the root package.","type":"array","items":[{"type":"string","description":"Root package identifier in the format 'name@root:'."},{"type":"object","properties":{"bin":{"description":"Executable binaries provided by the root package.","oneOf":[{"type":"object","patternProperties":{".*":{"type":"string"}}},{"type":"string"}]},"binDir":{"type":"string","description":"Directory where the root package's binaries are located."}},"additionalProperties":false}],"minItems":2,"maxItems":2}]}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Bun.lock file". Here are the required top‑level fields: lockfileVersion, workspaces, packages. Return only the valid JSON object.

Bun.lock file

Schema definition for Bun's `bun.lock` file (package manager lockfile). See https://bun.sh/docs/install/lockfile

Specifies the version of the lockfile format. Currently only sypporting 0 or 1.

Defines the project workspaces and their corresponding packages.

Defines custom dependency resolutions for specific packages.

Lists dependencies that have been patched to modify their behavior.

An array of dependencies explicitly marked as trusted.

Contains information about all the packages used in the project.

Base information about a package, including dependencies and peer relationships.

A map of dependencies required by this package.

A map of development-only dependencies.

A map of optional dependencies for this package.

A map of peer dependencies for this package.

An array of optional peer dependencies.

Executable binaries provided by the package.

Directory where the package's binaries are located.

Information specific to workspace packages.

The name of the workspace package.

The version of the workspace package.

Detailed information about a specific package.

Specifies operating systems supported by this package.

Specifies CPU architectures supported by this package.

Indicates if the package is bundled.

An array representing a package in the lockfile.

Represents an npm package.

Package name and version in the format 'name@version'.

Registry URL or empty string for the default registry.

Package metadata including dependencies and environment constraints.

Integrity hash for the package.

Represents a symlink, folder, or tarball package.

Package name with a path.

Represents workspace package.

Package name with a workspace path.

Represents a git or GitHub package.

Package name with a git or GitHub prefix.

Bun tag for the package.

Represents the root package.

Root package identifier in the format 'name@root:'.

Executable binaries provided by the root package.

Directory where the root package's binaries are located.

Provide a JSON object that satisfies the schema "Bun.lock file". Here are the required top‑level fields: lockfileVersion, workspaces, packages. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$id":"https://carafe.fm/schema/draft-02/bundle.schema.json","$schema":"http://json-schema.org/draft-07/schema#","allOf":[{"type":"object","properties":{"config":{"$ref":"https://carafe.fm/schema/draft-02/config.schema.json#"},"data":{"$ref":"https://carafe.fm/schema/draft-02/data.schema.json#"},"libraries":{"type":"object","additionalProperties":true},"preview":{"type":"string","contentMediaType":"image/*","contentEncoding":"base64","errorMessage":"preview.jpg or preview.png is required"},"template":{"type":"string","minLength":1,"errorMessage":"template is required and must not be empty"}},"required":["config","data","preview","template"]},{"$ref":"https://carafe.fm/schema/draft-02/meta.schema.json#"}]}
</schema>

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

template is required and must not be empty

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


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{"jsBundle":{"properties":{"outputFileName":{"pattern":"\\.js$"},"sourceMap":{"description":"JavaScript only. Set to true to produce a source map.","type":"boolean"},"sourceMapRootPath":{"description":"JavaScript only. Sets a root path for source maps.","type":"string","default":""},"minify":{"type":"object","properties":{"alwaysEscapeNonAscii":{"description":"JavaScript only. Gets or sets a flag indicating whether to always escape non-ASCII characters as \\uXXXX or to let the output encoding object handle that via the JsEncoderFallback object for the specified output encoding format.","type":"boolean","default":false},"evalTreatment":{"description":"JavaScript only.","enum":["ignore","makeAllSafe","makeImmediateSafe"],"default":"ignore"},"preserveImportantComments":{"description":"JavaScript only.","type":"boolean","default":true},"renameLocals":{"description":"JavaScript only. Controls if local variables should be shortened.","type":"boolean","default":true},"termSemicolons":{"description":"Forces all rules to be terminated with semicolons if set to true.","type":"boolean","default":true}},"allOf":[{"$ref":"#/definitions/ajaxminBaseSettings"}]}}},"cssBundle":{"properties":{"outputFileName":{"pattern":"\\.css$"},"minify":{"type":"object","properties":{"colorNames":{"description":"CSS only. If no color names are to be used, set this value to 'hex'. If a set of colors recognized by all major browser is okay to use (W3C-strict validation is not required), set this value to 'major'.","enum":["hex","major","noSwap","strict"],"default":"strict"},"commentMode":{"description":"CSS only. How to treat comments in the code. The default is 'none', which will strip all comments except 'important' comments. 'all' will leave all comments, and 'hacks' will only leave certain known comment-based hacks.","enum":["none","all","hacks","important"],"default":"important"},"adjustRelativePaths":{"description":"CSS only. Adjust relative paths inside the url() function.","type":"boolean","default":true},"termSemicolons":{"description":"Forces all rules to be terminated with semicolons if set to true.","type":"boolean","default":false}},"allOf":[{"$ref":"#/definitions/ajaxminBaseSettings"}]}}},"htmlBundle":{"properties":{"outputFileName":{"pattern":"\\.(html|htm)$"},"minify":{"type":"object","properties":{"collapseBooleanAttributes":{"description":"HTML only. Remove values from boolean attributes.","type":"boolean","default":true},"collapseWhitespace":{"description":"HTML only. Indicating whether to collapse whitespaces.","type":"boolean","default":true},"isFragmentOnly":{"description":"HTML only. Indicating whether the parsing is occurring on an HTML fragment, to avoid creating missing tags (like html, body, head).","type":"boolean","default":true},"keepOneSpaceWhenCollapsing":{"description":"HTML only. Indicating whether to keep one space when collapsing.","type":"boolean","default":false},"minifyEmbeddedCssCode":{"description":"HTML only. Minify CSS code in style tags.","type":"boolean","default":true},"minifyEmbeddedJsCode":{"description":"HTML only. Minify JS code in script tags.","type":"boolean","default":true},"minifyInlineCssCode":{"description":"HTML only. Minify CSS code in style attributes.","type":"boolean","default":true},"preserveCase":{"description":"HTML only. Preserve case of tag and attribute names.","type":"boolean","default":false},"removeHtmlComments":{"description":"HTML only. Remove all HTML comments except conditional, noindex, Knockout.js containerless comments and Angular.js comment directives.","type":"boolean","default":true},"removeOptionalEndTags":{"description":"HTML only. Remove optional end tags.","type":"boolean","default":false},"removeQuotedAttributes":{"description":"HTML only. Indicating whether to remove quoted attributes when possible.","type":"boolean","default":true}}}}},"ajaxminBaseSettings":{"properties":{"indentSize":{"description":"For the multi-line output feature, how many spaces to use when indenting a block (see outputMode).","type":"integer","default":2},"outputMode":{"description":"SingleLine minifies everything to a single line. MultipleLines breaks the minified code into multiple lines for easier reading.","enum":["multipleLines","singleLine","none"],"default":"singleLine"}}},"bundle":{"required":["outputFileName","inputFiles"],"properties":{"includeInProject":{"description":"Set to true to include the output file in the project. Doesn't work in some Visual Studio project types like ASP.NET Core applications.","type":"boolean","default":true},"inputFiles":{"description":"One or more relative file names or globbing patterns to bundle. Example: \"scripts/**/*.js\"","type":"array","items":{"type":"string"}},"minify":{"description":"Specify options for minification of the output file.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"},"gzip":{"description":"Produce a .gz file after minification.","type":"boolean","default":false}}},"outputFileName":{"description":"The relative path to the desired output file name.","type":"string","minLength":1}},"oneOf":[{"$ref":"#/definitions/jsBundle"},{"$ref":"#/definitions/cssBundle"},{"$ref":"#/definitions/htmlBundle"}]}},"description":"Schema for bundleconfig.json files","id":"https://json.schemastore.org/bundleconfig.json","items":{"$ref":"#/definitions/bundle"},"type":"array"}
</schema>

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

JavaScript only. Set to true to produce a source map.

JavaScript only. Sets a root path for source maps.

JavaScript only. Gets or sets a flag indicating whether to always escape non-ASCII characters as \uXXXX or to let the output encoding object handle that via the JsEncoderFallback object for the specified output encoding format.

JavaScript only.

JavaScript only.

JavaScript only. Controls if local variables should be shortened.

Forces all rules to be terminated with semicolons if set to true.

CSS only. If no color names are to be used, set this value to 'hex'. If a set of colors recognized by all major browser is okay to use (W3C-strict validation is not required), set this value to 'major'.

CSS only. How to treat comments in the code. The default is 'none', which will strip all comments except 'important' comments. 'all' will leave all comments, and 'hacks' will only leave certain known comment-based hacks.

CSS only. Adjust relative paths inside the url() function.

HTML only. Remove values from boolean attributes.

HTML only. Indicating whether to collapse whitespaces.

HTML only. Indicating whether the parsing is occurring on an HTML fragment, to avoid creating missing tags (like html, body, head).

HTML only. Indicating whether to keep one space when collapsing.

HTML only. Minify CSS code in style tags.

HTML only. Minify JS code in script tags.

HTML only. Minify CSS code in style attributes.

HTML only. Preserve case of tag and attribute names.

HTML only. Remove all HTML comments except conditional, noindex, Knockout.js containerless comments and Angular.js comment directives.

HTML only. Remove optional end tags.

HTML only. Indicating whether to remove quoted attributes when possible.

For the multi-line output feature, how many spaces to use when indenting a block (see outputMode).

SingleLine minifies everything to a single line. MultipleLines breaks the minified code into multiple lines for easier reading.

Set to true to include the output file in the project. Doesn't work in some Visual Studio project types like ASP.NET Core applications.

One or more relative file names or globbing patterns to bundle. Example: "scripts/**/*.js"

Specify options for minification of the output file.

Produce a .gz file after minification.

The relative path to the desired output file name.

Schema for bundleconfig.json files

Provide a JSON object that satisfies the schema "bundleconfig". 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 "Bun configuration". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Bun configuration

Bun configuration schema for `bunfig.toml`. See https://bun.sh/docs/runtime/bunfig

An array or string of scripts/plugins to run before running the file or script
https://bun.sh/docs/runtime/bunfig#preload

Configure how Bun handles JSX. You can also set these fields in the `compilerOptions` of your `tsconfig.json`, but they are supported here as well for non-TypeScript projects
https://bun.sh/docs/runtime/bunfig#jsx
https://www.typescriptlang.org/tsconfig/#jsx

Specify the function that is used to create JSX elements
https://www.typescriptlang.org/tsconfig#jsxFactory

Specify the function that is used for JSX fragments
https://www.typescriptlang.org/tsconfig#jsxFragment

Specify the module specifier to be used for importing the JSX factory functions
https://www.typescriptlang.org/tsconfig#jsxImportSource

Enable `smol` mode. This reduces memory usage at the cost of performance
https://bun.sh/docs/runtime/bunfig#smol

Set the log level. This can be one of `"debug"`, `"warn"`, or `"error"`
https://bun.sh/docs/runtime/bunfig#loglevel

The `define` field allows you to replace certain global identifiers with constant expressions. Bun will replace any usage of the identifier with the expression. The expression should be a JSON string
https://bun.sh/docs/runtime/bunfig#define

Configure how Bun maps file extensions to loaders. This is useful for loading files that aren't natively supported by Bun
https://bun.sh/docs/runtime/bunfig#loader

jsx js ts tsx css file json toml wasm napi base64 dataurl text

The `telemetry` field permit to enable/disable the analytics records. Bun records bundle timings (so we can answer with data, "is Bun getting faster?") and feature usage (e.g., "are people actually using macros?"). The request body size is about 60 bytes, so it's not a lot of data. By default the telemetry is enabled.
https://bun.sh/docs/runtime/bunfig#telemetry

Test runner
https://bun.sh/docs/runtime/bunfig#test-runner

The root directory to run tests from. Default `.`
https://bun.sh/docs/runtime/bunfig#test-root

Same as the top-level `preload` field, but only applies to `bun test`
https://bun.sh/docs/runtime/bunfig#test-preload

Same as the top-level `smol` field, but only applies to `bun test`
https://bun.sh/docs/runtime/bunfig#test-smol

Enables coverage reporting. Default `false`. Use `--coverage` to override
https://bun.sh/docs/runtime/bunfig#test-coverage

To specify a coverage threshold. By default, no threshold is set. If your test suite does not meet or exceed this threshold, `bun test` will exit with a non-zero exit code to indicate the failure
https://bun.sh/docs/runtime/bunfig#test-coveragethreshold

Whether to skip test files when computing coverage statistics. Default false
https://bun.sh/docs/runtime/bunfig#test-coverageskiptestfiles

By default, coverage reports will be printed to the console. For persistent code coverage reports in CI environments and for other tools use `lcov`
https://bun.sh/docs/runtime/bunfig#test-coveragereporter

Set path where coverage reports will be saved. Please notice, that it works only for persistent `coverageReporter` like `lcov`
https://bun.sh/docs/runtime/bunfig#test-coveragedir

Package management is a complex issue; to support a range of use cases, the behavior of `bun install` can be configured under the `[install]` section
https://bun.sh/docs/runtime/bunfig#package-manager

Whether to install optional dependencies. Default `true`
https://bun.sh/docs/runtime/bunfig#install-optional

Whether to install development dependencies. Default `true`
https://bun.sh/docs/runtime/bunfig#install-dev

Whether to install peer dependencies. Default `true`
https://bun.sh/docs/runtime/bunfig#install-peer

Whether bun install will run in "production mode". Default `false`

In production mode, `"devDependencies"` are not installed. You can use `--production` in the CLI to override this setting
https://bun.sh/docs/runtime/bunfig#install-production

Whether to set an exact version in package.json. Default `false`

By default Bun uses caret ranges; if the `latest` version of a package is `2.4.1`, the version range in your `package.json` will be `^2.4.1`. This indicates that any version from `2.4.1` up to (but not including) `3.0.0` is acceptable
https://bun.sh/docs/runtime/bunfig#install-exact

If false, generate a binary `bun.lockb` instead of a text-based `bun.lock` file when running `bun install` and no lockfile is present
Default `true` (since Bun v1.2)
https://bun.sh/docs/runtime/bunfig#install-savetextlockfile

To configure Bun's package auto-install behavior. Default `"auto"` — when no `node_modules` folder is found, Bun will automatically install dependencies on the fly during execution
https://bun.sh/docs/runtime/bunfig#install-auto

When true, `bun install` will not update `bun.lock`. Default `false`. If `package.json` and the existing `bun.lock` are not in agreement, this will error
https://bun.sh/docs/runtime/bunfig#install-frozenlockfile

Whether `bun install` will actually install dependencies. Default `false`. When true, it's equivalent to setting `--dry-run` on all `bun install` commands
https://bun.sh/docs/runtime/bunfig#install-dryrun

To configure the directory where Bun puts globally installed packages
https://bun.sh/docs/runtime/bunfig#install-globaldir

To configure the directory where Bun installs globally installed binaries and CLIs
https://bun.sh/docs/runtime/bunfig#install-globalbindir

The default registry is `https://registry.npmjs.org/`. This can be globally configured in `bunfig.toml`
https://bun.sh/docs/runtime/bunfig#install-registry

The URL of the registry
https://bun.sh/docs/runtime/bunfig#install-registry

The token to use for authentication
https://bun.sh/docs/runtime/bunfig#install-registry

To configure a registry for a particular scope (e.g. `@myorg/<package>`) use `install.scopes`. You can reference environment variables with `$variable` notation
https://bun.sh/docs/runtime/bunfig#install-scopes

The CA certificate as a string
https://bun.sh/docs/runtime/bunfig#install-ca-and-install-cafile

A path to a CA certificate file. The file can contain multiple certificates.
https://bun.sh/docs/runtime/bunfig#install-ca-and-install-cafile

To configure the cache behavior
https://bun.sh/docs/runtime/bunfig#install-cache

The directory to use for the cache
https://bun.sh/docs/runtime/bunfig#install-cache

When true, don't load from the global cache.

Bun may still write to `node_modules/.cache`
https://bun.sh/docs/runtime/bunfig#install-cache

When true, always resolve the latest versions from the registry
https://bun.sh/docs/runtime/bunfig#install-cache

To configure lockfile behavior, use the `install.lockfile` section
https://bun.sh/docs/runtime/bunfig#install-lockfile

Whether to generate a lockfile on `bun install`. Default `true`
https://bun.sh/docs/runtime/bunfig#install-lockfile

Whether to generate a non-Bun lockfile alongside `bun.lock`. (A `bun.lock` will always be created.) Currently `"yarn"` is the only supported value
https://bun.sh/docs/runtime/bunfig#install-lockfile

The `bun run` command can be configured under the `[run]` section. These apply to the `bun run` command and the `bun` command when running a file or executable or script.

Currently, `bunfig.toml` isn't always automatically loaded for `bun run` in a local project (it does check for a global `bunfig.toml`), so you might still need to pass `-c` or `-c=bunfig.toml` to use these settings
https://bun.sh/docs/runtime/bunfig#bun-run

The shell to use when running package.json scripts via `bun run` or `bun`. On Windows, this defaults to `"bun"` and on other platforms it defaults to `"system"`
https://bun.sh/docs/runtime/bunfig#run-shell-use-the-system-shell-or-bun-s-shell

Auto alias `node` to `bun`

When `true`, this prepends `$PATH` with a `node` symlink that points to the `bun` binary for all scripts or executables invoked by `bun run` or `bun`
This means that if you have a script that runs `node`, it will actually run `bun` instead, without needing to change your script. This works recursively, so if your script runs another script that runs `node`, it will also run `bun` instead. This applies to shebangs as well, so if you have a script with a shebang that points to `node`, it will actually run `bun` instead.
By default, this is enabled if `node` is not already in your `$PATH`
https://bun.sh/docs/runtime/bunfig#run-bun-auto-alias-node-to-bun

When `true`, suppresses the output of the command being run by `bun run` or `bun`
https://bun.sh/docs/runtime/bunfig#run-silent-suppress-reporting-the-command-being-run

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


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/bungee-plugin","additionalProperties":true,"definitions":{"plugin-name":{"type":"string","pattern":"^[A-Za-z0-9_\\.-]+$"}},"properties":{"name":{"$ref":"#/definitions/plugin-name","description":"The name of the plugin."},"main":{"description":"Plugin main class.","type":"string","pattern":"^([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*$"},"version":{"description":"Plugin version.","type":"string"},"author":{"description":"Plugin author.","type":"string"},"depends":{"description":"Plugin hard dependencies.","type":"array","items":{"$ref":"#/definitions/plugin-name"}},"softDepends":{"description":"Plugin soft dependencies.","type":"array","items":{"$ref":"#/definitions/plugin-name"}},"description":{"description":"Optional description.","type":"string"}},"required":["name","main"],"title":"JSON schema for BungeeCord Plugin YAML","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for BungeeCord Plugin YAML". Here are the required top‑level fields: name, main. Return only the valid JSON object.

The name of the plugin.

Plugin main class.

Plugin version.

Plugin author.

Plugin hard dependencies.

Plugin soft dependencies.

Optional description.

JSON schema for BungeeCord Plugin YAML

Provide a JSON object that satisfies the schema "JSON schema for BungeeCord Plugin YAML". Here are the required top‑level fields: name, main. 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/bxci.schema-3.x.json","definitions":{"branchPattern":{"description":"Regular expression for validating branch names","type":"string"},"timeout":{"description":"Timeout in seconds","type":"integer"},"credentials":{"description":"Jenkins credentials ID","type":"string"},"binaryRepository":{"type":"object","description":"Binary repository details","properties":{"address":{"type":"string","format":"uri","description":"Repository URL"},"credentials":{"$ref":"#/definitions/credentials","description":"Jenkins credentials ID for connecting to this repository"}},"additionalProperties":false,"required":["address","credentials"]},"checkmarx":{"type":"object","title":"CheckMarx","properties":{"enabled":{"type":"boolean","default":false,"description":"Sets whether the scan should be run"},"branch_pattern":{"$ref":"#/definitions/branchPattern","description":"Specifies in which branches this stage will be executed","default":"^master$|^release/.*$"},"groupId":{"type":"string","default":"55","description":"Fully qualified team name for the project"},"preset":{"type":"string","default":"36","description":"Scan preset for the project"},"sourceEncoding":{"type":"string","default":"5","description":"Language encoding ID associated to the source code character encoding (5: Multi-Language Scan)"},"serverUrl":{"type":"string","default":"http://cxpbgmgmtserver/","description":"Checkmarx Server URL or IP address"},"credentialsId":{"type":"string","default":"BB-Checkmarx","description":"Jenkins credentials ID"},"isProxy":{"type":"boolean","default":false},"useOwnServerCredentials":{"type":"boolean","default":true,"description":"Enables the use of the default server credentials or disables and provides server and credentials that override the defaults"},"projectName":{"type":"string","description":"Unique project name. Will be inferred from the repository name if not provided"},"exclusionsSetting":{"enum":["job","global"],"default":"job","description":"Specifies which exclusions settings to use: global (Jenkins global settings) or job (current pipeline)"},"excludeFolders":{"type":"string","description":"Comma separated list of folders to be excluded from the CxSAST scan","examples":["folder-1, folder-2, folder-3"]},"filterPattern":{"type":"string","description":"Defines the include/exclude wildcard patterns. Does not have effect when \"exclusionsSetting\" is set to \"global\"","examples":["\"!**/_cvs/**/*, !**/.svn/**/*, !**/.hg/**/*, !**/.git/**/*\""]},"hideDebugLogs":{"type":"boolean","default":true,"description":"Sets whether debug logs are visible in the job output"},"waitForResultsEnabled":{"type":"boolean","default":true,"description":"Sets whether the scan should be executed synchronously (default). The Synchronous mode allows viewing scan results in Jenkins"},"vulnerabilityThresholdEnabled":{"type":"boolean","default":true,"description":"Sets whether the scan should fail if the number of vulnerabilities is above the configured thresholds. This option is only available if the waitForResultsEnabled parameter is enabled"},"highThreshold":{"type":"integer","default":0,"description":"Sets the maximum number of High vulnerabilities allowed"},"mediumThreshold":{"type":"integer","default":10,"description":"Sets the maximum number of Medium vulnerabilities allowed"},"lowThreshold":{"type":"integer","default":null,"description":"Sets the maximum number of Low vulnerabilities allowed"}},"additionalProperties":false},"sonar":{"type":"object","properties":{"enabled":{"type":"boolean","default":true},"breaks_build":{"type":"boolean","description":"Waits for analysis result and breaks the build when the project fails for some quality gates","default":false},"branch_analysis":{"type":"boolean","description":"Indicates whether sonnar server supports branch analysis, to provide dedicated parameters.","default":true},"branch_pattern":{"type":"string","description":"Indicates on which branches static analysis will be performed.","examples":["^master$|^release/.+$","master"]},"image":{"type":"string","description":"Prebuilt Docker image for running scan into it. If not specified, it will use the same image used for main build.","examples":["myrepo:port/my-awesome-image:1.2.3"]},"timeout":{"$ref":"#/definitions/timeout","description":"Seconds to wait for the result of the quality gate. Only applies when breaks_build is set to true","default":120},"exclusions":{"type":"string","description":"Comma separated list of wildcard patterns defining files to be excluded from the SonarQube scan","examples":["**/excluded-folder/**, **/example/*.html"]}},"additionalProperties":false},"when":{"type":"object","title":"When","description":"Condition that should be met to run this step","properties":{"branch":{"$ref":"#/definitions/branchPattern","title":"Branch"}}},"steps":{"type":"array","description":"List of steps to run","title":"Steps"},"singleStage":{"type":"object","title":"Stage","properties":{"steps":{"$ref":"#/definitions/steps"},"when":{"$ref":"#/definitions/when"}},"required":["steps"],"additionalProperties":false},"failFast":{"type":"boolean","title":"Fail Fast","default":false,"description":"Forces parallel stages to all be aborted when one of them fails"},"parallelStage":{"type":"object","title":"Parallel Stage","properties":{"when":{"$ref":"#/definitions/when"},"fail_fast":{"$ref":"#/definitions/failFast"},"parallel":{"type":"object","description":"List of stages to be executed in parallel","patternProperties":{"^\\w+( \\w+)*$":{"$ref":"#/definitions/singleStage","description":"Stage name in the Jenkins pipeline"}}}},"required":["parallel"],"additionalProperties":false},"stage":{"type":"object","properties":{"when":{"$ref":"#/definitions/when"},"steps":{"$ref":"#/definitions/steps"},"fail_fast":{"$ref":"#/definitions/failFast"},"parallel":{"type":"object","title":"Parallel","patternProperties":{"^\\w+( \\w+)*$":{"$ref":"#/definitions/singleStage"}}}},"anyOf":[{"$ref":"#/definitions/singleStage"},{"$ref":"#/definitions/parallelStage"}],"additionalProperties":false},"releaseChannel":{"type":"string","description":"Release channel name"},"releaseChannelBranch":{"$ref":"#/definitions/branchPattern","description":"Indicates on which branches the artifact will be published"},"dockerfile":{"description":"Dockerfile path","type":"string"},"context":{"description":"Dockerfile context. If not set defaults to dockerfile file path (parent folder)","type":"string"},"outputDockerImage":{"type":"object","properties":{"name":{"type":"string","description":"Docker image name"},"dockerfile":{"$ref":"#/definitions/dockerfile","description":"Path to Dockerfile used to generate the docker image"},"context":{"$ref":"#/definitions/context","description":"Path to the desired docker build context."},"args":{"type":"array","description":"List of build args (--build-arg) to pass in docker build","title":"Docker build args","items":{"$ref":"#/definitions/outputDockerBuildArgs"}},"vulnerability_scan":{"type":"object","description":"Configuration for running vulnerability scans on published Docker images","title":"Vulnerability scan","properties":{"enabled":{"type":"boolean","default":true,"description":"Whether the vulnerability scan step should be run"}}}},"required":["name"],"additionalProperties":false,"anyOf":[{"properties":{"dockerfile":{"$ref":"#/definitions/dockerfile","description":"Path to Dockerfile used to generate the docker image"}},"required":["dockerfile"]},{"properties":{"context":{"$ref":"#/definitions/context","description":"Path to the desired docker build context."}},"required":["context"]}]},"outputDocker":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/definitions/outputDockerImage"}},"publish":{"$ref":"#/definitions/outputDockerPublish","description":"Docker publishing information. If not present, no images will be published"},"multiArch":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether the multi-arch build should be enabled"},"architectures":{"type":"array","items":{"type":"string","description":"List of architectures to build","examples":["amd64","arm64","arm"]}}}}},"required":["images"],"additionalProperties":false},"outputDockerPublish":{"type":"array","items":{"$ref":"#/definitions/dockerReleaseChannel"}},"outputDockerBuildArgs":{"type":"object","oneOf":[{"properties":{"key":{"type":"string","description":"ARG name"},"value":{"type":"string","description":"Value of the ARG"},"additionalProperties":false},"required":["key","value"]},{"properties":{"key":{"type":"string","description":"ARG name"},"env":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$","description":"Environment variable whose value will be used to set the ARG"},"additionalProperties":false},"required":["key","env"]}],"properties":{"key":{"type":"string","description":"ARG name"},"env":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$","description":"Environment variable whose value will be used to set the ARG"},"value":{"type":"string","description":"Value of the ARG"}}},"dockerReleaseChannel":{"type":"object","properties":{"channel":{"$ref":"#/definitions/releaseChannel"},"branch":{"$ref":"#/definitions/releaseChannelBranch"},"registry":{"type":"string","description":"Docker registry. Must include protocol (http|https) and port","format":"uri"},"credentials":{"$ref":"#/definitions/credentials","description":"Jenkins credentials ID for publishing into the specified Docker registry"}},"required":["channel","branch","registry","credentials"],"additionalProperties":false},"outputHelmChart":{"type":"object","properties":{"path":{"type":"string","description":"Path to the Helm chart directory"},"updates":{"type":"array","description":"List of files to update","items":{"$ref":"#/definitions/outputHelmUpdates"}}},"required":["path"],"additionalProperties":false},"outputHelm":{"type":"object","properties":{"charts":{"type":"array","items":{"$ref":"#/definitions/outputHelmChart"}},"publish":{"$ref":"#/definitions/outputHelmPublish","description":"Helm chart publishing configuration. If not present, no charts will be published"}},"required":["publish"],"additionalProperties":false},"outputHelmUpdates":{"type":"object","additionalProperties":false,"properties":{"file":{"type":"string","description":"Name (including path from Helm object path) of the file to be updated. Only supports yaml files"},"properties":{"type":"array","description":"A list of properties to update. It can be updated with a fixed value or environment variable","items":{"$ref":"#/definitions/outputHelmUpdatesProperties"}}},"required":["file","properties"]},"outputHelmUpdatesProperties":{"type":"object","oneOf":[{"properties":{"key":{"type":"string","description":"Yaml property (full path) to be updated"},"env":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$","description":"Environment variable whose value will be used to update the property"},"additionalProperties":false},"required":["key","env"],"additionalProperties":false},{"properties":{"key":{"type":"string","description":"Yaml property (full path) to be updated"},"value":{"type":"string","description":"Value to update the given property"}},"required":["key","value"],"additionalProperties":false}]},"outputHelmPublish":{"type":"array","items":{"$ref":"#/definitions/helmReleaseChannel"}},"helmReleaseChannel":{"type":"object","properties":{"channel":{"$ref":"#/definitions/releaseChannel"},"branch":{"$ref":"#/definitions/releaseChannelBranch"},"repository":{"type":"string","format":"uri","description":"Helm chart repository. Must include protocol, host, port (if needed) and path"},"credentials":{"$ref":"#/definitions/credentials","description":"Jenkins credentials Id for this repository for uploading the chart"}},"required":["channel","branch","repository","credentials"],"additionalProperties":false},"outputPackage":{"type":"object","properties":{"publish":{"$ref":"#/definitions/outputPackagePublish","description":"Package publish configuration."}},"required":["publish"],"additionalProperties":false},"outputPackagePublish":{"type":"array","items":{"$ref":"#/definitions/packagePublishChannel"}},"packagePublishChannel":{"type":"object","properties":{"channel":{"$ref":"#/definitions/releaseChannel"},"branch":{"$ref":"#/definitions/releaseChannelBranch"},"registry":{"type":"string","description":"NPM registry (env variable or registry URL)","examples":["NPM_PUBLISH_REGISTRY","NPM_SNAPSHOT_REGISTRY","https://registry.npmjs.org"]},"credentials":{"$ref":"#/definitions/credentials","description":"Jenkins credentials ID for publishing into the specified Docker registry"},"maven_releases_repo":{"type":"string","description":"Maven repository for deploying releases"},"maven_snapshots_repo":{"type":"string","description":"Maven repository for deploying snapshots"},"params":{"type":"string","description":"Optional params for npm publish or mvn deploy command.","examples":["--tag latest","-Dmaven.test.skip=true"]}},"required":["channel","branch"],"additionalProperties":false},"cacheItem":{"type":"object","properties":{"type":{"enum":["maven","npm","local"],"description":"Cache type","default":"maven"},"enabled":{"type":"boolean","description":"Sets whether this cache type is enabled","default":false},"source":{"type":"string","description":"Location of the cache in the Jenkins workspace","default":".ci-cache/<type>"},"target":{"type":"string","description":"Location of the cache directory inside the Docker container","default":"/container-path/directory"}},"additionalProperties":false,"required":["type","enabled"]}},"description":"CI configuration for Amdocs Bill Experience projects","properties":{"project":{"description":"Project properties","type":"object","properties":{"name":{"description":"Project's name (used by Jenkins, Docker and Sonar)","type":"string"},"type":{"description":"Project type","enum":["npm","maven","mvn"],"default":"mvn"},"settings":{"description":"ID of a managed maven or npm Jenkins file","type":"string","examples":["bx-maven-settings","bx-npm-settings"]}},"additionalProperties":false},"config":{"type":"object","properties":{"jenkins_runtime":{"type":"object","properties":{"docker":{"type":"object","description":"Specifies how to build the Docker container (from an existing image or from a local Dockerfile)","properties":{"image":{"description":"Prebuilt Docker image (has precedence over dockerfile)","type":"string","examples":["remote-host.com/image-name:tag"]},"dockerfile":{"$ref":"#/definitions/dockerfile","description":"Path to a local Dockerfile","examples":[".ci/Dockerfile"]}},"additionalProperties":false}},"additionalProperties":false,"required":["docker"]},"branch":{"type":"object","description":"Describes on which branch names a build will be run","properties":{"branch_pattern":{"$ref":"#/definitions/branchPattern"},"disable_validation":{"description":"Disables branch name validation","type":"boolean","default":false}},"additionalProperties":false},"build":{"type":"object","properties":{"clean_workspace_after_run":{"type":"boolean","description":"Whether Jenkins workspace should be cleaned after the build","default":true},"commit_time_threshold":{"oneOf":[{"type":"integer","const":0},{"type":"string","pattern":"^\\d+[mhd]$"}],"description":"Commit age threshold. Disables automated builds older than this parameter. When 0, this feature is disabled","default":false,"examples":[0,"2m","30m","1d","30m","10d"]},"checkmarx":{"$ref":"#/definitions/checkmarx","description":"Adds a Static Analysis stage for CheckMarx. See https://www.jenkins.io/doc/pipeline/steps/checkmarx/ for all the configuration options."},"static_analysis":{"$ref":"#/definitions/sonar","description":"Adds a Static Analysis stage for Sonar."}},"additionalProperties":false},"cache":{"type":"object","description":"Cache configuration for projects built inside Docker containers","properties":{"repository":{"$ref":"#/definitions/binaryRepository"},"items":{"type":"array","description":"List of cache types","items":{"$ref":"#/definitions/cacheItem"}}},"additionalProperties":false}},"additionalProperties":false},"services":{"type":"array","description":"Additional services required by the project or application.","items":{"enum":["Postgres","Postgis","Redis","Mssql","Mysql","Mongodb","Elasticsearch"]},"uniqueItems":true},"environment":{"type":"object","description":"Custom environment variables to be added to the pipeline","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"}},"jenkinsEnvironment":{"type":"array","description":"Jenkins environment variables that are passed to the Docker container","uniqueItems":true,"items":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"}},"stages":{"type":"object","title":"Stages","description":"Defines the stages and steps required to build the project.","patternProperties":{"^\\w+( \\w+)*$":{"$ref":"#/definitions/stage","description":"Stage name in the Jenkins pipeline"}}},"output":{"type":"object","description":"Describes artifacts generated after all the stages have been run","properties":{"package":{"$ref":"#/definitions/outputPackage","description":"Configuration for publishing NPM or Maven packages"},"docker":{"$ref":"#/definitions/outputDocker","description":"Configuration for generating a Docker image"},"helm":{"$ref":"#/definitions/outputHelm","description":"Configuration for generating a Helm chart"}},"additionalProperties":false},"archive":{"type":"array","description":"List of artifacts to archive (wildcards allowed). Check out https://www.jenkins.io/doc/pipeline/steps/core/#archiveartifacts-archive-the-artifacts","examples":["target/*.jar","**/*.jar","target/out.txt"]},"timeout":{"$ref":"#/definitions/timeout","description":"Build timeout in seconds","default":600}},"required":["project"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "bxci.schema-3.x". Here are the required top‑level fields: project. Return only the valid JSON object.

Regular expression for validating branch names

Timeout in seconds

Jenkins credentials ID

Binary repository details

Repository URL

Jenkins credentials ID for connecting to this repository

CheckMarx

Sets whether the scan should be run

Specifies in which branches this stage will be executed

Fully qualified team name for the project

Scan preset for the project

Language encoding ID associated to the source code character encoding (5: Multi-Language Scan)

Checkmarx Server URL or IP address

Jenkins credentials ID

Enables the use of the default server credentials or disables and provides server and credentials that override the defaults

Unique project name. Will be inferred from the repository name if not provided

Specifies which exclusions settings to use: global (Jenkins global settings) or job (current pipeline)

Comma separated list of folders to be excluded from the CxSAST scan

Defines the include/exclude wildcard patterns. Does not have effect when "exclusionsSetting" is set to "global"

Sets whether debug logs are visible in the job output

Sets whether the scan should be executed synchronously (default). The Synchronous mode allows viewing scan results in Jenkins

Sets whether the scan should fail if the number of vulnerabilities is above the configured thresholds. This option is only available if the waitForResultsEnabled parameter is enabled

Sets the maximum number of High vulnerabilities allowed

Sets the maximum number of Medium vulnerabilities allowed

Sets the maximum number of Low vulnerabilities allowed

Waits for analysis result and breaks the build when the project fails for some quality gates

Indicates whether sonnar server supports branch analysis, to provide dedicated parameters.

Indicates on which branches static analysis will be performed.

Prebuilt Docker image for running scan into it. If not specified, it will use the same image used for main build.

Seconds to wait for the result of the quality gate. Only applies when breaks_build is set to true

Comma separated list of wildcard patterns defining files to be excluded from the SonarQube scan

When

Condition that should be met to run this step

Branch

List of steps to run

Steps

Stage

Fail Fast

Forces parallel stages to all be aborted when one of them fails

Parallel Stage

List of stages to be executed in parallel

Stage name in the Jenkins pipeline

Parallel

Release channel name

Indicates on which branches the artifact will be published

Dockerfile path

Dockerfile context. If not set defaults to dockerfile file path (parent folder)

Docker image name

Path to Dockerfile used to generate the docker image

Path to the desired docker build context.

List of build args (--build-arg) to pass in docker build

Docker build args

Configuration for running vulnerability scans on published Docker images

Vulnerability scan

Whether the vulnerability scan step should be run

Path to the desired docker build context.

Docker publishing information. If not present, no images will be published

Whether the multi-arch build should be enabled

List of architectures to build

ARG name

Value of the ARG

ARG name

Environment variable whose value will be used to set the ARG

ARG name

Value of the ARG

Docker registry. Must include protocol (http|https) and port

Jenkins credentials ID for publishing into the specified Docker registry

Path to the Helm chart directory

List of files to update

Helm chart publishing configuration. If not present, no charts will be published

Name (including path from Helm object path) of the file to be updated. Only supports yaml files

A list of properties to update. It can be updated with a fixed value or environment variable

Yaml property (full path) to be updated

Environment variable whose value will be used to update the property

Yaml property (full path) to be updated

Value to update the given property

Helm chart repository. Must include protocol, host, port (if needed) and path

Jenkins credentials Id for this repository for uploading the chart

Package publish configuration.

NPM registry (env variable or registry URL)

Maven repository for deploying releases

Maven repository for deploying snapshots

Optional params for npm publish or mvn deploy command.

Cache type

Sets whether this cache type is enabled

Location of the cache in the Jenkins workspace

Location of the cache directory inside the Docker container

CI configuration for Amdocs Bill Experience projects

Project properties

Project's name (used by Jenkins, Docker and Sonar)

Project type

ID of a managed maven or npm Jenkins file

Specifies how to build the Docker container (from an existing image or from a local Dockerfile)

Prebuilt Docker image (has precedence over dockerfile)

Path to a local Dockerfile

Describes on which branch names a build will be run

Disables branch name validation

Whether Jenkins workspace should be cleaned after the build

Commit age threshold. Disables automated builds older than this parameter. When 0, this feature is disabled

Adds a Static Analysis stage for CheckMarx. See https://www.jenkins.io/doc/pipeline/steps/checkmarx/ for all the configuration options.

Adds a Static Analysis stage for Sonar.

Cache configuration for projects built inside Docker containers

List of cache types

Additional services required by the project or application.

Postgres Postgis Redis Mssql Mysql Mongodb Elasticsearch

Custom environment variables to be added to the pipeline

Jenkins environment variables that are passed to the Docker container

Stages

Defines the stages and steps required to build the project.

Stage name in the Jenkins pipeline

Describes artifacts generated after all the stages have been run

Configuration for publishing NPM or Maven packages

Configuration for generating a Docker image

Configuration for generating a Helm chart

List of artifacts to archive (wildcards allowed). Check out https://www.jenkins.io/doc/pipeline/steps/core/#archiveartifacts-archive-the-artifacts

Build timeout in seconds

Provide a JSON object that satisfies the schema "bxci.schema-3.x". Here are the required top‑level fields: project. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","title":"Cache warmup config","properties":{"$schema":{"type":"string","title":"JSON schema reference"},"sitemaps":{"type":"array","title":"Sitemaps","description":"URLs or local filenames of XML sitemaps to be warmed up.","items":{"type":"string"}},"urls":{"type":"array","title":"URLs","description":"Additional URLs to be warmed up.","items":{"type":"string","format":"uri"}},"excludePatterns":{"type":"array","title":"Exclude patterns","description":"Patterns of URLs to be excluded from cache warmup.","items":{"type":"string"}},"limit":{"type":"integer","title":"Limit","description":"Limit the number of URLs to be processed.","minimum":0},"progress":{"type":"boolean","title":"Progress bar","description":"Show a progress bar during cache warmup."},"crawler":{"type":"string","title":"Crawler","description":"FQCN of the crawler to use for cache warmup."},"crawlerOptions":{"type":"object","title":"Crawler options","description":"Additional options for configurable crawlers."},"strategy":{"type":"string","title":"Crawling strategy","description":"Optional crawling strategy to prepare URLs before crawling them.","enum":["sort-by-changefreq","sort-by-lastmod","sort-by-priority"]},"format":{"type":"string","title":"Format","description":"The formatter used to print the cache warmup result.","enum":["json","text"]},"logFile":{"type":"string","title":"Log file","description":"A file where to log crawling results."},"logLevel":{"type":"string","title":"Log level","description":"The log level used to determine which crawling results to log.","enum":["emergency","alert","critical","error","warning","notice","info","debug"]},"allowFailures":{"type":"boolean","title":"Allow failures","description":"Allow failures during URL crawling and exit with zero."},"stopOnFailure":{"type":"boolean","title":"Stop on failure","description":"Cancel further cache warmup requests on failure."},"repeatAfter":{"type":"integer","title":"Endless mode","description":"Run cache warmup in endless loop and repeat x seconds after each run.","minimum":0}},"additionalProperties":false}
</schema>

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

Cache warmup config

JSON schema reference

Sitemaps

URLs or local filenames of XML sitemaps to be warmed up.

URLs

Additional URLs to be warmed up.

Exclude patterns

Patterns of URLs to be excluded from cache warmup.

Limit

Limit the number of URLs to be processed.

Progress bar

Show a progress bar during cache warmup.

Crawler

FQCN of the crawler to use for cache warmup.

Crawler options

Additional options for configurable crawlers.

Crawling strategy

Optional crawling strategy to prepare URLs before crawling them.

Format

The formatter used to print the cache warmup result.

Log file

A file where to log crawling results.

Log level

The log level used to determine which crawling results to log.

emergency alert critical error warning notice info debug

Allow failures

Allow failures during URL crawling and exit with zero.

Stop on failure

Cancel further cache warmup requests on failure.

Endless mode

Run cache warmup in endless loop and repeat x seconds after each run.

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