@lgriffin/esi.ts 5.1.0 → 6.0.0

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.
Files changed (336) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +271 -9
  3. package/dist/EsiClient.d.ts +7 -0
  4. package/dist/EsiClient.d.ts.map +1 -1
  5. package/dist/EsiClient.js +19 -0
  6. package/dist/clients/AssetsClient.d.ts +3 -0
  7. package/dist/clients/AssetsClient.d.ts.map +1 -1
  8. package/dist/clients/AssetsClient.js +6 -0
  9. package/dist/clients/BaseEsiClient.d.ts +3 -1
  10. package/dist/clients/BaseEsiClient.d.ts.map +1 -1
  11. package/dist/clients/BaseEsiClient.js +7 -0
  12. package/dist/clients/ContractsClient.d.ts +4 -0
  13. package/dist/clients/ContractsClient.d.ts.map +1 -1
  14. package/dist/clients/ContractsClient.js +9 -0
  15. package/dist/clients/KillmailsClient.d.ts +3 -0
  16. package/dist/clients/KillmailsClient.d.ts.map +1 -1
  17. package/dist/clients/KillmailsClient.js +6 -0
  18. package/dist/clients/MarketClient.d.ts +7 -0
  19. package/dist/clients/MarketClient.d.ts.map +1 -1
  20. package/dist/clients/MarketClient.js +18 -0
  21. package/dist/clients/WalletClient.d.ts +4 -0
  22. package/dist/clients/WalletClient.d.ts.map +1 -1
  23. package/dist/clients/WalletClient.js +9 -0
  24. package/dist/core/ApiClient.d.ts +10 -0
  25. package/dist/core/ApiClient.d.ts.map +1 -1
  26. package/dist/core/ApiClient.js +21 -0
  27. package/dist/core/ApiRequestHandler.d.ts +4 -1
  28. package/dist/core/ApiRequestHandler.d.ts.map +1 -1
  29. package/dist/core/ApiRequestHandler.js +116 -41
  30. package/dist/core/BatchRequestHandler.d.ts +12 -0
  31. package/dist/core/BatchRequestHandler.d.ts.map +1 -0
  32. package/dist/core/BatchRequestHandler.js +66 -0
  33. package/dist/core/constants.d.ts +2 -2
  34. package/dist/core/constants.js +1 -1
  35. package/dist/core/endpoints/EndpointDefinition.d.ts +3 -0
  36. package/dist/core/endpoints/EndpointDefinition.d.ts.map +1 -1
  37. package/dist/core/endpoints/accessListEndpoints.d.ts +16 -0
  38. package/dist/core/endpoints/accessListEndpoints.d.ts.map +1 -1
  39. package/dist/core/endpoints/accessListEndpoints.js +2 -0
  40. package/dist/core/endpoints/allianceEndpoints.d.ts +14 -0
  41. package/dist/core/endpoints/allianceEndpoints.d.ts.map +1 -1
  42. package/dist/core/endpoints/allianceEndpoints.js +3 -0
  43. package/dist/core/endpoints/assetEndpoints.d.ts +27 -0
  44. package/dist/core/endpoints/assetEndpoints.d.ts.map +1 -1
  45. package/dist/core/endpoints/assetEndpoints.js +5 -0
  46. package/dist/core/endpoints/buildEndpointPath.d.ts +7 -0
  47. package/dist/core/endpoints/buildEndpointPath.d.ts.map +1 -0
  48. package/dist/core/endpoints/buildEndpointPath.js +44 -0
  49. package/dist/core/endpoints/calendarEndpoints.d.ts +40 -0
  50. package/dist/core/endpoints/calendarEndpoints.d.ts.map +1 -1
  51. package/dist/core/endpoints/calendarEndpoints.js +5 -0
  52. package/dist/core/endpoints/characterEndpoints.d.ts +105 -0
  53. package/dist/core/endpoints/characterEndpoints.d.ts.map +1 -1
  54. package/dist/core/endpoints/characterEndpoints.js +13 -0
  55. package/dist/core/endpoints/cloneEndpoints.d.ts +21 -0
  56. package/dist/core/endpoints/cloneEndpoints.d.ts.map +1 -1
  57. package/dist/core/endpoints/cloneEndpoints.js +2 -0
  58. package/dist/core/endpoints/contactEndpoints.d.ts +49 -0
  59. package/dist/core/endpoints/contactEndpoints.d.ts.map +1 -1
  60. package/dist/core/endpoints/contactEndpoints.js +8 -0
  61. package/dist/core/endpoints/contractEndpoints.d.ts +184 -0
  62. package/dist/core/endpoints/contractEndpoints.d.ts.map +1 -1
  63. package/dist/core/endpoints/contractEndpoints.js +11 -0
  64. package/dist/core/endpoints/corporationEndpoints.d.ts +192 -0
  65. package/dist/core/endpoints/corporationEndpoints.d.ts.map +1 -1
  66. package/dist/core/endpoints/corporationEndpoints.js +18 -0
  67. package/dist/core/endpoints/createClient.d.ts.map +1 -1
  68. package/dist/core/endpoints/createClient.js +29 -43
  69. package/dist/core/endpoints/dogmaEndpoints.d.ts +38 -0
  70. package/dist/core/endpoints/dogmaEndpoints.d.ts.map +1 -1
  71. package/dist/core/endpoints/dogmaEndpoints.js +4 -0
  72. package/dist/core/endpoints/esi-cache-ttls.generated.d.ts +2 -0
  73. package/dist/core/endpoints/esi-cache-ttls.generated.d.ts.map +1 -0
  74. package/dist/core/endpoints/esi-cache-ttls.generated.js +126 -0
  75. package/dist/core/endpoints/esi-rate-limit-groups.generated.d.ts +7 -0
  76. package/dist/core/endpoints/esi-rate-limit-groups.generated.d.ts.map +1 -0
  77. package/dist/core/endpoints/esi-rate-limit-groups.generated.js +153 -0
  78. package/dist/core/endpoints/esi-scopes.generated.d.ts +3 -0
  79. package/dist/core/endpoints/esi-scopes.generated.d.ts.map +1 -0
  80. package/dist/core/endpoints/esi-scopes.generated.js +127 -0
  81. package/dist/core/endpoints/factionEndpoints.d.ts +154 -0
  82. package/dist/core/endpoints/factionEndpoints.d.ts.map +1 -1
  83. package/dist/core/endpoints/factionEndpoints.js +10 -0
  84. package/dist/core/endpoints/fittingEndpoints.d.ts +12 -0
  85. package/dist/core/endpoints/fittingEndpoints.d.ts.map +1 -1
  86. package/dist/core/endpoints/fittingEndpoints.js +3 -0
  87. package/dist/core/endpoints/fleetEndpoints.d.ts +45 -0
  88. package/dist/core/endpoints/fleetEndpoints.d.ts.map +1 -1
  89. package/dist/core/endpoints/fleetEndpoints.js +6 -0
  90. package/dist/core/endpoints/freelanceJobsEndpoints.d.ts +122 -0
  91. package/dist/core/endpoints/freelanceJobsEndpoints.d.ts.map +1 -1
  92. package/dist/core/endpoints/freelanceJobsEndpoints.js +8 -0
  93. package/dist/core/endpoints/incursionEndpoints.d.ts +15 -0
  94. package/dist/core/endpoints/incursionEndpoints.d.ts.map +1 -1
  95. package/dist/core/endpoints/incursionEndpoints.js +3 -0
  96. package/dist/core/endpoints/industryEndpoints.d.ts +103 -0
  97. package/dist/core/endpoints/industryEndpoints.d.ts.map +1 -1
  98. package/dist/core/endpoints/industryEndpoints.js +10 -0
  99. package/dist/core/endpoints/insuranceEndpoints.d.ts +9 -0
  100. package/dist/core/endpoints/insuranceEndpoints.d.ts.map +1 -1
  101. package/dist/core/endpoints/insuranceEndpoints.js +3 -0
  102. package/dist/core/endpoints/killmailEndpoints.d.ts +41 -0
  103. package/dist/core/endpoints/killmailEndpoints.d.ts.map +1 -1
  104. package/dist/core/endpoints/killmailEndpoints.js +5 -0
  105. package/dist/core/endpoints/locationEndpoints.d.ts +16 -0
  106. package/dist/core/endpoints/locationEndpoints.d.ts.map +1 -1
  107. package/dist/core/endpoints/locationEndpoints.js +4 -0
  108. package/dist/core/endpoints/loyaltyEndpoints.d.ts +17 -0
  109. package/dist/core/endpoints/loyaltyEndpoints.d.ts.map +1 -1
  110. package/dist/core/endpoints/loyaltyEndpoints.js +4 -0
  111. package/dist/core/endpoints/mailEndpoints.d.ts +35 -0
  112. package/dist/core/endpoints/mailEndpoints.d.ts.map +1 -1
  113. package/dist/core/endpoints/mailEndpoints.js +4 -0
  114. package/dist/core/endpoints/marketEndpoints.d.ts +123 -0
  115. package/dist/core/endpoints/marketEndpoints.d.ts.map +1 -1
  116. package/dist/core/endpoints/marketEndpoints.js +9 -0
  117. package/dist/core/endpoints/mercenaryEndpoints.d.ts +24 -0
  118. package/dist/core/endpoints/mercenaryEndpoints.d.ts.map +1 -1
  119. package/dist/core/endpoints/mercenaryEndpoints.js +4 -0
  120. package/dist/core/endpoints/piEndpoints.d.ts +76 -0
  121. package/dist/core/endpoints/piEndpoints.d.ts.map +1 -1
  122. package/dist/core/endpoints/piEndpoints.js +5 -0
  123. package/dist/core/endpoints/skillEndpoints.d.ts +21 -0
  124. package/dist/core/endpoints/skillEndpoints.d.ts.map +1 -1
  125. package/dist/core/endpoints/skillEndpoints.js +5 -0
  126. package/dist/core/endpoints/skyhookEndpoints.d.ts +27 -0
  127. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
  128. package/dist/core/endpoints/skyhookEndpoints.js +5 -0
  129. package/dist/core/endpoints/sovereigntyEndpoints.d.ts +37 -0
  130. package/dist/core/endpoints/sovereigntyEndpoints.d.ts.map +1 -1
  131. package/dist/core/endpoints/sovereigntyEndpoints.js +4 -0
  132. package/dist/core/endpoints/statusEndpoints.d.ts +6 -0
  133. package/dist/core/endpoints/statusEndpoints.d.ts.map +1 -1
  134. package/dist/core/endpoints/statusEndpoints.js +2 -0
  135. package/dist/core/endpoints/universeEndpoints.d.ts +272 -0
  136. package/dist/core/endpoints/universeEndpoints.d.ts.map +1 -1
  137. package/dist/core/endpoints/universeEndpoints.js +25 -0
  138. package/dist/core/endpoints/walletEndpoints.d.ts +51 -0
  139. package/dist/core/endpoints/walletEndpoints.d.ts.map +1 -1
  140. package/dist/core/endpoints/walletEndpoints.js +6 -0
  141. package/dist/core/endpoints/warEndpoints.d.ts +30 -0
  142. package/dist/core/endpoints/warEndpoints.d.ts.map +1 -1
  143. package/dist/core/endpoints/warEndpoints.js +5 -0
  144. package/dist/core/pagination/AsyncPaginationIterator.js +2 -2
  145. package/dist/core/pagination/PaginationHandler.d.ts +1 -1
  146. package/dist/core/pagination/PaginationHandler.d.ts.map +1 -1
  147. package/dist/core/pagination/PaginationHandler.js +2 -2
  148. package/dist/core/rateLimiter/IRateLimiter.d.ts +13 -3
  149. package/dist/core/rateLimiter/IRateLimiter.d.ts.map +1 -1
  150. package/dist/core/rateLimiter/RateLimiter.d.ts +24 -51
  151. package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
  152. package/dist/core/rateLimiter/RateLimiter.js +208 -98
  153. package/dist/core/util/error.d.ts +10 -1
  154. package/dist/core/util/error.d.ts.map +1 -1
  155. package/dist/core/util/error.js +24 -2
  156. package/dist/core/util/retry.d.ts +8 -0
  157. package/dist/core/util/retry.d.ts.map +1 -0
  158. package/dist/core/util/retry.js +9 -0
  159. package/dist/core/util/stringUtil.d.ts +2 -0
  160. package/dist/core/util/stringUtil.d.ts.map +1 -0
  161. package/dist/core/util/stringUtil.js +6 -0
  162. package/dist/index.d.ts +8 -2
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +37 -2
  165. package/dist/schemas/access-lists.d.ts +30 -0
  166. package/dist/schemas/access-lists.d.ts.map +1 -0
  167. package/dist/schemas/access-lists.js +14 -0
  168. package/dist/schemas/alliance.d.ts +30 -0
  169. package/dist/schemas/alliance.d.ts.map +1 -0
  170. package/dist/schemas/alliance.js +28 -0
  171. package/dist/schemas/assets.d.ts +28 -0
  172. package/dist/schemas/assets.d.ts.map +1 -0
  173. package/dist/schemas/assets.js +26 -0
  174. package/dist/schemas/calendar.d.ts +41 -0
  175. package/dist/schemas/calendar.d.ts.map +1 -0
  176. package/dist/schemas/calendar.js +43 -0
  177. package/dist/schemas/character.d.ts +122 -0
  178. package/dist/schemas/character.d.ts.map +1 -0
  179. package/dist/schemas/character.js +114 -0
  180. package/dist/schemas/clones.d.ts +23 -0
  181. package/dist/schemas/clones.d.ts.map +1 -0
  182. package/dist/schemas/clones.js +21 -0
  183. package/dist/schemas/common.d.ts +59 -0
  184. package/dist/schemas/common.d.ts.map +1 -0
  185. package/dist/schemas/common.js +34 -0
  186. package/dist/schemas/contacts.d.ts +18 -0
  187. package/dist/schemas/contacts.d.ts.map +1 -0
  188. package/dist/schemas/contacts.js +15 -0
  189. package/dist/schemas/contracts.d.ts +63 -0
  190. package/dist/schemas/contracts.d.ts.map +1 -0
  191. package/dist/schemas/contracts.js +58 -0
  192. package/dist/schemas/corporation.d.ts +193 -0
  193. package/dist/schemas/corporation.d.ts.map +1 -0
  194. package/dist/schemas/corporation.js +178 -0
  195. package/dist/schemas/dogma.d.ts +40 -0
  196. package/dist/schemas/dogma.d.ts.map +1 -0
  197. package/dist/schemas/dogma.js +42 -0
  198. package/dist/schemas/faction-warfare.d.ts +95 -0
  199. package/dist/schemas/faction-warfare.d.ts.map +1 -0
  200. package/dist/schemas/faction-warfare.js +92 -0
  201. package/dist/schemas/fittings.d.ts +13 -0
  202. package/dist/schemas/fittings.d.ts.map +1 -0
  203. package/dist/schemas/fittings.js +15 -0
  204. package/dist/schemas/fleet.d.ts +46 -0
  205. package/dist/schemas/fleet.d.ts.map +1 -0
  206. package/dist/schemas/fleet.js +48 -0
  207. package/dist/schemas/freelance-jobs.d.ts +141 -0
  208. package/dist/schemas/freelance-jobs.d.ts.map +1 -0
  209. package/dist/schemas/freelance-jobs.js +99 -0
  210. package/dist/schemas/incursions.d.ts +16 -0
  211. package/dist/schemas/incursions.d.ts.map +1 -0
  212. package/dist/schemas/incursions.js +14 -0
  213. package/dist/schemas/index.d.ts +33 -0
  214. package/dist/schemas/index.d.ts.map +1 -0
  215. package/dist/schemas/index.js +48 -0
  216. package/dist/schemas/industry.d.ts +73 -0
  217. package/dist/schemas/industry.d.ts.map +1 -0
  218. package/dist/schemas/industry.js +75 -0
  219. package/dist/schemas/insurance.d.ts +10 -0
  220. package/dist/schemas/insurance.d.ts.map +1 -0
  221. package/dist/schemas/insurance.js +12 -0
  222. package/dist/schemas/killmails.d.ts +38 -0
  223. package/dist/schemas/killmails.d.ts.map +1 -0
  224. package/dist/schemas/killmails.js +42 -0
  225. package/dist/schemas/location.d.ts +18 -0
  226. package/dist/schemas/location.d.ts.map +1 -0
  227. package/dist/schemas/location.js +20 -0
  228. package/dist/schemas/loyalty.d.ts +18 -0
  229. package/dist/schemas/loyalty.d.ts.map +1 -0
  230. package/dist/schemas/loyalty.js +20 -0
  231. package/dist/schemas/mail.d.ts +25 -0
  232. package/dist/schemas/mail.d.ts.map +1 -0
  233. package/dist/schemas/mail.js +29 -0
  234. package/dist/schemas/market.d.ts +29 -0
  235. package/dist/schemas/market.d.ts.map +1 -0
  236. package/dist/schemas/market.js +26 -0
  237. package/dist/schemas/mercenary.d.ts +25 -0
  238. package/dist/schemas/mercenary.d.ts.map +1 -0
  239. package/dist/schemas/mercenary.js +22 -0
  240. package/dist/schemas/pi.d.ts +77 -0
  241. package/dist/schemas/pi.d.ts.map +1 -0
  242. package/dist/schemas/pi.js +85 -0
  243. package/dist/schemas/skills.d.ts +18 -0
  244. package/dist/schemas/skills.d.ts.map +1 -0
  245. package/dist/schemas/skills.js +20 -0
  246. package/dist/schemas/skyhooks.d.ts +28 -0
  247. package/dist/schemas/skyhooks.d.ts.map +1 -0
  248. package/dist/schemas/skyhooks.js +30 -0
  249. package/dist/schemas/sovereignty.d.ts +45 -0
  250. package/dist/schemas/sovereignty.d.ts.map +1 -0
  251. package/dist/schemas/sovereignty.js +43 -0
  252. package/dist/schemas/status.d.ts +8 -0
  253. package/dist/schemas/status.d.ts.map +1 -0
  254. package/dist/schemas/status.js +10 -0
  255. package/dist/schemas/universe.d.ts +286 -0
  256. package/dist/schemas/universe.d.ts.map +1 -0
  257. package/dist/schemas/universe.js +245 -0
  258. package/dist/schemas/wallet.d.ts +27 -0
  259. package/dist/schemas/wallet.d.ts.map +1 -0
  260. package/dist/schemas/wallet.js +29 -0
  261. package/dist/schemas/wars.d.ts +27 -0
  262. package/dist/schemas/wars.d.ts.map +1 -0
  263. package/dist/schemas/wars.js +31 -0
  264. package/dist/testing/TestDataFactory.d.ts +44 -3
  265. package/dist/testing/TestDataFactory.d.ts.map +1 -1
  266. package/dist/types/access-lists.d.ts +4 -10
  267. package/dist/types/access-lists.d.ts.map +1 -1
  268. package/dist/types/alliance.d.ts +6 -24
  269. package/dist/types/alliance.d.ts.map +1 -1
  270. package/dist/types/api-responses.d.ts +1 -0
  271. package/dist/types/api-responses.d.ts.map +1 -1
  272. package/dist/types/api-responses.js +24 -0
  273. package/dist/types/assets.d.ts +5 -22
  274. package/dist/types/assets.d.ts.map +1 -1
  275. package/dist/types/calendar.d.ts +5 -23
  276. package/dist/types/calendar.d.ts.map +1 -1
  277. package/dist/types/character.d.ts +15 -104
  278. package/dist/types/character.d.ts.map +1 -1
  279. package/dist/types/clones.d.ts +3 -15
  280. package/dist/types/clones.d.ts.map +1 -1
  281. package/dist/types/common.d.ts +4 -12
  282. package/dist/types/common.d.ts.map +1 -1
  283. package/dist/types/contacts.d.ts +4 -11
  284. package/dist/types/contacts.d.ts.map +1 -1
  285. package/dist/types/contracts.d.ts +5 -39
  286. package/dist/types/contracts.d.ts.map +1 -1
  287. package/dist/types/corporation.d.ts +18 -166
  288. package/dist/types/corporation.d.ts.map +1 -1
  289. package/dist/types/dogma.d.ts +5 -38
  290. package/dist/types/dogma.d.ts.map +1 -1
  291. package/dist/types/faction-warfare.d.ts +8 -88
  292. package/dist/types/faction-warfare.d.ts.map +1 -1
  293. package/dist/types/fittings.d.ts +3 -11
  294. package/dist/types/fittings.d.ts.map +1 -1
  295. package/dist/types/fleet.d.ts +6 -34
  296. package/dist/types/fleet.d.ts.map +1 -1
  297. package/dist/types/freelance-jobs.d.ts +10 -91
  298. package/dist/types/freelance-jobs.d.ts.map +1 -1
  299. package/dist/types/generated/esi-spec.generated.d.ts +1763 -0
  300. package/dist/types/generated/esi-spec.generated.d.ts.map +1 -0
  301. package/dist/types/generated/esi-spec.generated.js +6 -0
  302. package/dist/types/incursions.d.ts +3 -10
  303. package/dist/types/incursions.d.ts.map +1 -1
  304. package/dist/types/industry.d.ts +9 -64
  305. package/dist/types/industry.d.ts.map +1 -1
  306. package/dist/types/insurance.d.ts +3 -8
  307. package/dist/types/insurance.d.ts.map +1 -1
  308. package/dist/types/killmails.d.ts +4 -36
  309. package/dist/types/killmails.d.ts.map +1 -1
  310. package/dist/types/location.d.ts +5 -16
  311. package/dist/types/location.d.ts.map +1 -1
  312. package/dist/types/loyalty.d.ts +4 -16
  313. package/dist/types/loyalty.d.ts.map +1 -1
  314. package/dist/types/mail.d.ts +4 -18
  315. package/dist/types/mail.d.ts.map +1 -1
  316. package/dist/types/market.d.ts +4 -22
  317. package/dist/types/market.d.ts.map +1 -1
  318. package/dist/types/mercenary.d.ts +4 -18
  319. package/dist/types/mercenary.d.ts.map +1 -1
  320. package/dist/types/pi.d.ts +5 -66
  321. package/dist/types/pi.d.ts.map +1 -1
  322. package/dist/types/skills.d.ts +4 -16
  323. package/dist/types/skills.d.ts.map +1 -1
  324. package/dist/types/skyhooks.d.ts +5 -26
  325. package/dist/types/skyhooks.d.ts.map +1 -1
  326. package/dist/types/sovereignty.d.ts +5 -32
  327. package/dist/types/sovereignty.d.ts.map +1 -1
  328. package/dist/types/status.d.ts +3 -6
  329. package/dist/types/status.d.ts.map +1 -1
  330. package/dist/types/universe.d.ts +26 -274
  331. package/dist/types/universe.d.ts.map +1 -1
  332. package/dist/types/wallet.d.ts +4 -25
  333. package/dist/types/wallet.d.ts.map +1 -1
  334. package/dist/types/wars.d.ts +3 -25
  335. package/dist/types/wars.d.ts.map +1 -1
  336. package/package.json +51 -46
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  export declare const walletEndpoints: {
2
3
  readonly getCharacterWallet: {
3
4
  readonly path: "characters/{characterId}/wallet";
@@ -10,12 +11,37 @@ export declare const walletEndpoints: {
10
11
  readonly method: "GET";
11
12
  readonly requiresAuth: true;
12
13
  readonly pathParams: readonly ["characterId"];
14
+ readonly responseSchema: z.ZodArray<z.ZodObject<{
15
+ id: z.ZodNumber;
16
+ date: z.ZodString;
17
+ ref_type: z.ZodString;
18
+ first_party_id: z.ZodOptional<z.ZodNumber>;
19
+ second_party_id: z.ZodOptional<z.ZodNumber>;
20
+ amount: z.ZodOptional<z.ZodNumber>;
21
+ balance: z.ZodOptional<z.ZodNumber>;
22
+ reason: z.ZodOptional<z.ZodString>;
23
+ description: z.ZodString;
24
+ context_id: z.ZodOptional<z.ZodNumber>;
25
+ context_id_type: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$loose>>;
13
27
  };
14
28
  readonly getCharacterWalletTransactions: {
15
29
  readonly path: "characters/{characterId}/wallet/transactions";
16
30
  readonly method: "GET";
17
31
  readonly requiresAuth: true;
18
32
  readonly pathParams: readonly ["characterId"];
33
+ readonly responseSchema: z.ZodArray<z.ZodObject<{
34
+ transaction_id: z.ZodNumber;
35
+ date: z.ZodString;
36
+ type_id: z.ZodNumber;
37
+ location_id: z.ZodNumber;
38
+ unit_price: z.ZodNumber;
39
+ quantity: z.ZodNumber;
40
+ client_id: z.ZodNumber;
41
+ is_buy: z.ZodBoolean;
42
+ is_personal: z.ZodBoolean;
43
+ journal_ref_id: z.ZodNumber;
44
+ }, z.core.$loose>>;
19
45
  };
20
46
  readonly getCorporationWallets: {
21
47
  readonly path: "corporations/{corporationId}/wallets";
@@ -28,12 +54,37 @@ export declare const walletEndpoints: {
28
54
  readonly method: "GET";
29
55
  readonly requiresAuth: true;
30
56
  readonly pathParams: readonly ["corporationId", "division"];
57
+ readonly responseSchema: z.ZodArray<z.ZodObject<{
58
+ id: z.ZodNumber;
59
+ date: z.ZodString;
60
+ ref_type: z.ZodString;
61
+ first_party_id: z.ZodOptional<z.ZodNumber>;
62
+ second_party_id: z.ZodOptional<z.ZodNumber>;
63
+ amount: z.ZodOptional<z.ZodNumber>;
64
+ balance: z.ZodOptional<z.ZodNumber>;
65
+ reason: z.ZodOptional<z.ZodString>;
66
+ description: z.ZodString;
67
+ context_id: z.ZodOptional<z.ZodNumber>;
68
+ context_id_type: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$loose>>;
31
70
  };
32
71
  readonly getCorporationWalletTransactions: {
33
72
  readonly path: "corporations/{corporationId}/wallets/{division}/transactions";
34
73
  readonly method: "GET";
35
74
  readonly requiresAuth: true;
36
75
  readonly pathParams: readonly ["corporationId", "division"];
76
+ readonly responseSchema: z.ZodArray<z.ZodObject<{
77
+ transaction_id: z.ZodNumber;
78
+ date: z.ZodString;
79
+ type_id: z.ZodNumber;
80
+ location_id: z.ZodNumber;
81
+ unit_price: z.ZodNumber;
82
+ quantity: z.ZodNumber;
83
+ client_id: z.ZodNumber;
84
+ is_buy: z.ZodBoolean;
85
+ is_personal: z.ZodBoolean;
86
+ journal_ref_id: z.ZodNumber;
87
+ }, z.core.$loose>>;
37
88
  };
38
89
  };
39
90
  //# sourceMappingURL=walletEndpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletEndpoints.d.ts","sourceRoot":"","sources":["../../../src/core/endpoints/walletEndpoints.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCI,CAAC"}
1
+ {"version":3,"file":"walletEndpoints.d.ts","sourceRoot":"","sources":["../../../src/core/endpoints/walletEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCI,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.walletEndpoints = void 0;
4
+ const zod_1 = require("zod");
5
+ const wallet_1 = require("../../schemas/wallet");
4
6
  exports.walletEndpoints = {
5
7
  getCharacterWallet: {
6
8
  path: 'characters/{characterId}/wallet',
@@ -13,12 +15,14 @@ exports.walletEndpoints = {
13
15
  method: 'GET',
14
16
  requiresAuth: true,
15
17
  pathParams: ['characterId'],
18
+ responseSchema: zod_1.z.array(wallet_1.WalletJournalSchema),
16
19
  },
17
20
  getCharacterWalletTransactions: {
18
21
  path: 'characters/{characterId}/wallet/transactions',
19
22
  method: 'GET',
20
23
  requiresAuth: true,
21
24
  pathParams: ['characterId'],
25
+ responseSchema: zod_1.z.array(wallet_1.WalletTransactionSchema),
22
26
  },
23
27
  getCorporationWallets: {
24
28
  path: 'corporations/{corporationId}/wallets',
@@ -31,11 +35,13 @@ exports.walletEndpoints = {
31
35
  method: 'GET',
32
36
  requiresAuth: true,
33
37
  pathParams: ['corporationId', 'division'],
38
+ responseSchema: zod_1.z.array(wallet_1.WalletJournalSchema),
34
39
  },
35
40
  getCorporationWalletTransactions: {
36
41
  path: 'corporations/{corporationId}/wallets/{division}/transactions',
37
42
  method: 'GET',
38
43
  requiresAuth: true,
39
44
  pathParams: ['corporationId', 'division'],
45
+ responseSchema: zod_1.z.array(wallet_1.WalletTransactionSchema),
40
46
  },
41
47
  };
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  export declare const warEndpoints: {
2
3
  readonly getWars: {
3
4
  readonly path: "wars";
@@ -9,12 +10,41 @@ export declare const warEndpoints: {
9
10
  readonly method: "GET";
10
11
  readonly requiresAuth: false;
11
12
  readonly pathParams: readonly ["warId"];
13
+ readonly responseSchema: z.ZodObject<{
14
+ id: z.ZodNumber;
15
+ declared: z.ZodString;
16
+ started: z.ZodOptional<z.ZodString>;
17
+ finished: z.ZodOptional<z.ZodString>;
18
+ retracted: z.ZodOptional<z.ZodString>;
19
+ mutual: z.ZodBoolean;
20
+ open_for_allies: z.ZodBoolean;
21
+ aggressor: z.ZodObject<{
22
+ corporation_id: z.ZodOptional<z.ZodNumber>;
23
+ alliance_id: z.ZodOptional<z.ZodNumber>;
24
+ isk_destroyed: z.ZodNumber;
25
+ ships_killed: z.ZodNumber;
26
+ }, z.core.$loose>;
27
+ defender: z.ZodObject<{
28
+ corporation_id: z.ZodOptional<z.ZodNumber>;
29
+ alliance_id: z.ZodOptional<z.ZodNumber>;
30
+ isk_destroyed: z.ZodNumber;
31
+ ships_killed: z.ZodNumber;
32
+ }, z.core.$loose>;
33
+ allies: z.ZodOptional<z.ZodArray<z.ZodObject<{
34
+ corporation_id: z.ZodOptional<z.ZodNumber>;
35
+ alliance_id: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$loose>>>;
37
+ }, z.core.$loose>;
12
38
  };
13
39
  readonly getWarKillmails: {
14
40
  readonly path: "wars/{warId}/killmails";
15
41
  readonly method: "GET";
16
42
  readonly requiresAuth: false;
17
43
  readonly pathParams: readonly ["warId"];
44
+ readonly responseSchema: z.ZodArray<z.ZodObject<{
45
+ killmail_id: z.ZodNumber;
46
+ killmail_hash: z.ZodString;
47
+ }, z.core.$loose>>;
18
48
  };
19
49
  };
20
50
  //# sourceMappingURL=warEndpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warEndpoints.d.ts","sourceRoot":"","sources":["../../../src/core/endpoints/warEndpoints.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CAkBO,CAAC"}
1
+ {"version":3,"file":"warEndpoints.d.ts","sourceRoot":"","sources":["../../../src/core/endpoints/warEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBO,CAAC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.warEndpoints = void 0;
4
+ const zod_1 = require("zod");
5
+ const wars_1 = require("../../schemas/wars");
6
+ const killmails_1 = require("../../schemas/killmails");
4
7
  exports.warEndpoints = {
5
8
  getWars: {
6
9
  path: 'wars',
@@ -12,11 +15,13 @@ exports.warEndpoints = {
12
15
  method: 'GET',
13
16
  requiresAuth: false,
14
17
  pathParams: ['warId'],
18
+ responseSchema: wars_1.WarSchema,
15
19
  },
16
20
  getWarKillmails: {
17
21
  path: 'wars/{warId}/killmails',
18
22
  method: 'GET',
19
23
  requiresAuth: false,
20
24
  pathParams: ['warId'],
25
+ responseSchema: zod_1.z.array(killmails_1.KillmailSummarySchema),
21
26
  },
22
27
  };
@@ -11,14 +11,14 @@ function extractArray(body) {
11
11
  return [];
12
12
  }
13
13
  async function* fetchPages(client, endpoint, method, requiresAuth = false, body) {
14
- const firstResponse = await (0, ApiRequestHandler_1.handleRequest)(client, endpoint, method, body, requiresAuth);
14
+ const firstResponse = await (0, ApiRequestHandler_1.handleSinglePageRequest)(client, endpoint, method, body, requiresAuth);
15
15
  const totalPages = parseInt(firstResponse.headers['x-pages'] || '1', 10);
16
16
  yield { data: extractArray(firstResponse.body), page: 1, totalPages };
17
17
  for (let page = 2; page <= totalPages; page++) {
18
18
  const sep = endpoint.includes('?') ? '&' : '?';
19
19
  const pagedEndpoint = `${endpoint}${sep}page=${page}`;
20
20
  (0, loggerUtil_1.logInfo)(`Fetching page ${page}/${totalPages}: ${pagedEndpoint}`);
21
- const response = await (0, ApiRequestHandler_1.handleRequest)(client, pagedEndpoint, method, body, requiresAuth);
21
+ const response = await (0, ApiRequestHandler_1.handleSinglePageRequest)(client, pagedEndpoint, method, body, requiresAuth);
22
22
  const pageData = extractArray(response.body);
23
23
  if (pageData.length === 0)
24
24
  break;
@@ -16,7 +16,7 @@ export declare class PaginationHandler {
16
16
  * Fetch remaining pages (2..totalPages) and combine with first page data.
17
17
  * The caller has already fetched page 1 and knows the total page count.
18
18
  */
19
- static fetchRemainingPages(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, firstPageData: unknown[], totalPages: number, body?: unknown, options?: PaginationOptions, pageFetch?: PageFetcher): Promise<unknown[]>;
19
+ static fetchRemainingPages(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, firstPageData: unknown[], totalPages: number, body?: unknown, options?: PaginationOptions, pageFetch?: PageFetcher, templatePath?: string): Promise<unknown[]>;
20
20
  /**
21
21
  * Fetch a single page with retry logic
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationHandler.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/PaginationHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAE5E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAKrC;IAEF;;;OAGG;WACU,mBAAmB,CAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,GAAE,iBAAsB,EAC/B,SAAS,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IA8DrB;;OAEG;mBACkB,kBAAkB;IA2CvC;;;OAGG;mBACkB,eAAe;CAiDrC"}
1
+ {"version":3,"file":"PaginationHandler.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/PaginationHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAE5E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAKrC;IAEF;;;OAGG;WACU,mBAAmB,CAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,GAAE,iBAAsB,EAC/B,SAAS,CAAC,EAAE,WAAW,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,EAAE,CAAC;IA8DrB;;OAEG;mBACkB,kBAAkB;IA2CvC;;;OAGG;mBACkB,eAAe;CAiDrC"}
@@ -19,7 +19,7 @@ class PaginationHandler {
19
19
  * Fetch remaining pages (2..totalPages) and combine with first page data.
20
20
  * The caller has already fetched page 1 and knows the total page count.
21
21
  */
22
- static async fetchRemainingPages(client, endpoint, method, requiresAuth, firstPageData, totalPages, body, options = {}, pageFetch) {
22
+ static async fetchRemainingPages(client, endpoint, method, requiresAuth, firstPageData, totalPages, body, options = {}, pageFetch, templatePath) {
23
23
  const opts = { ...this.DEFAULT_OPTIONS, ...options };
24
24
  const rateLimiter = client.getRateLimiter();
25
25
  const allData = [...firstPageData];
@@ -32,7 +32,7 @@ class PaginationHandler {
32
32
  for (let page = 2; page <= effectiveMaxPage; page++) {
33
33
  try {
34
34
  if (rateLimiter)
35
- await rateLimiter.checkRateLimit();
35
+ await rateLimiter.checkRateLimit(templatePath, method);
36
36
  const pageData = await this.fetchPageWithRetry(client, endpoint, method, page, requiresAuth, body, opts, pageFetch);
37
37
  consecutiveFailures = 0;
38
38
  if (opts.stopOnEmptyPage && (!pageData || pageData.length === 0)) {
@@ -1,6 +1,14 @@
1
+ export interface RateLimitGroupStatus {
2
+ group: string;
3
+ remaining: number;
4
+ limit: number;
5
+ used: number;
6
+ windowSizeMs: number;
7
+ blockedUntil: number;
8
+ }
1
9
  export interface IRateLimiter {
2
- checkRateLimit(): Promise<void>;
3
- updateFromResponse(headers: Record<string, string>, statusCode: number): void;
10
+ checkRateLimit(templatePath?: string, method?: string, requestHeaders?: Record<string, string>): Promise<void>;
11
+ updateFromResponse(headers: Record<string, string>, statusCode: number, templatePath?: string, method?: string, requestHeaders?: Record<string, string>): void;
4
12
  getStatus(): {
5
13
  remaining: number;
6
14
  limit: number;
@@ -11,7 +19,9 @@ export interface IRateLimiter {
11
19
  retryAfter: number | null;
12
20
  blockedUntil: number;
13
21
  };
14
- isBlocked(): boolean;
22
+ getGroupStatus(group: string): RateLimitGroupStatus | undefined;
23
+ getAllGroupStatuses(): Map<string, RateLimitGroupStatus>;
24
+ isBlocked(group?: string): boolean;
15
25
  reset(): void;
16
26
  }
17
27
  //# sourceMappingURL=IRateLimiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IRateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/IRateLimiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9E,SAAS,IAAI;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,IAAI,OAAO,CAAC;IACrB,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"IRateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/IRateLimiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,CACZ,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,kBAAkB,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,IAAI,CAAC;IACR,SAAS,IAAI;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAChE,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -1,77 +1,50 @@
1
- /**
2
- * Rate Limiter for ESI API calls
3
- *
4
- * Implements both the new floating-window rate limiting system and the legacy
5
- * error-limit system per the official ESI documentation:
6
- *
7
- * New system (X-Ratelimit-* headers):
8
- * - Floating window with token bucket per IP+route group
9
- * - Token costs: 2xx = 2 tokens, 3xx = 1 token, 4xx = 5 tokens, 5xx = 0 tokens
10
- * - Returns 429 when bucket is empty, with Retry-After header
11
- *
12
- * Legacy system (x-esi-error-limit-* headers):
13
- * - 100 non-2xx/3xx errors per minute
14
- * - Returns 420 when limit exceeded, with Retry-After header
15
- */
16
- import { IRateLimiter } from './IRateLimiter';
1
+ import { IRateLimiter, RateLimitGroupStatus } from './IRateLimiter';
17
2
  export interface RateLimitInfo {
18
- /** Tokens remaining in current window (new system) */
19
3
  remaining: number;
20
- /** Total token budget (new system) */
21
4
  limit: number;
22
- /** Tokens used in current window (new system) */
23
5
  used: number;
24
- /** Route group for this endpoint (new system) */
25
6
  group: string | null;
26
- /** Legacy error-limit remaining count */
27
7
  errorLimitRemain: number;
28
- /** Legacy error-limit seconds until reset */
29
8
  errorLimitReset: number;
30
- /** Retry-After value in seconds (set on 420/429) */
31
9
  retryAfter: number | null;
32
- /** Timestamp (ms) when we must stop sending requests */
33
10
  blockedUntil: number;
34
11
  }
35
12
  export interface RateLimiterConfig {
36
13
  minDelayMs?: number;
37
14
  decelerationThreshold?: number;
15
+ userKeyExtractor?: (headers: Record<string, string>) => string;
38
16
  }
39
17
  export declare class RateLimiter implements IRateLimiter {
40
- private rateLimitInfo;
41
- private lastRequestTime;
42
18
  private readonly minDelayMs;
43
- private isTestMode;
44
19
  private readonly decelerationThreshold;
20
+ private readonly userKeyExtractor?;
21
+ private lastRequestTime;
22
+ private isTestMode;
23
+ private errorLimitRemain;
24
+ private errorLimitReset;
25
+ private defaultBuckets;
26
+ private userBuckets;
27
+ private fallbackBucket;
28
+ private lastCleanup;
29
+ private static readonly CLEANUP_INTERVAL_MS;
45
30
  constructor(config?: RateLimiterConfig);
46
- private defaultInfo;
47
- /**
48
- * Update rate limit information from response headers and status code.
49
- * Must be called on EVERY response, not just 2xx.
50
- */
51
- updateFromResponse(headers: Record<string, string>, statusCode: number): void;
52
- /**
53
- * Legacy method — kept for backwards compatibility.
54
- * Prefer updateFromResponse() which also accepts status code.
55
- */
31
+ private createFallbackBucket;
32
+ private createBucketFromSpec;
33
+ private createBucketForGroup;
34
+ private lookupGroupSpec;
35
+ private resolveBucketMap;
36
+ private getBucket;
37
+ private cleanupStaleUsers;
38
+ updateFromResponse(headers: Record<string, string>, statusCode: number, templatePath?: string, method?: string, requestHeaders?: Record<string, string>): void;
56
39
  updateRateLimitInfo(headers: Record<string, string>): void;
57
- /**
58
- * Check if we should wait before making the next request.
59
- * Enforces hard blocks (420/429), proactive deceleration, and minimum delay.
60
- */
61
- checkRateLimit(): Promise<void>;
62
- /**
63
- * Enforce minimum delay between requests
64
- */
40
+ checkRateLimit(templatePath?: string, method?: string, requestHeaders?: Record<string, string>): Promise<void>;
65
41
  private enforceMinDelay;
66
- /** Get current rate limit status */
67
42
  getStatus(): RateLimitInfo;
68
- /** Get token cost for a given status code */
43
+ getGroupStatus(group: string): RateLimitGroupStatus | undefined;
44
+ getAllGroupStatuses(): Map<string, RateLimitGroupStatus>;
69
45
  static getTokenCost(statusCode: number): number;
70
- /** Check if currently blocked (420/429 backoff active) */
71
- isBlocked(): boolean;
72
- /** Set test mode (disables all delays) */
46
+ isBlocked(group?: string): boolean;
73
47
  setTestMode(enabled: boolean): void;
74
- /** Reset rate limiter state */
75
48
  reset(): void;
76
49
  }
77
50
  //# sourceMappingURL=RateLimiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/RateLimiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAEnC,MAAM,CAAC,EAAE,iBAAiB;IAMtC,OAAO,CAAC,WAAW;IAanB;;;OAGG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,IAAI;IAkDP;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI1D;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyErC;;OAEG;YACW,eAAe;IAgB7B,oCAAoC;IACpC,SAAS,IAAI,aAAa;IAI1B,6CAA6C;IAC7C,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,0DAA0D;IAC1D,SAAS,IAAI,OAAO;IAIpB,0CAA0C;IAC1C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,+BAA+B;IAC/B,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/RateLimiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASpE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAUD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAChE;AAmBD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAEtB;IAEZ,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,eAAe,CAAa;IAEpC,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAEzC,MAAM,CAAC,EAAE,iBAAiB;IAUtC,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,iBAAiB;IAazB,kBAAkB,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,IAAI;IAyCP,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIpD,cAAc,CAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;YA8DF,eAAe;IAgB7B,SAAS,IAAI,aAAa;IAyC1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAa/D,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAexD,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAelC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;CASd"}