ReadonlytypeThe article category this strategy handles
ReadonlyrequiredNames of MCP tools this strategy calls
Fetch all domain data needed to render this article type.
Connected MCP client, or null when MCP is unavailable
ISO 8601 publication date (YYYY-MM-DD)
Populated article data payload
Build the article HTML body for the given language.
Data payload returned by fetchData
Target language code
Article body HTML string
Return title, subtitle, keywords, and sources for the given language.
Data payload returned by fetchData
Target language code
Article metadata
Non-generic base interface for ArticleStrategy used by the strategy registry. Expresses the common operations with ArticleData as the data payload type so that concrete strategies parameterised on a subtype can be stored in a single StrategyRegistry map without unsafe casts.
This interface deliberately relies on TypeScript's bivariant method-parameter checking: a concrete strategy whose methods accept a narrower
TData(extending ArticleData) still satisfies this interface structurally. That means the type is not fully sound — a caller that only sees ArticleStrategyBase could, in principle, pass an ArticleData value that does not match the concrete strategy's expectedTDatashape.To use this interface safely:
dataobject returned by a given strategy's own fetchData to that same strategy's buildContent and getMetadata methods.External callers that need strong typing for a specific strategy should prefer the generic ArticleStrategy interface, which preserves the concrete
TDatatype and avoids this intentional unsoundness. The ArticleStrategyBase interface is intended primarily for the internal orchestration / pipeline layer that manages a heterogeneous strategy registry.