Releases: hexxt-git/anime-sdk
Releases · hexxt-git/anime-sdk
Release list
v1.1.0
Minor Changes
-
9d92372: Add metadata layer (AniList, MAL/Jikan, Kitsu) and unify IDs as URNs
- Metadata providers:
AnilistMeta(full enrichments: relations, characters with voice actors, staff, recommendations, externalLinks, streamingEpisodes),MalMeta(Jikan filler/recap + relations + browse),KitsuMeta(cross-source mappings). MappingClient: resolves a metadata record onto a content provider's raw media ID via a four-step waterfall — cache →provider.lookupByMapping→ MALSync + Anify (raced) + arm-server enrichment → fuzzy title search with composite similarity (Sørensen–Dice + token Jaccard + prefix), year + catalogType discriminators, and an episode-count cross-check.- Unified URN ID space: every
idflowing through the SDK has shape${providerId}:${rawId}(e.g.allmanga:5jzpRTJW,anilist:21,mal:anime:21). Helpers:buildUrn,parseUrn,unwrapUrn,strictUnwrapUrn,buildTypedUrn,parseTypedUrn. BaseProviderupgrades: optionallookupByMapping(mappings)for provider-native cross-source lookups (MegaPlay opts in — its media ID is the AniList ID),static malsyncSitesdeclaration, per-provider concurrency cap.- Transport hardening: per-host token-bucket rate limiter with built-in policies for the catalogue APIs, exponential-backoff retry honouring
Retry-After, realAbortSignalpropagation, curl fallback extracted into a pluggableHttpTransportinterface. - Server: new
/meta/search,/meta/info,/meta/content,/meta/stream,/meta/tracks,/meta/browse,/health,/openapi.jsonroutes. DynamicproxyBasederived from the requestHostheader. Optional HMAC-signed/proxyURLs (proxySignSecret) and suffix-matched SSRF allowlist (proxyAllowedHosts). IContentUnitenrichment: when used through the metadata layer, content units carry per-episode metadata (title, thumbnail, filler/recap flags) folded in from the catalogue.- Absolute-episode rescue: walks PREQUEL relations to compute a season offset for multi-season titles where the meta record's per-season numbering misaligns with the content provider's continuous list.
- Tests: 118 tests, all real (no mocks, no fixtures, no graceful skipping).
CLAUDE.mdcarries the testing rule explicitly.
- Metadata providers: