feat: massive AI generation
This commit is contained in:
271
apps/backend/PlayerFaction/Contracts/PlayerFaction.cs
Normal file
271
apps/backend/PlayerFaction/Contracts/PlayerFaction.cs
Normal file
@@ -0,0 +1,271 @@
|
||||
namespace SpaceGame.Api.PlayerFaction.Contracts;
|
||||
|
||||
public sealed record PlayerAssetRegistrySnapshot(
|
||||
IReadOnlyList<string> ShipIds,
|
||||
IReadOnlyList<string> StationIds,
|
||||
IReadOnlyList<string> CommanderIds,
|
||||
IReadOnlyList<string> ClaimIds,
|
||||
IReadOnlyList<string> ConstructionSiteIds,
|
||||
IReadOnlyList<string> PolicySetIds,
|
||||
IReadOnlyList<string> MarketOrderIds,
|
||||
IReadOnlyList<string> FleetIds,
|
||||
IReadOnlyList<string> TaskForceIds,
|
||||
IReadOnlyList<string> StationGroupIds,
|
||||
IReadOnlyList<string> EconomicRegionIds,
|
||||
IReadOnlyList<string> FrontIds,
|
||||
IReadOnlyList<string> ReserveIds);
|
||||
|
||||
public sealed record PlayerStrategicIntentSnapshot(
|
||||
string StrategicPosture,
|
||||
string EconomicPosture,
|
||||
string MilitaryPosture,
|
||||
string LogisticsPosture,
|
||||
float DesiredReserveRatio,
|
||||
bool AllowDelegatedCombatAutomation,
|
||||
bool AllowDelegatedEconomicAutomation,
|
||||
string? Notes);
|
||||
|
||||
public sealed record PlayerFleetSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Role,
|
||||
string? CommanderId,
|
||||
string? FrontId,
|
||||
string? HomeSystemId,
|
||||
string? HomeStationId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string? ReinforcementPolicyId,
|
||||
IReadOnlyList<string> AssetIds,
|
||||
IReadOnlyList<string> TaskForceIds,
|
||||
IReadOnlyList<string> DirectiveIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerTaskForceSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Role,
|
||||
string? FleetId,
|
||||
string? CommanderId,
|
||||
string? FrontId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
IReadOnlyList<string> AssetIds,
|
||||
IReadOnlyList<string> DirectiveIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerStationGroupSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Role,
|
||||
string? EconomicRegionId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
IReadOnlyList<string> StationIds,
|
||||
IReadOnlyList<string> DirectiveIds,
|
||||
IReadOnlyList<string> FocusItemIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerEconomicRegionSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Role,
|
||||
string? SharedEconomicRegionId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
IReadOnlyList<string> SystemIds,
|
||||
IReadOnlyList<string> StationGroupIds,
|
||||
IReadOnlyList<string> DirectiveIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerFrontSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
float Priority,
|
||||
string Posture,
|
||||
string? SharedFrontLineId,
|
||||
string? TargetFactionId,
|
||||
IReadOnlyList<string> SystemIds,
|
||||
IReadOnlyList<string> FleetIds,
|
||||
IReadOnlyList<string> ReserveIds,
|
||||
IReadOnlyList<string> DirectiveIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerReserveGroupSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string ReserveKind,
|
||||
string? HomeSystemId,
|
||||
string? PolicyId,
|
||||
IReadOnlyList<string> AssetIds,
|
||||
IReadOnlyList<string> FrontIds,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerFactionPolicySnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
string? PolicySetId,
|
||||
bool AllowDelegatedCombat,
|
||||
bool AllowDelegatedTrade,
|
||||
float ReserveCreditsRatio,
|
||||
float ReserveMilitaryRatio,
|
||||
string TradeAccessPolicy,
|
||||
string DockingAccessPolicy,
|
||||
string ConstructionAccessPolicy,
|
||||
string OperationalRangePolicy,
|
||||
string CombatEngagementPolicy,
|
||||
bool AvoidHostileSystems,
|
||||
float FleeHullRatio,
|
||||
IReadOnlyList<string> BlacklistedSystemIds,
|
||||
string? Notes,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerAutomationPolicySnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
bool Enabled,
|
||||
string BehaviorKind,
|
||||
bool UseOrders,
|
||||
string? StagingOrderKind,
|
||||
int MaxSystemRange,
|
||||
bool KnownStationsOnly,
|
||||
float Radius,
|
||||
float WaitSeconds,
|
||||
string? PreferredItemId,
|
||||
string? Notes,
|
||||
IReadOnlyList<ShipOrderTemplateSnapshot> RepeatOrders,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerReinforcementPolicySnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
string ShipKind,
|
||||
int DesiredAssetCount,
|
||||
int MinimumReserveCount,
|
||||
bool AutoTransferReserves,
|
||||
bool AutoQueueProduction,
|
||||
string? SourceReserveId,
|
||||
string? TargetFrontId,
|
||||
string? Notes,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerProductionProgramSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Kind,
|
||||
string? TargetShipKind,
|
||||
string? TargetModuleId,
|
||||
string? TargetItemId,
|
||||
int TargetCount,
|
||||
int CurrentCount,
|
||||
string? StationGroupId,
|
||||
string? ReinforcementPolicyId,
|
||||
string? Notes,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerDirectiveSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string Status,
|
||||
string Kind,
|
||||
string ScopeKind,
|
||||
string ScopeId,
|
||||
string? TargetEntityId,
|
||||
string? TargetSystemId,
|
||||
Vector3Dto? TargetPosition,
|
||||
string? HomeSystemId,
|
||||
string? HomeStationId,
|
||||
string? SourceStationId,
|
||||
string? DestinationStationId,
|
||||
string BehaviorKind,
|
||||
bool UseOrders,
|
||||
string? StagingOrderKind,
|
||||
string? ItemId,
|
||||
string? PreferredNodeId,
|
||||
string? PreferredConstructionSiteId,
|
||||
string? PreferredModuleId,
|
||||
int Priority,
|
||||
float Radius,
|
||||
float WaitSeconds,
|
||||
int MaxSystemRange,
|
||||
bool KnownStationsOnly,
|
||||
IReadOnlyList<Vector3Dto> PatrolPoints,
|
||||
IReadOnlyList<ShipOrderTemplateSnapshot> RepeatOrders,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string? Notes,
|
||||
DateTimeOffset CreatedAtUtc,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerAssignmentSnapshot(
|
||||
string Id,
|
||||
string AssetKind,
|
||||
string AssetId,
|
||||
string? FleetId,
|
||||
string? TaskForceId,
|
||||
string? StationGroupId,
|
||||
string? EconomicRegionId,
|
||||
string? FrontId,
|
||||
string? ReserveId,
|
||||
string? DirectiveId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string Role,
|
||||
string Status,
|
||||
DateTimeOffset UpdatedAtUtc);
|
||||
|
||||
public sealed record PlayerDecisionLogEntrySnapshot(
|
||||
string Id,
|
||||
string Kind,
|
||||
string Summary,
|
||||
string? RelatedEntityKind,
|
||||
string? RelatedEntityId,
|
||||
DateTimeOffset OccurredAtUtc);
|
||||
|
||||
public sealed record PlayerAlertSnapshot(
|
||||
string Id,
|
||||
string Kind,
|
||||
string Severity,
|
||||
string Summary,
|
||||
string? AssetKind,
|
||||
string? AssetId,
|
||||
string? RelatedDirectiveId,
|
||||
string Status,
|
||||
DateTimeOffset CreatedAtUtc);
|
||||
|
||||
public sealed record PlayerFactionSnapshot(
|
||||
string Id,
|
||||
string Label,
|
||||
string SovereignFactionId,
|
||||
string Status,
|
||||
DateTimeOffset CreatedAtUtc,
|
||||
DateTimeOffset UpdatedAtUtc,
|
||||
PlayerAssetRegistrySnapshot AssetRegistry,
|
||||
PlayerStrategicIntentSnapshot StrategicIntent,
|
||||
IReadOnlyList<PlayerFleetSnapshot> Fleets,
|
||||
IReadOnlyList<PlayerTaskForceSnapshot> TaskForces,
|
||||
IReadOnlyList<PlayerStationGroupSnapshot> StationGroups,
|
||||
IReadOnlyList<PlayerEconomicRegionSnapshot> EconomicRegions,
|
||||
IReadOnlyList<PlayerFrontSnapshot> Fronts,
|
||||
IReadOnlyList<PlayerReserveGroupSnapshot> Reserves,
|
||||
IReadOnlyList<PlayerFactionPolicySnapshot> Policies,
|
||||
IReadOnlyList<PlayerAutomationPolicySnapshot> AutomationPolicies,
|
||||
IReadOnlyList<PlayerReinforcementPolicySnapshot> ReinforcementPolicies,
|
||||
IReadOnlyList<PlayerProductionProgramSnapshot> ProductionPrograms,
|
||||
IReadOnlyList<PlayerDirectiveSnapshot> Directives,
|
||||
IReadOnlyList<PlayerAssignmentSnapshot> Assignments,
|
||||
IReadOnlyList<PlayerDecisionLogEntrySnapshot> DecisionLog,
|
||||
IReadOnlyList<PlayerAlertSnapshot> Alerts);
|
||||
140
apps/backend/PlayerFaction/Contracts/PlayerFactionCommands.cs
Normal file
140
apps/backend/PlayerFaction/Contracts/PlayerFactionCommands.cs
Normal file
@@ -0,0 +1,140 @@
|
||||
namespace SpaceGame.Api.PlayerFaction.Contracts;
|
||||
|
||||
public sealed record PlayerOrganizationCommandRequest(
|
||||
string Kind,
|
||||
string Label,
|
||||
string? ParentOrganizationId,
|
||||
string? FrontId,
|
||||
string? HomeSystemId,
|
||||
string? HomeStationId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string? ReinforcementPolicyId,
|
||||
string? TargetFactionId,
|
||||
float? Priority,
|
||||
string? Role,
|
||||
string? ReserveKind,
|
||||
IReadOnlyList<string>? SystemIds,
|
||||
IReadOnlyList<string>? FocusItemIds,
|
||||
string? Notes);
|
||||
|
||||
public sealed record PlayerOrganizationMembershipCommandRequest(
|
||||
IReadOnlyList<string>? AssetIds,
|
||||
IReadOnlyList<string>? ChildOrganizationIds,
|
||||
IReadOnlyList<string>? SystemIds,
|
||||
IReadOnlyList<string>? FrontIds,
|
||||
bool Replace = false);
|
||||
|
||||
public sealed record PlayerDirectiveCommandRequest(
|
||||
string Label,
|
||||
string Kind,
|
||||
string ScopeKind,
|
||||
string ScopeId,
|
||||
string BehaviorKind,
|
||||
bool UseOrders,
|
||||
string? StagingOrderKind,
|
||||
string? TargetEntityId,
|
||||
string? TargetSystemId,
|
||||
Vector3Dto? TargetPosition,
|
||||
string? HomeSystemId,
|
||||
string? HomeStationId,
|
||||
string? SourceStationId,
|
||||
string? DestinationStationId,
|
||||
string? ItemId,
|
||||
string? PreferredNodeId,
|
||||
string? PreferredConstructionSiteId,
|
||||
string? PreferredModuleId,
|
||||
int Priority,
|
||||
float? Radius,
|
||||
float? WaitSeconds,
|
||||
int? MaxSystemRange,
|
||||
bool? KnownStationsOnly,
|
||||
IReadOnlyList<Vector3Dto>? PatrolPoints,
|
||||
IReadOnlyList<ShipOrderTemplateCommandRequest>? RepeatOrders,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string? Notes);
|
||||
|
||||
public sealed record PlayerPolicyCommandRequest(
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
string? PolicySetId,
|
||||
bool AllowDelegatedCombat,
|
||||
bool AllowDelegatedTrade,
|
||||
float ReserveCreditsRatio,
|
||||
float ReserveMilitaryRatio,
|
||||
string? Notes,
|
||||
string? TradeAccessPolicy,
|
||||
string? DockingAccessPolicy,
|
||||
string? ConstructionAccessPolicy,
|
||||
string? OperationalRangePolicy,
|
||||
string? CombatEngagementPolicy,
|
||||
bool? AvoidHostileSystems,
|
||||
float? FleeHullRatio,
|
||||
IReadOnlyList<string>? BlacklistedSystemIds);
|
||||
|
||||
public sealed record PlayerAutomationPolicyCommandRequest(
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
bool Enabled,
|
||||
string BehaviorKind,
|
||||
bool UseOrders,
|
||||
string? StagingOrderKind,
|
||||
int MaxSystemRange,
|
||||
bool KnownStationsOnly,
|
||||
float Radius,
|
||||
float WaitSeconds,
|
||||
string? PreferredItemId,
|
||||
string? Notes,
|
||||
IReadOnlyList<ShipOrderTemplateCommandRequest>? RepeatOrders);
|
||||
|
||||
public sealed record PlayerReinforcementPolicyCommandRequest(
|
||||
string Label,
|
||||
string ScopeKind,
|
||||
string? ScopeId,
|
||||
string ShipKind,
|
||||
int DesiredAssetCount,
|
||||
int MinimumReserveCount,
|
||||
bool AutoTransferReserves,
|
||||
bool AutoQueueProduction,
|
||||
string? SourceReserveId,
|
||||
string? TargetFrontId,
|
||||
string? Notes);
|
||||
|
||||
public sealed record PlayerProductionProgramCommandRequest(
|
||||
string Label,
|
||||
string Kind,
|
||||
string? TargetShipKind,
|
||||
string? TargetModuleId,
|
||||
string? TargetItemId,
|
||||
int TargetCount,
|
||||
string? StationGroupId,
|
||||
string? ReinforcementPolicyId,
|
||||
string? Notes);
|
||||
|
||||
public sealed record PlayerAssetAssignmentCommandRequest(
|
||||
string AssetKind,
|
||||
string AssetId,
|
||||
string? FleetId,
|
||||
string? TaskForceId,
|
||||
string? StationGroupId,
|
||||
string? EconomicRegionId,
|
||||
string? FrontId,
|
||||
string? ReserveId,
|
||||
string? DirectiveId,
|
||||
string? PolicyId,
|
||||
string? AutomationPolicyId,
|
||||
string Role,
|
||||
bool ClearConflicts = true);
|
||||
|
||||
public sealed record PlayerStrategicIntentCommandRequest(
|
||||
string StrategicPosture,
|
||||
string EconomicPosture,
|
||||
string MilitaryPosture,
|
||||
string LogisticsPosture,
|
||||
float DesiredReserveRatio,
|
||||
bool AllowDelegatedCombatAutomation,
|
||||
bool AllowDelegatedEconomicAutomation,
|
||||
string? Notes);
|
||||
Reference in New Issue
Block a user