@tryglen/review 0.2.13 → 0.2.15
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.
- package/dist/server.mjs +122 -113
- package/dist/ui/assets/agent-list-query-COrbuW6I.js +1 -0
- package/dist/ui/assets/{command-C70vtZ-g.js → command-BHYrxLvA.js} +1 -1
- package/dist/ui/assets/{diff-viewer-DDWYsF6W.js → diff-viewer-8VJrVVoW.js} +1 -1
- package/dist/ui/assets/{explored-file-view-DGqTyQfd.js → explored-file-view-K43rc089.js} +1 -1
- package/dist/ui/assets/{history-nav-buttons-DINMfDbp.js → history-nav-buttons-CoI383Sz.js} +1 -1
- package/dist/ui/assets/{index-Dro0lXd8.js → index-C23o55YE.js} +3 -3
- package/dist/ui/assets/{inline-ask-CHr1EM6l.js → inline-ask-lJGgjgn1.js} +1 -1
- package/dist/ui/assets/{local-side-panel-Cop6TTG7.js → local-side-panel-3ycUtZGM.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/package.json +4 -3
- package/dist/ui/assets/agent-list-query-DG0_h639.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-CKia_GZs.js","assets/rolldown-runtime-XKyaHtl9.js","assets/preload-helper-B0Qg_vqV.js","assets/engine-compile-oEKYtfC2.js","assets/engine-javascript-PyIzzclY.js","assets/diff-viewer-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-CKia_GZs.js","assets/rolldown-runtime-XKyaHtl9.js","assets/preload-helper-B0Qg_vqV.js","assets/engine-compile-oEKYtfC2.js","assets/engine-javascript-PyIzzclY.js","assets/diff-viewer-8VJrVVoW.js","assets/button-DizkG3Et.js","assets/bundle-mjs-IMkwHZOK.js","assets/query-error-DSrxRVZP.js","assets/card-ChTMYRL-.js","assets/reviewer-connection-B1irBiYS.js","assets/chunk-BO2N2NFS-CNHkQg2l.js","assets/schemas-D5jfrTNW.js","assets/command-BHYrxLvA.js","assets/input-group-CXlyHH6x.js","assets/history-nav-buttons-CoI383Sz.js","assets/shortcut-label-Do9KpCPN.js","assets/CaretUp.es-C6IDKCMg.js","assets/explored-file-view-K43rc089.js","assets/local-side-panel-3ycUtZGM.js","assets/agent-list-query-COrbuW6I.js","assets/inline-ask-lJGgjgn1.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";import{a as n,c as r,d as i,i as a,l as o,o as s,s as c,t as l,u}from"./button-DizkG3Et.js";import{$ as d,A as f,B as p,C as m,E as h,H as g,J as _,K as v,O as y,Q as b,S as x,U as S,V as C,X as w,Y as T,Z as ee,_ as te,a as ne,at as re,b as ie,c as ae,d as oe,et as E,f as D,g as O,h as se,i as ce,it as le,l as ue,m as k,n as A,o as de,p as j,q as fe,r as pe,s as me,t as he,tt as ge,u as _e,v as ve,w as M,x as ye,y as N}from"./query-error-DSrxRVZP.js";import{D as be,E as xe,O as Se,S as Ce,T as we,_ as Te,a as Ee,c as De,d as Oe,f as ke,g as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,o as Ie,p as Le,r as Re,s as ze,t as Be,u as Ve,v as He,w as Ue,y as We}from"./card-ChTMYRL-.js";import{a as Ge,i as Ke,o as qe}from"./bundle-mjs-IMkwHZOK.js";import{a as Je,c as Ye,d as Xe,i as Ze,l as Qe,n as $e,o as et,r as tt,s as nt,t as rt,u as it}from"./schemas-D5jfrTNW.js";import{a as P,i as at,r as ot,t as st}from"./reviewer-connection-B1irBiYS.js";import{r as ct}from"./chunk-BO2N2NFS-CNHkQg2l.js";import{t as lt}from"./preload-helper-B0Qg_vqV.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function ut(e){return e.state.status===`success`}var dt=class extends i{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Se({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=ft(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=ft(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=ft(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=ft(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){v.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ee(t,e))}findAll(e={}){return this.getAll().filter(t=>ee(e,t))}notify(e){v.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return v.batch(()=>Promise.all(e.map(e=>e.continue().catch(d))))}};function ft(e){return e.options.scope?.id}var pt=class extends i{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??w(r,t),a=this.get(i);return a||(a=new S({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){v.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>b(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>b(e,t)):t}notify(e){v.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){v.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){v.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},mt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new pt,this.#t=e.mutationCache||new dt,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=re.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=u.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(ge(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=_(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return v.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;v.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return v.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=v.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(d).catch(d)}invalidateQueries(e,t={}){return v.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=v.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(d)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(d)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(ge(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(d).catch(d)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(d).catch(d)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return u.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(T(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{E(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(T(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{E(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=w(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===le&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},ht=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,ne());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ae(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ne():S=!1}}}var ne;if(typeof y==`function`)ne=function(){y(te)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=te,ne=function(){ie.postMessage(null)}}else ne=function(){_(te,0)};function ae(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ae(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ne()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),gt=t(((e,t)=>{t.exports=ht()})),_t=t((e=>{var t=gt(),n=qe(),r=Ke();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),w=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),ee=Symbol.for(`react.activity`),te=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case ee:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case w:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,E=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,O={pending:!1,data:null,method:null,action:null},se=[],ce=-1;function le(e){return{current:e}}function ue(e){0>ce||(e.current=se[ce],se[ce]=null,ce--)}function k(e,t){ce++,se[ce]=e.current,e.current=t}var A=le(null),de=le(null),j=le(null),fe=le(null);function pe(e,t){switch(k(j,t),k(de,e),k(A,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ue(A),k(A,e)}function me(){ue(A),ue(de),ue(j)}function he(e){e.memoizedState!==null&&k(fe,e);var t=A.current,n=Hd(t,e.type);t!==n&&(k(de,e),k(A,n))}function ge(e){de.current===e&&(ue(A),ue(de)),fe.current===e&&(ue(fe),Qf._currentValue=O)}var _e,ve;function M(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+_e+e+ve}var ye=!1;function N(e,t){if(!e||ye)return``;ye=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -59,7 +59,7 @@ Alternatively, you can use your own component as a description by assigning it a
|
|
|
59
59
|
|
|
60
60
|
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return F.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},Zs=As,Qs=Ps,$s=Is,ec=Vs,tc=qs,nc=Ys,rc=Us,ic=Gs,ac=t((e=>{var t=qe();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),oc=t(((e,t)=>{t.exports=ac()}))();function sc(){return(0,oc.useSyncExternalStore)(cc,()=>!0,()=>!1)}function cc(){return()=>{}}var lc=`Avatar`,[uc,dc]=ve(lc),[fc,pc]=uc(lc),mc=F.forwardRef((e,t)=>{let{__scopeAvatar:n,...r}=e,[i,a]=F.useState(`idle`);return(0,I.jsx)(fc,{scope:n,imageLoadingStatus:i,onImageLoadingStatusChange:a,children:(0,I.jsx)(N.span,{...r,ref:t})})});mc.displayName=lc;var hc=`AvatarImage`,gc=F.forwardRef((e,t)=>{let{__scopeAvatar:n,src:r,onLoadingStatusChange:i=()=>{},...a}=e,o=pc(hc,n),s=bc(r,a),c=oe(e=>{i(e),o.onImageLoadingStatusChange(e)});return se(()=>{s!==`idle`&&c(s)},[s,c]),s===`loaded`?(0,I.jsx)(N.img,{...a,ref:t,src:r}):null});gc.displayName=hc;var _c=`AvatarFallback`,vc=F.forwardRef((e,t)=>{let{__scopeAvatar:n,delayMs:r,...i}=e,a=pc(_c,n),[o,s]=F.useState(r===void 0);return F.useEffect(()=>{if(r!==void 0){let e=window.setTimeout(()=>s(!0),r);return()=>window.clearTimeout(e)}},[r]),o&&a.imageLoadingStatus!==`loaded`?(0,I.jsx)(N.span,{...i,ref:t}):null});vc.displayName=_c;function yc(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?`loaded`:`loading`):`error`:`idle`}function bc(e,{referrerPolicy:t,crossOrigin:n}){let r=sc(),i=F.useRef(null),a=r?(i.current||=new window.Image,i.current):null,[o,s]=F.useState(()=>yc(a,e));return se(()=>{s(yc(a,e))},[a,e]),se(()=>{let e=e=>()=>{s(e)};if(!a)return;let r=e(`loaded`),i=e(`error`);return a.addEventListener(`load`,r),a.addEventListener(`error`,i),t&&(a.referrerPolicy=t),typeof n==`string`&&(a.crossOrigin=n),()=>{a.removeEventListener(`load`,r),a.removeEventListener(`error`,i)}},[a,n,t]),o}var xc=mc,Sc=gc,Cc=vc;function wc(e){let t=F.useRef({value:e,previous:e});return F.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Tc=`Checkbox`,[Ec,Dc]=ve(Tc),[Oc,kc]=Ec(Tc);function Ac(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=k({prop:n,defaultProp:i??!1,onChange:c,caller:Tc}),[m,h]=F.useState(null),[g,_]=F.useState(null),v=F.useRef(!1),y=!m||!!o||!!m.closest(`form`),b={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:!zc(i)&&i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,I.jsx)(Oc,{scope:t,...b,children:Rc(d)?d(b):r})}var jc=`CheckboxTrigger`,Mc=F.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:l,required:u,setControl:d,setChecked:f,hasConsumerStoppedPropagationRef:p,isFormControl:m,bubbleInput:h}=kc(jc,e),g=c(i,d),_=F.useRef(l);return F.useEffect(()=>{let e=a?.form;if(e){let t=()=>f(_.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,f]),(0,I.jsx)(N.button,{type:`button`,role:`checkbox`,"aria-checked":zc(l)?`mixed`:l,"aria-required":u,"data-state":H(l),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:g,onKeyDown:O(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:O(n,e=>{f(e=>zc(e)?!0:!e),h&&m&&(p.current=e.isPropagationStopped(),p.current||e.stopPropagation())})})});Mc.displayName=jc;var Nc=F.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,I.jsx)(Ac,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Mc,{...d,ref:t,__scopeCheckbox:n}),e&&(0,I.jsx)(Lc,{__scopeCheckbox:n})]})})});Nc.displayName=Tc;var Pc=`CheckboxIndicator`,Fc=F.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=kc(Pc,n);return(0,I.jsx)(j,{present:r||zc(a.checked)||a.checked===!0,children:(0,I.jsx)(N.span,{"data-state":H(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});Fc.displayName=Pc;var Ic=`CheckboxBubbleInput`,Lc=F.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:l,name:u,value:d,form:f,bubbleInput:p,setBubbleInput:m}=kc(Ic,e),h=c(n,m),g=wc(a),_=ae(r);F.useEffect(()=>{let e=p;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(g!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=zc(a),n.call(e,!zc(a)&&a),e.dispatchEvent(t)}},[p,g,a,i]);let v=F.useRef(!zc(a)&&a);return(0,I.jsx)(N.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??v.current,required:s,disabled:l,name:u,value:d,form:f,...t,tabIndex:-1,ref:h,style:{...t.style,..._,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});Lc.displayName=Ic;function Rc(e){return typeof e==`function`}function zc(e){return e===`indeterminate`}function H(e){return zc(e)?`indeterminate`:e?`checked`:`unchecked`}var Bc=[`Enter`,` `],Vc=[`ArrowDown`,`PageUp`,`Home`],Hc=[`ArrowUp`,`PageDown`,`End`],Uc=[...Vc,...Hc],Wc={ltr:[...Bc,`ArrowRight`],rtl:[...Bc,`ArrowLeft`]},Gc={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Kc=`Menu`,[qc,Jc,Yc]=je(Kc),[Xc,Zc]=ve(Kc,[Yc,me,Le]),Qc=me(),$c=Le(),[el,tl]=Xc(Kc),[nl,rl]=Xc(Kc),il=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Qc(t),[c,l]=F.useState(null),u=F.useRef(!1),d=oe(a),f=Pe(i);return F.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,I.jsx)(de,{...s,children:(0,I.jsx)(el,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,I.jsx)(nl,{scope:t,onClose:F.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};il.displayName=Kc;var al=`MenuAnchor`,ol=F.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Qc(n);return(0,I.jsx)(pe,{...i,...r,ref:t})});ol.displayName=al;var sl=`MenuPortal`,[cl,ll]=Xc(sl,{forceMount:void 0}),U=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=tl(sl,t);return(0,I.jsx)(cl,{scope:t,forceMount:n,children:(0,I.jsx)(j,{present:n||a.open,children:(0,I.jsx)(ue,{asChild:!0,container:i,children:r})})})};U.displayName=sl;var W=`MenuContent`,[ul,dl]=Xc(W),fl=F.forwardRef((e,t)=>{let n=ll(W,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=tl(W,e.__scopeMenu),o=rl(W,e.__scopeMenu);return(0,I.jsx)(qc.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j,{present:r||a.open,children:(0,I.jsx)(qc.Slot,{scope:e.__scopeMenu,children:o.modal?(0,I.jsx)(pl,{...i,ref:t}):(0,I.jsx)(ml,{...i,ref:t})})})})}),pl=F.forwardRef((e,t)=>{let n=tl(W,e.__scopeMenu),r=F.useRef(null),i=c(t,r);return F.useEffect(()=>{let e=r.current;if(e)return Lo(e)},[]),(0,I.jsx)(gl,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:O(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ml=F.forwardRef((e,t)=>{let n=tl(W,e.__scopeMenu);return(0,I.jsx)(gl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),hl=a(`MenuContent.ScrollLock`),gl=F.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:p,onDismiss:m,disableOutsideScroll:h,...g}=e,_=tl(W,n),v=rl(W,n),y=Qc(n),b=$c(n),x=Jc(n),[S,C]=F.useState(null),w=F.useRef(null),T=c(t,w,_.onContentChange),ee=F.useRef(0),te=F.useRef(``),re=F.useRef(0),ie=F.useRef(null),ae=F.useRef(`right`),oe=F.useRef(0),E=h?Oo:F.Fragment,D=h?{as:hl,allowPinchZoom:!0}:void 0,se=e=>{let t=te.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Jl(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){te.current=t,window.clearTimeout(ee.current),t!==``&&(ee.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};F.useEffect(()=>()=>window.clearTimeout(ee.current),[]),ba();let ce=F.useCallback(e=>ae.current===ie.current?.side&&Xl(e,ie.current?.area),[]);return(0,I.jsx)(ul,{scope:n,searchRef:te,onItemEnter:F.useCallback(e=>{ce(e)&&e.preventDefault()},[ce]),onItemLeave:F.useCallback(e=>{ce(e)||(w.current?.focus(),C(null))},[ce]),onTriggerLeave:F.useCallback(e=>{ce(e)&&e.preventDefault()},[ce]),pointerGraceTimerRef:re,onPointerGraceIntentChange:F.useCallback(e=>{ie.current=e},[]),children:(0,I.jsx)(E,{...D,children:(0,I.jsx)(sa,{asChild:!0,trapped:i,onMountAutoFocus:O(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,I.jsx)(_e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:p,onDismiss:m,children:(0,I.jsx)(ke,{asChild:!0,...b,dir:v.dir,orientation:`vertical`,loop:r,currentTabStopId:S,onCurrentTabStopIdChange:C,onEntryFocus:O(l,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,I.jsx)(ne,{role:`menu`,"aria-orientation":`vertical`,"data-state":Wl(_.open),"data-radix-menu-content":``,dir:v.dir,...y,...g,ref:T,style:{outline:`none`,...g.style},onKeyDown:O(g.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&se(e.key));let i=w.current;if(e.target!==i||!Uc.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);Hc.includes(e.key)&&a.reverse(),Kl(a)}),onBlur:O(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(ee.current),te.current=``)}),onPointerMove:O(e.onPointerMove,Zl(e=>{let t=e.target,n=oe.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>oe.current?`right`:`left`;ae.current=t,oe.current=e.clientX}}))})})})})})})});fl.displayName=W;var _l=`MenuGroup`,vl=F.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(N.div,{role:`group`,...r,ref:t})});vl.displayName=_l;var yl=`MenuLabel`,bl=F.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(N.div,{...r,ref:t})});bl.displayName=yl;var xl=`MenuItem`,Sl=`menu.itemSelect`,Cl=F.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=F.useRef(null),o=rl(xl,e.__scopeMenu),s=dl(xl,e.__scopeMenu),l=c(t,a),u=F.useRef(!1),d=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Sl,{bubbles:!0,cancelable:!0});e.addEventListener(Sl,e=>r?.(e),{once:!0}),ie(e,t),t.defaultPrevented?u.current=!1:o.onClose()}};return(0,I.jsx)(wl,{...i,ref:l,disabled:n,onClick:O(e.onClick,d),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:O(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:O(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||Bc.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Cl.displayName=xl;var wl=F.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=dl(xl,n),s=$c(n),l=F.useRef(null),u=c(t,l),[d,f]=F.useState(!1),[p,m]=F.useState(``);return F.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[a.children]),(0,I.jsx)(qc.ItemSlot,{scope:n,disabled:r,textValue:i??p,children:(0,I.jsx)(Oe,{asChild:!0,...s,focusable:!r,children:(0,I.jsx)(N.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:O(e.onPointerMove,Zl(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:O(e.onPointerLeave,Zl(e=>o.onItemLeave(e))),onFocus:O(e.onFocus,()=>f(!0)),onBlur:O(e.onBlur,()=>f(!1))})})})}),Tl=`MenuCheckboxItem`,El=F.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,I.jsx)(Pl,{scope:e.__scopeMenu,checked:n,children:(0,I.jsx)(Cl,{role:`menuitemcheckbox`,"aria-checked":X(n)?`mixed`:n,...i,ref:t,"data-state":Gl(n),onSelect:O(i.onSelect,()=>r?.(X(n)?!0:!n),{checkForDefaultPrevented:!1})})})});El.displayName=Tl;var Dl=`MenuRadioGroup`,[Ol,kl]=Xc(Dl,{value:void 0,onValueChange:()=>{}}),Al=F.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=oe(r);return(0,I.jsx)(Ol,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,I.jsx)(vl,{...i,ref:t})})});Al.displayName=Dl;var jl=`MenuRadioItem`,Ml=F.forwardRef((e,t)=>{let{value:n,...r}=e,i=kl(jl,e.__scopeMenu),a=n===i.value;return(0,I.jsx)(Pl,{scope:e.__scopeMenu,checked:a,children:(0,I.jsx)(Cl,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Gl(a),onSelect:O(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ml.displayName=jl;var Nl=`MenuItemIndicator`,[Pl,Fl]=Xc(Nl,{checked:!1}),Il=F.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Fl(Nl,n);return(0,I.jsx)(j,{present:r||X(a.checked)||a.checked===!0,children:(0,I.jsx)(N.span,{...i,ref:t,"data-state":Gl(a.checked)})})});Il.displayName=Nl;var Ll=`MenuSeparator`,Rl=F.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,I.jsx)(N.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Rl.displayName=Ll;var zl=`MenuArrow`,G=F.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Qc(n);return(0,I.jsx)(ce,{...i,...r,ref:t})});G.displayName=zl;var K=`MenuSub`,[q,J]=Xc(K),Y=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=tl(K,t),o=Qc(t),[s,c]=F.useState(null),[l,u]=F.useState(null),d=oe(i);return F.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,I.jsx)(de,{...o,children:(0,I.jsx)(el,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,I.jsx)(q,{scope:t,contentId:D(),triggerId:D(),trigger:s,onTriggerChange:c,children:n})})})};Y.displayName=K;var Bl=`MenuSubTrigger`,Vl=F.forwardRef((e,t)=>{let n=tl(Bl,e.__scopeMenu),r=rl(Bl,e.__scopeMenu),i=J(Bl,e.__scopeMenu),a=dl(Bl,e.__scopeMenu),o=F.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=a,u={__scopeMenu:e.__scopeMenu},d=F.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return F.useEffect(()=>d,[d]),F.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,I.jsx)(ol,{asChild:!0,...u,children:(0,I.jsx)(wl,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Wl(n.open),...e,ref:s(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:O(e.onPointerMove,Zl(t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||n.open||o.current||(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:O(e.onPointerLeave,Zl(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:O(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Wc[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Vl.displayName=Bl;var Hl=`MenuSubContent`,Ul=F.forwardRef((e,t)=>{let n=ll(W,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=tl(W,e.__scopeMenu),o=rl(W,e.__scopeMenu),s=J(Hl,e.__scopeMenu),l=F.useRef(null),u=c(t,l);return(0,I.jsx)(qc.Provider,{scope:e.__scopeMenu,children:(0,I.jsx)(j,{present:r||a.open,children:(0,I.jsx)(qc.Slot,{scope:e.__scopeMenu,children:(0,I.jsx)(gl,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:u,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:O(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:O(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:O(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Gc[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});Ul.displayName=Hl;function Wl(e){return e?`open`:`closed`}function X(e){return e===`indeterminate`}function Gl(e){return X(e)?`indeterminate`:e?`checked`:`unchecked`}function Kl(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ql(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Jl(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ql(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Yl(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Xl(e,t){return t?Yl({x:e.clientX,y:e.clientY},t):!1}function Zl(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Ql=il,$l=ol,eu=U,tu=fl,nu=vl,ru=bl,iu=Cl,au=El,ou=Al,su=Ml,cu=Il,lu=Rl,uu=G,du=Y,fu=Vl,pu=Ul,mu=`DropdownMenu`,[hu,gu]=ve(mu,[Zc]),_u=Zc(),[vu,yu]=hu(mu),bu=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=_u(t),l=F.useRef(null),[u,d]=k({prop:i,defaultProp:a??!1,onChange:o,caller:mu});return(0,I.jsx)(vu,{scope:t,triggerId:D(),triggerRef:l,contentId:D(),open:u,onOpenChange:d,onOpenToggle:F.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,I.jsx)(Ql,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};bu.displayName=mu;var xu=`DropdownMenuTrigger`,Su=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=yu(xu,n),o=_u(n);return(0,I.jsx)($l,{asChild:!0,...o,children:(0,I.jsx)(N.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s(t,a.triggerRef),onPointerDown:O(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:O(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Su.displayName=xu;var Cu=`DropdownMenuPortal`,wu=e=>{let{__scopeDropdownMenu:t,...n}=e,r=_u(t);return(0,I.jsx)(eu,{...r,...n})};wu.displayName=Cu;var Tu=`DropdownMenuContent`,Eu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=yu(Tu,n),a=_u(n),o=F.useRef(!1);return(0,I.jsx)(tu,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:O(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:O(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Eu.displayName=Tu;var Du=`DropdownMenuGroup`,Ou=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(nu,{...i,...r,ref:t})});Ou.displayName=Du;var ku=`DropdownMenuLabel`,Au=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(ru,{...i,...r,ref:t})});Au.displayName=ku;var ju=`DropdownMenuItem`,Mu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(iu,{...i,...r,ref:t})});Mu.displayName=ju;var Nu=`DropdownMenuCheckboxItem`,Pu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(au,{...i,...r,ref:t})});Pu.displayName=Nu;var Fu=`DropdownMenuRadioGroup`,Iu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(ou,{...i,...r,ref:t})});Iu.displayName=Fu;var Lu=`DropdownMenuRadioItem`,Ru=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(su,{...i,...r,ref:t})});Ru.displayName=Lu;var zu=`DropdownMenuItemIndicator`,Bu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(cu,{...i,...r,ref:t})});Bu.displayName=zu;var Vu=`DropdownMenuSeparator`,Hu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(lu,{...i,...r,ref:t})});Hu.displayName=Vu;var Uu=`DropdownMenuArrow`,Wu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(uu,{...i,...r,ref:t})});Wu.displayName=Uu;var Z=`DropdownMenuSubTrigger`,Gu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(fu,{...i,...r,ref:t})});Gu.displayName=Z;var Ku=`DropdownMenuSubContent`,qu=F.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_u(n);return(0,I.jsx)(pu,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});qu.displayName=Ku;var Ju=bu,Yu=Su,Xu=wu,Zu=Eu,Qu=Au,$u=Mu,ed=Pu,td=Iu,nd=Ru,rd=Bu,id=Hu;function ad(e,[t,n]){return Math.min(n,Math.max(t,e))}function od(e,t){return F.useReducer((e,n)=>t[e][n]??e,e)}var sd=`ScrollArea`,[cd,ld]=ve(sd),[ud,dd]=cd(sd),fd=F.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,l]=F.useState(null),[u,d]=F.useState(null),[f,p]=F.useState(null),[m,h]=F.useState(null),[g,_]=F.useState(null),[v,y]=F.useState(0),[b,x]=F.useState(0),[S,C]=F.useState(!1),[w,T]=F.useState(!1),ee=c(t,e=>l(e)),te=Pe(i);return(0,I.jsx)(ud,{scope:n,type:r,dir:te,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,I.jsx)(N.div,{dir:te,...o,ref:ee,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});fd.displayName=sd;var pd=`ScrollAreaViewport`,md=F.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=dd(pd,n),s=F.useRef(null),l=c(t,s,o.onViewportChange);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,I.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:l,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,I.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});md.displayName=pd;var hd=`ScrollAreaScrollbar`,gd=F.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dd(hd,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return F.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,I.jsx)(_d,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,I.jsx)(vd,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,I.jsx)(yd,{...r,ref:t,forceMount:n}):i.type===`always`?(0,I.jsx)(Q,{...r,ref:t}):null});gd.displayName=hd;var _d=F.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dd(hd,e.__scopeScrollArea),[a,o]=F.useState(!1);return F.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,I.jsx)(j,{present:n||a,children:(0,I.jsx)(yd,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),vd=F.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=dd(hd,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Rd(()=>c(`SCROLL_END`),100),[s,c]=od(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return F.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),F.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,I.jsx)(j,{present:n||s!==`hidden`,children:(0,I.jsx)(Q,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:O(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:O(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),yd=F.forwardRef((e,t)=>{let n=dd(hd,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=F.useState(!1),s=e.orientation===`horizontal`,c=Rd(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return zd(n.viewport,c),zd(n.content,c),(0,I.jsx)(j,{present:r||a,children:(0,I.jsx)(Q,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),Q=F.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=dd(hd,e.__scopeScrollArea),a=F.useRef(null),o=F.useRef(0),[s,c]=F.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Md(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Nd(e,o.current,s,t)}return n===`horizontal`?(0,I.jsx)(bd,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Pd(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,I.jsx)(xd,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Pd(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),bd=F.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dd(hd,e.__scopeScrollArea),[o,s]=F.useState(),l=F.useRef(null),u=c(t,l,a.onScrollbarXChange);return F.useEffect(()=>{l.current&&s(getComputedStyle(l.current))},[l]),(0,I.jsx)(wd,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":$(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Id(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:jd(o.paddingLeft),paddingEnd:jd(o.paddingRight)}})}})}),xd=F.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=dd(hd,e.__scopeScrollArea),[o,s]=F.useState(),l=F.useRef(null),u=c(t,l,a.onScrollbarYChange);return F.useEffect(()=>{l.current&&s(getComputedStyle(l.current))},[l]),(0,I.jsx)(wd,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":$(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Id(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:jd(o.paddingTop),paddingEnd:jd(o.paddingBottom)}})}})}),[Sd,Cd]=cd(hd),wd=F.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:l,onDragScroll:u,onWheelScroll:d,onResize:f,...p}=e,m=dd(hd,n),[h,g]=F.useState(null),_=c(t,e=>g(e)),v=F.useRef(null),y=F.useRef(``),b=m.viewport,x=r.content-r.viewport,S=oe(d),C=oe(l),w=Rd(f,10);function T(e){if(v.current){let t=e.clientX-v.current.left,n=e.clientY-v.current.top;u({x:t,y:n})}}return F.useEffect(()=>{let e=e=>{let t=e.target;h?.contains(t)&&S(e,x)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,h,x,S]),F.useEffect(C,[r,C]),zd(h,w),zd(m.content,w),(0,I.jsx)(Sd,{scope:n,scrollbar:h,hasThumb:i,onThumbChange:oe(a),onThumbPointerUp:oe(o),onThumbPositionChange:C,onThumbPointerDown:oe(s),children:(0,I.jsx)(N.div,{...p,ref:_,style:{position:`absolute`,...p.style},onPointerDown:O(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,m.viewport&&(m.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:O(e.onPointerMove,T),onPointerUp:O(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=``),v.current=null})})})}),Td=`ScrollAreaThumb`,Ed=F.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Cd(Td,e.__scopeScrollArea);return(0,I.jsx)(j,{present:n||i.hasThumb,children:(0,I.jsx)(Dd,{ref:t,...r})})}),Dd=F.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=dd(Td,n),o=Cd(Td,n),{onThumbPositionChange:s}=o,l=c(t,e=>o.onThumbChange(e)),u=F.useRef(void 0),d=Rd(()=>{u.current&&=(u.current(),void 0)},100);return F.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{if(d(),!u.current){let t=Ld(e,s);u.current=t,s()}};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,I.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:l,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:O(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:O(e.onPointerUp,o.onThumbPointerUp)})});Ed.displayName=Td;var Od=`ScrollAreaCorner`,kd=F.forwardRef((e,t)=>{let n=dd(Od,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,I.jsx)(Ad,{...e,ref:t}):null});kd.displayName=Od;var Ad=F.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=dd(Od,n),[a,o]=F.useState(0),[s,c]=F.useState(0),l=!!(a&&s);return zd(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),zd(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,I.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function jd(e){return e?parseInt(e,10):0}function Md(e,t){let n=e/t;return isNaN(n)?0:n}function $(e){let t=Md(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Nd(e,t,n,r=`ltr`){let i=$(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Fd([c,l],d)(e)}function Pd(e,t,n=`ltr`){let r=$(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=ad(e,n===`ltr`?[0,o]:[o*-1,0]);return Fd([0,o],[0,s])(c)}function Fd(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Id(e,t){return e>0&&e<t}var Ld=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Rd(e,t){let n=oe(e),r=F.useRef(0);return F.useEffect(()=>()=>window.clearTimeout(r.current),[]),F.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function zd(e,t){let n=oe(t);se(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Bd=fd,Vd=md,Hd=kd,Ud=`Separator`,Wd=`horizontal`,Gd=[`horizontal`,`vertical`],Kd=F.forwardRef((e,t)=>{let{decorative:n,orientation:r=Wd,...i}=e,a=qd(r)?r:Wd,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,I.jsx)(N.div,{"data-orientation":a,...o,...i,ref:t})});Kd.displayName=Ud;function qd(e){return Gd.includes(e)}var Jd=Kd;function Yd({className:e,size:t=`default`,...n}){return(0,I.jsx)(xc,{"data-slot":`avatar`,"data-size":t,className:o(`group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-edge after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten`,e),...n})}function Xd({className:e,...t}){return(0,I.jsx)(Sc,{"data-slot":`avatar-image`,className:o(`aspect-square size-full rounded-full object-cover`,e),...t})}function Zd({className:e,...t}){return(0,I.jsx)(Cc,{"data-slot":`avatar-fallback`,className:o(`flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs`,e),...t})}function Qd({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`avatar-group`,className:o(`group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background`,e),...t})}function $d({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`avatar-group-count`,className:o(`relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3`,e),...t})}var ef=t(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(n,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof ee||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new ee(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var ee=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),te=ee.prototype;return w.prototype=te,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){te[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,ee,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),tf=t(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(n,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),nf=t(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_updateLocale=r()})(n,(function(){function e(){return e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.apply(this,arguments)}return function(t,n,r){r.updateLocale=function(t,n){var i=r.Ls[t];if(i)return(n?Object.keys(n):[]).forEach((function(t){i[t]=i[t]&&n[t]&&typeof i[t]==`object`&&typeof n[t]==`object`&&!Array.isArray(i[t])?e({},i[t],n[t]):n[t]})),i}}}))})),rf=e(ef(),1),af=e(tf(),1),of=e(nf(),1);rf.default.extend(af.default),rf.default.extend(of.default),rf.default.updateLocale(`en`,{relativeTime:{future:`in %s`,past:`%s`,s:`now`,m:`1m`,mm:`%dm`,h:`1h`,hh:`%dh`,d:`1d`,dd:`%dd`,M:`1mo`,MM:`%dmo`,y:`1y`,yy:`%dy`}});var sf=e=>(0,rf.default)(e).fromNow(!0),cf=e=>{let t=sf(e);return t===`now`?t:`${t} ago`},lf=(e,t)=>`https://github.com/${e}/tree/${encodeURIComponent(t)}`,uf=(e,t,n)=>`https://github.com/${e}/${t}/pull/${n}`;function df({className:e,viewportClassName:t,children:n,...r}){return(0,I.jsxs)(Bd,{"data-slot":`scroll-area`,className:o(`relative`,e),...r,children:[(0,I.jsx)(Vd,{"data-slot":`scroll-area-viewport`,className:o(`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,t),children:n}),(0,I.jsx)(ff,{}),(0,I.jsx)(Hd,{})]})}function ff({className:e,orientation:t=`vertical`,...n}){return(0,I.jsx)(gd,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:o(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,I.jsx)(Ed,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function pf({...e}){return(0,I.jsx)(Ju,{"data-slot":`dropdown-menu`,...e})}function mf({...e}){return(0,I.jsx)(Yu,{"data-slot":`dropdown-menu-trigger`,...e})}function hf({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,I.jsx)(Xu,{children:(0,I.jsx)(Zu,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:o(`z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-surface glass-overlay p-1 text-popover-foreground shadow-2xl duration-(--duration-fast) data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:duration-0 low-power:duration-0`,e),...r})})}function gf({className:e,inset:t,variant:n=`default`,...r}){return(0,I.jsx)($u,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:o(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-chip px-1.5 py-1 text-sm outline-hidden select-none focus:bg-muted focus:text-foreground not-data-[variant=destructive]:focus:**:text-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function _f({className:e,children:t,checked:n,inset:r,...i}){return(0,I.jsxs)(ed,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":r,className:o(`relative flex cursor-default items-center gap-1.5 rounded-chip py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-muted focus:text-foreground focus:**:text-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...i,children:[(0,I.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,I.jsx)(rd,{children:(0,I.jsx)(sn,{})})}),t]})}function vf({...e}){return(0,I.jsx)(td,{"data-slot":`dropdown-menu-radio-group`,...e})}function yf({className:e,children:t,inset:n,...r}){return(0,I.jsxs)(nd,{"data-slot":`dropdown-menu-radio-item`,"data-inset":n,className:o(`relative flex cursor-default items-center gap-1.5 rounded-chip py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-muted focus:text-foreground focus:**:text-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[(0,I.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,I.jsx)(rd,{children:(0,I.jsx)(sn,{})})}),t]})}function bf({className:e,inset:t,...n}){return(0,I.jsx)(Qu,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:o(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function xf({className:e,...t}){return(0,I.jsx)(id,{"data-slot":`dropdown-menu-separator`,className:o(`-mx-1 my-1 h-px bg-edge`,e),...t})}function Sf({className:e,...t}){return(0,I.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:o(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-foreground`,e),...t})}var Cf=[{method:`merge`,label:`Create a merge commit`},{method:`squash`,label:`Squash and merge`},{method:`rebase`,label:`Rebase and merge`}],wf=({status:e})=>{let t=e.merged?{icon:(0,I.jsx)(En,{weight:`fill`,className:`text-merged size-4`}),text:`Merged`}:e.mergeable===!1?{icon:(0,I.jsx)(m,{weight:`fill`,className:`text-destructive size-4`}),text:`Merge conflict`}:e.mergeable===!0?{icon:(0,I.jsx)(En,{className:`text-primary size-4`}),text:`No conflicts, mergeable`}:{icon:(0,I.jsx)(En,{className:`text-muted-foreground size-4`}),text:`Checking mergeability…`};return(0,I.jsxs)(De,{openDelay:80,closeDelay:60,children:[(0,I.jsx)(Ve,{asChild:!0,children:(0,I.jsx)(`span`,{className:`hover:bg-muted flex h-7 shrink-0 cursor-default items-center gap-1 rounded-md px-1.5 text-xs transition-colors`,children:t.icon})}),(0,I.jsx)(Ne,{align:`end`,children:(0,I.jsx)(`p`,{className:`text-xs font-medium`,children:t.text})})]})},Tf=({status:e,merge:t})=>{let n=Xe(),r=be(n.github.prMerge.mutationOptions({onSuccess:()=>{P.success(`Pull request merged.`),t.onMerged()},onError:e=>{P.error(e.message??`Failed to merge pull request.`)}})),i=Cf.filter(({method:e})=>t.allowedMethods?.[e]);return!t.canMerge||!t.methodsLoading&&i.length===0?(0,I.jsx)(wf,{status:e}):(0,I.jsxs)(pf,{children:[(0,I.jsx)(mf,{asChild:!0,children:(0,I.jsxs)(l,{size:`sm`,className:`h-7 shrink-0 gap-1.5`,disabled:r.isPending||t.methodsLoading,children:[r.isPending?(0,I.jsx)(Ae,{className:`size-4`}):(0,I.jsx)(En,{weight:`fill`,className:`size-4`}),`Merge`,(0,I.jsx)(Ue,{className:`size-3.5`})]})}),(0,I.jsx)(hf,{align:`end`,children:i.map(({method:e,label:n})=>(0,I.jsx)(gf,{disabled:r.isPending,onSelect:()=>r.mutate({owner:t.owner,repo:t.repo,pr:t.pr,method:e}),children:n},e))})]})},Ef=e=>e.reduce((e,t)=>t.bucket===`pass`?{...e,passed:e.passed+1}:t.bucket===`pending`?{...e,pending:e.pending+1}:t.bucket===`skipping`?{...e,skipped:e.skipped+1}:t.required?{...e,requiredFailed:e.requiredFailed+1}:{...e,optionalFailed:e.optionalFailed+1},{passed:0,requiredFailed:0,optionalFailed:0,pending:0,skipped:0,total:e.length}),Df=e=>e.split(/[\s@.]+/).flatMap(e=>{let t=e[0];return t?[t]:[]}).slice(0,2).join(``).toUpperCase()||`?`,Of={APPROVED:{text:`approved`,icon:(0,I.jsx)(He,{weight:`fill`,className:`text-brand size-4`})},CHANGES_REQUESTED:{text:`requested changes`,icon:(0,I.jsx)(Ln,{weight:`fill`,className:`text-destructive size-4`})},COMMENTED:{text:`commented`,icon:(0,I.jsx)(on,{className:`text-muted-foreground size-4`})},awaiting:{text:`awaiting review`,icon:(0,I.jsx)(dn,{className:`text-warning size-4`})}},kf=e=>e.reviewed?e.state===`APPROVED`||e.state===`CHANGES_REQUESTED`||e.state===`COMMENTED`?Of[e.state]:{...Of.COMMENTED,text:`reviewed`}:Of.awaiting,Af=({trigger:e,children:t})=>(0,I.jsxs)(De,{openDelay:80,closeDelay:60,children:[(0,I.jsx)(Ve,{asChild:!0,children:(0,I.jsx)(`span`,{className:`hover:bg-muted flex h-7 shrink-0 cursor-default items-center gap-1 rounded-md px-1.5 text-xs transition-colors`,children:e})}),(0,I.jsx)(Ne,{align:`end`,children:t})]}),jf=({reviewers:e})=>{if(e.length===0)return(0,I.jsx)(Af,{trigger:(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`No reviewers`}),children:(0,I.jsx)(`p`,{className:`text-xs`,children:`No reviewers requested or active yet.`})});let t=e.slice(0,4),n=Math.max(e.length-t.length,0);return(0,I.jsx)(Af,{trigger:(0,I.jsxs)(Qd,{children:[t.map(e=>(0,I.jsxs)(Yd,{size:`sm`,className:o(!e.reviewed&&`opacity-40 grayscale`),children:[e.avatarUrl?(0,I.jsx)(Xd,{src:e.avatarUrl,alt:`${e.name} avatar`}):null,(0,I.jsx)(Zd,{children:Df(e.name)})]},e.login)),n>0?(0,I.jsxs)($d,{children:[`+`,n]}):null]}),children:(0,I.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,I.jsx)(`p`,{className:`text-xs font-medium`,children:`Reviewers`}),e.map(e=>{let t=kf(e);return(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,I.jsxs)(Yd,{size:`sm`,children:[e.avatarUrl?(0,I.jsx)(Xd,{src:e.avatarUrl,alt:``}):null,(0,I.jsx)(Zd,{children:Df(e.name)})]}),(0,I.jsx)(`span`,{className:`min-w-0 truncate`,children:e.isBot?e.name.replace(/\[bot\]$/,``):e.name}),e.isBot?(0,I.jsx)(Qe,{variant:`secondary`,children:`bot`}):null,(0,I.jsxs)(`span`,{className:`text-muted-foreground ml-auto flex shrink-0 items-center gap-1`,children:[t.icon,t.text]})]},e.login)})]})})},Mf=({decision:e})=>{let t=e===`approved`?{icon:(0,I.jsx)(He,{weight:`fill`,className:`text-primary size-4`}),text:`Approved`}:e===`changes_requested`?{icon:(0,I.jsx)(Ln,{weight:`fill`,className:`text-destructive size-4`}),text:`Changes requested`}:{icon:(0,I.jsx)(dn,{className:`text-muted-foreground size-4`}),text:`Review required`};return(0,I.jsx)(Af,{trigger:t.icon,children:(0,I.jsx)(`p`,{className:`text-xs font-medium`,children:t.text})})},Nf=({conversation:e})=>{let t=e.items.filter(e=>e.kind===`thread`).length,n=t-e.unresolvedCount;return(0,I.jsx)(Af,{trigger:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(on,{className:o(`size-4`,t>0&&n===t?`text-primary`:`text-muted-foreground`)}),(0,I.jsxs)(`span`,{className:`text-muted-foreground tabular-nums`,children:[n,`/`,t]})]}),children:(0,I.jsx)(`p`,{className:`text-xs`,children:t===0?`No review comment threads.`:`${n} of ${t} comment thread${t===1?``:`s`} resolved`})})},Pf={fail:{rank:0,icon:(0,I.jsx)(Ln,{weight:`fill`,className:`text-destructive size-4`})},cancel:{rank:0,icon:(0,I.jsx)(Ln,{weight:`fill`,className:`text-destructive size-4`})},pending:{rank:1,icon:(0,I.jsx)(dn,{weight:`bold`,className:`text-warning size-4`})},pass:{rank:2,icon:(0,I.jsx)(He,{weight:`fill`,className:`text-brand size-4`})},skipping:{rank:3,icon:(0,I.jsx)(Mn,{className:`text-muted-foreground size-4`})}},Ff=({checks:e})=>{let t=Ef(e.items),n=t.requiredFailed+t.optionalFailed,r=e.unavailable?{icon:(0,I.jsx)(Mn,{className:`text-muted-foreground size-4`})}:t.pending>0&&n===0?{icon:(0,I.jsx)(ln,{className:`text-muted-foreground size-4`})}:t.requiredFailed>0?{icon:(0,I.jsx)(Ln,{weight:`fill`,className:`text-destructive size-4`})}:t.optionalFailed>0?{icon:(0,I.jsx)(Fn,{weight:`fill`,className:`text-warning size-4`})}:{icon:(0,I.jsx)(He,{weight:`fill`,className:`text-primary size-4`})},i=e.items.toSorted((e,t)=>Pf[e.bucket].rank-Pf[t.bucket].rank),a=[{count:n,text:`failing`},{count:t.pending,text:`pending`},{count:t.passed,text:`passed`},{count:t.skipped,text:`skipped`}].flatMap(({count:e,text:t})=>e>0?[`${e} ${t}`]:[]);return(0,I.jsx)(Af,{trigger:r.icon,children:e.unavailable||e.items.length===0?(0,I.jsx)(`p`,{className:`text-xs`,children:`No checks found for this commit.`}):(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`p`,{className:`text-xs font-medium`,children:`Checks`}),(0,I.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:a.join(` · `)})]}),(0,I.jsx)(df,{viewportClassName:`max-h-80`,children:(0,I.jsx)(`div`,{className:`space-y-0.5 pr-2`,children:i.map(e=>{let t=(0,I.jsxs)(I.Fragment,{children:[Pf[e.bucket].icon,(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.required?(0,I.jsx)(Qe,{variant:`outline`,children:`Required`}):null]}),n=`${e.name}-${e.bucket}-${e.url??``}`;return e.url?(0,I.jsx)(Vi,{href:e.url,className:`hover:bg-muted flex h-6 items-center gap-2 rounded-sm px-1 text-xs transition-colors`,children:t},n):(0,I.jsx)(`div`,{className:`flex h-6 items-center gap-2 px-1 text-xs`,children:t},n)})})})]})})},If=({labels:e})=>{if(e.length===0)return null;let t=e.slice(0,3),n=Math.max(e.length-t.length,0);return(0,I.jsx)(Af,{trigger:(0,I.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.map(e=>(0,I.jsx)(Qe,{variant:`secondary`,children:e.name},e.name)),n>0?(0,I.jsxs)(`span`,{className:`text-muted-foreground`,children:[`+`,n]}):null]}),children:(0,I.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,I.jsx)(`p`,{className:`text-xs font-medium`,children:`Labels`}),(0,I.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map(e=>(0,I.jsx)(Qe,{variant:`secondary`,children:e.name},e.name))})]})})},Lf=({metadata:e,conversation:t,isLoading:n,merge:r})=>!n&&!e?null:n||!e?(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,I.jsx)(A,{className:`h-7 w-20`}),(0,I.jsx)(A,{className:`h-7 w-12`})]}):(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,I.jsx)(jf,{reviewers:e.reviewers}),(0,I.jsx)(Mf,{decision:e.reviewDecision}),t?(0,I.jsx)(Nf,{conversation:t}):null,(0,I.jsx)(Ff,{checks:e.checks}),(0,I.jsx)(Tf,{status:e.merge,merge:r}),(0,I.jsx)(If,{labels:e.labels})]}),Rf=()=>null,zf=e=>e.split(/[\s@.]+/).flatMap(e=>{let t=e[0];return t?[t]:[]}).slice(0,2).join(``).toUpperCase()||`?`,Bf=({owner:e,repo:t,pr:n,title:r,state:i,author:a,headRef:o,baseRef:s,changedFiles:c,additions:u,deletions:d,updatedAt:f,previewUrl:p,baseRepoFullName:m,headRepoFullName:h,metadata:g,conversation:_,metadataLoading:v,storyAvailable:y,viewMode:b,merge:x,onViewModeChange:S,onReviewChanges:C})=>{let w=uf(e,t,n),T=lf(h??m,o),ee=lf(m,s);return(0,I.jsxs)(`div`,{className:`border-edge bg-background flex shrink-0 items-center gap-3 border-b px-4 py-2`,children:[(0,I.jsxs)(Yd,{size:`sm`,children:[a.avatarUrl?(0,I.jsx)(Xd,{src:a.avatarUrl,alt:`${a.login} avatar`}):null,(0,I.jsx)(Zd,{children:zf(a.login)})]}),(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,I.jsx)(Vi,{href:w,className:`truncate text-sm font-semibold hover:underline`,children:r}),(0,I.jsxs)(Vi,{href:w,className:`text-muted-foreground hidden shrink-0 items-center gap-1 text-xs hover:underline sm:flex`,children:[(0,I.jsx)(On,{className:`size-3.5`}),e,`/`,t,`#`,n]}),i===`open`?null:(0,I.jsx)(Qe,{variant:i===`closed`?`destructive`:`secondary`,className:`shrink-0`,children:i===`merged`?`Merged`:i===`closed`?`Closed`:`Draft`})]}),(0,I.jsxs)(`div`,{className:`text-muted-foreground flex min-w-0 items-center gap-2 text-xs`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[(0,I.jsx)(wn,{className:`size-3.5 shrink-0`}),(0,I.jsx)(Vi,{href:T,className:`truncate font-mono hover:underline`,children:o}),(0,I.jsx)(`span`,{children:`->`}),(0,I.jsx)(Vi,{href:ee,className:`truncate font-mono hover:underline`,children:s})]}),(0,I.jsxs)(`span`,{className:`hidden shrink-0 lg:inline`,children:[c,` files ·`,` `,(0,I.jsxs)(`span`,{className:`text-brand`,children:[`+`,u]}),` `,(0,I.jsxs)(`span`,{className:`text-destructive`,children:[`-`,d]})]}),(0,I.jsxs)(`span`,{className:`hidden shrink-0 md:inline`,children:[`updated `,cf(f)]})]})]}),(0,I.jsx)(Lf,{metadata:g,conversation:_,isLoading:v,merge:x}),y?(0,I.jsx)(Rf,{mode:b,onChange:S}):null,p?(0,I.jsx)(l,{asChild:!0,variant:`outline`,size:`sm`,className:`shrink-0 gap-1.5`,children:(0,I.jsxs)(Vi,{href:p,children:[(0,I.jsx)(rn,{className:`size-4`}),`Preview`]})}):null,(0,I.jsx)(l,{size:`sm`,className:`shrink-0`,onClick:C,children:`Review changes`})]})},Vf=({process:e,schedule:t})=>{let n=[],r=new Set,i=new Set,a=()=>{n.splice(0,1).forEach(t=>{r.delete(t),e(t)}),n.length>0?t(a):i.clear()};return{enqueue:e=>{r.has(e)||(r.add(e),n.push(e),!(i.size>0)&&(i.add(!0),t(a)))}}},Hf=`bash.c.cpp.csharp.css.dockerfile.go.html.java.js.jsx.json.kotlin.md.mdx.php.prisma.python.ruby.rust.scss.sql.ts.tsx.vue.xml.yaml`.split(`.`),Uf=1e3,Wf=e=>e.length<=Uf,Gf=[],Kf=[],qf=({text:e,language:t,theme:n})=>JSON.stringify([t,n,e]),Jf=e=>{let t=new Map,n=new Map,r=new Map,i=new Map,a=e=>Hf.includes(e)?e:null,o=({language:t,theme:n})=>{let i=a(t);if(!i)return null;let o=[e.getLoadedLanguages().includes(i)?null:{key:`lang:${i}`,load:()=>e.loadLanguage(i)},e.getLoadedThemes().includes(n)?null:{key:`theme:${n}`,load:()=>e.loadTheme(n)}].filter(e=>e!==null);return o.length===0?null:Promise.all(o.map(({key:e,load:t})=>{let n=r.get(e);if(n)return n;let i=t();return r.set(e,i),i}))},s=n=>{let r=qf(n),i=t.get(r);if(i!==void 0)return i;let o=a(n.language);if(!o||n.text.split(`
|
|
61
61
|
`).some(e=>!Wf(e)))return t.set(r,Gf),Gf;let s=e.codeToTokens(n.text||` `,{lang:o,theme:n.theme}).tokens.map(e=>e.map(e=>e.color?{content:e.content,color:e.color}:{content:e.content}));return t.set(r,s),s},c=e=>{let n=t.get(qf(e));if(n!==void 0)return n[e.offset]??Kf},l=e=>s(e)[e.offset]??Kf,u=(e,t)=>{n.delete(e),t.listeners.forEach(e=>e())},d=Vf({process:e=>{let r=n.get(e);if(!r)return;let i=o(r.input);i?i.then(()=>d.enqueue(e),()=>{t.set(e,Gf),u(e,r)}):(s(r.input),u(e,r))},schedule:e=>{setTimeout(e,0)}}),f=e=>{if(c(e)!==void 0)return;let t=qf(e);n.has(t)||n.set(t,{input:e,listeners:new Set}),d.enqueue(t)},p=(e,t)=>{if(c(e)!==void 0)return()=>void 0;let r=qf(e),i=n.get(r);return i?i.listeners.add(t):n.set(r,{input:e,listeners:new Set([t])}),f(e),()=>{n.get(r)?.listeners.delete(t)}};return{get:c,getStore:e=>{let t=JSON.stringify([e.language,e.theme,e.offset,e.text]),n=i.get(t);if(n)return n;let r={getSnapshot:()=>c(e),subscribe:t=>p(e,t)};return i.set(t,r),r},highlight:l,request:f}},Yf=e=>Jf(e),Xf=({filename:e,keys:t,lines:n,context:r})=>({kind:`selection`,id:`selection:diff:${e}:${t.join(`,`)}`,source:`diff`,label:`${e} (${t.length} line${t.length===1?``:`s`})`,text:r,path:e,startLine:n.length?Math.min(...n):void 0,endLine:n.length?Math.max(...n):void 0}),Zf=rt([`automatic`,`github`,`vscode`]),Qf=rt([`small`,`medium`,`large`]),$f=nt({theme:Zf,size:Qf,wrap:tt(),blame:tt().default(!0)}),ep=(e,t)=>{let n=t===`light`;return e===`github`?n?`github-light`:`github-dark`:e===`vscode`?n?`light-plus`:`dark-plus`:n?`github-light`:`dark-plus`},tp=(e,t)=>`https://github.com/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,np=()=>(0,I.jsx)(`div`,{className:`flex flex-col gap-1 p-4`,children:Array.from({length:20}).map((e,t)=>(0,I.jsx)(A,{className:`h-5 w-full`},t))}),rp=()=>(0,I.jsx)(np,{}),ip=()=>(0,I.jsx)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,children:Array.from({length:24},(e,t)=>(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(A,{className:`h-3 w-6 shrink-0`}),(0,I.jsx)(A,{className:`h-3`,style:{width:`${30+t*17%55}%`}})]},t))});function ap({...e}){return(0,I.jsx)(vs,{"data-slot":`dialog`,...e})}function op({...e}){return(0,I.jsx)(bs,{"data-slot":`dialog-portal`,...e})}function sp({className:e,...t}){return(0,I.jsx)(xs,{"data-slot":`dialog-overlay`,className:o(`fixed inset-0 isolate z-50 bg-scrim duration-(--duration-fast) supports-backdrop-filter:backdrop-blur-xs low-power:backdrop-filter-none data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 motion-reduce:duration-0 low-power:duration-0`,e),...t})}function cp({className:e,children:t,showCloseButton:n=!0,...r}){return(0,I.jsxs)(op,{children:[(0,I.jsx)(sp,{}),(0,I.jsxs)(Ss,{"data-slot":`dialog-content`,className:o(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-surface border border-edge-overlay bg-card p-4 text-sm text-card-foreground shadow-2xl duration-(--duration-fast) outline-none sm:max-w-sm data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:duration-0 low-power:duration-0`,e),...r,children:[t,n&&(0,I.jsx)(Ts,{"data-slot":`dialog-close`,asChild:!0,children:(0,I.jsxs)(l,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,I.jsx)(ye,{}),(0,I.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function lp({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`dialog-header`,className:o(`flex flex-col gap-2`,e),...t})}function up({className:e,showCloseButton:t=!1,children:n,...r}){return(0,I.jsxs)(`div`,{"data-slot":`dialog-footer`,className:o(`flex flex-col-reverse gap-2 pt-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,I.jsx)(Ts,{asChild:!0,children:(0,I.jsx)(l,{variant:`outline`,children:`Close`})})]})}function dp({className:e,...t}){return(0,I.jsx)(Cs,{"data-slot":`dialog-title`,className:o(`font-heading text-base leading-none font-medium`,e),...t})}function fp({className:e,...t}){return(0,I.jsx)(ws,{"data-slot":`dialog-description`,className:o(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}var pp=65536,mp=({owner:e,repo:t,pr:n,headSha:r,filename:i,open:a,onOpenChange:o,onCommented:s})=>{let c=Xe(),[u,d]=(0,F.useState)(``),f=u.trim().length-pp,p=be(c.github.reviewPostComment.mutationOptions({onSuccess:()=>{P.success(`File comment posted.`),d(``),o(!1),s()},onError:e=>{P.error(e.message??`Failed to post file comment.`)}}));return(0,I.jsx)(ap,{open:a,onOpenChange:o,children:(0,I.jsxs)(cp,{className:`sm:max-w-lg`,children:[(0,I.jsxs)(lp,{children:[(0,I.jsx)(dp,{children:`Comment on file`}),(0,I.jsx)(fp,{children:i?`Leave a review comment on ${i}.`:`Leave a review comment on this file.`})]}),(0,I.jsx)(ze,{value:u,onChange:e=>d(e.target.value),placeholder:`Leave a file comment...`,className:`min-h-32`}),f>0?(0,I.jsxs)(`p`,{className:`text-destructive text-xs`,children:[f.toLocaleString(),` characters over GitHub's`,` `,pp.toLocaleString(),` limit.`]}):null,(0,I.jsx)(up,{children:(0,I.jsxs)(l,{disabled:p.isPending||!i||f>0,onClick:()=>{let a=u.trim();i&&(a?a.length>65536?P.error(`Comment is too long (GitHub allows at most ${pp.toLocaleString()} characters).`):p.mutate({owner:e,repo:t,pr:n,body:a,path:i,commitId:r}):P.error(`Add a comment before posting.`))},children:[p.isPending?(0,I.jsx)(Ae,{}):null,`Post comment`]})})]})})};function hp({children:e}){return(0,I.jsx)(ct,{className:`text-foreground text-sm`,children:e})}var gp=ea,_p=ta,vp=na,yp=e=>e.split(/[\s@.]+/).flatMap(e=>{let t=e[0];return t?[t]:[]}).slice(0,2).join(``).toUpperCase()||`?`,bp=e=>{let t=e.startLine&&e.line&&e.startLine!==e.line?`:${e.startLine}-${e.line}`:e.line?`:${e.line}`:``;return`${e.path}${t}`},xp=({author:e})=>(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,I.jsxs)(Yd,{size:`sm`,children:[e.avatarUrl?(0,I.jsx)(Xd,{src:e.avatarUrl,alt:`${e.login} avatar`}):null,(0,I.jsx)(Zd,{children:yp(e.login)})]}),(0,I.jsx)(`span`,{className:`truncate text-xs font-medium`,children:e.login})]}),Sp=({body:e,url:t})=>(0,I.jsxs)(`div`,{className:`space-y-2 px-3 pb-3`,children:[(0,I.jsx)(`div`,{className:`max-w-none`,children:(0,I.jsx)(hp,{children:e||`_No description provided._`})}),(0,I.jsx)(l,{asChild:!0,variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,children:(0,I.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,children:[(0,I.jsx)(rn,{className:`size-3.5`}),`Open on GitHub`]})})]}),Cp=()=>(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(A,{className:`h-20 w-full`}),(0,I.jsx)(A,{className:`h-12 w-full`}),(0,I.jsx)(A,{className:`h-12 w-full`})]}),wp=({item:e,resolvingThreadId:t,onResolveThread:n,onSelectFile:r})=>{let i=e.kind===`comment`?e.author:e.comments[0]?.author;return(0,I.jsx)(gp,{defaultOpen:e.defaultOpen,children:(0,I.jsxs)(`div`,{className:o(`border-edge bg-background overflow-hidden rounded-md border`,e.kind===`thread`&&!e.isResolved&&`border-primary/50`),children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 px-3 py-2`,children:[(0,I.jsx)(_p,{asChild:!0,children:(0,I.jsx)(l,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,children:(0,I.jsx)(Ue,{className:`size-3.5`})})}),i?(0,I.jsx)(xp,{author:i}):null,(0,I.jsx)(`div`,{className:`text-muted-foreground min-w-0 flex-1 truncate text-xs`,children:e.kind===`comment`?(0,I.jsxs)(I.Fragment,{children:[`commented `,cf(new Date(e.createdAt))]}):(0,I.jsxs)(I.Fragment,{children:[`started a thread on`,` `,(0,I.jsx)(l,{variant:`link`,className:`h-auto max-w-full truncate p-0 align-baseline font-mono text-xs font-normal`,onClick:()=>r(e.path,e.diffSide===`RIGHT`?e.startLine??e.line??void 0:void 0),children:bp(e)})]})}),e.kind===`thread`?(0,I.jsxs)(I.Fragment,{children:[e.isOutdated?(0,I.jsx)(Qe,{variant:`outline`,children:`Outdated`}):null,(0,I.jsx)(Qe,{variant:e.isResolved?`secondary`:`default`,children:e.isResolved?`Resolved`:`Unresolved`}),!e.isResolved&&e.viewerCanResolve&&!e.comments.some(e=>e.reviewState===`PENDING`)?(0,I.jsxs)(l,{variant:`outline`,size:`sm`,className:`h-7 gap-1.5`,disabled:t===e.threadId,onClick:()=>n(e.threadId),children:[(0,I.jsx)(He,{className:`size-3.5`}),t===e.threadId?`Resolving`:`Resolve`]}):null]}):null]}),(0,I.jsx)(vp,{children:e.kind===`comment`?(0,I.jsx)(Sp,{body:e.body,url:e.url}):(0,I.jsxs)(`div`,{className:`space-y-3 px-3 pb-3`,children:[(0,I.jsx)(`pre`,{className:`bg-muted/50 text-muted-foreground overflow-x-auto rounded-md px-3 py-2 text-xs`,children:e.comments[0]?.diffHunk??``}),e.comments.map(e=>(0,I.jsxs)(`div`,{className:`border-edge border-t pt-3`,children:[(0,I.jsxs)(`div`,{className:`mb-2 flex min-w-0 items-center justify-between gap-2`,children:[(0,I.jsx)(xp,{author:e.author}),(0,I.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:cf(new Date(e.createdAt))})]}),(0,I.jsx)(Sp,{body:e.body,url:e.url})]},e.id))]})})]})})},Tp=({body:e,conversation:t,isLoading:n,isError:r,resolvingThreadId:i,onRetry:a,onResolveThread:o,onSelectFile:s})=>(0,I.jsx)(`div`,{className:`border-edge bg-background border-b p-4`,children:(0,I.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-4`,children:[(0,I.jsx)(`section`,{className:`space-y-2`,children:(0,I.jsx)(`div`,{className:`border-edge rounded-md border p-3`,children:(0,I.jsx)(hp,{children:e??`_No description provided._`})})}),(0,I.jsxs)(`section`,{className:`space-y-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`text-muted-foreground flex items-center gap-2 text-xs font-medium`,children:[(0,I.jsx)(We,{className:`size-4`}),`Conversation`]}),t?(0,I.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[t.items.length,` items · `,t.unresolvedCount,` `,`unresolved`]}):null]}),n?(0,I.jsx)(Cp,{}):null,r?(0,I.jsx)(he,{message:`We couldn't load the pull request conversation.`,refetch:a,support:!1}):null,!n&&!r&&t?.items.length===0?(0,I.jsx)(`div`,{className:`border-edge text-muted-foreground rounded-md border p-3 text-sm`,children:`No comments or review threads yet.`}):null,(0,I.jsx)(`div`,{className:`space-y-2`,children:t?.items.map(e=>(0,I.jsx)(wp,{item:e,resolvingThreadId:i,onResolveThread:o,onSelectFile:s},e.id))})]})]})}),Ep={ts:{grammar:`typescript`,queries:`typescript`},mts:{grammar:`typescript`,queries:`typescript`},cts:{grammar:`typescript`,queries:`typescript`},tsx:{grammar:`tsx`,queries:`typescript`},js:{grammar:`javascript`,queries:`javascript`},mjs:{grammar:`javascript`,queries:`javascript`},cjs:{grammar:`javascript`,queries:`javascript`},jsx:{grammar:`javascript`,queries:`javascript`}},Dp=e=>{let t=e.slice(e.lastIndexOf(`/`)+1),n=t.lastIndexOf(`.`);if(n<=0)return null;let r=t.slice(n+1).toLowerCase();return Object.hasOwn(Ep,r)?Ep[r]:null},Op=e=>!!e&&e.status!==`removed`&&!!Dp(e.filename),kp=e=>!!e.selectedFile&&e.requested&&!e.isFetching&&(e.isError||e.dataPath===e.selectedFile&&e.lineCount===0),Ap=(e,t)=>e.github.reviewGetBlame.queryOptions(t,{staleTime:1/0}),jp=(e,t)=>e.github.reviewGetFileLines.queryOptions(t,{staleTime:1/0}),Mp=()=>null,Np=async()=>{let[{createHighlighter:e},{createJavaScriptRegexEngine:t}]=await Promise.all([lt(()=>import(`./dist-CKia_GZs.js`),__vite__mapDeps([0,1,2,3])),lt(()=>import(`./engine-javascript-PyIzzclY.js`),__vite__mapDeps([4,3]))]);return e({themes:[],langs:[],engine:t()})},Pp={Dockerfile:`dockerfile`,"docker-compose.yml":`yaml`,"docker-compose.yaml":`yaml`,"package.json":`json`,"tsconfig.json":`json`,"README.md":`md`},Fp={c:`c`,cc:`cpp`,cpp:`cpp`,cs:`csharp`,css:`css`,go:`go`,html:`html`,java:`java`,js:`js`,jsx:`jsx`,json:`json`,kt:`kotlin`,md:`md`,mdx:`mdx`,php:`php`,prisma:`prisma`,py:`python`,rb:`ruby`,rs:`rust`,scss:`scss`,sh:`bash`,sql:`sql`,ts:`ts`,tsx:`tsx`,vue:`vue`,xml:`xml`,yaml:`yaml`,yml:`yaml`},Ip=e=>{let t=e.split(`/`).pop()??e,n=Pp[t];if(n)return n;let r=t.includes(`.`)?t.split(`.`).pop():void 0;return r?Fp[r.toLowerCase()]??`text`:`text`},Lp=e=>[...new Set(e.map(Ip))].filter(e=>Hf.includes(e)).sort(),Rp=({filenames:e,theme:t})=>{let n=p({queryKey:[`review-diff-shiki`],queryFn:Np,staleTime:1/0}),r=Lp(e);return p({queryKey:[`review-diff-shiki`,`preload`,r,t],queryFn:async()=>n.data?(await Promise.all([n.data.loadLanguage(...r),n.data.loadTheme(t)]),!0):!1,enabled:n.data!==void 0&&r.length>0,staleTime:1/0}),n},zp=e=>Array.from({length:e.endLine-e.startLine+1},(t,n)=>e.startLine+n),Bp=({blocks:e,files:t})=>{let n=new Map(t.map(e=>[e.filename,e.previousFilename]));return e.reduce((e,t)=>{let r=n.get(t.from.filename)??t.from.filename,i=t.from.filename!==t.to.filename;return zp(t.from).forEach(n=>e.set(`${t.from.filename}:old:${n}`,{label:i?`Moved to ${t.to.filename}`:null,target:{filename:t.to.filename,line:t.to.startLine}})),zp(t.to).forEach(n=>e.set(`${t.to.filename}:new:${n}`,{label:i?`Moved from ${r}`:null,target:{filename:t.from.filename,line:null}})),e},new Map)},Vp=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/,Hp=e=>e?Number(e):1,Up=(e,t)=>{let n=Vp.exec(e);return n?{rowIndex:t,header:e,oldStart:Number(n[1]),oldLines:Hp(n[2]),newStart:Number(n[3]),newLines:Hp(n[4])}:null},Wp=e=>{let t=(e.additions??0)+(e.deletions??0);return e.status===`renamed`&&t===0?e.previousFilename?`Renamed from ${e.previousFilename} with no content changes.`:`Renamed with no content changes.`:t===0?`Binary file not shown.`:`Large diff not shown (+${e.additions??0} -${e.deletions??0}). Open the file on GitHub to read it.`},Gp=e=>{if(!e.patch)return{rows:[{kind:`meta`,oldLine:null,newLine:null,content:Wp(e)}],hunks:[]};let t={oldLine:0,newLine:0},n=[],r=[];return e.patch.split(`
|
|
62
|
-
`).forEach(e=>{let i=Up(e,n.length);i?(t.oldLine=i.oldStart,t.newLine=i.newStart,r.push(i),n.push({kind:`hunk`,oldLine:null,newLine:null,content:i.header})):e.startsWith(`\`)?n.push({kind:`meta`,oldLine:null,newLine:null,content:e}):r.length!==0&&(e.startsWith(`+`)?(n.push({kind:`add`,oldLine:null,newLine:t.newLine,content:e.slice(1)}),t.newLine+=1):e.startsWith(`-`)?(n.push({kind:`delete`,oldLine:t.oldLine,newLine:null,content:e.slice(1)}),t.oldLine+=1):e.startsWith(` `)&&(n.push({kind:`context`,oldLine:t.oldLine,newLine:t.newLine,content:e.slice(1)}),t.oldLine+=1,t.newLine+=1))}),{rows:n,hunks:r}},Kp=20,qp=2,Jp=2e4,Yp=20,Xp=e=>e.reduce((e,t)=>(Gp(t).rows.forEach(n=>{let r=n.content.trim();n.kind===`delete`&&n.oldLine!==null&&e.removed.push({filename:t.filename,line:n.oldLine,content:r}),n.kind===`add`&&n.newLine!==null&&e.added.push({filename:t.filename,line:n.newLine,content:r})}),e),{added:[],removed:[]}),Zp=e=>e.reduce((e,t,n)=>{if(t.content.length<Kp)return e;let r=e.get(t.content);return r?r.push(n):e.set(t.content,[n]),e},new Map),Qp=({added:e,removed:t,addedIndex:n,removedIndex:r,claimedAdded:i,claimedRemoved:a})=>{let o=o=>{let s=e[n+o],c=e[n+o-1],l=t[r+o],u=t[r+o-1];return!s||!c||!l||!u?!1:s.content===l.content&&s.filename===c.filename&&l.filename===u.filename&&s.line===c.line+1&&l.line===u.line+1&&!i.has(n+o)&&!a.has(r+o)},s={offset:1};for(;o(s.offset);)s.offset+=1;return s.offset},$p=({files:e})=>{let t=[];if(e.reduce((e,t)=>t.patch?e+t.additions+t.deletions:e,0)>Jp)return{skipped:!0,blocks:t};let{added:n,removed:r}=Xp(e),i=Zp(r),a=new Set,o=new Set;return n.forEach((e,s)=>{if(a.has(s)||e.content.length<Kp)return;let c=i.get(e.content);if(!c||c.length>Yp)return;let l=c.reduce((e,t)=>{if(o.has(t))return e;let i=Qp({added:n,removed:r,addedIndex:s,removedIndex:t,claimedAdded:a,claimedRemoved:o});return e&&e.length>=i?e:{index:t,length:i}},null);if(!l||l.length<qp)return;let u=r[l.index],d=r[l.index+l.length-1],f=n[s+l.length-1];u&&d&&f&&(Array.from({length:l.length}).forEach((e,t)=>{a.add(s+t),o.add(l.index+t)}),t.push({from:{filename:u.filename,startLine:u.line,endLine:d.line},to:{filename:e.filename,startLine:e.line,endLine:f.line}}))}),{skipped:!1,blocks:t}},em=({files:e})=>{let t=(0,F.useRef)(null);if(t.current?.files!==e){let n=$p({files:e});t.current={files:e,skipped:n.skipped,markers:Bp({blocks:n.blocks,files:e})}}return{skipped:t.current.skipped,markers:t.current.markers}},tm=`glen.review.code-appearance.v1`,nm=`glen-review-code-appearance`,rm=$f.parse({theme:`automatic`,size:`medium`,wrap:!1,blame:!0}),im=e=>{if(!e)return rm;let[t,n,r,i]=e.split(`:`),a=$f.safeParse({theme:t,size:n,wrap:r===`1`,...i===`0`||i===`1`?{blame:i===`1`}:{}});return a.success?a.data:rm},am=e=>[e.theme,e.size,e.wrap?`1`:`0`,e.blame?`1`:`0`].join(`:`),om=am(rm),sm=()=>localStorage.getItem(tm)??om,cm=e=>{let t=t=>{t.key===tm&&e()};return window.addEventListener(`storage`,t),window.addEventListener(nm,e),()=>{window.removeEventListener(`storage`,t),window.removeEventListener(nm,e)}},lm=()=>{let e=im((0,F.useSyncExternalStore)(cm,sm,()=>om)),t=e=>{localStorage.setItem(tm,am(e)),window.dispatchEvent(new Event(nm))};return{appearance:e,setTheme:n=>t({...e,theme:n}),setSize:n=>t({...e,size:n}),setWrap:n=>t({...e,wrap:n}),setBlame:n=>t({...e,blame:n})}},um=nt({id:Ye().min(1).max(256),label:Ye().min(1).max(256).optional()}),dm=um.extend({kind:Je(`selection`),source:rt([`diff`,`pr-description`,`comment`]),text:Ye().min(1),path:Ye().max(512).optional(),startLine:et().int().positive().optional(),endLine:et().int().positive().optional(),commentId:et().int().positive().optional()}),fm=um.extend({kind:Je(`file`),path:Ye().min(1).max(512),status:Ye().max(64).optional()}),pm=um.extend({kind:Je(`symbol`),path:Ye().min(1).max(512),name:Ye().min(1).max(256),symbolKind:rt([`function`,`class`,`method`,`component`,`type`]),line:et().int().positive().optional(),signature:Ye().max(512).optional()}),mm=um.extend({kind:Je(`pr-description`),prNumber:et().int().positive(),title:Ye().min(1).max(512),body:Ye().nullable().optional()}),hm=um.extend({kind:rt([`issue-comment`,`review-comment`]),commentId:et().int().positive(),author:Ye().min(1).max(256),body:Ye().min(1),path:Ye().max(512).optional(),line:et().int().positive().optional()}),gm=um.extend({kind:Je(`check`),checkId:et().int().positive().optional(),name:Ye().min(1).max(256),status:Ye().min(1).max(64),conclusion:Ye().max(64).nullable().optional(),url:Ye().url().max(1024).optional()}),_m=Ze(`kind`,[dm,fm,pm,mm,hm,gm]);$e(_m).max(50);var vm=[],ym=(0,F.lazy)(()=>lt(()=>import(`./diff-viewer-DDWYsF6W.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([5,1,6,7,8,9,10,11,2,12,13,14,15,16,17]))),bm=(0,F.lazy)(()=>lt(()=>import(`./explored-file-view-DGqTyQfd.js`).then(e=>({default:e.ExploredFileView})),__vite__mapDeps([18,6,1,7,8,12,15,16]))),xm=({owner:e,repo:t,pr:n,headSha:r,prBody:i,prLoading:a,prError:o,files:s,activeFile:c,exploredFiles:l,onCloseExplored:u,scrollNonce:d,lineTarget:f,expandedStoryFile:m,prewarmFile:h,githubPrUrl:g,conversation:_,conversationLoading:v,conversationError:y,resolvingThreadId:b,viewMode:x,story:S,storyPending:C,storyError:w,storyGenerating:T,onRetryStory:ee,onActiveBeatChange:te,onAddContextItem:ne,onRetryPr:re,onRetryConversation:ie,onResolveThread:ae,onSelectFile:oe,onExpandStoryFile:E,onFileCommented:D,blockMarks:O,history:se,viewportRef:ce})=>{let le=Xe(),{resolvedTheme:ue}=Tt(),k=lm(),A=ep(k.appearance.theme,ue),de=Rp({filenames:(s??vm).map(e=>e.filename),theme:A}),j=(0,F.useRef)(null);de.data&&j.current?.highlighter!==de.data&&(j.current={highlighter:de.data,cache:Yf(de.data)});let fe=de.data?j.current?.cache:null,[pe,me]=(0,F.useReducer)((e,t)=>t,null),ge=be(le.github.reviewAddInlineComment.mutationOptions({onSuccess:e=>{P.success(e.type===`pending_inline`?`Review comment added.`:`Inline comment posted.`),D()},onError:e=>{P.error(e.message??`Failed to add inline comment.`)}})),_e=be(le.github.reviewReplyToThread.mutationOptions({onSuccess:()=>{P.success(`Reply posted.`),D()},onError:e=>{P.error(e.message??`Failed to post reply.`)}})),ve=c&&l.includes(c)?c:null,M=ve?null:c??s?.[0]?.filename??null,ye=s?.find(e=>e.filename===M)??null,[N,xe]=(0,F.useReducer)((e,t)=>e.has(t)?e:new Set(e).add(t),new Set),[Se,Ce]=(0,F.useReducer)(()=>!0,!1);M&&!N.has(M)&&(Se||f?.filename===M||Op(ye))&&xe(M);let we=p({...jp(le,{owner:e,repo:t,pr:n,headSha:r,path:M??``}),enabled:!!M&&N.has(M)}),Te=we.data?.path===M?we.data?.lines??null:null,Ee=kp({selectedFile:M,requested:!!M&&N.has(M),isFetching:we.isFetching,isError:we.isError,dataPath:we.data?.path,lineCount:we.data?.lines.length??0}),De=()=>{we.refetch()},[Oe,ke]=(0,F.useState)(`unified`),Ae=k.appearance.blame&&!!r,je=e=>!!e&&e.status!==`removed`,Me=p({...Ap(le,{owner:e,repo:t,pr:n,headSha:r,paths:M?[M]:[]}),enabled:Ae&&!!M&&je(ye)}),Ne=s?.find(e=>e.filename===h)??null;p({...Ap(le,{owner:e,repo:t,pr:n,headSha:r,paths:h?[h]:[]}),enabled:Ae&&!!h&&h!==M&&je(Ne),retry:!1});let Pe=Me.data?.files.find(e=>e.path===M)??null,Fe=Pe?.ok?Pe.ranges:null,Ie=Me.isError?`Couldn't load blame.`:Pe&&!Pe.ok?Pe.reason:null,Le=()=>{Me.refetch()},Re=em({files:s??vm}),ze=c===null,Be=_?.items.flatMap(e=>e.kind===`thread`&&e.path&&e.line?[e]:[])??[],Ve=_?.items.flatMap(e=>e.kind===`thread`&&e.path&&!e.line?[e]:[])??[],He={resolvingThreadId:b,replyPending:_e.isPending,inlineCommentPending:ge.isPending,onResolveThread:ae,onReply:(r,i)=>_e.mutate({owner:e,repo:t,pr:n,threadId:r,body:i}),onAddInlineComment:i=>ge.mutate({owner:e,repo:t,pr:n,body:i.body,path:i.path,line:i.line,side:i.side,commitId:r,mode:i.mode})};return x===`story`?(0,I.jsx)(Mp,{story:S,isPending:C,isError:w,generating:T,onRetry:ee,prBody:i,conversation:_,conversationLoading:v,conversationError:y,onRetryConversation:ie,onSelectFile:oe,handlers:He,onActiveBeatChange:te,tokenCache:fe,shikiTheme:A,codeAppearance:k,onAddContextItem:ne,onExpandFile:E}):ve?(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(ip,{}),children:(0,I.jsx)(bm,{owner:e,repo:t,pr:n,headSha:r,path:ve,lineTarget:f,tokenCache:fe,shikiTheme:A,codeAppearance:k,history:se,viewportRef:ce,onClose:()=>u(ve)})}):(0,I.jsxs)(`div`,{className:`flex h-full flex-col overflow-y-auto`,children:[ze?(0,I.jsx)(Tp,{body:i,conversation:_,isLoading:v,isError:y,resolvingThreadId:b,onRetry:ie,onResolveThread:ae,onSelectFile:oe}):null,!ze&&a?(0,I.jsx)(rp,{}):null,!ze&&o?(0,I.jsx)(he,{refetch:re}):null,!ze&&!a&&!o&&s?(0,I.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(np,{}),children:(0,I.jsx)(ym,{files:s,activeFile:c,owner:e,repo:t,pr:n,headSha:r,scrollNonce:d,lineTarget:f,expandedStoryFile:m,onAddSelection:e=>ne(Xf(e)),prewarmFile:h,githubPrUrl:g,commitUrlBase:tp(e,t),inlineThreads:Be,fileThreads:Ve,inlineCommentPending:ge.isPending,resolvingThreadId:b,replyPending:_e.isPending,onResolveThread:ae,onReply:(r,i)=>_e.mutate({owner:e,repo:t,pr:n,threadId:r,body:i}),onCommentFile:me,onInlineCommented:i=>ge.mutate({owner:e,repo:t,pr:n,body:i.body,path:i.target.filename,line:i.target.line,side:i.target.side,commitId:r,mode:i.mode}),tokenCache:fe,shikiTheme:A,codeAppearance:k,fileLines:Te,fileLinesLoading:we.isFetching,fileLinesError:Ee,onRetryFileLines:De,onPrefetchFileLines:xe,onFindUsed:Ce,blame:Fe,blameEnabled:k.appearance.blame,blameLoading:Me.isFetching,blameError:Ie,onRetryBlame:Le,layout:Oe,onLayoutChange:ke,onSelectFile:oe,history:se,viewportRef:ce,moves:Re,blocksByFile:O.blocksByFile,blockMarks:O})})}):null,(0,I.jsx)(mp,{owner:e,repo:t,pr:n,headSha:r,filename:pe,open:pe!==null,onOpenChange:e=>me(e?pe:null),onCommented:D})]})};function Sm({className:e,...t}){return(0,I.jsx)(Nc,{"data-slot":`checkbox`,className:o(`peer size-4 shrink-0 rounded-control border border-edge-strong transition-shadow dark:bg-input/30 outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary`,e),...t,children:(0,I.jsx)(Fc,{className:`flex items-center justify-center text-current`,children:(0,I.jsx)(sn,{className:`size-3`,weight:`bold`})})})}var Cm=e=>e.map(e=>e.kind===`folder`?{...e,children:Cm(e.children)}:e).sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name):e.kind===`folder`?-1:1),wm=e=>{if(e.kind===`file`)return e;let t=e.children.map(wm),n={...e,children:t},[r]=n.children;return n.children.length!==1||r?.kind!==`folder`?n:{...r,name:`${n.name}/${r.name}`}},Tm=(e,t,n,r)=>{let[i,...a]=n;if(!i)return e;if(a.length===0)return e.push({kind:`file`,name:i,path:t.filename,file:t}),e;let o=r?`${r}/${i}`:i,s=e.find(e=>e.kind===`folder`&&e.path===o),c=s?.kind===`folder`?s:{kind:`folder`,name:i,path:o,children:[]};return s||e.push(c),Tm(c.children,t,a,o),e},Em=e=>Cm(e.reduce((e,t)=>Tm(e,t,t.filename.split(`/`),``),[])).map(wm),Dm=e=>{switch(e){case`added`:return(0,I.jsx)(gn,{size:14,className:`text-chart-1 shrink-0`});case`removed`:return(0,I.jsx)(vn,{size:14,className:`text-destructive shrink-0`});case`renamed`:return(0,I.jsx)(tn,{size:14,className:`text-muted-foreground shrink-0`});default:return null}},Om=100,km=e=>e*.75+.5,Am=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>{let u=(0,F.useRef)(void 0),d=()=>{clearTimeout(u.current),u.current=setTimeout(()=>i(e.file.filename),Om)},f=()=>clearTimeout(u.current),p=s?.get(e.file.filename);return(0,F.useEffect)(()=>()=>clearTimeout(u.current),[]),(0,I.jsxs)(l,{variant:a===e.file.filename?`secondary`:`ghost`,onClick:()=>r(e.file.filename),onFocus:d,onBlur:f,onMouseEnter:d,onMouseLeave:f,className:`h-6 w-full justify-start gap-1.5 px-2 py-0 text-xs font-normal`,style:{paddingLeft:`${km(c)}rem`},children:[(0,I.jsx)(Sm,{checked:t.has(e.file.filename),disabled:!o,onCheckedChange:t=>n(e.file.filename,!!t),onClick:e=>e.stopPropagation()}),Dm(e.file.status),(0,I.jsx)(`span`,{title:e.file.filename,className:`min-w-0 truncate text-left font-mono`,children:e.name}),(0,I.jsxs)(`span`,{className:`flex h-4 min-w-0 flex-1 basis-0 flex-row-reverse flex-wrap gap-x-1.5 overflow-hidden tabular-nums`,children:[(0,I.jsxs)(`span`,{className:`text-destructive/80`,children:[`-`,e.file.deletions]}),(0,I.jsxs)(`span`,{className:`text-brand/80`,children:[`+`,e.file.additions]}),p&&p.reviewed>0?(0,I.jsxs)(`span`,{className:`text-muted-foreground`,title:`${p.reviewed} of ${p.total} change blocks reviewed`,children:[p.reviewed,`/`,p.total]}):null]})]})},jm=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>(0,I.jsxs)(gp,{defaultOpen:!0,children:[(0,I.jsx)(_p,{asChild:!0,children:(0,I.jsxs)(l,{variant:`ghost`,className:`group h-6 w-full justify-start gap-1.5 px-2 py-0 text-xs font-medium`,style:{paddingLeft:`${km(c)}rem`},children:[(0,I.jsx)(Ce,{size:12,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,I.jsx)(bn,{size:14,className:`shrink-0 group-data-[state=open]:hidden`}),(0,I.jsx)(Sn,{size:14,className:`hidden shrink-0 group-data-[state=open]:block`}),(0,I.jsx)(`span`,{title:e.path,className:`truncate font-mono`,children:e.name})]})}),(0,I.jsxs)(vp,{className:`relative`,children:[(0,I.jsx)(`span`,{"aria-hidden":!0,className:`bg-edge pointer-events-none absolute inset-y-0 w-px`,style:{left:`calc(${km(c)}rem + 6px)`}}),e.children.map(e=>(0,I.jsx)(Mm,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c+1},e.path))]})]}),Mm=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>e.kind===`folder`?(0,I.jsx)(jm,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c}):(0,I.jsx)(Am,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c}),Nm=({paths:e,activeFile:t,onSelectFile:n,onCloseExplored:r})=>e.length===0?null:(0,I.jsxs)(`div`,{className:`border-edge mt-2 flex flex-col gap-0.5 border-t border-dashed pt-2`,children:[(0,I.jsxs)(`div`,{className:`text-muted-foreground flex items-center gap-1.5 px-2 py-1 text-xs font-medium`,children:[(0,I.jsx)(pn,{size:13,className:`shrink-0`}),`Explored · reference only`]}),e.map(e=>(0,I.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,I.jsx)(l,{variant:t===e?`secondary`:`ghost`,onClick:()=>n(e),className:`h-auto min-w-0 flex-1 justify-start gap-2 px-2 py-1.5 text-xs font-normal`,children:(0,I.jsx)(`span`,{title:e,className:`text-muted-foreground truncate font-mono`,children:e.split(`/`).slice(-2).join(`/`)})}),(0,I.jsx)(l,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${e}`,onClick:()=>r(e),children:(0,I.jsx)(x,{size:12})})]},e))]}),Pm=({files:e,exploredFiles:t,viewedFiles:n,viewedReady:r,blockProgress:i,onToggleViewed:a,onSelectDescription:o,onSelectFile:s,onCloseExplored:c,onPrewarmFile:u,activeFile:d})=>{let f=new Set(n),p=Em(e);return(0,I.jsxs)(`div`,{className:`flex h-full flex-col overflow-y-auto p-2`,children:[(0,I.jsxs)(`div`,{className:`text-muted-foreground shrink-0 px-2 py-1 text-xs font-medium`,children:[e.length,` files changed · `,f.size,` viewed`]}),(0,I.jsxs)(l,{variant:d===null?`secondary`:`ghost`,onClick:o,className:`h-6 w-full justify-start gap-2 px-2 py-0 text-xs font-normal`,children:[(0,I.jsx)(On,{size:14,className:`text-muted-foreground shrink-0`}),(0,I.jsx)(`span`,{className:`flex-1 truncate text-left`,children:`PR description`})]}),p.map(e=>(0,I.jsx)(Mm,{node:e,viewedSet:f,onToggleViewed:a,onSelectFile:s,onPrewarmFile:u,activeFile:d,viewedReady:r,blockProgress:i,depth:0},e.path)),(0,I.jsx)(Nm,{paths:t,activeFile:d,onSelectFile:s,onCloseExplored:c})]})},Fm=()=>(0,I.jsx)(`div`,{className:`flex flex-col gap-2 p-3`,children:Array.from({length:8}).map((e,t)=>(0,I.jsx)(A,{className:`h-6 w-full`},t))}),Im=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,{componentStack:t}){this.props.onError?.(e,t??null)}render(){return this.state.hasError?this.props.fallback===void 0?(0,I.jsx)(he,{message:this.props.message??`This section failed to load.`,refetch:()=>this.setState({hasError:!1})}):this.props.fallback:this.props.children}},Lm=(...e)=>void 0,Rm={start:Lm,identify:Lm,group:Lm,reset:Lm,events:e=>({definitions:e,capture:Lm}),captureException:(e,t)=>void Ie.local.clientError.mutate({message:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack??null:null,properties:t}).catch(()=>void 0),sessionReplayUrl:()=>void 0},zm=({name:e,children:t,...n})=>(0,I.jsx)(z,{...n,children:(0,I.jsx)(Im,{message:`Only this panel failed. The rest of the review still works.`,onError:(t,n)=>Rm.captureException(t instanceof Error?t:Error(String(t)),{boundary:`review-panel`,panel:e,componentStack:n}),children:t})});function Bm({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,I.jsx)(Jd,{"data-slot":`separator`,decorative:n,orientation:t,className:o(`shrink-0 bg-edge data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}var Vm=()=>(0,I.jsx)(Li,{className:`group/handle flex w-1.5 cursor-col-resize`,children:(0,I.jsx)(`div`,{className:`group-hover/handle:bg-primary/30 flex w-full justify-center transition-colors`,children:(0,I.jsx)(Bm,{orientation:`vertical`})})}),Hm=({prData:e,...t})=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(zm,{name:`file-tree`,defaultSize:15,minSize:10,collapsible:!0,children:e.isPending?(0,I.jsx)(Fm,{}):e.isError||!e.data?(0,I.jsx)(he,{refetch:()=>void e.refetch(),support:!1}):(0,I.jsx)(Pm,{files:e.data.files,...t})}),(0,I.jsx)(Vm,{})]}),Um=(e,t)=>e.github.reviewGetConversation.queryOptions(t,{staleTime:6e4,refetchOnWindowFocus:!1}),Wm=(e,t)=>e.github.reviewGetMetadata.queryOptions(t,{staleTime:6e4,refetchOnWindowFocus:!1}),Gm=(e,t)=>e.github.reviewGetPrMeta.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),Km=(e,t)=>e.github.reviewGetPr.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),qm=(e,t)=>e.github.reviewGetSession.queryOptions(t),Jm=(e,t)=>e.github.reviewGetSources.queryOptions(t),Ym=({owner:e,repo:t,pr:n,open:r,onOpenChange:i,onSubmitted:a,canApprove:o})=>{let s=Xe(),[c,u]=(0,F.useState)(``),d=c.trim().length-pp,f=be(s.github.reviewSubmit.mutationOptions({onSuccess:()=>{P.success(`Review submitted.`),u(``),i(!1),a()},onError:e=>{P.error(e.message??`Failed to submit review.`)}})),p=r=>{let i=c.trim();r!==`APPROVE`&&!i?P.error(`Add a review summary before submitting.`):i.length>65536?P.error(`Review is too long (GitHub allows at most ${pp.toLocaleString()} characters).`):f.mutate({owner:e,repo:t,pr:n,event:r,body:i.length>0?i:void 0})};return(0,I.jsx)(ap,{open:r,onOpenChange:i,children:(0,I.jsxs)(cp,{className:`sm:max-w-lg`,children:[(0,I.jsxs)(lp,{children:[(0,I.jsx)(dp,{children:`Review changes`}),(0,I.jsx)(fp,{children:o?`Submit a summary review for this pull request.`:`You can't approve or request changes on your own pull request, but you can leave a comment.`})]}),(0,I.jsx)(ze,{value:c,onChange:e=>u(e.target.value),placeholder:`Leave a review summary...`,className:`min-h-32`}),d>0?(0,I.jsxs)(`p`,{className:`text-destructive text-xs`,children:[d.toLocaleString(),` characters over GitHub's`,` `,pp.toLocaleString(),` limit.`]}):null,(0,I.jsxs)(up,{className:`gap-2`,children:[(0,I.jsxs)(l,{variant:`outline`,disabled:f.isPending||d>0,onClick:()=>p(`COMMENT`),children:[f.isPending?(0,I.jsx)(Ae,{}):null,`Comment`]}),o?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{disabled:f.isPending||d>0,onClick:()=>p(`APPROVE`),children:`Approve`}),(0,I.jsx)(l,{variant:`destructive`,disabled:f.isPending||d>0,onClick:()=>p(`REQUEST_CHANGES`),children:`Request changes`})]}):null]})]})})};function Xm({...e}){return(0,I.jsx)(Zs,{"data-slot":`alert-dialog`,...e})}function Zm({...e}){return(0,I.jsx)(Qs,{"data-slot":`alert-dialog-portal`,...e})}function Qm({className:e,...t}){return(0,I.jsx)($s,{"data-slot":`alert-dialog-overlay`,className:o(`fixed inset-0 z-50 bg-scrim duration-(--duration-fast) supports-backdrop-filter:backdrop-blur-xs low-power:backdrop-filter-none data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 motion-reduce:animate-none low-power:animate-none`,e),...t})}function $m({className:e,size:t=`default`,...n}){return(0,I.jsxs)(Zm,{children:[(0,I.jsx)(Qm,{}),(0,I.jsx)(ec,{"data-slot":`alert-dialog-content`,"data-size":t,className:o(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-surface border border-edge-overlay bg-card p-4 text-card-foreground shadow-2xl duration-(--duration-fast) outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none low-power:animate-none`,e),...n})]})}function eh({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:o(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function th({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:o(`flex flex-col-reverse gap-2 pt-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function nh({className:e,...t}){return(0,I.jsx)(rc,{"data-slot":`alert-dialog-title`,className:o(`font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function rh({className:e,...t}){return(0,I.jsx)(ic,{"data-slot":`alert-dialog-description`,className:o(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function ih({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,I.jsx)(l,{variant:t,size:n,asChild:!0,children:(0,I.jsx)(tc,{"data-slot":`alert-dialog-action`,className:o(e),...r})})}function ah({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,I.jsx)(l,{variant:t,size:n,asChild:!0,children:(0,I.jsx)(nc,{"data-slot":`alert-dialog-cancel`,className:o(e),...r})})}var oh=({active:e,onNavigate:t})=>{let[n,r]=(0,F.useState)(null);return(0,F.useEffect)(()=>{if(!e)return;let t=e=>{e.preventDefault(),e.returnValue=``},n=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target?.closest(`a`);t&&(!t.getAttribute(`href`)||t.target===`_blank`||t.hasAttribute(`download`)||t.origin!==window.location.origin||t.pathname===window.location.pathname&&t.search===window.location.search||(e.preventDefault(),e.stopPropagation(),r(t.pathname+t.search)))};return window.addEventListener(`beforeunload`,t),document.addEventListener(`click`,n,!0),()=>{window.removeEventListener(`beforeunload`,t),document.removeEventListener(`click`,n,!0)}},[e]),(0,I.jsx)(Xm,{open:n!==null,onOpenChange:e=>{e||r(null)},children:(0,I.jsxs)($m,{children:[(0,I.jsxs)(eh,{children:[(0,I.jsx)(nh,{children:`Submit your review?`}),(0,I.jsx)(rh,{children:`You have review comments that you haven't submitted yet. They stay as a draft on GitHub, but the author won't see them until you submit your review.`})]}),(0,I.jsxs)(th,{children:[(0,I.jsx)(ah,{children:`Keep reviewing`}),(0,I.jsx)(ih,{onClick:()=>{let e=n;r(null),e&&t(e)},children:`Leave without submitting`})]})]})})},sh=({blockKeys:e,marked:t,viewed:n,changes:r})=>{let i=new Set(r.map(e=>e.key)),a=r.some(e=>!e.reviewed),o=n&&a?e.flatMap(e=>t.has(e)||i.has(e)?[]:[{key:e,reviewed:!0}]):[],s=[...r,...o].filter((e,n,r)=>t.has(e.key)!==e.reviewed&&r.findIndex(t=>t.key===e.key)===n),c=new Set(t);s.forEach(e=>e.reviewed?c.add(e.key):c.delete(e.key));let l=e.length>0&&e.every(e=>c.has(e));return{marks:s,file:n&&a?`unview`:!n&&l&&s.length>0?`view`:null}},ch=(e,t)=>{let[n,r]=Array.from(e).reduce(([e,t],n)=>{let r=n.codePointAt(0)??0;return[Math.imul(e^r,2654435761),Math.imul(t^r,1597334677)]},[3735928559^t,1103547991^t]),i=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909);return(4294967296*(2097151&(Math.imul(r^r>>>16,2246822507)^Math.imul(i^i>>>13,3266489909)))+(i>>>0)).toString(36)},lh=({path:e,removed:t,added:n})=>{let r=[e,t.map(e=>e.trimEnd()).join(`
|
|
62
|
+
`).forEach(e=>{let i=Up(e,n.length);i?(t.oldLine=i.oldStart,t.newLine=i.newStart,r.push(i),n.push({kind:`hunk`,oldLine:null,newLine:null,content:i.header})):e.startsWith(`\`)?n.push({kind:`meta`,oldLine:null,newLine:null,content:e}):r.length!==0&&(e.startsWith(`+`)?(n.push({kind:`add`,oldLine:null,newLine:t.newLine,content:e.slice(1)}),t.newLine+=1):e.startsWith(`-`)?(n.push({kind:`delete`,oldLine:t.oldLine,newLine:null,content:e.slice(1)}),t.oldLine+=1):e.startsWith(` `)&&(n.push({kind:`context`,oldLine:t.oldLine,newLine:t.newLine,content:e.slice(1)}),t.oldLine+=1,t.newLine+=1))}),{rows:n,hunks:r}},Kp=20,qp=2,Jp=2e4,Yp=20,Xp=e=>e.reduce((e,t)=>(Gp(t).rows.forEach(n=>{let r=n.content.trim();n.kind===`delete`&&n.oldLine!==null&&e.removed.push({filename:t.filename,line:n.oldLine,content:r}),n.kind===`add`&&n.newLine!==null&&e.added.push({filename:t.filename,line:n.newLine,content:r})}),e),{added:[],removed:[]}),Zp=e=>e.reduce((e,t,n)=>{if(t.content.length<Kp)return e;let r=e.get(t.content);return r?r.push(n):e.set(t.content,[n]),e},new Map),Qp=({added:e,removed:t,addedIndex:n,removedIndex:r,claimedAdded:i,claimedRemoved:a})=>{let o=o=>{let s=e[n+o],c=e[n+o-1],l=t[r+o],u=t[r+o-1];return!s||!c||!l||!u?!1:s.content===l.content&&s.filename===c.filename&&l.filename===u.filename&&s.line===c.line+1&&l.line===u.line+1&&!i.has(n+o)&&!a.has(r+o)},s={offset:1};for(;o(s.offset);)s.offset+=1;return s.offset},$p=({files:e})=>{let t=[];if(e.reduce((e,t)=>t.patch?e+t.additions+t.deletions:e,0)>Jp)return{skipped:!0,blocks:t};let{added:n,removed:r}=Xp(e),i=Zp(r),a=new Set,o=new Set;return n.forEach((e,s)=>{if(a.has(s)||e.content.length<Kp)return;let c=i.get(e.content);if(!c||c.length>Yp)return;let l=c.reduce((e,t)=>{if(o.has(t))return e;let i=Qp({added:n,removed:r,addedIndex:s,removedIndex:t,claimedAdded:a,claimedRemoved:o});return e&&e.length>=i?e:{index:t,length:i}},null);if(!l||l.length<qp)return;let u=r[l.index],d=r[l.index+l.length-1],f=n[s+l.length-1];u&&d&&f&&(Array.from({length:l.length}).forEach((e,t)=>{a.add(s+t),o.add(l.index+t)}),t.push({from:{filename:u.filename,startLine:u.line,endLine:d.line},to:{filename:e.filename,startLine:e.line,endLine:f.line}}))}),{skipped:!1,blocks:t}},em=({files:e})=>{let t=(0,F.useRef)(null);if(t.current?.files!==e){let n=$p({files:e});t.current={files:e,skipped:n.skipped,markers:Bp({blocks:n.blocks,files:e})}}return{skipped:t.current.skipped,markers:t.current.markers}},tm=`glen.review.code-appearance.v1`,nm=`glen-review-code-appearance`,rm=$f.parse({theme:`automatic`,size:`medium`,wrap:!1,blame:!0}),im=e=>{if(!e)return rm;let[t,n,r,i]=e.split(`:`),a=$f.safeParse({theme:t,size:n,wrap:r===`1`,...i===`0`||i===`1`?{blame:i===`1`}:{}});return a.success?a.data:rm},am=e=>[e.theme,e.size,e.wrap?`1`:`0`,e.blame?`1`:`0`].join(`:`),om=am(rm),sm=()=>localStorage.getItem(tm)??om,cm=e=>{let t=t=>{t.key===tm&&e()};return window.addEventListener(`storage`,t),window.addEventListener(nm,e),()=>{window.removeEventListener(`storage`,t),window.removeEventListener(nm,e)}},lm=()=>{let e=im((0,F.useSyncExternalStore)(cm,sm,()=>om)),t=e=>{localStorage.setItem(tm,am(e)),window.dispatchEvent(new Event(nm))};return{appearance:e,setTheme:n=>t({...e,theme:n}),setSize:n=>t({...e,size:n}),setWrap:n=>t({...e,wrap:n}),setBlame:n=>t({...e,blame:n})}},um=nt({id:Ye().min(1).max(256),label:Ye().min(1).max(256).optional()}),dm=um.extend({kind:Je(`selection`),source:rt([`diff`,`pr-description`,`comment`]),text:Ye().min(1),path:Ye().max(512).optional(),startLine:et().int().positive().optional(),endLine:et().int().positive().optional(),commentId:et().int().positive().optional()}),fm=um.extend({kind:Je(`file`),path:Ye().min(1).max(512),status:Ye().max(64).optional()}),pm=um.extend({kind:Je(`symbol`),path:Ye().min(1).max(512),name:Ye().min(1).max(256),symbolKind:rt([`function`,`class`,`method`,`component`,`type`]),line:et().int().positive().optional(),signature:Ye().max(512).optional()}),mm=um.extend({kind:Je(`pr-description`),prNumber:et().int().positive(),title:Ye().min(1).max(512),body:Ye().nullable().optional()}),hm=um.extend({kind:rt([`issue-comment`,`review-comment`]),commentId:et().int().positive(),author:Ye().min(1).max(256),body:Ye().min(1),path:Ye().max(512).optional(),line:et().int().positive().optional()}),gm=um.extend({kind:Je(`check`),checkId:et().int().positive().optional(),name:Ye().min(1).max(256),status:Ye().min(1).max(64),conclusion:Ye().max(64).nullable().optional(),url:Ye().url().max(1024).optional()}),_m=Ze(`kind`,[dm,fm,pm,mm,hm,gm]);$e(_m).max(50);var vm=[],ym=(0,F.lazy)(()=>lt(()=>import(`./diff-viewer-8VJrVVoW.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([5,1,6,7,8,9,10,11,2,12,13,14,15,16,17]))),bm=(0,F.lazy)(()=>lt(()=>import(`./explored-file-view-K43rc089.js`).then(e=>({default:e.ExploredFileView})),__vite__mapDeps([18,6,1,7,8,12,15,16]))),xm=({owner:e,repo:t,pr:n,headSha:r,prBody:i,prLoading:a,prError:o,files:s,activeFile:c,exploredFiles:l,onCloseExplored:u,scrollNonce:d,lineTarget:f,expandedStoryFile:m,prewarmFile:h,githubPrUrl:g,conversation:_,conversationLoading:v,conversationError:y,resolvingThreadId:b,viewMode:x,story:S,storyPending:C,storyError:w,storyGenerating:T,onRetryStory:ee,onActiveBeatChange:te,onAddContextItem:ne,onRetryPr:re,onRetryConversation:ie,onResolveThread:ae,onSelectFile:oe,onExpandStoryFile:E,onFileCommented:D,blockMarks:O,history:se,viewportRef:ce})=>{let le=Xe(),{resolvedTheme:ue}=Tt(),k=lm(),A=ep(k.appearance.theme,ue),de=Rp({filenames:(s??vm).map(e=>e.filename),theme:A}),j=(0,F.useRef)(null);de.data&&j.current?.highlighter!==de.data&&(j.current={highlighter:de.data,cache:Yf(de.data)});let fe=de.data?j.current?.cache:null,[pe,me]=(0,F.useReducer)((e,t)=>t,null),ge=be(le.github.reviewAddInlineComment.mutationOptions({onSuccess:e=>{P.success(e.type===`pending_inline`?`Review comment added.`:`Inline comment posted.`),D()},onError:e=>{P.error(e.message??`Failed to add inline comment.`)}})),_e=be(le.github.reviewReplyToThread.mutationOptions({onSuccess:()=>{P.success(`Reply posted.`),D()},onError:e=>{P.error(e.message??`Failed to post reply.`)}})),ve=c&&l.includes(c)?c:null,M=ve?null:c??s?.[0]?.filename??null,ye=s?.find(e=>e.filename===M)??null,[N,xe]=(0,F.useReducer)((e,t)=>e.has(t)?e:new Set(e).add(t),new Set),[Se,Ce]=(0,F.useReducer)(()=>!0,!1);M&&!N.has(M)&&(Se||f?.filename===M||Op(ye))&&xe(M);let we=p({...jp(le,{owner:e,repo:t,pr:n,headSha:r,path:M??``}),enabled:!!M&&N.has(M)}),Te=we.data?.path===M?we.data?.lines??null:null,Ee=kp({selectedFile:M,requested:!!M&&N.has(M),isFetching:we.isFetching,isError:we.isError,dataPath:we.data?.path,lineCount:we.data?.lines.length??0}),De=()=>{we.refetch()},[Oe,ke]=(0,F.useState)(`unified`),Ae=k.appearance.blame&&!!r,je=e=>!!e&&e.status!==`removed`,Me=p({...Ap(le,{owner:e,repo:t,pr:n,headSha:r,paths:M?[M]:[]}),enabled:Ae&&!!M&&je(ye)}),Ne=s?.find(e=>e.filename===h)??null;p({...Ap(le,{owner:e,repo:t,pr:n,headSha:r,paths:h?[h]:[]}),enabled:Ae&&!!h&&h!==M&&je(Ne),retry:!1});let Pe=Me.data?.files.find(e=>e.path===M)??null,Fe=Pe?.ok?Pe.ranges:null,Ie=Me.isError?`Couldn't load blame.`:Pe&&!Pe.ok?Pe.reason:null,Le=()=>{Me.refetch()},Re=em({files:s??vm}),ze=c===null,Be=_?.items.flatMap(e=>e.kind===`thread`&&e.path&&e.line?[e]:[])??[],Ve=_?.items.flatMap(e=>e.kind===`thread`&&e.path&&!e.line?[e]:[])??[],He={resolvingThreadId:b,replyPending:_e.isPending,inlineCommentPending:ge.isPending,onResolveThread:ae,onReply:(r,i)=>_e.mutate({owner:e,repo:t,pr:n,threadId:r,body:i}),onAddInlineComment:i=>ge.mutate({owner:e,repo:t,pr:n,body:i.body,path:i.path,line:i.line,side:i.side,commitId:r,mode:i.mode})};return x===`story`?(0,I.jsx)(Mp,{story:S,isPending:C,isError:w,generating:T,onRetry:ee,prBody:i,conversation:_,conversationLoading:v,conversationError:y,onRetryConversation:ie,onSelectFile:oe,handlers:He,onActiveBeatChange:te,tokenCache:fe,shikiTheme:A,codeAppearance:k,onAddContextItem:ne,onExpandFile:E}):ve?(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(ip,{}),children:(0,I.jsx)(bm,{owner:e,repo:t,pr:n,headSha:r,path:ve,lineTarget:f,tokenCache:fe,shikiTheme:A,codeAppearance:k,history:se,viewportRef:ce,onClose:()=>u(ve)})}):(0,I.jsxs)(`div`,{className:`flex h-full flex-col overflow-y-auto`,children:[ze?(0,I.jsx)(Tp,{body:i,conversation:_,isLoading:v,isError:y,resolvingThreadId:b,onRetry:ie,onResolveThread:ae,onSelectFile:oe}):null,!ze&&a?(0,I.jsx)(rp,{}):null,!ze&&o?(0,I.jsx)(he,{refetch:re}):null,!ze&&!a&&!o&&s?(0,I.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(np,{}),children:(0,I.jsx)(ym,{files:s,activeFile:c,owner:e,repo:t,pr:n,headSha:r,scrollNonce:d,lineTarget:f,expandedStoryFile:m,onAddSelection:e=>ne(Xf(e)),prewarmFile:h,githubPrUrl:g,commitUrlBase:tp(e,t),inlineThreads:Be,fileThreads:Ve,inlineCommentPending:ge.isPending,resolvingThreadId:b,replyPending:_e.isPending,onResolveThread:ae,onReply:(r,i)=>_e.mutate({owner:e,repo:t,pr:n,threadId:r,body:i}),onCommentFile:me,onInlineCommented:i=>ge.mutate({owner:e,repo:t,pr:n,body:i.body,path:i.target.filename,line:i.target.line,side:i.target.side,commitId:r,mode:i.mode}),tokenCache:fe,shikiTheme:A,codeAppearance:k,fileLines:Te,fileLinesLoading:we.isFetching,fileLinesError:Ee,onRetryFileLines:De,onPrefetchFileLines:xe,onFindUsed:Ce,blame:Fe,blameEnabled:k.appearance.blame,blameLoading:Me.isFetching,blameError:Ie,onRetryBlame:Le,layout:Oe,onLayoutChange:ke,onSelectFile:oe,history:se,viewportRef:ce,moves:Re,blocksByFile:O.blocksByFile,blockMarks:O})})}):null,(0,I.jsx)(mp,{owner:e,repo:t,pr:n,headSha:r,filename:pe,open:pe!==null,onOpenChange:e=>me(e?pe:null),onCommented:D})]})};function Sm({className:e,...t}){return(0,I.jsx)(Nc,{"data-slot":`checkbox`,className:o(`peer size-4 shrink-0 rounded-control border border-edge-strong transition-shadow dark:bg-input/30 outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary`,e),...t,children:(0,I.jsx)(Fc,{className:`flex items-center justify-center text-current`,children:(0,I.jsx)(sn,{className:`size-3`,weight:`bold`})})})}var Cm=e=>e.map(e=>e.kind===`folder`?{...e,children:Cm(e.children)}:e).sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name):e.kind===`folder`?-1:1),wm=e=>{if(e.kind===`file`)return e;let t=e.children.map(wm),n={...e,children:t},[r]=n.children;return n.children.length!==1||r?.kind!==`folder`?n:{...r,name:`${n.name}/${r.name}`}},Tm=(e,t,n,r)=>{let[i,...a]=n;if(!i)return e;if(a.length===0)return e.push({kind:`file`,name:i,path:t.filename,file:t}),e;let o=r?`${r}/${i}`:i,s=e.find(e=>e.kind===`folder`&&e.path===o),c=s?.kind===`folder`?s:{kind:`folder`,name:i,path:o,children:[]};return s||e.push(c),Tm(c.children,t,a,o),e},Em=e=>Cm(e.reduce((e,t)=>Tm(e,t,t.filename.split(`/`),``),[])).map(wm),Dm=e=>{switch(e){case`added`:return(0,I.jsx)(gn,{size:14,className:`text-chart-1 shrink-0`});case`removed`:return(0,I.jsx)(vn,{size:14,className:`text-destructive shrink-0`});case`renamed`:return(0,I.jsx)(tn,{size:14,className:`text-muted-foreground shrink-0`});default:return null}},Om=100,km=e=>e*.75+.5,Am=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>{let u=(0,F.useRef)(void 0),d=()=>{clearTimeout(u.current),u.current=setTimeout(()=>i(e.file.filename),Om)},f=()=>clearTimeout(u.current),p=s?.get(e.file.filename);return(0,F.useEffect)(()=>()=>clearTimeout(u.current),[]),(0,I.jsxs)(l,{variant:a===e.file.filename?`secondary`:`ghost`,onClick:()=>r(e.file.filename),onFocus:d,onBlur:f,onMouseEnter:d,onMouseLeave:f,className:`h-6 w-full justify-start gap-1.5 px-2 py-0 text-xs font-normal`,style:{paddingLeft:`${km(c)}rem`},children:[(0,I.jsx)(Sm,{checked:t.has(e.file.filename),disabled:!o,onCheckedChange:t=>n(e.file.filename,!!t),onClick:e=>e.stopPropagation()}),Dm(e.file.status),(0,I.jsx)(`span`,{title:e.file.filename,className:`min-w-0 truncate text-left font-mono`,children:e.name}),(0,I.jsxs)(`span`,{className:`flex h-4 min-w-0 flex-1 basis-0 flex-row-reverse flex-wrap gap-x-1.5 overflow-hidden tabular-nums`,children:[(0,I.jsxs)(`span`,{className:`text-destructive/80`,children:[`-`,e.file.deletions]}),(0,I.jsxs)(`span`,{className:`text-brand/80`,children:[`+`,e.file.additions]}),p&&p.reviewed>0?(0,I.jsxs)(`span`,{className:`text-muted-foreground`,title:`${p.reviewed} of ${p.total} change blocks reviewed`,children:[p.reviewed,`/`,p.total]}):null]})]})},jm=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>(0,I.jsxs)(gp,{defaultOpen:!0,children:[(0,I.jsx)(_p,{asChild:!0,children:(0,I.jsxs)(l,{variant:`ghost`,className:`group h-6 w-full justify-start gap-1.5 px-2 py-0 text-xs font-medium`,style:{paddingLeft:`${km(c)}rem`},children:[(0,I.jsx)(Ce,{size:12,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,I.jsx)(bn,{size:14,className:`shrink-0 group-data-[state=open]:hidden`}),(0,I.jsx)(Sn,{size:14,className:`hidden shrink-0 group-data-[state=open]:block`}),(0,I.jsx)(`span`,{title:e.path,className:`truncate font-mono`,children:e.name})]})}),(0,I.jsxs)(vp,{className:`relative`,children:[(0,I.jsx)(`span`,{"aria-hidden":!0,className:`bg-edge pointer-events-none absolute inset-y-0 w-px`,style:{left:`calc(${km(c)}rem + 6px)`}}),e.children.map(e=>(0,I.jsx)(Mm,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c+1},e.path))]})]}),Mm=({node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c})=>e.kind===`folder`?(0,I.jsx)(jm,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c}):(0,I.jsx)(Am,{node:e,viewedSet:t,onToggleViewed:n,onSelectFile:r,onPrewarmFile:i,activeFile:a,viewedReady:o,blockProgress:s,depth:c}),Nm=({paths:e,activeFile:t,onSelectFile:n,onCloseExplored:r})=>e.length===0?null:(0,I.jsxs)(`div`,{className:`border-edge mt-2 flex flex-col gap-0.5 border-t border-dashed pt-2`,children:[(0,I.jsxs)(`div`,{className:`text-muted-foreground flex items-center gap-1.5 px-2 py-1 text-xs font-medium`,children:[(0,I.jsx)(pn,{size:13,className:`shrink-0`}),`Explored · reference only`]}),e.map(e=>(0,I.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,I.jsx)(l,{variant:t===e?`secondary`:`ghost`,onClick:()=>n(e),className:`h-auto min-w-0 flex-1 justify-start gap-2 px-2 py-1.5 text-xs font-normal`,children:(0,I.jsx)(`span`,{title:e,className:`text-muted-foreground truncate font-mono`,children:e.split(`/`).slice(-2).join(`/`)})}),(0,I.jsx)(l,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${e}`,onClick:()=>r(e),children:(0,I.jsx)(x,{size:12})})]},e))]}),Pm=({files:e,exploredFiles:t,viewedFiles:n,viewedReady:r,blockProgress:i,onToggleViewed:a,onSelectDescription:o,onSelectFile:s,onCloseExplored:c,onPrewarmFile:u,activeFile:d})=>{let f=new Set(n),p=Em(e);return(0,I.jsxs)(`div`,{className:`flex h-full flex-col overflow-y-auto p-2`,children:[(0,I.jsxs)(`div`,{className:`text-muted-foreground shrink-0 px-2 py-1 text-xs font-medium`,children:[e.length,` files changed · `,f.size,` viewed`]}),(0,I.jsxs)(l,{variant:d===null?`secondary`:`ghost`,onClick:o,className:`h-6 w-full justify-start gap-2 px-2 py-0 text-xs font-normal`,children:[(0,I.jsx)(On,{size:14,className:`text-muted-foreground shrink-0`}),(0,I.jsx)(`span`,{className:`flex-1 truncate text-left`,children:`PR description`})]}),p.map(e=>(0,I.jsx)(Mm,{node:e,viewedSet:f,onToggleViewed:a,onSelectFile:s,onPrewarmFile:u,activeFile:d,viewedReady:r,blockProgress:i,depth:0},e.path)),(0,I.jsx)(Nm,{paths:t,activeFile:d,onSelectFile:s,onCloseExplored:c})]})},Fm=()=>(0,I.jsx)(`div`,{className:`flex flex-col gap-2 p-3`,children:Array.from({length:8}).map((e,t)=>(0,I.jsx)(A,{className:`h-6 w-full`},t))}),Im=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,{componentStack:t}){this.props.onError?.(e,t??null)}render(){return this.state.hasError?this.props.fallback===void 0?(0,I.jsx)(he,{message:this.props.message??`This section failed to load.`,refetch:()=>this.setState({hasError:!1})}):this.props.fallback:this.props.children}},Lm=(...e)=>void 0,Rm={start:Lm,identify:Lm,group:Lm,reset:Lm,events:e=>({definitions:e,capture:Lm}),captureException:(e,t)=>void Ie.local.clientError.mutate({message:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack??null:null,properties:t}).catch(()=>void 0),sessionReplayUrl:()=>void 0},zm=({name:e,children:t,...n})=>(0,I.jsx)(z,{...n,children:(0,I.jsx)(Im,{message:`Only this panel failed. The rest of the review still works.`,onError:(t,n)=>Rm.captureException(t instanceof Error?t:Error(String(t)),{boundary:`review-panel`,panel:e,componentStack:n}),children:t})});function Bm({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,I.jsx)(Jd,{"data-slot":`separator`,decorative:n,orientation:t,className:o(`shrink-0 bg-edge data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}var Vm=()=>(0,I.jsx)(Li,{className:`group/handle flex w-1.5 cursor-col-resize`,children:(0,I.jsx)(`div`,{className:`group-hover/handle:bg-primary/30 flex w-full justify-center transition-colors`,children:(0,I.jsx)(Bm,{orientation:`vertical`})})}),Hm=({prData:e,...t})=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(zm,{name:`file-tree`,defaultSize:15,minSize:10,collapsible:!0,children:e.isPending?(0,I.jsx)(Fm,{}):e.isError||!e.data?(0,I.jsx)(he,{refetch:()=>void e.refetch(),support:!1}):(0,I.jsx)(Pm,{files:e.data.files,...t})}),(0,I.jsx)(Vm,{})]}),Um=(e,t)=>e.github.reviewGetConversation.queryOptions(t,{staleTime:6e4,refetchOnWindowFocus:!1}),Wm=(e,t)=>e.github.reviewGetMetadata.queryOptions(t,{staleTime:6e4,refetchOnWindowFocus:!1}),Gm=(e,t)=>e.github.reviewGetPrMeta.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),Km=(e,t)=>e.github.reviewGetPr.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),qm=(e,t)=>e.github.reviewGetSession.queryOptions(t),Jm=(e,t)=>e.github.reviewGetSources.queryOptions(t),Ym=({owner:e,repo:t,pr:n,open:r,onOpenChange:i,onSubmitted:a,canApprove:o})=>{let s=Xe(),[c,u]=(0,F.useState)(``),d=c.trim().length-pp,f=be(s.github.reviewSubmit.mutationOptions({onSuccess:()=>{P.success(`Review submitted.`),u(``),i(!1),a()},onError:e=>{P.error(e.message??`Failed to submit review.`)}})),p=r=>{let i=c.trim();r!==`APPROVE`&&!i?P.error(`Add a review summary before submitting.`):i.length>65536?P.error(`Review is too long (GitHub allows at most ${pp.toLocaleString()} characters).`):f.mutate({owner:e,repo:t,pr:n,event:r,body:i.length>0?i:void 0})};return(0,I.jsx)(ap,{open:r,onOpenChange:i,children:(0,I.jsxs)(cp,{className:`sm:max-w-lg`,children:[(0,I.jsxs)(lp,{children:[(0,I.jsx)(dp,{children:`Review changes`}),(0,I.jsx)(fp,{children:o?`Submit a summary review for this pull request.`:`You can't approve or request changes on your own pull request, but you can leave a comment.`})]}),(0,I.jsx)(ze,{value:c,onChange:e=>u(e.target.value),placeholder:`Leave a review summary...`,className:`min-h-32`}),d>0?(0,I.jsxs)(`p`,{className:`text-destructive text-xs`,children:[d.toLocaleString(),` characters over GitHub's`,` `,pp.toLocaleString(),` limit.`]}):null,(0,I.jsxs)(up,{className:`gap-2`,children:[(0,I.jsxs)(l,{variant:`outline`,disabled:f.isPending||d>0,onClick:()=>p(`COMMENT`),children:[f.isPending?(0,I.jsx)(Ae,{}):null,`Comment`]}),o?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{disabled:f.isPending||d>0,onClick:()=>p(`APPROVE`),children:`Approve`}),(0,I.jsx)(l,{variant:`destructive`,disabled:f.isPending||d>0,onClick:()=>p(`REQUEST_CHANGES`),children:`Request changes`})]}):null]})]})})};function Xm({...e}){return(0,I.jsx)(Zs,{"data-slot":`alert-dialog`,...e})}function Zm({...e}){return(0,I.jsx)(Qs,{"data-slot":`alert-dialog-portal`,...e})}function Qm({className:e,...t}){return(0,I.jsx)($s,{"data-slot":`alert-dialog-overlay`,className:o(`fixed inset-0 z-50 bg-scrim duration-(--duration-fast) supports-backdrop-filter:backdrop-blur-xs low-power:backdrop-filter-none data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 motion-reduce:animate-none low-power:animate-none`,e),...t})}function $m({className:e,size:t=`default`,...n}){return(0,I.jsxs)(Zm,{children:[(0,I.jsx)(Qm,{}),(0,I.jsx)(ec,{"data-slot":`alert-dialog-content`,"data-size":t,className:o(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-surface border border-edge-overlay bg-card p-4 text-card-foreground shadow-2xl duration-(--duration-fast) outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:ease-(--ease-enter) data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-(--ease-exit) data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none low-power:animate-none`,e),...n})]})}function eh({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:o(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function th({className:e,...t}){return(0,I.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:o(`flex flex-col-reverse gap-2 pt-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function nh({className:e,...t}){return(0,I.jsx)(rc,{"data-slot":`alert-dialog-title`,className:o(`font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function rh({className:e,...t}){return(0,I.jsx)(ic,{"data-slot":`alert-dialog-description`,className:o(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function ih({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,I.jsx)(l,{variant:t,size:n,asChild:!0,children:(0,I.jsx)(tc,{"data-slot":`alert-dialog-action`,className:o(e),...r})})}function ah({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,I.jsx)(l,{variant:t,size:n,asChild:!0,children:(0,I.jsx)(nc,{"data-slot":`alert-dialog-cancel`,className:o(e),...r})})}var oh=({active:e,onNavigate:t})=>{let[n,r]=(0,F.useState)(null);return(0,F.useEffect)(()=>{if(!e)return;let t=e=>{e.preventDefault(),e.returnValue=``},n=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target?.closest(`a`);t&&(!t.getAttribute(`href`)||t.target===`_blank`||t.hasAttribute(`download`)||t.origin!==window.location.origin||t.pathname===window.location.pathname&&t.search===window.location.search||(e.preventDefault(),e.stopPropagation(),r(t.pathname+t.search)))};return window.addEventListener(`beforeunload`,t),document.addEventListener(`click`,n,!0),()=>{window.removeEventListener(`beforeunload`,t),document.removeEventListener(`click`,n,!0)}},[e]),(0,I.jsx)(Xm,{open:n!==null,onOpenChange:e=>{e||r(null)},children:(0,I.jsxs)($m,{children:[(0,I.jsxs)(eh,{children:[(0,I.jsx)(nh,{children:`Submit your review?`}),(0,I.jsx)(rh,{children:`You have review comments that you haven't submitted yet. They stay as a draft on GitHub, but the author won't see them until you submit your review.`})]}),(0,I.jsxs)(th,{children:[(0,I.jsx)(ah,{children:`Keep reviewing`}),(0,I.jsx)(ih,{onClick:()=>{let e=n;r(null),e&&t(e)},children:`Leave without submitting`})]})]})})},sh=({blockKeys:e,marked:t,viewed:n,changes:r})=>{let i=new Set(r.map(e=>e.key)),a=r.some(e=>!e.reviewed),o=n&&a?e.flatMap(e=>t.has(e)||i.has(e)?[]:[{key:e,reviewed:!0}]):[],s=[...r,...o].filter((e,n,r)=>t.has(e.key)!==e.reviewed&&r.findIndex(t=>t.key===e.key)===n),c=new Set(t);s.forEach(e=>e.reviewed?c.add(e.key):c.delete(e.key));let l=e.length>0&&e.every(e=>c.has(e));return{marks:s,file:n&&a?`unview`:!n&&l&&s.length>0?`view`:null}},ch=(e,t)=>{let[n,r]=Array.from(e).reduce(([e,t],n)=>{let r=n.codePointAt(0)??0;return[Math.imul(e^r,2654435761),Math.imul(t^r,1597334677)]},[3735928559^t,1103547991^t]),i=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909);return(4294967296*(2097151&(Math.imul(r^r>>>16,2246822507)^Math.imul(i^i>>>13,3266489909)))+(i>>>0)).toString(36)},lh=({path:e,removed:t,added:n})=>{let r=[e,t.map(e=>e.trimEnd()).join(`
|
|
63
63
|
`),n.map(e=>e.trimEnd()).join(`
|
|
64
64
|
`)].join(`\0`);return`v1-${ch(r,0)}${ch(r,1)}`},uh=` `,dh=new Set([`{`,`}`,`;`,`,`,`>`,`)`]),fh=new Set([`+`,`~`]),ph=/\/\/[^\n]*/y,mh=/\/\*[\s\S]*?\*\//y,hh=(e,t,n)=>(e.lastIndex=n,e.exec(t)?.[0]??null),gh=e=>/[\w\-.#%@!$&*\u0080-\uffff]/.test(e),_h=(e,t,n)=>{let r={at:t+1};for(;r.at<e.length;){let t=e[r.at];if(t===`\\`)r.at+=2;else if(t===n)break;else if(t===`
|
|
65
65
|
`)return null;else r.at+=1}if(r.at>=e.length)return null;let i=e.slice(t+1,r.at).replace(/\\(.)/gsu,(e,t)=>t===`'`||t===`"`?t:e);return{end:r.at+1,token:`s:${i}`}},vh=(e,t)=>{let n=[],r={at:0};for(;r.at<e.length;){let i=e[r.at]??``,a=e[r.at+1]??``;if(/\s/.test(i))n.length>0&&n[n.length-1]!==uh&&n.push(uh),r.at+=1;else if(i===`/`&&a===`*`){let t=hh(mh,e,r.at);if(t===null)return null;n.push(`c:${t.replace(/\s+/g,` `)}`),r.at+=t.length}else if(t&&i===`/`&&a===`/`){let t=hh(ph,e,r.at)??``;n.push(`c:${t.trimEnd()}`),r.at+=t.length}else if(i===`'`||i===`"`){let t=_h(e,r.at,i);if(!t)return null;n.push(t.token),r.at=t.end}else if(gh(i)){let t=r.at;for(;r.at<e.length&&gh(e[r.at]??``);)r.at+=1;n.push(`w:${e.slice(t,r.at)}`)}else n.push(i),r.at+=1}return n},yh=e=>e===`;`||e===`{`||e===`}`,bh=e=>e.reduceRight((e,t,n)=>(e[n]=yh(t)?t:e[n+1],e),[]),xh=(e,t)=>e.reduce((e,n,r)=>(yh(n)&&(e.seen=!1),n===`:`&&!e.seen&&t[r]!==`{`&&(e.seen=!0,e.colons.add(r)),e),{seen:!1,colons:new Set}).colons,Sh=e=>{let t=bh(e),n=xh(e,t),r={parens:0};return e.filter((i,a)=>{if(i===`(`&&(r.parens+=1),i===`)`&&(r.parens=Math.max(0,r.parens-1)),i!==uh)return!0;let o=e[a-1],s=e[a+1];return o===void 0||s===void 0||dh.has(o)||dh.has(s)||o===`(`||n.has(a-1)||n.has(a+1)?!1:!fh.has(o)&&!fh.has(s)||t[a]!==`{`||r.parens!==0})},Ch=(e,t)=>{let n=vh(e,t);if(!n)return null;let r=Sh(n);return r.filter((e,t)=>e!==`;`||r[t+1]!==`}`)},wh=/>>>=|\.\.\.|===|!==|\*\*=|<<=|>>=|>>>|\&\&=|\|\|=|\?\?=|=>|==|!=|<=|>=|\&\&|\|\||\?\?|\?\.|\+\+|\-\-|\+=|\-=|\*=|\/=|%=|\&=|\|=|\^=|\*\*|<<|>>/y,Th=/\/\/[^\n]*/y,Eh=/\/\*[\s\S]*?\*\//y,Dh=(e,t,n)=>(e.lastIndex=n,e.exec(t)?.[0]??null),Oh=new Set([`return`,`typeof`,`instanceof`,`in`,`of`,`new`,`delete`,`void`,`throw`,`case`,`do`,`else`,`yield`,`await`]),kh=new Set([`if`,`for`,`while`,`with`]),Ah=new Set([`in`,`instanceof`,`of`,`as`,`satisfies`]),jh=new Set([`}`]),Mh=e=>/[\w$\u0080-\uffff]/.test(e),Nh=e=>e>=`0`&&e<=`9`,Ph=e=>e.split(`
|
|
@@ -72,4 +72,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/alert-
|
|
|
72
72
|
`))===null||i(r.new.join(`
|
|
73
73
|
`))===null)?!1:ng(i(t.join(`
|
|
74
74
|
`)),i(n.join(`
|
|
75
|
-
`)))},ig=/\+(\d+)/,ag=({path:e,rows:t})=>{let n=[],r={open:null,hunk:{old:[],new:[]},lastNewLine:0},i=()=>{let t=r.open;t&&(r.open=null,n.push({key:lh({path:e,removed:t.removed,added:t.added}),path:e,index:n.length,startRow:t.startRow,endRow:t.endRow,oldStart:t.oldStart,newStart:t.newStart,anchorLine:t.newStart??r.lastNewLine+1,removed:t.removed.length,added:t.added.length,formatOnly:rg({path:e,removed:t.removed,added:t.added,before:t.before})}),r.hunk.old.push(...t.removed),r.hunk.new.push(...t.added))};return t.forEach((e,t)=>{if(e.kind===`add`||e.kind===`delete`){let n=r.open??{startRow:t,endRow:t,oldStart:null,newStart:null,removed:[],added:[],before:{old:[...r.hunk.old],new:[...r.hunk.new]}};r.open=n,n.endRow=t,e.kind===`delete`?(n.oldStart??=e.oldLine,n.removed.push(e.content)):(n.newStart??=e.newLine,n.added.push(e.content),r.lastNewLine=e.newLine??r.lastNewLine)}else e.kind===`meta`&&r.open?r.open.endRow=t:(i(),e.kind===`hunk`&&(r.hunk={old:[],new:[]},r.lastNewLine=Number(ig.exec(e.content)?.[1]??1)-1),e.kind===`context`&&(r.hunk.old.push(e.content),r.hunk.new.push(e.content),r.lastNewLine=e.newLine??r.lastNewLine))}),i(),n},og=({files:e})=>{let t=(0,F.useRef)(null);return t.current?.files!==e&&(t.current={files:e,byFile:new Map(e.map(e=>[e.filename,ag({path:e.filename,rows:Gp(e).rows})]))}),t.current.byFile},sg=[`review`,`block-marks`],cg=[],lg=({provider:e,files:t,session:n,onToggleViewed:r})=>{let i=og({files:t}),a=g(),o=p({queryKey:sg,queryFn:()=>e?e.list():Promise.resolve(cg),enabled:!!e}),s=be({mutationFn:t=>e?e.set(t):Promise.resolve(cg),onMutate:async e=>{await a.cancelQueries({queryKey:sg});let t=a.getQueryData(sg),n=new Date().toISOString();return a.setQueryData(sg,(t=cg)=>{let r=new Set(e.map(e=>e.key));return[...t.filter(e=>!r.has(e.key)),...e.flatMap(e=>e.reviewed?[{key:e.key,path:e.path,markedAt:n,headSha:``}]:[])]}),{previous:t}},onError:(e,t,n)=>{n?.previous&&a.setQueryData(sg,n.previous),P.error(e.message||`Couldn't save the reviewed mark.`)},onSuccess:e=>a.setQueryData(sg,e)}),c=new Set((o.data??cg).map(e=>e.key)),l=new Set(n?.viewedFiles),u=!!e,d=u&&o.isSuccess&&!!n?.id,f=e=>c.has(e.key)?`reviewed`:l.has(e.path)?`covered`:`unreviewed`,m=u?new Map([...i].map(([e,t])=>[e,{reviewed:t.filter(e=>f(e)!==`unreviewed`).length,total:t.length}])):null;return{blocksByFile:i,enabled:u,ready:d,loadError:o.isError,retry:()=>void o.refetch(),statusOf:f,progress:m,setReviewed:(e,t)=>{if(!d)return;let n=sh({blockKeys:(i.get(e)??[]).map(e=>e.key),marked:c,viewed:l.has(e),changes:t});n.marks.length>0&&s.mutate(n.marks.map(t=>({...t,path:e}))),n.file&&r(e,n.file===`view`)}}},ug=({owner:e,repo:t,pr:n,headSha:r,sessionId:i})=>{let a=Xe(),o=g(),s=qm(a,{repoFullName:`${e}/${t}`,prNumber:n,headSha:r}).queryKey,c=be(a.github.reviewMarkFileViewed.mutationOptions({onMutate:async e=>{await o.cancelQueries({queryKey:s});let t=o.getQueryData(s);return o.setQueryData(s,t=>{if(!t)return t;let n=e.viewed?[...new Set([...t.viewedFiles,e.filename])]:t.viewedFiles.filter(t=>t!==e.filename);return{...t,viewedFiles:n}}),{previous:t}},onError:(e,t,n)=>{n?.previous&&o.setQueryData(s,n.previous),P.error(e.message??`Failed to mark file as viewed.`)},onSettled:()=>{o.invalidateQueries({queryKey:s})}}));return(e,t)=>{i&&c.mutate({sessionId:i,filename:e,viewed:t})}},dg=(e,t)=>{let n=e.items.find(e=>e.kind===`thread`&&e.threadId===t);return n?.kind!==`thread`||n.isResolved?e:{...e,unresolvedCount:Math.max(0,e.unresolvedCount-1),items:e.items.map(e=>e.kind===`thread`&&e.threadId===t?{...e,isResolved:!0}:e)}},fg=({owner:e,repo:t,pr:n})=>{let r=Xe(),i=g(),a=Um(r,{owner:e,repo:t,pr:n}).queryKey,[o,s]=(0,F.useReducer)((e,t)=>t,null),c=be(r.github.reviewResolveThread.mutationOptions({onMutate:async e=>{s(e.threadId),await i.cancelQueries({queryKey:a});let t=i.getQueryData(a);return i.setQueryData(a,t=>t&&dg(t,e.threadId)),{previous:t}},onError:(e,t,n)=>{n?.previous&&i.setQueryData(a,n.previous),P.error(e.message??`Failed to resolve review thread.`)},onSuccess:()=>{P.success(`Review thread resolved.`)},onSettled:()=>{s(null),i.invalidateQueries({queryKey:a})}}));return{resolvingThreadId:o,resolveThread:e=>c.mutate({threadId:e})}},pg=e=>{let t=new Set;return e.filter(e=>!t.has(e.id)&&(t.add(e.id),!0))},mg=e=>({group:`PR`,label:`PR #${e.prNumber}`,searchText:`${e.title} ${e.body??``}`,item:{kind:`pr-description`,id:`pr-description:${e.prNumber}`,prNumber:e.prNumber,title:e.title,body:e.body??null}}),hg=e=>({group:`Files`,label:e.filename,detail:e.status??`modified`,searchText:[e.filename,e.status].filter(Boolean).join(` `),item:{kind:`file`,id:`file:${e.filename}`,path:e.filename,status:e.status}}),gg=e=>({group:`Comments`,label:`${e.kind}: ${e.commentId}`,searchText:`${e.author} ${e.body} ${e.path??``} ${e.line??``}`,item:{kind:e.kind,id:`${e.kind}:${e.commentId}`,commentId:e.commentId,author:e.author,body:e.body,path:e.path,line:e.line}}),_g=e=>({group:`Checks`,label:e.name,detail:e.conclusion??e.status,searchText:`${e.name} ${e.status} ${e.conclusion??``} ${e.url??``}`,item:{kind:`check`,id:`check:${e.id}`,checkId:e.id,name:e.name,status:e.status,conclusion:e.conclusion,url:e.url}}),vg=e=>({group:`Symbols`,label:e.name,searchText:`${e.path} ${e.name} ${e.symbolKind} ${e.signature}`,item:{kind:`symbol`,id:`symbol:${e.path}:${e.name}:${e.line}`,path:e.path,name:e.name,symbolKind:e.symbolKind,line:e.line,signature:e.signature}}),yg=e=>{let{pr:t,comments:n,checks:r,symbols:i}=e;return[mg(t),...t.files.map(hg),...(n??[]).map(gg),...(r??[]).map(_g),...(i??[]).map(vg)]},bg=(e,t)=>e.github.reviewGetChangedFileSymbols.queryOptions(t,{staleTime:1/0}),xg=(e,t)=>e.github.reviewGetChecks.queryOptions(t),Sg=(e,t)=>e.github.reviewGetComments.queryOptions(t),Cg=(e,t)=>e?t.isPending?`pending`:t.isError?`error`:`success`:`idle`,wg=({owner:e,repo:t,pr:n,prMeta:r,prData:i})=>{let a=Xe(),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)([]),u=p({...Sg(a,{owner:e,repo:t,pr:n}),enabled:o&&!!i}),d=p({...xg(a,{owner:e,repo:t,headSha:r?.headSha??``}),enabled:o&&!!r?.headSha}),f=p({...bg(a,{owner:e,repo:t,pr:n,headSha:r?.headSha??``}),enabled:o&&!!r?.headSha});return{contextItems:c,contextCandidates:i&&r?yg({pr:{prNumber:n,title:r.title,body:r.body,files:i.files},comments:u.data??[],checks:d.data??[],symbols:f.data??[]}):[],contextGroups:{comments:Cg(o,u),checks:Cg(o,d),symbols:Cg(o,f)},addContextItem:e=>l(t=>pg([...t,e])),removeContextItem:e=>l(t=>t.filter(t=>t.id!==e)),clearContextItems:()=>l([]),onContextIntent:()=>s(!0)}},Tg=new Set([`clean`,`unstable`,`has_hooks`]),Eg=(e,t)=>!t||e.merged||e.state!==`open`||e.draft||e.mergeable!==!0?!1:Tg.has(e.mergeableState),Dg=(e,t)=>e.github.repoMergeMethods.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),Og=(e,t)=>e.github.reviewGetViewerPermissions.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),kg=({owner:e,repo:t,pr:n,prMeta:r,enabled:i})=>{let a=Xe(),o=g(),s=p({...Dg(a,{owner:e,repo:t}),enabled:i}),c=p({...Og(a,{owner:e,repo:t,pr:n}),enabled:i}),l=c.data?.canPush??!1,u=c.data?!c.data.didAuthor:!1;return{merge:{owner:e,repo:t,pr:n,canMerge:r?Eg(r,l):!1,allowedMethods:s.data,methodsLoading:s.isPending,onMerged:()=>{o.invalidateQueries({queryKey:Gm(a,{owner:e,repo:t,pr:n}).queryKey}),r&&o.invalidateQueries({queryKey:Wm(a,{owner:e,repo:t,pr:n,headSha:r.headSha,baseRef:r.baseRef}).queryKey})}},canApprove:u}},Ag=({sidePanel:e})=>(0,I.jsxs)(`div`,{className:`flex min-h-0 min-w-0 grow basis-0 flex-col`,children:[(0,I.jsx)(`div`,{className:`border-edge bg-background flex shrink-0 items-center gap-2 border-b px-4 py-2`,children:(0,I.jsx)(A,{className:`h-4 w-48`})}),(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,I.jsx)(`div`,{className:`border-edge w-3/20 border-r`,children:(0,I.jsx)(Fm,{})}),(0,I.jsx)(`div`,{className:`flex-1`,children:(0,I.jsx)(np,{})}),(0,I.jsx)(`div`,{className:`border-edge w-3/10 border-l`,children:e})]})]}),jg=({owner:e,repo:t,ref:n,path:r,line:i})=>`${tp(e,t)}/blob/${encodeURIComponent(n)}/${r.split(`/`).map(encodeURIComponent).join(`/`)}${i===null?``:`#L${i}`}`,Mg={empty:{entries:[],index:-1},record:(e,t,n)=>{let r=e.entries.slice(0,e.index+1),i=r.at(-1),a=t?i?.filename===t.filename?[...r.slice(0,-1),t]:[...r,t]:r,o=a.at(-1),s=(o?.filename===n.filename&&o.line===n.line?a:[...a,n]).slice(-50);return{entries:s,index:s.length-1}},step:(e,t,n)=>{let r=e.index+(t===`back`?-1:1),i=e.entries[r];if(!i)return null;let a=e.entries[e.index];return{history:{entries:n&&a?.filename===n.filename?e.entries.map((t,r)=>r===e.index?n:t):e.entries,index:r},target:i}}},Ng=(e,t,n,r)=>({...e,...r?{exploredFiles:[...e.exploredFiles.filter(e=>e!==t),t].slice(-8),userMode:`classic`}:{},activeFile:t,prewarmFile:t,navigation:{nonce:e.navigation.nonce+1,line:n===null?null:{filename:t,line:n}}}),Pg=(e,t)=>{switch(t.type){case`selectFile`:return{...Ng(e,t.filename,t.line,t.explore),history:Mg.record(e.history,e.activeFile?{filename:e.activeFile,line:t.fromLine}:null,{filename:t.filename,line:t.line})};case`stepHistory`:{let n=t.history.entries[t.history.index];return n?{...Ng(e,n.filename,n.line,t.explore),history:t.history}:e}case`changeViewMode`:return{...e,userMode:t.mode,navigation:{...e.navigation,line:null}};case`selectDescription`:return{...e,activeFile:null,prewarmFile:null};case`prewarmFile`:return{...e,prewarmFile:t.filename};case`closeExplored`:return{...e,exploredFiles:e.exploredFiles.filter(e=>e!==t.filename),...e.activeFile===t.filename?{activeFile:null,prewarmFile:null}:{}};case`setActiveBeat`:return{...e,activeBeatId:t.beatId};case`expandStoryFile`:return{...e,expandedStoryFile:t.filename,activeBeatId:null};case`showClassic`:return{...e,userMode:`classic`}}},Fg=(e,t)=>{if(e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){if(e.key===`ArrowLeft`)return`back`;if(e.key===`ArrowRight`)return`forward`}return t&&e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.code===`Minus`||e.key===`-`||e.key===`_`)?e.shiftKey?`forward`:`back`:null},Ig=[`INPUT`,`TEXTAREA`,`SELECT`],Lg=e=>{let t=(0,F.useRef)(e);(0,F.useEffect)(()=>{t.current=e}),(0,F.useEffect)(()=>{let e=e=>{if(e.target instanceof HTMLElement&&(e.target.isContentEditable||Ig.includes(e.target.tagName)))return;let n=Fg(e,/Mac|iPhone|iPad/.test(navigator.userAgent));n&&t.current(n)&&e.preventDefault()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[])},Rg=({owner:e,repo:t,pr:n,prMeta:r,prData:i})=>{let a=Xe(),o=g(),[s,c]=(0,F.useReducer)(Pg,{activeFile:null,exploredFiles:[],navigation:{nonce:0,line:null},prewarmFile:null,userMode:null,activeBeatId:null,expandedStoryFile:null,history:Mg.empty}),u=(0,F.useRef)(null),d=e=>!i||i.files.some(t=>t.filename===e),f=(n,i,a)=>{let o=d(n);!o&&!r?P.error(`${n} isn't part of this pull request.`,{action:(0,I.jsx)(l,{asChild:!0,size:`sm`,variant:`secondary`,children:(0,I.jsx)(Vi,{href:jg({owner:e,repo:t,ref:`HEAD`,path:n,line:i??null}),children:`Open on GitHub`})})}):c({type:`selectFile`,filename:n,line:i??null,fromLine:a??u.current?.centerLine()??null,explore:!o})},p=e=>{let t=Mg.step(s.history,e,s.activeFile?{filename:s.activeFile,line:u.current?.centerLine()??null}:null);return t?(c({type:`stepHistory`,history:t.history,explore:!d(t.target.filename)}),!0):!1};return Lg(p),{state:s,viewport:u,history:{canGoBack:s.history.index>0,canGoForward:s.history.index<s.history.entries.length-1,onBack:()=>p(`back`),onForward:()=>p(`forward`)},handlers:{selectFile:f,prewarmFile:s=>{c({type:`prewarmFile`,filename:s});let l=r?.headSha,u=i?.files.find(e=>e.filename===s);l&&Op(u??null)&&o.prefetchQuery(jp(a,{owner:e,repo:t,pr:n,headSha:l,path:s}))},changeViewMode:e=>c({type:`changeViewMode`,mode:e}),selectDescription:()=>c({type:`selectDescription`}),closeExplored:e=>c({type:`closeExplored`,filename:e}),expandStoryFile:e=>{c({type:`expandStoryFile`,filename:e}),f(e),c({type:`showClassic`})},setActiveBeat:e=>c({type:`setActiveBeat`,beatId:e})}}},zg=()=>({storyQuery:{data:null,isPending:!1,isError:!1},storyGenerating:!1,storyOutline:[],retryStory:()=>void 0}),Bg=[],Vg=({owner:e,repo:t,pr:n,isError:r})=>(0,I.jsx)(`div`,{className:`border-edge bg-background flex shrink-0 items-center gap-2 border-b px-4 py-2`,children:(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,I.jsx)(`h1`,{className:`truncate text-sm font-semibold`,children:r?`Couldn't load pull request`:`Loading...`}),(0,I.jsxs)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:[e,`/`,t,`#`,n]})]})}),Hg=({owner:e,repo:t,pr:n,prMeta:r,metadata:i,conversation:a,previewUrl:o,metadataLoading:s,storyAvailable:c,viewMode:l,merge:u,onViewModeChange:d,onReviewChanges:f})=>r?(0,I.jsx)(Bf,{owner:e,repo:t,pr:n,title:r.title,state:r.merged?`merged`:r.state===`closed`?`closed`:r.draft?`draft`:`open`,author:r.author,headRef:r.headRef,baseRef:r.baseRef,changedFiles:r.changedFiles,additions:r.additions,deletions:r.deletions,updatedAt:r.updatedAt,previewUrl:o,baseRepoFullName:r.baseRepoFullName,headRepoFullName:r.headRepoFullName,metadata:i,conversation:a,metadataLoading:s,storyAvailable:c,viewMode:l,merge:u,onViewModeChange:d,onReviewChanges:f}):(0,I.jsx)(Vg,{owner:e,repo:t,pr:n,isError:!1}),Ug=({owner:e,repo:t,pr:n,orgId:r,renderSidePanel:i,onNavigate:a,codeIntel:o=null,blockMarks:s=null,inlineAsk:c=null})=>{let l=Xe(),u=g(),[d,f]=(0,F.useReducer)((e,t)=>t,!1),m=p(Gm(l,{owner:e,repo:t,pr:n})),h=p({...Km(l,{owner:e,repo:t,pr:n}),enabled:!!m.data}),{state:{activeFile:_,exploredFiles:v,navigation:y,prewarmFile:b,userMode:x,activeBeatId:S,expandedStoryFile:C},handlers:w,history:T,viewport:ee}=Rg({owner:e,repo:t,pr:n,prMeta:m.data,prData:h.data}),te=p({...qm(l,{repoFullName:`${e}/${t}`,prNumber:n,headSha:m.data?.headSha??``}),enabled:!!m.data?.headSha}),ne=p({...Jm(l,{repoFullName:`${e}/${t}`,headRef:m.data?.headRef??``}),enabled:!!m.data?.headRef}),re=(ne.data?.length??0)>0,ie=x??(re?`story`:`classic`),{storyQuery:ae,storyGenerating:oe,storyOutline:E,retryStory:D}=zg({owner:e,repo:t,pr:n,orgId:r,prMeta:m.data,viewMode:ie}),O=p({...Wm(l,{owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,baseRef:m.data?.baseRef??``}),enabled:!!m.data?.headSha&&!!m.data?.baseRef}),se=p({...Um(l,{owner:e,repo:t,pr:n}),enabled:!!m.data}),{merge:ce,canApprove:le}=kg({owner:e,repo:t,pr:n,prMeta:m.data,enabled:!!m.data}),ue=Um(l,{owner:e,repo:t,pr:n}).queryKey,k=ug({owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,sessionId:te.data?.id}),A=lg({provider:s,files:h.data?.files??Bg,session:te.data,onToggleViewed:k}),{resolvingThreadId:de,resolveThread:j}=fg({owner:e,repo:t,pr:n}),fe=wg({owner:e,repo:t,pr:n,prMeta:m.data,prData:h.data}),pe=`https://github.com/${e}/${t}/pull/${n}`,me=Ri(se.data),he=i({prMeta:m,prAuthorEmail:h.data?.author.email??null,linkedConversations:ne.data??[],sourcesLoading:ne.isPending,context:fe,storyOutline:E,activeBeatId:S});return m.isPending?(0,I.jsx)(Ag,{sidePanel:he}):(0,I.jsx)(Bi,{value:o,children:(0,I.jsx)(zi,{value:c,children:(0,I.jsxs)(`div`,{className:`flex min-h-0 min-w-0 grow basis-0 flex-col`,children:[m.isError?(0,I.jsx)(Vg,{owner:e,repo:t,pr:n,isError:m.isError}):(0,I.jsx)(Hg,{owner:e,repo:t,pr:n,prMeta:m.data,metadata:O.data,conversation:se.data,previewUrl:O.data?.previewUrl??null,metadataLoading:O.isPending,storyAvailable:re,viewMode:ie,merge:ce,onViewModeChange:w.changeViewMode,onReviewChanges:()=>f(!0)}),(0,I.jsxs)(Ni,{orientation:`horizontal`,id:`glen-review-layout`,className:`min-h-0 flex-1`,children:[ie===`classic`?(0,I.jsx)(Hm,{prData:h,exploredFiles:v,viewedFiles:te.data?.viewedFiles??[],viewedReady:!!te.data?.id,onToggleViewed:k,blockProgress:A.progress,onSelectDescription:w.selectDescription,onSelectFile:w.selectFile,onCloseExplored:w.closeExplored,onPrewarmFile:w.prewarmFile,activeFile:_}):null,(0,I.jsx)(zm,{name:`center`,defaultSize:55,minSize:30,children:(0,I.jsx)(xm,{owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,prBody:m.data?.body??null,prLoading:h.isPending,prError:h.isError,files:h.data?.files,activeFile:_,exploredFiles:v,onCloseExplored:w.closeExplored,scrollNonce:y.nonce,lineTarget:y.line?{...y.line,nonce:y.nonce}:null,expandedStoryFile:C,prewarmFile:b,githubPrUrl:pe,conversation:se.data,conversationLoading:se.isPending,conversationError:se.isError,resolvingThreadId:de,viewMode:ie,story:ae.data,storyPending:ae.isPending,storyError:ae.isError,storyGenerating:oe,onRetryStory:D,onActiveBeatChange:w.setActiveBeat,onAddContextItem:fe.addContextItem,onRetryPr:()=>void h.refetch(),onRetryConversation:()=>void se.refetch(),onResolveThread:j,onSelectFile:w.selectFile,onExpandStoryFile:w.expandStoryFile,blockMarks:A,history:T,viewportRef:ee,onFileCommented:()=>void u.invalidateQueries({queryKey:ue})})}),(0,I.jsx)(Vm,{}),(0,I.jsx)(zm,{name:`side`,defaultSize:30,minSize:20,collapsible:!0,children:he})]}),(0,I.jsx)(Ym,{owner:e,repo:t,pr:n,open:d,onOpenChange:f,onSubmitted:()=>void u.invalidateQueries({queryKey:ue}),canApprove:le}),(0,I.jsx)(oh,{active:me,onNavigate:a})]})})})},Wg={list:()=>Ie.local.blockMarks.list.query(),set:e=>Ie.local.blockMarks.set.mutate(e)},Gg={chats:null,lines:[],focus:null,collapsed:new Set,connection:null,listeners:new Set,epoch:st.getSnapshot().epoch},Kg=()=>Gg.listeners.forEach(e=>e()),qg=e=>e.flatMap(e=>e.placement.kind===`line`?[{id:e.id,path:e.placement.path,line:e.placement.line,side:e.placement.side}]:[]),Jg=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id&&e.path===t[n].path&&e.line===t[n].line&&e.side===t[n].side),Yg=()=>Ie.local.agent.chats.subscribe(void 0,{onData:e=>{let t=qg(e).reverse();Gg.chats=e,Jg(Gg.lines,t)||(Gg.lines=t),Kg()},onConnectionStateChange:e=>{e.state===`connecting`&&e.error&&st.check()},onError:e=>void st.check().then(t=>{t&&P.error(e.message)})});st.subscribe(()=>{let{epoch:e}=st.getSnapshot();e!==Gg.epoch&&(Gg.epoch=e,Gg.connection&&(Gg.connection.unsubscribe(),Gg.chats=null,Gg.lines=[],Gg.connection=Yg(),Kg()))});var Xg={getSnapshot:()=>Gg.chats,getLineChats:()=>Gg.lines,getFocus:()=>Gg.focus,focus:e=>{Gg.focus=e,Kg()},getCollapsed:()=>Gg.collapsed,toggleCollapsed:e=>{let t=new Set(Gg.collapsed);t.delete(e)||t.add(e),Gg.collapsed=t,Kg()},subscribe:e=>(Gg.listeners.add(e),Gg.connection??=Yg(),()=>{Gg.listeners.delete(e)})},Zg=(e,t)=>e.find(e=>e.id===t)??e.find(e=>e.available)??e[0],Qg={view:{tab:`agent`,chatId:null,terminalOpened:!1,signIn:null},listeners:new Set},$g=e=>{Qg.view={...Qg.view,...e,terminalOpened:Qg.view.terminalOpened||e.tab===`terminal`},Qg.listeners.forEach(e=>e())},e_={getSnapshot:()=>Qg.view,subscribe:e=>(Qg.listeners.add(e),()=>Qg.listeners.delete(e)),showTab:e=>$g({tab:e}),showChat:e=>$g({tab:`agent`,chatId:e}),signIn:(e,t,n)=>$g({tab:`terminal`,signIn:{agent:e,label:t,chatId:n,run:(Qg.view.signIn?.run??0)+1}}),clearSignIn:()=>$g({signIn:null})},t_=e=>void Ie.local.agent.list.query().then(t=>{let n=Xg.getSnapshot()?.find(e=>e.id===e_.getSnapshot().chatId),r=Zg(t,n?.agent??null);if(r)return Ie.local.agent.create.mutate({agent:r.id,placement:{kind:`line`,...e}}).then(e=>Xg.focus(e.id))}).catch(e=>P.error(e.message)),n_=e=>/^[\w./~-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`,r_=(e,t,n)=>e===null?`glen review ${t}`:n?`cd '${e.replaceAll(`'`,`''`)}'; glen review ${t}`:`cd ${n_(e)} && glen review ${t}`,i_=({command:e})=>{let[t,n]=(0,F.useState)(!1);return(0,I.jsxs)(`div`,{className:`bg-muted flex items-center gap-2 rounded-md py-1 pr-1 pl-3`,children:[(0,I.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-sm break-all`,children:e}),(0,I.jsxs)(l,{size:`sm`,variant:`ghost`,"aria-label":`Copy the restart command`,onClick:()=>void navigator.clipboard.writeText(e).then(()=>n(!0),()=>P.error(`Couldn't copy. Select the command instead.`)),children:[t?(0,I.jsx)(sn,{}):(0,I.jsx)(mn,{}),t?`Copied`:`Copy`]})]})},a_=({newHead:e})=>{let t=be({mutationFn:async()=>{e.needsReload&&await Ie.local.pr.reload.mutate()},onSuccess:()=>location.reload(),onError:e=>P.error(e.message)});return(0,I.jsx)(`div`,{className:`fixed inset-x-0 top-3 z-50 flex justify-center px-4`,children:(0,I.jsxs)(Be,{className:`flex-row items-center gap-3 px-4 py-2 shadow-lg`,children:[(0,I.jsxs)(`span`,{className:`text-sm`,children:[`New commits on this PR. Reload to review`,` `,(0,I.jsx)(`code`,{className:`font-mono`,children:e.sha.slice(0,7)}),`.`]}),(0,I.jsxs)(l,{size:`sm`,disabled:t.isPending,onClick:()=>t.mutate(),children:[t.isPending?(0,I.jsx)(Ae,{}):(0,I.jsx)(ot,{}),`Reload`]})]})})},o_=({pr:e})=>{let t=(0,F.useSyncExternalStore)(st.subscribe,st.getSnapshot);if(t.status===`connected`)return t.newHead?(0,I.jsx)(a_,{newHead:t.newHead}):null;let n=r_(t.info?.repoRoot??null,e,navigator.userAgent.includes(`Windows`));return(0,I.jsx)(`div`,{className:`bg-background/70 fixed inset-0 z-50 flex items-start justify-center px-4 pt-24`,children:(0,I.jsxs)(Be,{className:`w-full max-w-lg shadow-lg`,children:[(0,I.jsxs)(Me,{children:[(0,I.jsxs)(Ee,{className:`flex items-center gap-2`,children:[(0,I.jsx)(Nn,{}),`The reviewer for #`,e,` stopped`]}),(0,I.jsx)(Re,{children:t.status===`signed-out`?`It's back, but it didn't accept this browser. Open the sign-in link it printed in your terminal.`:`Start it again from the repo:`})]}),t.status===`disconnected`?(0,I.jsxs)(Fe,{className:`flex flex-col gap-3`,children:[(0,I.jsx)(i_,{command:n}),(0,I.jsxs)(`span`,{className:`text-muted-foreground flex items-center gap-2 text-sm`,children:[(0,I.jsx)(Ae,{}),`Reconnecting automatically when it's back.`]})]}):null]})})},s_={status:()=>Ie.local.codeIntel.status.query(),hover:e=>Ie.local.codeIntel.hover.query(e),definition:e=>Ie.local.codeIntel.definition.query(e),references:e=>Ie.local.codeIntel.references.query(e),installPackages:()=>Ie.local.codeIntel.installPackages.mutate()},c_=()=>(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`border-edge flex items-center gap-2 border-b p-2`,children:[(0,I.jsx)(A,{className:`h-7 w-40`}),(0,I.jsx)(A,{className:`ml-auto h-7 w-24`})]}),(0,I.jsx)(`div`,{className:`flex-1`}),(0,I.jsx)(`div`,{className:`border-edge border-t p-2`,children:(0,I.jsx)(A,{className:`h-16 w-full`})})]}),l_=()=>(0,I.jsxs)(`div`,{className:`border-edge bg-background border-y`,children:[(0,I.jsx)(`div`,{className:`border-edge flex items-center gap-2 border-b px-3 py-1.5`,children:(0,I.jsx)(A,{className:`h-4 w-48`})}),(0,I.jsx)(`div`,{className:`px-3 py-1.5`,children:(0,I.jsx)(A,{className:`h-8 w-full`})})]}),u_=60,d_=e=>{let t=Xe(),n=p(Gm(t,e));if(!n.data)return null;let r=n.data.title.length>u_?`${n.data.title.slice(0,59).trimEnd()}…`:n.data.title;return(0,I.jsx)(`title`,{children:`#${e.pr} · ${r} · glen review`})},f_=(0,F.lazy)(()=>lt(()=>import(`./local-side-panel-Cop6TTG7.js`).then(e=>({default:e.LocalSidePanel})),__vite__mapDeps([19,1,6,7,8,9,10,11,2,12,13,14,20,16]))),p_=(0,F.lazy)(()=>lt(()=>import(`./inline-ask-CHr1EM6l.js`).then(e=>({default:e.InlineAsk})),__vite__mapDeps([21,1,6,7,8,9,10,11,2,17,20,14]))),m_=/^\/([^/]+)\/([^/]+)\/pull\/(\d+)/.exec(location.pathname),h_=qn(),g_=h({links:[y({transformer:xe,url:`${location.origin}/api/trpc`,fetch:st.fetch})]});st.attach({queryClient:h_,readInfo:()=>Ie.local.server.info.query(),readLatestHead:()=>Ie.local.pr.latestHead.query()});var __=document.getElementById(`root`);__&&(0,vt.createRoot)(__).render((0,I.jsxs)(Nt,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,disableTransitionOnChange:!0,children:[(0,I.jsx)(C,{client:h_,children:(0,I.jsx)(it,{trpcClient:g_,queryClient:h_,children:m_?.[1]&&m_[2]&&m_[3]?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(o_,{pr:Number(m_[3])}),(0,I.jsx)(d_,{owner:m_[1],repo:m_[2],pr:Number(m_[3])}),(0,I.jsx)(Ug,{owner:m_[1],repo:m_[2],pr:Number(m_[3]),orgId:`local`,onNavigate:e=>location.assign(e),codeIntel:s_,blockMarks:Wg,inlineAsk:{start:t_,subscribe:Xg.subscribe,getLineChats:Xg.getLineChats,render:e=>(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(l_,{}),children:(0,I.jsx)(p_,{chatId:e})})},renderSidePanel:({context:e})=>(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(c_,{}),children:(0,I.jsx)(f_,{context:e})})})]}):(0,I.jsx)(`div`,{className:`flex w-full items-center justify-center`,children:(0,I.jsx)(we,{title:`Open the review link`,description:`Use the URL that glen review printed in your terminal: it names the pull request to show.`})})})}),(0,I.jsx)(Rn,{richColors:!0,position:`bottom-center`,style:{"--width":`min(32rem, 38vw)`,"--success-bg":`var(--overlay-fill)`,"--success-text":`var(--popover-foreground)`,"--success-border":`var(--edge-overlay)`,"--info-bg":`var(--overlay-fill)`,"--info-text":`var(--popover-foreground)`,"--info-border":`var(--edge-overlay)`,"--warning-bg":`var(--overlay-fill)`,"--warning-text":`var(--popover-foreground)`,"--warning-border":`var(--edge-overlay)`,"--error-bg":`var(--overlay-fill)`,"--error-text":`var(--destructive)`,"--error-border":`var(--destructive)`}})]}));export{cu as $,Wf as A,Sf as B,fp as C,un as Ct,Qf as D,nn as Dt,ip as E,rn as Et,gf as F,Zd as G,cf as H,bf as I,uu as J,Xd as K,vf as L,pf as M,_f as N,Zf as O,tn as Ot,hf as P,iu as Q,yf as R,cp as S,pn as St,dp as T,an as Tt,sf as U,mf as V,Yd as W,tu as X,au as Y,nu as Z,vp as _,In as _t,Xg as a,lu as at,pp as b,Dn as bt,Rm as c,fu as ct,Sm as d,xs as dt,ru as et,Gp as f,bs as ft,gp as g,zi as gt,Dp as h,Bi as ht,Zg as i,Ql as it,Hf as j,Xf as k,Im as l,Zc as lt,Op as m,Vi as mt,c_ as n,ou as nt,jg as o,du as ot,Ip as p,vs as pt,$l as q,e_ as r,su as rt,bg as s,pu as st,l_ as t,eu as tt,Em as u,Ss as ut,_p as v,Pn as vt,lp as w,sn as wt,ap as x,wn as xt,hp as y,An as yt,xf as z};
|
|
75
|
+
`)))},ig=/\+(\d+)/,ag=({path:e,rows:t})=>{let n=[],r={open:null,hunk:{old:[],new:[]},lastNewLine:0},i=()=>{let t=r.open;t&&(r.open=null,n.push({key:lh({path:e,removed:t.removed,added:t.added}),path:e,index:n.length,startRow:t.startRow,endRow:t.endRow,oldStart:t.oldStart,newStart:t.newStart,anchorLine:t.newStart??r.lastNewLine+1,removed:t.removed.length,added:t.added.length,formatOnly:rg({path:e,removed:t.removed,added:t.added,before:t.before})}),r.hunk.old.push(...t.removed),r.hunk.new.push(...t.added))};return t.forEach((e,t)=>{if(e.kind===`add`||e.kind===`delete`){let n=r.open??{startRow:t,endRow:t,oldStart:null,newStart:null,removed:[],added:[],before:{old:[...r.hunk.old],new:[...r.hunk.new]}};r.open=n,n.endRow=t,e.kind===`delete`?(n.oldStart??=e.oldLine,n.removed.push(e.content)):(n.newStart??=e.newLine,n.added.push(e.content),r.lastNewLine=e.newLine??r.lastNewLine)}else e.kind===`meta`&&r.open?r.open.endRow=t:(i(),e.kind===`hunk`&&(r.hunk={old:[],new:[]},r.lastNewLine=Number(ig.exec(e.content)?.[1]??1)-1),e.kind===`context`&&(r.hunk.old.push(e.content),r.hunk.new.push(e.content),r.lastNewLine=e.newLine??r.lastNewLine))}),i(),n},og=({files:e})=>{let t=(0,F.useRef)(null);return t.current?.files!==e&&(t.current={files:e,byFile:new Map(e.map(e=>[e.filename,ag({path:e.filename,rows:Gp(e).rows})]))}),t.current.byFile},sg=[`review`,`block-marks`],cg=[],lg=({provider:e,files:t,session:n,onToggleViewed:r})=>{let i=og({files:t}),a=g(),o=p({queryKey:sg,queryFn:()=>e?e.list():Promise.resolve(cg),enabled:!!e}),s=be({mutationFn:t=>e?e.set(t):Promise.resolve(cg),onMutate:async e=>{await a.cancelQueries({queryKey:sg});let t=a.getQueryData(sg),n=new Date().toISOString();return a.setQueryData(sg,(t=cg)=>{let r=new Set(e.map(e=>e.key));return[...t.filter(e=>!r.has(e.key)),...e.flatMap(e=>e.reviewed?[{key:e.key,path:e.path,markedAt:n,headSha:``}]:[])]}),{previous:t}},onError:(e,t,n)=>{n?.previous&&a.setQueryData(sg,n.previous),P.error(e.message||`Couldn't save the reviewed mark.`)},onSuccess:e=>a.setQueryData(sg,e)}),c=new Set((o.data??cg).map(e=>e.key)),l=new Set(n?.viewedFiles),u=!!e,d=u&&o.isSuccess&&!!n?.id,f=e=>c.has(e.key)?`reviewed`:l.has(e.path)?`covered`:`unreviewed`,m=u?new Map([...i].map(([e,t])=>[e,{reviewed:t.filter(e=>f(e)!==`unreviewed`).length,total:t.length}])):null;return{blocksByFile:i,enabled:u,ready:d,loadError:o.isError,retry:()=>void o.refetch(),statusOf:f,progress:m,setReviewed:(e,t)=>{if(!d)return;let n=sh({blockKeys:(i.get(e)??[]).map(e=>e.key),marked:c,viewed:l.has(e),changes:t});n.marks.length>0&&s.mutate(n.marks.map(t=>({...t,path:e}))),n.file&&r(e,n.file===`view`)}}},ug=({owner:e,repo:t,pr:n,headSha:r,sessionId:i})=>{let a=Xe(),o=g(),s=qm(a,{repoFullName:`${e}/${t}`,prNumber:n,headSha:r}).queryKey,c=be(a.github.reviewMarkFileViewed.mutationOptions({onMutate:async e=>{await o.cancelQueries({queryKey:s});let t=o.getQueryData(s);return o.setQueryData(s,t=>{if(!t)return t;let n=e.viewed?[...new Set([...t.viewedFiles,e.filename])]:t.viewedFiles.filter(t=>t!==e.filename);return{...t,viewedFiles:n}}),{previous:t}},onError:(e,t,n)=>{n?.previous&&o.setQueryData(s,n.previous),P.error(e.message??`Failed to mark file as viewed.`)},onSettled:()=>{o.invalidateQueries({queryKey:s})}}));return(e,t)=>{i&&c.mutate({sessionId:i,filename:e,viewed:t})}},dg=(e,t)=>{let n=e.items.find(e=>e.kind===`thread`&&e.threadId===t);return n?.kind!==`thread`||n.isResolved?e:{...e,unresolvedCount:Math.max(0,e.unresolvedCount-1),items:e.items.map(e=>e.kind===`thread`&&e.threadId===t?{...e,isResolved:!0}:e)}},fg=({owner:e,repo:t,pr:n})=>{let r=Xe(),i=g(),a=Um(r,{owner:e,repo:t,pr:n}).queryKey,[o,s]=(0,F.useReducer)((e,t)=>t,null),c=be(r.github.reviewResolveThread.mutationOptions({onMutate:async e=>{s(e.threadId),await i.cancelQueries({queryKey:a});let t=i.getQueryData(a);return i.setQueryData(a,t=>t&&dg(t,e.threadId)),{previous:t}},onError:(e,t,n)=>{n?.previous&&i.setQueryData(a,n.previous),P.error(e.message??`Failed to resolve review thread.`)},onSuccess:()=>{P.success(`Review thread resolved.`)},onSettled:()=>{s(null),i.invalidateQueries({queryKey:a})}}));return{resolvingThreadId:o,resolveThread:e=>c.mutate({threadId:e})}},pg=e=>{let t=new Set;return e.filter(e=>!t.has(e.id)&&(t.add(e.id),!0))},mg=e=>({group:`PR`,label:`PR #${e.prNumber}`,searchText:`${e.title} ${e.body??``}`,item:{kind:`pr-description`,id:`pr-description:${e.prNumber}`,prNumber:e.prNumber,title:e.title,body:e.body??null}}),hg=e=>({group:`Files`,label:e.filename,detail:e.status??`modified`,searchText:[e.filename,e.status].filter(Boolean).join(` `),item:{kind:`file`,id:`file:${e.filename}`,path:e.filename,status:e.status}}),gg=e=>({group:`Comments`,label:`${e.kind}: ${e.commentId}`,searchText:`${e.author} ${e.body} ${e.path??``} ${e.line??``}`,item:{kind:e.kind,id:`${e.kind}:${e.commentId}`,commentId:e.commentId,author:e.author,body:e.body,path:e.path,line:e.line}}),_g=e=>({group:`Checks`,label:e.name,detail:e.conclusion??e.status,searchText:`${e.name} ${e.status} ${e.conclusion??``} ${e.url??``}`,item:{kind:`check`,id:`check:${e.id}`,checkId:e.id,name:e.name,status:e.status,conclusion:e.conclusion,url:e.url}}),vg=e=>({group:`Symbols`,label:e.name,searchText:`${e.path} ${e.name} ${e.symbolKind} ${e.signature}`,item:{kind:`symbol`,id:`symbol:${e.path}:${e.name}:${e.line}`,path:e.path,name:e.name,symbolKind:e.symbolKind,line:e.line,signature:e.signature}}),yg=e=>{let{pr:t,comments:n,checks:r,symbols:i}=e;return[mg(t),...t.files.map(hg),...(n??[]).map(gg),...(r??[]).map(_g),...(i??[]).map(vg)]},bg=(e,t)=>e.github.reviewGetChangedFileSymbols.queryOptions(t,{staleTime:1/0}),xg=(e,t)=>e.github.reviewGetChecks.queryOptions(t),Sg=(e,t)=>e.github.reviewGetComments.queryOptions(t),Cg=(e,t)=>e?t.isPending?`pending`:t.isError?`error`:`success`:`idle`,wg=({owner:e,repo:t,pr:n,prMeta:r,prData:i})=>{let a=Xe(),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)([]),u=p({...Sg(a,{owner:e,repo:t,pr:n}),enabled:o&&!!i}),d=p({...xg(a,{owner:e,repo:t,headSha:r?.headSha??``}),enabled:o&&!!r?.headSha}),f=p({...bg(a,{owner:e,repo:t,pr:n,headSha:r?.headSha??``}),enabled:o&&!!r?.headSha});return{contextItems:c,contextCandidates:i&&r?yg({pr:{prNumber:n,title:r.title,body:r.body,files:i.files},comments:u.data??[],checks:d.data??[],symbols:f.data??[]}):[],contextGroups:{comments:Cg(o,u),checks:Cg(o,d),symbols:Cg(o,f)},addContextItem:e=>l(t=>pg([...t,e])),removeContextItem:e=>l(t=>t.filter(t=>t.id!==e)),clearContextItems:()=>l([]),onContextIntent:()=>s(!0)}},Tg=new Set([`clean`,`unstable`,`has_hooks`]),Eg=(e,t)=>!t||e.merged||e.state!==`open`||e.draft||e.mergeable!==!0?!1:Tg.has(e.mergeableState),Dg=(e,t)=>e.github.repoMergeMethods.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),Og=(e,t)=>e.github.reviewGetViewerPermissions.queryOptions(t,{staleTime:3e5,refetchOnWindowFocus:!1}),kg=({owner:e,repo:t,pr:n,prMeta:r,enabled:i})=>{let a=Xe(),o=g(),s=p({...Dg(a,{owner:e,repo:t}),enabled:i}),c=p({...Og(a,{owner:e,repo:t,pr:n}),enabled:i}),l=c.data?.canPush??!1,u=c.data?!c.data.didAuthor:!1;return{merge:{owner:e,repo:t,pr:n,canMerge:r?Eg(r,l):!1,allowedMethods:s.data,methodsLoading:s.isPending,onMerged:()=>{o.invalidateQueries({queryKey:Gm(a,{owner:e,repo:t,pr:n}).queryKey}),r&&o.invalidateQueries({queryKey:Wm(a,{owner:e,repo:t,pr:n,headSha:r.headSha,baseRef:r.baseRef}).queryKey})}},canApprove:u}},Ag=({sidePanel:e})=>(0,I.jsxs)(`div`,{className:`flex min-h-0 min-w-0 grow basis-0 flex-col`,children:[(0,I.jsx)(`div`,{className:`border-edge bg-background flex shrink-0 items-center gap-2 border-b px-4 py-2`,children:(0,I.jsx)(A,{className:`h-4 w-48`})}),(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,I.jsx)(`div`,{className:`border-edge w-3/20 border-r`,children:(0,I.jsx)(Fm,{})}),(0,I.jsx)(`div`,{className:`flex-1`,children:(0,I.jsx)(np,{})}),(0,I.jsx)(`div`,{className:`border-edge w-3/10 border-l`,children:e})]})]}),jg=({owner:e,repo:t,ref:n,path:r,line:i})=>`${tp(e,t)}/blob/${encodeURIComponent(n)}/${r.split(`/`).map(encodeURIComponent).join(`/`)}${i===null?``:`#L${i}`}`,Mg={empty:{entries:[],index:-1},record:(e,t,n)=>{let r=e.entries.slice(0,e.index+1),i=r.at(-1),a=t?i?.filename===t.filename?[...r.slice(0,-1),t]:[...r,t]:r,o=a.at(-1),s=(o?.filename===n.filename&&o.line===n.line?a:[...a,n]).slice(-50);return{entries:s,index:s.length-1}},step:(e,t,n)=>{let r=e.index+(t===`back`?-1:1),i=e.entries[r];if(!i)return null;let a=e.entries[e.index];return{history:{entries:n&&a?.filename===n.filename?e.entries.map((t,r)=>r===e.index?n:t):e.entries,index:r},target:i}}},Ng=(e,t,n,r)=>({...e,...r?{exploredFiles:[...e.exploredFiles.filter(e=>e!==t),t].slice(-8),userMode:`classic`}:{},activeFile:t,prewarmFile:t,navigation:{nonce:e.navigation.nonce+1,line:n===null?null:{filename:t,line:n}}}),Pg=(e,t)=>{switch(t.type){case`selectFile`:return{...Ng(e,t.filename,t.line,t.explore),history:Mg.record(e.history,e.activeFile?{filename:e.activeFile,line:t.fromLine}:null,{filename:t.filename,line:t.line})};case`stepHistory`:{let n=t.history.entries[t.history.index];return n?{...Ng(e,n.filename,n.line,t.explore),history:t.history}:e}case`changeViewMode`:return{...e,userMode:t.mode,navigation:{...e.navigation,line:null}};case`selectDescription`:return{...e,activeFile:null,prewarmFile:null};case`prewarmFile`:return{...e,prewarmFile:t.filename};case`closeExplored`:return{...e,exploredFiles:e.exploredFiles.filter(e=>e!==t.filename),...e.activeFile===t.filename?{activeFile:null,prewarmFile:null}:{}};case`setActiveBeat`:return{...e,activeBeatId:t.beatId};case`expandStoryFile`:return{...e,expandedStoryFile:t.filename,activeBeatId:null};case`showClassic`:return{...e,userMode:`classic`}}},Fg=(e,t)=>{if(e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){if(e.key===`ArrowLeft`)return`back`;if(e.key===`ArrowRight`)return`forward`}return t&&e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.code===`Minus`||e.key===`-`||e.key===`_`)?e.shiftKey?`forward`:`back`:null},Ig=[`INPUT`,`TEXTAREA`,`SELECT`],Lg=e=>{let t=(0,F.useRef)(e);(0,F.useEffect)(()=>{t.current=e}),(0,F.useEffect)(()=>{let e=e=>{if(e.target instanceof HTMLElement&&(e.target.isContentEditable||Ig.includes(e.target.tagName)))return;let n=Fg(e,/Mac|iPhone|iPad/.test(navigator.userAgent));n&&t.current(n)&&e.preventDefault()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[])},Rg=({owner:e,repo:t,pr:n,prMeta:r,prData:i})=>{let a=Xe(),o=g(),[s,c]=(0,F.useReducer)(Pg,{activeFile:null,exploredFiles:[],navigation:{nonce:0,line:null},prewarmFile:null,userMode:null,activeBeatId:null,expandedStoryFile:null,history:Mg.empty}),u=(0,F.useRef)(null),d=e=>!i||i.files.some(t=>t.filename===e),f=(n,i,a)=>{let o=d(n);!o&&!r?P.error(`${n} isn't part of this pull request.`,{action:(0,I.jsx)(l,{asChild:!0,size:`sm`,variant:`secondary`,children:(0,I.jsx)(Vi,{href:jg({owner:e,repo:t,ref:`HEAD`,path:n,line:i??null}),children:`Open on GitHub`})})}):c({type:`selectFile`,filename:n,line:i??null,fromLine:a??u.current?.centerLine()??null,explore:!o})},p=e=>{let t=Mg.step(s.history,e,s.activeFile?{filename:s.activeFile,line:u.current?.centerLine()??null}:null);return t?(c({type:`stepHistory`,history:t.history,explore:!d(t.target.filename)}),!0):!1};return Lg(p),{state:s,viewport:u,history:{canGoBack:s.history.index>0,canGoForward:s.history.index<s.history.entries.length-1,onBack:()=>p(`back`),onForward:()=>p(`forward`)},handlers:{selectFile:f,prewarmFile:s=>{c({type:`prewarmFile`,filename:s});let l=r?.headSha,u=i?.files.find(e=>e.filename===s);l&&Op(u??null)&&o.prefetchQuery(jp(a,{owner:e,repo:t,pr:n,headSha:l,path:s}))},changeViewMode:e=>c({type:`changeViewMode`,mode:e}),selectDescription:()=>c({type:`selectDescription`}),closeExplored:e=>c({type:`closeExplored`,filename:e}),expandStoryFile:e=>{c({type:`expandStoryFile`,filename:e}),f(e),c({type:`showClassic`})},setActiveBeat:e=>c({type:`setActiveBeat`,beatId:e})}}},zg=()=>({storyQuery:{data:null,isPending:!1,isError:!1},storyGenerating:!1,storyOutline:[],retryStory:()=>void 0}),Bg=[],Vg=({owner:e,repo:t,pr:n,isError:r})=>(0,I.jsx)(`div`,{className:`border-edge bg-background flex shrink-0 items-center gap-2 border-b px-4 py-2`,children:(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,I.jsx)(`h1`,{className:`truncate text-sm font-semibold`,children:r?`Couldn't load pull request`:`Loading...`}),(0,I.jsxs)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:[e,`/`,t,`#`,n]})]})}),Hg=({owner:e,repo:t,pr:n,prMeta:r,metadata:i,conversation:a,previewUrl:o,metadataLoading:s,storyAvailable:c,viewMode:l,merge:u,onViewModeChange:d,onReviewChanges:f})=>r?(0,I.jsx)(Bf,{owner:e,repo:t,pr:n,title:r.title,state:r.merged?`merged`:r.state===`closed`?`closed`:r.draft?`draft`:`open`,author:r.author,headRef:r.headRef,baseRef:r.baseRef,changedFiles:r.changedFiles,additions:r.additions,deletions:r.deletions,updatedAt:r.updatedAt,previewUrl:o,baseRepoFullName:r.baseRepoFullName,headRepoFullName:r.headRepoFullName,metadata:i,conversation:a,metadataLoading:s,storyAvailable:c,viewMode:l,merge:u,onViewModeChange:d,onReviewChanges:f}):(0,I.jsx)(Vg,{owner:e,repo:t,pr:n,isError:!1}),Ug=({owner:e,repo:t,pr:n,orgId:r,renderSidePanel:i,onNavigate:a,codeIntel:o=null,blockMarks:s=null,inlineAsk:c=null})=>{let l=Xe(),u=g(),[d,f]=(0,F.useReducer)((e,t)=>t,!1),m=p(Gm(l,{owner:e,repo:t,pr:n})),h=p({...Km(l,{owner:e,repo:t,pr:n}),enabled:!!m.data}),{state:{activeFile:_,exploredFiles:v,navigation:y,prewarmFile:b,userMode:x,activeBeatId:S,expandedStoryFile:C},handlers:w,history:T,viewport:ee}=Rg({owner:e,repo:t,pr:n,prMeta:m.data,prData:h.data}),te=p({...qm(l,{repoFullName:`${e}/${t}`,prNumber:n,headSha:m.data?.headSha??``}),enabled:!!m.data?.headSha}),ne=p({...Jm(l,{repoFullName:`${e}/${t}`,headRef:m.data?.headRef??``}),enabled:!!m.data?.headRef}),re=(ne.data?.length??0)>0,ie=x??(re?`story`:`classic`),{storyQuery:ae,storyGenerating:oe,storyOutline:E,retryStory:D}=zg({owner:e,repo:t,pr:n,orgId:r,prMeta:m.data,viewMode:ie}),O=p({...Wm(l,{owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,baseRef:m.data?.baseRef??``}),enabled:!!m.data?.headSha&&!!m.data?.baseRef}),se=p({...Um(l,{owner:e,repo:t,pr:n}),enabled:!!m.data}),{merge:ce,canApprove:le}=kg({owner:e,repo:t,pr:n,prMeta:m.data,enabled:!!m.data}),ue=Um(l,{owner:e,repo:t,pr:n}).queryKey,k=ug({owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,sessionId:te.data?.id}),A=lg({provider:s,files:h.data?.files??Bg,session:te.data,onToggleViewed:k}),{resolvingThreadId:de,resolveThread:j}=fg({owner:e,repo:t,pr:n}),fe=wg({owner:e,repo:t,pr:n,prMeta:m.data,prData:h.data}),pe=`https://github.com/${e}/${t}/pull/${n}`,me=Ri(se.data),he=i({prMeta:m,prAuthorEmail:h.data?.author.email??null,linkedConversations:ne.data??[],sourcesLoading:ne.isPending,context:fe,storyOutline:E,activeBeatId:S});return m.isPending?(0,I.jsx)(Ag,{sidePanel:he}):(0,I.jsx)(Bi,{value:o,children:(0,I.jsx)(zi,{value:c,children:(0,I.jsxs)(`div`,{className:`flex min-h-0 min-w-0 grow basis-0 flex-col`,children:[m.isError?(0,I.jsx)(Vg,{owner:e,repo:t,pr:n,isError:m.isError}):(0,I.jsx)(Hg,{owner:e,repo:t,pr:n,prMeta:m.data,metadata:O.data,conversation:se.data,previewUrl:O.data?.previewUrl??null,metadataLoading:O.isPending,storyAvailable:re,viewMode:ie,merge:ce,onViewModeChange:w.changeViewMode,onReviewChanges:()=>f(!0)}),(0,I.jsxs)(Ni,{orientation:`horizontal`,id:`glen-review-layout`,className:`min-h-0 flex-1`,children:[ie===`classic`?(0,I.jsx)(Hm,{prData:h,exploredFiles:v,viewedFiles:te.data?.viewedFiles??[],viewedReady:!!te.data?.id,onToggleViewed:k,blockProgress:A.progress,onSelectDescription:w.selectDescription,onSelectFile:w.selectFile,onCloseExplored:w.closeExplored,onPrewarmFile:w.prewarmFile,activeFile:_}):null,(0,I.jsx)(zm,{name:`center`,defaultSize:55,minSize:30,children:(0,I.jsx)(xm,{owner:e,repo:t,pr:n,headSha:m.data?.headSha??``,prBody:m.data?.body??null,prLoading:h.isPending,prError:h.isError,files:h.data?.files,activeFile:_,exploredFiles:v,onCloseExplored:w.closeExplored,scrollNonce:y.nonce,lineTarget:y.line?{...y.line,nonce:y.nonce}:null,expandedStoryFile:C,prewarmFile:b,githubPrUrl:pe,conversation:se.data,conversationLoading:se.isPending,conversationError:se.isError,resolvingThreadId:de,viewMode:ie,story:ae.data,storyPending:ae.isPending,storyError:ae.isError,storyGenerating:oe,onRetryStory:D,onActiveBeatChange:w.setActiveBeat,onAddContextItem:fe.addContextItem,onRetryPr:()=>void h.refetch(),onRetryConversation:()=>void se.refetch(),onResolveThread:j,onSelectFile:w.selectFile,onExpandStoryFile:w.expandStoryFile,blockMarks:A,history:T,viewportRef:ee,onFileCommented:()=>void u.invalidateQueries({queryKey:ue})})}),(0,I.jsx)(Vm,{}),(0,I.jsx)(zm,{name:`side`,defaultSize:30,minSize:20,collapsible:!0,children:he})]}),(0,I.jsx)(Ym,{owner:e,repo:t,pr:n,open:d,onOpenChange:f,onSubmitted:()=>void u.invalidateQueries({queryKey:ue}),canApprove:le}),(0,I.jsx)(oh,{active:me,onNavigate:a})]})})})},Wg={list:()=>Ie.local.blockMarks.list.query(),set:e=>Ie.local.blockMarks.set.mutate(e)},Gg={chats:null,lines:[],focus:null,collapsed:new Set,connection:null,listeners:new Set,epoch:st.getSnapshot().epoch},Kg=()=>Gg.listeners.forEach(e=>e()),qg=e=>e.flatMap(e=>e.placement.kind===`line`?[{id:e.id,path:e.placement.path,line:e.placement.line,side:e.placement.side}]:[]),Jg=(e,t)=>e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id&&e.path===t[n].path&&e.line===t[n].line&&e.side===t[n].side),Yg=()=>Ie.local.agent.chats.subscribe(void 0,{onData:e=>{let t=qg(e).reverse();Gg.chats=e,Jg(Gg.lines,t)||(Gg.lines=t),Kg()},onConnectionStateChange:e=>{e.state===`connecting`&&e.error&&st.check()},onError:e=>void st.check().then(t=>{t&&P.error(e.message)})});st.subscribe(()=>{let{epoch:e}=st.getSnapshot();e!==Gg.epoch&&(Gg.epoch=e,Gg.connection&&(Gg.connection.unsubscribe(),Gg.chats=null,Gg.lines=[],Gg.connection=Yg(),Kg()))});var Xg={getSnapshot:()=>Gg.chats,getLineChats:()=>Gg.lines,getFocus:()=>Gg.focus,focus:e=>{Gg.focus=e,Kg()},getCollapsed:()=>Gg.collapsed,toggleCollapsed:e=>{let t=new Set(Gg.collapsed);t.delete(e)||t.add(e),Gg.collapsed=t,Kg()},subscribe:e=>(Gg.listeners.add(e),Gg.connection??=Yg(),()=>{Gg.listeners.delete(e)})},Zg=(e,t)=>e.find(e=>e.id===t)??e.find(e=>e.available)??e[0],Qg={view:{tab:`agent`,chatId:null,terminalOpened:!1,signIn:null},listeners:new Set},$g=e=>{Qg.view={...Qg.view,...e,terminalOpened:Qg.view.terminalOpened||e.tab===`terminal`},Qg.listeners.forEach(e=>e())},e_={getSnapshot:()=>Qg.view,subscribe:e=>(Qg.listeners.add(e),()=>Qg.listeners.delete(e)),showTab:e=>$g({tab:e}),showChat:e=>$g({tab:`agent`,chatId:e}),signIn:(e,t,n)=>$g({tab:`terminal`,signIn:{agent:e,label:t,chatId:n,run:(Qg.view.signIn?.run??0)+1}}),clearSignIn:()=>$g({signIn:null})},t_=e=>void Ie.local.agent.list.query().then(t=>{let n=Xg.getSnapshot()?.find(e=>e.id===e_.getSnapshot().chatId),r=Zg(t,n?.agent??null);if(r)return Ie.local.agent.create.mutate({agent:r.id,placement:{kind:`line`,...e}}).then(e=>Xg.focus(e.id))}).catch(e=>P.error(e.message)),n_=e=>/^[\w./~-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`,r_=(e,t,n)=>e===null?`glen review ${t}`:n?`cd '${e.replaceAll(`'`,`''`)}'; glen review ${t}`:`cd ${n_(e)} && glen review ${t}`,i_=({command:e})=>{let[t,n]=(0,F.useState)(!1);return(0,I.jsxs)(`div`,{className:`bg-muted flex items-center gap-2 rounded-md py-1 pr-1 pl-3`,children:[(0,I.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-sm break-all`,children:e}),(0,I.jsxs)(l,{size:`sm`,variant:`ghost`,"aria-label":`Copy the restart command`,onClick:()=>void navigator.clipboard.writeText(e).then(()=>n(!0),()=>P.error(`Couldn't copy. Select the command instead.`)),children:[t?(0,I.jsx)(sn,{}):(0,I.jsx)(mn,{}),t?`Copied`:`Copy`]})]})},a_=({newHead:e})=>{let t=be({mutationFn:async()=>{e.needsReload&&await Ie.local.pr.reload.mutate()},onSuccess:()=>location.reload(),onError:e=>P.error(e.message)});return(0,I.jsx)(`div`,{className:`fixed inset-x-0 top-3 z-50 flex justify-center px-4`,children:(0,I.jsxs)(Be,{className:`flex-row items-center gap-3 px-4 py-2 shadow-lg`,children:[(0,I.jsxs)(`span`,{className:`text-sm`,children:[`New commits on this PR. Reload to review`,` `,(0,I.jsx)(`code`,{className:`font-mono`,children:e.sha.slice(0,7)}),`.`]}),(0,I.jsxs)(l,{size:`sm`,disabled:t.isPending,onClick:()=>t.mutate(),children:[t.isPending?(0,I.jsx)(Ae,{}):(0,I.jsx)(ot,{}),`Reload`]})]})})},o_=({pr:e})=>{let t=(0,F.useSyncExternalStore)(st.subscribe,st.getSnapshot);if(t.status===`connected`)return t.newHead?(0,I.jsx)(a_,{newHead:t.newHead}):null;let n=r_(t.info?.repoRoot??null,e,navigator.userAgent.includes(`Windows`));return(0,I.jsx)(`div`,{className:`bg-background/70 fixed inset-0 z-50 flex items-start justify-center px-4 pt-24`,children:(0,I.jsxs)(Be,{className:`w-full max-w-lg shadow-lg`,children:[(0,I.jsxs)(Me,{children:[(0,I.jsxs)(Ee,{className:`flex items-center gap-2`,children:[(0,I.jsx)(Nn,{}),`The reviewer for #`,e,` stopped`]}),(0,I.jsx)(Re,{children:t.status===`signed-out`?`It's back, but it didn't accept this browser. Open the sign-in link it printed in your terminal.`:`Start it again from the repo:`})]}),t.status===`disconnected`?(0,I.jsxs)(Fe,{className:`flex flex-col gap-3`,children:[(0,I.jsx)(i_,{command:n}),(0,I.jsxs)(`span`,{className:`text-muted-foreground flex items-center gap-2 text-sm`,children:[(0,I.jsx)(Ae,{}),`Reconnecting automatically when it's back.`]})]}):null]})})},s_={status:()=>Ie.local.codeIntel.status.query(),hover:e=>Ie.local.codeIntel.hover.query(e),definition:e=>Ie.local.codeIntel.definition.query(e),references:e=>Ie.local.codeIntel.references.query(e),installPackages:()=>Ie.local.codeIntel.installPackages.mutate()},c_=()=>(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`border-edge flex items-center gap-2 border-b p-2`,children:[(0,I.jsx)(A,{className:`h-7 w-40`}),(0,I.jsx)(A,{className:`ml-auto h-7 w-24`})]}),(0,I.jsx)(`div`,{className:`flex-1`}),(0,I.jsx)(`div`,{className:`border-edge border-t p-2`,children:(0,I.jsx)(A,{className:`h-16 w-full`})})]}),l_=()=>(0,I.jsxs)(`div`,{className:`border-edge bg-background border-y`,children:[(0,I.jsx)(`div`,{className:`border-edge flex items-center gap-2 border-b px-3 py-1.5`,children:(0,I.jsx)(A,{className:`h-4 w-48`})}),(0,I.jsx)(`div`,{className:`px-3 py-1.5`,children:(0,I.jsx)(A,{className:`h-8 w-full`})})]}),u_=60,d_=e=>{let t=Xe(),n=p(Gm(t,e));if(!n.data)return null;let r=n.data.title.length>u_?`${n.data.title.slice(0,59).trimEnd()}…`:n.data.title;return(0,I.jsx)(`title`,{children:`#${e.pr} · ${r} · glen review`})},f_=(0,F.lazy)(()=>lt(()=>import(`./local-side-panel-3ycUtZGM.js`).then(e=>({default:e.LocalSidePanel})),__vite__mapDeps([19,1,6,7,8,9,10,11,2,12,13,14,20,16]))),p_=(0,F.lazy)(()=>lt(()=>import(`./inline-ask-lJGgjgn1.js`).then(e=>({default:e.InlineAsk})),__vite__mapDeps([21,1,6,7,8,9,10,11,2,17,20,14]))),m_=/^\/([^/]+)\/([^/]+)\/pull\/(\d+)/.exec(location.pathname),h_=qn(),g_=h({links:[y({transformer:xe,url:`${location.origin}/api/trpc`,fetch:st.fetch})]});st.attach({queryClient:h_,readInfo:()=>Ie.local.server.info.query(),readLatestHead:()=>Ie.local.pr.latestHead.query()});var __=document.getElementById(`root`);__&&(0,vt.createRoot)(__).render((0,I.jsxs)(Nt,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,disableTransitionOnChange:!0,children:[(0,I.jsx)(C,{client:h_,children:(0,I.jsx)(it,{trpcClient:g_,queryClient:h_,children:m_?.[1]&&m_[2]&&m_[3]?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(o_,{pr:Number(m_[3])}),(0,I.jsx)(d_,{owner:m_[1],repo:m_[2],pr:Number(m_[3])}),(0,I.jsx)(Ug,{owner:m_[1],repo:m_[2],pr:Number(m_[3]),orgId:`local`,onNavigate:e=>location.assign(e),codeIntel:s_,blockMarks:Wg,inlineAsk:{start:t_,subscribe:Xg.subscribe,getLineChats:Xg.getLineChats,render:e=>(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(l_,{}),children:(0,I.jsx)(p_,{chatId:e})})},renderSidePanel:({context:e})=>(0,I.jsx)(F.Suspense,{fallback:(0,I.jsx)(c_,{}),children:(0,I.jsx)(f_,{context:e})})})]}):(0,I.jsx)(`div`,{className:`flex w-full items-center justify-center`,children:(0,I.jsx)(we,{title:`Open the review link`,description:`Use the URL that glen review printed in your terminal: it names the pull request to show.`})})})}),(0,I.jsx)(Rn,{richColors:!0,position:`bottom-center`,style:{"--width":`min(32rem, 38vw)`,"--success-bg":`var(--overlay-fill)`,"--success-text":`var(--popover-foreground)`,"--success-border":`var(--edge-overlay)`,"--info-bg":`var(--overlay-fill)`,"--info-text":`var(--popover-foreground)`,"--info-border":`var(--edge-overlay)`,"--warning-bg":`var(--overlay-fill)`,"--warning-text":`var(--popover-foreground)`,"--warning-border":`var(--edge-overlay)`,"--error-bg":`var(--overlay-fill)`,"--error-text":`var(--destructive)`,"--error-border":`var(--destructive)`}})]}));export{cu as $,Wf as A,Sf as B,fp as C,un as Ct,Qf as D,nn as Dt,ip as E,rn as Et,gf as F,Zd as G,cf as H,bf as I,uu as J,Xd as K,vf as L,pf as M,_f as N,Zf as O,tn as Ot,hf as P,iu as Q,yf as R,cp as S,pn as St,dp as T,an as Tt,sf as U,mf as V,Yd as W,tu as X,au as Y,nu as Z,vp as _,In as _t,Xg as a,lu as at,pp as b,Dn as bt,Rm as c,fu as ct,Sm as d,xs as dt,ru as et,Gp as f,bs as ft,gp as g,zi as gt,Dp as h,Bi as ht,Zg as i,Ql as it,Hf as j,Xf as k,Im as l,Zc as lt,Op as m,Vi as mt,c_ as n,ou as nt,jg as o,du as ot,Ip as p,vs as pt,$l as q,e_ as r,su as rt,bg as s,pu as st,l_ as t,eu as tt,Em as u,Ss as ut,_p as v,Pn as vt,lp as w,sn as wt,ap as x,wn as xt,hp as y,An as yt,xf as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{t}from"./button-DizkG3Et.js";import{B as n,t as r,x as i}from"./query-error-DSrxRVZP.js";import{C as a,D as o,g as s,o as c}from"./card-ChTMYRL-.js";import{a as l,o as u}from"./bundle-mjs-IMkwHZOK.js";import{a as d}from"./reviewer-connection-B1irBiYS.js";import{t as f}from"./CaretUp.es-C6IDKCMg.js";import{_ as p,f as m,g as h,h as g,i as _,n as v,p as y,r as b,t as x,u as S}from"./agent-list-query-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{t}from"./button-DizkG3Et.js";import{B as n,t as r,x as i}from"./query-error-DSrxRVZP.js";import{C as a,D as o,g as s,o as c}from"./card-ChTMYRL-.js";import{a as l,o as u}from"./bundle-mjs-IMkwHZOK.js";import{a as d}from"./reviewer-connection-B1irBiYS.js";import{t as f}from"./CaretUp.es-C6IDKCMg.js";import{_ as p,f as m,g as h,h as g,i as _,n as v,p as y,r as b,t as x,u as S}from"./agent-list-query-COrbuW6I.js";import{Dt as C,a as w,r as T,t as E}from"./index-C23o55YE.js";var D=e(u(),1),O=l(),k=e=>e?.kind===`selection`&&e.path?`${e.path}${e.startLine?`:${e.startLine}${e.endLine&&e.endLine!==e.startLine?`-${e.endLine}`:``}`:``}`:e?.label??`Selection`,A=({title:e,actions:n,onClose:r,closing:a=!1,children:o})=>(0,O.jsxs)(`div`,{className:`border-edge bg-background border-y`,children:[(0,O.jsxs)(`div`,{className:o?`border-edge @container flex min-w-0 items-center gap-2 border-b px-3 py-1.5`:`@container flex min-w-0 items-center gap-2 px-3 py-1.5`,children:[(0,O.jsx)(`div`,{className:`text-muted-foreground flex min-w-0 flex-1 items-center gap-1.5 text-xs font-medium`,children:e}),n,(0,O.jsx)(t,{size:`icon-xs`,variant:`ghost`,"aria-label":`Close`,disabled:a,onClick:r,children:a?(0,O.jsx)(s,{}):(0,O.jsx)(i,{})})]}),o]}),j=({chat:e,agents:n,agent:r,onSettled:i})=>{let l=v(e.id),u=(0,D.useSyncExternalStore)(l.subscribe,l.getSnapshot),x=(0,D.useSyncExternalStore)(w.subscribe,w.getCollapsed).has(e.id),E=(0,D.useSyncExternalStore)(w.subscribe,w.getFocus),[j,M]=(0,D.useState)(``),N=e.id,P=e.placement.kind===`line`?e.placement.item:null,F=o({mutationFn:e=>c.local.agent.prompt.mutate({chatId:N,text:e,contextItems:[]}),onError:e=>d.error(e.message)}),I=o({mutationFn:()=>c.local.agent.cancel.mutate({chatId:N}),onError:e=>d.error(e.message)}),L=o({mutationFn:()=>c.local.agent.restart.mutate({chatId:N}),onError:e=>d.error(e.message)}),R=o({mutationFn:()=>c.local.agent.close.mutate({chatId:N}),onError:e=>d.error(e.message)}),z=o({mutationFn:e=>c.local.agent.setAgent.mutate({chatId:N,agent:e}),onError:e=>d.error(e.message)}),B=o({mutationFn:()=>c.local.agent.moveToPanel.mutate({chatId:N}),onSuccess:()=>T.showChat(N),onError:e=>d.error(e.message)}),V=F.isPending||u.busy,H=e.turns>0||e.queued>0||V,U=(e,t)=>T.signIn(e,t,N),W=()=>{let e=j.trim();e&&(F.mutate(e),M(``))},G=(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`span`,{className:`shrink-0`,children:`Ask`}),(0,O.jsx)(_,{agents:n,value:r.id,onValueChange:e=>{e!==r.id&&z.mutate(e)},compact:!0,disabled:H||z.isPending}),(0,O.jsx)(`span`,{className:`truncate`,children:x&&e.turns>0?e.title:`about ${k(P)}`}),x&&V?(0,O.jsx)(s,{className:`shrink-0`}):null]}),K=(0,O.jsxs)(O.Fragment,{children:[u.rows.length>0&&!x?(0,O.jsxs)(t,{size:`xs`,variant:`ghost`,disabled:B.isPending,onClick:()=>B.mutate(),children:[B.isPending?(0,O.jsx)(s,{}):(0,O.jsx)(C,{}),`Continue in chat`]}):null,(0,O.jsx)(t,{size:`icon-xs`,variant:`ghost`,"aria-label":x?`Expand`:`Minimize`,onClick:()=>w.toggleCollapsed(N),children:x?(0,O.jsx)(a,{}):(0,O.jsx)(f,{})})]});return x?(0,O.jsx)(A,{title:G,actions:K,onClose:()=>R.mutate(),closing:R.isPending}):r.available?(0,O.jsxs)(A,{title:G,actions:K,onClose:()=>R.mutate(),closing:R.isPending,children:[u.rows.length>0?(0,O.jsxs)(`div`,{className:`flex max-h-96 flex-col gap-3 overflow-y-auto px-3 pt-3`,children:[u.rows.map(e=>(0,O.jsx)(m,{chatId:N,agent:r.id,label:r.label,row:e,onSignIn:U},e.id)),(0,O.jsx)(g,{label:u.status===`starting`?`Starting ${r.label}`:`${r.label} is working`,thinking:V})]}):null,u.status===`failed`||u.status===`closed`?(0,O.jsxs)(`div`,{className:`px-3 pt-3`,children:[(0,O.jsx)(h,{message:u.status===`failed`?`${r.label} didn't start`:`${r.label} stopped`,detail:u.reason??void 0,onRetry:()=>L.mutate(),retryDisabled:L.isPending}),u.status===`failed`&&u.signIn?(0,O.jsx)(`div`,{className:`pt-2`,children:(0,O.jsx)(y,{agent:r.id,label:r.label,onSignIn:U})}):null]}):null,u.queue.length>0?(0,O.jsx)(`div`,{className:`px-3 pt-2`,children:(0,O.jsx)(b,{chatId:N,queue:u.queue})}):null,(0,O.jsx)(`div`,{className:u.rows.length>0||u.status===`failed`||u.status===`closed`||u.queue.length>0?`border-edge mt-3 border-t`:void 0,children:(0,O.jsx)(p,{flat:!0,value:j,onValueChange:e=>M(e),onSend:W,onStop:()=>I.mutate(),busy:V,canSend:j.trim().length>0,placeholder:V?`Queue a follow-up`:u.rows.length>0?`Ask a follow-up`:`Ask ${r.label} about these lines`,"aria-label":`Question`,autoFocus:E===N&&u.rows.length===0})})]}):(0,O.jsx)(A,{title:G,actions:K,onClose:()=>R.mutate(),closing:R.isPending,children:(0,O.jsx)(`div`,{className:`p-3`,children:(0,O.jsx)(S,{agents:[r],onSettled:i,onSignIn:U})})})},M=({chatId:e})=>{let t=n(x()),i=(0,D.useSyncExternalStore)(w.subscribe,w.getSnapshot)?.find(t=>t.id===e);if(t.isPending||!i)return(0,O.jsx)(E,{});if(t.isError)return(0,O.jsx)(`div`,{className:`p-3`,children:(0,O.jsx)(r,{message:`Couldn't list the agents.`,refetch:()=>void t.refetch()})});let a=t.data.find(e=>e.id===i.agent);return a?(0,O.jsx)(j,{chat:i,agents:t.data,agent:a,onSettled:()=>void t.refetch()}):(0,O.jsx)(E,{})};export{M as InlineAsk};
|