@lgriffin/esi.ts 9.4.0 → 9.7.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.
- package/CHANGELOG.md +29 -0
- package/README.md +71 -52
- package/dist/EsiClient.d.ts +4 -0
- package/dist/EsiClient.d.ts.map +1 -1
- package/dist/clients/AllianceClient.d.ts +2 -0
- package/dist/clients/AllianceClient.d.ts.map +1 -1
- package/dist/clients/AssetsClient.d.ts +2 -0
- package/dist/clients/AssetsClient.d.ts.map +1 -1
- package/dist/clients/BaseEsiClient.d.ts +1 -0
- package/dist/clients/BaseEsiClient.d.ts.map +1 -1
- package/dist/clients/CalendarClient.d.ts +2 -0
- package/dist/clients/CalendarClient.d.ts.map +1 -1
- package/dist/clients/CharacterClient.d.ts +8 -0
- package/dist/clients/CharacterClient.d.ts.map +1 -1
- package/dist/clients/ClonesClient.d.ts +1 -0
- package/dist/clients/ClonesClient.d.ts.map +1 -1
- package/dist/clients/ContactsClient.d.ts +6 -0
- package/dist/clients/ContactsClient.d.ts.map +1 -1
- package/dist/clients/ContractsClient.d.ts +3 -0
- package/dist/clients/ContractsClient.d.ts.map +1 -1
- package/dist/clients/CorporationsClient.d.ts +17 -0
- package/dist/clients/CorporationsClient.d.ts.map +1 -1
- package/dist/clients/CosmeticsClient.d.ts +11 -0
- package/dist/clients/CosmeticsClient.d.ts.map +1 -0
- package/dist/clients/FittingsClient.d.ts +1 -0
- package/dist/clients/FittingsClient.d.ts.map +1 -1
- package/dist/clients/FleetClient.d.ts +2 -0
- package/dist/clients/FleetClient.d.ts.map +1 -1
- package/dist/clients/IndustryClient.d.ts +8 -0
- package/dist/clients/IndustryClient.d.ts.map +1 -1
- package/dist/clients/KillmailsClient.d.ts +2 -0
- package/dist/clients/KillmailsClient.d.ts.map +1 -1
- package/dist/clients/LoyaltyClient.d.ts +2 -0
- package/dist/clients/LoyaltyClient.d.ts.map +1 -1
- package/dist/clients/MailClient.d.ts +5 -0
- package/dist/clients/MailClient.d.ts.map +1 -1
- package/dist/clients/MarketClient.d.ts +6 -0
- package/dist/clients/MarketClient.d.ts.map +1 -1
- package/dist/clients/MercenaryClient.d.ts +19 -1
- package/dist/clients/MercenaryClient.d.ts.map +1 -1
- package/dist/clients/ParagonHubClient.d.ts +13 -0
- package/dist/clients/ParagonHubClient.d.ts.map +1 -0
- package/dist/clients/PiClient.d.ts +2 -0
- package/dist/clients/PiClient.d.ts.map +1 -1
- package/dist/clients/SkillsClient.d.ts +1 -0
- package/dist/clients/SkillsClient.d.ts.map +1 -1
- package/dist/clients/SkyhooksClient.d.ts +19 -1
- package/dist/clients/SkyhooksClient.d.ts.map +1 -1
- package/dist/clients/WalletClient.d.ts +4 -0
- package/dist/clients/WalletClient.d.ts.map +1 -1
- package/dist/clients/WarsClient.d.ts +2 -0
- package/dist/clients/WarsClient.d.ts.map +1 -1
- package/dist/core/ApiClient.d.ts +4 -0
- package/dist/core/ApiClient.d.ts.map +1 -1
- package/dist/core/ApiClientBuilder.d.ts +3 -1
- package/dist/core/ApiClientBuilder.d.ts.map +1 -1
- package/dist/core/ApiRequestHandler.d.ts.map +1 -1
- package/dist/core/ClientRegistry.d.ts +5 -3
- package/dist/core/ClientRegistry.d.ts.map +1 -1
- package/dist/core/cache/cacheKey.d.ts +3 -0
- package/dist/core/cache/cacheKey.d.ts.map +1 -0
- package/dist/core/constants.d.ts +2 -2
- package/dist/core/endpoints/EndpointDefinition.d.ts +2 -2
- package/dist/core/endpoints/EndpointDefinition.d.ts.map +1 -1
- package/dist/core/endpoints/cosmeticsEndpoints.d.ts +52 -0
- package/dist/core/endpoints/cosmeticsEndpoints.d.ts.map +1 -0
- package/dist/core/endpoints/createClient.d.ts +2 -2
- package/dist/core/endpoints/createClient.d.ts.map +1 -1
- package/dist/core/endpoints/mercenaryEndpoints.d.ts +45 -0
- package/dist/core/endpoints/mercenaryEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/paragonHubEndpoints.d.ts +163 -0
- package/dist/core/endpoints/paragonHubEndpoints.d.ts.map +1 -0
- package/dist/core/endpoints/skyhookEndpoints.d.ts +64 -0
- package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
- package/dist/core/logger/NoopLogger.d.ts +3 -0
- package/dist/core/logger/NoopLogger.d.ts.map +1 -0
- package/dist/core/pagination/AsyncPaginationIterator.d.ts +1 -0
- package/dist/core/pagination/AsyncPaginationIterator.d.ts.map +1 -1
- package/dist/core/rateLimiter/RateLimiter.d.ts +6 -0
- package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
- package/dist/core/requestPipeline/cachePolicy.d.ts +3 -3
- package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
- package/dist/core/requestPipeline/headers.d.ts.map +1 -1
- package/dist/core/requestPipeline/statusHandling.d.ts +2 -2
- package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1141 -76
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1137 -76
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/common.d.ts +11 -1
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/cosmetics.d.ts +58 -0
- package/dist/schemas/cosmetics.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1467 -1192
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/index.mjs +1433 -1192
- package/dist/schemas/index.mjs.map +1 -1
- package/dist/schemas/mercenary.d.ts +54 -0
- package/dist/schemas/mercenary.d.ts.map +1 -1
- package/dist/schemas/paragon-hub.d.ts +96 -0
- package/dist/schemas/paragon-hub.d.ts.map +1 -0
- package/dist/schemas/skyhooks.d.ts +101 -0
- package/dist/schemas/skyhooks.d.ts.map +1 -1
- package/dist/sde/index.js +7 -5100
- package/dist/sde/index.js.map +1 -1
- package/dist/sde/index.mjs +12 -5134
- package/dist/sde/index.mjs.map +1 -1
- package/dist/sde/memory.d.ts +8 -0
- package/dist/sde/memory.d.ts.map +1 -0
- package/dist/sde/memory.js +1100 -0
- package/dist/sde/memory.js.map +1 -0
- package/dist/sde/memory.mjs +1064 -0
- package/dist/sde/memory.mjs.map +1 -0
- package/dist/types/api-responses.d.ts +2 -0
- package/dist/types/api-responses.d.ts.map +1 -1
- package/dist/types/cosmetics.d.ts +8 -0
- package/dist/types/cosmetics.d.ts.map +1 -0
- package/dist/types/generated/esi-spec.generated.d.ts +12 -12
- package/dist/types/generated/esi-spec.generated.d.ts.map +1 -1
- package/dist/types/mercenary.d.ts +3 -1
- package/dist/types/mercenary.d.ts.map +1 -1
- package/dist/types/paragon-hub.d.ts +8 -0
- package/dist/types/paragon-hub.d.ts.map +1 -0
- package/dist/types/skyhooks.d.ts +3 -1
- package/dist/types/skyhooks.d.ts.map +1 -1
- package/package.json +30 -9
package/dist/index.mjs
CHANGED
|
@@ -73,6 +73,7 @@ var ApiClient = class {
|
|
|
73
73
|
validateRequest = false;
|
|
74
74
|
language;
|
|
75
75
|
compatibilityDate;
|
|
76
|
+
fetchFn = null;
|
|
76
77
|
getTimeout() {
|
|
77
78
|
return this.timeout;
|
|
78
79
|
}
|
|
@@ -127,6 +128,12 @@ var ApiClient = class {
|
|
|
127
128
|
setValidateRequest(validate) {
|
|
128
129
|
this.validateRequest = validate;
|
|
129
130
|
}
|
|
131
|
+
getFetch() {
|
|
132
|
+
return this.fetchFn ?? globalThis.fetch;
|
|
133
|
+
}
|
|
134
|
+
setFetch(fn) {
|
|
135
|
+
this.fetchFn = fn;
|
|
136
|
+
}
|
|
130
137
|
getMiddleware() {
|
|
131
138
|
return this.middleware;
|
|
132
139
|
}
|
|
@@ -161,9 +168,6 @@ var ApiClient = class {
|
|
|
161
168
|
this.compatibilityDate = date;
|
|
162
169
|
}
|
|
163
170
|
setAccessToken(token) {
|
|
164
|
-
if (this.accessToken !== token) {
|
|
165
|
-
this.cache?.clear();
|
|
166
|
-
}
|
|
167
171
|
this.accessToken = token;
|
|
168
172
|
}
|
|
169
173
|
setTokenProvider(provider) {
|
|
@@ -197,9 +201,6 @@ var ApiClient = class {
|
|
|
197
201
|
}
|
|
198
202
|
this.refreshInFlight = this.tokenProvider().then(
|
|
199
203
|
(token) => {
|
|
200
|
-
if (this.accessToken !== token) {
|
|
201
|
-
this.cache?.clear();
|
|
202
|
-
}
|
|
203
204
|
this.accessToken = token;
|
|
204
205
|
this.refreshInFlight = void 0;
|
|
205
206
|
return token;
|
|
@@ -543,9 +544,19 @@ function isValidationError(error) {
|
|
|
543
544
|
return error instanceof EsiValidationError;
|
|
544
545
|
}
|
|
545
546
|
|
|
547
|
+
// src/core/cache/cacheKey.ts
|
|
548
|
+
import { createHash } from "crypto";
|
|
549
|
+
function buildCacheKey(url, client, requiresAuth = false) {
|
|
550
|
+
if (!requiresAuth) return url;
|
|
551
|
+
const authHeader = client.getAuthorizationHeader();
|
|
552
|
+
if (!authHeader) return url;
|
|
553
|
+
const hash = createHash("sha256").update(authHeader).digest("hex").slice(0, 16);
|
|
554
|
+
return `${hash}:${url}`;
|
|
555
|
+
}
|
|
556
|
+
|
|
546
557
|
// src/core/constants.ts
|
|
547
558
|
var PACKAGE_NAME = "esi.ts";
|
|
548
|
-
var PACKAGE_VERSION = "9.
|
|
559
|
+
var PACKAGE_VERSION = "9.7.0";
|
|
549
560
|
var USER_AGENT = `${PACKAGE_NAME}/${PACKAGE_VERSION}`;
|
|
550
561
|
var COMPATIBILITY_DATE = "2026-05-19";
|
|
551
562
|
|
|
@@ -571,7 +582,10 @@ function buildRequestHeaders(client, url, method, requiresAuth, useETag, body, r
|
|
|
571
582
|
const authHeader = client.getAuthorizationHeader();
|
|
572
583
|
if (!authHeader) {
|
|
573
584
|
throw buildError(
|
|
574
|
-
|
|
585
|
+
[
|
|
586
|
+
"Authorization header is required for this endpoint but no access token is configured",
|
|
587
|
+
"Fix: set ESI_ACCESS_TOKEN in your environment (see .env.example), or call client.setAccessToken(token), or pass accessToken to the EsiClient constructor"
|
|
588
|
+
].join(" \u2014 "),
|
|
575
589
|
"NO_AUTH_TOKEN"
|
|
576
590
|
);
|
|
577
591
|
}
|
|
@@ -579,7 +593,8 @@ function buildRequestHeaders(client, url, method, requiresAuth, useETag, body, r
|
|
|
579
593
|
}
|
|
580
594
|
const cache = resolveCache2(client);
|
|
581
595
|
if (useETag && method === "GET" && cache) {
|
|
582
|
-
const
|
|
596
|
+
const key = buildCacheKey(url, client, requiresAuth);
|
|
597
|
+
const cachedETag = cache.getETag(key);
|
|
583
598
|
if (cachedETag) {
|
|
584
599
|
headers["If-None-Match"] = cachedETag;
|
|
585
600
|
logDebug(`Adding If-None-Match header: ${cachedETag}`);
|
|
@@ -733,13 +748,14 @@ function lookupSpecTtl(method, templatePath) {
|
|
|
733
748
|
const seconds = esiCacheTtls[key];
|
|
734
749
|
return typeof seconds === "number" ? seconds * 1e3 : void 0;
|
|
735
750
|
}
|
|
736
|
-
function trySpecAwareCacheHit(client, url, method, templatePath, resolveCache2) {
|
|
751
|
+
function trySpecAwareCacheHit(client, url, method, templatePath, resolveCache2, requiresAuth = false) {
|
|
737
752
|
if (method !== "GET" || !templatePath) return null;
|
|
738
753
|
const specTtlMs = lookupSpecTtl(method, templatePath);
|
|
739
754
|
if (!specTtlMs) return null;
|
|
740
755
|
const cache = resolveCache2(client);
|
|
741
756
|
if (!cache) return null;
|
|
742
|
-
const
|
|
757
|
+
const key = buildCacheKey(url, client, requiresAuth);
|
|
758
|
+
const entry = cache.get(key);
|
|
743
759
|
if (!entry) return null;
|
|
744
760
|
const age = Date.now() - entry.timestamp;
|
|
745
761
|
if (age < specTtlMs) {
|
|
@@ -756,10 +772,11 @@ function trySpecAwareCacheHit(client, url, method, templatePath, resolveCache2)
|
|
|
756
772
|
}
|
|
757
773
|
return null;
|
|
758
774
|
}
|
|
759
|
-
function tryStaleCacheResponse(client, url, parsed, resolveCache2) {
|
|
775
|
+
function tryStaleCacheResponse(client, url, parsed, resolveCache2, requiresAuth = false) {
|
|
760
776
|
const cache = resolveCache2(client);
|
|
761
777
|
if (!cache) return null;
|
|
762
|
-
const
|
|
778
|
+
const key = buildCacheKey(url, client, requiresAuth);
|
|
779
|
+
const cachedEntry = cache.get(key);
|
|
763
780
|
if (!cachedEntry) return null;
|
|
764
781
|
return {
|
|
765
782
|
headers: { ...cachedEntry.headers, ...parsed.raw },
|
|
@@ -770,13 +787,14 @@ function tryStaleCacheResponse(client, url, parsed, resolveCache2) {
|
|
|
770
787
|
cacheHitType: "stale-on-error"
|
|
771
788
|
};
|
|
772
789
|
}
|
|
773
|
-
function cacheResponse(client, url, method, endpoint, parsed, data, useETag, resolveCache2, templatePath) {
|
|
790
|
+
function cacheResponse(client, url, method, endpoint, parsed, data, useETag, resolveCache2, templatePath, requiresAuth = false) {
|
|
774
791
|
const cache = resolveCache2(client);
|
|
775
792
|
if (useETag && method === "GET" && cache && parsed.etag) {
|
|
793
|
+
const key = buildCacheKey(url, client, requiresAuth);
|
|
776
794
|
const headerTtl = parseCacheControlTtl(parsed.raw);
|
|
777
795
|
const specTtlMs = templatePath ? lookupSpecTtl(method, templatePath) : void 0;
|
|
778
796
|
const ttl = specTtlMs ?? headerTtl;
|
|
779
|
-
cache.set(
|
|
797
|
+
cache.set(key, parsed.etag, data, parsed.raw, ttl);
|
|
780
798
|
const ttlInfo = ttl ? ` (ttl=${ttl}ms)` : "";
|
|
781
799
|
logDebug(`Cached response for ${url} with ETag ${parsed.etag}${ttlInfo}`);
|
|
782
800
|
}
|
|
@@ -802,7 +820,7 @@ var STATUS_MESSAGES = {
|
|
|
802
820
|
504: "Gateway Timeout",
|
|
803
821
|
520: "Internal server error, did the request terminate too soon?"
|
|
804
822
|
};
|
|
805
|
-
function handleEarlyStatus(client, status, url, parsed, useETag, resolveCache2) {
|
|
823
|
+
function handleEarlyStatus(client, status, url, parsed, useETag, resolveCache2, requiresAuth = false) {
|
|
806
824
|
if (status === 201) {
|
|
807
825
|
return { headers: parsed.raw, body: void 0, status: 201 };
|
|
808
826
|
}
|
|
@@ -813,7 +831,8 @@ function handleEarlyStatus(client, status, url, parsed, useETag, resolveCache2)
|
|
|
813
831
|
if (status === 304) {
|
|
814
832
|
const cache = resolveCache2(client);
|
|
815
833
|
if (useETag && cache) {
|
|
816
|
-
const
|
|
834
|
+
const key = buildCacheKey(url, client, requiresAuth);
|
|
835
|
+
const cachedEntry = cache.get(key);
|
|
817
836
|
if (cachedEntry) {
|
|
818
837
|
logInfo(`Cache hit (304) for endpoint: ${url}`);
|
|
819
838
|
return {
|
|
@@ -834,14 +853,15 @@ function handleEarlyStatus(client, status, url, parsed, useETag, resolveCache2)
|
|
|
834
853
|
}
|
|
835
854
|
return null;
|
|
836
855
|
}
|
|
837
|
-
function handleErrorResponse(client, response, url, parsed, useETag, resolveCache2) {
|
|
856
|
+
function handleErrorResponse(client, response, url, parsed, useETag, resolveCache2, requiresAuth = false) {
|
|
838
857
|
const errorMessage = STATUS_MESSAGES[response.status] || response.statusText;
|
|
839
858
|
if (response.status >= 500 && useETag) {
|
|
840
859
|
const staleResult = tryStaleCacheResponse(
|
|
841
860
|
client,
|
|
842
861
|
url,
|
|
843
862
|
parsed,
|
|
844
|
-
resolveCache2
|
|
863
|
+
resolveCache2,
|
|
864
|
+
requiresAuth
|
|
845
865
|
);
|
|
846
866
|
if (staleResult) {
|
|
847
867
|
logWarn(`${errorMessage} for ${url} \u2014 serving stale cache`);
|
|
@@ -851,9 +871,15 @@ function handleErrorResponse(client, response, url, parsed, useETag, resolveCach
|
|
|
851
871
|
if (response.status === 420 || response.status === 429) {
|
|
852
872
|
logWarn(`Rate limited (${response.status}) on ${url}`);
|
|
853
873
|
}
|
|
874
|
+
let message = errorMessage;
|
|
875
|
+
if (response.status === 401) {
|
|
876
|
+
message = `${errorMessage} \u2014 the access token was missing, expired, or lacks the required ESI scope. Fix: verify ESI_ACCESS_TOKEN, or configure onTokenRefresh for automatic refresh on 401`;
|
|
877
|
+
} else if (response.status === 403) {
|
|
878
|
+
message = `${errorMessage} \u2014 your access token does not have the OAuth scopes required for this endpoint. Check the scopes on your EVE SSO application`;
|
|
879
|
+
}
|
|
854
880
|
throw new EsiError(
|
|
855
881
|
response.status,
|
|
856
|
-
|
|
882
|
+
message,
|
|
857
883
|
url,
|
|
858
884
|
parsed.requestId ?? void 0
|
|
859
885
|
);
|
|
@@ -1218,7 +1244,7 @@ async function executeSingleFetch(client, endpoint, method, body, requiresAuth,
|
|
|
1218
1244
|
options.signal = controller.signal;
|
|
1219
1245
|
let response;
|
|
1220
1246
|
try {
|
|
1221
|
-
response = await
|
|
1247
|
+
response = await client.getFetch()(url, options);
|
|
1222
1248
|
} catch (err) {
|
|
1223
1249
|
clearTimeout(timer);
|
|
1224
1250
|
if (cb) {
|
|
@@ -1338,7 +1364,8 @@ var executeRequest = async (client, endpoint, method, body, requiresAuth = false
|
|
|
1338
1364
|
url,
|
|
1339
1365
|
parsed,
|
|
1340
1366
|
useETag,
|
|
1341
|
-
resolveCache
|
|
1367
|
+
resolveCache,
|
|
1368
|
+
requiresAuth
|
|
1342
1369
|
);
|
|
1343
1370
|
if (earlyResult) return finish(earlyResult);
|
|
1344
1371
|
if (!response.ok) {
|
|
@@ -1348,7 +1375,8 @@ var executeRequest = async (client, endpoint, method, body, requiresAuth = false
|
|
|
1348
1375
|
url,
|
|
1349
1376
|
parsed,
|
|
1350
1377
|
useETag,
|
|
1351
|
-
resolveCache
|
|
1378
|
+
resolveCache,
|
|
1379
|
+
requiresAuth
|
|
1352
1380
|
);
|
|
1353
1381
|
return finish(staleOrThrow);
|
|
1354
1382
|
}
|
|
@@ -1362,7 +1390,8 @@ var executeRequest = async (client, endpoint, method, body, requiresAuth = false
|
|
|
1362
1390
|
data,
|
|
1363
1391
|
useETag,
|
|
1364
1392
|
resolveCache,
|
|
1365
|
-
templatePath
|
|
1393
|
+
templatePath,
|
|
1394
|
+
requiresAuth
|
|
1366
1395
|
);
|
|
1367
1396
|
const cursorResult = handleCursorPagination(parsed, data);
|
|
1368
1397
|
if (cursorResult) return finish(cursorResult);
|
|
@@ -1435,7 +1464,8 @@ var handleRequest = async (client, endpoint, method, body, requiresAuth = false,
|
|
|
1435
1464
|
rawUrl,
|
|
1436
1465
|
method,
|
|
1437
1466
|
templatePath,
|
|
1438
|
-
resolveCache
|
|
1467
|
+
resolveCache,
|
|
1468
|
+
requiresAuth
|
|
1439
1469
|
);
|
|
1440
1470
|
if (specHit) {
|
|
1441
1471
|
return applyResponseInterceptors(
|
|
@@ -1599,6 +1629,20 @@ function buildMeta(response) {
|
|
|
1599
1629
|
group: response.headers["x-ratelimit-group"] ?? null
|
|
1600
1630
|
};
|
|
1601
1631
|
}
|
|
1632
|
+
if (response.headers["etag"]) meta.etag = response.headers["etag"];
|
|
1633
|
+
if (response.headers["x-pages"])
|
|
1634
|
+
meta.pages = parseInt(response.headers["x-pages"], 10);
|
|
1635
|
+
if (response.headers["expires"]) meta.expires = response.headers["expires"];
|
|
1636
|
+
if (response.headers["x-esi-error-limit-remain"])
|
|
1637
|
+
meta.errorLimitRemain = parseInt(
|
|
1638
|
+
response.headers["x-esi-error-limit-remain"],
|
|
1639
|
+
10
|
|
1640
|
+
);
|
|
1641
|
+
if (response.headers["x-esi-error-limit-reset"])
|
|
1642
|
+
meta.errorLimitReset = parseInt(
|
|
1643
|
+
response.headers["x-esi-error-limit-reset"],
|
|
1644
|
+
10
|
|
1645
|
+
);
|
|
1602
1646
|
return meta;
|
|
1603
1647
|
}
|
|
1604
1648
|
function createClient(apiClient, endpoints, options) {
|
|
@@ -1763,6 +1807,55 @@ function validatePageBody(body, schema, url, validate) {
|
|
|
1763
1807
|
}
|
|
1764
1808
|
return result.data;
|
|
1765
1809
|
}
|
|
1810
|
+
async function fetchAllPages(client, endpoint, method, requiresAuth = false, body, templatePath, responseSchema, concurrency = 8) {
|
|
1811
|
+
const validate = client.getValidateResponse();
|
|
1812
|
+
const firstResponse = await handleSinglePageRequest(
|
|
1813
|
+
client,
|
|
1814
|
+
endpoint,
|
|
1815
|
+
method,
|
|
1816
|
+
body,
|
|
1817
|
+
requiresAuth,
|
|
1818
|
+
templatePath
|
|
1819
|
+
);
|
|
1820
|
+
const firstBody = validatePageBody(
|
|
1821
|
+
firstResponse.body,
|
|
1822
|
+
responseSchema,
|
|
1823
|
+
`${client.getLink()}/${endpoint}`,
|
|
1824
|
+
validate
|
|
1825
|
+
);
|
|
1826
|
+
const totalPages = parseInt(firstResponse.headers["x-pages"] || "1", 10);
|
|
1827
|
+
const result = extractArray(firstBody);
|
|
1828
|
+
if (totalPages <= 1) return result;
|
|
1829
|
+
const remaining = Array.from({ length: totalPages - 1 }, (_, i) => i + 2);
|
|
1830
|
+
for (let i = 0; i < remaining.length; i += concurrency) {
|
|
1831
|
+
const batch = remaining.slice(i, i + concurrency);
|
|
1832
|
+
const pages = await Promise.all(
|
|
1833
|
+
batch.map(async (page) => {
|
|
1834
|
+
const sep = endpoint.includes("?") ? "&" : "?";
|
|
1835
|
+
const pagedEndpoint = `${endpoint}${sep}page=${page}`;
|
|
1836
|
+
logInfo(`Fetching page ${page}/${totalPages}: ${pagedEndpoint}`);
|
|
1837
|
+
const response = await handleSinglePageRequest(
|
|
1838
|
+
client,
|
|
1839
|
+
pagedEndpoint,
|
|
1840
|
+
method,
|
|
1841
|
+
body,
|
|
1842
|
+
requiresAuth,
|
|
1843
|
+
templatePath
|
|
1844
|
+
);
|
|
1845
|
+
return validatePageBody(
|
|
1846
|
+
response.body,
|
|
1847
|
+
responseSchema,
|
|
1848
|
+
`${client.getLink()}/${pagedEndpoint}`,
|
|
1849
|
+
validate
|
|
1850
|
+
);
|
|
1851
|
+
})
|
|
1852
|
+
);
|
|
1853
|
+
for (const pageBody of pages) {
|
|
1854
|
+
result.push(...extractArray(pageBody));
|
|
1855
|
+
}
|
|
1856
|
+
}
|
|
1857
|
+
return result;
|
|
1858
|
+
}
|
|
1766
1859
|
async function* fetchPages(client, endpoint, method, requiresAuth = false, body, templatePath, responseSchema) {
|
|
1767
1860
|
const validate = client.getValidateResponse();
|
|
1768
1861
|
const firstResponse = await handleSinglePageRequest(
|
|
@@ -1834,6 +1927,24 @@ var BaseEsiClient = class {
|
|
|
1834
1927
|
def.responseSchema
|
|
1835
1928
|
);
|
|
1836
1929
|
}
|
|
1930
|
+
fetchAllEndpoint(endpointName, args, concurrency) {
|
|
1931
|
+
const def = this._endpoints[endpointName];
|
|
1932
|
+
const { path, body } = buildEndpointPath(
|
|
1933
|
+
def,
|
|
1934
|
+
args,
|
|
1935
|
+
this._client.getDatasource()
|
|
1936
|
+
);
|
|
1937
|
+
return fetchAllPages(
|
|
1938
|
+
this._client,
|
|
1939
|
+
path,
|
|
1940
|
+
def.method,
|
|
1941
|
+
def.requiresAuth,
|
|
1942
|
+
body,
|
|
1943
|
+
def.path,
|
|
1944
|
+
def.responseSchema,
|
|
1945
|
+
concurrency
|
|
1946
|
+
);
|
|
1947
|
+
}
|
|
1837
1948
|
withMetadata() {
|
|
1838
1949
|
if (!this._metaApi) {
|
|
1839
1950
|
this._metaApi = createClient(this._client, this._endpoints, {
|
|
@@ -2040,9 +2151,7 @@ var AllianceClient = class extends BaseEsiClient {
|
|
|
2040
2151
|
logWarn(
|
|
2041
2152
|
"AllianceClient.getContacts() is deprecated. Use ContactsClient.getAllianceContacts() instead. Planned removal in next major version."
|
|
2042
2153
|
);
|
|
2043
|
-
return this.contactApi.getAllianceContacts(
|
|
2044
|
-
allianceId
|
|
2045
|
-
);
|
|
2154
|
+
return this.contactApi.getAllianceContacts(allianceId);
|
|
2046
2155
|
}
|
|
2047
2156
|
/**
|
|
2048
2157
|
* Retrieve custom contact labels for an alliance.
|
|
@@ -2084,6 +2193,16 @@ var AllianceClient = class extends BaseEsiClient {
|
|
|
2084
2193
|
getAlliances() {
|
|
2085
2194
|
return this.api.getAlliances();
|
|
2086
2195
|
}
|
|
2196
|
+
fetchAllAlliances(concurrency) {
|
|
2197
|
+
return this.fetchAllEndpoint("getAlliances", [], concurrency);
|
|
2198
|
+
}
|
|
2199
|
+
fetchAllCorporations(allianceId, concurrency) {
|
|
2200
|
+
return this.fetchAllEndpoint(
|
|
2201
|
+
"getCorporations",
|
|
2202
|
+
[allianceId],
|
|
2203
|
+
concurrency
|
|
2204
|
+
);
|
|
2205
|
+
}
|
|
2087
2206
|
streamAlliances() {
|
|
2088
2207
|
return this.streamEndpoint("getAlliances");
|
|
2089
2208
|
}
|
|
@@ -2192,10 +2311,7 @@ var AssetsClient = class extends BaseEsiClient {
|
|
|
2192
2311
|
* @requires Authentication
|
|
2193
2312
|
*/
|
|
2194
2313
|
postCharacterAssetLocations(characterId, itemIds) {
|
|
2195
|
-
return this.api.postCharacterAssetLocations(
|
|
2196
|
-
characterId,
|
|
2197
|
-
itemIds
|
|
2198
|
-
);
|
|
2314
|
+
return this.api.postCharacterAssetLocations(characterId, itemIds);
|
|
2199
2315
|
}
|
|
2200
2316
|
/**
|
|
2201
2317
|
* Look up the names of specific assets owned by a character via a bulk POST request.
|
|
@@ -2246,6 +2362,20 @@ var AssetsClient = class extends BaseEsiClient {
|
|
|
2246
2362
|
itemIds
|
|
2247
2363
|
);
|
|
2248
2364
|
}
|
|
2365
|
+
fetchAllCharacterAssets(characterId, concurrency) {
|
|
2366
|
+
return this.fetchAllEndpoint(
|
|
2367
|
+
"getCharacterAssets",
|
|
2368
|
+
[characterId],
|
|
2369
|
+
concurrency
|
|
2370
|
+
);
|
|
2371
|
+
}
|
|
2372
|
+
fetchAllCorporationAssets(corporationId, concurrency) {
|
|
2373
|
+
return this.fetchAllEndpoint(
|
|
2374
|
+
"getCorporationAssets",
|
|
2375
|
+
[corporationId],
|
|
2376
|
+
concurrency
|
|
2377
|
+
);
|
|
2378
|
+
}
|
|
2249
2379
|
streamCharacterAssets(characterId) {
|
|
2250
2380
|
return this.streamEndpoint(
|
|
2251
2381
|
"getCharacterAssets",
|
|
@@ -2389,6 +2519,20 @@ var CalendarClient = class extends BaseEsiClient {
|
|
|
2389
2519
|
getEventAttendees(characterId, eventId) {
|
|
2390
2520
|
return this.api.getEventAttendees(characterId, eventId);
|
|
2391
2521
|
}
|
|
2522
|
+
fetchAllCalendarEvents(characterId, concurrency) {
|
|
2523
|
+
return this.fetchAllEndpoint(
|
|
2524
|
+
"getCalendarEvents",
|
|
2525
|
+
[characterId],
|
|
2526
|
+
concurrency
|
|
2527
|
+
);
|
|
2528
|
+
}
|
|
2529
|
+
fetchAllEventAttendees(characterId, eventId, concurrency) {
|
|
2530
|
+
return this.fetchAllEndpoint(
|
|
2531
|
+
"getEventAttendees",
|
|
2532
|
+
[characterId, eventId],
|
|
2533
|
+
concurrency
|
|
2534
|
+
);
|
|
2535
|
+
}
|
|
2392
2536
|
streamCalendarEvents(characterId) {
|
|
2393
2537
|
return this.streamEndpoint("getCalendarEvents", characterId);
|
|
2394
2538
|
}
|
|
@@ -2548,7 +2692,12 @@ var EsiResponseMetaSchema = z11.looseObject({
|
|
|
2548
2692
|
date: z11.string().optional(),
|
|
2549
2693
|
contentLanguage: z11.string().optional(),
|
|
2550
2694
|
rateLimit: RateLimitMetaSchema.optional(),
|
|
2551
|
-
responseTimeMs: z11.number().optional()
|
|
2695
|
+
responseTimeMs: z11.number().optional(),
|
|
2696
|
+
etag: z11.string().optional(),
|
|
2697
|
+
pages: z11.number().optional(),
|
|
2698
|
+
expires: z11.string().optional(),
|
|
2699
|
+
errorLimitRemain: z11.number().optional(),
|
|
2700
|
+
errorLimitReset: z11.number().optional()
|
|
2552
2701
|
});
|
|
2553
2702
|
function esiResponse(dataSchema) {
|
|
2554
2703
|
return z11.object({
|
|
@@ -2803,6 +2952,62 @@ var CharacterClient = class extends BaseEsiClient {
|
|
|
2803
2952
|
postCharacterAffiliation(characters) {
|
|
2804
2953
|
return this.api.postCharacterAffiliation(characters);
|
|
2805
2954
|
}
|
|
2955
|
+
fetchAllCharacterAgentsResearch(characterId, concurrency) {
|
|
2956
|
+
return this.fetchAllEndpoint(
|
|
2957
|
+
"getAgentsResearch",
|
|
2958
|
+
[characterId],
|
|
2959
|
+
concurrency
|
|
2960
|
+
);
|
|
2961
|
+
}
|
|
2962
|
+
fetchAllCharacterBlueprints(characterId, concurrency) {
|
|
2963
|
+
return this.fetchAllEndpoint(
|
|
2964
|
+
"getBlueprints",
|
|
2965
|
+
[characterId],
|
|
2966
|
+
concurrency
|
|
2967
|
+
);
|
|
2968
|
+
}
|
|
2969
|
+
fetchAllCharacterCorporationHistory(characterId, concurrency) {
|
|
2970
|
+
return this.fetchAllEndpoint(
|
|
2971
|
+
"getCorporationHistory",
|
|
2972
|
+
[characterId],
|
|
2973
|
+
concurrency
|
|
2974
|
+
);
|
|
2975
|
+
}
|
|
2976
|
+
fetchAllCharacterMedals(characterId, concurrency) {
|
|
2977
|
+
return this.fetchAllEndpoint(
|
|
2978
|
+
"getMedals",
|
|
2979
|
+
[characterId],
|
|
2980
|
+
concurrency
|
|
2981
|
+
);
|
|
2982
|
+
}
|
|
2983
|
+
fetchAllCharacterNotifications(characterId, concurrency) {
|
|
2984
|
+
return this.fetchAllEndpoint(
|
|
2985
|
+
"getNotifications",
|
|
2986
|
+
[characterId],
|
|
2987
|
+
concurrency
|
|
2988
|
+
);
|
|
2989
|
+
}
|
|
2990
|
+
fetchAllCharacterNotificationsContacts(characterId, concurrency) {
|
|
2991
|
+
return this.fetchAllEndpoint(
|
|
2992
|
+
"getContactNotifications",
|
|
2993
|
+
[characterId],
|
|
2994
|
+
concurrency
|
|
2995
|
+
);
|
|
2996
|
+
}
|
|
2997
|
+
fetchAllCharacterStandings(characterId, concurrency) {
|
|
2998
|
+
return this.fetchAllEndpoint(
|
|
2999
|
+
"getStandings",
|
|
3000
|
+
[characterId],
|
|
3001
|
+
concurrency
|
|
3002
|
+
);
|
|
3003
|
+
}
|
|
3004
|
+
fetchAllCharacterTitles(characterId, concurrency) {
|
|
3005
|
+
return this.fetchAllEndpoint(
|
|
3006
|
+
"getTitles",
|
|
3007
|
+
[characterId],
|
|
3008
|
+
concurrency
|
|
3009
|
+
);
|
|
3010
|
+
}
|
|
2806
3011
|
streamCharacterAgentsResearch(characterId) {
|
|
2807
3012
|
return this.streamEndpoint("getAgentsResearch", characterId);
|
|
2808
3013
|
}
|
|
@@ -2901,6 +3106,13 @@ var ClonesClient = class extends BaseEsiClient {
|
|
|
2901
3106
|
getImplants(characterId) {
|
|
2902
3107
|
return this.api.getImplants(characterId);
|
|
2903
3108
|
}
|
|
3109
|
+
fetchAllImplants(characterId, concurrency) {
|
|
3110
|
+
return this.fetchAllEndpoint(
|
|
3111
|
+
"getImplants",
|
|
3112
|
+
[characterId],
|
|
3113
|
+
concurrency
|
|
3114
|
+
);
|
|
3115
|
+
}
|
|
2904
3116
|
streamImplants(characterId) {
|
|
2905
3117
|
return this.streamEndpoint("getImplants", characterId);
|
|
2906
3118
|
}
|
|
@@ -3011,6 +3223,48 @@ var ContactsClient = class extends BaseEsiClient {
|
|
|
3011
3223
|
getCorporationContactLabels(corporationId) {
|
|
3012
3224
|
return this.api.getCorporationContactLabels(corporationId);
|
|
3013
3225
|
}
|
|
3226
|
+
fetchAllAllianceContacts(allianceId, concurrency) {
|
|
3227
|
+
return this.fetchAllEndpoint(
|
|
3228
|
+
"getAllianceContacts",
|
|
3229
|
+
[allianceId],
|
|
3230
|
+
concurrency
|
|
3231
|
+
);
|
|
3232
|
+
}
|
|
3233
|
+
fetchAllAllianceContactLabels(allianceId, concurrency) {
|
|
3234
|
+
return this.fetchAllEndpoint(
|
|
3235
|
+
"getAllianceContactLabels",
|
|
3236
|
+
[allianceId],
|
|
3237
|
+
concurrency
|
|
3238
|
+
);
|
|
3239
|
+
}
|
|
3240
|
+
fetchAllCharacterContacts(characterId, concurrency) {
|
|
3241
|
+
return this.fetchAllEndpoint(
|
|
3242
|
+
"getCharacterContacts",
|
|
3243
|
+
[characterId],
|
|
3244
|
+
concurrency
|
|
3245
|
+
);
|
|
3246
|
+
}
|
|
3247
|
+
fetchAllCharacterContactLabels(characterId, concurrency) {
|
|
3248
|
+
return this.fetchAllEndpoint(
|
|
3249
|
+
"getCharacterContactLabels",
|
|
3250
|
+
[characterId],
|
|
3251
|
+
concurrency
|
|
3252
|
+
);
|
|
3253
|
+
}
|
|
3254
|
+
fetchAllCorporationContacts(corporationId, concurrency) {
|
|
3255
|
+
return this.fetchAllEndpoint(
|
|
3256
|
+
"getCorporationContacts",
|
|
3257
|
+
[corporationId],
|
|
3258
|
+
concurrency
|
|
3259
|
+
);
|
|
3260
|
+
}
|
|
3261
|
+
fetchAllCorporationContactLabels(corporationId, concurrency) {
|
|
3262
|
+
return this.fetchAllEndpoint(
|
|
3263
|
+
"getCorporationContactLabels",
|
|
3264
|
+
[corporationId],
|
|
3265
|
+
concurrency
|
|
3266
|
+
);
|
|
3267
|
+
}
|
|
3014
3268
|
streamAllianceContacts(allianceId) {
|
|
3015
3269
|
return this.streamEndpoint("getAllianceContacts", allianceId);
|
|
3016
3270
|
}
|
|
@@ -3195,10 +3449,7 @@ var ContractsClient = class extends BaseEsiClient {
|
|
|
3195
3449
|
* @requires Authentication
|
|
3196
3450
|
*/
|
|
3197
3451
|
getCharacterContractBids(characterId, contractId) {
|
|
3198
|
-
return this.api.getCharacterContractBids(
|
|
3199
|
-
characterId,
|
|
3200
|
-
contractId
|
|
3201
|
-
);
|
|
3452
|
+
return this.api.getCharacterContractBids(characterId, contractId);
|
|
3202
3453
|
}
|
|
3203
3454
|
/**
|
|
3204
3455
|
* Retrieve the items included in a contract owned by a character.
|
|
@@ -3209,10 +3460,7 @@ var ContractsClient = class extends BaseEsiClient {
|
|
|
3209
3460
|
* @requires Authentication
|
|
3210
3461
|
*/
|
|
3211
3462
|
getCharacterContractItems(characterId, contractId) {
|
|
3212
|
-
return this.api.getCharacterContractItems(
|
|
3213
|
-
characterId,
|
|
3214
|
-
contractId
|
|
3215
|
-
);
|
|
3463
|
+
return this.api.getCharacterContractItems(characterId, contractId);
|
|
3216
3464
|
}
|
|
3217
3465
|
/**
|
|
3218
3466
|
* Retrieve publicly available contracts in a specific region.
|
|
@@ -3260,10 +3508,7 @@ var ContractsClient = class extends BaseEsiClient {
|
|
|
3260
3508
|
* @requires Authentication
|
|
3261
3509
|
*/
|
|
3262
3510
|
getCorporationContractBids(corporationId, contractId) {
|
|
3263
|
-
return this.api.getCorporationContractBids(
|
|
3264
|
-
corporationId,
|
|
3265
|
-
contractId
|
|
3266
|
-
);
|
|
3511
|
+
return this.api.getCorporationContractBids(corporationId, contractId);
|
|
3267
3512
|
}
|
|
3268
3513
|
/**
|
|
3269
3514
|
* Retrieve the items included in a contract owned by a corporation.
|
|
@@ -3274,9 +3519,27 @@ var ContractsClient = class extends BaseEsiClient {
|
|
|
3274
3519
|
* @requires Authentication
|
|
3275
3520
|
*/
|
|
3276
3521
|
getCorporationContractItems(corporationId, contractId) {
|
|
3277
|
-
return this.api.getCorporationContractItems(
|
|
3278
|
-
|
|
3279
|
-
|
|
3522
|
+
return this.api.getCorporationContractItems(corporationId, contractId);
|
|
3523
|
+
}
|
|
3524
|
+
fetchAllPublicContracts(regionId, concurrency) {
|
|
3525
|
+
return this.fetchAllEndpoint(
|
|
3526
|
+
"getPublicContracts",
|
|
3527
|
+
[regionId],
|
|
3528
|
+
concurrency
|
|
3529
|
+
);
|
|
3530
|
+
}
|
|
3531
|
+
fetchAllCharacterContracts(characterId, concurrency) {
|
|
3532
|
+
return this.fetchAllEndpoint(
|
|
3533
|
+
"getCharacterContracts",
|
|
3534
|
+
[characterId],
|
|
3535
|
+
concurrency
|
|
3536
|
+
);
|
|
3537
|
+
}
|
|
3538
|
+
fetchAllCorporationContracts(corporationId, concurrency) {
|
|
3539
|
+
return this.fetchAllEndpoint(
|
|
3540
|
+
"getCorporationContracts",
|
|
3541
|
+
[corporationId],
|
|
3542
|
+
concurrency
|
|
3280
3543
|
);
|
|
3281
3544
|
}
|
|
3282
3545
|
streamPublicContracts(regionId) {
|
|
@@ -3875,6 +4138,121 @@ var CorporationsClient = class extends BaseEsiClient {
|
|
|
3875
4138
|
getNpcCorporations() {
|
|
3876
4139
|
return this.api.getNpcCorporations();
|
|
3877
4140
|
}
|
|
4141
|
+
fetchAllCorporationAllianceHistory(corporationId, concurrency) {
|
|
4142
|
+
return this.fetchAllEndpoint(
|
|
4143
|
+
"getCorporationAllianceHistory",
|
|
4144
|
+
[corporationId],
|
|
4145
|
+
concurrency
|
|
4146
|
+
);
|
|
4147
|
+
}
|
|
4148
|
+
fetchAllCorporationBlueprints(corporationId, concurrency) {
|
|
4149
|
+
return this.fetchAllEndpoint(
|
|
4150
|
+
"getCorporationBlueprints",
|
|
4151
|
+
[corporationId],
|
|
4152
|
+
concurrency
|
|
4153
|
+
);
|
|
4154
|
+
}
|
|
4155
|
+
fetchAllCorporationAlscLogs(corporationId, concurrency) {
|
|
4156
|
+
return this.fetchAllEndpoint(
|
|
4157
|
+
"getCorporationAlscLogs",
|
|
4158
|
+
[corporationId],
|
|
4159
|
+
concurrency
|
|
4160
|
+
);
|
|
4161
|
+
}
|
|
4162
|
+
fetchAllCorporationFacilities(corporationId, concurrency) {
|
|
4163
|
+
return this.fetchAllEndpoint(
|
|
4164
|
+
"getCorporationFacilities",
|
|
4165
|
+
[corporationId],
|
|
4166
|
+
concurrency
|
|
4167
|
+
);
|
|
4168
|
+
}
|
|
4169
|
+
fetchAllCorporationMedals(corporationId, concurrency) {
|
|
4170
|
+
return this.fetchAllEndpoint(
|
|
4171
|
+
"getCorporationMedals",
|
|
4172
|
+
[corporationId],
|
|
4173
|
+
concurrency
|
|
4174
|
+
);
|
|
4175
|
+
}
|
|
4176
|
+
fetchAllCorporationIssuedMedals(corporationId, concurrency) {
|
|
4177
|
+
return this.fetchAllEndpoint(
|
|
4178
|
+
"getCorporationIssuedMedals",
|
|
4179
|
+
[corporationId],
|
|
4180
|
+
concurrency
|
|
4181
|
+
);
|
|
4182
|
+
}
|
|
4183
|
+
fetchAllCorporationMembers(corporationId, concurrency) {
|
|
4184
|
+
return this.fetchAllEndpoint(
|
|
4185
|
+
"getCorporationMembers",
|
|
4186
|
+
[corporationId],
|
|
4187
|
+
concurrency
|
|
4188
|
+
);
|
|
4189
|
+
}
|
|
4190
|
+
fetchAllCorporationMemberTitles(corporationId, concurrency) {
|
|
4191
|
+
return this.fetchAllEndpoint(
|
|
4192
|
+
"getCorporationMembersTitles",
|
|
4193
|
+
[corporationId],
|
|
4194
|
+
concurrency
|
|
4195
|
+
);
|
|
4196
|
+
}
|
|
4197
|
+
fetchAllCorporationMemberTracking(corporationId, concurrency) {
|
|
4198
|
+
return this.fetchAllEndpoint(
|
|
4199
|
+
"getCorporationMemberTracking",
|
|
4200
|
+
[corporationId],
|
|
4201
|
+
concurrency
|
|
4202
|
+
);
|
|
4203
|
+
}
|
|
4204
|
+
fetchAllCorporationRoles(corporationId, concurrency) {
|
|
4205
|
+
return this.fetchAllEndpoint(
|
|
4206
|
+
"getCorporationMemberRoles",
|
|
4207
|
+
[corporationId],
|
|
4208
|
+
concurrency
|
|
4209
|
+
);
|
|
4210
|
+
}
|
|
4211
|
+
fetchAllCorporationRolesHistory(corporationId, concurrency) {
|
|
4212
|
+
return this.fetchAllEndpoint(
|
|
4213
|
+
"getCorporationMemberRolesHistory",
|
|
4214
|
+
[corporationId],
|
|
4215
|
+
concurrency
|
|
4216
|
+
);
|
|
4217
|
+
}
|
|
4218
|
+
fetchAllCorporationShareholders(corporationId, concurrency) {
|
|
4219
|
+
return this.fetchAllEndpoint(
|
|
4220
|
+
"getCorporationShareholders",
|
|
4221
|
+
[corporationId],
|
|
4222
|
+
concurrency
|
|
4223
|
+
);
|
|
4224
|
+
}
|
|
4225
|
+
fetchAllCorporationStandings(corporationId, concurrency) {
|
|
4226
|
+
return this.fetchAllEndpoint(
|
|
4227
|
+
"getCorporationStandings",
|
|
4228
|
+
[corporationId],
|
|
4229
|
+
concurrency
|
|
4230
|
+
);
|
|
4231
|
+
}
|
|
4232
|
+
fetchAllCorporationStarbases(corporationId, concurrency) {
|
|
4233
|
+
return this.fetchAllEndpoint(
|
|
4234
|
+
"getCorporationStarbases",
|
|
4235
|
+
[corporationId],
|
|
4236
|
+
concurrency
|
|
4237
|
+
);
|
|
4238
|
+
}
|
|
4239
|
+
fetchAllCorporationStructures(corporationId, concurrency) {
|
|
4240
|
+
return this.fetchAllEndpoint(
|
|
4241
|
+
"getCorporationStructures",
|
|
4242
|
+
[corporationId],
|
|
4243
|
+
concurrency
|
|
4244
|
+
);
|
|
4245
|
+
}
|
|
4246
|
+
fetchAllCorporationTitles(corporationId, concurrency) {
|
|
4247
|
+
return this.fetchAllEndpoint(
|
|
4248
|
+
"getCorporationTitles",
|
|
4249
|
+
[corporationId],
|
|
4250
|
+
concurrency
|
|
4251
|
+
);
|
|
4252
|
+
}
|
|
4253
|
+
fetchAllNpcCorporations(concurrency) {
|
|
4254
|
+
return this.fetchAllEndpoint("getNpcCorporations", [], concurrency);
|
|
4255
|
+
}
|
|
3878
4256
|
streamCorporationAllianceHistory(corporationId) {
|
|
3879
4257
|
return this.streamEndpoint(
|
|
3880
4258
|
"getCorporationAllianceHistory",
|
|
@@ -4557,6 +4935,13 @@ var FittingsClient = class extends BaseEsiClient {
|
|
|
4557
4935
|
deleteFitting(characterId, fittingId) {
|
|
4558
4936
|
return this.api.deleteFitting(characterId, fittingId);
|
|
4559
4937
|
}
|
|
4938
|
+
fetchAllFittings(characterId, concurrency) {
|
|
4939
|
+
return this.fetchAllEndpoint(
|
|
4940
|
+
"getFittings",
|
|
4941
|
+
[characterId],
|
|
4942
|
+
concurrency
|
|
4943
|
+
);
|
|
4944
|
+
}
|
|
4560
4945
|
streamFittings(characterId) {
|
|
4561
4946
|
return this.streamEndpoint("getFittings", characterId);
|
|
4562
4947
|
}
|
|
@@ -4881,6 +5266,20 @@ var FleetClient = class extends BaseEsiClient {
|
|
|
4881
5266
|
createFleetSquad(fleetId, wingId) {
|
|
4882
5267
|
return this.api.createFleetSquad(fleetId, wingId);
|
|
4883
5268
|
}
|
|
5269
|
+
fetchAllFleetMembers(fleetId, concurrency) {
|
|
5270
|
+
return this.fetchAllEndpoint(
|
|
5271
|
+
"getFleetMembers",
|
|
5272
|
+
[fleetId],
|
|
5273
|
+
concurrency
|
|
5274
|
+
);
|
|
5275
|
+
}
|
|
5276
|
+
fetchAllFleetWings(fleetId, concurrency) {
|
|
5277
|
+
return this.fetchAllEndpoint(
|
|
5278
|
+
"getFleetWings",
|
|
5279
|
+
[fleetId],
|
|
5280
|
+
concurrency
|
|
5281
|
+
);
|
|
5282
|
+
}
|
|
4884
5283
|
streamFleetMembers(fleetId) {
|
|
4885
5284
|
return this.streamEndpoint("getFleetMembers", fleetId);
|
|
4886
5285
|
}
|
|
@@ -5149,6 +5548,62 @@ var IndustryClient = class extends BaseEsiClient {
|
|
|
5149
5548
|
getIndustrySystems() {
|
|
5150
5549
|
return this.api.getIndustrySystems();
|
|
5151
5550
|
}
|
|
5551
|
+
fetchAllCharacterIndustryJobs(characterId, concurrency) {
|
|
5552
|
+
return this.fetchAllEndpoint(
|
|
5553
|
+
"getCharacterIndustryJobs",
|
|
5554
|
+
[characterId],
|
|
5555
|
+
concurrency
|
|
5556
|
+
);
|
|
5557
|
+
}
|
|
5558
|
+
fetchAllCharacterMiningLedger(characterId, concurrency) {
|
|
5559
|
+
return this.fetchAllEndpoint(
|
|
5560
|
+
"getCharacterMiningLedger",
|
|
5561
|
+
[characterId],
|
|
5562
|
+
concurrency
|
|
5563
|
+
);
|
|
5564
|
+
}
|
|
5565
|
+
fetchAllCorporationIndustryJobs(corporationId, concurrency) {
|
|
5566
|
+
return this.fetchAllEndpoint(
|
|
5567
|
+
"getCorporationIndustryJobs",
|
|
5568
|
+
[corporationId],
|
|
5569
|
+
concurrency
|
|
5570
|
+
);
|
|
5571
|
+
}
|
|
5572
|
+
fetchAllMoonExtractionTimers(corporationId, concurrency) {
|
|
5573
|
+
return this.fetchAllEndpoint(
|
|
5574
|
+
"getMoonExtractionTimers",
|
|
5575
|
+
[corporationId],
|
|
5576
|
+
concurrency
|
|
5577
|
+
);
|
|
5578
|
+
}
|
|
5579
|
+
fetchAllCorporationMiningObservers(corporationId, concurrency) {
|
|
5580
|
+
return this.fetchAllEndpoint(
|
|
5581
|
+
"getCorporationMiningObservers",
|
|
5582
|
+
[corporationId],
|
|
5583
|
+
concurrency
|
|
5584
|
+
);
|
|
5585
|
+
}
|
|
5586
|
+
fetchAllCorporationMiningObserver(corporationId, observerId, concurrency) {
|
|
5587
|
+
return this.fetchAllEndpoint(
|
|
5588
|
+
"getCorporationMiningObserver",
|
|
5589
|
+
[corporationId, observerId],
|
|
5590
|
+
concurrency
|
|
5591
|
+
);
|
|
5592
|
+
}
|
|
5593
|
+
fetchAllIndustryFacilities(concurrency) {
|
|
5594
|
+
return this.fetchAllEndpoint(
|
|
5595
|
+
"getIndustryFacilities",
|
|
5596
|
+
[],
|
|
5597
|
+
concurrency
|
|
5598
|
+
);
|
|
5599
|
+
}
|
|
5600
|
+
fetchAllIndustrySystems(concurrency) {
|
|
5601
|
+
return this.fetchAllEndpoint(
|
|
5602
|
+
"getIndustrySystems",
|
|
5603
|
+
[],
|
|
5604
|
+
concurrency
|
|
5605
|
+
);
|
|
5606
|
+
}
|
|
5152
5607
|
streamCharacterIndustryJobs(characterId) {
|
|
5153
5608
|
return this.streamEndpoint(
|
|
5154
5609
|
"getCharacterIndustryJobs",
|
|
@@ -5339,6 +5794,20 @@ var KillmailsClient = class extends BaseEsiClient {
|
|
|
5339
5794
|
getKillmail(killmailId, killmailHash) {
|
|
5340
5795
|
return this.api.getKillmail(killmailId, killmailHash);
|
|
5341
5796
|
}
|
|
5797
|
+
fetchAllCharacterRecentKillmails(characterId, concurrency) {
|
|
5798
|
+
return this.fetchAllEndpoint(
|
|
5799
|
+
"getCharacterRecentKillmails",
|
|
5800
|
+
[characterId],
|
|
5801
|
+
concurrency
|
|
5802
|
+
);
|
|
5803
|
+
}
|
|
5804
|
+
fetchAllCorporationRecentKillmails(corporationId, concurrency) {
|
|
5805
|
+
return this.fetchAllEndpoint(
|
|
5806
|
+
"getCorporationRecentKillmails",
|
|
5807
|
+
[corporationId],
|
|
5808
|
+
concurrency
|
|
5809
|
+
);
|
|
5810
|
+
}
|
|
5342
5811
|
streamCharacterRecentKillmails(characterId) {
|
|
5343
5812
|
return this.streamEndpoint(
|
|
5344
5813
|
"getCharacterRecentKillmails",
|
|
@@ -5502,6 +5971,20 @@ var LoyaltyClient = class extends BaseEsiClient {
|
|
|
5502
5971
|
getLoyaltyStoreOffers(corporationId) {
|
|
5503
5972
|
return this.api.getLoyaltyStoreOffers(corporationId);
|
|
5504
5973
|
}
|
|
5974
|
+
fetchAllLoyaltyPoints(characterId, concurrency) {
|
|
5975
|
+
return this.fetchAllEndpoint(
|
|
5976
|
+
"getLoyaltyPoints",
|
|
5977
|
+
[characterId],
|
|
5978
|
+
concurrency
|
|
5979
|
+
);
|
|
5980
|
+
}
|
|
5981
|
+
fetchAllLoyaltyStoreOffers(corporationId, concurrency) {
|
|
5982
|
+
return this.fetchAllEndpoint(
|
|
5983
|
+
"getLoyaltyStoreOffers",
|
|
5984
|
+
[corporationId],
|
|
5985
|
+
concurrency
|
|
5986
|
+
);
|
|
5987
|
+
}
|
|
5505
5988
|
streamLoyaltyPoints(characterId) {
|
|
5506
5989
|
return this.streamEndpoint("getLoyaltyPoints", characterId);
|
|
5507
5990
|
}
|
|
@@ -5739,6 +6222,20 @@ var MailClient = class extends BaseEsiClient {
|
|
|
5739
6222
|
getMailingLists(characterId) {
|
|
5740
6223
|
return this.api.getMailingLists(characterId);
|
|
5741
6224
|
}
|
|
6225
|
+
fetchAllMailHeaders(characterId, concurrency) {
|
|
6226
|
+
return this.fetchAllEndpoint(
|
|
6227
|
+
"getCharacterMailHeaders",
|
|
6228
|
+
[characterId],
|
|
6229
|
+
concurrency
|
|
6230
|
+
);
|
|
6231
|
+
}
|
|
6232
|
+
fetchAllMailingLists(characterId, concurrency) {
|
|
6233
|
+
return this.fetchAllEndpoint(
|
|
6234
|
+
"getMailingLists",
|
|
6235
|
+
[characterId],
|
|
6236
|
+
concurrency
|
|
6237
|
+
);
|
|
6238
|
+
}
|
|
5742
6239
|
streamMailHeaders(characterId) {
|
|
5743
6240
|
return this.streamEndpoint(
|
|
5744
6241
|
"getCharacterMailHeaders",
|
|
@@ -6063,6 +6560,48 @@ var MarketClient = class extends BaseEsiClient {
|
|
|
6063
6560
|
getMarketOrdersInStructure(structureId) {
|
|
6064
6561
|
return this.api.getMarketOrdersInStructure(structureId);
|
|
6065
6562
|
}
|
|
6563
|
+
fetchAllMarketOrders(regionId, concurrency) {
|
|
6564
|
+
return this.fetchAllEndpoint(
|
|
6565
|
+
"getMarketOrders",
|
|
6566
|
+
[regionId, "all"],
|
|
6567
|
+
concurrency
|
|
6568
|
+
);
|
|
6569
|
+
}
|
|
6570
|
+
fetchAllMarketTypes(regionId, concurrency) {
|
|
6571
|
+
return this.fetchAllEndpoint(
|
|
6572
|
+
"getMarketTypes",
|
|
6573
|
+
[regionId],
|
|
6574
|
+
concurrency
|
|
6575
|
+
);
|
|
6576
|
+
}
|
|
6577
|
+
fetchAllCharacterOrderHistory(characterId, concurrency) {
|
|
6578
|
+
return this.fetchAllEndpoint(
|
|
6579
|
+
"getCharacterOrderHistory",
|
|
6580
|
+
[characterId],
|
|
6581
|
+
concurrency
|
|
6582
|
+
);
|
|
6583
|
+
}
|
|
6584
|
+
fetchAllCorporationOrders(corporationId, concurrency) {
|
|
6585
|
+
return this.fetchAllEndpoint(
|
|
6586
|
+
"getCorporationOrders",
|
|
6587
|
+
[corporationId],
|
|
6588
|
+
concurrency
|
|
6589
|
+
);
|
|
6590
|
+
}
|
|
6591
|
+
fetchAllCorporationOrderHistory(corporationId, concurrency) {
|
|
6592
|
+
return this.fetchAllEndpoint(
|
|
6593
|
+
"getCorporationOrderHistory",
|
|
6594
|
+
[corporationId],
|
|
6595
|
+
concurrency
|
|
6596
|
+
);
|
|
6597
|
+
}
|
|
6598
|
+
fetchAllMarketOrdersInStructure(structureId, concurrency) {
|
|
6599
|
+
return this.fetchAllEndpoint(
|
|
6600
|
+
"getMarketOrdersInStructure",
|
|
6601
|
+
[structureId],
|
|
6602
|
+
concurrency
|
|
6603
|
+
);
|
|
6604
|
+
}
|
|
6066
6605
|
streamMarketOrders(regionId) {
|
|
6067
6606
|
return this.streamEndpoint("getMarketOrders", regionId, "all");
|
|
6068
6607
|
}
|
|
@@ -6515,6 +7054,20 @@ var PiClient = class extends BaseEsiClient {
|
|
|
6515
7054
|
getSchematicInformation(schematicId) {
|
|
6516
7055
|
return this.api.getSchematicInformation(schematicId);
|
|
6517
7056
|
}
|
|
7057
|
+
fetchAllColonies(characterId, concurrency) {
|
|
7058
|
+
return this.fetchAllEndpoint(
|
|
7059
|
+
"getColonies",
|
|
7060
|
+
[characterId],
|
|
7061
|
+
concurrency
|
|
7062
|
+
);
|
|
7063
|
+
}
|
|
7064
|
+
fetchAllCorporationCustomsOffices(corporationId, concurrency) {
|
|
7065
|
+
return this.fetchAllEndpoint(
|
|
7066
|
+
"getCorporationCustomsOffices",
|
|
7067
|
+
[corporationId],
|
|
7068
|
+
concurrency
|
|
7069
|
+
);
|
|
7070
|
+
}
|
|
6518
7071
|
streamColonies(characterId) {
|
|
6519
7072
|
return this.streamEndpoint("getColonies", characterId);
|
|
6520
7073
|
}
|
|
@@ -6687,6 +7240,13 @@ var CharacterSkillsClient = class extends BaseEsiClient {
|
|
|
6687
7240
|
getCharacterSkills(characterId) {
|
|
6688
7241
|
return this.api.getCharacterSkills(characterId);
|
|
6689
7242
|
}
|
|
7243
|
+
fetchAllCharacterSkillQueue(characterId, concurrency) {
|
|
7244
|
+
return this.fetchAllEndpoint(
|
|
7245
|
+
"getCharacterSkillQueue",
|
|
7246
|
+
[characterId],
|
|
7247
|
+
concurrency
|
|
7248
|
+
);
|
|
7249
|
+
}
|
|
6690
7250
|
streamCharacterSkillQueue(characterId) {
|
|
6691
7251
|
return this.streamEndpoint(
|
|
6692
7252
|
"getCharacterSkillQueue",
|
|
@@ -7571,6 +8131,34 @@ var WalletClient = class extends BaseEsiClient {
|
|
|
7571
8131
|
getCorporationWalletTransactions(corporationId, division) {
|
|
7572
8132
|
return this.api.getCorporationWalletTransactions(corporationId, division);
|
|
7573
8133
|
}
|
|
8134
|
+
fetchAllCharacterWalletJournal(characterId, concurrency) {
|
|
8135
|
+
return this.fetchAllEndpoint(
|
|
8136
|
+
"getCharacterWalletJournal",
|
|
8137
|
+
[characterId],
|
|
8138
|
+
concurrency
|
|
8139
|
+
);
|
|
8140
|
+
}
|
|
8141
|
+
fetchAllCorporationWalletJournal(corporationId, division, concurrency) {
|
|
8142
|
+
return this.fetchAllEndpoint(
|
|
8143
|
+
"getCorporationWalletJournal",
|
|
8144
|
+
[corporationId, division],
|
|
8145
|
+
concurrency
|
|
8146
|
+
);
|
|
8147
|
+
}
|
|
8148
|
+
fetchAllCharacterWalletTransactions(characterId, concurrency) {
|
|
8149
|
+
return this.fetchAllEndpoint(
|
|
8150
|
+
"getCharacterWalletTransactions",
|
|
8151
|
+
[characterId],
|
|
8152
|
+
concurrency
|
|
8153
|
+
);
|
|
8154
|
+
}
|
|
8155
|
+
fetchAllCorporationWalletTransactions(corporationId, division, concurrency) {
|
|
8156
|
+
return this.fetchAllEndpoint(
|
|
8157
|
+
"getCorporationWalletTransactions",
|
|
8158
|
+
[corporationId, division],
|
|
8159
|
+
concurrency
|
|
8160
|
+
);
|
|
8161
|
+
}
|
|
7574
8162
|
streamCharacterWalletJournal(characterId) {
|
|
7575
8163
|
return this.streamEndpoint(
|
|
7576
8164
|
"getCharacterWalletJournal",
|
|
@@ -7687,6 +8275,16 @@ var WarsClient = class extends BaseEsiClient {
|
|
|
7687
8275
|
getWarKillmails(warId) {
|
|
7688
8276
|
return this.api.getWarKillmails(warId);
|
|
7689
8277
|
}
|
|
8278
|
+
fetchAllWars(concurrency) {
|
|
8279
|
+
return this.fetchAllEndpoint("getWars", [], concurrency);
|
|
8280
|
+
}
|
|
8281
|
+
fetchAllWarKillmails(warId, concurrency) {
|
|
8282
|
+
return this.fetchAllEndpoint(
|
|
8283
|
+
"getWarKillmails",
|
|
8284
|
+
[warId],
|
|
8285
|
+
concurrency
|
|
8286
|
+
);
|
|
8287
|
+
}
|
|
7690
8288
|
streamWars() {
|
|
7691
8289
|
return this.streamEndpoint("getWars");
|
|
7692
8290
|
}
|
|
@@ -8102,6 +8700,72 @@ var RaidableSkyhookSchema = z62.looseObject({
|
|
|
8102
8700
|
raidable_at: z62.string().optional(),
|
|
8103
8701
|
is_raidable: z62.boolean()
|
|
8104
8702
|
});
|
|
8703
|
+
var SkyhookDetailReagentSchema = z62.looseObject({
|
|
8704
|
+
type_id: z62.number(),
|
|
8705
|
+
secured_stock: z62.number(),
|
|
8706
|
+
unsecured_stock: z62.number(),
|
|
8707
|
+
last_cycle: z62.string()
|
|
8708
|
+
});
|
|
8709
|
+
var SkyhookDetailReinforcementTimerSchema = z62.looseObject({
|
|
8710
|
+
end: z62.string()
|
|
8711
|
+
});
|
|
8712
|
+
var SkyhookDetailTheftVulnerabilitySchema = z62.looseObject({
|
|
8713
|
+
start: z62.string(),
|
|
8714
|
+
end: z62.string()
|
|
8715
|
+
});
|
|
8716
|
+
var SkyhookDetailSchema = z62.looseObject({
|
|
8717
|
+
id: z62.number(),
|
|
8718
|
+
planet_id: z62.number(),
|
|
8719
|
+
state: esiEnum([
|
|
8720
|
+
"Unspecified",
|
|
8721
|
+
"ShieldVulnerable",
|
|
8722
|
+
"ArmorReinforced",
|
|
8723
|
+
"ArmorVulnerable",
|
|
8724
|
+
"HullReinforced",
|
|
8725
|
+
"HullVulnerable"
|
|
8726
|
+
]),
|
|
8727
|
+
is_active: z62.boolean(),
|
|
8728
|
+
effective_workforce: z62.number().optional(),
|
|
8729
|
+
reagents: z62.array(SkyhookDetailReagentSchema).optional(),
|
|
8730
|
+
reinforcement_timer: SkyhookDetailReinforcementTimerSchema.optional(),
|
|
8731
|
+
theft_vulnerability: SkyhookDetailTheftVulnerabilitySchema.optional()
|
|
8732
|
+
});
|
|
8733
|
+
var SovereigntyHubDetailReagentSchema = z62.looseObject({
|
|
8734
|
+
type_id: z62.number(),
|
|
8735
|
+
amount: z62.number(),
|
|
8736
|
+
burning_per_hour: z62.number().optional()
|
|
8737
|
+
});
|
|
8738
|
+
var SovereigntyHubDetailReagentBaySchema = z62.looseObject({
|
|
8739
|
+
last_updated: z62.string(),
|
|
8740
|
+
reagents: z62.array(SovereigntyHubDetailReagentSchema)
|
|
8741
|
+
});
|
|
8742
|
+
var SovereigntyHubDetailResourceSchema = z62.looseObject({
|
|
8743
|
+
available: z62.number().optional(),
|
|
8744
|
+
used: z62.number().optional()
|
|
8745
|
+
});
|
|
8746
|
+
var SovereigntyHubDetailResourcesSchema = z62.looseObject({
|
|
8747
|
+
power: SovereigntyHubDetailResourceSchema,
|
|
8748
|
+
workforce: SovereigntyHubDetailResourceSchema
|
|
8749
|
+
});
|
|
8750
|
+
var SovereigntyHubDetailUpgradeSchema = z62.looseObject({
|
|
8751
|
+
type_id: z62.number(),
|
|
8752
|
+
power_state: esiEnum(["Unspecified", "Online", "Offline", "Low", "Pending"])
|
|
8753
|
+
});
|
|
8754
|
+
var SovereigntyHubDetailVulnerabilityWindowSchema = z62.looseObject({
|
|
8755
|
+
start: z62.string(),
|
|
8756
|
+
end: z62.string()
|
|
8757
|
+
});
|
|
8758
|
+
var SovereigntyHubDetailTransportSchema = z62.looseObject({});
|
|
8759
|
+
var SovereigntyHubDetailSchema = z62.looseObject({
|
|
8760
|
+
id: z62.number(),
|
|
8761
|
+
solar_system_id: z62.number(),
|
|
8762
|
+
upgrades: z62.array(SovereigntyHubDetailUpgradeSchema),
|
|
8763
|
+
reagent_bay: SovereigntyHubDetailReagentBaySchema,
|
|
8764
|
+
resources: SovereigntyHubDetailResourcesSchema,
|
|
8765
|
+
workforce_transport: SovereigntyHubDetailTransportSchema,
|
|
8766
|
+
fuel_access_list_id: z62.number().optional(),
|
|
8767
|
+
vulnerability_window: SovereigntyHubDetailVulnerabilityWindowSchema.optional()
|
|
8768
|
+
});
|
|
8105
8769
|
|
|
8106
8770
|
// src/core/endpoints/skyhookEndpoints.ts
|
|
8107
8771
|
var skyhookEndpoints = {
|
|
@@ -8124,6 +8788,20 @@ var skyhookEndpoints = {
|
|
|
8124
8788
|
method: "GET",
|
|
8125
8789
|
requiresAuth: false,
|
|
8126
8790
|
responseSchema: z63.array(RaidableSkyhookSchema)
|
|
8791
|
+
},
|
|
8792
|
+
getSkyhookDetail: {
|
|
8793
|
+
path: "corporations/{corporationId}/structures/skyhooks/{skyhookId}",
|
|
8794
|
+
method: "GET",
|
|
8795
|
+
requiresAuth: true,
|
|
8796
|
+
pathParams: ["corporationId", "skyhookId"],
|
|
8797
|
+
responseSchema: SkyhookDetailSchema
|
|
8798
|
+
},
|
|
8799
|
+
getSovereigntyHubDetail: {
|
|
8800
|
+
path: "corporations/{corporationId}/structures/sovereignty-hubs/{sovereigntyHubId}",
|
|
8801
|
+
method: "GET",
|
|
8802
|
+
requiresAuth: true,
|
|
8803
|
+
pathParams: ["corporationId", "sovereigntyHubId"],
|
|
8804
|
+
responseSchema: SovereigntyHubDetailSchema
|
|
8127
8805
|
}
|
|
8128
8806
|
};
|
|
8129
8807
|
|
|
@@ -8160,6 +8838,28 @@ var SkyhooksClient = class extends BaseEsiClient {
|
|
|
8160
8838
|
getRaidableSkyhooks() {
|
|
8161
8839
|
return this.api.getRaidableSkyhooks();
|
|
8162
8840
|
}
|
|
8841
|
+
/**
|
|
8842
|
+
* Retrieves detail for a specific skyhook including reagents, reinforcement timer, and theft vulnerability.
|
|
8843
|
+
*
|
|
8844
|
+
* @param corporationId - The ID of the corporation
|
|
8845
|
+
* @param skyhookId - The ID of the skyhook
|
|
8846
|
+
* @returns Skyhook detail
|
|
8847
|
+
* @requires Authentication
|
|
8848
|
+
*/
|
|
8849
|
+
getSkyhookDetail(corporationId, skyhookId) {
|
|
8850
|
+
return this.api.getSkyhookDetail(corporationId, skyhookId);
|
|
8851
|
+
}
|
|
8852
|
+
/**
|
|
8853
|
+
* Retrieves detail for a specific sovereignty hub including reagent bay, resources, upgrades, and vulnerability window.
|
|
8854
|
+
*
|
|
8855
|
+
* @param corporationId - The ID of the corporation
|
|
8856
|
+
* @param sovereigntyHubId - The ID of the sovereignty hub
|
|
8857
|
+
* @returns Sovereignty hub detail
|
|
8858
|
+
* @requires Authentication
|
|
8859
|
+
*/
|
|
8860
|
+
getSovereigntyHubDetail(corporationId, sovereigntyHubId) {
|
|
8861
|
+
return this.api.getSovereigntyHubDetail(corporationId, sovereigntyHubId);
|
|
8862
|
+
}
|
|
8163
8863
|
};
|
|
8164
8864
|
|
|
8165
8865
|
// src/core/endpoints/mercenaryEndpoints.ts
|
|
@@ -8185,6 +8885,48 @@ var MercenaryTacticalOperationSchema = z64.looseObject({
|
|
|
8185
8885
|
started_at: z64.string().optional(),
|
|
8186
8886
|
expires_at: z64.string().optional()
|
|
8187
8887
|
});
|
|
8888
|
+
var MercenaryDenDetailEvolutionLevelSchema = z64.looseObject({
|
|
8889
|
+
level: z64.number().optional(),
|
|
8890
|
+
progress: z64.number().optional()
|
|
8891
|
+
});
|
|
8892
|
+
var MercenaryDenDetailEvolutionSchema = z64.looseObject({
|
|
8893
|
+
development: MercenaryDenDetailEvolutionLevelSchema,
|
|
8894
|
+
anarchy: MercenaryDenDetailEvolutionLevelSchema
|
|
8895
|
+
});
|
|
8896
|
+
var MercenaryDenDetailInfomorphsSchema = z64.looseObject({
|
|
8897
|
+
amount: z64.number()
|
|
8898
|
+
});
|
|
8899
|
+
var MercenaryDenDetailReinforcementTimerSchema = z64.looseObject({
|
|
8900
|
+
end: z64.string()
|
|
8901
|
+
});
|
|
8902
|
+
var MercenaryDenDetailSkyhookSchema = z64.looseObject({
|
|
8903
|
+
id: z64.number(),
|
|
8904
|
+
planet_id: z64.number(),
|
|
8905
|
+
corporation_id: z64.number()
|
|
8906
|
+
});
|
|
8907
|
+
var MercenaryDenDetailSchema = z64.looseObject({
|
|
8908
|
+
id: z64.number(),
|
|
8909
|
+
type_id: z64.number(),
|
|
8910
|
+
state: esiEnum(["Unspecified", "Running", "Paused", "Disabled"]),
|
|
8911
|
+
skyhook: MercenaryDenDetailSkyhookSchema,
|
|
8912
|
+
infomorphs: MercenaryDenDetailInfomorphsSchema,
|
|
8913
|
+
evolution: MercenaryDenDetailEvolutionSchema,
|
|
8914
|
+
reinforcement_timer: MercenaryDenDetailReinforcementTimerSchema.optional()
|
|
8915
|
+
});
|
|
8916
|
+
var MercenaryTacticalOperationDetailSchema = z64.looseObject({
|
|
8917
|
+
id: z64.string(),
|
|
8918
|
+
mercenary_den_id: z64.number(),
|
|
8919
|
+
state: esiEnum([
|
|
8920
|
+
"Unspecified",
|
|
8921
|
+
"Available",
|
|
8922
|
+
"Started",
|
|
8923
|
+
"Completed",
|
|
8924
|
+
"Expired",
|
|
8925
|
+
"Removed"
|
|
8926
|
+
]),
|
|
8927
|
+
dungeon_type_id: z64.number(),
|
|
8928
|
+
expires: z64.string()
|
|
8929
|
+
});
|
|
8188
8930
|
|
|
8189
8931
|
// src/core/endpoints/mercenaryEndpoints.ts
|
|
8190
8932
|
var mercenaryEndpoints = {
|
|
@@ -8201,6 +8943,20 @@ var mercenaryEndpoints = {
|
|
|
8201
8943
|
requiresAuth: true,
|
|
8202
8944
|
pathParams: ["characterId"],
|
|
8203
8945
|
responseSchema: z65.array(MercenaryTacticalOperationSchema)
|
|
8946
|
+
},
|
|
8947
|
+
getMercenaryDenDetail: {
|
|
8948
|
+
path: "characters/{characterId}/structures/mercenary-dens/{mercenaryDenId}",
|
|
8949
|
+
method: "GET",
|
|
8950
|
+
requiresAuth: true,
|
|
8951
|
+
pathParams: ["characterId", "mercenaryDenId"],
|
|
8952
|
+
responseSchema: MercenaryDenDetailSchema
|
|
8953
|
+
},
|
|
8954
|
+
getMercenaryTacticalOperationDetail: {
|
|
8955
|
+
path: "characters/{characterId}/mercenary-tactical-operations/{operationId}",
|
|
8956
|
+
method: "GET",
|
|
8957
|
+
requiresAuth: true,
|
|
8958
|
+
pathParams: ["characterId", "operationId"],
|
|
8959
|
+
responseSchema: MercenaryTacticalOperationDetailSchema
|
|
8204
8960
|
}
|
|
8205
8961
|
};
|
|
8206
8962
|
|
|
@@ -8229,6 +8985,31 @@ var MercenaryClient = class extends BaseEsiClient {
|
|
|
8229
8985
|
getMercenaryTacticalOperations(characterId) {
|
|
8230
8986
|
return this.api.getMercenaryTacticalOperations(characterId);
|
|
8231
8987
|
}
|
|
8988
|
+
/**
|
|
8989
|
+
* Retrieves detail for a specific mercenary den including evolution, infomorphs, and skyhook attachment.
|
|
8990
|
+
*
|
|
8991
|
+
* @param characterId - The ID of the character
|
|
8992
|
+
* @param mercenaryDenId - The ID of the mercenary den
|
|
8993
|
+
* @returns Mercenary den detail
|
|
8994
|
+
* @requires Authentication
|
|
8995
|
+
*/
|
|
8996
|
+
getMercenaryDenDetail(characterId, mercenaryDenId) {
|
|
8997
|
+
return this.api.getMercenaryDenDetail(characterId, mercenaryDenId);
|
|
8998
|
+
}
|
|
8999
|
+
/**
|
|
9000
|
+
* Retrieves detail for a specific mercenary tactical operation.
|
|
9001
|
+
*
|
|
9002
|
+
* @param characterId - The ID of the character
|
|
9003
|
+
* @param operationId - The UUID of the tactical operation
|
|
9004
|
+
* @returns Mercenary tactical operation detail
|
|
9005
|
+
* @requires Authentication
|
|
9006
|
+
*/
|
|
9007
|
+
getMercenaryTacticalOperationDetail(characterId, operationId) {
|
|
9008
|
+
return this.api.getMercenaryTacticalOperationDetail(
|
|
9009
|
+
characterId,
|
|
9010
|
+
operationId
|
|
9011
|
+
);
|
|
9012
|
+
}
|
|
8232
9013
|
};
|
|
8233
9014
|
|
|
8234
9015
|
// src/core/endpoints/accessListEndpoints.ts
|
|
@@ -8293,34 +9074,239 @@ var AccessListsClient = class extends BaseEsiClient {
|
|
|
8293
9074
|
}
|
|
8294
9075
|
};
|
|
8295
9076
|
|
|
8296
|
-
// src/
|
|
9077
|
+
// src/schemas/cosmetics.ts
|
|
9078
|
+
import { z as z68 } from "zod";
|
|
9079
|
+
var SkinrLicenseSchema = z68.looseObject({
|
|
9080
|
+
skinr_id: z68.string(),
|
|
9081
|
+
activated: z68.boolean(),
|
|
9082
|
+
unactivated: z68.number()
|
|
9083
|
+
});
|
|
9084
|
+
var CharacterSkinrSchema = z68.looseObject({
|
|
9085
|
+
licenses: z68.array(SkinrLicenseSchema)
|
|
9086
|
+
});
|
|
9087
|
+
var SkinrComponentRunsSchema = z68.looseObject({
|
|
9088
|
+
remaining: z68.number().optional(),
|
|
9089
|
+
unlimited: z68.boolean().optional()
|
|
9090
|
+
});
|
|
9091
|
+
var SkinrComponentLicenseSchema = z68.looseObject({
|
|
9092
|
+
component_id: z68.number(),
|
|
9093
|
+
type: esiEnum(["nanocoating", "pattern"]),
|
|
9094
|
+
runs: SkinrComponentRunsSchema
|
|
9095
|
+
});
|
|
9096
|
+
var CharacterSkinrComponentsSchema = z68.looseObject({
|
|
9097
|
+
licenses: z68.array(SkinrComponentLicenseSchema)
|
|
9098
|
+
});
|
|
9099
|
+
var SkinrTierSchema = z68.looseObject({
|
|
9100
|
+
level: z68.number()
|
|
9101
|
+
});
|
|
9102
|
+
var SkinrLayoutSlotSchema = z68.looseObject({});
|
|
9103
|
+
var SkinrLayoutSchema = z68.looseObject({
|
|
9104
|
+
slots: z68.array(SkinrLayoutSlotSchema),
|
|
9105
|
+
pattern_blend_mode: esiEnum([
|
|
9106
|
+
"normal",
|
|
9107
|
+
"subtract",
|
|
9108
|
+
"exclusion",
|
|
9109
|
+
"nested",
|
|
9110
|
+
"nested_inverted"
|
|
9111
|
+
])
|
|
9112
|
+
});
|
|
9113
|
+
var SkinrSchema = z68.looseObject({
|
|
9114
|
+
id: z68.string(),
|
|
9115
|
+
name: z68.string(),
|
|
9116
|
+
creator_id: z68.number(),
|
|
9117
|
+
ship_type_id: z68.number(),
|
|
9118
|
+
line: z68.string().optional(),
|
|
9119
|
+
tier: SkinrTierSchema,
|
|
9120
|
+
layout: SkinrLayoutSchema
|
|
9121
|
+
});
|
|
9122
|
+
|
|
9123
|
+
// src/core/endpoints/cosmeticsEndpoints.ts
|
|
9124
|
+
var cosmeticsEndpoints = {
|
|
9125
|
+
getCharacterSkinr: {
|
|
9126
|
+
path: "characters/{characterId}/cosmetics/skinr",
|
|
9127
|
+
method: "GET",
|
|
9128
|
+
requiresAuth: true,
|
|
9129
|
+
pathParams: ["characterId"],
|
|
9130
|
+
responseSchema: CharacterSkinrSchema
|
|
9131
|
+
},
|
|
9132
|
+
getCharacterSkinrComponents: {
|
|
9133
|
+
path: "characters/{characterId}/cosmetics/skinr/components",
|
|
9134
|
+
method: "GET",
|
|
9135
|
+
requiresAuth: true,
|
|
9136
|
+
pathParams: ["characterId"],
|
|
9137
|
+
responseSchema: CharacterSkinrComponentsSchema
|
|
9138
|
+
},
|
|
9139
|
+
getSkinr: {
|
|
9140
|
+
path: "cosmetics/skinr/{skinrId}",
|
|
9141
|
+
method: "GET",
|
|
9142
|
+
requiresAuth: false,
|
|
9143
|
+
pathParams: ["skinrId"],
|
|
9144
|
+
responseSchema: SkinrSchema
|
|
9145
|
+
}
|
|
9146
|
+
};
|
|
9147
|
+
|
|
9148
|
+
// src/clients/CosmeticsClient.ts
|
|
9149
|
+
var CosmeticsClient = class extends BaseEsiClient {
|
|
9150
|
+
constructor(client) {
|
|
9151
|
+
super(client, cosmeticsEndpoints);
|
|
9152
|
+
}
|
|
9153
|
+
getCharacterSkinr(characterId) {
|
|
9154
|
+
return this.api.getCharacterSkinr(characterId);
|
|
9155
|
+
}
|
|
9156
|
+
getCharacterSkinrComponents(characterId) {
|
|
9157
|
+
return this.api.getCharacterSkinrComponents(characterId);
|
|
9158
|
+
}
|
|
9159
|
+
getSkinr(skinrId) {
|
|
9160
|
+
return this.api.getSkinr(skinrId);
|
|
9161
|
+
}
|
|
9162
|
+
};
|
|
9163
|
+
|
|
9164
|
+
// src/schemas/paragon-hub.ts
|
|
8297
9165
|
import { z as z69 } from "zod";
|
|
9166
|
+
var ParagonHubCursorSchema = z69.looseObject({
|
|
9167
|
+
after: z69.string().optional(),
|
|
9168
|
+
before: z69.string().optional()
|
|
9169
|
+
});
|
|
9170
|
+
var ParagonHubSkinrPriceSchema = z69.looseObject({
|
|
9171
|
+
isk: z69.number().optional(),
|
|
9172
|
+
plex: z69.number().optional()
|
|
9173
|
+
});
|
|
9174
|
+
var ParagonHubSkinrListingSchema = z69.looseObject({
|
|
9175
|
+
id: z69.string(),
|
|
9176
|
+
state: esiEnum(["listed", "sold_out", "expired", "removed"]),
|
|
9177
|
+
last_modified: z69.string(),
|
|
9178
|
+
seller_id: z69.number(),
|
|
9179
|
+
skinr_id: z69.string(),
|
|
9180
|
+
created: z69.string(),
|
|
9181
|
+
expires: z69.string(),
|
|
9182
|
+
quantity: z69.number(),
|
|
9183
|
+
price: ParagonHubSkinrPriceSchema
|
|
9184
|
+
});
|
|
9185
|
+
var ParagonHubSkinrTargetSchema = z69.looseObject({
|
|
9186
|
+
character_id: z69.number().optional(),
|
|
9187
|
+
corporation_id: z69.number().optional(),
|
|
9188
|
+
alliance_id: z69.number().optional(),
|
|
9189
|
+
public: z69.boolean().optional()
|
|
9190
|
+
});
|
|
9191
|
+
var ParagonHubCharacterListingSchema = z69.looseObject({
|
|
9192
|
+
id: z69.string(),
|
|
9193
|
+
state: esiEnum(["listed", "sold_out", "expired", "removed"]),
|
|
9194
|
+
last_modified: z69.string(),
|
|
9195
|
+
seller_id: z69.number(),
|
|
9196
|
+
skinr_id: z69.string(),
|
|
9197
|
+
created: z69.string(),
|
|
9198
|
+
expires: z69.string(),
|
|
9199
|
+
quantity: z69.number(),
|
|
9200
|
+
price: ParagonHubSkinrPriceSchema,
|
|
9201
|
+
target: ParagonHubSkinrTargetSchema
|
|
9202
|
+
});
|
|
9203
|
+
var ParagonHubSkinrResponseSchema = z69.looseObject({
|
|
9204
|
+
cursor: ParagonHubCursorSchema.optional(),
|
|
9205
|
+
listings: z69.array(ParagonHubSkinrListingSchema)
|
|
9206
|
+
});
|
|
9207
|
+
var ParagonHubCharacterSkinrResponseSchema = z69.looseObject({
|
|
9208
|
+
cursor: ParagonHubCursorSchema.optional(),
|
|
9209
|
+
listings: z69.array(ParagonHubCharacterListingSchema)
|
|
9210
|
+
});
|
|
9211
|
+
|
|
9212
|
+
// src/core/endpoints/paragonHubEndpoints.ts
|
|
9213
|
+
var paragonHubEndpoints = {
|
|
9214
|
+
getPublicListings: {
|
|
9215
|
+
path: "paragon-hub/skinr",
|
|
9216
|
+
method: "GET",
|
|
9217
|
+
requiresAuth: false,
|
|
9218
|
+
queryParams: { after: "after", before: "before", limit: "limit" },
|
|
9219
|
+
responseSchema: ParagonHubSkinrResponseSchema
|
|
9220
|
+
},
|
|
9221
|
+
getCharacterListings: {
|
|
9222
|
+
path: "characters/{characterId}/paragon-hub/skinr",
|
|
9223
|
+
method: "GET",
|
|
9224
|
+
requiresAuth: true,
|
|
9225
|
+
pathParams: ["characterId"],
|
|
9226
|
+
queryParams: { after: "after", before: "before", limit: "limit" },
|
|
9227
|
+
responseSchema: ParagonHubCharacterSkinrResponseSchema
|
|
9228
|
+
},
|
|
9229
|
+
getAllianceListings: {
|
|
9230
|
+
path: "paragon-hub/skinr/alliances/{allianceId}",
|
|
9231
|
+
method: "GET",
|
|
9232
|
+
requiresAuth: true,
|
|
9233
|
+
pathParams: ["allianceId"],
|
|
9234
|
+
queryParams: { after: "after", before: "before", limit: "limit" },
|
|
9235
|
+
responseSchema: ParagonHubSkinrResponseSchema
|
|
9236
|
+
},
|
|
9237
|
+
getCharacterTargetedListings: {
|
|
9238
|
+
path: "paragon-hub/skinr/characters/{characterId}",
|
|
9239
|
+
method: "GET",
|
|
9240
|
+
requiresAuth: true,
|
|
9241
|
+
pathParams: ["characterId"],
|
|
9242
|
+
queryParams: { after: "after", before: "before", limit: "limit" },
|
|
9243
|
+
responseSchema: ParagonHubSkinrResponseSchema
|
|
9244
|
+
},
|
|
9245
|
+
getCorporationListings: {
|
|
9246
|
+
path: "paragon-hub/skinr/corporations/{corporationId}",
|
|
9247
|
+
method: "GET",
|
|
9248
|
+
requiresAuth: true,
|
|
9249
|
+
pathParams: ["corporationId"],
|
|
9250
|
+
queryParams: { after: "after", before: "before", limit: "limit" },
|
|
9251
|
+
responseSchema: ParagonHubSkinrResponseSchema
|
|
9252
|
+
}
|
|
9253
|
+
};
|
|
9254
|
+
|
|
9255
|
+
// src/clients/ParagonHubClient.ts
|
|
9256
|
+
var ParagonHubClient = class extends BaseEsiClient {
|
|
9257
|
+
constructor(client) {
|
|
9258
|
+
super(client, paragonHubEndpoints);
|
|
9259
|
+
}
|
|
9260
|
+
getPublicListings(after, before, limit) {
|
|
9261
|
+
return this.api.getPublicListings(after, before, limit);
|
|
9262
|
+
}
|
|
9263
|
+
getCharacterListings(characterId, after, before, limit) {
|
|
9264
|
+
return this.api.getCharacterListings(characterId, after, before, limit);
|
|
9265
|
+
}
|
|
9266
|
+
getAllianceListings(allianceId, after, before, limit) {
|
|
9267
|
+
return this.api.getAllianceListings(allianceId, after, before, limit);
|
|
9268
|
+
}
|
|
9269
|
+
getCharacterTargetedListings(characterId, after, before, limit) {
|
|
9270
|
+
return this.api.getCharacterTargetedListings(
|
|
9271
|
+
characterId,
|
|
9272
|
+
after,
|
|
9273
|
+
before,
|
|
9274
|
+
limit
|
|
9275
|
+
);
|
|
9276
|
+
}
|
|
9277
|
+
getCorporationListings(corporationId, after, before, limit) {
|
|
9278
|
+
return this.api.getCorporationListings(corporationId, after, before, limit);
|
|
9279
|
+
}
|
|
9280
|
+
};
|
|
9281
|
+
|
|
9282
|
+
// src/core/endpoints/militaryCampaignEndpoints.ts
|
|
9283
|
+
import { z as z71 } from "zod";
|
|
8298
9284
|
|
|
8299
9285
|
// src/schemas/military-campaigns.ts
|
|
8300
|
-
import { z as
|
|
8301
|
-
var MilitaryCampaignSchema =
|
|
8302
|
-
campaign_id:
|
|
8303
|
-
state:
|
|
8304
|
-
progress:
|
|
8305
|
-
start_time:
|
|
8306
|
-
finish_time:
|
|
8307
|
-
});
|
|
8308
|
-
var MilitaryCampaignObjectiveSchema =
|
|
8309
|
-
objective_id:
|
|
8310
|
-
campaign_id:
|
|
8311
|
-
state:
|
|
8312
|
-
progress:
|
|
8313
|
-
participants:
|
|
8314
|
-
total:
|
|
8315
|
-
committed:
|
|
8316
|
-
contributors:
|
|
9286
|
+
import { z as z70 } from "zod";
|
|
9287
|
+
var MilitaryCampaignSchema = z70.looseObject({
|
|
9288
|
+
campaign_id: z70.string(),
|
|
9289
|
+
state: z70.string(),
|
|
9290
|
+
progress: z70.number(),
|
|
9291
|
+
start_time: z70.string(),
|
|
9292
|
+
finish_time: z70.string().optional()
|
|
9293
|
+
});
|
|
9294
|
+
var MilitaryCampaignObjectiveSchema = z70.looseObject({
|
|
9295
|
+
objective_id: z70.string(),
|
|
9296
|
+
campaign_id: z70.string(),
|
|
9297
|
+
state: z70.string(),
|
|
9298
|
+
progress: z70.number(),
|
|
9299
|
+
participants: z70.looseObject({
|
|
9300
|
+
total: z70.number(),
|
|
9301
|
+
committed: z70.number(),
|
|
9302
|
+
contributors: z70.number()
|
|
8317
9303
|
})
|
|
8318
9304
|
});
|
|
8319
|
-
var CharacterMilitaryCampaignObjectiveSchema =
|
|
8320
|
-
objective_id:
|
|
8321
|
-
campaign_id:
|
|
8322
|
-
committed:
|
|
8323
|
-
contribution:
|
|
9305
|
+
var CharacterMilitaryCampaignObjectiveSchema = z70.looseObject({
|
|
9306
|
+
objective_id: z70.string(),
|
|
9307
|
+
campaign_id: z70.string(),
|
|
9308
|
+
committed: z70.boolean(),
|
|
9309
|
+
contribution: z70.number()
|
|
8324
9310
|
});
|
|
8325
9311
|
|
|
8326
9312
|
// src/core/endpoints/militaryCampaignEndpoints.ts
|
|
@@ -8329,7 +9315,7 @@ var militaryCampaignEndpoints = {
|
|
|
8329
9315
|
path: "military-campaigns",
|
|
8330
9316
|
method: "GET",
|
|
8331
9317
|
requiresAuth: false,
|
|
8332
|
-
responseSchema:
|
|
9318
|
+
responseSchema: z71.array(MilitaryCampaignSchema)
|
|
8333
9319
|
},
|
|
8334
9320
|
getMilitaryCampaign: {
|
|
8335
9321
|
path: "military-campaigns/{campaignId}",
|
|
@@ -8343,7 +9329,7 @@ var militaryCampaignEndpoints = {
|
|
|
8343
9329
|
method: "GET",
|
|
8344
9330
|
requiresAuth: false,
|
|
8345
9331
|
pathParams: ["campaignId"],
|
|
8346
|
-
responseSchema:
|
|
9332
|
+
responseSchema: z71.array(MilitaryCampaignObjectiveSchema)
|
|
8347
9333
|
},
|
|
8348
9334
|
getMilitaryCampaignObjective: {
|
|
8349
9335
|
path: "military-campaigns/{campaignId}/objectives/{objectiveId}",
|
|
@@ -8357,7 +9343,7 @@ var militaryCampaignEndpoints = {
|
|
|
8357
9343
|
method: "GET",
|
|
8358
9344
|
requiresAuth: true,
|
|
8359
9345
|
pathParams: ["characterId"],
|
|
8360
|
-
responseSchema:
|
|
9346
|
+
responseSchema: z71.array(CharacterMilitaryCampaignObjectiveSchema)
|
|
8361
9347
|
},
|
|
8362
9348
|
getCharacterMilitaryCampaignObjective: {
|
|
8363
9349
|
path: "characters/{characterId}/military-campaigns/objectives/{objectiveId}",
|
|
@@ -8471,6 +9457,8 @@ var clientFactories = {
|
|
|
8471
9457
|
meta: MetaClient,
|
|
8472
9458
|
freelanceJobs: FreelanceJobsClient,
|
|
8473
9459
|
skyhooks: SkyhooksClient,
|
|
9460
|
+
cosmetics: CosmeticsClient,
|
|
9461
|
+
paragonHub: ParagonHubClient,
|
|
8474
9462
|
mercenary: MercenaryClient,
|
|
8475
9463
|
militaryCampaigns: MilitaryCampaignsClient,
|
|
8476
9464
|
accessLists: AccessListsClient
|
|
@@ -8882,8 +9870,8 @@ var esiRateLimitGroups = {
|
|
|
8882
9870
|
"PUT:fleets/{fleet_id}/wings/{wing_id}": { group: "fleet", maxTokens: 1800, windowSizeMs: 9e5 },
|
|
8883
9871
|
"DELETE:fleets/{fleet_id}/wings/{wing_id}": { group: "fleet", maxTokens: 1800, windowSizeMs: 9e5 },
|
|
8884
9872
|
"POST:fleets/{fleet_id}/wings/{wing_id}/squads": { group: "fleet", maxTokens: 1800, windowSizeMs: 9e5 },
|
|
8885
|
-
"GET:freelance-jobs": { group: "freelance-job", maxTokens:
|
|
8886
|
-
"GET:freelance-jobs/{job_id}": { group: "freelance-job", maxTokens:
|
|
9873
|
+
"GET:freelance-jobs": { group: "freelance-job", maxTokens: 12e3, windowSizeMs: 9e5 },
|
|
9874
|
+
"GET:freelance-jobs/{job_id}": { group: "freelance-job", maxTokens: 12e3, windowSizeMs: 9e5 },
|
|
8887
9875
|
"GET:fw/leaderboards": { group: "factional-warfare", maxTokens: 150, windowSizeMs: 9e5 },
|
|
8888
9876
|
"GET:fw/leaderboards/characters": { group: "factional-warfare", maxTokens: 150, windowSizeMs: 9e5 },
|
|
8889
9877
|
"GET:fw/leaderboards/corporations": { group: "factional-warfare", maxTokens: 150, windowSizeMs: 9e5 },
|
|
@@ -8928,6 +9916,7 @@ var RateLimiter = class _RateLimiter {
|
|
|
8928
9916
|
minDelayMs;
|
|
8929
9917
|
decelerationThreshold;
|
|
8930
9918
|
userKeyExtractor;
|
|
9919
|
+
endpointOverrides;
|
|
8931
9920
|
lastRequestTime = 0;
|
|
8932
9921
|
minDelayChain = Promise.resolve();
|
|
8933
9922
|
isTestMode = false;
|
|
@@ -8941,6 +9930,7 @@ var RateLimiter = class _RateLimiter {
|
|
|
8941
9930
|
this.minDelayMs = config?.minDelayMs ?? 50;
|
|
8942
9931
|
this.decelerationThreshold = config?.decelerationThreshold ?? 0.2;
|
|
8943
9932
|
this.userKeyExtractor = config?.userKeyExtractor;
|
|
9933
|
+
this.endpointOverrides = config?.endpointOverrides ?? {};
|
|
8944
9934
|
if (this.userKeyExtractor) {
|
|
8945
9935
|
this.userBuckets = /* @__PURE__ */ new Map();
|
|
8946
9936
|
}
|
|
@@ -8983,6 +9973,14 @@ var RateLimiter = class _RateLimiter {
|
|
|
8983
9973
|
if (!templatePath || !method) return void 0;
|
|
8984
9974
|
const normalized = templatePath.replace(/\/$/, "").replace(/\{(\w+)\}/g, (_, name) => `{${camelToSnake(name)}}`);
|
|
8985
9975
|
const key = `${method}:${normalized}`;
|
|
9976
|
+
const override = this.endpointOverrides[key];
|
|
9977
|
+
if (override) {
|
|
9978
|
+
return {
|
|
9979
|
+
group: `endpoint:${key}`,
|
|
9980
|
+
maxTokens: override.maxTokens,
|
|
9981
|
+
windowSizeMs: override.windowSizeMs
|
|
9982
|
+
};
|
|
9983
|
+
}
|
|
8986
9984
|
return esiRateLimitGroups[key];
|
|
8987
9985
|
}
|
|
8988
9986
|
resolveUserSet(requestHeaders) {
|
|
@@ -9465,6 +10463,12 @@ var EsiClient = class {
|
|
|
9465
10463
|
get freelanceJobs() {
|
|
9466
10464
|
return this.getClient("freelanceJobs");
|
|
9467
10465
|
}
|
|
10466
|
+
get cosmetics() {
|
|
10467
|
+
return this.getClient("cosmetics");
|
|
10468
|
+
}
|
|
10469
|
+
get paragonHub() {
|
|
10470
|
+
return this.getClient("paragonHub");
|
|
10471
|
+
}
|
|
9468
10472
|
get skyhooks() {
|
|
9469
10473
|
return this.getClient("skyhooks");
|
|
9470
10474
|
}
|
|
@@ -9841,6 +10845,7 @@ var ApiClientBuilder = class {
|
|
|
9841
10845
|
cache;
|
|
9842
10846
|
circuitBreaker;
|
|
9843
10847
|
_timeout;
|
|
10848
|
+
_fetch;
|
|
9844
10849
|
setClientId(clientId) {
|
|
9845
10850
|
this.clientId = clientId;
|
|
9846
10851
|
return this;
|
|
@@ -9869,12 +10874,17 @@ var ApiClientBuilder = class {
|
|
|
9869
10874
|
this._timeout = timeout;
|
|
9870
10875
|
return this;
|
|
9871
10876
|
}
|
|
10877
|
+
setFetch(fn) {
|
|
10878
|
+
this._fetch = fn;
|
|
10879
|
+
return this;
|
|
10880
|
+
}
|
|
9872
10881
|
build() {
|
|
9873
10882
|
const client = new ApiClient(this.clientId, this.link, this.accessToken);
|
|
9874
10883
|
client.setRateLimiter(this.rateLimiter ?? new RateLimiter());
|
|
9875
10884
|
if (this.cache) client.setCache(this.cache);
|
|
9876
10885
|
if (this.circuitBreaker) client.setCircuitBreaker(this.circuitBreaker);
|
|
9877
10886
|
if (this._timeout !== void 0) client.setTimeout(this._timeout);
|
|
10887
|
+
if (this._fetch) client.setFetch(this._fetch);
|
|
9878
10888
|
return client;
|
|
9879
10889
|
}
|
|
9880
10890
|
};
|
|
@@ -10010,6 +11020,19 @@ var esiEndpointScopes = {
|
|
|
10010
11020
|
"GET:universe/structures/{structure_id}": ["esi-universe.read_structures.v1"]
|
|
10011
11021
|
};
|
|
10012
11022
|
|
|
11023
|
+
// src/core/logger/NoopLogger.ts
|
|
11024
|
+
var noop = () => {
|
|
11025
|
+
};
|
|
11026
|
+
var noopLogger = {
|
|
11027
|
+
info: noop,
|
|
11028
|
+
warn: noop,
|
|
11029
|
+
error: noop,
|
|
11030
|
+
debug: noop
|
|
11031
|
+
};
|
|
11032
|
+
function createNoopLogger() {
|
|
11033
|
+
return noopLogger;
|
|
11034
|
+
}
|
|
11035
|
+
|
|
10013
11036
|
// src/types/branded.ts
|
|
10014
11037
|
function brand(value) {
|
|
10015
11038
|
return value;
|
|
@@ -10054,6 +11077,8 @@ __export(schemas_exports, {
|
|
|
10054
11077
|
CharacterShipSchema: () => CharacterShipSchema,
|
|
10055
11078
|
CharacterSkillSchema: () => CharacterSkillSchema,
|
|
10056
11079
|
CharacterSkillsResponseSchema: () => CharacterSkillsResponseSchema,
|
|
11080
|
+
CharacterSkinrComponentsSchema: () => CharacterSkinrComponentsSchema,
|
|
11081
|
+
CharacterSkinrSchema: () => CharacterSkinrSchema,
|
|
10057
11082
|
CharacterTitleSchema: () => CharacterTitleSchema,
|
|
10058
11083
|
CloneInfoSchema: () => CloneInfoSchema,
|
|
10059
11084
|
ColonyLayoutSchema: () => ColonyLayoutSchema,
|
|
@@ -10134,7 +11159,13 @@ __export(schemas_exports, {
|
|
|
10134
11159
|
MarketOrderSchema: () => MarketOrderSchema,
|
|
10135
11160
|
MarketPriceSchema: () => MarketPriceSchema,
|
|
10136
11161
|
MedalSchema: () => MedalSchema,
|
|
11162
|
+
MercenaryDenDetailEvolutionSchema: () => MercenaryDenDetailEvolutionSchema,
|
|
11163
|
+
MercenaryDenDetailInfomorphsSchema: () => MercenaryDenDetailInfomorphsSchema,
|
|
11164
|
+
MercenaryDenDetailReinforcementTimerSchema: () => MercenaryDenDetailReinforcementTimerSchema,
|
|
11165
|
+
MercenaryDenDetailSchema: () => MercenaryDenDetailSchema,
|
|
11166
|
+
MercenaryDenDetailSkyhookSchema: () => MercenaryDenDetailSkyhookSchema,
|
|
10137
11167
|
MercenaryDenSchema: () => MercenaryDenSchema,
|
|
11168
|
+
MercenaryTacticalOperationDetailSchema: () => MercenaryTacticalOperationDetailSchema,
|
|
10138
11169
|
MercenaryTacticalOperationSchema: () => MercenaryTacticalOperationSchema,
|
|
10139
11170
|
MetaChangelogEntrySchema: () => MetaChangelogEntrySchema,
|
|
10140
11171
|
MetaChangelogSchema: () => MetaChangelogSchema,
|
|
@@ -10151,6 +11182,13 @@ __export(schemas_exports, {
|
|
|
10151
11182
|
NameAndCategorySchema: () => NameAndCategorySchema,
|
|
10152
11183
|
NotificationSchema: () => NotificationSchema,
|
|
10153
11184
|
OrbitalSkyhookSchema: () => OrbitalSkyhookSchema,
|
|
11185
|
+
ParagonHubCharacterListingSchema: () => ParagonHubCharacterListingSchema,
|
|
11186
|
+
ParagonHubCharacterSkinrResponseSchema: () => ParagonHubCharacterSkinrResponseSchema,
|
|
11187
|
+
ParagonHubCursorSchema: () => ParagonHubCursorSchema,
|
|
11188
|
+
ParagonHubSkinrListingSchema: () => ParagonHubSkinrListingSchema,
|
|
11189
|
+
ParagonHubSkinrPriceSchema: () => ParagonHubSkinrPriceSchema,
|
|
11190
|
+
ParagonHubSkinrResponseSchema: () => ParagonHubSkinrResponseSchema,
|
|
11191
|
+
ParagonHubSkinrTargetSchema: () => ParagonHubSkinrTargetSchema,
|
|
10154
11192
|
PlanetInfoSchema: () => PlanetInfoSchema,
|
|
10155
11193
|
PlanetaryColonySchema: () => PlanetaryColonySchema,
|
|
10156
11194
|
RaceSchema: () => RaceSchema,
|
|
@@ -10161,8 +11199,27 @@ __export(schemas_exports, {
|
|
|
10161
11199
|
SearchResultSchema: () => SearchResultSchema,
|
|
10162
11200
|
ServerStatusSchema: () => ServerStatusSchema,
|
|
10163
11201
|
SkillQueueSchema: () => SkillQueueSchema,
|
|
11202
|
+
SkinrComponentLicenseSchema: () => SkinrComponentLicenseSchema,
|
|
11203
|
+
SkinrComponentRunsSchema: () => SkinrComponentRunsSchema,
|
|
11204
|
+
SkinrLayoutSchema: () => SkinrLayoutSchema,
|
|
11205
|
+
SkinrLayoutSlotSchema: () => SkinrLayoutSlotSchema,
|
|
11206
|
+
SkinrLicenseSchema: () => SkinrLicenseSchema,
|
|
11207
|
+
SkinrSchema: () => SkinrSchema,
|
|
11208
|
+
SkinrTierSchema: () => SkinrTierSchema,
|
|
11209
|
+
SkyhookDetailReagentSchema: () => SkyhookDetailReagentSchema,
|
|
11210
|
+
SkyhookDetailReinforcementTimerSchema: () => SkyhookDetailReinforcementTimerSchema,
|
|
11211
|
+
SkyhookDetailSchema: () => SkyhookDetailSchema,
|
|
11212
|
+
SkyhookDetailTheftVulnerabilitySchema: () => SkyhookDetailTheftVulnerabilitySchema,
|
|
10164
11213
|
SolarSystemInfoSchema: () => SolarSystemInfoSchema,
|
|
10165
11214
|
SovereigntyCampaignSchema: () => SovereigntyCampaignSchema,
|
|
11215
|
+
SovereigntyHubDetailReagentBaySchema: () => SovereigntyHubDetailReagentBaySchema,
|
|
11216
|
+
SovereigntyHubDetailReagentSchema: () => SovereigntyHubDetailReagentSchema,
|
|
11217
|
+
SovereigntyHubDetailResourceSchema: () => SovereigntyHubDetailResourceSchema,
|
|
11218
|
+
SovereigntyHubDetailResourcesSchema: () => SovereigntyHubDetailResourcesSchema,
|
|
11219
|
+
SovereigntyHubDetailSchema: () => SovereigntyHubDetailSchema,
|
|
11220
|
+
SovereigntyHubDetailTransportSchema: () => SovereigntyHubDetailTransportSchema,
|
|
11221
|
+
SovereigntyHubDetailUpgradeSchema: () => SovereigntyHubDetailUpgradeSchema,
|
|
11222
|
+
SovereigntyHubDetailVulnerabilityWindowSchema: () => SovereigntyHubDetailVulnerabilityWindowSchema,
|
|
10166
11223
|
SovereigntyHubSchema: () => SovereigntyHubSchema2,
|
|
10167
11224
|
SovereigntySystemSchema: () => SovereigntySystemSchema,
|
|
10168
11225
|
SovereigntySystemStructureSchema: () => SovereigntySystemStructureSchema,
|
|
@@ -10198,6 +11255,7 @@ export {
|
|
|
10198
11255
|
ContractsClient,
|
|
10199
11256
|
CorporationProjectsClient,
|
|
10200
11257
|
CorporationsClient,
|
|
11258
|
+
CosmeticsClient,
|
|
10201
11259
|
CustomEsiClient,
|
|
10202
11260
|
DogmaClient,
|
|
10203
11261
|
ETagCacheManager,
|
|
@@ -10223,6 +11281,7 @@ export {
|
|
|
10223
11281
|
MercenaryClient,
|
|
10224
11282
|
MetaClient,
|
|
10225
11283
|
MilitaryCampaignsClient,
|
|
11284
|
+
ParagonHubClient,
|
|
10226
11285
|
PiClient,
|
|
10227
11286
|
RateLimiter,
|
|
10228
11287
|
RequestDeduplicator,
|
|
@@ -10242,8 +11301,10 @@ export {
|
|
|
10242
11301
|
brand,
|
|
10243
11302
|
buildEndpointPath,
|
|
10244
11303
|
configureApiClient,
|
|
11304
|
+
createNoopLogger,
|
|
10245
11305
|
esiEndpointScopes,
|
|
10246
11306
|
fetchAllCursorPages,
|
|
11307
|
+
fetchAllPages,
|
|
10247
11308
|
fetchPages,
|
|
10248
11309
|
getDefaultClient,
|
|
10249
11310
|
isCircuitOpen,
|