@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.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"
@@ -1849,9 +1984,10 @@ var SkillModule = class extends ModuleBase {
1849
1984
  if (!playerIds.length) {
1850
1985
  throw new Error("playerIds cannot be empty");
1851
1986
  }
1852
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
1987
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1853
1988
  return this.get(
1854
- `/hi/matches/${matchId}/skill?${playersQuery}`
1989
+ `/hi/matches/${matchId}/skill?players=${players}`,
1990
+ { useClearance: true }
1855
1991
  );
1856
1992
  }
1857
1993
  /**
@@ -1867,10 +2003,11 @@ var SkillModule = class extends ModuleBase {
1867
2003
  if (!playerIds.length) {
1868
2004
  throw new Error("playerIds cannot be empty");
1869
2005
  }
1870
- const playersQuery = playerIds.map((id) => `players=xuid(${id})`).join("&");
2006
+ const players = playerIds.map((id) => `xuid(${id})`).join(",");
1871
2007
  const seasonParam = seasonId ? `&seasonId=${seasonId}` : "";
1872
2008
  return this.get(
1873
- `/hi/playlist/${playlistId}/csrs?${playersQuery}${seasonParam}`
2009
+ `/hi/playlist/${playlistId}/csrs?players=${players}${seasonParam}`,
2010
+ { useClearance: true }
1874
2011
  );
1875
2012
  }
1876
2013
  };
@@ -2003,14 +2140,6 @@ var TextModerationModule = class extends ModuleBase {
2003
2140
  constructor(client) {
2004
2141
  super(client, HALO_CORE_ENDPOINTS.TEXT_ORIGIN);
2005
2142
  }
2006
- /**
2007
- * Get a moderation key for text validation.
2008
- *
2009
- * @returns Moderation key
2010
- */
2011
- getModerationKey() {
2012
- return this.get("/hi/moderation/key");
2013
- }
2014
2143
  /**
2015
2144
  * Get a specific moderation proof signing key.
2016
2145
  *
@@ -2155,9 +2284,9 @@ var UgcModule = class extends ModuleBase {
2155
2284
  favoriteAnAsset(player, assetType, assetId) {
2156
2285
  this.assertNotEmpty(player, "player");
2157
2286
  this.assertNotEmpty(assetId, "assetId");
2158
- return this.postJson(
2159
- `/hi/players/xuid(${player})/favorites`,
2160
- { assetId, assetKind: assetType }
2287
+ return this.putJson(
2288
+ `/hi/players/xuid(${player})/favorites/${assetType}/${assetId}`,
2289
+ {}
2161
2290
  );
2162
2291
  }
2163
2292
  /**
@@ -2247,7 +2376,7 @@ var UgcModule = class extends ModuleBase {
2247
2376
  reportAnAsset(player, assetType, assetId, report) {
2248
2377
  this.assertNotEmpty(player, "player");
2249
2378
  this.assertNotEmpty(assetId, "assetId");
2250
- return this.postJson(
2379
+ return this.putJson(
2251
2380
  `/hi/players/xuid(${player})/reports/${assetType}/${assetId}`,
2252
2381
  report
2253
2382
  );
@@ -2337,7 +2466,7 @@ var UgcModule = class extends ModuleBase {
2337
2466
  this.assertNotEmpty(assetId, "assetId");
2338
2467
  this.assertNotEmpty(versionId, "versionId");
2339
2468
  return this.post(
2340
- `/hi/${assetType}/${assetId}/versions/${versionId}/publish?clearanceId=${clearanceId}`
2469
+ `/hi/${assetType}/${assetId}/publish/${versionId}?clearanceId=${clearanceId}`
2341
2470
  );
2342
2471
  }
2343
2472
  /**
@@ -2368,7 +2497,7 @@ var UgcModule = class extends ModuleBase {
2368
2497
  this.assertNotEmpty(title, "title");
2369
2498
  this.assertNotEmpty(assetId, "assetId");
2370
2499
  this.assertNotEmpty(player, "player");
2371
- return this.putJson(
2500
+ return this.patchJson(
2372
2501
  `/${title}/${assetType}/${assetId}/permissions/xuid(${player})`,
2373
2502
  permission
2374
2503
  );
@@ -2385,11 +2514,12 @@ var UgcModule = class extends ModuleBase {
2385
2514
  * @param includeContainerSas - Include container SAS URL
2386
2515
  * @returns Session details
2387
2516
  */
2388
- startSession(title, assetType, assetId, includeContainerSas = false) {
2517
+ startSession(title, assetType, assetId, starter, includeContainerSas = false) {
2389
2518
  this.assertNotEmpty(title, "title");
2390
2519
  this.assertNotEmpty(assetId, "assetId");
2391
- return this.post(
2392
- `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`
2520
+ return this.postJson(
2521
+ `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2522
+ starter ?? {}
2393
2523
  );
2394
2524
  }
2395
2525
  /**
@@ -2404,7 +2534,7 @@ var UgcModule = class extends ModuleBase {
2404
2534
  extendSession(title, assetType, assetId, includeContainerSas = false) {
2405
2535
  this.assertNotEmpty(title, "title");
2406
2536
  this.assertNotEmpty(assetId, "assetId");
2407
- return this.putJson(
2537
+ return this.patchJson(
2408
2538
  `/${title}/${assetType}/${assetId}/sessions?includeContainerSas=${includeContainerSas}`,
2409
2539
  {}
2410
2540
  );
@@ -2420,7 +2550,7 @@ var UgcModule = class extends ModuleBase {
2420
2550
  endSession(title, assetType, assetId) {
2421
2551
  this.assertNotEmpty(title, "title");
2422
2552
  this.assertNotEmpty(assetId, "assetId");
2423
- return this.delete(`/${title}/${assetType}/${assetId}/sessions`);
2553
+ return this.delete(`/${title}/${assetType}/${assetId}/sessions/active`);
2424
2554
  }
2425
2555
  /**
2426
2556
  * Spawn (create) a new asset.
@@ -2555,82 +2685,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2555
2685
  queryParts.push(`toDatePublishedUtc=${encodeURIComponent(params.toDatePublishedUtc.toISOString())}`);
2556
2686
  }
2557
2687
  const queryString = queryParts.length > 0 ? `?${queryParts.join("&")}` : "";
2558
- return this.get(`/hi/search${queryString}`);
2559
- }
2560
- /**
2561
- * Get featured content of a specific type.
2562
- *
2563
- * @param assetKind - Type of asset
2564
- * @returns Featured assets
2565
- */
2566
- getFeatured(assetKind) {
2567
- return this.get(`/hi/featured/${assetKind}`);
2568
- }
2569
- /**
2570
- * Get popular content of a specific type.
2571
- *
2572
- * @param assetKind - Type of asset
2573
- * @param start - Starting offset
2574
- * @param count - Number of results
2575
- * @returns Popular assets
2576
- */
2577
- getPopular(assetKind, start = 0, count = 25) {
2578
- return this.get(
2579
- `/hi/popular/${assetKind}?start=${start}&count=${count}`
2580
- );
2581
- }
2582
- /**
2583
- * Get recent content of a specific type.
2584
- *
2585
- * @param assetKind - Type of asset
2586
- * @param start - Starting offset
2587
- * @param count - Number of results
2588
- * @returns Recent assets
2589
- */
2590
- getRecent(assetKind, start = 0, count = 25) {
2591
- return this.get(
2592
- `/hi/recent/${assetKind}?start=${start}&count=${count}`
2593
- );
2594
- }
2595
- /**
2596
- * Get recommended content for a player.
2597
- *
2598
- * @param player - Player XUID
2599
- * @param assetKind - Type of asset
2600
- * @param count - Number of results
2601
- * @returns Recommended assets
2602
- */
2603
- getRecommended(player, assetKind, count = 10) {
2604
- this.assertNotEmpty(player, "player");
2605
- return this.get(
2606
- `/hi/players/xuid(${player})/recommendations/${assetKind}?count=${count}`
2607
- );
2608
- }
2609
- /**
2610
- * Browse content by tag.
2611
- *
2612
- * @param assetKind - Type of asset
2613
- * @param tag - Tag to filter by
2614
- * @param start - Starting offset
2615
- * @param count - Number of results
2616
- * @returns Tagged assets
2617
- */
2618
- browseByTag(assetKind, tag, start = 0, count = 25) {
2619
- this.assertNotEmpty(tag, "tag");
2620
- return this.get(
2621
- `/hi/tags/${encodeURIComponent(tag)}/${assetKind}?start=${start}&count=${count}`
2622
- );
2623
- }
2624
- /**
2625
- * Get asset details for discovery purposes.
2626
- *
2627
- * @param assetKind - Type of asset
2628
- * @param assetId - Asset GUID
2629
- * @returns Asset details
2630
- */
2631
- getAssetDetails(assetKind, assetId) {
2632
- this.assertNotEmpty(assetId, "assetId");
2633
- return this.get(`/hi/${assetKind}/${assetId}`);
2688
+ return this.get(`/hi/search${queryString}`, {
2689
+ useClearance: true
2690
+ });
2634
2691
  }
2635
2692
  /**
2636
2693
  * Get tags information.
@@ -2638,7 +2695,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2638
2695
  * @returns Available tags info
2639
2696
  */
2640
2697
  getTagsInfo() {
2641
- return this.get("/hi/info/tags");
2698
+ return this.get("/hi/info/tags", {
2699
+ useClearance: true
2700
+ });
2642
2701
  }
2643
2702
  // ─────────────────────────────────────────────────────────────────
2644
2703
  // Manifests
@@ -2675,7 +2734,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2675
2734
  this.assertNotEmpty(assetId, "assetId");
2676
2735
  this.assertNotEmpty(versionId, "versionId");
2677
2736
  return this.get(
2678
- `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2737
+ `/hi/manifests/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2738
+ { useClearance: true }
2679
2739
  );
2680
2740
  }
2681
2741
  // ─────────────────────────────────────────────────────────────────
@@ -2691,7 +2751,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2691
2751
  getMap(assetId, versionId) {
2692
2752
  this.assertNotEmpty(assetId, "assetId");
2693
2753
  this.assertNotEmpty(versionId, "versionId");
2694
- return this.get(`/hi/maps/${assetId}/versions/${versionId}`);
2754
+ return this.get(`/hi/maps/${assetId}/versions/${versionId}`, {
2755
+ useClearance: true
2756
+ });
2695
2757
  }
2696
2758
  /**
2697
2759
  * Get a map without specifying version (returns latest).
@@ -2701,7 +2763,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2701
2763
  */
2702
2764
  getMapWithoutVersion(assetId) {
2703
2765
  this.assertNotEmpty(assetId, "assetId");
2704
- return this.get(`/hi/maps/${assetId}`);
2766
+ return this.get(`/hi/maps/${assetId}`, {
2767
+ useClearance: true
2768
+ });
2705
2769
  }
2706
2770
  // ─────────────────────────────────────────────────────────────────
2707
2771
  // Map Mode Pairs
@@ -2718,7 +2782,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2718
2782
  this.assertNotEmpty(assetId, "assetId");
2719
2783
  this.assertNotEmpty(versionId, "versionId");
2720
2784
  return this.get(
2721
- `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2785
+ `/hi/mapModePairs/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2786
+ { useClearance: true }
2722
2787
  );
2723
2788
  }
2724
2789
  /**
@@ -2729,7 +2794,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2729
2794
  */
2730
2795
  getMapModePairWithoutVersion(assetId) {
2731
2796
  this.assertNotEmpty(assetId, "assetId");
2732
- return this.get(`/hi/mapModePairs/${assetId}`);
2797
+ return this.get(`/hi/mapModePairs/${assetId}`, {
2798
+ useClearance: true
2799
+ });
2733
2800
  }
2734
2801
  // ─────────────────────────────────────────────────────────────────
2735
2802
  // Playlists
@@ -2746,7 +2813,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2746
2813
  this.assertNotEmpty(assetId, "assetId");
2747
2814
  this.assertNotEmpty(versionId, "versionId");
2748
2815
  return this.get(
2749
- `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`
2816
+ `/hi/playlists/${assetId}/versions/${versionId}?clearanceId=${clearanceId}`,
2817
+ { useClearance: true }
2750
2818
  );
2751
2819
  }
2752
2820
  /**
@@ -2757,7 +2825,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2757
2825
  */
2758
2826
  getPlaylistWithoutVersion(assetId) {
2759
2827
  this.assertNotEmpty(assetId, "assetId");
2760
- return this.get(`/hi/playlists/${assetId}`);
2828
+ return this.get(`/hi/playlists/${assetId}`, {
2829
+ useClearance: true
2830
+ });
2761
2831
  }
2762
2832
  // ─────────────────────────────────────────────────────────────────
2763
2833
  // Prefabs
@@ -2772,7 +2842,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2772
2842
  getPrefab(assetId, versionId) {
2773
2843
  this.assertNotEmpty(assetId, "assetId");
2774
2844
  this.assertNotEmpty(versionId, "versionId");
2775
- return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`);
2845
+ return this.get(`/hi/prefabs/${assetId}/versions/${versionId}`, {
2846
+ useClearance: true
2847
+ });
2776
2848
  }
2777
2849
  /**
2778
2850
  * Get a prefab without specifying version.
@@ -2782,7 +2854,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2782
2854
  */
2783
2855
  getPrefabWithoutVersion(assetId) {
2784
2856
  this.assertNotEmpty(assetId, "assetId");
2785
- return this.get(`/hi/prefabs/${assetId}`);
2857
+ return this.get(`/hi/prefabs/${assetId}`, {
2858
+ useClearance: true
2859
+ });
2786
2860
  }
2787
2861
  // ─────────────────────────────────────────────────────────────────
2788
2862
  // Projects
@@ -2797,7 +2871,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2797
2871
  getProject(assetId, versionId) {
2798
2872
  this.assertNotEmpty(assetId, "assetId");
2799
2873
  this.assertNotEmpty(versionId, "versionId");
2800
- return this.get(`/hi/projects/${assetId}/versions/${versionId}`);
2874
+ return this.get(`/hi/projects/${assetId}/versions/${versionId}`, {
2875
+ useClearance: true
2876
+ });
2801
2877
  }
2802
2878
  /**
2803
2879
  * Get a project without specifying version.
@@ -2807,7 +2883,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2807
2883
  */
2808
2884
  getProjectWithoutVersion(assetId) {
2809
2885
  this.assertNotEmpty(assetId, "assetId");
2810
- return this.get(`/hi/projects/${assetId}`);
2886
+ return this.get(`/hi/projects/${assetId}`, {
2887
+ useClearance: true
2888
+ });
2811
2889
  }
2812
2890
  /**
2813
2891
  * Get the Forge templates (canvases).
@@ -2815,7 +2893,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2815
2893
  * @returns Forge templates project
2816
2894
  */
2817
2895
  getForgeTemplates() {
2818
- 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
+ );
2819
2900
  }
2820
2901
  /**
2821
2902
  * Get the Forge mode categories.
@@ -2823,7 +2904,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2823
2904
  * @returns Forge mode categories project
2824
2905
  */
2825
2906
  getForgeModeCategories() {
2826
- 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
+ );
2827
2911
  }
2828
2912
  /**
2829
2913
  * Get the community tab assets.
@@ -2831,7 +2915,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2831
2915
  * @returns Community tab project
2832
2916
  */
2833
2917
  getCommunityTab() {
2834
- 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
+ );
2835
2922
  }
2836
2923
  /**
2837
2924
  * Get 343 recommended assets.
@@ -2839,7 +2926,10 @@ var UgcDiscoveryModule = class extends ModuleBase {
2839
2926
  * @returns 343 recommended project
2840
2927
  */
2841
2928
  get343Recommended() {
2842
- 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
+ );
2843
2933
  }
2844
2934
  // ─────────────────────────────────────────────────────────────────
2845
2935
  // Game Variants
@@ -2855,7 +2945,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2855
2945
  this.assertNotEmpty(assetId, "assetId");
2856
2946
  this.assertNotEmpty(versionId, "versionId");
2857
2947
  return this.get(
2858
- `/hi/engineGameVariants/${assetId}/versions/${versionId}`
2948
+ `/hi/engineGameVariants/${assetId}/versions/${versionId}`,
2949
+ { useClearance: true }
2859
2950
  );
2860
2951
  }
2861
2952
  /**
@@ -2866,7 +2957,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2866
2957
  */
2867
2958
  getEngineGameVariantWithoutVersion(assetId) {
2868
2959
  this.assertNotEmpty(assetId, "assetId");
2869
- return this.get(`/hi/engineGameVariants/${assetId}`);
2960
+ return this.get(`/hi/engineGameVariants/${assetId}`, {
2961
+ useClearance: true
2962
+ });
2870
2963
  }
2871
2964
  /**
2872
2965
  * Get a specific UGC game variant version.
@@ -2879,7 +2972,8 @@ var UgcDiscoveryModule = class extends ModuleBase {
2879
2972
  this.assertNotEmpty(assetId, "assetId");
2880
2973
  this.assertNotEmpty(versionId, "versionId");
2881
2974
  return this.get(
2882
- `/hi/ugcGameVariants/${assetId}/versions/${versionId}`
2975
+ `/hi/ugcGameVariants/${assetId}/versions/${versionId}`,
2976
+ { useClearance: true }
2883
2977
  );
2884
2978
  }
2885
2979
  /**
@@ -2890,7 +2984,9 @@ var UgcDiscoveryModule = class extends ModuleBase {
2890
2984
  */
2891
2985
  getUgcGameVariantWithoutVersion(assetId) {
2892
2986
  this.assertNotEmpty(assetId, "assetId");
2893
- return this.get(`/hi/ugcGameVariants/${assetId}`);
2987
+ return this.get(`/hi/ugcGameVariants/${assetId}`, {
2988
+ useClearance: true
2989
+ });
2894
2990
  }
2895
2991
  // ─────────────────────────────────────────────────────────────────
2896
2992
  // Films