@dendotdev/grunt 1.0.9 → 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.js CHANGED
@@ -710,9 +710,10 @@ var AcademyModule = class extends ModuleBase {
710
710
  */
711
711
  getBotCustomization(flightId) {
712
712
  const flightParam = flightId ? `?flight=${flightId}` : "";
713
- return this.get(`/hi/academy/botcustomization${flightParam}`, {
714
- useClearance: !!flightId
715
- });
713
+ return this.get(
714
+ `/hi/multiplayer/file/Academy/BotCustomizationData.json${flightParam}`,
715
+ { useClearance: true }
716
+ );
716
717
  }
717
718
  /**
718
719
  * Get academy content manifest.
@@ -720,7 +721,10 @@ var AcademyModule = class extends ModuleBase {
720
721
  * @returns Academy client manifest
721
722
  */
722
723
  getContent() {
723
- return this.get("/hi/academy/content");
724
+ return this.get(
725
+ "/hi/multiplayer/file/Academy/AcademyClientManifest.json",
726
+ { useClearance: true }
727
+ );
724
728
  }
725
729
  /**
726
730
  * Get test academy content (for flighted builds).
@@ -730,9 +734,9 @@ var AcademyModule = class extends ModuleBase {
730
734
  */
731
735
  getContentTest(clearanceId) {
732
736
  this.assertNotEmpty(clearanceId, "clearanceId");
733
- return this.get(`/hi/academy/content/test?clearanceId=${clearanceId}`, {
734
- useClearance: true
735
- });
737
+ return this.get(
738
+ `/hi/multiplayer/file/Academy/AcademyClientManifest_Test.json?flight=${clearanceId}`
739
+ );
736
740
  }
737
741
  /**
738
742
  * Get star/scoring definitions for academy drills.
@@ -740,7 +744,10 @@ var AcademyModule = class extends ModuleBase {
740
744
  * @returns Star definitions
741
745
  */
742
746
  getStarDefinitions() {
743
- return this.get("/hi/Progression/file/academy/stars");
747
+ return this.get(
748
+ "/hi/multiplayer/file/Academy/AcademyStarGUIDDefinitions.json",
749
+ { useClearance: true }
750
+ );
744
751
  }
745
752
  };
746
753
 
@@ -759,8 +766,8 @@ var BanProcessorModule = class extends ModuleBase {
759
766
  if (!targetList.length) {
760
767
  throw new Error("targetList cannot be empty");
761
768
  }
762
- const playersQuery = targetList.map((id) => `targetXuids=${id}`).join("&");
763
- return this.get(`/hi/bans/summary?${playersQuery}`);
769
+ const targets = targetList.map((id) => `xuid(${id})`).join(",");
770
+ return this.get(`/hi/bansummary?auth=st&targets=${targets}`);
764
771
  }
765
772
  };
766
773
 
@@ -777,9 +784,7 @@ var ConfigurationModule = class extends ModuleBase {
777
784
  * @returns API configuration
778
785
  */
779
786
  getApiSettingsContainer() {
780
- return this.getFullUrl(HALO_CORE_ENDPOINTS.HALO_INFINITE_SETTINGS, {
781
- useSpartanToken: false
782
- });
787
+ return this.getFullUrl(HALO_CORE_ENDPOINTS.HALO_INFINITE_SETTINGS);
783
788
  }
784
789
  };
785
790
 
@@ -799,7 +804,9 @@ var EconomyModule = class extends ModuleBase {
799
804
  */
800
805
  getInventoryItems(player) {
801
806
  this.assertNotEmpty(player, "player");
802
- return this.get(`/hi/players/xuid(${player})/inventory`);
807
+ return this.get(`/hi/players/xuid(${player})/inventory`, {
808
+ useClearance: true
809
+ });
803
810
  }
804
811
  /**
805
812
  * Get virtual currency balances for a player.
@@ -809,10 +816,12 @@ var EconomyModule = class extends ModuleBase {
809
816
  */
810
817
  getVirtualCurrencyBalances(player) {
811
818
  this.assertNotEmpty(player, "player");
812
- return this.get(`/hi/players/xuid(${player})/currencies`);
819
+ return this.get(`/hi/players/xuid(${player})/currencies`, {
820
+ useClearance: true
821
+ });
813
822
  }
814
823
  /**
815
- * Post a currency transaction.
824
+ * Get a currency transaction.
816
825
  *
817
826
  * @param player - Player's numeric XUID
818
827
  * @param currencyId - Currency identifier
@@ -821,8 +830,9 @@ var EconomyModule = class extends ModuleBase {
821
830
  postCurrencyTransaction(player, currencyId) {
822
831
  this.assertNotEmpty(player, "player");
823
832
  this.assertNotEmpty(currencyId, "currencyId");
824
- return this.post(
825
- `/hi/players/xuid(${player})/currencies/${currencyId}/transactions`
833
+ return this.get(
834
+ `/hi/players/xuid(${player})/currencies/${currencyId}/transactions`,
835
+ { useClearance: true }
826
836
  );
827
837
  }
828
838
  // ─────────────────────────────────────────────────────────────────
@@ -838,7 +848,8 @@ var EconomyModule = class extends ModuleBase {
838
848
  getPlayerCustomization(player, viewType = "public") {
839
849
  this.assertNotEmpty(player, "player");
840
850
  return this.get(
841
- `/hi/players/xuid(${player})/customization?view=${viewType}`
851
+ `/hi/players/xuid(${player})/customization?view=${viewType}`,
852
+ { useClearance: true }
842
853
  );
843
854
  }
844
855
  /**
@@ -849,7 +860,10 @@ var EconomyModule = class extends ModuleBase {
849
860
  */
850
861
  armorCoresCustomization(player) {
851
862
  this.assertNotEmpty(player, "player");
852
- return this.get(`/hi/players/xuid(${player})/customization/armors`);
863
+ return this.get(
864
+ `/hi/players/xuid(${player})/customization/armors`,
865
+ { useClearance: true }
866
+ );
853
867
  }
854
868
  /**
855
869
  * Get a specific armor core for a player.
@@ -861,7 +875,10 @@ var EconomyModule = class extends ModuleBase {
861
875
  armorCoreCustomization(player, coreId) {
862
876
  this.assertNotEmpty(player, "player");
863
877
  this.assertNotEmpty(coreId, "coreId");
864
- return this.get(`/hi/players/xuid(${player})/customization/armors/${coreId}`);
878
+ return this.get(
879
+ `/hi/players/xuid(${player})/customization/armors/${coreId}`,
880
+ { useClearance: true }
881
+ );
865
882
  }
866
883
  /**
867
884
  * Get all weapon cores for a player.
@@ -871,7 +888,10 @@ var EconomyModule = class extends ModuleBase {
871
888
  */
872
889
  weaponCoresCustomization(player) {
873
890
  this.assertNotEmpty(player, "player");
874
- return this.get(`/hi/players/xuid(${player})/customization/weapons`);
891
+ return this.get(
892
+ `/hi/players/xuid(${player})/customization/weapons`,
893
+ { useClearance: true }
894
+ );
875
895
  }
876
896
  /**
877
897
  * Get a specific weapon core for a player.
@@ -883,7 +903,10 @@ var EconomyModule = class extends ModuleBase {
883
903
  weaponCoreCustomization(player, coreId) {
884
904
  this.assertNotEmpty(player, "player");
885
905
  this.assertNotEmpty(coreId, "coreId");
886
- return this.get(`/hi/players/xuid(${player})/customization/weapons/${coreId}`);
906
+ return this.get(
907
+ `/hi/players/xuid(${player})/customization/weapons/${coreId}`,
908
+ { useClearance: true }
909
+ );
887
910
  }
888
911
  /**
889
912
  * Get all vehicle cores for a player.
@@ -893,7 +916,10 @@ var EconomyModule = class extends ModuleBase {
893
916
  */
894
917
  vehicleCoresCustomization(player) {
895
918
  this.assertNotEmpty(player, "player");
896
- return this.get(`/hi/players/xuid(${player})/customization/vehicles`);
919
+ return this.get(
920
+ `/hi/players/xuid(${player})/customization/vehicles`,
921
+ { useClearance: true }
922
+ );
897
923
  }
898
924
  /**
899
925
  * Get a specific vehicle core for a player.
@@ -905,7 +931,10 @@ var EconomyModule = class extends ModuleBase {
905
931
  vehicleCoreCustomization(player, coreId) {
906
932
  this.assertNotEmpty(player, "player");
907
933
  this.assertNotEmpty(coreId, "coreId");
908
- return this.get(`/hi/players/xuid(${player})/customization/vehicles/${coreId}`);
934
+ return this.get(
935
+ `/hi/players/xuid(${player})/customization/vehicles/${coreId}`,
936
+ { useClearance: true }
937
+ );
909
938
  }
910
939
  /**
911
940
  * Get all AI cores for a player.
@@ -915,7 +944,10 @@ var EconomyModule = class extends ModuleBase {
915
944
  */
916
945
  aiCoresCustomization(player) {
917
946
  this.assertNotEmpty(player, "player");
918
- return this.get(`/hi/players/xuid(${player})/customization/ais`);
947
+ return this.get(
948
+ `/hi/players/xuid(${player})/customization/ais`,
949
+ { useClearance: true }
950
+ );
919
951
  }
920
952
  /**
921
953
  * Get a specific AI core for a player.
@@ -927,7 +959,10 @@ var EconomyModule = class extends ModuleBase {
927
959
  aiCoreCustomization(player, coreId) {
928
960
  this.assertNotEmpty(player, "player");
929
961
  this.assertNotEmpty(coreId, "coreId");
930
- return this.get(`/hi/players/xuid(${player})/customization/ais/${coreId}`);
962
+ return this.get(
963
+ `/hi/players/xuid(${player})/customization/ais/${coreId}`,
964
+ { useClearance: true }
965
+ );
931
966
  }
932
967
  /**
933
968
  * Get Spartan body customization for a player.
@@ -937,7 +972,10 @@ var EconomyModule = class extends ModuleBase {
937
972
  */
938
973
  spartanBodyCustomization(player) {
939
974
  this.assertNotEmpty(player, "player");
940
- return this.get(`/hi/players/xuid(${player})/customization/spartanbody`);
975
+ return this.get(
976
+ `/hi/players/xuid(${player})/customization/spartanbody`,
977
+ { useClearance: true }
978
+ );
941
979
  }
942
980
  /**
943
981
  * Get appearance customization for a player.
@@ -948,7 +986,8 @@ var EconomyModule = class extends ModuleBase {
948
986
  playerAppearanceCustomization(player) {
949
987
  this.assertNotEmpty(player, "player");
950
988
  return this.get(
951
- `/hi/players/xuid(${player})/customization/appearance`
989
+ `/hi/players/xuid(${player})/customization/appearance`,
990
+ { useClearance: true }
952
991
  );
953
992
  }
954
993
  /**
@@ -962,7 +1001,10 @@ var EconomyModule = class extends ModuleBase {
962
1001
  throw new Error("playerIds cannot be empty");
963
1002
  }
964
1003
  const formattedPlayers = playerIds.map((id) => `xuid(${id})`).join(",");
965
- return this.get(`/hi/customization?players=${formattedPlayers}`);
1004
+ return this.get(
1005
+ `/hi/customization?players=${formattedPlayers}`,
1006
+ { useClearance: true }
1007
+ );
966
1008
  }
967
1009
  // ─────────────────────────────────────────────────────────────────
968
1010
  // Cores
@@ -975,7 +1017,10 @@ var EconomyModule = class extends ModuleBase {
975
1017
  */
976
1018
  getAllOwnedCoresDetails(player) {
977
1019
  this.assertNotEmpty(player, "player");
978
- return this.get(`/hi/players/xuid(${player})/cores`);
1020
+ return this.get(
1021
+ `/hi/players/xuid(${player})/cores`,
1022
+ { useClearance: true }
1023
+ );
979
1024
  }
980
1025
  /**
981
1026
  * Get details about a specific owned core.
@@ -987,7 +1032,10 @@ var EconomyModule = class extends ModuleBase {
987
1032
  getOwnedCoreDetails(player, coreId) {
988
1033
  this.assertNotEmpty(player, "player");
989
1034
  this.assertNotEmpty(coreId, "coreId");
990
- return this.get(`/hi/players/xuid(${player})/cores/${coreId}`);
1035
+ return this.get(
1036
+ `/hi/players/xuid(${player})/cores/${coreId}`,
1037
+ { useClearance: true }
1038
+ );
991
1039
  }
992
1040
  // ─────────────────────────────────────────────────────────────────
993
1041
  // Stores
@@ -1000,7 +1048,9 @@ var EconomyModule = class extends ModuleBase {
1000
1048
  */
1001
1049
  getMainStore(player) {
1002
1050
  this.assertNotEmpty(player, "player");
1003
- return this.get(`/hi/players/xuid(${player})/stores/main`);
1051
+ return this.get(`/hi/players/xuid(${player})/stores/main`, {
1052
+ useClearance: true
1053
+ });
1004
1054
  }
1005
1055
  /**
1006
1056
  * Get the HCS (esports) store offerings.
@@ -1010,7 +1060,9 @@ var EconomyModule = class extends ModuleBase {
1010
1060
  */
1011
1061
  getHcsStore(player) {
1012
1062
  this.assertNotEmpty(player, "player");
1013
- return this.get(`/hi/players/xuid(${player})/stores/hcs`);
1063
+ return this.get(`/hi/players/xuid(${player})/stores/hcs`, {
1064
+ useClearance: true
1065
+ });
1014
1066
  }
1015
1067
  /**
1016
1068
  * Get the boosts store offerings.
@@ -1020,7 +1072,9 @@ var EconomyModule = class extends ModuleBase {
1020
1072
  */
1021
1073
  getBoostsStore(player) {
1022
1074
  this.assertNotEmpty(player, "player");
1023
- return this.get(`/hi/players/xuid(${player})/stores/boosts`);
1075
+ return this.get(`/hi/players/xuid(${player})/stores/boosts`, {
1076
+ useClearance: true
1077
+ });
1024
1078
  }
1025
1079
  /**
1026
1080
  * Get the soft currency (Spartan Points) store.
@@ -1030,7 +1084,10 @@ var EconomyModule = class extends ModuleBase {
1030
1084
  */
1031
1085
  getSoftCurrencyStore(player) {
1032
1086
  this.assertNotEmpty(player, "player");
1033
- return this.get(`/hi/players/xuid(${player})/stores/softcurrency`);
1087
+ return this.get(
1088
+ `/hi/players/xuid(${player})/stores/softcurrencyoffers`,
1089
+ { useClearance: true }
1090
+ );
1034
1091
  }
1035
1092
  /**
1036
1093
  * Get the customization store offerings.
@@ -1040,7 +1097,10 @@ var EconomyModule = class extends ModuleBase {
1040
1097
  */
1041
1098
  getCustomizationStore(player) {
1042
1099
  this.assertNotEmpty(player, "player");
1043
- return this.get(`/hi/players/xuid(${player})/stores/customization`);
1100
+ return this.get(
1101
+ `/hi/players/xuid(${player})/stores/customizationoffers`,
1102
+ { useClearance: true }
1103
+ );
1044
1104
  }
1045
1105
  /**
1046
1106
  * Get the operations store offerings.
@@ -1050,7 +1110,10 @@ var EconomyModule = class extends ModuleBase {
1050
1110
  */
1051
1111
  getOperationsStore(player) {
1052
1112
  this.assertNotEmpty(player, "player");
1053
- return this.get(`/hi/players/xuid(${player})/stores/operations`);
1113
+ return this.get(
1114
+ `/hi/players/xuid(${player})/stores/operations`,
1115
+ { useClearance: true }
1116
+ );
1054
1117
  }
1055
1118
  /**
1056
1119
  * Get the operation reward levels store.
@@ -1060,7 +1123,10 @@ var EconomyModule = class extends ModuleBase {
1060
1123
  */
1061
1124
  getOperationRewardLevelsStore(player) {
1062
1125
  this.assertNotEmpty(player, "player");
1063
- return this.get(`/hi/players/xuid(${player})/stores/operationrewardlevels`);
1126
+ return this.get(
1127
+ `/hi/players/xuid(${player})/stores/operationrewardlevels`,
1128
+ { useClearance: true }
1129
+ );
1064
1130
  }
1065
1131
  /**
1066
1132
  * Get the XP grants store.
@@ -1070,7 +1136,10 @@ var EconomyModule = class extends ModuleBase {
1070
1136
  */
1071
1137
  getXpGrantsStore(player) {
1072
1138
  this.assertNotEmpty(player, "player");
1073
- return this.get(`/hi/players/xuid(${player})/stores/xpgrants`);
1139
+ return this.get(
1140
+ `/hi/players/xuid(${player})/stores/xpgrants`,
1141
+ { useClearance: true }
1142
+ );
1074
1143
  }
1075
1144
  /**
1076
1145
  * Get items from a credit sub-store.
@@ -1089,7 +1158,8 @@ var EconomyModule = class extends ModuleBase {
1089
1158
  }
1090
1159
  const paddedIndex = storeIndex.toString().padStart(2, "0");
1091
1160
  return this.get(
1092
- `/hi/players/xuid(${player})/stores/creditsubstorefront${paddedIndex}`
1161
+ `/hi/players/xuid(${player})/stores/creditsubstorefront${paddedIndex}`,
1162
+ { useClearance: true }
1093
1163
  );
1094
1164
  }
1095
1165
  /**
@@ -1109,7 +1179,8 @@ var EconomyModule = class extends ModuleBase {
1109
1179
  }
1110
1180
  const paddedIndex = storeIndex.toString().padStart(2, "0");
1111
1181
  return this.get(
1112
- `/hi/players/xuid(${player})/stores/softcurrencysubstorefront${paddedIndex}`
1182
+ `/hi/players/xuid(${player})/stores/softcurrencysubstorefront${paddedIndex}`,
1183
+ { useClearance: true }
1113
1184
  );
1114
1185
  }
1115
1186
  /**
@@ -1123,7 +1194,8 @@ var EconomyModule = class extends ModuleBase {
1123
1194
  this.assertNotEmpty(player, "player");
1124
1195
  this.assertNotEmpty(storeId, "storeId");
1125
1196
  return this.get(
1126
- `/hi/players/xuid(${player})/stores/${storeId}/scheduled`
1197
+ `/hi/players/xuid(${player})/stores/${storeId}`,
1198
+ { useClearance: true }
1127
1199
  );
1128
1200
  }
1129
1201
  // ─────────────────────────────────────────────────────────────────
@@ -1137,7 +1209,10 @@ var EconomyModule = class extends ModuleBase {
1137
1209
  */
1138
1210
  getActiveBoosts(player) {
1139
1211
  this.assertNotEmpty(player, "player");
1140
- return this.get(`/hi/players/xuid(${player})/boosts`);
1212
+ return this.get(
1213
+ `/hi/players/xuid(${player})/boosts`,
1214
+ { useClearance: true }
1215
+ );
1141
1216
  }
1142
1217
  /**
1143
1218
  * Get awarded rewards for a player.
@@ -1150,7 +1225,8 @@ var EconomyModule = class extends ModuleBase {
1150
1225
  this.assertNotEmpty(player, "player");
1151
1226
  this.assertNotEmpty(rewardId, "rewardId");
1152
1227
  return this.get(
1153
- `/hi/players/xuid(${player})/rewards/${rewardId}`
1228
+ `/hi/players/xuid(${player})/rewards/${rewardId}`,
1229
+ { useClearance: true }
1154
1230
  );
1155
1231
  }
1156
1232
  /**
@@ -1161,7 +1237,10 @@ var EconomyModule = class extends ModuleBase {
1161
1237
  */
1162
1238
  getGiveawayRewards(player) {
1163
1239
  this.assertNotEmpty(player, "player");
1164
- return this.get(`/hi/players/xuid(${player})/giveaways`);
1240
+ return this.get(
1241
+ `/hi/players/xuid(${player})/giveaways`,
1242
+ { useClearance: true }
1243
+ );
1165
1244
  }
1166
1245
  // ─────────────────────────────────────────────────────────────────
1167
1246
  // Reward Tracks / Operations
@@ -1179,19 +1258,22 @@ var EconomyModule = class extends ModuleBase {
1179
1258
  this.assertNotEmpty(rewardTrackType, "rewardTrackType");
1180
1259
  this.assertNotEmpty(trackId, "trackId");
1181
1260
  return this.get(
1182
- `/hi/players/xuid(${player})/rewardtracks/${rewardTrackType}/${trackId}`
1261
+ `/hi/players/xuid(${player})/rewardtracks/${rewardTrackType}s/${trackId}`,
1262
+ { useClearance: true }
1183
1263
  );
1184
1264
  }
1185
1265
  /**
1186
1266
  * Get operation progress for a player.
1187
1267
  *
1188
1268
  * @param player - Player's numeric XUID
1269
+ * @param flightId - Flight/clearance ID
1189
1270
  * @returns Operation reward track snapshot
1190
1271
  */
1191
- getPlayerOperations(player) {
1272
+ getPlayerOperations(player, flightId) {
1192
1273
  this.assertNotEmpty(player, "player");
1274
+ const flightParam = flightId ? `?flight=${flightId}` : "";
1193
1275
  return this.get(
1194
- `/hi/players/xuid(${player})/operations`,
1276
+ `/hi/players/xuid(${player})/rewardtracks/operations${flightParam}`,
1195
1277
  { useClearance: true }
1196
1278
  );
1197
1279
  }
@@ -1231,7 +1313,7 @@ var GameCmsModule = class extends ModuleBase {
1231
1313
  this.assertNotEmpty(itemPath, "itemPath");
1232
1314
  const flightParam = flightId ? `?flight=${flightId}` : "";
1233
1315
  return this.get(`/hi/Progression/file/${itemPath}${flightParam}`, {
1234
- useClearance: !!flightId
1316
+ useClearance: true
1235
1317
  });
1236
1318
  }
1237
1319
  /**
@@ -1242,9 +1324,10 @@ var GameCmsModule = class extends ModuleBase {
1242
1324
  */
1243
1325
  getCustomizationCatalog(flightId) {
1244
1326
  const flightParam = flightId ? `?flight=${flightId}` : "";
1245
- return this.get(`/hi/Progression/file/inventory/catalog${flightParam}`, {
1246
- useClearance: !!flightId
1247
- });
1327
+ return this.get(
1328
+ `/hi/Progression/file/inventory/catalog/inventory_catalog.json${flightParam}`,
1329
+ { useClearance: true }
1330
+ );
1248
1331
  }
1249
1332
  /**
1250
1333
  * Get a store offering definition.
@@ -1254,7 +1337,9 @@ var GameCmsModule = class extends ModuleBase {
1254
1337
  */
1255
1338
  getStoreOffering(offeringPath) {
1256
1339
  this.assertNotEmpty(offeringPath, "offeringPath");
1257
- return this.get(`/hi/Progression/file/${offeringPath}`);
1340
+ return this.get(`/hi/Progression/file/${offeringPath}`, {
1341
+ useClearance: true
1342
+ });
1258
1343
  }
1259
1344
  /**
1260
1345
  * Get a currency definition.
@@ -1266,7 +1351,10 @@ var GameCmsModule = class extends ModuleBase {
1266
1351
  getCurrency(currencyPath, flightId) {
1267
1352
  this.assertNotEmpty(currencyPath, "currencyPath");
1268
1353
  const flightParam = flightId ? `?flight=${flightId}` : "";
1269
- return this.get(`/hi/Progression/file/${currencyPath}${flightParam}`);
1354
+ return this.get(
1355
+ `/hi/Progression/file/${currencyPath}${flightParam}`,
1356
+ { useClearance: true }
1357
+ );
1270
1358
  }
1271
1359
  // ─────────────────────────────────────────────────────────────────
1272
1360
  // Challenges & Events
@@ -1282,7 +1370,7 @@ var GameCmsModule = class extends ModuleBase {
1282
1370
  this.assertNotEmpty(challengePath, "challengePath");
1283
1371
  const flightParam = flightId ? `?flight=${flightId}` : "";
1284
1372
  return this.get(`/hi/Progression/file/${challengePath}${flightParam}`, {
1285
- useClearance: !!flightId
1373
+ useClearance: true
1286
1374
  });
1287
1375
  }
1288
1376
  /**
@@ -1297,7 +1385,7 @@ var GameCmsModule = class extends ModuleBase {
1297
1385
  const flightParam = flightId ? `?flight=${flightId}` : "";
1298
1386
  return this.get(
1299
1387
  `/hi/Progression/file/${challengeDeckPath}${flightParam}`,
1300
- { useClearance: !!flightId }
1388
+ { useClearance: true }
1301
1389
  );
1302
1390
  }
1303
1391
  /**
@@ -1311,7 +1399,7 @@ var GameCmsModule = class extends ModuleBase {
1311
1399
  this.assertNotEmpty(eventPath, "eventPath");
1312
1400
  const flightParam = flightId ? `?flight=${flightId}` : "";
1313
1401
  return this.get(`/hi/Progression/file/${eventPath}${flightParam}`, {
1314
- useClearance: !!flightId
1402
+ useClearance: true
1315
1403
  });
1316
1404
  }
1317
1405
  // ─────────────────────────────────────────────────────────────────
@@ -1336,7 +1424,10 @@ var GameCmsModule = class extends ModuleBase {
1336
1424
  * @returns Season calendar
1337
1425
  */
1338
1426
  getSeasonCalendar() {
1339
- return this.get("/hi/Progression/file/calendars/seasons");
1427
+ return this.get(
1428
+ "/hi/Progression/file/Calendars/Seasons/SeasonCalendar.json",
1429
+ { useClearance: true }
1430
+ );
1340
1431
  }
1341
1432
  /**
1342
1433
  * Get the CSR/ranked season calendar.
@@ -1344,7 +1435,10 @@ var GameCmsModule = class extends ModuleBase {
1344
1435
  * @returns CSR season calendar
1345
1436
  */
1346
1437
  getCsrCalendar() {
1347
- return this.get("/hi/Progression/file/calendars/csrseasons");
1438
+ return this.get(
1439
+ "/hi/Progression/file/Csr/Calendars/CsrSeasonCalendar.json",
1440
+ { useClearance: true }
1441
+ );
1348
1442
  }
1349
1443
  /**
1350
1444
  * Get a season reward track definition.
@@ -1357,7 +1451,7 @@ var GameCmsModule = class extends ModuleBase {
1357
1451
  this.assertNotEmpty(seasonPath, "seasonPath");
1358
1452
  const flightParam = flightId ? `?flight=${flightId}` : "";
1359
1453
  return this.get(`/hi/Progression/file/${seasonPath}${flightParam}`, {
1360
- useClearance: !!flightId
1454
+ useClearance: true
1361
1455
  });
1362
1456
  }
1363
1457
  // ─────────────────────────────────────────────────────────────────
@@ -1379,9 +1473,10 @@ var GameCmsModule = class extends ModuleBase {
1379
1473
  */
1380
1474
  getMetadata(flightId) {
1381
1475
  const flightParam = flightId ? `?flight=${flightId}` : "";
1382
- return this.get(`/hi/Progression/file/metadata${flightParam}`, {
1383
- useClearance: !!flightId
1384
- });
1476
+ return this.get(
1477
+ `/hi/Progression/file/metadata/metadata.json${flightParam}`,
1478
+ { useClearance: true }
1479
+ );
1385
1480
  }
1386
1481
  // ─────────────────────────────────────────────────────────────────
1387
1482
  // News & Guides
@@ -1394,15 +1489,9 @@ var GameCmsModule = class extends ModuleBase {
1394
1489
  */
1395
1490
  getNews(filePath) {
1396
1491
  this.assertNotEmpty(filePath, "filePath");
1397
- return this.get(`/hi/news/${filePath}`);
1398
- }
1399
- /**
1400
- * Get academy star definitions.
1401
- *
1402
- * @returns Star definitions
1403
- */
1404
- getAcademyStarDefinitions() {
1405
- return this.get("/hi/Progression/file/academy/stars");
1492
+ return this.get(`/hi/news/file/${filePath}`, {
1493
+ useClearance: true
1494
+ });
1406
1495
  }
1407
1496
  // ─────────────────────────────────────────────────────────────────
1408
1497
  // Raw Files & Images
@@ -1415,7 +1504,10 @@ var GameCmsModule = class extends ModuleBase {
1415
1504
  */
1416
1505
  getImage(filePath) {
1417
1506
  this.assertNotEmpty(filePath, "filePath");
1418
- return this.get(`/hi/images/file/${filePath}`, { returnRaw: true });
1507
+ return this.get(`/hi/images/file/${filePath}`, {
1508
+ returnRaw: true,
1509
+ useClearance: true
1510
+ });
1419
1511
  }
1420
1512
  /**
1421
1513
  * Get a generic file from the CMS.
@@ -1436,7 +1528,9 @@ var GameCmsModule = class extends ModuleBase {
1436
1528
  */
1437
1529
  getProgressionFile(filePath) {
1438
1530
  this.assertNotEmpty(filePath, "filePath");
1439
- return this.get(`/hi/Progression/file/${filePath}`);
1531
+ return this.get(`/hi/Progression/file/${filePath}`, {
1532
+ useClearance: true
1533
+ });
1440
1534
  }
1441
1535
  // ─────────────────────────────────────────────────────────────────
1442
1536
  // Achievements & Settings
@@ -1447,7 +1541,10 @@ var GameCmsModule = class extends ModuleBase {
1447
1541
  * @returns Achievement collection
1448
1542
  */
1449
1543
  getAchievements() {
1450
- return this.get("/hi/Multiplayer/file/Live/Achievements.json");
1544
+ return this.get(
1545
+ "/hi/Multiplayer/file/Live/Achievements.json",
1546
+ { useClearance: true }
1547
+ );
1451
1548
  }
1452
1549
  /**
1453
1550
  * Get the Play Now button settings (fallback playlist).
@@ -1456,7 +1553,8 @@ var GameCmsModule = class extends ModuleBase {
1456
1553
  */
1457
1554
  getPlayNowButtonSettings() {
1458
1555
  return this.get(
1459
- "/hi/Multiplayer/file/playlists/playNowButton/settings.json"
1556
+ "/hi/Multiplayer/file/playlists/playNowButton/settings.json",
1557
+ { useClearance: true }
1460
1558
  );
1461
1559
  }
1462
1560
  /**
@@ -1465,7 +1563,10 @@ var GameCmsModule = class extends ModuleBase {
1465
1563
  * @returns Custom game definition
1466
1564
  */
1467
1565
  getCustomGameDefaults() {
1468
- return this.get("/hi/Multiplayer/file/NonMatchmaking/customgame.json");
1566
+ return this.get(
1567
+ "/hi/Multiplayer/file/NonMatchmaking/customgame.json",
1568
+ { useClearance: true }
1569
+ );
1469
1570
  }
1470
1571
  /**
1471
1572
  * Get lobby error messages.
@@ -1476,7 +1577,8 @@ var GameCmsModule = class extends ModuleBase {
1476
1577
  getLobbyErrorMessages(flightId) {
1477
1578
  this.assertNotEmpty(flightId, "flightId");
1478
1579
  return this.get(
1479
- `/hi/Multiplayer/file/gameStartErrorMessages/LobbyHoppperErrorMessageList.json?flight=${flightId}`
1580
+ `/hi/Multiplayer/file/gameStartErrorMessages/LobbyHoppperErrorMessageList.json?flight=${flightId}`,
1581
+ { useClearance: true }
1480
1582
  );
1481
1583
  }
1482
1584
  /**
@@ -1488,7 +1590,8 @@ var GameCmsModule = class extends ModuleBase {
1488
1590
  getNetworkConfiguration(flightId) {
1489
1591
  this.assertNotEmpty(flightId, "flightId");
1490
1592
  return this.get(
1491
- `/hi/Multiplayer/file/network/config.json?flight=${flightId}`
1593
+ `/hi/Multiplayer/file/network/config.json?flight=${flightId}`,
1594
+ { useClearance: true }
1492
1595
  );
1493
1596
  }
1494
1597
  /**
@@ -1512,7 +1615,10 @@ var GameCmsModule = class extends ModuleBase {
1512
1615
  * @returns Async compute override configuration
1513
1616
  */
1514
1617
  getAsyncComputeOverrides() {
1515
- return this.get("/hi/Specs/file/graphics/AsyncComputeOverrides.json");
1618
+ return this.get(
1619
+ "/hi/Specs/file/graphics/AsyncComputeOverrides.json",
1620
+ { useClearance: true }
1621
+ );
1516
1622
  }
1517
1623
  /**
1518
1624
  * Get CPU presets.
@@ -1520,7 +1626,10 @@ var GameCmsModule = class extends ModuleBase {
1520
1626
  * @returns CPU preset configuration
1521
1627
  */
1522
1628
  getCpuPresets() {
1523
- return this.get("/hi/Specs/file/cpu/presets.json");
1629
+ return this.get(
1630
+ "/hi/Specs/file/cpu/presets.json",
1631
+ { useClearance: true }
1632
+ );
1524
1633
  }
1525
1634
  /**
1526
1635
  * Get device preset overrides.
@@ -1528,7 +1637,10 @@ var GameCmsModule = class extends ModuleBase {
1528
1637
  * @returns Device preset overrides
1529
1638
  */
1530
1639
  getDevicePresetOverrides() {
1531
- return this.get("/hi/Specs/file/graphics/DevicePresetOverrides.json");
1640
+ return this.get(
1641
+ "/hi/Specs/file/graphics/DevicePresetOverrides.json",
1642
+ { useClearance: true }
1643
+ );
1532
1644
  }
1533
1645
  /**
1534
1646
  * Get graphics spec control overrides.
@@ -1537,7 +1649,8 @@ var GameCmsModule = class extends ModuleBase {
1537
1649
  */
1538
1650
  getGraphicsSpecControlOverrides() {
1539
1651
  return this.get(
1540
- "/hi/Specs/file/graphics/GraphicsSpecControlOverrides.json"
1652
+ "/hi/Specs/file/graphics/GraphicsSpecControlOverrides.json",
1653
+ { useClearance: true }
1541
1654
  );
1542
1655
  }
1543
1656
  /**
@@ -1546,7 +1659,10 @@ var GameCmsModule = class extends ModuleBase {
1546
1659
  * @returns Graphics overrides
1547
1660
  */
1548
1661
  getGraphicSpecs() {
1549
- return this.get("/hi/Specs/file/graphics/overrides.json");
1662
+ return this.get(
1663
+ "/hi/Specs/file/graphics/overrides.json",
1664
+ { useClearance: true }
1665
+ );
1550
1666
  }
1551
1667
  /**
1552
1668
  * Get recommended drivers.
@@ -1554,7 +1670,10 @@ var GameCmsModule = class extends ModuleBase {
1554
1670
  * @returns Driver manifest
1555
1671
  */
1556
1672
  getRecommendedDrivers() {
1557
- return this.get("/hi/Specs/file/graphics/RecommendedDrivers.json");
1673
+ return this.get(
1674
+ "/hi/Specs/file/graphics/RecommendedDrivers.json",
1675
+ { useClearance: true }
1676
+ );
1558
1677
  }
1559
1678
  // ─────────────────────────────────────────────────────────────────
1560
1679
  // Title Authorization & Access
@@ -1568,7 +1687,8 @@ var GameCmsModule = class extends ModuleBase {
1568
1687
  getClawAccess(flightId) {
1569
1688
  this.assertNotEmpty(flightId, "flightId");
1570
1689
  return this.get(
1571
- `/hi/TitleAuthorization/file/claw/access.json?flight=${flightId}`
1690
+ `/hi/TitleAuthorization/file/claw/access.json?flight=${flightId}`,
1691
+ { useClearance: true }
1572
1692
  );
1573
1693
  }
1574
1694
  /**
@@ -1591,7 +1711,10 @@ var GameCmsModule = class extends ModuleBase {
1591
1711
  */
1592
1712
  getGuideImages(flightId) {
1593
1713
  this.assertNotEmpty(flightId, "flightId");
1594
- return this.get(`/hi/images/guide/xo?flight=${flightId}`);
1714
+ return this.get(
1715
+ `/hi/images/guide/xo?flight=${flightId}`,
1716
+ { useClearance: true }
1717
+ );
1595
1718
  }
1596
1719
  /**
1597
1720
  * Get guide for multiplayer files.
@@ -1601,7 +1724,10 @@ var GameCmsModule = class extends ModuleBase {
1601
1724
  */
1602
1725
  getGuideMultiplayer(flightId) {
1603
1726
  this.assertNotEmpty(flightId, "flightId");
1604
- return this.get(`/hi/Multiplayer/guide/xo?flight=${flightId}`);
1727
+ return this.get(
1728
+ `/hi/Multiplayer/guide/xo?flight=${flightId}`,
1729
+ { useClearance: true }
1730
+ );
1605
1731
  }
1606
1732
  /**
1607
1733
  * Get guide for news files.
@@ -1611,7 +1737,10 @@ var GameCmsModule = class extends ModuleBase {
1611
1737
  */
1612
1738
  getGuideNews(flightId) {
1613
1739
  this.assertNotEmpty(flightId, "flightId");
1614
- return this.get(`/hi/News/guide/xo?flight=${flightId}`);
1740
+ return this.get(
1741
+ `/hi/News/guide/xo?flight=${flightId}`,
1742
+ { useClearance: true }
1743
+ );
1615
1744
  }
1616
1745
  /**
1617
1746
  * Get guide for progression files.
@@ -1621,7 +1750,10 @@ var GameCmsModule = class extends ModuleBase {
1621
1750
  */
1622
1751
  getGuideProgression(flightId) {
1623
1752
  this.assertNotEmpty(flightId, "flightId");
1624
- return this.get(`/hi/Progression/guide/xo?flight=${flightId}`);
1753
+ return this.get(
1754
+ `/hi/Progression/guide/xo?flight=${flightId}`,
1755
+ { useClearance: true }
1756
+ );
1625
1757
  }
1626
1758
  /**
1627
1759
  * Get guide for spec files.
@@ -1631,7 +1763,10 @@ var GameCmsModule = class extends ModuleBase {
1631
1763
  */
1632
1764
  getGuideSpecs(flightId) {
1633
1765
  this.assertNotEmpty(flightId, "flightId");
1634
- return this.get(`/hi/Specs/guide/xo?flight=${flightId}`);
1766
+ return this.get(
1767
+ `/hi/Specs/guide/xo?flight=${flightId}`,
1768
+ { useClearance: true }
1769
+ );
1635
1770
  }
1636
1771
  /**
1637
1772
  * Get guide for title authorization files.
@@ -1641,7 +1776,10 @@ var GameCmsModule = class extends ModuleBase {
1641
1776
  */
1642
1777
  getGuideTitleAuthorization(flightId) {
1643
1778
  this.assertNotEmpty(flightId, "flightId");
1644
- return this.get(`/hi/TitleAuthorization/guide/xo?flight=${flightId}`);
1779
+ return this.get(
1780
+ `/hi/TitleAuthorization/guide/xo?flight=${flightId}`,
1781
+ { useClearance: true }
1782
+ );
1645
1783
  }
1646
1784
  // ─────────────────────────────────────────────────────────────────
1647
1785
  // Waypoint Files
@@ -1677,7 +1815,7 @@ var LobbyModule = class extends ModuleBase {
1677
1815
  * @returns List of servers
1678
1816
  */
1679
1817
  getQosServers() {
1680
- return this.get("/hi/qosservers");
1818
+ return this.get("/titles/hi/qosservers");
1681
1819
  }
1682
1820
  /**
1683
1821
  * Check presence for players in lobbies.
@@ -1685,11 +1823,8 @@ var LobbyModule = class extends ModuleBase {
1685
1823
  * @param presenceRequest - Presence request container
1686
1824
  * @returns Presence results
1687
1825
  */
1688
- presence(presenceRequest) {
1689
- return this.postJson(
1690
- "/hi/presence",
1691
- presenceRequest
1692
- );
1826
+ presence() {
1827
+ return this.get("/hi/presence");
1693
1828
  }
1694
1829
  /**
1695
1830
  * Get a third-party join handle for a lobby.
@@ -1704,7 +1839,7 @@ var LobbyModule = class extends ModuleBase {
1704
1839
  this.assertNotEmpty(lobbyId, "lobbyId");
1705
1840
  this.assertNotEmpty(player, "player");
1706
1841
  return this.get(
1707
- `/hi/lobbies/${lobbyId}/players/xuid(${player})/joinhandle?handleAudience=${handleAudience}&handlePlatform=${handlePlatform}`
1842
+ `/hi/lobbies/${lobbyId}/players/xuid(${player})/thirdPartyJoinHandle?audience=${handleAudience}&platform=${handlePlatform}`
1708
1843
  );
1709
1844
  }
1710
1845
  /**
@@ -1721,7 +1856,7 @@ var LobbyModule = class extends ModuleBase {
1721
1856
  this.assertNotEmpty(player, "player");
1722
1857
  return this.client.executeRequest(
1723
1858
  this.buildUrl(`/hi/lobbies/${lobbyId}/players/xuid(${player})?auth=${auth}`),
1724
- "POST",
1859
+ "PUT",
1725
1860
  {
1726
1861
  body: lobbyBootstrapPayload,
1727
1862
  contentType: "bond"
@@ -1851,9 +1986,10 @@ var SkillModule = class extends ModuleBase {
1851
1986
  if (!playerIds.length) {
1852
1987
  throw new Error("playerIds cannot be empty");
1853
1988
  }
1854
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
1989
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1855
1990
  return this.get(
1856
- `/hi/matches/${matchId}/skill?${playersQuery}`
1991
+ `/hi/matches/${matchId}/skill?players=${players}`,
1992
+ { useClearance: true }
1857
1993
  );
1858
1994
  }
1859
1995
  /**
@@ -1869,10 +2005,11 @@ var SkillModule = class extends ModuleBase {
1869
2005
  if (!playerIds.length) {
1870
2006
  throw new Error("playerIds cannot be empty");
1871
2007
  }
1872
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
2008
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1873
2009
  const seasonParam = seasonId ? `&seasonId=${seasonId}` : "";
1874
2010
  return this.get(
1875
- `/hi/playlist/${playlistId}/csrs?${playersQuery}${seasonParam}`
2011
+ `/hi/playlist/${playlistId}/csrs?players=${players}${seasonParam}`,
2012
+ { useClearance: true }
1876
2013
  );
1877
2014
  }
1878
2015
  };
@@ -2005,14 +2142,6 @@ var TextModerationModule = class extends ModuleBase {
2005
2142
  constructor(client) {
2006
2143
  super(client, HALO_CORE_ENDPOINTS.TEXT_ORIGIN);
2007
2144
  }
2008
- /**
2009
- * Get a moderation key for text validation.
2010
- *
2011
- * @returns Moderation key
2012
- */
2013
- getModerationKey() {
2014
- return this.get("/hi/moderation/key");
2015
- }
2016
2145
  /**
2017
2146
  * Get a specific moderation proof signing key.
2018
2147
  *
@@ -2157,9 +2286,9 @@ var UgcModule = class extends ModuleBase {
2157
2286
  favoriteAnAsset(player, assetType, assetId) {
2158
2287
  this.assertNotEmpty(player, "player");
2159
2288
  this.assertNotEmpty(assetId, "assetId");
2160
- return this.postJson(
2161
- `/hi/players/xuid(${player})/favorites`,
2162
- { assetId, assetKind: assetType }
2289
+ return this.putJson(
2290
+ `/hi/players/xuid(${player})/favorites/${assetType}/${assetId}`,
2291
+ {}
2163
2292
  );
2164
2293
  }
2165
2294
  /**
@@ -2249,7 +2378,7 @@ var UgcModule = class extends ModuleBase {
2249
2378
  reportAnAsset(player, assetType, assetId, report) {
2250
2379
  this.assertNotEmpty(player, "player");
2251
2380
  this.assertNotEmpty(assetId, "assetId");
2252
- return this.postJson(
2381
+ return this.putJson(
2253
2382
  `/hi/players/xuid(${player})/reports/${assetType}/${assetId}`,
2254
2383
  report
2255
2384
  );
@@ -2339,7 +2468,7 @@ var UgcModule = class extends ModuleBase {
2339
2468
  this.assertNotEmpty(assetId, "assetId");
2340
2469
  this.assertNotEmpty(versionId, "versionId");
2341
2470
  return this.post(
2342
- `/hi/${assetType}/${assetId}/versions/${versionId}/publish?clearanceId=${clearanceId}`
2471
+ `/hi/${assetType}/${assetId}/publish/${versionId}?clearanceId=${clearanceId}`
2343
2472
  );
2344
2473
  }
2345
2474
  /**
@@ -2370,7 +2499,7 @@ var UgcModule = class extends ModuleBase {
2370
2499
  this.assertNotEmpty(title, "title");
2371
2500
  this.assertNotEmpty(assetId, "assetId");
2372
2501
  this.assertNotEmpty(player, "player");
2373
- return this.putJson(
2502
+ return this.patchJson(
2374
2503
  `/${title}/${assetType}/${assetId}/permissions/xuid(${player})`,
2375
2504
  permission
2376
2505
  );
@@ -2387,11 +2516,12 @@ var UgcModule = class extends ModuleBase {
2387
2516
  * @param includeContainerSas - Include container SAS URL
2388
2517
  * @returns Session details
2389
2518
  */
2390
- startSession(title, assetType, assetId, includeContainerSas = false) {
2519
+ startSession(title, assetType, assetId, starter, includeContainerSas = false) {
2391
2520
  this.assertNotEmpty(title, "title");
2392
2521
  this.assertNotEmpty(assetId, "assetId");
2393
- return this.post(
2394
- `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`
2522
+ return this.postJson(
2523
+ `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2524
+ starter ?? {}
2395
2525
  );
2396
2526
  }
2397
2527
  /**
@@ -2406,7 +2536,7 @@ var UgcModule = class extends ModuleBase {
2406
2536
  extendSession(title, assetType, assetId, includeContainerSas = false) {
2407
2537
  this.assertNotEmpty(title, "title");
2408
2538
  this.assertNotEmpty(assetId, "assetId");
2409
- return this.putJson(
2539
+ return this.patchJson(
2410
2540
  `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2411
2541
  {}
2412
2542
  );
@@ -2422,7 +2552,7 @@ var UgcModule = class extends ModuleBase {
2422
2552
  endSession(title, assetType, assetId) {
2423
2553
  this.assertNotEmpty(title, "title");
2424
2554
  this.assertNotEmpty(assetId, "assetId");
2425
- return this.delete(`/${title}/${assetType}/${assetId}/sessions`);
2555
+ return this.delete(`/${title}/${assetType}/${assetId}/sessions/active`);
2426
2556
  }
2427
2557
  /**
2428
2558
  * Spawn (create) a new asset.
@@ -2557,82 +2687,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2557
2687
  queryParts.push(`toDatePublishedUtc=${encodeURIComponent(params.toDatePublishedUtc.toISOString())}`);
2558
2688
  }
2559
2689
  const queryString = queryParts.length > 0 ? `?${queryParts.join("&")}` : "";
2560
- return this.get(`/hi/search${queryString}`);
2561
- }
2562
- /**
2563
- * Get featured content of a specific type.
2564
- *
2565
- * @param assetKind - Type of asset
2566
- * @returns Featured assets
2567
- */
2568
- getFeatured(assetKind) {
2569
- return this.get(`/hi/featured/${assetKind}`);
2570
- }
2571
- /**
2572
- * Get popular content of a specific type.
2573
- *
2574
- * @param assetKind - Type of asset
2575
- * @param start - Starting offset
2576
- * @param count - Number of results
2577
- * @returns Popular assets
2578
- */
2579
- getPopular(assetKind, start = 0, count = 25) {
2580
- return this.get(
2581
- `/hi/popular/${assetKind}?start=${start}&count=${count}`
2582
- );
2583
- }
2584
- /**
2585
- * Get recent content of a specific type.
2586
- *
2587
- * @param assetKind - Type of asset
2588
- * @param start - Starting offset
2589
- * @param count - Number of results
2590
- * @returns Recent assets
2591
- */
2592
- getRecent(assetKind, start = 0, count = 25) {
2593
- return this.get(
2594
- `/hi/recent/${assetKind}?start=${start}&count=${count}`
2595
- );
2596
- }
2597
- /**
2598
- * Get recommended content for a player.
2599
- *
2600
- * @param player - Player XUID
2601
- * @param assetKind - Type of asset
2602
- * @param count - Number of results
2603
- * @returns Recommended assets
2604
- */
2605
- getRecommended(player, assetKind, count = 10) {
2606
- this.assertNotEmpty(player, "player");
2607
- return this.get(
2608
- `/hi/players/xuid(${player})/recommendations/${assetKind}?count=${count}`
2609
- );
2610
- }
2611
- /**
2612
- * Browse content by tag.
2613
- *
2614
- * @param assetKind - Type of asset
2615
- * @param tag - Tag to filter by
2616
- * @param start - Starting offset
2617
- * @param count - Number of results
2618
- * @returns Tagged assets
2619
- */
2620
- browseByTag(assetKind, tag, start = 0, count = 25) {
2621
- this.assertNotEmpty(tag, "tag");
2622
- return this.get(
2623
- `/hi/tags/${encodeURIComponent(tag)}/${assetKind}?start=${start}&count=${count}`
2624
- );
2625
- }
2626
- /**
2627
- * Get asset details for discovery purposes.
2628
- *
2629
- * @param assetKind - Type of asset
2630
- * @param assetId - Asset GUID
2631
- * @returns Asset details
2632
- */
2633
- getAssetDetails(assetKind, assetId) {
2634
- this.assertNotEmpty(assetId, "assetId");
2635
- return this.get(`/hi/${assetKind}/${assetId}`);
2690
+ return this.get(`/hi/search${queryString}`, {
2691
+ useClearance: true
2692
+ });
2636
2693
  }
2637
2694
  /**
2638
2695
  * Get tags information.
@@ -2640,7 +2697,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2640
2697
  * @returns Available tags info
2641
2698
  */
2642
2699
  getTagsInfo() {
2643
- return this.get("/hi/info/tags");
2700
+ return this.get("/hi/info/tags", {
2701
+ useClearance: true
2702
+ });
2644
2703
  }
2645
2704
  // ─────────────────────────────────────────────────────────────────
2646
2705
  // Manifests
@@ -2677,7 +2736,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2677
2736
  this.assertNotEmpty(assetId, "assetId");
2678
2737
  this.assertNotEmpty(versionId, "versionId");
2679
2738
  return this.get(
2680
- `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2739
+ `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2740
+ { useClearance: true }
2681
2741
  );
2682
2742
  }
2683
2743
  // ─────────────────────────────────────────────────────────────────
@@ -2693,7 +2753,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2693
2753
  getMap(assetId, versionId) {
2694
2754
  this.assertNotEmpty(assetId, "assetId");
2695
2755
  this.assertNotEmpty(versionId, "versionId");
2696
- return this.get(`/hi/maps/${assetId}/versions/${versionId}`);
2756
+ return this.get(`/hi/maps/${assetId}/versions/${versionId}`, {
2757
+ useClearance: true
2758
+ });
2697
2759
  }
2698
2760
  /**
2699
2761
  * Get a map without specifying version (returns latest).
@@ -2703,7 +2765,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2703
2765
  */
2704
2766
  getMapWithoutVersion(assetId) {
2705
2767
  this.assertNotEmpty(assetId, "assetId");
2706
- return this.get(`/hi/maps/${assetId}`);
2768
+ return this.get(`/hi/maps/${assetId}`, {
2769
+ useClearance: true
2770
+ });
2707
2771
  }
2708
2772
  // ─────────────────────────────────────────────────────────────────
2709
2773
  // Map Mode Pairs
@@ -2720,7 +2784,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2720
2784
  this.assertNotEmpty(assetId, "assetId");
2721
2785
  this.assertNotEmpty(versionId, "versionId");
2722
2786
  return this.get(
2723
- `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2787
+ `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2788
+ { useClearance: true }
2724
2789
  );
2725
2790
  }
2726
2791
  /**
@@ -2731,7 +2796,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2731
2796
  */
2732
2797
  getMapModePairWithoutVersion(assetId) {
2733
2798
  this.assertNotEmpty(assetId, "assetId");
2734
- return this.get(`/hi/mapModePairs/${assetId}`);
2799
+ return this.get(`/hi/mapModePairs/${assetId}`, {
2800
+ useClearance: true
2801
+ });
2735
2802
  }
2736
2803
  // ─────────────────────────────────────────────────────────────────
2737
2804
  // Playlists
@@ -2748,7 +2815,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2748
2815
  this.assertNotEmpty(assetId, "assetId");
2749
2816
  this.assertNotEmpty(versionId, "versionId");
2750
2817
  return this.get(
2751
- `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2818
+ `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2819
+ { useClearance: true }
2752
2820
  );
2753
2821
  }
2754
2822
  /**
@@ -2759,7 +2827,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2759
2827
  */
2760
2828
  getPlaylistWithoutVersion(assetId) {
2761
2829
  this.assertNotEmpty(assetId, "assetId");
2762
- return this.get(`/hi/playlists/${assetId}`);
2830
+ return this.get(`/hi/playlists/${assetId}`, {
2831
+ useClearance: true
2832
+ });
2763
2833
  }
2764
2834
  // ─────────────────────────────────────────────────────────────────
2765
2835
  // Prefabs
@@ -2774,7 +2844,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2774
2844
  getPrefab(assetId, versionId) {
2775
2845
  this.assertNotEmpty(assetId, "assetId");
2776
2846
  this.assertNotEmpty(versionId, "versionId");
2777
- return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`);
2847
+ return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`, {
2848
+ useClearance: true
2849
+ });
2778
2850
  }
2779
2851
  /**
2780
2852
  * Get a prefab without specifying version.
@@ -2784,7 +2856,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2784
2856
  */
2785
2857
  getPrefabWithoutVersion(assetId) {
2786
2858
  this.assertNotEmpty(assetId, "assetId");
2787
- return this.get(`/hi/prefabs/${assetId}`);
2859
+ return this.get(`/hi/prefabs/${assetId}`, {
2860
+ useClearance: true
2861
+ });
2788
2862
  }
2789
2863
  // ─────────────────────────────────────────────────────────────────
2790
2864
  // Projects
@@ -2799,7 +2873,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2799
2873
  getProject(assetId, versionId) {
2800
2874
  this.assertNotEmpty(assetId, "assetId");
2801
2875
  this.assertNotEmpty(versionId, "versionId");
2802
- return this.get(`/hi/projects/${assetId}/versions/${versionId}`);
2876
+ return this.get(`/hi/projects/${assetId}/versions/${versionId}`, {
2877
+ useClearance: true
2878
+ });
2803
2879
  }
2804
2880
  /**
2805
2881
  * Get a project without specifying version.
@@ -2809,7 +2885,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2809
2885
  */
2810
2886
  getProjectWithoutVersion(assetId) {
2811
2887
  this.assertNotEmpty(assetId, "assetId");
2812
- return this.get(`/hi/projects/${assetId}`);
2888
+ return this.get(`/hi/projects/${assetId}`, {
2889
+ useClearance: true
2890
+ });
2813
2891
  }
2814
2892
  /**
2815
2893
  * Get the Forge templates (canvases).
@@ -2817,7 +2895,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2817
2895
  * @returns Forge templates project
2818
2896
  */
2819
2897
  getForgeTemplates() {
2820
- return this.get("/hi/projects/bf0e9bab-6fed-47a4-8bf7-bfd4422ee552");
2898
+ return this.get(
2899
+ "/hi/projects/bf0e9bab-6fed-47a4-8bf7-bfd4422ee552",
2900
+ { useClearance: true }
2901
+ );
2821
2902
  }
2822
2903
  /**
2823
2904
  * Get the Forge mode categories.
@@ -2825,7 +2906,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2825
2906
  * @returns Forge mode categories project
2826
2907
  */
2827
2908
  getForgeModeCategories() {
2828
- return this.get("/hi/projects/aff73c44-0771-468f-b9cf-5c52eee7ab4c");
2909
+ return this.get(
2910
+ "/hi/projects/aff73c44-0771-468f-b9cf-5c52eee7ab4c",
2911
+ { useClearance: true }
2912
+ );
2829
2913
  }
2830
2914
  /**
2831
2915
  * Get the community tab assets.
@@ -2833,7 +2917,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2833
2917
  * @returns Community tab project
2834
2918
  */
2835
2919
  getCommunityTab() {
2836
- return this.get("/hi/projects/90f9e508-99ce-411c-bf88-7bf12b5e9f52");
2920
+ return this.get(
2921
+ "/hi/projects/90f9e508-99ce-411c-bf88-7bf12b5e9f52",
2922
+ { useClearance: true }
2923
+ );
2837
2924
  }
2838
2925
  /**
2839
2926
  * Get 343 recommended assets.
@@ -2841,7 +2928,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2841
2928
  * @returns 343 recommended project
2842
2929
  */
2843
2930
  get343Recommended() {
2844
- return this.get("/hi/projects/712add52-f989-48e1-b3bb-ac7cd8a1c17a");
2931
+ return this.get(
2932
+ "/hi/projects/712add52-f989-48e1-b3bb-ac7cd8a1c17a",
2933
+ { useClearance: true }
2934
+ );
2845
2935
  }
2846
2936
  // ─────────────────────────────────────────────────────────────────
2847
2937
  // Game Variants
@@ -2857,7 +2947,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2857
2947
  this.assertNotEmpty(assetId, "assetId");
2858
2948
  this.assertNotEmpty(versionId, "versionId");
2859
2949
  return this.get(
2860
- `/hi/engineGameVariants/${assetId}/versions/${versionId}`
2950
+ `/hi/engineGameVariants/${assetId}/versions/${versionId}`,
2951
+ { useClearance: true }
2861
2952
  );
2862
2953
  }
2863
2954
  /**
@@ -2868,7 +2959,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2868
2959
  */
2869
2960
  getEngineGameVariantWithoutVersion(assetId) {
2870
2961
  this.assertNotEmpty(assetId, "assetId");
2871
- return this.get(`/hi/engineGameVariants/${assetId}`);
2962
+ return this.get(`/hi/engineGameVariants/${assetId}`, {
2963
+ useClearance: true
2964
+ });
2872
2965
  }
2873
2966
  /**
2874
2967
  * Get a specific UGC game variant version.
@@ -2881,7 +2974,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2881
2974
  this.assertNotEmpty(assetId, "assetId");
2882
2975
  this.assertNotEmpty(versionId, "versionId");
2883
2976
  return this.get(
2884
- `/hi/ugcGameVariants/${assetId}/versions/${versionId}`
2977
+ `/hi/ugcGameVariants/${assetId}/versions/${versionId}`,
2978
+ { useClearance: true }
2885
2979
  );
2886
2980
  }
2887
2981
  /**
@@ -2892,7 +2986,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2892
2986
  */
2893
2987
  getUgcGameVariantWithoutVersion(assetId) {
2894
2988
  this.assertNotEmpty(assetId, "assetId");
2895
- return this.get(`/hi/ugcGameVariants/${assetId}`);
2989
+ return this.get(`/hi/ugcGameVariants/${assetId}`, {
2990
+ useClearance: true
2991
+ });
2896
2992
  }
2897
2993
  // ─────────────────────────────────────────────────────────────────
2898
2994
  // Films