devchain-cli 0.8.2 → 0.8.3
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/modules/events/subscribers/chat-message-delivery.subscriber.js +1 -0
- package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
- package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +2 -0
- package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js +1 -0
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.js +2 -0
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/services/terminal-activity.service.js +1 -4
- package/dist/server/modules/mcp/services/terminal-activity.service.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/providers/controllers/providers.controller.d.ts +3 -0
- package/dist/server/modules/providers/controllers/providers.controller.js +23 -0
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +13 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.js +5 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
- package/dist/server/modules/sessions/services/activity-tracker.service.js +1 -3
- package/dist/server/modules/sessions/services/activity-tracker.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.js +21 -1
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/utils/claude-config.d.ts +10 -0
- package/dist/server/modules/sessions/utils/claude-config.js +114 -0
- package/dist/server/modules/sessions/utils/claude-config.js.map +1 -0
- package/dist/server/modules/settings/services/settings.service.js +2 -1
- package/dist/server/modules/settings/services/settings.service.js.map +1 -1
- package/dist/server/modules/subscribers/actions/restart-agent.action.js +1 -0
- package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-YlFGGJv7.js → ReviewDetailPage-V_NDaKVr.js} +2 -2
- package/dist/server/ui/assets/ReviewsPage-Cq-Xdzkr.js +6 -0
- package/dist/server/ui/assets/{index-sEtQpiB4.js → index-CSzbMcQI.js} +229 -183
- package/dist/server/ui/assets/{index-DuMIsIyY.css → index-Dni6f4hC.css} +1 -1
- package/dist/server/ui/assets/{useReviewSubscription-CMhQ2m0h.js → useReviewSubscription-BTYWvXes.js} +1 -1
- package/dist/server/ui/index.html +2 -2
- package/package.json +5 -1
- package/dist/server/ui/assets/ReviewsPage-Diegg4jt.js +0 -19
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{c as ge,j as e,a as Q,p as hs,g as ds,D as gs,b as fs,d as Ie,e as Ae,f as Fe,r,B as O,F as Ns,C as bs,h as vs,i as xs,k as ws,M as Ds,l as de,m as Es,u as Vs,n as js,o as Ps,q as Rs,s as S,t as ys,v as Le,w as Cs,S as Me,x as $e,y as qe,z as _e,A as me,R as Ss,T as ks,E as Ts,G as Is,K as As,H as Fs,I as Ls,J as k,L as Ms,N as $s}from"./index-sEtQpiB4.js";import{g as qs,i as pe,C as _s,N as He,u as Hs,a as zs,b as Ws,c as Ks,d as Bs,e as Os,f as ue,h as Gs,T as ze,j as B,R as We,k as ne,F as fe,l as Qs,m as Ke,D as Be,n as Oe,K as Us,o as Js,p as Ys,q as Xs,r as Zs,s as ei,t as si,v as ii}from"./useReviewSubscription-CMhQ2m0h.js";/**
|
|
2
|
-
* @license lucide-react v0.545.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const ai=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],ti=ge("circle-question-mark",ai);/**
|
|
7
|
-
* @license lucide-react v0.545.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const ni=[["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]],li=ge("file-question-mark",ni);/**
|
|
12
|
-
* @license lucide-react v0.545.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const oi=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],Ge=ge("git-commit-horizontal",oi);function he(l){return l.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}function A(l){return l.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function G(l){return l.replace(/`([^`]+)`/g,'<code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">$1</code>').replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>").replace(/\*([^*]+)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,(n,o,t)=>`<a href="${/^(https?:|mailto:|#|\/)/i.test(t)?t:"#"}" class="text-primary underline hover:text-primary/80" target="_blank" rel="noopener noreferrer">${o}</a>`)}function Qe(l,n,o){const t=[],a=o?/^\d+\.\s+(.*)$/:/^[-*]\s+(.*)$/;let d=n;for(;d<l.length;){const D=l[d].match(a);if(!D)break;t.push(`<li>${G(A(D[1]))}</li>`),d++}const p=o?"ol":"ul";return[`<${p} class="${o?"list-decimal":"list-disc"} pl-6 my-2 space-y-1">${t.join("")}</${p}>`,d]}function ci(l,n){const t=l[n].match(/^```(\w*)$/),a=(t==null?void 0:t[1])||"";let d=n+1;const p=[];for(;d<l.length&&!l[d].startsWith("```");)p.push(l[d]),d++;d<l.length&&l[d].startsWith("```")&&d++;const P=A(p.join(`
|
|
17
|
-
`));return[`<pre class="bg-muted p-4 rounded-md text-sm overflow-x-auto my-4"${a?` data-language="${a}"`:""}><code class="font-mono">${P}</code></pre>`,d]}function ri(l){const n=l.split(/\r?\n/),o=[];let t=0;for(;t<n.length;){const a=n[t];if(!a.trim()){t++;continue}if(a.startsWith("```")){const[u,b]=ci(n,t);o.push(u),t=b;continue}const d=a.match(/^###\s+(.+)$/);if(d){const u=d[1],b=he(u);o.push(`<h3 id="${b}" class="text-lg font-semibold mt-6 mb-2">${G(A(u))}</h3>`),t++;continue}const p=a.match(/^##\s+(.+)$/);if(p){const u=p[1],b=he(u);o.push(`<h2 id="${b}" class="text-xl font-semibold mt-8 mb-3">${G(A(u))}</h2>`),t++;continue}const P=a.match(/^#\s+(.+)$/);if(P){const u=P[1],b=he(u);o.push(`<h1 id="${b}" class="text-2xl font-bold mt-8 mb-4">${G(A(u))}</h1>`),t++;continue}if(/^[-*]\s+/.test(a)){const[u,b]=Qe(n,t,!1);o.push(u),t=b;continue}if(/^\d+\.\s+/.test(a)){const[u,b]=Qe(n,t,!0);o.push(u),t=b;continue}if(a.startsWith("|")&&a.endsWith("|")){const u=[];for(;t<n.length&&n[t].startsWith("|")&&n[t].endsWith("|");)u.push(n[t]),t++;o.push(`<pre class="bg-muted p-2 rounded text-sm overflow-x-auto my-2 font-mono">${A(u.join(`
|
|
18
|
-
`))}</pre>`);continue}const D=[];for(;t<n.length&&n[t].trim()&&!n[t].startsWith("#")&&!n[t].startsWith("```")&&!/^[-*]\s+/.test(n[t])&&!/^\d+\.\s+/.test(n[t])&&!(n[t].startsWith("|")&&n[t].endsWith("|"));)D.push(n[t]),t++;if(D.length>0){const u=D.join(" ");o.push(`<p class="my-3 leading-relaxed">${G(A(u))}</p>`)}}return hs.sanitize(o.join(`
|
|
19
|
-
`),{ALLOWED_TAGS:["h1","h2","h3","p","pre","code","strong","em","a","ul","ol","li","br"],ALLOWED_ATTR:["href","class","target","rel","id","data-language"],ALLOW_DATA_ATTR:!0})}function mi({content:l,className:n}){const o=ri(l);return e.jsxDEV("div",{className:Q("prose prose-sm max-w-none",n),dangerouslySetInnerHTML:{__html:o}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/MarkdownRenderer.tsx",lineNumber:294,columnNumber:5},this)}function pi({slug:l}){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[e.jsxDEV(li,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:31,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Document not found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:32,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:['No documentation found for "',l,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:33,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:30,columnNumber:5},this)}function ui({open:l,onOpenChange:n,slug:o}){const t=ds(o);return e.jsxDEV(gs,{open:l,onOpenChange:n,children:e.jsxDEV(fs,{className:"max-w-4xl max-h-[90vh] flex flex-col",children:t?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ie,{className:"shrink-0",children:[e.jsxDEV(Ae,{className:"text-xl",children:t.frontmatter.title},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:53,columnNumber:15},this),e.jsxDEV(Fe,{children:t.frontmatter.description},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:54,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:52,columnNumber:13},this),e.jsxDEV("div",{className:"flex-1 overflow-y-auto pr-2 -mr-2",children:e.jsxDEV(mi,{content:t.content,className:"pb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:57,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:56,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:51,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Ie,{className:"sr-only",children:[e.jsxDEV(Ae,{children:"Document not found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:63,columnNumber:15},this),e.jsxDEV(Fe,{children:"The requested documentation could not be found."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:64,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:62,columnNumber:13},this),e.jsxDEV(pi,{slug:o},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:61,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:49,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/DocsViewer.tsx",lineNumber:48,columnNumber:5},this)}function hi({featureId:l,className:n}){const[o,t]=r.useState(!1),a=Ns[l];return a?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(O,{variant:"ghost",size:"icon",className:Q("h-6 w-6",n),onClick:()=>t(!0),"aria-label":"Help",children:e.jsxDEV(ti,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/HelpButton.tsx",lineNumber:46,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/HelpButton.tsx",lineNumber:39,columnNumber:7},this),e.jsxDEV(ui,{open:o,onOpenChange:t,slug:a},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/HelpButton.tsx",lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/shared/HelpButton.tsx",lineNumber:38,columnNumber:5},this):null}function Ue({comments:l,selectedCommentId:n,isExpanded:o,onToggleExpand:t,onReply:a,onResolve:d,onDelete:p,onEdit:P,onApplySuggestion:D,isReplying:u=!1,isResolving:b=!1,isDeleting:U=!1,isEditing:h=!1,isApplyingSuggestion:F=!1,getSessionForAgent:g,onOpenTerminal:R,className:z}){const L=r.useRef(null),V=r.useMemo(()=>l.filter(f=>f.filePath===null),[l]),y=r.useMemo(()=>qs(V),[V]),T=r.useMemo(()=>V.filter(f=>f.parentId===null).sort((f,j)=>{const M=y.get(f.id)??[],s=y.get(j.id)??[],J=pe({comment:f,replies:M}),E=pe({comment:j,replies:s});if(J!==E)return J?-1:1;if(f.status!==j.status){if(f.status==="open")return-1;if(j.status==="open")return 1}return new Date(j.createdAt).getTime()-new Date(f.createdAt).getTime()}),[V,y]);return r.useEffect(()=>{n&&L.current&&o&&L.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,o]),T.length===0?null:e.jsxDEV(bs,{open:o,onOpenChange:t,className:Q("border-b bg-card",z),"data-testid":"review-comments-section",children:[e.jsxDEV(vs,{asChild:!0,children:e.jsxDEV("button",{type:"button",className:"flex items-center gap-2 px-4 py-3 border-b bg-muted/30 w-full text-left hover:bg-muted/50 transition-colors","aria-label":o?"Collapse review comments":"Expand review comments",children:[o?e.jsxDEV(xs,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:140,columnNumber:13},this):e.jsxDEV(ws,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV("h3",{className:"font-medium text-sm flex items-center gap-2",id:"review-comments-heading",children:[e.jsxDEV(Ds,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:146,columnNumber:13},this),"Review Comments",e.jsxDEV(de,{variant:"secondary",className:"text-xs","aria-label":`${T.length} comments`,children:T.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:148,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:145,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:134,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:133,columnNumber:7},this),e.jsxDEV(Es,{children:e.jsxDEV("div",{className:"p-4 space-y-4",role:"region","aria-labelledby":"review-comments-heading",children:T.map(f=>{const j=y.get(f.id)??[],M=pe({comment:f,replies:j}),s=n===f.id;return e.jsxDEV("div",{ref:s?L:void 0,className:Q("transition-all duration-200",s&&"ring-2 ring-primary ring-offset-2 rounded-lg"),"data-comment-id":f.id,children:e.jsxDEV(_s,{comment:f,replies:j,isPending:M,getSessionForAgent:g,onOpenTerminal:R,onReply:a,onResolve:d,onDelete:p,onEdit:P,onApplySuggestion:D,isReplying:u,isResolving:b,isDeleting:U,isEditing:h,isApplyingSuggestion:F},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:178,columnNumber:17},this)},f.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:168,columnNumber:15},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:161,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:160,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/ReviewCommentsSection.tsx",lineNumber:126,columnNumber:5},this)}const Je="review-file-nav",Ye="review-comment-split";function di(){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(fe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:86,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"No changes to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:87,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:"Your working tree is clean"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:88,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:85,columnNumber:5},this)}function Xe(){return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(fe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:97,columnNumber:7},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Select a file to view diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:98,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm",children:"Choose a file from the left panel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:99,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:96,columnNumber:5},this)}function gi(){return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b p-4",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV(k,{className:"h-6 w-32"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:110,columnNumber:11},this),e.jsxDEV(k,{className:"h-9 w-40"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:111,columnNumber:11},this),e.jsxDEV(k,{className:"h-9 w-48"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:112,columnNumber:11},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:113,columnNumber:11},this),e.jsxDEV(k,{className:"h-9 w-24"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:114,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:109,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:108,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 flex",children:[e.jsxDEV("div",{className:"w-64 border-r p-4 space-y-2",children:Array.from({length:5}).map((l,n)=>e.jsxDEV(k,{className:"h-8 w-full"},n,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:121,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:119,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 p-4",children:e.jsxDEV(k,{className:"h-full w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:125,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:124,columnNumber:9},this),e.jsxDEV("div",{className:"w-80 border-l p-4 space-y-2",children:[e.jsxDEV(k,{className:"h-6 w-24 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:128,columnNumber:11},this),Array.from({length:3}).map((l,n)=>e.jsxDEV(k,{className:"h-16 w-full"},n,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:130,columnNumber:13},this))]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:118,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:106,columnNumber:5},this)}function bi(){var ke;const l=Vs(),n=js(),{toast:o}=Ps(),{selectedProject:t,selectedProjectId:a,projectsLoading:d}=Rs(),[p,P]=r.useState("working-tree"),[D,u]=r.useState("all"),[b,U]=r.useState("HEAD"),[h,F]=r.useState(null),[g,R]=r.useState(null),[z,L]=r.useState("unified"),[V,y]=r.useState(null),[T,f]=r.useState(!0),j=He({id:Je,storage:localStorage}),M=He({id:Ye,storage:localStorage}),{data:s,isLoading:J}=S({queryKey:["active-review",a],queryFn:()=>ue(a),enabled:!!a});Hs((s==null?void 0:s.id)??null,a??null);const{data:E,isLoading:Ne,isError:Ze,refetch:be}=S({queryKey:["working-tree",a,D],queryFn:()=>Xs(a,D),enabled:!!a&&p==="working-tree",refetchInterval:5e3}),{data:$,isLoading:es,isError:ss}=S({queryKey:["commit-diff",a,h==null?void 0:h.sha],queryFn:()=>Zs(a,h.sha),enabled:!!a&&p==="commit"&&!!h}),{data:I=[]}=S({queryKey:["commits",a],queryFn:()=>ei(a,{limit:50}),enabled:!!a});r.useEffect(()=>{if(s){const i=s.mode==="working_tree"?"working-tree":"commit";if(P(i),U(s.baseRef),s.mode==="commit"&&I.length>0){const c=I.find(m=>m.sha===s.headRef);c&&F(c)}}},[s,I]);const{data:is=[]}=S({queryKey:["branches",a],queryFn:()=>si(a),enabled:!!a}),{data:N}=S({queryKey:["review-comments",s==null?void 0:s.id],queryFn:()=>ii(s.id),enabled:!!(s!=null&&s.id)}),{data:ve={}}=S({queryKey:["agent-presence",a],queryFn:()=>Ms(a),enabled:!!a,refetchInterval:1e4}),{data:xe=[]}=S({queryKey:["active-sessions",a],queryFn:()=>$s(a),enabled:!!a,refetchInterval:1e4}),Y=r.useCallback(i=>{const c=ve[i];return c!=null&&c.sessionId?xe.find(m=>m.id===c.sessionId)??null:null},[ve,xe]),X=ys(),Z=Le({mutationFn:()=>Ys(s.id,s.version),onSuccess:()=>{n.invalidateQueries({queryKey:["active-review",a]}),n.invalidateQueries({queryKey:["review-comments"]}),o({title:"Review closed",description:"The review has been closed successfully."})}}),W=Le({mutationFn:async()=>{const i=p==="commit"&&h?`Review: ${h.sha.slice(0,7)}`:"Pre-commit review",c=p==="commit"&&h?`${h.sha}^`:b,m=p==="commit"&&h?h.sha:"HEAD";return Js({projectId:a,title:i,mode:p==="working-tree"?"working_tree":"commit",baseRef:c,headRef:m,status:"draft"})},onSuccess:i=>{n.setQueryData(["active-review",a],i)}}),le=zs(),K=Ws(),C=Ks(),q=Bs(),_=Os(),we=r.useCallback(async(i,c,m,w,x,us)=>{let te=s==null?void 0:s.id;if(!te)try{te=(await W.mutateAsync()).id}catch(Te){const re=await ue(a);if(!re)throw Te;n.setQueryData(["active-review",a],re),te=re.id}await le.mutateAsync({reviewId:te,content:w,commentType:x,filePath:g,lineStart:i,lineEnd:c,side:m,targetAgentIds:us})},[s==null?void 0:s.id,W,le,n,a,g]),ee=r.useCallback(async(i,c)=>{let m=s==null?void 0:s.id;if(!m)try{m=(await W.mutateAsync()).id}catch(w){const x=await ue(a);if(!x)throw w;n.setQueryData(["active-review",a],x),m=x.id}await K.mutateAsync({reviewId:m,parentId:i,content:c})},[s==null?void 0:s.id,W,K,n,a]),De=r.useCallback(i=>{if((s==null?void 0:s.mode)==="commit"&&(h==null?void 0:h.sha)!==s.headRef){const c=I.find(m=>m.sha===s.headRef);c&&F(c)}i.filePath?(R(i.filePath),y(i.commentId)):(f(!0),y(i.commentId))},[s==null?void 0:s.mode,s==null?void 0:s.headRef,h==null?void 0:h.sha,I]),Ee=r.useCallback(()=>{y(null)},[]),Ve=r.useCallback(async(i,c,m)=>{s!=null&&s.id&&await C.mutateAsync({reviewId:s.id,commentId:i,status:c,version:m})},[s==null?void 0:s.id,C]),je=r.useCallback(async(i,c)=>{if(!(s!=null&&s.id)||!(N!=null&&N.items))return;const m=N.items.find(w=>w.id===i);m&&await C.mutateAsync({reviewId:s.id,commentId:i,status:c,version:m.version})},[s==null?void 0:s.id,N==null?void 0:N.items,C]),se=r.useCallback(async i=>{s!=null&&s.id&&await q.mutateAsync({reviewId:s.id,commentId:i})},[s==null?void 0:s.id,q]),ie=r.useCallback(async(i,c,m)=>{s!=null&&s.id&&await _.mutateAsync({reviewId:s.id,commentId:i,content:c,version:m})},[s==null?void 0:s.id,_]),Pe=W.isPending||le.isPending||K.isPending,v=r.useMemo(()=>{if(p==="working-tree"&&E){const{staged:i,unstaged:c,untracked:m}=E.changes,w=new Map;return i.forEach(x=>w.set(x.path,x)),c.forEach(x=>{w.has(x.path)||w.set(x.path,x)}),(m||[]).forEach(x=>{w.has(x)||w.set(x,{path:x,status:"added",additions:0,deletions:0})}),Array.from(w.values())}return p==="commit"&&$?$.changedFiles:[]},[p,E,$]),Re=p==="working-tree"?(E==null?void 0:E.diff)??"":($==null?void 0:$.diff)??"",ye=((ke=N==null?void 0:N.items)==null?void 0:ke.filter(i=>i.filePath===g))??[],Ce=g?v.find(i=>i.path===g):void 0,as=i=>{P(i),R(null),i==="commit"&&F(null)},ts=i=>{const c=I.find(m=>m.sha===i);F(c??null),R(null)},oe=i=>{R(i)},ns=r.useCallback(()=>{if(v.length===0)return;const c=((g?v.findIndex(m=>m.path===g):-1)+1)%v.length;R(v[c].path)},[v,g]),ls=r.useCallback(()=>{if(v.length===0)return;const i=g?v.findIndex(m=>m.path===g):0,c=i<=0?v.length-1:i-1;R(v[c].path)},[v,g]),Se=r.useRef(null),os=r.useCallback(()=>{var i;(i=Se.current)==null||i.focusNextComment()},[]),cs=r.useCallback(()=>{var i;(i=Se.current)==null||i.focusPreviousComment()},[]),{isHelpOpen:rs,closeHelp:ms,openHelp:ps}=Gs({enabled:!d,handlers:{onNextFile:ns,onPreviousFile:ls,onNextComment:os,onPreviousComment:cs}});if(!d&&!t)return e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full py-16",children:[e.jsxDEV(Cs,{className:"h-12 w-12 text-muted-foreground/50 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:595,columnNumber:9},this),e.jsxDEV("h2",{className:"text-lg font-medium mb-2",children:"No project selected"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:596,columnNumber:9},this),e.jsxDEV("p",{className:"text-muted-foreground mb-4",children:"Select a project to view code reviews."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:597,columnNumber:9},this),e.jsxDEV(O,{onClick:()=>l("/projects"),children:"Go to Projects"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:598,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:594,columnNumber:7},this);if(d||J)return e.jsxDEV(gi,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:605,columnNumber:12},this);const ae=p==="working-tree"?Ne:es,H=p==="working-tree"?Ze:ss,ce=v.length>0;return e.jsxDEV("div",{className:"flex flex-col h-full",children:[e.jsxDEV("div",{className:"border-b px-4 py-3 bg-card",children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("h1",{className:"text-lg font-semibold",children:"Code Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:619,columnNumber:13},this),e.jsxDEV(hi,{featureId:"reviews"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:620,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:618,columnNumber:11},this),e.jsxDEV(ze,{type:"single",value:p,onValueChange:i=>i&&as(i),className:"border rounded-md",children:[e.jsxDEV(B,{value:"working-tree",className:"text-xs px-3",children:"Working Changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:630,columnNumber:13},this),e.jsxDEV(B,{value:"commit",className:"text-xs px-3",children:[e.jsxDEV(Ge,{className:"h-3.5 w-3.5 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:634,columnNumber:15},this),"Commit"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:633,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:624,columnNumber:11},this),p==="working-tree"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Me,{value:b,onValueChange:U,children:[e.jsxDEV($e,{className:"w-36","aria-label":"Select base reference",children:e.jsxDEV(qe,{placeholder:"Base"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:645,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:644,columnNumber:17},this),e.jsxDEV(_e,{children:[e.jsxDEV(me,{value:"HEAD",children:"HEAD"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:648,columnNumber:19},this),is.filter(i=>["main","master"].includes(i.name)).map(i=>e.jsxDEV(me,{value:i.name,children:i.name},i.name,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:652,columnNumber:23},this))]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:647,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:643,columnNumber:15},this),e.jsxDEV(ze,{type:"single",value:D,onValueChange:i=>i&&u(i),className:"border rounded-md",children:[e.jsxDEV(B,{value:"all",className:"text-xs px-3",children:"All"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:666,columnNumber:17},this),e.jsxDEV(B,{value:"staged",className:"text-xs px-3",children:"Staged"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:669,columnNumber:17},this),e.jsxDEV(B,{value:"unstaged",className:"text-xs px-3",children:"Unstaged"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:672,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:660,columnNumber:15},this),e.jsxDEV(O,{variant:"ghost",size:"icon",onClick:()=>be(),title:"Refresh",children:e.jsxDEV(Ss,{className:Q("h-4 w-4",Ne&&"animate-spin")},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:684,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:678,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:641,columnNumber:13},this):e.jsxDEV(Me,{value:(h==null?void 0:h.sha)??"",onValueChange:ts,children:[e.jsxDEV($e,{className:"w-80","aria-label":"Select commit to review",children:e.jsxDEV(qe,{placeholder:"Select a commit to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:691,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:690,columnNumber:15},this),e.jsxDEV(_e,{children:I.map(i=>e.jsxDEV(me,{value:i.sha,children:[e.jsxDEV("span",{className:"font-mono text-xs",children:i.sha.slice(0,7)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:696,columnNumber:21},this),e.jsxDEV("span",{className:"ml-2 truncate",children:i.message},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:697,columnNumber:21},this)]},i.sha,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:695,columnNumber:19},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:693,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:689,columnNumber:13},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:704,columnNumber:11},this),ce&&e.jsxDEV("span",{className:"text-sm text-muted-foreground",children:[v.length," files",(E==null?void 0:E.untrackedDiffsCapped)&&e.jsxDEV("span",{className:"ml-1 text-amber-600",title:`Showing diffs for ${E.untrackedProcessed} of ${E.untrackedTotal} untracked files`,children:"(diffs capped)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:711,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:708,columnNumber:13},this),s&&e.jsxDEV(de,{variant:"secondary",className:"bg-blue-100 text-blue-800",children:"Active Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:723,columnNumber:13},this),e.jsxDEV(ks,{children:e.jsxDEV(Ts,{children:[e.jsxDEV(Is,{asChild:!0,children:e.jsxDEV(O,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:ps,title:"Keyboard shortcuts",children:e.jsxDEV(As,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:739,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:732,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:731,columnNumber:15},this),e.jsxDEV(Fs,{children:e.jsxDEV("p",{children:"Keyboard shortcuts (?)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:743,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:742,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:730,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:729,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:616,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:615,columnNumber:7},this),H&&e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full",children:[e.jsxDEV(Ls,{className:"h-12 w-12 text-destructive mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:753,columnNumber:11},this),e.jsxDEV("h2",{className:"text-lg font-medium mb-2",children:"Failed to load changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:754,columnNumber:11},this),e.jsxDEV("p",{className:"text-muted-foreground mb-4",children:"There was an error loading the changes. Please try again."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:755,columnNumber:11},this),e.jsxDEV(O,{onClick:()=>be(),children:"Retry"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:758,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:752,columnNumber:9},this),!H&&!ae&&!ce&&p==="working-tree"&&e.jsxDEV(di,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:763,columnNumber:76},this),!H&&p==="commit"&&!h&&e.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[e.jsxDEV(Ge,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:768,columnNumber:11},this),e.jsxDEV("p",{className:"text-lg font-medium",children:"Select a commit to review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:769,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm",children:"Choose a commit from the dropdown above"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:770,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:767,columnNumber:9},this),!H&&ce&&e.jsxDEV(We,{orientation:"horizontal",className:"flex-1 min-h-0",id:Je,defaultLayout:j.defaultLayout,onLayoutChanged:j.onLayoutChanged,children:[e.jsxDEV(ne,{id:"file-nav",defaultSize:"256px",minSize:"150px",maxSize:"40%",children:e.jsxDEV("div",{className:"h-full border-r bg-card overflow-hidden flex flex-col",children:[e.jsxDEV("div",{className:"p-3 border-b shrink-0",children:e.jsxDEV("h2",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsxDEV(fe,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:788,columnNumber:19},this),"Files",v.length>0&&e.jsxDEV(de,{variant:"secondary",className:"text-xs",children:v.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:791,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:787,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:786,columnNumber:15},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:e.jsxDEV(Qs,{files:v,selectedFile:g,onSelectFile:oe,isLoading:ae},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:798,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:797,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:785,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:784,columnNumber:11},this),e.jsxDEV(Ke,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:808,columnNumber:11},this),e.jsxDEV(ne,{id:"diff-comments",defaultSize:"80%",children:z==="split"?e.jsxDEV(We,{orientation:"vertical",className:"h-full",id:Ye,defaultLayout:M.defaultLayout,onLayoutChanged:M.onLayoutChanged,children:[e.jsxDEV(ne,{id:"diff-panel",defaultSize:"70%",minSize:"30%",children:e.jsxDEV("div",{className:"h-full min-w-0 bg-background overflow-auto flex flex-col",children:[s&&(N==null?void 0:N.items)&&e.jsxDEV(Ue,{comments:N.items,selectedCommentId:V,isExpanded:T,onToggleExpand:()=>f(i=>!i),onReply:ee,onResolve:je,onDelete:se,onEdit:ie,isReplying:K.isPending,isResolving:C.isPending,isDeleting:q.isPending,isEditing:_.isPending,getSessionForAgent:Y,onOpenTerminal:X},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:825,columnNumber:23},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:g?e.jsxDEV(Be,{diff:Re,filePath:g,isLoading:ae,error:H?"Failed to load diff":null,viewType:z,onViewTypeChange:L,projectId:a,comments:ye,onAddComment:we,onReplyToComment:ee,onResolveComment:Ve,onDeleteComment:se,onEditComment:ie,isSubmittingComment:Pe,isResolvingComment:C.isPending,isDeletingComment:q.isPending,isEditingComment:_.isPending,getSessionForAgent:Y,onOpenTerminal:X,fileInfo:Ce,selectedCommentId:V,onClearSelectedComment:Ee},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:845,columnNumber:25},this):e.jsxDEV(Xe,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:870,columnNumber:25},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:843,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:822,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:821,columnNumber:17},this),e.jsxDEV(Ke,{withHandle:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:875,columnNumber:17},this),e.jsxDEV(ne,{id:"comment-panel",defaultSize:"30%",minSize:"15%",children:e.jsxDEV("div",{className:"h-full bg-card overflow-hidden border-t",children:s?e.jsxDEV(Oe,{reviewId:s.id,review:s,projectId:a,selectedFile:g,onNavigateToComment:De,onSelectFile:oe,selectedCommentId:V,onCloseReview:()=>Z.mutate(),isClosingReview:Z.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:879,columnNumber:23},this):e.jsxDEV("div",{className:"p-4 text-center text-muted-foreground",children:e.jsxDEV("p",{className:"text-sm",children:"Add a comment to start a review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:892,columnNumber:25},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:891,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:877,columnNumber:19},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:876,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:814,columnNumber:15},this):e.jsxDEV("div",{className:"h-full grid grid-cols-[1fr_320px]",children:[e.jsxDEV("div",{className:"min-w-0 bg-background overflow-auto flex flex-col",children:[s&&(N==null?void 0:N.items)&&e.jsxDEV(Ue,{comments:N.items,selectedCommentId:V,isExpanded:T,onToggleExpand:()=>f(i=>!i),onReply:ee,onResolve:je,onDelete:se,onEdit:ie,isReplying:K.isPending,isResolving:C.isPending,isDeleting:q.isPending,isEditing:_.isPending,getSessionForAgent:Y,onOpenTerminal:X},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:904,columnNumber:21},this),e.jsxDEV("div",{className:"flex-1 min-h-0",children:g?e.jsxDEV(Be,{diff:Re,filePath:g,isLoading:ae,error:H?"Failed to load diff":null,viewType:z,onViewTypeChange:L,projectId:a,comments:ye,onAddComment:we,onReplyToComment:ee,onResolveComment:Ve,onDeleteComment:se,onEditComment:ie,isSubmittingComment:Pe,isResolvingComment:C.isPending,isDeletingComment:q.isPending,isEditingComment:_.isPending,getSessionForAgent:Y,onOpenTerminal:X,fileInfo:Ce,selectedCommentId:V,onClearSelectedComment:Ee},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:924,columnNumber:23},this):e.jsxDEV(Xe,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:949,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:922,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:901,columnNumber:17},this),e.jsxDEV("div",{className:"bg-card overflow-hidden border-l",children:s?e.jsxDEV(Oe,{reviewId:s.id,review:s,projectId:a,selectedFile:g,onNavigateToComment:De,onSelectFile:oe,selectedCommentId:V,onCloseReview:()=>Z.mutate(),isClosingReview:Z.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:955,columnNumber:21},this):e.jsxDEV("div",{className:"p-4 text-center text-muted-foreground",children:e.jsxDEV("p",{className:"text-sm",children:"Add a comment to start a review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:968,columnNumber:23},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:967,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:953,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:900,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:811,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:776,columnNumber:9},this),e.jsxDEV(Us,{open:rs,onOpenChange:ms},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:979,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/pages/ReviewsPage.tsx",lineNumber:613,columnNumber:5},this)}export{bi as ReviewsPage};
|