prreviewbuddy 0.46.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-BeqgAIrQ.js","chunk-DsF7k-Jl.js","chunk-BWjKdrB5.js","chunk-hePW80VL.js","chunk-CN9Gw02i.js","chunk-DJ4Pz6CG.js","chunk-B2kMZj3m.js","chunk-DN473Oml.js","chunk-DwZ_OKDV.js","chunk-CFLfawWY.js","chunk-Wc3Sd0cy.js","chunk-Dy-Kn_BL.js","chunk-CUxm3YXF.js","chunk-tz4nb_gp.js","chunk-BsaS8BTP.js","chunk-fybaL0A-.js","chunk-BifhSqXX.js","chunk-DS17s2tU.js","chunk-nU5620mN.js","chunk-CAnKkQXq.js","chunk-LbU1hoFO.js","chunk-BzbQS41l.js","chunk-BsjqnLg3.js","chunk-BtIQNnN0.js","chunk-D3KKoC5L.js","chunk-CP0rg-5b.js","chunk-j_1H8WHN.js","chunk-BOvsFOI6.js","chunk-CqHdAlCp.js","chunk-DijMHRDA.js","chunk-D2pwppYQ.js","chunk-Cjc271yU.js","chunk-B2PgDgse.js","chunk-D95j_xjm.js","chunk-Cv3JjNkX.js","chunk-EIJEcyW-.js","chunk-C3nvJp0N.js","chunk-D2NZorQR.js","chunk-NzFayA7r.js","chunk-AdYjtsZU.js","chunk-pNSm1SyV.js","chunk-c-cg1wCO.js","chunk-CBrdyqSx.js"])))=>i.map(i=>d[i]);
2
- import{c as e,i as t,t as n}from"./chunk-BeL0x-wt.js";import{_ as r,d as i,g as a,h as o}from"./chunk-CmPWaXhU.js";function s(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function c(e){return s(e).replace(/`([^`\n]+)`/g,`<code>$1</code>`)}var l=`pr-helper-code-block`,u=`pr-helper-code-copy`,d=`\0`,f=``,p=/\u0000(\d+)\u0000/g,m=/^\u0000\d+\u0000$/,h=/\u0001(\d+)\u0001/g,g=/^(?:https?:\/\/|#)/i;function _(e){let{text:t,blocks:n}=v(e.replace(/[\u0000\u0001]/g,``));return ee(te(t),n)}function v(e){let t=[],n=e.split(`
2
+ import{c as e,i as t,t as n}from"./chunk-BeL0x-wt.js";import{_ as r,d as i,g as a,v as o}from"./chunk-DaUgQrSg.js";function s(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function c(e){return s(e).replace(/`([^`\n]+)`/g,`<code>$1</code>`)}var l=`pr-helper-code-block`,u=`pr-helper-code-copy`,d=`\0`,f=``,p=/\u0000(\d+)\u0000/g,m=/^\u0000\d+\u0000$/,h=/\u0001(\d+)\u0001/g,g=/^(?:https?:\/\/|#)/i;function _(e){let{text:t,blocks:n}=v(e.replace(/[\u0000\u0001]/g,``));return ee(te(t),n)}function v(e){let t=[],n=e.split(`
3
3
  `),r=[],i=0;for(;i<n.length;){let e=n[i].match(/^\s*(`{3,}|~{3,})\s*[\w+#.-]*\s*$/);if(!e){r.push(n[i]),i+=1;continue}let a=RegExp(`^\\s*${e[1][0]}{3,}\\s*$`),o=[];for(i+=1;i<n.length&&!a.test(n[i]);)o.push(n[i]),i+=1;i+=1,r.push(`${d}${t.length}${d}`),t.push(o.join(`
4
4
  `))}return{text:r.join(`
5
5
  `),blocks:t}}function ee(e,t){return e.replace(p,(e,n)=>`<div class="${l}"><pre><code>${s(t[Number(n)])}</code></pre><button type="button" class="${u}" aria-label="Copy code">Copy</button></div>`)}function te(e){let t=[],n=[],r=[],i=null,a=()=>{n.length&&t.push(`<p>${y(n.join(` `))}</p>`),r.length&&t.push(`<blockquote>${y(r.join(` `))}</blockquote>`),i&&t.push(`<${i.tag}>${i.items.map(e=>`<li>${y(e)}</li>`).join(``)}</${i.tag}>`),n=[],r=[],i=null};for(let o of e.split(`
@@ -148,4 +148,4 @@ import{c as e,i as t,t as n}from"./chunk-BeL0x-wt.js";import{_ as r,d as i,g as
148
148
  ${l}`,Qr(e,t),pi(e),mi(e),(n.focus?ii(e,n.focus):e.querySelector(`.prb-code-target`))?.scrollIntoView({block:`center`}),Ni(e,t)}async function fa(e,t,n){let r=ri(t,n);if(!r)return;let i=ii(e,r.anchor);if(i)t.outerHTML=ni(ai(t),r.key),i.scrollIntoView({block:`center`});else{let t=e.querySelector(`[data-expand-file]`);if(!t?.dataset.expandFile)return;await ua(e,t.dataset.expandFile,{cited:Number(t.dataset.expandCited)||0,centre:r.anchor.line,expand:Math.max(1,(Number(t.dataset.expandStep)||1)-1),position:r.key,focus:r.anchor})}let a=e.querySelector(`[data-change-step="${n}"]`),o=e.querySelector(`[data-change-step="${n===`next`?`previous`:`next`}"]`);(a&&!a.disabled?a:o)?.focus({preventScroll:!0})}function pa(e,t,n){let r=`${zi.replace(/\/$/,``)}/${e}`,i=Ri.replace(`{path}`,r).replace(`{line}`,String(Math.max(1,t)));L({event:`editor_opened`,fromFinding:n}),window.location.href=i}var B=document.querySelector(`[data-ask-log]`);B&&B.querySelector(`.prb-msg`)&&B.scrollTo({top:B.scrollHeight});var ma=document.querySelector(`[data-ask-form]`),V=ma?.querySelector(`textarea`);function ha(e,t){let n=document.createElement(`div`);return n.className=e===`user`?`prb-msg prb-msg-user`:`prb-msg prb-msg-${e===`error`?`error`:`assistant`}`,e===`assistant`?(n.classList.add(`prb-md`),n.innerHTML=_(t)+ce(t)):n.textContent=t,B?.appendChild(n),B?.scrollTo({top:B.scrollHeight}),n}function ga(){let e=document.createElement(`div`);return e.className=`prb-thinking`,e.innerHTML=`<i></i><i></i><i></i><span>Reading the change…</span>`,B?.appendChild(e),B?.scrollTo({top:B.scrollHeight}),e}var H=null,U=!!B?.querySelector(`[data-ask-pending]`);function _a(){let e=document.createElement(`div`);e.className=`prb-stopped`,e.textContent=`Stopped.`,B?.appendChild(e),B?.scrollTo({top:B.scrollHeight})}async function va(e,t=`free_text`){let n=e.trim();if(!n||H||U)return;document.querySelector(`.prb-ask-empty`)?.remove(),ha(`user`,n);let r=ga();H=new AbortController,ya(!0);try{let e=await fetch(I(`/ask`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({question:n,sectionId:Wi,source:t}),signal:H.signal}),i=await e.json().catch(()=>null);if(e.status===409&&(i?.running||i?.updating)){window.location.reload();return}if(r.remove(),i?.stopped){_a();return}if(!e.ok||!i?.answer){ha(`error`,i?.error??`Buddy AI did not answer. Check the terminal running PR Review Buddy.`);return}ha(`assistant`,i.answer)}catch(e){r.remove(),e instanceof DOMException&&e.name===`AbortError`?(_a(),V&&!V.value&&(V.value=n)):ha(`error`,`Could not reach PR Review Buddy. The workspace server may have stopped.`)}finally{H=null,ya(!1)}}function ya(e){let t=ma?.querySelector(`button`);t&&(t.textContent=e?`Stop`:`Ask`,t.toggleAttribute(`data-stop`,e),t.disabled=!1),V&&(V.disabled=e);for(let t of document.querySelectorAll(ba))t.disabled=e;e&&Xi.closeAll(),e||V?.focus()}var ba=`[data-suggestion], .pr-helper-explain-simply-button`;function xa(){let e=ma?.querySelector(`button`);e&&(e.textContent=`Stopping…`,e.disabled=!0),fetch(I(`/stop`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({kind:`ask`})}).catch(()=>{}).finally(()=>{H?.abort()})}ma?.addEventListener(`submit`,e=>{if(e.preventDefault(),H||U)return xa();let t=V?.value??``;V&&(V.value=``),va(t,Ca(t))}),U&&ya(!0);var Sa=null;function Ca(e){return Sa&&e.includes(Sa.text)?Sa.source:`free_text`}V?.addEventListener(`keydown`,e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ma?.requestSubmit())}),V?.addEventListener(`input`,()=>{V&&(V.style.height=`auto`,V.style.height=`${Math.min(V.scrollHeight,140)}px`)});async function wa(e){try{await fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({answeredQuestionIds:e})})}catch{}}function Ta(){return[...document.querySelectorAll(`[data-question-answered][data-answered="true"]`)].map(e=>e.dataset.questionAnswered??``).filter(Boolean)}function Ea(e,t){e.dataset.answered=String(t),e.textContent=t?`Mark as unanswered`:`Mark answered`;let n=e.closest(`[data-finding-card]`);n?.classList.toggle(`pr-helper-question-card-answered`,t),n&&Ma(n,t,`questions`),Ra()}function Da(){return[...document.querySelectorAll(`[data-issue-dismissed][data-dismissed="true"]`)].map(e=>({id:e.dataset.issueDismissed??``,sessionId:e.dataset.dismissedIn||Vi})).filter(e=>e.id)}async function Oa(e){try{await fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissedIssues:e})})}catch{}}function ka(e,t){e.dataset.dismissed=String(t),e.textContent=t?`Reopen`:`Dismiss`,delete e.dataset.stale,t?e.dataset.dismissedIn=Vi:delete e.dataset.dismissedIn;let n=e.closest(`[data-finding-card]`);n&&(n.classList.toggle(`pr-helper-issue-card-dismissed`,t),n.querySelector(`.pr-helper-dismissal-stale`)?.remove(),n.querySelector(`.pr-helper-finding-status-dismissed`)?.remove(),t&&n.querySelector(`.pr-helper-issue-badges`)?.prepend(Aa()),Ma(n,t||e.dataset.settled===`true`,`issues`),Ba())}function Aa(){let e=document.createElement(`span`);return e.className=`pr-helper-finding-status pr-helper-finding-status-dismissed pr-helper-tip`,e.dataset.tip=kt,e.textContent=`Dismissed by you`,e}var ja=new WeakMap;function Ma(e,t,n){let r=e.closest(`.pr-helper-closed-findings-list`);if(t!==!!r){if(t){let t=e.parentElement;t&&ja.set(e,{parent:t,before:e.nextElementSibling}),Ia(n).append(e),t&&Fa(t)}else Na(e,n),(r?.children.length===0?r.closest(`.pr-helper-closed-findings`):null)?.remove();La(n)}}function Na(e,t){let n=ja.get(e);if(n?.parent.isConnected)n.parent.insertBefore(e,n.before);else{let n=Pa(e)??document.querySelector(`[data-view="${t}"]`);n?.insertBefore(e,n.querySelector(`.pr-helper-closed-findings`))}e.closest(`.pr-helper-question-group`)?.removeAttribute(`hidden`)}function Pa(e){let t=e.dataset.sectionId;return t?document.querySelector(`[data-question-group="${CSS.escape(t)}"]`):null}function Fa(e){let t=e.closest(`.pr-helper-question-group`);t&&!t.querySelector(`[data-finding-card]`)&&(t.hidden=!0)}function Ia(e){let t=document.querySelector(`[data-view="${e}"]`),n=t?.querySelector(`[data-closed-findings="${e}"] .pr-helper-closed-findings-list`);if(n)return n;let r=document.createElement(`details`);r.className=`pr-helper-closed-findings`,r.dataset.closedFindings=e;let i=document.createElement(`summary`);i.className=`pr-helper-closed-findings-summary`,i.setAttribute(`data-closed-findings-summary`,``);let a=document.createElement(`div`);return a.className=`pr-helper-closed-findings-list`,r.append(i,a),t?.append(r),a}function La(e){let t=document.querySelector(`[data-closed-findings="${e}"]`),n=t?.querySelector(`[data-closed-findings-summary]`);if(!t||!n)return;let r=document.querySelectorAll(`[data-view="${e}"] [data-finding-card]`).length,i=t.querySelectorAll(`[data-finding-card]`).length;if(t.toggleAttribute(`data-nothing-open`,r===i),e===`questions`){n.textContent=`Answered (${i})`;return}n.textContent=jt(za())}function Ra(){let e=[...document.querySelectorAll(`[data-question-answered]`)];if(e.length===0)return;let t=e.filter(e=>e.dataset.answered!==`true`&&e.dataset.settled!==`true`).length,n=document.querySelector(`.pr-helper-questions-progress`);n&&(n.innerHTML=Mt(e.length,t)),Va(`questions`,e.length,t,`question`,`answered`)}function za(){let e=[...document.querySelectorAll(`[data-issue-dismissed]`)],t=0,n=0;for(let r of e){let e=r.dataset.settled===`true`,i=r.dataset.dismissed===`true`&&r.dataset.stale!==`true`;!e&&!i?t+=1:!e&&i&&(n+=1)}return{total:e.length,open:t,done:e.length-t,reviewerClosed:n}}function Ba(){let e=za();if(e.total===0)return;let t=document.querySelector(`[data-view="issues"]`),n=t?.querySelector(`.pr-helper-findings-progress`);!n&&t&&e.done>0&&(n=document.createElement(`div`),n.className=`pr-helper-findings-progress`,n.setAttribute(`role`,`status`),t.querySelector(`.prb-doc-title`)?.after(n)),n&&(n.innerHTML=At(e.total,e.open,Ot(e))),Va(`issues`,e.total,e.open,`issue`,Ot(e))}function Va(e,t,n,r,i){let a=document.querySelector(`[data-view-nav="${e}"] .prb-rail-count`);if(!a)return;let o=e=>`${e} ${r}${e===1?``:`s`}`,s=t-n;a.classList.toggle(`prb-rail-count-done`,t>0&&n===0),t===0?(a.textContent=`0`,a.setAttribute(`aria-label`,`No ${r}s`)):n===0?(a.textContent=`✓`,a.setAttribute(`aria-label`,`All ${o(t)} ${i}`)):(a.textContent=String(n),a.setAttribute(`aria-label`,s===0?o(t):`${n} of ${o(t)} left, ${s} ${i}`))}document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-rail-toggle]`);if(n){ia(n,n.getAttribute(`aria-expanded`)!==`true`);return}let r=t.closest(`[data-view-nav]`);if(r?.dataset.viewNav){ea(r.dataset.viewNav);return}let i=t.closest(`[data-overview-nav]`);if(i?.dataset.overviewNav){ea(i.dataset.overviewNav===`guide`?`guide`:i.dataset.overviewNav);return}let a=t.closest(`[data-goto-section]`);if(a?.dataset.gotoSection){ta(a.dataset.gotoSection);return}let o=t.closest(`[data-open-editor]`);if(o?.dataset.openEditor){pa(o.dataset.openEditor,Number(o.dataset.openLine)||1,!0);return}let s=t.closest(`[data-deletion-toggle]`);if(s){Zr(s);return}let c=t.closest(`[data-code-expand]`);if(c){let e=c.closest(`.prb-code`);e&&_i(e,!e.hasAttribute(`data-expanded`));return}let l=t.closest(`[data-change-step]`);if(l){let e=l.closest(`[data-change-navigator]`),t=l.closest(`.prb-code`);e&&t&&!l.disabled&&fa(t,e,l.dataset.changeStep===`previous`?`previous`:`next`);return}let u=t.closest(`[data-full-line]`);if(u){let e=$r(u);e&&Pi(e);return}let d=t.closest(`[data-expand-file]`);if(d?.dataset.expandFile){let e=d.closest(`.prb-code`);if(e){let t=e.querySelector(`[data-change-navigator]`);ua(e,d.dataset.expandFile,{cited:Number(d.dataset.expandCited)||0,centre:Number(d.dataset.expandLine)||0,expand:Number(d.dataset.expandStep)||1,position:Number(t?.dataset.changePosition)||0,focus:oi(t)})}return}let f=t.closest(`[data-focus-toggle]`);if(f?.dataset.focusToggle){Qi(f.dataset.focusToggle);return}let p=t.closest(`[data-prompt-toggle]`);if(p){ho(p.getAttribute(`aria-expanded`)===`true`);return}if(t.closest(`[data-ask-buddy-menu]`))return;let m=t.closest(`[data-file]`);if(m?.dataset.file){la(m);return}let h=Pt(t);if(h){ta(h);return}let g=t.closest(`[data-question-answered]`);if(g?.dataset.questionAnswered){Ea(g,g.dataset.answered!==`true`);let e=Ta();wa(e),L({event:`question_marked_answered`,answered:e.length,total:document.querySelectorAll(`[data-question-answered]`).length});return}let _=t.closest(`[data-issue-dismissed]`);if(_?.dataset.issueDismissed){ka(_,_.dataset.stale===`true`||_.dataset.dismissed!==`true`);let e=Da();Oa(e),L({event:`issue_dismissed`,dismissed:e.length,total:document.querySelectorAll(`[data-issue-dismissed]`).length});return}let v=t.closest(`[data-suggestion]`);if(v){va(v.textContent??``,`suggestion`);return}if(t.closest(`.pr-helper-explain-simply-button`)){Ga(),va(Bi,`explain_simply`);return}let ee=t.closest(`[data-prompt-use]`);if(ee?.dataset.promptUse){go(ee.dataset.promptUse);return}let te=t.closest(`[data-prompt-edit]`);if(te?.dataset.promptEdit){Po(te.dataset.promptEdit);return}if(t.closest(`[data-prompt-add]`)){Po(``);return}if(t.closest(`[data-ask-toggle]`)){let e=R?.focus;e?(vt(R,Yi),Wa(e!==`buddy`)):Wa(!Ua())}});var W=document.querySelector(`.prb-body`),Ha=document.querySelector(`.prb-ask`);function Ua(){return!!Ha&&getComputedStyle(Ha).display!==`none`}function Wa(e){W&&(W.dataset.ask=e?`open`:`closed`),document.querySelector(`[data-ask-toggle]`)?.setAttribute(`aria-expanded`,String(e))}function Ga(){R?.focus&&R.focus!==`buddy`&&vt(R,Yi),Wa(!0)}function Ka(){document.querySelector(`[data-ask-toggle]`)?.setAttribute(`aria-expanded`,String(Ua()))}window.addEventListener(`resize`,Ka),n(I(`/restart`));var qa=document.querySelector(`[data-file-filter]`),Ja=document.querySelector(`[data-file-count]`),Ya=document.querySelector(`[data-file-none]`);function Xa(){let e=(qa?.value??``).trim().toLowerCase(),t=0,n=0;for(let r of document.querySelectorAll(`[data-view="files"] .prb-file`)){let i=e===``||(r.dataset.search??``).includes(e);r.hidden=!i,i&&(n+=1,r.classList.contains(`prb-file-referenced`)||(t+=1));let a=r.nextElementSibling;a?.classList.contains(`prb-code`)&&(a.hidden=!i)}for(let t of document.querySelectorAll(`[data-file-group]`)){let n=t.querySelectorAll(`.prb-file:not([hidden])`).length;t.hidden=n===0;let r=t.querySelector(`[data-group-heading]`);if(!r)continue;let i=Number(r.dataset.groupTotal)||0;r.textContent=e&&n!==i?`${r.dataset.groupHeading} · ${n} of ${i}`:`${r.dataset.groupHeading} · ${i}`}Ya&&(Ya.hidden=n>0),Ja&&(Ja.textContent=e?`${t} of ${Za} file${Za===1?``:`s`}`:`${Za} file${Za===1?``:`s`}`)}var Za=document.querySelectorAll(`[data-view="files"] .prb-file:not(.prb-file-referenced)`).length;qa?.addEventListener(`input`,Xa),qa?.addEventListener(`keydown`,e=>{e.key===`Escape`&&qa.value!==``&&(e.preventDefault(),qa.value=``,Xa())}),document.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target,n=t.closest(`.prb-file[data-file][role="button"]`);!n||n!==t||(e.preventDefault(),la(n))});var Qa=320,$a=()=>Math.round(window.innerWidth/2),eo=e=>Math.round(Math.min($a(),Math.max(Qa,e)));function to(e){W&&(e===null?W.style.removeProperty(`--ask-width`):W.style.setProperty(`--ask-width`,`${e}px`))}function no(){return Ha?Math.round(Ha.getBoundingClientRect().width):Qa}function ro(e){fetch(I(`/prefs`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({askWidth:e})}).catch(()=>{})}var G=document.querySelector(`[data-ask-resize]`);G?.addEventListener(`pointerdown`,e=>{if(e.button!==0||!W||!Ha)return;e.preventDefault(),G.setPointerCapture(e.pointerId),W.dataset.resizing=`true`;let t=e.clientX,n=no(),r=e=>{to(eo(n+(t-e.clientX)))},i=()=>{G.removeEventListener(`pointermove`,r),G.removeEventListener(`pointerup`,i),G.removeEventListener(`pointercancel`,i),delete W.dataset.resizing,ro(no())};G.addEventListener(`pointermove`,r),G.addEventListener(`pointerup`,i),G.addEventListener(`pointercancel`,i)}),G?.addEventListener(`keydown`,e=>{let t=e.shiftKey?64:16;if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let n=e.key===`ArrowLeft`?t:-t,r=eo(no()+n);to(r),ro(r);return}(e.key===`Home`||e.key===`Escape`)&&(e.preventDefault(),to(null),ro(null))}),G?.addEventListener(`dblclick`,()=>{to(null),ro(null)}),window.addEventListener(`resize`,()=>{Ua()&&W?.style.getPropertyValue(`--ask-width`)&&to(eo(no()))});var io=3e4,ao=document.visibilityState===`visible`?Date.now():null,oo=0;function so(){ao!==null&&(oo+=Date.now()-ao,ao=Date.now())}function co(){so();let e=Math.round(oo/1e3);return oo-=e*1e3,e}document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`?ao=Date.now():(so(),ao=null)}),setInterval(()=>{let e=co();e>0&&L({event:`workspace_heartbeat`,visibleSeconds:e})},io),window.addEventListener(`pagehide`,()=>{let e=I(`/event`),t=JSON.stringify({event:`review_completed`,trailingSeconds:co()});navigator.sendBeacon?.(e,new Blob([t],{type:`application/json`}))||fetch(e,{method:`POST`,headers:{"content-type":`application/json`},body:t,keepalive:!0}).catch(()=>{})});var lo=document.querySelector(`[data-prompt-bank]`),uo=document.querySelector(`[data-prompt-list]`),K=fo();function fo(){try{let e=JSON.parse(lo?.dataset.prompts??`[]`);return Array.isArray(e)?e:[]}catch{return[]}}function po(){if(!uo)return;uo.innerHTML=K.map(e=>`<span class="prb-bank-item">
149
149
  <button type="button" class="prb-bank-use" data-prompt-use="${z(e.id)}" title="${z(e.prompt)}">${z(e.name)}</button>
150
150
  <button type="button" class="prb-bank-edit" data-prompt-edit="${z(e.id)}" aria-label="Edit ${z(e.name)}">&#9998;</button>
151
- </span>`).join(``);let e=document.querySelector(`[data-prompt-count]`);e&&(e.textContent=String(K.length)),So()}async function mo(e){try{let t=await(await fetch(I(`/prompts`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({prompts:e})})).json().catch(()=>null);K=Array.isArray(t?.prompts)?t.prompts:K}catch{}po()}function ho(e){document.querySelector(`[data-prompt-toggle]`)?.setAttribute(`aria-expanded`,String(!e)),lo?.toggleAttribute(`data-collapsed`,e),uo&&(uo.hidden=e),fetch(I(`/prefs`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({promptsCollapsed:e})}).catch(()=>{})}function go(e){let t=K.find(t=>t.id===e);!t||!V||(V.value=Lt(V.value,t.prompt),Ga(),V.focus(),V.setSelectionRange(V.value.length,V.value.length),V.dispatchEvent(new Event(`input`)))}var _o=document.querySelector(`.prb-doc`),vo=null,yo=null;function bo(){B&&(yo?.(),yo=Ge(B,{layout:`flat`,actions:Je.map(e=>({id:e.id,label:e.label})),onChoose:(e,t)=>Co(e,`selection`,t)}))}function xo(){return[...Ke.map(e=>({id:e.id,label:e.label})),...K.map(e=>({id:et(e.id),label:e.name,section:$e}))]}function So(){_o&&(vo?.(),vo=Ge(_o,{triggerLabel:`Ask Buddy AI`,actions:xo(),ignoreWithin:`[data-ask-buddy-menu]`,onChoose:(e,t)=>Co(e,`selection`,t)}))}function Co(e,t,n){St(e,{context:t,text:n},{savedPrompt:e=>K.find(t=>t.id===e)?.prompt??null,stage:e=>wo(e,t),send:e=>{Ga(),va(e,`finding`)}})}function wo(e,t){V&&(Sa={text:e,source:t},V.value=Lt(V.value,e),Ga(),V.focus(),V.setSelectionRange(V.value.length,V.value.length),V.dispatchEvent(new Event(`input`)))}function To(e){return e.closest(`[data-finding-card]`)?.querySelector(`[data-copy-source]`)?.getAttribute(`data-copy-source`)??``}function Eo(e){let t=e.querySelector(`[data-menu-panel]`);if(t){t.innerHTML=Le(xo());for(let e of t.querySelectorAll(`[data-selection-action]`))e.setAttribute(`role`,`menuitem`);if(H||U)for(let e of t.querySelectorAll(`button`))e.disabled=!0}}function Do(e){let t=e.querySelector(`[data-menu-items]`),n=e.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!1),n&&(n.hidden=!0),e.querySelector(`[data-menu-error]`)?.remove()}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-ask-buddy-menu] [data-selection-action]`),n=t?.closest(`[data-ask-buddy-menu]`),r=t?.dataset.selectionAction;if(!n||!r)return;let i=To(n);Xi.close(n),i&&Co(r,`finding`,i)}),So(),bo(),ye(document);var Oo=document.querySelector(`[data-prompt-dialog]`),ko=document.querySelector(`[data-prompt-name]`),Ao=document.querySelector(`[data-prompt-text]`),jo=document.querySelector(`[data-prompt-delete]`),Mo=document.getElementById(`prb-prompt-title`),No=``;function Po(e){let t=K.find(t=>t.id===e);No=t?.id??``,Mo&&(Mo.textContent=t?`Edit prompt`:`Save a prompt`),ko&&(ko.value=t?.name??``),Ao&&(Ao.value=t?.prompt??``),jo&&(jo.hidden=!t),Oo?.showModal(),ko?.focus()}async function Fo(){let e=ko?.value.trim()??``,t=Ao?.value.trim()??``;if(!e||!t){(e?Ao:ko)?.focus();return}let n=No?K.map(n=>n.id===No?{...n,name:e,prompt:t}:n):[...K,{id:crypto.randomUUID(),name:e,prompt:t}];Oo?.close(),await mo(n)}async function Io(){if(!No)return;let e=K.filter(e=>e.id!==No);Oo?.close(),await mo(e)}document.querySelector(`[data-prompt-cancel]`)?.addEventListener(`click`,()=>Oo?.close()),jo?.addEventListener(`click`,()=>void Io()),document.querySelector(`[data-prompt-save]`)?.addEventListener(`click`,()=>void Fo());var Lo=document.querySelector(`[data-complete]`);Lo?.addEventListener(`click`,()=>{let e=Lo.getAttribute(`aria-pressed`)!==`true`;Ro(e),fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({complete:e})}).then(async e=>{let t=await e.json().catch(()=>null);t&&Ro(t.completedAt!==null)}).catch(()=>Ro(!e))});function Ro(e){Lo&&(Lo.setAttribute(`aria-pressed`,String(e)),Lo.textContent=e?`Reviewed`:`Mark reviewed`)}var q=document.querySelector(`[data-fresh-region]`),J=document.querySelector(`[data-fresh-status]`),zo=document.querySelector(`[data-fresh-check]`),Y=Jo(q?.dataset.report),Bo=`prb-fresh-reopen`,Vo=Ko(),Ho=q?.dataset.dismissedSha,Uo=Go(q?.dataset.availability),X=Wo(q?.dataset.remote);function Wo(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Go(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Ko(){try{return sessionStorage.getItem(Bo)!==null&&(sessionStorage.removeItem(Bo),!0)}catch{return!1}}Vo&&os(),zo?.addEventListener(`click`,()=>void Yo()),q?.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-fresh-close]`))return Vo=!1,os();let n=t.closest(`[data-fresh-dismiss]`);n&&(Ho=n.dataset.freshDismiss||void 0,Vo=!1,os(),qo())});function qo(){fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissFreshnessSha:Ho??null})}).catch(()=>{})}function Jo(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}var Z=!1;async function Yo(){if(Z)return;Z=!0,es(!0);let e=ts(Y,X),t=await Xo(!1);t&&as(),Z=!1,t&&(Y?.code.state===`changed`||X!==null)&&Ho!==void 0&&(Ho=void 0,qo()),os();let n=t?ts(Y,X)===e?`No change`:`Updated`:`Could not check`;zo&&cs(zo,n,2600)}async function Xo(e){try{let t=await(await fetch(`${I(`/freshness`)}${e?`&quiet=1`:``}`)).json();return Y=t.report??null,Uo=t.availability??null,X=t.remote??null,ns=t.kiss??null,t.kissDismissedSha!==void 0&&(rs=t.kissDismissedSha??void 0),t.prState!==void 0&&$o(t.prState),!0}catch{return!1}}async function Zo(){if(Z||!q)return;Z=!0;let e=ts(Y,X),t=JSON.stringify(ns),n=await Xo(!0);Z=!1,Qo=Date.now(),n&&(ts(Y,X)!==e&&os(),JSON.stringify(ns)!==t&&as())}var Qo=Date.now();function $o(e){let t=document.querySelector(`[data-pr-state-slot]`);if(!t)return;let n=un(e,t.hasAttribute(`data-beside-number`));t.innerHTML!==n&&(t.innerHTML=n)}function es(e){zo&&(zo.disabled=e),J&&e&&(J.textContent=`Checking…`,J.dataset.state=`checking`)}function ts(e,t){if(!e)return JSON.stringify({report:`none`,remote:t});let{checkedAt:n,...r}=e;return JSON.stringify({...r,remote:t})}var Q=document.querySelector(`[data-kiss-fresh-region]`),ns=is(Q?.dataset.freshness),rs=Q?.dataset.dismissedSha;function is(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function as(){Q&&(Q.innerHTML=ln(Q.dataset.reviewedSha??``,ns,{dismissedSha:rs,actions:Ii!==``}))}Q?.addEventListener(`click`,e=>{let t=e.target.closest(`[data-kiss-freshness-dismiss]`);t&&(rs=t.dataset.kissFreshnessDismiss||void 0,as(),fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissKissFreshnessSha:rs??null})}).catch(()=>{}))});function os(){if(q&&(q.innerHTML=Wt(Y,{dismissedSha:Ho,open:Vo,actions:Ii!==``,availability:Uo,remote:X}),J&&(Y||X))){let{label:e,state:t}=Ut(Y,X);J.textContent=e,J.dataset.state=t}}document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-copy-command]`);if(n)return ss(n);let r=t.closest(`[data-notice-dismiss]`);if(r){r.closest(`[data-notice]`)?.remove(),fetch(I(`/prefs`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissNotice:r.dataset.noticeDismiss})}).catch(()=>{});return}let i=t.closest(`[data-pr-recheck]`);if(i)return void ls(i);let a=t.closest(`[data-review-update]`);if(a)return void fs(a);t.closest(`[data-update-close]`)&&document.querySelector(`[data-update-result]`)?.remove()});function ss(e){let t=e.dataset.copyCommand??``;navigator.clipboard?.writeText(t).then(()=>cs(e,`Copied`),()=>cs(e,`Select it`))}function cs(e,t,n=1400){let r=e.textContent;e.textContent=t,setTimeout(()=>{e.textContent=r},n)}async function ls(e){let t=[...document.querySelectorAll(`[data-pr-recheck]`)];for(let e of t)e.disabled=!0;let n=Date.now(),r=()=>{let e=Math.max(1,Math.round((Date.now()-n)/1e3));for(let n of t){let t=us(n);t?t.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Re-checking the conversation, ${e}s. ${ps}`:n.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Checking… ${e}s`}};r();let i=window.setInterval(r,1e3),a=us(e)?null:ms(e);try{await fetch(I(`/refresh`),{method:`POST`})}catch{}finally{window.clearInterval(i),a?.remove()}us(e)&&ds(),window.location.reload()}function us(e){return e.closest(`.prb-fresh-notes p`)}function ds(){try{sessionStorage.setItem(Bo,`1`)}catch{}}async function fs(e){let t=[...document.querySelectorAll(`[data-review-update]`)];for(let e of t)e.disabled=!0,e.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Updating…`;let n=!1,r=()=>{n||(n=!0,window.clearInterval(i),window.location.reload())},i=window.setInterval(async()=>{try{let e=await(await fetch(I(`/job`))).json();e.update&&e.update.phase!==`none`&&!tn(e.update.phase)&&r()}catch{}},500);try{await fetch(I(`/update`),{method:`POST`})}catch{}r()}var ps=`Fetching the latest threads from your pull request. This usually takes under a minute.`;function ms(e){let t=e.parentElement;if(!t)return null;let n=document.createElement(`span`);return n.className=`prb-recheck-status`,n.setAttribute(`role`,`status`),n.textContent=ps,t.appendChild(n),n}var hs=pn(document),gs=null,_s=Date.now();function vs(){gs===null&&(gs=window.setTimeout(()=>{gs=null,ys()},o(Date.now()-_s)))}async function ys(){try{let e=await(await fetch(I(`/job`))).json();if(U&&!e.ask||xs&&!e.diagram){window.location.reload();return}let t={job:e,kiss:e.kiss,update:e.update};for(let[e,n]of hs){let r=t[e];if(r){if(mn(e,r,document)){window.location.reload();return}e===`update`||n.matches(`[data-progress-pane]`)?(gn(n,r.phase,r.progress),_n(n)):bs(n,r.progress)}}}catch{}vs()}function bs(e,t){if(!t)return;let n=e.querySelector(`.prb-job-progress`);n||(n=document.createElement(`span`),n.className=`prb-job-progress`,e.querySelector(`p`)?.appendChild(n)),n.textContent=` ${t}`}var xs=document.querySelector(`[data-diagram-running]`)!==null;(hs.size>0||U||xs)&&(_s=Date.now(),vs());function Ss(e){let t=e.parentElement;if(!t)return;let n=t.querySelector(`.prb-job-retry-status`);n||(n=document.createElement(`p`),n.className=`prb-job-retry-status`,n.setAttribute(`role`,`status`),t.insertBefore(n,e.nextSibling)),n.textContent=`The retry could not be started. You can try again.`}function Cs(e){e.parentElement?.querySelector(`.prb-job-retry-status`)?.remove()}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-job-retry]`);t&&(t.disabled=!0,t.textContent=`Retrying…`,Cs(t),fetch(I(`/retry`),{method:`POST`}).then(e=>{if(!e.ok)throw Error(`refused`);_s=Date.now(),vs()}).catch(()=>{t.disabled=!1,t.textContent=`Retry`,Ss(t)}))}),document.addEventListener(`change`,e=>{let t=e.target.closest(`[data-kiss-audience]`);if(!t)return;let n=t.closest(`[data-kiss-run-control]`)?.querySelector(`[data-kiss-run]`);n&&(n.disabled=!1)}),document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-kiss-run]`);if(!t||t.disabled)return;let n=t.closest(`[data-kiss-run-control]`),r=n?.querySelector(`[data-kiss-audience]:checked`)?.value;r&&(t.disabled=!0,t.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Starting…`,fetch(I(`/kiss`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({audience:r})}).then(e=>{if(e.ok)window.location.reload();else throw Error(`refused`)}).catch(()=>{t.disabled=!1,t.textContent=`Run KISS review`;let e=document.createElement(`p`);e.className=`prb-kiss-refused`,e.setAttribute(`role`,`status`),e.textContent=`The KISS review could not be started. You can try again.`,n?.querySelector(`.prb-kiss-refused`)?.remove(),n?.appendChild(e)}))});var ws=document.body.dataset.defaultView||`overview`;window.addEventListener(`popstate`,e=>{Ji(e.state??ft(window.location.hash)??{kind:`view`,view:ws})});var Ts=ft(window.location.hash);Ts?Ji(Ts):(R={kind:`view`,view:ws},history.replaceState(R,``,window.location.pathname+window.location.search)),Ka(),sa();var Es=e=>{for(let t of document.querySelectorAll(`[data-analysis-details][open]`))(!e||!t.contains(e))&&(t.open=!1)};document.addEventListener(`click`,e=>{Es(e.target)}),document.addEventListener(`keydown`,e=>{if(e.key!==`Escape`)return;let t=document.querySelector(`[data-analysis-details][open]`);t&&(Es(),t.querySelector(`summary`)?.focus())});var $=document.querySelector(`.prb-header [data-menu]`);if($){let e=$.querySelector(`[data-menu-panel]`),t=$.querySelector(`[data-menu-items]`),n=$.querySelector(`[data-menu-confirm]`),r=$.querySelector(`[data-confirm-delete]`),o=()=>Do($);$.addEventListener(`click`,e=>{let r=e.target,i=r?.closest(`[data-copy-id]`);if(i?.dataset.copyId){e.stopPropagation(),a(i,i.dataset.copyId);return}let l=r?.closest(`[data-save-toggle]`);if(l){e.stopPropagation(),s(l);return}if(r?.closest(`[data-delete]`)){e.stopPropagation(),t&&(t.hidden=!0),n&&(n.hidden=!1);return}if(r?.closest(`[data-cancel-delete]`)){e.stopPropagation(),o();return}r?.closest(`[data-confirm-delete]`)&&(e.stopPropagation(),c())});let s=async e=>{let t=e.getAttribute(`aria-pressed`)!==`true`;e.disabled=!0;let n=null;try{let e=await fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({pinned:t})});e.ok&&(n=(await e.json()).pinned===!0)}catch{}if(e.disabled=!1,n===null){e.textContent=`Could not save`,window.setTimeout(()=>{e.textContent=i(e.getAttribute(`aria-pressed`)===`true`)},1600);return}e.setAttribute(`aria-pressed`,String(n)),e.textContent=i(n)},c=async()=>{r&&(r.disabled=!0,r.textContent=`Deleting`);let t;try{let e=await fetch(I(`/delete`),{method:`POST`});if(e.ok)return void window.location.replace(`/`);t=(await e.json().catch(()=>null))?.error??`That could not be deleted.`}catch{t=`The workspace server did not answer. It may have stopped.`}r&&(r.disabled=!1,r.textContent=`Delete`),o();let n=document.createElement(`p`);n.className=`prb-menu-error`,n.setAttribute(`data-menu-error`,``),n.textContent=t,e?.append(n)}}t(),setTimeout(()=>{Oi(bi([...document.querySelectorAll(`[data-view="files"] [data-file]`)].map(e=>e.dataset.file??``)))},0),e(window,()=>window.location.reload()),r(window,document.querySelector(`main.prb-doc`));var Ds=15e3,Os=6e4;function ks(){return Ii!==``&&document.visibilityState===`visible`&&!hs.has(`update`)}document.addEventListener(`visibilitychange`,()=>{ks()&&Date.now()-Qo>=Ds&&Zo()}),window.setInterval(()=>{ks()&&Zo()},Os);export{O as t};
151
+ </span>`).join(``);let e=document.querySelector(`[data-prompt-count]`);e&&(e.textContent=String(K.length)),So()}async function mo(e){try{let t=await(await fetch(I(`/prompts`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({prompts:e})})).json().catch(()=>null);K=Array.isArray(t?.prompts)?t.prompts:K}catch{}po()}function ho(e){document.querySelector(`[data-prompt-toggle]`)?.setAttribute(`aria-expanded`,String(!e)),lo?.toggleAttribute(`data-collapsed`,e),uo&&(uo.hidden=e),fetch(I(`/prefs`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({promptsCollapsed:e})}).catch(()=>{})}function go(e){let t=K.find(t=>t.id===e);!t||!V||(V.value=Lt(V.value,t.prompt),Ga(),V.focus(),V.setSelectionRange(V.value.length,V.value.length),V.dispatchEvent(new Event(`input`)))}var _o=document.querySelector(`.prb-doc`),vo=null,yo=null;function bo(){B&&(yo?.(),yo=Ge(B,{layout:`flat`,actions:Je.map(e=>({id:e.id,label:e.label})),onChoose:(e,t)=>Co(e,`selection`,t)}))}function xo(){return[...Ke.map(e=>({id:e.id,label:e.label})),...K.map(e=>({id:et(e.id),label:e.name,section:$e}))]}function So(){_o&&(vo?.(),vo=Ge(_o,{triggerLabel:`Ask Buddy AI`,actions:xo(),ignoreWithin:`[data-ask-buddy-menu]`,onChoose:(e,t)=>Co(e,`selection`,t)}))}function Co(e,t,n){St(e,{context:t,text:n},{savedPrompt:e=>K.find(t=>t.id===e)?.prompt??null,stage:e=>wo(e,t),send:e=>{Ga(),va(e,`finding`)}})}function wo(e,t){V&&(Sa={text:e,source:t},V.value=Lt(V.value,e),Ga(),V.focus(),V.setSelectionRange(V.value.length,V.value.length),V.dispatchEvent(new Event(`input`)))}function To(e){return e.closest(`[data-finding-card]`)?.querySelector(`[data-copy-source]`)?.getAttribute(`data-copy-source`)??``}function Eo(e){let t=e.querySelector(`[data-menu-panel]`);if(t){t.innerHTML=Le(xo());for(let e of t.querySelectorAll(`[data-selection-action]`))e.setAttribute(`role`,`menuitem`);if(H||U)for(let e of t.querySelectorAll(`button`))e.disabled=!0}}function Do(e){let t=e.querySelector(`[data-menu-items]`),n=e.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!1),n&&(n.hidden=!0),e.querySelector(`[data-menu-error]`)?.remove()}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-ask-buddy-menu] [data-selection-action]`),n=t?.closest(`[data-ask-buddy-menu]`),r=t?.dataset.selectionAction;if(!n||!r)return;let i=To(n);Xi.close(n),i&&Co(r,`finding`,i)}),So(),bo(),ye(document);var Oo=document.querySelector(`[data-prompt-dialog]`),ko=document.querySelector(`[data-prompt-name]`),Ao=document.querySelector(`[data-prompt-text]`),jo=document.querySelector(`[data-prompt-delete]`),Mo=document.getElementById(`prb-prompt-title`),No=``;function Po(e){let t=K.find(t=>t.id===e);No=t?.id??``,Mo&&(Mo.textContent=t?`Edit prompt`:`Save a prompt`),ko&&(ko.value=t?.name??``),Ao&&(Ao.value=t?.prompt??``),jo&&(jo.hidden=!t),Oo?.showModal(),ko?.focus()}async function Fo(){let e=ko?.value.trim()??``,t=Ao?.value.trim()??``;if(!e||!t){(e?Ao:ko)?.focus();return}let n=No?K.map(n=>n.id===No?{...n,name:e,prompt:t}:n):[...K,{id:crypto.randomUUID(),name:e,prompt:t}];Oo?.close(),await mo(n)}async function Io(){if(!No)return;let e=K.filter(e=>e.id!==No);Oo?.close(),await mo(e)}document.querySelector(`[data-prompt-cancel]`)?.addEventListener(`click`,()=>Oo?.close()),jo?.addEventListener(`click`,()=>void Io()),document.querySelector(`[data-prompt-save]`)?.addEventListener(`click`,()=>void Fo());var Lo=document.querySelector(`[data-complete]`);Lo?.addEventListener(`click`,()=>{let e=Lo.getAttribute(`aria-pressed`)!==`true`;Ro(e),fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({complete:e})}).then(async e=>{let t=await e.json().catch(()=>null);t&&Ro(t.completedAt!==null)}).catch(()=>Ro(!e))});function Ro(e){Lo&&(Lo.setAttribute(`aria-pressed`,String(e)),Lo.textContent=e?`Reviewed`:`Mark reviewed`)}var q=document.querySelector(`[data-fresh-region]`),J=document.querySelector(`[data-fresh-status]`),zo=document.querySelector(`[data-fresh-check]`),Y=Jo(q?.dataset.report),Bo=`prb-fresh-reopen`,Vo=Ko(),Ho=q?.dataset.dismissedSha,Uo=Go(q?.dataset.availability),X=Wo(q?.dataset.remote);function Wo(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Go(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Ko(){try{return sessionStorage.getItem(Bo)!==null&&(sessionStorage.removeItem(Bo),!0)}catch{return!1}}Vo&&os(),zo?.addEventListener(`click`,()=>void Yo()),q?.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-fresh-close]`))return Vo=!1,os();let n=t.closest(`[data-fresh-dismiss]`);n&&(Ho=n.dataset.freshDismiss||void 0,Vo=!1,os(),qo())});function qo(){fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissFreshnessSha:Ho??null})}).catch(()=>{})}function Jo(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}var Z=!1;async function Yo(){if(Z)return;Z=!0,es(!0);let e=ts(Y,X),t=await Xo(!1);t&&as(),Z=!1,t&&(Y?.code.state===`changed`||X!==null)&&Ho!==void 0&&(Ho=void 0,qo()),os();let n=t?ts(Y,X)===e?`No change`:`Updated`:`Could not check`;zo&&cs(zo,n,2600)}async function Xo(e){try{let t=await(await fetch(`${I(`/freshness`)}${e?`&quiet=1`:``}`)).json();return Y=t.report??null,Uo=t.availability??null,X=t.remote??null,ns=t.kiss??null,t.kissDismissedSha!==void 0&&(rs=t.kissDismissedSha??void 0),t.prState!==void 0&&$o(t.prState),!0}catch{return!1}}async function Zo(){if(Z||!q)return;Z=!0;let e=ts(Y,X),t=JSON.stringify(ns),n=await Xo(!0);Z=!1,Qo=Date.now(),n&&(ts(Y,X)!==e&&os(),JSON.stringify(ns)!==t&&as())}var Qo=Date.now();function $o(e){let t=document.querySelector(`[data-pr-state-slot]`);if(!t)return;let n=un(e,t.hasAttribute(`data-beside-number`));t.innerHTML!==n&&(t.innerHTML=n)}function es(e){zo&&(zo.disabled=e),J&&e&&(J.textContent=`Checking…`,J.dataset.state=`checking`)}function ts(e,t){if(!e)return JSON.stringify({report:`none`,remote:t});let{checkedAt:n,...r}=e;return JSON.stringify({...r,remote:t})}var Q=document.querySelector(`[data-kiss-fresh-region]`),ns=is(Q?.dataset.freshness),rs=Q?.dataset.dismissedSha;function is(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function as(){Q&&(Q.innerHTML=ln(Q.dataset.reviewedSha??``,ns,{dismissedSha:rs,actions:Ii!==``}))}Q?.addEventListener(`click`,e=>{let t=e.target.closest(`[data-kiss-freshness-dismiss]`);t&&(rs=t.dataset.kissFreshnessDismiss||void 0,as(),fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissKissFreshnessSha:rs??null})}).catch(()=>{}))});function os(){if(q&&(q.innerHTML=Wt(Y,{dismissedSha:Ho,open:Vo,actions:Ii!==``,availability:Uo,remote:X}),J&&(Y||X))){let{label:e,state:t}=Ut(Y,X);J.textContent=e,J.dataset.state=t}}document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-copy-command]`);if(n)return ss(n);let r=t.closest(`[data-notice-dismiss]`);if(r){r.closest(`[data-notice]`)?.remove(),fetch(I(`/prefs`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({dismissNotice:r.dataset.noticeDismiss})}).catch(()=>{});return}let i=t.closest(`[data-pr-recheck]`);if(i)return void ls(i);let a=t.closest(`[data-review-update]`);if(a)return void fs(a);t.closest(`[data-update-close]`)&&document.querySelector(`[data-update-result]`)?.remove()});function ss(e){let t=e.dataset.copyCommand??``;navigator.clipboard?.writeText(t).then(()=>cs(e,`Copied`),()=>cs(e,`Select it`))}function cs(e,t,n=1400){let r=e.textContent;e.textContent=t,setTimeout(()=>{e.textContent=r},n)}async function ls(e){let t=[...document.querySelectorAll(`[data-pr-recheck]`)];for(let e of t)e.disabled=!0;let n=Date.now(),r=()=>{let e=Math.max(1,Math.round((Date.now()-n)/1e3));for(let n of t){let t=us(n);t?t.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Re-checking the conversation, ${e}s. ${ps}`:n.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Checking… ${e}s`}};r();let i=window.setInterval(r,1e3),a=us(e)?null:ms(e);try{await fetch(I(`/refresh`),{method:`POST`})}catch{}finally{window.clearInterval(i),a?.remove()}us(e)&&ds(),window.location.reload()}function us(e){return e.closest(`.prb-fresh-notes p`)}function ds(){try{sessionStorage.setItem(Bo,`1`)}catch{}}async function fs(e){let t=[...document.querySelectorAll(`[data-review-update]`)];for(let e of t)e.disabled=!0,e.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Updating…`;let n=!1,r=()=>{n||(n=!0,window.clearInterval(i),window.location.reload())},i=window.setInterval(async()=>{try{let e=await(await fetch(I(`/job`))).json();e.update&&e.update.phase!==`none`&&!tn(e.update.phase)&&r()}catch{}},500);try{await fetch(I(`/update`),{method:`POST`})}catch{}r()}var ps=`Fetching the latest threads from your pull request. This usually takes under a minute.`;function ms(e){let t=e.parentElement;if(!t)return null;let n=document.createElement(`span`);return n.className=`prb-recheck-status`,n.setAttribute(`role`,`status`),n.textContent=ps,t.appendChild(n),n}var hs=pn(document),gs=null,_s=Date.now();function vs(){gs===null&&(gs=window.setTimeout(()=>{gs=null,ys()},a(Date.now()-_s)))}async function ys(){try{let e=await(await fetch(I(`/job`))).json();if(U&&!e.ask||xs&&!e.diagram){window.location.reload();return}let t={job:e,kiss:e.kiss,update:e.update};for(let[e,n]of hs){let r=t[e];if(r){if(mn(e,r,document)){window.location.reload();return}e===`update`||n.matches(`[data-progress-pane]`)?(gn(n,r.phase,r.progress),_n(n)):bs(n,r.progress)}}}catch{}vs()}function bs(e,t){if(!t)return;let n=e.querySelector(`.prb-job-progress`);n||(n=document.createElement(`span`),n.className=`prb-job-progress`,e.querySelector(`p`)?.appendChild(n)),n.textContent=` ${t}`}var xs=document.querySelector(`[data-diagram-running]`)!==null;(hs.size>0||U||xs)&&(_s=Date.now(),vs());function Ss(e){let t=e.parentElement;if(!t)return;let n=t.querySelector(`.prb-job-retry-status`);n||(n=document.createElement(`p`),n.className=`prb-job-retry-status`,n.setAttribute(`role`,`status`),t.insertBefore(n,e.nextSibling)),n.textContent=`The retry could not be started. You can try again.`}function Cs(e){e.parentElement?.querySelector(`.prb-job-retry-status`)?.remove()}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-job-retry]`);t&&(t.disabled=!0,t.textContent=`Retrying…`,Cs(t),fetch(I(`/retry`),{method:`POST`}).then(e=>{if(!e.ok)throw Error(`refused`);_s=Date.now(),vs()}).catch(()=>{t.disabled=!1,t.textContent=`Retry`,Ss(t)}))}),document.addEventListener(`change`,e=>{let t=e.target.closest(`[data-kiss-audience]`);if(!t)return;let n=t.closest(`[data-kiss-run-control]`)?.querySelector(`[data-kiss-run]`);n&&(n.disabled=!1)}),document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-kiss-run]`);if(!t||t.disabled)return;let n=t.closest(`[data-kiss-run-control]`),r=n?.querySelector(`[data-kiss-audience]:checked`)?.value;r&&(t.disabled=!0,t.innerHTML=`<span class="prb-spinner" aria-hidden="true"></span>Starting…`,fetch(I(`/kiss`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({audience:r})}).then(e=>{if(e.ok)window.location.reload();else throw Error(`refused`)}).catch(()=>{t.disabled=!1,t.textContent=`Run KISS review`;let e=document.createElement(`p`);e.className=`prb-kiss-refused`,e.setAttribute(`role`,`status`),e.textContent=`The KISS review could not be started. You can try again.`,n?.querySelector(`.prb-kiss-refused`)?.remove(),n?.appendChild(e)}))});var ws=document.body.dataset.defaultView||`overview`;window.addEventListener(`popstate`,e=>{Ji(e.state??ft(window.location.hash)??{kind:`view`,view:ws})});var Ts=ft(window.location.hash);Ts?Ji(Ts):(R={kind:`view`,view:ws},history.replaceState(R,``,window.location.pathname+window.location.search)),Ka(),sa();var Es=e=>{for(let t of document.querySelectorAll(`[data-analysis-details][open]`))(!e||!t.contains(e))&&(t.open=!1)};document.addEventListener(`click`,e=>{Es(e.target)}),document.addEventListener(`keydown`,e=>{if(e.key!==`Escape`)return;let t=document.querySelector(`[data-analysis-details][open]`);t&&(Es(),t.querySelector(`summary`)?.focus())});var $=document.querySelector(`.prb-header [data-menu]`);if($){let e=$.querySelector(`[data-menu-panel]`),t=$.querySelector(`[data-menu-items]`),n=$.querySelector(`[data-menu-confirm]`),a=$.querySelector(`[data-confirm-delete]`),o=()=>Do($);$.addEventListener(`click`,e=>{let i=e.target,a=i?.closest(`[data-copy-id]`);if(a?.dataset.copyId){e.stopPropagation(),r(a,a.dataset.copyId);return}let l=i?.closest(`[data-save-toggle]`);if(l){e.stopPropagation(),s(l);return}if(i?.closest(`[data-delete]`)){e.stopPropagation(),t&&(t.hidden=!0),n&&(n.hidden=!1);return}if(i?.closest(`[data-cancel-delete]`)){e.stopPropagation(),o();return}i?.closest(`[data-confirm-delete]`)&&(e.stopPropagation(),c())});let s=async e=>{let t=e.getAttribute(`aria-pressed`)!==`true`;e.disabled=!0;let n=null;try{let e=await fetch(I(`/state`),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({pinned:t})});e.ok&&(n=(await e.json()).pinned===!0)}catch{}if(e.disabled=!1,n===null){e.textContent=`Could not save`,window.setTimeout(()=>{e.textContent=i(e.getAttribute(`aria-pressed`)===`true`)},1600);return}e.setAttribute(`aria-pressed`,String(n)),e.textContent=i(n)},c=async()=>{a&&(a.disabled=!0,a.textContent=`Deleting`);let t;try{let e=await fetch(I(`/delete`),{method:`POST`});if(e.ok)return void window.location.replace(`/`);t=(await e.json().catch(()=>null))?.error??`That could not be deleted.`}catch{t=`The workspace server did not answer. It may have stopped.`}a&&(a.disabled=!1,a.textContent=`Delete`),o();let n=document.createElement(`p`);n.className=`prb-menu-error`,n.setAttribute(`data-menu-error`,``),n.textContent=t,e?.append(n)}}t(),setTimeout(()=>{Oi(bi([...document.querySelectorAll(`[data-view="files"] [data-file]`)].map(e=>e.dataset.file??``)))},0),e(window,()=>window.location.reload()),o(window,document.querySelector(`main.prb-doc`));var Ds=15e3,Os=6e4;function ks(){return Ii!==``&&document.visibilityState===`visible`&&!hs.has(`update`)}document.addEventListener(`visibilitychange`,()=>{ks()&&Date.now()-Qo>=Ds&&Zo()}),window.setInterval(()=>{ks()&&Zo()},Os);export{O as t};
@@ -1 +0,0 @@
1
- var e=`prb-scroll-keep`;function t(t,r){let i=()=>`${t.location.pathname}${t.location.hash}`;t.addEventListener(`pagehide`,()=>{let n={key:i(),pane:r?.scrollTop??0,window:t.scrollY};try{t.sessionStorage.setItem(e,JSON.stringify(n))}catch{}});let a=null;try{let n=t.sessionStorage.getItem(e);t.sessionStorage.removeItem(e),a=n?JSON.parse(n):null}catch{return}if(!a||a.key!==i()||!n(t))return;try{t.history.scrollRestoration=`manual`}catch{}r&&(r.scrollTop=a.pane),a.window&&t.scrollTo(0,a.window);let o=r?.scrollTop??0,s=a.pane;t.addEventListener(`load`,()=>{r&&r.scrollTop===o&&o!==s&&(r.scrollTop=s)},{once:!0})}function n(e){return e.performance?.getEntriesByType?.(`navigation`)[0]?.type===`reload`}async function r(e,t){try{await navigator.clipboard.writeText(t);let n=e.textContent;e.textContent=`Copied`,window.setTimeout(()=>{e.textContent=n},1200)}catch{let n=document.createElement(`input`);n.type=`text`,n.readOnly=!0,n.value=t,n.className=`prb-menu-id`,n.setAttribute(`data-id-field`,``),e.after(n),n.select()}}function i(e){return e<3e4?1e3:e<12e4?3e3:e<6e5?8e3:15e3}var a=[`all`,`queue`,`saved`,`in-progress`,`complete`],o=[`any`,`open`,`merged`,`closed`];function s(e,t){let n=`${e} review${e===1?``:`s`}`;return e===t?n:`${n} · ${t} branch${t===1?``:`es`}`}function c(e,t){let n=Math.max(1,Math.ceil(e/15)),r=Math.min(Math.max(1,Math.floor(t)||1),n),i=(r-1)*15;return{page:r,pages:n,from:i,to:Math.min(i+15,e)}}function l(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=t.get(`f`)??``,r=t.get(`pr`)??``,i=Number(t.get(`page`)??``);return{query:t.get(`q`)??``,filter:a.includes(n)?n:`all`,author:t.get(`by`)??``,pr:o.includes(r)?r:`any`,page:Number.isInteger(i)&&i>=1?i:1}}function u(e){let t=new URLSearchParams;e.query!==``&&t.set(`q`,e.query),e.filter!==`all`&&t.set(`f`,e.filter),e.author!==``&&t.set(`by`,e.author),e.pr!==`any`&&t.set(`pr`,e.pr),e.page>1&&t.set(`page`,String(e.page));let n=t.toString();return n===``?``:`#${n}`}function d(e,t){return t===`all`||t===`queue`?!0:t===`saved`?e.pinned===!0:e.status===t}function f(e,t){return t===`any`||e.prState===t}function p(e,t){return t===``||e===t}function m(e){return e===`complete`?`Mark reviewed`:`Mark in progress`}function h(e){return e?`Remove from saved`:`Save review`}function g(e,t){let n=t.query.trim().toLowerCase();return _(e.filter(e=>(!n||e.searchText.includes(n))&&d(e,t.filter)&&p(e.author,t.author)&&f(e,t.pr)),t.filter)}function _(e,t){return t===`queue`?e.filter(e=>e.queue!==void 0).sort((e,t)=>(e.queue??0)-(t.queue??0)):e}function v(e){return e===0?`Queue`:`Queue (${e})`}function y(e){return e===`complete`?`Reviewed`:e===`in-progress`?`In progress`:`New`}function b(e,t){if(e===0)return`Nothing selected`;let n=`${e} selected`;return t>0?`${n} · ${t} not shown`:n}function x(e){return e===0?`Select all`:`Select all ${e}`}function S(e){return e===0?`Delete`:`Delete ${e} review${e===1?``:`s`}`}function C(e){return`${S(e)}?`}function w(e,t,n){return e===``||t===``||t===e?`wait`:n?`hold`:`reload`}export{t as _,u as a,l as c,h as d,x as f,r as g,i as h,g as i,v as l,y as m,S as n,m as o,b as p,C as r,c as s,s as t,w as u};