"use strict";exports.id=539,exports.ids=[539],exports.modules={11865:(e,t,a)=>{a.d(t,{Ix:()=>m,pm:()=>h});var r=a(10326),s=a(17577),l=a(28567),n=a(69669),o=a(18019),i=a(94019),c=a(22202);let d=3e3;function u({type:e,iconColor:t}){let a=`h-5 w-5 ${t}`;switch(e){case"success":return r.jsx(l.Z,{className:a,"data-testid":"toast-icon-success"});case"error":return r.jsx(n.Z,{className:a,"data-testid":"toast-icon-error"});default:return r.jsx(o.Z,{className:a,"data-testid":"toast-icon-info"})}}function x({id:e,message:t,type:a,onClose:l,duration:n=d}){let o=(0,s.useRef)(null),c=function(e){switch(e){case"success":return{bgColor:"bg-green-50",borderColor:"border-green-200",textColor:"text-green-800",iconColor:"text-green-500"};case"error":return{bgColor:"bg-red-50",borderColor:"border-red-200",textColor:"text-red-800",iconColor:"text-red-500"};default:return{bgColor:"bg-blue-50",borderColor:"border-blue-200",textColor:"text-blue-800",iconColor:"text-blue-500"}}}(a),x=(0,s.useCallback)(()=>{o.current&&clearTimeout(o.current),l(e)},[e,l]);return(0,r.jsxs)("div",{"data-testid":`toast-${e}`,role:"alert",className:`
        ${c.bgColor}
        ${c.borderColor}
        ${c.textColor}
        border rounded-lg shadow-lg p-4 min-w-[300px] max-w-[400px]
        flex items-start gap-3
        animate-slide-in
      `,children:[r.jsx(u,{type:a,iconColor:c.iconColor}),r.jsx("p",{className:"flex-1 text-sm font-medium",children:t}),r.jsx("button",{"data-testid":"toast-close-button",onClick:x,"aria-label":"Close notification",className:`
          ${c.textColor}
          hover:opacity-70
          focus:outline-none focus:ring-2 focus:ring-offset-2
          transition-opacity
        `,children:r.jsx(i.Z,{className:"h-4 w-4"})})]})}function m({toasts:e,onClose:t}){return r.jsx("div",{"data-testid":"toast-container","aria-live":"polite",className:"fixed bottom-4 right-4 flex flex-col gap-2",style:{zIndex:c.k.TOAST},children:e.map(e=>r.jsx(x,{id:e.id,message:e.message,type:e.type,onClose:t,duration:e.duration},e.id))})}function h(){let[e,t]=(0,s.useState)([]),a=(0,s.useRef)(0);return{toasts:e,showToast:(0,s.useCallback)((e,r="info",s=d)=>{let l=`toast-${++a.current}-${Date.now()}`,n={id:l,message:e,type:r,duration:s};return t(e=>[...e,n]),l},[]),removeToast:(0,s.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),clearToasts:(0,s.useCallback)(()=>{t([])},[])}}},79906:(e,t,a)=>{a.d(t,{Vw:()=>M});var r=a(10326),s=a(17577);a(90434);var l=a(87403),n=a(2982),o=a(35047),i=a(3885),c=a(61421),d=a(2491);function u({status:e,label:t}){let a=c.F4[e],s=`${t}: ${a.label}`;return"spinner"===a.type?r.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${a.className}`,title:s,"aria-label":s}):r.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${a.className}`,title:s,"aria-label":s})}let x=(0,s.memo)(function({branch:e,isSelected:t,onClick:a}){return(0,r.jsxs)("button",{"data-testid":"branch-list-item",onClick:a,"aria-current":t?"true":void 0,className:`
        w-full px-4 py-3 flex flex-col gap-1
        hover:bg-gray-800 transition-colors
        focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500
        ${t?"bg-gray-700 border-l-2 border-blue-500":"border-l-2 border-transparent"}
      `,children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 w-full",children:[e.cliStatus&&Object.keys(e.cliStatus).length>0&&r.jsx("div",{className:"flex items-center gap-1 flex-shrink-0","aria-label":"CLI tool status",children:Object.entries(e.cliStatus).map(([e,t])=>r.jsx(u,{status:t??"idle",label:(0,d.Ds)(e)},e))}),(0,r.jsxs)("div",{className:"flex-1 min-w-0 text-left",children:[r.jsx("p",{className:"text-sm font-medium text-white truncate",children:e.name}),r.jsx("p",{className:"text-xs text-gray-400 truncate",children:e.repositoryName})]}),e.hasUnread&&r.jsx("span",{"data-testid":"unread-indicator",className:"w-2 h-2 rounded-full bg-blue-500 flex-shrink-0","aria-label":"Has unread messages"})]}),e.description&&r.jsx("div",{"data-testid":"branch-description",className:"pl-6 pr-2 mt-1 text-left",children:r.jsx("p",{className:"text-xs text-gray-400 line-clamp-2",children:e.description})})]})}),m=[{key:"updatedAt",label:"Updated"},{key:"repositoryName",label:"Repository"},{key:"branchName",label:"Branch"},{key:"status",label:"Status"}],h=(0,s.memo)(function(){let{sortKey:e,sortDirection:t,setSortKey:a,setSortDirection:n}=(0,l.Sz)(),[o,i]=(0,s.useState)(!1),c=(0,s.useRef)(null);(0,s.useEffect)(()=>{function e(e){c.current&&!c.current.contains(e.target)&&i(!1)}if(o)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]),(0,s.useEffect)(()=>{function e(e){"Escape"===e.key&&i(!1)}if(o)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]);let d=(0,s.useCallback)(()=>{i(e=>!e)},[]),u=(0,s.useCallback)(r=>{r===e?n("asc"===t?"desc":"asc"):(a(r),n("updatedAt"===r?"desc":"asc")),i(!1)},[e,t,a,n]),x=(0,s.useCallback)(()=>{n("asc"===t?"desc":"asc")},[t,n]),h=m.find(t=>t.key===e)?.label||"Sort";return(0,r.jsxs)("div",{ref:c,className:"relative","data-testid":"sort-selector",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsxs)("button",{type:"button",onClick:d,"aria-expanded":o,"aria-haspopup":"listbox","aria-label":`Sort by ${h}`,className:" flex items-center gap-1 px-2 py-1 rounded text-xs text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors ",children:[r.jsx(p,{className:"w-3 h-3"}),r.jsx("span",{className:"hidden sm:inline",children:h})]}),r.jsx("button",{type:"button",onClick:x,"aria-label":"asc"===t?"Sort ascending":"Sort descending",className:" p-1 rounded text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors ",children:"asc"===t?r.jsx(g,{className:"w-3 h-3"}):r.jsx(f,{className:"w-3 h-3"})})]}),o&&r.jsx("div",{role:"listbox","aria-label":"Sort options",className:" absolute right-0 top-full mt-1 z-50 min-w-[140px] py-1 rounded-md shadow-lg bg-gray-800 border border-gray-600 ",children:m.map(a=>(0,r.jsxs)("button",{type:"button",role:"option","aria-selected":e===a.key,onClick:()=>u(a.key),className:`
                w-full px-3 py-2 text-left text-sm
                flex items-center justify-between
                hover:bg-gray-700 transition-colors
                ${e===a.key?"text-blue-400":"text-gray-300"}
              `,children:[r.jsx("span",{children:a.label}),e===a.key&&r.jsx("span",{className:"text-xs",children:"asc"===t?"ASC":"DESC"})]},a.key))})]})});function p({className:e}){return r.jsx("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"})})}function g({className:e}){return r.jsx("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"})})}function f({className:e}){return r.jsx("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}var b=a(34643);let y=["en","ja"],v={en:"English",ja:"日本語"};function j(){let{currentLocale:e,switchLocale:t}={currentLocale:(0,b.bU)(),switchLocale:e=>{y.includes(e)&&(function(e){let t="https:"===window.location.protocol;document.cookie=`locale=${e};path=/;max-age=31536000;SameSite=Lax${t?";Secure":""}`}(e),localStorage.setItem("locale",e),window.location.reload())}};return r.jsx("select",{value:e,onChange:e=>t(e.target.value),"aria-label":"Language",className:" w-full px-3 py-2 rounded-md bg-gray-800 text-white border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm ",children:y.map(e=>r.jsx("option",{value:e,children:v[e]},e))})}var w=a(6162),N=a(94001);function k(){let e=(0,w.T)("auth"),t=(0,N.m)(),[a,l]=(0,s.useState)(!1);if(!t)return null;async function n(){l(!0);try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{window.location.href="/login"}}return r.jsx("button",{type:"button",onClick:n,disabled:a,"data-testid":"logout-button",className:" w-full px-3 py-2 text-sm text-left rounded-md text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 transition-colors ",children:a?"...":e("logout.button")})}var C=a(18421);let S={waiting:0,ready:1,running:2,generating:3,idle:4},L=(0,s.memo)(function(){let e=(0,o.useRouter)(),{worktrees:t,selectedWorktreeId:a,selectWorktree:n}=(0,i.Mu)(),{closeMobileDrawer:c,sortKey:d,sortDirection:u}=(0,l.Sz)(),[m,p]=(0,s.useState)(""),g=(0,s.useMemo)(()=>{let e=t.map(C.I_),a=e;if(m.trim()){let t=m.toLowerCase();a=e.filter(e=>e.name.toLowerCase().includes(t)||e.repositoryName.toLowerCase().includes(t))}return function(e,t,a){let r=[...e];return r.sort((e,r)=>{let s=0;switch(t){case"updatedAt":{let t=e=>e?e instanceof Date?e.getTime():new Date(e).getTime():0,a=t(e.lastActivity);s=t(r.lastActivity)-a;break}case"repositoryName":{let t=e.repositoryName.toLowerCase(),a=r.repositoryName.toLowerCase();s=t.localeCompare(a);break}case"branchName":{let t=e.name.toLowerCase(),a=r.name.toLowerCase();s=t.localeCompare(a);break}case"status":s=S[e.status]-S[r.status]}return("updatedAt"===t?"desc"===a:"asc"===a)?s:-s}),r}(a,d,u)},[t,m,d,u]),f=t=>{n(t),e.push(`/worktrees/${t}`),c()};return(0,r.jsxs)("nav",{"data-testid":"sidebar","aria-label":"Branch navigation",className:"h-full flex flex-col bg-gray-900 text-white",role:"navigation",children:[r.jsx("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 px-4 py-4 border-b border-gray-700",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[r.jsx("h2",{className:"text-lg font-semibold text-white",children:"Branches"}),r.jsx(h,{})]})}),r.jsx("div",{className:"flex-shrink-0 px-4 py-3 border-b border-gray-700",children:r.jsx("input",{type:"text",placeholder:"Search branches...",value:m,onChange:e=>p(e.target.value),className:" w-full px-3 py-2 rounded-md bg-gray-800 text-white placeholder-gray-400 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent "})}),r.jsx("div",{"data-testid":"branch-list",className:"flex-1 overflow-y-auto",children:0===g.length?r.jsx("div",{className:"px-4 py-8 text-center text-gray-400",children:m?"No branches found":"No branches available"}):g.map(e=>r.jsx(x,{branch:e,isSelected:e.id===a,onClick:()=>f(e.id)},e.id))}),(0,r.jsxs)("div",{className:"flex-shrink-0 px-4 py-3 border-t border-gray-700 space-y-2",children:[r.jsx(j,{}),r.jsx(k,{})]})]})});var z=a(22202);let $="transform transition-transform duration-300 ease-out",M=(0,s.memo)(function({children:e}){let{isOpen:t,isMobileDrawerOpen:a,closeMobileDrawer:s}=(0,l.Sz)();return(0,n.d)()?(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[a&&r.jsx("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:s,"aria-hidden":"true"}),r.jsx("aside",{"data-testid":"sidebar-container",className:`
            fixed left-0 top-0 h-full w-72 z-50
            ${$}
            ${a?"translate-x-0":"-translate-x-full"}
          `,role:"complementary",children:r.jsx(L,{})}),r.jsx("main",{className:"flex-1 min-h-0 overflow-hidden",role:"main",children:e})]}):(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex",children:[r.jsx("aside",{"data-testid":"sidebar-container",className:`
          fixed left-0 top-0 h-full w-72
          ${$}
          ${t?"translate-x-0":"-translate-x-full"}
        `,style:{zIndex:z.k.SIDEBAR},role:"complementary","aria-hidden":!t,children:r.jsx(L,{})}),r.jsx("main",{className:`
          flex-1 min-w-0 h-full overflow-hidden
          transition-[padding] duration-300 ease-out
          ${t?"md:pl-72":"md:pl-0"}
        `,role:"main",children:e})]})})},28676:(e,t,a)=>{a.d(t,{u:()=>o});var r=a(10326),s=a(17577),l=a(60962),n=a(22202);function o({isOpen:e,onClose:t,title:a,children:o,size:i="lg",showCloseButton:c=!0,disableClose:d=!1}){let u=(0,s.useRef)(null);return e?(0,l.createPortal)((0,r.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:n.k.MODAL},children:[r.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 transition-opacity",onClick:d?void 0:t}),r.jsx("div",{className:"relative flex min-h-full items-center justify-center p-2 sm:p-4",children:(0,r.jsxs)("div",{ref:u,className:`relative w-full ${{sm:"max-w-[calc(100vw-2rem)] sm:max-w-md",md:"max-w-[calc(100vw-2rem)] sm:max-w-2xl",lg:"max-w-[calc(100vw-2rem)] sm:max-w-4xl",xl:"max-w-[calc(100vw-2rem)] sm:max-w-6xl",full:"max-w-[calc(100vw-2rem)] sm:max-w-[95vw]"}[i]} max-h-[calc(100vh-1rem)] sm:max-h-[calc(100vh-2rem)] flex flex-col bg-white rounded-lg shadow-xl transform transition-all`,children:[(a||c)&&(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 sm:px-6 py-3 sm:py-4 border-b border-gray-200 flex-shrink-0",children:[r.jsx("h3",{className:"text-base sm:text-lg font-semibold text-gray-900 truncate pr-2",children:a}),c&&r.jsx("button",{onClick:t,className:"text-gray-400 hover:text-gray-600 transition-colors flex-shrink-0",children:r.jsx("svg",{className:"w-5 h-5 sm:w-6 sm:h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),r.jsx("div",{className:"px-4 sm:px-6 py-3 sm:py-4 overflow-y-auto flex-1 min-h-0",children:o})]})})]}),document.body):null}},77758:(e,t,a)=>{a.d(t,{Ct:()=>c,zx:()=>s,Zb:()=>l,aY:()=>i,Ol:()=>n,ll:()=>o,u_:()=>d.u});var r=a(10326);function s({variant:e="primary",size:t="md",fullWidth:a=!1,loading:s=!1,disabled:l,className:n="",children:o,...i}){let c=["btn",{primary:"btn-primary",secondary:"btn-secondary",danger:"btn-danger",ghost:"bg-transparent text-gray-700 hover:bg-gray-100 focus:ring-gray-500"}[e],{sm:"btn-sm",md:"",lg:"btn-lg"}[t],a?"w-full":"",l||s?"opacity-50 cursor-not-allowed":"",n].filter(Boolean).join(" ");return(0,r.jsxs)("button",{className:c,disabled:l||s,...i,children:[s&&(0,r.jsxs)("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[r.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),o]})}function l({hover:e=!1,padding:t="md",className:a="",children:s,...l}){let n=["card",e?"card-hover":"",{none:"",sm:"p-3",md:"p-4",lg:"p-6"}[t],a].filter(Boolean).join(" ");return r.jsx("div",{className:n,...l,children:s})}function n({className:e="",children:t,...a}){return r.jsx("div",{className:`mb-3 ${e}`,...a,children:t})}function o({className:e="",children:t,...a}){return r.jsx("h3",{className:`text-lg font-semibold text-gray-900 ${e}`,...a,children:t})}function i({className:e="",children:t,...a}){return r.jsx("div",{className:e,...a,children:t})}function c({variant:e="gray",dot:t=!1,className:a="",children:s,...l}){let n=["badge",{success:"badge-success",warning:"badge-warning",error:"badge-error",info:"badge-info",gray:"badge-gray"}[e],a].filter(Boolean).join(" ");return(0,r.jsxs)("span",{className:n,...l,children:[t&&r.jsx("span",{className:`mr-1.5 inline-block h-2 w-2 rounded-full ${{success:"bg-green-600",warning:"bg-yellow-600",error:"bg-red-600",info:"bg-blue-600",gray:"bg-gray-600"}[e]}`,"aria-hidden":"true"}),s]})}a(17577);var d=a(28676)},11867:(e,t,a)=>{a.d(t,{n:()=>d});var r=a(10326),s=a(17577),l=a(77758),n=a(11865),o=a(73002),i=a(91515),c=a(51223);function d({worktreeId:e}){let[t,a]=(0,s.useState)([]),[d,u]=(0,s.useState)(null),[x,m]=(0,s.useState)(null),[h,p]=(0,s.useState)(!0),[g,f]=(0,s.useState)(null),[b,y]=(0,s.useState)(""),[v,j]=(0,s.useState)(0),[w,N]=(0,s.useState)("all"),[k,C]=(0,s.useState)(!1),{toasts:S,showToast:L,removeToast:z}=(0,n.pm)(),$=(0,s.useMemo)(()=>"all"===w?t:t.filter(e=>e.toLowerCase().includes(w)),[t,w]),M=async t=>{try{p(!0),f(null);let a=await o.Iv.getLogFile(e,t);m(a.content),u(t),y(""),j(0)}catch(e){f((0,o.zG)(e))}finally{p(!1)}},E=(0,s.useCallback)(async()=>{if(d)try{C(!0);let t=await o.Iv.getLogFile(e,d,{sanitize:!0});await (0,i.v)(t.content),L("Log copied to clipboard (sanitized)","success")}catch(e){L(`Failed to export log: ${(0,o.zG)(e)}`,"error")}finally{C(!1)}},[e,d,L]),T=(0,s.useMemo)(()=>{let e;if(!b||!x)return[];let t=RegExp((0,c.hr)(b),"gi"),a=[];for(;null!==(e=t.exec(x));)a.push({index:e.index,length:e[0].length});return a},[b,x]),A=()=>{T.length>0&&j(e=>(e+1)%T.length)},D=()=>{T.length>0&&j(e=>(e-1+T.length)%T.length)},I=(0,s.useMemo)(()=>{if(!x||!b||0===T.length)return x;let e="",t=0;return T.forEach((a,r)=>{e+=(0,c.Xv)(x.substring(t,a.index));let s=x.substring(a.index,a.index+a.length),l=r===v;e+=`<mark class="${l?"bg-yellow-400 text-black":"bg-yellow-200 text-black"}" data-match-index="${r}">${(0,c.Xv)(s)}</mark>`,t=a.index+a.length}),e+=(0,c.Xv)(x.substring(t))},[x,b,T,v]);return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(l.Zb,{padding:"md",children:[r.jsx(l.Ol,{children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[r.jsx(l.ll,{children:"Log Files"}),r.jsx(l.Ct,{variant:"gray",children:$.length})]}),(0,r.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,r.jsxs)(l.zx,{variant:"all"===w?"primary":"ghost",size:"sm",onClick:()=>N("all"),children:["All (",t.length,")"]}),(0,r.jsxs)(l.zx,{variant:"claude"===w?"primary":"ghost",size:"sm",onClick:()=>N("claude"),children:["Claude (",t.filter(e=>e.toLowerCase().includes("claude")).length,")"]}),(0,r.jsxs)(l.zx,{variant:"codex"===w?"primary":"ghost",size:"sm",onClick:()=>N("codex"),children:["Codex (",t.filter(e=>e.toLowerCase().includes("codex")).length,")"]}),(0,r.jsxs)(l.zx,{variant:"gemini"===w?"primary":"ghost",size:"sm",onClick:()=>N("gemini"),children:["Gemini (",t.filter(e=>e.toLowerCase().includes("gemini")).length,")"]})]})]})}),(0,r.jsxs)(l.aY,{children:[h&&0===t.length&&r.jsx("div",{className:"text-center py-4",children:r.jsx("div",{className:"inline-block animate-spin rounded-full h-6 w-6 border-4 border-gray-300 border-t-blue-600"})}),g&&r.jsx("div",{className:"p-3 bg-red-50 border border-red-200 rounded text-sm text-red-800",children:g}),!h&&0===$.length&&!g&&r.jsx("p",{className:"text-sm text-gray-600 text-center py-4",children:"all"===w?"No log files found":`No ${w} log files found`}),$.length>0&&r.jsx("div",{className:"space-y-2",children:$.map(e=>r.jsx("button",{onClick:()=>M(e),className:`w-full text-left px-3 py-2 rounded text-sm font-mono transition-colors ${d===e?"bg-blue-50 text-blue-700 border border-blue-200":"hover:bg-gray-50 border border-transparent"}`,children:e},e))})]})]}),d&&(0,r.jsxs)(l.Zb,{padding:"md",children:[r.jsx(l.Ol,{children:(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[r.jsx(l.ll,{className:"font-mono text-base",children:d}),(0,r.jsxs)("div",{className:"flex gap-2",children:[r.jsx(l.zx,{variant:"ghost",size:"sm",onClick:E,disabled:!d||k,title:"Copy sanitized log to clipboard",children:k?"Exporting...":"Export"}),r.jsx(l.zx,{variant:"ghost",size:"sm",onClick:()=>{u(null),m(null),y(""),j(0)},children:"Close"})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"relative flex-1",children:[r.jsx("input",{type:"text",value:b,onChange:e=>y(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),e.shiftKey?D():A())},placeholder:"Search in log file...",className:"input w-full pr-20"}),T.length>0&&(0,r.jsxs)("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-gray-500",children:[v+1," / ",T.length]})]}),T.length>0&&(0,r.jsxs)("div",{className:"flex gap-1",children:[r.jsx(l.zx,{variant:"ghost",size:"sm",onClick:D,disabled:0===T.length,title:"Previous match (Shift+Enter)",children:"↑"}),r.jsx(l.zx,{variant:"ghost",size:"sm",onClick:A,disabled:0===T.length,title:"Next match (Enter)",children:"↓"})]})]})]})}),(0,r.jsxs)(l.aY,{children:[h&&r.jsx("div",{className:"text-center py-8",children:r.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-blue-600"})}),!h&&x&&r.jsx("div",{className:"bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto max-h-[500px] scrollbar-thin",children:b&&T.length>0?r.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap",dangerouslySetInnerHTML:{__html:I||""}}):r.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap",children:x})}),!h&&b&&0===T.length&&x&&(0,r.jsxs)("div",{className:"text-center py-4 text-sm text-gray-500",children:['No matches found for "',b,'"']})]})]}),r.jsx(n.Ix,{toasts:S,onClose:z})]})}},15470:(e,t,a)=>{a.d(t,{R:()=>x});var r=a(10326),s=a(17577),l=a(73002);function n(e,t){if(!t.trim())return e;let a=t.toLowerCase();return e.map(e=>({...e,commands:e.commands.filter(e=>{let t=e.name.toLowerCase().includes(a),r=e.description.toLowerCase().includes(a);return t||r})})).filter(e=>e.commands.length>0)}function o({groups:e,onSelect:t,highlightedIndex:a=-1,className:s=""}){let l=0;return 0===e.length?r.jsx("div",{className:`text-sm text-gray-500 p-4 text-center ${s}`,children:"No commands available"}):r.jsx("div",{className:`overflow-y-auto ${s}`,children:e.map(e=>(0,r.jsxs)("div",{className:"mb-2",children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wider bg-gray-50",children:e.label}),r.jsx("div",{children:e.commands.map(e=>{let s=l;l++;let n=s===a;return(0,r.jsxs)("button",{type:"button","data-command-item":!0,"data-highlighted":n,onClick:()=>t(e),className:`w-full px-3 py-2 text-left flex items-start gap-2 hover:bg-blue-50 transition-colors ${n?"bg-blue-100":""}`,children:[(0,r.jsxs)("span",{className:"text-blue-600 font-mono text-sm flex-shrink-0",children:["/",e.name]}),r.jsx("span",{className:"text-gray-600 text-sm truncate",children:e.description})]},e.name)})})]},e.category))})}function i({isOpen:e,groups:t,onSelect:a,onClose:l,isMobile:i=!1,position:c,onFreeInput:d}){let[u,x]=(0,s.useState)(""),[m,h]=(0,s.useState)(0),p=(0,s.useRef)(null),g=(0,s.useMemo)(()=>n(t,u),[t,u]),f=(0,s.useMemo)(()=>g.flatMap(e=>e.commands),[g]),b=(0,s.useCallback)(e=>{a(e),l()},[a,l]);return((0,s.useCallback)(t=>{if(e)switch(t.key){case"Escape":t.preventDefault(),l();break;case"ArrowDown":t.preventDefault(),h(e=>Math.min(e+1,f.length-1));break;case"ArrowUp":t.preventDefault(),h(e=>Math.max(e-1,0));break;case"Enter":t.preventDefault(),f[m]&&b(f[m])}},[e,f,m,l,b]),e)?i?(0,r.jsxs)(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:l,"aria-hidden":"true"}),(0,r.jsxs)("div",{"data-testid":"slash-command-bottom-sheet",className:"fixed bottom-0 left-0 right-0 bg-white rounded-t-xl z-50 max-h-[70vh] flex flex-col shadow-xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200",children:[r.jsx("h2",{className:"text-lg font-semibold",children:"Commands"}),r.jsx("button",{type:"button",onClick:l,"aria-label":"Close",className:"p-2 rounded-full hover:bg-gray-100",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),r.jsx("div",{className:"px-4 py-2 border-b border-gray-100",children:r.jsx("input",{ref:p,type:"text",value:u,onChange:e=>x(e.target.value),placeholder:"Search commands...",className:"w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"})}),d&&(0,r.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>d(u),className:"w-full px-4 py-3 text-left border-b border-gray-100 flex items-center gap-2 hover:bg-blue-50 transition-colors",children:[r.jsx("span",{className:"text-blue-600",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),r.jsx("span",{className:"text-gray-600",children:"Enter custom command..."})]}),r.jsx(o,{groups:g,onSelect:b,highlightedIndex:m,className:"flex-1 overflow-y-auto pb-20"})]})]}):(0,r.jsxs)("div",{role:"listbox",className:"absolute bg-white border border-gray-200 rounded-lg shadow-lg z-50 w-80 max-h-96 flex flex-col",style:c?{top:c.top,left:c.left}:{bottom:"100%",left:0,marginBottom:"4px"},children:[r.jsx("div",{className:"px-3 py-2 border-b border-gray-100",children:r.jsx("input",{ref:p,type:"text",value:u,onChange:e=>x(e.target.value),placeholder:"Search commands...",className:"w-full px-3 py-1.5 text-sm border border-gray-300 rounded focus:outline-none focus:ring-1 focus:ring-blue-500"})}),d&&(0,r.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>d(u),className:"w-full px-3 py-2 text-left border-b border-gray-100 flex items-center gap-2 hover:bg-blue-50 transition-colors text-sm",children:[r.jsx("span",{className:"text-blue-600",children:r.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),r.jsx("span",{className:"text-gray-600",children:"Enter custom command..."})]}),r.jsx(o,{groups:g,onSelect:b,highlightedIndex:m,className:"flex-1 overflow-y-auto"}),(0,r.jsxs)("div",{className:"px-3 py-1.5 border-t border-gray-100 text-xs text-gray-400 flex gap-3",children:[(0,r.jsxs)("span",{children:[r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded",children:"Enter"})," select"]}),(0,r.jsxs)("span",{children:[r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded",children:"Esc"})," close"]})]})]}):null}function c({worktreeId:e,cliToolId:t,disabled:a=!1,onInterrupt:l}){let[n,o]=(0,s.useState)(!1),i=(0,s.useRef)(0),c=(0,s.useCallback)(async()=>{let a=Date.now();if(!(a-i.current<1e3)){i.current=a,o(!0);try{let a=await fetch(`/api/worktrees/${e}/interrupt`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cliToolId:t})});if(a.ok)l?.();else{let e=await a.json().catch(()=>({}));console.error("[InterruptButton] Failed to send interrupt:",e.error||a.statusText)}}catch(e){console.error("[InterruptButton] Error sending interrupt:",e)}finally{o(!1)}}},[e,t,l]);return r.jsx("button",{type:"button",onClick:c,disabled:a||n,className:"flex-shrink-0 p-2 text-orange-600 hover:bg-orange-50 rounded-full transition-colors disabled:text-gray-300 disabled:hover:bg-transparent","aria-label":"Stop processing","data-testid":"interrupt-button",children:n?(0,r.jsxs)("svg",{className:"animate-spin h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[r.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):r.jsx(d,{})})}function d(){return r.jsx("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 24 24",children:r.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}var u=a(2982);function x({worktreeId:e,onMessageSent:t,cliToolId:a,isSessionRunning:o=!1}){let[d,x]=(0,s.useState)(""),[m,h]=(0,s.useState)(!1),[p,g]=(0,s.useState)(null),[f,b]=(0,s.useState)(!1),[y,v]=(0,s.useState)(!1),[j,w]=(0,s.useState)(!1),N=(0,s.useRef)(null),k=(0,s.useRef)(null),C=(0,s.useRef)(!1),S=(0,s.useRef)(null),L=(0,u.d)(),{groups:z}=function(e,t){let[a,r]=(0,s.useState)([]),[o,i]=(0,s.useState)(!0),[c,d]=(0,s.useState)(null),[u,x]=(0,s.useState)(""),[m,h]=(0,s.useState)(t||"claude"),p=(0,s.useCallback)(async()=>{try{i(!0),d(null);let a=e?`/api/worktrees/${e}/slash-commands`:"/api/slash-commands";t&&(a+=`?cliTool=${t}`);let s=await fetch(a);if(!s.ok)throw Error(`HTTP error ${s.status}`);let l=await s.json();r(l.groups),h(l.cliTool||t||"claude")}catch(e){d((0,l.zG)(e)),r([])}finally{i(!1)}},[e,t]),g=(0,s.useMemo)(()=>a.flatMap(e=>e.commands),[a]),f=(0,s.useMemo)(()=>n(a,u),[a,u]);return{groups:a,filteredGroups:f,allCommands:g,loading:o,error:c,filter:u,setFilter:x,refresh:(0,s.useCallback)(()=>{p()},[p]),cliTool:m}}(e,a),$=async()=>{if(!f&&d.trim()&&!m)try{h(!0),g(null);let r=a||"claude";await l.Iv.sendMessage(e,d.trim(),r),x(""),w(!1),t?.(r)}catch(e){g((0,l.zG)(e))}finally{h(!1)}},M=async e=>{e.preventDefault(),await $()},E=()=>{v(!1),w(!1),N.current?.focus()};return(0,r.jsxs)("div",{ref:S,className:"space-y-2 relative",children:[p&&r.jsx("div",{className:"p-2 bg-red-50 border border-red-200 rounded text-sm text-red-800",children:p}),(0,r.jsxs)("form",{onSubmit:M,className:"flex items-end gap-2 bg-white border border-gray-300 rounded-lg px-4 py-2 focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500",children:[L&&r.jsx("button",{type:"button",onClick:()=>{j&&w(!1),v(!0)},className:"flex-shrink-0 p-2 text-gray-500 hover:text-blue-600 hover:bg-blue-50 rounded-full transition-colors","aria-label":"Show slash commands","data-testid":"mobile-command-button",children:r.jsx("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 20l4-16m2 16l4-16M6 9h14M4 15h14"})})}),r.jsx("textarea",{ref:N,value:d,onChange:e=>{let t=e.target.value;if(x(t),""===t){w(!1),v(!1);return}j||("/"===t||t.startsWith("/")&&!t.includes(" ")?v(!0):v(!1))},onKeyDown:e=>{let{keyCode:t}=e.nativeEvent;if(229!==t){if("Escape"===e.key&&y){e.preventDefault(),E();return}if(C.current&&"Enter"===e.key){C.current=!1;return}if("Enter"===e.key&&!f&&(!y||j)){if(L)return;e.shiftKey||(e.preventDefault(),$())}}},onCompositionStart:()=>{b(!0),C.current=!1,k.current&&clearTimeout(k.current)},onCompositionEnd:()=>{b(!1),C.current=!0,k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{C.current=!1},300)},placeholder:L?"Type your message...":"Type your message... (/ for commands, Shift+Enter for line break)",disabled:m,rows:1,className:"flex-1 outline-none bg-transparent resize-none py-1 overflow-y-auto scrollbar-thin",style:{minHeight:"24px",maxHeight:"160px"}}),r.jsx(c,{worktreeId:e,cliToolId:a||"claude",disabled:!o}),r.jsx("button",{type:"submit",disabled:!d.trim()||m,className:"flex-shrink-0 p-2 text-blue-600 hover:bg-blue-50 rounded-full transition-colors disabled:text-gray-300 disabled:hover:bg-transparent","aria-label":"Send message",children:m?(0,r.jsxs)("svg",{className:"animate-spin h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[r.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):r.jsx("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})})]}),r.jsx(i,{isOpen:y,groups:z,onSelect:e=>{x(`/${e.name} `),v(!1),N.current?.focus()},onClose:E,isMobile:L,onFreeInput:e=>{v(!1),w(!0),x(e?`/${e}`:"/"),setTimeout(()=>{N.current?.focus()},50)}})]})}},61421:(e,t,a)=>{a.d(t,{F4:()=>s,Ie:()=>n,xh:()=>l});let r={idle:"bg-gray-500",ready:"bg-green-500",spinner:"border-blue-500",waiting:"bg-yellow-500",error:"bg-red-500"},s={idle:{className:r.idle,label:"Idle",type:"dot"},ready:{className:r.ready,label:"Ready",type:"dot"},running:{className:r.spinner,label:"Running",type:"spinner"},waiting:{className:r.waiting,label:"Waiting for response",type:"dot"},generating:{className:r.spinner,label:"Generating",type:"spinner"}},l={idle:{className:r.idle,label:"Idle",type:"dot"},ready:{className:r.ready,label:"Ready",type:"dot"},running:{className:r.spinner,label:"Running",type:"spinner"},waiting:{className:r.waiting,label:"Waiting for response",type:"dot"},error:{className:r.error,label:"Error",type:"dot"}},n={idle:{className:r.idle,label:"Idle - No active session",type:"dot"},ready:{className:r.ready,label:"Ready - Waiting for input",type:"dot"},running:{className:r.spinner,label:"Running - Processing",type:"spinner"},waiting:{className:r.waiting,label:"Waiting - User input required",type:"dot"},error:{className:r.error,label:"Error",type:"dot"}}},22202:(e,t,a)=>{a.d(t,{k:()=>r});let r={DROPDOWN:10,SIDEBAR:30,MODAL:50,MAXIMIZED_EDITOR:55,TOAST:60,CONTEXT_MENU:70}},2982:(e,t,a)=>{a.d(t,{G:()=>s,d:()=>l});var r=a(17577);let s=768;function l(e={}){let{breakpoint:t=s}=e,[a,l]=(0,r.useState)(!1);return a}},2491:(e,t,a)=>{a.d(t,{Ds:()=>l,Ho:()=>o,Ns:()=>i,tK:()=>r,ts:()=>n});let r=["claude","codex","gemini","vibe-local","opencode"],s={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode"};function l(e){return s[e]??e}function n(e,t="Assistant"){return e&&r.includes(e)?l(e):t}let o=128,i=2097152},91515:(e,t,a)=>{a.d(t,{v:()=>s});let r=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function s(e){if(!e||0===e.trim().length)return;let t=e.replace(r,"");await navigator.clipboard.writeText(t)}},41593:(e,t,a)=>{a.d(t,{G:()=>n});var r=a(27808),s=a(18811);let l={en:s._,ja:r.ja};function n(e){return l[e]??s._}},77465:(e,t,a)=>{a.d(t,{Fq:()=>r}),a(2491);let r=["claude","codex"]},51223:(e,t,a)=>{function r(e,t){let a=null;return(...r)=>{a&&clearTimeout(a),a=setTimeout(()=>{e(...r),a=null},t)}}function s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function l(e){let t=new Set;for(let a of e){t.add(a);let e=a.split("/"),r="";for(let a=0;a<e.length-1;a++)r=r?`${r}/${e[a]}`:e[a],t.add(r)}return t}function n(e,t=30){return e.length<=t?e:`${e.substring(0,t-3)}...`}function o(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}a.d(t,{Ds:()=>r,Ps:()=>l,Xv:()=>o,aS:()=>n,hr:()=>s})},18421:(e,t,a)=>{a.d(t,{He:()=>s,I_:()=>l});var r=a(77465);function s(e){return e?e.isWaitingForResponse?"waiting":e.isProcessing?"running":e.isRunning?"ready":"idle":"idle"}function l(e){let t=!!e.lastAssistantMessageAt&&(!e.lastViewedAt||new Date(e.lastAssistantMessageAt)>new Date(e.lastViewedAt)),a=e.selectedAgents??r.Fq,l={};for(let t of a)l[t]=s(e.sessionStatusByCli?.[t]);return{id:e.id,name:e.name,repositoryName:e.repositoryName,status:"idle",hasUnread:t,lastActivity:e.updatedAt,description:e.description,cliStatus:l}}},63601:(e,t,a)=>{a.r(t),a.d(t,{default:()=>s});var r=a(66621);let s=e=>[{type:"image/png",sizes:"180x180",url:(0,r.fillMetadataSegment)(".",e.params,"apple-icon.png")+"?31a89e65aa4ac65b"}]},71150:(e,t,a)=>{a.r(t),a.d(t,{default:()=>s});var r=a(66621);let s=e=>[{type:"image/png",sizes:"32x32",url:(0,r.fillMetadataSegment)(".",e.params,"icon.png")+"?32d9127ba30ee286"}]}};