feat: massive AI generation

This commit is contained in:
2026-03-21 02:21:05 -04:00
parent 3b56785f9a
commit 6ccc708ae1
80 changed files with 16929 additions and 5427 deletions

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

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