// Page AI product facade — Pi Lab only. // Hermes / OpenCode / ACP drawer 已物理删除;本模块仅保留 tree 需要的入口桥接。 export function createSidebarPageAiRuntime(context) { const { pageUiState } = context || {}; function updatePageAiTriggerState() { var trigger = document.querySelector('[data-testid="wolai-floating-ai"]'); if (!(trigger instanceof HTMLElement)) return; var open = !!(pageUiState && pageUiState.pageAiOpen); trigger.setAttribute('data-state', open ? 'open' : 'closed'); trigger.setAttribute('aria-expanded', open ? 'true' : 'false'); } function openPageAiDrawer() { // 产品唯一入口:Pi Lab。旧 Hermes/OpenCode/Board drawer 不再打开。 if (typeof window.createSidebarPageAiPiLabRuntime !== 'function') { console.warn('[page-ai] Pi Lab runtime not loaded'); if (window.mnote && typeof window.mnote.toast === 'function') { window.mnote.toast('Page AI 运行时未加载', { kind: 'warning' }); } return; } try { window.createSidebarPageAiPiLabRuntime({}); } catch (err) { console.error('[page-ai] Pi Lab runtime init failed', err); if (window.mnote && typeof window.mnote.toast === 'function') { window.mnote.toast('Page AI 启动失败', { kind: 'error' }); } return; } window.postMessage({ source: 'mnote-sidebar', type: 'mnote:pi-lab-show' }, window.location.origin); if (pageUiState) pageUiState.pageAiOpen = true; updatePageAiTriggerState(); } function closePageAiDrawer() { window.postMessage({ source: 'mnote-sidebar', type: 'mnote:pi-lab-hide' }, window.location.origin); if (pageUiState) pageUiState.pageAiOpen = false; updatePageAiTriggerState(); } function isPageAiDrawerOpen() { return !!(pageUiState && pageUiState.pageAiOpen); } function installPageAiDelegates() { // no-op:Hermes/OpenCode drawer 事件委托已退役;Pi Lab 自有 runtime 处理交互。 } var api = { installPageAiDelegates: installPageAiDelegates, openPageAiDrawer: openPageAiDrawer, closePageAiDrawer: closePageAiDrawer, isPageAiDrawerOpen: isPageAiDrawerOpen, updatePageAiTriggerState: updatePageAiTriggerState }; window.__mnoteSidebarPageAiRuntime = api; return api; }