@lgriffin/esi.ts 10.2.0 → 11.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 (431) hide show
  1. package/CHANGELOG.md +414 -32
  2. package/LICENSE +667 -19
  3. package/NOTICE +19 -0
  4. package/README.md +149 -902
  5. package/dist/EsiClient.d.mts +5 -36
  6. package/dist/EsiClient.d.ts +5 -36
  7. package/dist/EsiClient.d.ts.map +1 -1
  8. package/dist/EsiClientBuilder.d.mts +128 -1
  9. package/dist/EsiClientBuilder.d.ts +128 -1
  10. package/dist/EsiClientBuilder.d.ts.map +1 -1
  11. package/dist/adapters/PipelineTransport.d.ts +16 -0
  12. package/dist/adapters/PipelineTransport.d.ts.map +1 -0
  13. package/dist/auth/EsiTokenManager.d.mts +62 -21
  14. package/dist/auth/EsiTokenManager.d.ts +62 -21
  15. package/dist/auth/EsiTokenManager.d.ts.map +1 -1
  16. package/dist/auth/EveSsoClient.d.mts +9 -9
  17. package/dist/auth/EveSsoClient.d.ts +9 -9
  18. package/dist/auth/EveSsoClient.d.ts.map +1 -1
  19. package/dist/auth/errors.d.mts +2 -2
  20. package/dist/auth/errors.d.ts +2 -2
  21. package/dist/auth/errors.d.ts.map +1 -1
  22. package/dist/auth/jwt.d.mts +7 -7
  23. package/dist/auth/jwt.d.ts +7 -7
  24. package/dist/auth/jwt.d.ts.map +1 -1
  25. package/dist/auth/storage/FileTokenStorage.d.mts +1 -1
  26. package/dist/auth/storage/FileTokenStorage.d.ts +1 -1
  27. package/dist/auth/storage/FileTokenStorage.d.ts.map +1 -1
  28. package/dist/{chunk-BBSHKVPI.js → chunk-CM63VGGF.js} +1 -1
  29. package/dist/chunk-CM63VGGF.js.map +1 -0
  30. package/dist/chunk-DFRTIZK4.js +275 -0
  31. package/dist/chunk-DFRTIZK4.js.map +1 -0
  32. package/dist/{chunk-VZS32UQ3.mjs → chunk-HXS7ZVEL.mjs} +129 -28
  33. package/dist/chunk-HXS7ZVEL.mjs.map +1 -0
  34. package/dist/chunk-JNFQXEWZ.mjs +275 -0
  35. package/dist/chunk-JNFQXEWZ.mjs.map +1 -0
  36. package/dist/chunk-KIY3XA5Q.mjs +2980 -0
  37. package/dist/chunk-KIY3XA5Q.mjs.map +1 -0
  38. package/dist/{chunk-R7D7M2LQ.mjs → chunk-MGOE2YNH.mjs} +1 -1
  39. package/dist/chunk-MGOE2YNH.mjs.map +1 -0
  40. package/dist/{chunk-SAQBXXTM.js → chunk-MRKZ55XI.js} +130 -29
  41. package/dist/chunk-MRKZ55XI.js.map +1 -0
  42. package/dist/chunk-NKFIHGC6.js +2980 -0
  43. package/dist/chunk-NKFIHGC6.js.map +1 -0
  44. package/dist/{chunk-MSJHIJXA.js → chunk-S73PKM2Y.js} +20 -5
  45. package/dist/chunk-S73PKM2Y.js.map +1 -0
  46. package/dist/{chunk-3ZI5A37L.mjs → chunk-YUHGSPQ7.mjs} +19 -4
  47. package/dist/chunk-YUHGSPQ7.mjs.map +1 -0
  48. package/dist/client/identity.d.mts +20 -0
  49. package/dist/client/identity.d.ts +20 -0
  50. package/dist/client/identity.d.ts.map +1 -0
  51. package/dist/client/index.d.mts +11 -0
  52. package/dist/client/index.d.ts +11 -0
  53. package/dist/client/index.d.ts.map +1 -0
  54. package/dist/client/index.js +6607 -0
  55. package/dist/client/index.js.map +1 -0
  56. package/dist/client/index.mjs +6607 -0
  57. package/dist/client/index.mjs.map +1 -0
  58. package/dist/client/runtime.d.mts +67 -0
  59. package/dist/client/runtime.d.ts +67 -0
  60. package/dist/client/runtime.d.ts.map +1 -0
  61. package/dist/clients/BaseEsiClient.d.ts.map +1 -1
  62. package/dist/clients/ClientRegistry.d.mts +45 -0
  63. package/dist/clients/ClientRegistry.d.ts +45 -0
  64. package/dist/clients/ClientRegistry.d.ts.map +1 -0
  65. package/dist/clients/CorporationsClient.d.mts +3 -3
  66. package/dist/clients/CorporationsClient.d.ts +3 -3
  67. package/dist/clients/CorporationsClient.d.ts.map +1 -1
  68. package/dist/clients/MailClient.d.mts +2 -2
  69. package/dist/clients/MailClient.d.ts +2 -2
  70. package/dist/clients/MailClient.d.ts.map +1 -1
  71. package/dist/clients/MetaClient.d.mts +3 -2
  72. package/dist/clients/MetaClient.d.ts +3 -2
  73. package/dist/clients/MetaClient.d.ts.map +1 -1
  74. package/dist/clients/MilitaryCampaignsClient.d.mts +14 -7
  75. package/dist/clients/MilitaryCampaignsClient.d.ts +14 -7
  76. package/dist/clients/MilitaryCampaignsClient.d.ts.map +1 -1
  77. package/dist/clients/RouteClient.d.mts +4 -4
  78. package/dist/clients/RouteClient.d.ts +4 -4
  79. package/dist/clients/RouteClient.d.ts.map +1 -1
  80. package/dist/clients/SkillsClient.d.mts +1 -1
  81. package/dist/clients/SkillsClient.d.ts +1 -1
  82. package/dist/clients/SkillsClient.d.ts.map +1 -1
  83. package/dist/clients/SkyhooksClient.d.mts +4 -3
  84. package/dist/clients/SkyhooksClient.d.ts +4 -3
  85. package/dist/clients/SkyhooksClient.d.ts.map +1 -1
  86. package/dist/core/ApiClient.d.mts +11 -0
  87. package/dist/core/ApiClient.d.ts +11 -0
  88. package/dist/core/ApiClient.d.ts.map +1 -1
  89. package/dist/core/ApiClientBuilder.d.ts.map +1 -1
  90. package/dist/core/ApiRequestHandler.d.ts +2 -1
  91. package/dist/core/ApiRequestHandler.d.ts.map +1 -1
  92. package/dist/core/BatchRequestHandler.d.mts +13 -2
  93. package/dist/core/BatchRequestHandler.d.ts +13 -2
  94. package/dist/core/BatchRequestHandler.d.ts.map +1 -1
  95. package/dist/core/EsiClientConfig.d.mts +60 -0
  96. package/dist/core/EsiClientConfig.d.ts +60 -0
  97. package/dist/core/EsiClientConfig.d.ts.map +1 -0
  98. package/dist/core/RetryStrategy.d.mts +3 -3
  99. package/dist/core/RetryStrategy.d.ts +3 -3
  100. package/dist/core/RetryStrategy.d.ts.map +1 -1
  101. package/dist/core/cache/ETagCacheManager.d.mts +9 -4
  102. package/dist/core/cache/ETagCacheManager.d.ts +9 -4
  103. package/dist/core/cache/ETagCacheManager.d.ts.map +1 -1
  104. package/dist/core/cache/cacheKey.d.ts +31 -6
  105. package/dist/core/cache/cacheKey.d.ts.map +1 -1
  106. package/dist/core/circuitBreaker/CircuitBreaker.d.mts +8 -12
  107. package/dist/core/circuitBreaker/CircuitBreaker.d.ts +8 -12
  108. package/dist/core/circuitBreaker/CircuitBreaker.d.ts.map +1 -1
  109. package/dist/core/clock.d.ts +8 -0
  110. package/dist/core/clock.d.ts.map +1 -0
  111. package/dist/core/configureApiClient.d.mts +1 -1
  112. package/dist/core/configureApiClient.d.ts +1 -1
  113. package/dist/core/configureApiClient.d.ts.map +1 -1
  114. package/dist/core/constants.d.ts +3 -3
  115. package/dist/core/constants.d.ts.map +1 -1
  116. package/dist/core/endpoints/EndpointDefinition.d.mts +17 -0
  117. package/dist/core/endpoints/EndpointDefinition.d.ts +17 -0
  118. package/dist/core/endpoints/EndpointDefinition.d.ts.map +1 -1
  119. package/dist/core/endpoints/assetEndpoints.d.mts +12 -0
  120. package/dist/core/endpoints/assetEndpoints.d.ts +12 -0
  121. package/dist/core/endpoints/assetEndpoints.d.ts.map +1 -1
  122. package/dist/core/endpoints/characterEndpoints.d.mts +10 -0
  123. package/dist/core/endpoints/characterEndpoints.d.ts +10 -0
  124. package/dist/core/endpoints/characterEndpoints.d.ts.map +1 -1
  125. package/dist/core/endpoints/contactEndpoints.d.mts +1 -0
  126. package/dist/core/endpoints/contactEndpoints.d.ts +1 -0
  127. package/dist/core/endpoints/contactEndpoints.d.ts.map +1 -1
  128. package/dist/core/endpoints/contractEndpoints.d.mts +2 -0
  129. package/dist/core/endpoints/contractEndpoints.d.ts +2 -0
  130. package/dist/core/endpoints/contractEndpoints.d.ts.map +1 -1
  131. package/dist/core/endpoints/corporationEndpoints.d.mts +16 -3
  132. package/dist/core/endpoints/corporationEndpoints.d.ts +16 -3
  133. package/dist/core/endpoints/corporationEndpoints.d.ts.map +1 -1
  134. package/dist/core/endpoints/createClient.d.mts +2 -2
  135. package/dist/core/endpoints/createClient.d.ts +2 -2
  136. package/dist/core/endpoints/createClient.d.ts.map +1 -1
  137. package/dist/core/endpoints/esi-cache-ttls.generated.d.ts.map +1 -1
  138. package/dist/core/endpoints/esi-rate-limit-groups.generated.d.ts.map +1 -1
  139. package/dist/core/endpoints/esi-scopes.generated.d.ts.map +1 -1
  140. package/dist/core/endpoints/fittingEndpoints.d.mts +3 -0
  141. package/dist/core/endpoints/fittingEndpoints.d.ts +3 -0
  142. package/dist/core/endpoints/fittingEndpoints.d.ts.map +1 -1
  143. package/dist/core/endpoints/fleetEndpoints.d.mts +6 -0
  144. package/dist/core/endpoints/fleetEndpoints.d.ts +6 -0
  145. package/dist/core/endpoints/fleetEndpoints.d.ts.map +1 -1
  146. package/dist/core/endpoints/industryEndpoints.d.mts +2 -2
  147. package/dist/core/endpoints/industryEndpoints.d.ts +2 -2
  148. package/dist/core/endpoints/mailEndpoints.d.mts +2 -0
  149. package/dist/core/endpoints/mailEndpoints.d.ts +2 -0
  150. package/dist/core/endpoints/mailEndpoints.d.ts.map +1 -1
  151. package/dist/core/endpoints/mercenaryEndpoints.d.mts +1 -1
  152. package/dist/core/endpoints/mercenaryEndpoints.d.ts +1 -1
  153. package/dist/core/endpoints/metaEndpoints.d.mts +23 -8
  154. package/dist/core/endpoints/metaEndpoints.d.ts +23 -8
  155. package/dist/core/endpoints/metaEndpoints.d.ts.map +1 -1
  156. package/dist/core/endpoints/militaryCampaignEndpoints.d.mts +78 -49
  157. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts +78 -49
  158. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts.map +1 -1
  159. package/dist/core/endpoints/paragonHubEndpoints.d.mts +5 -5
  160. package/dist/core/endpoints/paragonHubEndpoints.d.ts +5 -5
  161. package/dist/core/endpoints/skyhookEndpoints.d.mts +10 -8
  162. package/dist/core/endpoints/skyhookEndpoints.d.ts +10 -8
  163. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
  164. package/dist/core/logger/DefaultLogger.d.mts +20 -1
  165. package/dist/core/logger/DefaultLogger.d.ts +20 -1
  166. package/dist/core/logger/DefaultLogger.d.ts.map +1 -1
  167. package/dist/core/logger/ILogger.d.mts +9 -0
  168. package/dist/core/logger/ILogger.d.ts +9 -0
  169. package/dist/core/logger/ILogger.d.ts.map +1 -1
  170. package/dist/core/logger/NoopLogger.d.ts.map +1 -1
  171. package/dist/core/logger/clientLog.d.ts.map +1 -1
  172. package/dist/core/logger/loggerUtil.d.ts.map +1 -1
  173. package/dist/core/logger/redactLog.d.ts +23 -0
  174. package/dist/core/logger/redactLog.d.ts.map +1 -0
  175. package/dist/core/logger/resolveLogger.d.ts +3 -3
  176. package/dist/core/logger/resolveLogger.d.ts.map +1 -1
  177. package/dist/core/pagination/AsyncPaginationIterator.d.ts.map +1 -1
  178. package/dist/core/pagination/CursorPaginationHandler.d.mts +2 -1
  179. package/dist/core/pagination/CursorPaginationHandler.d.ts +2 -1
  180. package/dist/core/pagination/CursorPaginationHandler.d.ts.map +1 -1
  181. package/dist/core/ports/CacheStore.d.mts +32 -0
  182. package/dist/core/ports/CacheStore.d.ts +32 -0
  183. package/dist/core/ports/CacheStore.d.ts.map +1 -0
  184. package/dist/core/ports/Clock.d.mts +13 -0
  185. package/dist/core/ports/Clock.d.ts +13 -0
  186. package/dist/core/ports/Clock.d.ts.map +1 -0
  187. package/dist/core/ports/HttpTransport.d.mts +7 -0
  188. package/dist/core/ports/HttpTransport.d.ts +7 -0
  189. package/dist/core/ports/HttpTransport.d.ts.map +1 -0
  190. package/dist/core/ports/Identity.d.mts +31 -0
  191. package/dist/core/ports/Identity.d.ts +31 -0
  192. package/dist/core/ports/Identity.d.ts.map +1 -0
  193. package/dist/core/ports/Logger.d.mts +17 -0
  194. package/dist/core/ports/Logger.d.ts +17 -0
  195. package/dist/core/ports/Logger.d.ts.map +1 -0
  196. package/dist/core/ports/OperationTransport.d.mts +42 -0
  197. package/dist/core/ports/OperationTransport.d.ts +42 -0
  198. package/dist/core/ports/OperationTransport.d.ts.map +1 -0
  199. package/dist/core/ports/TokenProvider.d.mts +7 -0
  200. package/dist/core/ports/TokenProvider.d.ts +7 -0
  201. package/dist/core/ports/TokenProvider.d.ts.map +1 -0
  202. package/dist/core/ports/index.d.mts +14 -0
  203. package/dist/core/ports/index.d.ts +14 -0
  204. package/dist/core/ports/index.d.ts.map +1 -0
  205. package/dist/core/rateLimiter/RateLimiter.d.mts +11 -4
  206. package/dist/core/rateLimiter/RateLimiter.d.ts +11 -4
  207. package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
  208. package/dist/core/requestPipeline/cachePolicy.d.ts +5 -3
  209. package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
  210. package/dist/core/requestPipeline/fetchExecution.d.ts +3 -1
  211. package/dist/core/requestPipeline/fetchExecution.d.ts.map +1 -1
  212. package/dist/core/requestPipeline/headers.d.ts +1 -1
  213. package/dist/core/requestPipeline/headers.d.ts.map +1 -1
  214. package/dist/core/requestPipeline/index.d.ts +3 -5
  215. package/dist/core/requestPipeline/index.d.ts.map +1 -1
  216. package/dist/core/requestPipeline/paginationOrchestration.d.ts +1 -1
  217. package/dist/core/requestPipeline/paginationOrchestration.d.ts.map +1 -1
  218. package/dist/core/requestPipeline/statusHandling.d.ts +3 -3
  219. package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
  220. package/dist/core/util/callerIdentity.d.ts +10 -0
  221. package/dist/core/util/callerIdentity.d.ts.map +1 -0
  222. package/dist/core/util/concurrency.d.ts +2 -2
  223. package/dist/core/util/concurrency.d.ts.map +1 -1
  224. package/dist/core/util/error.d.mts +92 -3
  225. package/dist/core/util/error.d.ts +92 -3
  226. package/dist/core/util/error.d.ts.map +1 -1
  227. package/dist/core/util/retry.d.mts +4 -4
  228. package/dist/core/util/retry.d.ts +4 -4
  229. package/dist/core/util/retry.d.ts.map +1 -1
  230. package/dist/core/util/validation.d.ts +6 -0
  231. package/dist/core/util/validation.d.ts.map +1 -1
  232. package/dist/errors.d.mts +2 -3
  233. package/dist/errors.d.ts +2 -3
  234. package/dist/errors.d.ts.map +1 -1
  235. package/dist/errors.js +29 -3
  236. package/dist/errors.js.map +1 -1
  237. package/dist/errors.mjs +28 -2
  238. package/dist/generated/operations.generated.d.mts +9379 -0
  239. package/dist/generated/operations.generated.d.ts +9379 -0
  240. package/dist/generated/operations.generated.d.ts.map +1 -0
  241. package/dist/index.d.mts +4 -4
  242. package/dist/index.d.ts +4 -4
  243. package/dist/index.d.ts.map +1 -1
  244. package/dist/index.js +699 -2865
  245. package/dist/index.js.map +1 -1
  246. package/dist/index.mjs +359 -2525
  247. package/dist/index.mjs.map +1 -1
  248. package/dist/schemas/character.d.mts +5 -0
  249. package/dist/schemas/character.d.ts +5 -0
  250. package/dist/schemas/character.d.ts.map +1 -1
  251. package/dist/schemas/contacts.d.mts +2 -0
  252. package/dist/schemas/contacts.d.ts +2 -0
  253. package/dist/schemas/contacts.d.ts.map +1 -1
  254. package/dist/schemas/corporation.d.mts +24 -3
  255. package/dist/schemas/corporation.d.ts +24 -3
  256. package/dist/schemas/corporation.d.ts.map +1 -1
  257. package/dist/schemas/fittings.d.mts +4 -0
  258. package/dist/schemas/fittings.d.ts +4 -0
  259. package/dist/schemas/fittings.d.ts.map +1 -1
  260. package/dist/schemas/fleet.d.mts +8 -0
  261. package/dist/schemas/fleet.d.ts +8 -0
  262. package/dist/schemas/fleet.d.ts.map +1 -1
  263. package/dist/schemas/index.js +24 -2
  264. package/dist/schemas/index.js.map +1 -1
  265. package/dist/schemas/index.mjs +23 -1
  266. package/dist/schemas/industry.d.mts +2 -2
  267. package/dist/schemas/industry.d.ts +2 -2
  268. package/dist/schemas/mail.d.mts +4 -0
  269. package/dist/schemas/mail.d.ts +4 -0
  270. package/dist/schemas/mail.d.ts.map +1 -1
  271. package/dist/schemas/mercenary.d.mts +1 -1
  272. package/dist/schemas/mercenary.d.ts +1 -1
  273. package/dist/schemas/meta.d.mts +18 -9
  274. package/dist/schemas/meta.d.ts +18 -9
  275. package/dist/schemas/meta.d.ts.map +1 -1
  276. package/dist/schemas/military-campaigns.d.mts +54 -10
  277. package/dist/schemas/military-campaigns.d.ts +54 -10
  278. package/dist/schemas/military-campaigns.d.ts.map +1 -1
  279. package/dist/schemas/paragon-hub.d.mts +4 -4
  280. package/dist/schemas/paragon-hub.d.ts +4 -4
  281. package/dist/schemas/skyhooks.d.mts +18 -6
  282. package/dist/schemas/skyhooks.d.ts +18 -6
  283. package/dist/schemas/skyhooks.d.ts.map +1 -1
  284. package/dist/sde/clock.d.ts +11 -0
  285. package/dist/sde/clock.d.ts.map +1 -0
  286. package/dist/sde/domain/characters/schemas.d.ts +149 -0
  287. package/dist/sde/domain/characters/schemas.d.ts.map +1 -0
  288. package/dist/sde/domain/characters/types.d.mts +163 -0
  289. package/dist/sde/domain/characters/types.d.ts +163 -0
  290. package/dist/sde/domain/characters/types.d.ts.map +1 -0
  291. package/dist/sde/domain/content/schemas.d.ts +84 -0
  292. package/dist/sde/domain/content/schemas.d.ts.map +1 -0
  293. package/dist/sde/domain/content/types.d.mts +91 -0
  294. package/dist/sde/domain/content/types.d.ts +91 -0
  295. package/dist/sde/domain/content/types.d.ts.map +1 -0
  296. package/dist/sde/domain/corporations/schemas.d.ts +113 -0
  297. package/dist/sde/domain/corporations/schemas.d.ts.map +1 -0
  298. package/dist/sde/domain/corporations/types.d.mts +118 -0
  299. package/dist/sde/domain/corporations/types.d.ts +118 -0
  300. package/dist/sde/domain/corporations/types.d.ts.map +1 -0
  301. package/dist/sde/domain/dogma/schemas.d.ts +76 -0
  302. package/dist/sde/domain/dogma/schemas.d.ts.map +1 -0
  303. package/dist/sde/domain/dogma/types.d.mts +80 -0
  304. package/dist/sde/domain/dogma/types.d.ts +80 -0
  305. package/dist/sde/domain/dogma/types.d.ts.map +1 -0
  306. package/dist/sde/domain/industry/schemas.d.ts +204 -0
  307. package/dist/sde/domain/industry/schemas.d.ts.map +1 -0
  308. package/dist/sde/domain/industry/types.d.mts +88 -0
  309. package/dist/sde/domain/industry/types.d.ts +88 -0
  310. package/dist/sde/domain/industry/types.d.ts.map +1 -0
  311. package/dist/sde/domain/market/schemas.d.ts +24 -0
  312. package/dist/sde/domain/market/schemas.d.ts.map +1 -0
  313. package/dist/sde/domain/market/types.d.mts +25 -0
  314. package/dist/sde/domain/market/types.d.ts +25 -0
  315. package/dist/sde/domain/market/types.d.ts.map +1 -0
  316. package/dist/sde/domain/schemas.d.ts +15 -0
  317. package/dist/sde/domain/schemas.d.ts.map +1 -0
  318. package/dist/sde/domain/skins/schemas.d.ts +109 -0
  319. package/dist/sde/domain/skins/schemas.d.ts.map +1 -0
  320. package/dist/sde/domain/skins/types.d.mts +121 -0
  321. package/dist/sde/domain/skins/types.d.ts +121 -0
  322. package/dist/sde/domain/skins/types.d.ts.map +1 -0
  323. package/dist/sde/domain/types/schemas.d.ts +163 -0
  324. package/dist/sde/domain/types/schemas.d.ts.map +1 -0
  325. package/dist/sde/domain/types/types.d.mts +182 -0
  326. package/dist/sde/domain/types/types.d.ts +182 -0
  327. package/dist/sde/domain/types/types.d.ts.map +1 -0
  328. package/dist/sde/domain/types.d.mts +16 -0
  329. package/dist/sde/domain/types.d.ts +16 -0
  330. package/dist/sde/domain/types.d.ts.map +1 -0
  331. package/dist/sde/domain/ui/schemas.d.ts +42 -0
  332. package/dist/sde/domain/ui/schemas.d.ts.map +1 -0
  333. package/dist/sde/domain/ui/types.d.mts +45 -0
  334. package/dist/sde/domain/ui/types.d.ts +45 -0
  335. package/dist/sde/domain/ui/types.d.ts.map +1 -0
  336. package/dist/sde/domain/universe/schemas.d.ts +239 -0
  337. package/dist/sde/domain/universe/schemas.d.ts.map +1 -0
  338. package/dist/sde/domain/universe/types.d.mts +206 -0
  339. package/dist/sde/domain/universe/types.d.ts +206 -0
  340. package/dist/sde/domain/universe/types.d.ts.map +1 -0
  341. package/dist/sde/domain/version/schemas.d.ts +11 -0
  342. package/dist/sde/domain/version/schemas.d.ts.map +1 -0
  343. package/dist/sde/errors.d.mts +1 -1
  344. package/dist/sde/errors.d.ts +1 -1
  345. package/dist/sde/errors.d.ts.map +1 -1
  346. package/dist/sde/index.d.mts +7 -6
  347. package/dist/sde/index.d.ts +7 -6
  348. package/dist/sde/index.d.ts.map +1 -1
  349. package/dist/sde/index.js +31 -21
  350. package/dist/sde/index.js.map +1 -1
  351. package/dist/sde/index.mjs +26 -16
  352. package/dist/sde/index.mjs.map +1 -1
  353. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts +11 -0
  354. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts.map +1 -1
  355. package/dist/sde/ingestion/SdeDownloader.d.ts +2 -2
  356. package/dist/sde/ingestion/SdeDownloader.d.ts.map +1 -1
  357. package/dist/sde/memory.d.mts +5 -5
  358. package/dist/sde/memory.d.ts +5 -5
  359. package/dist/sde/memory.d.ts.map +1 -1
  360. package/dist/sde/memory.js +2 -2
  361. package/dist/sde/memory.mjs +1 -1
  362. package/dist/sde/{IStaticDataProvider.d.mts → ports/IStaticDataProvider.d.mts} +9 -2
  363. package/dist/sde/{IStaticDataProvider.d.ts → ports/IStaticDataProvider.d.ts} +9 -2
  364. package/dist/sde/ports/IStaticDataProvider.d.ts.map +1 -0
  365. package/dist/sde/{MemorySdeProvider.d.mts → providers/memory/MemorySdeProvider.d.mts} +3 -3
  366. package/dist/sde/{MemorySdeProvider.d.ts → providers/memory/MemorySdeProvider.d.ts} +3 -3
  367. package/dist/sde/providers/memory/MemorySdeProvider.d.ts.map +1 -0
  368. package/dist/sde/providers/order.d.ts +10 -0
  369. package/dist/sde/providers/order.d.ts.map +1 -0
  370. package/dist/sde/{SdeDataProvider.d.mts → providers/yaml/SdeDataProvider.d.mts} +14 -5
  371. package/dist/sde/{SdeDataProvider.d.ts → providers/yaml/SdeDataProvider.d.ts} +14 -5
  372. package/dist/sde/providers/yaml/SdeDataProvider.d.ts.map +1 -0
  373. package/dist/sde/{SdeTestDataFactory.d.mts → testing/SdeTestDataFactory.d.mts} +3 -3
  374. package/dist/sde/{SdeTestDataFactory.d.ts → testing/SdeTestDataFactory.d.ts} +3 -3
  375. package/dist/sde/testing/SdeTestDataFactory.d.ts.map +1 -0
  376. package/dist/sde/version.d.mts +1 -1
  377. package/dist/sde/version.d.ts +1 -1
  378. package/dist/sde/version.d.ts.map +1 -1
  379. package/dist/testing/TestDataFactory.d.mts +21 -3
  380. package/dist/testing/TestDataFactory.d.ts +21 -3
  381. package/dist/testing/TestDataFactory.d.ts.map +1 -1
  382. package/dist/testing/index.d.mts +1 -0
  383. package/dist/testing/index.d.ts +1 -0
  384. package/dist/testing/index.d.ts.map +1 -1
  385. package/dist/testing/index.js +157 -10
  386. package/dist/testing/index.js.map +1 -1
  387. package/dist/testing/index.mjs +155 -8
  388. package/dist/testing/index.mjs.map +1 -1
  389. package/dist/testing/mockTransport.d.mts +87 -0
  390. package/dist/testing/mockTransport.d.ts +87 -0
  391. package/dist/testing/mockTransport.d.ts.map +1 -0
  392. package/dist/types/generated/esi-spec.generated.d.mts +230 -10
  393. package/dist/types/generated/esi-spec.generated.d.ts +230 -10
  394. package/dist/types/generated/esi-spec.generated.d.ts.map +1 -1
  395. package/dist/types/military-campaigns.d.mts +4 -1
  396. package/dist/types/military-campaigns.d.ts +4 -1
  397. package/dist/types/military-campaigns.d.ts.map +1 -1
  398. package/dist/types/skyhooks.d.mts +2 -1
  399. package/dist/types/skyhooks.d.ts +2 -1
  400. package/dist/types/skyhooks.d.ts.map +1 -1
  401. package/package.json +167 -131
  402. package/dist/chunk-3ZI5A37L.mjs.map +0 -1
  403. package/dist/chunk-BBSHKVPI.js.map +0 -1
  404. package/dist/chunk-D5L5HZVF.mjs +0 -417
  405. package/dist/chunk-D5L5HZVF.mjs.map +0 -1
  406. package/dist/chunk-MSJHIJXA.js.map +0 -1
  407. package/dist/chunk-R7D7M2LQ.mjs.map +0 -1
  408. package/dist/chunk-SAQBXXTM.js.map +0 -1
  409. package/dist/chunk-VZS32UQ3.mjs.map +0 -1
  410. package/dist/chunk-XIB2OXEZ.js +0 -417
  411. package/dist/chunk-XIB2OXEZ.js.map +0 -1
  412. package/dist/config/jest/globalSetup.d.ts +0 -2
  413. package/dist/config/jest/globalSetup.d.ts.map +0 -1
  414. package/dist/config/jest/globalTeardown.d.ts +0 -2
  415. package/dist/config/jest/globalTeardown.d.ts.map +0 -1
  416. package/dist/config/jest/jest.setup.d.ts +0 -3
  417. package/dist/config/jest/jest.setup.d.ts.map +0 -1
  418. package/dist/core/ClientRegistry.d.mts +0 -45
  419. package/dist/core/ClientRegistry.d.ts +0 -45
  420. package/dist/core/ClientRegistry.d.ts.map +0 -1
  421. package/dist/core/logger/logger.d.ts +0 -12
  422. package/dist/core/logger/logger.d.ts.map +0 -1
  423. package/dist/sde/IStaticDataProvider.d.ts.map +0 -1
  424. package/dist/sde/MemorySdeProvider.d.ts.map +0 -1
  425. package/dist/sde/SdeDataProvider.d.ts.map +0 -1
  426. package/dist/sde/SdeTestDataFactory.d.ts.map +0 -1
  427. package/dist/sde/schemas.d.ts +0 -1121
  428. package/dist/sde/schemas.d.ts.map +0 -1
  429. package/dist/sde/types.d.mts +0 -1039
  430. package/dist/sde/types.d.ts +0 -1039
  431. package/dist/sde/types.d.ts.map +0 -1
@@ -1,417 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;// src/core/logger/DefaultLogger.ts
2
- var _pino = require('pino'); var _pino2 = _interopRequireDefault(_pino);
3
- function createDefaultLogger(level) {
4
- const resolved = level || process.env.ESI_LOG_LEVEL || "warn";
5
- const pinoLogger = _pino2.default.call(void 0, { level: resolved });
6
- return toPinoLogger(pinoLogger);
7
- }
8
- function toPinoLogger(p) {
9
- const emit2 = (level) => (message, context) => context ? p[level](context, message) : p[level](message);
10
- return {
11
- fatal: emit2("fatal"),
12
- error: emit2("error"),
13
- warn: emit2("warn"),
14
- info: emit2("info"),
15
- debug: emit2("debug"),
16
- trace: emit2("trace")
17
- };
18
- }
19
- var defaultLogger = createDefaultLogger();
20
-
21
- // src/core/logger/loggerUtil.ts
22
- var activeLogger = defaultLogger;
23
- var setLogger = (customLogger) => {
24
- activeLogger = customLogger;
25
- };
26
- var getLogger = () => activeLogger;
27
- var ctx = (context) => context && Object.keys(context).length > 0 ? context : void 0;
28
- var logFatal = (message, context) => {
29
- activeLogger.fatal(message, ctx(context));
30
- };
31
- var logError = (message, context) => {
32
- activeLogger.error(message, ctx(context));
33
- };
34
- var logWarn = (message, context) => {
35
- activeLogger.warn(message, ctx(context));
36
- };
37
- var logInfo = (message, context) => {
38
- activeLogger.info(message, ctx(context));
39
- };
40
- var logDebug = (message, context) => {
41
- activeLogger.debug(message, ctx(context));
42
- };
43
- var logTrace = (message, context) => {
44
- activeLogger.trace(message, ctx(context));
45
- };
46
-
47
- // src/core/logger/resolveLogger.ts
48
- function resolveLogger(client) {
49
- const perClient = _optionalChain([client, 'optionalAccess', _ => _.getLogger, 'optionalCall', _2 => _2()]);
50
- if (perClient) return perClient;
51
- const global = getLogger();
52
- if (global !== defaultLogger) return global;
53
- return defaultLogger;
54
- }
55
-
56
- // src/core/logger/clientLog.ts
57
- var emit = (level) => (client, message, context) => {
58
- resolveLogger(client)[level](
59
- message,
60
- context && Object.keys(context).length > 0 ? context : void 0
61
- );
62
- };
63
- var logFatal2 = emit("fatal");
64
- var logError2 = emit("error");
65
- var logWarn2 = emit("warn");
66
- var logInfo2 = emit("info");
67
- var logDebug2 = emit("debug");
68
- var logTrace2 = emit("trace");
69
-
70
- // src/core/circuitBreaker/CircuitBreaker.ts
71
- var CircuitBreaker = (_class = class {
72
- __init() {this.circuits = /* @__PURE__ */ new Map()}
73
-
74
-
75
-
76
-
77
-
78
- __init2() {this.cleanupTimer = null}
79
- __init3() {this.client = null}
80
- setClient(client) {
81
- this.client = client;
82
- }
83
- constructor(config = {}) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);
84
- this.failureThreshold = _nullishCoalesce(config.failureThreshold, () => ( 5));
85
- this.resetTimeoutMs = _nullishCoalesce(config.resetTimeoutMs, () => ( 3e4));
86
- this.halfOpenMaxAttempts = _nullishCoalesce(config.halfOpenMaxAttempts, () => ( 1));
87
- this.staleThresholdMs = _nullishCoalesce(config.staleThresholdMs, () => ( 36e5));
88
- this.keyStrategy = _nullishCoalesce(config.keyStrategy, () => ( "resolved"));
89
- const cleanupIntervalMs = config.cleanupIntervalMs;
90
- if (cleanupIntervalMs !== void 0 && cleanupIntervalMs > 0) {
91
- this.startCleanupTimer(cleanupIntervalMs);
92
- }
93
- }
94
- getKey(endpoint) {
95
- return endpoint.split("?")[0];
96
- }
97
- getOrCreate(key) {
98
- let record = this.circuits.get(key);
99
- if (!record) {
100
- record = {
101
- state: "closed",
102
- failures: 0,
103
- lastFailureTime: 0,
104
- halfOpenAttempts: 0
105
- };
106
- this.circuits.set(key, record);
107
- }
108
- return record;
109
- }
110
- checkCircuit(endpoint) {
111
- const key = this.getKey(endpoint);
112
- const record = this.getOrCreate(key);
113
- if (record.state === "closed") return;
114
- if (record.state === "open") {
115
- const elapsed = Date.now() - record.lastFailureTime;
116
- if (elapsed >= this.resetTimeoutMs) {
117
- record.state = "half-open";
118
- record.halfOpenAttempts = 1;
119
- logInfo2(
120
- this.client,
121
- `Circuit half-open for ${key}, allowing probe request`,
122
- { key }
123
- );
124
- return;
125
- }
126
- const remainingMs = this.resetTimeoutMs - elapsed;
127
- throw new CircuitOpenError(key, record.failures, remainingMs);
128
- }
129
- if (record.state === "half-open") {
130
- if (record.halfOpenAttempts >= this.halfOpenMaxAttempts) {
131
- throw new CircuitOpenError(key, record.failures, this.resetTimeoutMs);
132
- }
133
- record.halfOpenAttempts++;
134
- }
135
- }
136
- recordSuccess(endpoint) {
137
- const key = this.getKey(endpoint);
138
- const record = this.circuits.get(key);
139
- if (!record) return;
140
- if (record.state === "open") return;
141
- if (record.state === "half-open") {
142
- logInfo2(this.client, `Circuit closed for ${key} after successful probe`, {
143
- key
144
- });
145
- }
146
- record.state = "closed";
147
- record.failures = 0;
148
- record.halfOpenAttempts = 0;
149
- }
150
- recordFailure(endpoint, statusCode) {
151
- if (statusCode !== 0 && statusCode < 500 && statusCode !== 420 && statusCode !== 429) {
152
- return;
153
- }
154
- const key = this.getKey(endpoint);
155
- const record = this.getOrCreate(key);
156
- record.failures++;
157
- record.lastFailureTime = Date.now();
158
- if (record.state === "half-open") {
159
- record.state = "open";
160
- logWarn2(
161
- this.client,
162
- `Circuit re-opened for ${key} after failed probe (${record.failures} failures)`,
163
- { key, failures: record.failures }
164
- );
165
- return;
166
- }
167
- if (record.failures >= this.failureThreshold) {
168
- record.state = "open";
169
- logWarn2(
170
- this.client,
171
- `Circuit opened for ${key} after ${record.failures} consecutive failures`,
172
- { key, failures: record.failures }
173
- );
174
- }
175
- }
176
- getState(endpoint) {
177
- const key = this.getKey(endpoint);
178
- const record = this.circuits.get(key);
179
- if (!record) return "closed";
180
- if (record.state === "open") {
181
- const elapsed = Date.now() - record.lastFailureTime;
182
- if (elapsed >= this.resetTimeoutMs) {
183
- return "half-open";
184
- }
185
- }
186
- return record.state;
187
- }
188
- getStats() {
189
- const circuits = {};
190
- let openCircuits = 0;
191
- for (const [key, record] of this.circuits.entries()) {
192
- const state = this.getState(key);
193
- circuits[key] = { state, failures: record.failures };
194
- if (state === "open") openCircuits++;
195
- }
196
- return {
197
- totalCircuits: this.circuits.size,
198
- openCircuits,
199
- circuits
200
- };
201
- }
202
- reset(endpoint) {
203
- if (endpoint) {
204
- this.circuits.delete(this.getKey(endpoint));
205
- } else {
206
- this.circuits.clear();
207
- }
208
- }
209
- cleanup() {
210
- const now = Date.now();
211
- let cleaned = 0;
212
- for (const [key, record] of this.circuits.entries()) {
213
- if (record.state === "closed" && record.failures === 0 && record.lastFailureTime > 0 && now - record.lastFailureTime > this.staleThresholdMs) {
214
- this.circuits.delete(key);
215
- cleaned++;
216
- }
217
- }
218
- if (cleaned > 0) {
219
- logInfo2(
220
- this.client,
221
- `Circuit breaker cleanup: removed ${cleaned} stale circuits`,
222
- {
223
- cleaned
224
- }
225
- );
226
- }
227
- return cleaned;
228
- }
229
- getKeyStrategy() {
230
- return this.keyStrategy;
231
- }
232
- destroy() {
233
- if (this.cleanupTimer) {
234
- clearInterval(this.cleanupTimer);
235
- this.cleanupTimer = null;
236
- }
237
- this.circuits.clear();
238
- }
239
- shutdown() {
240
- this.destroy();
241
- }
242
- startCleanupTimer(intervalMs) {
243
- this.cleanupTimer = setInterval(() => {
244
- this.cleanup();
245
- }, intervalMs);
246
- this.cleanupTimer.unref();
247
- }
248
- }, _class);
249
- var CircuitOpenError = class extends Error {
250
-
251
-
252
-
253
- constructor(endpoint, failures, retryAfterMs) {
254
- super(
255
- `Circuit breaker open for ${endpoint} after ${failures} failures (retry after ${Math.ceil(retryAfterMs / 1e3)}s)`
256
- );
257
- this.name = "CircuitOpenError";
258
- this.endpoint = endpoint;
259
- this.failures = failures;
260
- this.retryAfterMs = retryAfterMs;
261
- }
262
- };
263
-
264
- // src/core/util/error.ts
265
- var SENSITIVE_PARAMS = [
266
- "token",
267
- "access_token",
268
- "api_key",
269
- "refresh_token",
270
- "client_secret",
271
- "code",
272
- "key",
273
- "secret",
274
- "auth",
275
- "password",
276
- "bearer"
277
- ];
278
- function sanitizeUrl(url) {
279
- if (!url) return url;
280
- try {
281
- const parsed = new URL(url);
282
- for (const param of SENSITIVE_PARAMS) {
283
- if (parsed.searchParams.has(param)) {
284
- parsed.searchParams.set(param, "[REDACTED]");
285
- }
286
- }
287
- return parsed.toString();
288
- } catch (e) {
289
- const qIndex = url.indexOf("?");
290
- return qIndex >= 0 ? url.substring(0, qIndex) + "?[params-redacted]" : url;
291
- }
292
- }
293
- var EsiError = class extends Error {
294
- constructor(statusCode, message, url, requestId) {
295
- super(message);
296
- this.statusCode = statusCode;
297
- this.requestId = requestId;
298
- this.name = "EsiError";
299
- this.url = sanitizeUrl(url);
300
- }
301
-
302
-
303
-
304
- isRateLimited() {
305
- return this.statusCode === 420 || this.statusCode === 429;
306
- }
307
- isNotFound() {
308
- return this.statusCode === 404;
309
- }
310
- isUnauthorized() {
311
- return this.statusCode === 401;
312
- }
313
- isForbidden() {
314
- return this.statusCode === 403;
315
- }
316
- isServerError() {
317
- return this.statusCode >= 500;
318
- }
319
- isTimeout() {
320
- return this.statusCode === 0;
321
- }
322
- get retryable() {
323
- return this.statusCode === 0 || this.statusCode === 420 || this.statusCode === 429 || this.statusCode === 502 || this.statusCode === 503 || this.statusCode === 504;
324
- }
325
- };
326
- function isEsiError(error) {
327
- return error instanceof EsiError;
328
- }
329
- function isRateLimited(error) {
330
- return error instanceof EsiError && error.isRateLimited();
331
- }
332
- function isNotFound(error) {
333
- return error instanceof EsiError && error.isNotFound();
334
- }
335
- function isUnauthorized(error) {
336
- return error instanceof EsiError && error.isUnauthorized();
337
- }
338
- function isForbidden(error) {
339
- return error instanceof EsiError && error.isForbidden();
340
- }
341
- function isServerError(error) {
342
- return error instanceof EsiError && error.isServerError();
343
- }
344
- var TimeoutError = class extends EsiError {
345
- constructor(timeoutMs, url, requestId) {
346
- super(0, `Request timed out after ${timeoutMs}ms`, url, requestId);
347
- this.timeoutMs = timeoutMs;
348
- this.name = "TimeoutError";
349
- }
350
-
351
- };
352
- function isTimeout(error) {
353
- return error instanceof TimeoutError;
354
- }
355
- function isRetryable(error) {
356
- return error instanceof EsiError && error.retryable;
357
- }
358
- function isCircuitOpen(error) {
359
- return error instanceof CircuitOpenError;
360
- }
361
- var buildError = (message, type = "ERROR", url) => {
362
- const error = new Error(`[${type}] ${message}`);
363
- if (url) {
364
- error.url = url;
365
- }
366
- return error;
367
- };
368
- var EsiValidationError = class extends EsiError {
369
-
370
-
371
- constructor(url, zodError, requestId, direction = "response") {
372
- const safeUrl = _nullishCoalesce(sanitizeUrl(url), () => ( url));
373
- const label = direction === "request" ? "Request body" : "Response";
374
- super(0, `${label} validation failed for ${safeUrl}`, url, requestId);
375
- this.name = "EsiValidationError";
376
- this.validationError = zodError;
377
- this.direction = direction;
378
- }
379
- };
380
- function isValidationError(error) {
381
- return error instanceof EsiValidationError;
382
- }
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
-
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
-
416
- exports.createDefaultLogger = createDefaultLogger; exports.toPinoLogger = toPinoLogger; exports.setLogger = setLogger; exports.getLogger = getLogger; exports.logFatal = logFatal; exports.logError = logError; exports.logWarn = logWarn; exports.logInfo = logInfo; exports.logDebug = logDebug; exports.logTrace = logTrace; exports.logError2 = logError2; exports.logWarn2 = logWarn2; exports.logInfo2 = logInfo2; exports.logDebug2 = logDebug2; exports.CircuitBreaker = CircuitBreaker; exports.CircuitOpenError = CircuitOpenError; exports.sanitizeUrl = sanitizeUrl; exports.EsiError = EsiError; exports.isEsiError = isEsiError; exports.isRateLimited = isRateLimited; exports.isNotFound = isNotFound; exports.isUnauthorized = isUnauthorized; exports.isForbidden = isForbidden; exports.isServerError = isServerError; exports.TimeoutError = TimeoutError; exports.isTimeout = isTimeout; exports.isRetryable = isRetryable; exports.isCircuitOpen = isCircuitOpen; exports.buildError = buildError; exports.EsiValidationError = EsiValidationError; exports.isValidationError = isValidationError;
417
- //# sourceMappingURL=chunk-XIB2OXEZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/ESI.ts/ESI.ts/dist/chunk-XIB2OXEZ.js","../src/core/logger/DefaultLogger.ts","../src/core/logger/loggerUtil.ts","../src/core/logger/resolveLogger.ts","../src/core/logger/clientLog.ts","../src/core/circuitBreaker/CircuitBreaker.ts","../src/core/util/error.ts"],"names":["emit","logFatal","logError","logWarn","logInfo","logDebug","logTrace"],"mappings":"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","file":"/home/runner/work/ESI.ts/ESI.ts/dist/chunk-XIB2OXEZ.js","sourcesContent":[null,"import pino from 'pino';\nimport type { ILogger, LogContext } from './ILogger';\n\n/**\n * The default `ILogger` implementation — a thin wrapper around pino.\n *\n * Level resolution (highest precedence first):\n * 1. `level` passed to `createDefaultLogger` (e.g. from\n * `EsiClientConfig.logLevel`).\n * 2. The `ESI_LOG_LEVEL` environment variable.\n * 3. `'warn'` (library default — quiet unless the app opts in).\n *\n * The logger writes to `process.stdout` and can be swapped entirely via\n * `EsiClientConfig.logger` or the global `setLogger()` fallback.\n */\nexport type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';\n\nexport function createDefaultLogger(level?: string): ILogger {\n const resolved = level || process.env.ESI_LOG_LEVEL || 'warn';\n const pinoLogger = pino({ level: resolved });\n return toPinoLogger(pinoLogger);\n}\n\n/**\n * Adapt any pino-compatible logger (pino, pino-http child, custom sink) to the\n * `ILogger` contract. Context objects are spread onto the log event so they\n * appear as structured fields rather than being stringified into the message.\n */\nexport function toPinoLogger(p: {\n fatal: (...a: unknown[]) => void;\n error: (...a: unknown[]) => void;\n warn: (...a: unknown[]) => void;\n info: (...a: unknown[]) => void;\n debug: (...a: unknown[]) => void;\n trace: (...a: unknown[]) => void;\n}): ILogger {\n // Call through the sink object so pino methods keep their `this` binding.\n const emit =\n (level: LogLevel) =>\n (message: string, context?: LogContext): void =>\n context ? p[level](context, message) : p[level](message);\n return {\n fatal: emit('fatal'),\n error: emit('error'),\n warn: emit('warn'),\n info: emit('info'),\n debug: emit('debug'),\n trace: emit('trace'),\n };\n}\n\n/** Backwards-compatible default instance (level from `ESI_LOG_LEVEL`). */\nexport const defaultLogger: ILogger = createDefaultLogger();\n","import type { ILogger, LogContext } from './ILogger';\nimport { defaultLogger } from './DefaultLogger';\n\nexport type { ILogger, LogContext } from './ILogger';\n\n/**\n * Global logger fallback.\n *\n * The request pipeline reads the *per-client* logger first and only falls\n * back to this global when a client has none (e.g. the raw factory\n * `EsiApiFactory` clients, or unit tests that call pipeline modules\n * directly). Production apps can rely on the per-client logger from\n * `EsiClientConfig.logger`; this global exists for backwards compatibility\n * and for apps that want one shared logger across all clients.\n */\nlet activeLogger: ILogger = defaultLogger;\n\nexport const setLogger = (customLogger: ILogger): void => {\n activeLogger = customLogger;\n};\n\nexport const getLogger = (): ILogger => activeLogger;\n\nconst ctx = (context?: LogContext): LogContext | undefined =>\n context && Object.keys(context).length > 0 ? context : undefined;\n\nexport const logFatal = (message: string, context?: LogContext): void => {\n activeLogger.fatal(message, ctx(context));\n};\n\nexport const logError = (message: string, context?: LogContext): void => {\n activeLogger.error(message, ctx(context));\n};\n\nexport const logWarn = (message: string, context?: LogContext): void => {\n activeLogger.warn(message, ctx(context));\n};\n\nexport const logInfo = (message: string, context?: LogContext): void => {\n activeLogger.info(message, ctx(context));\n};\n\nexport const logDebug = (message: string, context?: LogContext): void => {\n activeLogger.debug(message, ctx(context));\n};\n\nexport const logTrace = (message: string, context?: LogContext): void => {\n activeLogger.trace(message, ctx(context));\n};\n","import type { ILogger } from './ILogger';\nimport { defaultLogger } from './DefaultLogger';\nimport { getLogger } from './loggerUtil';\n\n/**\n * Resolve the logger for a given API client: per-client logger first,\n * global (via `setLogger`) if a non-default one was installed, then the\n * built-in pino default.\n */\nexport function resolveLogger(\n client: { getLogger?: () => ILogger | null } | null | undefined,\n): ILogger {\n const perClient = client?.getLogger?.();\n if (perClient) return perClient;\n const global = getLogger();\n if (global !== defaultLogger) return global;\n return defaultLogger;\n}\n","import type { ApiClient } from '../ApiClient';\nimport type { LogContext } from './ILogger';\nimport { resolveLogger } from './resolveLogger';\n\ntype Level = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';\n\ntype Emit = (\n client: ApiClient | null | undefined,\n message: string,\n context?: LogContext,\n) => void;\n\nconst emit =\n (level: Level): Emit =>\n (client, message, context) => {\n resolveLogger(client)[level](\n message,\n context && Object.keys(context).length > 0 ? context : undefined,\n );\n };\n\nexport const logFatal: Emit = emit('fatal');\nexport const logError: Emit = emit('error');\nexport const logWarn: Emit = emit('warn');\nexport const logInfo: Emit = emit('info');\nexport const logDebug: Emit = emit('debug');\nexport const logTrace: Emit = emit('trace');\n","import { ApiClient } from '../ApiClient';\nimport { logWarn, logInfo } from '../logger/clientLog';\nimport { ICircuitBreaker } from './ICircuitBreaker';\n\nexport type CircuitState = 'closed' | 'open' | 'half-open';\n\nexport interface CircuitBreakerConfig {\n failureThreshold?: number;\n resetTimeoutMs?: number;\n halfOpenMaxAttempts?: number;\n staleThresholdMs?: number;\n /** 'resolved' (default, current behavior) | 'template' (group by endpoint template path) */\n keyStrategy?: 'resolved' | 'template';\n /** Interval in ms for automatic cleanup of stale circuits. 0 or undefined disables. Recommended value: staleThresholdMs. */\n cleanupIntervalMs?: number;\n}\n\ninterface CircuitRecord {\n state: CircuitState;\n failures: number;\n lastFailureTime: number;\n halfOpenAttempts: number;\n}\n\nexport class CircuitBreaker implements ICircuitBreaker {\n private circuits: Map<string, CircuitRecord> = new Map();\n private readonly failureThreshold: number;\n private readonly resetTimeoutMs: number;\n private readonly halfOpenMaxAttempts: number;\n private readonly staleThresholdMs: number;\n private readonly keyStrategy: 'resolved' | 'template';\n private cleanupTimer: ReturnType<typeof setInterval> | null = null;\n private client: ApiClient | null = null;\n\n setClient(client: ApiClient | null): void {\n this.client = client;\n }\n\n constructor(config: CircuitBreakerConfig = {}) {\n this.failureThreshold = config.failureThreshold ?? 5;\n this.resetTimeoutMs = config.resetTimeoutMs ?? 30_000;\n this.halfOpenMaxAttempts = config.halfOpenMaxAttempts ?? 1;\n this.staleThresholdMs = config.staleThresholdMs ?? 3_600_000;\n this.keyStrategy = config.keyStrategy ?? 'resolved';\n\n const cleanupIntervalMs = config.cleanupIntervalMs;\n if (cleanupIntervalMs !== undefined && cleanupIntervalMs > 0) {\n this.startCleanupTimer(cleanupIntervalMs);\n }\n }\n\n private getKey(endpoint: string): string {\n return endpoint.split('?')[0]!;\n }\n\n private getOrCreate(key: string): CircuitRecord {\n let record = this.circuits.get(key);\n if (!record) {\n record = {\n state: 'closed',\n failures: 0,\n lastFailureTime: 0,\n halfOpenAttempts: 0,\n };\n this.circuits.set(key, record);\n }\n return record;\n }\n\n checkCircuit(endpoint: string): void {\n const key = this.getKey(endpoint);\n const record = this.getOrCreate(key);\n\n if (record.state === 'closed') return;\n\n if (record.state === 'open') {\n const elapsed = Date.now() - record.lastFailureTime;\n if (elapsed >= this.resetTimeoutMs) {\n record.state = 'half-open';\n // This call is the first probe, so it counts towards halfOpenMaxAttempts.\n record.halfOpenAttempts = 1;\n logInfo(\n this.client,\n `Circuit half-open for ${key}, allowing probe request`,\n { key },\n );\n return;\n }\n const remainingMs = this.resetTimeoutMs - elapsed;\n throw new CircuitOpenError(key, record.failures, remainingMs);\n }\n\n if (record.state === 'half-open') {\n if (record.halfOpenAttempts >= this.halfOpenMaxAttempts) {\n throw new CircuitOpenError(key, record.failures, this.resetTimeoutMs);\n }\n record.halfOpenAttempts++;\n }\n }\n\n recordSuccess(endpoint: string): void {\n const key = this.getKey(endpoint);\n const record = this.circuits.get(key);\n if (!record) return;\n\n // A success while open comes from a call admitted before the circuit\n // opened. Only a half-open probe may close the circuit.\n if (record.state === 'open') return;\n\n if (record.state === 'half-open') {\n logInfo(this.client, `Circuit closed for ${key} after successful probe`, {\n key,\n });\n }\n\n record.state = 'closed';\n record.failures = 0;\n record.halfOpenAttempts = 0;\n }\n\n recordFailure(endpoint: string, statusCode: number): void {\n // statusCode 0 = network/timeout; 420/429 = rate limited; >=500 = server errors\n if (\n statusCode !== 0 &&\n statusCode < 500 &&\n statusCode !== 420 &&\n statusCode !== 429\n ) {\n return;\n }\n\n const key = this.getKey(endpoint);\n const record = this.getOrCreate(key);\n\n record.failures++;\n record.lastFailureTime = Date.now();\n\n if (record.state === 'half-open') {\n record.state = 'open';\n logWarn(\n this.client,\n `Circuit re-opened for ${key} after failed probe (${record.failures} failures)`,\n { key, failures: record.failures },\n );\n return;\n }\n\n if (record.failures >= this.failureThreshold) {\n record.state = 'open';\n logWarn(\n this.client,\n `Circuit opened for ${key} after ${record.failures} consecutive failures`,\n { key, failures: record.failures },\n );\n }\n }\n\n getState(endpoint: string): CircuitState {\n const key = this.getKey(endpoint);\n const record = this.circuits.get(key);\n if (!record) return 'closed';\n\n if (record.state === 'open') {\n const elapsed = Date.now() - record.lastFailureTime;\n if (elapsed >= this.resetTimeoutMs) {\n return 'half-open';\n }\n }\n\n return record.state;\n }\n\n getStats(): {\n totalCircuits: number;\n openCircuits: number;\n circuits: Record<string, { state: CircuitState; failures: number }>;\n } {\n const circuits: Record<string, { state: CircuitState; failures: number }> =\n {};\n let openCircuits = 0;\n\n for (const [key, record] of this.circuits.entries()) {\n const state = this.getState(key);\n // eslint-disable-next-line security/detect-object-injection\n circuits[key] = { state, failures: record.failures };\n if (state === 'open') openCircuits++;\n }\n\n return {\n totalCircuits: this.circuits.size,\n openCircuits,\n circuits,\n };\n }\n\n reset(endpoint?: string): void {\n if (endpoint) {\n this.circuits.delete(this.getKey(endpoint));\n } else {\n this.circuits.clear();\n }\n }\n\n cleanup(): number {\n const now = Date.now();\n let cleaned = 0;\n for (const [key, record] of this.circuits.entries()) {\n if (\n record.state === 'closed' &&\n record.failures === 0 &&\n record.lastFailureTime > 0 &&\n now - record.lastFailureTime > this.staleThresholdMs\n ) {\n this.circuits.delete(key);\n cleaned++;\n }\n }\n if (cleaned > 0) {\n logInfo(\n this.client,\n `Circuit breaker cleanup: removed ${cleaned} stale circuits`,\n {\n cleaned,\n },\n );\n }\n return cleaned;\n }\n\n getKeyStrategy(): 'resolved' | 'template' {\n return this.keyStrategy;\n }\n\n destroy(): void {\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n this.cleanupTimer = null;\n }\n this.circuits.clear();\n }\n\n shutdown(): void {\n this.destroy();\n }\n\n private startCleanupTimer(intervalMs: number): void {\n this.cleanupTimer = setInterval(() => {\n this.cleanup();\n }, intervalMs);\n // Don't prevent process exit (important for test runners and CLI tools)\n this.cleanupTimer.unref();\n }\n}\n\nexport class CircuitOpenError extends Error {\n readonly endpoint: string;\n readonly failures: number;\n readonly retryAfterMs: number;\n\n constructor(endpoint: string, failures: number, retryAfterMs: number) {\n super(\n `Circuit breaker open for ${endpoint} after ${failures} failures (retry after ${Math.ceil(retryAfterMs / 1000)}s)`,\n );\n this.name = 'CircuitOpenError';\n this.endpoint = endpoint;\n this.failures = failures;\n this.retryAfterMs = retryAfterMs;\n }\n}\n","const SENSITIVE_PARAMS = [\n 'token',\n 'access_token',\n 'api_key',\n 'refresh_token',\n 'client_secret',\n 'code',\n 'key',\n 'secret',\n 'auth',\n 'password',\n 'bearer',\n];\n\nexport function sanitizeUrl(url?: string): string | undefined {\n if (!url) return url;\n try {\n const parsed = new URL(url);\n for (const param of SENSITIVE_PARAMS) {\n if (parsed.searchParams.has(param)) {\n parsed.searchParams.set(param, '[REDACTED]');\n }\n }\n return parsed.toString();\n } catch {\n const qIndex = url.indexOf('?');\n return qIndex >= 0 ? url.substring(0, qIndex) + '?[params-redacted]' : url;\n }\n}\n\nexport class EsiError extends Error {\n public readonly url?: string;\n\n constructor(\n public readonly statusCode: number,\n message: string,\n url?: string,\n public readonly requestId?: string,\n ) {\n super(message);\n this.name = 'EsiError';\n this.url = sanitizeUrl(url);\n }\n\n isRateLimited(): boolean {\n return this.statusCode === 420 || this.statusCode === 429;\n }\n\n isNotFound(): boolean {\n return this.statusCode === 404;\n }\n\n isUnauthorized(): boolean {\n return this.statusCode === 401;\n }\n\n isForbidden(): boolean {\n return this.statusCode === 403;\n }\n\n isServerError(): boolean {\n return this.statusCode >= 500;\n }\n\n isTimeout(): boolean {\n return this.statusCode === 0;\n }\n\n get retryable(): boolean {\n return (\n this.statusCode === 0 ||\n this.statusCode === 420 ||\n this.statusCode === 429 ||\n this.statusCode === 502 ||\n this.statusCode === 503 ||\n this.statusCode === 504\n );\n }\n}\n\nexport function isEsiError(error: unknown): error is EsiError {\n return error instanceof EsiError;\n}\n\nexport function isRateLimited(error: unknown): error is EsiError {\n return error instanceof EsiError && error.isRateLimited();\n}\n\nexport function isNotFound(error: unknown): error is EsiError {\n return error instanceof EsiError && error.isNotFound();\n}\n\nexport function isUnauthorized(error: unknown): error is EsiError {\n return error instanceof EsiError && error.isUnauthorized();\n}\n\nexport function isForbidden(error: unknown): error is EsiError {\n return error instanceof EsiError && error.isForbidden();\n}\n\nexport function isServerError(error: unknown): error is EsiError {\n return error instanceof EsiError && error.isServerError();\n}\n\nexport class TimeoutError extends EsiError {\n constructor(\n public readonly timeoutMs: number,\n url?: string,\n requestId?: string,\n ) {\n super(0, `Request timed out after ${timeoutMs}ms`, url, requestId);\n this.name = 'TimeoutError';\n }\n}\n\nexport function isTimeout(error: unknown): error is TimeoutError {\n return error instanceof TimeoutError;\n}\n\nexport function isRetryable(error: unknown): error is EsiError {\n return error instanceof EsiError && error.retryable;\n}\n\n// Re-export CircuitOpenError for the type guard — avoid forcing consumers\n// to import from the circuitBreaker subpath just for error checking.\nimport { CircuitOpenError } from '../circuitBreaker/CircuitBreaker';\n\nexport function isCircuitOpen(error: unknown): error is CircuitOpenError {\n return error instanceof CircuitOpenError;\n}\n\nexport const buildError = (\n message: string,\n type: string = 'ERROR',\n url?: string,\n): Error => {\n const error = new Error(`[${type}] ${message}`);\n if (url) {\n (error as Error & { url: string }).url = url;\n }\n return error;\n};\n\nexport type ValidationDirection = 'request' | 'response';\n\nexport class EsiValidationError extends EsiError {\n public readonly validationError: unknown;\n public readonly direction: ValidationDirection;\n\n constructor(\n url: string,\n zodError: unknown,\n requestId?: string,\n direction: ValidationDirection = 'response',\n ) {\n const safeUrl = sanitizeUrl(url) ?? url;\n const label = direction === 'request' ? 'Request body' : 'Response';\n super(0, `${label} validation failed for ${safeUrl}`, url, requestId);\n this.name = 'EsiValidationError';\n this.validationError = zodError;\n this.direction = direction;\n }\n}\n\nexport function isValidationError(error: unknown): error is EsiValidationError {\n return error instanceof EsiValidationError;\n}\n"]}
@@ -1,2 +0,0 @@
1
- export default function globalSetup(): Promise<void>;
2
- //# sourceMappingURL=globalSetup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../../../src/config/jest/globalSetup.ts"],"names":[],"mappings":"AAAA,wBAA8B,WAAW,kBAExC"}
@@ -1,2 +0,0 @@
1
- export default function globalTeardown(): Promise<void>;
2
- //# sourceMappingURL=globalTeardown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalTeardown.d.ts","sourceRoot":"","sources":["../../../src/config/jest/globalTeardown.ts"],"names":[],"mappings":"AAAA,wBAA8B,cAAc,kBAE3C"}
@@ -1,3 +0,0 @@
1
- import '../../../types/global.d.ts';
2
- export declare const getClient: () => import("../..").ApiClient;
3
- //# sourceMappingURL=jest.setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../src/config/jest/jest.setup.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,CAAC;AAgBpC,eAAO,MAAM,SAAS,iCAAe,CAAC"}
@@ -1,45 +0,0 @@
1
- import { ApiClient } from './ApiClient.mjs';
2
- import { AllianceClient } from '../clients/AllianceClient.mjs';
3
- import { AssetsClient } from '../clients/AssetsClient.mjs';
4
- import { CalendarClient } from '../clients/CalendarClient.mjs';
5
- import { CharacterClient } from '../clients/CharacterClient.mjs';
6
- import { ClonesClient } from '../clients/ClonesClient.mjs';
7
- import { ContactsClient } from '../clients/ContactsClient.mjs';
8
- import { ContractsClient } from '../clients/ContractsClient.mjs';
9
- import { CorporationsClient } from '../clients/CorporationsClient.mjs';
10
- import { CorporationProjectsClient } from '../clients/CorporationProjectsClient.mjs';
11
- import { DogmaClient } from '../clients/DogmaClient.mjs';
12
- import { FactionClient } from '../clients/FactionClient.mjs';
13
- import { FittingsClient } from '../clients/FittingsClient.mjs';
14
- import { FleetClient } from '../clients/FleetClient.mjs';
15
- import { IncursionsClient } from '../clients/IncursionsClient.mjs';
16
- import { IndustryClient } from '../clients/IndustryClient.mjs';
17
- import { InsuranceClient } from '../clients/InsuranceClient.mjs';
18
- import { KillmailsClient } from '../clients/KillmailsClient.mjs';
19
- import { LocationClient } from '../clients/LocationClient.mjs';
20
- import { LoyaltyClient } from '../clients/LoyaltyClient.mjs';
21
- import { MailClient } from '../clients/MailClient.mjs';
22
- import { MarketClient } from '../clients/MarketClient.mjs';
23
- import { PiClient } from '../clients/PiClient.mjs';
24
- import { RouteClient } from '../clients/RouteClient.mjs';
25
- import { SearchClient } from '../clients/SearchClient.mjs';
26
- import { CharacterSkillsClient } from '../clients/SkillsClient.mjs';
27
- import { SovereigntyClient } from '../clients/SovereigntyClient.mjs';
28
- import { StatusClient } from '../clients/StatusClient.mjs';
29
- import { UiClient } from '../clients/UiClient.mjs';
30
- import { UniverseClient } from '../clients/UniverseClient.mjs';
31
- import { WalletClient } from '../clients/WalletClient.mjs';
32
- import { WarsClient } from '../clients/WarsClient.mjs';
33
- import { MetaClient } from '../clients/MetaClient.mjs';
34
- import { FreelanceJobsClient } from '../clients/FreelanceJobsClient.mjs';
35
- import { SkyhooksClient } from '../clients/SkyhooksClient.mjs';
36
- import { MercenaryClient } from '../clients/MercenaryClient.mjs';
37
- import { AccessListsClient } from '../clients/AccessListsClient.mjs';
38
- import { CosmeticsClient } from '../clients/CosmeticsClient.mjs';
39
- import { ParagonHubClient } from '../clients/ParagonHubClient.mjs';
40
- import { MilitaryCampaignsClient } from '../clients/MilitaryCampaignsClient.mjs';
41
- export type ApiClientType = 'alliance' | 'assets' | 'calendar' | 'characters' | 'clones' | 'contacts' | 'contracts' | 'corporations' | 'corporationProjects' | 'dogma' | 'factions' | 'fittings' | 'fleets' | 'incursions' | 'industry' | 'insurance' | 'killmails' | 'location' | 'loyalty' | 'mail' | 'market' | 'pi' | 'route' | 'search' | 'skills' | 'sovereignty' | 'status' | 'ui' | 'universe' | 'wallet' | 'wars' | 'meta' | 'freelanceJobs' | 'skyhooks' | 'cosmetics' | 'paragonHub' | 'mercenary' | 'militaryCampaigns' | 'accessLists';
42
- export type ClientInstance = AllianceClient | AssetsClient | CalendarClient | CharacterClient | ClonesClient | ContactsClient | ContractsClient | CorporationsClient | CorporationProjectsClient | DogmaClient | FactionClient | FittingsClient | FleetClient | IncursionsClient | IndustryClient | InsuranceClient | KillmailsClient | LocationClient | LoyaltyClient | MailClient | MarketClient | PiClient | RouteClient | SearchClient | CharacterSkillsClient | SovereigntyClient | StatusClient | UiClient | UniverseClient | WalletClient | WarsClient | MetaClient | FreelanceJobsClient | SkyhooksClient | CosmeticsClient | ParagonHubClient | MercenaryClient | MilitaryCampaignsClient | AccessListsClient;
43
- export declare function createClientInstance(name: ApiClientType, apiClient: ApiClient): ClientInstance;
44
- export { AllianceClient, AssetsClient, CalendarClient, CharacterClient, ClonesClient, ContactsClient, ContractsClient, CorporationsClient, CorporationProjectsClient, DogmaClient, FactionClient, FittingsClient, FleetClient, IncursionsClient, IndustryClient, InsuranceClient, KillmailsClient, LocationClient, LoyaltyClient, MailClient, MarketClient, PiClient, RouteClient, SearchClient, CharacterSkillsClient, SovereigntyClient, StatusClient, UiClient, UniverseClient, WalletClient, WarsClient, MetaClient, FreelanceJobsClient, SkyhooksClient, CosmeticsClient, ParagonHubClient, MercenaryClient, MilitaryCampaignsClient, AccessListsClient, };
45
- //# sourceMappingURL=ClientRegistry.d.ts.map
@@ -1,45 +0,0 @@
1
- import { ApiClient } from './ApiClient';
2
- import { AllianceClient } from '../clients/AllianceClient';
3
- import { AssetsClient } from '../clients/AssetsClient';
4
- import { CalendarClient } from '../clients/CalendarClient';
5
- import { CharacterClient } from '../clients/CharacterClient';
6
- import { ClonesClient } from '../clients/ClonesClient';
7
- import { ContactsClient } from '../clients/ContactsClient';
8
- import { ContractsClient } from '../clients/ContractsClient';
9
- import { CorporationsClient } from '../clients/CorporationsClient';
10
- import { CorporationProjectsClient } from '../clients/CorporationProjectsClient';
11
- import { DogmaClient } from '../clients/DogmaClient';
12
- import { FactionClient } from '../clients/FactionClient';
13
- import { FittingsClient } from '../clients/FittingsClient';
14
- import { FleetClient } from '../clients/FleetClient';
15
- import { IncursionsClient } from '../clients/IncursionsClient';
16
- import { IndustryClient } from '../clients/IndustryClient';
17
- import { InsuranceClient } from '../clients/InsuranceClient';
18
- import { KillmailsClient } from '../clients/KillmailsClient';
19
- import { LocationClient } from '../clients/LocationClient';
20
- import { LoyaltyClient } from '../clients/LoyaltyClient';
21
- import { MailClient } from '../clients/MailClient';
22
- import { MarketClient } from '../clients/MarketClient';
23
- import { PiClient } from '../clients/PiClient';
24
- import { RouteClient } from '../clients/RouteClient';
25
- import { SearchClient } from '../clients/SearchClient';
26
- import { CharacterSkillsClient } from '../clients/SkillsClient';
27
- import { SovereigntyClient } from '../clients/SovereigntyClient';
28
- import { StatusClient } from '../clients/StatusClient';
29
- import { UiClient } from '../clients/UiClient';
30
- import { UniverseClient } from '../clients/UniverseClient';
31
- import { WalletClient } from '../clients/WalletClient';
32
- import { WarsClient } from '../clients/WarsClient';
33
- import { MetaClient } from '../clients/MetaClient';
34
- import { FreelanceJobsClient } from '../clients/FreelanceJobsClient';
35
- import { SkyhooksClient } from '../clients/SkyhooksClient';
36
- import { MercenaryClient } from '../clients/MercenaryClient';
37
- import { AccessListsClient } from '../clients/AccessListsClient';
38
- import { CosmeticsClient } from '../clients/CosmeticsClient';
39
- import { ParagonHubClient } from '../clients/ParagonHubClient';
40
- import { MilitaryCampaignsClient } from '../clients/MilitaryCampaignsClient';
41
- export type ApiClientType = 'alliance' | 'assets' | 'calendar' | 'characters' | 'clones' | 'contacts' | 'contracts' | 'corporations' | 'corporationProjects' | 'dogma' | 'factions' | 'fittings' | 'fleets' | 'incursions' | 'industry' | 'insurance' | 'killmails' | 'location' | 'loyalty' | 'mail' | 'market' | 'pi' | 'route' | 'search' | 'skills' | 'sovereignty' | 'status' | 'ui' | 'universe' | 'wallet' | 'wars' | 'meta' | 'freelanceJobs' | 'skyhooks' | 'cosmetics' | 'paragonHub' | 'mercenary' | 'militaryCampaigns' | 'accessLists';
42
- export type ClientInstance = AllianceClient | AssetsClient | CalendarClient | CharacterClient | ClonesClient | ContactsClient | ContractsClient | CorporationsClient | CorporationProjectsClient | DogmaClient | FactionClient | FittingsClient | FleetClient | IncursionsClient | IndustryClient | InsuranceClient | KillmailsClient | LocationClient | LoyaltyClient | MailClient | MarketClient | PiClient | RouteClient | SearchClient | CharacterSkillsClient | SovereigntyClient | StatusClient | UiClient | UniverseClient | WalletClient | WarsClient | MetaClient | FreelanceJobsClient | SkyhooksClient | CosmeticsClient | ParagonHubClient | MercenaryClient | MilitaryCampaignsClient | AccessListsClient;
43
- export declare function createClientInstance(name: ApiClientType, apiClient: ApiClient): ClientInstance;
44
- export { AllianceClient, AssetsClient, CalendarClient, CharacterClient, ClonesClient, ContactsClient, ContractsClient, CorporationsClient, CorporationProjectsClient, DogmaClient, FactionClient, FittingsClient, FleetClient, IncursionsClient, IndustryClient, InsuranceClient, KillmailsClient, LocationClient, LoyaltyClient, MailClient, MarketClient, PiClient, RouteClient, SearchClient, CharacterSkillsClient, SovereigntyClient, StatusClient, UiClient, UniverseClient, WalletClient, WarsClient, MetaClient, FreelanceJobsClient, SkyhooksClient, CosmeticsClient, ParagonHubClient, MercenaryClient, MilitaryCampaignsClient, AccessListsClient, };
45
- //# sourceMappingURL=ClientRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientRegistry.d.ts","sourceRoot":"","sources":["../../src/core/ClientRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { createDefaultLogger, defaultLogger } from './DefaultLogger';
2
- export { createDefaultLogger, defaultLogger };
3
- export type { LogLevel } from './DefaultLogger';
4
- /**
5
- * @deprecated The global logger singleton was removed in favor of per-client
6
- * loggers (`EsiClientConfig.logger`). Use `createDefaultLogger(level?)` for a
7
- * pino-backed logger, or pass any `ILogger` via `EsiClientConfig.logger`.
8
- * `setLogger()` from `loggerUtil` still exists for global fallback control.
9
- */
10
- declare const _default: import("./ILogger").ILogger;
11
- export default _default;
12
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/core/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;;AACH,wBAAqC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IStaticDataProvider.d.ts","sourceRoot":"","sources":["../../src/sde/IStaticDataProvider.ts"],"names":[],"mappings":"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"}