1(function(){'use strict';var bootScript=document.getElementById('outliyr-ask-boot');var boot={chatEndpoint:'',restNonce:'',currentUser:{name:''}};if(bootScript&&bootScript.textContent){try{boot=JSON.parse(bootScript.textContent)||boot}catch(e){}} 2window.OutliyrAskBoot=boot;var sidebar=document.getElementById('outliyr-member-sidebar');if(!sidebar){return} 3function cookieString(){try{return document.cookie||''}catch(e){return''}} 4var onboardingLink=sidebar.querySelector('[data-oms-onboarding]');if(onboardingLink){try{if(window.localStorage.getItem('outliyr_first_run_onboarding_completed')==='1'){onboardingLink.setAttribute('hidden','')}}catch(e){}} 5function isNativeAppVisit(){try{var params=new URLSearchParams(window.location.search);if(params.get('outliyr_app')==='1'){return!0} 6return cookieString().indexOf('outliyr_native_app=1')>-1}catch(e){return cookieString().indexOf('outliyr_native_app=1')>-1}} 7var nativeAppVisit=isNativeAppVisit();if(nativeAppVisit){document.addEventListener('click',function(event){var target=event.target&&event.target.closest?event.target:null;var link=target?target.closest('[data-native-route]'):null;if(!link){return} 8var route=(link.getAttribute('data-native-route')||'today').replace(/^\/+/,'');if(!route){route='today'} 9event.preventDefault();window.location.href='outliyr://dashboard/'+encodeURIComponent(route)},!0)} 10var toggle=sidebar.querySelector('[data-oms-sidebar-toggle]');var mobileTrigger=document.getElementById('outliyr-member-mobile-trigger');var scrim=document.getElementById('outliyr-member-scrim');var compactQuery=window.matchMedia?window.matchMedia('(max-width: 1279px)'):null;function isCompactViewport(){return!!(compactQuery&&compactQuery.matches)} 11function updateToggleState(){if(toggle){var expanded=isCompactViewport()?sidebar.classList.contains('is-open'):!sidebar.classList.contains('is-collapsed');toggle.setAttribute('aria-expanded',expanded?'true':'false');toggle.setAttribute('aria-label',expanded?'Collapse member sidebar':'Expand member sidebar');toggle.title=expanded?'Collapse sidebar':'Expand sidebar'} 12if(mobileTrigger){mobileTrigger.setAttribute('aria-expanded',sidebar.classList.contains('is-open')?'true':'false')}} 13function openDrawer(){sidebar.classList.add('is-open');updateToggleState()} 14function closeDrawer(){sidebar.classList.remove('is-open');updateToggleState()} 15if(toggle){toggle.addEventListener('click',function(){if(isCompactViewport()){sidebar.classList.toggle('is-open')}else{sidebar.classList.toggle('is-collapsed')} 16updateToggleState()})} 17if(mobileTrigger){mobileTrigger.addEventListener('click',function(event){event.stopPropagation();sidebar.classList.toggle('is-open');updateToggleState()})} 18if(scrim){scrim.addEventListener('click',closeDrawer)} 19document.addEventListener('click',function(event){if(!isCompactViewport()){return} 20if(!sidebar.classList.contains('is-open')){return} 21if(sidebar.contains(event.target)){return} 22if(toggle&&toggle.contains(event.target)){return} 23if(mobileTrigger&&mobileTrigger.contains(event.target)){return} 24closeDrawer()});document.addEventListener('keydown',function(event){if(event.key==='Escape'&&sidebar.classList.contains('is-open')){closeDrawer()}});if(compactQuery&&compactQuery.addEventListener){compactQuery.addEventListener('change',function(){closeDrawer()})} 25updateToggleState();var askOpenBtn=sidebar.querySelector('[data-oms-ask-open]');var askPanel=sidebar.querySelector('.oms-ask-panel');var askLog=sidebar.querySelector('[data-oms-ask-log]');var askForm=sidebar.querySelector('[data-oms-ask-form]');var askInput=sidebar.querySelector('[data-oms-ask-input]');var askSend=sidebar.querySelector('[data-oms-ask-send]');var askNotice=sidebar.querySelector('[data-oms-ask-notice]');var askCloseBtns=sidebar.querySelectorAll('[data-oms-ask-close]');if(!askOpenBtn||!askPanel||!askLog||!askForm||!askInput){return} 26var STORAGE_KEY='outliyr_ask_history_v1';var MAX_HISTORY=40;var sessionId='';var inflight=!1;function setMode(mode){sidebar.setAttribute('data-oms-mode',mode);document.documentElement.setAttribute('data-oms-mode',mode);if(mode==='ask'){askPanel.removeAttribute('hidden');setTimeout(function(){askInput.focus()},220)}else{askPanel.setAttribute('hidden','');askOpenBtn.focus()}} 27function loadHistory(){try{var raw=window.localStorage.getItem(STORAGE_KEY);if(!raw){return[]} 28var parsed=JSON.parse(raw);if(parsed&&Array.isArray(parsed.messages)){sessionId=typeof parsed.chatSessionId==='string'?parsed.chatSessionId:'';return parsed.messages.slice(-MAX_HISTORY)}}catch(e){} 29return[]} 30function saveHistory(messages){try{window.localStorage.setItem(STORAGE_KEY,JSON.stringify({messages:messages.slice(-MAX_HISTORY),chatSessionId:sessionId,updatedAt:Date.now()}))}catch(e){}} 31function clearLog(){while(askLog.firstChild){askLog.removeChild(askLog.firstChild)}} 32function renderMessage(role,text,opts){opts=opts||{};var li=document.createElement('li');li.className='oms-ask-message oms-ask-message--'+role+(opts.pending?' oms-ask-message--pending':'');li.textContent=text;askLog.appendChild(li);askLog.scrollTop=askLog.scrollHeight;return li} 33function renderHistory(messages){clearLog();for(var i=0;i<messages.length;i++){renderMessage(messages[i].role==='assistant'?'bot':'user',messages[i].content)}} 34var history=loadHistory();renderHistory(history);askOpenBtn.addEventListener('click',function(){setMode('ask')});
34askCloseBtns.forEach(function(btn){btn.addEventListener('click',function(){setMode('nav')})});document.addEventListener('keydown',function(event){if(event.key==='Escape'&&sidebar.getAttribute('data-oms-mode')==='ask'){setMode('nav')}});askInput.addEventListener('input',function(){askInput.style.height='auto';askInput.style.height=Math.min(askInput.scrollHeight,120)+'px'});function setNotice(msg){if(!msg){askNotice.setAttribute('hidden','');askNotice.textContent='';return} 35askNotice.removeAttribute('hidden');askNotice.textContent=msg} 36askForm.addEventListener('submit',function(event){event.preventDefault();if(inflight){return} 37var message=(askInput.value||'').trim();if(!message){return} 38inflight=!0;askSend.disabled=!0;setNotice('');history.push({role:'user',content:message});renderMessage('user',message);saveHistory(history);askInput.value='';askInput.style.height='auto';var pendingNode=renderMessage('bot','...',{pending:!0});var endpoint=boot.chatEndpoint||'/wp-json/outliyr-member/v1/chat';fetch(endpoint,{method:'POST',credentials:'same-origin',headers:{'Content-Type':'application/json','X-WP-Nonce':boot.restNonce||''},body:JSON.stringify({message:message,history:history.slice(-MAX_HISTORY),chat_session_id:sessionId,sources:{master:!0}})}).then(function(resp){if(resp.status===429){return resp.json().then(function(j){var msg=(j&&j.message)?j.message:'Daily limit reached';var err=new Error(msg);err.code='rate_limited';throw err})} 39if(!resp.ok){throw new Error('http_'+resp.status)} 40return resp.json()}).then(function(data){if(pendingNode&&pendingNode.parentNode){pendingNode.parentNode.removeChild(pendingNode)} 41var reply=(data&&data.reply)?String(data.reply):'';if(data&&data.chat_session_id){sessionId=String(data.chat_session_id)} 42if(!reply){renderMessage('bot',"Hmm, I don't have an answer for that. Try rephrasing?");history.push({role:'assistant',content:"Hmm, I don't have an answer for that."})}else{renderMessage('bot',reply);history.push({role:'assistant',content:reply})} 43saveHistory(history)}).catch(function(err){if(pendingNode&&pendingNode.parentNode){pendingNode.parentNode.removeChild(pendingNode)} 44if(err&&err.code==='rate_limited'){setNotice(err.message||'Daily limit reached. Try again tomorrow.')}else{setNotice("Couldn't reach Outliyr. Check your connection and try again.")}}).then(function(){inflight=!1;askSend.disabled=!1;askInput.focus()})});askInput.addEventListener('keydown',function(event){if(event.key==='Enter'&&!event.shiftKey){event.preventDefault();if(askForm.requestSubmit){askForm.requestSubmit()}else{askForm.dispatchEvent(new Event('submit',{cancelable:!0}))}}})})() 45;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.