From 7a8ce80e062e479f3efb711f7c735508643bd5eb Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 6 Jul 2026 01:52:33 +0100 Subject: [PATCH] Remove Eve command invocation mirrors --- .../aetheria-rts-generated-bindings.ts | 10 ------ Aetheria.State.Verify/Program.cs | 23 ++++++++---- .../Tests/DaemonRuntimeDocumentTests.cs | 5 --- .../AetheriaRuntimeEveCommandClient.cs | 36 ++----------------- .../AetheriaRuntimeEveCommandDocument.cs | 15 -------- 5 files changed, 18 insertions(+), 71 deletions(-) diff --git a/Aetheria.Rts.Web/Electron/aetheria-rts-generated-bindings.ts b/Aetheria.Rts.Web/Electron/aetheria-rts-generated-bindings.ts index 34ad33528..bb1b435af 100644 --- a/Aetheria.Rts.Web/Electron/aetheria-rts-generated-bindings.ts +++ b/Aetheria.Rts.Web/Electron/aetheria-rts-generated-bindings.ts @@ -209,11 +209,6 @@ export type AetheriaRuntimeEveCommandDocumentSlot = | "loadoutTemplate" | "inputSettings" | "tradeValuePolicy" - | "operationId" - | "operationSchemaId" - | "operationRouteKind" - | "operationRouteDescription" - | "operationIdempotencyKey" | "payload" | "operation"; @@ -229,11 +224,6 @@ export const aetheriaRuntimeEveCommandDocumentSlots: Record Payload", "SetTradeValueQualityMinimum", "SetTradeValueTierQuality", @@ -13154,7 +13149,16 @@ static void RequireTypedEveCommandBodies(string root) { "IReadOnlyDictionary Payload", "SubmitSurfaceRequest(", - "CreateSurfaceRequestCommand(" + "CreateSurfaceRequestCommand(", + "public string OperationSchemaId", + "public string OperationRouteKind", + "public string OperationRouteDescription", + "public string OperationIdempotencyKey", + "[Key(11)]", + "[Key(12)]", + "[Key(13)]", + "[Key(14)]", + "[Key(15)]" }; var forbiddenDocumentHits = forbiddenDocumentSymbols .Where(symbol => eveCommandDocument.Contains(symbol, StringComparison.Ordinal)) @@ -13195,7 +13199,6 @@ static void RequireTypedEveCommandBodies(string root) "Operation = invocation", "Operation = invocationRecord", "NormalizeInvocationRecord(", - "ApplyInvocationCompatibilityFields(", "Payload = envelope.Payload.ToDictionary()", "Payload = (payload ?? CultMeshOperationPayload.Empty).ToDictionary()", "return request.Payload.GetString(key);", @@ -13253,6 +13256,12 @@ static void RequireTypedEveCommandBodies(string root) eveCommandClient.Contains("OperationId = envelope.Invocation.OperationId", StringComparison.Ordinal) || eveCommandClient.Contains("OperationId = invocation.OperationId", StringComparison.Ordinal) || eveCommandClient.Contains("OperationId = invocationRecord.OperationId", StringComparison.Ordinal) || + eveCommandClient.Contains("ApplyInvocationCompatibilityFields(", StringComparison.Ordinal) || + eveCommandClient.Contains("document.OperationId", StringComparison.Ordinal) || + eveCommandClient.Contains("document.OperationSchemaId", StringComparison.Ordinal) || + eveCommandClient.Contains("document.OperationRouteKind", StringComparison.Ordinal) || + eveCommandClient.Contains("document.OperationRouteDescription", StringComparison.Ordinal) || + eveCommandClient.Contains("document.OperationIdempotencyKey", StringComparison.Ordinal) || eveCommandClient.Contains("Payload = new System.Collections.Generic.Dictionary(\r\n envelope.Payload", StringComparison.Ordinal) || eveCommandClient.Contains("Payload = new System.Collections.Generic.Dictionary(\n envelope.Payload", StringComparison.Ordinal)) { diff --git a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs index 103fc8247..71d29866c 100644 --- a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs +++ b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs @@ -4472,11 +4472,6 @@ public class DaemonRuntimeDocumentTests var document = AetheriaRuntimeEveCommandClient.ToDocument(envelope); var restored = AetheriaRuntimeEveCommandClient.ToEnvelope(document); - Assert.AreEqual(AetheriaRuntimePlayerSettingsCommands.SetPlayerName, document.OperationId); - Assert.AreEqual(AetheriaRuntimeEveCommandDocument.SchemaId, document.OperationSchemaId); - Assert.AreEqual(CultMeshLocalityKind.Ipc.ToString(), document.OperationRouteKind); - Assert.AreEqual("eve-ui-test", document.OperationRouteDescription); - Assert.AreEqual("idempotent-player-name", document.OperationIdempotencyKey); Assert.AreEqual(AetheriaRuntimePlayerSettingsCommands.SetPlayerName, document.Operation.OperationId); Assert.AreEqual(AetheriaRuntimeEveCommandDocument.SchemaId, document.Operation.SchemaId); Assert.AreEqual(CultMeshLocalityKind.Ipc.ToString(), document.Operation.RouteKind); diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandClient.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandClient.cs index 93e9584fc..df5d3e539 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandClient.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandClient.cs @@ -544,7 +544,6 @@ namespace GameCult.Aetheria.State.Verse if (string.IsNullOrWhiteSpace(document.Command) && document.Kind != AetheriaRuntimeEveCommandKind.Unknown) document.Command = CommandText(document.Kind); document.Operation = NormalizeInvocationRecord(document); - ApplyInvocationCompatibilityFields(document, document.Operation); if (document.Payload == null) document.Payload = new System.Collections.Generic.Dictionary(StringComparer.Ordinal); return document; @@ -552,7 +551,7 @@ namespace GameCult.Aetheria.State.Verse private static CultMeshOperationInvocationDescriptor CreateInvocation(AetheriaRuntimeEveCommandDocument document) { - return document.Operation.ToInvocation( + return (document.Operation ?? new CultMeshOperationInvocationRecord()).ToInvocation( fallbackOperationId: document.Command ?? "", fallbackSchemaId: CommandSchema, fallbackRouteHint: new CultMeshRouteHint(CultMeshLocalityKind.Network, "aetheria-eve-command"), @@ -562,27 +561,7 @@ namespace GameCult.Aetheria.State.Verse private static CultMeshOperationInvocationRecord NormalizeInvocationRecord( AetheriaRuntimeEveCommandDocument document) { - var record = document.Operation; - var legacy = CultMesh.OperationInvocationRecord( - document.OperationId, - document.OperationSchemaId, - document.OperationRouteKind, - document.OperationRouteDescription, - document.OperationIdempotencyKey); - - var recordOperationId = record?.OperationId ?? ""; - var recordSchemaId = record?.SchemaId ?? ""; - var recordRouteKind = record?.RouteKind ?? ""; - var recordRouteDescription = record?.RouteDescription ?? ""; - var recordIdempotencyKey = record?.IdempotencyKey ?? ""; - var merged = CultMesh.OperationInvocationRecord( - string.IsNullOrWhiteSpace(recordOperationId) ? legacy.OperationId : recordOperationId, - string.IsNullOrWhiteSpace(recordSchemaId) ? legacy.SchemaId : recordSchemaId, - string.IsNullOrWhiteSpace(recordRouteKind) ? legacy.RouteKind : recordRouteKind, - string.IsNullOrWhiteSpace(recordRouteDescription) ? legacy.RouteDescription : recordRouteDescription, - string.IsNullOrWhiteSpace(recordIdempotencyKey) ? legacy.IdempotencyKey : recordIdempotencyKey); - - var invocation = merged.ToInvocation( + var invocation = (document.Operation ?? new CultMeshOperationInvocationRecord()).ToInvocation( fallbackOperationId: document.Command ?? "", fallbackSchemaId: CommandSchema, fallbackRouteHint: new CultMeshRouteHint(CultMeshLocalityKind.Network, "aetheria-eve-command"), @@ -590,17 +569,6 @@ namespace GameCult.Aetheria.State.Verse return CultMesh.OperationInvocationRecord(invocation); } - private static void ApplyInvocationCompatibilityFields( - AetheriaRuntimeEveCommandDocument document, - CultMeshOperationInvocationRecord record) - { - document.OperationId = record.OperationId; - document.OperationSchemaId = record.SchemaId; - document.OperationRouteKind = record.RouteKind; - document.OperationRouteDescription = record.RouteDescription; - document.OperationIdempotencyKey = record.IdempotencyKey; - } - public static AetheriaRuntimeEveCommandKind CommandKindForSurface(EveSurfaceCommandRequest request) { if (request == null) throw new ArgumentNullException(nameof(request)); diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandDocument.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandDocument.cs index 348d9275a..58540c463 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandDocument.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeEveCommandDocument.cs @@ -206,21 +206,6 @@ namespace GameCult.Aetheria.State.Verse [Key(10)] public AetheriaRuntimeTradeValuePolicyCommandBody TradeValuePolicy { get; set; } = new AetheriaRuntimeTradeValuePolicyCommandBody(); - [Key(11)] - public string OperationId { get; set; } = ""; - - [Key(12)] - public string OperationSchemaId { get; set; } = ""; - - [Key(13)] - public string OperationRouteKind { get; set; } = ""; - - [Key(14)] - public string OperationRouteDescription { get; set; } = ""; - - [Key(15)] - public string OperationIdempotencyKey { get; set; } = ""; - [Key(16)] public Dictionary Payload { get; set; } = new Dictionary(StringComparer.Ordinal);