@@ -29,6 +29,35 @@ class ToolOutputBaseModel(BaseModel):
2929 hidden : bool
3030
3131
32+ DiscoverViaT = Literal ["tool_provided_metadata" , "pattern" ]
33+ SortKeyT = Literal ["filename" , "name" , "designation" , "dbkey" ]
34+ SortCompT = Literal ["lexical" , "numeric" ]
35+
36+
37+ class DatasetCollectionDescription (BaseModel ):
38+ discover_via : DiscoverViaT
39+ format : Optional [str ]
40+ visible : bool
41+ assign_primary_output : bool
42+ directory : Optional [str ]
43+ recurse : bool
44+ match_relative_path : bool
45+
46+
47+ class ToolProvidedMetadataDatasetCollection (DatasetCollectionDescription ):
48+ discover_via : Literal ["tool_provided_metadata" ]
49+
50+
51+ class FilePatternDatasetCollectionDescription (DatasetCollectionDescription ):
52+ discover_via : Literal ["pattern" ]
53+ sort_key : SortKeyT
54+ sort_comp : SortCompT
55+ pattern : str
56+
57+
58+ DatasetCollectionDescriptionT = Union [FilePatternDatasetCollectionDescription , ToolProvidedMetadataDatasetCollection ]
59+
60+
3261class ToolOutputDataset (ToolOutputBaseModel ):
3362 type : Literal ["data" ]
3463 format : str
@@ -70,35 +99,6 @@ class ToolOutputBoolean(ToolOutputSimple):
7099 type : Literal ["boolean" ]
71100
72101
73- DiscoverViaT = Literal ["tool_provided_metadata" , "pattern" ]
74- SortKeyT = Literal ["filename" , "name" , "designation" , "dbkey" ]
75- SortCompT = Literal ["lexical" , "numeric" ]
76-
77-
78- class DatasetCollectionDescription (BaseModel ):
79- discover_via : DiscoverViaT
80- format : Optional [str ]
81- visible : bool
82- assign_primary_output : bool
83- directory : Optional [str ]
84- recurse : bool
85- match_relative_path : bool
86-
87-
88- class ToolProvidedMetadataDatasetCollection (DatasetCollectionDescription ):
89- discover_via : Literal ["tool_provided_metadata" ]
90-
91-
92- class FilePatternDatasetCollectionDescription (DatasetCollectionDescription ):
93- discover_via : Literal ["pattern" ]
94- sort_key : SortKeyT
95- sort_comp : SortCompT
96- pattern : str
97-
98-
99- DatasetCollectionDescriptionT = Union [FilePatternDatasetCollectionDescription , ToolProvidedMetadataDatasetCollection ]
100-
101-
102102ToolOutputT = Union [
103103 ToolOutputDataset , ToolOutputCollection , ToolOutputText , ToolOutputInteger , ToolOutputFloat , ToolOutputBoolean
104104]
0 commit comments