namespace SpaceGame.Api.Ships.AI; public sealed partial class ShipAiService { private enum SubTaskOutcome { Active, Completed, Failed, } private sealed record TradeRoutePlan( StationRuntime SourceStation, StationRuntime DestinationStation, string ItemId, float Score, string Summary); private sealed record MiningOpportunity( ResourceNodeRuntime Node, StationRuntime DropOffStation, float Score, string Summary); private sealed record FleetSupplyPlan( StationRuntime SourceStation, ShipRuntime TargetShip, string ItemId, float Amount, float Radius, string Summary); private sealed record LocalMiningBuyerCandidate( StationRuntime Station, float Score); private sealed record ThreatTargetCandidate( string EntityId, string SystemId, Vector3 Position, float Score); private sealed record PoliceContactCandidate( string EntityId, string SystemId, Vector3 Position, bool Engage, float Score); private sealed record SalvageOpportunity( WreckRuntime Wreck, float Score, string Summary); }