Remove Eve command invocation mirrors

This commit is contained in:
Meta Vens 2026-07-06 01:52:33 +01:00
commit 7a8ce80e06
5 changed files with 18 additions and 71 deletions

View file

@ -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<AetheriaRuntimeEveCo
loadoutTemplate: 8,
inputSettings: 9,
tradeValuePolicy: 10,
operationId: 11,
operationSchemaId: 12,
operationRouteKind: 13,
operationRouteDescription: 14,
operationIdempotencyKey: 15,
payload: 16,
operation: 17,
};

View file

@ -13130,11 +13130,6 @@ static void RequireTypedEveCommandBodies(string root)
"public CultMeshOperationInvocationDescriptor Invocation",
"public CultMeshOperationPayload Payload",
"public CultMeshOperationInvocationRecord Operation",
"public string OperationId",
"public string OperationSchemaId",
"public string OperationRouteKind",
"public string OperationRouteDescription",
"public string OperationIdempotencyKey",
"public Dictionary<string, string> Payload",
"SetTradeValueQualityMinimum",
"SetTradeValueTierQuality",
@ -13154,7 +13149,16 @@ static void RequireTypedEveCommandBodies(string root)
{
"IReadOnlyDictionary<string, string> 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<string, string>(\r\n envelope.Payload", StringComparison.Ordinal) ||
eveCommandClient.Contains("Payload = new System.Collections.Generic.Dictionary<string, string>(\n envelope.Payload", StringComparison.Ordinal))
{

View file

@ -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);

View file

@ -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<string, string>(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));

View file

@ -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<string, string> Payload { get; set; } = new Dictionary<string, string>(StringComparer.Ordinal);