From 42c4d1fdf9f4172c1c10113821448ae60a549096 Mon Sep 17 00:00:00 2001 From: raphael-goetz Date: Sat, 1 Nov 2025 14:35:34 +0100 Subject: [PATCH 1/3] feat: added node, if and if-else --- .../standard/data_type/node/node.proto.json | 12 +++ .../control/control-audit.md | 8 +- .../control/std_control_if.proto.json | 77 +++++++++++++ .../control/std_control_if_else.proto.json | 102 ++++++++++++++++++ 4 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 definitions/standard/data_type/node/node.proto.json create mode 100644 definitions/standard/runtime_definition/control/std_control_if.proto.json create mode 100644 definitions/standard/runtime_definition/control/std_control_if_else.proto.json diff --git a/definitions/standard/data_type/node/node.proto.json b/definitions/standard/data_type/node/node.proto.json new file mode 100644 index 0000000..78ab53c --- /dev/null +++ b/definitions/standard/data_type/node/node.proto.json @@ -0,0 +1,12 @@ +{ + "variant": "NODE", + "identifier": "NODE", + "name": [ + { + "code": "en-US", + "content": "Node" + } + ], + "rules": [], + "genericKeys": [] +} \ No newline at end of file diff --git a/definitions/standard/runtime_definition/control/control-audit.md b/definitions/standard/runtime_definition/control/control-audit.md index ab78d8f..40c6d6d 100644 --- a/definitions/standard/runtime_definition/control/control-audit.md +++ b/definitions/standard/runtime_definition/control/control-audit.md @@ -11,4 +11,10 @@ 16.10.2025 ## Renamed -break -> stop \ No newline at end of file +break -> stop + +01.11.2025 + +## Added +- if +- if-else \ No newline at end of file diff --git a/definitions/standard/runtime_definition/control/std_control_if.proto.json b/definitions/standard/runtime_definition/control/std_control_if.proto.json new file mode 100644 index 0000000..10d49de --- /dev/null +++ b/definitions/standard/runtime_definition/control/std_control_if.proto.json @@ -0,0 +1,77 @@ +{ + "runtimeName": "std::control::if", + "runtimeParameterDefinitions": [ + { + "dataTypeIdentifier": { + "dataTypeIdentifier": "BOOLEAN" + }, + "runtimeName": "condition", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Condition" + } + ], + "description": [ + { + "code": "en-US", + "content": "Boolean condition to evaluate." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Specifies the condition that determines whether the provided node should be executed. If this condition evaluates to true, the execution proceeds with the node defined in the second parameter." + } + ] + }, + { + "dataTypeIdentifier": { + "dataTypeIdentifier": "NODE" + }, + "runtimeName": "thenNode", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Then Node" + } + ], + "description": [ + { + "code": "en-US", + "content": "Node that will be executed if the condition is true." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Defines the node to be executed when the condition evaluates to true. If the condition is false, this node will be skipped and execution will continue with the next element in the flow." + } + ] + } + ], + "returnTypeIdentifier": null, + "throwsError": false, + "genericKeys": [], + "name": [ + { + "code": "en-US", + "content": "If" + } + ], + "description": [ + { + "code": "en-US", + "content": "Executes the specified node if the condition evaluates to true." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "The 'If' node evaluates a boolean condition and, if it is true, executes the provided node. If the condition is false, execution continues without running the node. This behavior corresponds to a standard 'if' statement in programming languages." + } + ], + "deprecationMessage": [] +} diff --git a/definitions/standard/runtime_definition/control/std_control_if_else.proto.json b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json new file mode 100644 index 0000000..f1d4bc1 --- /dev/null +++ b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json @@ -0,0 +1,102 @@ +{ + "runtimeName": "std::control::if_else", + "runtimeParameterDefinitions": [ + { + "dataTypeIdentifier": { + "dataTypeIdentifier": "BOOLEAN" + }, + "runtimeName": "condition", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Condition" + } + ], + "description": [ + { + "code": "en-US", + "content": "Boolean condition to evaluate." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Determines which branch to execute. If true the Then Node runs otherwise the Else Node runs." + } + ] + }, + { + "dataTypeIdentifier": { + "dataTypeIdentifier": "NODE" + }, + "runtimeName": "then_node", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Then Node" + } + ], + "description": [ + { + "code": "en-US", + "content": "Node to execute when the condition is true." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Defines the node that runs if the condition evaluates to true." + } + ] + }, + { + "dataTypeIdentifier": { + "dataTypeIdentifier": "NODE" + }, + "runtimeName": "else_node", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Else Node" + } + ], + "description": [ + { + "code": "en-US", + "content": "Node to execute when the condition is false." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Defines the node that runs if the condition evaluates to false." + } + ] + } + ], + "returnTypeIdentifier": null, + "throwsError": false, + "genericKeys": [], + "name": [ + { + "code": "en-US", + "content": "If-Else" + } + ], + "description": [ + { + "code": "en-US", + "content": "Evaluates a condition and executes either the Then Node or the Else Node." + } + ], + "documentation": [ + { + "code": "en-US", + "content": "Evaluates a boolean condition. If true, executes the Then Node; otherwise, executes the Else Node. Mirrors a standard 'if/else' control structure in programming languages." + } + ], + "deprecationMessage": [] +} From 0f3579cdffb925abae82acd300a68ebf7f00c685 Mon Sep 17 00:00:00 2001 From: raphael-goetz Date: Sat, 1 Nov 2025 14:39:58 +0100 Subject: [PATCH 2/3] ref: renamed node to runnable --- .../data_type/node/{node.proto.json => runnable.proto.json} | 2 +- .../runtime_definition/control/std_control_if.proto.json | 2 +- .../runtime_definition/control/std_control_if_else.proto.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename definitions/standard/data_type/node/{node.proto.json => runnable.proto.json} (82%) diff --git a/definitions/standard/data_type/node/node.proto.json b/definitions/standard/data_type/node/runnable.proto.json similarity index 82% rename from definitions/standard/data_type/node/node.proto.json rename to definitions/standard/data_type/node/runnable.proto.json index 78ab53c..e87d0f2 100644 --- a/definitions/standard/data_type/node/node.proto.json +++ b/definitions/standard/data_type/node/runnable.proto.json @@ -1,6 +1,6 @@ { "variant": "NODE", - "identifier": "NODE", + "identifier": "RUNNABLE", "name": [ { "code": "en-US", diff --git a/definitions/standard/runtime_definition/control/std_control_if.proto.json b/definitions/standard/runtime_definition/control/std_control_if.proto.json index 10d49de..e85ca8e 100644 --- a/definitions/standard/runtime_definition/control/std_control_if.proto.json +++ b/definitions/standard/runtime_definition/control/std_control_if.proto.json @@ -28,7 +28,7 @@ }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, "runtimeName": "thenNode", "defaultValue": null, diff --git a/definitions/standard/runtime_definition/control/std_control_if_else.proto.json b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json index f1d4bc1..c7feda2 100644 --- a/definitions/standard/runtime_definition/control/std_control_if_else.proto.json +++ b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json @@ -28,7 +28,7 @@ }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, "runtimeName": "then_node", "defaultValue": null, @@ -53,7 +53,7 @@ }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, "runtimeName": "else_node", "defaultValue": null, From 75e5063c08001a8a6e1cbf4803b209911aa7207a Mon Sep 17 00:00:00 2001 From: raphael-goetz Date: Sat, 1 Nov 2025 14:39:58 +0100 Subject: [PATCH 3/3] ref: renamed node to runnable --- .../{node.proto.json => runnable.proto.json} | 2 +- .../control/std_control_if.proto.json | 16 ++++++------ .../control/std_control_if_else.proto.json | 26 +++++++++---------- 3 files changed, 22 insertions(+), 22 deletions(-) rename definitions/standard/data_type/node/{node.proto.json => runnable.proto.json} (82%) diff --git a/definitions/standard/data_type/node/node.proto.json b/definitions/standard/data_type/node/runnable.proto.json similarity index 82% rename from definitions/standard/data_type/node/node.proto.json rename to definitions/standard/data_type/node/runnable.proto.json index 78ab53c..e87d0f2 100644 --- a/definitions/standard/data_type/node/node.proto.json +++ b/definitions/standard/data_type/node/runnable.proto.json @@ -1,6 +1,6 @@ { "variant": "NODE", - "identifier": "NODE", + "identifier": "RUNNABLE", "name": [ { "code": "en-US", diff --git a/definitions/standard/runtime_definition/control/std_control_if.proto.json b/definitions/standard/runtime_definition/control/std_control_if.proto.json index 10d49de..1ef0a78 100644 --- a/definitions/standard/runtime_definition/control/std_control_if.proto.json +++ b/definitions/standard/runtime_definition/control/std_control_if.proto.json @@ -22,32 +22,32 @@ "documentation": [ { "code": "en-US", - "content": "Specifies the condition that determines whether the provided node should be executed. If this condition evaluates to true, the execution proceeds with the node defined in the second parameter." + "content": "Specifies the condition that determines whether the provided runnable should be executed. If this condition evaluates to true, the execution proceeds with the runnable defined in the second parameter." } ] }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, - "runtimeName": "thenNode", + "runtimeName": "then_runnable", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Then Node" + "content": "Then Runnable" } ], "description": [ { "code": "en-US", - "content": "Node that will be executed if the condition is true." + "content": "Runnable to execute when the condition is true." } ], "documentation": [ { "code": "en-US", - "content": "Defines the node to be executed when the condition evaluates to true. If the condition is false, this node will be skipped and execution will continue with the next element in the flow." + "content": "Defines the runnable that runs if the condition evaluates to true." } ] } @@ -64,13 +64,13 @@ "description": [ { "code": "en-US", - "content": "Executes the specified node if the condition evaluates to true." + "content": "Executes the specified runnable if the condition evaluates to true." } ], "documentation": [ { "code": "en-US", - "content": "The 'If' node evaluates a boolean condition and, if it is true, executes the provided node. If the condition is false, execution continues without running the node. This behavior corresponds to a standard 'if' statement in programming languages." + "content": "The 'If' runnable evaluates a boolean condition and, if it is true, executes the provided runnable. If the condition is false, execution continues without running the runnable. This behavior corresponds to a standard 'if' statement in programming languages." } ], "deprecationMessage": [] diff --git a/definitions/standard/runtime_definition/control/std_control_if_else.proto.json b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json index f1d4bc1..25b78fe 100644 --- a/definitions/standard/runtime_definition/control/std_control_if_else.proto.json +++ b/definitions/standard/runtime_definition/control/std_control_if_else.proto.json @@ -22,57 +22,57 @@ "documentation": [ { "code": "en-US", - "content": "Determines which branch to execute. If true the Then Node runs otherwise the Else Node runs." + "content": "Determines which branch to execute. If true the Then Runnable runs otherwise the Else Runnable runs." } ] }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, - "runtimeName": "then_node", + "runtimeName": "then_runnable", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Then Node" + "content": "Then Runnable" } ], "description": [ { "code": "en-US", - "content": "Node to execute when the condition is true." + "content": "Runnable to execute when the condition is true." } ], "documentation": [ { "code": "en-US", - "content": "Defines the node that runs if the condition evaluates to true." + "content": "Defines the runnable that runs if the condition evaluates to true." } ] }, { "dataTypeIdentifier": { - "dataTypeIdentifier": "NODE" + "dataTypeIdentifier": "RUNNABLE" }, - "runtimeName": "else_node", + "runtimeName": "else_runnable", "defaultValue": null, "name": [ { "code": "en-US", - "content": "Else Node" + "content": "Else Runnable" } ], "description": [ { "code": "en-US", - "content": "Node to execute when the condition is false." + "content": "Runnable to execute when the condition is false." } ], "documentation": [ { "code": "en-US", - "content": "Defines the node that runs if the condition evaluates to false." + "content": "Defines the runnable that runs if the condition evaluates to false." } ] } @@ -89,13 +89,13 @@ "description": [ { "code": "en-US", - "content": "Evaluates a condition and executes either the Then Node or the Else Node." + "content": "Evaluates a condition and executes either the Then Runnable or the Else Runnable." } ], "documentation": [ { "code": "en-US", - "content": "Evaluates a boolean condition. If true, executes the Then Node; otherwise, executes the Else Node. Mirrors a standard 'if/else' control structure in programming languages." + "content": "Evaluates a boolean condition. If true, executes the Then Runnable; otherwise, executes the Else Runnable. Mirrors a standard 'if/else' control structure in programming languages." } ], "deprecationMessage": []