From 2a9ed6d6721850c9ab85c3102acd35abb1baba87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Manuel=20Dom=C3=ADnguez?= Date: Thu, 17 Apr 2025 15:41:28 +0200 Subject: [PATCH 01/10] Renew access tokens from PSA using valid refresh tokens Method `PSAAuthnz.refresh()` from psa_authnz.py holds its promise to refresh tokens only if they reached their half lifetime. However, that does not exclude expired tokens. Add an extra comparison to exclude expired refresh tokens. --- lib/galaxy/authnz/psa_authnz.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/authnz/psa_authnz.py b/lib/galaxy/authnz/psa_authnz.py index 0dc08472798..0152003d8ec 100644 --- a/lib/galaxy/authnz/psa_authnz.py +++ b/lib/galaxy/authnz/psa_authnz.py @@ -179,7 +179,11 @@ class PSAAuthnz(IdentityProvider): else: log.debug("No `expires` or `expires_in` key found in token extra data, cannot refresh") return False - if int(user_authnz_token.extra_data["auth_time"]) + int(expires) / 2 <= int(time.time()): + if ( + int(user_authnz_token.extra_data["auth_time"]) + int(expires) / 2 + <= int(time.time()) + < int(user_authnz_token.extra_data["auth_time"]) + int(expires) + ): on_the_fly_config(trans.sa_session) if self.config["provider"] == "azure": self.refresh_azure(user_authnz_token) From 94721e3ec56a2cf082362b113faaa300b0959852 Mon Sep 17 00:00:00 2001 From: Nate Coraor Date: Thu, 15 May 2025 11:33:24 -0400 Subject: [PATCH 02/10] Refactor display_as URL generation for UCSC links and fix to remove double slashes in URL --- lib/galaxy/datatypes/genetics.py | 9 ++----- lib/galaxy/datatypes/interval.py | 31 +++-------------------- lib/galaxy/datatypes/util/generic_util.py | 20 +++++++++++++++ 3 files changed, 26 insertions(+), 34 deletions(-) diff --git a/lib/galaxy/datatypes/genetics.py b/lib/galaxy/datatypes/genetics.py index 83136fcb7b9..95a07f2b8b2 100644 --- a/lib/galaxy/datatypes/genetics.py +++ b/lib/galaxy/datatypes/genetics.py @@ -49,6 +49,7 @@ from galaxy.util import ( unicodify, ) from galaxy.util.compression_utils import FileObjType +from .util.generic_util import display_as_url gal_Log = logging.getLogger(__name__) verbose = False @@ -121,13 +122,7 @@ class GenomeGraphs(Tabular): action="display_at", filename=f"ucsc_{site_name}", ) - display_url = "%s%s/display_as?id=%i&display_app=%s&authz_method=display_at" % ( - base_url, - app.url_for(controller="root"), - dataset.id, - type, - ) - display_url = quote_plus(display_url) + display_url = display_as_url(app, base_url, str(dataset.id), type) # was display_url = quote_plus( "%s/display_as?id=%i&display_app=%s" % (base_url, dataset.id, type) ) # redirect_url = quote_plus( "%sdb=%s&position=%s:%s-%s&hgt.customText=%%s" % (site_url, dataset.dbkey, chrom, start, stop) ) sl = [ diff --git a/lib/galaxy/datatypes/interval.py b/lib/galaxy/datatypes/interval.py index c681dafb8c1..a76ad2dbb84 100644 --- a/lib/galaxy/datatypes/interval.py +++ b/lib/galaxy/datatypes/interval.py @@ -52,6 +52,7 @@ from . import ( data, dataproviders, ) +from .util.generic_util import display_as_url log = logging.getLogger(__name__) @@ -345,15 +346,7 @@ class Interval(Tabular): action="display_at", filename="ucsc_" + site_name, ) - display_url = quote_plus( - "%s%s/display_as?id=%i&display_app=%s&authz_method=display_at" - % ( - base_url, - app.url_for(controller="root"), - dataset.id, - type, - ) - ) + display_url = display_as_url(app, base_url, str(dataset.id), type) redirect_url = quote_plus(f"{site_url}db={dataset.dbkey}&position={chrom}:{start}-{stop}&hgt.customText=%s") link = f"{internal_url}?redirect_url={redirect_url}&display_url={display_url}" ret_val.append((site_name, link)) @@ -783,15 +776,7 @@ class _RemoteCallMixin: """ internal_url = f"{app.url_for(controller='dataset', dataset_id=dataset.id, action='display_at', filename=f'{type}_{site_name}')}" base_url = app.config.get("display_at_callback", base_url) - display_url = quote_plus( - "%s%s/display_as?id=%i&display_app=%s&authz_method=display_at" - % ( - base_url, - app.url_for(controller="root"), - dataset.id, - type, - ) - ) + display_url = display_as_url(app, base_url, str(dataset.id), type) link = f"{internal_url}?redirect_url={redirect_url}&display_url={display_url}" return link @@ -1566,15 +1551,7 @@ class CustomTrack(Tabular): for site_name, site_url in app.datatypes_registry.get_legacy_sites_by_build("ucsc", dataset.dbkey): if site_name in app.datatypes_registry.get_display_sites("ucsc"): internal_url = f"{app.url_for(controller='dataset', dataset_id=dataset.id, action='display_at', filename='ucsc_' + site_name)}" - display_url = quote_plus( - "%s%s/display_as?id=%i&display_app=%s&authz_method=display_at" - % ( - base_url, - app.url_for(controller="root"), - dataset.id, - type, - ) - ) + display_url = display_as_url(app, base_url, str(dataset.id), type) redirect_url = quote_plus( f"{site_url}db={dataset.dbkey}&position={chrom}:{start}-{stop}&hgt.customText=%s" ) diff --git a/lib/galaxy/datatypes/util/generic_util.py b/lib/galaxy/datatypes/util/generic_util.py index 105f1a4792c..5aa68050513 100644 --- a/lib/galaxy/datatypes/util/generic_util.py +++ b/lib/galaxy/datatypes/util/generic_util.py @@ -1,3 +1,9 @@ +from urllib.parse import ( + quote_plus, + urlencode, + urljoin, +) + from galaxy.util import commands @@ -16,3 +22,17 @@ def count_special_lines(word, filename, invert=False): except commands.CommandLineException: return 0 return int(out) + + +def display_as_url(app, base_url: str, dataset_id: str, display_app: str) -> str: + """Generate a link to the ``display_as`` action the the ``root`` controller, encoded for use as a query param.""" + display_base_url = urljoin(base_url, app.url_for(controller="root", action="display_as")) + display_query = urlencode( + { + "id": dataset_id, + "display_app": display_app, + "authz_method": "display_at", + } + ) + display_url = quote_plus(f"{display_base_url}?{display_query}") + return display_url From e2678e7088d4dbef2e9c799f41cdf1d0b064e4c0 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Fri, 16 May 2025 18:46:13 +0200 Subject: [PATCH 03/10] Upgrade monaco-yaml --- client/package.json | 2 +- client/yarn.lock | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/client/package.json b/client/package.json index b251894d0e3..67298a19738 100644 --- a/client/package.json +++ b/client/package.json @@ -90,7 +90,7 @@ "markdown-it-regexp": "^0.4.0", "monaco-editor": "^0.52.2", "monaco-editor-webpack-plugin": "^7.1.0", - "monaco-yaml": "^5.2.3", + "monaco-yaml": "^5.4.0", "object-hash": "^3.0.0", "openapi-fetch": "^0.10.6", "pinia": "^2.1.7", diff --git a/client/yarn.lock b/client/yarn.lock index 30a18f34a05..996c996134c 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -8664,10 +8664,10 @@ monaco-worker-manager@^2.0.0: resolved "https://registry.yarnpkg.com/monaco-worker-manager/-/monaco-worker-manager-2.0.1.tgz#f67c54dfca34ed4b225d5de84e77b24b4e36de8a" integrity sha512-kdPL0yvg5qjhKPNVjJoym331PY/5JC11aPJXtCZNwWRvBr6jhkIamvYAyiY5P1AWFmNOy0aRDRoMdZfa71h8kg== -monaco-yaml@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/monaco-yaml/-/monaco-yaml-5.2.3.tgz#990fcf697bfa54e684a2d2f7df6d81a889843db4" - integrity sha512-GEplKC+YYmS0TOlJdv0FzbqkDN/IG2FSwEw+95myECVxTlhty2amwERYjzvorvJXmIagP1grd3Lleq7aQEJpPg== +monaco-yaml@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/monaco-yaml/-/monaco-yaml-5.4.0.tgz#c0ed6226c710c32c509e7c316c9a45f004862088" + integrity sha512-tuBVDy1KAPrgO905GHTItu8AaA5bIzF5S4X0JVRAE/D66FpRhkDUk7tKi5bwKMVTTugtpMLsXN4ewh4CgE/FtQ== dependencies: jsonc-parser "^3.0.0" monaco-languageserver-types "^0.4.0" @@ -8675,7 +8675,7 @@ monaco-yaml@^5.2.3: monaco-types "^0.1.0" monaco-worker-manager "^2.0.0" path-browserify "^1.0.0" - prettier "^2.0.0" + prettier "^3.0.0" vscode-languageserver-textdocument "^1.0.0" vscode-languageserver-types "^3.0.0" vscode-uri "^3.0.0" @@ -9652,11 +9652,16 @@ prelude-ls@~1.1.2: resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prettier@^2.0.0, prettier@^2.8.8: +prettier@^2.8.8: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.0.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + pretty-bytes@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-6.1.1.tgz#38cd6bb46f47afbf667c202cfc754bffd2016a3b" From 0e13bacee577ed4146f3bdb169c4b69fe6704bfb Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Fri, 16 May 2025 18:46:44 +0200 Subject: [PATCH 04/10] Provide more field annotations --- client/src/api/schema/schema.ts | 293 ++++++++++++++---- .../src/components/Tool/ToolSourceSchema.json | 2 +- client/src/components/Tool/YamlJs.ts | 51 ++- lib/galaxy/tool_util/xsd/galaxy.xsd | 8 +- lib/galaxy/tool_util_models/__init__.py | 47 ++- lib/galaxy/tool_util_models/parameters.py | 54 +++- lib/galaxy/tool_util_models/tool_outputs.py | 22 +- .../webapp/frontend/src/schema/schema.ts | 187 +++++++++-- 8 files changed, 537 insertions(+), 127 deletions(-) diff --git a/client/src/api/schema/schema.ts b/client/src/api/schema/schema.ts index 47d75bb1a3d..a61861be3ea 100644 --- a/client/src/api/schema/schema.ts +++ b/client/src/api/schema/schema.ts @@ -6617,10 +6617,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -6771,10 +6775,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -7149,10 +7157,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -7341,10 +7353,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -7384,10 +7400,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -8439,7 +8459,10 @@ export interface components { }; /** CwlBooleanParameterModel */ CwlBooleanParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8466,10 +8489,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -8498,10 +8525,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -8514,7 +8545,10 @@ export interface components { }; /** CwlFloatParameterModel */ CwlFloatParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8525,7 +8559,10 @@ export interface components { }; /** CwlIntegerParameterModel */ CwlIntegerParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8536,7 +8573,10 @@ export interface components { }; /** CwlNullParameterModel */ CwlNullParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8547,7 +8587,10 @@ export interface components { }; /** CwlStringParameterModel */ CwlStringParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8558,7 +8601,10 @@ export interface components { }; /** CwlUnionParameterModel */ "CwlUnionParameterModel-Input": { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8580,7 +8626,10 @@ export interface components { }; /** CwlUnionParameterModel */ "CwlUnionParameterModel-Output": { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Parameter Type @@ -8714,10 +8763,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -8757,10 +8810,14 @@ export interface components { label?: string | null; /** Multiple */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -8840,6 +8897,7 @@ export interface components { argument?: string | null; /** * Extensions + * @description Limit inputs to datasets with these extensions. Use 'data' to allow all input datasets. * @default [ * "data" * ] @@ -8865,13 +8923,18 @@ export interface components { min?: number | null; /** * Multiple + * @description Allow multiple values to be selected. * @default false */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -9574,10 +9637,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -9693,10 +9760,14 @@ export interface components { label?: string | null; /** Multiple */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -9739,10 +9810,14 @@ export interface components { label?: string | null; /** Multiple */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -10729,10 +10804,14 @@ export interface components { max?: number | null; /** Min */ min?: number | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -10945,10 +11024,14 @@ export interface components { label?: string | null; /** Multiple */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -11091,10 +11174,14 @@ export interface components { label?: string | null; /** Multiple */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -12722,10 +12809,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -13200,7 +13291,10 @@ export interface components { }; /** IncomingToolOutputCollection */ "IncomingToolOutputCollection-Input": { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden?: boolean | null; /** Label */ label?: string | null; @@ -13218,7 +13312,10 @@ export interface components { }; /** IncomingToolOutputCollection */ "IncomingToolOutputCollection-Output": { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden?: boolean | null; /** Label */ label?: string | null; @@ -13252,7 +13349,10 @@ export interface components { format_source?: string | null; /** From Work Dir */ from_work_dir?: string | null; - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden?: boolean | null; /** Label */ label?: string | null; @@ -13533,7 +13633,10 @@ export interface components { max?: number | null; /** Min */ min?: number | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** Optional */ optional: boolean; @@ -17531,10 +17634,14 @@ export interface components { max?: number | null; /** Min */ min?: number | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -17602,10 +17709,14 @@ export interface components { max?: number | null; /** Min */ min?: number | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -17813,10 +17924,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -17872,10 +17987,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -17939,10 +18058,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -18011,10 +18134,14 @@ export interface components { * @default false */ multiple: boolean; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -19116,10 +19243,14 @@ export interface components { is_dynamic: boolean; /** Label */ label?: string | null; - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string; /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean; @@ -19229,7 +19360,10 @@ export interface components { }; /** ToolOutputBoolean */ ToolOutputBoolean: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown; /** Label */ label?: string | null; @@ -19264,7 +19398,10 @@ export interface components { }; /** ToolOutputFloat */ ToolOutputFloat: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown; /** Label */ label?: string | null; @@ -19281,7 +19418,10 @@ export interface components { }; /** ToolOutputInteger */ ToolOutputInteger: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown; /** Label */ label?: string | null; @@ -19298,7 +19438,10 @@ export interface components { }; /** ToolOutputText */ ToolOutputText: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown; /** Label */ label?: string | null; @@ -20392,25 +20535,41 @@ export interface components { * @enum {string} */ class: "GalaxyUserTool"; - /** Container */ + /** + * Container + * @description Container image to use for this tool. + */ container: string; - /** Description */ + /** + * Description + * @description The description is displayed in the tool menu immediately following the hyperlink for the tool. + */ description?: string | null; /** Edam Operations */ edam_operations?: string[] | null; /** Edam Topics */ edam_topics?: string[] | null; + /** @description Help text shown below the tool interface. */ help?: components["schemas"]["HelpContent"] | null; - /** Id */ - id: string | null; + /** + * Id + * @description Unique identifier for the tool. Should be all lower-case and should not include whitespace. + */ + id: string; /** * Inputs * @default [] */ inputs: components["schemas"]["GalaxyToolParameterModel-Input"][]; - /** License */ + /** + * License + * @description A full URI or a a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool wrapper. The tool wrapper license can be independent of the underlying tool license. This license covers the tool yaml and associated scripts shipped with the tool. + */ license?: string | null; - /** Name */ + /** + * Name + * @description The name of the tool, displayed in the tool menu. This is not the same as the tool id, which is a unique identifier for the tool. + */ name: string; /** * Outputs @@ -20426,6 +20585,7 @@ export interface components { )[]; /** * Requirements + * @description A list of requirements needed to execute this tool. These can be javascript expressions, resource requirements or container images. * @default [] */ requirements: @@ -20440,8 +20600,11 @@ export interface components { * @description A string that contains the command to be executed. Parameters can be referenced inside $(). */ shell_command: string; - /** Version */ - version: string | null; + /** + * Version + * @description Version for the tool. + */ + version: string; /** Xrefs */ xrefs?: components["schemas"]["XrefDict"][] | null; }; @@ -20454,25 +20617,41 @@ export interface components { * @constant */ class: "GalaxyUserTool"; - /** Container */ + /** + * Container + * @description Container image to use for this tool. + */ container: string; - /** Description */ + /** + * Description + * @description The description is displayed in the tool menu immediately following the hyperlink for the tool. + */ description?: string | null; /** Edam Operations */ edam_operations?: string[] | null; /** Edam Topics */ edam_topics?: string[] | null; + /** @description Help text shown below the tool interface. */ help?: components["schemas"]["HelpContent"] | null; - /** Id */ - id: string | null; + /** + * Id + * @description Unique identifier for the tool. Should be all lower-case and should not include whitespace. + */ + id: string; /** * Inputs * @default [] */ inputs: components["schemas"]["GalaxyToolParameterModel-Output"][]; - /** License */ + /** + * License + * @description A full URI or a a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool wrapper. The tool wrapper license can be independent of the underlying tool license. This license covers the tool yaml and associated scripts shipped with the tool. + */ license?: string | null; - /** Name */ + /** + * Name + * @description The name of the tool, displayed in the tool menu. This is not the same as the tool id, which is a unique identifier for the tool. + */ name: string; /** * Outputs @@ -20488,6 +20667,7 @@ export interface components { )[]; /** * Requirements + * @description A list of requirements needed to execute this tool. These can be javascript expressions, resource requirements or container images. * @default [] */ requirements: @@ -20502,8 +20682,11 @@ export interface components { * @description A string that contains the command to be executed. Parameters can be referenced inside $(). */ shell_command: string; - /** Version */ - version: string | null; + /** + * Version + * @description Version for the tool. + */ + version: string; /** Xrefs */ xrefs?: components["schemas"]["XrefDict"][] | null; }; diff --git a/client/src/components/Tool/ToolSourceSchema.json b/client/src/components/Tool/ToolSourceSchema.json index d2526793af7..10dddc037bd 100644 --- a/client/src/components/Tool/ToolSourceSchema.json +++ b/client/src/components/Tool/ToolSourceSchema.json @@ -1 +1 @@ -{"$defs": {"BaseUrlParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_baseurl", "default": "gx_baseurl", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "baseurl", "title": "Type", "type": "string"}}, "required": ["name", "type"], "title": "BaseUrlParameterModel", "type": "object"}, "BooleanParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_boolean", "default": "gx_boolean", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "boolean", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Value"}, "truevalue": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Truevalue"}, "falsevalue": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Falsevalue"}}, "required": ["name", "type"], "title": "BooleanParameterModel", "type": "object"}, "Citation": {"properties": {"type": {"title": "Type", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["type", "content"], "title": "Citation", "type": "object"}, "ColorParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_color", "default": "gx_color", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "color", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Value"}}, "required": ["name", "type"], "title": "ColorParameterModel", "type": "object"}, "ConditionalParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_conditional", "default": "gx_conditional", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "conditional", "title": "Type", "type": "string"}, "test_parameter": {"anyOf": [{"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}], "title": "Test Parameter"}, "whens": {"items": {"$ref": "#/$defs/ConditionalWhen"}, "title": "Whens", "type": "array"}}, "required": ["name", "type", "test_parameter", "whens"], "title": "ConditionalParameterModel", "type": "object"}, "ConditionalWhen": {"additionalProperties": false, "properties": {"discriminator": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "title": "Discriminator"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}, "is_default_when": {"title": "Is Default When", "type": "boolean"}}, "required": ["discriminator", "parameters", "is_default_when"], "title": "ConditionalWhen", "type": "object"}, "Container": {"properties": {"type": {"enum": ["docker", "singularity"], "title": "Type", "type": "string"}, "container_id": {"title": "Container Id", "type": "string"}}, "required": ["type", "container_id"], "title": "Container", "type": "object"}, "ContainerRequirement": {"properties": {"type": {"const": "container", "title": "Type", "type": "string"}, "container": {"$ref": "#/$defs/Container"}}, "required": ["type", "container"], "title": "ContainerRequirement", "type": "object"}, "CwlBooleanParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_boolean", "default": "cwl_boolean", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlBooleanParameterModel", "type": "object"}, "CwlDirectoryParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_directory", "default": "cwl_directory", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}}, "required": ["name"], "title": "CwlDirectoryParameterModel", "type": "object"}, "CwlFileParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_file", "default": "cwl_file", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}}, "required": ["name"], "title": "CwlFileParameterModel", "type": "object"}, "CwlFloatParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_float", "default": "cwl_float", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlFloatParameterModel", "type": "object"}, "CwlIntegerParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_integer", "default": "cwl_integer", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlIntegerParameterModel", "type": "object"}, "CwlNullParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_null", "default": "cwl_null", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlNullParameterModel", "type": "object"}, "CwlStringParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_string", "default": "cwl_string", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlStringParameterModel", "type": "object"}, "CwlUnionParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_union", "default": "cwl_union", "title": "Parameter Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}]}, "title": "Parameters", "type": "array"}}, "required": ["name", "parameters"], "title": "CwlUnionParameterModel", "type": "object"}, "DataCollectionParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data_collection", "default": "gx_data_collection", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "data_collection", "title": "Type", "type": "string"}, "collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}, "extensions": {"default": ["data"], "items": {"type": "string"}, "title": "Extensions", "type": "array"}, "value": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Value"}}, "required": ["name", "type", "value"], "title": "DataCollectionParameterModel", "type": "object"}, "DataColumnParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data_column", "default": "gx_data_column", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "data_column", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}, "value": {"anyOf": [{"type": "integer"}, {"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Value"}}, "required": ["name", "type", "multiple"], "title": "DataColumnParameterModel", "type": "object"}, "DataParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data", "default": "gx_data", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "data", "title": "Type", "type": "string"}, "extensions": {"default": ["data"], "items": {"type": "string"}, "title": "Extensions", "type": "array"}, "multiple": {"default": false, "title": "Multiple", "type": "boolean"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}}, "required": ["name", "type"], "title": "DataParameterModel", "type": "object"}, "DirectoryUriParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_directory_uri", "default": "gx_directory_uri", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "directory", "title": "Type", "type": "string"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "DirectoryUriParameterModel", "type": "object"}, "DrillDownOptionsDict": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "value": {"title": "Value", "type": "string"}, "options": {"items": {"$ref": "#/$defs/DrillDownOptionsDict"}, "title": "Options", "type": "array"}, "selected": {"title": "Selected", "type": "boolean"}}, "required": ["name", "value", "options", "selected"], "title": "DrillDownOptionsDict", "type": "object"}, "DrillDownParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_drill_down", "default": "gx_drill_down", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "drill_down", "title": "Type", "type": "string"}, "options": {"anyOf": [{"items": {"$ref": "#/$defs/DrillDownOptionsDict"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Options"}, "multiple": {"title": "Multiple", "type": "boolean"}, "hierarchy": {"enum": ["recurse", "exact"], "title": "Hierarchy", "type": "string"}}, "required": ["name", "type", "multiple", "hierarchy"], "title": "DrillDownParameterModel", "type": "object"}, "EmptyFieldParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "empty_field", "default": "empty_field", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "EmptyFieldParameterValidatorModel", "type": "object"}, "ExpressionParameterValidatorModel": {"additionalProperties": false, "description": "Check if a one line python expression given expression evaluates to True.\n\nThe expression is given is the content of the validator tag.", "properties": {"type": {"const": "expression", "default": "expression", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}, "expression": {"title": "Expression", "type": "string"}}, "required": ["expression"], "title": "ExpressionParameterValidatorModel", "type": "object"}, "FilePatternDatasetCollectionDescription": {"properties": {"discover_via": {"const": "pattern", "title": "Discover Via", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "visible": {"title": "Visible", "type": "boolean"}, "assign_primary_output": {"title": "Assign Primary Output", "type": "boolean"}, "directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Directory"}, "recurse": {"title": "Recurse", "type": "boolean"}, "match_relative_path": {"title": "Match Relative Path", "type": "boolean"}, "sort_key": {"enum": ["filename", "name", "designation", "dbkey"], "title": "Sort Key", "type": "string"}, "sort_comp": {"enum": ["lexical", "numeric"], "title": "Sort Comp", "type": "string"}, "pattern": {"title": "Pattern", "type": "string"}}, "required": ["discover_via", "format", "visible", "assign_primary_output", "directory", "recurse", "match_relative_path", "sort_key", "sort_comp", "pattern"], "title": "FilePatternDatasetCollectionDescription", "type": "object"}, "FloatParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_float", "default": "gx_float", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "float", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Value"}, "min": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Max"}, "validators": {"default": [], "items": {"$ref": "#/$defs/InRangeParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "FloatParameterModel", "type": "object"}, "GalaxyToolParameterModel": {"discriminator": {"mapping": {"baseurl": "#/$defs/BaseUrlParameterModel", "boolean": "#/$defs/BooleanParameterModel", "color": "#/$defs/ColorParameterModel", "conditional": "#/$defs/ConditionalParameterModel", "data": "#/$defs/DataParameterModel", "data_collection": "#/$defs/DataCollectionParameterModel", "data_column": "#/$defs/DataColumnParameterModel", "directory": "#/$defs/DirectoryUriParameterModel", "drill_down": "#/$defs/DrillDownParameterModel", "float": "#/$defs/FloatParameterModel", "genomebuild": "#/$defs/GenomeBuildParameterModel", "group_tag": "#/$defs/GroupTagParameterModel", "hidden": "#/$defs/HiddenParameterModel", "integer": "#/$defs/IntegerParameterModel", "repeat": "#/$defs/RepeatParameterModel", "rules": "#/$defs/RulesParameterModel", "section": "#/$defs/SectionParameterModel", "select": "#/$defs/SelectParameterModel", "text": "#/$defs/TextParameterModel"}, "propertyName": "type"}, "oneOf": [{"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}], "title": "GalaxyToolParameterModel"}, "GenomeBuildParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_genomebuild", "default": "gx_genomebuild", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "genomebuild", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}}, "required": ["name", "type", "multiple"], "title": "GenomeBuildParameterModel", "type": "object"}, "GroupTagParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_group_tag", "default": "gx_group_tag", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "group_tag", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}}, "required": ["name", "type", "multiple"], "title": "GroupTagParameterModel", "type": "object"}, "HelpContent": {"properties": {"format": {"enum": ["restructuredtext", "plain_text", "markdown"], "title": "Format", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["format", "content"], "title": "HelpContent", "type": "object"}, "HiddenParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_hidden", "default": "gx_hidden", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "hidden", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Value"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type", "value"], "title": "HiddenParameterModel", "type": "object"}, "InRangeParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "in_range", "default": "in_range", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "exclude_min": {"default": false, "title": "Exclude Min", "type": "boolean"}, "exclude_max": {"default": false, "title": "Exclude Max", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "InRangeParameterValidatorModel", "type": "object"}, "IntegerParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_integer", "default": "gx_integer", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"title": "Optional", "type": "boolean"}, "type": {"const": "integer", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Value"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "validators": {"default": [], "items": {"$ref": "#/$defs/InRangeParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "optional", "type"], "title": "IntegerParameterModel", "type": "object"}, "JavascriptRequirement": {"properties": {"type": {"const": "javascript", "title": "Type", "type": "string"}, "expression_lib": {"anyOf": [{"items": {"description": "Provide Javascript/ECMAScript 5.1 code here that will be available for expressions inside the `shell_command` field.", "examples": ["function pickValue() {\n if (inputs.conditional_parameter.test_parameter == \"a\") {\n return inputs.conditional_parameter.integer_parameter\n } else {\n return inputs.conditional_parameter.boolean_parameter\n }\n}"], "title": "expression_lib", "type": "string"}, "type": "array"}, {"type": "null"}], "title": "Expression Lib"}}, "required": ["type", "expression_lib"], "title": "JavascriptRequirement", "type": "object"}, "LabelValue": {"properties": {"label": {"title": "Label", "type": "string"}, "value": {"title": "Value", "type": "string"}, "selected": {"title": "Selected", "type": "boolean"}}, "required": ["label", "value", "selected"], "title": "LabelValue", "type": "object"}, "LengthParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "length", "default": "length", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "LengthParameterValidatorModel", "type": "object"}, "NoOptionsParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "no_options", "default": "no_options", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "NoOptionsParameterValidatorModel", "type": "object"}, "RegexParameterValidatorModel": {"additionalProperties": false, "description": "Check if a regular expression **matches** the value, i.e. appears\nat the beginning of the value. To enforce a match of the complete value use\n``$`` at the end of the expression. The expression is given is the content\nof the validator tag. Note that for ``selects`` each option is checked\nseparately.", "properties": {"type": {"const": "regex", "default": "regex", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}, "expression": {"title": "Expression", "type": "string"}}, "required": ["expression"], "title": "RegexParameterValidatorModel", "type": "object"}, "RepeatParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_repeat", "default": "gx_repeat", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "repeat", "title": "Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}}, "required": ["name", "type", "parameters"], "title": "RepeatParameterModel", "type": "object"}, "ResourceRequirement": {"properties": {"type": {"const": "resource", "title": "Type", "type": "string"}, "cores_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cores Min"}, "cores_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cores Max"}, "ram_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Ram Min"}, "ram_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Ram Max"}, "tmpdir_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Tmpdir Min"}, "tmpdir_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Tmpdir Max"}, "cuda_version_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Version Min"}, "cuda_compute_capability": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Compute Capability"}, "gpu_memory_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Gpu Memory Min"}, "cuda_device_count_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Device Count Min"}, "cuda_device_count_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Device Count Max"}, "shm_size": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Shm Size"}}, "required": ["type", "cores_min", "cores_max", "ram_min", "ram_max", "tmpdir_min", "tmpdir_max", "cuda_version_min", "cuda_compute_capability", "gpu_memory_min", "cuda_device_count_min", "cuda_device_count_max", "shm_size"], "title": "ResourceRequirement", "type": "object"}, "RulesParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_rules", "default": "gx_rules", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "rules", "title": "Type", "type": "string"}}, "required": ["name", "type"], "title": "RulesParameterModel", "type": "object"}, "SectionParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_section", "default": "gx_section", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "section", "title": "Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}}, "required": ["name", "type", "parameters"], "title": "SectionParameterModel", "type": "object"}, "SelectParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_select", "default": "gx_select", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "select", "title": "Type", "type": "string"}, "options": {"anyOf": [{"items": {"$ref": "#/$defs/LabelValue"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Options"}, "multiple": {"default": false, "title": "Multiple", "type": "boolean"}, "validators": {"default": [], "items": {"$ref": "#/$defs/NoOptionsParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "SelectParameterModel", "type": "object"}, "TextParameterModel": {"properties": {"name": {"title": "Name", "type": "string"}, "parameter_type": {"const": "gx_text", "default": "gx_text", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "title": "Optional", "type": "boolean"}, "type": {"const": "text", "title": "Type", "type": "string"}, "area": {"default": false, "title": "Area", "type": "boolean"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Value"}, "default_options": {"default": [], "items": {"$ref": "#/$defs/LabelValue"}, "title": "Default Options", "type": "array"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "TextParameterModel", "type": "object"}, "ToolOutputBoolean": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"title": "Hidden"}, "type": {"const": "boolean", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputBoolean", "type": "object"}, "ToolOutputCollectionG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Hidden"}, "type": {"const": "collection", "title": "Type", "type": "string"}, "structure": {"$ref": "#/$defs/ToolOutputCollectionStructure"}}, "required": ["type", "structure"], "title": "ToolOutputCollectionG[Annotated[Union[bool, NoneType], FieldInfo(annotation=NoneType, required=False, default=None)], Annotated[Union[str, NoneType], FieldInfo(annotation=NoneType, required=False, default=None)]]", "type": "object"}, "ToolOutputCollectionStructure": {"properties": {"collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}, "collection_type_source": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type Source"}, "collection_type_from_rules": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type From Rules"}, "structured_like": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Structured Like"}, "discover_datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/FilePatternDatasetCollectionDescription"}, {"$ref": "#/$defs/ToolProvidedMetadataDatasetCollection"}]}, "type": "array"}, {"type": "null"}], "default": null, "title": "Discover Datasets"}}, "title": "ToolOutputCollectionStructure", "type": "object"}, "ToolOutputDatasetG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Hidden"}, "type": {"const": "data", "title": "Type", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The short name for the output datatype.", "title": "Format"}, "format_source": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Format Source"}, "metadata_source": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Metadata Source"}, "discover_datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/FilePatternDatasetCollectionDescription"}, {"$ref": "#/$defs/ToolProvidedMetadataDatasetCollection"}]}, "type": "array"}, {"type": "null"}], "default": null, "title": "Discover Datasets"}, "from_work_dir": {"anyOf": [{"description": "Relative path to a file produced by the tool in its working directory. Output\u2019s contents are set to this file\u2019s contents.", "title": "from_work_dir", "type": "string"}, {"type": "null"}], "default": null, "title": "From Work Dir"}}, "required": ["type"], "title": "ToolOutputDatasetG[Annotated[Union[bool, NoneType], FieldInfo(annotation=NoneType, required=False, default=None)], Annotated[Union[str, NoneType], FieldInfo(annotation=NoneType, required=False, default=None)]]", "type": "object"}, "ToolOutputFloat": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"title": "Hidden"}, "type": {"const": "float", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputFloat", "type": "object"}, "ToolOutputInteger": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"title": "Hidden"}, "type": {"const": "integer", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputInteger", "type": "object"}, "ToolOutputText": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"title": "Hidden"}, "type": {"const": "text", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputText", "type": "object"}, "ToolProvidedMetadataDatasetCollection": {"properties": {"discover_via": {"const": "tool_provided_metadata", "title": "Discover Via", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "visible": {"title": "Visible", "type": "boolean"}, "assign_primary_output": {"title": "Assign Primary Output", "type": "boolean"}, "directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Directory"}, "recurse": {"title": "Recurse", "type": "boolean"}, "match_relative_path": {"title": "Match Relative Path", "type": "boolean"}}, "required": ["discover_via", "format", "visible", "assign_primary_output", "directory", "recurse", "match_relative_path"], "title": "ToolProvidedMetadataDatasetCollection", "type": "object"}, "XrefDict": {"properties": {"value": {"title": "Value", "type": "string"}, "type": {"title": "Type", "type": "string"}}, "required": ["value", "type"], "title": "XrefDict", "type": "object"}}, "properties": {"class": {"const": "GalaxyUserTool", "title": "Class", "type": "string"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Id"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "name": {"title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Description"}, "container": {"title": "Container", "type": "string"}, "requirements": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/JavascriptRequirement"}, {"$ref": "#/$defs/ResourceRequirement"}, {"$ref": "#/$defs/ContainerRequirement"}]}, "type": "array"}, {"type": "null"}], "default": [], "title": "Requirements"}, "shell_command": {"description": "A string that contains the command to be executed. Parameters can be referenced inside $().", "examples": ["head -n '$(inputs.n_lines)' '$(inputs.data_input.path)'"], "title": "shell_command", "type": "string"}, "inputs": {"default": [], "items": {"$ref": "#/$defs/GalaxyToolParameterModel"}, "title": "Inputs", "type": "array"}, "outputs": {"default": [], "items": {"discriminator": {"mapping": {"boolean": "#/$defs/ToolOutputBoolean", "collection": "#/$defs/ToolOutputCollectionG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___", "data": "#/$defs/ToolOutputDatasetG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___", "float": "#/$defs/ToolOutputFloat", "integer": "#/$defs/ToolOutputInteger", "text": "#/$defs/ToolOutputText"}, "propertyName": "type"}, "oneOf": [{"$ref": "#/$defs/ToolOutputDatasetG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___"}, {"$ref": "#/$defs/ToolOutputCollectionG_Annotated_Union_bool__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___Annotated_Union_str__NoneType___FieldInfo_annotation_NoneType__required_False__default_None___"}, {"$ref": "#/$defs/ToolOutputText"}, {"$ref": "#/$defs/ToolOutputInteger"}, {"$ref": "#/$defs/ToolOutputFloat"}, {"$ref": "#/$defs/ToolOutputBoolean"}]}, "title": "Outputs", "type": "array"}, "citations": {"anyOf": [{"items": {"$ref": "#/$defs/Citation"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Citations"}, "license": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "License"}, "edam_operations": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Edam Operations"}, "edam_topics": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Edam Topics"}, "xrefs": {"anyOf": [{"items": {"$ref": "#/$defs/XrefDict"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Xrefs"}, "help": {"anyOf": [{"$ref": "#/$defs/HelpContent"}, {"type": "null"}], "default": null}}, "required": ["class", "id", "version", "name", "container", "shell_command"], "title": "UserToolSource", "type": "object"} +{"$defs": {"BaseUrlParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_baseurl", "default": "gx_baseurl", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "baseurl", "title": "Type", "type": "string"}}, "required": ["name", "type"], "title": "BaseUrlParameterModel", "type": "object"}, "BooleanParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_boolean", "default": "gx_boolean", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "boolean", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Value"}, "truevalue": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Truevalue"}, "falsevalue": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Falsevalue"}}, "required": ["name", "type"], "title": "BooleanParameterModel", "type": "object"}, "Citation": {"properties": {"type": {"title": "Type", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["type", "content"], "title": "Citation", "type": "object"}, "ColorParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_color", "default": "gx_color", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "color", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Value"}}, "required": ["name", "type"], "title": "ColorParameterModel", "type": "object"}, "ConditionalParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_conditional", "default": "gx_conditional", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "conditional", "title": "Type", "type": "string"}, "test_parameter": {"anyOf": [{"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}], "title": "Test Parameter"}, "whens": {"items": {"$ref": "#/$defs/ConditionalWhen"}, "title": "Whens", "type": "array"}}, "required": ["name", "type", "test_parameter", "whens"], "title": "ConditionalParameterModel", "type": "object"}, "ConditionalWhen": {"additionalProperties": false, "properties": {"discriminator": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "title": "Discriminator"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}, "is_default_when": {"title": "Is Default When", "type": "boolean"}}, "required": ["discriminator", "parameters", "is_default_when"], "title": "ConditionalWhen", "type": "object"}, "Container": {"properties": {"type": {"enum": ["docker", "singularity"], "title": "Type", "type": "string"}, "container_id": {"title": "Container Id", "type": "string"}}, "required": ["type", "container_id"], "title": "Container", "type": "object"}, "ContainerRequirement": {"properties": {"type": {"const": "container", "title": "Type", "type": "string"}, "container": {"$ref": "#/$defs/Container"}}, "required": ["type", "container"], "title": "ContainerRequirement", "type": "object"}, "CwlBooleanParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_boolean", "default": "cwl_boolean", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlBooleanParameterModel", "type": "object"}, "CwlDirectoryParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_directory", "default": "cwl_directory", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}}, "required": ["name"], "title": "CwlDirectoryParameterModel", "type": "object"}, "CwlFileParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_file", "default": "cwl_file", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}}, "required": ["name"], "title": "CwlFileParameterModel", "type": "object"}, "CwlFloatParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_float", "default": "cwl_float", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlFloatParameterModel", "type": "object"}, "CwlIntegerParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_integer", "default": "cwl_integer", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlIntegerParameterModel", "type": "object"}, "CwlNullParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_null", "default": "cwl_null", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlNullParameterModel", "type": "object"}, "CwlStringParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_string", "default": "cwl_string", "title": "Parameter Type", "type": "string"}}, "required": ["name"], "title": "CwlStringParameterModel", "type": "object"}, "CwlUnionParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "cwl_union", "default": "cwl_union", "title": "Parameter Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}]}, "title": "Parameters", "type": "array"}}, "required": ["name", "parameters"], "title": "CwlUnionParameterModel", "type": "object"}, "DataCollectionParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data_collection", "default": "gx_data_collection", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "data_collection", "title": "Type", "type": "string"}, "collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}, "extensions": {"default": ["data"], "items": {"type": "string"}, "title": "Extensions", "type": "array"}, "value": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Value"}}, "required": ["name", "type", "value"], "title": "DataCollectionParameterModel", "type": "object"}, "DataColumnParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data_column", "default": "gx_data_column", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "data_column", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}, "value": {"anyOf": [{"type": "integer"}, {"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Value"}}, "required": ["name", "type", "multiple"], "title": "DataColumnParameterModel", "type": "object"}, "DataParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_data", "default": "gx_data", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "data", "title": "Type", "type": "string"}, "extensions": {"default": ["data"], "description": "Limit inputs to datasets with these extensions. Use 'data' to allow all input datasets.", "examples": ["txt", "tabular", "tiff"], "items": {"type": "string"}, "title": "Extensions", "type": "array"}, "multiple": {"default": false, "description": "Allow multiple values to be selected.", "title": "Multiple", "type": "boolean"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}}, "required": ["name", "type"], "title": "DataParameterModel", "type": "object"}, "DirectoryUriParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_directory_uri", "default": "gx_directory_uri", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "directory", "title": "Type", "type": "string"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "DirectoryUriParameterModel", "type": "object"}, "DrillDownOptionsDict": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "value": {"title": "Value", "type": "string"}, "options": {"items": {"$ref": "#/$defs/DrillDownOptionsDict"}, "title": "Options", "type": "array"}, "selected": {"title": "Selected", "type": "boolean"}}, "required": ["name", "value", "options", "selected"], "title": "DrillDownOptionsDict", "type": "object"}, "DrillDownParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_drill_down", "default": "gx_drill_down", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "drill_down", "title": "Type", "type": "string"}, "options": {"anyOf": [{"items": {"$ref": "#/$defs/DrillDownOptionsDict"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Options"}, "multiple": {"title": "Multiple", "type": "boolean"}, "hierarchy": {"enum": ["recurse", "exact"], "title": "Hierarchy", "type": "string"}}, "required": ["name", "type", "multiple", "hierarchy"], "title": "DrillDownParameterModel", "type": "object"}, "EmptyFieldParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "empty_field", "default": "empty_field", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "EmptyFieldParameterValidatorModel", "type": "object"}, "ExpressionParameterValidatorModel": {"additionalProperties": false, "description": "Check if a one line python expression given expression evaluates to True.\n\nThe expression is given is the content of the validator tag.", "properties": {"type": {"const": "expression", "default": "expression", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}, "expression": {"title": "Expression", "type": "string"}}, "required": ["expression"], "title": "ExpressionParameterValidatorModel", "type": "object"}, "FilePatternDatasetCollectionDescription": {"properties": {"discover_via": {"const": "pattern", "title": "Discover Via", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "visible": {"title": "Visible", "type": "boolean"}, "assign_primary_output": {"title": "Assign Primary Output", "type": "boolean"}, "directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Directory"}, "recurse": {"title": "Recurse", "type": "boolean"}, "match_relative_path": {"title": "Match Relative Path", "type": "boolean"}, "sort_key": {"enum": ["filename", "name", "designation", "dbkey"], "title": "Sort Key", "type": "string"}, "sort_comp": {"enum": ["lexical", "numeric"], "title": "Sort Comp", "type": "string"}, "pattern": {"title": "Pattern", "type": "string"}}, "required": ["discover_via", "format", "visible", "assign_primary_output", "directory", "recurse", "match_relative_path", "sort_key", "sort_comp", "pattern"], "title": "FilePatternDatasetCollectionDescription", "type": "object"}, "FloatParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_float", "default": "gx_float", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "float", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Value"}, "min": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Max"}, "validators": {"default": [], "items": {"$ref": "#/$defs/InRangeParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "FloatParameterModel", "type": "object"}, "GalaxyToolParameterModel": {"discriminator": {"mapping": {"baseurl": "#/$defs/BaseUrlParameterModel", "boolean": "#/$defs/BooleanParameterModel", "color": "#/$defs/ColorParameterModel", "conditional": "#/$defs/ConditionalParameterModel", "data": "#/$defs/DataParameterModel", "data_collection": "#/$defs/DataCollectionParameterModel", "data_column": "#/$defs/DataColumnParameterModel", "directory": "#/$defs/DirectoryUriParameterModel", "drill_down": "#/$defs/DrillDownParameterModel", "float": "#/$defs/FloatParameterModel", "genomebuild": "#/$defs/GenomeBuildParameterModel", "group_tag": "#/$defs/GroupTagParameterModel", "hidden": "#/$defs/HiddenParameterModel", "integer": "#/$defs/IntegerParameterModel", "repeat": "#/$defs/RepeatParameterModel", "rules": "#/$defs/RulesParameterModel", "section": "#/$defs/SectionParameterModel", "select": "#/$defs/SelectParameterModel", "text": "#/$defs/TextParameterModel"}, "propertyName": "type"}, "oneOf": [{"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}], "title": "GalaxyToolParameterModel"}, "GenomeBuildParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_genomebuild", "default": "gx_genomebuild", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "genomebuild", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}}, "required": ["name", "type", "multiple"], "title": "GenomeBuildParameterModel", "type": "object"}, "GroupTagParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_group_tag", "default": "gx_group_tag", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "group_tag", "title": "Type", "type": "string"}, "multiple": {"title": "Multiple", "type": "boolean"}}, "required": ["name", "type", "multiple"], "title": "GroupTagParameterModel", "type": "object"}, "HelpContent": {"properties": {"format": {"enum": ["restructuredtext", "plain_text", "markdown"], "title": "Format", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["format", "content"], "title": "HelpContent", "type": "object"}, "HiddenParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_hidden", "default": "gx_hidden", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "hidden", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Value"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type", "value"], "title": "HiddenParameterModel", "type": "object"}, "InRangeParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "in_range", "default": "in_range", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "exclude_min": {"default": false, "title": "Exclude Min", "type": "boolean"}, "exclude_max": {"default": false, "title": "Exclude Max", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "InRangeParameterValidatorModel", "type": "object"}, "IncomingToolOutputCollection": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "collection", "title": "Type", "type": "string"}, "structure": {"$ref": "#/$defs/ToolOutputCollectionStructure"}}, "required": ["type", "structure"], "title": "IncomingToolOutputCollection", "type": "object"}, "IncomingToolOutputDataset": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "data", "title": "Type", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The short name for the output datatype.", "title": "Format"}, "format_source": {"anyOf": [{"description": "This sets the data type of the output dataset(s) to be the same format as that of the specified tool input.", "type": "string"}, {"type": "null"}], "default": null, "title": "Format Source"}, "metadata_source": {"anyOf": [{"description": "This copies the metadata information from the tool\u2019s input dataset to serve as default for information that cannot be detected from the output. One prominent use case is interval data with a non-standard column order that cannot be deduced from a header line, but which is known to be identical in the input and output datasets.", "type": "string"}, {"type": "null"}], "default": null, "title": "Metadata Source"}, "discover_datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/FilePatternDatasetCollectionDescription"}, {"$ref": "#/$defs/ToolProvidedMetadataDatasetCollection"}]}, "type": "array"}, {"type": "null"}], "default": null, "title": "Discover Datasets"}, "from_work_dir": {"anyOf": [{"description": "Relative path to a file produced by the tool in its working directory. Output\u2019s contents are set to this file\u2019s contents.", "title": "from_work_dir", "type": "string"}, {"type": "null"}], "default": null, "title": "From Work Dir"}}, "required": ["type"], "title": "IncomingToolOutputDataset", "type": "object"}, "IntegerParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_integer", "default": "gx_integer", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"title": "Optional", "type": "boolean"}, "type": {"const": "integer", "title": "Type", "type": "string"}, "value": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Value"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "validators": {"default": [], "items": {"$ref": "#/$defs/InRangeParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "optional", "type"], "title": "IntegerParameterModel", "type": "object"}, "JavascriptRequirement": {"properties": {"type": {"const": "javascript", "title": "Type", "type": "string"}, "expression_lib": {"anyOf": [{"items": {"description": "Provide Javascript/ECMAScript 5.1 code here that will be available for expressions inside the `shell_command` field.", "examples": ["function pickValue() {\n if (inputs.conditional_parameter.test_parameter == \"a\") {\n return inputs.conditional_parameter.integer_parameter\n } else {\n return inputs.conditional_parameter.boolean_parameter\n }\n}"], "title": "expression_lib", "type": "string"}, "type": "array"}, {"type": "null"}], "title": "Expression Lib"}}, "required": ["type", "expression_lib"], "title": "JavascriptRequirement", "type": "object"}, "LabelValue": {"properties": {"label": {"title": "Label", "type": "string"}, "value": {"title": "Value", "type": "string"}, "selected": {"title": "Selected", "type": "boolean"}}, "required": ["label", "value", "selected"], "title": "LabelValue", "type": "object"}, "LengthParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "length", "default": "length", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "LengthParameterValidatorModel", "type": "object"}, "NoOptionsParameterValidatorModel": {"additionalProperties": false, "properties": {"type": {"const": "no_options", "default": "no_options", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}}, "title": "NoOptionsParameterValidatorModel", "type": "object"}, "RegexParameterValidatorModel": {"additionalProperties": false, "description": "Check if a regular expression **matches** the value, i.e. appears\nat the beginning of the value. To enforce a match of the complete value use\n``$`` at the end of the expression. The expression is given is the content\nof the validator tag. Note that for ``selects`` each option is checked\nseparately.", "properties": {"type": {"const": "regex", "default": "regex", "title": "Type", "type": "string"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Message"}, "implicit": {"default": false, "title": "Implicit", "type": "boolean"}, "negate": {"default": false, "title": "Negate", "type": "boolean"}, "expression": {"title": "Expression", "type": "string"}}, "required": ["expression"], "title": "RegexParameterValidatorModel", "type": "object"}, "RepeatParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_repeat", "default": "gx_repeat", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "repeat", "title": "Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Max"}}, "required": ["name", "type", "parameters"], "title": "RepeatParameterModel", "type": "object"}, "ResourceRequirement": {"properties": {"type": {"const": "resource", "title": "Type", "type": "string"}, "cores_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cores Min"}, "cores_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cores Max"}, "ram_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Ram Min"}, "ram_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Ram Max"}, "tmpdir_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Tmpdir Min"}, "tmpdir_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Tmpdir Max"}, "cuda_version_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Version Min"}, "cuda_compute_capability": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Compute Capability"}, "gpu_memory_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Gpu Memory Min"}, "cuda_device_count_min": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Device Count Min"}, "cuda_device_count_max": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Cuda Device Count Max"}, "shm_size": {"anyOf": [{"type": "number"}, {"type": "integer"}, {"type": "null"}], "title": "Shm Size"}}, "required": ["type", "cores_min", "cores_max", "ram_min", "ram_max", "tmpdir_min", "tmpdir_max", "cuda_version_min", "cuda_compute_capability", "gpu_memory_min", "cuda_device_count_min", "cuda_device_count_max", "shm_size"], "title": "ResourceRequirement", "type": "object"}, "RulesParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_rules", "default": "gx_rules", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "rules", "title": "Type", "type": "string"}}, "required": ["name", "type"], "title": "RulesParameterModel", "type": "object"}, "SectionParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_section", "default": "gx_section", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "section", "title": "Type", "type": "string"}, "parameters": {"items": {"anyOf": [{"$ref": "#/$defs/CwlIntegerParameterModel"}, {"$ref": "#/$defs/CwlFloatParameterModel"}, {"$ref": "#/$defs/CwlStringParameterModel"}, {"$ref": "#/$defs/CwlBooleanParameterModel"}, {"$ref": "#/$defs/CwlNullParameterModel"}, {"$ref": "#/$defs/CwlFileParameterModel"}, {"$ref": "#/$defs/CwlDirectoryParameterModel"}, {"$ref": "#/$defs/CwlUnionParameterModel"}, {"$ref": "#/$defs/TextParameterModel"}, {"$ref": "#/$defs/IntegerParameterModel"}, {"$ref": "#/$defs/FloatParameterModel"}, {"$ref": "#/$defs/BooleanParameterModel"}, {"$ref": "#/$defs/HiddenParameterModel"}, {"$ref": "#/$defs/SelectParameterModel"}, {"$ref": "#/$defs/DataParameterModel"}, {"$ref": "#/$defs/DataCollectionParameterModel"}, {"$ref": "#/$defs/DataColumnParameterModel"}, {"$ref": "#/$defs/DirectoryUriParameterModel"}, {"$ref": "#/$defs/RulesParameterModel"}, {"$ref": "#/$defs/DrillDownParameterModel"}, {"$ref": "#/$defs/GroupTagParameterModel"}, {"$ref": "#/$defs/BaseUrlParameterModel"}, {"$ref": "#/$defs/GenomeBuildParameterModel"}, {"$ref": "#/$defs/ColorParameterModel"}, {"$ref": "#/$defs/ConditionalParameterModel"}, {"$ref": "#/$defs/RepeatParameterModel"}, {"$ref": "#/$defs/SectionParameterModel"}]}, "title": "Parameters", "type": "array"}}, "required": ["name", "type", "parameters"], "title": "SectionParameterModel", "type": "object"}, "SelectParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_select", "default": "gx_select", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "select", "title": "Type", "type": "string"}, "options": {"anyOf": [{"items": {"$ref": "#/$defs/LabelValue"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Options"}, "multiple": {"default": false, "title": "Multiple", "type": "boolean"}, "validators": {"default": [], "items": {"$ref": "#/$defs/NoOptionsParameterValidatorModel"}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "SelectParameterModel", "type": "object"}, "TextParameterModel": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows or inside command templating.", "title": "Name", "type": "string"}, "parameter_type": {"const": "gx_text", "default": "gx_text", "title": "Parameter Type", "type": "string"}, "hidden": {"default": false, "title": "Hidden", "type": "boolean"}, "label": {"anyOf": [{"description": "Will be displayed on the tool page as the label of the parameter.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "help": {"anyOf": [{"description": "Short bit of text, rendered on the tool form just below the associated field to provide information about the field.", "type": "string"}, {"type": "null"}], "default": null, "title": "Help"}, "argument": {"anyOf": [{"description": "If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument=\"--long-parameter\" then name=\"long_parameter\" is implicit).", "type": "string"}, {"type": "null"}], "default": null, "title": "Argument"}, "is_dynamic": {"default": false, "title": "Is Dynamic", "type": "boolean"}, "optional": {"default": false, "description": "If `false`, parameter must have a value.", "title": "Optional", "type": "boolean"}, "type": {"const": "text", "title": "Type", "type": "string"}, "area": {"default": false, "title": "Area", "type": "boolean"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Value"}, "default_options": {"default": [], "items": {"$ref": "#/$defs/LabelValue"}, "title": "Default Options", "type": "array"}, "validators": {"default": [], "items": {"anyOf": [{"$ref": "#/$defs/LengthParameterValidatorModel"}, {"$ref": "#/$defs/RegexParameterValidatorModel"}, {"$ref": "#/$defs/ExpressionParameterValidatorModel"}, {"$ref": "#/$defs/EmptyFieldParameterValidatorModel"}]}, "title": "Validators", "type": "array"}}, "required": ["name", "type"], "title": "TextParameterModel", "type": "object"}, "ToolOutputBoolean": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "boolean", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputBoolean", "type": "object"}, "ToolOutputCollectionStructure": {"properties": {"collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}, "collection_type_source": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type Source"}, "collection_type_from_rules": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type From Rules"}, "structured_like": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Structured Like"}, "discover_datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/FilePatternDatasetCollectionDescription"}, {"$ref": "#/$defs/ToolProvidedMetadataDatasetCollection"}]}, "type": "array"}, {"type": "null"}], "default": null, "title": "Discover Datasets"}}, "title": "ToolOutputCollectionStructure", "type": "object"}, "ToolOutputFloat": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "float", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputFloat", "type": "object"}, "ToolOutputInteger": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "integer", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputInteger", "type": "object"}, "ToolOutputText": {"properties": {"name": {"description": "Parameter name. Used when referencing parameter in workflows.", "title": "Name"}, "label": {"anyOf": [{"description": "Output label. Will be used as dataset name in history.", "type": "string"}, {"type": "null"}], "default": null, "title": "Label"}, "hidden": {"description": "If true, the output will not be shown in the history.", "title": "Hidden"}, "type": {"const": "text", "title": "Type", "type": "string"}}, "required": ["name", "hidden", "type"], "title": "ToolOutputText", "type": "object"}, "ToolProvidedMetadataDatasetCollection": {"properties": {"discover_via": {"const": "tool_provided_metadata", "title": "Discover Via", "type": "string"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "visible": {"title": "Visible", "type": "boolean"}, "assign_primary_output": {"title": "Assign Primary Output", "type": "boolean"}, "directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Directory"}, "recurse": {"title": "Recurse", "type": "boolean"}, "match_relative_path": {"title": "Match Relative Path", "type": "boolean"}}, "required": ["discover_via", "format", "visible", "assign_primary_output", "directory", "recurse", "match_relative_path"], "title": "ToolProvidedMetadataDatasetCollection", "type": "object"}, "XrefDict": {"properties": {"value": {"title": "Value", "type": "string"}, "type": {"title": "Type", "type": "string"}}, "required": ["value", "type"], "title": "XrefDict", "type": "object"}}, "properties": {"class": {"const": "GalaxyUserTool", "title": "Class", "type": "string"}, "id": {"description": "Unique identifier for the tool. Should be all lower-case and should not include whitespace.", "examples": ["my-cool-tool"], "maxLength": 255, "minLength": 3, "title": "Id", "type": "string"}, "version": {"description": "Version for the tool.", "examples": ["0.1.0"], "title": "Version", "type": "string"}, "name": {"description": "The name of the tool, displayed in the tool menu. This is not the same as the tool id, which is a unique identifier for the tool.", "title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The description is displayed in the tool menu immediately following the hyperlink for the tool.", "title": "Description"}, "container": {"description": "Container image to use for this tool.", "examples": ["quay.io/biocontainers/python:3.13"], "title": "Container", "type": "string"}, "requirements": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/$defs/JavascriptRequirement"}, {"$ref": "#/$defs/ResourceRequirement"}, {"$ref": "#/$defs/ContainerRequirement"}]}, "type": "array"}, {"type": "null"}], "default": [], "description": "A list of requirements needed to execute this tool. These can be javascript expressions, resource requirements or container images.", "title": "Requirements"}, "shell_command": {"description": "A string that contains the command to be executed. Parameters can be referenced inside $().", "examples": ["head -n '$(inputs.n_lines)' '$(inputs.data_input.path)'"], "title": "shell_command", "type": "string"}, "inputs": {"default": [], "items": {"$ref": "#/$defs/GalaxyToolParameterModel"}, "title": "Inputs", "type": "array"}, "outputs": {"default": [], "items": {"discriminator": {"mapping": {"boolean": "#/$defs/ToolOutputBoolean", "collection": "#/$defs/IncomingToolOutputCollection", "data": "#/$defs/IncomingToolOutputDataset", "float": "#/$defs/ToolOutputFloat", "integer": "#/$defs/ToolOutputInteger", "text": "#/$defs/ToolOutputText"}, "propertyName": "type"}, "oneOf": [{"$ref": "#/$defs/IncomingToolOutputDataset"}, {"$ref": "#/$defs/IncomingToolOutputCollection"}, {"$ref": "#/$defs/ToolOutputText"}, {"$ref": "#/$defs/ToolOutputInteger"}, {"$ref": "#/$defs/ToolOutputFloat"}, {"$ref": "#/$defs/ToolOutputBoolean"}]}, "title": "Outputs", "type": "array"}, "citations": {"anyOf": [{"items": {"$ref": "#/$defs/Citation"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Citations"}, "license": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "A full URI or a a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool wrapper. The tool wrapper license can be independent of the underlying tool license. This license covers the tool yaml and associated scripts shipped with the tool.", "examples": ["MIT"], "title": "License"}, "edam_operations": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Edam Operations"}, "edam_topics": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Edam Topics"}, "xrefs": {"anyOf": [{"items": {"$ref": "#/$defs/XrefDict"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Xrefs"}, "help": {"anyOf": [{"$ref": "#/$defs/HelpContent"}, {"type": "null"}], "default": null, "description": "Help text shown below the tool interface."}}, "required": ["class", "id", "version", "name", "container", "shell_command"], "title": "UserToolSource", "type": "object"} \ No newline at end of file diff --git a/client/src/components/Tool/YamlJs.ts b/client/src/components/Tool/YamlJs.ts index 849b78478b7..36ad5aa0f88 100644 --- a/client/src/components/Tool/YamlJs.ts +++ b/client/src/components/Tool/YamlJs.ts @@ -311,6 +311,44 @@ function attachDiagnosticsProvider( }); } +function quickInfoToMarkdown(quickInfo: any, position: IPosition) { + const { displayParts, documentation, tags } = quickInfo; + const markdownText = []; + + // Format displayParts as code + if (displayParts && displayParts.length > 0) { + const signature = displayParts.map((part: any) => part.text).join(""); + markdownText.push({ value: "```ts\n" + signature + "\n```" }); + } + + // Add documentation text + if (documentation && documentation.length > 0) { + const docText = documentation.map((part: any) => part.text).join(""); + markdownText.push({ value: docText }); + } + + // Add tag text (e.g. @description) + if (tags && tags.length > 0) { + tags.forEach((tag: any) => { + if (tag.text && Array.isArray(tag.text)) { + const tagText = tag.text.map((t: any) => t.text).join(""); + markdownText.push({ value: `**@${tag.name}** — ${tagText}` }); + } else if (typeof tag.text === "string") { + markdownText.push({ value: `**@${tag.name}** — ${tag.text}` }); + } + }); + } + return { + range: { + startLineNumber: position.lineNumber, + startColumn: position.column, + endLineNumber: position.lineNumber, + endColumn: position.column, + }, + contents: markdownText, + }; +} + async function provideHover(model: editor.ITextModel, position: IPosition) { const currentData = await modelForCurrentPosition(model, position); if (currentData) { @@ -320,18 +358,7 @@ async function provideHover(model: editor.ITextModel, position: IPosition) { currentData.offset ); if (quickInfo) { - return { - range: { - startLineNumber: position.lineNumber, - startColumn: position.column, - endLineNumber: position.lineNumber, - endColumn: position.column, - }, - contents: [ - { value: quickInfo.displayParts.map((p: any) => p.text).join("") }, - { value: quickInfo.documentation }, - ], - }; + return quickInfoToMarkdown(quickInfo, position); } } return null; diff --git a/lib/galaxy/tool_util/xsd/galaxy.xsd b/lib/galaxy/tool_util/xsd/galaxy.xsd index ff5f3bd6ffb..b923fd3fbfa 100644 --- a/lib/galaxy/tool_util/xsd/galaxy.xsd +++ b/lib/galaxy/tool_util/xsd/galaxy.xsd @@ -203,11 +203,11 @@ for the list of behavior changes associated with profile versions. This string specifies any full URI or a -a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool -wrapper. The tool wrapper version can be indepedent of the underlying tool. This -license covers the tool XML and associated scripts shipped with the tool. + a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool + wrapper. The tool wrapper version can be independent of the underlying tool. This + license covers the tool XML and associated scripts shipped with the tool. -This is interpreted as [schema.org/license](https://schema.org/license) property. + This is interpreted as [schema.org/license](https://schema.org/license) property. diff --git a/lib/galaxy/tool_util_models/__init__.py b/lib/galaxy/tool_util_models/__init__.py index 4e419fddbfd..1055e1ca554 100644 --- a/lib/galaxy/tool_util_models/__init__.py +++ b/lib/galaxy/tool_util_models/__init__.py @@ -82,12 +82,37 @@ class ToolSourceBase(BaseModel): # repeated fields to get consistent order, ugh, FIXME obviously class UserToolSource(BaseModel): class_: Annotated[Literal["GalaxyUserTool"], Field(alias="class")] - id: Optional[str] - version: Optional[str] - name: str - description: Optional[str] = None - container: str - requirements: Optional[List[Union[JavascriptRequirement, ResourceRequirement, ContainerRequirement]]] = [] + id: Annotated[ + str, + Field( + description="Unique identifier for the tool. Should be all lower-case and should not include whitespace.", + examples=["my-cool-tool"], + min_length=3, + max_length=255, + ), + ] + version: Annotated[str, Field(description="Version for the tool.", examples=["0.1.0"])] + name: Annotated[ + str, + Field( + description="The name of the tool, displayed in the tool menu. This is not the same as the tool id, which is a unique identifier for the tool." + ), + ] + description: Annotated[ + Optional[str], + Field( + description="The description is displayed in the tool menu immediately following the hyperlink for the tool." + ), + ] = None + container: Annotated[ + str, Field(description="Container image to use for this tool.", examples=["quay.io/biocontainers/python:3.13"]) + ] + requirements: Annotated[ + Optional[List[Union[JavascriptRequirement, ResourceRequirement, ContainerRequirement]]], + Field( + description="A list of requirements needed to execute this tool. These can be javascript expressions, resource requirements or container images." + ), + ] = [] shell_command: Annotated[ str, Field( @@ -99,11 +124,17 @@ class UserToolSource(BaseModel): inputs: List[GalaxyToolParameterModel] = [] outputs: List[IncomingToolOutput] = [] citations: Optional[List[Citation]] = None - license: Optional[str] = None + license: Annotated[ + Optional[str], + Field( + description="A full URI or a a short [SPDX](https://spdx.org/licenses/) identifier for a license for this tool wrapper. The tool wrapper license can be independent of the underlying tool license. This license covers the tool yaml and associated scripts shipped with the tool.", + examples=["MIT"], + ), + ] = None edam_operations: Optional[List[str]] = None edam_topics: Optional[List[str]] = None xrefs: Optional[List[XrefDict]] = None - help: Optional[HelpContent] = None + help: Annotated[Optional[HelpContent], Field(description="Help text shown below the tool interface.")] = None @model_validator(mode="before") @classmethod diff --git a/lib/galaxy/tool_util_models/parameters.py b/lib/galaxy/tool_util_models/parameters.py index 9dc6fa7b6f1..bce03a9ead4 100644 --- a/lib/galaxy/tool_util_models/parameters.py +++ b/lib/galaxy/tool_util_models/parameters.py @@ -176,7 +176,10 @@ def dynamic_model_information_from_py_type( # where value in the incoming model means "default value" and value in the outgoing model is the actual # value a user has set. (incoming/outgoing from the client perspective). class BaseToolParameterModelDefinition(BaseModel): - name: str + name: Annotated[ + str, + Field(description="Parameter name. Used when referencing parameter in workflows or inside command templating."), + ] parameter_type: str @abstractmethod @@ -186,11 +189,27 @@ class BaseToolParameterModelDefinition(BaseModel): class BaseGalaxyToolParameterModelDefinition(BaseToolParameterModelDefinition): hidden: bool = False - label: Optional[str] = None - help: Optional[str] = None - argument: Optional[str] = None + label: Optional[ + Annotated[str, Field(description="Will be displayed on the tool page as the label of the parameter.")] + ] = None + help: Optional[ + Annotated[ + str, + Field( + description="Short bit of text, rendered on the tool form just below the associated field to provide information about the field." + ), + ] + ] = None + argument: Optional[ + Annotated[ + str, + Field( + description="""If the parameter reflects just one command line argument of a certain tool, this tag should be set to that particular argument. It is rendered in parenthesis after the help section, and it will create the name attribute (if not given explicitly) from the argument attribute by stripping leading dashes and replacing all remaining dashes by underscores (e.g. if argument="--long-parameter" then name="long_parameter" is implicit).""" + ), + ] + ] = None is_dynamic: bool = False - optional: bool = False + optional: Annotated[bool, Field(description="If `false`, parameter must have a value.")] = False class LabelValue(BaseModel): @@ -511,12 +530,19 @@ class DataRequestInternalHdca(StrictModel): class DataInternalJson(StrictModel): class_: Annotated[Literal["File"], Field(alias="class")] - basename: str + basename: Annotated[ + str, + Field( + description="The base name of the file, that is, the name of the file without any leading directory path" + ), + ] location: str - path: str + path: Annotated[str, Field(description="The absolute path to the file on disk.")] listing: Optional[List[str]] # Should be recursive - nameroot: Optional[str] - nameext: Optional[str] + nameroot: Annotated[Optional[str], Field(description="The basename root such that nameroot + nameext == basename")] + nameext: Annotated[ + Optional[str], Field(description="The basename extension such that nameroot + nameext == basename") + ] # "secondaryFiles": List[Any], checksum: Optional[str] size: int @@ -576,8 +602,14 @@ MultiDataRequestInternalDereferenced: Type = union_type( class DataParameterModel(BaseGalaxyToolParameterModelDefinition): parameter_type: Literal["gx_data"] = "gx_data" type: Literal["data"] - extensions: List[str] = ["data"] - multiple: bool = False + extensions: Annotated[ + List[str], + Field( + description="Limit inputs to datasets with these extensions. Use 'data' to allow all input datasets.", + examples=["txt", "tabular", "tiff"], + ), + ] = ["data"] + multiple: Annotated[bool, Field(description="Allow multiple values to be selected.")] = False min: Optional[int] = None max: Optional[int] = None diff --git a/lib/galaxy/tool_util_models/tool_outputs.py b/lib/galaxy/tool_util_models/tool_outputs.py index 69580849206..62253ba32e9 100644 --- a/lib/galaxy/tool_util_models/tool_outputs.py +++ b/lib/galaxy/tool_util_models/tool_outputs.py @@ -35,7 +35,9 @@ class GenericToolOutputBaseModel(BaseModel, Generic[IncomingNotRequiredBoolT, In IncomingNotRequiredStringT, Field(description="Parameter name. Used when referencing parameter in workflows.") ] label: Optional[Annotated[str, Field(description="Output label. Will be used as dataset name in history.")]] = None - hidden: IncomingNotRequiredBoolT + hidden: Annotated[ + IncomingNotRequiredBoolT, Field(description="If true, the output will not be shown in the history.") + ] DiscoverViaT = Literal["tool_provided_metadata", "pattern"] @@ -73,8 +75,22 @@ class GenericToolOutputDataset( ): type: Literal["data"] format: Annotated[IncomingNotRequiredStringT, Field(description="The short name for the output datatype.")] - format_source: Optional[str] = None - metadata_source: Optional[str] = None + format_source: Optional[ + Annotated[ + str, + Field( + description="This sets the data type of the output dataset(s) to be the same format as that of the specified tool input." + ), + ] + ] = None + metadata_source: Optional[ + Annotated[ + str, + Field( + description="This copies the metadata information from the tool’s input dataset to serve as default for information that cannot be detected from the output. One prominent use case is interval data with a non-standard column order that cannot be deduced from a header line, but which is known to be identical in the input and output datasets." + ), + ] + ] = None discover_datasets: Optional[List[DatasetCollectionDescriptionT]] = None from_work_dir: Optional[ Annotated[ diff --git a/lib/tool_shed/webapp/frontend/src/schema/schema.ts b/lib/tool_shed/webapp/frontend/src/schema/schema.ts index ac13cb34147..5ef51ac4d36 100644 --- a/lib/tool_shed/webapp/frontend/src/schema/schema.ts +++ b/lib/tool_shed/webapp/frontend/src/schema/schema.ts @@ -799,10 +799,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -845,10 +849,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -932,10 +940,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -971,10 +983,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1072,7 +1088,10 @@ export interface components { } /** CwlBooleanParameterModel */ CwlBooleanParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1099,10 +1118,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1131,10 +1154,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1147,7 +1174,10 @@ export interface components { } /** CwlFloatParameterModel */ CwlFloatParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1158,7 +1188,10 @@ export interface components { } /** CwlIntegerParameterModel */ CwlIntegerParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1169,7 +1202,10 @@ export interface components { } /** CwlNullParameterModel */ CwlNullParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1180,7 +1216,10 @@ export interface components { } /** CwlStringParameterModel */ CwlStringParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1191,7 +1230,10 @@ export interface components { } /** CwlUnionParameterModel */ CwlUnionParameterModel: { - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Parameter Type @@ -1238,10 +1280,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1281,10 +1327,14 @@ export interface components { label?: string | null /** Multiple */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1308,6 +1358,7 @@ export interface components { argument?: string | null /** * Extensions + * @description Limit inputs to datasets with these extensions. Use 'data' to allow all input datasets. * @default [ * "data" * ] @@ -1333,13 +1384,18 @@ export interface components { min?: number | null /** * Multiple + * @description Allow multiple values to be selected. * @default false */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1416,10 +1472,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1481,10 +1541,14 @@ export interface components { label?: string | null /** Multiple */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1610,10 +1674,14 @@ export interface components { max?: number | null /** Min */ min?: number | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1656,10 +1724,14 @@ export interface components { label?: string | null /** Multiple */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1695,10 +1767,14 @@ export interface components { label?: string | null /** Multiple */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1742,10 +1818,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -1869,7 +1949,10 @@ export interface components { max?: number | null /** Min */ min?: number | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** Optional */ optional: boolean @@ -2033,10 +2116,14 @@ export interface components { max?: number | null /** Min */ min?: number | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -2366,10 +2453,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -2403,10 +2494,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -2475,10 +2570,14 @@ export interface components { * @default false */ multiple: boolean - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -2662,10 +2761,14 @@ export interface components { is_dynamic: boolean /** Label */ label?: string | null - /** Name */ + /** + * Name + * @description Parameter name. Used when referencing parameter in workflows or inside command templating. + */ name: string /** * Optional + * @description If `false`, parameter must have a value. * @default false */ optional: boolean @@ -2770,7 +2873,10 @@ export interface components { } /** ToolOutputBoolean */ ToolOutputBoolean: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown /** Label */ label?: string | null @@ -2787,7 +2893,10 @@ export interface components { } /** ToolOutputCollection */ ToolOutputCollection: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: boolean /** Label */ label?: string | null @@ -2839,7 +2948,10 @@ export interface components { format_source?: string | null /** From Work Dir */ from_work_dir?: string | null - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: boolean /** Label */ label?: string | null @@ -2858,7 +2970,10 @@ export interface components { } /** ToolOutputFloat */ ToolOutputFloat: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown /** Label */ label?: string | null @@ -2875,7 +2990,10 @@ export interface components { } /** ToolOutputInteger */ ToolOutputInteger: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown /** Label */ label?: string | null @@ -2892,7 +3010,10 @@ export interface components { } /** ToolOutputText */ ToolOutputText: { - /** Hidden */ + /** + * Hidden + * @description If true, the output will not be shown in the history. + */ hidden: unknown /** Label */ label?: string | null From 9ddaff343fb3b5fc3a50f5db4bf3839295422eed Mon Sep 17 00:00:00 2001 From: guerler Date: Sat, 17 May 2025 06:01:49 -0400 Subject: [PATCH 05/10] Update tabulator version, improve handling of very large files Use Math.ceil when determining page count --- config/plugins/visualizations/tabulator/config/tabulator.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/plugins/visualizations/tabulator/config/tabulator.xml b/config/plugins/visualizations/tabulator/config/tabulator.xml index 990878b02a0..964e9ee9a32 100644 --- a/config/plugins/visualizations/tabulator/config/tabulator.xml +++ b/config/plugins/visualizations/tabulator/config/tabulator.xml @@ -18,7 +18,7 @@ dataset_id - + From b164d346cdded81d7c86427537f50f65be33b69a Mon Sep 17 00:00:00 2001 From: guerler Date: Sat, 17 May 2025 14:21:39 -0400 Subject: [PATCH 06/10] Fix theme selectors computed value getter --- client/src/components/User/ThemeSelector.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/User/ThemeSelector.vue b/client/src/components/User/ThemeSelector.vue index d27dd058a11..1a1e96ee9de 100644 --- a/client/src/components/User/ThemeSelector.vue +++ b/client/src/components/User/ThemeSelector.vue @@ -11,7 +11,7 @@ const { config, isConfigLoaded } = useConfig(); const show = ref(false); const currentValue = computed({ get: () => { - return currentTheme; + return currentTheme.value; }, set: (theme) => { setCurrentTheme(theme); From 2113c6e3cbd441272b7801eeea79c148837dfcbd Mon Sep 17 00:00:00 2001 From: guerler Date: Sat, 17 May 2025 16:33:39 -0400 Subject: [PATCH 07/10] Unify header size across user interface for consistency --- .../components/Collections/common/CollectionEditView.vue | 2 +- .../src/components/DatasetInformation/DatasetAttributes.vue | 2 +- client/src/components/Grid/GridHistory.vue | 2 +- client/src/components/Grid/GridInvocation.vue | 2 +- client/src/components/Grid/GridList.vue | 2 +- client/src/components/Grid/GridPage.vue | 2 +- client/src/components/Grid/GridVisualization.vue | 2 +- client/src/components/History/HistoryAccessibility.vue | 2 +- client/src/components/History/Multiple/MultipleView.vue | 2 +- client/src/components/Notifications/NotificationsList.vue | 2 +- client/src/components/Tool/CustomToolEditor.vue | 2 +- .../User/Notifications/NotificationsPreferences.vue | 2 +- .../components/Workflow/Published/WorkflowInformation.vue | 2 +- .../src/components/Workflow/Published/WorkflowPublished.vue | 6 +++--- client/src/components/Workflow/WorkflowCreate.vue | 2 +- 15 files changed, 17 insertions(+), 17 deletions(-) diff --git a/client/src/components/Collections/common/CollectionEditView.vue b/client/src/components/Collections/common/CollectionEditView.vue index dbe6ba32865..9666ef9c241 100644 --- a/client/src/components/Collections/common/CollectionEditView.vue +++ b/client/src/components/Collections/common/CollectionEditView.vue @@ -216,7 +216,7 @@ async function saveAttrs() {