import type { PlayerPlugin, PluginContext } from '@openplayerjs/core'; import type { AdsBreakConfig, AdsEvent, AdsPluginConfig, AdsSource, AdsSourceType } from './types'; export type { AdsBreakConfig, AdsEvent, AdsPluginConfig, AdsSource, AdsSourceType }; /** * `AdsPlugin` — thin dispatcher for ad delivery strategies. * * Selects an `AdSessionStrategy` based on `config.adDelivery` and delegates * all lifecycle calls to it. Strategy selection: * * | `adDelivery` value | Strategy | Description | * |--------------------|----------|-------------| * | `'csai'` (default) | `CsaiAdStrategy` | Client-side insertion — fetches VAST/VMAP, renders an ad `