/**
 * BaseAdapter - 平台适配器基类（接口定义）
 * 所有平台适配器必须继承此类并实现全部方法
 */
class BaseAdapter {
  /**
   * 判断当前页面是否匹配该平台
   * @returns {boolean}
   */
  isMatch() {
    return false;
  }

  /**
   * 获取所有"注入 PDF 按钮"的锚点元素列表（消息操作栏）
   * @returns {HTMLElement[]}
   */
  getToolbarAnchors() {
    return [];
  }

  /**
   * 从锚点元素反向找到对应消息的角色和内容
   * @param {HTMLElement} anchorEl - 操作栏锚点元素
   * @returns {{ role: 'user'|'assistant', content: string, contentNode: HTMLElement } | null}
   */
  extractMessageFromAnchor(anchorEl) {
    return null;
  }

  /**
   * 提取页面所有消息（用于面板列表）
   * @returns {Array<{ role: 'user'|'assistant', content: string, contentNode: HTMLElement, id: string }>}
   */
  extractAllMessages() {
    return [];
  }

  /**
   * 获取对话标题（用于 PDF 文件名）
   * @returns {string}
   */
  getConversationTitle() {
    return 'AI对话';
  }
}
