// Basisklasse für API-basierte Adapter (kein Browser, keine Playwright-Page).
// Runner ruft openContext()/close() unverändert auf — hier No-Ops.
export class ApiSourceAdapter {
  static key = '';
  static label = '';
  static group = '';
  static isApi = true; // Marker für runner: keine Browser-Wartelogik in loginOnly()

  constructor(account, { cfg } = {}) {
    this.account = account;
    this.cfg = cfg;
  }

  async openContext() { /* no-op: kein Browser */ }
  async close() { /* no-op */ }
  async login() { /* überschreiben falls API-Auth vorab nötig */ }

  async *iterateStatements() {
    throw new Error(`iterateStatements() nicht implementiert für Quelle ${this.constructor.key}`);
  }
}
