You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the map node of the process is using nodeKey to reference from which node the mapping should be done against.
The problem is only execution nodes can be reference from the map.
My suggestion is to add a new refKey parameter only to the Task node and rename nodeKey to refKey in the Reference struct.
Like this, by construction, it's only possible to reference the output of an execution and nothing else!
Change to do in protobuf/types/process.proto:
message Task {
// Hash of the instance to execute.
bytes instanceHash = 2 [
(gogoproto.moretags) = 'hash:"name:2" validate:"required"',
(gogoproto.customtype) = "github.com/mesg-foundation/engine/hash.Hash",
(gogoproto.nullable) = false
];
// Task of the instance to execute.
string taskKey = 3 [
(gogoproto.moretags) = 'hash:"name:3" validate:"printascii,required"'
];
+ // RefKey of this execution's node. Must to set to reference an output of this task from a map node.+ string refKey = 1 [+ (gogoproto.moretags) = 'hash:"name:1" validate:"printascii"'+ ];
}
message Reference {
- // Key of the node in the graph. If empty, will be using the src of the edge.- string nodeKey = 1 [+ // RefKey of the execution's node in the graph.+ string refKey = 1 [
(gogoproto.moretags) = 'hash:"name:1" validate:"printascii"'
];
// Key of a specific parameter of the referenced node's output data.
string key = 2 [
(gogoproto.moretags) = 'hash:"name:2" validate:"required"'
];
}
The text was updated successfully, but these errors were encountered:
Some correction about this issue:
The refKey is not required either in the task or in the reference.
If it is not set in the task, then this task's output cannot be referenced.
If it is not set in the reference message, then the reference should be done against the previous node outputs (outputs variable in the orchestrator file)
Currently, the map node of the process is using
nodeKey
to reference from which node the mapping should be done against.The problem is only execution nodes can be reference from the map.
My suggestion is to add a new
refKey
parameter only to theTask
node and renamenodeKey
torefKey
in theReference
struct.Like this, by construction, it's only possible to reference the output of an execution and nothing else!
Change to do in
protobuf/types/process.proto
:The text was updated successfully, but these errors were encountered: