From d99ebbab37701c408ddc8b79a4019096e7b832fe Mon Sep 17 00:00:00 2001
From: Trishna Saeharaseelan <trishna.saeharaseelan@noc.ac.uk>
Date: Fri, 14 Feb 2025 13:37:03 +0000
Subject: [PATCH 1/2] feat(header): add route to header

---
 examples/mas-dt/mission_plan.json             |  1 +
 examples/mas-dt/planning_configuration.json   |  1 +
 examples/mas-dt/platform_instruction_set.json |  1 +
 examples/mas-dt/platform_status_branch.json   |  1 +
 examples/mas-dt/platform_status_commit.json   |  1 +
 examples/mas-dt/platform_status_semver.json   |  1 +
 examples/mas-dt/waypoints_geojson.json        |  1 +
 examples/mas-dt/waypoints_props.json          |  1 +
 formats/header.py                             | 11 +++++++++++
 project/soar/swagger.json                     |  9 +++++++++
 10 files changed, 28 insertions(+)

diff --git a/examples/mas-dt/mission_plan.json b/examples/mas-dt/mission_plan.json
index 0899a5d..7129de9 100644
--- a/examples/mas-dt/mission_plan.json
+++ b/examples/mas-dt/mission_plan.json
@@ -5,6 +5,7 @@
     "version": 2,
     "source": "autonomy_engine",
     "destination": "soar.noc.autosub.alr-52.to_platform.mission_plan",
+    "route": ["proj-x-relay", "internal-relay"],
     "delivery_type": "publish",
     "encoded": false
   },
diff --git a/examples/mas-dt/planning_configuration.json b/examples/mas-dt/planning_configuration.json
index 8244541..256bb32 100644
--- a/examples/mas-dt/planning_configuration.json
+++ b/examples/mas-dt/planning_configuration.json
@@ -5,6 +5,7 @@
     "version": 2,
     "source": "noc-c2",
     "destination": "",
+    "route": ["proj-x-relay", "internal-relay"],
     "delivery_type": "broadcast",
     "encoded": false
   },
diff --git a/examples/mas-dt/platform_instruction_set.json b/examples/mas-dt/platform_instruction_set.json
index c3b95d4..3c6f508 100644
--- a/examples/mas-dt/platform_instruction_set.json
+++ b/examples/mas-dt/platform_instruction_set.json
@@ -5,6 +5,7 @@
     "version": 1,
     "source": "ori",
     "destination": "mas-dt.noc.slocum.unit_111.to_platform.platform_instruction_set",
+    "route": ["proj-x-relay", "internal-relay"],
     "delivery_type": "publish",
     "encoded": false
   },
diff --git a/examples/mas-dt/platform_status_branch.json b/examples/mas-dt/platform_status_branch.json
index e21356d..ad793df 100644
--- a/examples/mas-dt/platform_status_branch.json
+++ b/examples/mas-dt/platform_status_branch.json
@@ -5,6 +5,7 @@
         "version": "dev",
         "source": "noc-sfmc",
         "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.platform_status",
+        "route": ["proj-x-relay", "internal-relay"],
         "delivery_type": "publish",
         "encoded": false
     },
diff --git a/examples/mas-dt/platform_status_commit.json b/examples/mas-dt/platform_status_commit.json
index 27e0e5c..c6cb45b 100644
--- a/examples/mas-dt/platform_status_commit.json
+++ b/examples/mas-dt/platform_status_commit.json
@@ -5,6 +5,7 @@
         "version": "2bbede2412f9038c0b1ecd8c2965532ea97264a3",
         "source": "noc-sfmc",
         "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.platform_status",
+        "route": ["mas-dt-relay", "internal-relay"],
         "delivery_type": "publish",
         "encoded": false
     },
diff --git a/examples/mas-dt/platform_status_semver.json b/examples/mas-dt/platform_status_semver.json
index a620dae..b04d33d 100644
--- a/examples/mas-dt/platform_status_semver.json
+++ b/examples/mas-dt/platform_status_semver.json
@@ -5,6 +5,7 @@
         "version": "v2.0.0-beta.9",
         "source": "noc-sfmc",
         "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.platform_status",
+        "route": ["proj-x-relay", "internal-relay"],
         "delivery_type": "publish",
         "encoded": false
     },
diff --git a/examples/mas-dt/waypoints_geojson.json b/examples/mas-dt/waypoints_geojson.json
index 534b619..c3a00cf 100644
--- a/examples/mas-dt/waypoints_geojson.json
+++ b/examples/mas-dt/waypoints_geojson.json
@@ -5,6 +5,7 @@
         "version": "v2.0.0-beta.1",
         "source": "noc-sfmc",
         "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.waypoints",
+        "route": ["proj-x-relay", "internal-relay"],
         "delivery_type": "publish",
         "encoded": false
     },
diff --git a/examples/mas-dt/waypoints_props.json b/examples/mas-dt/waypoints_props.json
index 3f210b3..7d42809 100644
--- a/examples/mas-dt/waypoints_props.json
+++ b/examples/mas-dt/waypoints_props.json
@@ -5,6 +5,7 @@
         "version": "v2.0.0-beta.1",
         "source": "noc-sfmc",
         "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.waypoints",
+        "route": ["proj-x-relay", "internal-relay"],
         "delivery_type": "publish",
         "encoded": false
     },
diff --git a/formats/header.py b/formats/header.py
index d20f698..1dbbb0d 100644
--- a/formats/header.py
+++ b/formats/header.py
@@ -1,3 +1,9 @@
+route_clients = {
+    "type": "string",
+    "description": "Client-ID",
+    "example": "proj-x-relay",
+}
+
 message_header = {
     "type": "object",
     "properties": {
@@ -25,6 +31,11 @@ message_header = {
             + " of this message",
             "example": "ah1",
         },
+        "route": {
+            "type": "array",
+            "items": route_clients,
+            "description": "Client-IDs of adapter between forwarding the message between the source adapter and destination adapter",
+        },
         "encoded": {
             "type": "boolean",
             "description": "Indicate that message raw (encoded) or decoded. "
diff --git a/project/soar/swagger.json b/project/soar/swagger.json
index bc8ec36..881cfac 100644
--- a/project/soar/swagger.json
+++ b/project/soar/swagger.json
@@ -1502,6 +1502,15 @@
             "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
             "type": "string"
           },
+          "route": {
+            "description": "Client-IDs of adapter between forwarding the message between the source adapter and destination adapter",
+            "items": {
+              "description": "Client-ID",
+              "example": "proj-x-relay",
+              "type": "string"
+            },
+            "type": "array"
+          },
           "source": {
             "description": "The sender; Where is this message from",
             "example": "autonomy_engine",
-- 
GitLab


From 0d38590cfa6ee39423e5523fbea0f7ab57268f4d Mon Sep 17 00:00:00 2001
From: Trishna Saeharaseelan <trishna.saeharaseelan@noc.ac.uk>
Date: Fri, 14 Feb 2025 13:38:48 +0000
Subject: [PATCH 2/2] fix(changelog): merge conflict

---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 83a61de..cc77054 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 ### Added
 
+- Route to header schema which shows the list of client_IDs relaying the message from the true source of message to final destination of it.
 - New message type "autonomy_engine_control". Long term plan is to integrate this as an object into the planning configuration schema, where if an operation has autonomy, the metadata, configurations, any instructions / default settings shall be within this message structure section.
 - Additional_data field to platform_status to input any other data from a platform to be published
 - Goal object in mission_plan message that consists of a GeoJSON feature (representing the part of primitive that is currently the goal of the given mission plan).
-- 
GitLab