@wynnjs/api 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/dist/index.cjs +1804 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2862 -0
- package/dist/index.d.ts +2862 -0
- package/dist/index.js +1699 -0
- package/dist/index.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/auth.ts","../src/constants.ts","../src/schemas/errors/multiple-objects-returned.ts","../src/errors.ts","../src/http.ts","../src/schemas/shared/class-tree.ts","../src/schemas/ability/ability.ts","../src/schemas/ability/get-ability-map.ts","../src/schemas/ability/get-ability-tree.ts","../src/schemas/ability/list-aspects.ts","../src/modules/ability.ts","../src/schemas/classes/get-class.ts","../src/schemas/classes/list-classes.ts","../src/modules/classes.ts","../src/schemas/guild/guild.ts","../src/schemas/guild/list-guilds.ts","../src/schemas/guild/list-guild-seasons.ts","../src/schemas/guild/list-guild-territories.ts","../src/modules/guild.ts","../src/schemas/item/get-item-metadata.ts","../src/schemas/shared/pagination.ts","../src/schemas/item/item.ts","../src/schemas/item/list-items.ts","../src/schemas/item/list-item-sets.ts","../src/schemas/item/recipe.ts","../src/schemas/item/list-recipes.ts","../src/schemas/item/quick-search-items.ts","../src/schemas/item/search-items.ts","../src/schemas/item/search-recipes.ts","../src/modules/item.ts","../src/schemas/leaderboards/get-leaderboard.ts","../src/schemas/leaderboards/list-leaderboard-types.ts","../src/modules/leaderboards.ts","../src/schemas/map/get-quest-count.ts","../src/schemas/shared/coordinates.ts","../src/schemas/map/map.ts","../src/schemas/map/list-gathering-nodes.ts","../src/schemas/map/list-map-markers.ts","../src/schemas/map/list-map-camps.ts","../src/schemas/map/list-map-loot-pools.ts","../src/schemas/map/list-map-raids.ts","../src/schemas/map/list-player-locations.ts","../src/schemas/map/list-world-events.ts","../src/modules/map.ts","../src/schemas/news/article.ts","../src/schemas/news/fetch-publisher-article.ts","../src/schemas/news/list-latest-news.ts","../src/schemas/news/list-publisher-articles.ts","../src/schemas/news/list-publisher-videos.ts","../src/modules/news.ts","../src/schemas/oauth/exchange-oauth-token.ts","../src/schemas/player/whoami.ts","../src/schemas/oauth/get-oauth-identity.ts","../src/modules/oauth.ts","../src/schemas/player/list-player-characters.ts","../src/schemas/player/get-character-abilities.ts","../src/schemas/player/get-player.ts","../src/schemas/player/list-online-players.ts","../src/modules/player.ts","../src/schemas/search/global-search.ts","../src/modules/search.ts","../src/client.ts"],"names":["z","WynnApiError","ScalarOrListSchema","GuildBannerSchema","CountListSchema","PvpStatsSchema","axios"],"mappings":"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","file":"index.js","sourcesContent":["import type { AxiosInstance } from \"axios\";\n\n/**\n * Authentication credentials for endpoints that require a logged-in user.\n *\n * - `token` — API token issued from the Wynncraft developer portal\n * - `oauth` — OAuth2 access token\n * - `session` — browser session cookie (e.g. `PHPSESSID=...`)\n */\nexport type WynnAuth =\n | { type: \"token\"; /** API token from the Wynncraft developer portal. */ token: string }\n | { type: \"oauth\"; /** OAuth2 access token from an authorization flow. */ accessToken: string }\n | { type: \"session\"; /** Full session cookie header value. */ cookie: string };\n\n/** Options for constructing a {@link WynnClient}. */\nexport type WynnClientOptions = {\n /** Override the default {@link API_BASE_URL}. */\n baseUrl?: string;\n /** Credentials for authenticated endpoints. */\n auth?: WynnAuth;\n /** Inject a custom Axios instance (useful for testing). */\n http?: AxiosInstance;\n};\n\n/**\n * Convert {@link WynnAuth} into HTTP headers for the Axios client.\n *\n * @param auth - Credentials, or `undefined` for unauthenticated requests.\n * @returns `Authorization` or `Cookie` header map. Empty when unauthenticated.\n */\nexport function authHeaders(auth: WynnAuth | undefined): Record<string, string> {\n if (!auth) {\n return {};\n }\n\n switch (auth.type) {\n case \"token\":\n return { Authorization: `Bearer ${auth.token}` };\n case \"oauth\":\n return { Authorization: `Bearer ${auth.accessToken}` };\n case \"session\":\n return { Cookie: auth.cookie };\n }\n}\n","/** Base URL for all Wynncraft API v3 requests. */\nexport const API_BASE_URL = \"https://api.wynncraft.com/v3\";\n\n/** Wynncraft API release this client targets. Independent from the npm package version. */\nexport const WYNNCRAFT_API_VERSION = \"3.7.2\";\n\n/** Base URL for Wynncraft CDN assets. */\nexport const CDN_BASE_URL = \"https://cdn.wynncraft.com\";\n\n/**\n * Build a full CDN URL from a relative asset path.\n *\n * @param path - Asset path, with or without a leading slash.\n * @returns Absolute CDN URL.\n */\nexport function assetUrl(path: string): string {\n return `${CDN_BASE_URL}/${path.replace(/^\\//, \"\")}`;\n}\n","import { z } from \"zod\";\n\nexport const MultipleObjectsEntrySchema = z\n .object({\n username: z.string().optional(),\n name: z.string().optional(),\n prefix: z.string().optional(),\n uuid: z.uuid().optional(),\n rank: z.string().optional(),\n supportRank: z.string().nullable().optional(),\n shortenedRank: z.string().nullable().optional(),\n legacyRankColour: z\n .object({\n main: z.string(),\n sub: z.string(),\n })\n .optional(),\n rankBadge: z.string().optional(),\n })\n .passthrough();\n\nexport type MultipleObjectsEntry = z.infer<typeof MultipleObjectsEntrySchema>;\n\nexport const MultipleObjectsMapSchema = z.record(z.string(), MultipleObjectsEntrySchema);\n\nexport type MultipleObjectsMap = z.infer<typeof MultipleObjectsMapSchema>;\n\nexport const MultipleObjectsReturnedBodySchema = z.object({\n error: z.literal(\"MultipleObjectsReturned\"),\n detail: z.string(),\n code: z.literal(300),\n identifier: z.string().optional(),\n objects: MultipleObjectsMapSchema,\n});\n\nexport type MultipleObjectsReturnedBody = z.infer<typeof MultipleObjectsReturnedBodySchema>;\n","import axios from \"axios\";\nimport { z } from \"zod\";\n\nimport {\n MultipleObjectsMapSchema,\n type MultipleObjectsMap,\n MultipleObjectsReturnedBodySchema,\n} from \"./schemas/errors/multiple-objects-returned\";\n\n/** JSON error body returned by the Wynncraft API. */\nexport const WynnApiErrorBodySchema = z.object({\n error: z.string(),\n detail: z.string(),\n code: z.number(),\n identifier: z.string().optional(),\n objects: MultipleObjectsMapSchema.optional(),\n});\n\nexport type WynnApiErrorBody = z.infer<typeof WynnApiErrorBodySchema>;\n\n/**\n * Base error thrown for Wynncraft API error responses.\n *\n * Use `instanceof` checks against {@link WynnApiError.NotFound},\n * {@link WynnApiError.Forbidden}, and other subclasses for typed handling.\n */\nexport class WynnApiError extends Error {\n override readonly name: string = \"WynnApiError\";\n /** Machine-readable error name from the API, e.g. `NotFound`. */\n readonly error: string;\n /** Human-readable error message from the API. */\n readonly detail: string;\n /** Wynncraft error code. */\n readonly code: number;\n /** Optional identifier for the resource that caused the error. */\n readonly identifier?: string;\n /** Present on {@link WynnApiError.MultipleObjectsReturned} errors. */\n readonly objects?: MultipleObjectsMap;\n /** HTTP status code from the response. */\n readonly status: number;\n\n /**\n * @param body - Parsed Wynncraft error response body.\n * @param status - HTTP status code from the response.\n */\n constructor(body: WynnApiErrorBody, status: number) {\n super(body.detail);\n this.error = body.error;\n this.detail = body.detail;\n this.code = body.code;\n this.identifier = body.identifier;\n this.objects = body.objects;\n this.status = status;\n }\n}\n\ntype WynnErrorSubclass = new (body: WynnApiErrorBody, status: number) => WynnApiError;\n\nfunction wynnErrorClass<const Name extends string>(errorName: Name): WynnErrorSubclass {\n return class extends WynnApiError {\n override readonly name = errorName;\n };\n}\n\nclass MultipleObjectsReturnedError extends WynnApiError {\n override readonly name = \"MultipleObjectsReturned\";\n override readonly objects: MultipleObjectsMap;\n\n constructor(body: WynnApiErrorBody & { objects: MultipleObjectsMap }, status: number) {\n super(body, status);\n this.objects = body.objects;\n }\n}\n\ntype MultipleObjectsReturnedConstructor = new (\n body: WynnApiErrorBody & { objects: MultipleObjectsMap },\n status: number,\n) => MultipleObjectsReturnedError;\n\n/** Typed subclasses for known Wynncraft API error names. */\nexport namespace WynnApiError {\n export const MultipleObjectsReturned: MultipleObjectsReturnedConstructor =\n MultipleObjectsReturnedError;\n export const InvalidFormError = wynnErrorClass(\"InvalidFormError\");\n export const InvalidQueryParamsError = wynnErrorClass(\"InvalidQueryParamsError\");\n export const MalformedPayload = wynnErrorClass(\"MalformedPayload\");\n export const MalformedTokenError = wynnErrorClass(\"MalformedTokenError\");\n export const CSRFError = wynnErrorClass(\"CSRFError\");\n export const InvalidTokenError = wynnErrorClass(\"InvalidTokenError\");\n export const PaginationError = wynnErrorClass(\"PaginationError\");\n export const Forbidden = wynnErrorClass(\"Forbidden\");\n export const NotFound = wynnErrorClass(\"NotFound\");\n export const MethodNotAllowed = wynnErrorClass(\"MethodNotAllowed\");\n export const TooManyRequest = wynnErrorClass(\"TooManyRequest\");\n export const InternalError = wynnErrorClass(\"InternalError\");\n export const InvalidCharacterUUID = wynnErrorClass(\"InvalidCharacterUUID\");\n export const NoCharacterFound = wynnErrorClass(\"NoCharacterFound\");\n export const MalformedPrefixError = wynnErrorClass(\"MalformedPrefixError\");\n export const InvalidTree = wynnErrorClass(\"InvalidTree\");\n}\n\nconst WYNN_ERROR_REGISTRY: Record<string, WynnErrorSubclass | MultipleObjectsReturnedConstructor> =\n {\n MultipleObjectsReturned: WynnApiError.MultipleObjectsReturned,\n InvalidFormError: WynnApiError.InvalidFormError,\n InvalidQueryParamsError: WynnApiError.InvalidQueryParamsError,\n MalformedPayload: WynnApiError.MalformedPayload,\n MalformedTokenError: WynnApiError.MalformedTokenError,\n CSRFError: WynnApiError.CSRFError,\n InvalidTokenError: WynnApiError.InvalidTokenError,\n PaginationError: WynnApiError.PaginationError,\n Forbidden: WynnApiError.Forbidden,\n NotFound: WynnApiError.NotFound,\n MethodNotAllowed: WynnApiError.MethodNotAllowed,\n TooManyRequest: WynnApiError.TooManyRequest,\n InternalError: WynnApiError.InternalError,\n InvalidCharacterUUID: WynnApiError.InvalidCharacterUUID,\n NoCharacterFound: WynnApiError.NoCharacterFound,\n MalformedPrefixError: WynnApiError.MalformedPrefixError,\n InvalidTree: WynnApiError.InvalidTree,\n };\n\n/** Union of all registered Wynncraft error names. */\nexport type WynnErrorName = keyof typeof WYNN_ERROR_REGISTRY;\n\n/** Instance type for a known Wynncraft API error subclass. */\nexport type KnownWynnApiError = InstanceType<(typeof WYNN_ERROR_REGISTRY)[WynnErrorName]>;\n\n/**\n * Build a typed {@link WynnApiError} from a parsed API error body.\n *\n * @param body - Parsed Wynncraft error response body.\n * @param status - HTTP status code from the response.\n * @returns Typed error subclass, or base `WynnApiError` for unknown names.\n */\nexport function createWynnApiError(body: WynnApiErrorBody, status: number): WynnApiError {\n if (body.error === \"MultipleObjectsReturned\") {\n const parsed = MultipleObjectsReturnedBodySchema.safeParse(body);\n if (parsed.success) {\n return new WynnApiError.MultipleObjectsReturned(parsed.data, status);\n }\n }\n\n const ErrorClass = WYNN_ERROR_REGISTRY[body.error as WynnErrorName] ?? WynnApiError;\n\n return new (ErrorClass as WynnErrorSubclass)(body, status);\n}\n\n/**\n * Convert an Axios error into a {@link WynnApiError}, if the response\n * body matches the Wynncraft error schema.\n *\n * @param error - Caught error, typically from an Axios request.\n * @returns Typed API error, or `null` for non-API failures.\n */\nexport function toWynnApiError(error: unknown): WynnApiError | null {\n if (!axios.isAxiosError(error) || !error.response) {\n return null;\n }\n\n const parsed = WynnApiErrorBodySchema.safeParse(error.response.data);\n if (!parsed.success) {\n return null;\n }\n\n return createWynnApiError(parsed.data, error.response.status);\n}\n","import type { AxiosHeaderValue, AxiosRequestConfig } from \"axios\";\n\ntype HeadersLike = {\n get(name: string): AxiosHeaderValue | undefined;\n};\n\nexport type { HeadersLike };\n\n/** Parsed Wynncraft rate-limit headers from a response. */\nexport type RateLimitInfo = {\n bucket: string;\n limit: number;\n remaining: number;\n /** Unix timestamp when the bucket resets. */\n reset: number;\n};\n\n/** Successful API response with parsed rate-limit metadata. */\nexport type WynnResponse<T> = {\n data: T;\n rateLimit: RateLimitInfo | null;\n};\n\n/** Wynncraft request shape: axios fields plus route path and presence-only query flags. */\nexport type RequestConfig<D = unknown> = Pick<\n AxiosRequestConfig<D>,\n \"method\" | \"data\" | \"headers\" | \"params\"\n> & {\n /** API route path, e.g. `/player/foo`. */\n path: string;\n /**\n * Query flags sent without values, e.g. `?fullResult`.\n * Wynncraft uses these for optional response expansions.\n */\n presenceParams?: string[];\n};\n\n/**\n * Serialize query params. Presence flags are appended without values (`?fullResult`).\n *\n * @param params - Standard key-value query parameters.\n * @param presenceParams - Flag names to append without values, e.g. `[\"fullResult\"]`.\n * @returns URL-encoded query string.\n */\nexport function serializeRequestParams(\n params: AxiosRequestConfig[\"params\"],\n presenceParams?: string[],\n): string {\n const searchParams = new URLSearchParams();\n\n if (params != null && typeof params === \"object\" && !Array.isArray(params)) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n searchParams.set(key, String(value));\n }\n }\n }\n\n const baseQuery = searchParams.toString();\n if (!presenceParams?.length) {\n return baseQuery;\n }\n\n const presenceQuery = presenceParams.map((param) => encodeURIComponent(param)).join(\"&\");\n\n return baseQuery ? `${baseQuery}&${presenceQuery}` : presenceQuery;\n}\n\n/**\n * Map a {@link RequestConfig} to an Axios request config.\n *\n * @param config - Wynncraft request shape with path and optional presence flags.\n * @returns Axios-compatible request config.\n */\nexport function toAxiosRequestConfig<D = unknown>(config: RequestConfig<D>): AxiosRequestConfig<D> {\n const hasPresence = Boolean(config.presenceParams?.length);\n\n return {\n method: config.method ?? \"GET\",\n url: config.path,\n params: hasPresence ? (config.params ?? {}) : config.params,\n paramsSerializer: hasPresence\n ? (params) => serializeRequestParams(params, config.presenceParams)\n : undefined,\n data: config.data,\n headers: config.headers,\n };\n}\n\n/** Minimal HTTP surface used by API modules. */\nexport interface WynnHttpClient {\n request<T>(config: RequestConfig): Promise<WynnResponse<T>>;\n}\n\n/**\n * Parse Wynncraft rate-limit headers from a response.\n *\n * @param headers - Response headers with a `get(name)` accessor.\n * @returns Parsed rate-limit info, or `null` when headers are missing.\n */\nexport function parseRateLimit(headers: HeadersLike): RateLimitInfo | null {\n const bucket = headers.get(\"ratelimit-bucket\");\n const limit = headers.get(\"ratelimit-limit\");\n const remaining = headers.get(\"ratelimit-remaining\");\n const reset = headers.get(\"ratelimit-reset\");\n\n if (!bucket || !limit || !remaining || !reset) {\n return null;\n }\n\n return {\n bucket: String(bucket),\n limit: Number(limit),\n remaining: Number(remaining),\n reset: Number(reset),\n };\n}\n","import { z } from \"zod\";\n\nexport const ClassTreeSchema = z.enum([\"archer\", \"warrior\", \"assassin\", \"mage\", \"shaman\"]);\n\nexport type ClassTree = z.infer<typeof ClassTreeSchema>;\n","import { z } from \"zod\";\n\nconst AbilityIconValueCustomModelDataSchema = z.object({\n rangeDispatch: z.array(z.number()),\n});\n\nconst AbilityIconValueSchema = z.object({\n id: z.string(),\n name: z.string(),\n customModelData: AbilityIconValueCustomModelDataSchema,\n});\n\nexport const AbilityIconSchema = z.object({\n name: z.string().optional(),\n value: AbilityIconValueSchema,\n format: z.string(),\n});\n\nexport type AbilityIcon = z.infer<typeof AbilityIconSchema>;\n\nconst AbilityMapNodeCoordinatesSchema = z.object({\n x: z.number(),\n y: z.number(),\n});\n\nconst AbilityMapNodeMetaIconSchema = z.union([AbilityIconSchema, z.string()]);\n\nconst AbilityMapNodeMetaSchema = z.object({\n icon: AbilityMapNodeMetaIconSchema.optional(),\n page: z.number(),\n id: z.string().optional(),\n});\n\nexport const AbilityMapNodeSchema = z.object({\n type: z.enum([\"ability\", \"connector\"]),\n coordinates: AbilityMapNodeCoordinatesSchema,\n meta: AbilityMapNodeMetaSchema,\n family: z.array(z.string()),\n});\n\nexport type AbilityMapNode = z.infer<typeof AbilityMapNodeSchema>;\n\nexport const AbilityMapPagesSchema = z.record(z.string(), z.array(AbilityMapNodeSchema));\n\nexport type AbilityMapPages = z.infer<typeof AbilityMapPagesSchema>;\n","import { z } from \"zod\";\n\nimport { AbilityMapPagesSchema } from \"./ability\";\n\nexport const GetAbilityMapResultSchema = AbilityMapPagesSchema;\n\nexport type GetAbilityMapResult = z.infer<typeof GetAbilityMapResultSchema>;\n","import { z } from \"zod\";\n\nimport { AbilityIconSchema } from \"./ability\";\n\nconst AbilityTreeArchetypeSchema = z.object({\n name: z.string(),\n description: z.string(),\n shortDescription: z.string(),\n icon: AbilityIconSchema,\n slot: z.number(),\n});\n\nconst AbilityDefinitionSchema = z.object({\n name: z.string(),\n icon: AbilityIconSchema,\n slot: z.number(),\n coordinates: z.object({\n x: z.number(),\n y: z.number(),\n }),\n description: z.array(z.string()),\n requirements: z.record(z.string(), z.number()),\n links: z.array(z.string()),\n locks: z.array(z.string()).nullable(),\n page: z.number(),\n});\n\nexport const GetAbilityTreeResultSchema = z.object({\n archetypes: z.record(z.string(), AbilityTreeArchetypeSchema),\n pages: z.record(z.string(), z.record(z.string(), AbilityDefinitionSchema)),\n});\n\nexport type GetAbilityTreeResult = z.infer<typeof GetAbilityTreeResultSchema>;\n","import { z } from \"zod\";\n\nimport { AbilityIconSchema } from \"./ability\";\n\nconst AspectTierSchema = z.object({\n threshold: z.number(),\n description: z.array(z.string()),\n});\n\nconst AspectSchema = z.object({\n name: z.string(),\n internalName: z.string(),\n icon: AbilityIconSchema,\n rarity: z.string(),\n requiredClass: z.string(),\n tiers: z.record(z.string(), AspectTierSchema),\n});\n\nexport const ListAspectsResultSchema = z.array(AspectSchema);\n\nexport type ListAspectsResult = z.infer<typeof ListAspectsResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type ClassTree } from \"../schemas/shared/class-tree\";\nimport { type GetAbilityMapResult } from \"../schemas/ability/get-ability-map\";\nimport { type GetAbilityTreeResult } from \"../schemas/ability/get-ability-tree\";\nimport { type ListAspectsResult } from \"../schemas/ability/list-aspects\";\n\n/** Ability trees, maps, and aspects. */\nexport class AbilityModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * Fetch the ability tree layout for a class.\n *\n * @param tree - Class tree: `archer`, `warrior`, `assassin`, `mage`, or `shaman`.\n * @returns Ability tree nodes and connections.\n */\n async getTree(tree: ClassTree): Promise<WynnResponse<GetAbilityTreeResult>> {\n return this.client.request<GetAbilityTreeResult>({\n path: `/ability/tree/${encodeURIComponent(tree)}`,\n });\n }\n\n /**\n * Fetch the ability map for a class.\n *\n * @param tree - Class tree: `archer`, `warrior`, `assassin`, `mage`, or `shaman`.\n * @returns Ability map keyed by page.\n */\n async getMap(tree: ClassTree): Promise<WynnResponse<GetAbilityMapResult>> {\n return this.client.request<GetAbilityMapResult>({\n path: `/ability/map/${encodeURIComponent(tree)}`,\n });\n }\n\n /**\n * List all aspects for a class tree.\n *\n * @param tree - Class tree: `archer`, `warrior`, `assassin`, `mage`, or `shaman`.\n * @returns Aspect definitions for the given tree.\n */\n async listAspects(tree: ClassTree): Promise<WynnResponse<ListAspectsResult>> {\n return this.client.request<ListAspectsResult>({\n path: `/aspects/${encodeURIComponent(tree)}`,\n });\n }\n}\n","import { z } from \"zod\";\n\nimport { ClassTreeSchema } from \"../shared/class-tree\";\n\nexport const ClassNameSchema = ClassTreeSchema;\n\nexport type ClassName = z.infer<typeof ClassNameSchema>;\n\nconst ClassArchetypeSchema = z.object({\n name: z.string(),\n difficulty: z.number(),\n max: z.number(),\n icon: z.string(),\n damage: z.number(),\n defence: z.number(),\n range: z.number(),\n speed: z.number(),\n});\n\nexport const GetClassResultSchema = z.object({\n id: z.string(),\n name: z.string(),\n lore: z.string(),\n overallDifficulty: z.number(),\n overallMax: z.number(),\n archetypes: z.record(z.string(), ClassArchetypeSchema),\n});\n\nexport type GetClassResult = z.infer<typeof GetClassResultSchema>;\n","import { z } from \"zod\";\n\nconst ClassSummarySchema = z.object({\n name: z.string(),\n overallDifficulty: z.number(),\n});\n\nexport const ListClassesResultSchema = z.record(z.string(), ClassSummarySchema);\n\nexport type ListClassesResult = z.infer<typeof ListClassesResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type ClassName, type GetClassResult } from \"../schemas/classes/get-class\";\nimport { type ListClassesResult } from \"../schemas/classes/list-classes\";\n\n/** Playable classes and their metadata. */\nexport class ClassesModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /** @returns All playable classes. */\n async list(): Promise<WynnResponse<ListClassesResult>> {\n return this.client.request<ListClassesResult>({\n path: \"/classes\",\n });\n }\n\n /**\n * Fetch metadata for a single class.\n *\n * @param className - Class identifier, e.g. `mage` or `warrior`.\n * @returns Class stats, archetypes, and weapon types.\n */\n async getClass(className: ClassName): Promise<WynnResponse<GetClassResult>> {\n return this.client.request<GetClassResult>({\n path: `/classes/${encodeURIComponent(className)}`,\n });\n }\n}\n","import { z } from \"zod\";\n\nexport const GetGuildOptionsSchema = z.object({\n identifier: z.enum([\"username\", \"uuid\"]).optional(),\n});\n\nexport type GetGuildOptions = z.infer<typeof GetGuildOptionsSchema>;\n\nconst CountListSchema = z.object({\n total: z.number(),\n list: z.record(z.string(), z.number()),\n});\n\nconst PvpStatsSchema = z.object({\n kills: z.number().optional(),\n deaths: z.number().optional(),\n});\n\nconst GuildMemberWeeklySchema = z.object({\n completed: z.boolean().optional(),\n streak: z.number().optional(),\n});\n\nconst GuildMemberGlobalDataSchema = z.object({\n contentCompletion: z.number(),\n wars: z.number(),\n totalLevel: z.number(),\n mobsKilled: z.number(),\n chestsFound: z.number(),\n dungeons: CountListSchema,\n raids: CountListSchema,\n worldEvents: z.number(),\n lootruns: z.number(),\n caves: z.number(),\n completedQuests: z.number(),\n pvp: PvpStatsSchema,\n currentGuildRaids: CountListSchema.nullable().optional(),\n guildRaids: CountListSchema.nullable().optional(),\n playtime: z.number().optional(),\n});\n\nconst GuildMemberRestrictionsSchema = z.object({\n online_status: z.boolean().optional(),\n main_access: z.boolean().optional(),\n guild_high_ranked_access: z.boolean().optional(),\n});\n\nconst GuildMemberSchema = z.object({\n uuid: z.uuid().optional(),\n username: z.string().optional(),\n online: z.boolean(),\n lastJoin: z.string().nullable(),\n server: z.string().nullable(),\n contributed: z.number(),\n contributionRank: z.number(),\n joined: z.string(),\n weekly: GuildMemberWeeklySchema,\n globalData: GuildMemberGlobalDataSchema,\n restrictions: GuildMemberRestrictionsSchema,\n});\n\nconst GuildMembersSchema = z.object({\n total: z.number(),\n owner: z.record(z.string(), GuildMemberSchema).optional(),\n chief: z.record(z.string(), GuildMemberSchema).optional(),\n strategist: z.record(z.string(), GuildMemberSchema).optional(),\n recruiter: z.record(z.string(), GuildMemberSchema).optional(),\n recruit: z.record(z.string(), GuildMemberSchema).optional(),\n});\n\nconst BannerLayerSchema = z.object({\n color: z.string(),\n pattern: z.string(),\n});\n\nconst GuildBannerSchema = z.object({\n base: z.string(),\n tier: z.number(),\n structure: z.string(),\n layers: z.array(BannerLayerSchema),\n});\n\nconst GuildSeasonRankSchema = z.object({\n rating: z.number(),\n finalTerritories: z.number(),\n});\n\nexport const GuildResultSchema = z.object({\n uuid: z.uuid(),\n name: z.string(),\n prefix: z.string(),\n level: z.number(),\n xpPercent: z.number(),\n territories: z.number(),\n wars: z.number(),\n raids: z.number(),\n created: z.string(),\n members: GuildMembersSchema,\n online: z.number(),\n banner: GuildBannerSchema,\n seasonRanks: z.record(z.string(), GuildSeasonRankSchema),\n ranking: z.record(z.string(), z.number()),\n});\n\nexport type GuildResult = z.infer<typeof GuildResultSchema>;\n","import { z } from \"zod\";\n\nexport const ListGuildsOptionsSchema = z.object({\n identifier: z.enum([\"username\", \"uuid\"]).optional(),\n});\n\nexport type ListGuildsOptions = z.infer<typeof ListGuildsOptionsSchema>;\n\nconst GuildListEntryByNameSchema = z.object({\n uuid: z.uuid(),\n prefix: z.string(),\n});\n\nconst GuildListEntryByUuidSchema = z.object({\n name: z.string(),\n prefix: z.string(),\n});\n\nexport const ListGuildsByNameResultSchema = z.record(z.string(), GuildListEntryByNameSchema);\n\nexport const ListGuildsByUuidResultSchema = z.record(z.uuid(), GuildListEntryByUuidSchema);\n\nexport type ListGuildsByNameResult = z.infer<typeof ListGuildsByNameResultSchema>;\n\nexport type ListGuildsByUuidResult = z.infer<typeof ListGuildsByUuidResultSchema>;\n\nexport type ListGuildsResult = ListGuildsByNameResult | ListGuildsByUuidResult;\n","import { z } from \"zod\";\n\nconst GuildSeasonRewardConditionSchema = z.object({\n type: z.enum([\"SR\", \"LEADERBOARD_POSITION\"]),\n value: z.number(),\n});\n\nconst GuildSeasonRewardSchema = z.object({\n condition: GuildSeasonRewardConditionSchema,\n type: z.enum([\n \"BADGE\",\n \"EFFECT\",\n \"COSMETIC\",\n \"EMERALD\",\n \"PRIVATE_BANK_SLOT\",\n \"PUBLIC_BANK_SLOT\",\n \"GUILD_TOME\",\n \"STRUCTURE\",\n ]),\n value: z.union([z.number(), z.string()]).nullable(),\n expires: z.string().nullable(),\n});\n\nconst GuildSeasonDefinitionSchema = z.object({\n initDate: z.string().nullable().optional(),\n endDate: z.string().nullable().optional(),\n territoryHoldingSrPerHour: z.number(),\n srPerWar: z.number(),\n ratingRewards: z.array(GuildSeasonRewardSchema),\n leaderboardRewards: z.array(GuildSeasonRewardSchema),\n});\n\nexport const ListGuildSeasonsResultSchema = z.record(z.string(), GuildSeasonDefinitionSchema);\n\nexport type ListGuildSeasonsResult = z.infer<typeof ListGuildSeasonsResultSchema>;\n","import { z } from \"zod\";\n\nconst TerritoryGuildReferenceSchema = z.object({\n uuid: z.uuid(),\n name: z.string(),\n prefix: z.string(),\n hq: z.string(),\n});\n\nconst TerritoryResourceSchema = z.object({\n type: z.enum([\"EMERALD\", \"ORE\", \"WOOD\", \"FISH\", \"CROP\"]),\n generation: z.number(),\n stored: z.number(),\n limit: z.number(),\n});\n\nconst TerritoryLocationSchema = z.object({\n start: z.array(z.number()),\n end: z.array(z.number()),\n});\n\nconst TerritorySchema = z.object({\n guild: TerritoryGuildReferenceSchema,\n acquired: z.string(),\n hq: z.boolean(),\n resources: z.array(TerritoryResourceSchema),\n links: z.array(z.string()),\n treasury: z.enum([\"VERY_LOW\", \"LOW\", \"MEDIUM\", \"HIGH\", \"VERY_HIGH\"]),\n defences: z.enum([\"VERY_LOW\", \"LOW\", \"MEDIUM\", \"HIGH\", \"VERY_HIGH\"]),\n location: TerritoryLocationSchema,\n});\n\nexport const ListGuildTerritoriesResultSchema = z.record(z.string(), TerritorySchema);\n\nexport type ListGuildTerritoriesResult = z.infer<typeof ListGuildTerritoriesResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type GetGuildOptions, type GuildResult } from \"../schemas/guild/guild\";\nimport { type ListGuildsOptions, type ListGuildsResult } from \"../schemas/guild/list-guilds\";\nimport { type ListGuildSeasonsResult } from \"../schemas/guild/list-guild-seasons\";\nimport { type ListGuildTerritoriesResult } from \"../schemas/guild/list-guild-territories\";\n\n/** Guild listings, seasons, and territory data. */\nexport class GuildModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * List guilds with optional filters.\n *\n * @param options.identifier - Lookup key for list entries: `username` or `uuid`.\n * @returns Guild list keyed by the chosen identifier.\n */\n async listGuilds(options: ListGuildsOptions = {}): Promise<WynnResponse<ListGuildsResult>> {\n return this.client.request<ListGuildsResult>({\n path: \"/guild/list/guild\",\n params: options,\n });\n }\n\n /** @returns All guild territories. */\n async listTerritories(): Promise<WynnResponse<ListGuildTerritoriesResult>> {\n return this.client.request<ListGuildTerritoriesResult>({\n path: \"/guild/list/territory\",\n });\n }\n\n /** @returns Guild season history. */\n async listSeasons(): Promise<WynnResponse<ListGuildSeasonsResult>> {\n return this.client.request<ListGuildSeasonsResult>({\n path: \"/guild/seasons\",\n });\n }\n\n /**\n * Fetch a guild by name.\n *\n * @param name - Guild name.\n * @param options.identifier - Response key for members: `username` or `uuid`.\n * @returns Guild profile and member data.\n */\n async getGuild(name: string, options: GetGuildOptions = {}): Promise<WynnResponse<GuildResult>> {\n return this.client.request<GuildResult>({\n path: `/guild/${encodeURIComponent(name)}`,\n params: options,\n });\n }\n\n /**\n * Fetch a guild by tag prefix.\n *\n * @param prefix - Guild tag prefix, e.g. `ABC`.\n * @param options.identifier - Response key for members: `username` or `uuid`.\n * @returns Guild profile and member data.\n */\n async getGuildByPrefix(\n prefix: string,\n options: GetGuildOptions = {},\n ): Promise<WynnResponse<GuildResult>> {\n return this.client.request<GuildResult>({\n path: `/guild/prefix/${encodeURIComponent(prefix)}`,\n params: options,\n });\n }\n\n /**\n * Fetch a guild by UUID.\n *\n * @param uuid - Guild UUID.\n * @param options.identifier - Response key for members: `username` or `uuid`.\n * @returns Guild profile and member data.\n */\n async getGuildByUuid(\n uuid: string,\n options: GetGuildOptions = {},\n ): Promise<WynnResponse<GuildResult>> {\n return this.client.request<GuildResult>({\n path: `/guild/uuid/${encodeURIComponent(uuid)}`,\n params: options,\n });\n }\n}\n","import { z } from \"zod\";\n\nexport const GetItemMetadataOptionsSchema = z.object({\n static: z.boolean().optional(),\n});\n\nexport type GetItemMetadataOptions = z.infer<typeof GetItemMetadataOptionsSchema>;\n\nconst ItemStaticValueMapSchema = z.record(z.string(), z.number());\n\nexport const ItemMetadataSchema = z.object({\n filters: z.object({\n type: z.array(z.string()),\n advanced: z.record(z.string(), z.array(z.string())),\n tier: z.record(z.string(), z.array(z.string())),\n identifications: z.array(z.string()),\n majorIds: z.array(z.string()),\n levelRange: z.array(z.number()),\n }),\n static: ItemStaticValueMapSchema,\n});\n\nexport type ItemMetadata = z.infer<typeof ItemMetadataSchema>;\n\nexport const ItemStaticMetadataSchema = z.object({\n attackSpeed: ItemStaticValueMapSchema,\n emblem: ItemStaticValueMapSchema,\n gathering: ItemStaticValueMapSchema,\n identifications: ItemStaticValueMapSchema,\n majorIds: ItemStaticValueMapSchema,\n set: ItemStaticValueMapSchema,\n subType: ItemStaticValueMapSchema,\n tier: ItemStaticValueMapSchema,\n type: ItemStaticValueMapSchema,\n});\n\nexport type ItemStaticMetadata = z.infer<typeof ItemStaticMetadataSchema>;\n\nexport type GetItemMetadataResult = ItemMetadata | ItemStaticMetadata;\n","import { z } from \"zod\";\n\nexport const PaginationControllerSchema = z.object({\n count: z.number(),\n current_count: z.number(),\n pages: z.number(),\n prev: z.number().nullable(),\n current: z.number(),\n next: z.number().nullable(),\n});\n\nexport type PaginationController = z.infer<typeof PaginationControllerSchema>;\n\nexport const PaginatedQueryOptionsSchema = z.object({\n page: z.number().optional(),\n fullResult: z.boolean().optional(),\n});\n\nexport type PaginatedQueryOptions = z.infer<typeof PaginatedQueryOptionsSchema>;\n\nexport const PaginatedItemQueryOptionsSchema = PaginatedQueryOptionsSchema;\nexport type PaginatedItemQueryOptions = PaginatedQueryOptions;\n\nexport const PaginatedRecipeQueryOptionsSchema = PaginatedQueryOptionsSchema;\nexport type PaginatedRecipeQueryOptions = PaginatedQueryOptions;\n","import { z } from \"zod\";\n\nimport { PaginationControllerSchema } from \"../shared/pagination\";\n\nconst IdentificationRangeSchema = z.object({\n min: z.number(),\n raw: z.number(),\n max: z.number(),\n});\n\nexport const IdentificationValueSchema = z.union([z.number(), IdentificationRangeSchema]);\n\nexport type IdentificationValue = z.infer<typeof IdentificationValueSchema>;\n\nexport const ItemSchema = z.object({\n displayName: z.string(),\n internalName: z.string(),\n type: z.string(),\n subType: z.string(),\n icon: z.object({\n value: z.object({\n id: z.string(),\n name: z.string(),\n customModelData: z.object({\n rangeDispatch: z.array(z.number()),\n }),\n }),\n format: z.string(),\n }),\n emblem: z.string(),\n tier: z.string(),\n attackSpeed: z.string().optional(),\n averageDps: z.number().optional(),\n restriction: z.string().optional(),\n dropRestriction: z.string().optional(),\n gathering: z.string().optional(),\n set: z.string().optional(),\n elements: z.array(z.string()).optional(),\n requirements: z\n .object({\n level: z.number().optional(),\n classRequirement: z.string().optional(),\n strength: z.number().optional(),\n dexterity: z.number().optional(),\n intelligence: z.number().optional(),\n defence: z.number().optional(),\n agility: z.number().optional(),\n })\n .optional(),\n majorIds: z.record(z.string(), z.string()).optional(),\n powderSlots: z.number().optional(),\n lore: z.string().optional(),\n identifications: z.record(z.string(), IdentificationValueSchema).optional(),\n base: z.record(z.string(), IdentificationValueSchema).optional(),\n});\n\nexport type Item = z.infer<typeof ItemSchema>;\n\nexport const ItemListSchema = z.array(ItemSchema);\n\nexport type ItemList = z.infer<typeof ItemListSchema>;\n\nexport const PaginatedItemResponseSchema = z.object({\n controller: PaginationControllerSchema,\n results: ItemListSchema,\n});\n\nexport type PaginatedItemResponse = z.infer<typeof PaginatedItemResponseSchema>;\n","import { z } from \"zod\";\n\nimport { PaginatedItemResponseSchema } from \"./item\";\nimport { PaginatedItemQueryOptionsSchema } from \"../shared/pagination\";\n\nexport const ListItemsOptionsSchema = PaginatedItemQueryOptionsSchema;\n\nexport type ListItemsOptions = z.infer<typeof ListItemsOptionsSchema>;\n\nexport const ListItemsResultSchema = PaginatedItemResponseSchema;\n\nexport type ListItemsResult = z.infer<typeof ListItemsResultSchema>;\n","import { z } from \"zod\";\n\nconst ItemSetBonusSchema = z.object({\n major: z.array(z.string()),\n minor: z.record(z.string(), z.union([z.number(), z.string()])),\n});\n\nconst ItemSetSchema = z.object({\n internalName: z.string(),\n bonuses: z.record(z.string(), ItemSetBonusSchema),\n parts: z.array(z.string()),\n});\n\nexport const ListItemSetsResultSchema = z.record(z.string(), ItemSetSchema);\n\nexport type ListItemSetsResult = z.infer<typeof ListItemSetsResultSchema>;\n","import { z } from \"zod\";\n\nimport { PaginationControllerSchema } from \"../shared/pagination\";\n\nconst IntegerRangeSchema = z.object({\n minimum: z.number(),\n maximum: z.number(),\n});\n\nexport const RecipeSchema = z.object({\n internalName: z.string(),\n type: z.string(),\n skill: z.string(),\n level: IntegerRangeSchema,\n durability: IntegerRangeSchema.optional(),\n materials: z.array(\n z.object({\n item: z.string(),\n amount: z.number(),\n }),\n ),\n healthOrDamage: IntegerRangeSchema,\n duration: IntegerRangeSchema.optional(),\n basicDuration: IntegerRangeSchema.optional(),\n sprites: z.record(\n z.string(),\n z.object({\n format: z.string(),\n value: z.object({\n id: z.string(),\n customModelData: z.number(),\n name: z.string(),\n }),\n name: z.string(),\n }),\n ),\n xp: z.number(),\n});\n\nexport type Recipe = z.infer<typeof RecipeSchema>;\n\nexport const RecipeListSchema = z.array(RecipeSchema);\n\nexport type RecipeList = z.infer<typeof RecipeListSchema>;\n\nexport const PaginatedRecipeResponseSchema = z.object({\n controller: PaginationControllerSchema,\n results: RecipeListSchema,\n});\n\nexport type PaginatedRecipeResponse = z.infer<typeof PaginatedRecipeResponseSchema>;\n","import { z } from \"zod\";\n\nimport { PaginatedRecipeQueryOptionsSchema } from \"../shared/pagination\";\nimport { PaginatedRecipeResponseSchema } from \"./recipe\";\n\nexport const ListRecipesOptionsSchema = PaginatedRecipeQueryOptionsSchema;\n\nexport type ListRecipesOptions = z.infer<typeof ListRecipesOptionsSchema>;\n\nexport const ListRecipesResultSchema = PaginatedRecipeResponseSchema;\n\nexport type ListRecipesResult = z.infer<typeof ListRecipesResultSchema>;\n","import { z } from \"zod\";\n\nimport { ItemListSchema } from \"./item\";\n\nexport const QuickSearchItemsResultSchema = ItemListSchema;\n\nexport type QuickSearchItemsResult = z.infer<typeof QuickSearchItemsResultSchema>;\n","import { z } from \"zod\";\n\nimport { PaginatedItemResponseSchema } from \"./item\";\nimport { PaginatedItemQueryOptionsSchema } from \"../shared/pagination\";\n\nconst ScalarOrListSchema = z.union([z.string(), z.array(z.string())]);\n\nexport const ItemSearchRequestSchema = z.object({\n query: z.string().nullable().optional(),\n type: ScalarOrListSchema.optional(),\n tier: ScalarOrListSchema.optional(),\n attackSpeed: ScalarOrListSchema.optional(),\n levelRange: z.union([z.number(), z.array(z.number())]).optional(),\n professions: ScalarOrListSchema.optional(),\n identifications: ScalarOrListSchema.optional(),\n majorIds: ScalarOrListSchema.optional(),\n});\n\nexport type ItemSearchRequest = z.infer<typeof ItemSearchRequestSchema>;\n\nexport const SearchItemsOptionsSchema = PaginatedItemQueryOptionsSchema;\n\nexport type SearchItemsOptions = z.infer<typeof SearchItemsOptionsSchema>;\n\nexport const SearchItemsResultSchema = PaginatedItemResponseSchema;\n\nexport type SearchItemsResult = z.infer<typeof SearchItemsResultSchema>;\n","import { z } from \"zod\";\n\nimport { PaginatedRecipeQueryOptionsSchema } from \"../shared/pagination\";\nimport { PaginatedRecipeResponseSchema } from \"./recipe\";\n\nconst ScalarOrListSchema = z.union([z.string(), z.array(z.string())]);\n\nexport const RecipeSearchRequestSchema = z.object({\n query: ScalarOrListSchema.optional(),\n xp: z.union([z.number(), z.array(z.number())]).optional(),\n type: ScalarOrListSchema.optional(),\n skill: ScalarOrListSchema.optional(),\n materials: ScalarOrListSchema.optional(),\n level: z.union([z.number(), z.array(z.number())]).optional(),\n durability: z.union([z.number(), z.array(z.number())]).optional(),\n healthOrDamage: z.union([z.number(), z.array(z.number())]).optional(),\n duration: z.union([z.number(), z.array(z.number())]).optional(),\n basicDuration: z.union([z.number(), z.array(z.number())]).optional(),\n});\n\nexport type RecipeSearchRequest = z.infer<typeof RecipeSearchRequestSchema>;\n\nexport const SearchRecipesOptionsSchema = PaginatedRecipeQueryOptionsSchema;\n\nexport type SearchRecipesOptions = z.infer<typeof SearchRecipesOptionsSchema>;\n\nexport const SearchRecipesResultSchema = PaginatedRecipeResponseSchema;\n\nexport type SearchRecipesResult = z.infer<typeof SearchRecipesResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport {\n type GetItemMetadataOptions,\n type GetItemMetadataResult,\n} from \"../schemas/item/get-item-metadata\";\nimport { type ListItemsOptions, type ListItemsResult } from \"../schemas/item/list-items\";\nimport { type ListItemSetsResult } from \"../schemas/item/list-item-sets\";\nimport { type ListRecipesOptions, type ListRecipesResult } from \"../schemas/item/list-recipes\";\nimport { type QuickSearchItemsResult } from \"../schemas/item/quick-search-items\";\nimport {\n type ItemSearchRequest,\n type SearchItemsOptions,\n type SearchItemsResult,\n} from \"../schemas/item/search-items\";\nimport {\n type RecipeSearchRequest,\n type SearchRecipesOptions,\n type SearchRecipesResult,\n} from \"../schemas/item/search-recipes\";\n\n/** Item database, search, recipes, and metadata. */\nexport class ItemModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * List items from the item database.\n *\n * @param options.page - Page number for paginated results.\n * @param options.fullResult - Include full item data when `true`.\n * @returns Paginated item list.\n */\n async listItems(options: ListItemsOptions = {}): Promise<WynnResponse<ListItemsResult>> {\n const { page, fullResult } = options;\n\n return this.client.request<ListItemsResult>({\n path: \"/item/database\",\n params: page !== undefined ? { page } : undefined,\n presenceParams: fullResult ? [\"fullResult\"] : undefined,\n });\n }\n\n /**\n * Search items with structured filters.\n *\n * @param filters - Search criteria such as `type`, `tier`, `levelRange`, and `identifications`.\n * @param options.page - Page number for paginated results.\n * @param options.fullResult - Include full item data when `true`.\n * @returns Paginated matching items.\n */\n async searchItems(\n filters: ItemSearchRequest = {},\n options: SearchItemsOptions = {},\n ): Promise<WynnResponse<SearchItemsResult>> {\n const { page, fullResult } = options;\n\n return this.client.request<SearchItemsResult>({\n method: \"POST\",\n path: \"/item/search\",\n params: page !== undefined ? { page } : undefined,\n presenceParams: fullResult ? [\"fullResult\"] : undefined,\n data: filters,\n });\n }\n\n /**\n * Quick text search for items by name.\n *\n * @param query - Free-text item name query.\n * @returns Matching items keyed by internal name.\n */\n async quickSearchItems(query: string): Promise<WynnResponse<QuickSearchItemsResult>> {\n return this.client.request<QuickSearchItemsResult>({\n path: `/item/search/${encodeURIComponent(query)}`,\n });\n }\n\n /**\n * List recipes from the recipe database.\n *\n * @param options.page - Page number for paginated results.\n * @param options.fullResult - Include full recipe data when `true`.\n * @returns Paginated recipe list.\n */\n async listRecipes(options: ListRecipesOptions = {}): Promise<WynnResponse<ListRecipesResult>> {\n const { page, fullResult } = options;\n\n return this.client.request<ListRecipesResult>({\n path: \"/item/recipe/database\",\n params: page !== undefined ? { page } : undefined,\n presenceParams: fullResult ? [\"full_result\"] : undefined,\n });\n }\n\n /**\n * Search recipes with structured filters.\n *\n * @param filters - Search criteria such as `type`, `skill`, `materials`, and `level`.\n * @param options.page - Page number for paginated results.\n * @param options.fullResult - Include full recipe data when `true`.\n * @returns Paginated matching recipes.\n */\n async searchRecipes(\n filters: RecipeSearchRequest = {},\n options: SearchRecipesOptions = {},\n ): Promise<WynnResponse<SearchRecipesResult>> {\n const { page, fullResult } = options;\n\n return this.client.request<SearchRecipesResult>({\n method: \"POST\",\n path: \"/item/recipe/search\",\n params: page !== undefined ? { page } : undefined,\n presenceParams: fullResult ? [\"full_result\"] : undefined,\n data: filters,\n });\n }\n\n /**\n * Fetch item metadata.\n *\n * @param options.static - Include static value maps when `true`.\n * @returns Filter definitions, tiers, and identification metadata.\n */\n async getMetadata(\n options: GetItemMetadataOptions = {},\n ): Promise<WynnResponse<GetItemMetadataResult>> {\n return this.client.request<GetItemMetadataResult>({\n path: \"/item/metadata\",\n presenceParams: options.static ? [\"static\"] : undefined,\n });\n }\n\n /** @returns All item sets. */\n async listSets(): Promise<WynnResponse<ListItemSetsResult>> {\n return this.client.request<ListItemSetsResult>({\n path: \"/item/sets\",\n });\n }\n}\n","import { z } from \"zod\";\n\nconst GuildBannerLayerSchema = z\n .object({\n color: z.string().optional(),\n colour: z.string().optional(),\n pattern: z.string(),\n })\n .passthrough();\n\nconst GuildBannerSchema = z\n .object({\n base: z.string(),\n tier: z.number(),\n structure: z.string(),\n layers: z.array(GuildBannerLayerSchema),\n })\n .passthrough();\n\nexport const LeaderboardEntrySchema = z\n .object({\n metaScore: z.number().optional(),\n name: z.string(),\n uuid: z.uuid().optional(),\n prefix: z.string().optional(),\n score: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n banner: GuildBannerSchema.optional(),\n previousRanking: z.number().optional(),\n level: z.number().optional(),\n xp: z.number().optional(),\n territories: z.number().optional(),\n wars: z.number().optional(),\n created: z.string().optional(),\n characterUuid: z.uuid().optional(),\n characterType: z.string().optional(),\n characterData: z.record(z.string(), z.unknown()).optional(),\n rank: z.string().optional(),\n supportRank: z.string().nullable().optional(),\n shortenedRank: z.string().nullable().optional(),\n legacyRankColour: z\n .object({\n main: z.string(),\n sub: z.string(),\n })\n .optional(),\n rankBadge: z.string().optional(),\n restricted: z.boolean().optional(),\n })\n .passthrough();\n\nexport type LeaderboardEntry = z.infer<typeof LeaderboardEntrySchema>;\n\nexport const GetLeaderboardOptionsSchema = z.object({\n resultLimit: z.number().optional(),\n});\n\nexport type GetLeaderboardOptions = z.infer<typeof GetLeaderboardOptionsSchema>;\n\nexport const GetLeaderboardResultSchema = z.record(z.string(), LeaderboardEntrySchema);\n\nexport type GetLeaderboardResult = z.infer<typeof GetLeaderboardResultSchema>;\n","import { z } from \"zod\";\n\nexport const ListLeaderboardTypesResultSchema = z.array(z.string());\n\nexport type ListLeaderboardTypesResult = z.infer<typeof ListLeaderboardTypesResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport {\n type GetLeaderboardOptions,\n type GetLeaderboardResult,\n} from \"../schemas/leaderboards/get-leaderboard\";\nimport { type ListLeaderboardTypesResult } from \"../schemas/leaderboards/list-leaderboard-types\";\n\n/** Leaderboard types and rankings. */\nexport class LeaderboardsModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /** @returns Available leaderboard type identifiers. */\n async listTypes(): Promise<WynnResponse<ListLeaderboardTypesResult>> {\n return this.client.request<ListLeaderboardTypesResult>({\n path: \"/leaderboards/types\",\n });\n }\n\n /**\n * Fetch entries for a leaderboard type.\n *\n * @param lbType - Leaderboard type slug from {@link LeaderboardsModule.listTypes}.\n * @param options.resultLimit - Maximum number of entries to return.\n * @returns Leaderboard entries keyed by rank position.\n */\n async get(\n lbType: string,\n options: GetLeaderboardOptions = {},\n ): Promise<WynnResponse<GetLeaderboardResult>> {\n const { resultLimit } = options;\n\n return this.client.request<GetLeaderboardResult>({\n path: `/leaderboards/${encodeURIComponent(lbType)}`,\n params: resultLimit !== undefined ? { resultLimit } : undefined,\n });\n }\n}\n","import { z } from \"zod\";\n\nexport const GetQuestCountResultSchema = z.object({\n quests: z.number(),\n});\n\nexport type GetQuestCountResult = z.infer<typeof GetQuestCountResultSchema>;\n","import { z } from \"zod\";\n\nexport const MapCoordinate3DSchema = z.object({\n x: z.number(),\n y: z.number(),\n z: z.number(),\n});\n\nexport type MapCoordinate3D = z.infer<typeof MapCoordinate3DSchema>;\n","import { z } from \"zod\";\n\nimport { MapCoordinate3DSchema } from \"../shared/coordinates\";\n\nexport const WorldEventRequirementSchema = z.object({\n type: z.string(),\n value: z.union([z.number(), z.string()]),\n});\n\nexport type WorldEventRequirement = z.infer<typeof WorldEventRequirementSchema>;\n\nexport const LootPoolRewardSchema = z.object({\n name: z.string(),\n type: z.string(),\n amount: z.number(),\n always: z.boolean(),\n tier: z.string().nullable().optional(),\n shiny: z.boolean().optional(),\n});\n\nexport type LootPoolReward = z.infer<typeof LootPoolRewardSchema>;\n\nexport const MapLootPoolQueryOptionsSchema = z.object({\n level: z.number().optional(),\n});\n\nexport type MapLootPoolQueryOptions = z.infer<typeof MapLootPoolQueryOptionsSchema>;\n\nexport const MapLootPoolContentSchema = z.object({\n name: z.string(),\n internalName: z.string(),\n type: z.string(),\n lore: z.string().nullable(),\n difficulty: z.string().nullable(),\n level: z.number().nullable(),\n length: z.string().nullable(),\n requirements: z.array(WorldEventRequirementSchema).nullable(),\n location: MapCoordinate3DSchema.nullable(),\n rewards: z.array(LootPoolRewardSchema),\n});\n\nexport type MapLootPoolContent = z.infer<typeof MapLootPoolContentSchema>;\n\nexport const LootPoolSchema = z.object({\n name: z.string(),\n internalName: z.string(),\n type: z.string(),\n rewards: z.array(LootPoolRewardSchema),\n});\n\nexport type LootPool = z.infer<typeof LootPoolSchema>;\n\nconst WorldEventLocationSchema = z.object({\n event: z.union([MapCoordinate3DSchema, z.null()]),\n spawn: z.union([MapCoordinate3DSchema, z.null()]),\n reward: z.union([MapCoordinate3DSchema, z.null()]),\n radius: z.number().nullable(),\n spawnRadius: z.number().nullable(),\n});\n\nexport const WorldEventSchema = z.object({\n name: z.string(),\n internalName: z.string(),\n lore: z.string(),\n difficulty: z.string().nullable(),\n level: z.number().nullable(),\n length: z.string().nullable(),\n rewardPerLevel: z.record(z.string(), z.array(z.string())).nullable(),\n requirements: z.array(WorldEventRequirementSchema).nullable(),\n location: z.array(WorldEventLocationSchema),\n schedule: z.string().nullable(),\n});\n\nexport type WorldEvent = z.infer<typeof WorldEventSchema>;\n\nexport const PlayerLocationMemberSchema = z.object({\n uuid: z.uuid(),\n name: z.string(),\n nickname: z.string().nullable(),\n character: z.uuid(),\n server: z.string().nullable(),\n x: z.number(),\n y: z.number(),\n z: z.number(),\n});\n\nexport type PlayerLocationMember = z.infer<typeof PlayerLocationMemberSchema>;\n\nexport const PlayerLocationSchema = z.object({\n uuid: z.uuid(),\n name: z.string(),\n nickname: z.string().nullable(),\n character: z.uuid(),\n server: z.string().nullable(),\n x: z.number(),\n y: z.number(),\n z: z.number(),\n friends: z.array(PlayerLocationMemberSchema),\n party: z.array(PlayerLocationMemberSchema),\n guild: z.array(PlayerLocationMemberSchema),\n});\n\nexport type PlayerLocation = z.infer<typeof PlayerLocationSchema>;\n\nexport const GatheringNodeSchema = z.object({\n x: z.number(),\n y: z.number(),\n z: z.number(),\n angle: z.number(),\n type: z.enum([\"NODE\", \"WALL\", \"CORNER\"]),\n resource: z.string(),\n level: z.number(),\n});\n\nexport type GatheringNode = z.infer<typeof GatheringNodeSchema>;\n\nexport const MapMarkerSchema = z.object({\n name: z.string(),\n icon: z.string(),\n x: z.string(),\n y: z.string(),\n z: z.string(),\n});\n\nexport type MapMarker = z.infer<typeof MapMarkerSchema>;\n","import { z } from \"zod\";\n\nimport { GatheringNodeSchema } from \"./map\";\n\nexport const ListGatheringNodesResultSchema = z.array(GatheringNodeSchema);\n\nexport type ListGatheringNodesResult = z.infer<typeof ListGatheringNodesResultSchema>;\n","import { z } from \"zod\";\n\nimport { MapMarkerSchema } from \"./map\";\n\nexport const ListMapMarkersResultSchema = z.array(MapMarkerSchema);\n\nexport type ListMapMarkersResult = z.infer<typeof ListMapMarkersResultSchema>;\n","import { z } from \"zod\";\n\nimport { MapLootPoolContentSchema, MapLootPoolQueryOptionsSchema } from \"./map\";\n\nexport const ListMapCampsOptionsSchema = MapLootPoolQueryOptionsSchema;\n\nexport type ListMapCampsOptions = z.infer<typeof ListMapCampsOptionsSchema>;\n\nexport const ListMapCampsResultSchema = z.array(MapLootPoolContentSchema);\n\nexport type ListMapCampsResult = z.infer<typeof ListMapCampsResultSchema>;\n","import { z } from \"zod\";\n\nimport { LootPoolSchema, MapLootPoolQueryOptionsSchema } from \"./map\";\n\nexport const ListMapLootPoolsOptionsSchema = MapLootPoolQueryOptionsSchema;\n\nexport type ListMapLootPoolsOptions = z.infer<typeof ListMapLootPoolsOptionsSchema>;\n\nexport const ListMapLootPoolsResultSchema = z.array(LootPoolSchema);\n\nexport type ListMapLootPoolsResult = z.infer<typeof ListMapLootPoolsResultSchema>;\n","import { z } from \"zod\";\n\nimport { MapLootPoolContentSchema, MapLootPoolQueryOptionsSchema } from \"./map\";\n\nexport const ListMapRaidsOptionsSchema = MapLootPoolQueryOptionsSchema;\n\nexport type ListMapRaidsOptions = z.infer<typeof ListMapRaidsOptionsSchema>;\n\nexport const ListMapRaidsResultSchema = z.array(MapLootPoolContentSchema);\n\nexport type ListMapRaidsResult = z.infer<typeof ListMapRaidsResultSchema>;\n","import { z } from \"zod\";\n\nimport { PlayerLocationSchema } from \"./map\";\n\nexport const ListPlayerLocationsResultSchema = z.array(PlayerLocationSchema);\n\nexport type ListPlayerLocationsResult = z.infer<typeof ListPlayerLocationsResultSchema>;\n","import { z } from \"zod\";\n\nimport { WorldEventSchema } from \"./map\";\n\nexport const ListWorldEventsResultSchema = z.array(WorldEventSchema);\n\nexport type ListWorldEventsResult = z.infer<typeof ListWorldEventsResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type GetQuestCountResult } from \"../schemas/map/get-quest-count\";\nimport { type ListGatheringNodesResult } from \"../schemas/map/list-gathering-nodes\";\nimport { type ListMapMarkersResult } from \"../schemas/map/list-map-markers\";\nimport { type ListMapCampsOptions, type ListMapCampsResult } from \"../schemas/map/list-map-camps\";\nimport {\n type ListMapLootPoolsOptions,\n type ListMapLootPoolsResult,\n} from \"../schemas/map/list-map-loot-pools\";\nimport { type ListMapRaidsOptions, type ListMapRaidsResult } from \"../schemas/map/list-map-raids\";\nimport { type ListPlayerLocationsResult } from \"../schemas/map/list-player-locations\";\nimport { type ListWorldEventsResult } from \"../schemas/map/list-world-events\";\n\n/** Map markers, raids, camps, and world events. */\nexport class MapModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /** @returns Live player locations on the world map. */\n async listPlayerLocations(): Promise<WynnResponse<ListPlayerLocationsResult>> {\n return this.client.request<ListPlayerLocationsResult>({\n path: \"/map/locations/player\",\n });\n }\n\n /** @returns Map markers such as NPCs, dungeons, and points of interest. */\n async listMarkers(): Promise<WynnResponse<ListMapMarkersResult>> {\n return this.client.request<ListMapMarkersResult>({\n path: \"/map/locations/markers\",\n });\n }\n\n /** @returns Currently active world events. */\n async listWorldEvents(): Promise<WynnResponse<ListWorldEventsResult>> {\n return this.client.request<ListWorldEventsResult>({\n path: \"/map/world-events\",\n });\n }\n\n /**\n * List camps.\n *\n * @param options.level - Filter to camps at a specific combat level.\n * @returns Camp definitions and loot pool contents.\n */\n async listCamps(options: ListMapCampsOptions = {}): Promise<WynnResponse<ListMapCampsResult>> {\n const { level } = options;\n\n return this.client.request<ListMapCampsResult>({\n path: \"/map/camps\",\n params: level !== undefined ? { level } : undefined,\n });\n }\n\n /**\n * List raids.\n *\n * @param options.level - Filter to raids at a specific combat level.\n * @returns Raid definitions and loot pool contents.\n */\n async listRaids(options: ListMapRaidsOptions = {}): Promise<WynnResponse<ListMapRaidsResult>> {\n const { level } = options;\n\n return this.client.request<ListMapRaidsResult>({\n path: \"/map/raids\",\n params: level !== undefined ? { level } : undefined,\n });\n }\n\n /**\n * List loot pools.\n *\n * @param options.level - Filter to loot pools at a specific combat level.\n * @returns Loot pool definitions and contents.\n */\n async listLootPools(\n options: ListMapLootPoolsOptions = {},\n ): Promise<WynnResponse<ListMapLootPoolsResult>> {\n const { level } = options;\n\n return this.client.request<ListMapLootPoolsResult>({\n path: \"/map/loot-pools\",\n params: level !== undefined ? { level } : undefined,\n });\n }\n\n /** @returns Gathering node locations across the map. */\n async listGatheringNodes(): Promise<WynnResponse<ListGatheringNodesResult>> {\n return this.client.request<ListGatheringNodesResult>({\n path: \"/map/gathering-nodes\",\n });\n }\n\n /** @returns Quest completion counts across the map. */\n async getQuestCount(): Promise<WynnResponse<GetQuestCountResult>> {\n return this.client.request<GetQuestCountResult>({\n path: \"/map/quests\",\n });\n }\n}\n","import { z } from \"zod\";\n\nexport const PublisherArticleTypeSchema = z.enum([\"blog\", \"event\", \"giveaway\", \"article\", \"poll\"]);\n\nexport type PublisherArticleType = z.infer<typeof PublisherArticleTypeSchema>;\n\nconst PublisherPollRequirementSchema = z.object({\n type: z.string(),\n subType: z.string().nullable(),\n value: z.number(),\n});\n\nconst PublisherPollQuestionSchema = z.object({\n answers: z.record(z.string(), z.string()),\n override: z.boolean(),\n question: z.string(),\n requirements: z.array(PublisherPollRequirementSchema),\n});\n\nconst PublisherArticleContentBlockSchema = z.object({\n id: z.string(),\n type: z.string(),\n focus: z.boolean(),\n content: z.union([z.string(), PublisherPollQuestionSchema]),\n discord: z.boolean(),\n website: z.boolean(),\n});\n\nexport const PublisherArticleSchema = z\n .object({\n id: z.number(),\n type: PublisherArticleTypeSchema,\n created_by: z.string(),\n discord_messages: z.record(z.string(), z.string()),\n discord_recap: z.boolean(),\n allow_discord: z.boolean(),\n destination: z.string(),\n published: z.boolean(),\n pinned: z.boolean(),\n visible: z.boolean(),\n content: z.array(PublisherArticleContentBlockSchema),\n start_date: z.string(),\n end_date: z.string().nullable(),\n recap: z.string(),\n title: z.string(),\n banner: z.string(),\n banner_zoom: z.boolean(),\n likes: z.number(),\n published_at: z.string(),\n require_discord: z.boolean(),\n require_clan: z.boolean(),\n poll_settings: z.array(PublisherPollRequirementSchema).optional(),\n poll_public: z.boolean().optional(),\n votes: z.record(z.string(), z.unknown()).nullable().optional(),\n })\n .passthrough();\n\nexport type PublisherArticle = z.infer<typeof PublisherArticleSchema>;\n\nexport const PublisherArticleSummarySchema = z.object({\n pk: z.number(),\n title: z.string(),\n type: PublisherArticleTypeSchema,\n banner: z.string(),\n banner_zoom: z.boolean(),\n recap: z.string(),\n visible: z.boolean(),\n start_date: z.string(),\n end_date: z.string().nullable(),\n pinned: z.boolean(),\n has_content: z.boolean(),\n published_at: z.string(),\n});\n\nexport type PublisherArticleSummary = z.infer<typeof PublisherArticleSummarySchema>;\n","import { z } from \"zod\";\n\nimport { PublisherArticleSchema } from \"./article\";\n\nexport const FetchPublisherArticleResultSchema = PublisherArticleSchema;\n\nexport type FetchPublisherArticleResult = z.infer<typeof FetchPublisherArticleResultSchema>;\n","import { z } from \"zod\";\n\nconst LatestNewsEntrySchema = z.object({\n title: z.string(),\n date: z.string(),\n forumThread: z.string(),\n author: z.string(),\n content: z.string(),\n comments: z.string(),\n});\n\nexport const ListLatestNewsResultSchema = z.array(LatestNewsEntrySchema);\n\nexport type ListLatestNewsResult = z.infer<typeof ListLatestNewsResultSchema>;\n","import { z } from \"zod\";\n\nimport { PaginationControllerSchema } from \"../shared/pagination\";\nimport { PublisherArticleSummarySchema } from \"./article\";\n\nexport const ListPublisherArticlesOptionsSchema = z.object({\n page: z.number().optional(),\n});\n\nexport type ListPublisherArticlesOptions = z.infer<typeof ListPublisherArticlesOptionsSchema>;\n\nexport const ListPublisherArticlesResultSchema = z.object({\n controller: PaginationControllerSchema,\n results: z.record(z.string(), PublisherArticleSummarySchema),\n});\n\nexport type ListPublisherArticlesResult = z.infer<typeof ListPublisherArticlesResultSchema>;\n","import { z } from \"zod\";\n\nexport const ListPublisherVideosResultSchema = z.record(z.string(), z.string());\n\nexport type ListPublisherVideosResult = z.infer<typeof ListPublisherVideosResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type PublisherArticleType } from \"../schemas/news/article\";\nimport { type FetchPublisherArticleResult } from \"../schemas/news/fetch-publisher-article\";\nimport { type ListLatestNewsResult } from \"../schemas/news/list-latest-news\";\nimport {\n type ListPublisherArticlesOptions,\n type ListPublisherArticlesResult,\n} from \"../schemas/news/list-publisher-articles\";\nimport { type ListPublisherVideosResult } from \"../schemas/news/list-publisher-videos\";\n\n/** Publisher articles, videos, and latest news. */\nexport class NewsModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * Fetch a single publisher article.\n *\n * @param articleType - Article category: `blog`, `event`, `giveaway`, `article`, or `poll`.\n * @param pk - Article primary key (numeric ID or slug).\n * @returns Full article content and metadata.\n */\n async fetchArticle(\n articleType: PublisherArticleType,\n pk: string | number,\n ): Promise<WynnResponse<FetchPublisherArticleResult>> {\n return this.client.request<FetchPublisherArticleResult>({\n path: `/publisher/articles/fetch/${encodeURIComponent(articleType)}/${encodeURIComponent(String(pk))}`,\n });\n }\n\n /**\n * List publisher articles of a given type.\n *\n * @param articleType - Article category: `blog`, `event`, `giveaway`, `article`, or `poll`.\n * @param options.page - Page number for paginated results.\n * @returns Paginated article summaries.\n */\n async listArticles(\n articleType: PublisherArticleType,\n options: ListPublisherArticlesOptions = {},\n ): Promise<WynnResponse<ListPublisherArticlesResult>> {\n const { page } = options;\n\n return this.client.request<ListPublisherArticlesResult>({\n path: `/publisher/articles/list/${encodeURIComponent(articleType)}`,\n params: page !== undefined ? { page } : undefined,\n });\n }\n\n /** @returns Publisher video listings. */\n async listVideos(): Promise<WynnResponse<ListPublisherVideosResult>> {\n return this.client.request<ListPublisherVideosResult>({\n path: \"/publisher/videos/list\",\n });\n }\n\n /** @returns Latest news feed entries. */\n async listLatestNews(): Promise<WynnResponse<ListLatestNewsResult>> {\n return this.client.request<ListLatestNewsResult>({\n path: \"/latest-news\",\n });\n }\n}\n","import { z } from \"zod\";\n\nexport const ExchangeOAuthTokenOptionsSchema = z.object({\n code: z.string(),\n redirectUri: z.string(),\n clientId: z.string(),\n clientSecret: z.string().optional(),\n codeVerifier: z.string().optional(),\n});\n\nexport type ExchangeOAuthTokenOptions = z.infer<typeof ExchangeOAuthTokenOptionsSchema>;\n\nexport const ExchangeOAuthTokenResultSchema = z.object({\n access_token: z.string(),\n token_type: z.literal(\"bearer\"),\n scope: z.string(),\n});\n\nexport type ExchangeOAuthTokenResult = z.infer<typeof ExchangeOAuthTokenResultSchema>;\n\nexport function toOAuthTokenFormBody(options: ExchangeOAuthTokenOptions): URLSearchParams {\n const body = new URLSearchParams();\n\n body.set(\"grant_type\", \"authorization_code\");\n body.set(\"code\", options.code);\n body.set(\"redirect_uri\", options.redirectUri);\n body.set(\"client_id\", options.clientId);\n\n if (options.clientSecret) {\n body.set(\"client_secret\", options.clientSecret);\n }\n\n if (options.codeVerifier) {\n body.set(\"code_verifier\", options.codeVerifier);\n }\n\n return body;\n}\n","import { z } from \"zod\";\n\nexport const LegacyRankColourSchema = z.object({\n main: z.string(),\n sub: z.string(),\n});\n\nexport type LegacyRankColour = z.infer<typeof LegacyRankColourSchema>;\n\n/** Public player identity fields returned by authenticated player endpoints. */\nexport const PlayerIdentitySchema = z.object({\n username: z.string(),\n online: z.boolean(),\n nickname: z.string().nullable(),\n rank: z.string(),\n supportRank: z.string().nullable(),\n shortenedRank: z.string().nullable(),\n legacyRankColour: LegacyRankColourSchema,\n rankBadge: z.string(),\n});\n\nexport type PlayerIdentity = z.infer<typeof PlayerIdentitySchema>;\n\n/**\n * Authenticated player identities keyed by account UUID.\n *\n * The whoami endpoint returns one entry — use `Object.values(data)[0]` to\n * access the profile directly.\n */\nexport const WhoAmIResultSchema = z.record(z.uuid(), PlayerIdentitySchema);\n\n/** Map of account UUID → {@link PlayerIdentity}. */\nexport type WhoAmIResult = z.infer<typeof WhoAmIResultSchema>;\n","import { z } from \"zod\";\nimport { LegacyRankColourSchema } from \"../player/whoami\";\n\nconst OAuthApplicationSchema = z.object({\n client_id: z.string(),\n scopes: z.array(z.string()),\n});\n\nconst OAuthProfileSchema = z.object({\n username: z.string(),\n primary: z.boolean(),\n rank: z.string(),\n supportRank: z.string().nullable(),\n shortenedRank: z.string().nullable(),\n legacyRankColour: LegacyRankColourSchema,\n rankBadge: z.string(),\n accessRules: z.record(z.string(), z.string()),\n});\n\nexport const GetOAuthIdentityResultSchema = z.object({\n application: OAuthApplicationSchema,\n profiles: z.record(z.uuid(), OAuthProfileSchema),\n});\n\nexport type GetOAuthIdentityResult = z.infer<typeof GetOAuthIdentityResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport {\n type ExchangeOAuthTokenOptions,\n type ExchangeOAuthTokenResult,\n toOAuthTokenFormBody,\n} from \"../schemas/oauth/exchange-oauth-token\";\nimport { type GetOAuthIdentityResult } from \"../schemas/oauth/get-oauth-identity\";\n\n/** OAuth identity and token exchange. */\nexport class OAuthModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * Fetch the authenticated OAuth user's identity.\n *\n * Requires `{ type: \"oauth\", accessToken }` credentials on the client.\n *\n * @returns OAuth user profile and linked Wynncraft account.\n */\n async me(): Promise<WynnResponse<GetOAuthIdentityResult>> {\n return this.client.request<GetOAuthIdentityResult>({\n path: \"/oauth/me\",\n });\n }\n\n /**\n * Exchange an authorization code for access tokens.\n *\n * @param options.code - Authorization code from the OAuth redirect.\n * @param options.redirectUri - Redirect URI registered with the OAuth app.\n * @param options.clientId - OAuth application client ID.\n * @param options.clientSecret - OAuth application client secret (confidential clients).\n * @param options.codeVerifier - PKCE code verifier, if the flow used PKCE.\n * @returns Access token and granted scopes.\n */\n async exchangeToken(\n options: ExchangeOAuthTokenOptions,\n ): Promise<WynnResponse<ExchangeOAuthTokenResult>> {\n return this.client.request<ExchangeOAuthTokenResult>({\n method: \"POST\",\n path: \"/oauth/token\",\n data: toOAuthTokenFormBody(options),\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n });\n }\n}\n","import { z } from \"zod\";\n\nconst LightCharacterMetaSchema = z.object({\n died: z.boolean(),\n});\n\nconst LightCharacterSchema = z.object({\n type: z.string(),\n reskin: z.string().nullable(),\n nickname: z.string().nullable(),\n level: z.number(),\n xp: z.number(),\n xpPercent: z.number(),\n totalLevel: z.number(),\n gamemode: z.array(z.string()),\n meta: LightCharacterMetaSchema,\n});\n\nexport const ListPlayerCharactersResultSchema = z.record(z.uuid(), LightCharacterSchema);\n\nexport type ListPlayerCharactersResult = z.infer<typeof ListPlayerCharactersResultSchema>;\n","import { z } from \"zod\";\n\nimport { AbilityMapPagesSchema } from \"../ability/ability\";\n\nexport const GetCharacterAbilitiesResultSchema = AbilityMapPagesSchema;\n\nexport type GetCharacterAbilitiesResult = z.infer<typeof GetCharacterAbilitiesResultSchema>;\n","import { z } from \"zod\";\nimport { LegacyRankColourSchema } from \"./whoami\";\n\nexport const GetPlayerOptionsSchema = z.object({\n fullResult: z.boolean().optional(),\n});\n\nexport type GetPlayerOptions = z.infer<typeof GetPlayerOptionsSchema>;\n\nconst GuildReferenceSchema = z.object({\n uuid: z.uuid(),\n name: z.string(),\n prefix: z.string(),\n rank: z.string().nullable().optional(),\n rankStars: z.string().nullable().optional(),\n});\n\nconst RankMapSchema = z.record(z.string(), z.number());\n\nconst CountListSchema = z.object({\n total: z.number(),\n list: z.record(z.string(), z.number()),\n});\n\nconst RaidStatsSchema = z.object({\n damageTaken: z.number(),\n damageDealt: z.number(),\n healthHealed: z.number(),\n deaths: z.number(),\n buffsTaken: z.number(),\n gambitsUsed: z.number(),\n});\n\nconst PvpStatsSchema = z.object({\n kills: z.number().optional(),\n deaths: z.number().optional(),\n});\n\nconst PlayerGlobalDataSchema = z.object({\n contentCompletion: z.number(),\n wars: z.number(),\n totalLevel: z.number(),\n mobsKilled: z.number(),\n chestsFound: z.number(),\n dungeons: CountListSchema,\n raids: CountListSchema,\n worldEvents: z.number(),\n lootruns: z.number(),\n caves: z.number(),\n completedQuests: z.number(),\n guildRaids: CountListSchema.nullable(),\n raidStats: RaidStatsSchema.nullable(),\n pvp: PvpStatsSchema,\n});\n\nconst ProfessionProgressSchema = z.object({\n level: z.number(),\n xpPercent: z.number(),\n});\n\nconst ProfessionsSchema = z.object({\n fishing: ProfessionProgressSchema.optional(),\n woodcutting: ProfessionProgressSchema.optional(),\n mining: ProfessionProgressSchema.optional(),\n farming: ProfessionProgressSchema.optional(),\n scribing: ProfessionProgressSchema.optional(),\n jeweling: ProfessionProgressSchema.optional(),\n alchemism: ProfessionProgressSchema.optional(),\n cooking: ProfessionProgressSchema.optional(),\n weaponsmithing: ProfessionProgressSchema.optional(),\n tailoring: ProfessionProgressSchema.optional(),\n woodworking: ProfessionProgressSchema.optional(),\n armouring: ProfessionProgressSchema.optional(),\n});\n\nconst CharacterSchema = z.object({\n type: z.string(),\n reskin: z.string().nullable(),\n nickname: z.string().nullable(),\n level: z.number(),\n xp: z.number(),\n xpPercent: z.number(),\n totalLevel: z.number(),\n preEconomy: z.boolean().nullable(),\n gamemode: z.array(z.string()),\n contentCompletion: z.number(),\n wars: z.number(),\n playtime: z.number(),\n mobsKilled: z.number(),\n chestsFound: z.number(),\n itemsIdentified: z.number(),\n blocksWalked: z.number(),\n logins: z.number(),\n deaths: z.number(),\n discoveries: z.number(),\n pvp: PvpStatsSchema,\n skillPoints: z.record(z.string(), z.number()).nullable(),\n professions: ProfessionsSchema,\n dungeons: CountListSchema.nullable(),\n raids: CountListSchema.nullable(),\n worldEvents: z.number(),\n lootruns: z.number(),\n caves: z.number(),\n quests: z.array(z.string()),\n restrictions: z.record(z.string(), z.boolean()),\n removedStat: z.array(z.string()),\n});\n\nexport const GetPlayerResultSchema = z.object({\n username: z.string(),\n online: z.boolean(),\n server: z.string().nullable(),\n activeCharacter: z.uuid().nullable(),\n nickname: z.string().nullable(),\n uuid: z.uuid(),\n rank: z.string(),\n rankBadge: z.string(),\n legacyRankColour: LegacyRankColourSchema,\n shortenedRank: z.string().nullable(),\n supportRank: z.string().nullable(),\n veteran: z.boolean(),\n lastJoin: z.string(),\n guild: GuildReferenceSchema.nullable(),\n ranking: RankMapSchema,\n previousRanking: RankMapSchema,\n firstJoin: z.string(),\n playtime: z.number(),\n globalData: PlayerGlobalDataSchema,\n featuredStats: z.record(z.string(), z.union([z.string(), z.number()])),\n wallpaper: z.string(),\n avatar: z.string(),\n restrictions: z.record(z.string(), z.boolean()),\n characters: z.record(z.uuid(), CharacterSchema).optional(),\n});\n\nexport type GetPlayerResult = z.infer<typeof GetPlayerResultSchema>;\n","import { z } from \"zod\";\n\nexport const ListOnlinePlayersOptionsSchema = z.object({\n identifier: z.union([z.string(), z.uuid()]).optional(),\n server: z.union([z.string(), z.number()]).optional(),\n});\n\nexport type ListOnlinePlayersOptions = z.infer<typeof ListOnlinePlayersOptionsSchema>;\n\nexport const ListOnlinePlayersResultSchema = z.object({\n total: z.number(),\n players: z.record(z.string(), z.string()),\n});\n\nexport type ListOnlinePlayersResult = z.infer<typeof ListOnlinePlayersResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type ListPlayerCharactersResult } from \"../schemas/player/list-player-characters\";\nimport { type GetCharacterAbilitiesResult } from \"../schemas/player/get-character-abilities\";\nimport { type GetPlayerOptions, type GetPlayerResult } from \"../schemas/player/get-player\";\nimport {\n type ListOnlinePlayersOptions,\n type ListOnlinePlayersResult,\n} from \"../schemas/player/list-online-players\";\nimport { type WhoAmIResult } from \"../schemas/player/whoami\";\n\n/** Player profiles, characters, and online status. */\nexport class PlayerModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * List currently online players.\n *\n * @param options.identifier - Filter by username or UUID.\n * @param options.server - Filter by server name or number.\n * @returns Online player count and username-to-server map.\n */\n async listOnlinePlayers(\n options: ListOnlinePlayersOptions = {},\n ): Promise<WynnResponse<ListOnlinePlayersResult>> {\n return this.client.request<ListOnlinePlayersResult>({\n path: \"/player\",\n params: options,\n });\n }\n\n /**\n * Fetch the authenticated player's profile.\n *\n * Requires credentials on the client.\n *\n * @returns UUID-keyed map of {@link PlayerIdentity}. The API returns a\n * single entry for the authenticated account.\n *\n * @example\n * ```ts\n * const { data } = await client.player.whoAmI();\n * const profile = Object.values(data)[0]!;\n * ```\n */\n async whoAmI(): Promise<WynnResponse<WhoAmIResult>> {\n return this.client.request<WhoAmIResult>({\n path: \"/player/whoami\",\n });\n }\n\n /**\n * Fetch a player profile by username.\n *\n * @param username - Wynncraft username.\n * @param options.fullResult - Include extended character data when `true`.\n * @returns Player profile and character summaries.\n */\n async getPlayer(\n username: string,\n options: GetPlayerOptions = {},\n ): Promise<WynnResponse<GetPlayerResult>> {\n return this.client.request<GetPlayerResult>({\n path: `/player/${encodeURIComponent(username)}`,\n presenceParams: options.fullResult ? [\"fullResult\"] : undefined,\n });\n }\n\n /**\n * List characters for a player.\n *\n * @param username - Wynncraft username.\n * @returns Character list keyed by UUID.\n */\n async listCharacters(username: string): Promise<WynnResponse<ListPlayerCharactersResult>> {\n return this.client.request<ListPlayerCharactersResult>({\n path: `/player/${encodeURIComponent(username)}/characters`,\n });\n }\n\n /**\n * Fetch ability assignments for a specific character.\n *\n * @param username - Wynncraft username.\n * @param characterUuid - Character UUID from {@link PlayerModule.listCharacters}.\n * @returns Ability map keyed by page.\n */\n async getCharacterAbilities(\n username: string,\n characterUuid: string,\n ): Promise<WynnResponse<GetCharacterAbilitiesResult>> {\n return this.client.request<GetCharacterAbilitiesResult>({\n path: `/player/${encodeURIComponent(username)}/characters/${encodeURIComponent(characterUuid)}/abilities`,\n });\n }\n}\n","import { z } from \"zod\";\n\nimport { ItemListSchema } from \"../item/item\";\n\nconst SearchGuildResultSchema = z.object({\n name: z.string(),\n prefix: z.string(),\n});\n\nconst SearchAreaResultSchema = z.object({\n start: z.array(z.unknown()),\n end: z.array(z.unknown()),\n});\n\nexport const GlobalSearchOptionsSchema = z.object({\n only: z.string().optional(),\n});\n\nexport type GlobalSearchOptions = z.infer<typeof GlobalSearchOptionsSchema>;\n\nexport const GlobalSearchResultSchema = z.object({\n query: z.string(),\n players: z.record(z.string(), z.string()).optional(),\n guilds: z.record(z.string(), SearchGuildResultSchema).optional(),\n items: ItemListSchema.optional(),\n guildsPrefix: z.record(z.string(), SearchGuildResultSchema).optional(),\n territories: z.record(z.string(), SearchAreaResultSchema).optional(),\n discoveries: z.record(z.string(), SearchAreaResultSchema).optional(),\n});\n\nexport type GlobalSearchResult = z.infer<typeof GlobalSearchResultSchema>;\n","import type { WynnHttpClient, WynnResponse } from \"../http\";\nimport { type GlobalSearchOptions, type GlobalSearchResult } from \"../schemas/search/global-search\";\n\n/** Global search across players, guilds, and items. */\nexport class SearchModule {\n constructor(private readonly client: WynnHttpClient) {}\n\n /**\n * Search across Wynncraft resources.\n *\n * @param query - Free-text search query.\n * @param options.only - Limit results to a resource type, e.g. `player`, `guild`, or `item`.\n * @returns Matching players, guilds, items, and related entities.\n */\n async search(\n query: string,\n options: GlobalSearchOptions = {},\n ): Promise<WynnResponse<GlobalSearchResult>> {\n const { only } = options;\n\n return this.client.request<GlobalSearchResult>({\n path: `/search/${encodeURIComponent(query)}`,\n params: only !== undefined ? { only } : undefined,\n });\n }\n}\n","import axios, { type AxiosInstance } from \"axios\";\nimport { authHeaders, type WynnAuth, type WynnClientOptions } from \"./auth\";\nimport { API_BASE_URL } from \"./constants\";\nimport { toWynnApiError } from \"./errors\";\nimport {\n parseRateLimit,\n toAxiosRequestConfig,\n type HeadersLike,\n type RequestConfig,\n type WynnHttpClient,\n type WynnResponse,\n} from \"./http\";\nimport { AbilityModule } from \"./modules/ability\";\nimport { ClassesModule } from \"./modules/classes\";\nimport { GuildModule } from \"./modules/guild\";\nimport { ItemModule } from \"./modules/item\";\nimport { LeaderboardsModule } from \"./modules/leaderboards\";\nimport { MapModule } from \"./modules/map\";\nimport { NewsModule } from \"./modules/news\";\nimport { OAuthModule } from \"./modules/oauth\";\nimport { PlayerModule } from \"./modules/player\";\nimport { SearchModule } from \"./modules/search\";\n\n/**\n * Typed Wynncraft API v3 client.\n *\n * Grouped by domain — `player`, `guild`, `item`, and so on. Every method\n * returns a {@link WynnResponse} with parsed rate-limit headers.\n *\n * @example\n * ```ts\n * const client = new WynnClient({\n * auth: { type: \"token\", token: process.env.WYNN_API_TOKEN! },\n * });\n *\n * const { data, rateLimit } = await client.player.getPlayer(\"username\");\n * ```\n */\nexport class WynnClient implements WynnHttpClient {\n /** Player profiles, characters, and online status. */\n readonly player: PlayerModule;\n /** Guild listings, seasons, and territory data. */\n readonly guild: GuildModule;\n /** Item database, search, recipes, and metadata. */\n readonly item: ItemModule;\n /** Ability trees, maps, and aspects. */\n readonly ability: AbilityModule;\n /** Playable classes and their metadata. */\n readonly classes: ClassesModule;\n /** Map markers, raids, camps, and world events. */\n readonly map: MapModule;\n /** Leaderboard types and rankings. */\n readonly leaderboards: LeaderboardsModule;\n /** Publisher articles, videos, and latest news. */\n readonly news: NewsModule;\n /** Global search across players, guilds, and items. */\n readonly search: SearchModule;\n /** OAuth identity and token exchange. */\n readonly oauth: OAuthModule;\n\n private readonly http: AxiosInstance;\n private readonly auth?: WynnAuth;\n\n /**\n * @param options - Client configuration. All fields are optional.\n * @param options.baseUrl - API base URL. Defaults to {@link API_BASE_URL}.\n * @param options.auth - Credentials for authenticated endpoints.\n * @param options.http - Custom Axios instance, e.g. for mocking in tests.\n */\n constructor(options: WynnClientOptions = {}) {\n this.auth = options.auth;\n\n this.http =\n options.http ??\n axios.create({\n baseURL: options.baseUrl ?? API_BASE_URL,\n headers: {\n \"Content-Type\": \"application/json\",\n ...authHeaders(this.auth),\n },\n });\n\n this.http.interceptors.response.use(\n (response) => response,\n (error) => Promise.reject(toWynnApiError(error) ?? error),\n );\n\n this.player = new PlayerModule(this);\n this.guild = new GuildModule(this);\n this.item = new ItemModule(this);\n this.ability = new AbilityModule(this);\n this.classes = new ClassesModule(this);\n this.map = new MapModule(this);\n this.leaderboards = new LeaderboardsModule(this);\n this.news = new NewsModule(this);\n this.search = new SearchModule(this);\n this.oauth = new OAuthModule(this);\n }\n\n /**\n * Low-level request helper. Prefer module methods when available.\n *\n * @param config.path - API route path, e.g. `/player/foo`.\n * @param config.method - HTTP method. Defaults to `GET`.\n * @param config.params - Standard query parameters.\n * @param config.presenceParams - Wynncraft presence flags without values, e.g. `fullResult`.\n * @param config.data - Request body for `POST`/`PUT` requests.\n * @param config.headers - Additional request headers.\n * @returns Parsed response body and rate-limit metadata.\n */\n async request<T>(config: RequestConfig): Promise<WynnResponse<T>> {\n const response = await this.http.request<T>(toAxiosRequestConfig(config));\n\n return {\n data: response.data,\n rateLimit: parseRateLimit(response.headers as HeadersLike),\n };\n }\n\n /** Return the credentials passed at construction, if any. */\n getAuth(): WynnAuth | undefined {\n return this.auth;\n }\n}\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wynnjs/api",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "TypeScript client for the Wynncraft API v3",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"api",
|
|
7
|
+
"client",
|
|
8
|
+
"sdk",
|
|
9
|
+
"typescript",
|
|
10
|
+
"wynn",
|
|
11
|
+
"wynncraft"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/jakehwll/wynnjs#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/jakehwll/wynnjs/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Jake Howell (https://github.com/jakehwll)",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/jakehwll/wynnjs.git"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
26
|
+
"type": "module",
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"main": "./dist/index.cjs",
|
|
29
|
+
"module": "./dist/index.js",
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"import": "./dist/index.js",
|
|
35
|
+
"require": "./dist/index.cjs",
|
|
36
|
+
"default": "./dist/index.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsup",
|
|
44
|
+
"prepublishOnly": "bun run build",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"typecheck:examples": "tsc --noEmit -p tsconfig.examples.json",
|
|
47
|
+
"lint": "oxlint .",
|
|
48
|
+
"lint:fix": "oxlint . --fix",
|
|
49
|
+
"format": "oxfmt .",
|
|
50
|
+
"format:check": "oxfmt . --check",
|
|
51
|
+
"test": "vitest run",
|
|
52
|
+
"test:watch": "vitest",
|
|
53
|
+
"test:fixtures": "bun run scripts/sync-fixtures.ts",
|
|
54
|
+
"ci": "bun run lint && bun run format:check && bun run typecheck && bun run test && bun run build && bun run typecheck:examples && npm pack --dry-run"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"axios": "^1.18.1"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/axios-mock-adapter": "^1.10.4",
|
|
61
|
+
"@types/bun": "latest",
|
|
62
|
+
"axios-mock-adapter": "^2.1.0",
|
|
63
|
+
"oxfmt": "^0.58.0",
|
|
64
|
+
"oxlint": "^1.73.0",
|
|
65
|
+
"tsup": "^8.5.1",
|
|
66
|
+
"typescript": "^5",
|
|
67
|
+
"vitest": "^4.1.10",
|
|
68
|
+
"zod": "^4.4.3"
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"zod": "^4.4.0"
|
|
72
|
+
},
|
|
73
|
+
"engines": {
|
|
74
|
+
"node": ">=18"
|
|
75
|
+
}
|
|
76
|
+
}
|