@lgriffin/esi.ts 9.1.0 → 9.6.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 (185) hide show
  1. package/CHANGELOG.md +388 -388
  2. package/LICENSE +26 -26
  3. package/README.md +1030 -988
  4. package/dist/EsiClient.d.ts +5 -0
  5. package/dist/EsiClient.d.ts.map +1 -1
  6. package/dist/EsiClientBuilder.d.ts.map +1 -1
  7. package/dist/clients/CosmeticsClient.d.ts +11 -0
  8. package/dist/clients/CosmeticsClient.d.ts.map +1 -0
  9. package/dist/clients/MercenaryClient.d.ts +19 -1
  10. package/dist/clients/MercenaryClient.d.ts.map +1 -1
  11. package/dist/clients/ParagonHubClient.d.ts +13 -0
  12. package/dist/clients/ParagonHubClient.d.ts.map +1 -0
  13. package/dist/clients/SkyhooksClient.d.ts +19 -1
  14. package/dist/clients/SkyhooksClient.d.ts.map +1 -1
  15. package/dist/core/ApiClient.d.ts +3 -0
  16. package/dist/core/ApiClient.d.ts.map +1 -1
  17. package/dist/core/ApiRequestHandler.d.ts.map +1 -1
  18. package/dist/core/ClientRegistry.d.ts +5 -3
  19. package/dist/core/ClientRegistry.d.ts.map +1 -1
  20. package/dist/core/cache/cacheKey.d.ts +3 -0
  21. package/dist/core/cache/cacheKey.d.ts.map +1 -0
  22. package/dist/core/constants.d.ts +2 -2
  23. package/dist/core/endpoints/accessListEndpoints.d.ts +4 -18
  24. package/dist/core/endpoints/accessListEndpoints.d.ts.map +1 -1
  25. package/dist/core/endpoints/assetEndpoints.d.ts +2 -12
  26. package/dist/core/endpoints/assetEndpoints.d.ts.map +1 -1
  27. package/dist/core/endpoints/calendarEndpoints.d.ts +3 -19
  28. package/dist/core/endpoints/calendarEndpoints.d.ts.map +1 -1
  29. package/dist/core/endpoints/characterEndpoints.d.ts +4 -20
  30. package/dist/core/endpoints/characterEndpoints.d.ts.map +1 -1
  31. package/dist/core/endpoints/cloneEndpoints.d.ts +2 -8
  32. package/dist/core/endpoints/cloneEndpoints.d.ts.map +1 -1
  33. package/dist/core/endpoints/contactEndpoints.d.ts +3 -18
  34. package/dist/core/endpoints/contactEndpoints.d.ts.map +1 -1
  35. package/dist/core/endpoints/contractEndpoints.d.ts +9 -75
  36. package/dist/core/endpoints/contractEndpoints.d.ts.map +1 -1
  37. package/dist/core/endpoints/corporationEndpoints.d.ts +7 -36
  38. package/dist/core/endpoints/corporationEndpoints.d.ts.map +1 -1
  39. package/dist/core/endpoints/cosmeticsEndpoints.d.ts +52 -0
  40. package/dist/core/endpoints/cosmeticsEndpoints.d.ts.map +1 -0
  41. package/dist/core/endpoints/factionEndpoints.d.ts +1 -6
  42. package/dist/core/endpoints/factionEndpoints.d.ts.map +1 -1
  43. package/dist/core/endpoints/fleetEndpoints.d.ts +2 -12
  44. package/dist/core/endpoints/fleetEndpoints.d.ts.map +1 -1
  45. package/dist/core/endpoints/incursionEndpoints.d.ts +1 -5
  46. package/dist/core/endpoints/incursionEndpoints.d.ts.map +1 -1
  47. package/dist/core/endpoints/industryEndpoints.d.ts +2 -16
  48. package/dist/core/endpoints/industryEndpoints.d.ts.map +1 -1
  49. package/dist/core/endpoints/mailEndpoints.d.ts +2 -12
  50. package/dist/core/endpoints/mailEndpoints.d.ts.map +1 -1
  51. package/dist/core/endpoints/marketEndpoints.d.ts +2 -8
  52. package/dist/core/endpoints/marketEndpoints.d.ts.map +1 -1
  53. package/dist/core/endpoints/mercenaryEndpoints.d.ts +46 -6
  54. package/dist/core/endpoints/mercenaryEndpoints.d.ts.map +1 -1
  55. package/dist/core/endpoints/paragonHubEndpoints.d.ts +163 -0
  56. package/dist/core/endpoints/paragonHubEndpoints.d.ts.map +1 -0
  57. package/dist/core/endpoints/piEndpoints.d.ts +1 -10
  58. package/dist/core/endpoints/piEndpoints.d.ts.map +1 -1
  59. package/dist/core/endpoints/skyhookEndpoints.d.ts +64 -0
  60. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
  61. package/dist/core/endpoints/sovereigntyEndpoints.d.ts +1 -6
  62. package/dist/core/endpoints/sovereigntyEndpoints.d.ts.map +1 -1
  63. package/dist/core/endpoints/universeEndpoints.d.ts +1 -11
  64. package/dist/core/endpoints/universeEndpoints.d.ts.map +1 -1
  65. package/dist/core/requestPipeline/cachePolicy.d.ts +3 -3
  66. package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
  67. package/dist/core/requestPipeline/headers.d.ts.map +1 -1
  68. package/dist/core/requestPipeline/statusHandling.d.ts +2 -2
  69. package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
  70. package/dist/errors.js.map +1 -1
  71. package/dist/errors.mjs.map +1 -1
  72. package/dist/index.d.ts +2 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +2167 -1676
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +2165 -1676
  77. package/dist/index.mjs.map +1 -1
  78. package/dist/schemas/access-lists.d.ts +4 -18
  79. package/dist/schemas/access-lists.d.ts.map +1 -1
  80. package/dist/schemas/alliance.d.ts +1 -5
  81. package/dist/schemas/alliance.d.ts.map +1 -1
  82. package/dist/schemas/assets.d.ts +1 -6
  83. package/dist/schemas/assets.d.ts.map +1 -1
  84. package/dist/schemas/calendar.d.ts +3 -19
  85. package/dist/schemas/calendar.d.ts.map +1 -1
  86. package/dist/schemas/character.d.ts +3 -15
  87. package/dist/schemas/character.d.ts.map +1 -1
  88. package/dist/schemas/clones.d.ts +2 -8
  89. package/dist/schemas/clones.d.ts.map +1 -1
  90. package/dist/schemas/common.d.ts +1 -5
  91. package/dist/schemas/common.d.ts.map +1 -1
  92. package/dist/schemas/contacts.d.ts +1 -6
  93. package/dist/schemas/contacts.d.ts.map +1 -1
  94. package/dist/schemas/contracts.d.ts +3 -25
  95. package/dist/schemas/contracts.d.ts.map +1 -1
  96. package/dist/schemas/corporation.d.ts +6 -31
  97. package/dist/schemas/corporation.d.ts.map +1 -1
  98. package/dist/schemas/cosmetics.d.ts +58 -0
  99. package/dist/schemas/cosmetics.d.ts.map +1 -0
  100. package/dist/schemas/esiEnum.d.ts +3 -0
  101. package/dist/schemas/esiEnum.d.ts.map +1 -0
  102. package/dist/schemas/faction-warfare.d.ts +1 -6
  103. package/dist/schemas/faction-warfare.d.ts.map +1 -1
  104. package/dist/schemas/fleet.d.ts +2 -12
  105. package/dist/schemas/fleet.d.ts.map +1 -1
  106. package/dist/schemas/incursions.d.ts +1 -5
  107. package/dist/schemas/incursions.d.ts.map +1 -1
  108. package/dist/schemas/index.d.ts +3 -0
  109. package/dist/schemas/index.d.ts.map +1 -1
  110. package/dist/schemas/index.js +1784 -1486
  111. package/dist/schemas/index.js.map +1 -1
  112. package/dist/schemas/index.mjs +1749 -1486
  113. package/dist/schemas/index.mjs.map +1 -1
  114. package/dist/schemas/industry.d.ts +1 -8
  115. package/dist/schemas/industry.d.ts.map +1 -1
  116. package/dist/schemas/mail.d.ts +1 -6
  117. package/dist/schemas/mail.d.ts.map +1 -1
  118. package/dist/schemas/market.d.ts +2 -8
  119. package/dist/schemas/market.d.ts.map +1 -1
  120. package/dist/schemas/mercenary.d.ts +55 -6
  121. package/dist/schemas/mercenary.d.ts.map +1 -1
  122. package/dist/schemas/paragon-hub.d.ts +96 -0
  123. package/dist/schemas/paragon-hub.d.ts.map +1 -0
  124. package/dist/schemas/pi.d.ts +1 -10
  125. package/dist/schemas/pi.d.ts.map +1 -1
  126. package/dist/schemas/skyhooks.d.ts +101 -0
  127. package/dist/schemas/skyhooks.d.ts.map +1 -1
  128. package/dist/schemas/sovereignty.d.ts +1 -6
  129. package/dist/schemas/sovereignty.d.ts.map +1 -1
  130. package/dist/schemas/universe.d.ts +1 -11
  131. package/dist/schemas/universe.d.ts.map +1 -1
  132. package/dist/sde/IStaticDataProvider.d.ts +106 -0
  133. package/dist/sde/IStaticDataProvider.d.ts.map +1 -0
  134. package/dist/sde/MemorySdeProvider.d.ts +167 -0
  135. package/dist/sde/MemorySdeProvider.d.ts.map +1 -0
  136. package/dist/sde/SdeDataProvider.d.ts +119 -0
  137. package/dist/sde/SdeDataProvider.d.ts.map +1 -0
  138. package/dist/sde/SdeTestDataFactory.d.ts +33 -0
  139. package/dist/sde/SdeTestDataFactory.d.ts.map +1 -0
  140. package/dist/sde/errors.d.ts +23 -0
  141. package/dist/sde/errors.d.ts.map +1 -0
  142. package/dist/sde/index.d.ts +9 -0
  143. package/dist/sde/index.d.ts.map +1 -0
  144. package/dist/sde/index.js +2591 -0
  145. package/dist/sde/index.js.map +1 -0
  146. package/dist/sde/index.mjs +2544 -0
  147. package/dist/sde/index.mjs.map +1 -0
  148. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts +18 -0
  149. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts.map +1 -0
  150. package/dist/sde/ingestion/SdeDownloader.d.ts +14 -0
  151. package/dist/sde/ingestion/SdeDownloader.d.ts.map +1 -0
  152. package/dist/sde/ingestion/SdeExtractor.d.ts +18 -0
  153. package/dist/sde/ingestion/SdeExtractor.d.ts.map +1 -0
  154. package/dist/sde/ingestion/constants.d.ts +13 -0
  155. package/dist/sde/ingestion/constants.d.ts.map +1 -0
  156. package/dist/sde/ingestion/index.d.ts +10 -0
  157. package/dist/sde/ingestion/index.d.ts.map +1 -0
  158. package/dist/sde/ingestion/transforms.d.ts +13 -0
  159. package/dist/sde/ingestion/transforms.d.ts.map +1 -0
  160. package/dist/sde/memory.d.ts +8 -0
  161. package/dist/sde/memory.d.ts.map +1 -0
  162. package/dist/sde/memory.js +1100 -0
  163. package/dist/sde/memory.js.map +1 -0
  164. package/dist/sde/memory.mjs +1064 -0
  165. package/dist/sde/memory.mjs.map +1 -0
  166. package/dist/sde/schemas.d.ts +1121 -0
  167. package/dist/sde/schemas.d.ts.map +1 -0
  168. package/dist/sde/types.d.ts +1039 -0
  169. package/dist/sde/types.d.ts.map +1 -0
  170. package/dist/sde/version.d.ts +7 -0
  171. package/dist/sde/version.d.ts.map +1 -0
  172. package/dist/testing/TestDataFactory.d.ts +1 -1
  173. package/dist/testing/index.js.map +1 -1
  174. package/dist/testing/index.mjs.map +1 -1
  175. package/dist/types/api-responses.d.ts +2 -0
  176. package/dist/types/api-responses.d.ts.map +1 -1
  177. package/dist/types/cosmetics.d.ts +8 -0
  178. package/dist/types/cosmetics.d.ts.map +1 -0
  179. package/dist/types/mercenary.d.ts +3 -1
  180. package/dist/types/mercenary.d.ts.map +1 -1
  181. package/dist/types/paragon-hub.d.ts +8 -0
  182. package/dist/types/paragon-hub.d.ts.map +1 -0
  183. package/dist/types/skyhooks.d.ts +3 -1
  184. package/dist/types/skyhooks.d.ts.map +1 -1
  185. package/package.json +289 -257
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sde/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface SdeVersionInfo {
2
+ version: string;
3
+ buildDate: string;
4
+ importedAt: string;
5
+ checksum?: string;
6
+ }
7
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/sde/version.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -115,7 +115,7 @@ export declare class TestDataFactory {
115
115
  corporation_id: number;
116
116
  bloodline_id: number;
117
117
  race_id: number;
118
- gender: "male" | "female";
118
+ gender: (string & {}) | "male" | "female";
119
119
  birthday: string;
120
120
  character_id?: number | undefined;
121
121
  description?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/testing/index.ts","../../src/core/logger/logger.ts","../../src/core/util/error.ts","../../src/testing/TestDataFactory.ts"],"sourcesContent":["export { TestDataFactory } from './TestDataFactory';\n","import pino from 'pino';\nimport { ILogger } from './ILogger';\n\nconst pinoLogger = pino({ level: process.env.ESI_LOG_LEVEL || 'warn' });\n\nconst logger: ILogger = {\n info: (msg: string) => {\n pinoLogger.info(msg);\n },\n warn: (msg: string) => {\n pinoLogger.warn(msg);\n },\n error: (msg: string) => {\n pinoLogger.error(msg);\n },\n debug: (msg: string) => {\n pinoLogger.debug(msg);\n },\n};\n\nexport default logger;\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n AllianceInfo,\n CharacterInfo,\n CorporationInfo,\n AllianceContact,\n AllianceContactLabel,\n CharacterPortrait,\n CharacterAttributes,\n CharacterSkill,\n MarketOrder,\n WalletTransaction,\n Contract,\n SovereigntySystem,\n SovereigntyHub,\n OrbitalSkyhook,\n RaidableSkyhook,\n MercenaryDen,\n MercenaryTacticalOperation,\n AccessListEntry,\n} from '../types/api-responses';\nimport { EsiError } from '../core/util/error';\n\nexport class TestDataFactory {\n // Alliance test data\n static createAllianceInfo(\n overrides: Partial<AllianceInfo> = {},\n ): AllianceInfo {\n return {\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n faction_id: 500001,\n ...overrides,\n };\n }\n\n static createAllianceContact(\n overrides: Partial<AllianceContact> = {},\n ): AllianceContact {\n return {\n contact_id: 1689391488,\n contact_type: 'character',\n standing: 10.0,\n label_ids: [1, 2],\n ...overrides,\n };\n }\n\n static createAllianceContactLabel(\n overrides: Partial<AllianceContactLabel> = {},\n ): AllianceContactLabel {\n return {\n label_id: 1,\n label_name: 'Friendly',\n ...overrides,\n };\n }\n\n // Character test data\n static createCharacterInfo(\n overrides: Partial<CharacterInfo> = {},\n ): CharacterInfo {\n return {\n character_id: 1689391488,\n name: 'Test Character',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n bloodline_id: 4,\n race_id: 1,\n gender: 'male',\n birthday: '2003-05-06T00:00:00Z',\n description: 'A test character for BDD scenarios',\n security_status: 5.0,\n title: 'Test Pilot',\n ...overrides,\n };\n }\n\n static createCharacterPortrait(\n characterId: number = 1689391488,\n ): CharacterPortrait {\n return {\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\n };\n }\n\n static createCharacterAttributes(\n overrides: Partial<CharacterAttributes> = {},\n ): CharacterAttributes {\n return {\n charisma: 20,\n intelligence: 24,\n memory: 21,\n perception: 23,\n willpower: 22,\n bonus_remaps: 2,\n last_remap_date: '2023-01-01T00:00:00Z',\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterSkill(\n overrides: Partial<CharacterSkill> = {},\n ): CharacterSkill {\n return {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n ...overrides,\n };\n }\n\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\n return {\n roles: ['Director'],\n roles_at_base: [],\n roles_at_hq: ['Director'],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationHistoryEntry(\n overrides: Record<string, any> = {},\n ): any {\n return {\n corporation_id: 1344654522,\n is_deleted: false,\n record_id: 1,\n start_date: '2020-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\n return {\n medal_id: 1,\n title: 'Test Medal',\n description: 'A test medal for demonstration',\n corporation_id: 1344654522,\n date: '2023-01-01T00:00:00Z',\n issuer_id: 1689391489,\n reason: 'Outstanding service',\n ...overrides,\n };\n }\n\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\n return {\n notification_id: 1000001,\n sender_id: 1689391489,\n sender_type: 'character',\n text: 'Test notification',\n timestamp: '2024-01-15T12:00:00Z',\n type: 'AllWarDeclaredMsg',\n is_read: false,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketPrice(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n average_price: 4.5,\n adjusted_price: 4.55,\n ...overrides,\n };\n }\n\n static createMarketHistory(overrides: Record<string, any> = {}): any {\n return {\n date: '2024-01-15',\n volume: 1000000000,\n order_count: 2500,\n lowest: 4.2,\n highest: 4.8,\n average: 4.5,\n ...overrides,\n };\n }\n\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 750000,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-15T12:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 0,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-10T12:00:00Z',\n state: 'expired',\n ...overrides,\n };\n }\n\n // Universe test data\n static createSolarSystem(overrides: Record<string, any> = {}): any {\n return {\n system_id: 30000142,\n name: 'Jita',\n constellation_id: 20000020,\n security_status: 0.9459991455078125,\n star_id: 40000001,\n stargates: [50000001, 50000002],\n stations: [60003760, 60003761],\n planets: [\n { planet_id: 40000001, moons: [40000002, 40000003] },\n { planet_id: 40000004, moons: [40000005] },\n ],\n ...overrides,\n };\n }\n\n static createStation(overrides: Record<string, any> = {}): any {\n return {\n station_id: 60003760,\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\n owner: 1000035,\n type_id: 52678,\n race_id: 1,\n system_id: 30000142,\n reprocessing_efficiency: 0.5,\n reprocessing_stations_take: 0.05,\n max_dockable_ship_volume: 50000000,\n office_rental_cost: 10000000,\n services: [\n 'bounty-missions',\n 'courier-missions',\n 'interbus',\n 'reprocessing-plant',\n 'market',\n 'stock-exchange',\n ],\n ...overrides,\n };\n }\n\n static createStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n name: 'Test Citadel',\n owner_id: 1689391488,\n solar_system_id: 30000142,\n type_id: 35832,\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\n ...overrides,\n };\n }\n\n static createItemType(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n name: 'Tritanium',\n description: 'The most common ore type in the known universe.',\n group_id: 18,\n category_id: 4,\n market_group_id: 1857,\n mass: 1.0,\n volume: 0.01,\n capacity: 0.0,\n portion_size: 1,\n radius: 1.0,\n published: true,\n ...overrides,\n };\n }\n\n static createItemGroup(overrides: Record<string, any> = {}): any {\n return {\n group_id: 18,\n name: 'Mineral',\n category_id: 4,\n published: true,\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\n ...overrides,\n };\n }\n\n static createStar(overrides: Record<string, any> = {}): any {\n return {\n star_id: 40000001,\n name: 'Jita - Star',\n type_id: 3802,\n solar_system_id: 30000142,\n age: 4600000000,\n luminosity: 0.06575,\n radius: 62140000,\n spectral_class: 'K2 V',\n temperature: 4567,\n ...overrides,\n };\n }\n\n static createPlanet(overrides: Record<string, any> = {}): any {\n return {\n planet_id: 40000004,\n name: 'Jita IV',\n type_id: 11,\n system_id: 30000142,\n position: { x: 150000000000, y: 0, z: 0 },\n ...overrides,\n };\n }\n\n static createSearchResults(overrides: Record<string, any> = {}): any {\n return {\n systems: [],\n stations: [],\n structures: [],\n characters: [],\n corporations: [],\n alliances: [],\n ...overrides,\n };\n }\n\n static createEntityName(overrides: Record<string, any> = {}): any {\n return {\n id: 30000142,\n name: 'Jita',\n category: 'solar_system',\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationMemberRoles(\n overrides: Record<string, any> = {},\n ): any {\n return {\n character_id: 1689391488,\n roles: ['Director', 'Personnel_Manager'],\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\n roles_at_hq: ['Director'],\n roles_at_base: [],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000000001,\n type_id: 587,\n quantity: 100,\n location_id: 60003760,\n location_flag: 'CorpSAG1',\n location_type: 'station',\n ...overrides,\n };\n }\n\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n type_id: 35832,\n system_id: 30000142,\n profile_id: 101853,\n fuel_expires: '2024-02-01T12:00:00Z',\n state_timer_start: '2024-01-15T12:00:00Z',\n state_timer_end: '2024-01-22T12:00:00Z',\n state: 'shield_vulnerable',\n ...overrides,\n };\n }\n\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\n return {\n division: 1,\n balance: 1000000000.0,\n ...overrides,\n };\n }\n\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\n return {\n id: 1000000001,\n date: '2024-01-15T12:00:00Z',\n ref_type: 'market_transaction',\n first_party_id: 1344654522,\n amount: 1000000.0,\n balance: 1000000000.0,\n reason: 'Market transaction',\n description: 'Sold items on market',\n ...overrides,\n };\n }\n\n // Fleet test data\n static createFleetInfo(overrides: Record<string, any> = {}): any {\n return {\n fleet_id: 1234567890,\n fleet_boss_id: 1689391488,\n is_free_move: false,\n is_registered: true,\n is_voice_enabled: true,\n motd: 'Fleet operations in progress',\n ...overrides,\n };\n }\n\n static createFleetMember(overrides: Record<string, any> = {}): any {\n return {\n character_id: 1689391488,\n role: 'fleet_commander',\n ship_type_id: 17918,\n solar_system_id: 30000142,\n station_id: 60003760,\n ...overrides,\n };\n }\n\n static createFleetWing(overrides: Record<string, any> = {}): any {\n return {\n wing_id: 987654321,\n name: 'Wing 1',\n squads: [{ squad_id: 123456789, name: 'Squad 1' }],\n ...overrides,\n };\n }\n\n // Industry test data\n static createIndustryJob(overrides: Record<string, any> = {}): any {\n return {\n job_id: 1000001,\n installer_id: 1689391488,\n facility_id: 60003760,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n static createBlueprint(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000001,\n type_id: 17918,\n location_id: 60003760,\n location_flag: 'Hangar',\n quantity: -2,\n time_efficiency: 10,\n material_efficiency: 10,\n runs: 100,\n ...overrides,\n };\n }\n\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000002,\n type_id: 34,\n quantity: 1000000,\n location_id: 60003760,\n location_flag: 'Hangar',\n location_type: 'station',\n ...overrides,\n };\n }\n\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\n return {\n solar_system_id: 30000142,\n station_id: 60003760,\n structure_id: undefined,\n ...overrides,\n };\n }\n\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\n return {\n skills: [\n {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n },\n {\n skill_id: 3301,\n skillpoints_in_skill: 128000,\n trained_skill_level: 4,\n active_skill_level: 4,\n },\n ],\n total_sp: 384000,\n unallocated_sp: 0,\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationInfo(\n overrides: Partial<CorporationInfo> = {},\n ): CorporationInfo {\n return {\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n tax_rate: 0.1,\n alliance_id: 99005338,\n date_founded: '2003-05-06T00:00:00Z',\n description: 'The founding corporation of Goonswarm Federation',\n home_station_id: 60003760,\n shares: 1000,\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n url: 'http://www.goonfleet.com/',\n faction_id: 500001,\n war_eligible: true,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\n return {\n order_id: 123456789,\n type_id: 34, // Tritanium\n location_id: 60003760, // Jita 4-4\n volume_total: 1000000,\n volume_remain: 500000,\n min_volume: 1,\n price: 5.5,\n is_buy_order: false,\n system_id: 30000142,\n duration: 90,\n issued: '2023-12-01T12:00:00Z',\n range: 'region',\n ...overrides,\n };\n }\n\n // Wallet test data\n static createWalletTransaction(\n overrides: Partial<WalletTransaction> = {},\n ): WalletTransaction {\n return {\n transaction_id: 123456789,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: false,\n is_personal: true,\n journal_ref_id: 987654321,\n ...overrides,\n };\n }\n\n // Contract test data\n static createContract(overrides: Partial<Contract> = {}): Contract {\n return {\n contract_id: 123456789,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n assignee_id: 987654321,\n start_location_id: 60003760,\n end_location_id: 60008494,\n type: 'courier',\n status: 'outstanding',\n title: 'Test Courier Contract',\n for_corporation: false,\n availability: 'public',\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-08T12:00:00Z',\n days_to_complete: 3,\n price: 1000000,\n reward: 500000,\n collateral: 10000000,\n volume: 1000,\n ...overrides,\n };\n }\n\n // Sovereignty test data (Equinox)\n static createSovereigntySystem(\n overrides: Partial<SovereigntySystem> = {},\n ): SovereigntySystem {\n return {\n solar_systems: [\n {\n solar_system_id: 30000142,\n claim: {\n alliance: {\n alliance_id: 99005338,\n corporation_id: 1344654522,\n claimed_since: '2020-10-08T00:38:16Z',\n is_capital_system: false,\n development: {\n activity_defense_multiplier: 4.5,\n military_level: 5,\n industrial_level: 3,\n strategic_level: 1,\n },\n },\n },\n },\n ],\n ...overrides,\n };\n }\n\n static createSovereigntyHub(\n overrides: Partial<SovereigntyHub> = {},\n ): SovereigntyHub {\n return {\n structure_id: 100000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n remaining_reagents: 500,\n installed_upgrades: [1, 2, 3],\n ...overrides,\n };\n }\n\n static createOrbitalSkyhook(\n overrides: Partial<OrbitalSkyhook> = {},\n ): OrbitalSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n reagent_silo_capacity: 1000,\n reagent_silo_level: 750,\n ...overrides,\n };\n }\n\n static createRaidableSkyhook(\n overrides: Partial<RaidableSkyhook> = {},\n ): RaidableSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n raidable_at: '2026-05-20T12:00:00Z',\n is_raidable: true,\n ...overrides,\n };\n }\n\n static createMercenaryDen(\n overrides: Partial<MercenaryDen> = {},\n ): MercenaryDen {\n return {\n den_id: 5001,\n system_id: 30000142,\n constellation_id: 20000125,\n region_id: 10000002,\n development_level: 3,\n anarchy_level: 2,\n active_operations: 1,\n ...overrides,\n };\n }\n\n static createMercenaryTacticalOperation(\n overrides: Partial<MercenaryTacticalOperation> = {},\n ): MercenaryTacticalOperation {\n return {\n operation_id: 7001,\n den_id: 5001,\n system_id: 30000142,\n site_type: 'assault',\n status: 'active',\n started_at: '2026-05-20T10:00:00Z',\n expires_at: '2026-05-20T22:00:00Z',\n ...overrides,\n };\n }\n\n static createAccessListEntry(\n overrides: Partial<AccessListEntry> = {},\n ): AccessListEntry {\n return {\n entity_id: 1689391488,\n entity_type: 'character',\n access_type: 'allowed',\n ...overrides,\n };\n }\n\n // Error test data\n static createError(statusCode: number, message?: string): EsiError {\n const defaultMessages: Record<number, string> = {\n 400: 'Bad request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Resource not found',\n 429: 'Rate limit exceeded',\n 500: 'Internal server error',\n 503: 'Service unavailable',\n };\n return new EsiError(\n statusCode,\n // eslint-disable-next-line security/detect-object-injection\n message || defaultMessages[statusCode] || 'Unknown error',\n );\n }\n\n // Test scenarios\n static createTestScenarios() {\n return {\n alliances: [\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\n ],\n characters: [\n {\n id: 1689391488,\n name: 'Test Character',\n corp: 1344654522,\n alliance: 99005338,\n },\n {\n id: 123456789,\n name: 'Demo Pilot',\n corp: 987654321,\n alliance: 99000001,\n },\n {\n id: 111111111,\n name: 'Alpha Tester',\n corp: 222222222,\n alliance: 99000002,\n },\n {\n id: 333333333,\n name: 'Beta User',\n corp: 444444444,\n alliance: 99000003,\n },\n {\n id: 555555555,\n name: 'Gamma Pilot',\n corp: 666666666,\n alliance: 99000004,\n },\n ],\n corporations: [\n {\n id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance: 99005338,\n },\n {\n id: 987654321,\n name: 'Test Corp Please Ignore',\n ticker: 'TCPI',\n alliance: 99000001,\n },\n {\n id: 222222222,\n name: 'Brave Newbies Inc.',\n ticker: 'BNI',\n alliance: 99000002,\n },\n {\n id: 444444444,\n name: 'Sniggerdly',\n ticker: 'SNIGG',\n alliance: 99000003,\n },\n {\n id: 666666666,\n name: 'Tactical Narcotics Team',\n ticker: 'TNT',\n alliance: 99000004,\n },\n ],\n errorScenarios: [\n { statusCode: 0, label: 'network_error', probability: 0.1 },\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\n { statusCode: 500, label: 'server_error', probability: 0.02 },\n { statusCode: 504, label: 'timeout', probability: 0.03 },\n { statusCode: 404, label: 'not_found', probability: 0.01 },\n ],\n };\n }\n\n // Performance test data\n static createPerformanceTestData(\n size: 'small' | 'medium' | 'large' = 'medium',\n ) {\n const sizes = {\n small: { alliances: 5, characters: 20, corporations: 10 },\n medium: { alliances: 20, characters: 100, corporations: 50 },\n large: { alliances: 100, characters: 1000, corporations: 500 },\n };\n\n // eslint-disable-next-line security/detect-object-injection\n const config = sizes[size];\n const data = {\n alliances: [] as AllianceInfo[],\n characters: [] as CharacterInfo[],\n corporations: [] as CorporationInfo[],\n };\n\n // Generate alliances\n for (let i = 1; i <= config.alliances; i++) {\n data.alliances.push(\n this.createAllianceInfo({\n alliance_id: 99000000 + i,\n name: `Test Alliance ${i}`,\n ticker: `TST${i.toString().padStart(2, '0')}`,\n creator_id: 1000000 + i,\n }),\n );\n }\n\n // Generate corporations\n for (let i = 1; i <= config.corporations; i++) {\n const allianceIndex = Math.floor(\n (i - 1) / (config.corporations / config.alliances),\n );\n data.corporations.push(\n this.createCorporationInfo({\n corporation_id: 2000000 + i,\n name: `Test Corporation ${i}`,\n ticker: `TC${i.toString().padStart(3, '0')}`,\n // eslint-disable-next-line security/detect-object-injection\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\n ceo_id: 3000000 + i,\n }),\n );\n }\n\n // Generate characters\n for (let i = 1; i <= config.characters; i++) {\n const corpIndex = Math.floor(\n (i - 1) / (config.characters / config.corporations),\n );\n // eslint-disable-next-line security/detect-object-injection\n const corp = data.corporations[corpIndex];\n data.characters.push(\n this.createCharacterInfo({\n character_id: 3000000 + i,\n name: `Test Character ${i}`,\n corporation_id: corp?.corporation_id || 2000001,\n alliance_id: corp?.alliance_id,\n }),\n );\n }\n\n return data;\n }\n\n // Realistic test data with relationships\n static createRealisticTestData() {\n const goonswarm = this.createAllianceInfo({\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n });\n\n const goonwaffe = this.createCorporationInfo({\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance_id: 99005338,\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n date_founded: '2003-05-06T00:00:00Z',\n });\n\n const testCharacter = this.createCharacterInfo({\n character_id: 1689391488,\n name: 'The Mittani',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n birthday: '2003-05-06T00:00:00Z',\n });\n\n return {\n alliances: [goonswarm],\n corporations: [goonwaffe],\n characters: [testCharacter],\n relationships: {\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\n characterMembership: {\n character: 1689391488,\n corporation: 1344654522,\n alliance: 99005338,\n },\n },\n };\n }\n}\n"],"mappings":"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","names":["pino"]}
1
+ {"version":3,"sources":["../../src/testing/index.ts","../../src/core/logger/logger.ts","../../src/core/util/error.ts","../../src/testing/TestDataFactory.ts"],"sourcesContent":["export { TestDataFactory } from './TestDataFactory';\r\n","import pino from 'pino';\r\nimport { ILogger } from './ILogger';\r\n\r\nconst pinoLogger = pino({ level: process.env.ESI_LOG_LEVEL || 'warn' });\r\n\r\nconst logger: ILogger = {\r\n info: (msg: string) => {\r\n pinoLogger.info(msg);\r\n },\r\n warn: (msg: string) => {\r\n pinoLogger.warn(msg);\r\n },\r\n error: (msg: string) => {\r\n pinoLogger.error(msg);\r\n },\r\n debug: (msg: string) => {\r\n pinoLogger.debug(msg);\r\n },\r\n};\r\n\r\nexport default logger;\r\n","const SENSITIVE_PARAMS = [\r\n 'token',\r\n 'access_token',\r\n 'api_key',\r\n 'refresh_token',\r\n 'client_secret',\r\n 'code',\r\n 'key',\r\n 'secret',\r\n 'auth',\r\n 'password',\r\n 'bearer',\r\n];\r\n\r\nexport function sanitizeUrl(url?: string): string | undefined {\r\n if (!url) return url;\r\n try {\r\n const parsed = new URL(url);\r\n for (const param of SENSITIVE_PARAMS) {\r\n if (parsed.searchParams.has(param)) {\r\n parsed.searchParams.set(param, '[REDACTED]');\r\n }\r\n }\r\n return parsed.toString();\r\n } catch {\r\n const qIndex = url.indexOf('?');\r\n return qIndex >= 0 ? url.substring(0, qIndex) + '?[params-redacted]' : url;\r\n }\r\n}\r\n\r\nexport class EsiError extends Error {\r\n public readonly url?: string;\r\n\r\n constructor(\r\n public readonly statusCode: number,\r\n message: string,\r\n url?: string,\r\n public readonly requestId?: string,\r\n ) {\r\n super(message);\r\n this.name = 'EsiError';\r\n this.url = sanitizeUrl(url);\r\n }\r\n\r\n isRateLimited(): boolean {\r\n return this.statusCode === 420 || this.statusCode === 429;\r\n }\r\n\r\n isNotFound(): boolean {\r\n return this.statusCode === 404;\r\n }\r\n\r\n isUnauthorized(): boolean {\r\n return this.statusCode === 401;\r\n }\r\n\r\n isForbidden(): boolean {\r\n return this.statusCode === 403;\r\n }\r\n\r\n isServerError(): boolean {\r\n return this.statusCode >= 500;\r\n }\r\n\r\n isTimeout(): boolean {\r\n return this.statusCode === 0;\r\n }\r\n\r\n get retryable(): boolean {\r\n return (\r\n this.statusCode === 0 ||\r\n this.statusCode === 420 ||\r\n this.statusCode === 429 ||\r\n this.statusCode === 502 ||\r\n this.statusCode === 503 ||\r\n this.statusCode === 504\r\n );\r\n }\r\n}\r\n\r\nexport function isEsiError(error: unknown): error is EsiError {\r\n return error instanceof EsiError;\r\n}\r\n\r\nexport function isRateLimited(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isRateLimited();\r\n}\r\n\r\nexport function isNotFound(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isNotFound();\r\n}\r\n\r\nexport function isUnauthorized(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isUnauthorized();\r\n}\r\n\r\nexport function isForbidden(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isForbidden();\r\n}\r\n\r\nexport function isServerError(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isServerError();\r\n}\r\n\r\nexport class TimeoutError extends EsiError {\r\n constructor(\r\n public readonly timeoutMs: number,\r\n url?: string,\r\n requestId?: string,\r\n ) {\r\n super(0, `Request timed out after ${timeoutMs}ms`, url, requestId);\r\n this.name = 'TimeoutError';\r\n }\r\n}\r\n\r\nexport function isTimeout(error: unknown): error is TimeoutError {\r\n return error instanceof TimeoutError;\r\n}\r\n\r\nexport function isRetryable(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.retryable;\r\n}\r\n\r\n// Re-export CircuitOpenError for the type guard — avoid forcing consumers\r\n// to import from the circuitBreaker subpath just for error checking.\r\nimport { CircuitOpenError } from '../circuitBreaker/CircuitBreaker';\r\n\r\nexport function isCircuitOpen(error: unknown): error is CircuitOpenError {\r\n return error instanceof CircuitOpenError;\r\n}\r\n\r\nexport const buildError = (\r\n message: string,\r\n type: string = 'ERROR',\r\n url?: string,\r\n): Error => {\r\n const error = new Error(`[${type}] ${message}`);\r\n if (url) {\r\n (error as Error & { url: string }).url = url;\r\n }\r\n return error;\r\n};\r\n\r\nexport type ValidationDirection = 'request' | 'response';\r\n\r\nexport class EsiValidationError extends EsiError {\r\n public readonly validationError: unknown;\r\n public readonly direction: ValidationDirection;\r\n\r\n constructor(\r\n url: string,\r\n zodError: unknown,\r\n requestId?: string,\r\n direction: ValidationDirection = 'response',\r\n ) {\r\n const safeUrl = sanitizeUrl(url) ?? url;\r\n const label = direction === 'request' ? 'Request body' : 'Response';\r\n super(0, `${label} validation failed for ${safeUrl}`, url, requestId);\r\n this.name = 'EsiValidationError';\r\n this.validationError = zodError;\r\n this.direction = direction;\r\n }\r\n}\r\n\r\nexport function isValidationError(error: unknown): error is EsiValidationError {\r\n return error instanceof EsiValidationError;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n AllianceInfo,\r\n CharacterInfo,\r\n CorporationInfo,\r\n AllianceContact,\r\n AllianceContactLabel,\r\n CharacterPortrait,\r\n CharacterAttributes,\r\n CharacterSkill,\r\n MarketOrder,\r\n WalletTransaction,\r\n Contract,\r\n SovereigntySystem,\r\n SovereigntyHub,\r\n OrbitalSkyhook,\r\n RaidableSkyhook,\r\n MercenaryDen,\r\n MercenaryTacticalOperation,\r\n AccessListEntry,\r\n} from '../types/api-responses';\r\nimport { EsiError } from '../core/util/error';\r\n\r\nexport class TestDataFactory {\r\n // Alliance test data\r\n static createAllianceInfo(\r\n overrides: Partial<AllianceInfo> = {},\r\n ): AllianceInfo {\r\n return {\r\n alliance_id: 99005338,\r\n name: 'Goonswarm Federation',\r\n ticker: 'CONDI',\r\n creator_id: 1689391488,\r\n creator_corporation_id: 1344654522,\r\n executor_corporation_id: 1344654522,\r\n date_founded: '2010-06-01T00:00:00Z',\r\n faction_id: 500001,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAllianceContact(\r\n overrides: Partial<AllianceContact> = {},\r\n ): AllianceContact {\r\n return {\r\n contact_id: 1689391488,\r\n contact_type: 'character',\r\n standing: 10.0,\r\n label_ids: [1, 2],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAllianceContactLabel(\r\n overrides: Partial<AllianceContactLabel> = {},\r\n ): AllianceContactLabel {\r\n return {\r\n label_id: 1,\r\n label_name: 'Friendly',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Character test data\r\n static createCharacterInfo(\r\n overrides: Partial<CharacterInfo> = {},\r\n ): CharacterInfo {\r\n return {\r\n character_id: 1689391488,\r\n name: 'Test Character',\r\n corporation_id: 1344654522,\r\n alliance_id: 99005338,\r\n bloodline_id: 4,\r\n race_id: 1,\r\n gender: 'male',\r\n birthday: '2003-05-06T00:00:00Z',\r\n description: 'A test character for BDD scenarios',\r\n security_status: 5.0,\r\n title: 'Test Pilot',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterPortrait(\r\n characterId: number = 1689391488,\r\n ): CharacterPortrait {\r\n return {\r\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\r\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\r\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\r\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\r\n };\r\n }\r\n\r\n static createCharacterAttributes(\r\n overrides: Partial<CharacterAttributes> = {},\r\n ): CharacterAttributes {\r\n return {\r\n charisma: 20,\r\n intelligence: 24,\r\n memory: 21,\r\n perception: 23,\r\n willpower: 22,\r\n bonus_remaps: 2,\r\n last_remap_date: '2023-01-01T00:00:00Z',\r\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterSkill(\r\n overrides: Partial<CharacterSkill> = {},\r\n ): CharacterSkill {\r\n return {\r\n skill_id: 3300,\r\n skillpoints_in_skill: 256000,\r\n trained_skill_level: 5,\r\n active_skill_level: 5,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\r\n return {\r\n roles: ['Director'],\r\n roles_at_base: [],\r\n roles_at_hq: ['Director'],\r\n roles_at_other: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationHistoryEntry(\r\n overrides: Record<string, any> = {},\r\n ): any {\r\n return {\r\n corporation_id: 1344654522,\r\n is_deleted: false,\r\n record_id: 1,\r\n start_date: '2020-01-01T00:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\r\n return {\r\n medal_id: 1,\r\n title: 'Test Medal',\r\n description: 'A test medal for demonstration',\r\n corporation_id: 1344654522,\r\n date: '2023-01-01T00:00:00Z',\r\n issuer_id: 1689391489,\r\n reason: 'Outstanding service',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\r\n return {\r\n notification_id: 1000001,\r\n sender_id: 1689391489,\r\n sender_type: 'character',\r\n text: 'Test notification',\r\n timestamp: '2024-01-15T12:00:00Z',\r\n type: 'AllWarDeclaredMsg',\r\n is_read: false,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Market test data\r\n static createMarketPrice(overrides: Record<string, any> = {}): any {\r\n return {\r\n type_id: 34,\r\n average_price: 4.5,\r\n adjusted_price: 4.55,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMarketHistory(overrides: Record<string, any> = {}): any {\r\n return {\r\n date: '2024-01-15',\r\n volume: 1000000000,\r\n order_count: 2500,\r\n lowest: 4.2,\r\n highest: 4.8,\r\n average: 4.5,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\r\n return {\r\n order_id: 5000000001,\r\n type_id: 34,\r\n region_id: 10000002,\r\n location_id: 60003760,\r\n range: 'region',\r\n volume_total: 1000000,\r\n volume_remain: 750000,\r\n min_volume: 1,\r\n price: 4.5,\r\n is_buy_order: true,\r\n is_corporation: false,\r\n duration: 90,\r\n issued: '2024-01-15T12:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\r\n return {\r\n order_id: 5000000001,\r\n type_id: 34,\r\n region_id: 10000002,\r\n location_id: 60003760,\r\n range: 'region',\r\n volume_total: 1000000,\r\n volume_remain: 0,\r\n min_volume: 1,\r\n price: 4.5,\r\n is_buy_order: true,\r\n is_corporation: false,\r\n duration: 90,\r\n issued: '2024-01-10T12:00:00Z',\r\n state: 'expired',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Universe test data\r\n static createSolarSystem(overrides: Record<string, any> = {}): any {\r\n return {\r\n system_id: 30000142,\r\n name: 'Jita',\r\n constellation_id: 20000020,\r\n security_status: 0.9459991455078125,\r\n star_id: 40000001,\r\n stargates: [50000001, 50000002],\r\n stations: [60003760, 60003761],\r\n planets: [\r\n { planet_id: 40000001, moons: [40000002, 40000003] },\r\n { planet_id: 40000004, moons: [40000005] },\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStation(overrides: Record<string, any> = {}): any {\r\n return {\r\n station_id: 60003760,\r\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\r\n owner: 1000035,\r\n type_id: 52678,\r\n race_id: 1,\r\n system_id: 30000142,\r\n reprocessing_efficiency: 0.5,\r\n reprocessing_stations_take: 0.05,\r\n max_dockable_ship_volume: 50000000,\r\n office_rental_cost: 10000000,\r\n services: [\r\n 'bounty-missions',\r\n 'courier-missions',\r\n 'interbus',\r\n 'reprocessing-plant',\r\n 'market',\r\n 'stock-exchange',\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStructure(overrides: Record<string, any> = {}): any {\r\n return {\r\n structure_id: 1021975535893,\r\n name: 'Test Citadel',\r\n owner_id: 1689391488,\r\n solar_system_id: 30000142,\r\n type_id: 35832,\r\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createItemType(overrides: Record<string, any> = {}): any {\r\n return {\r\n type_id: 34,\r\n name: 'Tritanium',\r\n description: 'The most common ore type in the known universe.',\r\n group_id: 18,\r\n category_id: 4,\r\n market_group_id: 1857,\r\n mass: 1.0,\r\n volume: 0.01,\r\n capacity: 0.0,\r\n portion_size: 1,\r\n radius: 1.0,\r\n published: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createItemGroup(overrides: Record<string, any> = {}): any {\r\n return {\r\n group_id: 18,\r\n name: 'Mineral',\r\n category_id: 4,\r\n published: true,\r\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStar(overrides: Record<string, any> = {}): any {\r\n return {\r\n star_id: 40000001,\r\n name: 'Jita - Star',\r\n type_id: 3802,\r\n solar_system_id: 30000142,\r\n age: 4600000000,\r\n luminosity: 0.06575,\r\n radius: 62140000,\r\n spectral_class: 'K2 V',\r\n temperature: 4567,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createPlanet(overrides: Record<string, any> = {}): any {\r\n return {\r\n planet_id: 40000004,\r\n name: 'Jita IV',\r\n type_id: 11,\r\n system_id: 30000142,\r\n position: { x: 150000000000, y: 0, z: 0 },\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createSearchResults(overrides: Record<string, any> = {}): any {\r\n return {\r\n systems: [],\r\n stations: [],\r\n structures: [],\r\n characters: [],\r\n corporations: [],\r\n alliances: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createEntityName(overrides: Record<string, any> = {}): any {\r\n return {\r\n id: 30000142,\r\n name: 'Jita',\r\n category: 'solar_system',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Corporation test data\r\n static createCorporationMemberRoles(\r\n overrides: Record<string, any> = {},\r\n ): any {\r\n return {\r\n character_id: 1689391488,\r\n roles: ['Director', 'Personnel_Manager'],\r\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\r\n roles_at_hq: ['Director'],\r\n roles_at_base: [],\r\n roles_at_other: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000000001,\r\n type_id: 587,\r\n quantity: 100,\r\n location_id: 60003760,\r\n location_flag: 'CorpSAG1',\r\n location_type: 'station',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\r\n return {\r\n structure_id: 1021975535893,\r\n type_id: 35832,\r\n system_id: 30000142,\r\n profile_id: 101853,\r\n fuel_expires: '2024-02-01T12:00:00Z',\r\n state_timer_start: '2024-01-15T12:00:00Z',\r\n state_timer_end: '2024-01-22T12:00:00Z',\r\n state: 'shield_vulnerable',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\r\n return {\r\n division: 1,\r\n balance: 1000000000.0,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\r\n return {\r\n id: 1000000001,\r\n date: '2024-01-15T12:00:00Z',\r\n ref_type: 'market_transaction',\r\n first_party_id: 1344654522,\r\n amount: 1000000.0,\r\n balance: 1000000000.0,\r\n reason: 'Market transaction',\r\n description: 'Sold items on market',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Fleet test data\r\n static createFleetInfo(overrides: Record<string, any> = {}): any {\r\n return {\r\n fleet_id: 1234567890,\r\n fleet_boss_id: 1689391488,\r\n is_free_move: false,\r\n is_registered: true,\r\n is_voice_enabled: true,\r\n motd: 'Fleet operations in progress',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createFleetMember(overrides: Record<string, any> = {}): any {\r\n return {\r\n character_id: 1689391488,\r\n role: 'fleet_commander',\r\n ship_type_id: 17918,\r\n solar_system_id: 30000142,\r\n station_id: 60003760,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createFleetWing(overrides: Record<string, any> = {}): any {\r\n return {\r\n wing_id: 987654321,\r\n name: 'Wing 1',\r\n squads: [{ squad_id: 123456789, name: 'Squad 1' }],\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Industry test data\r\n static createIndustryJob(overrides: Record<string, any> = {}): any {\r\n return {\r\n job_id: 1000001,\r\n installer_id: 1689391488,\r\n facility_id: 60003760,\r\n activity_id: 1,\r\n blueprint_id: 1000000001,\r\n blueprint_type_id: 17918,\r\n product_type_id: 17918,\r\n runs: 1,\r\n status: 'active',\r\n start_date: '2024-01-15T12:00:00Z',\r\n end_date: '2024-01-16T12:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createBlueprint(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000001,\r\n type_id: 17918,\r\n location_id: 60003760,\r\n location_flag: 'Hangar',\r\n quantity: -2,\r\n time_efficiency: 10,\r\n material_efficiency: 10,\r\n runs: 100,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000002,\r\n type_id: 34,\r\n quantity: 1000000,\r\n location_id: 60003760,\r\n location_flag: 'Hangar',\r\n location_type: 'station',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\r\n return {\r\n solar_system_id: 30000142,\r\n station_id: 60003760,\r\n structure_id: undefined,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\r\n return {\r\n skills: [\r\n {\r\n skill_id: 3300,\r\n skillpoints_in_skill: 256000,\r\n trained_skill_level: 5,\r\n active_skill_level: 5,\r\n },\r\n {\r\n skill_id: 3301,\r\n skillpoints_in_skill: 128000,\r\n trained_skill_level: 4,\r\n active_skill_level: 4,\r\n },\r\n ],\r\n total_sp: 384000,\r\n unallocated_sp: 0,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Corporation test data\r\n static createCorporationInfo(\r\n overrides: Partial<CorporationInfo> = {},\r\n ): CorporationInfo {\r\n return {\r\n corporation_id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n ceo_id: 1689391488,\r\n creator_id: 1689391488,\r\n member_count: 15000,\r\n tax_rate: 0.1,\r\n alliance_id: 99005338,\r\n date_founded: '2003-05-06T00:00:00Z',\r\n description: 'The founding corporation of Goonswarm Federation',\r\n home_station_id: 60003760,\r\n shares: 1000,\r\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\r\n url: 'http://www.goonfleet.com/',\r\n faction_id: 500001,\r\n war_eligible: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Market test data\r\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\r\n return {\r\n order_id: 123456789,\r\n type_id: 34, // Tritanium\r\n location_id: 60003760, // Jita 4-4\r\n volume_total: 1000000,\r\n volume_remain: 500000,\r\n min_volume: 1,\r\n price: 5.5,\r\n is_buy_order: false,\r\n system_id: 30000142,\r\n duration: 90,\r\n issued: '2023-12-01T12:00:00Z',\r\n range: 'region',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Wallet test data\r\n static createWalletTransaction(\r\n overrides: Partial<WalletTransaction> = {},\r\n ): WalletTransaction {\r\n return {\r\n transaction_id: 123456789,\r\n date: '2023-12-01T12:00:00Z',\r\n type_id: 34,\r\n location_id: 60003760,\r\n unit_price: 5.5,\r\n quantity: 1000,\r\n client_id: 1689391488,\r\n is_buy: false,\r\n is_personal: true,\r\n journal_ref_id: 987654321,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Contract test data\r\n static createContract(overrides: Partial<Contract> = {}): Contract {\r\n return {\r\n contract_id: 123456789,\r\n issuer_id: 1689391488,\r\n issuer_corporation_id: 1344654522,\r\n assignee_id: 987654321,\r\n start_location_id: 60003760,\r\n end_location_id: 60008494,\r\n type: 'courier',\r\n status: 'outstanding',\r\n title: 'Test Courier Contract',\r\n for_corporation: false,\r\n availability: 'public',\r\n date_issued: '2023-12-01T12:00:00Z',\r\n date_expired: '2023-12-08T12:00:00Z',\r\n days_to_complete: 3,\r\n price: 1000000,\r\n reward: 500000,\r\n collateral: 10000000,\r\n volume: 1000,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Sovereignty test data (Equinox)\r\n static createSovereigntySystem(\r\n overrides: Partial<SovereigntySystem> = {},\r\n ): SovereigntySystem {\r\n return {\r\n solar_systems: [\r\n {\r\n solar_system_id: 30000142,\r\n claim: {\r\n alliance: {\r\n alliance_id: 99005338,\r\n corporation_id: 1344654522,\r\n claimed_since: '2020-10-08T00:38:16Z',\r\n is_capital_system: false,\r\n development: {\r\n activity_defense_multiplier: 4.5,\r\n military_level: 5,\r\n industrial_level: 3,\r\n strategic_level: 1,\r\n },\r\n },\r\n },\r\n },\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createSovereigntyHub(\r\n overrides: Partial<SovereigntyHub> = {},\r\n ): SovereigntyHub {\r\n return {\r\n structure_id: 100000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n online: true,\r\n remaining_reagents: 500,\r\n installed_upgrades: [1, 2, 3],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createOrbitalSkyhook(\r\n overrides: Partial<OrbitalSkyhook> = {},\r\n ): OrbitalSkyhook {\r\n return {\r\n structure_id: 200000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n online: true,\r\n reagent_silo_capacity: 1000,\r\n reagent_silo_level: 750,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createRaidableSkyhook(\r\n overrides: Partial<RaidableSkyhook> = {},\r\n ): RaidableSkyhook {\r\n return {\r\n structure_id: 200000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n raidable_at: '2026-05-20T12:00:00Z',\r\n is_raidable: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMercenaryDen(\r\n overrides: Partial<MercenaryDen> = {},\r\n ): MercenaryDen {\r\n return {\r\n den_id: 5001,\r\n system_id: 30000142,\r\n constellation_id: 20000125,\r\n region_id: 10000002,\r\n development_level: 3,\r\n anarchy_level: 2,\r\n active_operations: 1,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMercenaryTacticalOperation(\r\n overrides: Partial<MercenaryTacticalOperation> = {},\r\n ): MercenaryTacticalOperation {\r\n return {\r\n operation_id: 7001,\r\n den_id: 5001,\r\n system_id: 30000142,\r\n site_type: 'assault',\r\n status: 'active',\r\n started_at: '2026-05-20T10:00:00Z',\r\n expires_at: '2026-05-20T22:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAccessListEntry(\r\n overrides: Partial<AccessListEntry> = {},\r\n ): AccessListEntry {\r\n return {\r\n entity_id: 1689391488,\r\n entity_type: 'character',\r\n access_type: 'allowed',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Error test data\r\n static createError(statusCode: number, message?: string): EsiError {\r\n const defaultMessages: Record<number, string> = {\r\n 400: 'Bad request',\r\n 401: 'Unauthorized',\r\n 403: 'Forbidden',\r\n 404: 'Resource not found',\r\n 429: 'Rate limit exceeded',\r\n 500: 'Internal server error',\r\n 503: 'Service unavailable',\r\n };\r\n return new EsiError(\r\n statusCode,\r\n // eslint-disable-next-line security/detect-object-injection\r\n message || defaultMessages[statusCode] || 'Unknown error',\r\n );\r\n }\r\n\r\n // Test scenarios\r\n static createTestScenarios() {\r\n return {\r\n alliances: [\r\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\r\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\r\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\r\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\r\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\r\n ],\r\n characters: [\r\n {\r\n id: 1689391488,\r\n name: 'Test Character',\r\n corp: 1344654522,\r\n alliance: 99005338,\r\n },\r\n {\r\n id: 123456789,\r\n name: 'Demo Pilot',\r\n corp: 987654321,\r\n alliance: 99000001,\r\n },\r\n {\r\n id: 111111111,\r\n name: 'Alpha Tester',\r\n corp: 222222222,\r\n alliance: 99000002,\r\n },\r\n {\r\n id: 333333333,\r\n name: 'Beta User',\r\n corp: 444444444,\r\n alliance: 99000003,\r\n },\r\n {\r\n id: 555555555,\r\n name: 'Gamma Pilot',\r\n corp: 666666666,\r\n alliance: 99000004,\r\n },\r\n ],\r\n corporations: [\r\n {\r\n id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n alliance: 99005338,\r\n },\r\n {\r\n id: 987654321,\r\n name: 'Test Corp Please Ignore',\r\n ticker: 'TCPI',\r\n alliance: 99000001,\r\n },\r\n {\r\n id: 222222222,\r\n name: 'Brave Newbies Inc.',\r\n ticker: 'BNI',\r\n alliance: 99000002,\r\n },\r\n {\r\n id: 444444444,\r\n name: 'Sniggerdly',\r\n ticker: 'SNIGG',\r\n alliance: 99000003,\r\n },\r\n {\r\n id: 666666666,\r\n name: 'Tactical Narcotics Team',\r\n ticker: 'TNT',\r\n alliance: 99000004,\r\n },\r\n ],\r\n errorScenarios: [\r\n { statusCode: 0, label: 'network_error', probability: 0.1 },\r\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\r\n { statusCode: 500, label: 'server_error', probability: 0.02 },\r\n { statusCode: 504, label: 'timeout', probability: 0.03 },\r\n { statusCode: 404, label: 'not_found', probability: 0.01 },\r\n ],\r\n };\r\n }\r\n\r\n // Performance test data\r\n static createPerformanceTestData(\r\n size: 'small' | 'medium' | 'large' = 'medium',\r\n ) {\r\n const sizes = {\r\n small: { alliances: 5, characters: 20, corporations: 10 },\r\n medium: { alliances: 20, characters: 100, corporations: 50 },\r\n large: { alliances: 100, characters: 1000, corporations: 500 },\r\n };\r\n\r\n // eslint-disable-next-line security/detect-object-injection\r\n const config = sizes[size];\r\n const data = {\r\n alliances: [] as AllianceInfo[],\r\n characters: [] as CharacterInfo[],\r\n corporations: [] as CorporationInfo[],\r\n };\r\n\r\n // Generate alliances\r\n for (let i = 1; i <= config.alliances; i++) {\r\n data.alliances.push(\r\n this.createAllianceInfo({\r\n alliance_id: 99000000 + i,\r\n name: `Test Alliance ${i}`,\r\n ticker: `TST${i.toString().padStart(2, '0')}`,\r\n creator_id: 1000000 + i,\r\n }),\r\n );\r\n }\r\n\r\n // Generate corporations\r\n for (let i = 1; i <= config.corporations; i++) {\r\n const allianceIndex = Math.floor(\r\n (i - 1) / (config.corporations / config.alliances),\r\n );\r\n data.corporations.push(\r\n this.createCorporationInfo({\r\n corporation_id: 2000000 + i,\r\n name: `Test Corporation ${i}`,\r\n ticker: `TC${i.toString().padStart(3, '0')}`,\r\n // eslint-disable-next-line security/detect-object-injection\r\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\r\n ceo_id: 3000000 + i,\r\n }),\r\n );\r\n }\r\n\r\n // Generate characters\r\n for (let i = 1; i <= config.characters; i++) {\r\n const corpIndex = Math.floor(\r\n (i - 1) / (config.characters / config.corporations),\r\n );\r\n // eslint-disable-next-line security/detect-object-injection\r\n const corp = data.corporations[corpIndex];\r\n data.characters.push(\r\n this.createCharacterInfo({\r\n character_id: 3000000 + i,\r\n name: `Test Character ${i}`,\r\n corporation_id: corp?.corporation_id || 2000001,\r\n alliance_id: corp?.alliance_id,\r\n }),\r\n );\r\n }\r\n\r\n return data;\r\n }\r\n\r\n // Realistic test data with relationships\r\n static createRealisticTestData() {\r\n const goonswarm = this.createAllianceInfo({\r\n alliance_id: 99005338,\r\n name: 'Goonswarm Federation',\r\n ticker: 'CONDI',\r\n creator_id: 1689391488,\r\n creator_corporation_id: 1344654522,\r\n executor_corporation_id: 1344654522,\r\n date_founded: '2010-06-01T00:00:00Z',\r\n });\r\n\r\n const goonwaffe = this.createCorporationInfo({\r\n corporation_id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n alliance_id: 99005338,\r\n ceo_id: 1689391488,\r\n creator_id: 1689391488,\r\n member_count: 15000,\r\n date_founded: '2003-05-06T00:00:00Z',\r\n });\r\n\r\n const testCharacter = this.createCharacterInfo({\r\n character_id: 1689391488,\r\n name: 'The Mittani',\r\n corporation_id: 1344654522,\r\n alliance_id: 99005338,\r\n birthday: '2003-05-06T00:00:00Z',\r\n });\r\n\r\n return {\r\n alliances: [goonswarm],\r\n corporations: [goonwaffe],\r\n characters: [testCharacter],\r\n relationships: {\r\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\r\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\r\n characterMembership: {\r\n character: 1689391488,\r\n corporation: 1344654522,\r\n alliance: 99005338,\r\n },\r\n },\r\n };\r\n }\r\n}\r\n"],"mappings":"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","names":["pino"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/logger/logger.ts","../../src/core/util/error.ts","../../src/testing/TestDataFactory.ts"],"sourcesContent":["import pino from 'pino';\nimport { ILogger } from './ILogger';\n\nconst pinoLogger = pino({ level: process.env.ESI_LOG_LEVEL || 'warn' });\n\nconst logger: ILogger = {\n info: (msg: string) => {\n pinoLogger.info(msg);\n },\n warn: (msg: string) => {\n pinoLogger.warn(msg);\n },\n error: (msg: string) => {\n pinoLogger.error(msg);\n },\n debug: (msg: string) => {\n pinoLogger.debug(msg);\n },\n};\n\nexport default logger;\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n AllianceInfo,\n CharacterInfo,\n CorporationInfo,\n AllianceContact,\n AllianceContactLabel,\n CharacterPortrait,\n CharacterAttributes,\n CharacterSkill,\n MarketOrder,\n WalletTransaction,\n Contract,\n SovereigntySystem,\n SovereigntyHub,\n OrbitalSkyhook,\n RaidableSkyhook,\n MercenaryDen,\n MercenaryTacticalOperation,\n AccessListEntry,\n} from '../types/api-responses';\nimport { EsiError } from '../core/util/error';\n\nexport class TestDataFactory {\n // Alliance test data\n static createAllianceInfo(\n overrides: Partial<AllianceInfo> = {},\n ): AllianceInfo {\n return {\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n faction_id: 500001,\n ...overrides,\n };\n }\n\n static createAllianceContact(\n overrides: Partial<AllianceContact> = {},\n ): AllianceContact {\n return {\n contact_id: 1689391488,\n contact_type: 'character',\n standing: 10.0,\n label_ids: [1, 2],\n ...overrides,\n };\n }\n\n static createAllianceContactLabel(\n overrides: Partial<AllianceContactLabel> = {},\n ): AllianceContactLabel {\n return {\n label_id: 1,\n label_name: 'Friendly',\n ...overrides,\n };\n }\n\n // Character test data\n static createCharacterInfo(\n overrides: Partial<CharacterInfo> = {},\n ): CharacterInfo {\n return {\n character_id: 1689391488,\n name: 'Test Character',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n bloodline_id: 4,\n race_id: 1,\n gender: 'male',\n birthday: '2003-05-06T00:00:00Z',\n description: 'A test character for BDD scenarios',\n security_status: 5.0,\n title: 'Test Pilot',\n ...overrides,\n };\n }\n\n static createCharacterPortrait(\n characterId: number = 1689391488,\n ): CharacterPortrait {\n return {\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\n };\n }\n\n static createCharacterAttributes(\n overrides: Partial<CharacterAttributes> = {},\n ): CharacterAttributes {\n return {\n charisma: 20,\n intelligence: 24,\n memory: 21,\n perception: 23,\n willpower: 22,\n bonus_remaps: 2,\n last_remap_date: '2023-01-01T00:00:00Z',\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterSkill(\n overrides: Partial<CharacterSkill> = {},\n ): CharacterSkill {\n return {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n ...overrides,\n };\n }\n\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\n return {\n roles: ['Director'],\n roles_at_base: [],\n roles_at_hq: ['Director'],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationHistoryEntry(\n overrides: Record<string, any> = {},\n ): any {\n return {\n corporation_id: 1344654522,\n is_deleted: false,\n record_id: 1,\n start_date: '2020-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\n return {\n medal_id: 1,\n title: 'Test Medal',\n description: 'A test medal for demonstration',\n corporation_id: 1344654522,\n date: '2023-01-01T00:00:00Z',\n issuer_id: 1689391489,\n reason: 'Outstanding service',\n ...overrides,\n };\n }\n\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\n return {\n notification_id: 1000001,\n sender_id: 1689391489,\n sender_type: 'character',\n text: 'Test notification',\n timestamp: '2024-01-15T12:00:00Z',\n type: 'AllWarDeclaredMsg',\n is_read: false,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketPrice(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n average_price: 4.5,\n adjusted_price: 4.55,\n ...overrides,\n };\n }\n\n static createMarketHistory(overrides: Record<string, any> = {}): any {\n return {\n date: '2024-01-15',\n volume: 1000000000,\n order_count: 2500,\n lowest: 4.2,\n highest: 4.8,\n average: 4.5,\n ...overrides,\n };\n }\n\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 750000,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-15T12:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 0,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-10T12:00:00Z',\n state: 'expired',\n ...overrides,\n };\n }\n\n // Universe test data\n static createSolarSystem(overrides: Record<string, any> = {}): any {\n return {\n system_id: 30000142,\n name: 'Jita',\n constellation_id: 20000020,\n security_status: 0.9459991455078125,\n star_id: 40000001,\n stargates: [50000001, 50000002],\n stations: [60003760, 60003761],\n planets: [\n { planet_id: 40000001, moons: [40000002, 40000003] },\n { planet_id: 40000004, moons: [40000005] },\n ],\n ...overrides,\n };\n }\n\n static createStation(overrides: Record<string, any> = {}): any {\n return {\n station_id: 60003760,\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\n owner: 1000035,\n type_id: 52678,\n race_id: 1,\n system_id: 30000142,\n reprocessing_efficiency: 0.5,\n reprocessing_stations_take: 0.05,\n max_dockable_ship_volume: 50000000,\n office_rental_cost: 10000000,\n services: [\n 'bounty-missions',\n 'courier-missions',\n 'interbus',\n 'reprocessing-plant',\n 'market',\n 'stock-exchange',\n ],\n ...overrides,\n };\n }\n\n static createStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n name: 'Test Citadel',\n owner_id: 1689391488,\n solar_system_id: 30000142,\n type_id: 35832,\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\n ...overrides,\n };\n }\n\n static createItemType(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n name: 'Tritanium',\n description: 'The most common ore type in the known universe.',\n group_id: 18,\n category_id: 4,\n market_group_id: 1857,\n mass: 1.0,\n volume: 0.01,\n capacity: 0.0,\n portion_size: 1,\n radius: 1.0,\n published: true,\n ...overrides,\n };\n }\n\n static createItemGroup(overrides: Record<string, any> = {}): any {\n return {\n group_id: 18,\n name: 'Mineral',\n category_id: 4,\n published: true,\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\n ...overrides,\n };\n }\n\n static createStar(overrides: Record<string, any> = {}): any {\n return {\n star_id: 40000001,\n name: 'Jita - Star',\n type_id: 3802,\n solar_system_id: 30000142,\n age: 4600000000,\n luminosity: 0.06575,\n radius: 62140000,\n spectral_class: 'K2 V',\n temperature: 4567,\n ...overrides,\n };\n }\n\n static createPlanet(overrides: Record<string, any> = {}): any {\n return {\n planet_id: 40000004,\n name: 'Jita IV',\n type_id: 11,\n system_id: 30000142,\n position: { x: 150000000000, y: 0, z: 0 },\n ...overrides,\n };\n }\n\n static createSearchResults(overrides: Record<string, any> = {}): any {\n return {\n systems: [],\n stations: [],\n structures: [],\n characters: [],\n corporations: [],\n alliances: [],\n ...overrides,\n };\n }\n\n static createEntityName(overrides: Record<string, any> = {}): any {\n return {\n id: 30000142,\n name: 'Jita',\n category: 'solar_system',\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationMemberRoles(\n overrides: Record<string, any> = {},\n ): any {\n return {\n character_id: 1689391488,\n roles: ['Director', 'Personnel_Manager'],\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\n roles_at_hq: ['Director'],\n roles_at_base: [],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000000001,\n type_id: 587,\n quantity: 100,\n location_id: 60003760,\n location_flag: 'CorpSAG1',\n location_type: 'station',\n ...overrides,\n };\n }\n\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n type_id: 35832,\n system_id: 30000142,\n profile_id: 101853,\n fuel_expires: '2024-02-01T12:00:00Z',\n state_timer_start: '2024-01-15T12:00:00Z',\n state_timer_end: '2024-01-22T12:00:00Z',\n state: 'shield_vulnerable',\n ...overrides,\n };\n }\n\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\n return {\n division: 1,\n balance: 1000000000.0,\n ...overrides,\n };\n }\n\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\n return {\n id: 1000000001,\n date: '2024-01-15T12:00:00Z',\n ref_type: 'market_transaction',\n first_party_id: 1344654522,\n amount: 1000000.0,\n balance: 1000000000.0,\n reason: 'Market transaction',\n description: 'Sold items on market',\n ...overrides,\n };\n }\n\n // Fleet test data\n static createFleetInfo(overrides: Record<string, any> = {}): any {\n return {\n fleet_id: 1234567890,\n fleet_boss_id: 1689391488,\n is_free_move: false,\n is_registered: true,\n is_voice_enabled: true,\n motd: 'Fleet operations in progress',\n ...overrides,\n };\n }\n\n static createFleetMember(overrides: Record<string, any> = {}): any {\n return {\n character_id: 1689391488,\n role: 'fleet_commander',\n ship_type_id: 17918,\n solar_system_id: 30000142,\n station_id: 60003760,\n ...overrides,\n };\n }\n\n static createFleetWing(overrides: Record<string, any> = {}): any {\n return {\n wing_id: 987654321,\n name: 'Wing 1',\n squads: [{ squad_id: 123456789, name: 'Squad 1' }],\n ...overrides,\n };\n }\n\n // Industry test data\n static createIndustryJob(overrides: Record<string, any> = {}): any {\n return {\n job_id: 1000001,\n installer_id: 1689391488,\n facility_id: 60003760,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n static createBlueprint(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000001,\n type_id: 17918,\n location_id: 60003760,\n location_flag: 'Hangar',\n quantity: -2,\n time_efficiency: 10,\n material_efficiency: 10,\n runs: 100,\n ...overrides,\n };\n }\n\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000002,\n type_id: 34,\n quantity: 1000000,\n location_id: 60003760,\n location_flag: 'Hangar',\n location_type: 'station',\n ...overrides,\n };\n }\n\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\n return {\n solar_system_id: 30000142,\n station_id: 60003760,\n structure_id: undefined,\n ...overrides,\n };\n }\n\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\n return {\n skills: [\n {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n },\n {\n skill_id: 3301,\n skillpoints_in_skill: 128000,\n trained_skill_level: 4,\n active_skill_level: 4,\n },\n ],\n total_sp: 384000,\n unallocated_sp: 0,\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationInfo(\n overrides: Partial<CorporationInfo> = {},\n ): CorporationInfo {\n return {\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n tax_rate: 0.1,\n alliance_id: 99005338,\n date_founded: '2003-05-06T00:00:00Z',\n description: 'The founding corporation of Goonswarm Federation',\n home_station_id: 60003760,\n shares: 1000,\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n url: 'http://www.goonfleet.com/',\n faction_id: 500001,\n war_eligible: true,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\n return {\n order_id: 123456789,\n type_id: 34, // Tritanium\n location_id: 60003760, // Jita 4-4\n volume_total: 1000000,\n volume_remain: 500000,\n min_volume: 1,\n price: 5.5,\n is_buy_order: false,\n system_id: 30000142,\n duration: 90,\n issued: '2023-12-01T12:00:00Z',\n range: 'region',\n ...overrides,\n };\n }\n\n // Wallet test data\n static createWalletTransaction(\n overrides: Partial<WalletTransaction> = {},\n ): WalletTransaction {\n return {\n transaction_id: 123456789,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: false,\n is_personal: true,\n journal_ref_id: 987654321,\n ...overrides,\n };\n }\n\n // Contract test data\n static createContract(overrides: Partial<Contract> = {}): Contract {\n return {\n contract_id: 123456789,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n assignee_id: 987654321,\n start_location_id: 60003760,\n end_location_id: 60008494,\n type: 'courier',\n status: 'outstanding',\n title: 'Test Courier Contract',\n for_corporation: false,\n availability: 'public',\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-08T12:00:00Z',\n days_to_complete: 3,\n price: 1000000,\n reward: 500000,\n collateral: 10000000,\n volume: 1000,\n ...overrides,\n };\n }\n\n // Sovereignty test data (Equinox)\n static createSovereigntySystem(\n overrides: Partial<SovereigntySystem> = {},\n ): SovereigntySystem {\n return {\n solar_systems: [\n {\n solar_system_id: 30000142,\n claim: {\n alliance: {\n alliance_id: 99005338,\n corporation_id: 1344654522,\n claimed_since: '2020-10-08T00:38:16Z',\n is_capital_system: false,\n development: {\n activity_defense_multiplier: 4.5,\n military_level: 5,\n industrial_level: 3,\n strategic_level: 1,\n },\n },\n },\n },\n ],\n ...overrides,\n };\n }\n\n static createSovereigntyHub(\n overrides: Partial<SovereigntyHub> = {},\n ): SovereigntyHub {\n return {\n structure_id: 100000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n remaining_reagents: 500,\n installed_upgrades: [1, 2, 3],\n ...overrides,\n };\n }\n\n static createOrbitalSkyhook(\n overrides: Partial<OrbitalSkyhook> = {},\n ): OrbitalSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n reagent_silo_capacity: 1000,\n reagent_silo_level: 750,\n ...overrides,\n };\n }\n\n static createRaidableSkyhook(\n overrides: Partial<RaidableSkyhook> = {},\n ): RaidableSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n raidable_at: '2026-05-20T12:00:00Z',\n is_raidable: true,\n ...overrides,\n };\n }\n\n static createMercenaryDen(\n overrides: Partial<MercenaryDen> = {},\n ): MercenaryDen {\n return {\n den_id: 5001,\n system_id: 30000142,\n constellation_id: 20000125,\n region_id: 10000002,\n development_level: 3,\n anarchy_level: 2,\n active_operations: 1,\n ...overrides,\n };\n }\n\n static createMercenaryTacticalOperation(\n overrides: Partial<MercenaryTacticalOperation> = {},\n ): MercenaryTacticalOperation {\n return {\n operation_id: 7001,\n den_id: 5001,\n system_id: 30000142,\n site_type: 'assault',\n status: 'active',\n started_at: '2026-05-20T10:00:00Z',\n expires_at: '2026-05-20T22:00:00Z',\n ...overrides,\n };\n }\n\n static createAccessListEntry(\n overrides: Partial<AccessListEntry> = {},\n ): AccessListEntry {\n return {\n entity_id: 1689391488,\n entity_type: 'character',\n access_type: 'allowed',\n ...overrides,\n };\n }\n\n // Error test data\n static createError(statusCode: number, message?: string): EsiError {\n const defaultMessages: Record<number, string> = {\n 400: 'Bad request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Resource not found',\n 429: 'Rate limit exceeded',\n 500: 'Internal server error',\n 503: 'Service unavailable',\n };\n return new EsiError(\n statusCode,\n // eslint-disable-next-line security/detect-object-injection\n message || defaultMessages[statusCode] || 'Unknown error',\n );\n }\n\n // Test scenarios\n static createTestScenarios() {\n return {\n alliances: [\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\n ],\n characters: [\n {\n id: 1689391488,\n name: 'Test Character',\n corp: 1344654522,\n alliance: 99005338,\n },\n {\n id: 123456789,\n name: 'Demo Pilot',\n corp: 987654321,\n alliance: 99000001,\n },\n {\n id: 111111111,\n name: 'Alpha Tester',\n corp: 222222222,\n alliance: 99000002,\n },\n {\n id: 333333333,\n name: 'Beta User',\n corp: 444444444,\n alliance: 99000003,\n },\n {\n id: 555555555,\n name: 'Gamma Pilot',\n corp: 666666666,\n alliance: 99000004,\n },\n ],\n corporations: [\n {\n id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance: 99005338,\n },\n {\n id: 987654321,\n name: 'Test Corp Please Ignore',\n ticker: 'TCPI',\n alliance: 99000001,\n },\n {\n id: 222222222,\n name: 'Brave Newbies Inc.',\n ticker: 'BNI',\n alliance: 99000002,\n },\n {\n id: 444444444,\n name: 'Sniggerdly',\n ticker: 'SNIGG',\n alliance: 99000003,\n },\n {\n id: 666666666,\n name: 'Tactical Narcotics Team',\n ticker: 'TNT',\n alliance: 99000004,\n },\n ],\n errorScenarios: [\n { statusCode: 0, label: 'network_error', probability: 0.1 },\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\n { statusCode: 500, label: 'server_error', probability: 0.02 },\n { statusCode: 504, label: 'timeout', probability: 0.03 },\n { statusCode: 404, label: 'not_found', probability: 0.01 },\n ],\n };\n }\n\n // Performance test data\n static createPerformanceTestData(\n size: 'small' | 'medium' | 'large' = 'medium',\n ) {\n const sizes = {\n small: { alliances: 5, characters: 20, corporations: 10 },\n medium: { alliances: 20, characters: 100, corporations: 50 },\n large: { alliances: 100, characters: 1000, corporations: 500 },\n };\n\n // eslint-disable-next-line security/detect-object-injection\n const config = sizes[size];\n const data = {\n alliances: [] as AllianceInfo[],\n characters: [] as CharacterInfo[],\n corporations: [] as CorporationInfo[],\n };\n\n // Generate alliances\n for (let i = 1; i <= config.alliances; i++) {\n data.alliances.push(\n this.createAllianceInfo({\n alliance_id: 99000000 + i,\n name: `Test Alliance ${i}`,\n ticker: `TST${i.toString().padStart(2, '0')}`,\n creator_id: 1000000 + i,\n }),\n );\n }\n\n // Generate corporations\n for (let i = 1; i <= config.corporations; i++) {\n const allianceIndex = Math.floor(\n (i - 1) / (config.corporations / config.alliances),\n );\n data.corporations.push(\n this.createCorporationInfo({\n corporation_id: 2000000 + i,\n name: `Test Corporation ${i}`,\n ticker: `TC${i.toString().padStart(3, '0')}`,\n // eslint-disable-next-line security/detect-object-injection\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\n ceo_id: 3000000 + i,\n }),\n );\n }\n\n // Generate characters\n for (let i = 1; i <= config.characters; i++) {\n const corpIndex = Math.floor(\n (i - 1) / (config.characters / config.corporations),\n );\n // eslint-disable-next-line security/detect-object-injection\n const corp = data.corporations[corpIndex];\n data.characters.push(\n this.createCharacterInfo({\n character_id: 3000000 + i,\n name: `Test Character ${i}`,\n corporation_id: corp?.corporation_id || 2000001,\n alliance_id: corp?.alliance_id,\n }),\n );\n }\n\n return data;\n }\n\n // Realistic test data with relationships\n static createRealisticTestData() {\n const goonswarm = this.createAllianceInfo({\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n });\n\n const goonwaffe = this.createCorporationInfo({\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance_id: 99005338,\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n date_founded: '2003-05-06T00:00:00Z',\n });\n\n const testCharacter = this.createCharacterInfo({\n character_id: 1689391488,\n name: 'The Mittani',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n birthday: '2003-05-06T00:00:00Z',\n });\n\n return {\n alliances: [goonswarm],\n corporations: [goonwaffe],\n characters: [testCharacter],\n relationships: {\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\n characterMembership: {\n character: 1689391488,\n corporation: 1344654522,\n alliance: 99005338,\n },\n },\n };\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/core/logger/logger.ts","../../src/core/util/error.ts","../../src/testing/TestDataFactory.ts"],"sourcesContent":["import pino from 'pino';\r\nimport { ILogger } from './ILogger';\r\n\r\nconst pinoLogger = pino({ level: process.env.ESI_LOG_LEVEL || 'warn' });\r\n\r\nconst logger: ILogger = {\r\n info: (msg: string) => {\r\n pinoLogger.info(msg);\r\n },\r\n warn: (msg: string) => {\r\n pinoLogger.warn(msg);\r\n },\r\n error: (msg: string) => {\r\n pinoLogger.error(msg);\r\n },\r\n debug: (msg: string) => {\r\n pinoLogger.debug(msg);\r\n },\r\n};\r\n\r\nexport default logger;\r\n","const SENSITIVE_PARAMS = [\r\n 'token',\r\n 'access_token',\r\n 'api_key',\r\n 'refresh_token',\r\n 'client_secret',\r\n 'code',\r\n 'key',\r\n 'secret',\r\n 'auth',\r\n 'password',\r\n 'bearer',\r\n];\r\n\r\nexport function sanitizeUrl(url?: string): string | undefined {\r\n if (!url) return url;\r\n try {\r\n const parsed = new URL(url);\r\n for (const param of SENSITIVE_PARAMS) {\r\n if (parsed.searchParams.has(param)) {\r\n parsed.searchParams.set(param, '[REDACTED]');\r\n }\r\n }\r\n return parsed.toString();\r\n } catch {\r\n const qIndex = url.indexOf('?');\r\n return qIndex >= 0 ? url.substring(0, qIndex) + '?[params-redacted]' : url;\r\n }\r\n}\r\n\r\nexport class EsiError extends Error {\r\n public readonly url?: string;\r\n\r\n constructor(\r\n public readonly statusCode: number,\r\n message: string,\r\n url?: string,\r\n public readonly requestId?: string,\r\n ) {\r\n super(message);\r\n this.name = 'EsiError';\r\n this.url = sanitizeUrl(url);\r\n }\r\n\r\n isRateLimited(): boolean {\r\n return this.statusCode === 420 || this.statusCode === 429;\r\n }\r\n\r\n isNotFound(): boolean {\r\n return this.statusCode === 404;\r\n }\r\n\r\n isUnauthorized(): boolean {\r\n return this.statusCode === 401;\r\n }\r\n\r\n isForbidden(): boolean {\r\n return this.statusCode === 403;\r\n }\r\n\r\n isServerError(): boolean {\r\n return this.statusCode >= 500;\r\n }\r\n\r\n isTimeout(): boolean {\r\n return this.statusCode === 0;\r\n }\r\n\r\n get retryable(): boolean {\r\n return (\r\n this.statusCode === 0 ||\r\n this.statusCode === 420 ||\r\n this.statusCode === 429 ||\r\n this.statusCode === 502 ||\r\n this.statusCode === 503 ||\r\n this.statusCode === 504\r\n );\r\n }\r\n}\r\n\r\nexport function isEsiError(error: unknown): error is EsiError {\r\n return error instanceof EsiError;\r\n}\r\n\r\nexport function isRateLimited(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isRateLimited();\r\n}\r\n\r\nexport function isNotFound(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isNotFound();\r\n}\r\n\r\nexport function isUnauthorized(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isUnauthorized();\r\n}\r\n\r\nexport function isForbidden(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isForbidden();\r\n}\r\n\r\nexport function isServerError(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.isServerError();\r\n}\r\n\r\nexport class TimeoutError extends EsiError {\r\n constructor(\r\n public readonly timeoutMs: number,\r\n url?: string,\r\n requestId?: string,\r\n ) {\r\n super(0, `Request timed out after ${timeoutMs}ms`, url, requestId);\r\n this.name = 'TimeoutError';\r\n }\r\n}\r\n\r\nexport function isTimeout(error: unknown): error is TimeoutError {\r\n return error instanceof TimeoutError;\r\n}\r\n\r\nexport function isRetryable(error: unknown): error is EsiError {\r\n return error instanceof EsiError && error.retryable;\r\n}\r\n\r\n// Re-export CircuitOpenError for the type guard — avoid forcing consumers\r\n// to import from the circuitBreaker subpath just for error checking.\r\nimport { CircuitOpenError } from '../circuitBreaker/CircuitBreaker';\r\n\r\nexport function isCircuitOpen(error: unknown): error is CircuitOpenError {\r\n return error instanceof CircuitOpenError;\r\n}\r\n\r\nexport const buildError = (\r\n message: string,\r\n type: string = 'ERROR',\r\n url?: string,\r\n): Error => {\r\n const error = new Error(`[${type}] ${message}`);\r\n if (url) {\r\n (error as Error & { url: string }).url = url;\r\n }\r\n return error;\r\n};\r\n\r\nexport type ValidationDirection = 'request' | 'response';\r\n\r\nexport class EsiValidationError extends EsiError {\r\n public readonly validationError: unknown;\r\n public readonly direction: ValidationDirection;\r\n\r\n constructor(\r\n url: string,\r\n zodError: unknown,\r\n requestId?: string,\r\n direction: ValidationDirection = 'response',\r\n ) {\r\n const safeUrl = sanitizeUrl(url) ?? url;\r\n const label = direction === 'request' ? 'Request body' : 'Response';\r\n super(0, `${label} validation failed for ${safeUrl}`, url, requestId);\r\n this.name = 'EsiValidationError';\r\n this.validationError = zodError;\r\n this.direction = direction;\r\n }\r\n}\r\n\r\nexport function isValidationError(error: unknown): error is EsiValidationError {\r\n return error instanceof EsiValidationError;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n AllianceInfo,\r\n CharacterInfo,\r\n CorporationInfo,\r\n AllianceContact,\r\n AllianceContactLabel,\r\n CharacterPortrait,\r\n CharacterAttributes,\r\n CharacterSkill,\r\n MarketOrder,\r\n WalletTransaction,\r\n Contract,\r\n SovereigntySystem,\r\n SovereigntyHub,\r\n OrbitalSkyhook,\r\n RaidableSkyhook,\r\n MercenaryDen,\r\n MercenaryTacticalOperation,\r\n AccessListEntry,\r\n} from '../types/api-responses';\r\nimport { EsiError } from '../core/util/error';\r\n\r\nexport class TestDataFactory {\r\n // Alliance test data\r\n static createAllianceInfo(\r\n overrides: Partial<AllianceInfo> = {},\r\n ): AllianceInfo {\r\n return {\r\n alliance_id: 99005338,\r\n name: 'Goonswarm Federation',\r\n ticker: 'CONDI',\r\n creator_id: 1689391488,\r\n creator_corporation_id: 1344654522,\r\n executor_corporation_id: 1344654522,\r\n date_founded: '2010-06-01T00:00:00Z',\r\n faction_id: 500001,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAllianceContact(\r\n overrides: Partial<AllianceContact> = {},\r\n ): AllianceContact {\r\n return {\r\n contact_id: 1689391488,\r\n contact_type: 'character',\r\n standing: 10.0,\r\n label_ids: [1, 2],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAllianceContactLabel(\r\n overrides: Partial<AllianceContactLabel> = {},\r\n ): AllianceContactLabel {\r\n return {\r\n label_id: 1,\r\n label_name: 'Friendly',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Character test data\r\n static createCharacterInfo(\r\n overrides: Partial<CharacterInfo> = {},\r\n ): CharacterInfo {\r\n return {\r\n character_id: 1689391488,\r\n name: 'Test Character',\r\n corporation_id: 1344654522,\r\n alliance_id: 99005338,\r\n bloodline_id: 4,\r\n race_id: 1,\r\n gender: 'male',\r\n birthday: '2003-05-06T00:00:00Z',\r\n description: 'A test character for BDD scenarios',\r\n security_status: 5.0,\r\n title: 'Test Pilot',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterPortrait(\r\n characterId: number = 1689391488,\r\n ): CharacterPortrait {\r\n return {\r\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\r\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\r\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\r\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\r\n };\r\n }\r\n\r\n static createCharacterAttributes(\r\n overrides: Partial<CharacterAttributes> = {},\r\n ): CharacterAttributes {\r\n return {\r\n charisma: 20,\r\n intelligence: 24,\r\n memory: 21,\r\n perception: 23,\r\n willpower: 22,\r\n bonus_remaps: 2,\r\n last_remap_date: '2023-01-01T00:00:00Z',\r\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterSkill(\r\n overrides: Partial<CharacterSkill> = {},\r\n ): CharacterSkill {\r\n return {\r\n skill_id: 3300,\r\n skillpoints_in_skill: 256000,\r\n trained_skill_level: 5,\r\n active_skill_level: 5,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\r\n return {\r\n roles: ['Director'],\r\n roles_at_base: [],\r\n roles_at_hq: ['Director'],\r\n roles_at_other: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationHistoryEntry(\r\n overrides: Record<string, any> = {},\r\n ): any {\r\n return {\r\n corporation_id: 1344654522,\r\n is_deleted: false,\r\n record_id: 1,\r\n start_date: '2020-01-01T00:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\r\n return {\r\n medal_id: 1,\r\n title: 'Test Medal',\r\n description: 'A test medal for demonstration',\r\n corporation_id: 1344654522,\r\n date: '2023-01-01T00:00:00Z',\r\n issuer_id: 1689391489,\r\n reason: 'Outstanding service',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\r\n return {\r\n notification_id: 1000001,\r\n sender_id: 1689391489,\r\n sender_type: 'character',\r\n text: 'Test notification',\r\n timestamp: '2024-01-15T12:00:00Z',\r\n type: 'AllWarDeclaredMsg',\r\n is_read: false,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Market test data\r\n static createMarketPrice(overrides: Record<string, any> = {}): any {\r\n return {\r\n type_id: 34,\r\n average_price: 4.5,\r\n adjusted_price: 4.55,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMarketHistory(overrides: Record<string, any> = {}): any {\r\n return {\r\n date: '2024-01-15',\r\n volume: 1000000000,\r\n order_count: 2500,\r\n lowest: 4.2,\r\n highest: 4.8,\r\n average: 4.5,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\r\n return {\r\n order_id: 5000000001,\r\n type_id: 34,\r\n region_id: 10000002,\r\n location_id: 60003760,\r\n range: 'region',\r\n volume_total: 1000000,\r\n volume_remain: 750000,\r\n min_volume: 1,\r\n price: 4.5,\r\n is_buy_order: true,\r\n is_corporation: false,\r\n duration: 90,\r\n issued: '2024-01-15T12:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\r\n return {\r\n order_id: 5000000001,\r\n type_id: 34,\r\n region_id: 10000002,\r\n location_id: 60003760,\r\n range: 'region',\r\n volume_total: 1000000,\r\n volume_remain: 0,\r\n min_volume: 1,\r\n price: 4.5,\r\n is_buy_order: true,\r\n is_corporation: false,\r\n duration: 90,\r\n issued: '2024-01-10T12:00:00Z',\r\n state: 'expired',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Universe test data\r\n static createSolarSystem(overrides: Record<string, any> = {}): any {\r\n return {\r\n system_id: 30000142,\r\n name: 'Jita',\r\n constellation_id: 20000020,\r\n security_status: 0.9459991455078125,\r\n star_id: 40000001,\r\n stargates: [50000001, 50000002],\r\n stations: [60003760, 60003761],\r\n planets: [\r\n { planet_id: 40000001, moons: [40000002, 40000003] },\r\n { planet_id: 40000004, moons: [40000005] },\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStation(overrides: Record<string, any> = {}): any {\r\n return {\r\n station_id: 60003760,\r\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\r\n owner: 1000035,\r\n type_id: 52678,\r\n race_id: 1,\r\n system_id: 30000142,\r\n reprocessing_efficiency: 0.5,\r\n reprocessing_stations_take: 0.05,\r\n max_dockable_ship_volume: 50000000,\r\n office_rental_cost: 10000000,\r\n services: [\r\n 'bounty-missions',\r\n 'courier-missions',\r\n 'interbus',\r\n 'reprocessing-plant',\r\n 'market',\r\n 'stock-exchange',\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStructure(overrides: Record<string, any> = {}): any {\r\n return {\r\n structure_id: 1021975535893,\r\n name: 'Test Citadel',\r\n owner_id: 1689391488,\r\n solar_system_id: 30000142,\r\n type_id: 35832,\r\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createItemType(overrides: Record<string, any> = {}): any {\r\n return {\r\n type_id: 34,\r\n name: 'Tritanium',\r\n description: 'The most common ore type in the known universe.',\r\n group_id: 18,\r\n category_id: 4,\r\n market_group_id: 1857,\r\n mass: 1.0,\r\n volume: 0.01,\r\n capacity: 0.0,\r\n portion_size: 1,\r\n radius: 1.0,\r\n published: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createItemGroup(overrides: Record<string, any> = {}): any {\r\n return {\r\n group_id: 18,\r\n name: 'Mineral',\r\n category_id: 4,\r\n published: true,\r\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createStar(overrides: Record<string, any> = {}): any {\r\n return {\r\n star_id: 40000001,\r\n name: 'Jita - Star',\r\n type_id: 3802,\r\n solar_system_id: 30000142,\r\n age: 4600000000,\r\n luminosity: 0.06575,\r\n radius: 62140000,\r\n spectral_class: 'K2 V',\r\n temperature: 4567,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createPlanet(overrides: Record<string, any> = {}): any {\r\n return {\r\n planet_id: 40000004,\r\n name: 'Jita IV',\r\n type_id: 11,\r\n system_id: 30000142,\r\n position: { x: 150000000000, y: 0, z: 0 },\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createSearchResults(overrides: Record<string, any> = {}): any {\r\n return {\r\n systems: [],\r\n stations: [],\r\n structures: [],\r\n characters: [],\r\n corporations: [],\r\n alliances: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createEntityName(overrides: Record<string, any> = {}): any {\r\n return {\r\n id: 30000142,\r\n name: 'Jita',\r\n category: 'solar_system',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Corporation test data\r\n static createCorporationMemberRoles(\r\n overrides: Record<string, any> = {},\r\n ): any {\r\n return {\r\n character_id: 1689391488,\r\n roles: ['Director', 'Personnel_Manager'],\r\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\r\n roles_at_hq: ['Director'],\r\n roles_at_base: [],\r\n roles_at_other: [],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000000001,\r\n type_id: 587,\r\n quantity: 100,\r\n location_id: 60003760,\r\n location_flag: 'CorpSAG1',\r\n location_type: 'station',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\r\n return {\r\n structure_id: 1021975535893,\r\n type_id: 35832,\r\n system_id: 30000142,\r\n profile_id: 101853,\r\n fuel_expires: '2024-02-01T12:00:00Z',\r\n state_timer_start: '2024-01-15T12:00:00Z',\r\n state_timer_end: '2024-01-22T12:00:00Z',\r\n state: 'shield_vulnerable',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\r\n return {\r\n division: 1,\r\n balance: 1000000000.0,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\r\n return {\r\n id: 1000000001,\r\n date: '2024-01-15T12:00:00Z',\r\n ref_type: 'market_transaction',\r\n first_party_id: 1344654522,\r\n amount: 1000000.0,\r\n balance: 1000000000.0,\r\n reason: 'Market transaction',\r\n description: 'Sold items on market',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Fleet test data\r\n static createFleetInfo(overrides: Record<string, any> = {}): any {\r\n return {\r\n fleet_id: 1234567890,\r\n fleet_boss_id: 1689391488,\r\n is_free_move: false,\r\n is_registered: true,\r\n is_voice_enabled: true,\r\n motd: 'Fleet operations in progress',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createFleetMember(overrides: Record<string, any> = {}): any {\r\n return {\r\n character_id: 1689391488,\r\n role: 'fleet_commander',\r\n ship_type_id: 17918,\r\n solar_system_id: 30000142,\r\n station_id: 60003760,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createFleetWing(overrides: Record<string, any> = {}): any {\r\n return {\r\n wing_id: 987654321,\r\n name: 'Wing 1',\r\n squads: [{ squad_id: 123456789, name: 'Squad 1' }],\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Industry test data\r\n static createIndustryJob(overrides: Record<string, any> = {}): any {\r\n return {\r\n job_id: 1000001,\r\n installer_id: 1689391488,\r\n facility_id: 60003760,\r\n activity_id: 1,\r\n blueprint_id: 1000000001,\r\n blueprint_type_id: 17918,\r\n product_type_id: 17918,\r\n runs: 1,\r\n status: 'active',\r\n start_date: '2024-01-15T12:00:00Z',\r\n end_date: '2024-01-16T12:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createBlueprint(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000001,\r\n type_id: 17918,\r\n location_id: 60003760,\r\n location_flag: 'Hangar',\r\n quantity: -2,\r\n time_efficiency: 10,\r\n material_efficiency: 10,\r\n runs: 100,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\r\n return {\r\n item_id: 1000000002,\r\n type_id: 34,\r\n quantity: 1000000,\r\n location_id: 60003760,\r\n location_flag: 'Hangar',\r\n location_type: 'station',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\r\n return {\r\n solar_system_id: 30000142,\r\n station_id: 60003760,\r\n structure_id: undefined,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\r\n return {\r\n skills: [\r\n {\r\n skill_id: 3300,\r\n skillpoints_in_skill: 256000,\r\n trained_skill_level: 5,\r\n active_skill_level: 5,\r\n },\r\n {\r\n skill_id: 3301,\r\n skillpoints_in_skill: 128000,\r\n trained_skill_level: 4,\r\n active_skill_level: 4,\r\n },\r\n ],\r\n total_sp: 384000,\r\n unallocated_sp: 0,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Corporation test data\r\n static createCorporationInfo(\r\n overrides: Partial<CorporationInfo> = {},\r\n ): CorporationInfo {\r\n return {\r\n corporation_id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n ceo_id: 1689391488,\r\n creator_id: 1689391488,\r\n member_count: 15000,\r\n tax_rate: 0.1,\r\n alliance_id: 99005338,\r\n date_founded: '2003-05-06T00:00:00Z',\r\n description: 'The founding corporation of Goonswarm Federation',\r\n home_station_id: 60003760,\r\n shares: 1000,\r\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\r\n url: 'http://www.goonfleet.com/',\r\n faction_id: 500001,\r\n war_eligible: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Market test data\r\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\r\n return {\r\n order_id: 123456789,\r\n type_id: 34, // Tritanium\r\n location_id: 60003760, // Jita 4-4\r\n volume_total: 1000000,\r\n volume_remain: 500000,\r\n min_volume: 1,\r\n price: 5.5,\r\n is_buy_order: false,\r\n system_id: 30000142,\r\n duration: 90,\r\n issued: '2023-12-01T12:00:00Z',\r\n range: 'region',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Wallet test data\r\n static createWalletTransaction(\r\n overrides: Partial<WalletTransaction> = {},\r\n ): WalletTransaction {\r\n return {\r\n transaction_id: 123456789,\r\n date: '2023-12-01T12:00:00Z',\r\n type_id: 34,\r\n location_id: 60003760,\r\n unit_price: 5.5,\r\n quantity: 1000,\r\n client_id: 1689391488,\r\n is_buy: false,\r\n is_personal: true,\r\n journal_ref_id: 987654321,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Contract test data\r\n static createContract(overrides: Partial<Contract> = {}): Contract {\r\n return {\r\n contract_id: 123456789,\r\n issuer_id: 1689391488,\r\n issuer_corporation_id: 1344654522,\r\n assignee_id: 987654321,\r\n start_location_id: 60003760,\r\n end_location_id: 60008494,\r\n type: 'courier',\r\n status: 'outstanding',\r\n title: 'Test Courier Contract',\r\n for_corporation: false,\r\n availability: 'public',\r\n date_issued: '2023-12-01T12:00:00Z',\r\n date_expired: '2023-12-08T12:00:00Z',\r\n days_to_complete: 3,\r\n price: 1000000,\r\n reward: 500000,\r\n collateral: 10000000,\r\n volume: 1000,\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Sovereignty test data (Equinox)\r\n static createSovereigntySystem(\r\n overrides: Partial<SovereigntySystem> = {},\r\n ): SovereigntySystem {\r\n return {\r\n solar_systems: [\r\n {\r\n solar_system_id: 30000142,\r\n claim: {\r\n alliance: {\r\n alliance_id: 99005338,\r\n corporation_id: 1344654522,\r\n claimed_since: '2020-10-08T00:38:16Z',\r\n is_capital_system: false,\r\n development: {\r\n activity_defense_multiplier: 4.5,\r\n military_level: 5,\r\n industrial_level: 3,\r\n strategic_level: 1,\r\n },\r\n },\r\n },\r\n },\r\n ],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createSovereigntyHub(\r\n overrides: Partial<SovereigntyHub> = {},\r\n ): SovereigntyHub {\r\n return {\r\n structure_id: 100000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n online: true,\r\n remaining_reagents: 500,\r\n installed_upgrades: [1, 2, 3],\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createOrbitalSkyhook(\r\n overrides: Partial<OrbitalSkyhook> = {},\r\n ): OrbitalSkyhook {\r\n return {\r\n structure_id: 200000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n online: true,\r\n reagent_silo_capacity: 1000,\r\n reagent_silo_level: 750,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createRaidableSkyhook(\r\n overrides: Partial<RaidableSkyhook> = {},\r\n ): RaidableSkyhook {\r\n return {\r\n structure_id: 200000001,\r\n system_id: 30000142,\r\n corporation_id: 98000002,\r\n alliance_id: 99000006,\r\n raidable_at: '2026-05-20T12:00:00Z',\r\n is_raidable: true,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMercenaryDen(\r\n overrides: Partial<MercenaryDen> = {},\r\n ): MercenaryDen {\r\n return {\r\n den_id: 5001,\r\n system_id: 30000142,\r\n constellation_id: 20000125,\r\n region_id: 10000002,\r\n development_level: 3,\r\n anarchy_level: 2,\r\n active_operations: 1,\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createMercenaryTacticalOperation(\r\n overrides: Partial<MercenaryTacticalOperation> = {},\r\n ): MercenaryTacticalOperation {\r\n return {\r\n operation_id: 7001,\r\n den_id: 5001,\r\n system_id: 30000142,\r\n site_type: 'assault',\r\n status: 'active',\r\n started_at: '2026-05-20T10:00:00Z',\r\n expires_at: '2026-05-20T22:00:00Z',\r\n ...overrides,\r\n };\r\n }\r\n\r\n static createAccessListEntry(\r\n overrides: Partial<AccessListEntry> = {},\r\n ): AccessListEntry {\r\n return {\r\n entity_id: 1689391488,\r\n entity_type: 'character',\r\n access_type: 'allowed',\r\n ...overrides,\r\n };\r\n }\r\n\r\n // Error test data\r\n static createError(statusCode: number, message?: string): EsiError {\r\n const defaultMessages: Record<number, string> = {\r\n 400: 'Bad request',\r\n 401: 'Unauthorized',\r\n 403: 'Forbidden',\r\n 404: 'Resource not found',\r\n 429: 'Rate limit exceeded',\r\n 500: 'Internal server error',\r\n 503: 'Service unavailable',\r\n };\r\n return new EsiError(\r\n statusCode,\r\n // eslint-disable-next-line security/detect-object-injection\r\n message || defaultMessages[statusCode] || 'Unknown error',\r\n );\r\n }\r\n\r\n // Test scenarios\r\n static createTestScenarios() {\r\n return {\r\n alliances: [\r\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\r\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\r\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\r\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\r\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\r\n ],\r\n characters: [\r\n {\r\n id: 1689391488,\r\n name: 'Test Character',\r\n corp: 1344654522,\r\n alliance: 99005338,\r\n },\r\n {\r\n id: 123456789,\r\n name: 'Demo Pilot',\r\n corp: 987654321,\r\n alliance: 99000001,\r\n },\r\n {\r\n id: 111111111,\r\n name: 'Alpha Tester',\r\n corp: 222222222,\r\n alliance: 99000002,\r\n },\r\n {\r\n id: 333333333,\r\n name: 'Beta User',\r\n corp: 444444444,\r\n alliance: 99000003,\r\n },\r\n {\r\n id: 555555555,\r\n name: 'Gamma Pilot',\r\n corp: 666666666,\r\n alliance: 99000004,\r\n },\r\n ],\r\n corporations: [\r\n {\r\n id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n alliance: 99005338,\r\n },\r\n {\r\n id: 987654321,\r\n name: 'Test Corp Please Ignore',\r\n ticker: 'TCPI',\r\n alliance: 99000001,\r\n },\r\n {\r\n id: 222222222,\r\n name: 'Brave Newbies Inc.',\r\n ticker: 'BNI',\r\n alliance: 99000002,\r\n },\r\n {\r\n id: 444444444,\r\n name: 'Sniggerdly',\r\n ticker: 'SNIGG',\r\n alliance: 99000003,\r\n },\r\n {\r\n id: 666666666,\r\n name: 'Tactical Narcotics Team',\r\n ticker: 'TNT',\r\n alliance: 99000004,\r\n },\r\n ],\r\n errorScenarios: [\r\n { statusCode: 0, label: 'network_error', probability: 0.1 },\r\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\r\n { statusCode: 500, label: 'server_error', probability: 0.02 },\r\n { statusCode: 504, label: 'timeout', probability: 0.03 },\r\n { statusCode: 404, label: 'not_found', probability: 0.01 },\r\n ],\r\n };\r\n }\r\n\r\n // Performance test data\r\n static createPerformanceTestData(\r\n size: 'small' | 'medium' | 'large' = 'medium',\r\n ) {\r\n const sizes = {\r\n small: { alliances: 5, characters: 20, corporations: 10 },\r\n medium: { alliances: 20, characters: 100, corporations: 50 },\r\n large: { alliances: 100, characters: 1000, corporations: 500 },\r\n };\r\n\r\n // eslint-disable-next-line security/detect-object-injection\r\n const config = sizes[size];\r\n const data = {\r\n alliances: [] as AllianceInfo[],\r\n characters: [] as CharacterInfo[],\r\n corporations: [] as CorporationInfo[],\r\n };\r\n\r\n // Generate alliances\r\n for (let i = 1; i <= config.alliances; i++) {\r\n data.alliances.push(\r\n this.createAllianceInfo({\r\n alliance_id: 99000000 + i,\r\n name: `Test Alliance ${i}`,\r\n ticker: `TST${i.toString().padStart(2, '0')}`,\r\n creator_id: 1000000 + i,\r\n }),\r\n );\r\n }\r\n\r\n // Generate corporations\r\n for (let i = 1; i <= config.corporations; i++) {\r\n const allianceIndex = Math.floor(\r\n (i - 1) / (config.corporations / config.alliances),\r\n );\r\n data.corporations.push(\r\n this.createCorporationInfo({\r\n corporation_id: 2000000 + i,\r\n name: `Test Corporation ${i}`,\r\n ticker: `TC${i.toString().padStart(3, '0')}`,\r\n // eslint-disable-next-line security/detect-object-injection\r\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\r\n ceo_id: 3000000 + i,\r\n }),\r\n );\r\n }\r\n\r\n // Generate characters\r\n for (let i = 1; i <= config.characters; i++) {\r\n const corpIndex = Math.floor(\r\n (i - 1) / (config.characters / config.corporations),\r\n );\r\n // eslint-disable-next-line security/detect-object-injection\r\n const corp = data.corporations[corpIndex];\r\n data.characters.push(\r\n this.createCharacterInfo({\r\n character_id: 3000000 + i,\r\n name: `Test Character ${i}`,\r\n corporation_id: corp?.corporation_id || 2000001,\r\n alliance_id: corp?.alliance_id,\r\n }),\r\n );\r\n }\r\n\r\n return data;\r\n }\r\n\r\n // Realistic test data with relationships\r\n static createRealisticTestData() {\r\n const goonswarm = this.createAllianceInfo({\r\n alliance_id: 99005338,\r\n name: 'Goonswarm Federation',\r\n ticker: 'CONDI',\r\n creator_id: 1689391488,\r\n creator_corporation_id: 1344654522,\r\n executor_corporation_id: 1344654522,\r\n date_founded: '2010-06-01T00:00:00Z',\r\n });\r\n\r\n const goonwaffe = this.createCorporationInfo({\r\n corporation_id: 1344654522,\r\n name: 'GoonWaffe',\r\n ticker: 'GEWNS',\r\n alliance_id: 99005338,\r\n ceo_id: 1689391488,\r\n creator_id: 1689391488,\r\n member_count: 15000,\r\n date_founded: '2003-05-06T00:00:00Z',\r\n });\r\n\r\n const testCharacter = this.createCharacterInfo({\r\n character_id: 1689391488,\r\n name: 'The Mittani',\r\n corporation_id: 1344654522,\r\n alliance_id: 99005338,\r\n birthday: '2003-05-06T00:00:00Z',\r\n });\r\n\r\n return {\r\n alliances: [goonswarm],\r\n corporations: [goonwaffe],\r\n characters: [testCharacter],\r\n relationships: {\r\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\r\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\r\n characterMembership: {\r\n character: 1689391488,\r\n corporation: 1344654522,\r\n alliance: 99005338,\r\n },\r\n },\r\n };\r\n }\r\n}\r\n"],"mappings":";AAAA,OAAO,UAAU;AAGjB,IAAM,aAAa,KAAK,EAAE,OAAO,QAAQ,IAAI,iBAAiB,OAAO,CAAC;;;ACHtE,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,YAAY,KAAkC;AAC5D,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI;AACF,UAAM,SAAS,IAAI,IAAI,GAAG;AAC1B,eAAW,SAAS,kBAAkB;AACpC,UAAI,OAAO,aAAa,IAAI,KAAK,GAAG;AAClC,eAAO,aAAa,IAAI,OAAO,YAAY;AAAA,MAC7C;AAAA,IACF;AACA,WAAO,OAAO,SAAS;AAAA,EACzB,QAAQ;AACN,UAAM,SAAS,IAAI,QAAQ,GAAG;AAC9B,WAAO,UAAU,IAAI,IAAI,UAAU,GAAG,MAAM,IAAI,uBAAuB;AAAA,EACzE;AACF;AAEO,IAAM,WAAN,cAAuB,MAAM;AAAA,EAGlC,YACkB,YAChB,SACA,KACgB,WAChB;AACA,UAAM,OAAO;AALG;AAGA;AAGhB,SAAK,OAAO;AACZ,SAAK,MAAM,YAAY,GAAG;AAAA,EAC5B;AAAA,EARkB;AAAA,EAGA;AAAA,EANF;AAAA,EAahB,gBAAyB;AACvB,WAAO,KAAK,eAAe,OAAO,KAAK,eAAe;AAAA,EACxD;AAAA,EAEA,aAAsB;AACpB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAEA,iBAA0B;AACxB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAEA,cAAuB;AACrB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAEA,gBAAyB;AACvB,WAAO,KAAK,cAAc;AAAA,EAC5B;AAAA,EAEA,YAAqB;AACnB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAEA,IAAI,YAAqB;AACvB,WACE,KAAK,eAAe,KACpB,KAAK,eAAe,OACpB,KAAK,eAAe,OACpB,KAAK,eAAe,OACpB,KAAK,eAAe,OACpB,KAAK,eAAe;AAAA,EAExB;AACF;;;ACvDO,IAAM,kBAAN,MAAsB;AAAA;AAAA,EAE3B,OAAO,mBACL,YAAmC,CAAC,GACtB;AACd,WAAO;AAAA,MACL,aAAa;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,MACzB,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,sBACL,YAAsC,CAAC,GACtB;AACjB,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,MACV,WAAW,CAAC,GAAG,CAAC;AAAA,MAChB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,2BACL,YAA2C,CAAC,GACtB;AACtB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,oBACL,YAAoC,CAAC,GACtB;AACf,WAAO;AAAA,MACL,cAAc;AAAA,MACd,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,wBACL,cAAsB,YACH;AACnB,WAAO;AAAA,MACL,SAAS,yCAAyC,WAAW;AAAA,MAC7D,WAAW,yCAAyC,WAAW;AAAA,MAC/D,WAAW,yCAAyC,WAAW;AAAA,MAC/D,WAAW,yCAAyC,WAAW;AAAA,IACjE;AAAA,EACF;AAAA,EAEA,OAAO,0BACL,YAA0C,CAAC,GACtB;AACrB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBACL,YAAqC,CAAC,GACtB;AAChB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,sBAAsB;AAAA,MACtB,qBAAqB;AAAA,MACrB,oBAAoB;AAAA,MACpB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBAAqB,YAAiC,CAAC,GAAQ;AACpE,WAAO;AAAA,MACL,OAAO,CAAC,UAAU;AAAA,MAClB,eAAe,CAAC;AAAA,MAChB,aAAa,CAAC,UAAU;AAAA,MACxB,gBAAgB,CAAC;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,8BACL,YAAiC,CAAC,GAC7B;AACL,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBAAqB,YAAiC,CAAC,GAAQ;AACpE,WAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,4BAA4B,YAAiC,CAAC,GAAQ;AAC3E,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,kBAAkB,YAAiC,CAAC,GAAQ;AACjE,WAAO;AAAA,MACL,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,oBAAoB,YAAiC,CAAC,GAAQ;AACnE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,2BAA2B,YAAiC,CAAC,GAAQ;AAC1E,WAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,OAAO;AAAA,MACP,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,4BAA4B,YAAiC,CAAC,GAAQ;AAC3E,WAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,OAAO;AAAA,MACP,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,kBAAkB,YAAiC,CAAC,GAAQ;AACjE,WAAO;AAAA,MACL,WAAW;AAAA,MACX,MAAM;AAAA,MACN,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,WAAW,CAAC,UAAU,QAAQ;AAAA,MAC9B,UAAU,CAAC,UAAU,QAAQ;AAAA,MAC7B,SAAS;AAAA,QACP,EAAE,WAAW,UAAU,OAAO,CAAC,UAAU,QAAQ,EAAE;AAAA,QACnD,EAAE,WAAW,UAAU,OAAO,CAAC,QAAQ,EAAE;AAAA,MAC3C;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,cAAc,YAAiC,CAAC,GAAQ;AAC7D,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,yBAAyB;AAAA,MACzB,4BAA4B;AAAA,MAC5B,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,gBAAgB,YAAiC,CAAC,GAAQ;AAC/D,WAAO;AAAA,MACL,cAAc;AAAA,MACd,MAAM;AAAA,MACN,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,UAAU,EAAE,GAAG,KAAY,GAAG,KAAY,GAAG,IAAW;AAAA,MACxD,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,eAAe,YAAiC,CAAC,GAAQ;AAC9D,WAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,gBAAgB,YAAiC,CAAC,GAAQ;AAC/D,WAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,MACb,WAAW;AAAA,MACX,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK;AAAA,MACzC,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,WAAW,YAAiC,CAAC,GAAQ;AAC1D,WAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,aAAa,YAAiC,CAAC,GAAQ;AAC5D,WAAO;AAAA,MACL,WAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU,EAAE,GAAG,OAAc,GAAG,GAAG,GAAG,EAAE;AAAA,MACxC,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,oBAAoB,YAAiC,CAAC,GAAQ;AACnE,WAAO;AAAA,MACL,SAAS,CAAC;AAAA,MACV,UAAU,CAAC;AAAA,MACX,YAAY,CAAC;AAAA,MACb,YAAY,CAAC;AAAA,MACb,cAAc,CAAC;AAAA,MACf,WAAW,CAAC;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,iBAAiB,YAAiC,CAAC,GAAQ;AAChE,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,6BACL,YAAiC,CAAC,GAC7B;AACL,WAAO;AAAA,MACL,cAAc;AAAA,MACd,OAAO,CAAC,YAAY,mBAAmB;AAAA,MACvC,iBAAiB,CAAC,iBAAiB,eAAe;AAAA,MAClD,aAAa,CAAC,UAAU;AAAA,MACxB,eAAe,CAAC;AAAA,MAChB,gBAAgB,CAAC;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,uBAAuB,YAAiC,CAAC,GAAQ;AACtE,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,2BAA2B,YAAiC,CAAC,GAAQ;AAC1E,WAAO;AAAA,MACL,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,wBAAwB,YAAiC,CAAC,GAAQ;AACvE,WAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,yBAAyB,YAAiC,CAAC,GAAQ;AACxE,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,gBAAgB,YAAiC,CAAC,GAAQ;AAC/D,WAAO;AAAA,MACL,UAAU;AAAA,MACV,eAAe;AAAA,MACf,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,MAAM;AAAA,MACN,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,kBAAkB,YAAiC,CAAC,GAAQ;AACjE,WAAO;AAAA,MACL,cAAc;AAAA,MACd,MAAM;AAAA,MACN,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,gBAAgB,YAAiC,CAAC,GAAQ;AAC/D,WAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ,CAAC,EAAE,UAAU,WAAW,MAAM,UAAU,CAAC;AAAA,MACjD,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,kBAAkB,YAAiC,CAAC,GAAQ;AACjE,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa;AAAA,MACb,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,gBAAgB,YAAiC,CAAC,GAAQ;AAC/D,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,eAAe;AAAA,MACf,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,qBAAqB;AAAA,MACrB,MAAM;AAAA,MACN,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBAAqB,YAAiC,CAAC,GAAQ;AACpE,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,wBAAwB,YAAiC,CAAC,GAAQ;AACvE,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,sBAAsB,YAAiC,CAAC,GAAQ;AACrE,WAAO;AAAA,MACL,QAAQ;AAAA,QACN;AAAA,UACE,UAAU;AAAA,UACV,sBAAsB;AAAA,UACtB,qBAAqB;AAAA,UACrB,oBAAoB;AAAA,QACtB;AAAA,QACA;AAAA,UACE,UAAU;AAAA,UACV,sBAAsB;AAAA,UACtB,qBAAqB;AAAA,UACrB,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,MACA,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,sBACL,YAAsC,CAAC,GACtB;AACjB,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,MACV,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,QAAQ;AAAA;AAAA,MAER,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,kBAAkB,YAAkC,CAAC,GAAgB;AAC1E,WAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA;AAAA,MACT,aAAa;AAAA;AAAA,MACb,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,wBACL,YAAwC,CAAC,GACtB;AACnB,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,eAAe,YAA+B,CAAC,GAAa;AACjE,WAAO;AAAA,MACL,aAAa;AAAA,MACb,WAAW;AAAA,MACX,uBAAuB;AAAA,MACvB,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,wBACL,YAAwC,CAAC,GACtB;AACnB,WAAO;AAAA,MACL,eAAe;AAAA,QACb;AAAA,UACE,iBAAiB;AAAA,UACjB,OAAO;AAAA,YACL,UAAU;AAAA,cACR,aAAa;AAAA,cACb,gBAAgB;AAAA,cAChB,eAAe;AAAA,cACf,mBAAmB;AAAA,cACnB,aAAa;AAAA,gBACX,6BAA6B;AAAA,gBAC7B,gBAAgB;AAAA,gBAChB,kBAAkB;AAAA,gBAClB,iBAAiB;AAAA,cACnB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBACL,YAAqC,CAAC,GACtB;AAChB,WAAO;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,oBAAoB,CAAC,GAAG,GAAG,CAAC;AAAA,MAC5B,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,qBACL,YAAqC,CAAC,GACtB;AAChB,WAAO;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,MACpB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,sBACL,YAAsC,CAAC,GACtB;AACjB,WAAO;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,mBACL,YAAmC,CAAC,GACtB;AACd,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,mBAAmB;AAAA,MACnB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,iCACL,YAAiD,CAAC,GACtB;AAC5B,WAAO;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,OAAO,sBACL,YAAsC,CAAC,GACtB;AACjB,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aAAa;AAAA,MACb,aAAa;AAAA,MACb,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,YAAY,YAAoB,SAA4B;AACjE,UAAM,kBAA0C;AAAA,MAC9C,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AACA,WAAO,IAAI;AAAA,MACT;AAAA;AAAA,MAEA,WAAW,gBAAgB,UAAU,KAAK;AAAA,IAC5C;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,sBAAsB;AAC3B,WAAO;AAAA,MACL,WAAW;AAAA,QACT,EAAE,IAAI,UAAU,MAAM,wBAAwB,QAAQ,QAAQ;AAAA,QAC9D,EAAE,IAAI,UAAU,MAAM,+BAA+B,QAAQ,OAAO;AAAA,QACpE,EAAE,IAAI,UAAU,MAAM,oBAAoB,QAAQ,QAAQ;AAAA,QAC1D,EAAE,IAAI,UAAU,MAAM,mBAAmB,QAAQ,KAAK;AAAA,QACtD,EAAE,IAAI,UAAU,MAAM,uBAAuB,QAAQ,MAAM;AAAA,MAC7D;AAAA,MACA,YAAY;AAAA,QACV;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,EAAE,YAAY,GAAG,OAAO,iBAAiB,aAAa,IAAI;AAAA,QAC1D,EAAE,YAAY,KAAK,OAAO,gBAAgB,aAAa,KAAK;AAAA,QAC5D,EAAE,YAAY,KAAK,OAAO,gBAAgB,aAAa,KAAK;AAAA,QAC5D,EAAE,YAAY,KAAK,OAAO,WAAW,aAAa,KAAK;AAAA,QACvD,EAAE,YAAY,KAAK,OAAO,aAAa,aAAa,KAAK;AAAA,MAC3D;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,0BACL,OAAqC,UACrC;AACA,UAAM,QAAQ;AAAA,MACZ,OAAO,EAAE,WAAW,GAAG,YAAY,IAAI,cAAc,GAAG;AAAA,MACxD,QAAQ,EAAE,WAAW,IAAI,YAAY,KAAK,cAAc,GAAG;AAAA,MAC3D,OAAO,EAAE,WAAW,KAAK,YAAY,KAAM,cAAc,IAAI;AAAA,IAC/D;AAGA,UAAM,SAAS,MAAM,IAAI;AACzB,UAAM,OAAO;AAAA,MACX,WAAW,CAAC;AAAA,MACZ,YAAY,CAAC;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAGA,aAAS,IAAI,GAAG,KAAK,OAAO,WAAW,KAAK;AAC1C,WAAK,UAAU;AAAA,QACb,KAAK,mBAAmB;AAAA,UACtB,aAAa,OAAW;AAAA,UACxB,MAAM,iBAAiB,CAAC;AAAA,UACxB,QAAQ,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,UAC3C,YAAY,MAAU;AAAA,QACxB,CAAC;AAAA,MACH;AAAA,IACF;AAGA,aAAS,IAAI,GAAG,KAAK,OAAO,cAAc,KAAK;AAC7C,YAAM,gBAAgB,KAAK;AAAA,SACxB,IAAI,MAAM,OAAO,eAAe,OAAO;AAAA,MAC1C;AACA,WAAK,aAAa;AAAA,QAChB,KAAK,sBAAsB;AAAA,UACzB,gBAAgB,MAAU;AAAA,UAC1B,MAAM,oBAAoB,CAAC;AAAA,UAC3B,QAAQ,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA;AAAA,UAE1C,aAAa,KAAK,UAAU,aAAa,GAAG;AAAA,UAC5C,QAAQ,MAAU;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAGA,aAAS,IAAI,GAAG,KAAK,OAAO,YAAY,KAAK;AAC3C,YAAM,YAAY,KAAK;AAAA,SACpB,IAAI,MAAM,OAAO,aAAa,OAAO;AAAA,MACxC;AAEA,YAAM,OAAO,KAAK,aAAa,SAAS;AACxC,WAAK,WAAW;AAAA,QACd,KAAK,oBAAoB;AAAA,UACvB,cAAc,MAAU;AAAA,UACxB,MAAM,kBAAkB,CAAC;AAAA,UACzB,gBAAgB,MAAM,kBAAkB;AAAA,UACxC,aAAa,MAAM;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,OAAO,0BAA0B;AAC/B,UAAM,YAAY,KAAK,mBAAmB;AAAA,MACxC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,MACzB,cAAc;AAAA,IAChB,CAAC;AAED,UAAM,YAAY,KAAK,sBAAsB;AAAA,MAC3C,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,cAAc;AAAA,IAChB,CAAC;AAED,UAAM,gBAAgB,KAAK,oBAAoB;AAAA,MAC7C,cAAc;AAAA,MACd,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,UAAU;AAAA,IACZ,CAAC;AAED,WAAO;AAAA,MACL,WAAW,CAAC,SAAS;AAAA,MACrB,cAAc,CAAC,SAAS;AAAA,MACxB,YAAY,CAAC,aAAa;AAAA,MAC1B,eAAe;AAAA,QACb,kBAAkB,EAAE,UAAU,UAAU,aAAa,WAAW;AAAA,QAChE,gBAAgB,EAAE,aAAa,YAAY,WAAW,WAAW;AAAA,QACjE,qBAAqB;AAAA,UACnB,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -28,6 +28,8 @@ export * from './sovereignty';
28
28
  export * from './status';
29
29
  export * from './wars';
30
30
  export * from './corporation-projects';
31
+ export * from './cosmetics';
32
+ export * from './paragon-hub';
31
33
  export * from './freelance-jobs';
32
34
  export * from './skyhooks';
33
35
  export * from './mercenary';
@@ -1 +1 @@
1
- {"version":3,"file":"api-responses.d.ts","sourceRoot":"","sources":["../../src/types/api-responses.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"api-responses.d.ts","sourceRoot":"","sources":["../../src/types/api-responses.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import { CharacterSkinrSchema, CharacterSkinrComponentsSchema, SkinrSchema, SkinrLicenseSchema, SkinrComponentLicenseSchema } from '../schemas/cosmetics';
3
+ export type CharacterSkinr = z.infer<typeof CharacterSkinrSchema>;
4
+ export type CharacterSkinrComponents = z.infer<typeof CharacterSkinrComponentsSchema>;
5
+ export type Skinr = z.infer<typeof SkinrSchema>;
6
+ export type SkinrLicense = z.infer<typeof SkinrLicenseSchema>;
7
+ export type SkinrComponentLicense = z.infer<typeof SkinrComponentLicenseSchema>;
8
+ //# sourceMappingURL=cosmetics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmetics.d.ts","sourceRoot":"","sources":["../../src/types/cosmetics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { MercenaryDenSchema, MercenaryTacticalOperationSchema } from '../schemas/mercenary';
2
+ import { MercenaryDenSchema, MercenaryTacticalOperationSchema, MercenaryDenDetailSchema, MercenaryTacticalOperationDetailSchema } from '../schemas/mercenary';
3
3
  export type MercenaryDen = z.infer<typeof MercenaryDenSchema>;
4
4
  export type MercenaryTacticalOperation = z.infer<typeof MercenaryTacticalOperationSchema>;
5
+ export type MercenaryDenDetail = z.infer<typeof MercenaryDenDetailSchema>;
6
+ export type MercenaryTacticalOperationDetail = z.infer<typeof MercenaryTacticalOperationDetailSchema>;
5
7
  //# sourceMappingURL=mercenary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mercenary.d.ts","sourceRoot":"","sources":["../../src/types/mercenary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC"}
1
+ {"version":3,"file":"mercenary.d.ts","sourceRoot":"","sources":["../../src/types/mercenary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,sCAAsC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,sCAAsC,CAC9C,CAAC"}