@nfdi4plants/arctrl 3.2.2 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.md +0 -64
  2. package/dist/ts/index.d.ts +44 -7
  3. package/dist/ts/index.d.ts.map +1 -1
  4. package/dist/ts/index.js +45 -8
  5. package/dist/ts/node_modules/@fable-org/fable-library-ts/Array.js +195 -92
  6. package/dist/ts/node_modules/@fable-org/fable-library-ts/Async.js +251 -30
  7. package/dist/ts/node_modules/@fable-org/fable-library-ts/AsyncBuilder.js +61 -11
  8. package/dist/ts/node_modules/@fable-org/fable-library-ts/BigInt.js +15 -5
  9. package/dist/ts/node_modules/@fable-org/fable-library-ts/BitConverter.js +139 -0
  10. package/dist/ts/node_modules/@fable-org/fable-library-ts/Date.js +1 -1
  11. package/dist/ts/node_modules/@fable-org/fable-library-ts/Decimal.js +68 -12
  12. package/dist/ts/node_modules/@fable-org/fable-library-ts/Double.js +24 -10
  13. package/dist/ts/node_modules/@fable-org/fable-library-ts/FSharp.Core.js +8 -2
  14. package/dist/ts/node_modules/@fable-org/fable-library-ts/Global.js +1 -1
  15. package/dist/ts/node_modules/@fable-org/fable-library-ts/Int32.js +11 -2
  16. package/dist/ts/node_modules/@fable-org/fable-library-ts/List.js +220 -155
  17. package/dist/ts/node_modules/@fable-org/fable-library-ts/Long.js +7 -2
  18. package/dist/ts/node_modules/@fable-org/fable-library-ts/Map.js +46 -39
  19. package/dist/ts/node_modules/@fable-org/fable-library-ts/MutableMap.js +75 -92
  20. package/dist/ts/node_modules/@fable-org/fable-library-ts/MutableSet.js +56 -76
  21. package/dist/ts/node_modules/@fable-org/fable-library-ts/NumberStyles.js +54 -0
  22. package/dist/ts/node_modules/@fable-org/fable-library-ts/Numeric.js +10 -5
  23. package/dist/ts/node_modules/@fable-org/fable-library-ts/Random.js +3 -4
  24. package/dist/ts/node_modules/@fable-org/fable-library-ts/Range.js +4 -3
  25. package/dist/ts/node_modules/@fable-org/fable-library-ts/RegExp.js +2 -2
  26. package/dist/ts/node_modules/@fable-org/fable-library-ts/Seq.js +128 -64
  27. package/dist/ts/node_modules/@fable-org/fable-library-ts/Seq2.js +4 -8
  28. package/dist/ts/node_modules/@fable-org/fable-library-ts/Set.js +64 -57
  29. package/dist/ts/node_modules/@fable-org/fable-library-ts/String.js +68 -21
  30. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.Collections.Generic.js +3 -2
  31. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.Text.js +2 -2
  32. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.js +5 -5
  33. package/dist/ts/node_modules/@fable-org/fable-library-ts/Types.js +23 -12
  34. package/dist/ts/node_modules/@fable-org/fable-library-ts/Util.js +88 -49
  35. package/dist/ts/node_modules/@fable-org/fable-library-ts/lib/big.js +121 -74
  36. package/dist/ts/ts/ARC.d.ts +22 -5
  37. package/dist/ts/ts/ARC.d.ts.map +1 -1
  38. package/dist/ts/ts/ARC.js +282 -185
  39. package/dist/ts/ts/CWL/CWLKnownFieldNames.d.ts +0 -2
  40. package/dist/ts/ts/CWL/CWLKnownFieldNames.d.ts.map +1 -1
  41. package/dist/ts/ts/CWL/CWLKnownFieldNames.js +1 -7
  42. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts +46 -27
  43. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts.map +1 -1
  44. package/dist/ts/ts/CWL/CWLProcessingUnit.js +312 -123
  45. package/dist/ts/ts/CWL/CWLTypes.d.ts +481 -148
  46. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -1
  47. package/dist/ts/ts/CWL/CWLTypes.js +887 -201
  48. package/dist/ts/ts/CWL/Decode.d.ts +480 -211
  49. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -1
  50. package/dist/ts/ts/CWL/Decode.js +3614 -2462
  51. package/dist/ts/ts/CWL/DynamicObjHelpers.d.ts +9 -0
  52. package/dist/ts/ts/CWL/DynamicObjHelpers.d.ts.map +1 -1
  53. package/dist/ts/ts/CWL/DynamicObjHelpers.js +55 -5
  54. package/dist/ts/ts/CWL/Encode.d.ts +225 -85
  55. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -1
  56. package/dist/ts/ts/CWL/Encode.js +1858 -970
  57. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts +42 -28
  58. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts.map +1 -1
  59. package/dist/ts/ts/CWL/ExpressionToolDescription.js +34 -13
  60. package/dist/ts/ts/CWL/HashHelpers.d.ts +38 -0
  61. package/dist/ts/ts/CWL/HashHelpers.d.ts.map +1 -1
  62. package/dist/ts/ts/CWL/HashHelpers.js +255 -6
  63. package/dist/ts/ts/CWL/Inputs.d.ts +127 -56
  64. package/dist/ts/ts/CWL/Inputs.d.ts.map +1 -1
  65. package/dist/ts/ts/CWL/Inputs.js +107 -16
  66. package/dist/ts/ts/CWL/OperationDescription.d.ts +41 -21
  67. package/dist/ts/ts/CWL/OperationDescription.d.ts.map +1 -1
  68. package/dist/ts/ts/CWL/OperationDescription.js +35 -9
  69. package/dist/ts/ts/CWL/Outputs.d.ts +93 -42
  70. package/dist/ts/ts/CWL/Outputs.d.ts.map +1 -1
  71. package/dist/ts/ts/CWL/Outputs.js +101 -19
  72. package/dist/ts/ts/CWL/ParameterReference.d.ts +11 -8
  73. package/dist/ts/ts/CWL/ParameterReference.d.ts.map +1 -1
  74. package/dist/ts/ts/CWL/ParameterReference.js +18 -25
  75. package/dist/ts/ts/CWL/ParameterValue.d.ts +15 -1
  76. package/dist/ts/ts/CWL/ParameterValue.d.ts.map +1 -1
  77. package/dist/ts/ts/CWL/ParameterValue.js +59 -35
  78. package/dist/ts/ts/CWL/Requirements.d.ts +240 -98
  79. package/dist/ts/ts/CWL/Requirements.d.ts.map +1 -1
  80. package/dist/ts/ts/CWL/Requirements.js +462 -89
  81. package/dist/ts/ts/CWL/ScalarQuoting.d.ts +51 -0
  82. package/dist/ts/ts/CWL/ScalarQuoting.d.ts.map +1 -0
  83. package/dist/ts/ts/CWL/ScalarQuoting.js +250 -0
  84. package/dist/ts/ts/CWL/ToolDescription.d.ts +63 -50
  85. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -1
  86. package/dist/ts/ts/CWL/ToolDescription.js +34 -13
  87. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +45 -26
  88. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -1
  89. package/dist/ts/ts/CWL/WorkflowDescription.js +38 -11
  90. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +248 -65
  91. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -1
  92. package/dist/ts/ts/CWL/WorkflowSteps.js +413 -43
  93. package/dist/ts/ts/CWLRunResolver.d.ts +30 -12
  94. package/dist/ts/ts/CWLRunResolver.d.ts.map +1 -1
  95. package/dist/ts/ts/CWLRunResolver.js +221 -86
  96. package/dist/ts/ts/Contract/ARC.d.ts.map +1 -1
  97. package/dist/ts/ts/Contract/ARC.js +13 -14
  98. package/dist/ts/ts/Contract/ArcAssay.d.ts.map +1 -1
  99. package/dist/ts/ts/Contract/ArcAssay.js +4 -4
  100. package/dist/ts/ts/Contract/ArcInvestigation.d.ts.map +1 -1
  101. package/dist/ts/ts/Contract/ArcInvestigation.js +3 -4
  102. package/dist/ts/ts/Contract/ArcRun.d.ts +12 -2
  103. package/dist/ts/ts/Contract/ArcRun.d.ts.map +1 -1
  104. package/dist/ts/ts/Contract/ArcRun.js +47 -20
  105. package/dist/ts/ts/Contract/ArcStudy.d.ts.map +1 -1
  106. package/dist/ts/ts/Contract/ArcStudy.js +4 -4
  107. package/dist/ts/ts/Contract/ArcWorkflow.d.ts +18 -4
  108. package/dist/ts/ts/Contract/ArcWorkflow.d.ts.map +1 -1
  109. package/dist/ts/ts/Contract/ArcWorkflow.js +55 -17
  110. package/dist/ts/ts/Contract/Datamap.d.ts.map +1 -1
  111. package/dist/ts/ts/Contract/Datamap.js +16 -17
  112. package/dist/ts/ts/Contract/Git.js +1 -1
  113. package/dist/ts/ts/Contract/ValidationPackagesConfig.d.ts.map +1 -1
  114. package/dist/ts/ts/Contract/ValidationPackagesConfig.js +4 -5
  115. package/dist/ts/ts/ContractIO/ContractIO.d.ts +7 -0
  116. package/dist/ts/ts/ContractIO/ContractIO.d.ts.map +1 -1
  117. package/dist/ts/ts/ContractIO/ContractIO.js +95 -18
  118. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts +1 -0
  119. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts.map +1 -1
  120. package/dist/ts/ts/ContractIO/FileSystemHelper.js +12 -5
  121. package/dist/ts/ts/Conversion/Assay.d.ts.map +1 -1
  122. package/dist/ts/ts/Conversion/Assay.js +26 -18
  123. package/dist/ts/ts/Conversion/Basic.d.ts +4 -0
  124. package/dist/ts/ts/Conversion/Basic.d.ts.map +1 -1
  125. package/dist/ts/ts/Conversion/Basic.js +55 -31
  126. package/dist/ts/ts/Conversion/ColumnIndex.d.ts.map +1 -1
  127. package/dist/ts/ts/Conversion/ColumnIndex.js +2 -4
  128. package/dist/ts/ts/Conversion/DateTime.d.ts.map +1 -1
  129. package/dist/ts/ts/Conversion/DateTime.js +1 -2
  130. package/dist/ts/ts/Conversion/Investigation.d.ts.map +1 -1
  131. package/dist/ts/ts/Conversion/Investigation.js +15 -14
  132. package/dist/ts/ts/Conversion/Person.js +11 -11
  133. package/dist/ts/ts/Conversion/Process.d.ts +4 -2
  134. package/dist/ts/ts/Conversion/Process.d.ts.map +1 -1
  135. package/dist/ts/ts/Conversion/Process.js +134 -97
  136. package/dist/ts/ts/Conversion/Run.d.ts +36 -6
  137. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -1
  138. package/dist/ts/ts/Conversion/Run.js +320 -136
  139. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts.map +1 -1
  140. package/dist/ts/ts/Conversion/ScholarlyArticle.js +75 -9
  141. package/dist/ts/ts/Conversion/Study.d.ts.map +1 -1
  142. package/dist/ts/ts/Conversion/Study.js +23 -12
  143. package/dist/ts/ts/Conversion/Table.d.ts +3 -2
  144. package/dist/ts/ts/Conversion/Table.d.ts.map +1 -1
  145. package/dist/ts/ts/Conversion/Table.js +8 -8
  146. package/dist/ts/ts/Conversion/Workflow.d.ts +48 -9
  147. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -1
  148. package/dist/ts/ts/Conversion/Workflow.js +655 -163
  149. package/dist/ts/ts/Conversion.js +6 -6
  150. package/dist/ts/ts/Core/ArcTypes.d.ts +73 -28
  151. package/dist/ts/ts/Core/ArcTypes.d.ts.map +1 -1
  152. package/dist/ts/ts/Core/ArcTypes.js +219 -129
  153. package/dist/ts/ts/Core/Comment.d.ts.map +1 -1
  154. package/dist/ts/ts/Core/Comment.js +2 -2
  155. package/dist/ts/ts/Core/CommentList.js +7 -7
  156. package/dist/ts/ts/Core/Conversion.d.ts.map +1 -1
  157. package/dist/ts/ts/Core/Conversion.js +68 -59
  158. package/dist/ts/ts/Core/Data.d.ts +6 -0
  159. package/dist/ts/ts/Core/Data.d.ts.map +1 -1
  160. package/dist/ts/ts/Core/Data.js +32 -12
  161. package/dist/ts/ts/Core/DataContext.d.ts +1 -1
  162. package/dist/ts/ts/Core/DataContext.d.ts.map +1 -1
  163. package/dist/ts/ts/Core/DataContext.js +4 -4
  164. package/dist/ts/ts/Core/DataFile.d.ts +11 -8
  165. package/dist/ts/ts/Core/DataFile.d.ts.map +1 -1
  166. package/dist/ts/ts/Core/DataFile.js +55 -61
  167. package/dist/ts/ts/Core/Datamap.d.ts.map +1 -1
  168. package/dist/ts/ts/Core/Datamap.js +2 -3
  169. package/dist/ts/ts/Core/Helper/Collections.d.ts.map +1 -1
  170. package/dist/ts/ts/Core/Helper/Collections.js +2 -4
  171. package/dist/ts/ts/Core/Helper/Identifier.d.ts.map +1 -1
  172. package/dist/ts/ts/Core/Helper/Identifier.js +12 -15
  173. package/dist/ts/ts/Core/Helper/ORCID.d.ts.map +1 -1
  174. package/dist/ts/ts/Core/Helper/ORCID.js +2 -3
  175. package/dist/ts/ts/Core/Helper/Regex.d.ts.map +1 -1
  176. package/dist/ts/ts/Core/Helper/Regex.js +52 -53
  177. package/dist/ts/ts/Core/Helper/SemVer.d.ts +13 -3
  178. package/dist/ts/ts/Core/Helper/SemVer.d.ts.map +1 -1
  179. package/dist/ts/ts/Core/Helper/SemVer.js +96 -6
  180. package/dist/ts/ts/Core/Helper/Url.d.ts.map +1 -1
  181. package/dist/ts/ts/Core/Helper/Url.js +1 -1
  182. package/dist/ts/ts/Core/OntologyAnnotation.js +22 -22
  183. package/dist/ts/ts/Core/Person.d.ts.map +1 -1
  184. package/dist/ts/ts/Core/Person.js +2 -2
  185. package/dist/ts/ts/Core/Process/ColumnIndex.d.ts.map +1 -1
  186. package/dist/ts/ts/Core/Process/ColumnIndex.js +10 -12
  187. package/dist/ts/ts/Core/Process/Component.d.ts.map +1 -1
  188. package/dist/ts/ts/Core/Process/Component.js +22 -22
  189. package/dist/ts/ts/Core/Process/Factor.d.ts.map +1 -1
  190. package/dist/ts/ts/Core/Process/Factor.js +7 -7
  191. package/dist/ts/ts/Core/Process/FactorValue.d.ts.map +1 -1
  192. package/dist/ts/ts/Core/Process/FactorValue.js +15 -15
  193. package/dist/ts/ts/Core/Process/Material.d.ts.map +1 -1
  194. package/dist/ts/ts/Core/Process/Material.js +2 -2
  195. package/dist/ts/ts/Core/Process/MaterialAttribute.d.ts.map +1 -1
  196. package/dist/ts/ts/Core/Process/MaterialAttribute.js +6 -6
  197. package/dist/ts/ts/Core/Process/MaterialAttributeValue.d.ts.map +1 -1
  198. package/dist/ts/ts/Core/Process/MaterialAttributeValue.js +16 -16
  199. package/dist/ts/ts/Core/Process/Process.js +21 -21
  200. package/dist/ts/ts/Core/Process/ProcessInput.d.ts.map +1 -1
  201. package/dist/ts/ts/Core/Process/ProcessInput.js +2 -2
  202. package/dist/ts/ts/Core/Process/ProcessOutput.d.ts.map +1 -1
  203. package/dist/ts/ts/Core/Process/ProcessOutput.js +2 -2
  204. package/dist/ts/ts/Core/Process/ProcessParameterValue.d.ts.map +1 -1
  205. package/dist/ts/ts/Core/Process/ProcessParameterValue.js +17 -17
  206. package/dist/ts/ts/Core/Process/ProcessSequence.js +4 -4
  207. package/dist/ts/ts/Core/Process/Protocol.d.ts.map +1 -1
  208. package/dist/ts/ts/Core/Process/Protocol.js +9 -9
  209. package/dist/ts/ts/Core/Process/ProtocolParameter.d.ts.map +1 -1
  210. package/dist/ts/ts/Core/Process/ProtocolParameter.js +6 -6
  211. package/dist/ts/ts/Core/Publication.d.ts.map +1 -1
  212. package/dist/ts/ts/Core/Publication.js +3 -3
  213. package/dist/ts/ts/Core/ScalarValue.d.ts.map +1 -1
  214. package/dist/ts/ts/Core/ScalarValue.js +9 -13
  215. package/dist/ts/ts/Core/Table/ArcTable.d.ts.map +1 -1
  216. package/dist/ts/ts/Core/Table/ArcTable.js +18 -18
  217. package/dist/ts/ts/Core/Table/ArcTableAux.d.ts +1 -1
  218. package/dist/ts/ts/Core/Table/ArcTableAux.d.ts.map +1 -1
  219. package/dist/ts/ts/Core/Table/ArcTableAux.js +59 -70
  220. package/dist/ts/ts/Core/Table/ArcTables.js +16 -16
  221. package/dist/ts/ts/Core/Table/CompositeCell.d.ts +4 -0
  222. package/dist/ts/ts/Core/Table/CompositeCell.d.ts.map +1 -1
  223. package/dist/ts/ts/Core/Table/CompositeCell.js +39 -2
  224. package/dist/ts/ts/Core/Table/CompositeHeader.d.ts.map +1 -1
  225. package/dist/ts/ts/Core/Table/CompositeHeader.js +5 -6
  226. package/dist/ts/ts/Core/Templates.d.ts.map +1 -1
  227. package/dist/ts/ts/Core/Templates.js +2 -2
  228. package/dist/ts/ts/FileSystem/Path.d.ts +13 -2
  229. package/dist/ts/ts/FileSystem/Path.d.ts.map +1 -1
  230. package/dist/ts/ts/FileSystem/Path.js +37 -19
  231. package/dist/ts/ts/Json/Assay.js +22 -22
  232. package/dist/ts/ts/Json/Comment.js +9 -9
  233. package/dist/ts/ts/Json/Data.d.ts.map +1 -1
  234. package/dist/ts/ts/Json/Data.js +11 -11
  235. package/dist/ts/ts/Json/Datamap/DataContext.js +2 -2
  236. package/dist/ts/ts/Json/Decode.d.ts.map +1 -1
  237. package/dist/ts/ts/Json/Decode.js +3 -5
  238. package/dist/ts/ts/Json/Encode.js +2 -2
  239. package/dist/ts/ts/Json/Investigation.d.ts.map +1 -1
  240. package/dist/ts/ts/Json/Investigation.js +20 -20
  241. package/dist/ts/ts/Json/OntologyAnnotation.d.ts.map +1 -1
  242. package/dist/ts/ts/Json/OntologyAnnotation.js +18 -18
  243. package/dist/ts/ts/Json/OntologySourceReference.d.ts.map +1 -1
  244. package/dist/ts/ts/Json/OntologySourceReference.js +9 -9
  245. package/dist/ts/ts/Json/Person.d.ts.map +1 -1
  246. package/dist/ts/ts/Json/Person.js +20 -20
  247. package/dist/ts/ts/Json/Process/AssayMaterials.d.ts.map +1 -1
  248. package/dist/ts/ts/Json/Process/AssayMaterials.js +1 -2
  249. package/dist/ts/ts/Json/Process/Component.d.ts.map +1 -1
  250. package/dist/ts/ts/Json/Process/Component.js +5 -6
  251. package/dist/ts/ts/Json/Process/Factor.d.ts.map +1 -1
  252. package/dist/ts/ts/Json/Process/Factor.js +7 -7
  253. package/dist/ts/ts/Json/Process/FactorValue.d.ts.map +1 -1
  254. package/dist/ts/ts/Json/Process/FactorValue.js +2 -3
  255. package/dist/ts/ts/Json/Process/Material.d.ts.map +1 -1
  256. package/dist/ts/ts/Json/Process/Material.js +9 -10
  257. package/dist/ts/ts/Json/Process/MaterialAttribute.d.ts.map +1 -1
  258. package/dist/ts/ts/Json/Process/MaterialAttribute.js +5 -6
  259. package/dist/ts/ts/Json/Process/MaterialAttributeValue.d.ts.map +1 -1
  260. package/dist/ts/ts/Json/Process/MaterialAttributeValue.js +2 -3
  261. package/dist/ts/ts/Json/Process/Process.d.ts.map +1 -1
  262. package/dist/ts/ts/Json/Process/Process.js +8 -9
  263. package/dist/ts/ts/Json/Process/ProcessParameterValue.d.ts.map +1 -1
  264. package/dist/ts/ts/Json/Process/ProcessParameterValue.js +1 -2
  265. package/dist/ts/ts/Json/Process/Protocol.d.ts.map +1 -1
  266. package/dist/ts/ts/Json/Process/Protocol.js +17 -17
  267. package/dist/ts/ts/Json/Process/ProtocolParameter.d.ts.map +1 -1
  268. package/dist/ts/ts/Json/Process/ProtocolParameter.js +6 -6
  269. package/dist/ts/ts/Json/Process/Sample.d.ts.map +1 -1
  270. package/dist/ts/ts/Json/Process/Sample.js +9 -9
  271. package/dist/ts/ts/Json/Process/Source.d.ts.map +1 -1
  272. package/dist/ts/ts/Json/Process/Source.js +10 -11
  273. package/dist/ts/ts/Json/Process/StudyMaterials.d.ts.map +1 -1
  274. package/dist/ts/ts/Json/Process/StudyMaterials.js +1 -2
  275. package/dist/ts/ts/Json/PropertyValue.d.ts.map +1 -1
  276. package/dist/ts/ts/Json/PropertyValue.js +24 -24
  277. package/dist/ts/ts/Json/Publication.d.ts.map +1 -1
  278. package/dist/ts/ts/Json/Publication.js +10 -10
  279. package/dist/ts/ts/Json/ROCrate/LDContext.js +1 -2
  280. package/dist/ts/ts/Json/ROCrate/LDGraph.js +2 -2
  281. package/dist/ts/ts/Json/ROCrate/LDNode.js +5 -5
  282. package/dist/ts/ts/Json/Run.js +9 -9
  283. package/dist/ts/ts/Json/StringTable.d.ts.map +1 -1
  284. package/dist/ts/ts/Json/StringTable.js +4 -7
  285. package/dist/ts/ts/Json/Study.js +20 -20
  286. package/dist/ts/ts/Json/Table/CellTable.js +1 -2
  287. package/dist/ts/ts/Json/Table/OATable.js +1 -2
  288. package/dist/ts/ts/Json/Workflow.js +9 -9
  289. package/dist/ts/ts/Json.d.ts +121 -1
  290. package/dist/ts/ts/Json.d.ts.map +1 -1
  291. package/dist/ts/ts/Json.js +310 -2
  292. package/dist/ts/ts/JsonIO/Comment.d.ts +15 -0
  293. package/dist/ts/ts/JsonIO/Comment.d.ts.map +1 -0
  294. package/dist/ts/ts/JsonIO/Comment.js +67 -0
  295. package/dist/ts/ts/JsonIO/Data.d.ts +9 -0
  296. package/dist/ts/ts/JsonIO/Data.d.ts.map +1 -0
  297. package/dist/ts/ts/JsonIO/Data.js +49 -0
  298. package/dist/ts/ts/JsonIO/DataFile.d.ts +9 -0
  299. package/dist/ts/ts/JsonIO/DataFile.d.ts.map +1 -0
  300. package/dist/ts/ts/JsonIO/DataFile.js +48 -0
  301. package/dist/ts/ts/JsonIO/LDObject.d.ts +6 -0
  302. package/dist/ts/ts/JsonIO/LDObject.d.ts.map +1 -1
  303. package/dist/ts/ts/JsonIO/LDObject.js +173 -17
  304. package/dist/ts/ts/JsonIO/OntologySourceReference.d.ts +15 -0
  305. package/dist/ts/ts/JsonIO/OntologySourceReference.d.ts.map +1 -0
  306. package/dist/ts/ts/JsonIO/OntologySourceReference.js +67 -0
  307. package/dist/ts/ts/JsonIO/Publication.d.ts +15 -0
  308. package/dist/ts/ts/JsonIO/Publication.d.ts.map +1 -0
  309. package/dist/ts/ts/JsonIO/Publication.js +68 -0
  310. package/dist/ts/ts/JsonIO/Table/ArcTable.d.ts +9 -0
  311. package/dist/ts/ts/JsonIO/Table/ArcTable.d.ts.map +1 -0
  312. package/dist/ts/ts/JsonIO/Table/ArcTable.js +74 -0
  313. package/dist/ts/ts/JsonIO/Table/CompositeCell.d.ts +6 -0
  314. package/dist/ts/ts/JsonIO/Table/CompositeCell.d.ts.map +1 -0
  315. package/dist/ts/ts/JsonIO/Table/CompositeCell.js +29 -0
  316. package/dist/ts/ts/JsonIO/Table/CompositeHeader.d.ts +6 -0
  317. package/dist/ts/ts/JsonIO/Table/CompositeHeader.d.ts.map +1 -0
  318. package/dist/ts/ts/JsonIO/Table/CompositeHeader.js +29 -0
  319. package/dist/ts/ts/JsonIO/Table/IOType.d.ts +6 -0
  320. package/dist/ts/ts/JsonIO/Table/IOType.d.ts.map +1 -0
  321. package/dist/ts/ts/JsonIO/Table/IOType.js +29 -0
  322. package/dist/ts/ts/License.d.ts.map +1 -1
  323. package/dist/ts/ts/License.js +6 -6
  324. package/dist/ts/ts/ROCrate/LDContext.d.ts.map +1 -1
  325. package/dist/ts/ts/ROCrate/LDContext.js +31 -39
  326. package/dist/ts/ts/ROCrate/LDObject.d.ts.map +1 -1
  327. package/dist/ts/ts/ROCrate/LDObject.js +56 -49
  328. package/dist/ts/ts/ROCrate/LDTypes/Comment.js +2 -2
  329. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +3 -3
  330. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.js +2 -2
  331. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.js +5 -5
  332. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.d.ts +1 -0
  333. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.d.ts.map +1 -1
  334. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.js +3 -0
  335. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -1
  336. package/dist/ts/ts/ROCrate/LDTypes/Dataset.js +22 -17
  337. package/dist/ts/ts/ROCrate/LDTypes/DefinedTerm.js +2 -2
  338. package/dist/ts/ts/ROCrate/LDTypes/File.js +5 -5
  339. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.js +2 -2
  340. package/dist/ts/ts/ROCrate/LDTypes/LabProcess.js +9 -9
  341. package/dist/ts/ts/ROCrate/LDTypes/LabProtocol.js +4 -4
  342. package/dist/ts/ts/ROCrate/LDTypes/Organization.js +1 -1
  343. package/dist/ts/ts/ROCrate/LDTypes/Person.js +7 -7
  344. package/dist/ts/ts/ROCrate/LDTypes/PostalAddress.js +1 -1
  345. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.d.ts.map +1 -1
  346. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.js +45 -48
  347. package/dist/ts/ts/ROCrate/LDTypes/Sample.js +3 -3
  348. package/dist/ts/ts/ROCrate/LDTypes/ScholarlyArticle.js +4 -4
  349. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.js +3 -3
  350. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.js +3 -3
  351. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.js +2 -2
  352. package/dist/ts/ts/ROCrateIO.d.ts +18 -4
  353. package/dist/ts/ts/ROCrateIO.d.ts.map +1 -1
  354. package/dist/ts/ts/ROCrateIO.js +49 -38
  355. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
  356. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.js +9 -10
  357. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.d.ts.map +1 -1
  358. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.js +7 -7
  359. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
  360. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +6 -8
  361. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeHeader.js +20 -20
  362. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts.map +1 -1
  363. package/dist/ts/ts/Spreadsheet/ArcAssay.js +7 -7
  364. package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
  365. package/dist/ts/ts/Spreadsheet/ArcInvestigation.js +10 -12
  366. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts.map +1 -1
  367. package/dist/ts/ts/Spreadsheet/ArcRun.js +5 -6
  368. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts.map +1 -1
  369. package/dist/ts/ts/Spreadsheet/ArcStudy.js +3 -3
  370. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts.map +1 -1
  371. package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +5 -6
  372. package/dist/ts/ts/Spreadsheet/CollectionAux.d.ts.map +1 -1
  373. package/dist/ts/ts/Spreadsheet/CollectionAux.js +10 -14
  374. package/dist/ts/ts/Spreadsheet/Datamap.js +1 -2
  375. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapColumn.js +3 -3
  376. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapHeader.js +10 -10
  377. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapTable.d.ts.map +1 -1
  378. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapTable.js +9 -10
  379. package/dist/ts/ts/Spreadsheet/Metadata/Assays.d.ts.map +1 -1
  380. package/dist/ts/ts/Spreadsheet/Metadata/Assays.js +8 -10
  381. package/dist/ts/ts/Spreadsheet/Metadata/Comment.d.ts +8 -0
  382. package/dist/ts/ts/Spreadsheet/Metadata/Comment.d.ts.map +1 -1
  383. package/dist/ts/ts/Spreadsheet/Metadata/Comment.js +18 -7
  384. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.d.ts.map +1 -1
  385. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.js +4 -6
  386. package/dist/ts/ts/Spreadsheet/Metadata/Factors.d.ts.map +1 -1
  387. package/dist/ts/ts/Spreadsheet/Metadata/Factors.js +6 -8
  388. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.d.ts.map +1 -1
  389. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.js +5 -7
  390. package/dist/ts/ts/Spreadsheet/Metadata/OntologySourceReference.d.ts.map +1 -1
  391. package/dist/ts/ts/Spreadsheet/Metadata/OntologySourceReference.js +2 -4
  392. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.d.ts.map +1 -1
  393. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.js +7 -9
  394. package/dist/ts/ts/Spreadsheet/Metadata/Publication.d.ts.map +1 -1
  395. package/dist/ts/ts/Spreadsheet/Metadata/Publication.js +6 -8
  396. package/dist/ts/ts/Spreadsheet/Metadata/Run.d.ts +1 -1
  397. package/dist/ts/ts/Spreadsheet/Metadata/Run.d.ts.map +1 -1
  398. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +9 -11
  399. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
  400. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.js +17 -17
  401. package/dist/ts/ts/Spreadsheet/Metadata/Study.d.ts.map +1 -1
  402. package/dist/ts/ts/Spreadsheet/Metadata/Study.js +10 -12
  403. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.d.ts.map +1 -1
  404. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +7 -9
  405. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts +1 -1
  406. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts.map +1 -1
  407. package/dist/ts/ts/WorkflowGraph/Adapters.js +5 -6
  408. package/dist/ts/ts/WorkflowGraph/Builder.d.ts +25 -6
  409. package/dist/ts/ts/WorkflowGraph/Builder.d.ts.map +1 -1
  410. package/dist/ts/ts/WorkflowGraph/Builder.js +264 -138
  411. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts +6 -0
  412. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts.map +1 -1
  413. package/dist/ts/ts/WorkflowGraph/GraphTypes.js +4 -1
  414. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts +8 -5
  415. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts.map +1 -1
  416. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.js +27 -10
  417. package/dist/ts/ts/Xlsx.js +3 -3
  418. package/dist/ts/ts/Yaml/ValidationPackage.d.ts +3 -3
  419. package/dist/ts/ts/Yaml/ValidationPackage.d.ts.map +1 -1
  420. package/dist/ts/ts/Yaml/ValidationPackage.js +11 -23
  421. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts +3 -3
  422. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts.map +1 -1
  423. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +11 -23
  424. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/DynamicObj.fs.js +16 -20
  425. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/FableJS.fs.js +1 -1
  426. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/ReflectionUtils.fs.js +8 -8
  427. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +1 -2
  428. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.6.0/Http.fs.js +4 -4
  429. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Cells/FsCell.fs.js +8 -8
  430. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Cells/FsCellsCollection.fs.js +18 -18
  431. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsAddress.fs.js +3 -3
  432. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsWorkbook.fs.js +1 -1
  433. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsWorksheet.fs.js +7 -7
  434. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Json/Value.fs.js +3 -5
  435. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Json/Worksheet.fs.js +7 -7
  436. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Ranges/FsRangeBase.fs.js +1 -2
  437. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Tables/FsTable.fs.js +7 -7
  438. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.1/Cell.fs.js +2 -2
  439. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.1/Table.fs.js +1 -2
  440. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.9.1/Decode.fs.js +49 -71
  441. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.9.1/Encode.fs.js +1 -1
  442. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js +1 -2
  443. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Compare.fs.js +857 -0
  444. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/CoreSchema.fs.js +725 -0
  445. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Decode.fs.js +1175 -0
  446. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Encode.fs.js +123 -0
  447. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Layout.fs.js +282 -0
  448. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Lexeme.fs.js +203 -0
  449. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Lexer.fs.js +1502 -0
  450. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Model.fs.js +564 -0
  451. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Node.fs.js +453 -0
  452. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Parser.fs.js +2622 -0
  453. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Reader.fs.js +108 -0
  454. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Source.fs.js +649 -0
  455. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Tag.fs.js +32 -0
  456. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Validate.fs.js +1084 -0
  457. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Writer.fs.js +2927 -0
  458. package/package.json +5 -4
  459. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Decode.fs.js +0 -1669
  460. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Encode.fs.js +0 -57
  461. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Escapes.fs.js +0 -320
  462. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Interop/JsInterop.fs.js +0 -10
  463. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Persil.fs.js +0 -414
  464. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Preprocessing.fs.js +0 -319
  465. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Reader.fs.js +0 -1884
  466. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Regex.fs.js +0 -23
  467. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/RegexActivePatterns.fs.js +0 -313
  468. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Syntax.fs.js +0 -840
  469. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Writer.fs.js +0 -689
  470. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/YAMLiciousTypes.fs.js +0 -359
@@ -1,37 +1,43 @@
1
1
  import { Record } from '../../node_modules/@fable-org/fable-library-ts/Types.js';
2
- import { WorkflowGraph_$reflection, WorkflowGraph_create_4D231A1, GraphBuildIssue_create_Z2F3B511A, WorkflowGraphEdge_create_5E4B5E48, GraphId_edgeId, GraphId_unitNodeId, WorkflowGraphNode_create_62C775C0, NodeKind_ProcessingUnitNode, GraphId_portNodeId, NodeKind_PortNode, GraphId_stepNodeId, NodeKind, EdgeKind, PortDirection, GraphIssueKind, ProcessingUnitKind, GraphId_childScope, GraphId_normalizeSegment } from './GraphTypes.js';
2
+ import { WorkflowGraph_$reflection, WorkflowGraph_create_4D231A1, GraphBuildIssue_create_Z2F3B511A, WorkflowGraphEdge_create_5E4B5E48, GraphId_edgeId, GraphId_unitNodeId, WorkflowGraphNode_create_62C775C0, NodeKind_ProcessingUnitNode, GraphId_portNodeId, NodeKind_PortNode, GraphId_anonymousStepNodeId, GraphId_stepNodeId, NodeKind, EdgeKind, PortDirection, GraphIssueKind, ProcessingUnitKind, GraphId_childScope, GraphId_normalizeSegment } from './GraphTypes.js';
3
3
  import { empty, FSharpSet__Contains, FSharpSet__Add } from '../../node_modules/@fable-org/fable-library-ts/Set.js';
4
- import { empty as empty$1, FSharpMap__ContainsKey, FSharpMap__get_Item, FSharpMap__Add, tryFind } from '../../node_modules/@fable-org/fable-library-ts/Map.js';
5
- import { WorkflowStepRun_$reflection, WorkflowStepRun_RunString } from '../CWL/WorkflowSteps.js';
4
+ import { empty as empty$1, ofArray, tryPick, singleton, exists, cons, iterate as iterate$1 } from '../../node_modules/@fable-org/fable-library-ts/List.js';
5
+ import { CWLProcessingUnit_$reflection, WorkflowStepRunOps_fromOperation, WorkflowStepRunOps_fromExpressionTool, WorkflowStepRunOps_fromWorkflow, WorkflowStepRunOps_fromTool, CWLProcessingUnit, WorkflowStepRunOps_tryGetOperation, CWLProcessingUnit_Operation, WorkflowStepRunOps_tryGetExpressionTool, CWLProcessingUnit_ExpressionTool, WorkflowStepRunOps_tryGetWorkflow, CWLProcessingUnit_Workflow, WorkflowStepRunOps_tryGetTool, CWLProcessingUnit_CommandLineTool } from '../CWL/CWLProcessingUnit.js';
6
+ import { empty as empty$2, FSharpMap__ContainsKey, FSharpMap__get_Item, FSharpMap__Add, tryFind } from '../../node_modules/@fable-org/fable-library-ts/Map.js';
7
+ import { WorkflowStepRun_$reflection, WorkflowStep, StepOutput, WorkflowStepRun_RunString } from '../CWL/WorkflowSteps.js';
6
8
  import { WorkflowGraphBuildOptions_$reflection, WorkflowGraphBuildOptionsModule_defaultOptions } from './BuildOptions.js';
7
- import { record_type, class_type, string_type, option_type, bool_type, array_type } from '../../node_modules/@fable-org/fable-library-ts/Reflection.js';
9
+ import { record_type, class_type, list_type, string_type, option_type, bool_type, array_type } from '../../node_modules/@fable-org/fable-library-ts/Reflection.js';
8
10
  import { unwrap, value, some, defaultArg } from '../../node_modules/@fable-org/fable-library-ts/Option.js';
9
11
  import { comparePrimitives, getEnumerator, disposeSafe, stringHash } from '../../node_modules/@fable-org/fable-library-ts/Util.js';
10
12
  import { DynamicObj } from '../fable_modules/DynamicObj.8.0.0/DynamicObj.fs.js';
11
13
  import { setProperty } from '../fable_modules/DynamicObj.8.0.0/DynObj.fs.js';
12
- import { ofArray, tryPick, singleton } from '../../node_modules/@fable-org/fable-library-ts/List.js';
13
- import { toArray, iterate, tryHead, toList, delay, singleton as singleton$1 } from '../../node_modules/@fable-org/fable-library-ts/Seq.js';
14
- import { ReferenceParsing_extractStepOutputId, ReferenceParsing_parseSourceReference } from './ReferenceParsing.js';
15
- import { isNullOrWhiteSpace, substring, endsWith, concat } from '../../node_modules/@fable-org/fable-library-ts/String.js';
14
+ import { ReferenceParsing_relativeId, ReferenceParsing_parseSourceReference } from './ReferenceParsing.js';
15
+ import { concat, isNullOrWhiteSpace, substring, endsWith } from '../../node_modules/@fable-org/fable-library-ts/String.js';
16
+ import { SchemaSaladStringModule_tryLiteral, RawYaml__TryScalarField_Z721C83C5, ListEntry$1 } from '../CWL/CWLTypes.js';
17
+ import { toArray, map, iterate, choose, tryHead, toList, delay, singleton as singleton$1, indexed } from '../../node_modules/@fable-org/fable-library-ts/Seq.js';
18
+ import { CWLWorkflowDescription } from '../CWL/WorkflowDescription.js';
19
+ import { CWLToolDescription } from '../CWL/ToolDescription.js';
20
+ import { CWLExpressionToolDescription } from '../CWL/ExpressionToolDescription.js';
21
+ import { CWLOperationDescription } from '../CWL/OperationDescription.js';
16
22
  import { getFileName, normalize, resolvePathFromFile, normalizePathKey } from '../FileSystem/Path.js';
17
23
  import { Array_distinct } from '../../node_modules/@fable-org/fable-library-ts/Seq2.js';
18
- import { WorkflowStepRunOps_fromTool, WorkflowStepRunOps_fromOperation, WorkflowStepRunOps_fromExpressionTool, WorkflowStepRunOps_fromWorkflow, WorkflowStepRunOps_tryGetOperation, CWLProcessingUnit_Operation, WorkflowStepRunOps_tryGetExpressionTool, CWLProcessingUnit_ExpressionTool, WorkflowStepRunOps_tryGetWorkflow, CWLProcessingUnit_Workflow, WorkflowStepRunOps_tryGetTool, CWLProcessingUnit_CommandLineTool } from '../CWL/CWLProcessingUnit.js';
19
- import { map, item, tryPick as tryPick$1 } from '../../node_modules/@fable-org/fable-library-ts/Array.js';
24
+ import { map as map$1, item, tryPick as tryPick$1 } from '../../node_modules/@fable-org/fable-library-ts/Array.js';
20
25
 
21
26
  class BuildState extends Record {
22
- constructor(Graph, NodeIds, EdgeIds, RunResolutionStack, RunResolutionCache, RunNodeCache, Options) {
27
+ constructor(Graph, NodeIds, EdgeIds, RunResolutionStack, ActiveWorkflows, RunResolutionCache, RunNodeCache, Options) {
23
28
  super();
24
29
  this.Graph = Graph;
25
30
  this.NodeIds = NodeIds;
26
31
  this.EdgeIds = EdgeIds;
27
32
  this.RunResolutionStack = RunResolutionStack;
33
+ this.ActiveWorkflows = ActiveWorkflows;
28
34
  this.RunResolutionCache = RunResolutionCache;
29
35
  this.RunNodeCache = RunNodeCache;
30
36
  this.Options = Options;
31
37
  }
32
38
  }
33
39
  function BuildState_$reflection() {
34
- return record_type("ARCtrl.WorkflowGraph.Builder.BuildState", [], BuildState, () => [["Graph", WorkflowGraph_$reflection()], ["NodeIds", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["EdgeIds", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["RunResolutionStack", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["RunResolutionCache", class_type("Microsoft.FSharp.Collections.FSharpMap`2", [string_type, WorkflowStepRun_$reflection()])], ["RunNodeCache", class_type("Microsoft.FSharp.Collections.FSharpMap`2", [string_type, string_type])], ["Options", WorkflowGraphBuildOptions_$reflection()]]);
40
+ return record_type("ARCtrl.WorkflowGraph.Builder.BuildState", [], BuildState, () => [["Graph", WorkflowGraph_$reflection()], ["NodeIds", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["EdgeIds", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["RunResolutionStack", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])], ["ActiveWorkflows", list_type(CWLProcessingUnit_$reflection())], ["RunResolutionCache", class_type("Microsoft.FSharp.Collections.FSharpMap`2", [string_type, WorkflowStepRun_$reflection()])], ["RunNodeCache", class_type("Microsoft.FSharp.Collections.FSharpMap`2", [string_type, string_type])], ["Options", WorkflowGraphBuildOptions_$reflection()]]);
35
41
  }
36
42
  class RunResolutionResult extends Record {
37
43
  constructor(ResolvedRun, ResolvedFromPath, AttemptedLookup, ResolutionPathKeys) {
@@ -55,9 +61,9 @@ function createState(options, rootNodeId) {
55
61
  Compare: (x_1, y_1) => comparePrimitives(x_1, y_1) | 0
56
62
  }), empty({
57
63
  Compare: (x_2, y_2) => comparePrimitives(x_2, y_2) | 0
58
- }), empty$1({
64
+ }), empty$1(), empty$2({
59
65
  Compare: (x_3, y_3) => comparePrimitives(x_3, y_3) | 0
60
- }), empty$1({
66
+ }), empty$2({
61
67
  Compare: (x_4, y_4) => comparePrimitives(x_4, y_4) | 0
62
68
  }), options);
63
69
  }
@@ -116,54 +122,80 @@ function addPortNode(state, ownerNodeId, direction, portId, label) {
116
122
  addNode(state, WorkflowGraphNode_create_62C775C0(nodeId, NodeKind_PortNode(direction), label, ownerNodeId));
117
123
  return nodeId;
118
124
  }
119
- function addStepNode(state, scope, workflowNodeId, step) {
120
- let option_1 = void 0, option_3 = void 0, sm = void 0, option_5 = void 0;
121
- const stepNodeId = GraphId_stepNodeId(scope, step.Id);
122
- const metadata = createMetadata(ofArray([["when", (option_1 = step.When_, option_1 != null ? some(value(option_1)) : void 0)], ["scatterMethod", (option_3 = step.ScatterMethod, option_3 != null ? some((sm = value(option_3), sm.AsCwlString)) : void 0)], ["scatter", (option_5 = step.Scatter, option_5 != null ? some(toArray(value(option_5))) : void 0)]]));
123
- addNode(state, WorkflowGraphNode_create_62C775C0(stepNodeId, NodeKind.StepNode, defaultArg(step.Label, step.Id), workflowNodeId, void 0, unwrap(metadata)));
125
+ class StepIdentity extends Record {
126
+ constructor(NodeId, Name, RunSegment) {
127
+ super();
128
+ this.NodeId = NodeId;
129
+ this.Name = Name;
130
+ this.RunSegment = RunSegment;
131
+ }
132
+ }
133
+ function StepIdentity_$reflection() {
134
+ return record_type("ARCtrl.WorkflowGraph.Builder.StepIdentity", [], StepIdentity, () => [["NodeId", string_type], ["Name", string_type], ["RunSegment", string_type]]);
135
+ }
136
+ function stepIdentity(scope, workflowId, position, step) {
137
+ const matchValue = step.Id;
138
+ if (matchValue == null) {
139
+ return new StepIdentity(GraphId_anonymousStepNodeId(scope, position), `steps[${position}]`, `anonymous:${position}/run`);
140
+ } else {
141
+ const name = ReferenceParsing_relativeId(workflowId, matchValue);
142
+ return new StepIdentity(GraphId_stepNodeId(scope, name), name, concat(name, "/run"));
143
+ }
144
+ }
145
+ function addStepNode(state, workflowNodeId, identity, step) {
146
+ let option_1 = void 0, expression = void 0, option_3 = void 0, sm = void 0, option_5 = void 0, option_7 = void 0;
147
+ const stepNodeId = identity.NodeId;
148
+ const metadata = createMetadata(ofArray([["when", (option_1 = step.When_, option_1 != null ? some((expression = option_1, expression.AsDirectiveString)) : void 0)], ["scatterMethod", (option_3 = step.ScatterMethod, option_3 != null ? some((sm = option_3, sm.AsCwlString)) : void 0)], ["scatter", (option_5 = step.Scatter, option_5 != null ? some(toArray(map((value_1) => value_1.AsDirectiveString, option_5))) : void 0)]]));
149
+ addNode(state, WorkflowGraphNode_create_62C775C0(stepNodeId, NodeKind.StepNode, defaultArg((option_7 = step.Label, option_7 != null ? SchemaSaladStringModule_tryLiteral(option_7) : void 0), identity.Name), workflowNodeId, void 0, unwrap(metadata)));
124
150
  addEdgeByType(state, EdgeKind.Contains, workflowNodeId, stepNodeId, void 0);
125
151
  return stepNodeId;
126
152
  }
127
153
  function addWorkflowPorts(state, workflowNodeId, workflow) {
154
+ let relative;
155
+ const holderId = workflow.Id;
156
+ relative = (id) => ReferenceParsing_relativeId(holderId, id);
128
157
  iterate((input) => {
129
- addPortNode(state, workflowNodeId, PortDirection.Input, input.Name, input.Name);
130
- }, workflow.Inputs);
158
+ addPortNode(state, workflowNodeId, PortDirection.Input, relative(input.Name), relative(input.Name));
159
+ }, CWLWorkflowDescription.getInputValues(workflow));
131
160
  iterate((output) => {
132
- addPortNode(state, workflowNodeId, PortDirection.Output, output.Name, output.Name);
133
- }, workflow.Outputs);
161
+ addPortNode(state, workflowNodeId, PortDirection.Output, relative(output.Name), relative(output.Name));
162
+ }, CWLWorkflowDescription.getOutputValues(workflow));
134
163
  }
135
164
  function addToolPorts(state, toolNodeId, tool) {
136
165
  iterate((input) => {
137
166
  addPortNode(state, toolNodeId, PortDirection.Input, input.Name, input.Name);
138
- }, defaultArg(tool.Inputs, []));
167
+ }, CWLToolDescription.getInputValuesOrEmpty(tool));
139
168
  iterate((output) => {
140
169
  addPortNode(state, toolNodeId, PortDirection.Output, output.Name, output.Name);
141
- }, tool.Outputs);
170
+ }, CWLToolDescription.getOutputValues(tool));
142
171
  }
143
172
  function addExpressionToolPorts(state, toolNodeId, tool) {
144
173
  iterate((input) => {
145
174
  addPortNode(state, toolNodeId, PortDirection.Input, input.Name, input.Name);
146
- }, defaultArg(tool.Inputs, []));
175
+ }, CWLExpressionToolDescription.getInputValuesOrEmpty(tool));
147
176
  iterate((output) => {
148
177
  addPortNode(state, toolNodeId, PortDirection.Output, output.Name, output.Name);
149
- }, tool.Outputs);
178
+ }, CWLExpressionToolDescription.getOutputValues(tool));
150
179
  }
151
180
  function addOperationPorts(state, operationNodeId, operation) {
152
181
  iterate((input) => {
153
182
  addPortNode(state, operationNodeId, PortDirection.Input, input.Name, input.Name);
154
- }, operation.Inputs);
183
+ }, CWLOperationDescription.getInputValues(operation));
155
184
  iterate((output) => {
156
185
  addPortNode(state, operationNodeId, PortDirection.Output, output.Name, output.Name);
157
- }, operation.Outputs);
186
+ }, CWLOperationDescription.getOutputValues(operation));
158
187
  }
159
188
  function addStepPorts(state, stepNodeId, step) {
189
+ let relative;
190
+ const holderId = step.Id;
191
+ relative = (id) => ReferenceParsing_relativeId(holderId, id);
160
192
  iterate((input) => {
161
- addPortNode(state, stepNodeId, PortDirection.Input, input.Id, input.Id);
162
- }, step.In);
163
- iterate((output) => {
164
- const outputId = ReferenceParsing_extractStepOutputId(output);
193
+ addPortNode(state, stepNodeId, PortDirection.Input, relative(input.Id), relative(input.Id));
194
+ }, WorkflowStep.getInputValues(step));
195
+ iterate((id_1) => {
196
+ const outputId = relative(id_1);
165
197
  addPortNode(state, stepNodeId, PortDirection.Output, outputId, outputId);
166
- }, step.Out);
198
+ }, choose((output) => StepOutput.tryId(output), step.Out));
167
199
  }
168
200
  function trimToNameCandidate(value) {
169
201
  if (isNullOrWhiteSpace(value)) {
@@ -218,7 +250,7 @@ function tryGetProcessingUnitName(processingUnit) {
218
250
  option_1 = void 0;
219
251
  }
220
252
  if (option_1 != null) {
221
- return tryBasenameNoCwlExtension(value(option_1));
253
+ return tryBasenameNoCwlExtension(option_1);
222
254
  } else {
223
255
  return void 0;
224
256
  }
@@ -236,9 +268,9 @@ function getRunPathCandidates(workflowFilePath, runPath) {
236
268
  const normalizedRunPath = normalize(trimmedRunPath);
237
269
  let matchResult = void 0, workflowPath_1 = void 0;
238
270
  if (workflowFilePath != null) {
239
- if (!isNullOrWhiteSpace(value(workflowFilePath))) {
271
+ if (!isNullOrWhiteSpace(workflowFilePath)) {
240
272
  matchResult = 0;
241
- workflowPath_1 = value(workflowFilePath);
273
+ workflowPath_1 = workflowFilePath;
242
274
  } else {
243
275
  matchResult = 1;
244
276
  }
@@ -269,7 +301,7 @@ function resolveRunString(state, workflowFilePath, runPath) {
269
301
  if (matchValue != null) {
270
302
  const tryResolveRunPath = value(matchValue);
271
303
  const candidates = getRunPathCandidates(workflowFilePath, runPath);
272
- const candidateKeys = Array_distinct(map(normalizePathKey, candidates), {
304
+ const candidateKeys = Array_distinct(map$1(normalizePathKey, candidates), {
273
305
  Equals: (x, y) => x === y,
274
306
  GetHashCode: (x) => stringHash(x) | 0
275
307
  });
@@ -284,51 +316,76 @@ function resolveRunString(state, workflowFilePath, runPath) {
284
316
  resolvedRun = [FSharpMap__get_Item(state.RunResolutionCache, pathKey), candidate];
285
317
  } else {
286
318
  const matchValue_1 = tryResolveRunPath(candidate);
319
+ let matchResult = void 0, tool = void 0, workflow = void 0, expressionTool = void 0, operation = void 0;
287
320
  if (matchValue_1 == null) {
321
+ matchResult = 4;
288
322
  } else {
289
- switch (value(matchValue_1).tag) {
323
+ switch (matchValue_1.tag) {
290
324
  case /* Workflow */
291
325
  1: {
292
- const workflow = value(matchValue_1).fields[0];
293
- const run_1 = WorkflowStepRunOps_fromWorkflow(workflow);
294
- for (let idx_2 = 0; idx_2 <= candidateKeys.length - 1; idx_2++) {
295
- const key_1 = item(idx_2, candidateKeys);
296
- state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_1, run_1);
297
- }
298
- resolvedRun = [run_1, candidate];
326
+ matchResult = 1;
327
+ workflow = matchValue_1.fields[0];
299
328
  break;
300
329
  }
301
330
  case /* ExpressionTool */
302
331
  2: {
303
- const expressionTool = value(matchValue_1).fields[0];
304
- const run_2 = WorkflowStepRunOps_fromExpressionTool(expressionTool);
305
- for (let idx_3 = 0; idx_3 <= candidateKeys.length - 1; idx_3++) {
306
- const key_2 = item(idx_3, candidateKeys);
307
- state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_2, run_2);
308
- }
309
- resolvedRun = [run_2, candidate];
332
+ matchResult = 2;
333
+ expressionTool = matchValue_1.fields[0];
310
334
  break;
311
335
  }
312
336
  case /* Operation */
313
337
  3: {
314
- const operation = value(matchValue_1).fields[0];
315
- const run_3 = WorkflowStepRunOps_fromOperation(operation);
316
- for (let idx_4 = 0; idx_4 <= candidateKeys.length - 1; idx_4++) {
317
- const key_3 = item(idx_4, candidateKeys);
318
- state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_3, run_3);
319
- }
320
- resolvedRun = [run_3, candidate];
338
+ matchResult = 3;
339
+ operation = matchValue_1.fields[0];
340
+ break;
341
+ }
342
+ case /* RawProcess */
343
+ 4: {
344
+ matchResult = 4;
321
345
  break;
322
346
  }
323
347
  default: {
324
- const tool = value(matchValue_1).fields[0];
325
- const run = WorkflowStepRunOps_fromTool(tool);
326
- for (let idx_1 = 0; idx_1 <= candidateKeys.length - 1; idx_1++) {
327
- const key = item(idx_1, candidateKeys);
328
- state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key, run);
329
- }
330
- resolvedRun = [run, candidate];
348
+ matchResult = 0;
349
+ tool = matchValue_1.fields[0];
350
+ }
351
+ }
352
+ }
353
+ switch (matchResult) {
354
+ case 0: {
355
+ const run = WorkflowStepRunOps_fromTool(tool);
356
+ for (let idx_1 = 0; idx_1 <= candidateKeys.length - 1; idx_1++) {
357
+ const key = item(idx_1, candidateKeys);
358
+ state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key, run);
331
359
  }
360
+ resolvedRun = [run, candidate];
361
+ break;
362
+ }
363
+ case 1: {
364
+ const run_1 = WorkflowStepRunOps_fromWorkflow(workflow);
365
+ for (let idx_2 = 0; idx_2 <= candidateKeys.length - 1; idx_2++) {
366
+ const key_1 = item(idx_2, candidateKeys);
367
+ state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_1, run_1);
368
+ }
369
+ resolvedRun = [run_1, candidate];
370
+ break;
371
+ }
372
+ case 2: {
373
+ const run_2 = WorkflowStepRunOps_fromExpressionTool(expressionTool);
374
+ for (let idx_3 = 0; idx_3 <= candidateKeys.length - 1; idx_3++) {
375
+ const key_2 = item(idx_3, candidateKeys);
376
+ state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_2, run_2);
377
+ }
378
+ resolvedRun = [run_2, candidate];
379
+ break;
380
+ }
381
+ case 3: {
382
+ const run_3 = WorkflowStepRunOps_fromOperation(operation);
383
+ for (let idx_4 = 0; idx_4 <= candidateKeys.length - 1; idx_4++) {
384
+ const key_3 = item(idx_4, candidateKeys);
385
+ state.RunResolutionCache = FSharpMap__Add(state.RunResolutionCache, key_3, run_3);
386
+ }
387
+ resolvedRun = [run_3, candidate];
388
+ break;
332
389
  }
333
390
  }
334
391
  }
@@ -338,7 +395,7 @@ function resolveRunString(state, workflowFilePath, runPath) {
338
395
  addDiagnostic(state, GraphIssueKind.ResolutionFailed, concat("Unable to resolve CWL run reference '", runPath, "'."), workflowFilePath, runPath);
339
396
  return new RunResolutionResult(WorkflowStepRun_RunString(runPath), void 0, true, candidateKeys);
340
397
  } else {
341
- return new RunResolutionResult(value(resolvedRun)[0], value(resolvedRun)[1], true, candidateKeys);
398
+ return new RunResolutionResult(resolvedRun[0], resolvedRun[1], true, candidateKeys);
342
399
  }
343
400
  } else {
344
401
  if (state.Options.StrictUnresolvedRunReferences) {
@@ -349,90 +406,102 @@ function resolveRunString(state, workflowFilePath, runPath) {
349
406
  }
350
407
  }
351
408
  function buildProcessingUnit(state, scope, workflowFilePath, ownerNodeId, isRoot, processingUnit) {
352
- let option_9 = void 0, option_11 = void 0, option_13 = void 0, option_15 = void 0, option_17 = void 0, option_19 = void 0, option_1 = void 0, option_5 = void 0, option_3 = void 0, option_7 = void 0;
409
+ let option_15 = void 0, option_13 = void 0, option_17 = void 0, option_21 = void 0, option_19 = void 0, option_23 = void 0, option_27 = void 0, option_25 = void 0, option_29 = void 0, option_31 = void 0, option_33 = void 0, option_3 = void 0, option_1 = void 0, option_9 = void 0, option_7 = void 0, option_5 = void 0, option_11 = void 0;
353
410
  switch (processingUnit.tag) {
354
411
  case /* ExpressionTool */
355
412
  2: {
356
413
  const expressionTool = processingUnit.fields[0];
357
- const nodeId_1 = addProcessingUnitNode(state, scope, ProcessingUnitKind.ExpressionTool, chooseLabel("ExpressionTool", ofArray([tryGetProcessingUnitName(expressionTool), (option_9 = expressionTool.Label, option_9 != null ? tryBasenameNoCwlExtension(value(option_9)) : void 0), (option_11 = workflowFilePath, option_11 != null ? tryBasenameNoCwlExtension(value(option_11)) : void 0)])), ownerNodeId, void 0, createMetadata(ofArray([["cwlVersion", some(expressionTool.CWLVersion)], ["expression", some(expressionTool.Expression)]])));
414
+ const nodeId_1 = addProcessingUnitNode(state, scope, ProcessingUnitKind.ExpressionTool, chooseLabel("ExpressionTool", ofArray([tryGetProcessingUnitName(expressionTool), (option_15 = (option_13 = expressionTool.Label, option_13 != null ? SchemaSaladStringModule_tryLiteral(option_13) : void 0), option_15 != null ? tryBasenameNoCwlExtension(option_15) : void 0), (option_17 = workflowFilePath, option_17 != null ? tryBasenameNoCwlExtension(option_17) : void 0)])), ownerNodeId, void 0, createMetadata(ofArray([["cwlVersion", some(expressionTool.CWLVersion)], ["expression", some(expressionTool.Expression.AsDirectiveString)]])));
358
415
  addExpressionToolPorts(state, nodeId_1, expressionTool);
359
416
  return nodeId_1;
360
417
  }
361
418
  case /* Operation */
362
419
  3: {
363
420
  const operation = processingUnit.fields[0];
364
- const nodeId_2 = addProcessingUnitNode(state, scope, ProcessingUnitKind.Operation, chooseLabel("Operation", ofArray([tryGetProcessingUnitName(operation), (option_13 = operation.Label, option_13 != null ? tryBasenameNoCwlExtension(value(option_13)) : void 0), (option_15 = workflowFilePath, option_15 != null ? tryBasenameNoCwlExtension(value(option_15)) : void 0)])), ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(operation.CWLVersion)])));
421
+ const nodeId_2 = addProcessingUnitNode(state, scope, ProcessingUnitKind.Operation, chooseLabel("Operation", ofArray([tryGetProcessingUnitName(operation), (option_21 = (option_19 = operation.Label, option_19 != null ? SchemaSaladStringModule_tryLiteral(option_19) : void 0), option_21 != null ? tryBasenameNoCwlExtension(option_21) : void 0), (option_23 = workflowFilePath, option_23 != null ? tryBasenameNoCwlExtension(option_23) : void 0)])), ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(operation.CWLVersion)])));
365
422
  addOperationPorts(state, nodeId_2, operation);
366
423
  return nodeId_2;
367
424
  }
368
425
  case /* Workflow */
369
426
  1: {
370
427
  const workflow = processingUnit.fields[0];
371
- const nodeId_3 = addProcessingUnitNode(state, scope, ProcessingUnitKind.Workflow, chooseLabel("Workflow", ofArray([tryGetProcessingUnitName(workflow), (option_17 = workflow.Label, option_17 != null ? tryBasenameNoCwlExtension(value(option_17)) : void 0), (option_19 = workflowFilePath, option_19 != null ? tryBasenameNoCwlExtension(value(option_19)) : void 0)])), ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(workflow.CWLVersion)])));
428
+ const label_3 = chooseLabel("Workflow", ofArray([tryGetProcessingUnitName(workflow), (option_27 = (option_25 = workflow.Label, option_25 != null ? SchemaSaladStringModule_tryLiteral(option_25) : void 0), option_27 != null ? tryBasenameNoCwlExtension(option_27) : void 0), (option_29 = workflowFilePath, option_29 != null ? tryBasenameNoCwlExtension(option_29) : void 0)]));
429
+ const nodeId_3 = addProcessingUnitNode(state, scope, ProcessingUnitKind.Workflow, label_3, ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(workflow.CWLVersion)])));
372
430
  addWorkflowPorts(state, nodeId_3, workflow);
373
431
  if (isRoot ? true : state.Options.ExpandNestedWorkflows) {
374
- buildWorkflowSteps(state, scope, workflowFilePath, nodeId_3, workflow);
432
+ if (exists((right) => CWLProcessingUnit.isSameObject(processingUnit, right), state.ActiveWorkflows)) {
433
+ addDiagnostic(state, GraphIssueKind.CycleDetected, concat("Cycle detected: the workflow '", label_3, "' runs itself through its steps."), workflowFilePath, void 0);
434
+ } else {
435
+ const previousWorkflows = state.ActiveWorkflows;
436
+ state.ActiveWorkflows = cons(processingUnit, previousWorkflows);
437
+ try {
438
+ buildWorkflowSteps(state, scope, workflowFilePath, nodeId_3, workflow);
439
+ } finally {
440
+ state.ActiveWorkflows = previousWorkflows;
441
+ }
442
+ }
375
443
  }
376
444
  return nodeId_3;
377
445
  }
446
+ case /* RawProcess */
447
+ 4:
448
+ return addProcessingUnitNode(state, scope, ProcessingUnitKind.ExternalReference, chooseLabel("Process with a directive as its class", ofArray([(option_31 = RawYaml__TryScalarField_Z721C83C5(processingUnit.fields[0], "id"), option_31 != null ? tryBasenameNoCwlExtension(option_31) : void 0), (option_33 = workflowFilePath, option_33 != null ? tryBasenameNoCwlExtension(option_33) : void 0)])), ownerNodeId, void 0, void 0);
378
449
  default: {
379
450
  const tool = processingUnit.fields[0];
380
- const nodeId = addProcessingUnitNode(state, scope, ProcessingUnitKind.CommandLineTool, chooseLabel("CommandLineTool", ofArray([tryGetProcessingUnitName(tool), (option_1 = tool.Label, option_1 != null ? tryBasenameNoCwlExtension(value(option_1)) : void 0), (option_5 = (option_3 = tool.BaseCommand, option_3 != null ? tryHead(value(option_3)) : void 0), option_5 != null ? tryBasenameNoCwlExtension(value(option_5)) : void 0), (option_7 = workflowFilePath, option_7 != null ? tryBasenameNoCwlExtension(value(option_7)) : void 0)])), ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(tool.CWLVersion)])));
451
+ const nodeId = addProcessingUnitNode(state, scope, ProcessingUnitKind.CommandLineTool, chooseLabel("CommandLineTool", ofArray([tryGetProcessingUnitName(tool), (option_3 = (option_1 = tool.Label, option_1 != null ? SchemaSaladStringModule_tryLiteral(option_1) : void 0), option_3 != null ? tryBasenameNoCwlExtension(option_3) : void 0), (option_9 = (option_7 = (option_5 = tool.BaseCommand, option_5 != null ? tryHead(option_5) : void 0), option_7 != null ? SchemaSaladStringModule_tryLiteral(option_7) : void 0), option_9 != null ? tryBasenameNoCwlExtension(option_9) : void 0), (option_11 = workflowFilePath, option_11 != null ? tryBasenameNoCwlExtension(option_11) : void 0)])), ownerNodeId, void 0, createMetadata(singleton(["cwlVersion", some(tool.CWLVersion)])));
381
452
  addToolPorts(state, nodeId, tool);
382
453
  return nodeId;
383
454
  }
384
455
  }
385
456
  }
386
457
  function buildRunNode(state, runScope, stepNodeId, workflowFilePath, run) {
387
- let currentPath = void 0;
458
+ let option_1 = void 0, currentPath = void 0;
459
+ let matchResult = void 0, runPath = void 0;
388
460
  switch (run.tag) {
389
- case /* RunCommandLineTool */
461
+ case /* RunImport */
390
462
  1: {
391
- const matchValue_2 = WorkflowStepRunOps_tryGetTool(run);
392
- if (matchValue_2 == null) {
393
- const badNodeId = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid CommandLineTool payload", stepNodeId, void 0, void 0);
394
- addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunCommandLineTool had an unexpected payload type.", workflowFilePath, void 0);
395
- return [run, badNodeId];
396
- } else {
397
- return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_CommandLineTool(value(matchValue_2)))];
398
- }
463
+ matchResult = 0;
464
+ runPath = run.fields[0];
465
+ break;
399
466
  }
400
- case /* RunWorkflow */
467
+ case /* RunMixed */
401
468
  2: {
402
- const matchValue_3 = WorkflowStepRunOps_tryGetWorkflow(run);
403
- if (matchValue_3 == null) {
404
- const badNodeId_1 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid Workflow payload", stepNodeId, void 0, void 0);
405
- addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunWorkflow had an unexpected payload type.", workflowFilePath, void 0);
406
- return [run, badNodeId_1];
407
- } else {
408
- const workflow = value(matchValue_3);
409
- return [run, buildProcessingUnit(state, runScope, (currentPath = defaultArg(workflowFilePath, ""), isNullOrWhiteSpace(currentPath) ? void 0 : currentPath), stepNodeId, false, CWLProcessingUnit_Workflow(workflow))];
410
- }
469
+ matchResult = 1;
470
+ break;
411
471
  }
412
- case /* RunExpressionTool */
472
+ case /* RunRaw */
413
473
  3: {
414
- const matchValue_4 = WorkflowStepRunOps_tryGetExpressionTool(run);
415
- if (matchValue_4 == null) {
416
- const badNodeId_2 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid ExpressionTool payload", stepNodeId, void 0, void 0);
417
- addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunExpressionTool had an unexpected payload type.", workflowFilePath, void 0);
418
- return [run, badNodeId_2];
419
- } else {
420
- return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_ExpressionTool(value(matchValue_4)))];
421
- }
474
+ matchResult = 2;
475
+ break;
422
476
  }
423
- case /* RunOperation */
477
+ case /* RunCommandLineTool */
424
478
  4: {
425
- const matchValue_5 = WorkflowStepRunOps_tryGetOperation(run);
426
- if (matchValue_5 == null) {
427
- const badNodeId_3 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid Operation payload", stepNodeId, void 0, void 0);
428
- addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunOperation had an unexpected payload type.", workflowFilePath, void 0);
429
- return [run, badNodeId_3];
430
- } else {
431
- return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_Operation(value(matchValue_5)))];
432
- }
479
+ matchResult = 3;
480
+ break;
481
+ }
482
+ case /* RunWorkflow */
483
+ 5: {
484
+ matchResult = 4;
485
+ break;
486
+ }
487
+ case /* RunExpressionTool */
488
+ 6: {
489
+ matchResult = 5;
490
+ break;
491
+ }
492
+ case /* RunOperation */
493
+ 7: {
494
+ matchResult = 6;
495
+ break;
433
496
  }
434
497
  default: {
435
- const resolution = resolveRunString(state, workflowFilePath, run.fields[0]);
498
+ matchResult = 0;
499
+ runPath = run.fields[0];
500
+ }
501
+ }
502
+ switch (matchResult) {
503
+ case 0: {
504
+ const resolution = resolveRunString(state, workflowFilePath, runPath);
436
505
  const matchValue = resolution.ResolvedRun;
437
506
  if (matchValue.tag === /* RunString */
438
507
  0) {
@@ -448,7 +517,7 @@ function buildRunNode(state, runScope, stepNodeId, workflowFilePath, run) {
448
517
  if (matchValue_1 == null) {
449
518
  patternInput = buildRunNode(state, runScope, stepNodeId, resolution.ResolvedFromPath, resolvedRun);
450
519
  } else {
451
- const resolvedPathKey = normalizePathKey(value(matchValue_1));
520
+ const resolvedPathKey = normalizePathKey(matchValue_1);
452
521
  const previousStack = state.RunResolutionStack;
453
522
  state.RunResolutionStack = FSharpSet__Add(previousStack, resolvedPathKey);
454
523
  try {
@@ -465,36 +534,81 @@ function buildRunNode(state, runScope, stepNodeId, workflowFilePath, run) {
465
534
  }
466
535
  return [patternInput[0], builtNodeId];
467
536
  } else {
468
- return [resolvedRun, value(cachedRunNodeId)];
537
+ return [resolvedRun, cachedRunNodeId];
469
538
  }
470
539
  }
471
540
  }
541
+ case 1:
542
+ return [run, addProcessingUnitNode(state, runScope, ProcessingUnitKind.ExternalReference, "Process with a mixin", stepNodeId, void 0, void 0)];
543
+ case 2:
544
+ return [run, addProcessingUnitNode(state, runScope, ProcessingUnitKind.ExternalReference, chooseLabel("Process with a directive as its class", singleton((option_1 = RawYaml__TryScalarField_Z721C83C5(run.fields[0], "id"), option_1 != null ? tryBasenameNoCwlExtension(option_1) : void 0))), stepNodeId, void 0, void 0)];
545
+ case 3: {
546
+ const matchValue_2 = WorkflowStepRunOps_tryGetTool(run);
547
+ if (matchValue_2 == null) {
548
+ const badNodeId = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid CommandLineTool payload", stepNodeId, void 0, void 0);
549
+ addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunCommandLineTool had an unexpected payload type.", workflowFilePath, void 0);
550
+ return [run, badNodeId];
551
+ } else {
552
+ return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_CommandLineTool(matchValue_2))];
553
+ }
554
+ }
555
+ case 4: {
556
+ const matchValue_3 = WorkflowStepRunOps_tryGetWorkflow(run);
557
+ if (matchValue_3 == null) {
558
+ const badNodeId_1 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid Workflow payload", stepNodeId, void 0, void 0);
559
+ addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunWorkflow had an unexpected payload type.", workflowFilePath, void 0);
560
+ return [run, badNodeId_1];
561
+ } else {
562
+ const workflow = matchValue_3;
563
+ return [run, buildProcessingUnit(state, runScope, (currentPath = defaultArg(workflowFilePath, ""), isNullOrWhiteSpace(currentPath) ? void 0 : currentPath), stepNodeId, false, CWLProcessingUnit_Workflow(workflow))];
564
+ }
565
+ }
566
+ case 5: {
567
+ const matchValue_4 = WorkflowStepRunOps_tryGetExpressionTool(run);
568
+ if (matchValue_4 == null) {
569
+ const badNodeId_2 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid ExpressionTool payload", stepNodeId, void 0, void 0);
570
+ addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunExpressionTool had an unexpected payload type.", workflowFilePath, void 0);
571
+ return [run, badNodeId_2];
572
+ } else {
573
+ return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_ExpressionTool(matchValue_4))];
574
+ }
575
+ }
576
+ default: {
577
+ const matchValue_5 = WorkflowStepRunOps_tryGetOperation(run);
578
+ if (matchValue_5 == null) {
579
+ const badNodeId_3 = addProcessingUnitNode(state, runScope, ProcessingUnitKind.UnresolvedReference, "Invalid Operation payload", stepNodeId, void 0, void 0);
580
+ addDiagnostic(state, GraphIssueKind.UnexpectedRuntimeType, "WorkflowStepRun.RunOperation had an unexpected payload type.", workflowFilePath, void 0);
581
+ return [run, badNodeId_3];
582
+ } else {
583
+ return [run, buildProcessingUnit(state, runScope, workflowFilePath, stepNodeId, false, CWLProcessingUnit_Operation(matchValue_5))];
584
+ }
585
+ }
472
586
  }
473
587
  }
474
- function wireStepInputs(state, scope, workflowNodeId, step) {
475
- const stepNodeId = GraphId_stepNodeId(scope, step.Id);
476
- let enumerator = getEnumerator(step.In);
588
+ function wireStepInputs(state, scope, workflowNodeId, workflowId, identity, step) {
589
+ let enumerator = getEnumerator(WorkflowStep.getInputValues(step));
477
590
  try {
478
591
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
479
592
  const stepInput = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
480
- const targetInputPortId = GraphId_portNodeId(stepNodeId, PortDirection.Input, stepInput.Id);
593
+ const targetInputPortId = GraphId_portNodeId(identity.NodeId, PortDirection.Input, ReferenceParsing_relativeId(step.Id, stepInput.Id));
481
594
  const matchValue = stepInput.Source;
482
595
  if (matchValue != null) {
483
- let enumerator_1 = getEnumerator(value(matchValue));
596
+ const sources = matchValue;
597
+ const enumerator_1 = getEnumerator(choose(SchemaSaladStringModule_tryLiteral, sources.AsValues()));
484
598
  try {
485
599
  while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
486
- const source = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
487
- const sourceRef = ReferenceParsing_parseSourceReference(source);
600
+ const source_1 = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
601
+ const sourceRef = ReferenceParsing_parseSourceReference(ReferenceParsing_relativeId(workflowId, source_1));
488
602
  if (isNullOrWhiteSpace(sourceRef.PortId)) {
489
- addDiagnostic(state, GraphIssueKind.InvalidReference, `Step '${step.Id}' input '${stepInput.Id}' has invalid source '${source}'.`, scope, source);
603
+ addDiagnostic(state, GraphIssueKind.InvalidReference, `Step '${identity.Name}' input '${stepInput.Id}' has invalid source '${source_1}'.`, scope, source_1);
490
604
  } else {
491
605
  let sourcePortId;
492
606
  const matchValue_1 = sourceRef.StepId;
493
- sourcePortId = matchValue_1 == null ? GraphId_portNodeId(workflowNodeId, PortDirection.Input, sourceRef.PortId) : GraphId_portNodeId(GraphId_stepNodeId(scope, value(matchValue_1)), PortDirection.Output, sourceRef.PortId);
607
+ sourcePortId = matchValue_1 == null ? GraphId_portNodeId(workflowNodeId, PortDirection.Input, sourceRef.PortId) : GraphId_portNodeId(GraphId_stepNodeId(scope, matchValue_1), PortDirection.Output, sourceRef.PortId);
494
608
  if (hasNode(state, sourcePortId) && hasNode(state, targetInputPortId)) {
495
609
  addEdgeByType(state, sourceRef.StepId == null ? EdgeKind.BindsWorkflowInput : EdgeKind.DataFlow, sourcePortId, targetInputPortId, void 0);
496
610
  } else {
497
- addDiagnostic(state, GraphIssueKind.MissingReference, `Unable to wire source '${source}' to step input '${step.Id}/${stepInput.Id}'.`, scope, source);
611
+ addDiagnostic(state, GraphIssueKind.MissingReference, `Unable to wire source '${source_1}' to step input '${identity.Name}/${stepInput.Id}'.`, scope, source_1);
498
612
  }
499
613
  }
500
614
  }
@@ -508,22 +622,23 @@ function wireStepInputs(state, scope, workflowNodeId, step) {
508
622
  }
509
623
  }
510
624
  function wireWorkflowOutputs(state, scope, workflowNodeId, workflow) {
511
- let enumerator = getEnumerator(workflow.Outputs);
625
+ let enumerator = getEnumerator(CWLWorkflowDescription.getOutputValues(workflow));
512
626
  try {
513
627
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
514
628
  const output = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
629
+ const outputName = ReferenceParsing_relativeId(workflow.Id, output.Name);
515
630
  let enumerator_1 = getEnumerator(output.GetOutputSources());
516
631
  try {
517
632
  while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
518
633
  const outputSource = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
519
- const parsedSource = ReferenceParsing_parseSourceReference(outputSource);
634
+ const parsedSource = ReferenceParsing_parseSourceReference(ReferenceParsing_relativeId(workflow.Id, outputSource));
520
635
  if (isNullOrWhiteSpace(parsedSource.PortId)) {
521
636
  addDiagnostic(state, GraphIssueKind.InvalidReference, `Workflow output '${output.Name}' has invalid outputSource '${outputSource}'.`, scope, outputSource);
522
637
  } else {
523
638
  let sourcePortId;
524
639
  const matchValue = parsedSource.StepId;
525
- sourcePortId = matchValue == null ? GraphId_portNodeId(workflowNodeId, PortDirection.Input, parsedSource.PortId) : GraphId_portNodeId(GraphId_stepNodeId(scope, value(matchValue)), PortDirection.Output, parsedSource.PortId);
526
- const targetPortId = GraphId_portNodeId(workflowNodeId, PortDirection.Output, output.Name);
640
+ sourcePortId = matchValue == null ? GraphId_portNodeId(workflowNodeId, PortDirection.Input, parsedSource.PortId) : GraphId_portNodeId(GraphId_stepNodeId(scope, matchValue), PortDirection.Output, parsedSource.PortId);
641
+ const targetPortId = GraphId_portNodeId(workflowNodeId, PortDirection.Output, outputName);
527
642
  if (hasNode(state, sourcePortId) && hasNode(state, targetPortId)) {
528
643
  addEdgeByType(state, EdgeKind.BindsWorkflowOutput, sourcePortId, targetPortId, void 0);
529
644
  } else {
@@ -540,20 +655,31 @@ function wireWorkflowOutputs(state, scope, workflowNodeId, workflow) {
540
655
  }
541
656
  }
542
657
  function buildWorkflowSteps(state, scope, workflowFilePath, workflowNodeId, workflow) {
543
- let enumerator = getEnumerator(workflow.Steps);
658
+ const steps = toList(choose((tupledArg) => {
659
+ let step = void 0;
660
+ const option_1 = ListEntry$1.tryValue(tupledArg[1]);
661
+ if (option_1 != null) {
662
+ return step = option_1, [step, stepIdentity(scope, workflow.Id, tupledArg[0], step)];
663
+ } else {
664
+ return void 0;
665
+ }
666
+ }, indexed(workflow.Steps)));
667
+ const enumerator = getEnumerator(steps);
544
668
  try {
545
669
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
546
- const step = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
547
- const stepNodeId = addStepNode(state, scope, workflowNodeId, step);
548
- addStepPorts(state, stepNodeId, step);
549
- addEdgeByType(state, EdgeKind.Calls, stepNodeId, buildRunNode(state, GraphId_childScope(scope, concat(step.Id, "/run")), stepNodeId, workflowFilePath, step.Run)[1], "calls");
670
+ const forLoopVar = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
671
+ const step_1 = forLoopVar[0];
672
+ const identity = forLoopVar[1];
673
+ const stepNodeId = addStepNode(state, workflowNodeId, identity, step_1);
674
+ addStepPorts(state, stepNodeId, step_1);
675
+ addEdgeByType(state, EdgeKind.Calls, stepNodeId, buildRunNode(state, GraphId_childScope(scope, identity.RunSegment), stepNodeId, workflowFilePath, WorkflowStep.getResolvedRun(step_1))[1], "calls");
550
676
  }
551
677
  } finally {
552
678
  disposeSafe(enumerator);
553
679
  }
554
- iterate((step_1) => {
555
- wireStepInputs(state, scope, workflowNodeId, step_1);
556
- }, workflow.Steps);
680
+ iterate$1((tupledArg_1) => {
681
+ wireStepInputs(state, scope, workflowNodeId, workflow.Id, tupledArg_1[1], tupledArg_1[0]);
682
+ }, steps);
557
683
  wireWorkflowOutputs(state, scope, workflowNodeId, workflow);
558
684
  }
559
685
  function buildWith(options, processingUnit) {
@@ -567,4 +693,4 @@ function build(processingUnit) {
567
693
  return buildWith(WorkflowGraphBuildOptionsModule_defaultOptions, processingUnit);
568
694
  }
569
695
 
570
- export { BuildState, BuildState_$reflection, RunResolutionResult, RunResolutionResult_$reflection, addDiagnostic, addEdge, addEdgeByType, addExpressionToolPorts, addNode, addOperationPorts, addPortNode, addProcessingUnitNode, addStepNode, addStepPorts, addToolPorts, addWorkflowPorts, build, buildProcessingUnit, buildRunNode, buildWith, buildWorkflowSteps, chooseLabel, createGraph, createMetadata, createState, getRunPathCandidates, hasNode, isCwlReference, resolveRunString, trimToNameCandidate, tryBasenameNoCwlExtension, tryGetProcessingUnitName, wireStepInputs, wireWorkflowOutputs };
696
+ export { BuildState, BuildState_$reflection, RunResolutionResult, RunResolutionResult_$reflection, StepIdentity, StepIdentity_$reflection, addDiagnostic, addEdge, addEdgeByType, addExpressionToolPorts, addNode, addOperationPorts, addPortNode, addProcessingUnitNode, addStepNode, addStepPorts, addToolPorts, addWorkflowPorts, build, buildProcessingUnit, buildRunNode, buildWith, buildWorkflowSteps, chooseLabel, createGraph, createMetadata, createState, getRunPathCandidates, hasNode, isCwlReference, resolveRunString, stepIdentity, trimToNameCandidate, tryBasenameNoCwlExtension, tryGetProcessingUnitName, wireStepInputs, wireWorkflowOutputs };