@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.mjs CHANGED
@@ -708,9 +708,10 @@ var AcademyModule = class extends ModuleBase {
708
708
  */
709
709
  getBotCustomization(flightId) {
710
710
  const flightParam = flightId ? `?flight=${flightId}` : "";
711
- return this.get(`/hi/academy/botcustomization${flightParam}`, {
712
- useClearance: !!flightId
713
- });
711
+ return this.get(
712
+ `/hi/multiplayer/file/Academy/BotCustomizationData.json${flightParam}`,
713
+ { useClearance: true }
714
+ );
714
715
  }
715
716
  /**
716
717
  * Get academy content manifest.
@@ -718,7 +719,10 @@ var AcademyModule = class extends ModuleBase {
718
719
  * @returns Academy client manifest
719
720
  */
720
721
  getContent() {
721
- return this.get("/hi/academy/content");
722
+ return this.get(
723
+ "/hi/multiplayer/file/Academy/AcademyClientManifest.json",
724
+ { useClearance: true }
725
+ );
722
726
  }
723
727
  /**
724
728
  * Get test academy content (for flighted builds).
@@ -728,9 +732,9 @@ var AcademyModule = class extends ModuleBase {
728
732
  */
729
733
  getContentTest(clearanceId) {
730
734
  this.assertNotEmpty(clearanceId, "clearanceId");
731
- return this.get(`/hi/academy/content/test?clearanceId=${clearanceId}`, {
732
- useClearance: true
733
- });
735
+ return this.get(
736
+ `/hi/multiplayer/file/Academy/AcademyClientManifest_Test.json?flight=${clearanceId}`
737
+ );
734
738
  }
735
739
  /**
736
740
  * Get star/scoring definitions for academy drills.
@@ -738,7 +742,10 @@ var AcademyModule = class extends ModuleBase {
738
742
  * @returns Star definitions
739
743
  */
740
744
  getStarDefinitions() {
741
- return this.get("/hi/Progression/file/academy/stars");
745
+ return this.get(
746
+ "/hi/multiplayer/file/Academy/AcademyStarGUIDDefinitions.json",
747
+ { useClearance: true }
748
+ );
742
749
  }
743
750
  };
744
751
 
@@ -757,8 +764,8 @@ var BanProcessorModule = class extends ModuleBase {
757
764
  if (!targetList.length) {
758
765
  throw new Error("targetList cannot be empty");
759
766
  }
760
- const playersQuery = targetList.map((id) => `targetXuids=${id}`).join("&");
761
- return this.get(`/hi/bans/summary?${playersQuery}`);
767
+ const targets = targetList.map((id) => `xuid(${id})`).join(",");
768
+ return this.get(`/hi/bansummary?auth=st&targets=${targets}`);
762
769
  }
763
770
  };
764
771
 
@@ -775,9 +782,7 @@ var ConfigurationModule = class extends ModuleBase {
775
782
  * @returns API configuration
776
783
  */
777
784
  getApiSettingsContainer() {
778
- return this.getFullUrl(HALO_CORE_ENDPOINTS.HALO_INFINITE_SETTINGS, {
779
- useSpartanToken: false
780
- });
785
+ return this.getFullUrl(HALO_CORE_ENDPOINTS.HALO_INFINITE_SETTINGS);
781
786
  }
782
787
  };
783
788
 
@@ -797,7 +802,9 @@ var EconomyModule = class extends ModuleBase {
797
802
  */
798
803
  getInventoryItems(player) {
799
804
  this.assertNotEmpty(player, "player");
800
- return this.get(`/hi/players/xuid(${player})/inventory`);
805
+ return this.get(`/hi/players/xuid(${player})/inventory`, {
806
+ useClearance: true
807
+ });
801
808
  }
802
809
  /**
803
810
  * Get virtual currency balances for a player.
@@ -807,10 +814,12 @@ var EconomyModule = class extends ModuleBase {
807
814
  */
808
815
  getVirtualCurrencyBalances(player) {
809
816
  this.assertNotEmpty(player, "player");
810
- return this.get(`/hi/players/xuid(${player})/currencies`);
817
+ return this.get(`/hi/players/xuid(${player})/currencies`, {
818
+ useClearance: true
819
+ });
811
820
  }
812
821
  /**
813
- * Post a currency transaction.
822
+ * Get a currency transaction.
814
823
  *
815
824
  * @param player - Player's numeric XUID
816
825
  * @param currencyId - Currency identifier
@@ -819,8 +828,9 @@ var EconomyModule = class extends ModuleBase {
819
828
  postCurrencyTransaction(player, currencyId) {
820
829
  this.assertNotEmpty(player, "player");
821
830
  this.assertNotEmpty(currencyId, "currencyId");
822
- return this.post(
823
- `/hi/players/xuid(${player})/currencies/${currencyId}/transactions`
831
+ return this.get(
832
+ `/hi/players/xuid(${player})/currencies/${currencyId}/transactions`,
833
+ { useClearance: true }
824
834
  );
825
835
  }
826
836
  // ─────────────────────────────────────────────────────────────────
@@ -836,7 +846,8 @@ var EconomyModule = class extends ModuleBase {
836
846
  getPlayerCustomization(player, viewType = "public") {
837
847
  this.assertNotEmpty(player, "player");
838
848
  return this.get(
839
- `/hi/players/xuid(${player})/customization?view=${viewType}`
849
+ `/hi/players/xuid(${player})/customization?view=${viewType}`,
850
+ { useClearance: true }
840
851
  );
841
852
  }
842
853
  /**
@@ -847,7 +858,10 @@ var EconomyModule = class extends ModuleBase {
847
858
  */
848
859
  armorCoresCustomization(player) {
849
860
  this.assertNotEmpty(player, "player");
850
- return this.get(`/hi/players/xuid(${player})/customization/armors`);
861
+ return this.get(
862
+ `/hi/players/xuid(${player})/customization/armors`,
863
+ { useClearance: true }
864
+ );
851
865
  }
852
866
  /**
853
867
  * Get a specific armor core for a player.
@@ -859,7 +873,10 @@ var EconomyModule = class extends ModuleBase {
859
873
  armorCoreCustomization(player, coreId) {
860
874
  this.assertNotEmpty(player, "player");
861
875
  this.assertNotEmpty(coreId, "coreId");
862
- return this.get(`/hi/players/xuid(${player})/customization/armors/${coreId}`);
876
+ return this.get(
877
+ `/hi/players/xuid(${player})/customization/armors/${coreId}`,
878
+ { useClearance: true }
879
+ );
863
880
  }
864
881
  /**
865
882
  * Get all weapon cores for a player.
@@ -869,7 +886,10 @@ var EconomyModule = class extends ModuleBase {
869
886
  */
870
887
  weaponCoresCustomization(player) {
871
888
  this.assertNotEmpty(player, "player");
872
- return this.get(`/hi/players/xuid(${player})/customization/weapons`);
889
+ return this.get(
890
+ `/hi/players/xuid(${player})/customization/weapons`,
891
+ { useClearance: true }
892
+ );
873
893
  }
874
894
  /**
875
895
  * Get a specific weapon core for a player.
@@ -881,7 +901,10 @@ var EconomyModule = class extends ModuleBase {
881
901
  weaponCoreCustomization(player, coreId) {
882
902
  this.assertNotEmpty(player, "player");
883
903
  this.assertNotEmpty(coreId, "coreId");
884
- return this.get(`/hi/players/xuid(${player})/customization/weapons/${coreId}`);
904
+ return this.get(
905
+ `/hi/players/xuid(${player})/customization/weapons/${coreId}`,
906
+ { useClearance: true }
907
+ );
885
908
  }
886
909
  /**
887
910
  * Get all vehicle cores for a player.
@@ -891,7 +914,10 @@ var EconomyModule = class extends ModuleBase {
891
914
  */
892
915
  vehicleCoresCustomization(player) {
893
916
  this.assertNotEmpty(player, "player");
894
- return this.get(`/hi/players/xuid(${player})/customization/vehicles`);
917
+ return this.get(
918
+ `/hi/players/xuid(${player})/customization/vehicles`,
919
+ { useClearance: true }
920
+ );
895
921
  }
896
922
  /**
897
923
  * Get a specific vehicle core for a player.
@@ -903,7 +929,10 @@ var EconomyModule = class extends ModuleBase {
903
929
  vehicleCoreCustomization(player, coreId) {
904
930
  this.assertNotEmpty(player, "player");
905
931
  this.assertNotEmpty(coreId, "coreId");
906
- return this.get(`/hi/players/xuid(${player})/customization/vehicles/${coreId}`);
932
+ return this.get(
933
+ `/hi/players/xuid(${player})/customization/vehicles/${coreId}`,
934
+ { useClearance: true }
935
+ );
907
936
  }
908
937
  /**
909
938
  * Get all AI cores for a player.
@@ -913,7 +942,10 @@ var EconomyModule = class extends ModuleBase {
913
942
  */
914
943
  aiCoresCustomization(player) {
915
944
  this.assertNotEmpty(player, "player");
916
- return this.get(`/hi/players/xuid(${player})/customization/ais`);
945
+ return this.get(
946
+ `/hi/players/xuid(${player})/customization/ais`,
947
+ { useClearance: true }
948
+ );
917
949
  }
918
950
  /**
919
951
  * Get a specific AI core for a player.
@@ -925,7 +957,10 @@ var EconomyModule = class extends ModuleBase {
925
957
  aiCoreCustomization(player, coreId) {
926
958
  this.assertNotEmpty(player, "player");
927
959
  this.assertNotEmpty(coreId, "coreId");
928
- return this.get(`/hi/players/xuid(${player})/customization/ais/${coreId}`);
960
+ return this.get(
961
+ `/hi/players/xuid(${player})/customization/ais/${coreId}`,
962
+ { useClearance: true }
963
+ );
929
964
  }
930
965
  /**
931
966
  * Get Spartan body customization for a player.
@@ -935,7 +970,10 @@ var EconomyModule = class extends ModuleBase {
935
970
  */
936
971
  spartanBodyCustomization(player) {
937
972
  this.assertNotEmpty(player, "player");
938
- return this.get(`/hi/players/xuid(${player})/customization/spartanbody`);
973
+ return this.get(
974
+ `/hi/players/xuid(${player})/customization/spartanbody`,
975
+ { useClearance: true }
976
+ );
939
977
  }
940
978
  /**
941
979
  * Get appearance customization for a player.
@@ -946,7 +984,8 @@ var EconomyModule = class extends ModuleBase {
946
984
  playerAppearanceCustomization(player) {
947
985
  this.assertNotEmpty(player, "player");
948
986
  return this.get(
949
- `/hi/players/xuid(${player})/customization/appearance`
987
+ `/hi/players/xuid(${player})/customization/appearance`,
988
+ { useClearance: true }
950
989
  );
951
990
  }
952
991
  /**
@@ -960,7 +999,10 @@ var EconomyModule = class extends ModuleBase {
960
999
  throw new Error("playerIds cannot be empty");
961
1000
  }
962
1001
  const formattedPlayers = playerIds.map((id) => `xuid(${id})`).join(",");
963
- return this.get(`/hi/customization?players=${formattedPlayers}`);
1002
+ return this.get(
1003
+ `/hi/customization?players=${formattedPlayers}`,
1004
+ { useClearance: true }
1005
+ );
964
1006
  }
965
1007
  // ─────────────────────────────────────────────────────────────────
966
1008
  // Cores
@@ -973,7 +1015,10 @@ var EconomyModule = class extends ModuleBase {
973
1015
  */
974
1016
  getAllOwnedCoresDetails(player) {
975
1017
  this.assertNotEmpty(player, "player");
976
- return this.get(`/hi/players/xuid(${player})/cores`);
1018
+ return this.get(
1019
+ `/hi/players/xuid(${player})/cores`,
1020
+ { useClearance: true }
1021
+ );
977
1022
  }
978
1023
  /**
979
1024
  * Get details about a specific owned core.
@@ -985,7 +1030,10 @@ var EconomyModule = class extends ModuleBase {
985
1030
  getOwnedCoreDetails(player, coreId) {
986
1031
  this.assertNotEmpty(player, "player");
987
1032
  this.assertNotEmpty(coreId, "coreId");
988
- return this.get(`/hi/players/xuid(${player})/cores/${coreId}`);
1033
+ return this.get(
1034
+ `/hi/players/xuid(${player})/cores/${coreId}`,
1035
+ { useClearance: true }
1036
+ );
989
1037
  }
990
1038
  // ─────────────────────────────────────────────────────────────────
991
1039
  // Stores
@@ -998,7 +1046,9 @@ var EconomyModule = class extends ModuleBase {
998
1046
  */
999
1047
  getMainStore(player) {
1000
1048
  this.assertNotEmpty(player, "player");
1001
- return this.get(`/hi/players/xuid(${player})/stores/main`);
1049
+ return this.get(`/hi/players/xuid(${player})/stores/main`, {
1050
+ useClearance: true
1051
+ });
1002
1052
  }
1003
1053
  /**
1004
1054
  * Get the HCS (esports) store offerings.
@@ -1008,7 +1058,9 @@ var EconomyModule = class extends ModuleBase {
1008
1058
  */
1009
1059
  getHcsStore(player) {
1010
1060
  this.assertNotEmpty(player, "player");
1011
- return this.get(`/hi/players/xuid(${player})/stores/hcs`);
1061
+ return this.get(`/hi/players/xuid(${player})/stores/hcs`, {
1062
+ useClearance: true
1063
+ });
1012
1064
  }
1013
1065
  /**
1014
1066
  * Get the boosts store offerings.
@@ -1018,7 +1070,9 @@ var EconomyModule = class extends ModuleBase {
1018
1070
  */
1019
1071
  getBoostsStore(player) {
1020
1072
  this.assertNotEmpty(player, "player");
1021
- return this.get(`/hi/players/xuid(${player})/stores/boosts`);
1073
+ return this.get(`/hi/players/xuid(${player})/stores/boosts`, {
1074
+ useClearance: true
1075
+ });
1022
1076
  }
1023
1077
  /**
1024
1078
  * Get the soft currency (Spartan Points) store.
@@ -1028,7 +1082,10 @@ var EconomyModule = class extends ModuleBase {
1028
1082
  */
1029
1083
  getSoftCurrencyStore(player) {
1030
1084
  this.assertNotEmpty(player, "player");
1031
- return this.get(`/hi/players/xuid(${player})/stores/softcurrency`);
1085
+ return this.get(
1086
+ `/hi/players/xuid(${player})/stores/softcurrencyoffers`,
1087
+ { useClearance: true }
1088
+ );
1032
1089
  }
1033
1090
  /**
1034
1091
  * Get the customization store offerings.
@@ -1038,7 +1095,10 @@ var EconomyModule = class extends ModuleBase {
1038
1095
  */
1039
1096
  getCustomizationStore(player) {
1040
1097
  this.assertNotEmpty(player, "player");
1041
- return this.get(`/hi/players/xuid(${player})/stores/customization`);
1098
+ return this.get(
1099
+ `/hi/players/xuid(${player})/stores/customizationoffers`,
1100
+ { useClearance: true }
1101
+ );
1042
1102
  }
1043
1103
  /**
1044
1104
  * Get the operations store offerings.
@@ -1048,7 +1108,10 @@ var EconomyModule = class extends ModuleBase {
1048
1108
  */
1049
1109
  getOperationsStore(player) {
1050
1110
  this.assertNotEmpty(player, "player");
1051
- return this.get(`/hi/players/xuid(${player})/stores/operations`);
1111
+ return this.get(
1112
+ `/hi/players/xuid(${player})/stores/operations`,
1113
+ { useClearance: true }
1114
+ );
1052
1115
  }
1053
1116
  /**
1054
1117
  * Get the operation reward levels store.
@@ -1058,7 +1121,10 @@ var EconomyModule = class extends ModuleBase {
1058
1121
  */
1059
1122
  getOperationRewardLevelsStore(player) {
1060
1123
  this.assertNotEmpty(player, "player");
1061
- return this.get(`/hi/players/xuid(${player})/stores/operationrewardlevels`);
1124
+ return this.get(
1125
+ `/hi/players/xuid(${player})/stores/operationrewardlevels`,
1126
+ { useClearance: true }
1127
+ );
1062
1128
  }
1063
1129
  /**
1064
1130
  * Get the XP grants store.
@@ -1068,7 +1134,10 @@ var EconomyModule = class extends ModuleBase {
1068
1134
  */
1069
1135
  getXpGrantsStore(player) {
1070
1136
  this.assertNotEmpty(player, "player");
1071
- return this.get(`/hi/players/xuid(${player})/stores/xpgrants`);
1137
+ return this.get(
1138
+ `/hi/players/xuid(${player})/stores/xpgrants`,
1139
+ { useClearance: true }
1140
+ );
1072
1141
  }
1073
1142
  /**
1074
1143
  * Get items from a credit sub-store.
@@ -1087,7 +1156,8 @@ var EconomyModule = class extends ModuleBase {
1087
1156
  }
1088
1157
  const paddedIndex = storeIndex.toString().padStart(2, "0");
1089
1158
  return this.get(
1090
- `/hi/players/xuid(${player})/stores/creditsubstorefront${paddedIndex}`
1159
+ `/hi/players/xuid(${player})/stores/creditsubstorefront${paddedIndex}`,
1160
+ { useClearance: true }
1091
1161
  );
1092
1162
  }
1093
1163
  /**
@@ -1107,7 +1177,8 @@ var EconomyModule = class extends ModuleBase {
1107
1177
  }
1108
1178
  const paddedIndex = storeIndex.toString().padStart(2, "0");
1109
1179
  return this.get(
1110
- `/hi/players/xuid(${player})/stores/softcurrencysubstorefront${paddedIndex}`
1180
+ `/hi/players/xuid(${player})/stores/softcurrencysubstorefront${paddedIndex}`,
1181
+ { useClearance: true }
1111
1182
  );
1112
1183
  }
1113
1184
  /**
@@ -1121,7 +1192,8 @@ var EconomyModule = class extends ModuleBase {
1121
1192
  this.assertNotEmpty(player, "player");
1122
1193
  this.assertNotEmpty(storeId, "storeId");
1123
1194
  return this.get(
1124
- `/hi/players/xuid(${player})/stores/${storeId}/scheduled`
1195
+ `/hi/players/xuid(${player})/stores/${storeId}`,
1196
+ { useClearance: true }
1125
1197
  );
1126
1198
  }
1127
1199
  // ─────────────────────────────────────────────────────────────────
@@ -1135,7 +1207,10 @@ var EconomyModule = class extends ModuleBase {
1135
1207
  */
1136
1208
  getActiveBoosts(player) {
1137
1209
  this.assertNotEmpty(player, "player");
1138
- return this.get(`/hi/players/xuid(${player})/boosts`);
1210
+ return this.get(
1211
+ `/hi/players/xuid(${player})/boosts`,
1212
+ { useClearance: true }
1213
+ );
1139
1214
  }
1140
1215
  /**
1141
1216
  * Get awarded rewards for a player.
@@ -1148,7 +1223,8 @@ var EconomyModule = class extends ModuleBase {
1148
1223
  this.assertNotEmpty(player, "player");
1149
1224
  this.assertNotEmpty(rewardId, "rewardId");
1150
1225
  return this.get(
1151
- `/hi/players/xuid(${player})/rewards/${rewardId}`
1226
+ `/hi/players/xuid(${player})/rewards/${rewardId}`,
1227
+ { useClearance: true }
1152
1228
  );
1153
1229
  }
1154
1230
  /**
@@ -1159,7 +1235,10 @@ var EconomyModule = class extends ModuleBase {
1159
1235
  */
1160
1236
  getGiveawayRewards(player) {
1161
1237
  this.assertNotEmpty(player, "player");
1162
- return this.get(`/hi/players/xuid(${player})/giveaways`);
1238
+ return this.get(
1239
+ `/hi/players/xuid(${player})/giveaways`,
1240
+ { useClearance: true }
1241
+ );
1163
1242
  }
1164
1243
  // ─────────────────────────────────────────────────────────────────
1165
1244
  // Reward Tracks / Operations
@@ -1177,19 +1256,22 @@ var EconomyModule = class extends ModuleBase {
1177
1256
  this.assertNotEmpty(rewardTrackType, "rewardTrackType");
1178
1257
  this.assertNotEmpty(trackId, "trackId");
1179
1258
  return this.get(
1180
- `/hi/players/xuid(${player})/rewardtracks/${rewardTrackType}/${trackId}`
1259
+ `/hi/players/xuid(${player})/rewardtracks/${rewardTrackType}s/${trackId}`,
1260
+ { useClearance: true }
1181
1261
  );
1182
1262
  }
1183
1263
  /**
1184
1264
  * Get operation progress for a player.
1185
1265
  *
1186
1266
  * @param player - Player's numeric XUID
1267
+ * @param flightId - Flight/clearance ID
1187
1268
  * @returns Operation reward track snapshot
1188
1269
  */
1189
- getPlayerOperations(player) {
1270
+ getPlayerOperations(player, flightId) {
1190
1271
  this.assertNotEmpty(player, "player");
1272
+ const flightParam = flightId ? `?flight=${flightId}` : "";
1191
1273
  return this.get(
1192
- `/hi/players/xuid(${player})/operations`,
1274
+ `/hi/players/xuid(${player})/rewardtracks/operations${flightParam}`,
1193
1275
  { useClearance: true }
1194
1276
  );
1195
1277
  }
@@ -1229,7 +1311,7 @@ var GameCmsModule = class extends ModuleBase {
1229
1311
  this.assertNotEmpty(itemPath, "itemPath");
1230
1312
  const flightParam = flightId ? `?flight=${flightId}` : "";
1231
1313
  return this.get(`/hi/Progression/file/${itemPath}${flightParam}`, {
1232
- useClearance: !!flightId
1314
+ useClearance: true
1233
1315
  });
1234
1316
  }
1235
1317
  /**
@@ -1240,9 +1322,10 @@ var GameCmsModule = class extends ModuleBase {
1240
1322
  */
1241
1323
  getCustomizationCatalog(flightId) {
1242
1324
  const flightParam = flightId ? `?flight=${flightId}` : "";
1243
- return this.get(`/hi/Progression/file/inventory/catalog${flightParam}`, {
1244
- useClearance: !!flightId
1245
- });
1325
+ return this.get(
1326
+ `/hi/Progression/file/inventory/catalog/inventory_catalog.json${flightParam}`,
1327
+ { useClearance: true }
1328
+ );
1246
1329
  }
1247
1330
  /**
1248
1331
  * Get a store offering definition.
@@ -1252,7 +1335,9 @@ var GameCmsModule = class extends ModuleBase {
1252
1335
  */
1253
1336
  getStoreOffering(offeringPath) {
1254
1337
  this.assertNotEmpty(offeringPath, "offeringPath");
1255
- return this.get(`/hi/Progression/file/${offeringPath}`);
1338
+ return this.get(`/hi/Progression/file/${offeringPath}`, {
1339
+ useClearance: true
1340
+ });
1256
1341
  }
1257
1342
  /**
1258
1343
  * Get a currency definition.
@@ -1264,7 +1349,10 @@ var GameCmsModule = class extends ModuleBase {
1264
1349
  getCurrency(currencyPath, flightId) {
1265
1350
  this.assertNotEmpty(currencyPath, "currencyPath");
1266
1351
  const flightParam = flightId ? `?flight=${flightId}` : "";
1267
- return this.get(`/hi/Progression/file/${currencyPath}${flightParam}`);
1352
+ return this.get(
1353
+ `/hi/Progression/file/${currencyPath}${flightParam}`,
1354
+ { useClearance: true }
1355
+ );
1268
1356
  }
1269
1357
  // ─────────────────────────────────────────────────────────────────
1270
1358
  // Challenges & Events
@@ -1280,7 +1368,7 @@ var GameCmsModule = class extends ModuleBase {
1280
1368
  this.assertNotEmpty(challengePath, "challengePath");
1281
1369
  const flightParam = flightId ? `?flight=${flightId}` : "";
1282
1370
  return this.get(`/hi/Progression/file/${challengePath}${flightParam}`, {
1283
- useClearance: !!flightId
1371
+ useClearance: true
1284
1372
  });
1285
1373
  }
1286
1374
  /**
@@ -1295,7 +1383,7 @@ var GameCmsModule = class extends ModuleBase {
1295
1383
  const flightParam = flightId ? `?flight=${flightId}` : "";
1296
1384
  return this.get(
1297
1385
  `/hi/Progression/file/${challengeDeckPath}${flightParam}`,
1298
- { useClearance: !!flightId }
1386
+ { useClearance: true }
1299
1387
  );
1300
1388
  }
1301
1389
  /**
@@ -1309,7 +1397,7 @@ var GameCmsModule = class extends ModuleBase {
1309
1397
  this.assertNotEmpty(eventPath, "eventPath");
1310
1398
  const flightParam = flightId ? `?flight=${flightId}` : "";
1311
1399
  return this.get(`/hi/Progression/file/${eventPath}${flightParam}`, {
1312
- useClearance: !!flightId
1400
+ useClearance: true
1313
1401
  });
1314
1402
  }
1315
1403
  // ─────────────────────────────────────────────────────────────────
@@ -1334,7 +1422,10 @@ var GameCmsModule = class extends ModuleBase {
1334
1422
  * @returns Season calendar
1335
1423
  */
1336
1424
  getSeasonCalendar() {
1337
- return this.get("/hi/Progression/file/calendars/seasons");
1425
+ return this.get(
1426
+ "/hi/Progression/file/Calendars/Seasons/SeasonCalendar.json",
1427
+ { useClearance: true }
1428
+ );
1338
1429
  }
1339
1430
  /**
1340
1431
  * Get the CSR/ranked season calendar.
@@ -1342,7 +1433,10 @@ var GameCmsModule = class extends ModuleBase {
1342
1433
  * @returns CSR season calendar
1343
1434
  */
1344
1435
  getCsrCalendar() {
1345
- return this.get("/hi/Progression/file/calendars/csrseasons");
1436
+ return this.get(
1437
+ "/hi/Progression/file/Csr/Calendars/CsrSeasonCalendar.json",
1438
+ { useClearance: true }
1439
+ );
1346
1440
  }
1347
1441
  /**
1348
1442
  * Get a season reward track definition.
@@ -1355,7 +1449,7 @@ var GameCmsModule = class extends ModuleBase {
1355
1449
  this.assertNotEmpty(seasonPath, "seasonPath");
1356
1450
  const flightParam = flightId ? `?flight=${flightId}` : "";
1357
1451
  return this.get(`/hi/Progression/file/${seasonPath}${flightParam}`, {
1358
- useClearance: !!flightId
1452
+ useClearance: true
1359
1453
  });
1360
1454
  }
1361
1455
  // ─────────────────────────────────────────────────────────────────
@@ -1377,9 +1471,10 @@ var GameCmsModule = class extends ModuleBase {
1377
1471
  */
1378
1472
  getMetadata(flightId) {
1379
1473
  const flightParam = flightId ? `?flight=${flightId}` : "";
1380
- return this.get(`/hi/Progression/file/metadata${flightParam}`, {
1381
- useClearance: !!flightId
1382
- });
1474
+ return this.get(
1475
+ `/hi/Progression/file/metadata/metadata.json${flightParam}`,
1476
+ { useClearance: true }
1477
+ );
1383
1478
  }
1384
1479
  // ─────────────────────────────────────────────────────────────────
1385
1480
  // News & Guides
@@ -1392,15 +1487,9 @@ var GameCmsModule = class extends ModuleBase {
1392
1487
  */
1393
1488
  getNews(filePath) {
1394
1489
  this.assertNotEmpty(filePath, "filePath");
1395
- return this.get(`/hi/news/${filePath}`);
1396
- }
1397
- /**
1398
- * Get academy star definitions.
1399
- *
1400
- * @returns Star definitions
1401
- */
1402
- getAcademyStarDefinitions() {
1403
- return this.get("/hi/Progression/file/academy/stars");
1490
+ return this.get(`/hi/news/file/${filePath}`, {
1491
+ useClearance: true
1492
+ });
1404
1493
  }
1405
1494
  // ─────────────────────────────────────────────────────────────────
1406
1495
  // Raw Files & Images
@@ -1413,7 +1502,10 @@ var GameCmsModule = class extends ModuleBase {
1413
1502
  */
1414
1503
  getImage(filePath) {
1415
1504
  this.assertNotEmpty(filePath, "filePath");
1416
- return this.get(`/hi/images/file/${filePath}`, { returnRaw: true });
1505
+ return this.get(`/hi/images/file/${filePath}`, {
1506
+ returnRaw: true,
1507
+ useClearance: true
1508
+ });
1417
1509
  }
1418
1510
  /**
1419
1511
  * Get a generic file from the CMS.
@@ -1434,7 +1526,9 @@ var GameCmsModule = class extends ModuleBase {
1434
1526
  */
1435
1527
  getProgressionFile(filePath) {
1436
1528
  this.assertNotEmpty(filePath, "filePath");
1437
- return this.get(`/hi/Progression/file/${filePath}`);
1529
+ return this.get(`/hi/Progression/file/${filePath}`, {
1530
+ useClearance: true
1531
+ });
1438
1532
  }
1439
1533
  // ─────────────────────────────────────────────────────────────────
1440
1534
  // Achievements & Settings
@@ -1445,7 +1539,10 @@ var GameCmsModule = class extends ModuleBase {
1445
1539
  * @returns Achievement collection
1446
1540
  */
1447
1541
  getAchievements() {
1448
- return this.get("/hi/Multiplayer/file/Live/Achievements.json");
1542
+ return this.get(
1543
+ "/hi/Multiplayer/file/Live/Achievements.json",
1544
+ { useClearance: true }
1545
+ );
1449
1546
  }
1450
1547
  /**
1451
1548
  * Get the Play Now button settings (fallback playlist).
@@ -1454,7 +1551,8 @@ var GameCmsModule = class extends ModuleBase {
1454
1551
  */
1455
1552
  getPlayNowButtonSettings() {
1456
1553
  return this.get(
1457
- "/hi/Multiplayer/file/playlists/playNowButton/settings.json"
1554
+ "/hi/Multiplayer/file/playlists/playNowButton/settings.json",
1555
+ { useClearance: true }
1458
1556
  );
1459
1557
  }
1460
1558
  /**
@@ -1463,7 +1561,10 @@ var GameCmsModule = class extends ModuleBase {
1463
1561
  * @returns Custom game definition
1464
1562
  */
1465
1563
  getCustomGameDefaults() {
1466
- return this.get("/hi/Multiplayer/file/NonMatchmaking/customgame.json");
1564
+ return this.get(
1565
+ "/hi/Multiplayer/file/NonMatchmaking/customgame.json",
1566
+ { useClearance: true }
1567
+ );
1467
1568
  }
1468
1569
  /**
1469
1570
  * Get lobby error messages.
@@ -1474,7 +1575,8 @@ var GameCmsModule = class extends ModuleBase {
1474
1575
  getLobbyErrorMessages(flightId) {
1475
1576
  this.assertNotEmpty(flightId, "flightId");
1476
1577
  return this.get(
1477
- `/hi/Multiplayer/file/gameStartErrorMessages/LobbyHoppperErrorMessageList.json?flight=${flightId}`
1578
+ `/hi/Multiplayer/file/gameStartErrorMessages/LobbyHoppperErrorMessageList.json?flight=${flightId}`,
1579
+ { useClearance: true }
1478
1580
  );
1479
1581
  }
1480
1582
  /**
@@ -1486,7 +1588,8 @@ var GameCmsModule = class extends ModuleBase {
1486
1588
  getNetworkConfiguration(flightId) {
1487
1589
  this.assertNotEmpty(flightId, "flightId");
1488
1590
  return this.get(
1489
- `/hi/Multiplayer/file/network/config.json?flight=${flightId}`
1591
+ `/hi/Multiplayer/file/network/config.json?flight=${flightId}`,
1592
+ { useClearance: true }
1490
1593
  );
1491
1594
  }
1492
1595
  /**
@@ -1510,7 +1613,10 @@ var GameCmsModule = class extends ModuleBase {
1510
1613
  * @returns Async compute override configuration
1511
1614
  */
1512
1615
  getAsyncComputeOverrides() {
1513
- return this.get("/hi/Specs/file/graphics/AsyncComputeOverrides.json");
1616
+ return this.get(
1617
+ "/hi/Specs/file/graphics/AsyncComputeOverrides.json",
1618
+ { useClearance: true }
1619
+ );
1514
1620
  }
1515
1621
  /**
1516
1622
  * Get CPU presets.
@@ -1518,7 +1624,10 @@ var GameCmsModule = class extends ModuleBase {
1518
1624
  * @returns CPU preset configuration
1519
1625
  */
1520
1626
  getCpuPresets() {
1521
- return this.get("/hi/Specs/file/cpu/presets.json");
1627
+ return this.get(
1628
+ "/hi/Specs/file/cpu/presets.json",
1629
+ { useClearance: true }
1630
+ );
1522
1631
  }
1523
1632
  /**
1524
1633
  * Get device preset overrides.
@@ -1526,7 +1635,10 @@ var GameCmsModule = class extends ModuleBase {
1526
1635
  * @returns Device preset overrides
1527
1636
  */
1528
1637
  getDevicePresetOverrides() {
1529
- return this.get("/hi/Specs/file/graphics/DevicePresetOverrides.json");
1638
+ return this.get(
1639
+ "/hi/Specs/file/graphics/DevicePresetOverrides.json",
1640
+ { useClearance: true }
1641
+ );
1530
1642
  }
1531
1643
  /**
1532
1644
  * Get graphics spec control overrides.
@@ -1535,7 +1647,8 @@ var GameCmsModule = class extends ModuleBase {
1535
1647
  */
1536
1648
  getGraphicsSpecControlOverrides() {
1537
1649
  return this.get(
1538
- "/hi/Specs/file/graphics/GraphicsSpecControlOverrides.json"
1650
+ "/hi/Specs/file/graphics/GraphicsSpecControlOverrides.json",
1651
+ { useClearance: true }
1539
1652
  );
1540
1653
  }
1541
1654
  /**
@@ -1544,7 +1657,10 @@ var GameCmsModule = class extends ModuleBase {
1544
1657
  * @returns Graphics overrides
1545
1658
  */
1546
1659
  getGraphicSpecs() {
1547
- return this.get("/hi/Specs/file/graphics/overrides.json");
1660
+ return this.get(
1661
+ "/hi/Specs/file/graphics/overrides.json",
1662
+ { useClearance: true }
1663
+ );
1548
1664
  }
1549
1665
  /**
1550
1666
  * Get recommended drivers.
@@ -1552,7 +1668,10 @@ var GameCmsModule = class extends ModuleBase {
1552
1668
  * @returns Driver manifest
1553
1669
  */
1554
1670
  getRecommendedDrivers() {
1555
- return this.get("/hi/Specs/file/graphics/RecommendedDrivers.json");
1671
+ return this.get(
1672
+ "/hi/Specs/file/graphics/RecommendedDrivers.json",
1673
+ { useClearance: true }
1674
+ );
1556
1675
  }
1557
1676
  // ─────────────────────────────────────────────────────────────────
1558
1677
  // Title Authorization & Access
@@ -1566,7 +1685,8 @@ var GameCmsModule = class extends ModuleBase {
1566
1685
  getClawAccess(flightId) {
1567
1686
  this.assertNotEmpty(flightId, "flightId");
1568
1687
  return this.get(
1569
- `/hi/TitleAuthorization/file/claw/access.json?flight=${flightId}`
1688
+ `/hi/TitleAuthorization/file/claw/access.json?flight=${flightId}`,
1689
+ { useClearance: true }
1570
1690
  );
1571
1691
  }
1572
1692
  /**
@@ -1589,7 +1709,10 @@ var GameCmsModule = class extends ModuleBase {
1589
1709
  */
1590
1710
  getGuideImages(flightId) {
1591
1711
  this.assertNotEmpty(flightId, "flightId");
1592
- return this.get(`/hi/images/guide/xo?flight=${flightId}`);
1712
+ return this.get(
1713
+ `/hi/images/guide/xo?flight=${flightId}`,
1714
+ { useClearance: true }
1715
+ );
1593
1716
  }
1594
1717
  /**
1595
1718
  * Get guide for multiplayer files.
@@ -1599,7 +1722,10 @@ var GameCmsModule = class extends ModuleBase {
1599
1722
  */
1600
1723
  getGuideMultiplayer(flightId) {
1601
1724
  this.assertNotEmpty(flightId, "flightId");
1602
- return this.get(`/hi/Multiplayer/guide/xo?flight=${flightId}`);
1725
+ return this.get(
1726
+ `/hi/Multiplayer/guide/xo?flight=${flightId}`,
1727
+ { useClearance: true }
1728
+ );
1603
1729
  }
1604
1730
  /**
1605
1731
  * Get guide for news files.
@@ -1609,7 +1735,10 @@ var GameCmsModule = class extends ModuleBase {
1609
1735
  */
1610
1736
  getGuideNews(flightId) {
1611
1737
  this.assertNotEmpty(flightId, "flightId");
1612
- return this.get(`/hi/News/guide/xo?flight=${flightId}`);
1738
+ return this.get(
1739
+ `/hi/News/guide/xo?flight=${flightId}`,
1740
+ { useClearance: true }
1741
+ );
1613
1742
  }
1614
1743
  /**
1615
1744
  * Get guide for progression files.
@@ -1619,7 +1748,10 @@ var GameCmsModule = class extends ModuleBase {
1619
1748
  */
1620
1749
  getGuideProgression(flightId) {
1621
1750
  this.assertNotEmpty(flightId, "flightId");
1622
- return this.get(`/hi/Progression/guide/xo?flight=${flightId}`);
1751
+ return this.get(
1752
+ `/hi/Progression/guide/xo?flight=${flightId}`,
1753
+ { useClearance: true }
1754
+ );
1623
1755
  }
1624
1756
  /**
1625
1757
  * Get guide for spec files.
@@ -1629,7 +1761,10 @@ var GameCmsModule = class extends ModuleBase {
1629
1761
  */
1630
1762
  getGuideSpecs(flightId) {
1631
1763
  this.assertNotEmpty(flightId, "flightId");
1632
- return this.get(`/hi/Specs/guide/xo?flight=${flightId}`);
1764
+ return this.get(
1765
+ `/hi/Specs/guide/xo?flight=${flightId}`,
1766
+ { useClearance: true }
1767
+ );
1633
1768
  }
1634
1769
  /**
1635
1770
  * Get guide for title authorization files.
@@ -1639,7 +1774,10 @@ var GameCmsModule = class extends ModuleBase {
1639
1774
  */
1640
1775
  getGuideTitleAuthorization(flightId) {
1641
1776
  this.assertNotEmpty(flightId, "flightId");
1642
- return this.get(`/hi/TitleAuthorization/guide/xo?flight=${flightId}`);
1777
+ return this.get(
1778
+ `/hi/TitleAuthorization/guide/xo?flight=${flightId}`,
1779
+ { useClearance: true }
1780
+ );
1643
1781
  }
1644
1782
  // ─────────────────────────────────────────────────────────────────
1645
1783
  // Waypoint Files
@@ -1675,7 +1813,7 @@ var LobbyModule = class extends ModuleBase {
1675
1813
  * @returns List of servers
1676
1814
  */
1677
1815
  getQosServers() {
1678
- return this.get("/hi/qosservers");
1816
+ return this.get("/titles/hi/qosservers");
1679
1817
  }
1680
1818
  /**
1681
1819
  * Check presence for players in lobbies.
@@ -1683,11 +1821,8 @@ var LobbyModule = class extends ModuleBase {
1683
1821
  * @param presenceRequest - Presence request container
1684
1822
  * @returns Presence results
1685
1823
  */
1686
- presence(presenceRequest) {
1687
- return this.postJson(
1688
- "/hi/presence",
1689
- presenceRequest
1690
- );
1824
+ presence() {
1825
+ return this.get("/hi/presence");
1691
1826
  }
1692
1827
  /**
1693
1828
  * Get a third-party join handle for a lobby.
@@ -1702,7 +1837,7 @@ var LobbyModule = class extends ModuleBase {
1702
1837
  this.assertNotEmpty(lobbyId, "lobbyId");
1703
1838
  this.assertNotEmpty(player, "player");
1704
1839
  return this.get(
1705
- `/hi/lobbies/${lobbyId}/players/xuid(${player})/joinhandle?handleAudience=${handleAudience}&handlePlatform=${handlePlatform}`
1840
+ `/hi/lobbies/${lobbyId}/players/xuid(${player})/thirdPartyJoinHandle?audience=${handleAudience}&platform=${handlePlatform}`
1706
1841
  );
1707
1842
  }
1708
1843
  /**
@@ -1719,7 +1854,7 @@ var LobbyModule = class extends ModuleBase {
1719
1854
  this.assertNotEmpty(player, "player");
1720
1855
  return this.client.executeRequest(
1721
1856
  this.buildUrl(`/hi/lobbies/${lobbyId}/players/xuid(${player})?auth=${auth}`),
1722
- "POST",
1857
+ "PUT",
1723
1858
  {
1724
1859
  body: lobbyBootstrapPayload,
1725
1860
  contentType: "bond"
@@ -1741,7 +1876,9 @@ var SettingsModule = class extends ModuleBase {
1741
1876
  */
1742
1877
  getFlightedFeatureFlags(flightId) {
1743
1878
  this.assertNotEmpty(flightId, "flightId");
1744
- return this.get(`/featureflags/hi?flight=${flightId}`);
1879
+ return this.get(`/featureflags/hi?flight=${flightId}`, {
1880
+ useClearance: true
1881
+ });
1745
1882
  }
1746
1883
  /**
1747
1884
  * Get the currently active clearance.
@@ -1806,7 +1943,8 @@ var SettingsModule = class extends ModuleBase {
1806
1943
  this.assertNotEmpty(buildNumber, "buildNumber");
1807
1944
  this.assertNotEmpty(release, "release");
1808
1945
  return this.get(
1809
- `/oban/flight-configurations/titles/hi/audiences/${audience}/players/xuid(${player})/active?sandbox=${sandbox}&build=${buildNumber}&release=${release}`
1946
+ `/oban/flight-configurations/titles/hi/audiences/${audience}/players/xuid(${player})/active?sandbox=${sandbox}&build=${buildNumber}&release=${release}`,
1947
+ { useClearance: true }
1810
1948
  );
1811
1949
  }
1812
1950
  /**
@@ -1846,9 +1984,10 @@ var SkillModule = class extends ModuleBase {
1846
1984
  if (!playerIds.length) {
1847
1985
  throw new Error("playerIds cannot be empty");
1848
1986
  }
1849
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
1987
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1850
1988
  return this.get(
1851
- `/hi/matches/${matchId}/skill?${playersQuery}`
1989
+ `/hi/matches/${matchId}/skill?players=${players}`,
1990
+ { useClearance: true }
1852
1991
  );
1853
1992
  }
1854
1993
  /**
@@ -1864,10 +2003,11 @@ var SkillModule = class extends ModuleBase {
1864
2003
  if (!playerIds.length) {
1865
2004
  throw new Error("playerIds cannot be empty");
1866
2005
  }
1867
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
2006
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1868
2007
  const seasonParam = seasonId ? `&seasonId=${seasonId}` : "";
1869
2008
  return this.get(
1870
- `/hi/playlist/${playlistId}/csrs?${playersQuery}${seasonParam}`
2009
+ `/hi/playlist/${playlistId}/csrs?players=${players}${seasonParam}`,
2010
+ { useClearance: true }
1871
2011
  );
1872
2012
  }
1873
2013
  };
@@ -2000,14 +2140,6 @@ var TextModerationModule = class extends ModuleBase {
2000
2140
  constructor(client) {
2001
2141
  super(client, HALO_CORE_ENDPOINTS.TEXT_ORIGIN);
2002
2142
  }
2003
- /**
2004
- * Get a moderation key for text validation.
2005
- *
2006
- * @returns Moderation key
2007
- */
2008
- getModerationKey() {
2009
- return this.get("/hi/moderation/key");
2010
- }
2011
2143
  /**
2012
2144
  * Get a specific moderation proof signing key.
2013
2145
  *
@@ -2152,9 +2284,9 @@ var UgcModule = class extends ModuleBase {
2152
2284
  favoriteAnAsset(player, assetType, assetId) {
2153
2285
  this.assertNotEmpty(player, "player");
2154
2286
  this.assertNotEmpty(assetId, "assetId");
2155
- return this.postJson(
2156
- `/hi/players/xuid(${player})/favorites`,
2157
- { assetId, assetKind: assetType }
2287
+ return this.putJson(
2288
+ `/hi/players/xuid(${player})/favorites/${assetType}/${assetId}`,
2289
+ {}
2158
2290
  );
2159
2291
  }
2160
2292
  /**
@@ -2244,7 +2376,7 @@ var UgcModule = class extends ModuleBase {
2244
2376
  reportAnAsset(player, assetType, assetId, report) {
2245
2377
  this.assertNotEmpty(player, "player");
2246
2378
  this.assertNotEmpty(assetId, "assetId");
2247
- return this.postJson(
2379
+ return this.putJson(
2248
2380
  `/hi/players/xuid(${player})/reports/${assetType}/${assetId}`,
2249
2381
  report
2250
2382
  );
@@ -2334,7 +2466,7 @@ var UgcModule = class extends ModuleBase {
2334
2466
  this.assertNotEmpty(assetId, "assetId");
2335
2467
  this.assertNotEmpty(versionId, "versionId");
2336
2468
  return this.post(
2337
- `/hi/${assetType}/${assetId}/versions/${versionId}/publish?clearanceId=${clearanceId}`
2469
+ `/hi/${assetType}/${assetId}/publish/${versionId}?clearanceId=${clearanceId}`
2338
2470
  );
2339
2471
  }
2340
2472
  /**
@@ -2365,7 +2497,7 @@ var UgcModule = class extends ModuleBase {
2365
2497
  this.assertNotEmpty(title, "title");
2366
2498
  this.assertNotEmpty(assetId, "assetId");
2367
2499
  this.assertNotEmpty(player, "player");
2368
- return this.putJson(
2500
+ return this.patchJson(
2369
2501
  `/${title}/${assetType}/${assetId}/permissions/xuid(${player})`,
2370
2502
  permission
2371
2503
  );
@@ -2382,11 +2514,12 @@ var UgcModule = class extends ModuleBase {
2382
2514
  * @param includeContainerSas - Include container SAS URL
2383
2515
  * @returns Session details
2384
2516
  */
2385
- startSession(title, assetType, assetId, includeContainerSas = false) {
2517
+ startSession(title, assetType, assetId, starter, includeContainerSas = false) {
2386
2518
  this.assertNotEmpty(title, "title");
2387
2519
  this.assertNotEmpty(assetId, "assetId");
2388
- return this.post(
2389
- `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`
2520
+ return this.postJson(
2521
+ `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2522
+ starter ?? {}
2390
2523
  );
2391
2524
  }
2392
2525
  /**
@@ -2401,7 +2534,7 @@ var UgcModule = class extends ModuleBase {
2401
2534
  extendSession(title, assetType, assetId, includeContainerSas = false) {
2402
2535
  this.assertNotEmpty(title, "title");
2403
2536
  this.assertNotEmpty(assetId, "assetId");
2404
- return this.putJson(
2537
+ return this.patchJson(
2405
2538
  `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2406
2539
  {}
2407
2540
  );
@@ -2417,7 +2550,7 @@ var UgcModule = class extends ModuleBase {
2417
2550
  endSession(title, assetType, assetId) {
2418
2551
  this.assertNotEmpty(title, "title");
2419
2552
  this.assertNotEmpty(assetId, "assetId");
2420
- return this.delete(`/${title}/${assetType}/${assetId}/sessions`);
2553
+ return this.delete(`/${title}/${assetType}/${assetId}/sessions/active`);
2421
2554
  }
2422
2555
  /**
2423
2556
  * Spawn (create) a new asset.
@@ -2552,82 +2685,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2552
2685
  queryParts.push(`toDatePublishedUtc=${encodeURIComponent(params.toDatePublishedUtc.toISOString())}`);
2553
2686
  }
2554
2687
  const queryString = queryParts.length > 0 ? `?${queryParts.join("&")}` : "";
2555
- return this.get(`/hi/search${queryString}`);
2556
- }
2557
- /**
2558
- * Get featured content of a specific type.
2559
- *
2560
- * @param assetKind - Type of asset
2561
- * @returns Featured assets
2562
- */
2563
- getFeatured(assetKind) {
2564
- return this.get(`/hi/featured/${assetKind}`);
2565
- }
2566
- /**
2567
- * Get popular content of a specific type.
2568
- *
2569
- * @param assetKind - Type of asset
2570
- * @param start - Starting offset
2571
- * @param count - Number of results
2572
- * @returns Popular assets
2573
- */
2574
- getPopular(assetKind, start = 0, count = 25) {
2575
- return this.get(
2576
- `/hi/popular/${assetKind}?start=${start}&count=${count}`
2577
- );
2578
- }
2579
- /**
2580
- * Get recent content of a specific type.
2581
- *
2582
- * @param assetKind - Type of asset
2583
- * @param start - Starting offset
2584
- * @param count - Number of results
2585
- * @returns Recent assets
2586
- */
2587
- getRecent(assetKind, start = 0, count = 25) {
2588
- return this.get(
2589
- `/hi/recent/${assetKind}?start=${start}&count=${count}`
2590
- );
2591
- }
2592
- /**
2593
- * Get recommended content for a player.
2594
- *
2595
- * @param player - Player XUID
2596
- * @param assetKind - Type of asset
2597
- * @param count - Number of results
2598
- * @returns Recommended assets
2599
- */
2600
- getRecommended(player, assetKind, count = 10) {
2601
- this.assertNotEmpty(player, "player");
2602
- return this.get(
2603
- `/hi/players/xuid(${player})/recommendations/${assetKind}?count=${count}`
2604
- );
2605
- }
2606
- /**
2607
- * Browse content by tag.
2608
- *
2609
- * @param assetKind - Type of asset
2610
- * @param tag - Tag to filter by
2611
- * @param start - Starting offset
2612
- * @param count - Number of results
2613
- * @returns Tagged assets
2614
- */
2615
- browseByTag(assetKind, tag, start = 0, count = 25) {
2616
- this.assertNotEmpty(tag, "tag");
2617
- return this.get(
2618
- `/hi/tags/${encodeURIComponent(tag)}/${assetKind}?start=${start}&count=${count}`
2619
- );
2620
- }
2621
- /**
2622
- * Get asset details for discovery purposes.
2623
- *
2624
- * @param assetKind - Type of asset
2625
- * @param assetId - Asset GUID
2626
- * @returns Asset details
2627
- */
2628
- getAssetDetails(assetKind, assetId) {
2629
- this.assertNotEmpty(assetId, "assetId");
2630
- return this.get(`/hi/${assetKind}/${assetId}`);
2688
+ return this.get(`/hi/search${queryString}`, {
2689
+ useClearance: true
2690
+ });
2631
2691
  }
2632
2692
  /**
2633
2693
  * Get tags information.
@@ -2635,7 +2695,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2635
2695
  * @returns Available tags info
2636
2696
  */
2637
2697
  getTagsInfo() {
2638
- return this.get("/hi/info/tags");
2698
+ return this.get("/hi/info/tags", {
2699
+ useClearance: true
2700
+ });
2639
2701
  }
2640
2702
  // ─────────────────────────────────────────────────────────────────
2641
2703
  // Manifests
@@ -2672,7 +2734,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2672
2734
  this.assertNotEmpty(assetId, "assetId");
2673
2735
  this.assertNotEmpty(versionId, "versionId");
2674
2736
  return this.get(
2675
- `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2737
+ `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2738
+ { useClearance: true }
2676
2739
  );
2677
2740
  }
2678
2741
  // ─────────────────────────────────────────────────────────────────
@@ -2688,7 +2751,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2688
2751
  getMap(assetId, versionId) {
2689
2752
  this.assertNotEmpty(assetId, "assetId");
2690
2753
  this.assertNotEmpty(versionId, "versionId");
2691
- return this.get(`/hi/maps/${assetId}/versions/${versionId}`);
2754
+ return this.get(`/hi/maps/${assetId}/versions/${versionId}`, {
2755
+ useClearance: true
2756
+ });
2692
2757
  }
2693
2758
  /**
2694
2759
  * Get a map without specifying version (returns latest).
@@ -2698,7 +2763,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2698
2763
  */
2699
2764
  getMapWithoutVersion(assetId) {
2700
2765
  this.assertNotEmpty(assetId, "assetId");
2701
- return this.get(`/hi/maps/${assetId}`);
2766
+ return this.get(`/hi/maps/${assetId}`, {
2767
+ useClearance: true
2768
+ });
2702
2769
  }
2703
2770
  // ─────────────────────────────────────────────────────────────────
2704
2771
  // Map Mode Pairs
@@ -2715,7 +2782,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2715
2782
  this.assertNotEmpty(assetId, "assetId");
2716
2783
  this.assertNotEmpty(versionId, "versionId");
2717
2784
  return this.get(
2718
- `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2785
+ `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2786
+ { useClearance: true }
2719
2787
  );
2720
2788
  }
2721
2789
  /**
@@ -2726,7 +2794,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2726
2794
  */
2727
2795
  getMapModePairWithoutVersion(assetId) {
2728
2796
  this.assertNotEmpty(assetId, "assetId");
2729
- return this.get(`/hi/mapModePairs/${assetId}`);
2797
+ return this.get(`/hi/mapModePairs/${assetId}`, {
2798
+ useClearance: true
2799
+ });
2730
2800
  }
2731
2801
  // ─────────────────────────────────────────────────────────────────
2732
2802
  // Playlists
@@ -2743,7 +2813,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2743
2813
  this.assertNotEmpty(assetId, "assetId");
2744
2814
  this.assertNotEmpty(versionId, "versionId");
2745
2815
  return this.get(
2746
- `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2816
+ `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2817
+ { useClearance: true }
2747
2818
  );
2748
2819
  }
2749
2820
  /**
@@ -2754,7 +2825,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2754
2825
  */
2755
2826
  getPlaylistWithoutVersion(assetId) {
2756
2827
  this.assertNotEmpty(assetId, "assetId");
2757
- return this.get(`/hi/playlists/${assetId}`);
2828
+ return this.get(`/hi/playlists/${assetId}`, {
2829
+ useClearance: true
2830
+ });
2758
2831
  }
2759
2832
  // ─────────────────────────────────────────────────────────────────
2760
2833
  // Prefabs
@@ -2769,7 +2842,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2769
2842
  getPrefab(assetId, versionId) {
2770
2843
  this.assertNotEmpty(assetId, "assetId");
2771
2844
  this.assertNotEmpty(versionId, "versionId");
2772
- return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`);
2845
+ return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`, {
2846
+ useClearance: true
2847
+ });
2773
2848
  }
2774
2849
  /**
2775
2850
  * Get a prefab without specifying version.
@@ -2779,7 +2854,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2779
2854
  */
2780
2855
  getPrefabWithoutVersion(assetId) {
2781
2856
  this.assertNotEmpty(assetId, "assetId");
2782
- return this.get(`/hi/prefabs/${assetId}`);
2857
+ return this.get(`/hi/prefabs/${assetId}`, {
2858
+ useClearance: true
2859
+ });
2783
2860
  }
2784
2861
  // ─────────────────────────────────────────────────────────────────
2785
2862
  // Projects
@@ -2794,7 +2871,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2794
2871
  getProject(assetId, versionId) {
2795
2872
  this.assertNotEmpty(assetId, "assetId");
2796
2873
  this.assertNotEmpty(versionId, "versionId");
2797
- return this.get(`/hi/projects/${assetId}/versions/${versionId}`);
2874
+ return this.get(`/hi/projects/${assetId}/versions/${versionId}`, {
2875
+ useClearance: true
2876
+ });
2798
2877
  }
2799
2878
  /**
2800
2879
  * Get a project without specifying version.
@@ -2804,7 +2883,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2804
2883
  */
2805
2884
  getProjectWithoutVersion(assetId) {
2806
2885
  this.assertNotEmpty(assetId, "assetId");
2807
- return this.get(`/hi/projects/${assetId}`);
2886
+ return this.get(`/hi/projects/${assetId}`, {
2887
+ useClearance: true
2888
+ });
2808
2889
  }
2809
2890
  /**
2810
2891
  * Get the Forge templates (canvases).
@@ -2812,7 +2893,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2812
2893
  * @returns Forge templates project
2813
2894
  */
2814
2895
  getForgeTemplates() {
2815
- return this.get("/hi/projects/bf0e9bab-6fed-47a4-8bf7-bfd4422ee552");
2896
+ return this.get(
2897
+ "/hi/projects/bf0e9bab-6fed-47a4-8bf7-bfd4422ee552",
2898
+ { useClearance: true }
2899
+ );
2816
2900
  }
2817
2901
  /**
2818
2902
  * Get the Forge mode categories.
@@ -2820,7 +2904,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2820
2904
  * @returns Forge mode categories project
2821
2905
  */
2822
2906
  getForgeModeCategories() {
2823
- return this.get("/hi/projects/aff73c44-0771-468f-b9cf-5c52eee7ab4c");
2907
+ return this.get(
2908
+ "/hi/projects/aff73c44-0771-468f-b9cf-5c52eee7ab4c",
2909
+ { useClearance: true }
2910
+ );
2824
2911
  }
2825
2912
  /**
2826
2913
  * Get the community tab assets.
@@ -2828,7 +2915,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2828
2915
  * @returns Community tab project
2829
2916
  */
2830
2917
  getCommunityTab() {
2831
- return this.get("/hi/projects/90f9e508-99ce-411c-bf88-7bf12b5e9f52");
2918
+ return this.get(
2919
+ "/hi/projects/90f9e508-99ce-411c-bf88-7bf12b5e9f52",
2920
+ { useClearance: true }
2921
+ );
2832
2922
  }
2833
2923
  /**
2834
2924
  * Get 343 recommended assets.
@@ -2836,7 +2926,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2836
2926
  * @returns 343 recommended project
2837
2927
  */
2838
2928
  get343Recommended() {
2839
- return this.get("/hi/projects/712add52-f989-48e1-b3bb-ac7cd8a1c17a");
2929
+ return this.get(
2930
+ "/hi/projects/712add52-f989-48e1-b3bb-ac7cd8a1c17a",
2931
+ { useClearance: true }
2932
+ );
2840
2933
  }
2841
2934
  // ─────────────────────────────────────────────────────────────────
2842
2935
  // Game Variants
@@ -2852,7 +2945,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2852
2945
  this.assertNotEmpty(assetId, "assetId");
2853
2946
  this.assertNotEmpty(versionId, "versionId");
2854
2947
  return this.get(
2855
- `/hi/engineGameVariants/${assetId}/versions/${versionId}`
2948
+ `/hi/engineGameVariants/${assetId}/versions/${versionId}`,
2949
+ { useClearance: true }
2856
2950
  );
2857
2951
  }
2858
2952
  /**
@@ -2863,7 +2957,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2863
2957
  */
2864
2958
  getEngineGameVariantWithoutVersion(assetId) {
2865
2959
  this.assertNotEmpty(assetId, "assetId");
2866
- return this.get(`/hi/engineGameVariants/${assetId}`);
2960
+ return this.get(`/hi/engineGameVariants/${assetId}`, {
2961
+ useClearance: true
2962
+ });
2867
2963
  }
2868
2964
  /**
2869
2965
  * Get a specific UGC game variant version.
@@ -2876,7 +2972,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2876
2972
  this.assertNotEmpty(assetId, "assetId");
2877
2973
  this.assertNotEmpty(versionId, "versionId");
2878
2974
  return this.get(
2879
- `/hi/ugcGameVariants/${assetId}/versions/${versionId}`
2975
+ `/hi/ugcGameVariants/${assetId}/versions/${versionId}`,
2976
+ { useClearance: true }
2880
2977
  );
2881
2978
  }
2882
2979
  /**
@@ -2887,7 +2984,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2887
2984
  */
2888
2985
  getUgcGameVariantWithoutVersion(assetId) {
2889
2986
  this.assertNotEmpty(assetId, "assetId");
2890
- return this.get(`/hi/ugcGameVariants/${assetId}`);
2987
+ return this.get(`/hi/ugcGameVariants/${assetId}`, {
2988
+ useClearance: true
2989
+ });
2891
2990
  }
2892
2991
  // ─────────────────────────────────────────────────────────────────
2893
2992
  // Films