@lgriffin/esi.ts 10.0.0 → 10.2.1
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 +158 -0
- package/README.md +14 -5
- package/dist/EsiClient.d.mts +140 -0
- package/dist/EsiClientBuilder.d.mts +75 -0
- package/dist/auth/EsiTokenManager.d.mts +200 -0
- package/dist/auth/EveSsoClient.d.mts +88 -0
- package/dist/auth/errors.d.mts +42 -0
- package/dist/auth/index.d.mts +14 -0
- package/dist/auth/jwt.d.mts +43 -0
- package/dist/auth/pkce.d.mts +21 -0
- package/dist/auth/storage/FileTokenStorage.d.mts +44 -0
- package/dist/auth/storage/MemoryTokenStorage.d.mts +18 -0
- package/dist/auth/types.d.mts +42 -0
- package/dist/{chunk-7A72QFDF.mjs → chunk-4W66ONJI.mjs} +4 -7
- package/dist/chunk-4W66ONJI.mjs.map +1 -0
- package/dist/{chunk-HPSACXX3.js → chunk-N3B65VLB.js} +4 -7
- package/dist/chunk-N3B65VLB.js.map +1 -0
- package/dist/clients/AccessListsClient.d.mts +25 -0
- package/dist/clients/AllianceClient.d.mts +59 -0
- package/dist/clients/AssetsClient.d.mts +65 -0
- package/dist/clients/BaseEsiClient.d.mts +19 -0
- package/dist/clients/CalendarClient.d.mts +48 -0
- package/dist/clients/CharacterClient.d.mts +134 -0
- package/dist/clients/ClonesClient.d.mts +27 -0
- package/dist/clients/ContactsClient.d.mts +96 -0
- package/dist/clients/ContractsClient.d.mts +91 -0
- package/dist/clients/CorporationProjectsClient.d.mts +54 -0
- package/dist/clients/CorporationsClient.d.mts +219 -0
- package/dist/clients/CosmeticsClient.d.mts +11 -0
- package/dist/clients/DogmaClient.d.mts +42 -0
- package/dist/clients/FactionClient.d.mts +60 -0
- package/dist/clients/FittingsClient.d.mts +38 -0
- package/dist/clients/FleetClient.d.mts +134 -0
- package/dist/clients/FreelanceJobsClient.d.mts +61 -0
- package/dist/clients/IncursionsClient.d.mts +14 -0
- package/dist/clients/IndustryClient.d.mts +86 -0
- package/dist/clients/InsuranceClient.d.mts +14 -0
- package/dist/clients/KillmailsClient.d.mts +37 -0
- package/dist/clients/LocationClient.d.mts +32 -0
- package/dist/clients/LoyaltyClient.d.mts +28 -0
- package/dist/clients/MailClient.d.mts +104 -0
- package/dist/clients/MarketClient.d.mts +102 -0
- package/dist/clients/MercenaryClient.d.mts +42 -0
- package/dist/clients/MetaClient.d.mts +45 -0
- package/dist/clients/MilitaryCampaignsClient.d.mts +53 -0
- package/dist/clients/ParagonHubClient.d.mts +13 -0
- package/dist/clients/PiClient.d.mts +45 -0
- package/dist/clients/RouteClient.d.mts +25 -0
- package/dist/clients/SearchClient.d.mts +17 -0
- package/dist/clients/SkillsClient.d.mts +39 -0
- package/dist/clients/SkyhooksClient.d.mts +48 -0
- package/dist/clients/SovereigntyClient.d.mts +20 -0
- package/dist/clients/StatusClient.d.mts +14 -0
- package/dist/clients/UiClient.d.mts +44 -0
- package/dist/clients/UniverseClient.d.mts +212 -0
- package/dist/clients/WalletClient.d.mts +70 -0
- package/dist/clients/WarsClient.d.mts +33 -0
- package/dist/core/ApiClient.d.mts +73 -0
- package/dist/core/ApiClientBuilder.d.mts +24 -0
- package/dist/core/ApiRequestHandler.d.ts.map +1 -1
- package/dist/core/BatchRequestHandler.d.mts +12 -0
- package/dist/core/ClientRegistry.d.mts +45 -0
- package/dist/core/EsiDiagnostics.d.mts +35 -0
- package/dist/core/IDeduplicator.d.mts +22 -0
- package/dist/core/IDeduplicator.d.ts +16 -0
- package/dist/core/IDeduplicator.d.ts.map +1 -1
- package/dist/core/IRetryStrategy.d.mts +5 -0
- package/dist/core/RequestDeduplicator.d.mts +21 -0
- package/dist/core/RequestDeduplicator.d.ts +11 -0
- package/dist/core/RequestDeduplicator.d.ts.map +1 -1
- package/dist/core/RetryStrategy.d.mts +21 -0
- package/dist/core/cache/ETagCacheManager.d.mts +75 -0
- package/dist/core/cache/ICache.d.mts +27 -0
- package/dist/core/cache/cacheKey.d.ts +11 -0
- package/dist/core/cache/cacheKey.d.ts.map +1 -1
- package/dist/core/circuitBreaker/CircuitBreaker.d.mts +52 -0
- package/dist/core/circuitBreaker/CircuitBreaker.d.ts.map +1 -1
- package/dist/core/circuitBreaker/ICircuitBreaker.d.mts +23 -0
- package/dist/core/configureApiClient.d.mts +18 -0
- package/dist/core/constants.d.ts +2 -2
- package/dist/core/endpoints/EndpointDefinition.d.mts +63 -0
- package/dist/core/endpoints/accessListEndpoints.d.mts +34 -0
- package/dist/core/endpoints/allianceEndpoints.d.mts +43 -0
- package/dist/core/endpoints/assetEndpoints.d.mts +76 -0
- package/dist/core/endpoints/buildEndpointPath.d.mts +7 -0
- package/dist/core/endpoints/calendarEndpoints.d.mts +54 -0
- package/dist/core/endpoints/characterEndpoints.d.mts +185 -0
- package/dist/core/endpoints/cloneEndpoints.d.mts +32 -0
- package/dist/core/endpoints/contactEndpoints.d.mts +106 -0
- package/dist/core/endpoints/contractEndpoints.d.mts +168 -0
- package/dist/core/endpoints/corporationEndpoints.d.mts +324 -0
- package/dist/core/endpoints/corporationProjectEndpoints.d.mts +102 -0
- package/dist/core/endpoints/cosmeticsEndpoints.d.mts +52 -0
- package/dist/core/endpoints/createClient.d.mts +69 -0
- package/dist/core/endpoints/dogmaEndpoints.d.mts +89 -0
- package/dist/core/endpoints/esi-cache-ttls.generated.d.ts.map +1 -1
- package/dist/core/endpoints/esi-rate-limit-groups.generated.d.mts +7 -0
- package/dist/core/endpoints/esi-rate-limit-groups.generated.d.ts.map +1 -1
- package/dist/core/endpoints/esi-scopes.generated.d.mts +3 -0
- package/dist/core/endpoints/esi-scopes.generated.d.ts.map +1 -1
- package/dist/core/endpoints/factionEndpoints.d.mts +194 -0
- package/dist/core/endpoints/fittingEndpoints.d.mts +34 -0
- package/dist/core/endpoints/fleetEndpoints.d.mts +137 -0
- package/dist/core/endpoints/freelanceJobsEndpoints.d.mts +181 -0
- package/dist/core/endpoints/incursionEndpoints.d.mts +19 -0
- package/dist/core/endpoints/industryEndpoints.d.mts +138 -0
- package/dist/core/endpoints/insuranceEndpoints.d.mts +17 -0
- package/dist/core/endpoints/killmailEndpoints.d.mts +62 -0
- package/dist/core/endpoints/locationEndpoints.d.mts +37 -0
- package/dist/core/endpoints/loyaltyEndpoints.d.mts +32 -0
- package/dist/core/endpoints/mailEndpoints.d.mts +111 -0
- package/dist/core/endpoints/marketEndpoints.d.mts +191 -0
- package/dist/core/endpoints/mercenaryEndpoints.d.mts +79 -0
- package/dist/core/endpoints/metaEndpoints.d.mts +50 -0
- package/dist/core/endpoints/militaryCampaignEndpoints.d.mts +87 -0
- package/dist/core/endpoints/paragonHubEndpoints.d.mts +163 -0
- package/dist/core/endpoints/piEndpoints.d.mts +101 -0
- package/dist/core/endpoints/routeEndpoints.d.mts +14 -0
- package/dist/core/endpoints/searchEndpoints.d.mts +26 -0
- package/dist/core/endpoints/skillEndpoints.d.mts +52 -0
- package/dist/core/endpoints/skyhookEndpoints.d.mts +111 -0
- package/dist/core/endpoints/sovereigntyEndpoints.d.mts +59 -0
- package/dist/core/endpoints/statusEndpoints.d.mts +14 -0
- package/dist/core/endpoints/uiEndpoints.d.mts +43 -0
- package/dist/core/endpoints/universeEndpoints.d.mts +456 -0
- package/dist/core/endpoints/walletEndpoints.d.mts +98 -0
- package/dist/core/endpoints/warEndpoints.d.mts +51 -0
- package/dist/core/logger/DefaultLogger.d.mts +31 -0
- package/dist/core/logger/ILogger.d.mts +17 -0
- package/dist/core/logger/NoopLogger.d.mts +7 -0
- package/dist/core/logger/loggerUtil.d.mts +11 -0
- package/dist/core/logger/resolveLogger.d.ts +3 -3
- package/dist/core/logger/resolveLogger.d.ts.map +1 -1
- package/dist/core/middleware/Middleware.d.mts +30 -0
- package/dist/core/pagination/AsyncPaginationIterator.d.mts +12 -0
- package/dist/core/pagination/AsyncPaginationIterator.d.ts.map +1 -1
- package/dist/core/pagination/CursorPaginationHandler.d.mts +68 -0
- package/dist/core/pagination/CursorPaginationHandler.d.ts.map +1 -1
- package/dist/core/rateLimiter/IRateLimiter.d.mts +27 -0
- package/dist/core/rateLimiter/RateLimiter.d.mts +62 -0
- package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
- package/dist/core/requestPipeline/cachePolicy.d.ts +11 -1
- package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
- package/dist/core/requestPipeline/fetchExecution.d.ts.map +1 -1
- package/dist/core/requestPipeline/index.d.ts +1 -1
- package/dist/core/requestPipeline/index.d.ts.map +1 -1
- package/dist/core/requestPipeline/paginationOrchestration.d.ts +1 -1
- package/dist/core/requestPipeline/paginationOrchestration.d.ts.map +1 -1
- package/dist/core/requestPipeline/statusHandling.d.ts +6 -0
- package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
- package/dist/core/util/concurrency.d.ts.map +1 -1
- package/dist/core/util/error.d.mts +37 -0
- package/dist/core/util/retry.d.mts +8 -0
- package/dist/core/util/retry.d.ts.map +1 -1
- package/dist/errors.d.mts +5 -0
- package/dist/errors.js +2 -2
- package/dist/errors.mjs +1 -1
- package/dist/index.d.mts +81 -0
- package/dist/index.js +374 -197
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +267 -90
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/access-lists.d.mts +16 -0
- package/dist/schemas/alliance.d.mts +26 -0
- package/dist/schemas/assets.d.mts +24 -0
- package/dist/schemas/calendar.d.mts +27 -0
- package/dist/schemas/character.d.mts +109 -0
- package/dist/schemas/clones.d.mts +17 -0
- package/dist/schemas/common.d.mts +74 -0
- package/dist/schemas/contacts.d.mts +14 -0
- package/dist/schemas/contracts.d.mts +104 -0
- package/dist/schemas/corporation-projects.d.mts +104 -0
- package/dist/schemas/corporation.d.mts +193 -0
- package/dist/schemas/cosmetics.d.mts +58 -0
- package/dist/schemas/dogma.d.mts +57 -0
- package/dist/schemas/esiEnum.d.mts +3 -0
- package/dist/schemas/faction-warfare.d.mts +203 -0
- package/dist/schemas/fittings.d.mts +13 -0
- package/dist/schemas/fleet.d.mts +37 -0
- package/dist/schemas/freelance-jobs.d.mts +171 -0
- package/dist/schemas/incursions.d.mts +12 -0
- package/dist/schemas/index.d.mts +39 -0
- package/dist/schemas/industry.d.mts +99 -0
- package/dist/schemas/insurance.d.mts +10 -0
- package/dist/schemas/killmails.d.mts +38 -0
- package/dist/schemas/location.d.mts +18 -0
- package/dist/schemas/loyalty.d.mts +18 -0
- package/dist/schemas/mail.d.mts +53 -0
- package/dist/schemas/market.d.mts +123 -0
- package/dist/schemas/mercenary.d.mts +74 -0
- package/dist/schemas/meta.d.mts +36 -0
- package/dist/schemas/military-campaigns.d.mts +26 -0
- package/dist/schemas/paragon-hub.d.mts +96 -0
- package/dist/schemas/pi.d.mts +71 -0
- package/dist/schemas/skills.d.mts +28 -0
- package/dist/schemas/skyhooks.d.mts +129 -0
- package/dist/schemas/sovereignty.d.mts +56 -0
- package/dist/schemas/status.d.mts +8 -0
- package/dist/schemas/universe.d.mts +285 -0
- package/dist/schemas/wallet.d.mts +45 -0
- package/dist/schemas/wars.d.mts +27 -0
- package/dist/sde/IStaticDataProvider.d.mts +106 -0
- package/dist/sde/MemorySdeProvider.d.mts +167 -0
- package/dist/sde/SdeDataProvider.d.mts +119 -0
- package/dist/sde/SdeTestDataFactory.d.mts +33 -0
- package/dist/sde/errors.d.mts +23 -0
- package/dist/sde/index.d.mts +9 -0
- package/dist/sde/memory.d.mts +8 -0
- package/dist/sde/types.d.mts +1039 -0
- package/dist/sde/version.d.mts +7 -0
- package/dist/testing/TestDataFactory.d.mts +172 -0
- package/dist/testing/index.d.mts +2 -0
- package/dist/testing/index.js +2 -2
- package/dist/testing/index.mjs +1 -1
- package/dist/types/access-lists.d.mts +5 -0
- package/dist/types/alliance.d.mts +7 -0
- package/dist/types/api-responses.d.mts +40 -0
- package/dist/types/assets.d.mts +6 -0
- package/dist/types/branded.d.mts +23 -0
- package/dist/types/calendar.d.mts +6 -0
- package/dist/types/character.d.mts +17 -0
- package/dist/types/clones.d.mts +4 -0
- package/dist/types/common.d.mts +19 -0
- package/dist/types/contacts.d.mts +5 -0
- package/dist/types/contracts.d.mts +9 -0
- package/dist/types/corporation-projects.d.mts +10 -0
- package/dist/types/corporation.d.mts +19 -0
- package/dist/types/cosmetics.d.mts +8 -0
- package/dist/types/dogma.d.mts +6 -0
- package/dist/types/faction-warfare.d.mts +17 -0
- package/dist/types/fittings.d.mts +4 -0
- package/dist/types/fleet.d.mts +7 -0
- package/dist/types/freelance-jobs.d.mts +12 -0
- package/dist/types/generated/esi-spec.generated.d.mts +2136 -0
- package/dist/types/generated/esi-spec.generated.d.ts +164 -16
- package/dist/types/generated/esi-spec.generated.d.ts.map +1 -1
- package/dist/types/generated/spec-alignment.check.d.ts +2 -2
- package/dist/types/incursions.d.mts +4 -0
- package/dist/types/industry.d.mts +11 -0
- package/dist/types/insurance.d.mts +4 -0
- package/dist/types/killmails.d.mts +5 -0
- package/dist/types/location.d.mts +6 -0
- package/dist/types/loyalty.d.mts +5 -0
- package/dist/types/mail.d.mts +6 -0
- package/dist/types/market.d.mts +12 -0
- package/dist/types/mercenary.d.mts +7 -0
- package/dist/types/meta.d.mts +9 -0
- package/dist/types/military-campaigns.d.mts +6 -0
- package/dist/types/paragon-hub.d.mts +8 -0
- package/dist/types/pi.d.mts +6 -0
- package/dist/types/skills.d.mts +5 -0
- package/dist/types/skyhooks.d.mts +8 -0
- package/dist/types/sovereignty.d.mts +6 -0
- package/dist/types/status.d.mts +4 -0
- package/dist/types/universe.d.mts +27 -0
- package/dist/types/wallet.d.mts +6 -0
- package/dist/types/wars.d.mts +4 -0
- package/package.json +92 -24
- package/dist/chunk-7A72QFDF.mjs.map +0 -1
- package/dist/chunk-HPSACXX3.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const warEndpoints: {
|
|
3
|
+
readonly getWars: {
|
|
4
|
+
readonly path: "wars";
|
|
5
|
+
readonly method: "GET";
|
|
6
|
+
readonly requiresAuth: false;
|
|
7
|
+
readonly responseSchema: z.ZodArray<z.ZodNumber>;
|
|
8
|
+
};
|
|
9
|
+
readonly getWarById: {
|
|
10
|
+
readonly path: "wars/{warId}";
|
|
11
|
+
readonly method: "GET";
|
|
12
|
+
readonly requiresAuth: false;
|
|
13
|
+
readonly pathParams: readonly ["warId"];
|
|
14
|
+
readonly responseSchema: z.ZodObject<{
|
|
15
|
+
id: z.ZodNumber;
|
|
16
|
+
declared: z.ZodString;
|
|
17
|
+
started: z.ZodOptional<z.ZodString>;
|
|
18
|
+
finished: z.ZodOptional<z.ZodString>;
|
|
19
|
+
retracted: z.ZodOptional<z.ZodString>;
|
|
20
|
+
mutual: z.ZodBoolean;
|
|
21
|
+
open_for_allies: z.ZodBoolean;
|
|
22
|
+
aggressor: z.ZodObject<{
|
|
23
|
+
corporation_id: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
alliance_id: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
isk_destroyed: z.ZodNumber;
|
|
26
|
+
ships_killed: z.ZodNumber;
|
|
27
|
+
}, z.core.$loose>;
|
|
28
|
+
defender: z.ZodObject<{
|
|
29
|
+
corporation_id: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
alliance_id: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
isk_destroyed: z.ZodNumber;
|
|
32
|
+
ships_killed: z.ZodNumber;
|
|
33
|
+
}, z.core.$loose>;
|
|
34
|
+
allies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
35
|
+
corporation_id: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
alliance_id: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
}, z.core.$loose>>>;
|
|
38
|
+
}, z.core.$loose>;
|
|
39
|
+
};
|
|
40
|
+
readonly getWarKillmails: {
|
|
41
|
+
readonly path: "wars/{warId}/killmails";
|
|
42
|
+
readonly method: "GET";
|
|
43
|
+
readonly requiresAuth: false;
|
|
44
|
+
readonly pathParams: readonly ["warId"];
|
|
45
|
+
readonly responseSchema: z.ZodArray<z.ZodObject<{
|
|
46
|
+
killmail_id: z.ZodNumber;
|
|
47
|
+
killmail_hash: z.ZodString;
|
|
48
|
+
}, z.core.$loose>>;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=warEndpoints.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ILogger } from './ILogger.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* The default `ILogger` implementation — a thin wrapper around pino.
|
|
4
|
+
*
|
|
5
|
+
* Level resolution (highest precedence first):
|
|
6
|
+
* 1. `level` passed to `createDefaultLogger` (e.g. from
|
|
7
|
+
* `EsiClientConfig.logLevel`).
|
|
8
|
+
* 2. The `ESI_LOG_LEVEL` environment variable.
|
|
9
|
+
* 3. `'warn'` (library default — quiet unless the app opts in).
|
|
10
|
+
*
|
|
11
|
+
* The logger writes to `process.stdout` and can be swapped entirely via
|
|
12
|
+
* `EsiClientConfig.logger` or the global `setLogger()` fallback.
|
|
13
|
+
*/
|
|
14
|
+
export type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
15
|
+
export declare function createDefaultLogger(level?: string): ILogger;
|
|
16
|
+
/**
|
|
17
|
+
* Adapt any pino-compatible logger (pino, pino-http child, custom sink) to the
|
|
18
|
+
* `ILogger` contract. Context objects are spread onto the log event so they
|
|
19
|
+
* appear as structured fields rather than being stringified into the message.
|
|
20
|
+
*/
|
|
21
|
+
export declare function toPinoLogger(p: {
|
|
22
|
+
fatal: (...a: unknown[]) => void;
|
|
23
|
+
error: (...a: unknown[]) => void;
|
|
24
|
+
warn: (...a: unknown[]) => void;
|
|
25
|
+
info: (...a: unknown[]) => void;
|
|
26
|
+
debug: (...a: unknown[]) => void;
|
|
27
|
+
trace: (...a: unknown[]) => void;
|
|
28
|
+
}): ILogger;
|
|
29
|
+
/** Backwards-compatible default instance (level from `ESI_LOG_LEVEL`). */
|
|
30
|
+
export declare const defaultLogger: ILogger;
|
|
31
|
+
//# sourceMappingURL=DefaultLogger.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured context attached to a log event (e.g. endpoint, status,
|
|
3
|
+
* requestId, durationMs). Logged as structured fields when the sink
|
|
4
|
+
* supports them (pino), or appended as `[k=v]` tokens when it doesn't.
|
|
5
|
+
*/
|
|
6
|
+
export interface LogContext {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface ILogger {
|
|
10
|
+
fatal(message: string, context?: LogContext): void;
|
|
11
|
+
error(message: string, context?: LogContext): void;
|
|
12
|
+
warn(message: string, context?: LogContext): void;
|
|
13
|
+
info(message: string, context?: LogContext): void;
|
|
14
|
+
debug(message: string, context?: LogContext): void;
|
|
15
|
+
trace(message: string, context?: LogContext): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ILogger.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ILogger } from './ILogger.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* A logger that discards all events. Useful in tests, benchmarks, and
|
|
4
|
+
* embedded contexts where library log output is noise.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createNoopLogger(): ILogger;
|
|
7
|
+
//# sourceMappingURL=NoopLogger.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ILogger, LogContext } from './ILogger.mjs';
|
|
2
|
+
export type { ILogger, LogContext } from './ILogger.mjs';
|
|
3
|
+
export declare const setLogger: (customLogger: ILogger) => void;
|
|
4
|
+
export declare const getLogger: () => ILogger;
|
|
5
|
+
export declare const logFatal: (message: string, context?: LogContext) => void;
|
|
6
|
+
export declare const logError: (message: string, context?: LogContext) => void;
|
|
7
|
+
export declare const logWarn: (message: string, context?: LogContext) => void;
|
|
8
|
+
export declare const logInfo: (message: string, context?: LogContext) => void;
|
|
9
|
+
export declare const logDebug: (message: string, context?: LogContext) => void;
|
|
10
|
+
export declare const logTrace: (message: string, context?: LogContext) => void;
|
|
11
|
+
//# sourceMappingURL=loggerUtil.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ILogger } from './ILogger';
|
|
2
2
|
/**
|
|
3
|
-
* Resolve the logger for a given API client: per-client logger first,
|
|
4
|
-
* global
|
|
5
|
-
*
|
|
3
|
+
* Resolve the logger for a given API client: per-client logger first, then
|
|
4
|
+
* the global one — a logger installed with `setLogger`, or the built-in pino
|
|
5
|
+
* default when none was.
|
|
6
6
|
*/
|
|
7
7
|
export declare function resolveLogger(client: {
|
|
8
8
|
getLogger?: () => ILogger | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLogger.d.ts","sourceRoot":"","sources":["../../../src/core/logger/resolveLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveLogger.d.ts","sourceRoot":"","sources":["../../../src/core/logger/resolveLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAC9D,OAAO,CAET"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface RequestContext {
|
|
2
|
+
url: string;
|
|
3
|
+
endpoint: string;
|
|
4
|
+
method: string;
|
|
5
|
+
headers: Record<string, string>;
|
|
6
|
+
body?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface ResponseContext {
|
|
9
|
+
url: string;
|
|
10
|
+
endpoint: string;
|
|
11
|
+
method: string;
|
|
12
|
+
status: number;
|
|
13
|
+
headers: Record<string, string>;
|
|
14
|
+
body: unknown;
|
|
15
|
+
durationMs: number;
|
|
16
|
+
fromCache: boolean;
|
|
17
|
+
}
|
|
18
|
+
export type RequestInterceptor = (context: RequestContext) => RequestContext | Promise<RequestContext>;
|
|
19
|
+
export type ResponseInterceptor = (context: ResponseContext) => ResponseContext | Promise<ResponseContext>;
|
|
20
|
+
export declare class MiddlewareManager {
|
|
21
|
+
private requestInterceptors;
|
|
22
|
+
private responseInterceptors;
|
|
23
|
+
addRequestInterceptor(fn: RequestInterceptor): () => void;
|
|
24
|
+
addResponseInterceptor(fn: ResponseInterceptor): () => void;
|
|
25
|
+
applyRequestInterceptors(context: RequestContext): Promise<RequestContext>;
|
|
26
|
+
applyResponseInterceptors(context: ResponseContext): Promise<ResponseContext>;
|
|
27
|
+
hasInterceptors(): boolean;
|
|
28
|
+
clear(): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Middleware.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiClient } from '../ApiClient.mjs';
|
|
2
|
+
import type { EndpointDefinition } from '../endpoints/EndpointDefinition.mjs';
|
|
3
|
+
export interface PageResult<T = unknown> {
|
|
4
|
+
data: T[];
|
|
5
|
+
page: number;
|
|
6
|
+
totalPages: number;
|
|
7
|
+
}
|
|
8
|
+
type ResponseSchema = NonNullable<EndpointDefinition['responseSchema']>;
|
|
9
|
+
export declare function fetchAllPages<T = unknown>(client: ApiClient, endpoint: string, method: string, requiresAuth?: boolean, body?: unknown, templatePath?: string, responseSchema?: ResponseSchema, concurrency?: number): Promise<T[]>;
|
|
10
|
+
export declare function fetchPages<T = unknown>(client: ApiClient, endpoint: string, method: string, requiresAuth?: boolean, body?: unknown, templatePath?: string, responseSchema?: ResponseSchema): AsyncGenerator<PageResult<T>, void, undefined>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=AsyncPaginationIterator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncPaginationIterator.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/AsyncPaginationIterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAsBxE,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,EAC7B,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"AsyncPaginationIterator.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/AsyncPaginationIterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAsBxE,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,EAC7B,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CA+Dd;AAED,wBAAuB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC3C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,EAC7B,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,cAAc,GAC9B,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAmDhD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor-based Pagination Handler for ESI API calls.
|
|
3
|
+
*
|
|
4
|
+
* New ESI routes (starting with Corporation Projects) use opaque
|
|
5
|
+
* before/after cursor tokens instead of page numbers.
|
|
6
|
+
*
|
|
7
|
+
* Response headers:
|
|
8
|
+
* x-cursor-before – token to fetch data preceding the current batch
|
|
9
|
+
* x-cursor-after – token to fetch data following the current batch
|
|
10
|
+
*
|
|
11
|
+
* Query parameters:
|
|
12
|
+
* before=<token> – crawl backwards
|
|
13
|
+
* after=<token> – crawl forwards
|
|
14
|
+
*
|
|
15
|
+
* An empty result array signals the beginning/end of the dataset.
|
|
16
|
+
*/
|
|
17
|
+
import { ApiClient } from '../ApiClient.mjs';
|
|
18
|
+
export interface CursorTokens {
|
|
19
|
+
before: string | null;
|
|
20
|
+
after: string | null;
|
|
21
|
+
}
|
|
22
|
+
export interface CursorPage<T = unknown> {
|
|
23
|
+
data: T[];
|
|
24
|
+
cursors: CursorTokens;
|
|
25
|
+
}
|
|
26
|
+
export type CursorPageFetcher = (endpoint: string, cursor?: {
|
|
27
|
+
before?: string;
|
|
28
|
+
after?: string;
|
|
29
|
+
}) => Promise<CursorPage>;
|
|
30
|
+
export interface CursorPaginationOptions {
|
|
31
|
+
maxPages?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class CursorPaginationHandler {
|
|
34
|
+
private static readonly DEFAULT_OPTIONS;
|
|
35
|
+
/**
|
|
36
|
+
* Fetch a single cursor page, returning data + cursor tokens.
|
|
37
|
+
*
|
|
38
|
+
* When no `pageFetch` callback is provided, the request is routed
|
|
39
|
+
* through the standard request pipeline (rate limiter, circuit
|
|
40
|
+
* breaker, timeout, middleware) instead of a raw `fetch()`.
|
|
41
|
+
*/
|
|
42
|
+
static fetchPage(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, cursor?: {
|
|
43
|
+
before?: string;
|
|
44
|
+
after?: string;
|
|
45
|
+
}, body?: unknown, pageFetch?: CursorPageFetcher): Promise<CursorPage>;
|
|
46
|
+
/**
|
|
47
|
+
* Auto-fetch all pages by following `after` tokens until an empty
|
|
48
|
+
* response is received. Combines the caller-supplied first page
|
|
49
|
+
* data with all subsequent pages.
|
|
50
|
+
*/
|
|
51
|
+
static fetchAll(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, firstPageData: unknown[], firstCursors: CursorTokens, body?: unknown, options?: CursorPaginationOptions, pageFetch?: CursorPageFetcher): Promise<unknown[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Fetch a single cursor page with retry logic.
|
|
54
|
+
*
|
|
55
|
+
* Delegates to the configured `IRetryStrategy` (exponential backoff
|
|
56
|
+
* with jitter) instead of implementing a custom retry loop.
|
|
57
|
+
*/
|
|
58
|
+
private static fetchPageWithRetry;
|
|
59
|
+
/**
|
|
60
|
+
* Extract cursor tokens from response headers.
|
|
61
|
+
*/
|
|
62
|
+
static extractCursors(headers: Headers): CursorTokens;
|
|
63
|
+
/**
|
|
64
|
+
* Build an endpoint path with cursor query parameters appended.
|
|
65
|
+
*/
|
|
66
|
+
private static buildEndpointWithCursor;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=CursorPaginationHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorPaginationHandler.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/CursorPaginationHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KACzC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAErC;IAEF;;;;;;OAMG;WACU,SAAS,CACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5C,IAAI,CAAC,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CursorPaginationHandler.d.ts","sourceRoot":"","sources":["../../../src/core/pagination/CursorPaginationHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KACzC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAErC;IAEF;;;;;;OAMG;WACU,SAAS,CACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5C,IAAI,CAAC,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,UAAU,CAAC;IA2CtB;;;;OAIG;WACU,QAAQ,CACnB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EAAE,EACxB,YAAY,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,GAAE,uBAA4B,EACrC,SAAS,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,OAAO,EAAE,CAAC;IAyErB;;;;;OAKG;mBACkB,kBAAkB;IAkCvC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY;IAQrD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAiBvC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface RateLimitGroupStatus {
|
|
2
|
+
group: string;
|
|
3
|
+
remaining: number;
|
|
4
|
+
limit: number;
|
|
5
|
+
used: number;
|
|
6
|
+
windowSizeMs: number;
|
|
7
|
+
blockedUntil: number;
|
|
8
|
+
}
|
|
9
|
+
export interface IRateLimiter {
|
|
10
|
+
checkRateLimit(templatePath?: string, method?: string, requestHeaders?: Record<string, string>): Promise<void>;
|
|
11
|
+
updateFromResponse(headers: Record<string, string>, statusCode: number, templatePath?: string, method?: string, requestHeaders?: Record<string, string>): void;
|
|
12
|
+
getStatus(): {
|
|
13
|
+
remaining: number;
|
|
14
|
+
limit: number;
|
|
15
|
+
used: number;
|
|
16
|
+
group: string | null;
|
|
17
|
+
errorLimitRemain: number;
|
|
18
|
+
errorLimitReset: number;
|
|
19
|
+
retryAfter: number | null;
|
|
20
|
+
blockedUntil: number;
|
|
21
|
+
};
|
|
22
|
+
getGroupStatus(group: string): RateLimitGroupStatus | undefined;
|
|
23
|
+
getAllGroupStatuses(): Map<string, RateLimitGroupStatus>;
|
|
24
|
+
isBlocked(group?: string): boolean;
|
|
25
|
+
reset(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=IRateLimiter.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IRateLimiter, RateLimitGroupStatus } from './IRateLimiter.mjs';
|
|
2
|
+
export interface RateLimitInfo {
|
|
3
|
+
remaining: number;
|
|
4
|
+
limit: number;
|
|
5
|
+
used: number;
|
|
6
|
+
group: string | null;
|
|
7
|
+
errorLimitRemain: number;
|
|
8
|
+
errorLimitReset: number;
|
|
9
|
+
retryAfter: number | null;
|
|
10
|
+
blockedUntil: number;
|
|
11
|
+
}
|
|
12
|
+
export interface RateLimitEndpointOverride {
|
|
13
|
+
maxTokens: number;
|
|
14
|
+
windowSizeMs: number;
|
|
15
|
+
}
|
|
16
|
+
export interface RateLimiterConfig {
|
|
17
|
+
minDelayMs?: number;
|
|
18
|
+
decelerationThreshold?: number;
|
|
19
|
+
userKeyExtractor?: (headers: Record<string, string>) => string;
|
|
20
|
+
endpointOverrides?: Record<string, RateLimitEndpointOverride>;
|
|
21
|
+
}
|
|
22
|
+
export declare class RateLimiter implements IRateLimiter {
|
|
23
|
+
private readonly minDelayMs;
|
|
24
|
+
private readonly decelerationThreshold;
|
|
25
|
+
private readonly userKeyExtractor?;
|
|
26
|
+
private readonly endpointOverrides;
|
|
27
|
+
private lastRequestTime;
|
|
28
|
+
private minDelayChain;
|
|
29
|
+
private isTestMode;
|
|
30
|
+
private globalErrorLimit;
|
|
31
|
+
private defaultBuckets;
|
|
32
|
+
private userBuckets;
|
|
33
|
+
private fallbackBucket;
|
|
34
|
+
private lastCleanup;
|
|
35
|
+
private static readonly CLEANUP_INTERVAL_MS;
|
|
36
|
+
constructor(config?: RateLimiterConfig);
|
|
37
|
+
private createFallbackBucket;
|
|
38
|
+
private createBucketFromSpec;
|
|
39
|
+
private createBucketForGroup;
|
|
40
|
+
private lookupGroupSpec;
|
|
41
|
+
private resolveUserSet;
|
|
42
|
+
private resolveBucketMap;
|
|
43
|
+
private resolveErrorLimit;
|
|
44
|
+
private getBucket;
|
|
45
|
+
private cleanupStaleUsers;
|
|
46
|
+
updateFromResponse(headers: Record<string, string>, statusCode: number, templatePath?: string, method?: string, requestHeaders?: Record<string, string>): void;
|
|
47
|
+
updateRateLimitInfo(headers: Record<string, string>): void;
|
|
48
|
+
checkRateLimit(templatePath?: string, method?: string, requestHeaders?: Record<string, string>): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Serializes min-delay waits so concurrent callers cannot all read the same
|
|
51
|
+
* lastRequestTime and fire together after sleeping.
|
|
52
|
+
*/
|
|
53
|
+
private enforceMinDelay;
|
|
54
|
+
getStatus(): RateLimitInfo;
|
|
55
|
+
getGroupStatus(group: string): RateLimitGroupStatus | undefined;
|
|
56
|
+
getAllGroupStatuses(): Map<string, RateLimitGroupStatus>;
|
|
57
|
+
static getTokenCost(statusCode: number): number;
|
|
58
|
+
isBlocked(group?: string): boolean;
|
|
59
|
+
setTestMode(enabled: boolean): void;
|
|
60
|
+
reset(): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=RateLimiter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/RateLimiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAUpE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../../src/core/rateLimiter/RateLimiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAUpE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAuBD,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CAC/D;AAgCD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAEtB;IACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAE9E,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,gBAAgB,CAA+C;IAEvE,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAEzC,MAAM,CAAC,EAAE,iBAAiB;IAWtC,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,iBAAiB;IAazB,kBAAkB,CAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,IAAI;IA8DP,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIpD,cAAc,CAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAyFhB;;;OAGG;YACW,eAAe;IAuB7B,SAAS,IAAI,aAAa;IAyC1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAa/D,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAexD,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAelC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;CASd"}
|
|
@@ -20,14 +20,24 @@ export declare function lookupSpecTtl(method: string, templatePath: string): num
|
|
|
20
20
|
* Attempt a spec-aware cache hit (TTL-based, no network request).
|
|
21
21
|
*/
|
|
22
22
|
export declare function trySpecAwareCacheHit(client: ApiClient, url: string, method: string, templatePath: string | undefined, resolveCache: (client: ApiClient) => ICache | null, requiresAuth?: boolean): EsiHandlerResponse | null;
|
|
23
|
+
/** Whether the cache holds an unexpired entry for the URL. */
|
|
24
|
+
export declare function hasCachedEntry(client: ApiClient, url: string, resolveCache: (client: ApiClient) => ICache | null, requiresAuth?: boolean): boolean;
|
|
23
25
|
/**
|
|
24
26
|
* Attempt to return a stale cached response (used on server errors).
|
|
25
27
|
*/
|
|
26
28
|
export declare function tryStaleCacheResponse(client: ApiClient, url: string, parsed: ParsedHeaders, resolveCache: (client: ApiClient) => ICache | null, requiresAuth?: boolean): EsiHandlerResponse | null;
|
|
29
|
+
/**
|
|
30
|
+
* The client's write generation. Take it before sending a GET and pass it to
|
|
31
|
+
* cacheResponse, which then declines to store the response if a write has
|
|
32
|
+
* invalidated the same path since.
|
|
33
|
+
*/
|
|
34
|
+
export declare function currentWriteGeneration(client: ApiClient, resolveCache: (client: ApiClient) => ICache | null): number;
|
|
27
35
|
/**
|
|
28
36
|
* Cache a successful response, or invalidate cache for non-GET methods.
|
|
37
|
+
* `sentAtWriteGeneration` (see currentWriteGeneration) skips storing a GET
|
|
38
|
+
* response whose path a write invalidated while the request was in flight.
|
|
29
39
|
*/
|
|
30
|
-
export declare function cacheResponse(client: ApiClient, url: string, method: string, endpoint: string, parsed: ParsedHeaders, data: unknown, useETag: boolean, resolveCache: (client: ApiClient) => ICache | null, templatePath?: string, requiresAuth?: boolean): void;
|
|
40
|
+
export declare function cacheResponse(client: ApiClient, url: string, method: string, endpoint: string, parsed: ParsedHeaders, data: unknown, useETag: boolean, resolveCache: (client: ApiClient) => ICache | null, templatePath?: string, requiresAuth?: boolean, sentAtWriteGeneration?: number): void;
|
|
31
41
|
/**
|
|
32
42
|
* Evict the cached copy of a response the caller rejected. `executeRequest`
|
|
33
43
|
* caches a GET body before `createClient` validates it, so a body that fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachePolicy.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/cachePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,uCAAuC,EAAE,YAAY,CAAC;CACxE;AAsBD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAOpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,kBAAkB,GAAG,IAAI,CAyB3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,kBAAkB,GAAG,IAAI,CAc3B;
|
|
1
|
+
{"version":3,"file":"cachePolicy.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/cachePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,uCAAuC,EAAE,YAAY,CAAC;CACxE;AAsBD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAOpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,kBAAkB,GAAG,IAAI,CAyB3B;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,kBAAkB,GAAG,IAAI,CAc3B;AAyBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,GACjD,MAAM,CAGR;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,GAAE,OAAe,EAC7B,qBAAqB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAqCN;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,GACjD,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,GACjD,IAAI,CAkBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchExecution.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/fetchExecution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAgB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"fetchExecution.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/fetchExecution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAgB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AA6CD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,YAAY,EACvD,qBAAqB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,eAAe,GAAG,IAAI,EACpE,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC,CA4GzB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,YAAY,EACvD,qBAAqB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,eAAe,GAAG,IAAI,EACpE,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { buildRequestHeaders, parseCacheControlTtl } from './headers';
|
|
2
|
-
export { lookupSpecTtl, trySpecAwareCacheHit, tryStaleCacheResponse, cacheResponse, invalidateAfterWrite, evictRejectedResponse, } from './cachePolicy';
|
|
2
|
+
export { lookupSpecTtl, trySpecAwareCacheHit, tryStaleCacheResponse, cacheResponse, currentWriteGeneration, hasCachedEntry, invalidateAfterWrite, evictRejectedResponse, } from './cachePolicy';
|
|
3
3
|
export type { EsiHandlerResponse } from './cachePolicy';
|
|
4
4
|
export { STATUS_MESSAGES, handleEarlyStatus, handleErrorResponse, readEsiErrorReason, wrapError, } from './statusHandling';
|
|
5
5
|
export { handleCursorPagination, handleOffsetPagination, } from './paginationOrchestration';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
|
@@ -11,5 +11,5 @@ export declare function handleCursorPagination(parsed: ParsedHeaders, data: unkn
|
|
|
11
11
|
/**
|
|
12
12
|
* Handle offset-based pagination. Fetches remaining pages if xPages > 1.
|
|
13
13
|
*/
|
|
14
|
-
export declare function handleOffsetPagination(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, parsed: ParsedHeaders, data: unknown, body: unknown, url: string, useETag: boolean, pageFetch: PageFetcher, resolveCache: (client: ApiClient) => ICache | null, templatePath?: string): Promise<EsiHandlerResponse>;
|
|
14
|
+
export declare function handleOffsetPagination(client: ApiClient, endpoint: string, method: string, requiresAuth: boolean, parsed: ParsedHeaders, data: unknown, body: unknown, url: string, useETag: boolean, pageFetch: PageFetcher, resolveCache: (client: ApiClient) => ICache | null, templatePath?: string, sentAtWriteGeneration?: number): Promise<EsiHandlerResponse>;
|
|
15
15
|
//# sourceMappingURL=paginationOrchestration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginationOrchestration.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/paginationOrchestration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAEL,WAAW,EACZ,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAiB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,OAAO,GACZ,kBAAkB,GAAG,IAAI,CAS3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,EACtB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"paginationOrchestration.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/paginationOrchestration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAEL,WAAW,EACZ,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAiB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,OAAO,GACZ,kBAAkB,GAAG,IAAI,CAS3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,EACtB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,CAAC,EAAE,MAAM,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAmE7B"}
|
|
@@ -3,6 +3,12 @@ import { ICache } from '../cache/ICache';
|
|
|
3
3
|
import { ParsedHeaders } from '../util/headersUtil';
|
|
4
4
|
import { EsiHandlerResponse } from './cachePolicy';
|
|
5
5
|
export declare const STATUS_MESSAGES: Record<number, string>;
|
|
6
|
+
/**
|
|
7
|
+
* The text an error status is reported with: the client's own message, else
|
|
8
|
+
* the reason phrase, else `HTTP <status>`. HTTP/2 carries no reason phrase, so
|
|
9
|
+
* `statusText` is empty for any status missing from STATUS_MESSAGES.
|
|
10
|
+
*/
|
|
11
|
+
export declare function statusMessage(response: Response): string;
|
|
6
12
|
/**
|
|
7
13
|
* Handle early-return HTTP statuses (201, 204, 304).
|
|
8
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusHandling.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/statusHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAyB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"statusHandling.d.ts","sourceRoot":"","sources":["../../../src/core/requestPipeline/statusHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAyB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBlD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,GAC5B,kBAAkB,GAAG,IAAI,CAwD3B;AAID;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EAClD,YAAY,GAAE,OAAe,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,kBAAkB,GAAG,KAAK,CAuC5B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAUnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../../src/core/util/concurrency.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AASD,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9E;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../../src/core/util/concurrency.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AASD,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9E;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAmC7B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare function sanitizeUrl(url?: string): string | undefined;
|
|
2
|
+
export declare class EsiError extends Error {
|
|
3
|
+
readonly statusCode: number;
|
|
4
|
+
readonly requestId?: string | undefined;
|
|
5
|
+
readonly url?: string;
|
|
6
|
+
constructor(statusCode: number, message: string, url?: string, requestId?: string | undefined);
|
|
7
|
+
isRateLimited(): boolean;
|
|
8
|
+
isNotFound(): boolean;
|
|
9
|
+
isUnauthorized(): boolean;
|
|
10
|
+
isForbidden(): boolean;
|
|
11
|
+
isServerError(): boolean;
|
|
12
|
+
isTimeout(): boolean;
|
|
13
|
+
get retryable(): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function isEsiError(error: unknown): error is EsiError;
|
|
16
|
+
export declare function isRateLimited(error: unknown): error is EsiError;
|
|
17
|
+
export declare function isNotFound(error: unknown): error is EsiError;
|
|
18
|
+
export declare function isUnauthorized(error: unknown): error is EsiError;
|
|
19
|
+
export declare function isForbidden(error: unknown): error is EsiError;
|
|
20
|
+
export declare function isServerError(error: unknown): error is EsiError;
|
|
21
|
+
export declare class TimeoutError extends EsiError {
|
|
22
|
+
readonly timeoutMs: number;
|
|
23
|
+
constructor(timeoutMs: number, url?: string, requestId?: string);
|
|
24
|
+
}
|
|
25
|
+
export declare function isTimeout(error: unknown): error is TimeoutError;
|
|
26
|
+
export declare function isRetryable(error: unknown): error is EsiError;
|
|
27
|
+
import { CircuitOpenError } from '../circuitBreaker/CircuitBreaker.mjs';
|
|
28
|
+
export declare function isCircuitOpen(error: unknown): error is CircuitOpenError;
|
|
29
|
+
export declare const buildError: (message: string, type?: string, url?: string) => Error;
|
|
30
|
+
export type ValidationDirection = 'request' | 'response';
|
|
31
|
+
export declare class EsiValidationError extends EsiError {
|
|
32
|
+
readonly validationError: unknown;
|
|
33
|
+
readonly direction: ValidationDirection;
|
|
34
|
+
constructor(url: string, zodError: unknown, requestId?: string, direction?: ValidationDirection);
|
|
35
|
+
}
|
|
36
|
+
export declare function isValidationError(error: unknown): error is EsiValidationError;
|
|
37
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/core/util/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/core/util/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAMR"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { EsiError, TimeoutError, EsiValidationError, isEsiError, isRateLimited, isNotFound, isUnauthorized, isForbidden, isServerError, isTimeout, isRetryable, isValidationError, sanitizeUrl, } from './core/util/error.mjs';
|
|
2
|
+
export type { ValidationDirection } from './core/util/error.mjs';
|
|
3
|
+
export { CircuitOpenError } from './core/circuitBreaker/CircuitBreaker.mjs';
|
|
4
|
+
export { AuthError, SsoError, TokenRevokedError, TokenDecodeError, CharacterNotFoundError, isAuthError, isSsoError, isTokenRevoked, isCharacterNotFound, } from './auth/errors.mjs';
|
|
5
|
+
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.js
CHANGED
|
@@ -24,7 +24,7 @@ var _chunkBBSHKVPIjs = require('./chunk-BBSHKVPI.js');
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkN3B65VLBjs = require('./chunk-N3B65VLB.js');
|
|
28
28
|
require('./chunk-PZ5AY32C.js');
|
|
29
29
|
|
|
30
30
|
|
|
@@ -50,5 +50,5 @@ require('./chunk-PZ5AY32C.js');
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
exports.AuthError = _chunkBBSHKVPIjs.AuthError; exports.CharacterNotFoundError = _chunkBBSHKVPIjs.CharacterNotFoundError; exports.CircuitOpenError =
|
|
53
|
+
exports.AuthError = _chunkBBSHKVPIjs.AuthError; exports.CharacterNotFoundError = _chunkBBSHKVPIjs.CharacterNotFoundError; exports.CircuitOpenError = _chunkN3B65VLBjs.CircuitOpenError; exports.EsiError = _chunkN3B65VLBjs.EsiError; exports.EsiValidationError = _chunkN3B65VLBjs.EsiValidationError; exports.SsoError = _chunkBBSHKVPIjs.SsoError; exports.TimeoutError = _chunkN3B65VLBjs.TimeoutError; exports.TokenDecodeError = _chunkBBSHKVPIjs.TokenDecodeError; exports.TokenRevokedError = _chunkBBSHKVPIjs.TokenRevokedError; exports.isAuthError = _chunkBBSHKVPIjs.isAuthError; exports.isCharacterNotFound = _chunkBBSHKVPIjs.isCharacterNotFound; exports.isEsiError = _chunkN3B65VLBjs.isEsiError; exports.isForbidden = _chunkN3B65VLBjs.isForbidden; exports.isNotFound = _chunkN3B65VLBjs.isNotFound; exports.isRateLimited = _chunkN3B65VLBjs.isRateLimited; exports.isRetryable = _chunkN3B65VLBjs.isRetryable; exports.isServerError = _chunkN3B65VLBjs.isServerError; exports.isSsoError = _chunkBBSHKVPIjs.isSsoError; exports.isTimeout = _chunkN3B65VLBjs.isTimeout; exports.isTokenRevoked = _chunkBBSHKVPIjs.isTokenRevoked; exports.isUnauthorized = _chunkN3B65VLBjs.isUnauthorized; exports.isValidationError = _chunkN3B65VLBjs.isValidationError; exports.sanitizeUrl = _chunkN3B65VLBjs.sanitizeUrl;
|
|
54
54
|
//# sourceMappingURL=errors.js.map
|