@lgriffin/esi.ts 8.0.0 → 9.1.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 (153) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/LICENSE +26 -26
  3. package/README.md +988 -967
  4. package/dist/EsiClient.d.ts +4 -0
  5. package/dist/EsiClient.d.ts.map +1 -1
  6. package/dist/clients/AccessListsClient.d.ts +11 -1
  7. package/dist/clients/AccessListsClient.d.ts.map +1 -1
  8. package/dist/clients/CorporationProjectsClient.d.ts +44 -0
  9. package/dist/clients/CorporationProjectsClient.d.ts.map +1 -0
  10. package/dist/clients/MercenaryClient.d.ts +6 -2
  11. package/dist/clients/MercenaryClient.d.ts.map +1 -1
  12. package/dist/clients/MetaClient.d.ts +25 -0
  13. package/dist/clients/MetaClient.d.ts.map +1 -1
  14. package/dist/clients/MilitaryCampaignsClient.d.ts +53 -0
  15. package/dist/clients/MilitaryCampaignsClient.d.ts.map +1 -0
  16. package/dist/clients/SkyhooksClient.d.ts +6 -2
  17. package/dist/clients/SkyhooksClient.d.ts.map +1 -1
  18. package/dist/config/jest/globalSetup.d.ts.map +1 -1
  19. package/dist/config/jest/globalTeardown.d.ts.map +1 -1
  20. package/dist/core/ClientRegistry.d.ts +5 -3
  21. package/dist/core/ClientRegistry.d.ts.map +1 -1
  22. package/dist/core/configureApiClient.d.ts.map +1 -1
  23. package/dist/core/constants.d.ts +2 -2
  24. package/dist/core/endpoints/accessListEndpoints.d.ts +34 -11
  25. package/dist/core/endpoints/accessListEndpoints.d.ts.map +1 -1
  26. package/dist/core/endpoints/corporationProjectEndpoints.d.ts +50 -0
  27. package/dist/core/endpoints/corporationProjectEndpoints.d.ts.map +1 -0
  28. package/dist/core/endpoints/industryEndpoints.d.ts +3 -3
  29. package/dist/core/endpoints/mercenaryEndpoints.d.ts +6 -4
  30. package/dist/core/endpoints/mercenaryEndpoints.d.ts.map +1 -1
  31. package/dist/core/endpoints/metaEndpoints.d.ts +36 -0
  32. package/dist/core/endpoints/metaEndpoints.d.ts.map +1 -1
  33. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts +87 -0
  34. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts.map +1 -0
  35. package/dist/core/endpoints/skyhookEndpoints.d.ts +7 -5
  36. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
  37. package/dist/core/pagination/CursorPaginationHandler.d.ts +9 -4
  38. package/dist/core/pagination/CursorPaginationHandler.d.ts.map +1 -1
  39. package/dist/core/pagination/PaginationHandler.d.ts +6 -5
  40. package/dist/core/pagination/PaginationHandler.d.ts.map +1 -1
  41. package/dist/core/requestPipeline/cachePolicy.d.ts +1 -0
  42. package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
  43. package/dist/core/requestPipeline/paginationOrchestration.d.ts.map +1 -1
  44. package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
  45. package/dist/core/util/error.d.ts +2 -0
  46. package/dist/core/util/error.d.ts.map +1 -1
  47. package/dist/errors.d.ts +4 -0
  48. package/dist/errors.d.ts.map +1 -0
  49. package/dist/errors.js +196 -0
  50. package/dist/errors.js.map +1 -0
  51. package/dist/errors.mjs +146 -0
  52. package/dist/errors.mjs.map +1 -0
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1862 -1463
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.mjs +1859 -1463
  58. package/dist/index.mjs.map +1 -1
  59. package/dist/schemas/corporation-projects.d.ts +17 -0
  60. package/dist/schemas/corporation-projects.d.ts.map +1 -0
  61. package/dist/schemas/index.d.ts +3 -0
  62. package/dist/schemas/index.d.ts.map +1 -1
  63. package/dist/schemas/index.js +2177 -0
  64. package/dist/schemas/index.js.map +1 -0
  65. package/dist/schemas/index.mjs +1993 -0
  66. package/dist/schemas/index.mjs.map +1 -0
  67. package/dist/schemas/meta.d.ts +25 -0
  68. package/dist/schemas/meta.d.ts.map +1 -0
  69. package/dist/schemas/military-campaigns.d.ts +26 -0
  70. package/dist/schemas/military-campaigns.d.ts.map +1 -0
  71. package/dist/testing/index.d.ts +2 -0
  72. package/dist/testing/index.d.ts.map +1 -0
  73. package/dist/testing/index.js +935 -0
  74. package/dist/testing/index.js.map +1 -0
  75. package/dist/testing/index.mjs +898 -0
  76. package/dist/testing/index.mjs.map +1 -0
  77. package/dist/types/api-responses.d.ts +3 -0
  78. package/dist/types/api-responses.d.ts.map +1 -1
  79. package/dist/types/corporation-projects.d.ts +6 -0
  80. package/dist/types/corporation-projects.d.ts.map +1 -0
  81. package/dist/types/generated/esi-spec.generated.d.ts +3 -3
  82. package/dist/types/generated/esi-spec.generated.d.ts.map +1 -1
  83. package/dist/types/meta.d.ts +8 -0
  84. package/dist/types/meta.d.ts.map +1 -0
  85. package/dist/types/military-campaigns.d.ts +6 -0
  86. package/dist/types/military-campaigns.d.ts.map +1 -0
  87. package/package.json +257 -235
  88. package/dist/schemas/generated/alliance.generated.d.ts +0 -15
  89. package/dist/schemas/generated/alliance.generated.d.ts.map +0 -1
  90. package/dist/schemas/generated/assets.generated.d.ts +0 -272
  91. package/dist/schemas/generated/assets.generated.d.ts.map +0 -1
  92. package/dist/schemas/generated/calendar.generated.d.ts +0 -41
  93. package/dist/schemas/generated/calendar.generated.d.ts.map +0 -1
  94. package/dist/schemas/generated/character.generated.d.ts +0 -670
  95. package/dist/schemas/generated/character.generated.d.ts.map +0 -1
  96. package/dist/schemas/generated/clones.generated.d.ts +0 -23
  97. package/dist/schemas/generated/clones.generated.d.ts.map +0 -1
  98. package/dist/schemas/generated/contacts.generated.d.ts +0 -50
  99. package/dist/schemas/generated/contacts.generated.d.ts.map +0 -1
  100. package/dist/schemas/generated/contracts.generated.d.ts +0 -162
  101. package/dist/schemas/generated/contracts.generated.d.ts.map +0 -1
  102. package/dist/schemas/generated/corporation-projects.generated.d.ts +0 -89
  103. package/dist/schemas/generated/corporation-projects.generated.d.ts.map +0 -1
  104. package/dist/schemas/generated/corporation.generated.d.ts +0 -1515
  105. package/dist/schemas/generated/corporation.generated.d.ts.map +0 -1
  106. package/dist/schemas/generated/dogma.generated.d.ts +0 -57
  107. package/dist/schemas/generated/dogma.generated.d.ts.map +0 -1
  108. package/dist/schemas/generated/faction-warfare.generated.d.ts +0 -155
  109. package/dist/schemas/generated/faction-warfare.generated.d.ts.map +0 -1
  110. package/dist/schemas/generated/fittings.generated.d.ts +0 -57
  111. package/dist/schemas/generated/fittings.generated.d.ts.map +0 -1
  112. package/dist/schemas/generated/fleets.generated.d.ts +0 -45
  113. package/dist/schemas/generated/fleets.generated.d.ts.map +0 -1
  114. package/dist/schemas/generated/freelance-jobs.generated.d.ts +0 -173
  115. package/dist/schemas/generated/freelance-jobs.generated.d.ts.map +0 -1
  116. package/dist/schemas/generated/incursions.generated.d.ts +0 -16
  117. package/dist/schemas/generated/incursions.generated.d.ts.map +0 -1
  118. package/dist/schemas/generated/index.d.ts +0 -33
  119. package/dist/schemas/generated/index.d.ts.map +0 -1
  120. package/dist/schemas/generated/industry.generated.d.ts +0 -117
  121. package/dist/schemas/generated/industry.generated.d.ts.map +0 -1
  122. package/dist/schemas/generated/insurance.generated.d.ts +0 -10
  123. package/dist/schemas/generated/insurance.generated.d.ts.map +0 -1
  124. package/dist/schemas/generated/killmails.generated.d.ts +0 -55
  125. package/dist/schemas/generated/killmails.generated.d.ts.map +0 -1
  126. package/dist/schemas/generated/location.generated.d.ts +0 -18
  127. package/dist/schemas/generated/location.generated.d.ts.map +0 -1
  128. package/dist/schemas/generated/loyalty.generated.d.ts +0 -18
  129. package/dist/schemas/generated/loyalty.generated.d.ts.map +0 -1
  130. package/dist/schemas/generated/mail.generated.d.ts +0 -68
  131. package/dist/schemas/generated/mail.generated.d.ts.map +0 -1
  132. package/dist/schemas/generated/market.generated.d.ts +0 -201
  133. package/dist/schemas/generated/market.generated.d.ts.map +0 -1
  134. package/dist/schemas/generated/meta.generated.d.ts +0 -26
  135. package/dist/schemas/generated/meta.generated.d.ts.map +0 -1
  136. package/dist/schemas/generated/planetary-interaction.generated.d.ts +0 -90
  137. package/dist/schemas/generated/planetary-interaction.generated.d.ts.map +0 -1
  138. package/dist/schemas/generated/routes.generated.d.ts +0 -5
  139. package/dist/schemas/generated/routes.generated.d.ts.map +0 -1
  140. package/dist/schemas/generated/search.generated.d.ts +0 -15
  141. package/dist/schemas/generated/search.generated.d.ts.map +0 -1
  142. package/dist/schemas/generated/skills.generated.d.ts +0 -32
  143. package/dist/schemas/generated/skills.generated.d.ts.map +0 -1
  144. package/dist/schemas/generated/sovereignty.generated.d.ts +0 -37
  145. package/dist/schemas/generated/sovereignty.generated.d.ts.map +0 -1
  146. package/dist/schemas/generated/status.generated.d.ts +0 -8
  147. package/dist/schemas/generated/status.generated.d.ts.map +0 -1
  148. package/dist/schemas/generated/universe.generated.d.ts +0 -394
  149. package/dist/schemas/generated/universe.generated.d.ts.map +0 -1
  150. package/dist/schemas/generated/wallet.generated.d.ts +0 -411
  151. package/dist/schemas/generated/wallet.generated.d.ts.map +0 -1
  152. package/dist/schemas/generated/wars.generated.d.ts +0 -31
  153. package/dist/schemas/generated/wars.generated.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [9.1.0] - 2026-08-14
9
+
10
+ ### Added
11
+
12
+ - **Schema rejection tests** — 104 new tests verifying Zod schemas correctly reject invalid input shapes
13
+ - **Domain property fuzz tests** — property-based fuzz testing across domain clients using fast-check
14
+ - **Schema validation benchmarks** — performance benchmarks for Zod schema validation paths
15
+ - **Domain response type tests** — compile-time type tests for domain client response types via tsd
16
+
17
+ ### Changed
18
+
19
+ - **Expanded documentation** — updated examples, architecture guide, and testing guide with broader coverage
20
+ - **README refreshed** — updated feature descriptions and endpoint counts
21
+
22
+ ### Fixed
23
+
24
+ - **Fuzz test date handling** — switched to integer-based date arbitrary to avoid invalid `Date` values in property-based tests
25
+
26
+ ## [9.0.0] - 2026-08-12
27
+
28
+ ### Breaking Changes
29
+
30
+ - **Default retry count changed from 0 to 3** — transient failures (502, 503, 504, timeout, rate limit) now retry automatically with exponential backoff and jitter. Set `maxRetries: 0` in `retryConfig` to restore the previous behavior
31
+ - **Generated Zod schemas removed** — the `src/schemas/generated/` directory has been removed; only hand-written schemas in `src/schemas/` remain
32
+
33
+ ### Added
34
+
35
+ - **Sub-path exports** — targeted imports for reduced bundle size:
36
+ - `@lgriffin/esi.ts/schemas` — Zod schemas for runtime validation
37
+ - `@lgriffin/esi.ts/errors` — error classes and type guards
38
+ - `@lgriffin/esi.ts/testing` — `TestDataFactory` for test mock data
39
+ - **`isCircuitOpen()` type guard** — checks whether an error is a `CircuitOpenError`, complementing the existing `isTimeout()`, `isRetryable()`, and `isValidationError()` guards
40
+ - **`generate:all` script** — runs all generators (types, endpoints, OKF) in one command
41
+ - **`generate:endpoints` script** — regenerates endpoint definitions from the ESI OpenAPI spec
42
+
43
+ ### Changed
44
+
45
+ - **Cursor pagination routed through full pipeline** — cursor-based pagination now goes through the same middleware pipeline (rate limiter, circuit breaker, retry, caching) as offset pagination
46
+ - **Pagination retry unified with `IRetryStrategy`** — pagination requests now use the injectable retry strategy instead of a separate retry path
47
+
48
+ ### Fixed
49
+
50
+ - **Response interceptor status fix** — response interceptors previously received a hardcoded 200 status; they now receive the actual HTTP status code from the response
51
+ - **CI consolidated** — `pr-validation.yml` merged into `ci.yml`; all PR validation now runs through the main CI pipeline
52
+
8
53
  ## [7.4.0] - 2026-07-17
9
54
 
10
55
  ### Added
package/LICENSE CHANGED
@@ -1,26 +1,26 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 3, 29 June 2007
3
-
4
- Copyright (C) 2024 lgriffin
5
-
6
- This program is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License
17
- along with this program. If not, see <https://www.gnu.org/licenses/>.
18
-
19
- ---
20
-
21
- EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide.
22
- All other trademarks are the property of their respective owners.
23
- EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf.
24
- All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf.
25
-
26
- This software is not affiliated with or endorsed by CCP hf.
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2024 lgriffin
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+
19
+ ---
20
+
21
+ EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide.
22
+ All other trademarks are the property of their respective owners.
23
+ EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf.
24
+ All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf.
25
+
26
+ This software is not affiliated with or endorsed by CCP hf.