@dendotdev/grunt 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -226,7 +226,7 @@ interface RawResponse {
226
226
  * const result = await client.stats.getMatchStats('match-id');
227
227
  * if (isSuccess(result)) {
228
228
  * // TypeScript now knows result.result is non-null
229
- * console.log(result.result.matchId);
229
+ * console.log(result.result.MatchId);
230
230
  * }
231
231
  * ```
232
232
  */
@@ -711,22 +711,22 @@ declare abstract class ModuleBase {
711
711
  */
712
712
  interface BanResult {
713
713
  /** Player identifier */
714
- playerId?: string;
714
+ PlayerId?: string;
715
715
  /** Whether player is banned */
716
- isBanned?: boolean;
716
+ IsBanned?: boolean;
717
717
  /** Ban reason */
718
- reason?: string;
718
+ Reason?: string;
719
719
  /** Ban expiration (ISO 8601) */
720
- expiresAt?: string;
720
+ ExpiresAt?: string;
721
721
  /** Severity level */
722
- severity?: string;
722
+ Severity?: string;
723
723
  }
724
724
  /**
725
725
  * Container for ban query results.
726
726
  */
727
727
  interface BansSummaryQueryResult {
728
728
  /** List of ban results */
729
- results?: BanResult[];
729
+ Results?: BanResult[];
730
730
  }
731
731
 
732
732
  /**
@@ -734,75 +734,75 @@ interface BansSummaryQueryResult {
734
734
  */
735
735
  interface Server {
736
736
  /** Server region */
737
- region?: string;
737
+ Region?: string;
738
738
  /** Server address */
739
- address?: string;
739
+ Address?: string;
740
740
  /** Server port */
741
- port?: number;
741
+ Port?: number;
742
742
  /** Server name */
743
- name?: string;
743
+ Name?: string;
744
744
  /** Whether server is available */
745
- available?: boolean;
745
+ Available?: boolean;
746
746
  }
747
747
  /**
748
748
  * Lobby presence request.
749
749
  */
750
750
  interface LobbyPresenceRequest {
751
751
  /** Player identifier */
752
- playerId?: string;
752
+ PlayerId?: string;
753
753
  /** Session ID */
754
- sessionId?: string;
754
+ SessionId?: string;
755
755
  }
756
756
  /**
757
757
  * Container for lobby presence requests.
758
758
  */
759
759
  interface LobbyPresenceRequestContainer {
760
760
  /** List of presence requests */
761
- requests?: LobbyPresenceRequest[];
761
+ Requests?: LobbyPresenceRequest[];
762
762
  }
763
763
  /**
764
764
  * Lobby presence result.
765
765
  */
766
766
  interface LobbyPresenceResult {
767
767
  /** Player identifier */
768
- playerId?: string;
768
+ PlayerId?: string;
769
769
  /** Session ID */
770
- sessionId?: string;
770
+ SessionId?: string;
771
771
  /** Lobby ID */
772
- lobbyId?: string;
772
+ LobbyId?: string;
773
773
  /** Whether player is in lobby */
774
- inLobby?: boolean;
774
+ InLobby?: boolean;
775
775
  }
776
776
  /**
777
777
  * Container for lobby presence results.
778
778
  */
779
779
  interface LobbyPresenceContainer {
780
780
  /** List of presence results */
781
- results?: LobbyPresenceResult[];
781
+ Results?: LobbyPresenceResult[];
782
782
  }
783
783
  /**
784
784
  * Lobby join handle.
785
785
  */
786
786
  interface LobbyJoinHandle {
787
787
  /** Handle identifier */
788
- handleId?: string;
788
+ HandleId?: string;
789
789
  /** Lobby ID */
790
- lobbyId?: string;
790
+ LobbyId?: string;
791
791
  /** Handle value */
792
- handle?: string;
792
+ Handle?: string;
793
793
  /** Expiration time (ISO 8601) */
794
- expiresAt?: string;
794
+ ExpiresAt?: string;
795
795
  }
796
796
  /**
797
797
  * Response when joining a lobby.
798
798
  */
799
799
  interface JoinLobbyResponse {
800
800
  /** Success status */
801
- success?: boolean;
801
+ Success?: boolean;
802
802
  /** Lobby ID */
803
- lobbyId?: string;
803
+ LobbyId?: string;
804
804
  /** Session details */
805
- session?: Record<string, unknown>;
805
+ Session?: Record<string, unknown>;
806
806
  }
807
807
 
808
808
  /**
@@ -810,86 +810,86 @@ interface JoinLobbyResponse {
810
810
  */
811
811
  interface PlayerItem {
812
812
  /** Item path identifier */
813
- itemPath?: string;
813
+ ItemPath?: string;
814
814
  /** Item type */
815
- itemType?: string;
815
+ ItemType?: string;
816
816
  /** Quantity owned */
817
- amount?: number;
817
+ Amount?: number;
818
818
  /** When first acquired (ISO 8601) */
819
- firstAcquiredDate?: string;
819
+ FirstAcquiredDate?: string;
820
820
  /** Source of acquisition */
821
- source?: string;
821
+ Source?: string;
822
822
  }
823
823
  /**
824
824
  * Player inventory response.
825
825
  */
826
826
  interface PlayerInventory {
827
827
  /** List of inventory items */
828
- items?: PlayerItem[];
828
+ Items?: PlayerItem[];
829
829
  }
830
830
  /**
831
831
  * Currency balance.
832
832
  */
833
833
  interface CurrencyAmount {
834
834
  /** Currency identifier */
835
- currencyId?: string;
835
+ CurrencyId?: string;
836
836
  /** Current balance */
837
- amount?: number;
837
+ Amount?: number;
838
838
  }
839
839
  /**
840
840
  * Currency snapshot containing all balances.
841
841
  */
842
842
  interface CurrencySnapshot {
843
843
  /** List of currency balances */
844
- currencies?: CurrencyAmount[];
844
+ Currencies?: CurrencyAmount[];
845
845
  }
846
846
  /**
847
847
  * Currency definition from CMS.
848
848
  */
849
849
  interface CurrencyDefinition {
850
850
  /** Currency identifier */
851
- currencyId?: string;
851
+ CurrencyId?: string;
852
852
  /** Display title */
853
- title?: DisplayString;
853
+ Title?: DisplayString;
854
854
  /** Description */
855
- description?: DisplayString;
855
+ Description?: DisplayString;
856
856
  /** Image path */
857
- image?: string;
857
+ Image?: string;
858
858
  /** Icon type */
859
- iconType?: string;
859
+ IconType?: string;
860
860
  }
861
861
  /**
862
862
  * Localized display string.
863
863
  */
864
864
  interface DisplayString {
865
865
  /** Status of the localization */
866
- status?: string;
866
+ Status?: string;
867
867
  /** Default/fallback value */
868
- value?: string;
868
+ Value?: string;
869
869
  /** Translations by locale code */
870
- translations?: Record<string, string>;
870
+ Translations?: Record<string, string>;
871
871
  }
872
872
  /**
873
873
  * Inventory amount with details.
874
874
  */
875
875
  interface InventoryAmount {
876
876
  /** Item path */
877
- itemPath?: string;
877
+ ItemPath?: string;
878
878
  /** Quantity */
879
- amount?: number;
879
+ Amount?: number;
880
880
  /** Item type */
881
- itemType?: string;
881
+ ItemType?: string;
882
882
  }
883
883
  /**
884
884
  * Transaction result after currency operation.
885
885
  */
886
886
  interface TransactionSnapshot {
887
887
  /** Transaction identifier */
888
- transactionId?: string;
888
+ TransactionId?: string;
889
889
  /** New balance after transaction */
890
- newBalance?: CurrencyAmount[];
890
+ NewBalance?: CurrencyAmount[];
891
891
  /** Transaction timestamp (ISO 8601) */
892
- timestamp?: string;
892
+ Timestamp?: string;
893
893
  }
894
894
 
895
895
  /**
@@ -897,45 +897,45 @@ interface TransactionSnapshot {
897
897
  */
898
898
  interface Medal {
899
899
  /** Medal name identifier */
900
- nameId?: number;
900
+ NameId?: number;
901
901
  /** Display name */
902
- name?: DisplayString;
902
+ Name?: DisplayString;
903
903
  /** Description */
904
- description?: DisplayString;
904
+ Description?: DisplayString;
905
905
  /** Sprite index */
906
- spriteIndex?: number;
906
+ SpriteIndex?: number;
907
907
  /** Medal type */
908
- type?: string;
908
+ Type?: string;
909
909
  /** Difficulty level */
910
- difficulty?: string;
910
+ Difficulty?: string;
911
911
  /** Personal score awarded */
912
- personalScore?: number;
912
+ PersonalScore?: number;
913
913
  /** Sorting weight */
914
- sortingWeight?: number;
914
+ SortingWeight?: number;
915
915
  }
916
916
  /**
917
917
  * Medal metadata collection.
918
918
  */
919
919
  interface MedalMetadata {
920
920
  /** List of medals */
921
- medals?: Medal[];
921
+ Medals?: Medal[];
922
922
  /** Sprite sheet information */
923
- spriteSheet?: SpriteSheet;
923
+ SpriteSheet?: SpriteSheet;
924
924
  }
925
925
  /**
926
926
  * Sprite sheet information.
927
927
  */
928
928
  interface SpriteSheet {
929
929
  /** Path to sprite sheet image */
930
- path?: string;
930
+ Path?: string;
931
931
  /** Sprite width */
932
- spriteWidth?: number;
932
+ SpriteWidth?: number;
933
933
  /** Sprite height */
934
- spriteHeight?: number;
934
+ SpriteHeight?: number;
935
935
  /** Number of columns */
936
- columns?: number;
936
+ Columns?: number;
937
937
  /** Number of rows */
938
- rows?: number;
938
+ Rows?: number;
939
939
  }
940
940
 
941
941
  /**
@@ -943,116 +943,116 @@ interface SpriteSheet {
943
943
  */
944
944
  interface AcademyClientManifest {
945
945
  /** List of categories */
946
- categories?: AcademyCategory[];
946
+ Categories?: AcademyCategory[];
947
947
  /** Version */
948
- version?: string;
948
+ Version?: string;
949
949
  }
950
950
  /**
951
951
  * Academy category.
952
952
  */
953
953
  interface AcademyCategory {
954
954
  /** Category identifier */
955
- id?: string;
955
+ Id?: string;
956
956
  /** Category title */
957
- title?: DisplayString;
957
+ Title?: DisplayString;
958
958
  /** Category description */
959
- description?: DisplayString;
959
+ Description?: DisplayString;
960
960
  /** Image path */
961
- imagePath?: string;
961
+ ImagePath?: string;
962
962
  /** Series in this category */
963
- series?: AcademySeries[];
963
+ Series?: AcademySeries[];
964
964
  }
965
965
  /**
966
966
  * Academy series (collection of drills).
967
967
  */
968
968
  interface AcademySeries {
969
969
  /** Series identifier */
970
- id?: string;
970
+ Id?: string;
971
971
  /** Series title */
972
- title?: DisplayString;
972
+ Title?: DisplayString;
973
973
  /** Description */
974
- description?: DisplayString;
974
+ Description?: DisplayString;
975
975
  /** Image path */
976
- imagePath?: string;
976
+ ImagePath?: string;
977
977
  /** Drills in this series */
978
- drills?: AcademyDrill[];
978
+ Drills?: AcademyDrill[];
979
979
  }
980
980
  /**
981
981
  * Academy drill.
982
982
  */
983
983
  interface AcademyDrill {
984
984
  /** Drill identifier */
985
- id?: string;
985
+ Id?: string;
986
986
  /** Drill title */
987
- title?: DisplayString;
987
+ Title?: DisplayString;
988
988
  /** Description */
989
- description?: DisplayString;
989
+ Description?: DisplayString;
990
990
  /** Image path */
991
- imagePath?: string;
991
+ ImagePath?: string;
992
992
  /** Difficulty level */
993
- difficulty?: string;
993
+ Difficulty?: string;
994
994
  /** Weapon path */
995
- weaponPath?: string;
995
+ WeaponPath?: string;
996
996
  /** Map asset ID */
997
- mapAssetId?: string;
997
+ MapAssetId?: string;
998
998
  /** Game variant asset ID */
999
- gameVariantAssetId?: string;
999
+ GameVariantAssetId?: string;
1000
1000
  }
1001
1001
  /**
1002
1002
  * Academy star definitions.
1003
1003
  */
1004
1004
  interface AcademyStarDefinitions {
1005
1005
  /** Star definitions by drill */
1006
- definitions?: Record<string, AcademyStarDefinition>;
1006
+ Definitions?: Record<string, AcademyStarDefinition>;
1007
1007
  }
1008
1008
  /**
1009
1009
  * Star thresholds for a drill.
1010
1010
  */
1011
1011
  interface AcademyStarDefinition {
1012
1012
  /** One star threshold */
1013
- oneStar?: number;
1013
+ OneStar?: number;
1014
1014
  /** Two stars threshold */
1015
- twoStars?: number;
1015
+ TwoStars?: number;
1016
1016
  /** Three stars threshold */
1017
- threeStars?: number;
1017
+ ThreeStars?: number;
1018
1018
  }
1019
1019
  /**
1020
1020
  * Bot customization data.
1021
1021
  */
1022
1022
  interface BotCustomizationData {
1023
1023
  /** Available bot difficulty levels */
1024
- difficulties?: BotDifficulty[];
1024
+ Difficulties?: BotDifficulty[];
1025
1025
  /** Bot appearance options */
1026
- appearances?: BotAppearance[];
1026
+ Appearances?: BotAppearance[];
1027
1027
  }
1028
1028
  /**
1029
1029
  * Bot difficulty level.
1030
1030
  */
1031
1031
  interface BotDifficulty {
1032
1032
  /** Difficulty identifier */
1033
- id?: string;
1033
+ Id?: string;
1034
1034
  /** Display name */
1035
- name?: DisplayString;
1035
+ Name?: DisplayString;
1036
1036
  /** Description */
1037
- description?: DisplayString;
1037
+ Description?: DisplayString;
1038
1038
  }
1039
1039
  /**
1040
1040
  * Bot appearance option.
1041
1041
  */
1042
1042
  interface BotAppearance {
1043
1043
  /** Appearance identifier */
1044
- id?: string;
1044
+ Id?: string;
1045
1045
  /** Display name */
1046
- name?: DisplayString;
1046
+ Name?: DisplayString;
1047
1047
  /** Appearance path */
1048
- path?: string;
1048
+ Path?: string;
1049
1049
  }
1050
1050
  /**
1051
1051
  * Test academy client manifest (for flighted content).
1052
1052
  */
1053
1053
  interface TestAcademyClientManifest extends AcademyClientManifest {
1054
1054
  /** Flight identifier */
1055
- flightId?: string;
1055
+ FlightId?: string;
1056
1056
  }
1057
1057
 
1058
1058
  /**
@@ -1060,114 +1060,114 @@ interface TestAcademyClientManifest extends AcademyClientManifest {
1060
1060
  */
1061
1061
  interface Configuration {
1062
1062
  /** Authority definitions */
1063
- authorities?: Record<string, Authority>;
1063
+ Authorities?: Record<string, Authority>;
1064
1064
  /** Retry policy definitions */
1065
- retryPolicies?: Record<string, RetryPolicyConfig>;
1065
+ RetryPolicies?: Record<string, RetryPolicyConfig>;
1066
1066
  /** Settings values */
1067
- settings?: SettingsConfig;
1067
+ Settings?: SettingsConfig;
1068
1068
  /** Endpoint definitions */
1069
- endpoints?: Record<string, OnlineUriReference>;
1069
+ Endpoints?: Record<string, OnlineUriReference>;
1070
1070
  }
1071
1071
  /**
1072
1072
  * Authority (API service) definition.
1073
1073
  */
1074
1074
  interface Authority {
1075
1075
  /** Authority identifier */
1076
- authorityId?: string;
1076
+ AuthorityId?: string;
1077
1077
  /** URL scheme (1 = http, 2 = https) */
1078
- scheme?: number;
1078
+ Scheme?: number;
1079
1079
  /** Hostname */
1080
- hostname?: string;
1080
+ Hostname?: string;
1081
1081
  /** Port number */
1082
- port?: number;
1082
+ Port?: number;
1083
1083
  /** Authentication methods */
1084
- authenticationMethods?: number[];
1084
+ AuthenticationMethods?: number[];
1085
1085
  }
1086
1086
  /**
1087
1087
  * Retry policy configuration.
1088
1088
  */
1089
1089
  interface RetryPolicyConfig {
1090
1090
  /** Policy identifier */
1091
- retryPolicyId?: string;
1091
+ RetryPolicyId?: string;
1092
1092
  /** Timeout in milliseconds */
1093
- timeoutMs?: number;
1093
+ TimeoutMs?: number;
1094
1094
  /** Retry options */
1095
- retryOptions?: RetryOptionsConfig;
1095
+ RetryOptions?: RetryOptionsConfig;
1096
1096
  }
1097
1097
  /**
1098
1098
  * Retry options.
1099
1099
  */
1100
1100
  interface RetryOptionsConfig {
1101
1101
  /** Maximum retry count */
1102
- maxRetryCount?: number;
1102
+ MaxRetryCount?: number;
1103
1103
  /** Initial retry delay in milliseconds */
1104
- retryDelayMs?: number;
1104
+ RetryDelayMs?: number;
1105
1105
  /** Retry delay growth factor */
1106
- retryGrowth?: number;
1106
+ RetryGrowth?: number;
1107
1107
  /** Random jitter to add in milliseconds */
1108
- retryJitterMs?: number;
1108
+ RetryJitterMs?: number;
1109
1109
  /** Whether to retry on 404 */
1110
- retryIfNotFound?: boolean;
1110
+ RetryIfNotFound?: boolean;
1111
1111
  }
1112
1112
  /**
1113
1113
  * Online URI reference (endpoint definition).
1114
1114
  */
1115
1115
  interface OnlineUriReference {
1116
1116
  /** Endpoint identifier */
1117
- endpointId?: string;
1117
+ EndpointId?: string;
1118
1118
  /** Authority identifier */
1119
- authorityId?: string;
1119
+ AuthorityId?: string;
1120
1120
  /** Path template */
1121
- path?: string;
1121
+ Path?: string;
1122
1122
  /** Query string template */
1123
- queryString?: string;
1123
+ QueryString?: string;
1124
1124
  /** Retry policy identifier */
1125
- retryPolicyId?: string;
1125
+ RetryPolicyId?: string;
1126
1126
  /** Topic name */
1127
- topicName?: string;
1127
+ TopicName?: string;
1128
1128
  /** Acknowledgement type */
1129
- acknowledgementTypeId?: number;
1129
+ AcknowledgementTypeId?: number;
1130
1130
  /** Whether auth lifetime extension is supported */
1131
- authenticationLifetimeExtensionSupported?: boolean;
1131
+ AuthenticationLifetimeExtensionSupported?: boolean;
1132
1132
  /** Whether endpoint is clearance-aware */
1133
- clearanceAware?: boolean;
1133
+ ClearanceAware?: boolean;
1134
1134
  }
1135
1135
  /**
1136
1136
  * Settings configuration.
1137
1137
  */
1138
1138
  interface SettingsConfig {
1139
1139
  /** CELL config */
1140
- cellConfig?: string;
1140
+ CellConfig?: string;
1141
1141
  /** Client QoS timeout */
1142
- clientQoSTimeoutMs?: string;
1142
+ ClientQoSTimeoutMs?: string;
1143
1143
  /** Clearance audience */
1144
- clearanceAudience?: string;
1144
+ ClearanceAudience?: string;
1145
1145
  /** Playfab title ID */
1146
- playfabTitleId?: string;
1146
+ PlayfabTitleId?: string;
1147
1147
  /** Title ID list */
1148
- titleIdList?: string;
1148
+ TitleIdList?: string;
1149
1149
  /** XSTS audience URI */
1150
- haloXSTSAudienceUri?: string;
1150
+ HaloXSTSAudienceUri?: string;
1151
1151
  /** Product access list */
1152
- productAccessList?: string;
1152
+ ProductAccessList?: string;
1153
1153
  }
1154
1154
  /**
1155
1155
  * Flight feature flags.
1156
1156
  */
1157
1157
  interface FlightedFeatureFlags {
1158
1158
  /** Flight identifier */
1159
- flightId?: string;
1159
+ FlightId?: string;
1160
1160
  /** Clearance identifier */
1161
- clearanceId?: string;
1161
+ ClearanceId?: string;
1162
1162
  /** Feature flags */
1163
- flags?: Record<string, boolean>;
1163
+ Flags?: Record<string, boolean>;
1164
1164
  }
1165
1165
  /**
1166
1166
  * Player clearance/flight configuration ID.
1167
1167
  */
1168
1168
  interface PlayerClearance {
1169
1169
  /** Flight configuration identifier */
1170
- flightConfigurationId?: string;
1170
+ FlightConfigurationId?: string;
1171
1171
  }
1172
1172
 
1173
1173
  /**
@@ -1175,118 +1175,118 @@ interface PlayerClearance {
1175
1175
  */
1176
1176
  interface NewsArticle {
1177
1177
  /** Article identifier */
1178
- id?: number;
1178
+ Id?: number;
1179
1179
  /** Featured image URL */
1180
- featuredImageUri?: string;
1180
+ FeaturedImageUri?: string;
1181
1181
  /** Featured image alt text */
1182
- featuredImageAlt?: string;
1182
+ FeaturedImageAlt?: string;
1183
1183
  /** Article title */
1184
- title?: string;
1184
+ Title?: string;
1185
1185
  /** Article subtitle */
1186
- subtitle?: string;
1186
+ Subtitle?: string;
1187
1187
  /** Article content (HTML) */
1188
- content?: string;
1188
+ Content?: string;
1189
1189
  /** Short excerpt */
1190
- excerpt?: string;
1190
+ Excerpt?: string;
1191
1191
  /** URL slug */
1192
- slug?: string;
1192
+ Slug?: string;
1193
1193
  /** Creator slug */
1194
- creatorSlug?: string;
1194
+ CreatorSlug?: string;
1195
1195
  /** Creator title */
1196
- creatorTitle?: string;
1196
+ CreatorTitle?: string;
1197
1197
  /** Category IDs */
1198
- categories?: number[];
1198
+ Categories?: number[];
1199
1199
  /** Tags */
1200
- tags?: string[];
1200
+ Tags?: string[];
1201
1201
  /** Publish date (ISO 8601) */
1202
- publishDate?: string;
1202
+ PublishDate?: string;
1203
1203
  /** Medium image URL */
1204
- featuredImageUriMedium?: string;
1204
+ FeaturedImageUriMedium?: string;
1205
1205
  /** Medium image alt */
1206
- featuredImageAltMedium?: string;
1206
+ FeaturedImageAltMedium?: string;
1207
1207
  /** Small image URL */
1208
- featuredImageUriSmall?: string;
1208
+ FeaturedImageUriSmall?: string;
1209
1209
  /** Small image alt */
1210
- featuredImageAltSmall?: string;
1210
+ FeaturedImageAltSmall?: string;
1211
1211
  }
1212
1212
  /**
1213
1213
  * News collection.
1214
1214
  */
1215
1215
  interface News {
1216
1216
  /** List of articles */
1217
- articles?: NewsArticle[];
1217
+ Articles?: NewsArticle[];
1218
1218
  /** Total count */
1219
- total?: number;
1219
+ Total?: number;
1220
1220
  }
1221
1221
  /**
1222
1222
  * Season calendar entry.
1223
1223
  */
1224
1224
  interface SeasonCalendarEntry {
1225
1225
  /** Season identifier */
1226
- seasonId?: string;
1226
+ SeasonId?: string;
1227
1227
  /** Season name */
1228
- name?: DisplayString;
1228
+ Name?: DisplayString;
1229
1229
  /** Start date (ISO 8601) */
1230
- startDate?: string;
1230
+ StartDate?: string;
1231
1231
  /** End date (ISO 8601) */
1232
- endDate?: string;
1232
+ EndDate?: string;
1233
1233
  /** CSR season identifier */
1234
- csrSeasonId?: string;
1234
+ CsrSeasonId?: string;
1235
1235
  }
1236
1236
  /**
1237
1237
  * Season calendar.
1238
1238
  */
1239
1239
  interface SeasonCalendar {
1240
1240
  /** List of seasons */
1241
- seasons?: SeasonCalendarEntry[];
1241
+ Seasons?: SeasonCalendarEntry[];
1242
1242
  /** Current season */
1243
- currentSeason?: string;
1243
+ CurrentSeason?: string;
1244
1244
  }
1245
1245
  /**
1246
1246
  * Matches privacy settings.
1247
1247
  */
1248
1248
  interface MatchesPrivacy {
1249
1249
  /** Player identifier */
1250
- playerId?: string;
1250
+ PlayerId?: string;
1251
1251
  /** Privacy setting */
1252
- privacySetting?: string;
1252
+ PrivacySetting?: string;
1253
1253
  /** Whether matches are public */
1254
- matchesPublic?: boolean;
1254
+ MatchesPublic?: boolean;
1255
1255
  }
1256
1256
  /**
1257
1257
  * Player daily custom experience.
1258
1258
  */
1259
1259
  interface PlayerDailyCustomExperience {
1260
1260
  /** Player identifier */
1261
- playerId?: string;
1261
+ PlayerId?: string;
1262
1262
  /** Custom XP remaining */
1263
- remainingXp?: number;
1263
+ RemainingXp?: number;
1264
1264
  /** Custom XP earned today */
1265
- earnedToday?: number;
1265
+ EarnedToday?: number;
1266
1266
  /** Daily limit */
1267
- dailyLimit?: number;
1267
+ DailyLimit?: number;
1268
1268
  /** Reset time (ISO 8601) */
1269
- resetTime?: string;
1269
+ ResetTime?: string;
1270
1270
  }
1271
1271
  /**
1272
1272
  * Giveaway rewards.
1273
1273
  */
1274
1274
  interface PlayerGiveaways {
1275
1275
  /** List of pending giveaways */
1276
- giveaways?: GiveawayReward[];
1276
+ Giveaways?: GiveawayReward[];
1277
1277
  }
1278
1278
  /**
1279
1279
  * Individual giveaway reward.
1280
1280
  */
1281
1281
  interface GiveawayReward {
1282
1282
  /** Giveaway identifier */
1283
- id?: string;
1283
+ Id?: string;
1284
1284
  /** Title */
1285
- title?: DisplayString;
1285
+ Title?: DisplayString;
1286
1286
  /** Items included */
1287
- items?: InventoryAmount[];
1287
+ Items?: InventoryAmount[];
1288
1288
  /** Claim deadline (ISO 8601) */
1289
- claimDeadline?: string;
1289
+ ClaimDeadline?: string;
1290
1290
  }
1291
1291
 
1292
1292
  /**
@@ -1383,94 +1383,94 @@ declare class ConfigurationModule extends ModuleBase {
1383
1383
  */
1384
1384
  interface StoreOffering {
1385
1385
  /** Offering identifier */
1386
- offeringId?: string;
1386
+ OfferingId?: string;
1387
1387
  /** Display title */
1388
- title?: DisplayString;
1388
+ Title?: DisplayString;
1389
1389
  /** Description */
1390
- description?: DisplayString;
1390
+ Description?: DisplayString;
1391
1391
  /** Image path */
1392
- imagePath?: string;
1392
+ ImagePath?: string;
1393
1393
  /** Price in each currency */
1394
- prices?: StorePrice[];
1394
+ Prices?: StorePrice[];
1395
1395
  /** Items included */
1396
- includedItems?: InventoryAmount[];
1396
+ IncludedItems?: InventoryAmount[];
1397
1397
  /** Offering type */
1398
- offeringType?: string;
1398
+ OfferingType?: string;
1399
1399
  /** Start time (ISO 8601) */
1400
- startDate?: string;
1400
+ StartDate?: string;
1401
1401
  /** End time (ISO 8601) */
1402
- endDate?: string;
1402
+ EndDate?: string;
1403
1403
  /** Whether this is a bundle */
1404
- isBundle?: boolean;
1404
+ IsBundle?: boolean;
1405
1405
  /** Whether player owns this */
1406
- isOwned?: boolean;
1406
+ IsOwned?: boolean;
1407
1407
  /** Quality tier */
1408
- quality?: string;
1408
+ Quality?: string;
1409
1409
  }
1410
1410
  /**
1411
1411
  * Price in a specific currency.
1412
1412
  */
1413
1413
  interface StorePrice {
1414
1414
  /** Currency identifier */
1415
- currencyId?: string;
1415
+ CurrencyId?: string;
1416
1416
  /** Cost amount */
1417
- cost?: number;
1417
+ Cost?: number;
1418
1418
  /** Original cost (before discount) */
1419
- originalCost?: number;
1419
+ OriginalCost?: number;
1420
1420
  /** Discount percentage */
1421
- discountPercent?: number;
1421
+ DiscountPercent?: number;
1422
1422
  }
1423
1423
  /**
1424
1424
  * Store item container (multiple offerings).
1425
1425
  */
1426
1426
  interface StoreItem {
1427
1427
  /** Store identifier */
1428
- storeId?: string;
1428
+ StoreId?: string;
1429
1429
  /** Display name */
1430
- storeName?: string;
1430
+ StoreName?: string;
1431
1431
  /** List of offerings */
1432
- offerings?: StoreOffering[];
1432
+ Offerings?: StoreOffering[];
1433
1433
  /** Store refresh time (ISO 8601) */
1434
- refreshTime?: string;
1434
+ RefreshTime?: string;
1435
1435
  /** Store expiration time (ISO 8601) */
1436
- expirationTime?: string;
1436
+ ExpirationTime?: string;
1437
1437
  }
1438
1438
  /**
1439
1439
  * Active boost information.
1440
1440
  */
1441
1441
  interface ActiveBoost {
1442
1442
  /** Boost identifier */
1443
- boostId?: string;
1443
+ BoostId?: string;
1444
1444
  /** Boost type */
1445
- boostType?: string;
1445
+ BoostType?: string;
1446
1446
  /** Multiplier value */
1447
- multiplier?: number;
1447
+ Multiplier?: number;
1448
1448
  /** Remaining uses */
1449
- remainingUses?: number;
1449
+ RemainingUses?: number;
1450
1450
  /** Expiration time (ISO 8601) */
1451
- expirationTime?: string;
1451
+ ExpirationTime?: string;
1452
1452
  }
1453
1453
  /**
1454
1454
  * Container for active boosts.
1455
1455
  */
1456
1456
  interface ActiveBoostsContainer {
1457
1457
  /** List of active boosts */
1458
- boosts?: ActiveBoost[];
1458
+ Boosts?: ActiveBoost[];
1459
1459
  }
1460
1460
  /**
1461
1461
  * Reward snapshot.
1462
1462
  */
1463
1463
  interface RewardSnapshot {
1464
1464
  /** Reward identifier */
1465
- rewardId?: string;
1465
+ RewardId?: string;
1466
1466
  /** Items awarded */
1467
- items?: InventoryAmount[];
1467
+ Items?: InventoryAmount[];
1468
1468
  /** Currency awarded */
1469
- currencies?: CurrencyAmount[];
1469
+ Currencies?: CurrencyAmount[];
1470
1470
  /** XP awarded */
1471
- xpAwarded?: number;
1471
+ XpAwarded?: number;
1472
1472
  /** Claimed status */
1473
- claimed?: boolean;
1473
+ Claimed?: boolean;
1474
1474
  }
1475
1475
 
1476
1476
  /**
@@ -1478,150 +1478,150 @@ interface RewardSnapshot {
1478
1478
  */
1479
1479
  interface CoreBase {
1480
1480
  /** Path to the core definition */
1481
- corePath?: string;
1481
+ CorePath?: string;
1482
1482
  /** Whether this core is currently equipped */
1483
- isEquipped?: boolean;
1483
+ IsEquipped?: boolean;
1484
1484
  /** Unique core identifier */
1485
- coreId?: string;
1485
+ CoreId?: string;
1486
1486
  /** Type of core */
1487
- coreType?: string;
1487
+ CoreType?: string;
1488
1488
  /** When the core was first acquired (ISO 8601) */
1489
- firstAcquiredDate?: string;
1489
+ FirstAcquiredDate?: string;
1490
1490
  }
1491
1491
  /**
1492
1492
  * Base properties shared by all themes.
1493
1493
  */
1494
1494
  interface ThemeBase {
1495
1495
  /** When first modified (ISO 8601) */
1496
- firstModifiedDateUtc?: string;
1496
+ FirstModifiedDateUtc?: string;
1497
1497
  /** When last modified (ISO 8601) */
1498
- lastModifiedDateUtc?: string;
1498
+ LastModifiedDateUtc?: string;
1499
1499
  /** Whether this theme is currently equipped */
1500
- isEquipped?: boolean;
1500
+ IsEquipped?: boolean;
1501
1501
  /** Whether this is the default theme */
1502
- isDefault?: boolean;
1502
+ IsDefault?: boolean;
1503
1503
  /** Path to the theme definition */
1504
- themePath?: string;
1504
+ ThemePath?: string;
1505
1505
  }
1506
1506
  /**
1507
1507
  * Armor core with themes.
1508
1508
  */
1509
1509
  interface ArmorCore extends CoreBase {
1510
1510
  /** Available themes for this core */
1511
- themes?: ArmorCoreTheme[];
1511
+ Themes?: ArmorCoreTheme[];
1512
1512
  }
1513
1513
  /**
1514
1514
  * Armor core theme configuration.
1515
1515
  */
1516
1516
  interface ArmorCoreTheme extends ThemeBase {
1517
1517
  /** Helmet item path */
1518
- helmetPath?: string;
1518
+ HelmetPath?: string;
1519
1519
  /** Visor item path */
1520
- visorPath?: string;
1520
+ VisorPath?: string;
1521
1521
  /** Coating item path */
1522
- coatingPath?: string;
1522
+ CoatingPath?: string;
1523
1523
  /** Left shoulder pad path */
1524
- leftShoulderPadPath?: string;
1524
+ LeftShoulderPadPath?: string;
1525
1525
  /** Right shoulder pad path */
1526
- rightShoulderPadPath?: string;
1526
+ RightShoulderPadPath?: string;
1527
1527
  /** Gloves path */
1528
- glovesPath?: string;
1528
+ GlovesPath?: string;
1529
1529
  /** Chest attachment path */
1530
- chestAttachmentPath?: string;
1530
+ ChestAttachmentPath?: string;
1531
1531
  /** Knee pads path */
1532
- kneePadsPath?: string;
1532
+ KneePadsPath?: string;
1533
1533
  /** Wrist attachment path */
1534
- wristAttachmentPath?: string;
1534
+ WristAttachmentPath?: string;
1535
1535
  /** Hip attachment path */
1536
- hipAttachmentPath?: string;
1536
+ HipAttachmentPath?: string;
1537
1537
  /** Armor effect path */
1538
- armorEffectPath?: string;
1538
+ ArmorEffectPath?: string;
1539
1539
  /** Mythic effect path */
1540
- mythicEffectPath?: string;
1540
+ MythicEffectPath?: string;
1541
1541
  }
1542
1542
  /**
1543
1543
  * Weapon core with themes.
1544
1544
  */
1545
1545
  interface WeaponCore extends CoreBase {
1546
1546
  /** Available themes for this core */
1547
- themes?: WeaponCoreTheme[];
1547
+ Themes?: WeaponCoreTheme[];
1548
1548
  }
1549
1549
  /**
1550
1550
  * Weapon core theme configuration.
1551
1551
  */
1552
1552
  interface WeaponCoreTheme extends ThemeBase {
1553
1553
  /** Coating item path */
1554
- coatingPath?: string;
1554
+ CoatingPath?: string;
1555
1555
  /** Charm item path */
1556
- charmPath?: string;
1556
+ CharmPath?: string;
1557
1557
  /** Death FX path */
1558
- deathFxPath?: string;
1558
+ DeathFxPath?: string;
1559
1559
  /** Emblem path */
1560
- emblemPath?: string;
1560
+ EmblemPath?: string;
1561
1561
  }
1562
1562
  /**
1563
1563
  * Vehicle core with themes.
1564
1564
  */
1565
1565
  interface VehicleCore extends CoreBase {
1566
1566
  /** Available themes for this core */
1567
- themes?: VehicleCoreTheme[];
1567
+ Themes?: VehicleCoreTheme[];
1568
1568
  }
1569
1569
  /**
1570
1570
  * Vehicle core theme configuration.
1571
1571
  */
1572
1572
  interface VehicleCoreTheme extends ThemeBase {
1573
1573
  /** Coating item path */
1574
- coatingPath?: string;
1574
+ CoatingPath?: string;
1575
1575
  /** Emblem path */
1576
- emblemPath?: string;
1576
+ EmblemPath?: string;
1577
1577
  /** Vehicle effect path */
1578
- vehicleEffectPath?: string;
1578
+ VehicleEffectPath?: string;
1579
1579
  }
1580
1580
  /**
1581
1581
  * AI core with themes.
1582
1582
  */
1583
1583
  interface AiCore extends CoreBase {
1584
1584
  /** Available themes for this core */
1585
- themes?: AiCoreTheme[];
1585
+ Themes?: AiCoreTheme[];
1586
1586
  }
1587
1587
  /**
1588
1588
  * AI core theme configuration.
1589
1589
  */
1590
1590
  interface AiCoreTheme extends ThemeBase {
1591
1591
  /** AI model path */
1592
- modelPath?: string;
1592
+ ModelPath?: string;
1593
1593
  /** Color primary path */
1594
- colorPrimaryPath?: string;
1594
+ ColorPrimaryPath?: string;
1595
1595
  /** Color secondary path */
1596
- colorSecondaryPath?: string;
1596
+ ColorSecondaryPath?: string;
1597
1597
  }
1598
1598
  /**
1599
1599
  * Collection of armor cores.
1600
1600
  */
1601
1601
  interface ArmorCoreCollection {
1602
1602
  /** List of armor cores */
1603
- armorCores?: ArmorCore[];
1603
+ ArmorCores?: ArmorCore[];
1604
1604
  }
1605
1605
  /**
1606
1606
  * Collection of weapon cores.
1607
1607
  */
1608
1608
  interface WeaponCoreCollection {
1609
1609
  /** List of weapon cores */
1610
- weaponCores?: WeaponCore[];
1610
+ WeaponCores?: WeaponCore[];
1611
1611
  }
1612
1612
  /**
1613
1613
  * Collection of vehicle cores.
1614
1614
  */
1615
1615
  interface VehicleCoreCollection {
1616
1616
  /** List of vehicle cores */
1617
- vehicleCores?: VehicleCore[];
1617
+ VehicleCores?: VehicleCore[];
1618
1618
  }
1619
1619
  /**
1620
1620
  * Collection of AI cores.
1621
1621
  */
1622
1622
  interface AiCoreContainer {
1623
1623
  /** List of AI cores */
1624
- aiCores?: AiCore[];
1624
+ AiCores?: AiCore[];
1625
1625
  }
1626
1626
 
1627
1627
  /**
@@ -1629,77 +1629,77 @@ interface AiCoreContainer {
1629
1629
  */
1630
1630
  interface SpartanBody {
1631
1631
  /** When last modified (ISO 8601) */
1632
- lastModifiedDateUtc?: string;
1632
+ LastModifiedDateUtc?: string;
1633
1633
  /** Left arm prosthetic path */
1634
- leftArm?: string;
1634
+ LeftArm?: string;
1635
1635
  /** Right arm prosthetic path */
1636
- rightArm?: string;
1636
+ RightArm?: string;
1637
1637
  /** Left leg prosthetic path */
1638
- leftLeg?: string;
1638
+ LeftLeg?: string;
1639
1639
  /** Right leg prosthetic path */
1640
- rightLeg?: string;
1640
+ RightLeg?: string;
1641
1641
  /** Body type identifier */
1642
- bodyType?: string;
1642
+ BodyType?: string;
1643
1643
  /** Voice number */
1644
- voice?: number;
1644
+ Voice?: number;
1645
1645
  /** Voice path */
1646
- voicePath?: string;
1646
+ VoicePath?: string;
1647
1647
  }
1648
1648
  /**
1649
1649
  * Player appearance configuration.
1650
1650
  */
1651
1651
  interface Appearance {
1652
1652
  /** When last modified (ISO 8601) */
1653
- lastModifiedDateUtc?: string;
1653
+ LastModifiedDateUtc?: string;
1654
1654
  /** Service tag (4 characters) */
1655
- serviceTag?: string;
1655
+ ServiceTag?: string;
1656
1656
  /** Intro gesture path */
1657
- introGesturePath?: string;
1657
+ IntroGesturePath?: string;
1658
1658
  /** Outro gesture path */
1659
- outroGesturePath?: string;
1659
+ OutroGesturePath?: string;
1660
1660
  /** Stance path */
1661
- stancePath?: string;
1661
+ StancePath?: string;
1662
1662
  /** Emblem configuration */
1663
- emblem?: EmblemConfiguration;
1663
+ Emblem?: EmblemConfiguration;
1664
1664
  /** Backdrop path */
1665
- backdropPath?: string;
1665
+ BackdropPath?: string;
1666
1666
  /** Action pose path */
1667
- actionPosePath?: string;
1667
+ ActionPosePath?: string;
1668
1668
  }
1669
1669
  /**
1670
1670
  * Emblem configuration.
1671
1671
  */
1672
1672
  interface EmblemConfiguration {
1673
1673
  /** Emblem path */
1674
- emblemPath?: string;
1674
+ EmblemPath?: string;
1675
1675
  /** Emblem configuration ID */
1676
- configurationId?: number;
1676
+ ConfigurationId?: number;
1677
1677
  }
1678
1678
  /**
1679
1679
  * Complete player customization data.
1680
1680
  */
1681
1681
  interface CustomizationData {
1682
1682
  /** Spartan body configuration */
1683
- spartanBody?: SpartanBody;
1683
+ SpartanBody?: SpartanBody;
1684
1684
  /** Appearance settings */
1685
- appearance?: Appearance;
1685
+ Appearance?: Appearance;
1686
1686
  /** Armor cores */
1687
- armorCores?: ArmorCoreCollection;
1687
+ ArmorCores?: ArmorCoreCollection;
1688
1688
  /** Weapon cores */
1689
- weaponCores?: WeaponCoreCollection;
1689
+ WeaponCores?: WeaponCoreCollection;
1690
1690
  /** Vehicle cores */
1691
- vehicleCores?: VehicleCoreCollection;
1691
+ VehicleCores?: VehicleCoreCollection;
1692
1692
  /** AI cores */
1693
- aiCores?: AiCoreContainer;
1693
+ AiCores?: AiCoreContainer;
1694
1694
  }
1695
1695
  /**
1696
1696
  * Appearance customization container.
1697
1697
  */
1698
1698
  interface AppearanceCustomization {
1699
1699
  /** Service tag */
1700
- serviceTag?: string;
1700
+ ServiceTag?: string;
1701
1701
  /** Appearance configuration */
1702
- appearance?: Appearance;
1702
+ Appearance?: Appearance;
1703
1703
  }
1704
1704
 
1705
1705
  /**
@@ -1707,95 +1707,95 @@ interface AppearanceCustomization {
1707
1707
  */
1708
1708
  interface Reward {
1709
1709
  /** Event XP awarded */
1710
- eventXp?: number;
1710
+ EventXp?: number;
1711
1711
  /** Operation XP awarded */
1712
- operationXp?: number;
1712
+ OperationXp?: number;
1713
1713
  /** Operation experience */
1714
- operationExperience?: number;
1714
+ OperationExperience?: number;
1715
1715
  /** Soft experience (Spartan Points) */
1716
- softExperience?: number;
1716
+ SoftExperience?: number;
1717
1717
  /** Inventory items rewarded */
1718
- inventoryRewards?: InventoryAmount[];
1718
+ InventoryRewards?: InventoryAmount[];
1719
1719
  /** Inventory items */
1720
- inventoryItems?: unknown[];
1720
+ InventoryItems?: unknown[];
1721
1721
  /** Tracking identifier */
1722
- trackingId?: string;
1722
+ TrackingId?: string;
1723
1723
  /** Currencies awarded */
1724
- currencies?: unknown[];
1724
+ Currencies?: unknown[];
1725
1725
  /** Reward track progression */
1726
- rewardTrackProgression?: RewardTrack[];
1726
+ RewardTrackProgression?: RewardTrack[];
1727
1727
  }
1728
1728
  /**
1729
1729
  * Challenge definition.
1730
1730
  */
1731
1731
  interface Challenge {
1732
1732
  /** Challenge description */
1733
- description?: DisplayString;
1733
+ Description?: DisplayString;
1734
1734
  /** Difficulty level */
1735
- difficulty?: string;
1735
+ Difficulty?: string;
1736
1736
  /** Challenge category */
1737
- category?: string;
1737
+ Category?: string;
1738
1738
  /** Primary reward */
1739
- reward?: Reward;
1739
+ Reward?: Reward;
1740
1740
  /** Secondary reward */
1741
- secondaryReward?: Reward;
1741
+ SecondaryReward?: Reward;
1742
1742
  /** Threshold for success */
1743
- thresholdForSuccess?: number;
1743
+ ThresholdForSuccess?: number;
1744
1744
  /** Challenge title */
1745
- title?: DisplayString;
1745
+ Title?: DisplayString;
1746
1746
  /** Type icon path */
1747
- typeIconPath?: string;
1747
+ TypeIconPath?: string;
1748
1748
  /** Whether this is a user event challenge */
1749
- isUserEvent?: boolean;
1749
+ IsUserEvent?: boolean;
1750
1750
  /** Challenge path */
1751
- path?: string;
1751
+ Path?: string;
1752
1752
  /** Current progress */
1753
- progress?: number;
1753
+ Progress?: number;
1754
1754
  /** Challenge identifier */
1755
- id?: string;
1755
+ Id?: string;
1756
1756
  /** Whether the challenge can be rerolled */
1757
- canReroll?: boolean;
1757
+ CanReroll?: boolean;
1758
1758
  }
1759
1759
  /**
1760
1760
  * Challenge deck (collection of challenges).
1761
1761
  */
1762
1762
  interface ChallengeDeck {
1763
1763
  /** Deck identifier */
1764
- id?: string;
1764
+ Id?: string;
1765
1765
  /** Path to the deck */
1766
- path?: string;
1766
+ Path?: string;
1767
1767
  /** Deck title */
1768
- title?: DisplayString;
1768
+ Title?: DisplayString;
1769
1769
  /** Description */
1770
- description?: DisplayString;
1770
+ Description?: DisplayString;
1771
1771
  /** Challenges in this deck */
1772
- challenges?: Challenge[];
1772
+ Challenges?: Challenge[];
1773
1773
  }
1774
1774
  /**
1775
1775
  * Challenge deck definition from CMS.
1776
1776
  */
1777
1777
  interface ChallengeDeckDefinition {
1778
1778
  /** Deck identifier */
1779
- id?: string;
1779
+ Id?: string;
1780
1780
  /** Deck path */
1781
- path?: string;
1781
+ Path?: string;
1782
1782
  /** Deck title */
1783
- title?: DisplayString;
1783
+ Title?: DisplayString;
1784
1784
  /** Description */
1785
- description?: DisplayString;
1785
+ Description?: DisplayString;
1786
1786
  /** Image path */
1787
- imagePath?: string;
1787
+ ImagePath?: string;
1788
1788
  /** Whether deck is visible */
1789
- isVisible?: boolean;
1789
+ IsVisible?: boolean;
1790
1790
  }
1791
1791
  /**
1792
1792
  * Response for challenge decks query.
1793
1793
  */
1794
1794
  interface ChallengeDecksResponse {
1795
1795
  /** Active challenge decks */
1796
- activeDecks?: ChallengeDeck[];
1796
+ ActiveDecks?: ChallengeDeck[];
1797
1797
  /** Upcoming decks */
1798
- upcomingDecks?: ChallengeDeck[];
1798
+ UpcomingDecks?: ChallengeDeck[];
1799
1799
  }
1800
1800
  /**
1801
1801
  * Reward track progress measurement.
@@ -1836,36 +1836,36 @@ interface RewardTrack {
1836
1836
  */
1837
1837
  interface RewardTrackMetadata {
1838
1838
  /** Track identifier */
1839
- trackId?: string;
1839
+ TrackId?: string;
1840
1840
  /** Track path */
1841
- path?: string;
1841
+ Path?: string;
1842
1842
  /** Display title */
1843
- title?: DisplayString;
1843
+ Title?: DisplayString;
1844
1844
  /** Description */
1845
- description?: DisplayString;
1845
+ Description?: DisplayString;
1846
1846
  /** Image path */
1847
- imagePath?: string;
1847
+ ImagePath?: string;
1848
1848
  /** Track type */
1849
- type?: string;
1849
+ Type?: string;
1850
1850
  /** Start date (ISO 8601) */
1851
- startDate?: string;
1851
+ StartDate?: string;
1852
1852
  /** End date (ISO 8601) */
1853
- endDate?: string;
1853
+ EndDate?: string;
1854
1854
  }
1855
1855
  /**
1856
1856
  * Operation reward track snapshot.
1857
1857
  */
1858
1858
  interface OperationRewardTrackSnapshot {
1859
1859
  /** Track identifier */
1860
- trackId?: string;
1860
+ TrackId?: string;
1861
1861
  /** Current rank */
1862
- rank?: number;
1862
+ Rank?: number;
1863
1863
  /** Current XP */
1864
- xp?: number;
1864
+ Xp?: number;
1865
1865
  /** Total XP earned */
1866
- totalXpEarned?: number;
1866
+ TotalXpEarned?: number;
1867
1867
  /** Premium status */
1868
- isPremium?: boolean;
1868
+ IsPremium?: boolean;
1869
1869
  }
1870
1870
 
1871
1871
  /**
@@ -1873,114 +1873,114 @@ interface OperationRewardTrackSnapshot {
1873
1873
  */
1874
1874
  interface CareerRank {
1875
1875
  /** Rank number */
1876
- rank?: number;
1876
+ Rank?: number;
1877
1877
  /** Title of the rank */
1878
- title?: DisplayString;
1878
+ Title?: DisplayString;
1879
1879
  /** Subtitle */
1880
- subtitle?: DisplayString;
1880
+ Subtitle?: DisplayString;
1881
1881
  /** Large icon path */
1882
- largeIconPath?: string;
1882
+ LargeIconPath?: string;
1883
1883
  /** Small icon path */
1884
- smallIconPath?: string;
1884
+ SmallIconPath?: string;
1885
1885
  /** Adornment icon path */
1886
- adornmentIconPath?: string;
1886
+ AdornmentIconPath?: string;
1887
1887
  /** XP required to reach this rank */
1888
- xpRequired?: number;
1888
+ XpRequired?: number;
1889
1889
  /** Cumulative XP at this rank */
1890
- cumulativeXp?: number;
1890
+ CumulativeXp?: number;
1891
1891
  /** Grade within the rank */
1892
- grade?: number;
1892
+ Grade?: number;
1893
1893
  /** Tier within the rank */
1894
- tier?: number;
1894
+ Tier?: number;
1895
1895
  }
1896
1896
  /**
1897
1897
  * Container for career ranks.
1898
1898
  */
1899
1899
  interface CareerTrackContainer {
1900
1900
  /** Career path identifier */
1901
- careerPathId?: string;
1901
+ CareerPathId?: string;
1902
1902
  /** List of career ranks */
1903
- ranks?: CareerRank[];
1903
+ Ranks?: CareerRank[];
1904
1904
  /** Maximum rank */
1905
- maxRank?: number;
1905
+ MaxRank?: number;
1906
1906
  }
1907
1907
  /**
1908
1908
  * Player's career rank result.
1909
1909
  */
1910
1910
  interface PlayerCareerRankResult {
1911
1911
  /** Player identifier */
1912
- playerId?: string;
1912
+ PlayerId?: string;
1913
1913
  /** Current career rank */
1914
- currentRank?: number;
1914
+ CurrentRank?: number;
1915
1915
  /** Current XP */
1916
- currentXp?: number;
1916
+ CurrentXp?: number;
1917
1917
  /** XP to next rank */
1918
- xpToNextRank?: number;
1918
+ XpToNextRank?: number;
1919
1919
  /** Result code */
1920
- resultCode?: number;
1920
+ ResultCode?: number;
1921
1921
  }
1922
1922
  /**
1923
1923
  * Container for player career rank results.
1924
1924
  */
1925
1925
  interface RewardTrackResultContainer {
1926
1926
  /** Career path identifier */
1927
- careerPathId?: string;
1927
+ CareerPathId?: string;
1928
1928
  /** Results for each player */
1929
- value?: PlayerCareerRankResult[];
1929
+ Value?: PlayerCareerRankResult[];
1930
1930
  }
1931
1931
  /**
1932
1932
  * Match progression (post-game rewards).
1933
1933
  */
1934
1934
  interface MatchProgression {
1935
1935
  /** Player identifier */
1936
- playerId?: string;
1936
+ PlayerId?: string;
1937
1937
  /** Match identifier */
1938
- matchId?: string;
1938
+ MatchId?: string;
1939
1939
  /** Challenges progressed */
1940
- challengeProgress?: ChallengeProgress[];
1940
+ ChallengeProgress?: ChallengeProgress[];
1941
1941
  /** XP earned breakdown */
1942
- xpBreakdown?: XpBreakdown;
1942
+ XpBreakdown?: XpBreakdown;
1943
1943
  /** Career rank progression */
1944
- careerRankProgress?: CareerRankProgress;
1944
+ CareerRankProgress?: CareerRankProgress;
1945
1945
  }
1946
1946
  /**
1947
1947
  * Challenge progress from a match.
1948
1948
  */
1949
1949
  interface ChallengeProgress {
1950
1950
  /** Challenge identifier */
1951
- challengeId?: string;
1951
+ ChallengeId?: string;
1952
1952
  /** Progress made */
1953
- progress?: number;
1953
+ Progress?: number;
1954
1954
  /** Whether challenge was completed */
1955
- completed?: boolean;
1955
+ Completed?: boolean;
1956
1956
  }
1957
1957
  /**
1958
1958
  * XP breakdown from a match.
1959
1959
  */
1960
1960
  interface XpBreakdown {
1961
1961
  /** Base XP from match */
1962
- matchXp?: number;
1962
+ MatchXp?: number;
1963
1963
  /** XP from medals */
1964
- medalXp?: number;
1964
+ MedalXp?: number;
1965
1965
  /** XP from challenges */
1966
- challengeXp?: number;
1966
+ ChallengeXp?: number;
1967
1967
  /** Boost XP */
1968
- boostXp?: number;
1968
+ BoostXp?: number;
1969
1969
  /** Total XP */
1970
- totalXp?: number;
1970
+ TotalXp?: number;
1971
1971
  }
1972
1972
  /**
1973
1973
  * Career rank progress from a match.
1974
1974
  */
1975
1975
  interface CareerRankProgress {
1976
1976
  /** Rank before match */
1977
- previousRank?: number;
1977
+ PreviousRank?: number;
1978
1978
  /** Rank after match */
1979
- currentRank?: number;
1979
+ CurrentRank?: number;
1980
1980
  /** XP earned */
1981
- xpEarned?: number;
1981
+ XpEarned?: number;
1982
1982
  /** Whether player ranked up */
1983
- rankedUp?: boolean;
1983
+ RankedUp?: boolean;
1984
1984
  }
1985
1985
 
1986
1986
  /**
@@ -2022,7 +2022,7 @@ declare class EconomyModule extends ModuleBase {
2022
2022
  */
2023
2023
  getVirtualCurrencyBalances(player: string): Promise<HaloApiResult<CurrencySnapshot>>;
2024
2024
  /**
2025
- * Post a currency transaction.
2025
+ * Get a currency transaction.
2026
2026
  *
2027
2027
  * @param player - Player's numeric XUID
2028
2028
  * @param currencyId - Currency identifier
@@ -2254,9 +2254,10 @@ declare class EconomyModule extends ModuleBase {
2254
2254
  * Get operation progress for a player.
2255
2255
  *
2256
2256
  * @param player - Player's numeric XUID
2257
+ * @param flightId - Flight/clearance ID
2257
2258
  * @returns Operation reward track snapshot
2258
2259
  */
2259
- getPlayerOperations(player: string): Promise<HaloApiResult<OperationRewardTrackSnapshot>>;
2260
+ getPlayerOperations(player: string, flightId?: string): Promise<HaloApiResult<OperationRewardTrackSnapshot>>;
2260
2261
  /**
2261
2262
  * Get career rank for a player.
2262
2263
  *
@@ -2458,12 +2459,6 @@ declare class GameCmsModule extends ModuleBase {
2458
2459
  * @returns News collection
2459
2460
  */
2460
2461
  getNews(filePath: string): Promise<HaloApiResult<News>>;
2461
- /**
2462
- * Get academy star definitions.
2463
- *
2464
- * @returns Star definitions
2465
- */
2466
- getAcademyStarDefinitions(): Promise<HaloApiResult<AcademyStarDefinitions>>;
2467
2462
  /**
2468
2463
  * Get an image file from the CMS.
2469
2464
  *
@@ -2659,7 +2654,7 @@ declare class LobbyModule extends ModuleBase {
2659
2654
  * @param presenceRequest - Presence request container
2660
2655
  * @returns Presence results
2661
2656
  */
2662
- presence(presenceRequest: LobbyPresenceRequestContainer): Promise<HaloApiResult<LobbyPresenceContainer>>;
2657
+ presence(): Promise<HaloApiResult<LobbyPresenceContainer>>;
2663
2658
  /**
2664
2659
  * Get a third-party join handle for a lobby.
2665
2660
  *
@@ -2759,73 +2754,73 @@ declare class SettingsModule extends ModuleBase {
2759
2754
  */
2760
2755
  interface Csr {
2761
2756
  /** Current CSR value */
2762
- value?: number;
2757
+ Value?: number;
2763
2758
  /** Measurement matches remaining before placement */
2764
- measurementMatchesRemaining?: number;
2759
+ MeasurementMatchesRemaining?: number;
2765
2760
  /** Current tier name (e.g., "Diamond", "Onyx") */
2766
- tier?: string;
2761
+ Tier?: string;
2767
2762
  /** CSR value at start of current tier */
2768
- tierStart?: number;
2763
+ TierStart?: number;
2769
2764
  /** Current sub-tier within the tier (1-6) */
2770
- subTier?: number;
2765
+ SubTier?: number;
2771
2766
  /** Next tier name */
2772
- nextTier?: string;
2767
+ NextTier?: string;
2773
2768
  /** CSR value at start of next tier */
2774
- nextTierStart?: number;
2769
+ NextTierStart?: number;
2775
2770
  /** Next sub-tier */
2776
- nextSubTier?: number;
2771
+ NextSubTier?: number;
2777
2772
  /** Initial number of placement matches required */
2778
- initialMeasurementMatches?: number;
2773
+ InitialMeasurementMatches?: number;
2779
2774
  /** Initial demotion protection matches */
2780
- initialDemotionProtectionMatches?: number;
2775
+ InitialDemotionProtectionMatches?: number;
2781
2776
  /** Remaining demotion protection matches */
2782
- demotionProtectionMatchesRemaining?: number;
2777
+ DemotionProtectionMatchesRemaining?: number;
2783
2778
  }
2784
2779
  /**
2785
2780
  * Match skill information for a single player.
2786
2781
  */
2787
2782
  interface PlayerMatchSkill {
2788
2783
  /** Player identifier */
2789
- id?: string;
2784
+ Id?: string;
2790
2785
  /** CSR before the match */
2791
- preMatchCsr?: Csr;
2786
+ PreMatchCsr?: Csr;
2792
2787
  /** CSR after the match */
2793
- postMatchCsr?: Csr;
2788
+ PostMatchCsr?: Csr;
2794
2789
  /** Expected CSR at ranking */
2795
- expectedRankCsr?: Csr;
2790
+ ExpectedRankCsr?: Csr;
2796
2791
  /** Result code */
2797
- resultCode?: number;
2792
+ ResultCode?: number;
2798
2793
  }
2799
2794
  /**
2800
2795
  * Container for match skill results.
2801
2796
  */
2802
2797
  interface MatchSkillInfo {
2803
2798
  /** Match identifier */
2804
- matchId?: string;
2799
+ MatchId?: string;
2805
2800
  /** Skill results for each player */
2806
- value?: PlayerMatchSkill[];
2801
+ Value?: PlayerMatchSkill[];
2807
2802
  }
2808
2803
  /**
2809
2804
  * Playlist CSR result for a single player.
2810
2805
  */
2811
2806
  interface PlayerPlaylistCsr {
2812
2807
  /** Player identifier */
2813
- id?: string;
2808
+ Id?: string;
2814
2809
  /** Current CSR for this playlist */
2815
- csr?: Csr;
2810
+ Csr?: Csr;
2816
2811
  /** Result code */
2817
- resultCode?: number;
2812
+ ResultCode?: number;
2818
2813
  }
2819
2814
  /**
2820
2815
  * Container for playlist CSR results.
2821
2816
  */
2822
2817
  interface PlaylistCsrResultContainer {
2823
2818
  /** Playlist identifier */
2824
- playlistId?: string;
2819
+ PlaylistId?: string;
2825
2820
  /** Season identifier (if applicable) */
2826
- seasonId?: string;
2821
+ SeasonId?: string;
2827
2822
  /** CSR results for each player */
2828
- value?: PlayerPlaylistCsr[];
2823
+ Value?: PlayerPlaylistCsr[];
2829
2824
  }
2830
2825
 
2831
2826
  /**
@@ -2908,38 +2903,38 @@ type LifecycleMode = (typeof LifecycleMode)[keyof typeof LifecycleMode];
2908
2903
  */
2909
2904
  interface GenericAsset {
2910
2905
  /** Unique asset identifier */
2911
- assetId?: string;
2906
+ AssetId?: string;
2912
2907
  /** Version identifier */
2913
- versionId?: string;
2908
+ VersionId?: string;
2914
2909
  /** Combined asset version identifier */
2915
- assetVersionId?: string;
2910
+ AssetVersionId?: string;
2916
2911
  /** Display name */
2917
- publicName?: string;
2912
+ PublicName?: string;
2918
2913
  }
2919
2914
  /**
2920
2915
  * UGC game variant information in match context.
2921
2916
  */
2922
2917
  interface UgcGameVariant {
2923
2918
  /** Asset identifier */
2924
- assetId?: string;
2919
+ AssetId?: string;
2925
2920
  /** Version identifier */
2926
- versionId?: string;
2921
+ VersionId?: string;
2927
2922
  /** Display name */
2928
- publicName?: string;
2923
+ PublicName?: string;
2929
2924
  }
2930
2925
  /**
2931
2926
  * Playlist experience tracking.
2932
2927
  */
2933
2928
  interface PlaylistExperience {
2934
2929
  /** Experience value */
2935
- value?: number;
2930
+ Value?: number;
2936
2931
  }
2937
2932
  /**
2938
2933
  * Gameplay interaction type.
2939
2934
  */
2940
2935
  interface GameplayInteraction {
2941
2936
  /** Interaction type identifier */
2942
- value?: number;
2937
+ Value?: number;
2943
2938
  }
2944
2939
  /**
2945
2940
  * General information about a match.
@@ -2948,39 +2943,39 @@ interface GameplayInteraction {
2948
2943
  */
2949
2944
  interface MatchInfo {
2950
2945
  /** Match start time (ISO 8601) */
2951
- startTime?: string;
2946
+ StartTime?: string;
2952
2947
  /** Match end time (ISO 8601) */
2953
- endTime?: string;
2948
+ EndTime?: string;
2954
2949
  /** Match duration as ISO 8601 duration string (e.g., "PT10M30S") */
2955
- duration?: string;
2950
+ Duration?: string;
2956
2951
  /** Lifecycle mode (matchmade, custom, local) */
2957
- lifecycleMode?: LifecycleMode;
2952
+ LifecycleMode?: LifecycleMode;
2958
2953
  /** Game variant category */
2959
- gameVariantCategory?: number;
2954
+ GameVariantCategory?: number;
2960
2955
  /** Map/level identifier */
2961
- levelId?: string;
2956
+ LevelId?: string;
2962
2957
  /** Map variant information */
2963
- mapVariant?: GenericAsset;
2958
+ MapVariant?: GenericAsset;
2964
2959
  /** UGC game variant (for custom games) */
2965
- ugcGameVariant?: UgcGameVariant;
2960
+ UgcGameVariant?: UgcGameVariant;
2966
2961
  /** Clearance ID used for the match */
2967
- clearanceId?: string;
2962
+ ClearanceId?: string;
2968
2963
  /** Playlist information */
2969
- playlist?: GenericAsset;
2964
+ Playlist?: GenericAsset;
2970
2965
  /** Playlist experience info */
2971
- playlistExperience?: PlaylistExperience;
2966
+ PlaylistExperience?: PlaylistExperience;
2972
2967
  /** Map-mode pair info */
2973
- playlistMapModePair?: GenericAsset;
2968
+ PlaylistMapModePair?: GenericAsset;
2974
2969
  /** Season identifier */
2975
- seasonId?: string;
2970
+ SeasonId?: string;
2976
2971
  /** Playable duration */
2977
- playableDuration?: string;
2972
+ PlayableDuration?: string;
2978
2973
  /** Whether teams were enabled */
2979
- teamsEnabled?: boolean;
2974
+ TeamsEnabled?: boolean;
2980
2975
  /** Whether team scoring was enabled */
2981
- teamScoringEnabled?: boolean;
2976
+ TeamScoringEnabled?: boolean;
2982
2977
  /** Gameplay interaction type */
2983
- gameplayInteraction?: GameplayInteraction;
2978
+ GameplayInteraction?: GameplayInteraction;
2984
2979
  }
2985
2980
 
2986
2981
  /**
@@ -2988,305 +2983,305 @@ interface MatchInfo {
2988
2983
  */
2989
2984
  interface CoreStats {
2990
2985
  /** Total score earned */
2991
- score?: number;
2986
+ Score?: number;
2992
2987
  /** Personal score (individual contribution) */
2993
- personalScore?: number;
2988
+ PersonalScore?: number;
2994
2989
  /** Number of rounds won */
2995
- roundsWon?: number;
2990
+ RoundsWon?: number;
2996
2991
  /** Number of rounds lost */
2997
- roundsLost?: number;
2992
+ RoundsLost?: number;
2998
2993
  /** Number of rounds tied */
2999
- roundsTied?: number;
2994
+ RoundsTied?: number;
3000
2995
  /** Total kills */
3001
- kills?: number;
2996
+ Kills?: number;
3002
2997
  /** Total deaths */
3003
- deaths?: number;
2998
+ Deaths?: number;
3004
2999
  /** Total assists */
3005
- assists?: number;
3000
+ Assists?: number;
3006
3001
  /** Kill/Death/Assist ratio */
3007
- kda?: number;
3002
+ Kda?: number;
3008
3003
  /** Total suicides */
3009
- suicides?: number;
3004
+ Suicides?: number;
3010
3005
  /** Total betrayals (team kills) */
3011
- betrayals?: number;
3006
+ Betrayals?: number;
3012
3007
  /** Average life duration in seconds */
3013
- averageLifeDuration?: string;
3008
+ AverageLifeDuration?: string;
3014
3009
  /** Grenade kills */
3015
- grenadeKills?: number;
3010
+ GrenadeKills?: number;
3016
3011
  /** Headshot kills */
3017
- headshotKills?: number;
3012
+ HeadshotKills?: number;
3018
3013
  /** Melee kills */
3019
- meleeKills?: number;
3014
+ MeleeKills?: number;
3020
3015
  /** Power weapon kills */
3021
- powerWeaponKills?: number;
3016
+ PowerWeaponKills?: number;
3022
3017
  /** Shots fired */
3023
- shotsFired?: number;
3018
+ ShotsFired?: number;
3024
3019
  /** Shots hit */
3025
- shotsHit?: number;
3020
+ ShotsHit?: number;
3026
3021
  /** Accuracy percentage */
3027
- accuracy?: number;
3022
+ Accuracy?: number;
3028
3023
  /** Damage dealt */
3029
- damageDealt?: number;
3024
+ DamageDealt?: number;
3030
3025
  /** Damage taken */
3031
- damageTaken?: number;
3026
+ DamageTaken?: number;
3032
3027
  /** Callout assists */
3033
- calloutAssists?: number;
3028
+ CalloutAssists?: number;
3034
3029
  /** Vehicle destroys */
3035
- vehicleDestroys?: number;
3030
+ VehicleDestroys?: number;
3036
3031
  /** Driver assists */
3037
- driverAssists?: number;
3032
+ DriverAssists?: number;
3038
3033
  /** Hijacks */
3039
- hijacks?: number;
3034
+ Hijacks?: number;
3040
3035
  /** EMP assists */
3041
- empAssists?: number;
3036
+ EmpAssists?: number;
3042
3037
  /** Maximum killing spree */
3043
- maxKillingSpree?: number;
3038
+ MaxKillingSpree?: number;
3044
3039
  /** Medals earned */
3045
- medals?: MedalCount[];
3040
+ Medals?: MedalCount[];
3046
3041
  /** Personal scores breakdown */
3047
- personalScores?: PersonalScoreEntry[];
3042
+ PersonalScores?: PersonalScoreEntry[];
3048
3043
  /** Deprecated Spartan Rank */
3049
- deprecatedDamageDealt?: number;
3044
+ DeprecatedDamageDealt?: number;
3050
3045
  /** Deprecated Spartan Rank */
3051
- deprecatedDamageTaken?: number;
3046
+ DeprecatedDamageTaken?: number;
3052
3047
  /** Spawns */
3053
- spawns?: number;
3048
+ Spawns?: number;
3054
3049
  /** Objectives completed */
3055
- objectivesCompleted?: number;
3050
+ ObjectivesCompleted?: number;
3056
3051
  }
3057
3052
  /**
3058
3053
  * Medal count entry.
3059
3054
  */
3060
3055
  interface MedalCount {
3061
3056
  /** Medal name identifier */
3062
- nameId?: number;
3057
+ NameId?: number;
3063
3058
  /** Number of times earned */
3064
- count?: number;
3059
+ Count?: number;
3065
3060
  /** Total personal score from this medal */
3066
- totalPersonalScoreAwarded?: number;
3061
+ TotalPersonalScoreAwarded?: number;
3067
3062
  }
3068
3063
  /**
3069
3064
  * Personal score breakdown entry.
3070
3065
  */
3071
3066
  interface PersonalScoreEntry {
3072
3067
  /** Score type name identifier */
3073
- nameId?: number;
3068
+ NameId?: number;
3074
3069
  /** Number of times earned */
3075
- count?: number;
3070
+ Count?: number;
3076
3071
  /** Total score from this type */
3077
- totalPersonalScoreAwarded?: number;
3072
+ TotalPersonalScoreAwarded?: number;
3078
3073
  }
3079
3074
  /**
3080
3075
  * Bomb game mode stats (Assault).
3081
3076
  */
3082
3077
  interface BombStats {
3083
3078
  /** Bombs planted */
3084
- bombsPlanted?: number;
3079
+ BombsPlanted?: number;
3085
3080
  /** Bombs defused */
3086
- bombsDefused?: number;
3081
+ BombsDefused?: number;
3087
3082
  /** Bomb carriers killed */
3088
- bombCarriersKilled?: number;
3083
+ BombCarriersKilled?: number;
3089
3084
  /** Time as bomb carrier */
3090
- timeAsBombCarrier?: string;
3085
+ TimeAsBombCarrier?: string;
3091
3086
  }
3092
3087
  /**
3093
3088
  * Capture the Flag game mode stats.
3094
3089
  */
3095
3090
  interface CaptureTheFlagStats {
3096
3091
  /** Flag captures */
3097
- flagCaptures?: number;
3092
+ FlagCaptures?: number;
3098
3093
  /** Flag capture assists */
3099
- flagCaptureAssists?: number;
3094
+ FlagCaptureAssists?: number;
3100
3095
  /** Flag carriers killed */
3101
- flagCarriersKilled?: number;
3096
+ FlagCarriersKilled?: number;
3102
3097
  /** Flag grabs */
3103
- flagGrabs?: number;
3098
+ FlagGrabs?: number;
3104
3099
  /** Flags returned */
3105
- flagsReturned?: number;
3100
+ FlagsReturned?: number;
3106
3101
  /** Flags stolen */
3107
- flagsStolen?: number;
3102
+ FlagsStolen?: number;
3108
3103
  /** Time as flag carrier */
3109
- timeAsFlagCarrier?: string;
3104
+ TimeAsFlagCarrier?: string;
3110
3105
  /** Kills as flag carrier */
3111
- killsAsFlagCarrier?: number;
3106
+ KillsAsFlagCarrier?: number;
3112
3107
  }
3113
3108
  /**
3114
3109
  * Elimination game mode stats.
3115
3110
  */
3116
3111
  interface EliminationStats {
3117
3112
  /** Allies revived */
3118
- alliesRevived?: number;
3113
+ AlliesRevived?: number;
3119
3114
  /** Revives denied */
3120
- revivesDenied?: number;
3115
+ RevivesDenied?: number;
3121
3116
  /** Eliminations */
3122
- eliminations?: number;
3117
+ Eliminations?: number;
3123
3118
  /** Elimination assists */
3124
- eliminationAssists?: number;
3119
+ EliminationAssists?: number;
3125
3120
  /** Times revived */
3126
- timesRevived?: number;
3121
+ TimesRevived?: number;
3127
3122
  /** Rounds survived */
3128
- roundsSurvived?: number;
3123
+ RoundsSurvived?: number;
3129
3124
  /** Executions */
3130
- executions?: number;
3125
+ Executions?: number;
3131
3126
  /** Last spartans standing */
3132
- lastSpartansStanding?: number;
3127
+ LastSpartansStanding?: number;
3133
3128
  }
3134
3129
  /**
3135
3130
  * Extraction game mode stats.
3136
3131
  */
3137
3132
  interface ExtractionStats {
3138
3133
  /** Extractions initiated */
3139
- extractionInitiated?: number;
3134
+ ExtractionInitiated?: number;
3140
3135
  /** Extractions completed */
3141
- extractionCompleted?: number;
3136
+ ExtractionCompleted?: number;
3142
3137
  /** Extractions converted */
3143
- extractionConverted?: number;
3138
+ ExtractionConverted?: number;
3144
3139
  /** Extractions denied */
3145
- extractionDenied?: number;
3140
+ ExtractionDenied?: number;
3146
3141
  /** Successful extractions */
3147
- successfulExtractions?: number;
3142
+ SuccessfulExtractions?: number;
3148
3143
  /** Seconds converting */
3149
- secondsConverting?: number;
3144
+ SecondsConverting?: number;
3150
3145
  }
3151
3146
  /**
3152
3147
  * Infection game mode stats.
3153
3148
  */
3154
3149
  interface InfectionStats {
3155
3150
  /** Infected killed */
3156
- infectedKilled?: number;
3151
+ InfectedKilled?: number;
3157
3152
  /** Spartans infected */
3158
- spartansInfected?: number;
3153
+ SpartansInfected?: number;
3159
3154
  /** Spartans infected as last spartan */
3160
- spartansInfectedAsLastSpartan?: number;
3155
+ SpartansInfectedAsLastSpartan?: number;
3161
3156
  /** Infected killed as last spartan */
3162
- infectedKilledAsLastSpartan?: number;
3157
+ InfectedKilledAsLastSpartan?: number;
3163
3158
  /** Time as last spartan */
3164
- timeAsLastSpartan?: string;
3159
+ TimeAsLastSpartan?: string;
3165
3160
  /** Time as survivor */
3166
- timeAsSurvivor?: string;
3161
+ TimeAsSurvivor?: string;
3167
3162
  /** Rounds as survivor */
3168
- roundsAsSurvivor?: number;
3163
+ RoundsAsSurvivor?: number;
3169
3164
  /** Rounds as infected */
3170
- roundsAsInfected?: number;
3165
+ RoundsAsInfected?: number;
3171
3166
  /** Rounds survived as spartan */
3172
- roundsSurvivedAsSpartan?: number;
3167
+ RoundsSurvivedAsSpartan?: number;
3173
3168
  /** Rounds survived as last spartan */
3174
- roundsSurvivedAsLastSpartan?: number;
3169
+ RoundsSurvivedAsLastSpartan?: number;
3175
3170
  /** Kills as last spartan */
3176
- killsAsLastSpartan?: number;
3171
+ KillsAsLastSpartan?: number;
3177
3172
  /** Alpha infections */
3178
- alphaInfections?: number;
3173
+ AlphaInfections?: number;
3179
3174
  }
3180
3175
  /**
3181
3176
  * Oddball game mode stats.
3182
3177
  */
3183
3178
  interface OddballStats {
3184
3179
  /** Time with ball */
3185
- timeWithBall?: string;
3180
+ TimeWithBall?: string;
3186
3181
  /** Ball carriers killed */
3187
- ballCarriersKilled?: number;
3182
+ BallCarriersKilled?: number;
3188
3183
  /** Kills as ball carrier */
3189
- killsAsBallCarrier?: number;
3184
+ KillsAsBallCarrier?: number;
3190
3185
  /** Ball grabs */
3191
- ballGrabs?: number;
3186
+ BallGrabs?: number;
3192
3187
  /** Longest time with ball */
3193
- longestTimeWithBall?: string;
3188
+ LongestTimeWithBall?: string;
3194
3189
  }
3195
3190
  /**
3196
3191
  * Zones game mode stats (Land Grab, Strongholds, etc.).
3197
3192
  */
3198
3193
  interface ZonesStats {
3199
3194
  /** Zones captured */
3200
- zoneCaptures?: number;
3195
+ ZoneCaptures?: number;
3201
3196
  /** Zone defensive kills */
3202
- zoneDefensiveKills?: number;
3197
+ ZoneDefensiveKills?: number;
3203
3198
  /** Zone offensive kills */
3204
- zoneOffensiveKills?: number;
3199
+ ZoneOffensiveKills?: number;
3205
3200
  /** Zone securing kills */
3206
- zoneSecuringKills?: number;
3201
+ ZoneSecuringKills?: number;
3207
3202
  /** Zone occupation time */
3208
- zoneOccupationTime?: string;
3203
+ ZoneOccupationTime?: string;
3209
3204
  /** Zones scored */
3210
- zonesScored?: number;
3205
+ ZonesScored?: number;
3211
3206
  /** Zone scoring ticks */
3212
- zoneScoringTicks?: number;
3207
+ ZoneScoringTicks?: number;
3213
3208
  }
3214
3209
  /**
3215
3210
  * Stockpile game mode stats.
3216
3211
  */
3217
3212
  interface StockpileStats {
3218
3213
  /** Power seeds deposited */
3219
- powerSeedsDeposited?: number;
3214
+ PowerSeedsDeposited?: number;
3220
3215
  /** Power seeds stolen */
3221
- powerSeedsStolen?: number;
3216
+ PowerSeedsStolen?: number;
3222
3217
  /** Kill as power seed carrier */
3223
- killsAsPowerSeedCarrier?: number;
3218
+ KillsAsPowerSeedCarrier?: number;
3224
3219
  /** Power seed carriers killed */
3225
- powerSeedCarriersKilled?: number;
3220
+ PowerSeedCarriersKilled?: number;
3226
3221
  /** Time as power seed carrier */
3227
- timeAsPowerSeedCarrier?: string;
3222
+ TimeAsPowerSeedCarrier?: string;
3228
3223
  }
3229
3224
  /**
3230
3225
  * VIP game mode stats.
3231
3226
  */
3232
3227
  interface VipStats {
3233
3228
  /** VIP kills */
3234
- vipKills?: number;
3229
+ VipKills?: number;
3235
3230
  /** Kills as VIP */
3236
- killsAsVip?: number;
3231
+ KillsAsVip?: number;
3237
3232
  /** Time as VIP */
3238
- timeAsVip?: string;
3233
+ TimeAsVip?: string;
3239
3234
  }
3240
3235
  /**
3241
3236
  * PvE (Firefight) stats.
3242
3237
  */
3243
3238
  interface PveStats {
3244
3239
  /** Boss kills */
3245
- bossKills?: number;
3240
+ BossKills?: number;
3246
3241
  /** Emplacement kills */
3247
- emplacementKills?: number;
3242
+ EmplacementKills?: number;
3248
3243
  /** Enemy vehicle kills */
3249
- enemyVehicleKills?: number;
3244
+ EnemyVehicleKills?: number;
3250
3245
  /** Wave survived */
3251
- wavesSurvived?: number;
3246
+ WavesSurvived?: number;
3252
3247
  /** Last spartan standing */
3253
- lastSpartanStanding?: boolean;
3248
+ LastSpartanStanding?: boolean;
3254
3249
  }
3255
3250
  /**
3256
3251
  * PvP stats (used in some game modes).
3257
3252
  */
3258
3253
  interface PvpStats {
3259
3254
  /** Spartan kills */
3260
- spartanKills?: number;
3255
+ SpartanKills?: number;
3261
3256
  }
3262
3257
  /**
3263
3258
  * Container for all mode-specific stats.
3264
3259
  */
3265
3260
  interface Stats {
3266
3261
  /** Core stats (applies to all modes) */
3267
- coreStats?: CoreStats;
3262
+ CoreStats?: CoreStats;
3268
3263
  /** Bomb stats */
3269
- bombStats?: BombStats;
3264
+ BombStats?: BombStats;
3270
3265
  /** CTF stats */
3271
- captureTheFlagStats?: CaptureTheFlagStats;
3266
+ CaptureTheFlagStats?: CaptureTheFlagStats;
3272
3267
  /** Elimination stats */
3273
- eliminationStats?: EliminationStats;
3268
+ EliminationStats?: EliminationStats;
3274
3269
  /** Extraction stats */
3275
- extractionStats?: ExtractionStats;
3270
+ ExtractionStats?: ExtractionStats;
3276
3271
  /** Infection stats */
3277
- infectionStats?: InfectionStats;
3272
+ InfectionStats?: InfectionStats;
3278
3273
  /** Oddball stats */
3279
- oddballStats?: OddballStats;
3274
+ OddballStats?: OddballStats;
3280
3275
  /** Zones stats */
3281
- zonesStats?: ZonesStats;
3276
+ ZonesStats?: ZonesStats;
3282
3277
  /** Stockpile stats */
3283
- stockpileStats?: StockpileStats;
3278
+ StockpileStats?: StockpileStats;
3284
3279
  /** VIP stats */
3285
- vipStats?: VipStats;
3280
+ VipStats?: VipStats;
3286
3281
  /** PvE stats */
3287
- pveStats?: PveStats;
3282
+ PveStats?: PveStats;
3288
3283
  /** PvP stats */
3289
- pvpStats?: PvpStats;
3284
+ PvpStats?: PvpStats;
3290
3285
  }
3291
3286
 
3292
3287
  /**
@@ -3326,77 +3321,77 @@ type Outcome = (typeof Outcome)[keyof typeof Outcome];
3326
3321
  */
3327
3322
  interface BotAttributes {
3328
3323
  /** Bot difficulty */
3329
- difficulty?: number;
3324
+ Difficulty?: number;
3330
3325
  /** Bot skill level */
3331
- skillLevel?: number;
3326
+ SkillLevel?: number;
3332
3327
  }
3333
3328
  /**
3334
3329
  * Participation information for a player.
3335
3330
  */
3336
3331
  interface ParticipationInfo {
3337
3332
  /** Time played (ISO 8601 duration) */
3338
- timePlayed?: string;
3333
+ TimePlayed?: string;
3339
3334
  /** Whether player was present at start */
3340
- presentAtStart?: boolean;
3335
+ PresentAtStart?: boolean;
3341
3336
  /** Whether player was present at end */
3342
- presentAtEnd?: boolean;
3337
+ PresentAtEnd?: boolean;
3343
3338
  /** Whether player joined mid-match */
3344
- joinedInProgress?: boolean;
3339
+ JoinedInProgress?: boolean;
3345
3340
  /** When player joined (ISO 8601) */
3346
- joinedAt?: string;
3341
+ JoinedAt?: string;
3347
3342
  /** When player left (ISO 8601, if applicable) */
3348
- leftAt?: string;
3343
+ LeftAt?: string;
3349
3344
  /** First joined time (ISO 8601) */
3350
- firstJoinedTime?: string;
3345
+ FirstJoinedTime?: string;
3351
3346
  /** Last joined time (ISO 8601) */
3352
- lastJoinedTime?: string;
3347
+ LastJoinedTime?: string;
3353
3348
  /** Whether player left before completion */
3354
- leftInProgress?: boolean;
3349
+ LeftInProgress?: boolean;
3355
3350
  /** Confirmed participation */
3356
- confirmedParticipation?: boolean;
3351
+ ConfirmedParticipation?: boolean;
3357
3352
  }
3358
3353
  /**
3359
3354
  * Player's stats for a specific team.
3360
3355
  */
3361
3356
  interface PlayerTeamStat {
3362
3357
  /** Team identifier */
3363
- teamId?: number;
3358
+ TeamId?: number;
3364
3359
  /** Stats for this team */
3365
- stats?: Stats;
3360
+ Stats?: Stats;
3366
3361
  }
3367
3362
  /**
3368
3363
  * Player information from a match.
3369
3364
  */
3370
3365
  interface Player {
3371
3366
  /** Player identifier (format: "xuid(XUID)") */
3372
- playerId?: string;
3367
+ PlayerId?: string;
3373
3368
  /** Type of player (Human or Bot) */
3374
- playerType?: PlayerType;
3369
+ PlayerType?: PlayerType;
3375
3370
  /** Bot attributes (only if playerType is Bot) */
3376
- botAttributes?: BotAttributes;
3371
+ BotAttributes?: BotAttributes;
3377
3372
  /** Last team the player was on */
3378
- lastTeamId?: number;
3373
+ LastTeamId?: number;
3379
3374
  /** Match outcome for this player */
3380
- outcome?: Outcome;
3375
+ Outcome?: Outcome;
3381
3376
  /** Final rank/placement */
3382
- rank?: number;
3377
+ Rank?: number;
3383
3378
  /** Participation details */
3384
- participationInfo?: ParticipationInfo;
3379
+ ParticipationInfo?: ParticipationInfo;
3385
3380
  /** Stats broken down by team */
3386
- playerTeamStats?: PlayerTeamStat[];
3381
+ PlayerTeamStats?: PlayerTeamStat[];
3387
3382
  }
3388
3383
  /**
3389
3384
  * Team information from a match.
3390
3385
  */
3391
3386
  interface Team {
3392
3387
  /** Team identifier */
3393
- teamId?: number;
3388
+ TeamId?: number;
3394
3389
  /** Match outcome for this team */
3395
- outcome?: number;
3390
+ Outcome?: number;
3396
3391
  /** Final rank/placement */
3397
- rank?: number;
3392
+ Rank?: number;
3398
3393
  /** Team stats */
3399
- stats?: Stats;
3394
+ Stats?: Stats;
3400
3395
  }
3401
3396
 
3402
3397
  /**
@@ -3407,13 +3402,13 @@ interface Team {
3407
3402
  */
3408
3403
  interface MatchStats {
3409
3404
  /** Unique match identifier */
3410
- matchId?: string;
3405
+ MatchId?: string;
3411
3406
  /** General match information */
3412
- matchInfo?: MatchInfo;
3407
+ MatchInfo?: MatchInfo;
3413
3408
  /** List of teams in the match */
3414
- teams?: Team[];
3409
+ Teams?: Team[];
3415
3410
  /** List of players in the match */
3416
- players?: Player[];
3411
+ Players?: Player[];
3417
3412
  }
3418
3413
 
3419
3414
  /**
@@ -3421,56 +3416,56 @@ interface MatchStats {
3421
3416
  */
3422
3417
  interface MatchLinks {
3423
3418
  /** Link to next page of results */
3424
- next?: string;
3419
+ Next?: string;
3425
3420
  /** Link to previous page of results */
3426
- prev?: string;
3421
+ Prev?: string;
3427
3422
  }
3428
3423
  /**
3429
3424
  * Individual match record in match history.
3430
3425
  */
3431
3426
  interface PlayerMatchHistoryRecord {
3432
3427
  /** Unique match identifier */
3433
- matchId?: string;
3428
+ MatchId?: string;
3434
3429
  /** Match information */
3435
- matchInfo?: MatchInfo;
3430
+ MatchInfo?: MatchInfo;
3436
3431
  /** Last team the player was on */
3437
- lastTeamId?: number;
3432
+ LastTeamId?: number;
3438
3433
  /** Match outcome for this player */
3439
- outcome?: number;
3434
+ Outcome?: number;
3440
3435
  /** Final rank/placement */
3441
- rank?: number;
3436
+ Rank?: number;
3442
3437
  /** Whether player was present at end */
3443
- presentAtEnd?: boolean;
3438
+ PresentAtEnd?: boolean;
3444
3439
  /** Player-specific data for this match */
3445
- player?: Player;
3440
+ Player?: Player;
3446
3441
  }
3447
3442
  /**
3448
3443
  * Response container for match history queries.
3449
3444
  */
3450
3445
  interface MatchHistoryResponse {
3451
3446
  /** Starting index of results */
3452
- start?: number;
3447
+ Start?: number;
3453
3448
  /** Number of results requested */
3454
- count?: number;
3449
+ Count?: number;
3455
3450
  /** Number of results returned */
3456
- resultCount?: number;
3451
+ ResultCount?: number;
3457
3452
  /** List of match records */
3458
- results?: PlayerMatchHistoryRecord[];
3453
+ Results?: PlayerMatchHistoryRecord[];
3459
3454
  /** Pagination links */
3460
- links?: MatchLinks;
3455
+ Links?: MatchLinks;
3461
3456
  }
3462
3457
  /**
3463
3458
  * Player match count summary.
3464
3459
  */
3465
3460
  interface PlayerMatchCount {
3466
3461
  /** Player identifier */
3467
- playerId?: string;
3462
+ PlayerId?: string;
3468
3463
  /** Total custom game count */
3469
- customMatchesPlayedCount?: number;
3464
+ CustomMatchesPlayedCount?: number;
3470
3465
  /** Total matchmade games count */
3471
- matchmadeMatchesPlayedCount?: number;
3466
+ MatchmadeMatchesPlayedCount?: number;
3472
3467
  /** Total local games count */
3473
- localMatchesPlayedCount?: number;
3468
+ LocalMatchesPlayedCount?: number;
3474
3469
  }
3475
3470
 
3476
3471
  /**
@@ -3478,71 +3473,71 @@ interface PlayerMatchCount {
3478
3473
  */
3479
3474
  interface ServiceRecordSubqueries {
3480
3475
  /** Seasonal breakdown of stats */
3481
- seasons?: SeasonServiceRecord[];
3476
+ Seasons?: SeasonServiceRecord[];
3482
3477
  /** Map breakdown of stats */
3483
- maps?: MapServiceRecord[];
3478
+ Maps?: MapServiceRecord[];
3484
3479
  /** Game variant breakdown */
3485
- gameVariants?: GameVariantServiceRecord[];
3480
+ GameVariants?: GameVariantServiceRecord[];
3486
3481
  /** Playlist breakdown */
3487
- playlists?: PlaylistServiceRecord[];
3482
+ Playlists?: PlaylistServiceRecord[];
3488
3483
  }
3489
3484
  /**
3490
3485
  * Season-specific service record.
3491
3486
  */
3492
3487
  interface SeasonServiceRecord {
3493
3488
  /** Season identifier */
3494
- seasonId?: string;
3489
+ SeasonId?: string;
3495
3490
  /** Stats for this season */
3496
- stats?: Stats;
3491
+ Stats?: Stats;
3497
3492
  }
3498
3493
  /**
3499
3494
  * Map-specific service record.
3500
3495
  */
3501
3496
  interface MapServiceRecord {
3502
3497
  /** Map asset identifier */
3503
- assetId?: string;
3498
+ AssetId?: string;
3504
3499
  /** Stats for this map */
3505
- stats?: Stats;
3500
+ Stats?: Stats;
3506
3501
  }
3507
3502
  /**
3508
3503
  * Game variant-specific service record.
3509
3504
  */
3510
3505
  interface GameVariantServiceRecord {
3511
3506
  /** Game variant category */
3512
- gameVariantCategory?: number;
3507
+ GameVariantCategory?: number;
3513
3508
  /** Stats for this game variant */
3514
- stats?: Stats;
3509
+ Stats?: Stats;
3515
3510
  }
3516
3511
  /**
3517
3512
  * Playlist-specific service record.
3518
3513
  */
3519
3514
  interface PlaylistServiceRecord {
3520
3515
  /** Playlist asset identifier */
3521
- assetId?: string;
3516
+ AssetId?: string;
3522
3517
  /** Stats for this playlist */
3523
- stats?: Stats;
3518
+ Stats?: Stats;
3524
3519
  }
3525
3520
  /**
3526
3521
  * Time played breakdown.
3527
3522
  */
3528
3523
  interface TimePlayed {
3529
3524
  /** Total seconds played */
3530
- seconds?: number;
3525
+ Seconds?: number;
3531
3526
  /** Human-readable duration */
3532
- human?: string;
3527
+ Human?: string;
3533
3528
  }
3534
3529
  /**
3535
3530
  * Win-loss record.
3536
3531
  */
3537
3532
  interface WinLossRecord {
3538
3533
  /** Number of wins */
3539
- wins?: number;
3534
+ Wins?: number;
3540
3535
  /** Number of losses */
3541
- losses?: number;
3536
+ Losses?: number;
3542
3537
  /** Number of ties */
3543
- ties?: number;
3538
+ Ties?: number;
3544
3539
  /** Number of games left early */
3545
- left?: number;
3540
+ Left?: number;
3546
3541
  }
3547
3542
  /**
3548
3543
  * Player service record (career stats).
@@ -3551,17 +3546,17 @@ interface WinLossRecord {
3551
3546
  */
3552
3547
  interface PlayerServiceRecord {
3553
3548
  /** Player identifier */
3554
- playerId?: string;
3549
+ PlayerId?: string;
3555
3550
  /** Core aggregate stats */
3556
- stats?: Stats;
3551
+ Stats?: Stats;
3557
3552
  /** Time played breakdown */
3558
- timePlayed?: TimePlayed;
3553
+ TimePlayed?: TimePlayed;
3559
3554
  /** Win/loss/tie record */
3560
- winLossRecord?: WinLossRecord;
3555
+ WinLossRecord?: WinLossRecord;
3561
3556
  /** Matches played */
3562
- matchesPlayed?: number;
3557
+ MatchesPlayed?: number;
3563
3558
  /** Subquery breakdowns (by season, map, etc.) */
3564
- subqueries?: ServiceRecordSubqueries;
3559
+ Subqueries?: ServiceRecordSubqueries;
3565
3560
  }
3566
3561
 
3567
3562
  /**
@@ -3662,15 +3657,6 @@ declare class StatsModule extends ModuleBase {
3662
3657
  getPlayerDailyCustomExperience(player: string): Promise<HaloApiResult<PlayerDailyCustomExperience>>;
3663
3658
  }
3664
3659
 
3665
- /**
3666
- * Text moderation key response.
3667
- */
3668
- interface ModerationKey {
3669
- /** The moderation key */
3670
- key?: string;
3671
- /** Expiration time (ISO 8601) */
3672
- expiresAt?: string;
3673
- }
3674
3660
  /**
3675
3661
  * Signing key for moderation proofs.
3676
3662
  */
@@ -3700,9 +3686,6 @@ interface ModerationProofKeys {
3700
3686
  *
3701
3687
  * @example
3702
3688
  * ```typescript
3703
- * // Get moderation key
3704
- * const key = await client.textModeration.getModerationKey();
3705
- *
3706
3689
  * // Get all signing keys
3707
3690
  * const keys = await client.textModeration.getSigningKeys();
3708
3691
  *
@@ -3712,12 +3695,6 @@ interface ModerationProofKeys {
3712
3695
  */
3713
3696
  declare class TextModerationModule extends ModuleBase {
3714
3697
  constructor(client: ClientBase);
3715
- /**
3716
- * Get a moderation key for text validation.
3717
- *
3718
- * @returns Moderation key
3719
- */
3720
- getModerationKey(): Promise<HaloApiResult<ModerationKey>>;
3721
3698
  /**
3722
3699
  * Get a specific moderation proof signing key.
3723
3700
  *
@@ -3766,195 +3743,195 @@ type AssetKind = (typeof AssetKind)[keyof typeof AssetKind];
3766
3743
  */
3767
3744
  interface AssetVersionFile {
3768
3745
  /** Prefix for file URLs */
3769
- prefix?: string;
3746
+ Prefix?: string;
3770
3747
  /** List of file paths */
3771
- fileRelativePaths?: string[];
3748
+ FileRelativePaths?: string[];
3772
3749
  }
3773
3750
  /**
3774
3751
  * Asset play statistics.
3775
3752
  */
3776
3753
  interface PlayAssetStats {
3777
3754
  /** Number of plays */
3778
- playsRecent?: number;
3755
+ PlaysRecent?: number;
3779
3756
  /** All-time plays */
3780
- playsAllTime?: number;
3757
+ PlaysAllTime?: number;
3781
3758
  /** Favorites count */
3782
- favorites?: number;
3759
+ Favorites?: number;
3783
3760
  /** Average rating */
3784
- averageRating?: number;
3761
+ AverageRating?: number;
3785
3762
  /** Number of ratings */
3786
- numberOfRatings?: number;
3763
+ NumberOfRatings?: number;
3787
3764
  /** Parent asset ID (if this is a variant) */
3788
- parentAssetId?: string;
3765
+ ParentAssetId?: string;
3789
3766
  }
3790
3767
  /**
3791
3768
  * Base asset properties.
3792
3769
  */
3793
3770
  interface AssetBase {
3794
3771
  /** Asset unique identifier */
3795
- assetId?: string;
3772
+ AssetId?: string;
3796
3773
  /** Version identifier */
3797
- versionId?: string;
3774
+ VersionId?: string;
3798
3775
  /** Combined asset version ID */
3799
- assetVersionId?: string;
3776
+ AssetVersionId?: string;
3800
3777
  /** Public display name */
3801
- publicName?: string;
3778
+ PublicName?: string;
3802
3779
  /** Internal name */
3803
- name?: string;
3780
+ Name?: string;
3804
3781
  /** Description */
3805
- description?: string;
3782
+ Description?: string;
3806
3783
  /** Inspection result code */
3807
- inspectionResult?: number;
3784
+ InspectionResult?: number;
3808
3785
  /** Clone behavior setting */
3809
- cloneBehavior?: number;
3786
+ CloneBehavior?: number;
3810
3787
  /** Asset home (where it's stored) */
3811
- assetHome?: number;
3788
+ AssetHome?: number;
3812
3789
  /** Descriptive tags */
3813
- tags?: string[];
3790
+ Tags?: string[];
3814
3791
  /** Contributors (XUIDs) */
3815
- contributors?: string[];
3792
+ Contributors?: string[];
3816
3793
  /** File information */
3817
- files?: AssetVersionFile;
3794
+ Files?: AssetVersionFile;
3818
3795
  /** Type of asset */
3819
- assetKind?: AssetKind;
3796
+ AssetKind?: AssetKind;
3820
3797
  /** Display order */
3821
- order?: number;
3798
+ Order?: number;
3822
3799
  /** Play statistics */
3823
- assetStats?: PlayAssetStats;
3800
+ AssetStats?: PlayAssetStats;
3824
3801
  /** When published (ISO 8601) */
3825
- publishedDate?: string;
3802
+ PublishedDate?: string;
3826
3803
  /** Version number */
3827
- versionNumber?: number;
3804
+ VersionNumber?: number;
3828
3805
  /** Admin XUID */
3829
- admin?: string;
3806
+ Admin?: string;
3830
3807
  /** Display owner override */
3831
- displayOwnerOverride?: string;
3808
+ DisplayOwnerOverride?: string;
3832
3809
  }
3833
3810
  /**
3834
3811
  * UGC authoring asset.
3835
3812
  */
3836
3813
  interface AuthoringAsset extends AssetBase {
3837
3814
  /** Original author XUID */
3838
- originalAuthor?: string;
3815
+ OriginalAuthor?: string;
3839
3816
  /** Whether it's readonly */
3840
- readonly?: boolean;
3817
+ Readonly?: boolean;
3841
3818
  /** Custom data for the asset type */
3842
- customData?: Record<string, unknown>;
3819
+ CustomData?: Record<string, unknown>;
3843
3820
  /** Creation time (ISO 8601) */
3844
- createdAt?: string;
3821
+ CreatedAt?: string;
3845
3822
  /** Last modification time (ISO 8601) */
3846
- updatedAt?: string;
3823
+ UpdatedAt?: string;
3847
3824
  }
3848
3825
  /**
3849
3826
  * Authoring asset version.
3850
3827
  */
3851
3828
  interface AuthoringAssetVersion extends AssetBase {
3852
3829
  /** Readonly status */
3853
- readonly?: boolean;
3830
+ Readonly?: boolean;
3854
3831
  /** Custom data */
3855
- customData?: Record<string, unknown>;
3832
+ CustomData?: Record<string, unknown>;
3856
3833
  }
3857
3834
  /**
3858
3835
  * Container for multiple authoring assets.
3859
3836
  */
3860
3837
  interface AuthoringAssetContainer {
3861
3838
  /** Asset count */
3862
- count?: number;
3839
+ Count?: number;
3863
3840
  /** Total available */
3864
- total?: number;
3841
+ Total?: number;
3865
3842
  /** List of assets */
3866
- results?: AuthoringAsset[];
3843
+ Results?: AuthoringAsset[];
3867
3844
  /** Pagination links */
3868
- links?: AssetLinks;
3845
+ Links?: AssetLinks;
3869
3846
  }
3870
3847
  /**
3871
3848
  * Container for asset versions.
3872
3849
  */
3873
3850
  interface AuthoringAssetVersionContainer {
3874
3851
  /** List of versions */
3875
- results?: AuthoringAssetVersion[];
3852
+ Results?: AuthoringAssetVersion[];
3876
3853
  }
3877
3854
  /**
3878
3855
  * Pagination links.
3879
3856
  */
3880
3857
  interface AssetLinks {
3881
3858
  /** Link to current page */
3882
- self?: string;
3859
+ Self?: string;
3883
3860
  /** Link to next page */
3884
- next?: string;
3861
+ Next?: string;
3885
3862
  /** Link to previous page */
3886
- prev?: string;
3863
+ Prev?: string;
3887
3864
  }
3888
3865
  /**
3889
3866
  * Asset rating.
3890
3867
  */
3891
3868
  interface AuthoringAssetRating {
3892
3869
  /** User's rating value (1-5) */
3893
- rating?: number;
3870
+ Rating?: number;
3894
3871
  /** When rated (ISO 8601) */
3895
- timestamp?: string;
3872
+ Timestamp?: string;
3896
3873
  }
3897
3874
  /**
3898
3875
  * Favorite asset reference.
3899
3876
  */
3900
3877
  interface FavoriteAsset {
3901
3878
  /** Asset ID */
3902
- assetId?: string;
3879
+ AssetId?: string;
3903
3880
  /** Asset kind */
3904
- assetKind?: AssetKind;
3881
+ AssetKind?: AssetKind;
3905
3882
  /** When favorited (ISO 8601) */
3906
- favoritedAt?: string;
3883
+ FavoritedAt?: string;
3907
3884
  }
3908
3885
  /**
3909
3886
  * Container for favorite assets.
3910
3887
  */
3911
3888
  interface AuthoringFavoritesContainer {
3912
3889
  /** List of favorites */
3913
- results?: FavoriteAsset[];
3890
+ Results?: FavoriteAsset[];
3914
3891
  /** Total count */
3915
- total?: number;
3892
+ Total?: number;
3916
3893
  }
3917
3894
  /**
3918
3895
  * Permission for an asset.
3919
3896
  */
3920
3897
  interface Permission {
3921
3898
  /** Player XUID */
3922
- player?: string;
3899
+ Player?: string;
3923
3900
  /** Permission type */
3924
- permissionType?: string;
3901
+ PermissionType?: string;
3925
3902
  /** Whether permission is granted */
3926
- granted?: boolean;
3903
+ Granted?: boolean;
3927
3904
  }
3928
3905
  /**
3929
3906
  * Asset report for moderation.
3930
3907
  */
3931
3908
  interface AssetReport {
3932
3909
  /** Report reason */
3933
- reason?: string;
3910
+ Reason?: string;
3934
3911
  /** Additional details */
3935
- details?: string;
3912
+ Details?: string;
3936
3913
  /** When reported (ISO 8601) */
3937
- timestamp?: string;
3914
+ Timestamp?: string;
3938
3915
  }
3939
3916
  /**
3940
3917
  * Authoring session for asset editing.
3941
3918
  */
3942
3919
  interface AssetAuthoringSession {
3943
3920
  /** Session identifier */
3944
- sessionId?: string;
3921
+ SessionId?: string;
3945
3922
  /** Session expiration (ISO 8601) */
3946
- expiresAt?: string;
3923
+ ExpiresAt?: string;
3947
3924
  /** Container SAS URL for uploads */
3948
- containerSas?: string;
3925
+ ContainerSas?: string;
3949
3926
  }
3950
3927
  /**
3951
3928
  * Session starter for creating new versions.
3952
3929
  */
3953
3930
  interface AuthoringSessionSourceStarter {
3954
3931
  /** Source asset ID (to clone from) */
3955
- sourceAssetId?: string;
3932
+ SourceAssetId?: string;
3956
3933
  /** Source version ID */
3957
- sourceVersionId?: string;
3934
+ SourceVersionId?: string;
3958
3935
  }
3959
3936
 
3960
3937
  /**
@@ -3976,129 +3953,129 @@ type ResultOrder = (typeof ResultOrder)[keyof typeof ResultOrder];
3976
3953
  */
3977
3954
  interface UgcSearchParams {
3978
3955
  /** Search term */
3979
- term?: string;
3956
+ Term?: string;
3980
3957
  /** Asset kinds to include */
3981
- assetKinds?: AssetKind[];
3958
+ AssetKinds?: AssetKind[];
3982
3959
  /** Tags to filter by */
3983
- tags?: string[];
3960
+ Tags?: string[];
3984
3961
  /** Author XUID */
3985
- author?: string;
3962
+ Author?: string;
3986
3963
  /** Sort field */
3987
- sort?: string;
3964
+ Sort?: string;
3988
3965
  /** Sort order */
3989
- order?: ResultOrder;
3966
+ Order?: ResultOrder;
3990
3967
  /** Number of results to return */
3991
- count?: number;
3968
+ Count?: number;
3992
3969
  /** Starting offset */
3993
- start?: number;
3970
+ Start?: number;
3994
3971
  }
3995
3972
  /**
3996
3973
  * Search result container.
3997
3974
  */
3998
3975
  interface UgcSearchResult {
3999
3976
  /** Search results */
4000
- results?: AuthoringAsset[];
3977
+ Results?: AuthoringAsset[];
4001
3978
  /** Total matching results */
4002
- totalCount?: number;
3979
+ TotalCount?: number;
4003
3980
  /** Returned count */
4004
- count?: number;
3981
+ Count?: number;
4005
3982
  /** Starting offset */
4006
- start?: number;
3983
+ Start?: number;
4007
3984
  /** Pagination links */
4008
- links?: SearchLinks;
3985
+ Links?: SearchLinks;
4009
3986
  }
4010
3987
  /**
4011
3988
  * Search pagination links.
4012
3989
  */
4013
3990
  interface SearchLinks {
4014
3991
  /** Current page */
4015
- self?: string;
3992
+ Self?: string;
4016
3993
  /** Next page */
4017
- next?: string;
3994
+ Next?: string;
4018
3995
  /** Previous page */
4019
- prev?: string;
3996
+ Prev?: string;
4020
3997
  }
4021
3998
  /**
4022
3999
  * Map variant asset.
4023
4000
  */
4024
- interface MapAsset extends Omit<AuthoringAsset, 'customData'> {
4001
+ interface MapAsset extends Omit<AuthoringAsset, 'CustomData'> {
4025
4002
  /** Map-specific custom data */
4026
- customData?: MapCustomData;
4003
+ CustomData?: MapCustomData;
4027
4004
  }
4028
4005
  /**
4029
4006
  * Map custom data.
4030
4007
  */
4031
4008
  interface MapCustomData {
4032
4009
  /** Number of supported players */
4033
- supportedPlayerCount?: number;
4010
+ SupportedPlayerCount?: number;
4034
4011
  /** Recommended player count */
4035
- recommendedPlayerCount?: number;
4012
+ RecommendedPlayerCount?: number;
4036
4013
  /** Budget usage */
4037
- budgetUsed?: number;
4014
+ BudgetUsed?: number;
4038
4015
  /** Object count */
4039
- objectCount?: number;
4016
+ ObjectCount?: number;
4040
4017
  /** Has lightmap */
4041
- hasLightmap?: boolean;
4018
+ HasLightmap?: boolean;
4042
4019
  }
4043
4020
  /**
4044
4021
  * Game variant asset.
4045
4022
  */
4046
- interface UgcGameVariantAsset extends Omit<AuthoringAsset, 'customData'> {
4023
+ interface UgcGameVariantAsset extends Omit<AuthoringAsset, 'CustomData'> {
4047
4024
  /** Game variant custom data */
4048
- customData?: GameVariantCustomData;
4025
+ CustomData?: GameVariantCustomData;
4049
4026
  }
4050
4027
  /**
4051
4028
  * Game variant custom data.
4052
4029
  */
4053
4030
  interface GameVariantCustomData {
4054
4031
  /** Game variant category */
4055
- category?: number;
4032
+ Category?: number;
4056
4033
  /** Score to win */
4057
- scoreToWin?: number;
4034
+ ScoreToWin?: number;
4058
4035
  /** Time limit */
4059
- timeLimit?: number;
4036
+ TimeLimit?: number;
4060
4037
  /** Rounds to win */
4061
- roundsToWin?: number;
4038
+ RoundsToWin?: number;
4062
4039
  /** Max players */
4063
- maxPlayers?: number;
4040
+ MaxPlayers?: number;
4064
4041
  /** Min players */
4065
- minPlayers?: number;
4042
+ MinPlayers?: number;
4066
4043
  }
4067
4044
  /**
4068
4045
  * Film asset (theater recording).
4069
4046
  */
4070
- interface FilmAsset extends Omit<AuthoringAsset, 'customData'> {
4047
+ interface FilmAsset extends Omit<AuthoringAsset, 'CustomData'> {
4071
4048
  /** Film custom data */
4072
- customData?: FilmCustomData;
4049
+ CustomData?: FilmCustomData;
4073
4050
  }
4074
4051
  /**
4075
4052
  * Film custom data.
4076
4053
  */
4077
4054
  interface FilmCustomData {
4078
4055
  /** Match ID this film is from */
4079
- matchId?: string;
4056
+ MatchId?: string;
4080
4057
  /** Duration of the film */
4081
- duration?: string;
4058
+ Duration?: string;
4082
4059
  /** Map asset ID */
4083
- mapAssetId?: string;
4060
+ MapAssetId?: string;
4084
4061
  /** Game variant asset ID */
4085
- gameVariantAssetId?: string;
4062
+ GameVariantAssetId?: string;
4086
4063
  }
4087
4064
  /**
4088
4065
  * Prefab asset.
4089
4066
  */
4090
- interface PrefabAsset extends Omit<AuthoringAsset, 'customData'> {
4067
+ interface PrefabAsset extends Omit<AuthoringAsset, 'CustomData'> {
4091
4068
  /** Prefab custom data */
4092
- customData?: PrefabCustomData;
4069
+ CustomData?: PrefabCustomData;
4093
4070
  }
4094
4071
  /**
4095
4072
  * Prefab custom data.
4096
4073
  */
4097
4074
  interface PrefabCustomData {
4098
4075
  /** Object count */
4099
- objectCount?: number;
4076
+ ObjectCount?: number;
4100
4077
  /** Budget usage */
4101
- budgetUsed?: number;
4078
+ BudgetUsed?: number;
4102
4079
  }
4103
4080
 
4104
4081
  /**
@@ -4337,7 +4314,7 @@ declare class UgcModule extends ModuleBase {
4337
4314
  * @param includeContainerSas - Include container SAS URL
4338
4315
  * @returns Session details
4339
4316
  */
4340
- startSession(title: string, assetType: string, assetId: string, includeContainerSas?: boolean): Promise<HaloApiResult<AssetAuthoringSession>>;
4317
+ startSession(title: string, assetType: string, assetId: string, starter?: AuthoringSessionSourceStarter, includeContainerSas?: boolean): Promise<HaloApiResult<AssetAuthoringSession>>;
4341
4318
  /**
4342
4319
  * Extend an authoring session.
4343
4320
  *
@@ -4401,8 +4378,6 @@ declare class UgcModule extends ModuleBase {
4401
4378
  *
4402
4379
  * Provides access to:
4403
4380
  * - Searching for maps, game variants, and other content
4404
- * - Browsing featured and popular content
4405
- * - Getting recommended content
4406
4381
  * - Getting specific asset types (maps, playlists, prefabs, etc.)
4407
4382
  *
4408
4383
  * @example
@@ -4416,9 +4391,6 @@ declare class UgcModule extends ModuleBase {
4416
4391
  *
4417
4392
  * // Get a specific map
4418
4393
  * const map = await client.ugcDiscovery.getMap('asset-id', 'version-id');
4419
- *
4420
- * // Get featured maps
4421
- * const featured = await client.ugcDiscovery.getFeatured('Map');
4422
4394
  * ```
4423
4395
  */
4424
4396
  declare class UgcDiscoveryModule extends ModuleBase {
@@ -4461,58 +4433,6 @@ declare class UgcDiscoveryModule extends ModuleBase {
4461
4433
  /** Maximum date published */
4462
4434
  toDatePublishedUtc?: Date;
4463
4435
  }): Promise<HaloApiResult<UgcSearchResult>>;
4464
- /**
4465
- * Get featured content of a specific type.
4466
- *
4467
- * @param assetKind - Type of asset
4468
- * @returns Featured assets
4469
- */
4470
- getFeatured(assetKind: string): Promise<HaloApiResult<UgcSearchResult>>;
4471
- /**
4472
- * Get popular content of a specific type.
4473
- *
4474
- * @param assetKind - Type of asset
4475
- * @param start - Starting offset
4476
- * @param count - Number of results
4477
- * @returns Popular assets
4478
- */
4479
- getPopular(assetKind: string, start?: number, count?: number): Promise<HaloApiResult<UgcSearchResult>>;
4480
- /**
4481
- * Get recent content of a specific type.
4482
- *
4483
- * @param assetKind - Type of asset
4484
- * @param start - Starting offset
4485
- * @param count - Number of results
4486
- * @returns Recent assets
4487
- */
4488
- getRecent(assetKind: string, start?: number, count?: number): Promise<HaloApiResult<UgcSearchResult>>;
4489
- /**
4490
- * Get recommended content for a player.
4491
- *
4492
- * @param player - Player XUID
4493
- * @param assetKind - Type of asset
4494
- * @param count - Number of results
4495
- * @returns Recommended assets
4496
- */
4497
- getRecommended(player: string, assetKind: string, count?: number): Promise<HaloApiResult<UgcSearchResult>>;
4498
- /**
4499
- * Browse content by tag.
4500
- *
4501
- * @param assetKind - Type of asset
4502
- * @param tag - Tag to filter by
4503
- * @param start - Starting offset
4504
- * @param count - Number of results
4505
- * @returns Tagged assets
4506
- */
4507
- browseByTag(assetKind: string, tag: string, start?: number, count?: number): Promise<HaloApiResult<UgcSearchResult>>;
4508
- /**
4509
- * Get asset details for discovery purposes.
4510
- *
4511
- * @param assetKind - Type of asset
4512
- * @param assetId - Asset GUID
4513
- * @returns Asset details
4514
- */
4515
- getAssetDetails(assetKind: string, assetId: string): Promise<HaloApiResult<AuthoringAsset>>;
4516
4436
  /**
4517
4437
  * Get tags information.
4518
4438
  *