galaxyproject / galaxyproject/gxformat2

Support native Galaxy color and directory_uri workflow parameter inputs in gxformat2

Open
#202 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14
Forks
7
Avg merge
2h 49m
Merged PRs (30d)
8

Description

## Problem

Galaxy native workflow parameter inputs expose `color` and `directory_uri`, but gxformat2 workflow input types do not currently make these first-class input parameter types.

If native Galaxy supports these workflow parameter inputs, gxformat2 should be able to represent them explicitly instead of forcing them through text-compatible fallback behavior.

## Current behavior to verify

Galaxy native workflow parameter input types include:

- `text`
- `integer`
- `float`
- `boolean`
- `color`
- `directory_uri`

gxformat2 pydantic discrimination currently maps `color` to `WorkflowTextParameter`, but `directory_uri` does not appear as a declared gxformat2 workflow input type.

## Proposed behavior

Add explicit gxformat2 support for native Galaxy workflow parameter input types:

- `color`
- `directory_uri`

These should round-trip through:

- native Galaxy `.ga` workflow state
- gxformat2 normalized export
- gxformat2 import back to native Galaxy workflow state
- generated pydantic models
- generated JSON Schema

## Open questions

- Should `color` remain text-compatible internally while being declared as its own gxformat2 type?
- Should `directory_uri` be represented as a scalar parameter type, or should it have a richer file/directory URI shape?
- Should these types be included in the recommended gxformat2 authoring vocabulary once implemented?

## Acceptance criteria

- SALAD declares `color` and `directory_uri` workflow input types or equivalent concrete parameter records.
- Generated pydantic models accept both types without falling back to generic data/text behavior.
- Generated JSON Schema accepts both types.
- Native-to-format2 conversion preserves native `parameter_type: color` and `parameter_type: directory_uri`.
- Format2-to-native conversion restores native `parameter_type: color` and `parameter_type: directory_uri`.
- Tests cover import/export round trips for both types.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.