@@ -50,14 +50,14 @@ type arrayTaskReader struct {
5050}
5151
5252func (a * arrayTaskReader ) Read (ctx context.Context ) (* core.TaskTemplate , error ) {
53- taskTemplate , err := a .TaskReader .Read (ctx )
53+ originalTaskTemplate , err := a .TaskReader .Read (ctx )
5454 if err != nil {
5555 return nil , err
5656 }
5757
5858 // convert output list variable to singular
5959 outputVariables := make (map [string ]* core.Variable )
60- for key , value := range taskTemplate .Interface .Outputs .Variables {
60+ for key , value := range originalTaskTemplate .Interface .Outputs .Variables {
6161 switch v := value .Type .Type .(type ) {
6262 case * core.LiteralType_CollectionType :
6363 outputVariables [key ] = & core.Variable {
@@ -69,10 +69,14 @@ func (a *arrayTaskReader) Read(ctx context.Context) (*core.TaskTemplate, error)
6969 }
7070 }
7171
72- taskTemplate .Interface .Outputs = & core.VariableMap {
73- Variables : outputVariables ,
72+ taskTemplate := * originalTaskTemplate
73+ taskTemplate .Interface = & core.TypedInterface {
74+ Inputs : originalTaskTemplate .Interface .Inputs ,
75+ Outputs : & core.VariableMap {
76+ Variables : outputVariables ,
77+ },
7478 }
75- return taskTemplate , nil
79+ return & taskTemplate , nil
7680}
7781
7882type arrayNodeExecutionContext struct {
0 commit comments