glimmervoid 0.46.2-next.145 → 0.46.2-next.147

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.
Files changed (83) hide show
  1. package/dist/bin/glimmervoid.js +1 -1
  2. package/dist/chunks/{adapters-CPgK2P8p.js → adapters-B411QZPa.js} +16 -7
  3. package/dist/chunks/{adapters-DgiNl-zf.js → adapters-Dy_a5IJ0.js} +1 -1
  4. package/dist/chunks/{main-BlPPfUFv.js → main-BzRuLm8p.js} +7 -2
  5. package/dist/client/assets/{alert-sound-Dm-244cv.js → alert-sound-a-r-xMzC.js} +1 -1
  6. package/dist/client/assets/alert-sound-a-r-xMzC.js.br +0 -0
  7. package/dist/client/assets/{benchmark-panel-BZlXhHGv.js → benchmark-panel-CEdfPEgm.js} +1 -1
  8. package/dist/client/assets/benchmark-panel-CEdfPEgm.js.br +0 -0
  9. package/dist/client/assets/{celebration-player-BV_GJUKl.js → celebration-player-C3ub9M-X.js} +1 -1
  10. package/dist/client/assets/celebration-player-C3ub9M-X.js.br +0 -0
  11. package/dist/client/assets/{dialogs-d151Audo.js → dialogs-BZSGSCHb.js} +1 -1
  12. package/dist/client/assets/dialogs-BZSGSCHb.js.br +0 -0
  13. package/dist/client/assets/{doc-editor-ui-Du6nJGIm.js → doc-editor-ui-BFGY3Mip.js} +1 -1
  14. package/dist/client/assets/doc-editor-ui-BFGY3Mip.js.br +0 -0
  15. package/dist/client/assets/{first-run-checklist-D_a7Qoqh.js → first-run-checklist-j-DNxANV.js} +1 -1
  16. package/dist/client/assets/first-run-checklist-j-DNxANV.js.br +0 -0
  17. package/dist/client/assets/{hooks-panel-DN16aMgB.js → hooks-panel-esfJMItp.js} +1 -1
  18. package/dist/client/assets/hooks-panel-esfJMItp.js.br +0 -0
  19. package/dist/client/assets/{index-RCLTDjng.js → index-6j_Ukqob.js} +5 -5
  20. package/dist/client/assets/index-6j_Ukqob.js.br +0 -0
  21. package/dist/client/assets/index-DHKDKpp8.css +2 -0
  22. package/dist/client/assets/index-DHKDKpp8.css.br +0 -0
  23. package/dist/client/assets/{issues-panel-C1QPwxCn.js → issues-panel-CGFsmQwr.js} +1 -1
  24. package/dist/client/assets/issues-panel-CGFsmQwr.js.br +0 -0
  25. package/dist/client/assets/{nyan-cat-B_n_EfVU.js → nyan-cat-DhAjaQ--.js} +1 -1
  26. package/dist/client/assets/nyan-cat-DhAjaQ--.js.br +0 -0
  27. package/dist/client/assets/{phone-shell-B4AxrgMb.js → phone-shell-DLbSnQpc.js} +1 -1
  28. package/dist/client/assets/phone-shell-DLbSnQpc.js.br +0 -0
  29. package/dist/client/assets/{plan-face-BR7cZDnd.js → plan-face-Dskopzga.js} +1 -1
  30. package/dist/client/assets/plan-face-Dskopzga.js.br +0 -0
  31. package/dist/client/assets/{plan-render-sDj7Q2xf.js → plan-render-C85979_d.js} +1 -1
  32. package/dist/client/assets/plan-render-C85979_d.js.br +0 -0
  33. package/dist/client/assets/{pr-scope-tabs-CEoZ8gsu.js → pr-scope-tabs-OBz-ZcBj.js} +1 -1
  34. package/dist/client/assets/pr-scope-tabs-OBz-ZcBj.js.br +0 -0
  35. package/dist/client/assets/{radar-panel-53G-Lvqb.js → radar-panel-ZX8G9OCD.js} +1 -1
  36. package/dist/client/assets/radar-panel-ZX8G9OCD.js.br +0 -0
  37. package/dist/client/assets/{resume-dialog-DTN7BD6i.js → resume-dialog-Zw1UXc7g.js} +1 -1
  38. package/dist/client/assets/resume-dialog-Zw1UXc7g.js.br +0 -0
  39. package/dist/client/assets/review-queue-panel-O6IBmve5.css +1 -0
  40. package/dist/client/assets/review-queue-panel-O6IBmve5.css.br +0 -0
  41. package/dist/client/assets/review-queue-panel-sogJ-wbx.js +10 -0
  42. package/dist/client/assets/review-queue-panel-sogJ-wbx.js.br +0 -0
  43. package/dist/client/assets/{settings-panel-CnGAIi42.js → settings-panel-chP3FMVF.js} +2 -2
  44. package/dist/client/assets/settings-panel-chP3FMVF.js.br +0 -0
  45. package/dist/client/assets/{shown-lightbox-CRje8MBA.js → shown-lightbox-D3coKoM9.js} +1 -1
  46. package/dist/client/assets/shown-lightbox-D3coKoM9.js.br +0 -0
  47. package/dist/client/assets/{trace-panel-8sP1KvjA.js → trace-panel-fzO0o4nU.js} +1 -1
  48. package/dist/client/assets/trace-panel-fzO0o4nU.js.br +0 -0
  49. package/dist/client/assets/{usage-panel-DGXsQr_W.js → usage-panel-DS4fp99z.js} +1 -1
  50. package/dist/client/assets/usage-panel-DS4fp99z.js.br +0 -0
  51. package/dist/client/assets/{visions-panel-x4UaVr_9.js → visions-panel-O9dWuSmt.js} +1 -1
  52. package/dist/client/assets/visions-panel-O9dWuSmt.js.br +0 -0
  53. package/dist/client/index.html +2 -2
  54. package/dist/client/index.html.br +0 -0
  55. package/dist/server/index.js +1 -1
  56. package/package.json +1 -1
  57. package/dist/client/assets/alert-sound-Dm-244cv.js.br +0 -0
  58. package/dist/client/assets/benchmark-panel-BZlXhHGv.js.br +0 -0
  59. package/dist/client/assets/celebration-player-BV_GJUKl.js.br +0 -0
  60. package/dist/client/assets/dialogs-d151Audo.js.br +0 -0
  61. package/dist/client/assets/doc-editor-ui-Du6nJGIm.js.br +0 -0
  62. package/dist/client/assets/first-run-checklist-D_a7Qoqh.js.br +0 -0
  63. package/dist/client/assets/hooks-panel-DN16aMgB.js.br +0 -0
  64. package/dist/client/assets/index-CFgGsY9k.css +0 -2
  65. package/dist/client/assets/index-CFgGsY9k.css.br +0 -0
  66. package/dist/client/assets/index-RCLTDjng.js.br +0 -0
  67. package/dist/client/assets/issues-panel-C1QPwxCn.js.br +0 -0
  68. package/dist/client/assets/nyan-cat-B_n_EfVU.js.br +0 -0
  69. package/dist/client/assets/phone-shell-B4AxrgMb.js.br +0 -0
  70. package/dist/client/assets/plan-face-BR7cZDnd.js.br +0 -0
  71. package/dist/client/assets/plan-render-sDj7Q2xf.js.br +0 -0
  72. package/dist/client/assets/pr-scope-tabs-CEoZ8gsu.js.br +0 -0
  73. package/dist/client/assets/radar-panel-53G-Lvqb.js.br +0 -0
  74. package/dist/client/assets/resume-dialog-DTN7BD6i.js.br +0 -0
  75. package/dist/client/assets/review-queue-panel-1YK_r8cJ.js +0 -10
  76. package/dist/client/assets/review-queue-panel-1YK_r8cJ.js.br +0 -0
  77. package/dist/client/assets/review-queue-panel-Dfky79CM.css +0 -1
  78. package/dist/client/assets/review-queue-panel-Dfky79CM.css.br +0 -0
  79. package/dist/client/assets/settings-panel-CnGAIi42.js.br +0 -0
  80. package/dist/client/assets/shown-lightbox-CRje8MBA.js.br +0 -0
  81. package/dist/client/assets/trace-panel-8sP1KvjA.js.br +0 -0
  82. package/dist/client/assets/usage-panel-DGXsQr_W.js.br +0 -0
  83. package/dist/client/assets/visions-panel-x4UaVr_9.js.br +0 -0
@@ -1,10 +0,0 @@
1
- import{Bt as e,Ft as t,It as n,Rt as r,Vt as i,b as a,n as o,x as s}from"./updates-view-core-BYoMfzXj.js";import{a as c,c as l,d as u,i as d,o as f,u as p}from"./dom-helpers-C7P3_59O.js";import{r as m,u as h}from"./control-ws-DUGWJI0x.js";import{i as ee}from"./modal-Bh-cVr-I.js";import{$ as te,At as ne,Bt as g,Ct as _,Er as v,Et as y,Ft as b,Gr as x,Ii as re,It as ie,Kn as ae,Lr as S,Lt as C,Mt as w,Nt as T,Ot as oe,Pt as se,Q as ce,Rt as le,St as ue,Wr as de,Yn as fe,_ as pe,_t as me,at as he,bt as ge,ct as _e,dt as ve,en as ye,et as be,ft as xe,gt as Se,ht as Ce,it as we,jt as Te,kt as E,lt as Ee,m as De,mn as Oe,mt as ke,nt as Ae,ot as je,p as Me,pn as Ne,pt as Pe,rt as Fe,st as Ie,tn as Le,tt as Re,ut as ze,vt as Be,wt as Ve,xt as He,yt as Ue,zt as We}from"./index-RCLTDjng.js";import{a as Ge,c as Ke,d as qe,l as Je,n as Ye,o as Xe,s as Ze,t as Qe,u as $e}from"./pr-scope-tabs-CEoZ8gsu.js";var et=`> [!NOTE]
2
- > Automated review. Not written by a human.`,tt=`> [!NOTE]
3
- > Automated review by [Glimmervoid](https://glimmervoid.dev). Not written by a human.`,nt=`> [!NOTE]
4
- > Automated review by [Glimmervoid](https://glimmervoid.dev), not written by a human. Approved by hand after checking it.`,rt=n.options.join(`|`),it=String.raw`\*\*(?:\[([^\]\n]+)\]\s+)?(${rt})\*\*`;function at(e){return[...e.matchAll(new RegExp(it,`g`))].flatMap(e=>{let t=n.safeParse(e[2]);return t.success?[t.data]:[]})}function ot(e){let t=new RegExp(String.raw`^${it}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let r=n.safeParse(t[2]);return r.success?{reviewer:t[1]??null,severity:r.data,length:t[0].length}:null}function st(e){let t=e.trimStart(),n=[et,tt,nt].find(e=>t.startsWith(e));return n?t.slice(n.length).trim():e.trim()}var ct=`(line not in the diff)`,lt=String.raw`- ${it}`,ut=String.raw`\*\*\x60([^\x60\n]+)\x60\*\* ${ct.replace(/[()]/g,`\\$&`)}`,dt=new RegExp(String.raw`^(?:${lt}|${ut})`,`gm`),ft=new RegExp(String.raw`^${lt}\s*(?:\x60([^\x60\n]+)\x60:\s*)?`),pt=new RegExp(String.raw`^${ut}\s*`);function mt(e){return n.options.find(t=>e.includes(t))??null}function ht(e){let t=ft.exec(e);if(t)return{severity:n.parse(t[2]),location:t[3]??null,body:e.slice(t[0].length).trim(),markdown:e};let r=pt.exec(e),i=r?e.slice(r[0].length).trim():e;return{severity:mt(at(i)),location:r?.[1]??null,body:i,markdown:e}}function gt(e){let t=st(e),n=t.search(dt);return(n===-1?t:t.slice(0,n)).trim()}function _t(e){let t=st(e),n=[...t.matchAll(dt)].map(e=>e.index);return n.map((e,r)=>t.slice(e,n[r+1]).trim()).filter(Boolean).map(ht)}var vt={"direct-request":`Needs you`,"team-request":`Ready`,"changes-requested":`Author to fix`,"checks-failing":`Checks failing`,"checks-pending":`Checks running`,draft:`Draft`,"review-available":`Ready`,approved:`Approved`},yt={APPROVE:{label:`You approved`,tone:`ok`,icon:`passed`},COMMENT:{label:`You commented`,tone:`muted`,icon:`thread`},REQUEST_CHANGES:{label:`You requested changes`,tone:`wait`,icon:`changes-requested`}},bt={APPROVED:{label:`You approved`,tone:`ok`,icon:`passed`},CHANGES_REQUESTED:{label:`You requested changes`,tone:`wait`,icon:`changes-requested`},COMMENTED:{label:`You commented`,tone:`muted`,icon:`thread`}};function xt(e){let t=(e.githubReviews??[]).filter(e=>e.isViewer).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!e.postedEvent)return t?bt[t.state]:null;if(!t)return yt[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?yt[e.postedEvent]:bt[t.state]}var St={"changes-requested":`changes-requested`,"checks-failing":`failed`,"checks-pending":`running`,draft:`draft`};function Ct(e){let{reason:t}=Te(e),n=St[t];return n?{text:vt[t],icon:n}:null}function wt(e){return Ct(e)?.text??null}var Tt={discarded:{tone:`muted`,icon:`discarded`,meaning:`Not mine`}};function Et(e,t){let n=wt(t);return n?`${e}, ${n}`:e}function Dt(t){if(e(t))return!0;let n=(t.githubReviews??[]).filter(e=>e.isViewer);return n.length===0||n.some(e=>e.commit===w(t))}var Ot={tone:`warn`,icon:`your-turn`,meaning:`Comments resolved`};function kt(e,t){if(e.prStage)return{tone:g(e.prStage),icon:le(e.prStage),meaning:We(e.prStage)};let n=Tt[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,icon:`running`,meaning:Et(`In review`,e)};if(t===`queued`)return{tone:`muted`,icon:`queued`,meaning:Et(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=Dt(e)?xt(e):null;return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`ok`,icon:`passed`,meaning:`Others reviewed`}}if(t===`posted`&&`reviewedHead`in e){let t=xt(e);return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`muted`,icon:`none`,meaning:`Posted`}}if(t===`attention`&&`status`in e)return e.status===`error`?{tone:`danger`,icon:`failed`,meaning:`Review failed`}:{tone:`warn`,icon:`stale`,meaning:`Out of date`};let r=Ct(e);return r?{tone:`wait`,icon:r.icon,meaning:r.text}:t===`ready`&&`reviewedHead`in e&&b(e)?Ot:{tone:`warn`,icon:`your-turn`,meaning:`Waits on you`}}function At(e){return!e||e.total===0?null:e.total===1?e.resolved===1?`Your 1 comment resolved`:`Your 1 comment unresolved`:e.resolved===e.total?`All ${e.total} of your comments resolved`:`${e.resolved} of ${e.total} of your comments resolved`}function jt(e){return`${e} ${e===1?`comment`:`comments`}`}function Mt(e,t,n){let r=[`${C(e.repo,e.number)}: ${e.title}`],a=`reviewedHead`in e?e.assessment?.goal.trim():``;if(a&&r.push(a),r.push(kt(e,t).meaning),n.opened&&r.push(`Opened ${n.opened}`),n.reviewed&&r.push(`Reviewed ${n.reviewed}`),n.posted&&r.push(`Posted ${n.posted}`),!(`reviewedHead`in e))return r.join(`
5
- `);let o=At(e.viewerThreads);o&&r.push(o);let s=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${Ut(e.verdict)}, ${jt(s)}`);let c=en(e);c&&r.push(`You ${Gt[c.state]} at ${i(c.approvedCommit)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(Rn(e));let l=an(e,{isViewerShown:t!==`posted`});for(let[e,t]of l.entries())r.push(rn(t.text,n.githubReviews?.[e]??null));return r.join(`
6
- `)}function Nt(e){let t=e.trim();return t.endsWith(`.`)?t:`${t}.`}var Pt=new Set([`approve`,`approve-only`,`comment`,`request-changes`]);function Ft({action:e,outcomeText:t,pullRequest:n,warning:r,isActedSelected:i}){return r.trim()?{statusText:`${Nt(t)} ${Nt(r)}`,tone:`error`,shouldAdvance:!1,receipt:null}:{statusText:t,tone:`ok`,shouldAdvance:i,receipt:i&&Pt.has(e)?`Posted to ${n}: ${Nt(t)}`:null}}function It(e,t,n){return n?C(e,t):`#${t}`}var Lt={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},Rt={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},zt=`lanes-team-review`,Bt=`team-review-enabled`,Vt=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),Ht={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function Ut(e){return Ht[e]}var Wt=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`}),Gt=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),Kt=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),qt=Object.freeze({approve:`Approved on GitHub`,"approve-only":`Approved on GitHub`,comment:`Comment posted on GitHub`,"request-changes":`Changes requested on GitHub`,discard:`Marked not mine. Not reviewed again until you re-run it.`,requeue:`Queued. The review starts as soon as a slot is free.`,"resolve-thread":`Thread resolved on GitHub`}),Jt=Object.freeze({approve:`Posting the approval`,"approve-only":`Posting the approval`,comment:`Posting the comment`,"request-changes":`Requesting changes`,discard:`Marking not mine`,requeue:`Queueing the review`,"resolve-thread":`Resolving thread`});function Yt(e,t){if(e.isNit)return{label:`Automatic resolution failed`,reason:``,tone:`warn`};let n=e.judgement?.head===t&&e.judgement.lastReplyAt===e.lastReplyAt?e.judgement:void 0;if(n)return{label:n.addressed?`Addressed`:`Not addressed`,reason:n.reason,tone:n.addressed?`ok`:`warn`};let r=e.unjudgeable?.head===t&&e.unjudgeable.lastReplyAt===e.lastReplyAt?e.unjudgeable:void 0;return r?{label:`Auto-check skipped`,reason:r.reason,tone:`muted`}:{label:`Auto-check pending`,reason:``,tone:`muted`}}function Xt(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>{let n=Yt(t,w(e));return{thread:t,location:t.line===null?t.path:`${t.path}:${t.line}`,judgementLabel:n.label,judgementReason:n.reason,judgementTone:n.tone,judgementText:n.reason?`${n.label}: ${n.reason}`:n.label,canResolve:t.viewerCanResolve}})}var Zt=40;function Qt(e,t){return e.split(`
7
- `).reduce((e,t)=>e+Math.max(1,Math.ceil(t.length/Zt)),0)>t}function $t(e,t){let n=Gt[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function en(n){if(e(n))return null;let r=(n.githubReviews??[]).filter(e=>e.isViewer&&t.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!r?.commit||r.commit===w(n)||r.state===`COMMENTED`)return null;let i=Date.parse(r.submittedAt??``);return n.reviewedAt!==void 0&&i>n.reviewedAt?null:{approvedCommit:r.commit,submittedAt:r.submittedAt,state:r.state,isReviewScopeSinceDecision:n.priorReviewedHead===r.commit}}function tn(e,t){let n=e.state===`APPROVED`?`approved this`:`requested changes`,r=e.state===`APPROVED`?`your approval`:`your request for changes`,a=`You ${n} at ${i(e.approvedCommit)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${a}, so this review covers what changed after ${r}.`:`${a}.`}function nn(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function rn(e,t){return t?`${e}, ${t}`:e}function an(e,{isViewerShown:t=!0}={}){return(e.githubReviews??[]).filter(e=>t||!e.isViewer).sort((e,t)=>Number(t.isViewer)-Number(e.isViewer)).map(t=>({login:t.login,tone:nn(t.state),text:$t(t,w(e)),submittedAt:t.submittedAt}))}function on(e){return Lt[e]}function sn(e){return Rt[e]}function cn(e){let t=at(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function ln(e){return mt(cn(e))}function un(e){return e!==`LOW`}function dn(e){return un(ln(e))}var fn=new Set(`ts.tsx.js.jsx.mjs.cjs.json.jsonc.css.scss.less.html.md.mdx.py.go.rs.rb.java.kt.kts.swift.c.h.cc.cpp.hpp.cs.php.sh.bash.zsh.yml.yaml.toml.ini.sql.vue.svelte.astro.lock.txt.ex.exs.erl.scala.dart.lua.tf.proto.graphql.gql.xml.gradle`.split(`.`)),pn=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function mn(e){let t=pn.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:fn.has(n.slice(r+1).toLowerCase())}var hn=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function gn(e){let t=[],n=0;for(let r of e.matchAll(/`([^`\n]+)`/g)){let i=r.index??0;i>n&&t.push({text:e.slice(n,i),kind:`text`});let a=r[1]??``;t.push({text:a,kind:mn(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function _n(e){return e.split(/\r?\n\s*\r?\n/).filter(Boolean).map(e=>{let t=e.match(/^(Suggested fix:|Fix:|Open question[.,:])\s*/),n=t?.[1]??``;return{kind:`prose`,lead:n,leadKind:n.startsWith(`Open question`)?`question`:n?`fix`:null,segments:gn(e.slice(t?.[0].length??0))}})}function vn(e){let t=st(e),n=ot(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(hn)){let t=e.index??0;i.push(..._n(r.slice(a,t).trim()));let n=(e[1]??``).trim().split(/\s+/)[0]||null;i.push({kind:`code`,language:n,code:(e[2]??``).replace(/\r?\n$/,``)}),a=t+e[0].length}return i.push(..._n(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function yn(e){let t=e.find(e=>e.kind===`prose`);if(!t)return`Open comment`;let n=`${t.lead} ${t.segments.map(e=>e.text).join(``)}`.trim(),r=n.search(/[.!?](?=\s|$)/);return(r<0?n:n.slice(0,r+1))||`Open comment`}function bn(e){let t=[`Fetch the diff`,`Check out the head`,`Review`,`Draft ready`],n={preparing:0,checkout:1,reviewing:2}[e];return t.map((e,t)=>({label:e,state:t<n?`done`:t===n?`active`:`todo`}))}function xn(e){return e===`full`?`full`:`light`}function Sn(e){return e.priorReviewedHead?`${xn(e.tier)} review of changes since ${i(e.priorReviewedHead)}`:`${xn(e.tier)} review`}function Cn(e){return e.reasons.join(`, `)}function wn(e){if(!e)return[];let t=[],n=e.goal.trim(),r=e.change.trim();return n&&t.push({kind:`goal`,text:n}),r&&t.push({kind:`change`,text:r}),t}var Tn=`This review ran before plain summaries existed, so only its verdict and findings remain. Re-run review to get a plain summary.`,En=new Set([`error`,`stale`,`discarded`,`posted`]);function Dn(e){return En.has(e)}function On(e){return e.liveHead&&e.liveHead!==e.reviewedHead?e.liveHead:null}function kn(e){let t=On(e);return t?`Reviewed at ${i(e.reviewedHead)}. The pull request is now at ${i(t)}.`:null}function An(e){let t=On(e);return t?`https://github.com/${e.repo}/compare/${e.reviewedHead}...${t}`:null}function jn(e){let t=[`at ${i(e.head)}`,jt(e.comments.length)];return e.wasPosted&&t.push(`posted`),t.join(`, `)}function Mn(e){let t=Nn(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Nn(e){return Vt[e]??String(e).toLowerCase()}function Pn(e){return Wt[e]??`dim`}function Fn(e){return Kt[e]??e}function In(e,t){return`${a(t-e.startedAt)} elapsed`}function Ln(e,t){let n=[In(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${a(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function Rn(e){return e.status===`stale`&&e.earlierReview?`Out of date. New commits landed after this review, so its findings may not match the code any more. Automatic review runs after the configured wait; Re-run review starts it now and hands it these findings.`:e.status===`stale`?`Out of date. New commits landed after this review, so its findings may not match the code any more. Automatic review runs after the configured wait; Re-run review starts it now.`:e.status===`discarded`?`Marked not mine. Not reviewed again until you re-run it.`:e.error||e.summary||`The review failed.`}function zn(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function Bn(e){return zn(e.path,e)}function Vn(e){return zn(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function Hn(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function Un(e){return{key:e,action:`discard`,body:``,comments:[]}}function D(e,t,n,r,i){return t===`approve-only`?{key:e.key,head:e.reviewedHead,action:t,body:``,comments:[]}:{key:e.key,head:e.reviewedHead,action:t,body:n,...i?{threadId:i}:{},comments:r.map(({path:e,line:t,side:n,body:r})=>({path:e,line:t,side:n,body:r}))}}function Wn(e){return e.note.trim()!==``||e.comments.length>0||e.generalFindings.length>0}function Gn(e,t,n){return t===`approve`&&!Wn(n)?D(e,`approve-only`,``,[]):D(e,t,Hn(n.note,[et,gt(e.body),...n.generalFindings.map(e=>e.markdown)].filter(Boolean).join(`
8
-
9
- `)),n.comments)}function Kn(e){let t=e.comments.length+e.generalFindings.length;return[e.note.trim()?`your note`:``,t?`${t} ${t===1?`finding`:`findings`}`:``].filter(Boolean).join(` and `)}function qn(e){return`${e} inline ${e===1?`comment`:`comments`}`}function Jn(e,t,n){let r=O(n);return Wn(t)?{event:r,detail:`${[t.note.trim()?`your note`:`no note`,...t.comments.length>0?[qn(t.comments.length)]:[],...t.generalFindings.length>0?[`${t.generalFindings.length} in the review body`]:[]].join(`, `)}, at ${i(e.reviewedHead)}.`}:{event:r,detail:or(n)?`Needs a ticked finding or a note.`:`A bare approval at ${i(e.reviewedHead)}, with no note or comments.`}}function Yn(e,t){let n=Kn(t);return e===`approve`&&n?`Approved on GitHub with ${n}`:e===`comment`&&n?`Commented on GitHub with ${n}`:e===`request-changes`&&n?`Requested changes on GitHub with ${n}`:cr(e)}var Xn=Object.freeze({approve:`Approve`,"approve-only":`Approve`,comment:`Comment`,"request-changes":`Request changes`,discard:`Not mine`,requeue:`Re-run review`,"resolve-thread":`Resolve`});function O(e){return Xn[e]}var Zn=new Set([`REQUEST CHANGES`,`BLOCKED`]);function Qn(e){return Zn.has(e)?[`request-changes`,`approve`,`comment`]:[`approve`,`comment`,`request-changes`]}function $n(e){return Zn.has(e)?`request-changes`:`approve`}function er(e,t){return`${O(e)} selected. ${t} posts, Esc cancels.`}function tr(e){return`Agent recommends: ${O($n(e)).toLowerCase()}`}var nr=` · `;function rr(e){let t=`Agent: ${O($n(e.verdict)).toLowerCase()}`,n=[...e.comments.filter(dn).map(ln),..._t(e.body).map(e=>e.severity).filter(un)];if(n.length===0)return`${t}${nr}no findings`;let r=mt(n.flatMap(e=>e?[e]:[])),i=`${n.length} ${n.length===1?`finding`:`findings`}`;return`${t}${nr}${r?`${i}, top ${r.toLowerCase()}`:i}`}var ir=Object.freeze({SUCCESS:`Passing`,FAILURE:`Failing`,ERROR:`Failing`,PENDING:`Running`,EXPECTED:`Running`});function ar(e){return e?ir[e]:`None reported`}function or(e){return e===`comment`||e===`request-changes`}function sr(e){return e.status===`ready`?{primary:Qn(e.verdict),secondary:[`requeue`,`discard`]}:r(e)?{primary:[`approve-only`],secondary:[`requeue`]}:e.status===`error`||e.status===`stale`?{primary:[`requeue`],secondary:[`discard`]}:Dn(e.status)?{primary:[`requeue`],secondary:[]}:{primary:[],secondary:[]}}function k(e){return Jt[e]}function cr(e){return qt[e]}function lr(e){return e===0?`Picked for review. It starts on the next poll.`:`Waiting for a free review slot. It starts as soon as ${e===1?`the review`:`one of the ${e} reviews`} in progress finishes.`}function ur(e){return e?e.configured?e.error?`Review drafts will show here once GitHub answers.`:`No review drafts yet. New teammate pull requests show up here after the next poll.`:e.reason?`Team review is not running: ${e.reason}.`:`Team review is off.`:`Waiting for the team review lane.`}function dr(e){return e?.configured&&e.reason||null}function fr(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${an(e).map(e=>e.text).join(`, `)}`}function pr(e){return`reviewedHead`in e?JSON.stringify([e.prCreatedAt,e.reviewedAt,e.postedAt,e.githubReviews,e.liveHead,e.priorReviewedHead,e.viewerThreads]):JSON.stringify([e.prCreatedAt,e.priorReviewedHead])}var mr=12e4,hr=`The server did not answer within ${mr/1e3} s. Check GitHub before trying again.`,gr=`${o} Check GitHub before trying again.`,_r=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,vr=`GitHub review`,yr=Object.freeze({"pick-approve":`approve`,"pick-request-changes":`request-changes`,"pick-comment":`comment`}),A=E(),j=null,br=null,M=null,N=null,P=null,F=null,I=null,L=null,xr=null,Sr=null,R=new Map,Cr=Me(()=>j),wr=Me(()=>j),z=Me(()=>j),Tr=new WeakMap,B=new Map,V=new Map,H=new Map;function Er(e){let t=on(e),n=f(`span`,`pr-severity-meter`);if(n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,`${e.toLowerCase()} severity`),n.style.color=`var(${t.colorToken})`,e===`CRITICAL`){let e=de(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(x(`path`,{d:_r,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=de(9,11),i=e<t.filledCount;r.append(x(`path`,{d:_r,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function Dr({verdict:e}){let t=f(`span`,`pr-verdict-seal`);t.dataset.tone=Pn(e);let n=de(20,20),r=sn(e);return n.append(x(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:r===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),r===`check`&&n.append(x(`path`,{d:`M6 10.5L8.7 13L14 7.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r===`dot`&&n.append(x(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),r===`bar`&&n.append(x(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),r===`cross`&&n.append(x(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),t.append(n,f(`span`,null,Mn(e))),t}function Or(){let e=de(16,16);return e.append(x(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(x(`path`,{d:`M6 6.2C6 4.9 7 4.2 8 4.2C9.1 4.2 10 5 10 6C10 7.4 8 7.4 8 9.2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`})),e.append(x(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function kr(e){return l(`pr-link`,C(e.repo,e.number),e.url)}function Ar(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function U(e,t){let n=Ar(t);if(n===null)return null;let r=f(`span`,null,`${e}${e?` `:``}${De(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function W(e){let t=Tr.get(e);t&&(e.title=`${t()}${e.dataset.unseen?`
10
- New ready review`:``}`,e.setAttribute(`aria-label`,e.title))}function jr(){z.reset(),Mr(j)}Oe(jr);function Mr(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`))Tr.has(t)&&(W(t),z.onTick(()=>W(t)));for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=A?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?en(e):null;if(!n)continue;let r=()=>{t.textContent=tn(n,G(n.submittedAt))};r(),z.onTick(r)}for(let t of e.querySelectorAll(`[data-review-title]`)){let e=t.dataset.reviewTitle??``,n=t.dataset.ageAt===void 0?null:Number(t.dataset.ageAt),r=()=>{let r=n===null?null:De(n),i=Ne()?rn(vr,r):rn(e,r);t.title=i,t.setAttribute(`aria-label`,i)};r(),z.onTick(r)}for(let t of e.querySelectorAll(`[data-age-at]`)){if(t.dataset.reviewTitle!==void 0)continue;let e=Number(t.dataset.ageAt),n=t.dataset.ageLabel??``;z.track(t,e,()=>`${n}${n?` `:``}${De(e)}`)}}}function Nr(e,t,n,r=!0){let i=an(e,{isViewerShown:r});if(i.length===0)return null;let a=f(`span`,t),o=i.map(e=>({login:e.login,tone:e.tone,title:rn(Ne()?vr:e.text,G(e.submittedAt))})),s=c(o,n);for(let[e,t]of i.entries()){let n=s.children[e];if(!(n instanceof HTMLElement))continue;n.dataset.reviewTitle=t.text;let r=Ar(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r))}return a.append(s),a}function G(e){let t=Ar(e);return t===null?null:De(t)}function Pr(e,t,n){let r=f(`span`,n);return r.append(d({login:e,cssPx:t}),f(`span`,`pr-author-login`,e)),r}function Fr(e,t){return`${C(e.repo,e.number)}\n${kt(e,t).meaning}`}function Ir(e,t,n){let r=f(`button`,`pr-queue-row pr-queue-row-quiet`);r.type=`button`,r.dataset.reviewKey=e.key;let i=`reviewedHead`in e?en(e):null;Tr.set(r,()=>Ne()?Fr(e,t):Mt(e,t,{opened:G(e.prCreatedAt),reviewed:`reviewedHead`in e?G(e.reviewedAt):null,posted:`reviewedHead`in e?G(e.postedAt):null,viewerApproval:G(i?.submittedAt),githubReviews:`reviewedHead`in e?an(e,{isViewerShown:t!==`posted`}).map(e=>G(e.submittedAt)):[]})),W(r);let a=Rr(e,n);if(t===`inReview`){let t=e,n=f(`span`,`pr-queue-elapsed`);Cr.track(n,t.startedAt,()=>In(t,Date.now())),a.append(n)}if(t===`queued`){let t=U(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),a.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=U(``,t.reviewedAt)??U(``,t.prCreatedAt);n&&(n.classList.add(`pr-queue-elapsed`),a.append(n))}if(t===`discarded`)return r.classList.add(`pr-queue-row-compact`),r.append(a),r;r.classList.remove(`pr-queue-row-quiet`);let o=kt(e,t),s=f(`span`,`pr-queue-glyph`);s.append(v(o.icon,o.tone));let c=f(`span`,`pr-queue-bottom`);if(c.append(Lr(t===`ready`&&`reviewedHead`in e?{tone:o.tone,meaning:rr(e)}:o),Pr(e.author,16,`pr-queue-author`)),e.requestSource===`direct`){let e=f(`span`,`pr-queue-direct`,`@`);e.title=`Requested from you directly`,c.append(e)}t===`inReview`&&c.append(f(`span`,`pr-phase-label`,Fn(e.phase))),r.append(s,a,c);let l=t===`inReview`||t===`queued`?null:Nr(e,`pr-queue-reviewers`,16,t!==`posted`);return l&&c.append(l),r}function Lr(e){let t=f(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function Rr(e,t){let n=f(`span`,`pr-queue-top`);return n.append(f(`strong`,`pr-queue-ref`,It(e.repo,e.number,t)),f(`strong`,`pr-queue-ref-compact`,It(e.repo,e.number,!1)),f(`span`,`pr-queue-title`,e.title)),n}function zr({title:e,detail:t}){let n=f(`section`,`pr-caught-up`);n.setAttribute(`role`,`status`);let r=f(`strong`,`pr-caught-up-title`);return r.append(v(`ready`,`ok`),f(`span`,null,e)),n.append(r,f(`p`,`pr-caught-up-detail`,t)),n}var Br=`Open in session`,Vr=`Preparing the branch and session.`;function Hr(e,t,n){for(let r of document.querySelectorAll(`.pr-session-open-status`)){if(r.dataset.reviewKey!==e)continue;S(r,n,t);let i=r.parentElement?.querySelector(`.pr-session-open-button`);i&&(i.disabled=!1)}}function Ur(e,t){let n=R.get(e);n&&window.clearTimeout(n.timer),R.set(e,{requestId:null,timer:0,text:t,tone:`error`}),Hr(e,t,`error`)}function Wr(e,t,n){if(R.get(e)?.requestId)return;let r=m(`open-team-review-session`);if(!h({type:`open-team-review-session`,requestId:r,key:e})){S(n,`error`,o);return}let i=window.setTimeout(()=>Ur(e,`The server did not answer within ${mr/1e3} s.`),mr);R.set(e,{requestId:r,timer:i,text:Vr,tone:`busy`}),t.disabled=!0,S(n,`busy`,Vr)}function Gr(e){let t=f(`div`,`pr-session-open`),n=f(`button`,`pr-action pr-session-open-button`,Br);n.type=`button`;let r=R.get(e.key);n.disabled=!!r?.requestId;let i=f(`span`,`pr-action-status pr-session-open-status`,r?.text??``);return i.dataset.reviewKey=e.key,r&&S(i,r.tone,r.text),i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`),n.addEventListener(`click`,()=>Wr(e.key,n,i)),t.append(n,i),t}function Kr(e,{hasFactsRail:t=!1}={}){let n=f(`div`,`pr-detail-heading`);n.dataset.signature=pr(e);let r=f(`div`,`pr-detail-title`);r.append(kr(e),f(`h2`,null,e.title));let i=f(`div`,`pr-detail-meta`);i.append(Pr(e.author,20,`pr-detail-author`));let a=f(`span`,null,Sn(e));a.title=Cn(e),i.append(a);let o=U(`Opened`,e.prCreatedAt);if(o&&i.append(o),`reviewedHead`in e){let t=U(`Reviewed`,e.reviewedAt);t&&i.append(t);let n=U(`Posted`,e.postedAt);n&&i.append(n)}let s=`reviewedHead`in e?Nr(e,`pr-detail-github`,20):null;if(s&&i.append(s),n.append(r,i,Gr(e)),`reviewedHead`in e&&!t){let t=At(e.viewerThreads);if(t){let r=f(`p`,`pr-viewer-threads`,t);se(e)&&(r.dataset.state=`all-resolved`),n.append(r)}}let c=`reviewedHead`in e?en(e):null;if(c){let t=f(`p`,`pr-rereview-notice`,tn(c,G(c.submittedAt)));t.dataset.reviewKey=e.key,n.append(t)}return n}function qr(e,t,n={}){let r=e.querySelector(`.pr-detail-heading`);return!r||r.dataset.signature===pr(t)||r.replaceWith(Kr(t,n)),e}function Jr(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}:${e.earlierReview?.head??``}`}function Yr(e,t){for(let n of t){if(n.kind===`text`){e.append(document.createTextNode(n.text));continue}if(n.kind===`code`){e.append(f(`code`,null,n.text));continue}let t=f(`span`,`pr-citation`,n.text);t.title=n.text,e.append(t)}return e}function Xr(e,t){return Yr(e,gn(t))}function Zr(e){let t=f(`ul`,`pr-assessment-list`);for(let n of e)t.append(Xr(f(`li`,null),n));return t}function Qr(e){let t=e.assessment?.handChecks??[];if(t.length===0)return[];let n=f(`section`,`pr-hand-checks`);n.setAttribute(`aria-label`,`Check by hand`),n.append(f(`h3`,`pr-assessment-title`,`Check by hand`));let r=t.map(e=>e.paths.length===0?e.text:`${e.text}: ${e.paths.map(e=>`\`${e}\``).join(`, `)}`);return n.append(Zr(r)),[n]}function $r(e){let t=wn(e.assessment);if(t.length===0)return[];let n=f(`section`,`pr-about-box`);n.setAttribute(`aria-label`,`About this PR`),n.append(f(`h3`,`pr-assessment-title`,`About this PR`));for(let e of t){let t=e.kind===`goal`?`pr-verdict-summary pr-about-goal`:`pr-verdict-summary`;n.append(Xr(f(`p`,t),e.text))}return[n]}function ei(e){let t=f(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=f(`div`,`pr-verdict-line`);n.append(Dr(e),f(`strong`,`pr-verdict-recommendation`,tr(e.verdict))),t.append(n);let{assessment:r}=e;if(!r)return t.append(f(`p`,`pr-verdict-legacy`,Tn)),e.summary.trim()&&t.append(Xr(f(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t;if(t.append(Xr(f(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),r.gaps.length>0){let e=Zr(r.gaps);e.classList.add(`pr-verdict-gaps`),e.setAttribute(`aria-label`,`Not covered`),t.append(e)}if(r.checked.length===0)return t;let i=f(`details`,`pr-verdict-checked`);return i.append(f(`summary`,null,`What it checked (${r.checked.length})`),Zr(r.checked)),t.append(i),t}function ti(e){if(e.kind===`code`){let t=f(`pre`,`pr-comment-code`),n=f(`code`,null);return n.textContent=e.code,t.append(n),t}let t=f(`p`,`pr-comment-paragraph`);if(e.lead){let n=f(`strong`,`pr-comment-lead pr-comment-lead-${e.leadKind}`);e.leadKind===`question`&&n.append(Or()),n.append(e.lead),t.append(n,` `)}return Yr(t,e.segments)}function ni(e){return{body:e.body,severity:ln(e),location:Vn(e),locationTitle:Bn(e),...e.excerpt?{excerpt:e.excerpt,citedLine:e.line}:{}}}var ri=Object.freeze({add:`+`,del:`-`,context:` `});function ii(e,t){let n=f(`div`,`pr-diff-excerpt`);for(let r of e){let e=f(`div`,`review-line review-line-${r.kind}`);r.line!==null&&r.line===t&&(e.dataset.cited=`true`),e.append(f(`span`,`pr-diff-excerpt-number`,r.line===null?``:String(r.line)),f(`span`,`review-line-gutter`,ri[r.kind]),f(`span`,`review-line-text`,r.text)),n.append(e)}return n}function ai(e){let t=e.location??`Not on a changed line, posts in the review body`;return{body:e.body,severity:e.severity,location:e.location?.split(`/`).at(-1)??`general`,locationTitle:t}}function oi({body:e,severity:t,location:n,locationTitle:r,excerpt:i,citedLine:a}){let o=f(`details`,`pr-comment-content`),s=f(`summary`,`pr-comment-header`),c=vn(e);t&&s.append(Er(t));let l=f(`span`,`pr-comment-location`,n);l.title=r,s.append(l),s.append(f(`span`,`pr-comment-preview`,yn(c.paragraphs))),o.append(s);let u=f(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)u.append(ti(e));return o.append(u),i&&i.length>0&&o.append(ii(i,a)),o.open=t===`HIGH`||t===`CRITICAL`,o}function si(e,t){let n=f(`details`,`pr-disclosure pr-earlier-review`),r=f(`summary`,`pr-disclosure-summary`);r.append(f(`span`,`pr-disclosure-label`,`Earlier review`),f(`span`,`pr-disclosure-preview`,jn(e)));let i=f(`div`,`pr-earlier-review-body`),a=f(`div`,`pr-verdict-line`);a.append(Dr(e)),i.append(a),e.summary.trim()&&i.append(Xr(f(`p`,`pr-verdict-summary`),e.summary));for(let t of e.comments){let e=f(`article`,`pr-comment-card pr-comment-card-readonly`);e.append(oi(ni(t))),i.append(e)}return n.append(r,i),n.open=t,n}function ci(e){let t=kn(e);if(!t)return[];let n=f(`p`,`pr-changed-since`,t);return n.append(` `,l(`pr-changed-since-link`,`Compare changes`,An(e),`Open the commits since this review on GitHub`)),[n]}function li(e){let t=A?.drafts.find(t=>t.key===e.key)?.earlierReview??null;if(!t)return L=null,[];if(L?.key===e.key&&L.head===t.head)return[L.element];let n=si(t,!1);return L={key:e.key,head:t.head,element:n},[n]}function ui(e,t){let n=f(`button`,`pr-post-choice`,e);return n.type=`button`,n.addEventListener(`click`,t),n}function di(e,t,n,r){let i=f(`article`,`pr-comment-card`),a=f(`div`,`pr-post-toggle`);a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,`Post or drop the finding on ${e.locationTitle}`);let o=()=>{let e=t.has(n);c.setAttribute(`aria-pressed`,String(e)),l.setAttribute(`aria-pressed`,String(!e)),i.dataset.included=String(e)},s=e=>{e&&t.add(n),e||t.delete(n),o(),r()},c=ui(`Post`,()=>s(!0)),l=ui(`Drop`,()=>s(!1));return a.append(c,l),o(),i.append(a,oi(e)),i}var fi=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function pi(e,t,n,r,i=cr(n.action)){let a=xr?.captureTurnOrder()??[];P=null;let o=m(`team-review-action`);if(!h({type:`team-review-action`,requestId:o,...n}))return!1;let s=window.setTimeout(()=>{H.delete(t.key),r(!1,hr)},mr);return H.set(t.key,{requestId:o,action:n.action,outcomeText:i,origin:e,capturedOrder:a,pullRequest:C(t.repo,t.number),timer:s,settle:r}),!0}function mi(e){let t=f(`footer`,`pr-footer`),n=hi(`discard`,()=>{H.has(e.key)||(n.disabled=!0,S(i,`busy`,k(`discard`)),!pi(`other`,e,Un(e.key),a)&&a(!1,o))}),r=H.has(e.key);n.disabled=r;let i=f(`span`,`pr-action-status`);r&&S(i,`busy`,k(`discard`)),i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`);let a=(e,t,r=e?`ok`:`error`)=>{n.disabled=e,S(i,r,t)};return t.append(n,i),t}function hi(e,t,n=!1){let r=f(`button`,n?`pr-action pr-action-ghost`:`pr-action`,O(e));return r.type=`button`,r.dataset.action=e,r.addEventListener(`click`,()=>t(e)),r}function gi(e,t,n=``){let r=sr(e),i=f(`footer`,`pr-footer pr-decision-bar`),a=f(`span`,`pr-action-status`,n);a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`);let o=r.primary.map(e=>hi(e,t)),s=r.secondary.map(e=>hi(e,t,!0));return i.append(...o,f(`span`,`pr-decision-spacer`),...s,a),{footer:i,status:a,buttons:[...o,...s]}}var _i=0;function vi(e){let t=f(`section`,`pr-note`);_i+=1;let n=f(`textarea`,`pr-body-input pr-note-input`);n.id=`pr-note-${_i}`,n.rows=2,n.spellcheck=!0,n.placeholder=`Optional. Posts at the top of the review, above the automated-review label.`,n.addEventListener(`input`,e);let r=f(`label`,`pr-section-heading`,`Your note`);return r.htmlFor=n.id,t.append(r,n),{section:t,input:n}}function yi(e,...t){let n=f(`div`,`pr-fact`),r=f(`dd`,null);return r.append(...t),n.append(f(`dt`,null,e),r),n}function bi(e){return JSON.stringify([e.checksState,e.viewerThreads,e.liveHead])}function xi(e){let t=f(`section`,`pr-desk-facts`);t.setAttribute(`aria-label`,`This PR`),t.dataset.signature=bi(e);let n=f(`dl`,`pr-fact-list`),r=An(e),i=r?[kn(e)??``,` `,l(`pr-changed-since-link`,`Compare changes`,r,`Open the commits since this review on GitHub`)]:[`No new commits`];return n.append(yi(`Checks`,ar(e.checksState)),yi(`Threads`,At(e.viewerThreads)??`None of yours`),yi(`Since review`,...i)),t.append(f(`h3`,`pr-assessment-title`,`This PR`),n),t}function Si(e,t){let n=e.querySelector(`.pr-desk-facts`);n&&n.dataset.signature!==bi(t)&&n.replaceWith(xi(t))}function Ci(e){let t=f(`article`,`pr-detail pr-desk`),n=f(`div`,`pr-desk-column`),r=f(`aside`,`pr-desk-rail`);r.setAttribute(`aria-label`,`Decision`);let i=f(`div`);i.dataset.reviewThreads=``,n.append(Kr(e,{hasFactsRail:!0}),...$r(e)),e.earlierReview&&n.append(si(e.earlierReview,!1)),n.append(i,ei(e),...Qr(e));let a=_t(e.body),s=new Set(e.comments.flatMap((e,t)=>dn(e)?[t]:[])),c=new Set(a.flatMap((e,t)=>un(e.severity)?[t]:[])),l=e.comments.length+a.length,u=f(`section`,`pr-posts`);u.setAttribute(`aria-label`,`Findings`);let d=f(`div`,`pr-posts-heading`),p=f(`span`,null);d.append(f(`h3`,null,`Findings`),p),u.append(d);let m=vi(me),h=f(`section`,`pr-will-post`);h.setAttribute(`aria-label`,`Will post to GitHub`);let ee=f(`strong`,`pr-will-post-event`),te=f(`p`,`pr-will-post-detail`);te.setAttribute(`aria-live`,`polite`),h.append(f(`h3`,`pr-assessment-title`,`Will post to GitHub`),ee,te,m.section),r.append(h,xi(e));let ne=()=>({note:m.input.value,comments:e.comments.filter((e,t)=>s.has(t)),generalFindings:a.filter((e,t)=>c.has(t))}),g=!1,_=!1,v=[],y=-1,b=null,x=gi(e,t=>{if(H.has(e.key))return;_=!1,b=null,T();let n=ne(),r=t===`approve`||t===`comment`||t===`request-changes`?Gn(e,t,n):D(e,t,``,[]);C(!0),S(x.status,`busy`,k(r.action)),!pi(`ready`,e,r,he,Yn(r.action,n))&&he(!1,o)});function ie(){let e=Wn(ne());for(let t of x.buttons)t.disabled=g||or(t.dataset.action)&&!e;t.dataset.busy=String(g)}function C(e){g=e,ie()}function w(){let t=ne();p.textContent=`${t.comments.length+t.generalFindings.length} of ${l} will post. Low severity starts unticked.`;let n=Jn(e,t,$n(e.verdict));ee.textContent=n.event,te.textContent=n.detail,ie()}function T(){for(let e of x.buttons)e.dataset.picked=String(e.dataset.action===b)}function oe(){let e=v[y];for(let[e,t]of v.entries())t.dataset.current=String(e===y);e.querySelector(`.pr-post-choice[aria-pressed="true"]`)?.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`})}function se(e){return v.length!==0&&(y=Math.min(v.length-1,Math.max(0,y+e)),oe(),!0)}function ce(){if(y===-1&&!se(1))return!1;let e=v[y],t=e.dataset.included===`true`?`Drop`:`Post`;return[...e.querySelectorAll(`.pr-post-choice`)].find(e=>e.textContent===t)?.click(),oe(),!0}function le(e){return!g&&(_=!1,b=e,T(),m.input.focus(),S(x.status,`ok`,er(e,re(ae))),!0)}function ue(){let t=b??(document.activeElement===m.input?$n(e.verdict):null),n=x.buttons.find(e=>e.dataset.action===t);return!t||!n?!1:g||H.has(e.key)?!0:n.disabled?(S(x.status,`error`,Jn(e,ne(),t).detail),!0):(n.click(),!0)}function de(){return b?(b=null,T(),S(x.status,null,``),!0):!1}function fe(e){let t=yr[e];return t?le(t):e===`next-finding`?se(1):e===`previous-finding`?se(-1):e===`toggle-finding`?ce():e===`post`?ue():e===`cancel`&&de()}function pe(){_&&(_=!1,S(x.status,null,``))}function me(){pe(),w()}let he=(e,t,n=e?`ok`:`error`)=>{C(e),S(x.status,n,t)},ge=(t,n=`ok`)=>{H.has(e.key)||(_=!0,S(x.status,n,t))};for(let[t,n]of e.comments.entries())v.push(di(ni(n),s,t,me));for(let[e,t]of a.entries())v.push(di(ai(t),c,e,me));return u.append(...v),l>0&&n.append(u),t.append(n,r,x.footer),Di(t,e),w(),{signature:fr(e),element:t,settle:he,showReceipt:ge,clearReceipt:pe,runKey:fe}}function wi(e){let t=B.get(e.key);if(t&&(H.has(e.key)||t.signature===fr(e)))return Di(t.element,e),Si(t.element,e),qr(t.element,e,{hasFactsRail:!0}),t;let n=Ci(e);return B.set(e.key,n),n}function Ti(e,t){let n=f(`article`,`pr-detail`),r=f(`div`,`pr-detail-heading`),i=f(`div`,`pr-detail-title`);i.append(kr(e),f(`h2`,null,e.title));let a=f(`div`,`pr-detail-meta`);a.append(Pr(e.author,20,`pr-detail-author`));let o=U(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a,Gr(e)),n.append(r,f(`p`,`pr-attention-detail`,lr(t)),mi(e)),n}function Ei(e){let t=f(`article`,`pr-detail`);t.append(Kr(e));let n=f(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=f(`ol`,`pr-progress-tracker`);for(let t of bn(e.phase)){let e=f(`li`,`pr-progress-stage`);e.dataset.state=t.state,e.append(f(`span`,`pr-progress-bar`),f(`span`,null,t.label)),r.append(e)}let i=f(`div`,`pr-progress-text`);wr.track(i,e.startedAt,()=>Ln(e,Date.now())),n.append(r,i),t.append(n);let a=f(`section`,`pr-steps`);a.append(f(`h3`,null,`Latest agent steps`));let o=f(`ol`,`pr-step-list`);for(let t of e.recentSteps){let n=f(`li`,`pr-step`),r=f(`span`,`pr-step-detail`,t.detail);r.title=t.detail,n.append(f(`span`,`pr-step-at`,s(e.startedAt,t.at)),f(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a,...li(e),mi(e)),t}function Di(e,t){if(H.has(t.key))return;let n=e.querySelector(`[data-review-threads]`),r=JSON.stringify([t.liveHead,t.threads]);n&&n.dataset.reviewThreads!==r&&(n.replaceChildren(...ki(t)),n.dataset.reviewThreads=r)}function Oi(e,t,n,r){let i=f(`div`,t?`pr-thread-message pr-thread-message-muted`:`pr-thread-message`);if(i.append(f(`p`,`pr-thread-body pr-thread-preview`,e)),!n&&!Qt(e,t?3:8))return i;let a=f(`details`,`pr-thread-disclosure`);return a.append(f(`summary`,`pr-thread-expand`,t?`Expand comment`:`Expand reply`),f(`p`,`pr-thread-body`,e)),n&&a.append(l(`pr-link pr-thread-continues`,t?`Comment continues on GitHub`:`Reply continues on GitHub`,r)),i.append(a),i}function ki(e){let t=Xt(e);if(t.length===0)return[];let n=f(`section`,`my-pr-threads-section`);n.append(f(`h3`,`pr-section-heading`,`Answered threads`));let r=f(`div`,`my-pr-threads`);for(let n of t){let t=f(`div`,`my-pr-thread pr-thread-card`),i=f(`div`,`my-pr-thread-heading pr-thread-heading`),a=f(`span`,`pr-thread-chip`,n.judgementLabel);a.dataset.tone=n.judgementTone,i.append(l(`pr-link my-pr-thread-location`,n.location,n.thread.url),a),t.append(i),n.judgementReason&&t.append(f(`p`,`my-pr-thread-meta`,n.judgementReason)),n.thread.viewerComment&&t.append(f(`div`,`my-pr-thread-meta`,`Your comment`),Oi(n.thread.viewerComment,!0,n.thread.viewerCommentTruncated===!0,n.thread.url));let s=f(`div`,`pr-detail-meta pr-thread-reply-meta`);s.append(f(`span`,`pr-author-login`,n.thread.lastReplyAuthor),` replied`);let c=U(``,n.thread.lastReplyAt);c&&s.append(c);let u=f(`span`,`pr-action-status`);u.setAttribute(`role`,`status`);let d=f(`button`,`pr-action`,`Resolve`);d.type=`button`,d.disabled=!n.canResolve||H.has(e.key);let p=(e,t)=>{d.disabled=e||!n.canResolve,S(u,e?`ok`:`error`,t)};d.addEventListener(`click`,()=>{H.has(e.key)||(d.disabled=!0,S(u,`busy`,k(`resolve-thread`)),!pi(`other`,e,D(e,`resolve-thread`,``,[],n.thread.id),p)&&p(!1,o))}),t.append(s),n.thread.lastReplyBody&&t.append(Oi(n.thread.lastReplyBody,!1,n.thread.lastReplyTruncated===!0,n.thread.url));let m=f(`footer`,`pr-thread-footer`);m.append(u,d),t.append(m),n.thread.resolveError&&t.append(f(`p`,`pr-attention-detail`,n.thread.resolveError)),r.append(t)}return n.append(r),[n]}function Ai(e){let t=f(`article`,`pr-detail`);if(t.append(Kr(e),...$r(e)),e.earlierReview&&t.append(si(e.earlierReview,e.status===`stale`)),t.append(...ki(e)),e.status===`posted`&&t.append(ei(e)),e.status!==`posted`&&t.append(f(`p`,`pr-attention-detail`,Rn(e))),e.status===`stale`&&t.append(...ci(e)),!Dn(e.status))return V.set(e.key,{signature:Jr(e),element:t,settle:()=>{}}),t;let n=gi(e,t=>{if(!H.has(e.key)){for(let e of n.buttons)e.disabled=!0;S(n.status,`busy`,k(t)),!pi(`other`,e,D(e,t,``,[]),r)&&r(!1,o)}},sr(e).primary.includes(`approve-only`)?fi:``),r=(e,t)=>{for(let t of n.buttons)t.disabled=e;S(n.status,e?`ok`:`error`,t)};return t.append(n.footer),V.set(e.key,{signature:Jr(e),element:t,settle:r}),t}function ji(e){if(!Dn(e.status)&&Xt(e).length===0)return Ai(e);let t=V.get(e.key);return t&&(H.has(e.key)||t.signature===Jr(e))?qr(t.element,e):Ai(e)}function Mi(e){if(!M||!N)return;let t=F===N?B.get(N):void 0,n=e.ready.find(e=>e.key===N&&e.status===`ready`);if(t&&n&&fr(n)!==t.signature&&(F=null),t&&F){M.firstElementChild!==t.element&&M.replaceChildren(t.element),I=null;return}let r=e.ready.find(e=>e.key===N&&(ne(e).length>0||ie(e)));if(r&&r.status!==`ready`){let e=`threads:${Jr(r)}`,t=ji(r);if(I===e&&M.firstElementChild===t)return;M.replaceChildren(t),I=e;return}let i=[...e.ready,...e.noReviewNeeded].find(e=>e.key===N&&e.status===`ready`);if(i){let e=`ready:${fr(i)}`,t=wi(i);if(P&&t.showReceipt?.(P),P=null,I===e)return;M.replaceChildren(t.element),I=e;return}let a=e.inReview.find(e=>e.key===N);if(a){wr.reset(),M.replaceChildren(Ei(a)),I=`inReview:${a.key}`;return}let o=e.queued.find(e=>e.key===N);if(o){let t=`queued:${o.key}:${e.inReview.length}`;if(I===t)return;M.replaceChildren(Ti(o,e.inReview.length)),I=t;return}let s=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===N);s&&(M.replaceChildren(ji(s)),I=`${s.status}:${s.key}`)}function Ni(){let e=f(`p`,`pr-empty`,ur(A));return A&&!A.configured&&e.append(` `,pe(zt,Bt,`Open Team review settings`)),e}function Pi(){let e=dr(A);return e?[f(`p`,`my-pr-note`,e)]:[]}function Fi(e){for(let t of[...B.keys()])e.has(t)||H.has(t)||t===F||B.delete(t);let t=new Set(A?.drafts.filter(e=>Dn(e.status)).map(e=>e.key)??[]);for(let e of V.keys())t.has(e)||H.has(e)||V.delete(e)}function Ii(){Cr.reset()}function Li(){z.reset(),Mr(j)}function Ri(e=null){P=null,F!==e&&(F=null);for(let e of B.values())e.clearReceipt?.()}function zi(e){if(!M||!N)return!1;if(e===`open-session`){let e=M.querySelector(`.pr-session-open-button`);return!e||e.disabled?!1:(e.click(),!0)}let t=B.get(N);return!t||M.firstElementChild!==t.element?!1:t.runKey?.(e)??!1}function Bi(){let e=P;return P=null,e}function Vi(){Ri(),N=null}function Hi(e,t){t===`clear`&&Ri(e),N=e,Mi(T(A)),Li()}function Ui(e){Fi(new Set([...e.ready,...e.noReviewNeeded].map(e=>e.key)))}function Wi(){let e=T(A);Ui(e),Mi(e),xr?.onChange(),Li()}function Gi(e){switch(e.kind){case`status`:A=E(),Wi();return;case`action-result`:Yi(e.message);return;case`open-session-result`:qi(e.message);return;case`connection`:Ji(e.isConnected)}}function Ki(e,t,n){return Sr=n?.openTerminal??Sr,xr=t,j=e,br||(br=f(`div`,`pr-detail-team`),M=f(`div`,`pr-detail-body`),br.append(M),Cr.ensure(),wr.ensure(),z.ensure(),A=E(),oe(Gi),br)}function qi(e){let t=e.key;if(!t)return;let n=R.get(t);n&&n.requestId===e.requestId&&(!e.ok||!e.sessionId?Ur(t,e.error||`Could not open a session.`):(window.clearTimeout(n.timer),R.delete(t),Hr(t,``,null),Sr?.(e.sessionId)))}function Ji(e){if(e)return;for(let[e,t]of R)t.requestId&&Ur(e,o);let t=[...H.values()];H.clear();for(let e of t)window.clearTimeout(e.timer),e.settle?.(!1,gr)}function Yi(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=H.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),H.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:cr(n.action)),V.delete(t.key),I=null,t.ok===!0&&Wi();return}let r=(n.origin===`ready`?B:V).get(t.key);if(t.ok===!0){n.origin===`other`&&V.delete(t.key);let e=Ft({action:n.action,outcomeText:n.outcomeText,pullRequest:n.pullRequest,warning:typeof t.warning==`string`?t.warning:``,isActedSelected:N===t.key});if((r?.settle??n.settle)?.(!0,e.statusText,e.tone),e.tone===`error`&&n.origin===`ready`&&r&&(F=t.key,N&&N!==t.key&&B.get(N)?.showReceipt?.(`${n.pullRequest}: ${e.statusText}`,`error`),Mi(T(A))),!e.shouldAdvance)return;P=e.receipt,Ui(T(A)),xr?.onAdvance(t.key,n.capturedOrder)}else(r?.settle??n.settle)?.(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}var K=null,Xi=null,q=null,Zi=null,Qi=null,$i=null,ea=null,ta=null,na=null,ra=null,J=[],Y=`all`,X=null,ia,aa=!1,Z=!1,oa=null,sa=!1,ca=null,la=null,ua=0,da=2e3,Q=new Map;function fa(e,t){Re(Be(e))&&(t.querySelector(`.pr-queue-unseen`)?.remove(),delete t.dataset.unseen,e.source===`team`&&W(t))}function pa(e){K&&(K.dataset.detailOpen=String(e)),je(e)}function ma(){pa(!1),X&&Q.get(X)?.focus({preventScroll:!0})}function ha(){Qi&&(Qi.textContent=Ve(J,X))}function ga(e){!q||q.childElementCount===1&&q.firstElementChild===e||q.replaceChildren(e)}function _a(e){let t=_(J).length>0,n=e?`${e} `:``;return zr(t?{title:`New pull requests need you`,detail:`${n}Pick one from the queue.`}:{title:`All caught up`,detail:`${n}${Pe(J)}`})}function va(e){let t=Ue(J,X);ia=t?.key??null,t?t.source===`team`&&ea?(Hi(t.review.key,e),ga(ea)):t.source===`mine`&&ta&&(Vi(),Je(t.pr.key),ga(ta)):(ca=Bi()??ca,Vi(),q&&q.replaceChildren(aa?_a(ca):f(`p`,`pr-empty`,`Pick a pull request from the queue.`)))}function ya(e,{isFromQueue:t}){X=e,aa=!1,ca=null;for(let[t,n]of Q)n.setAttribute(`aria-current`,String(t===e));let n=Ue(J,e),r=Q.get(e);n&&r&&fa(n,r),va(`clear`),ba(),pa(!0),t&&document.documentElement.dataset.layout===`phone`&&q?.parentElement?.scrollIntoView({block:`start`})}function ba(){if(ha(),!Zi)return;let e=xe(J,X);Le(Zi,ze(ve(J)),e)}function xa(e){let t=Ue(J,e);if(!t)return;Ue(Se(J,Y),e)||(Y=`all`,na?.select(Y)),J.find(e=>e.items.includes(t))?.id===`aside`&&(Z=!0),X=e,$(),ya(e,{isFromQueue:!1});let n=Q.get(e);n?.focus({preventScroll:!0}),n?.scrollIntoView({block:`nearest`})}function Sa(e){let t=ue([...Q.keys()],X,e);return t?(t!==X&&xa(t),!0):!1}function Ca(e){return e===`next-row`?Sa(1):e===`previous-row`?Sa(-1):zi(e)}function wa(){return document.activeElement instanceof HTMLTextAreaElement&&document.activeElement.classList.contains(`pr-note-input`)}function Ta(e){if(e.repeat||e.defaultPrevented||!K||p(K)||ee()||document.activeElement?.classList.contains(`xterm-helper-textarea`))return;let t=ge(e);if(!t)return;let n=(t===`post`||t===`cancel`)&&wa();(!u(e)||n)&&Ca(t)&&e.preventDefault()}function Ea(e){window.clearTimeout(ua),la=e,ua=window.setTimeout(()=>{la=null,Q.get(e)?.removeAttribute(`data-just-acted`)},da)}function Da(e,t){let n=`team:${e}`;Ea(n);let r=me({capturedOrder:t,actedKey:n,groups:J});if(X=r,aa=r===null,oa=null,$(),r)for(let[e,t]of Q)t.setAttribute(`aria-current`,String(e===r));va(`keep`)}function Oa(e,t,n){if(e.source===`team`){let n=Ir(e.review,e.kind,t);return{container:n,row:n}}let r=Xe(e.pr,e.stackedOn,n.get(e.prKey));return{container:r.group,row:r.row}}function ka(e,t,n,r){let{container:i,row:a}=Oa(e,n,r);a.dataset.queueKey=e.key,a.setAttribute(`aria-current`,String(e.key===X)),e.key===la&&(a.dataset.justActed=`true`);let o=Be(e);if(t&&te(o)){let t=f(`span`,`tab-activity active pr-queue-unseen`);t.setAttribute(`aria-hidden`,`true`),a.dataset.unseen=o,a.append(t),e.source===`team`&&W(a)}return a.addEventListener(`click`,()=>ya(e.key,{isFromQueue:!0})),Q.set(e.key,a),i}function Aa(e){let t=f(`h3`,`pr-section-heading review-group-heading`),n=f(`span`,`review-group-count`,String(e.items.length));if(e.id!==`aside`)return t.append(f(`span`,null,e.title),n),t;let r=f(`button`,`review-group-toggle`),i=f(`span`,`review-group-chevron`,`▸`);return i.setAttribute(`aria-hidden`,`true`),r.append(i,e.title),r.type=`button`,r.setAttribute(`aria-expanded`,String(Z)),r.addEventListener(`click`,()=>{Z=!Z,oa=null,$()}),t.append(r,n),t}function ja(e,t,n){let r=f(`section`,`pr-queue-section`);if(r.dataset.group=e.id,r.append(Aa(e)),e.id===`aside`&&!Z)return r;for(let i of e.items)r.append(ka(i,e.id===`turn`,t,n));return r}function Ma(){let e=qe(y().status,Date.now()).filter(e=>e.tone!==`error`).map(e=>f(`p`,`my-pr-note`,e.text));return[...ra?[ra.notice]:[],...Pi(),...e]}function Na(){return J.some(e=>e.items.length>0)?[f(`p`,`pr-empty`,`No pull requests match this filter.`)]:[Ni(),f(`p`,`pr-empty`,$e(y().status))]}function Pa(){if(!$i)return;let e=E()?.team;if(!e){$i.replaceChildren();return}let t=f(`span`,`pr-team-chip`);t.append(d({login:e.slug,url:e.avatarUrl,cssPx:16}),f(`span`,null,e.name)),$i.replaceChildren(t)}function Fa(e,t){return JSON.stringify([e,[...t],X,Y,Z,he(),Ma().map(e=>e.textContent)],(e,t)=>e===`recentSteps`?void 0:t)}function $(){if(!Xi)return;let{sessionsByPrKey:e,status:t}=y();J=Ae(),Pa(),ra?.update(Ce([E(),t]));let n=Se(J,Y);aa||(X=ke(n,X)),ba();let r=Fa(n,e);if(r!==oa){oa=r;let t=document.activeElement instanceof HTMLElement&&Xi.contains(document.activeElement)?document.activeElement.dataset.queueKey:void 0;Ii(),Q.clear();let i=He(J),a=n.filter(e=>e.items.length>0).map(t=>ja(t,i,e));Xi.replaceChildren(...Ma(),...a.length>0?a:Na()),t&&Q.get(t)?.focus({preventScroll:!0}),Li()}(X!==ia||aa)&&va(`keep`)}function Ia(){sa||(sa=!0,queueMicrotask(()=>{sa=!1,$()}))}function La(){let e=_e();e&&xa(e)}function Ra(e){e.kind===`reveal`?La():ma()}function za(e){if(K)return;let t=we()??void 0;K=f(`div`,`pr-content review-queue`),e.append(K),na=Qe({label:`Show reviews`,scopes:Ee,selected:Y,onSelect:e=>{Y=e,$()}});let n=Ye({queueLabel:`Review queue`,scopeTabs:na.element,resizerLabel:`Resize review queue`});Xi=n.queue,q=f(`div`,`review-queue-detail`);let r=f(`div`,`review-queue-phone-bar`),i=f(`button`,`pr-action pr-action-ghost review-queue-back`,`Back to queue`);i.type=`button`,i.addEventListener(`click`,Fe),Qi=f(`span`,`review-queue-position`),r.append(i,Qi),n.detail.append(r,q),Zi=ye({onJump:()=>{be()},rowFor:e=>Q.get(e)},fe()),Zi.classList.add(`review-queue-banner`),n.queue.before(Zi),ra=Ge([`team-review`,`my-prs`],K),$i=f(`span`,`review-team-chip-slot`),n.foot.append($i,ra.control),K.append(n.columns),K.dataset.detailOpen=`false`,ea=Ki(K,{onChange:Ia,captureTurnOrder:()=>_(J).map(e=>e.key),onAdvance:Da},t),ta=Ze({onChange:Ia},t),ce({isLooking:()=>!p(K),selectedKey:()=>X}),Ie(Ra),document.addEventListener(`keydown`,Ta),$(),La()}var Ba={mount:za,refresh:Ke};export{Ba as view};
@@ -1 +0,0 @@
1
- @layer components{.my-pr-note{color:var(--text-dim);margin:0;padding:8px 14px;font-size:12px}.pr-thread-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);gap:8px;padding:12px}.pr-thread-heading{justify-content:space-between}.pr-thread-chip{color:var(--text-muted);border:1px solid;border-radius:2px;flex:none;padding:2px 6px;font-size:10px;font-weight:700}.pr-thread-chip[data-tone=ok]{color:var(--state-complete)}.pr-thread-chip[data-tone=warn]{color:var(--state-waiting)}.pr-thread-message{min-width:0;color:var(--text-head)}.pr-thread-message-muted{color:var(--text-dim)}.pr-thread-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}.pr-thread-preview{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pr-thread-message-muted .pr-thread-preview{-webkit-line-clamp:3}.pr-thread-message:has(.pr-thread-disclosure[open])>.pr-thread-preview{display:none}.pr-thread-expand{width:fit-content;color:var(--text-dim);cursor:pointer;padding:4px 0;font-size:11px}@media (hover:hover){.pr-thread-expand:hover{color:var(--text-head)}}.pr-thread-expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-thread-expand:active{color:var(--accent)}.pr-thread-disclosure .pr-thread-continues{color:var(--text-dim);margin-top:4px;font-size:11px;font-weight:400;display:inline-block}.pr-thread-footer{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.pr-content{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.pr-team-chip>span:last-child{text-overflow:ellipsis;overflow:hidden}.review-group-heading{align-items:center;gap:8px;display:flex}.review-group-toggle{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}.review-group-chevron{margin-right:6px;transition:transform .12s ease-out;display:inline-block}.review-group-toggle[aria-expanded=true] .review-group-chevron{transform:rotate(90deg)}.review-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-group-count{color:var(--text-muted);font-weight:400}.review-team-chip-slot{display:contents}.review-queue-phone-bar{display:none}@media (prefers-reduced-motion:reduce){.review-group-chevron{transition:none}}.pr-caught-up{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);flex-direction:column;gap:4px;margin:4px 14px 12px;padding:10px 12px;display:flex}.pr-caught-up-title{color:var(--state-complete);align-items:center;gap:8px;font-size:12px;display:flex}.pr-caught-up-detail{color:var(--text-dim);font-size:11px}.pr-phase-label{color:var(--accent);white-space:nowrap}.pr-viewer-threads[data-state=all-resolved]{color:var(--state-waiting)}.pr-viewer-threads{color:var(--text-muted);letter-spacing:.02em;font-size:12px;line-height:1.55}.pr-verdict-seal{color:var(--accent);white-space:nowrap;letter-spacing:.04em;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.pr-verdict-seal[data-tone=ok]{color:var(--state-complete)}.pr-verdict-seal[data-tone=warn]{color:var(--state-waiting)}.pr-verdict-seal[data-tone=crit]{color:var(--state-failed)}.pr-verdict-seal svg{flex:none}.pr-rereview-notice{color:var(--text-dim);font-size:12px;line-height:1.6}.pr-severity-meter{align-items:center;gap:2px;display:inline-flex}.pr-severity-meter svg{flex:none}.pr-severity-halo{filter:drop-shadow(0 0 4px var(--state-failed))}.pr-detail-team{container:review-detail/inline-size}.pr-desk-column,.pr-desk-rail{flex-direction:column;gap:20px;min-width:0;display:flex}.pr-will-post,.pr-desk-facts{border:1px solid var(--border-dim);border-radius:var(--radius);background:var(--bg-card);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.pr-will-post-event{color:var(--text-head);font-size:14px}.pr-will-post-detail{color:var(--text-dim);font-size:12px;line-height:1.5}.pr-will-post>.pr-note{margin-top:4px}.pr-fact-list{flex-direction:column;gap:6px;margin:0;font-size:12px;display:flex}.pr-fact{grid-template-columns:7.5em minmax(0,1fr);gap:8px;display:grid}.pr-fact>dt{color:var(--text-muted)}.pr-fact>dd{color:var(--text);overflow-wrap:anywhere;margin:0}.pr-verdict-recommendation{color:var(--text-head);font-size:12px}@container review-detail (width>=1100px){.pr-desk-rail{position:sticky;top:24px}}.pr-about-box,.pr-verdict-box,.pr-progress{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);flex-direction:column;gap:12px;padding:16px;display:flex}.pr-verdict-line{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.pr-verdict-summary{color:var(--text);overflow-wrap:anywhere;font-size:12px;line-height:1.6}.pr-about-goal,.pr-verdict-reason{color:var(--text-head)}.pr-verdict-legacy{color:var(--text-dim);font-size:12px}.pr-verdict-gaps li::marker{color:var(--state-waiting)}.pr-hand-checks{border:1px solid var(--state-waiting);border-radius:var(--radius);background:var(--bg-card);flex-direction:column;gap:8px;padding:12px 16px;font-size:12px;display:flex}.pr-hand-checks li::marker{color:var(--state-waiting)}.pr-verdict-checked{color:var(--text-dim);font-size:12px}.pr-verdict-checked>summary{cursor:pointer;color:var(--text-muted)}.pr-verdict-checked>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-verdict-checked>.pr-assessment-list{color:var(--text-dim);margin-top:8px}.pr-note{flex-direction:column;gap:8px;display:flex}.pr-decision-spacer{flex:1}.pr-assessment-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.pr-assessment-list{color:var(--text);overflow-wrap:anywhere;flex-direction:column;gap:6px;padding-left:18px;font-size:12px;line-height:1.6;list-style:outside;display:flex}.pr-assessment-list li::marker{color:var(--text-muted)}.pr-posts{flex-direction:column;gap:12px;display:flex}.pr-posts-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.pr-posts-heading h3,.pr-steps h3{padding:0}.pr-posts-heading>span{color:var(--text-muted);font-size:11px}.pr-disclosure{border:1px solid var(--border-dim);border-radius:var(--radius);background:var(--bg-card);min-width:0;padding:12px 14px}.pr-disclosure-summary,.pr-comment-header{cursor:pointer;list-style:none}.pr-disclosure-summary::-webkit-details-marker{display:none}.pr-comment-header::-webkit-details-marker{display:none}.pr-disclosure-summary{align-items:center;gap:10px;min-width:0;font-size:12px;display:flex}.pr-disclosure-summary:before,.pr-comment-header:before{content:"";width:6px;height:6px;color:var(--text-dim);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;transform:rotate(-45deg)}.pr-disclosure[open]>.pr-disclosure-summary:before,.pr-comment-content[open]>.pr-comment-header:before{transform:rotate(45deg)}.pr-disclosure-summary:focus-visible,.pr-comment-header:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pr-disclosure-label{color:var(--text-head);flex:none;font-weight:700}.pr-disclosure-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);overflow:hidden}.pr-earlier-review-body{flex-direction:column;gap:10px;margin-top:12px;display:flex}.pr-earlier-review-body>.pr-comment-card{background:var(--bg-surface)}.pr-comment-card.pr-comment-card-readonly{grid-template-columns:minmax(0,1fr)}.pr-changed-since{color:var(--text-dim);font-size:12px;line-height:1.6}.pr-changed-since-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.pr-body-input{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:100%;min-height:84px;color:var(--text-head);font:inherit;padding:10px 12px;font-size:12px;line-height:1.5}.pr-note-input{min-height:52px}.pr-comment-card{border:1px solid var(--border-dim);border-radius:var(--radius);background:var(--bg-card);grid-template-columns:24px minmax(0,1fr);gap:10px;padding:14px 16px;display:grid}.pr-comment-card[data-included=false]{opacity:.55}.pr-comment-card[data-current=true]{border-color:var(--accent)}.pr-comment-card:has(>.pr-post-toggle){grid-template-columns:auto minmax(0,1fr)}.pr-post-toggle{border:1px solid var(--border);border-radius:var(--radius);align-self:start;display:inline-flex;overflow:hidden}.pr-post-choice{min-height:22px;color:var(--text-muted);font:700 11px/1 var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;padding:0 8px}.pr-post-choice+.pr-post-choice{border-left:1px solid var(--border)}.pr-post-choice[aria-pressed=true]{background:color-mix(in oklab, var(--accent) 16%, transparent);color:var(--accent)}.pr-comment-card[data-included=false] .pr-post-choice[aria-pressed=true]{background:var(--bg-surface);color:var(--text-head)}.pr-comment-content{min-width:0}.pr-comment-header{align-items:center;gap:8px;min-width:0;min-height:22px;font-size:12px;display:flex}.pr-comment-paragraphs{flex-direction:column;gap:10px;padding-top:12px;display:flex}.pr-comment-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);flex:1;overflow:hidden}.pr-comment-content[open]>.pr-comment-header>.pr-comment-preview{visibility:hidden}.pr-comment-location{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:30%;color:var(--text-head);flex:0 auto;overflow:hidden}.pr-comment-paragraph{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.65}.pr-comment-paragraph code,.pr-verdict-box code{border-radius:var(--radius);background:var(--bg-surface);color:var(--text-head);padding:1px 5px;font-size:12px}.pr-citation{color:var(--text-dim);overflow-wrap:anywhere;font-size:11px}.pr-comment-code{border-radius:var(--radius);background:var(--bg-surface);min-width:0;max-width:100%;max-height:24em;color:var(--text);font:12px/1.5 var(--font-mono);margin:0;padding:10px 12px;overflow:auto}.pr-comment-code code{font:inherit}.pr-diff-excerpt{border-radius:var(--radius);background:var(--bg-surface);color:var(--text);font:12px/1.5 var(--font-mono);margin-top:10px;padding:6px 0;overflow-x:auto}.pr-diff-excerpt-number{text-align:right;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex:0 0 3.5em;padding-right:6px}.pr-comment-lead{color:var(--accent)}.pr-comment-lead-question{color:var(--state-done);align-items:center;gap:5px;display:inline-flex}.pr-session-open{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.pr-progress-tracker{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;display:grid}.pr-progress-stage{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.pr-progress-bar{background:var(--border-dim);border-radius:2px;height:3px;display:block}.pr-progress-stage[data-state=done]{color:var(--text)}.pr-progress-stage[data-state=done] .pr-progress-bar{background:var(--state-complete)}.pr-progress-stage[data-state=active]{color:var(--text-head);font-weight:700}.pr-progress-stage[data-state=active] .pr-progress-bar{background:var(--accent)}.pr-progress-text{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px}.pr-steps{flex-direction:column;gap:10px;display:flex}.pr-step-list{flex-direction:column;gap:8px;list-style:none;display:flex}.pr-step{grid-template-columns:6ch 10ch minmax(0,1fr);align-items:baseline;gap:12px;font-size:12px;display:grid}.pr-step-at{color:var(--text-muted);font-variant-numeric:tabular-nums}.pr-step-tool{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-step-detail{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-attention-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);padding:16px;font-size:12px;line-height:1.6}html[data-layout=phone] .review-queue-phone-bar{z-index:2;border-bottom:1px solid var(--border-dim);background:var(--bg);align-items:center;gap:12px;padding:4px 16px;display:flex;position:sticky;top:0}html[data-layout=phone] .review-queue-position{color:var(--text-dim);font-size:12px}html[data-layout=phone] .pr-changed-since-link{align-items:center;min-height:44px;display:inline-flex}html[data-layout=phone] .pr-post-choice{min-width:44px;min-height:44px}html[data-layout=phone] .pr-comment-header{min-height:44px}html[data-layout=phone] .pr-body-input{font-size:16px}html[data-layout=phone] .pr-progress-tracker{gap:6px}html[data-layout=phone] .pr-progress-stage{font-size:11px}html[data-layout=phone] .pr-step{grid-template-columns:5ch 8ch minmax(0,1fr);gap:6px}}