commandmate 0.2.13 → 0.3.1
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/.env.example +21 -2
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +31 -23
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +7 -7
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/auth/login/route.js +1 -0
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/route.js +1 -0
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/status/route.js +1 -0
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route.js +2 -2
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/slash-commands/route.js +1 -1
- package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/slash-commands.body +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/login/page.js +1 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +2 -2
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +11 -7
- package/.next/server/chunks/3013.js +1 -0
- package/.next/server/chunks/3074.js +1 -0
- package/.next/server/chunks/{1287.js → 3294.js} +2 -2
- package/.next/server/chunks/3860.js +1 -1
- package/.next/server/chunks/4893.js +2 -2
- package/.next/server/chunks/539.js +35 -0
- package/.next/server/chunks/5795.js +1 -0
- package/.next/server/chunks/7536.js +1 -1
- package/.next/server/chunks/7566.js +19 -0
- package/.next/server/chunks/8693.js +1 -1
- package/.next/server/edge-runtime-webpack.js +2 -0
- package/.next/server/edge-runtime-webpack.js.map +1 -0
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +28 -2
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js +14 -0
- package/.next/server/src/middleware.js.map +1 -0
- package/.next/static/chunks/{2626.2125083a1ff3b80a.js → 6163.f672451d4575decf.js} +1 -1
- package/.next/static/chunks/{656.d72f25ce819bd77e.js → 656.5e2de0173f5a06bd.js} +1 -1
- package/.next/static/chunks/8091-925542bdfc843dce.js +1 -0
- package/.next/static/chunks/8528-4d554d3b94d4cf9b.js +1 -0
- package/.next/static/chunks/app/{layout-07755491d5d57242.js → layout-9110f9a5e41c6bf4.js} +1 -1
- package/.next/static/chunks/app/login/page-2d42204ba87cd136.js +1 -0
- package/.next/static/chunks/app/page-238b5a70d8c101e9.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-a556551ce5c69dec.js +1 -0
- package/.next/static/chunks/main-db79434ee4a6c931.js +1 -0
- package/.next/static/chunks/webpack-3c0ee3ce5b546818.js +1 -0
- package/.next/static/css/b9ea6a4fad17dc32.css +3 -0
- package/.next/trace +5 -5
- package/.next/types/app/api/auth/login/route.ts +343 -0
- package/.next/types/app/api/auth/logout/route.ts +343 -0
- package/.next/types/app/api/auth/status/route.ts +343 -0
- package/.next/types/app/login/page.ts +79 -0
- package/README.md +6 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -0
- package/dist/cli/commands/start.d.ts +2 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +159 -14
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +4 -0
- package/dist/cli/config/security-messages.d.ts +3 -1
- package/dist/cli/config/security-messages.d.ts.map +1 -1
- package/dist/cli/config/security-messages.js +6 -2
- package/dist/cli/index.js +17 -0
- package/dist/cli/types/index.d.ts +17 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/daemon.d.ts.map +1 -1
- package/dist/cli/utils/daemon.js +16 -3
- package/dist/config/auth-config.d.ts +43 -0
- package/dist/config/auth-config.d.ts.map +1 -0
- package/dist/config/auth-config.js +112 -0
- package/dist/lib/auth.d.ts +104 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +250 -0
- package/dist/server/server.js +123 -12
- package/dist/server/src/config/auth-config.js +112 -0
- package/dist/server/src/lib/auth.js +250 -0
- package/dist/server/src/lib/auto-yes-manager.js +180 -96
- package/dist/server/src/lib/claude-session.js +31 -6
- package/dist/server/src/lib/cli-patterns.js +1 -1
- package/dist/server/src/lib/ip-restriction.js +241 -0
- package/dist/server/src/lib/response-poller.js +3 -2
- package/dist/server/src/lib/ws-server.js +63 -33
- package/dist/server/src/types/slash-commands.js +1 -0
- package/package.json +2 -2
- package/.next/server/chunks/9238.js +0 -35
- package/.next/server/chunks/9367.js +0 -19
- package/.next/static/chunks/5970-2e18108d0cabd8af.js +0 -1
- package/.next/static/chunks/816-af44cb865b0c980e.js +0 -1
- package/.next/static/chunks/app/page-a6593b9640df66a6.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-d9a7913679eccfd9.js +0 -1
- package/.next/static/chunks/main-f00f82f1cf18dd99.js +0 -1
- package/.next/static/chunks/webpack-e6531fcf859d9451.js +0 -1
- package/.next/static/css/897ffb669f47c97b.css +0 -3
- /package/.next/static/{oUEq-Bd47xtkJcFDOI6rr → hmAjbCPjxX_C0Os7rphI1}/_buildManifest.js +0 -0
- /package/.next/static/{oUEq-Bd47xtkJcFDOI6rr → hmAjbCPjxX_C0Os7rphI1}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var e={};e.id=130,e.ids=[130],e.modules={98860:e=>{"use strict";e.exports=require("jsdom")},72934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},55315:e=>{"use strict";e.exports=require("path")},17360:e=>{"use strict";e.exports=require("url")},49411:e=>{"use strict";e.exports=require("node:path")},97742:e=>{"use strict";e.exports=require("node:process")},41041:e=>{"use strict";e.exports=require("node:url")},80205:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>l.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>d,routeModule:()=>p,tree:()=>c}),r(22570),r(25086),r(35866);var a=r(23191),s=r(88716),n=r(37922),l=r.n(n),i=r(95231),o={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);r.d(t,o);let c=["",{children:["worktrees",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,22570)),"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx"]}]},{}]},{metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,71150))).default(e)],apple:[async e=>(await Promise.resolve().then(r.bind(r,63601))).default(e)],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(r.bind(r,25086)),"/home/runner/work/CommandMate/CommandMate/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,35866,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,71150))).default(e)],apple:[async e=>(await Promise.resolve().then(r.bind(r,63601))).default(e)],openGraph:[],twitter:[],manifest:void 0}}],d=["/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx"],u="/worktrees/[id]/page",m={require:r,loadChunk:()=>Promise.resolve()},p=new a.AppPageRouteModule({definition:{kind:s.x.APP_PAGE,page:"/worktrees/[id]/page",pathname:"/worktrees/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},87923:(e,t,r)=>{Promise.resolve().then(r.bind(r,74810))},62829:e=>{"use strict";let{entries:t,setPrototypeOf:r,isFrozen:a,getPrototypeOf:s,getOwnPropertyDescriptor:n}=Object,{freeze:l,seal:i,create:o}=Object,{apply:c,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(e){return e}),i||(i=function(e){return e}),c||(c=function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s];return e.apply(t,a)}),d||(d=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return new e(...r)});let u=C(Array.prototype.forEach),m=C(Array.prototype.lastIndexOf),p=C(Array.prototype.pop),h=C(Array.prototype.push),f=C(Array.prototype.splice),x=C(String.prototype.toLowerCase),g=C(String.prototype.toString),y=C(String.prototype.match),b=C(String.prototype.replace),v=C(String.prototype.indexOf),w=C(String.prototype.trim),j=C(Object.prototype.hasOwnProperty),N=C(RegExp.prototype.test),k=(Z=TypeError,function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(Z,t)});function C(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,a=Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];return c(e,t,a)}}function S(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x;r&&r(e,null);let n=t.length;for(;n--;){let r=t[n];if("string"==typeof r){let e=s(r);e!==r&&(a(t)||(t[n]=e),r=e)}e[r]=!0}return e}function T(e){let r=o(null);for(let[a,s]of t(e))j(e,a)&&(Array.isArray(s)?r[a]=function(e){for(let t=0;t<e.length;t++)j(e,t)||(e[t]=null);return e}(s):s&&"object"==typeof s&&s.constructor===Object?r[a]=T(s):r[a]=s);return r}function E(e,t){for(;null!==e;){let r=n(e,t);if(r){if(r.get)return C(r.get);if("function"==typeof r.value)return C(r.value)}e=s(e)}return function(){return null}}let M=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),A=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),R=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),_=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),O=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),P=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),L=l(["#text"]),I=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),D=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$=l(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),F=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),z=i(/\{\{[\w\W]*|[\w\W]*\}\}/gm),H=i(/<%[\w\W]*|[\w\W]*%>/gm),W=i(/\$\{[\w\W]*/gm),B=i(/^data-[\-\w.\u00B7-\uFFFF]+$/),U=i(/^aria-[\-\w]+$/),G=i(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),V=i(/^(?:\w+script|data):/i),q=i(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Y=i(/^html$/i);var Z,K=Object.freeze({__proto__:null,ARIA_ATTR:U,ATTR_WHITESPACE:q,CUSTOM_ELEMENT:i(/^[a-z][.\w]*(-[.\w]+)+$/i),DATA_ATTR:B,DOCTYPE_NAME:Y,ERB_EXPR:H,IS_ALLOWED_URI:G,IS_SCRIPT_OR_DATA:V,MUSTACHE_EXPR:z,TMPLIT_EXPR:W});let X={element:1,text:3,progressingInstruction:7,comment:8,document:9},J=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let r=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(r=t.getAttribute(a));let s="dompurify"+(r?"#"+r:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Q=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};var ee=function e(){let r,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof window?null:window,s=t=>e(t);if(s.version="3.3.1",s.removed=[],!a||!a.document||a.document.nodeType!==X.document||!a.Element)return s.isSupported=!1,s;let{document:n}=a,i=n,c=i.currentScript,{DocumentFragment:d,HTMLTemplateElement:C,Node:z,Element:H,NodeFilter:W,NamedNodeMap:B=a.NamedNodeMap||a.MozNamedAttrMap,HTMLFormElement:U,DOMParser:V,trustedTypes:q}=a,Z=H.prototype,ee=E(Z,"cloneNode"),et=E(Z,"remove"),er=E(Z,"nextSibling"),ea=E(Z,"childNodes"),es=E(Z,"parentNode");if("function"==typeof C){let e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let en="",{implementation:el,createNodeIterator:ei,createDocumentFragment:eo,getElementsByTagName:ec}=n,{importNode:ed}=i,eu=Q();s.isSupported="function"==typeof t&&"function"==typeof es&&el&&void 0!==el.createHTMLDocument;let{MUSTACHE_EXPR:em,ERB_EXPR:ep,TMPLIT_EXPR:eh,DATA_ATTR:ef,ARIA_ATTR:ex,IS_SCRIPT_OR_DATA:eg,ATTR_WHITESPACE:ey,CUSTOM_ELEMENT:eb}=K,{IS_ALLOWED_URI:ev}=K,ew=null,ej=S({},[...M,...A,...R,...O,...L]),eN=null,ek=S({},[...I,...D,...$,...F]),eC=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),eS=null,eT=null,eE=Object.seal(o(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),eM=!0,eA=!0,eR=!1,e_=!0,eO=!1,eP=!0,eL=!1,eI=!1,eD=!1,e$=!1,eF=!1,ez=!1,eH=!0,eW=!1,eB=!0,eU=!1,eG={},eV=null,eq=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),eY=null,eZ=S({},["audio","video","img","source","image","track"]),eK=null,eX=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),eJ="http://www.w3.org/1998/Math/MathML",eQ="http://www.w3.org/2000/svg",e0="http://www.w3.org/1999/xhtml",e1=e0,e2=!1,e4=null,e5=S({},[eJ,eQ,e0],g),e3=S({},["mi","mo","mn","ms","mtext"]),e6=S({},["annotation-xml"]),e8=S({},["title","style","font","a","script"]),e7=null,e9=["application/xhtml+xml","text/html"],te=null,tt=null,tr=n.createElement("form"),ta=function(e){return e instanceof RegExp||e instanceof Function},ts=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!tt||tt!==e){if(e&&"object"==typeof e||(e={}),e=T(e),te="application/xhtml+xml"===(e7=-1===e9.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?g:x,ew=j(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,te):ej,eN=j(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,te):ek,e4=j(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,g):e5,eK=j(e,"ADD_URI_SAFE_ATTR")?S(T(eX),e.ADD_URI_SAFE_ATTR,te):eX,eY=j(e,"ADD_DATA_URI_TAGS")?S(T(eZ),e.ADD_DATA_URI_TAGS,te):eZ,eV=j(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,te):eq,eS=j(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,te):T({}),eT=j(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,te):T({}),eG=!!j(e,"USE_PROFILES")&&e.USE_PROFILES,eM=!1!==e.ALLOW_ARIA_ATTR,eA=!1!==e.ALLOW_DATA_ATTR,eR=e.ALLOW_UNKNOWN_PROTOCOLS||!1,e_=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,eO=e.SAFE_FOR_TEMPLATES||!1,eP=!1!==e.SAFE_FOR_XML,eL=e.WHOLE_DOCUMENT||!1,e$=e.RETURN_DOM||!1,eF=e.RETURN_DOM_FRAGMENT||!1,ez=e.RETURN_TRUSTED_TYPE||!1,eD=e.FORCE_BODY||!1,eH=!1!==e.SANITIZE_DOM,eW=e.SANITIZE_NAMED_PROPS||!1,eB=!1!==e.KEEP_CONTENT,eU=e.IN_PLACE||!1,ev=e.ALLOWED_URI_REGEXP||G,e1=e.NAMESPACE||e0,e3=e.MATHML_TEXT_INTEGRATION_POINTS||e3,e6=e.HTML_INTEGRATION_POINTS||e6,eC=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ta(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(eC.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ta(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(eC.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(eC.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),eO&&(eA=!1),eF&&(e$=!0),eG&&(ew=S({},L),eN=[],!0===eG.html&&(S(ew,M),S(eN,I)),!0===eG.svg&&(S(ew,A),S(eN,D),S(eN,F)),!0===eG.svgFilters&&(S(ew,R),S(eN,D),S(eN,F)),!0===eG.mathMl&&(S(ew,O),S(eN,$),S(eN,F))),e.ADD_TAGS&&("function"==typeof e.ADD_TAGS?eE.tagCheck=e.ADD_TAGS:(ew===ej&&(ew=T(ew)),S(ew,e.ADD_TAGS,te))),e.ADD_ATTR&&("function"==typeof e.ADD_ATTR?eE.attributeCheck=e.ADD_ATTR:(eN===ek&&(eN=T(eN)),S(eN,e.ADD_ATTR,te))),e.ADD_URI_SAFE_ATTR&&S(eK,e.ADD_URI_SAFE_ATTR,te),e.FORBID_CONTENTS&&(eV===eq&&(eV=T(eV)),S(eV,e.FORBID_CONTENTS,te)),e.ADD_FORBID_CONTENTS&&(eV===eq&&(eV=T(eV)),S(eV,e.ADD_FORBID_CONTENTS,te)),eB&&(ew["#text"]=!0),eL&&S(ew,["html","head","body"]),ew.table&&(S(ew,["tbody"]),delete eS.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');en=(r=e.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===r&&(r=J(q,c)),null!==r&&"string"==typeof en&&(en=r.createHTML(""));l&&l(e),tt=e}},tn=S({},[...A,...R,..._]),tl=S({},[...O,...P]),ti=function(e){let t=es(e);t&&t.tagName||(t={namespaceURI:e1,tagName:"template"});let r=x(e.tagName),a=x(t.tagName);return!!e4[e.namespaceURI]&&(e.namespaceURI===eQ?t.namespaceURI===e0?"svg"===r:t.namespaceURI===eJ?"svg"===r&&("annotation-xml"===a||e3[a]):!!tn[r]:e.namespaceURI===eJ?t.namespaceURI===e0?"math"===r:t.namespaceURI===eQ?"math"===r&&e6[a]:!!tl[r]:e.namespaceURI===e0?(t.namespaceURI!==eQ||!!e6[a])&&(t.namespaceURI!==eJ||!!e3[a])&&!tl[r]&&(e8[r]||!tn[r]):"application/xhtml+xml"===e7&&!!e4[e.namespaceURI])},to=function(e){h(s.removed,{element:e});try{es(e).removeChild(e)}catch(t){et(e)}},tc=function(e,t){try{h(s.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){h(s.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e){if(e$||eF)try{to(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}}},td=function(e){let t=null,a=null;if(eD)e="<remove></remove>"+e;else{let t=y(e,/^[\r\n\t ]+/);a=t&&t[0]}"application/xhtml+xml"===e7&&e1===e0&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let s=r?r.createHTML(e):e;if(e1===e0)try{t=new V().parseFromString(s,e7)}catch(e){}if(!t||!t.documentElement){t=el.createDocument(e1,"template",null);try{t.documentElement.innerHTML=e2?en:s}catch(e){}}let l=t.body||t.documentElement;return(e&&a&&l.insertBefore(n.createTextNode(a),l.childNodes[0]||null),e1===e0)?ec.call(t,eL?"html":"body")[0]:eL?t.documentElement:l},tu=function(e){return ei.call(e.ownerDocument||e,e,W.SHOW_ELEMENT|W.SHOW_COMMENT|W.SHOW_TEXT|W.SHOW_PROCESSING_INSTRUCTION|W.SHOW_CDATA_SECTION,null)},tm=function(e){return e instanceof U&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof B)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},tp=function(e){return"function"==typeof z&&e instanceof z};function th(e,t,r){u(e,e=>{e.call(s,t,r,tt)})}let tf=function(e){let t=null;if(th(eu.beforeSanitizeElements,e,null),tm(e))return to(e),!0;let r=te(e.nodeName);if(th(eu.uponSanitizeElement,e,{tagName:r,allowedTags:ew}),eP&&e.hasChildNodes()&&!tp(e.firstElementChild)&&N(/<[/\w!]/g,e.innerHTML)&&N(/<[/\w!]/g,e.textContent)||e.nodeType===X.progressingInstruction||eP&&e.nodeType===X.comment&&N(/<[/\w]/g,e.data))return to(e),!0;if(!(eE.tagCheck instanceof Function&&eE.tagCheck(r))&&(!ew[r]||eS[r])){if(!eS[r]&&tg(r)&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,r)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(r)))return!1;if(eB&&!eV[r]){let t=es(e)||e.parentNode,r=ea(e)||e.childNodes;if(r&&t){let a=r.length;for(let s=a-1;s>=0;--s){let a=ee(r[s],!0);a.__removalCount=(e.__removalCount||0)+1,t.insertBefore(a,er(e))}}}return to(e),!0}return e instanceof H&&!ti(e)||("noscript"===r||"noembed"===r||"noframes"===r)&&N(/<\/no(script|embed|frames)/i,e.innerHTML)?(to(e),!0):(eO&&e.nodeType===X.text&&(t=e.textContent,u([em,ep,eh],e=>{t=b(t,e," ")}),e.textContent!==t&&(h(s.removed,{element:e.cloneNode()}),e.textContent=t)),th(eu.afterSanitizeElements,e,null),!1)},tx=function(e,t,r){if(eH&&("id"===t||"name"===t)&&(r in n||r in tr))return!1;if(eA&&!eT[t]&&N(ef,t));else if(eM&&N(ex,t));else if(eE.attributeCheck instanceof Function&&eE.attributeCheck(t,e));else if(!eN[t]||eT[t]){if(!(tg(e)&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,e)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(e))&&(eC.attributeNameCheck instanceof RegExp&&N(eC.attributeNameCheck,t)||eC.attributeNameCheck instanceof Function&&eC.attributeNameCheck(t,e))||"is"===t&&eC.allowCustomizedBuiltInElements&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,r)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(r))))return!1}else if(eK[t]);else if(N(ev,b(r,ey,"")));else if(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===v(r,"data:")&&eY[e]);else if(eR&&!N(eg,b(r,ey,"")));else if(r)return!1;return!0},tg=function(e){return"annotation-xml"!==e&&y(e,eb)},ty=function(e){th(eu.beforeSanitizeAttributes,e,null);let{attributes:t}=e;if(!t||tm(e))return;let a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:eN,forceKeepAttr:void 0},n=t.length;for(;n--;){let{name:l,namespaceURI:i,value:o}=t[n],c=te(l),d="value"===l?o:w(o);if(a.attrName=c,a.attrValue=d,a.keepAttr=!0,a.forceKeepAttr=void 0,th(eu.uponSanitizeAttribute,e,a),d=a.attrValue,eW&&("id"===c||"name"===c)&&(tc(l,e),d="user-content-"+d),eP&&N(/((--!?|])>)|<\/(style|title|textarea)/i,d)||"attributename"===c&&y(d,"href")){tc(l,e);continue}if(a.forceKeepAttr)continue;if(!a.keepAttr||!e_&&N(/\/>/i,d)){tc(l,e);continue}eO&&u([em,ep,eh],e=>{d=b(d,e," ")});let m=te(e.nodeName);if(!tx(m,c,d)){tc(l,e);continue}if(r&&"object"==typeof q&&"function"==typeof q.getAttributeType){if(i);else switch(q.getAttributeType(m,c)){case"TrustedHTML":d=r.createHTML(d);break;case"TrustedScriptURL":d=r.createScriptURL(d)}}if(d!==o)try{i?e.setAttributeNS(i,l,d):e.setAttribute(l,d),tm(e)?to(e):p(s.removed)}catch(t){tc(l,e)}}th(eu.afterSanitizeAttributes,e,null)},tb=function e(t){let r=null,a=tu(t);for(th(eu.beforeSanitizeShadowDOM,t,null);r=a.nextNode();)th(eu.uponSanitizeShadowNode,r,null),tf(r),ty(r),r.content instanceof d&&e(r.content);th(eu.afterSanitizeShadowDOM,t,null)};return s.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null,n=null,l=null,o=null;if((e2=!e)&&(e="<!-->"),"string"!=typeof e&&!tp(e)){if("function"==typeof e.toString){if("string"!=typeof(e=e.toString()))throw k("dirty is not a string, aborting")}else throw k("toString is not a function")}if(!s.isSupported)return e;if(eI||ts(t),s.removed=[],"string"==typeof e&&(eU=!1),eU){if(e.nodeName){let t=te(e.nodeName);if(!ew[t]||eS[t])throw k("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof z)(n=(a=td("<!---->")).ownerDocument.importNode(e,!0)).nodeType===X.element&&"BODY"===n.nodeName?a=n:"HTML"===n.nodeName?a=n:a.appendChild(n);else{if(!e$&&!eO&&!eL&&-1===e.indexOf("<"))return r&&ez?r.createHTML(e):e;if(!(a=td(e)))return e$?null:ez?en:""}a&&eD&&to(a.firstChild);let c=tu(eU?e:a);for(;l=c.nextNode();)tf(l),ty(l),l.content instanceof d&&tb(l.content);if(eU)return e;if(e$){if(eF)for(o=eo.call(a.ownerDocument);a.firstChild;)o.appendChild(a.firstChild);else o=a;return(eN.shadowroot||eN.shadowrootmode)&&(o=ed.call(i,o,!0)),o}let m=eL?a.outerHTML:a.innerHTML;return eL&&ew["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&N(Y,a.ownerDocument.doctype.name)&&(m="<!DOCTYPE "+a.ownerDocument.doctype.name+">\n"+m),eO&&u([em,ep,eh],e=>{m=b(m,e," ")}),r&&ez?r.createHTML(m):m},s.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ts(e),eI=!0},s.clearConfig=function(){tt=null,eI=!1},s.isValidAttribute=function(e,t,r){return tt||ts({}),tx(te(e),te(t),r)},s.addHook=function(e,t){"function"==typeof t&&h(eu[e],t)},s.removeHook=function(e,t){if(void 0!==t){let r=m(eu[e],t);return -1===r?void 0:f(eu[e],r,1)[0]}return p(eu[e])},s.removeHooks=function(e){eu[e]=[]},s.removeAllHooks=function(){eu=Q()},s}();e.exports=ee},24420:(e,t,r)=>{function a(e){return e&&e.default||e}e.exports=global.DOMPurify=global.DOMPurify||("undefined"!=typeof window?a(r(62829)):function(){let e=a(r(62829)),{JSDOM:t}=a(r(98860)),{window:s}=new t("<!DOCTYPE html>");return e(s)}())},43353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}});let a=r(91174);r(10326),r(17577);let s=a._(r(77028));function n(e,t){var r;let a={loading:e=>{let{error:t,isLoading:r,pastDelay:a}=e;return null}};"function"==typeof e&&(a.loader=e);let n={...a,...t};return(0,s.default)({...n,modules:null==(r=n.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let a=r(94129);function s(e){let{reason:t,children:r}=e;throw new a.BailoutToCSRError(t)}},77028:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let a=r(10326),s=r(17577),n=r(933),l=r(46618);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},r=(0,s.lazy)(()=>t.loader().then(i)),c=t.loading;function d(e){let i=c?(0,a.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=t.ssr?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.PreloadCss,{moduleIds:t.modules}),(0,a.jsx)(r,{...e})]}):(0,a.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(s.Suspense,{fallback:i,children:o})}return d.displayName="LoadableComponent",d}},46618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return n}});let a=r(10326),s=r(54580);function n(e){let{moduleIds:t}=e,r=(0,s.getExpectedRequestStore)("next/dynamic css"),n=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files.filter(e=>e.endsWith(".css"));n.push(...t)}}return 0===n.length?null:(0,a.jsx)(a.Fragment,{children:n.map(e=>(0,a.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:r.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},51387:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.types=void 0;let n=r(5739);Object.defineProperty(t,"types",{enumerable:!0,get:function(){return n.types}}),s(r(49441),t),s(r(61601),t);let l=r(49441),i=r(61601);s(r(5739),t),t.default=l.tokenizer,e.exports=l.tokenizer,e.exports.types=n.types,e.exports.reconstruct=i.reconstruct},61601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstruct=void 0;let a=r(5739),s=r(10602),n=e=>e.map(t.reconstruct).join(""),l=e=>{if("options"in e)return e.options.map(n).join("|");if("stack"in e)return n(e.stack);throw Error("options or stack must be Root or Group token")};t.reconstruct=e=>{switch(e.type){case a.types.ROOT:return l(e);case a.types.CHAR:{let t=String.fromCharCode(e.value);return(/[[\\{}$^.|?*+()]/.test(t)?"\\":"")+t}case a.types.POSITION:if("^"===e.value||"$"===e.value)return e.value;return`\\${e.value}`;case a.types.REFERENCE:return`\\${e.value}`;case a.types.SET:return s.writeSetTokens(e);case a.types.GROUP:{let t=e.name?`?<${e.name}>`:e.remember?"":e.followedBy?"?=":e.notFollowedBy?"?!":"?:";return`(${t}${l(e)})`}case a.types.REPETITION:{let r;let{min:a,max:s}=e;return r=0===a&&1===s?"?":1===a&&s===1/0?"+":0===a&&s===1/0?"*":s===1/0?`{${a},}`:a===s?`{${a}}`:`{${a},${s}}`,`${t.reconstruct(e.value)}${r}`}case a.types.RANGE:return`${s.setChar(e.from)}-${s.setChar(e.to)}`;default:throw Error(`Invalid token type ${e}`)}}},25296:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NOTANYCHAR=t.WHITESPACE=t.WORDS=t.INTS=void 0;let l=n(r(40879)),i=r(5739);function o(e){let t={},r=0;for(let a of e)a.type===i.types.CHAR&&(t[a.value]=!0),a.type===i.types.RANGE&&(t[`${a.from}-${a.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},t),len:r}}t.INTS=o(l.ints().set),t.WORDS=o(l.words().set),t.WHITESPACE=o(l.whitespace().set),t.NOTANYCHAR=o(l.anyChar().set)},40879:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.anyChar=t.notWhitespace=t.whitespace=t.notInts=t.ints=t.notWords=t.words=void 0;let a=r(5739),s=()=>[{type:a.types.RANGE,from:48,to:57}],n=()=>[{type:a.types.CHAR,value:95},{type:a.types.RANGE,from:97,to:122},{type:a.types.RANGE,from:65,to:90},{type:a.types.RANGE,from:48,to:57}],l=()=>[{type:a.types.CHAR,value:9},{type:a.types.CHAR,value:10},{type:a.types.CHAR,value:11},{type:a.types.CHAR,value:12},{type:a.types.CHAR,value:13},{type:a.types.CHAR,value:32},{type:a.types.CHAR,value:160},{type:a.types.CHAR,value:5760},{type:a.types.RANGE,from:8192,to:8202},{type:a.types.CHAR,value:8232},{type:a.types.CHAR,value:8233},{type:a.types.CHAR,value:8239},{type:a.types.CHAR,value:8287},{type:a.types.CHAR,value:12288},{type:a.types.CHAR,value:65279}],i=()=>[{type:a.types.CHAR,value:10},{type:a.types.CHAR,value:13},{type:a.types.CHAR,value:8232},{type:a.types.CHAR,value:8233}];t.words=()=>({type:a.types.SET,set:n(),not:!1}),t.notWords=()=>({type:a.types.SET,set:n(),not:!0}),t.ints=()=>({type:a.types.SET,set:s(),not:!1}),t.notInts=()=>({type:a.types.SET,set:s(),not:!0}),t.whitespace=()=>({type:a.types.SET,set:l(),not:!1}),t.notWhitespace=()=>({type:a.types.SET,set:l(),not:!0}),t.anyChar=()=>({type:a.types.SET,set:i(),not:!0})},49441:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizer=void 0;let l=n(r(51356)),i=r(5739),o=n(r(40879)),c=/^[a-zA-Z_$]$/i,d=/^[a-zA-Z0-9_$]$/i,u=/\d/;t.tokenizer=e=>{let t=0,r,a={type:i.types.ROOT,stack:[]},s=a,n=a.stack,m=[],p=[],h=0,f=t=>{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},x=l.strToChars(e);for(;t<x.length;)switch(r=x[t++]){case"\\":if(t===x.length)throw SyntaxError(`Invalid regular expression: /${e}/: \\ at end of pattern`);switch(r=x[t++]){case"b":n.push({type:i.types.POSITION,value:"b"});break;case"B":n.push({type:i.types.POSITION,value:"B"});break;case"w":n.push(o.words());break;case"W":n.push(o.notWords());break;case"d":n.push(o.ints());break;case"D":n.push(o.notInts());break;case"s":n.push(o.whitespace());break;case"S":n.push(o.notWhitespace());break;default:if(u.test(r)){let e=r;for(;t<x.length&&u.test(x[t]);)e+=x[t++];let a=parseInt(e,10),s={type:i.types.REFERENCE,value:a};n.push(s),p.push({reference:s,stack:n,index:n.length-1})}else n.push({type:i.types.CHAR,value:r.charCodeAt(0)})}break;case"^":n.push({type:i.types.POSITION,value:"^"});break;case"$":n.push({type:i.types.POSITION,value:"$"});break;case"[":{let r;"^"===x[t]?(r=!0,t++):r=!1;let a=l.tokenizeClass(x.slice(t),e);t+=a[1],n.push({type:i.types.SET,set:a[0],not:r});break}case".":n.push(o.anyChar());break;case"(":{let a={type:i.types.GROUP,stack:[],remember:!0};if("?"===x[t]){if(r=x[t+1],t+=2,"="===r)a.followedBy=!0,a.remember=!1;else if("!"===r)a.notFollowedBy=!0,a.remember=!1;else if("<"===r){let r="";if(c.test(x[t]))r+=x[t],t++;else throw SyntaxError(`Invalid regular expression: /${e}/: Invalid capture group name, character '${x[t]}' after '<' at column ${t+1}`);for(;t<x.length&&d.test(x[t]);)r+=x[t],t++;if(!r)throw SyntaxError(`Invalid regular expression: /${e}/: Invalid capture group name, character '${x[t]}' after '<' at column ${t+1}`);if(">"!==x[t])throw SyntaxError(`Invalid regular expression: /${e}/: Unclosed capture group name, expected '>', found '${x[t]}' at column ${t+1}`);a.name=r,t++}else if(":"===r)a.remember=!1;else throw SyntaxError(`Invalid regular expression: /${e}/: Invalid group, character '${r}' after '?' at column ${t-1}`)}else h+=1;n.push(a),m.push(s),s=a,n=a.stack;break}case")":if(0===m.length)throw SyntaxError(`Invalid regular expression: /${e}/: Unmatched ) at column ${t-1}`);n=(s=m.pop()).options?s.options[s.options.length-1]:s.stack;break;case"|":{s.options||(s.options=[s.stack],delete s.stack);let e=[];s.options.push(e),n=e;break}case"{":{let e=/^(\d+)(,(\d+)?)?\}/.exec(x.slice(t)),r,a;null!==e?(0===n.length&&f(t),r=parseInt(e[1],10),a=e[2]?e[3]?parseInt(e[3],10):1/0:r,t+=e[0].length,n.push({type:i.types.REPETITION,min:r,max:a,value:n.pop()})):n.push({type:i.types.CHAR,value:123});break}case"?":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:0,max:1,value:n.pop()});break;case"+":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:1,max:1/0,value:n.pop()});break;case"*":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:0,max:1/0,value:n.pop()});break;default:n.push({type:i.types.CHAR,value:r.charCodeAt(0)})}if(0!==m.length)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return function(e,t){for(let r of e.reverse())if(t<r.reference.value){r.reference.type=i.types.CHAR;let e=r.reference.value.toString();if(r.reference.value=parseInt(e,8),!/^[0-7]+$/.test(e)){let t=0;for(;"8"!==e[t]&&"9"!==e[t];)t+=1;if(0===t?(r.reference.value=e.charCodeAt(0),t+=1):r.reference.value=parseInt(e.slice(0,t),8),e.length>t){let a=r.stack.splice(r.index+1);for(let a of e.slice(t))r.stack.push({type:i.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...a)}}}}(p,h),a}},5739:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),s(r(91311),t),s(r(15270),t),s(r(16785),t)},16785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},91311:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},15270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.types=void 0,function(e){e[e.ROOT=0]="ROOT",e[e.GROUP=1]="GROUP",e[e.POSITION=2]="POSITION",e[e.SET=3]="SET",e[e.RANGE=4]="RANGE",e[e.REPETITION=5]="REPETITION",e[e.REFERENCE=6]="REFERENCE",e[e.CHAR=7]="CHAR"}(t.types||(t.types={}))},51356:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizeClass=t.strToChars=void 0;let l=r(5739),i=n(r(40879));t.strToChars=e=>e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,r,a,s,n,l)=>{if(r)return e;let i=String.fromCharCode(t?8:a?parseInt(a,16):s?parseInt(s,16):n?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(n):({0:0,t:9,n:10,v:11,f:12,r:13})[l]);return/[[\]{}^$.|?*+()]/.test(i)?`\\${i}`:i}),t.tokenizeClass=(e,t)=>{var r,a,s,n,o,c,d;let u=[],m,p,h=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;null!==(m=h.exec(e));){let e=null!==(d=null!==(c=null!==(o=null!==(n=null!==(s=null!==(a=null!==(r=m[1]&&i.words())&&void 0!==r?r:m[2]&&i.ints())&&void 0!==a?a:m[3]&&i.whitespace())&&void 0!==s?s:m[4]&&i.notWords())&&void 0!==n?n:m[5]&&i.notInts())&&void 0!==o?o:m[6]&&i.notWhitespace())&&void 0!==c?c:m[7]&&{type:l.types.RANGE,from:(m[8]||m[9]).charCodeAt(0),to:(p=m[10]).charCodeAt(p.length-1)})&&void 0!==d?d:(p=m[16])&&{type:l.types.CHAR,value:p.charCodeAt(0)};if(!e)return[u,h.lastIndex];u.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}},10602:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.writeSetTokens=t.setChar=void 0;let l=r(5739),i=n(r(25296));function o(e){return 94===e?"\\^":92===e?"\\\\":93===e?"\\]":45===e?"\\-":String.fromCharCode(e)}function c(e,{lookup:t,len:r}){if(r!==e.length)return!1;let a=t();for(let t of e){if(t.type===l.types.SET)return!1;let e=t.type===l.types.CHAR?t.value:`${t.from}-${t.to}`;if(!a[e])return!1;a[e]=!1}return!0}t.setChar=o,t.writeSetTokens=function e(t,r=!1){if(c(t.set,i.INTS))return t.not?"\\D":"\\d";if(c(t.set,i.WORDS))return t.not?"\\W":"\\w";if(t.not&&c(t.set,i.NOTANYCHAR))return".";if(c(t.set,i.WHITESPACE))return t.not?"\\S":"\\s";let a="";for(let r=0;r<t.set.length;r++){var s;a+=(s=t.set[r]).type===l.types.CHAR?o(s.value):s.type===l.types.RANGE?`${o(s.from)}-${o(s.to)}`:e(s,!0)}let n=`${t.not?"^":""}${a}`;return r?n:`[${n}]`}},74810:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ro});var a=r(10326),s=r(35047),n=r(2583),l=r(17577),i=r.n(l);let o={output:"",realtimeSnippet:"",isActive:!1,isThinking:!1,autoScroll:!0,lastUpdated:null},c={data:null,messageId:null,visible:!1,answering:!1},d={mode:"split",mobileActivePane:"terminal",leftPaneTab:"history",splitRatio:.5},u={type:null,message:null,retryable:!1,retryCount:0};function m(){return{phase:"idle",terminal:{...o},prompt:{...c},layout:{...d},error:{...u},messages:[],wsConnected:!1}}function p(e,t){switch(t.type){case"SET_PHASE":return{...e,phase:t.phase};case"SET_TERMINAL_OUTPUT":return{...e,terminal:{...e.terminal,output:t.output,realtimeSnippet:t.realtimeSnippet,lastUpdated:new Date}};case"SET_TERMINAL_ACTIVE":return{...e,terminal:{...e.terminal,isActive:t.isActive}};case"SET_TERMINAL_THINKING":return{...e,terminal:{...e.terminal,isThinking:t.isThinking}};case"SET_AUTO_SCROLL":return{...e,terminal:{...e.terminal,autoScroll:t.enabled}};case"SHOW_PROMPT":return{...e,phase:"prompt",prompt:{data:t.data,messageId:t.messageId,visible:!0,answering:!1}};case"CLEAR_PROMPT":return{...e,prompt:{...c}};case"SET_PROMPT_ANSWERING":return{...e,prompt:{...e.prompt,answering:t.answering}};case"SET_LAYOUT_MODE":return{...e,layout:{...e.layout,mode:t.mode}};case"SET_MOBILE_ACTIVE_PANE":return{...e,layout:{...e.layout,mobileActivePane:t.pane}};case"SET_SPLIT_RATIO":return{...e,layout:{...e.layout,splitRatio:t.ratio}};case"SET_LEFT_PANE_TAB":return{...e,layout:{...e.layout,leftPaneTab:t.tab}};case"SET_ERROR":return{...e,error:t.error};case"CLEAR_ERROR":return{...e,error:{...u}};case"INCREMENT_RETRY_COUNT":return{...e,error:{...e.error,retryCount:e.error.retryCount+1}};case"SET_MESSAGES":return{...e,messages:t.messages};case"ADD_MESSAGE":return{...e,messages:[...e.messages,t.message]};case"UPDATE_MESSAGE":return{...e,messages:e.messages.map(e=>e.id===t.id?{...e,...t.updates}:e)};case"CLEAR_MESSAGES":return{...e,messages:[]};case"SET_WS_CONNECTED":return{...e,wsConnected:t.connected};case"START_WAITING_FOR_RESPONSE":return{...e,phase:"waiting",terminal:{...e.terminal,isActive:!0,output:"",realtimeSnippet:""},prompt:{...c}};case"RESPONSE_RECEIVED":return{...e,phase:"complete",messages:[...e.messages,t.message],terminal:{...e.terminal,isActive:!1,isThinking:!1}};case"SESSION_ENDED":return{...e,phase:"idle",terminal:{...o},prompt:{...c}};default:return e}}var h=r(2982),f=r(87403),x=r(6162);class g extends l.Component{constructor(e){super(e),this.handleRetry=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary:${this.props.componentName||"unknown"}]`,e,t),this.props.onError?.(e,t)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:a.jsx(y,{componentName:this.props.componentName,error:this.state.error,onRetry:this.handleRetry}):this.props.children}}function y({componentName:e,error:t,onRetry:r}){let s=(0,x.T)("error"),n=(0,x.T)("common");return(0,a.jsxs)("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-red-800 mb-2",children:[a.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:a.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),a.jsx("span",{className:"font-medium",children:e?s("boundary.errorOccurredIn",{componentName:e}):s("boundary.errorOccurred")})]}),t&&a.jsx("p",{className:"text-sm text-red-600 mb-3",children:t.message}),r&&a.jsx("button",{onClick:r,className:"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 transition-colors text-sm",children:n("retry")})]})}let b=["flex-shrink-0","bg-gray-700","transition-colors","duration-150","hover:bg-blue-500","focus:outline-none","focus:ring-2","focus:ring-blue-500","focus:ring-offset-2","focus:ring-offset-gray-900"],v=["w-1","h-full","cursor-col-resize","hover:w-2"],w=["h-1","w-full","cursor-row-resize","hover:h-2"];function j(e,t){return"touches"in e&&e.touches.length>0?t?e.touches[0].clientX:e.touches[0].clientY:"clientX"in e?t?e.clientX:e.clientY:0}let N=(0,l.memo)(function({onResize:e,orientation:t="horizontal",ariaValueNow:r=50,onDoubleClick:s,minRatio:n=.1}){let[i,o]=(0,l.useState)(!1),c=(0,l.useRef)(0),d=(0,l.useRef)(null),u="horizontal"===t,m=(0,l.useCallback)(e=>{e.preventDefault(),o(!0),c.current=j(e,u)},[u]),p=(0,l.useCallback)(e=>{1===e.touches.length&&(o(!0),c.current=j(e,u))},[u]),h=(0,l.useCallback)(t=>{if(!i)return;let r=j(t,u);e(r-c.current),c.current=r},[i,u,e]),f=(0,l.useCallback)(t=>{if(!i||1!==t.touches.length)return;let r=j(t,u);e(r-c.current),c.current=r},[i,u,e]),x=(0,l.useCallback)(()=>{o(!1)},[]),g=(0,l.useCallback)(()=>{s&&s()},[s]),y=(0,l.useCallback)(t=>{let r=0;u?"ArrowRight"===t.key?r=10:"ArrowLeft"===t.key&&(r=-10):"ArrowDown"===t.key?r=10:"ArrowUp"===t.key&&(r=-10),0!==r&&(t.preventDefault(),e(r))},[u,e]);(0,l.useEffect)(()=>(i&&(document.addEventListener("mousemove",h),document.addEventListener("mouseup",x),document.addEventListener("touchmove",f),document.addEventListener("touchend",x),document.body.style.userSelect="none",document.body.style.cursor=u?"col-resize":"row-resize"),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",x),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",x),document.body.style.userSelect="",document.body.style.cursor=""}),[i,h,x,f,u]);let N=(0,l.useMemo)(()=>[...b,...u?v:w,...i?["bg-blue-500","dragging",u?"w-2":"h-2"]:[]].join(" "),[u,i]);return a.jsx("div",{ref:d,role:"separator","aria-orientation":t,"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`Resize panes. Use ${u?"left and right":"up and down"} arrow keys to adjust.`,tabIndex:0,className:N,onMouseDown:m,onTouchStart:p,onKeyDown:y,onDoubleClick:g})}),k={left:"History",right:"Terminal"},C={left:"HistoryPane",right:"TerminalPane"},S=(0,l.memo)(function({pane:e,isActive:t,onClick:r}){return a.jsx("button",{type:"button",role:"tab","aria-selected":t,"aria-controls":`${e}-panel`,onClick:r,className:`flex-1 py-2 px-4 text-sm font-medium transition-colors ${t?"text-blue-400 border-b-2 border-blue-400 bg-gray-900":"text-gray-400 hover:text-gray-300"}`,children:k[e]})}),T=(0,l.memo)(function({leftPane:e,rightPane:t}){let[r,s]=(0,l.useState)("right"),n=(0,l.useCallback)(()=>s("left"),[]),i=(0,l.useCallback)(()=>s("right"),[]);return(0,a.jsxs)("div",{"data-testid":"mobile-layout",className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"flex border-b border-gray-700 bg-gray-800",role:"tablist",children:[a.jsx(S,{pane:"left",isActive:"left"===r,onClick:n}),a.jsx(S,{pane:"right",isActive:"right"===r,onClick:i})]}),a.jsx("div",{id:`${r}-panel`,role:"tabpanel",className:"flex-1 overflow-hidden",children:a.jsx(g,{componentName:C[r],children:"left"===r?e:t})})]})}),E=(0,l.memo)(function({leftPane:e,rightPane:t,leftWidth:r,onResize:s,className:n}){let i=(0,l.useMemo)(()=>({width:`${r}%`}),[r]),o=(0,l.useMemo)(()=>({width:`${100-r}%`}),[r]),c=(0,l.useMemo)(()=>`flex h-full min-h-0 ${n}`.trim(),[n]);return(0,a.jsxs)("div",{"data-testid":"desktop-layout",role:"main",className:c,children:[a.jsx("div",{"data-testid":"left-pane","aria-label":"History pane",style:i,className:"flex-shrink-0 overflow-hidden",children:a.jsx(g,{componentName:C.left,children:e})}),a.jsx(N,{onResize:s,orientation:"horizontal",ariaValueNow:r}),a.jsx("div",{"data-testid":"right-pane","aria-label":"Terminal pane",style:o,className:"flex-grow overflow-hidden",children:a.jsx(g,{componentName:C.right,children:t})})]})}),M=(0,l.memo)(function({leftPane:e,rightPane:t,initialLeftWidth:r=50,minLeftWidth:s=20,maxLeftWidth:n=80,className:i=""}){let o=(0,h.d)(),c=(0,l.useRef)(null),[d,u]=(0,l.useState)(r),m=(0,l.useCallback)(e=>{let t=c.current;if(!t)return;let r=t.offsetWidth;if(0===r)return;let a=e/r*100;u(e=>Math.min(n,Math.max(s,e+a)))},[s,n]);return o?a.jsx(T,{leftPane:e,rightPane:t}):a.jsx("div",{ref:c,className:"h-full",children:a.jsx(E,{leftPane:e,rightPane:t,leftWidth:d,onResize:m,className:i})})});var A=r(24420),R=r.n(A),_=r(43053);let O=new(r.n(_)())({fg:"#d1d5db",bg:"#1f2937",newline:!0,escapeXML:!0});function P(){return(0,a.jsxs)("div",{"data-testid":"thinking-indicator",className:"flex items-center gap-2 py-2 px-1 text-gray-400",children:[(0,a.jsxs)("span",{className:"flex gap-1",children:[a.jsx("span",{className:"animate-pulse delay-0",children:"."}),a.jsx("span",{className:"animate-pulse delay-150",children:"."}),a.jsx("span",{className:"animate-pulse delay-300",children:"."})]}),a.jsx("span",{className:"text-sm",children:"Thinking"})]})}let L=(0,l.memo)(function({output:e,isActive:t,isThinking:r=!1,autoScroll:s=!0,onScrollChange:n,className:i=""}){let{scrollRef:o,autoScroll:c,handleScroll:d,scrollToBottom:u}=function(e={}){let{initialAutoScroll:t=!0,onAutoScrollChange:r}=e,a=(0,l.useRef)(null),[s,n]=(0,l.useState)(t),i=(0,l.useCallback)(e=>{n(e),r?.(e)},[r]),o=(0,l.useCallback)(()=>{let e=a.current;if(!e)return!0;let{scrollTop:t,scrollHeight:r,clientHeight:s}=e;return r-s-t<=50},[]),c=(0,l.useCallback)(()=>{let e=o();e&&!s?i(!0):!e&&s&&i(!1)},[s,o,i]),d=(0,l.useCallback)(()=>{let e=a.current;e&&(e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),s||i(!0))},[s,i]);return{scrollRef:a,autoScroll:s,setAutoScroll:i,scrollToBottom:d,handleScroll:c}}({initialAutoScroll:s,onAutoScrollChange:n}),m=function(e){let t=O.toHtml(e);return R().sanitize(t,{ALLOWED_TAGS:["span","br"],ALLOWED_ATTR:["style"],ALLOW_DATA_ATTR:!1})}(e||"");(0,l.useEffect)(()=>{c&&o.current&&o.current.scrollTo({top:o.current.scrollHeight,behavior:"instant"})},[m,c,o]);let p=(0,l.useMemo)(()=>["terminal","font-mono","text-sm","p-4","rounded-lg","overflow-y-auto","overflow-x-hidden","bg-gray-900","text-gray-300","border","border-gray-700","h-full",t?"active":"",t?"border-blue-500":"",i].filter(Boolean).join(" "),[t,i]);return(0,a.jsxs)("div",{className:"relative h-full flex flex-col",children:[(0,a.jsxs)("div",{ref:o,role:"log","aria-live":"polite","aria-label":"Terminal output",className:p,onScroll:d,children:[a.jsx("div",{className:"whitespace-pre-wrap break-words",dangerouslySetInnerHTML:{__html:m}}),t&&r&&a.jsx(P,{})]}),!c&&a.jsx("button",{onClick:u,className:"absolute bottom-4 right-4 bg-blue-600 hover:bg-blue-700 text-white px-3 py-1 rounded-md text-sm shadow-lg transition-colors","aria-label":"Scroll to bottom",children:"Scroll to bottom"})]})});var I=r(62881);let D=(0,I.Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),$=/(\/[^\s\n<>"']+\.[a-zA-Z0-9]+)/g;function F(e){let t=e.split("\n");if(t.length<=5&&e.length<=300)return{text:e,isTruncated:!1};let r=t.slice(0,5).join("\n");return r.length>300&&(r=r.slice(0,300)),{text:r,isTruncated:!0}}let z=(0,l.memo)(function({content:e,onFilePathClick:t}){let r=(0,l.useMemo)(()=>(function(e){let t=e.match($);if(!t||0===t.length)return[{type:"text",content:e}];let r=[],a=0;return t.forEach(t=>{let s=e.indexOf(t,a);s>a&&r.push({type:"text",content:e.slice(a,s)}),r.push({type:"path",content:t}),a=s+t.length}),a<e.length&&r.push({type:"text",content:e.slice(a)}),r})(e),[e]),s=(0,l.useCallback)(e=>()=>t(e),[t]);return a.jsx("span",{children:r.map((e,t)=>"path"===e.type?a.jsx("button",{type:"button",onClick:s(e.content),className:"text-blue-400 hover:text-blue-300 hover:underline cursor-pointer font-mono text-sm","aria-label":`Open file: ${e.content}`,children:e.content},t):a.jsx("span",{children:e.content},t))})});function H(){return(0,a.jsxs)("div",{"data-testid":"pending-indicator",className:"flex items-center gap-2 text-gray-400 py-2",children:[(0,a.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"150ms"}}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"300ms"}})]}),a.jsx("span",{className:"text-sm",children:"Waiting for response..."})]})}let W=(0,l.memo)(function({message:e,onFilePathClick:t,onCopy:r}){let s=(0,l.useMemo)(()=>e.timestamp.toLocaleTimeString(),[e.timestamp]);return(0,a.jsxs)("div",{className:"relative bg-blue-900/30 border-l-4 border-blue-500 p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-xs font-medium text-blue-400",children:"You"}),a.jsx("span",{className:"text-xs text-gray-500",children:s})]}),a.jsx("div",{className:"text-sm text-gray-200 whitespace-pre-wrap break-words",children:a.jsx(z,{content:e.content,onFilePathClick:t})}),r&&a.jsx("button",{type:"button","data-testid":"copy-user-message",onClick:()=>r(e.content),className:"absolute top-2 right-2 p-1 text-gray-400 hover:text-gray-200 bg-gray-800/80 rounded transition-colors","aria-label":"Copy message",title:"Copy",children:a.jsx(D,{size:14,"aria-hidden":"true"})})]})}),B=(0,l.memo)(function({message:e,index:t,total:r,isExpanded:s,onFilePathClick:n,onCopy:i}){let o=(0,l.useMemo)(()=>e.timestamp.toLocaleTimeString(),[e.timestamp]),{text:c,isTruncated:d}=(0,l.useMemo)(()=>F(e.content),[e.content]),u=s||!d?e.content:c;return(0,a.jsxs)("div",{className:"assistant-message-item relative",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-xs font-medium text-gray-400",children:"Assistant"}),a.jsx("span",{className:"text-xs text-gray-500",children:o}),r>1&&(0,a.jsxs)("span",{className:"text-xs text-gray-500",children:["(",t+1,"/",r,")"]})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-200 whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:[a.jsx(z,{content:u,onFilePathClick:n}),!s&&d&&a.jsx("span",{className:"text-gray-500",children:"..."})]}),i&&a.jsx("button",{type:"button","data-testid":"copy-assistant-message",onClick:()=>i(e.content),className:"absolute top-2 right-2 p-1 text-gray-400 hover:text-gray-200 bg-gray-800/80 rounded transition-colors","aria-label":"Copy message",title:"Copy",children:a.jsx(D,{size:14,"aria-hidden":"true"})})]})}),U=(0,l.memo)(function({messages:e,isExpanded:t,onFilePathClick:r,onCopy:s}){return a.jsx("div",{className:"bg-gray-800/50 border-l-4 border-gray-600 p-3 border-t border-gray-700 space-y-3",children:e.map((n,l)=>(0,a.jsxs)(i().Fragment,{children:[l>0&&a.jsx("div",{"data-testid":"assistant-message-divider",className:"border-t border-dashed border-gray-600"}),a.jsx(B,{message:n,index:l,total:e.length,isExpanded:t,onFilePathClick:r,onCopy:s})]},n.id))})});function G(){return(0,a.jsxs)("div",{"data-testid":"orphan-indicator",className:"bg-yellow-900/20 text-yellow-400 text-xs px-3 py-1 flex items-center gap-2",children:[a.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{children:"System Message"})]})}let V=(0,l.memo)(function({pair:e,onFilePathClick:t,isExpanded:r=!1,onToggleExpand:s,onCopy:n}){let i=(0,l.useMemo)(()=>e.assistantMessages.some(e=>{let{isTruncated:t}=F(e.content);return t}),[e.assistantMessages]),o=(0,l.useCallback)(()=>{s&&s()},[s]),c=(0,l.useMemo)(()=>{let t="pending"===e.status?"pending":"orphan"===e.status?"orphan border-l-4 border-yellow-600":"";return`border border-gray-700 rounded-lg overflow-hidden mb-4 transition-colors ${t}`.trim()},[e.status]),d=(0,l.useMemo)(()=>{if(e.userMessage){let t=e.userMessage.content.substring(0,50);return`Conversation: ${t}${e.userMessage.content.length>50?"...":""}`}return"System message"},[e.userMessage]);return(0,a.jsxs)("div",{"data-testid":"conversation-pair-card",role:"article","aria-label":d,className:c,children:["orphan"===e.status&&a.jsx(G,{}),e.userMessage&&a.jsx(W,{message:e.userMessage,onFilePathClick:t,onCopy:n}),"pending"===e.status?a.jsx("div",{className:"bg-gray-800/30 border-l-4 border-gray-600 p-3 border-t border-gray-700",children:a.jsx(H,{})}):e.assistantMessages.length>0?(0,a.jsxs)("div",{className:"relative",children:[a.jsx(U,{messages:e.assistantMessages,isExpanded:r,onFilePathClick:t,onCopy:n}),i&&a.jsx("div",{className:"absolute top-2 right-2",children:(0,a.jsxs)("button",{type:"button",onClick:o,className:"text-xs text-blue-400 hover:text-blue-300 flex items-center gap-1 transition-colors bg-gray-800/80 px-2 py-1 rounded","aria-expanded":r,"aria-label":r?"Collapse message":"Expand message",children:[a.jsx("svg",{className:`w-3 h-3 transition-transform ${r?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})}),r?"Collapse":"Expand"]})})]}):null]})});var q=r(91515);function Y(){return(0,a.jsxs)("div",{"data-testid":"loading-indicator",className:"flex items-center justify-center py-4",role:"status","aria-label":"Loading messages",children:[(0,a.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse delay-100"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse delay-200"})]}),a.jsx("span",{className:"ml-2 text-sm text-gray-400",children:"Loading..."})]})}function Z(){return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-gray-500",children:[a.jsx("svg",{className:"w-12 h-12 mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),a.jsx("p",{className:"text-sm",children:"No messages yet"})]})}let K=["h-full","flex","flex-col","overflow-y-auto","overflow-x-hidden","bg-gray-900","rounded-lg","border","border-gray-700"],X=(0,l.memo)(function({messages:e,worktreeId:t,onFilePathClick:r,isLoading:s=!1,className:n="",showToast:i}){let o=(0,l.useRef)(null),c=(0,l.useRef)(0),d=(0,l.useRef)(e.length);(0,l.useLayoutEffect)(()=>{let e=o.current;e&&(c.current=e.scrollTop)}),(0,l.useLayoutEffect)(()=>{let t=o.current,r=d.current;t&&e.length===r&&requestAnimationFrame(()=>{t.scrollTop=c.current}),d.current=e.length},[e.length]);let{pairs:u,isExpanded:m,toggleExpand:p}=function(e){let t=(0,l.useMemo)(()=>(function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e.timestamp.getTime()-t.timestamp.getTime()),r=[],a=null;for(let e of t)if("user"===e.role)a={id:e.id,userMessage:e,assistantMessages:[],status:"pending"},r.push(a);else if("assistant"===e.role){if(a&&null!==a.userMessage)a.assistantMessages.push(e),a.status="completed";else if(a&&null===a.userMessage)a.assistantMessages.push(e);else{let t={id:`orphan-${e.id}`,userMessage:null,assistantMessages:[e],status:"orphan"};r.push(t),a=t}}return r})(e),[e]),[r,a]=(0,l.useState)(new Set),s=(0,l.useCallback)(e=>{a(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),n=(0,l.useCallback)(e=>r.has(e),[r]),i=(0,l.useCallback)(()=>{a(new Set(t.map(e=>e.id)))},[t]);return{pairs:t,expandedPairs:r,toggleExpand:s,isExpanded:n,expandAll:i,collapseAll:(0,l.useCallback)(()=>{a(new Set)},[])}}(e),h=(0,l.useMemo)(()=>[...K,n].filter(Boolean).join(" "),[n]),f=(0,l.useCallback)(e=>r(e),[r]),x=(0,l.useCallback)(e=>()=>p(e),[p]),g=(0,l.useCallback)(async e=>{try{await (0,q.v)(e),i?.("Copied to clipboard","success")}catch{console.error("[HistoryPane] Failed to copy to clipboard"),i?.("Failed to copy","error")}},[i]);return(0,a.jsxs)("div",{ref:o,role:"region","aria-label":"Message history",className:h,children:[a.jsx("div",{className:"sticky top-0 bg-gray-900 border-b border-gray-700 px-4 py-2 z-10",children:a.jsx("h3",{className:"text-sm font-medium text-gray-300",children:"Message History"})}),a.jsx("div",{className:"flex-1 p-4 min-h-0",children:s?a.jsx(Y,{}):0===e.length?a.jsx(Z,{}):u.map(e=>a.jsx(V,{pair:e,onFilePathClick:f,isExpanded:m(e.id),onToggleExpand:x(e.id),onCopy:g},e.id))})]})}),J={fadeIn:"animate-fade-in",fadeOut:"animate-fade-out",none:""};function Q({visible:e,duration:t=200}){let[r,a]=(0,l.useState)(e?"visible":"hidden");(0,l.useRef)(null),(0,l.useRef)(e);let s="hidden"!==r,n="fade-in"===r||"fade-out"===r;return{shouldRender:s,animationClass:(0,l.useMemo)(()=>{switch(r){case"fade-in":return J.fadeIn;case"fade-out":return J.fadeOut;default:return J.none}},[r]),isAnimating:n}}let ee=`
|
|
1
|
+
(()=>{var e={};e.id=130,e.ids=[130],e.modules={98860:e=>{"use strict";e.exports=require("jsdom")},72934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},55315:e=>{"use strict";e.exports=require("path")},17360:e=>{"use strict";e.exports=require("url")},49411:e=>{"use strict";e.exports=require("node:path")},97742:e=>{"use strict";e.exports=require("node:process")},41041:e=>{"use strict";e.exports=require("node:url")},80205:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>l.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>d,routeModule:()=>p,tree:()=>c}),r(22570),r(25086),r(35866);var a=r(23191),s=r(88716),n=r(37922),l=r.n(n),i=r(95231),o={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);r.d(t,o);let c=["",{children:["worktrees",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,22570)),"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx"]}]},{}]},{metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,71150))).default(e)],apple:[async e=>(await Promise.resolve().then(r.bind(r,63601))).default(e)],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(r.bind(r,25086)),"/home/runner/work/CommandMate/CommandMate/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,35866,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,71150))).default(e)],apple:[async e=>(await Promise.resolve().then(r.bind(r,63601))).default(e)],openGraph:[],twitter:[],manifest:void 0}}],d=["/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx"],u="/worktrees/[id]/page",m={require:r,loadChunk:()=>Promise.resolve()},p=new a.AppPageRouteModule({definition:{kind:s.x.APP_PAGE,page:"/worktrees/[id]/page",pathname:"/worktrees/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},87923:(e,t,r)=>{Promise.resolve().then(r.bind(r,74810))},62829:e=>{"use strict";let{entries:t,setPrototypeOf:r,isFrozen:a,getPrototypeOf:s,getOwnPropertyDescriptor:n}=Object,{freeze:l,seal:i,create:o}=Object,{apply:c,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(e){return e}),i||(i=function(e){return e}),c||(c=function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s];return e.apply(t,a)}),d||(d=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return new e(...r)});let u=C(Array.prototype.forEach),m=C(Array.prototype.lastIndexOf),p=C(Array.prototype.pop),h=C(Array.prototype.push),f=C(Array.prototype.splice),x=C(String.prototype.toLowerCase),g=C(String.prototype.toString),y=C(String.prototype.match),b=C(String.prototype.replace),v=C(String.prototype.indexOf),w=C(String.prototype.trim),j=C(Object.prototype.hasOwnProperty),N=C(RegExp.prototype.test),k=(Z=TypeError,function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(Z,t)});function C(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,a=Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];return c(e,t,a)}}function S(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x;r&&r(e,null);let n=t.length;for(;n--;){let r=t[n];if("string"==typeof r){let e=s(r);e!==r&&(a(t)||(t[n]=e),r=e)}e[r]=!0}return e}function T(e){let r=o(null);for(let[a,s]of t(e))j(e,a)&&(Array.isArray(s)?r[a]=function(e){for(let t=0;t<e.length;t++)j(e,t)||(e[t]=null);return e}(s):s&&"object"==typeof s&&s.constructor===Object?r[a]=T(s):r[a]=s);return r}function E(e,t){for(;null!==e;){let r=n(e,t);if(r){if(r.get)return C(r.get);if("function"==typeof r.value)return C(r.value)}e=s(e)}return function(){return null}}let M=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),A=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),R=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),_=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),O=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),P=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),L=l(["#text"]),I=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),D=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$=l(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),F=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),z=i(/\{\{[\w\W]*|[\w\W]*\}\}/gm),H=i(/<%[\w\W]*|[\w\W]*%>/gm),W=i(/\$\{[\w\W]*/gm),B=i(/^data-[\-\w.\u00B7-\uFFFF]+$/),U=i(/^aria-[\-\w]+$/),G=i(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),V=i(/^(?:\w+script|data):/i),q=i(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Y=i(/^html$/i);var Z,K=Object.freeze({__proto__:null,ARIA_ATTR:U,ATTR_WHITESPACE:q,CUSTOM_ELEMENT:i(/^[a-z][.\w]*(-[.\w]+)+$/i),DATA_ATTR:B,DOCTYPE_NAME:Y,ERB_EXPR:H,IS_ALLOWED_URI:G,IS_SCRIPT_OR_DATA:V,MUSTACHE_EXPR:z,TMPLIT_EXPR:W});let X={element:1,text:3,progressingInstruction:7,comment:8,document:9},J=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let r=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(r=t.getAttribute(a));let s="dompurify"+(r?"#"+r:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Q=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};var ee=function e(){let r,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof window?null:window,s=t=>e(t);if(s.version="3.3.1",s.removed=[],!a||!a.document||a.document.nodeType!==X.document||!a.Element)return s.isSupported=!1,s;let{document:n}=a,i=n,c=i.currentScript,{DocumentFragment:d,HTMLTemplateElement:C,Node:z,Element:H,NodeFilter:W,NamedNodeMap:B=a.NamedNodeMap||a.MozNamedAttrMap,HTMLFormElement:U,DOMParser:V,trustedTypes:q}=a,Z=H.prototype,ee=E(Z,"cloneNode"),et=E(Z,"remove"),er=E(Z,"nextSibling"),ea=E(Z,"childNodes"),es=E(Z,"parentNode");if("function"==typeof C){let e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let en="",{implementation:el,createNodeIterator:ei,createDocumentFragment:eo,getElementsByTagName:ec}=n,{importNode:ed}=i,eu=Q();s.isSupported="function"==typeof t&&"function"==typeof es&&el&&void 0!==el.createHTMLDocument;let{MUSTACHE_EXPR:em,ERB_EXPR:ep,TMPLIT_EXPR:eh,DATA_ATTR:ef,ARIA_ATTR:ex,IS_SCRIPT_OR_DATA:eg,ATTR_WHITESPACE:ey,CUSTOM_ELEMENT:eb}=K,{IS_ALLOWED_URI:ev}=K,ew=null,ej=S({},[...M,...A,...R,...O,...L]),eN=null,ek=S({},[...I,...D,...$,...F]),eC=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),eS=null,eT=null,eE=Object.seal(o(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),eM=!0,eA=!0,eR=!1,e_=!0,eO=!1,eP=!0,eL=!1,eI=!1,eD=!1,e$=!1,eF=!1,ez=!1,eH=!0,eW=!1,eB=!0,eU=!1,eG={},eV=null,eq=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),eY=null,eZ=S({},["audio","video","img","source","image","track"]),eK=null,eX=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),eJ="http://www.w3.org/1998/Math/MathML",eQ="http://www.w3.org/2000/svg",e0="http://www.w3.org/1999/xhtml",e1=e0,e2=!1,e4=null,e5=S({},[eJ,eQ,e0],g),e3=S({},["mi","mo","mn","ms","mtext"]),e6=S({},["annotation-xml"]),e8=S({},["title","style","font","a","script"]),e7=null,e9=["application/xhtml+xml","text/html"],te=null,tt=null,tr=n.createElement("form"),ta=function(e){return e instanceof RegExp||e instanceof Function},ts=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!tt||tt!==e){if(e&&"object"==typeof e||(e={}),e=T(e),te="application/xhtml+xml"===(e7=-1===e9.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?g:x,ew=j(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,te):ej,eN=j(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,te):ek,e4=j(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,g):e5,eK=j(e,"ADD_URI_SAFE_ATTR")?S(T(eX),e.ADD_URI_SAFE_ATTR,te):eX,eY=j(e,"ADD_DATA_URI_TAGS")?S(T(eZ),e.ADD_DATA_URI_TAGS,te):eZ,eV=j(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,te):eq,eS=j(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,te):T({}),eT=j(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,te):T({}),eG=!!j(e,"USE_PROFILES")&&e.USE_PROFILES,eM=!1!==e.ALLOW_ARIA_ATTR,eA=!1!==e.ALLOW_DATA_ATTR,eR=e.ALLOW_UNKNOWN_PROTOCOLS||!1,e_=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,eO=e.SAFE_FOR_TEMPLATES||!1,eP=!1!==e.SAFE_FOR_XML,eL=e.WHOLE_DOCUMENT||!1,e$=e.RETURN_DOM||!1,eF=e.RETURN_DOM_FRAGMENT||!1,ez=e.RETURN_TRUSTED_TYPE||!1,eD=e.FORCE_BODY||!1,eH=!1!==e.SANITIZE_DOM,eW=e.SANITIZE_NAMED_PROPS||!1,eB=!1!==e.KEEP_CONTENT,eU=e.IN_PLACE||!1,ev=e.ALLOWED_URI_REGEXP||G,e1=e.NAMESPACE||e0,e3=e.MATHML_TEXT_INTEGRATION_POINTS||e3,e6=e.HTML_INTEGRATION_POINTS||e6,eC=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ta(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(eC.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ta(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(eC.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(eC.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),eO&&(eA=!1),eF&&(e$=!0),eG&&(ew=S({},L),eN=[],!0===eG.html&&(S(ew,M),S(eN,I)),!0===eG.svg&&(S(ew,A),S(eN,D),S(eN,F)),!0===eG.svgFilters&&(S(ew,R),S(eN,D),S(eN,F)),!0===eG.mathMl&&(S(ew,O),S(eN,$),S(eN,F))),e.ADD_TAGS&&("function"==typeof e.ADD_TAGS?eE.tagCheck=e.ADD_TAGS:(ew===ej&&(ew=T(ew)),S(ew,e.ADD_TAGS,te))),e.ADD_ATTR&&("function"==typeof e.ADD_ATTR?eE.attributeCheck=e.ADD_ATTR:(eN===ek&&(eN=T(eN)),S(eN,e.ADD_ATTR,te))),e.ADD_URI_SAFE_ATTR&&S(eK,e.ADD_URI_SAFE_ATTR,te),e.FORBID_CONTENTS&&(eV===eq&&(eV=T(eV)),S(eV,e.FORBID_CONTENTS,te)),e.ADD_FORBID_CONTENTS&&(eV===eq&&(eV=T(eV)),S(eV,e.ADD_FORBID_CONTENTS,te)),eB&&(ew["#text"]=!0),eL&&S(ew,["html","head","body"]),ew.table&&(S(ew,["tbody"]),delete eS.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');en=(r=e.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===r&&(r=J(q,c)),null!==r&&"string"==typeof en&&(en=r.createHTML(""));l&&l(e),tt=e}},tn=S({},[...A,...R,..._]),tl=S({},[...O,...P]),ti=function(e){let t=es(e);t&&t.tagName||(t={namespaceURI:e1,tagName:"template"});let r=x(e.tagName),a=x(t.tagName);return!!e4[e.namespaceURI]&&(e.namespaceURI===eQ?t.namespaceURI===e0?"svg"===r:t.namespaceURI===eJ?"svg"===r&&("annotation-xml"===a||e3[a]):!!tn[r]:e.namespaceURI===eJ?t.namespaceURI===e0?"math"===r:t.namespaceURI===eQ?"math"===r&&e6[a]:!!tl[r]:e.namespaceURI===e0?(t.namespaceURI!==eQ||!!e6[a])&&(t.namespaceURI!==eJ||!!e3[a])&&!tl[r]&&(e8[r]||!tn[r]):"application/xhtml+xml"===e7&&!!e4[e.namespaceURI])},to=function(e){h(s.removed,{element:e});try{es(e).removeChild(e)}catch(t){et(e)}},tc=function(e,t){try{h(s.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){h(s.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e){if(e$||eF)try{to(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}}},td=function(e){let t=null,a=null;if(eD)e="<remove></remove>"+e;else{let t=y(e,/^[\r\n\t ]+/);a=t&&t[0]}"application/xhtml+xml"===e7&&e1===e0&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let s=r?r.createHTML(e):e;if(e1===e0)try{t=new V().parseFromString(s,e7)}catch(e){}if(!t||!t.documentElement){t=el.createDocument(e1,"template",null);try{t.documentElement.innerHTML=e2?en:s}catch(e){}}let l=t.body||t.documentElement;return(e&&a&&l.insertBefore(n.createTextNode(a),l.childNodes[0]||null),e1===e0)?ec.call(t,eL?"html":"body")[0]:eL?t.documentElement:l},tu=function(e){return ei.call(e.ownerDocument||e,e,W.SHOW_ELEMENT|W.SHOW_COMMENT|W.SHOW_TEXT|W.SHOW_PROCESSING_INSTRUCTION|W.SHOW_CDATA_SECTION,null)},tm=function(e){return e instanceof U&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof B)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},tp=function(e){return"function"==typeof z&&e instanceof z};function th(e,t,r){u(e,e=>{e.call(s,t,r,tt)})}let tf=function(e){let t=null;if(th(eu.beforeSanitizeElements,e,null),tm(e))return to(e),!0;let r=te(e.nodeName);if(th(eu.uponSanitizeElement,e,{tagName:r,allowedTags:ew}),eP&&e.hasChildNodes()&&!tp(e.firstElementChild)&&N(/<[/\w!]/g,e.innerHTML)&&N(/<[/\w!]/g,e.textContent)||e.nodeType===X.progressingInstruction||eP&&e.nodeType===X.comment&&N(/<[/\w]/g,e.data))return to(e),!0;if(!(eE.tagCheck instanceof Function&&eE.tagCheck(r))&&(!ew[r]||eS[r])){if(!eS[r]&&tg(r)&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,r)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(r)))return!1;if(eB&&!eV[r]){let t=es(e)||e.parentNode,r=ea(e)||e.childNodes;if(r&&t){let a=r.length;for(let s=a-1;s>=0;--s){let a=ee(r[s],!0);a.__removalCount=(e.__removalCount||0)+1,t.insertBefore(a,er(e))}}}return to(e),!0}return e instanceof H&&!ti(e)||("noscript"===r||"noembed"===r||"noframes"===r)&&N(/<\/no(script|embed|frames)/i,e.innerHTML)?(to(e),!0):(eO&&e.nodeType===X.text&&(t=e.textContent,u([em,ep,eh],e=>{t=b(t,e," ")}),e.textContent!==t&&(h(s.removed,{element:e.cloneNode()}),e.textContent=t)),th(eu.afterSanitizeElements,e,null),!1)},tx=function(e,t,r){if(eH&&("id"===t||"name"===t)&&(r in n||r in tr))return!1;if(eA&&!eT[t]&&N(ef,t));else if(eM&&N(ex,t));else if(eE.attributeCheck instanceof Function&&eE.attributeCheck(t,e));else if(!eN[t]||eT[t]){if(!(tg(e)&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,e)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(e))&&(eC.attributeNameCheck instanceof RegExp&&N(eC.attributeNameCheck,t)||eC.attributeNameCheck instanceof Function&&eC.attributeNameCheck(t,e))||"is"===t&&eC.allowCustomizedBuiltInElements&&(eC.tagNameCheck instanceof RegExp&&N(eC.tagNameCheck,r)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(r))))return!1}else if(eK[t]);else if(N(ev,b(r,ey,"")));else if(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===v(r,"data:")&&eY[e]);else if(eR&&!N(eg,b(r,ey,"")));else if(r)return!1;return!0},tg=function(e){return"annotation-xml"!==e&&y(e,eb)},ty=function(e){th(eu.beforeSanitizeAttributes,e,null);let{attributes:t}=e;if(!t||tm(e))return;let a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:eN,forceKeepAttr:void 0},n=t.length;for(;n--;){let{name:l,namespaceURI:i,value:o}=t[n],c=te(l),d="value"===l?o:w(o);if(a.attrName=c,a.attrValue=d,a.keepAttr=!0,a.forceKeepAttr=void 0,th(eu.uponSanitizeAttribute,e,a),d=a.attrValue,eW&&("id"===c||"name"===c)&&(tc(l,e),d="user-content-"+d),eP&&N(/((--!?|])>)|<\/(style|title|textarea)/i,d)||"attributename"===c&&y(d,"href")){tc(l,e);continue}if(a.forceKeepAttr)continue;if(!a.keepAttr||!e_&&N(/\/>/i,d)){tc(l,e);continue}eO&&u([em,ep,eh],e=>{d=b(d,e," ")});let m=te(e.nodeName);if(!tx(m,c,d)){tc(l,e);continue}if(r&&"object"==typeof q&&"function"==typeof q.getAttributeType){if(i);else switch(q.getAttributeType(m,c)){case"TrustedHTML":d=r.createHTML(d);break;case"TrustedScriptURL":d=r.createScriptURL(d)}}if(d!==o)try{i?e.setAttributeNS(i,l,d):e.setAttribute(l,d),tm(e)?to(e):p(s.removed)}catch(t){tc(l,e)}}th(eu.afterSanitizeAttributes,e,null)},tb=function e(t){let r=null,a=tu(t);for(th(eu.beforeSanitizeShadowDOM,t,null);r=a.nextNode();)th(eu.uponSanitizeShadowNode,r,null),tf(r),ty(r),r.content instanceof d&&e(r.content);th(eu.afterSanitizeShadowDOM,t,null)};return s.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null,n=null,l=null,o=null;if((e2=!e)&&(e="<!-->"),"string"!=typeof e&&!tp(e)){if("function"==typeof e.toString){if("string"!=typeof(e=e.toString()))throw k("dirty is not a string, aborting")}else throw k("toString is not a function")}if(!s.isSupported)return e;if(eI||ts(t),s.removed=[],"string"==typeof e&&(eU=!1),eU){if(e.nodeName){let t=te(e.nodeName);if(!ew[t]||eS[t])throw k("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof z)(n=(a=td("<!---->")).ownerDocument.importNode(e,!0)).nodeType===X.element&&"BODY"===n.nodeName?a=n:"HTML"===n.nodeName?a=n:a.appendChild(n);else{if(!e$&&!eO&&!eL&&-1===e.indexOf("<"))return r&&ez?r.createHTML(e):e;if(!(a=td(e)))return e$?null:ez?en:""}a&&eD&&to(a.firstChild);let c=tu(eU?e:a);for(;l=c.nextNode();)tf(l),ty(l),l.content instanceof d&&tb(l.content);if(eU)return e;if(e$){if(eF)for(o=eo.call(a.ownerDocument);a.firstChild;)o.appendChild(a.firstChild);else o=a;return(eN.shadowroot||eN.shadowrootmode)&&(o=ed.call(i,o,!0)),o}let m=eL?a.outerHTML:a.innerHTML;return eL&&ew["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&N(Y,a.ownerDocument.doctype.name)&&(m="<!DOCTYPE "+a.ownerDocument.doctype.name+">\n"+m),eO&&u([em,ep,eh],e=>{m=b(m,e," ")}),r&&ez?r.createHTML(m):m},s.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ts(e),eI=!0},s.clearConfig=function(){tt=null,eI=!1},s.isValidAttribute=function(e,t,r){return tt||ts({}),tx(te(e),te(t),r)},s.addHook=function(e,t){"function"==typeof t&&h(eu[e],t)},s.removeHook=function(e,t){if(void 0!==t){let r=m(eu[e],t);return -1===r?void 0:f(eu[e],r,1)[0]}return p(eu[e])},s.removeHooks=function(e){eu[e]=[]},s.removeAllHooks=function(){eu=Q()},s}();e.exports=ee},24420:(e,t,r)=>{function a(e){return e&&e.default||e}e.exports=global.DOMPurify=global.DOMPurify||("undefined"!=typeof window?a(r(62829)):function(){let e=a(r(62829)),{JSDOM:t}=a(r(98860)),{window:s}=new t("<!DOCTYPE html>");return e(s)}())},43353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}});let a=r(91174);r(10326),r(17577);let s=a._(r(77028));function n(e,t){var r;let a={loading:e=>{let{error:t,isLoading:r,pastDelay:a}=e;return null}};"function"==typeof e&&(a.loader=e);let n={...a,...t};return(0,s.default)({...n,modules:null==(r=n.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let a=r(94129);function s(e){let{reason:t,children:r}=e;throw new a.BailoutToCSRError(t)}},77028:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let a=r(10326),s=r(17577),n=r(933),l=r(46618);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},r=(0,s.lazy)(()=>t.loader().then(i)),c=t.loading;function d(e){let i=c?(0,a.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=t.ssr?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.PreloadCss,{moduleIds:t.modules}),(0,a.jsx)(r,{...e})]}):(0,a.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(s.Suspense,{fallback:i,children:o})}return d.displayName="LoadableComponent",d}},46618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return n}});let a=r(10326),s=r(54580);function n(e){let{moduleIds:t}=e,r=(0,s.getExpectedRequestStore)("next/dynamic css"),n=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files.filter(e=>e.endsWith(".css"));n.push(...t)}}return 0===n.length?null:(0,a.jsx)(a.Fragment,{children:n.map(e=>(0,a.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:r.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},51387:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.types=void 0;let n=r(5739);Object.defineProperty(t,"types",{enumerable:!0,get:function(){return n.types}}),s(r(49441),t),s(r(61601),t);let l=r(49441),i=r(61601);s(r(5739),t),t.default=l.tokenizer,e.exports=l.tokenizer,e.exports.types=n.types,e.exports.reconstruct=i.reconstruct},61601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstruct=void 0;let a=r(5739),s=r(10602),n=e=>e.map(t.reconstruct).join(""),l=e=>{if("options"in e)return e.options.map(n).join("|");if("stack"in e)return n(e.stack);throw Error("options or stack must be Root or Group token")};t.reconstruct=e=>{switch(e.type){case a.types.ROOT:return l(e);case a.types.CHAR:{let t=String.fromCharCode(e.value);return(/[[\\{}$^.|?*+()]/.test(t)?"\\":"")+t}case a.types.POSITION:if("^"===e.value||"$"===e.value)return e.value;return`\\${e.value}`;case a.types.REFERENCE:return`\\${e.value}`;case a.types.SET:return s.writeSetTokens(e);case a.types.GROUP:{let t=e.name?`?<${e.name}>`:e.remember?"":e.followedBy?"?=":e.notFollowedBy?"?!":"?:";return`(${t}${l(e)})`}case a.types.REPETITION:{let r;let{min:a,max:s}=e;return r=0===a&&1===s?"?":1===a&&s===1/0?"+":0===a&&s===1/0?"*":s===1/0?`{${a},}`:a===s?`{${a}}`:`{${a},${s}}`,`${t.reconstruct(e.value)}${r}`}case a.types.RANGE:return`${s.setChar(e.from)}-${s.setChar(e.to)}`;default:throw Error(`Invalid token type ${e}`)}}},25296:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NOTANYCHAR=t.WHITESPACE=t.WORDS=t.INTS=void 0;let l=n(r(40879)),i=r(5739);function o(e){let t={},r=0;for(let a of e)a.type===i.types.CHAR&&(t[a.value]=!0),a.type===i.types.RANGE&&(t[`${a.from}-${a.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},t),len:r}}t.INTS=o(l.ints().set),t.WORDS=o(l.words().set),t.WHITESPACE=o(l.whitespace().set),t.NOTANYCHAR=o(l.anyChar().set)},40879:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.anyChar=t.notWhitespace=t.whitespace=t.notInts=t.ints=t.notWords=t.words=void 0;let a=r(5739),s=()=>[{type:a.types.RANGE,from:48,to:57}],n=()=>[{type:a.types.CHAR,value:95},{type:a.types.RANGE,from:97,to:122},{type:a.types.RANGE,from:65,to:90},{type:a.types.RANGE,from:48,to:57}],l=()=>[{type:a.types.CHAR,value:9},{type:a.types.CHAR,value:10},{type:a.types.CHAR,value:11},{type:a.types.CHAR,value:12},{type:a.types.CHAR,value:13},{type:a.types.CHAR,value:32},{type:a.types.CHAR,value:160},{type:a.types.CHAR,value:5760},{type:a.types.RANGE,from:8192,to:8202},{type:a.types.CHAR,value:8232},{type:a.types.CHAR,value:8233},{type:a.types.CHAR,value:8239},{type:a.types.CHAR,value:8287},{type:a.types.CHAR,value:12288},{type:a.types.CHAR,value:65279}],i=()=>[{type:a.types.CHAR,value:10},{type:a.types.CHAR,value:13},{type:a.types.CHAR,value:8232},{type:a.types.CHAR,value:8233}];t.words=()=>({type:a.types.SET,set:n(),not:!1}),t.notWords=()=>({type:a.types.SET,set:n(),not:!0}),t.ints=()=>({type:a.types.SET,set:s(),not:!1}),t.notInts=()=>({type:a.types.SET,set:s(),not:!0}),t.whitespace=()=>({type:a.types.SET,set:l(),not:!1}),t.notWhitespace=()=>({type:a.types.SET,set:l(),not:!0}),t.anyChar=()=>({type:a.types.SET,set:i(),not:!0})},49441:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizer=void 0;let l=n(r(51356)),i=r(5739),o=n(r(40879)),c=/^[a-zA-Z_$]$/i,d=/^[a-zA-Z0-9_$]$/i,u=/\d/;t.tokenizer=e=>{let t=0,r,a={type:i.types.ROOT,stack:[]},s=a,n=a.stack,m=[],p=[],h=0,f=t=>{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},x=l.strToChars(e);for(;t<x.length;)switch(r=x[t++]){case"\\":if(t===x.length)throw SyntaxError(`Invalid regular expression: /${e}/: \\ at end of pattern`);switch(r=x[t++]){case"b":n.push({type:i.types.POSITION,value:"b"});break;case"B":n.push({type:i.types.POSITION,value:"B"});break;case"w":n.push(o.words());break;case"W":n.push(o.notWords());break;case"d":n.push(o.ints());break;case"D":n.push(o.notInts());break;case"s":n.push(o.whitespace());break;case"S":n.push(o.notWhitespace());break;default:if(u.test(r)){let e=r;for(;t<x.length&&u.test(x[t]);)e+=x[t++];let a=parseInt(e,10),s={type:i.types.REFERENCE,value:a};n.push(s),p.push({reference:s,stack:n,index:n.length-1})}else n.push({type:i.types.CHAR,value:r.charCodeAt(0)})}break;case"^":n.push({type:i.types.POSITION,value:"^"});break;case"$":n.push({type:i.types.POSITION,value:"$"});break;case"[":{let r;"^"===x[t]?(r=!0,t++):r=!1;let a=l.tokenizeClass(x.slice(t),e);t+=a[1],n.push({type:i.types.SET,set:a[0],not:r});break}case".":n.push(o.anyChar());break;case"(":{let a={type:i.types.GROUP,stack:[],remember:!0};if("?"===x[t]){if(r=x[t+1],t+=2,"="===r)a.followedBy=!0,a.remember=!1;else if("!"===r)a.notFollowedBy=!0,a.remember=!1;else if("<"===r){let r="";if(c.test(x[t]))r+=x[t],t++;else throw SyntaxError(`Invalid regular expression: /${e}/: Invalid capture group name, character '${x[t]}' after '<' at column ${t+1}`);for(;t<x.length&&d.test(x[t]);)r+=x[t],t++;if(!r)throw SyntaxError(`Invalid regular expression: /${e}/: Invalid capture group name, character '${x[t]}' after '<' at column ${t+1}`);if(">"!==x[t])throw SyntaxError(`Invalid regular expression: /${e}/: Unclosed capture group name, expected '>', found '${x[t]}' at column ${t+1}`);a.name=r,t++}else if(":"===r)a.remember=!1;else throw SyntaxError(`Invalid regular expression: /${e}/: Invalid group, character '${r}' after '?' at column ${t-1}`)}else h+=1;n.push(a),m.push(s),s=a,n=a.stack;break}case")":if(0===m.length)throw SyntaxError(`Invalid regular expression: /${e}/: Unmatched ) at column ${t-1}`);n=(s=m.pop()).options?s.options[s.options.length-1]:s.stack;break;case"|":{s.options||(s.options=[s.stack],delete s.stack);let e=[];s.options.push(e),n=e;break}case"{":{let e=/^(\d+)(,(\d+)?)?\}/.exec(x.slice(t)),r,a;null!==e?(0===n.length&&f(t),r=parseInt(e[1],10),a=e[2]?e[3]?parseInt(e[3],10):1/0:r,t+=e[0].length,n.push({type:i.types.REPETITION,min:r,max:a,value:n.pop()})):n.push({type:i.types.CHAR,value:123});break}case"?":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:0,max:1,value:n.pop()});break;case"+":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:1,max:1/0,value:n.pop()});break;case"*":0===n.length&&f(t),n.push({type:i.types.REPETITION,min:0,max:1/0,value:n.pop()});break;default:n.push({type:i.types.CHAR,value:r.charCodeAt(0)})}if(0!==m.length)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return function(e,t){for(let r of e.reverse())if(t<r.reference.value){r.reference.type=i.types.CHAR;let e=r.reference.value.toString();if(r.reference.value=parseInt(e,8),!/^[0-7]+$/.test(e)){let t=0;for(;"8"!==e[t]&&"9"!==e[t];)t+=1;if(0===t?(r.reference.value=e.charCodeAt(0),t+=1):r.reference.value=parseInt(e.slice(0,t),8),e.length>t){let a=r.stack.splice(r.index+1);for(let a of e.slice(t))r.stack.push({type:i.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...a)}}}}(p,h),a}},5739:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),s(r(91311),t),s(r(15270),t),s(r(16785),t)},16785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},91311:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},15270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.types=void 0,function(e){e[e.ROOT=0]="ROOT",e[e.GROUP=1]="GROUP",e[e.POSITION=2]="POSITION",e[e.SET=3]="SET",e[e.RANGE=4]="RANGE",e[e.REPETITION=5]="REPETITION",e[e.REFERENCE=6]="REFERENCE",e[e.CHAR=7]="CHAR"}(t.types||(t.types={}))},51356:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizeClass=t.strToChars=void 0;let l=r(5739),i=n(r(40879));t.strToChars=e=>e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,r,a,s,n,l)=>{if(r)return e;let i=String.fromCharCode(t?8:a?parseInt(a,16):s?parseInt(s,16):n?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(n):({0:0,t:9,n:10,v:11,f:12,r:13})[l]);return/[[\]{}^$.|?*+()]/.test(i)?`\\${i}`:i}),t.tokenizeClass=(e,t)=>{var r,a,s,n,o,c,d;let u=[],m,p,h=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;null!==(m=h.exec(e));){let e=null!==(d=null!==(c=null!==(o=null!==(n=null!==(s=null!==(a=null!==(r=m[1]&&i.words())&&void 0!==r?r:m[2]&&i.ints())&&void 0!==a?a:m[3]&&i.whitespace())&&void 0!==s?s:m[4]&&i.notWords())&&void 0!==n?n:m[5]&&i.notInts())&&void 0!==o?o:m[6]&&i.notWhitespace())&&void 0!==c?c:m[7]&&{type:l.types.RANGE,from:(m[8]||m[9]).charCodeAt(0),to:(p=m[10]).charCodeAt(p.length-1)})&&void 0!==d?d:(p=m[16])&&{type:l.types.CHAR,value:p.charCodeAt(0)};if(!e)return[u,h.lastIndex];u.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}},10602:function(e,t,r){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.writeSetTokens=t.setChar=void 0;let l=r(5739),i=n(r(25296));function o(e){return 94===e?"\\^":92===e?"\\\\":93===e?"\\]":45===e?"\\-":String.fromCharCode(e)}function c(e,{lookup:t,len:r}){if(r!==e.length)return!1;let a=t();for(let t of e){if(t.type===l.types.SET)return!1;let e=t.type===l.types.CHAR?t.value:`${t.from}-${t.to}`;if(!a[e])return!1;a[e]=!1}return!0}t.setChar=o,t.writeSetTokens=function e(t,r=!1){if(c(t.set,i.INTS))return t.not?"\\D":"\\d";if(c(t.set,i.WORDS))return t.not?"\\W":"\\w";if(t.not&&c(t.set,i.NOTANYCHAR))return".";if(c(t.set,i.WHITESPACE))return t.not?"\\S":"\\s";let a="";for(let r=0;r<t.set.length;r++){var s;a+=(s=t.set[r]).type===l.types.CHAR?o(s.value):s.type===l.types.RANGE?`${o(s.from)}-${o(s.to)}`:e(s,!0)}let n=`${t.not?"^":""}${a}`;return r?n:`[${n}]`}},74810:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ro});var a=r(10326),s=r(35047),n=r(79906),l=r(17577),i=r.n(l);let o={output:"",realtimeSnippet:"",isActive:!1,isThinking:!1,autoScroll:!0,lastUpdated:null},c={data:null,messageId:null,visible:!1,answering:!1},d={mode:"split",mobileActivePane:"terminal",leftPaneTab:"history",splitRatio:.5},u={type:null,message:null,retryable:!1,retryCount:0};function m(){return{phase:"idle",terminal:{...o},prompt:{...c},layout:{...d},error:{...u},messages:[],wsConnected:!1}}function p(e,t){switch(t.type){case"SET_PHASE":return{...e,phase:t.phase};case"SET_TERMINAL_OUTPUT":return{...e,terminal:{...e.terminal,output:t.output,realtimeSnippet:t.realtimeSnippet,lastUpdated:new Date}};case"SET_TERMINAL_ACTIVE":return{...e,terminal:{...e.terminal,isActive:t.isActive}};case"SET_TERMINAL_THINKING":return{...e,terminal:{...e.terminal,isThinking:t.isThinking}};case"SET_AUTO_SCROLL":return{...e,terminal:{...e.terminal,autoScroll:t.enabled}};case"SHOW_PROMPT":return{...e,phase:"prompt",prompt:{data:t.data,messageId:t.messageId,visible:!0,answering:!1}};case"CLEAR_PROMPT":return{...e,prompt:{...c}};case"SET_PROMPT_ANSWERING":return{...e,prompt:{...e.prompt,answering:t.answering}};case"SET_LAYOUT_MODE":return{...e,layout:{...e.layout,mode:t.mode}};case"SET_MOBILE_ACTIVE_PANE":return{...e,layout:{...e.layout,mobileActivePane:t.pane}};case"SET_SPLIT_RATIO":return{...e,layout:{...e.layout,splitRatio:t.ratio}};case"SET_LEFT_PANE_TAB":return{...e,layout:{...e.layout,leftPaneTab:t.tab}};case"SET_ERROR":return{...e,error:t.error};case"CLEAR_ERROR":return{...e,error:{...u}};case"INCREMENT_RETRY_COUNT":return{...e,error:{...e.error,retryCount:e.error.retryCount+1}};case"SET_MESSAGES":return{...e,messages:t.messages};case"ADD_MESSAGE":return{...e,messages:[...e.messages,t.message]};case"UPDATE_MESSAGE":return{...e,messages:e.messages.map(e=>e.id===t.id?{...e,...t.updates}:e)};case"CLEAR_MESSAGES":return{...e,messages:[]};case"SET_WS_CONNECTED":return{...e,wsConnected:t.connected};case"START_WAITING_FOR_RESPONSE":return{...e,phase:"waiting",terminal:{...e.terminal,isActive:!0,output:"",realtimeSnippet:""},prompt:{...c}};case"RESPONSE_RECEIVED":return{...e,phase:"complete",messages:[...e.messages,t.message],terminal:{...e.terminal,isActive:!1,isThinking:!1}};case"SESSION_ENDED":return{...e,phase:"idle",terminal:{...o},prompt:{...c}};default:return e}}var h=r(2982),f=r(87403),x=r(6162);class g extends l.Component{constructor(e){super(e),this.handleRetry=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary:${this.props.componentName||"unknown"}]`,e,t),this.props.onError?.(e,t)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:a.jsx(y,{componentName:this.props.componentName,error:this.state.error,onRetry:this.handleRetry}):this.props.children}}function y({componentName:e,error:t,onRetry:r}){let s=(0,x.T)("error"),n=(0,x.T)("common");return(0,a.jsxs)("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-red-800 mb-2",children:[a.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:a.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),a.jsx("span",{className:"font-medium",children:e?s("boundary.errorOccurredIn",{componentName:e}):s("boundary.errorOccurred")})]}),t&&a.jsx("p",{className:"text-sm text-red-600 mb-3",children:t.message}),r&&a.jsx("button",{onClick:r,className:"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 transition-colors text-sm",children:n("retry")})]})}let b=["flex-shrink-0","bg-gray-700","transition-colors","duration-150","hover:bg-blue-500","focus:outline-none","focus:ring-2","focus:ring-blue-500","focus:ring-offset-2","focus:ring-offset-gray-900"],v=["w-1","h-full","cursor-col-resize","hover:w-2"],w=["h-1","w-full","cursor-row-resize","hover:h-2"];function j(e,t){return"touches"in e&&e.touches.length>0?t?e.touches[0].clientX:e.touches[0].clientY:"clientX"in e?t?e.clientX:e.clientY:0}let N=(0,l.memo)(function({onResize:e,orientation:t="horizontal",ariaValueNow:r=50,onDoubleClick:s,minRatio:n=.1}){let[i,o]=(0,l.useState)(!1),c=(0,l.useRef)(0),d=(0,l.useRef)(null),u="horizontal"===t,m=(0,l.useCallback)(e=>{e.preventDefault(),o(!0),c.current=j(e,u)},[u]),p=(0,l.useCallback)(e=>{1===e.touches.length&&(o(!0),c.current=j(e,u))},[u]),h=(0,l.useCallback)(t=>{if(!i)return;let r=j(t,u);e(r-c.current),c.current=r},[i,u,e]),f=(0,l.useCallback)(t=>{if(!i||1!==t.touches.length)return;let r=j(t,u);e(r-c.current),c.current=r},[i,u,e]),x=(0,l.useCallback)(()=>{o(!1)},[]),g=(0,l.useCallback)(()=>{s&&s()},[s]),y=(0,l.useCallback)(t=>{let r=0;u?"ArrowRight"===t.key?r=10:"ArrowLeft"===t.key&&(r=-10):"ArrowDown"===t.key?r=10:"ArrowUp"===t.key&&(r=-10),0!==r&&(t.preventDefault(),e(r))},[u,e]);(0,l.useEffect)(()=>(i&&(document.addEventListener("mousemove",h),document.addEventListener("mouseup",x),document.addEventListener("touchmove",f),document.addEventListener("touchend",x),document.body.style.userSelect="none",document.body.style.cursor=u?"col-resize":"row-resize"),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",x),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",x),document.body.style.userSelect="",document.body.style.cursor=""}),[i,h,x,f,u]);let N=(0,l.useMemo)(()=>[...b,...u?v:w,...i?["bg-blue-500","dragging",u?"w-2":"h-2"]:[]].join(" "),[u,i]);return a.jsx("div",{ref:d,role:"separator","aria-orientation":t,"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`Resize panes. Use ${u?"left and right":"up and down"} arrow keys to adjust.`,tabIndex:0,className:N,onMouseDown:m,onTouchStart:p,onKeyDown:y,onDoubleClick:g})}),k={left:"History",right:"Terminal"},C={left:"HistoryPane",right:"TerminalPane"},S=(0,l.memo)(function({pane:e,isActive:t,onClick:r}){return a.jsx("button",{type:"button",role:"tab","aria-selected":t,"aria-controls":`${e}-panel`,onClick:r,className:`flex-1 py-2 px-4 text-sm font-medium transition-colors ${t?"text-blue-400 border-b-2 border-blue-400 bg-gray-900":"text-gray-400 hover:text-gray-300"}`,children:k[e]})}),T=(0,l.memo)(function({leftPane:e,rightPane:t}){let[r,s]=(0,l.useState)("right"),n=(0,l.useCallback)(()=>s("left"),[]),i=(0,l.useCallback)(()=>s("right"),[]);return(0,a.jsxs)("div",{"data-testid":"mobile-layout",className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"flex border-b border-gray-700 bg-gray-800",role:"tablist",children:[a.jsx(S,{pane:"left",isActive:"left"===r,onClick:n}),a.jsx(S,{pane:"right",isActive:"right"===r,onClick:i})]}),a.jsx("div",{id:`${r}-panel`,role:"tabpanel",className:"flex-1 overflow-hidden",children:a.jsx(g,{componentName:C[r],children:"left"===r?e:t})})]})}),E=(0,l.memo)(function({leftPane:e,rightPane:t,leftWidth:r,onResize:s,className:n}){let i=(0,l.useMemo)(()=>({width:`${r}%`}),[r]),o=(0,l.useMemo)(()=>({width:`${100-r}%`}),[r]),c=(0,l.useMemo)(()=>`flex h-full min-h-0 ${n}`.trim(),[n]);return(0,a.jsxs)("div",{"data-testid":"desktop-layout",role:"main",className:c,children:[a.jsx("div",{"data-testid":"left-pane","aria-label":"History pane",style:i,className:"flex-shrink-0 overflow-hidden",children:a.jsx(g,{componentName:C.left,children:e})}),a.jsx(N,{onResize:s,orientation:"horizontal",ariaValueNow:r}),a.jsx("div",{"data-testid":"right-pane","aria-label":"Terminal pane",style:o,className:"flex-grow overflow-hidden",children:a.jsx(g,{componentName:C.right,children:t})})]})}),M=(0,l.memo)(function({leftPane:e,rightPane:t,initialLeftWidth:r=50,minLeftWidth:s=20,maxLeftWidth:n=80,className:i=""}){let o=(0,h.d)(),c=(0,l.useRef)(null),[d,u]=(0,l.useState)(r),m=(0,l.useCallback)(e=>{let t=c.current;if(!t)return;let r=t.offsetWidth;if(0===r)return;let a=e/r*100;u(e=>Math.min(n,Math.max(s,e+a)))},[s,n]);return o?a.jsx(T,{leftPane:e,rightPane:t}):a.jsx("div",{ref:c,className:"h-full",children:a.jsx(E,{leftPane:e,rightPane:t,leftWidth:d,onResize:m,className:i})})});var A=r(24420),R=r.n(A),_=r(43053);let O=new(r.n(_)())({fg:"#d1d5db",bg:"#1f2937",newline:!0,escapeXML:!0});function P(){return(0,a.jsxs)("div",{"data-testid":"thinking-indicator",className:"flex items-center gap-2 py-2 px-1 text-gray-400",children:[(0,a.jsxs)("span",{className:"flex gap-1",children:[a.jsx("span",{className:"animate-pulse delay-0",children:"."}),a.jsx("span",{className:"animate-pulse delay-150",children:"."}),a.jsx("span",{className:"animate-pulse delay-300",children:"."})]}),a.jsx("span",{className:"text-sm",children:"Thinking"})]})}let L=(0,l.memo)(function({output:e,isActive:t,isThinking:r=!1,autoScroll:s=!0,onScrollChange:n,className:i=""}){let{scrollRef:o,autoScroll:c,handleScroll:d,scrollToBottom:u}=function(e={}){let{initialAutoScroll:t=!0,onAutoScrollChange:r}=e,a=(0,l.useRef)(null),[s,n]=(0,l.useState)(t),i=(0,l.useCallback)(e=>{n(e),r?.(e)},[r]),o=(0,l.useCallback)(()=>{let e=a.current;if(!e)return!0;let{scrollTop:t,scrollHeight:r,clientHeight:s}=e;return r-s-t<=50},[]),c=(0,l.useCallback)(()=>{let e=o();e&&!s?i(!0):!e&&s&&i(!1)},[s,o,i]),d=(0,l.useCallback)(()=>{let e=a.current;e&&(e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),s||i(!0))},[s,i]);return{scrollRef:a,autoScroll:s,setAutoScroll:i,scrollToBottom:d,handleScroll:c}}({initialAutoScroll:s,onAutoScrollChange:n}),m=function(e){let t=O.toHtml(e);return R().sanitize(t,{ALLOWED_TAGS:["span","br"],ALLOWED_ATTR:["style"],ALLOW_DATA_ATTR:!1})}(e||"");(0,l.useEffect)(()=>{c&&o.current&&o.current.scrollTo({top:o.current.scrollHeight,behavior:"instant"})},[m,c,o]);let p=(0,l.useMemo)(()=>["terminal","font-mono","text-sm","p-4","rounded-lg","overflow-y-auto","overflow-x-hidden","bg-gray-900","text-gray-300","border","border-gray-700","h-full",t?"active":"",t?"border-blue-500":"",i].filter(Boolean).join(" "),[t,i]);return(0,a.jsxs)("div",{className:"relative h-full flex flex-col",children:[(0,a.jsxs)("div",{ref:o,role:"log","aria-live":"polite","aria-label":"Terminal output",className:p,onScroll:d,children:[a.jsx("div",{className:"whitespace-pre-wrap break-words",dangerouslySetInnerHTML:{__html:m}}),t&&r&&a.jsx(P,{})]}),!c&&a.jsx("button",{onClick:u,className:"absolute bottom-4 right-4 bg-blue-600 hover:bg-blue-700 text-white px-3 py-1 rounded-md text-sm shadow-lg transition-colors","aria-label":"Scroll to bottom",children:"Scroll to bottom"})]})});var I=r(62881);let D=(0,I.Z)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),$=/(\/[^\s\n<>"']+\.[a-zA-Z0-9]+)/g;function F(e){let t=e.split("\n");if(t.length<=5&&e.length<=300)return{text:e,isTruncated:!1};let r=t.slice(0,5).join("\n");return r.length>300&&(r=r.slice(0,300)),{text:r,isTruncated:!0}}let z=(0,l.memo)(function({content:e,onFilePathClick:t}){let r=(0,l.useMemo)(()=>(function(e){let t=e.match($);if(!t||0===t.length)return[{type:"text",content:e}];let r=[],a=0;return t.forEach(t=>{let s=e.indexOf(t,a);s>a&&r.push({type:"text",content:e.slice(a,s)}),r.push({type:"path",content:t}),a=s+t.length}),a<e.length&&r.push({type:"text",content:e.slice(a)}),r})(e),[e]),s=(0,l.useCallback)(e=>()=>t(e),[t]);return a.jsx("span",{children:r.map((e,t)=>"path"===e.type?a.jsx("button",{type:"button",onClick:s(e.content),className:"text-blue-400 hover:text-blue-300 hover:underline cursor-pointer font-mono text-sm","aria-label":`Open file: ${e.content}`,children:e.content},t):a.jsx("span",{children:e.content},t))})});function H(){return(0,a.jsxs)("div",{"data-testid":"pending-indicator",className:"flex items-center gap-2 text-gray-400 py-2",children:[(0,a.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"150ms"}}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",style:{animationDelay:"300ms"}})]}),a.jsx("span",{className:"text-sm",children:"Waiting for response..."})]})}let W=(0,l.memo)(function({message:e,onFilePathClick:t,onCopy:r}){let s=(0,l.useMemo)(()=>e.timestamp.toLocaleTimeString(),[e.timestamp]);return(0,a.jsxs)("div",{className:"relative bg-blue-900/30 border-l-4 border-blue-500 p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-xs font-medium text-blue-400",children:"You"}),a.jsx("span",{className:"text-xs text-gray-500",children:s})]}),a.jsx("div",{className:"text-sm text-gray-200 whitespace-pre-wrap break-words",children:a.jsx(z,{content:e.content,onFilePathClick:t})}),r&&a.jsx("button",{type:"button","data-testid":"copy-user-message",onClick:()=>r(e.content),className:"absolute top-2 right-2 p-1 text-gray-400 hover:text-gray-200 bg-gray-800/80 rounded transition-colors","aria-label":"Copy message",title:"Copy",children:a.jsx(D,{size:14,"aria-hidden":"true"})})]})}),B=(0,l.memo)(function({message:e,index:t,total:r,isExpanded:s,onFilePathClick:n,onCopy:i}){let o=(0,l.useMemo)(()=>e.timestamp.toLocaleTimeString(),[e.timestamp]),{text:c,isTruncated:d}=(0,l.useMemo)(()=>F(e.content),[e.content]),u=s||!d?e.content:c;return(0,a.jsxs)("div",{className:"assistant-message-item relative",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-xs font-medium text-gray-400",children:"Assistant"}),a.jsx("span",{className:"text-xs text-gray-500",children:o}),r>1&&(0,a.jsxs)("span",{className:"text-xs text-gray-500",children:["(",t+1,"/",r,")"]})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-200 whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:[a.jsx(z,{content:u,onFilePathClick:n}),!s&&d&&a.jsx("span",{className:"text-gray-500",children:"..."})]}),i&&a.jsx("button",{type:"button","data-testid":"copy-assistant-message",onClick:()=>i(e.content),className:"absolute top-2 right-2 p-1 text-gray-400 hover:text-gray-200 bg-gray-800/80 rounded transition-colors","aria-label":"Copy message",title:"Copy",children:a.jsx(D,{size:14,"aria-hidden":"true"})})]})}),U=(0,l.memo)(function({messages:e,isExpanded:t,onFilePathClick:r,onCopy:s}){return a.jsx("div",{className:"bg-gray-800/50 border-l-4 border-gray-600 p-3 border-t border-gray-700 space-y-3",children:e.map((n,l)=>(0,a.jsxs)(i().Fragment,{children:[l>0&&a.jsx("div",{"data-testid":"assistant-message-divider",className:"border-t border-dashed border-gray-600"}),a.jsx(B,{message:n,index:l,total:e.length,isExpanded:t,onFilePathClick:r,onCopy:s})]},n.id))})});function G(){return(0,a.jsxs)("div",{"data-testid":"orphan-indicator",className:"bg-yellow-900/20 text-yellow-400 text-xs px-3 py-1 flex items-center gap-2",children:[a.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{children:"System Message"})]})}let V=(0,l.memo)(function({pair:e,onFilePathClick:t,isExpanded:r=!1,onToggleExpand:s,onCopy:n}){let i=(0,l.useMemo)(()=>e.assistantMessages.some(e=>{let{isTruncated:t}=F(e.content);return t}),[e.assistantMessages]),o=(0,l.useCallback)(()=>{s&&s()},[s]),c=(0,l.useMemo)(()=>{let t="pending"===e.status?"pending":"orphan"===e.status?"orphan border-l-4 border-yellow-600":"";return`border border-gray-700 rounded-lg overflow-hidden mb-4 transition-colors ${t}`.trim()},[e.status]),d=(0,l.useMemo)(()=>{if(e.userMessage){let t=e.userMessage.content.substring(0,50);return`Conversation: ${t}${e.userMessage.content.length>50?"...":""}`}return"System message"},[e.userMessage]);return(0,a.jsxs)("div",{"data-testid":"conversation-pair-card",role:"article","aria-label":d,className:c,children:["orphan"===e.status&&a.jsx(G,{}),e.userMessage&&a.jsx(W,{message:e.userMessage,onFilePathClick:t,onCopy:n}),"pending"===e.status?a.jsx("div",{className:"bg-gray-800/30 border-l-4 border-gray-600 p-3 border-t border-gray-700",children:a.jsx(H,{})}):e.assistantMessages.length>0?(0,a.jsxs)("div",{className:"relative",children:[a.jsx(U,{messages:e.assistantMessages,isExpanded:r,onFilePathClick:t,onCopy:n}),i&&a.jsx("div",{className:"absolute top-2 right-2",children:(0,a.jsxs)("button",{type:"button",onClick:o,className:"text-xs text-blue-400 hover:text-blue-300 flex items-center gap-1 transition-colors bg-gray-800/80 px-2 py-1 rounded","aria-expanded":r,"aria-label":r?"Collapse message":"Expand message",children:[a.jsx("svg",{className:`w-3 h-3 transition-transform ${r?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})}),r?"Collapse":"Expand"]})})]}):null]})});var q=r(91515);function Y(){return(0,a.jsxs)("div",{"data-testid":"loading-indicator",className:"flex items-center justify-center py-4",role:"status","aria-label":"Loading messages",children:[(0,a.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse delay-100"}),a.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full animate-pulse delay-200"})]}),a.jsx("span",{className:"ml-2 text-sm text-gray-400",children:"Loading..."})]})}function Z(){return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-gray-500",children:[a.jsx("svg",{className:"w-12 h-12 mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),a.jsx("p",{className:"text-sm",children:"No messages yet"})]})}let K=["h-full","flex","flex-col","overflow-y-auto","overflow-x-hidden","bg-gray-900","rounded-lg","border","border-gray-700"],X=(0,l.memo)(function({messages:e,worktreeId:t,onFilePathClick:r,isLoading:s=!1,className:n="",showToast:i}){let o=(0,l.useRef)(null),c=(0,l.useRef)(0),d=(0,l.useRef)(e.length);(0,l.useLayoutEffect)(()=>{let e=o.current;e&&(c.current=e.scrollTop)}),(0,l.useLayoutEffect)(()=>{let t=o.current,r=d.current;t&&e.length===r&&requestAnimationFrame(()=>{t.scrollTop=c.current}),d.current=e.length},[e.length]);let{pairs:u,isExpanded:m,toggleExpand:p}=function(e){let t=(0,l.useMemo)(()=>(function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>e.timestamp.getTime()-t.timestamp.getTime()),r=[],a=null;for(let e of t)if("user"===e.role)a={id:e.id,userMessage:e,assistantMessages:[],status:"pending"},r.push(a);else if("assistant"===e.role){if(a&&null!==a.userMessage)a.assistantMessages.push(e),a.status="completed";else if(a&&null===a.userMessage)a.assistantMessages.push(e);else{let t={id:`orphan-${e.id}`,userMessage:null,assistantMessages:[e],status:"orphan"};r.push(t),a=t}}return r})(e),[e]),[r,a]=(0,l.useState)(new Set),s=(0,l.useCallback)(e=>{a(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),n=(0,l.useCallback)(e=>r.has(e),[r]),i=(0,l.useCallback)(()=>{a(new Set(t.map(e=>e.id)))},[t]);return{pairs:t,expandedPairs:r,toggleExpand:s,isExpanded:n,expandAll:i,collapseAll:(0,l.useCallback)(()=>{a(new Set)},[])}}(e),h=(0,l.useMemo)(()=>[...K,n].filter(Boolean).join(" "),[n]),f=(0,l.useCallback)(e=>r(e),[r]),x=(0,l.useCallback)(e=>()=>p(e),[p]),g=(0,l.useCallback)(async e=>{try{await (0,q.v)(e),i?.("Copied to clipboard","success")}catch{console.error("[HistoryPane] Failed to copy to clipboard"),i?.("Failed to copy","error")}},[i]);return(0,a.jsxs)("div",{ref:o,role:"region","aria-label":"Message history",className:h,children:[a.jsx("div",{className:"sticky top-0 bg-gray-900 border-b border-gray-700 px-4 py-2 z-10",children:a.jsx("h3",{className:"text-sm font-medium text-gray-300",children:"Message History"})}),a.jsx("div",{className:"flex-1 p-4 min-h-0",children:s?a.jsx(Y,{}):0===e.length?a.jsx(Z,{}):u.map(e=>a.jsx(V,{pair:e,onFilePathClick:f,isExpanded:m(e.id),onToggleExpand:x(e.id),onCopy:g},e.id))})]})}),J={fadeIn:"animate-fade-in",fadeOut:"animate-fade-out",none:""};function Q({visible:e,duration:t=200}){let[r,a]=(0,l.useState)(e?"visible":"hidden");(0,l.useRef)(null),(0,l.useRef)(e);let s="hidden"!==r,n="fade-in"===r||"fade-out"===r;return{shouldRender:s,animationClass:(0,l.useMemo)(()=>{switch(r){case"fade-in":return J.fadeIn;case"fade-out":return J.fadeOut;default:return J.none}},[r]),isAnimating:n}}let ee=`
|
|
2
2
|
px-6 py-2 rounded-lg font-medium transition-all
|
|
3
3
|
disabled:opacity-50 disabled:cursor-not-allowed
|
|
4
4
|
focus:outline-none focus:ring-2 focus:ring-offset-2
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
flex items-center gap-2 px-4 py-2 rounded-lg border-2 border-dashed
|
|
7
7
|
transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500
|
|
8
8
|
${l?"border-gray-200 text-gray-400 cursor-not-allowed opacity-50":"border-gray-300 text-gray-600 hover:border-blue-400 hover:text-blue-600 hover:bg-blue-50"}
|
|
9
|
-
`,children:[s?a.jsx("span",{"data-testid":"loading-indicator",className:"w-5 h-5 border-2 border-gray-300 border-t-blue-500 rounded-full animate-spin"}):a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),a.jsx("span",{className:"text-sm font-medium",children:"Add Memo"})]}),(0,a.jsxs)("span",{className:"text-xs text-gray-500",children:[Math.max(0,t-e)," remaining"]})]})}),tD=(0,l.memo)(function({worktreeId:e,className:t=""}){let[r,s]=(0,l.useState)([]),[n,i]=(0,l.useState)(!0),[o,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(null),h=(0,l.useCallback)(async()=>{i(!0),u(null);try{let t=await tO.nE.getAll(e);s(t.sort((e,t)=>e.position-t.position))}catch(e){u((0,tO.zG)(e))}finally{i(!1)}},[e]);(0,l.useEffect)(()=>{h()},[h]);let f=(0,l.useCallback)(async()=>{c(!0),p(null);try{let t=await tO.nE.create(e,{title:"Memo",content:""});s(e=>[...e,t])}catch(e){p((0,tO.zG)(e))}finally{c(!1)}},[e]),x=(0,l.useCallback)(async(t,r)=>{await tO.nE.update(e,t,r),s(e=>e.map(e=>e.id===t?{...e,...r}:e))},[e]),g=(0,l.useCallback)(async t=>{try{await tO.nE.delete(e,t),s(e=>e.filter(e=>e.id!==t))}catch(e){console.error("Failed to delete memo:",e)}},[e]),y=(0,l.useCallback)(()=>{h()},[h]);return n?a.jsx("div",{"data-testid":"memo-pane",className:`flex flex-col items-center justify-center h-full p-4 ${t}`,children:(0,a.jsxs)("div",{"data-testid":"memo-loading",className:"flex flex-col items-center gap-3",children:[a.jsx("div",{className:"w-8 h-8 border-4 border-gray-200 border-t-blue-500 rounded-full animate-spin"}),a.jsx("span",{className:"text-sm text-gray-500",children:"Loading memos..."})]})}):d?a.jsx("div",{"data-testid":"memo-pane",className:`flex flex-col items-center justify-center h-full p-4 ${t}`,children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[a.jsx("svg",{className:"w-12 h-12 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{className:"text-sm text-red-600",children:d}),a.jsx("button",{type:"button",onClick:y,"aria-label":"Retry",className:"px-4 py-2 text-sm font-medium text-white bg-blue-500 rounded-lg hover:bg-blue-600 transition-colors",children:"Retry"})]})}):(0,a.jsxs)("div",{"data-testid":"memo-pane",className:`flex flex-col gap-4 p-4 overflow-y-auto ${t}`,children:[0===r.length&&!m&&(0,a.jsxs)("div",{className:"text-center py-8 text-gray-500",children:[a.jsx("p",{children:"No memos yet."}),a.jsx("p",{className:"text-sm",children:"Click the button below to add one."})]}),r.map(e=>a.jsx(tL,{memo:e,onUpdate:x,onDelete:g},e.id)),m&&a.jsx("div",{className:"text-center py-2 text-sm text-red-500",children:m}),a.jsx(tI,{currentCount:r.length,maxCount:5,onAdd:f,isLoading:o,className:"mt-2"})]})});var t$=r(11867);function tF(){let[e,t]=(0,l.useState)(null),[r,a]=(0,l.useState)(!0),[s,n]=(0,l.useState)(null);return{data:e,loading:r,error:s}}function tz({hasUpdate:e,latestVersion:t,releaseUrl:r,updateCommand:s,installType:n}){let l=(0,x.T)("worktree");return e?(0,a.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-3 mt-2",role:"status","aria-label":l("update.available"),"data-testid":"update-notification-banner",children:[a.jsx("p",{className:"text-sm font-medium text-blue-800 mb-1",children:l("update.available")}),t&&a.jsx("p",{className:"text-sm text-blue-700 mb-2",children:l("update.latestVersion",{version:t})}),s&&"global"===n&&(0,a.jsxs)("div",{className:"mb-2",children:[a.jsx("p",{className:"text-xs text-blue-600 mb-1",children:l("update.updateCommand")}),a.jsx("code",{className:"block bg-blue-100 rounded px-2 py-1 text-xs text-blue-900 font-mono",children:s})]}),r&&(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-blue-600 hover:text-blue-800 underline",children:[l("update.viewRelease"),a.jsx("span",{className:"ml-1","aria-hidden":"true",children:"→"})]}),a.jsx("p",{className:"text-xs text-blue-500 mt-2",children:l("update.dataPreserved")})]}):null}function tH({version:e,className:t}){let r=(0,x.T)("worktree"),{data:s,loading:n}=tF(),i=(0,l.useMemo)(()=>s&&s.hasUpdate?{hasUpdate:s.hasUpdate,latestVersion:s.latestVersion,releaseUrl:s.releaseUrl,updateCommand:s.updateCommand,installType:s.installType}:null,[s]);return(0,a.jsxs)("div",{className:t,"data-testid":"version-section",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:r("update.version")}),a.jsx("p",{className:"text-sm text-gray-700",children:e}),n&&a.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"version-loading",children:"..."}),i&&a.jsx(tz,{...i})]})}let tW="https://github.com/Kewton/CommandMate",tB=`${tW}/issues`,tU=`${tW}/issues/new`,tG=`${tU}?template=bug_report.md`,tV=`${tU}?template=feature_request.md`,tq=`${tU}?template=question.md`;function tY({className:e}){let t=(0,x.T)("worktree"),r=[{href:tG,label:t("feedback.bugReport")},{href:tV,label:t("feedback.featureRequest")},{href:tq,label:t("feedback.question")},{href:tB,label:t("feedback.viewIssues")}];return(0,a.jsxs)("div",{className:e,"data-testid":"feedback-section",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-2",children:t("feedback.title")}),a.jsx("div",{className:"flex flex-col gap-1",children:r.map(({href:e,label:t})=>(0,a.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-blue-600 hover:text-blue-800 underline",children:[t,a.jsx("span",{className:"ml-1","aria-hidden":"true",children:"→"})]},e))})]})}var tZ=r(28676);r(63817);let tK=[36e5,108e5,288e5],tX={36e5:"autoYes.durations.1h",108e5:"autoYes.durations.3h",288e5:"autoYes.durations.8h"};function tJ({isOpen:e,onConfirm:t,onCancel:r,cliToolName:s}){let n=(0,x.T)("autoYes"),i=(0,x.T)("common"),[o,c]=(0,l.useState)(36e5),[d,u]=(0,l.useState)(""),[m,p]=(0,l.useState)(null),[h,f]=(0,l.useState)(!1),g=(0,l.useRef)(null),y=e=>n(tX[e].replace("autoYes.",""));return a.jsx(tZ.u,{isOpen:e,onClose:r,title:s?n("enableTitleWithTool",{toolName:s}):n("enableTitle"),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("featureDescription")}),(0,a.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[a.jsx("li",{children:n("yesNoAutoResponse")}),a.jsx("li",{children:n("multipleChoiceAutoSelect")})]}),a.jsx("p",{className:"mt-1",children:n("autoDisableAfter",{duration:y(o)})}),s&&a.jsx("p",{className:"mt-2 text-gray-500",children:n("appliesOnlyToCurrent",{toolName:s})})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("duration")}),a.jsx("div",{className:"flex gap-2",children:tK.map(e=>a.jsx("button",{type:"button",onClick:()=>c(e),className:`flex-1 py-2 px-3 text-sm font-medium rounded-md border-2 transition-colors ${o===e?"border-blue-600 bg-blue-50 text-blue-700":"border-gray-300 bg-white text-gray-700 hover:border-gray-400"}`,style:{minHeight:"44px"},children:y(e)},e))})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[a.jsx("label",{htmlFor:"stop-pattern-input",className:"font-medium",children:n("stopPatternLabel")}),(0,a.jsxs)("div",{className:"relative",ref:g,children:[a.jsx("button",{type:"button",onClick:()=>f(!h),className:"inline-flex items-center justify-center w-4 h-4 rounded-full bg-gray-300 text-gray-600 text-[10px] font-bold hover:bg-gray-400 focus:outline-none","aria-label":n("regexTipsLabel"),"data-testid":"regex-tips-button",children:"?"}),h&&(0,a.jsxs)("div",{className:"absolute left-0 top-6 z-50 w-72 rounded-md border border-gray-200 bg-white p-3 shadow-lg text-xs text-gray-700","data-testid":"regex-tips-tooltip",children:[a.jsx("p",{className:"font-medium mb-1.5",children:n("regexTipsTitle")}),(0,a.jsxs)("ul",{className:"space-y-1",children:[(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"\\bcat\\b"})," ",n("regexTipWordBoundary")]}),(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"error|fatal"})," ",n("regexTipOr")]}),(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"(?i)error"})," ",n("regexTipCaseNote")]})]})]})]})]}),a.jsx("p",{className:"text-xs text-gray-500 mb-2",children:n("stopPatternDescription")}),a.jsx("input",{id:"stop-pattern-input",type:"text",value:d,onChange:e=>u(e.target.value),placeholder:n("stopPatternPlaceholder"),className:`w-full px-3 py-2 border rounded-md text-sm font-mono ${m?"border-red-500 focus:ring-red-500 focus:border-red-500":"border-gray-300 focus:ring-blue-500 focus:border-blue-500"} focus:outline-none focus:ring-1`,"data-testid":"stop-pattern-input"}),m&&a.jsx("p",{className:"mt-1 text-xs text-red-600","data-testid":"stop-pattern-error",children:m})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("aboutRisks")}),a.jsx("p",{children:n("riskWarning")})]}),a.jsx("div",{className:"bg-yellow-50 border-l-4 border-yellow-400 p-3",children:(0,a.jsxs)("p",{className:"text-sm text-yellow-800",children:[a.jsx("span",{className:"font-medium",children:n("disclaimer")}),n("disclaimerText")]})}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:r,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:i("cancel")}),a.jsx("button",{type:"button",onClick:()=>{t(o,d.trim()||void 0)},disabled:!!m,className:`px-4 py-2 text-sm font-medium rounded-md text-white ${m?"bg-gray-400 cursor-not-allowed":"bg-yellow-600 hover:bg-yellow-700"}`,"data-testid":"confirm-button",children:n("agreeAndEnable")})]})]})})}function tQ(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}let t0=(0,l.memo)(function({enabled:e,expiresAt:t,onToggle:r,lastAutoResponse:s,cliToolName:n,inline:i=!1}){let[o,c]=(0,l.useState)(""),[d,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(!1),[h,f]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(!e||!t){c("");return}let r=()=>{c(function(e){let t=Math.max(0,e-Date.now()),r=Math.floor(t/36e5),a=Math.floor(t%36e5/6e4),s=Math.floor(t%6e4/1e3);return r>0?`${r}:${a.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`:`${a.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}(t))};r();let a=setInterval(r,1e3);return()=>clearInterval(a)},[e,t]),(0,l.useEffect)(()=>{if(!s)return;u(`Auto responded: "${s}"`);let e=setTimeout(()=>u(null),2e3);return()=>clearTimeout(e)},[s]);let x=(0,l.useCallback)(()=>{e?(p(!0),r({enabled:!1}).finally(()=>p(!1))):f(!0)},[e,r]),g=(0,l.useCallback)((e,t)=>{f(!1),p(!0),r({enabled:!0,duration:e,stopPattern:t}).finally(()=>p(!1))},[r]),y=(0,l.useCallback)(()=>{f(!1)},[]);return(0,a.jsxs)("div",{className:i?"flex items-center gap-2":"flex items-center gap-3 px-4 py-2 bg-gray-50 border-b border-gray-200",children:[a.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":"Auto Yes mode",disabled:m,onClick:x,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 ${e?"bg-blue-600":"bg-gray-300"} ${m?"opacity-50":""}`,children:a.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${e?"translate-x-6":"translate-x-1"}`})}),a.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Auto Yes"}),e&&n&&(0,a.jsxs)("span",{className:"text-xs text-blue-600 font-medium","aria-label":"Auto Yes target",children:["(",tQ(n),")"]}),e&&o&&a.jsx("span",{className:"text-sm text-gray-500","aria-label":"Time remaining",children:o}),d&&a.jsx("span",{className:"text-sm text-green-600 animate-pulse",children:d}),a.jsx(tJ,{isOpen:h,onConfirm:g,onCancel:y,cliToolName:tQ(n)})]})}),t1=(0,l.memo)(function({isBranchMismatch:e,currentBranch:t,initialBranch:r}){let[s,n]=(0,l.useState)(!1);return((0,l.useEffect)(()=>{n(!1)},[t]),!e||s||null===r)?null:(0,a.jsxs)("div",{"data-testid":"branch-mismatch-alert",role:"alert",className:"flex items-center gap-3 px-4 py-2 bg-amber-50 border border-amber-200 text-amber-800 rounded-lg",children:[a.jsx(tl,{className:"w-5 h-5 text-amber-500 flex-shrink-0"}),a.jsx("div",{className:"flex-1 min-w-0",children:(0,a.jsxs)("span",{className:"text-sm",children:["Branch changed from"," ",a.jsx("span",{className:"font-medium",children:r})," ","to"," ",a.jsx("span",{className:"font-medium",children:t})]})}),a.jsx("button",{type:"button",onClick:()=>n(!0),className:"p-1 rounded hover:bg-amber-100 transition-colors","aria-label":"Dismiss alert",children:a.jsx(tp.Z,{className:"w-4 h-4"})})]})});var t2=r(18421);let t4=(0,I.Z)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),t5=(0,I.Z)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),t3=(0,I.Z)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),t6=(0,l.memo)(function({isOpen:e,onClose:t,onConfirm:r,worktreeId:s,sourcePath:n,sourceType:i}){let o=(0,x.T)("worktree"),c=(0,x.T)("common"),[d,u]=(0,l.useState)(""),[m,p]=(0,l.useState)(new Set([""])),[h,f]=(0,l.useState)([]),[g,y]=(0,l.useState)(!1),[b,v]=(0,l.useState)(new Set),w=n.includes("/")?n.substring(0,n.lastIndexOf("/")):"";(0,l.useEffect)(()=>{e&&(u(w),p(new Set([""])),f([]),j())},[e,s]);let j=(0,l.useCallback)(async()=>{y(!0);try{let e=await fetch(`/api/worktrees/${s}/tree`);if(!e.ok)return;let t=(await e.json()).items.filter(e=>"directory"===e.type).map(e=>({name:e.name,path:e.name,loaded:!1}));f(t)}catch{}finally{y(!1)}},[s]),N=(0,l.useCallback)(async e=>{v(t=>new Set(t).add(e));try{let t=await fetch(`/api/worktrees/${s}/tree/${e}`);if(!t.ok)return;let r=(await t.json()).items.filter(e=>"directory"===e.type).map(t=>({name:t.name,path:`${e}/${t.name}`,loaded:!1}));f(t=>(function e(t,r,a){return t.map(t=>t.path===r?{...t,children:a,loaded:!0}:t.children?{...t,children:e(t.children,r,a)}:t)})(t,e,r))}catch{}finally{v(t=>{let r=new Set(t);return r.delete(e),r})}},[s]),k=(0,l.useCallback)(async e=>{p(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r});let t=function e(t,r){for(let a of t){if(a.path===r)return a;if(a.children){let t=e(a.children,r);if(t)return t}}return null}(h,e);t&&!t.loaded&&await N(e)},[h,N]),C=(0,l.useCallback)(e=>!(e===w||"directory"===i&&(e===n||e.startsWith(n+"/"))),[w,n,i]),S=(e,t=0)=>{let r=m.has(e.path),s=d===e.path,n=b.has(e.path),l=C(e.path);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:`flex items-center gap-1 py-1.5 px-2 cursor-pointer rounded text-sm transition-colors ${s?"bg-blue-100 text-blue-800":"hover:bg-gray-100 text-gray-700"} ${l?"":"opacity-40 cursor-not-allowed"}`,style:{paddingLeft:`${.5+1.25*t}rem`},onClick:()=>{l&&u(e.path)},children:[a.jsx("button",{className:"w-4 h-4 flex items-center justify-center flex-shrink-0",onClick:t=>{t.stopPropagation(),k(e.path)},children:n?a.jsx(tg,{className:"w-3 h-3 animate-spin text-gray-400"}):a.jsx(t4,{className:`w-3 h-3 text-gray-400 transition-transform ${r?"rotate-90":""}`})}),r?a.jsx(t5,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}):a.jsx(t3,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),a.jsx("span",{className:"truncate",children:e.name})]}),r&&e.children&&a.jsx("div",{children:e.children.map(e=>S(e,t+1))})]},e.path)},T=C(d);return a.jsx(tZ.u,{isOpen:e,onClose:t,title:o("fileTree.moveDialogTitle"),size:"md",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"text-sm text-gray-600",children:[o("fileTree.moveTo"),": ",a.jsx("span",{className:"font-mono text-gray-800",children:n})]}),(0,a.jsxs)("div",{className:"border border-gray-200 rounded-lg max-h-64 overflow-y-auto p-2",children:[(0,a.jsxs)("div",{className:`flex items-center gap-1 py-1.5 px-2 cursor-pointer rounded text-sm transition-colors ${""===d?"bg-blue-100 text-blue-800":"hover:bg-gray-100 text-gray-700"} ${C("")?"":"opacity-40 cursor-not-allowed"}`,onClick:()=>{C("")&&u("")},children:[a.jsx("span",{className:"w-4 h-4"}),a.jsx(t3,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),a.jsx("span",{children:o("fileTree.rootDirectory")})]}),g?a.jsx("div",{className:"flex items-center justify-center py-4",children:a.jsx(tg,{className:"w-5 h-5 animate-spin text-gray-400"})}):h.map(e=>S(e,1))]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[a.jsx("button",{onClick:t,className:"px-4 py-2 text-sm text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 transition-colors",children:c("cancel")}),a.jsx("button",{onClick:()=>r(d),disabled:!T,className:"px-4 py-2 text-sm text-white bg-blue-600 rounded-md hover:bg-blue-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:o("fileTree.moveConfirm")})]})]})})});function t8(e){return e?e.split("/").map(encodeURIComponent).join("/"):""}function t7(e){return e.charAt(0).toUpperCase()+e.slice(1)}function t9(e,t,r,a){let[s,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(!1),u=(0,l.useCallback)(async()=>{if(e){d(!0);try{let r=await tO.Iv.updateDescription(e.id,i);t(r),n(!1)}catch(e){console.error("Failed to save description:",e)}finally{d(!1)}}},[e,i,t]),m=(0,l.useCallback)(()=>{o(e?.description||""),n(!1)},[e]);return{isEditing:s,text:i,setText:o,isSaving:c,handleSave:u,handleCancel:m,startEditing:(0,l.useCallback)(()=>{n(!0)},[])}}let re=(0,l.memo)(function({worktreeId:e,worktree:t,cardClassName:r,descriptionEditor:s,showLogs:n,onToggleLogs:l}){let{isEditing:i,text:o,setText:c,isSaving:d,handleSave:u,handleCancel:m,startEditing:p}=s;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Worktree"}),a.jsx("p",{className:"text-lg font-semibold text-gray-900",children:t.name})]}),(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Repository"}),a.jsx("p",{className:"text-base text-gray-900",children:t.repositoryName}),a.jsx("p",{className:"text-xs text-gray-500 mt-1 break-all",children:t.repositoryPath})]}),(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Path"}),a.jsx("p",{className:"text-sm text-gray-700 break-all font-mono",children:t.path})]}),t.status&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Status"}),a.jsx("span",{className:`inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${"done"===t.status?"bg-green-100 text-green-800":"doing"===t.status?"bg-blue-100 text-blue-800":"bg-gray-100 text-gray-800"}`,children:t.status.toUpperCase()})]}),(0,a.jsxs)("div",{className:r,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500",children:"Description"}),!i&&a.jsx("button",{type:"button",onClick:p,className:"text-sm text-blue-600 hover:text-blue-800",children:"Edit"})]}),i?(0,a.jsxs)("div",{className:"space-y-3",children:[a.jsx("textarea",{value:o,onChange:e=>c(e.target.value),placeholder:"Add notes about this branch...",className:"w-full min-h-[150px] p-3 border border-gray-300 rounded-lg resize-y focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",autoFocus:!0}),(0,a.jsxs)("div",{className:"flex gap-2",children:[a.jsx("button",{type:"button",onClick:u,disabled:d,className:"px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 text-sm font-medium",children:d?"Saving...":"Save"}),a.jsx("button",{type:"button",onClick:m,disabled:d,className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 disabled:opacity-50 text-sm font-medium",children:"Cancel"})]})]}):a.jsx("div",{className:"min-h-[50px]",children:t.description?a.jsx("p",{className:"text-sm text-gray-700 whitespace-pre-wrap",children:t.description}):a.jsx("p",{className:"text-sm text-gray-400 italic",children:"No description added yet"})})]}),t.link&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Link"}),a.jsx("a",{href:t.link,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline break-all",children:t.link})]}),t.updatedAt&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Last Updated"}),a.jsx("p",{className:"text-sm text-gray-700",children:new Date(t.updatedAt).toLocaleString()})]}),a.jsx(tH,{version:"v0.2.13",className:r}),a.jsx(tY,{className:r}),(0,a.jsxs)("div",{className:r,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500",children:"Logs"}),a.jsx("button",{type:"button",onClick:l,className:"text-sm text-blue-600 hover:text-blue-800",children:n?"Hide":"Show"})]}),n&&a.jsx(t$.n,{worktreeId:e})]})]})}),rt=(0,l.memo)(function({worktreeName:e,repositoryName:t,description:r,status:s,gitStatus:n,onBackClick:l,onInfoClick:i,onMenuClick:o,hasUpdate:c}){let d=el.Ie[s],u=r?(0,ei.aS)(r,50):null;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 bg-white border-b border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[a.jsx("button",{type:"button",onClick:o,className:"p-2 -ml-2 rounded-lg text-gray-600 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Toggle sidebar",children:a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),a.jsx("div",{className:"w-px h-6 bg-gray-300","aria-hidden":"true"}),(0,a.jsxs)("button",{type:"button",onClick:l,className:"flex items-center gap-1 text-gray-600 hover:text-gray-900 transition-colors","aria-label":"Go back to worktree list",children:[a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),a.jsx("span",{className:"text-sm font-medium",children:"Back"})]}),a.jsx("div",{className:"w-px h-6 bg-gray-300","aria-hidden":"true"}),"spinner"===d.type?a.jsx("span",{"data-testid":"desktop-status-indicator",title:d.label,"aria-label":d.label,className:`w-3 h-3 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${d.className}`}):a.jsx("span",{"data-testid":"desktop-status-indicator",title:d.label,"aria-label":d.label,className:`w-3 h-3 rounded-full flex-shrink-0 ${d.className}`}),(0,a.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("h1",{className:"text-lg font-semibold text-gray-900 truncate max-w-[200px] leading-tight",children:e}),u&&a.jsx("span",{className:"text-sm text-gray-500 truncate max-w-md",title:r,children:u})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[a.jsx("span",{className:"truncate max-w-[200px]",children:t}),n&&"(unknown)"!==n.currentBranch&&(0,a.jsxs)(a.Fragment,{children:[a.jsx("span",{className:"text-gray-300",children:"/"}),a.jsx("span",{className:"truncate max-w-[150px] font-mono",title:n.currentBranch,"data-testid":"desktop-branch-name",children:(0,ei.aS)(n.currentBranch,30)}),n.isDirty&&a.jsx("span",{className:"text-amber-500",title:"Uncommitted changes",children:"*"})]})]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:i,className:"relative flex items-center gap-1.5 px-3 py-1.5 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"View worktree information",children:[a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{className:"text-sm font-medium",children:"Info"}),c&&a.jsx(eu,{"data-testid":"info-update-indicator",className:"absolute top-0 right-0","aria-label":"Update available"})]})]})}),rr=(0,l.memo)(function({worktreeId:e,worktree:t,isOpen:r,onClose:s,onWorktreeUpdate:n}){let[i,o]=(0,l.useState)(!1),c=(0,l.useRef)(r),d=t9(t,n,r,()=>{let e=r&&!c.current;return c.current=r,e});return t?a.jsx(tZ.u,{isOpen:r,onClose:s,title:"Worktree Information",size:"md",children:a.jsx("div",{className:"space-y-4 max-h-[70vh] overflow-y-auto",children:a.jsx(re,{worktreeId:e,worktree:t,cardClassName:"bg-gray-50 rounded-lg p-4",descriptionEditor:d,showLogs:i,onToggleLogs:()=>o(!i)})})}):null}),ra=(0,l.memo)(function(){return a.jsx("div",{className:"flex items-center justify-center h-full min-h-[200px]",role:"status","aria-live":"polite",children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-blue-600","aria-hidden":"true"}),a.jsx("p",{className:"text-gray-600",children:"Loading worktree..."})]})})}),rs=(0,l.memo)(function({message:e,onRetry:t}){return a.jsx("div",{className:"flex items-center justify-center h-full min-h-[200px]",role:"alert","aria-live":"assertive",children:(0,a.jsxs)("div",{className:"text-center p-6 bg-red-50 rounded-lg border border-red-200 max-w-md",children:[a.jsx("svg",{className:"mx-auto h-12 w-12 text-red-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("p",{className:"text-red-600 font-medium",children:"Error loading worktree"}),a.jsx("p",{className:"text-red-500 text-sm mt-2",children:e}),t&&a.jsx("button",{type:"button",onClick:t,className:"mt-4 px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2",children:"Retry"})]})})}),rn=(0,l.memo)(function({worktreeId:e,worktree:t,onWorktreeUpdate:r}){let[s,n]=(0,l.useState)(!1),i=(0,l.useRef)(t?.id),o=(0,l.useRef)(!1),c=t9(t,r,t?.id,()=>{let e=t?.id!==i.current;return i.current=t?.id,e&&!o.current});return(o.current=c.isEditing,t)?a.jsx("div",{className:"p-4 space-y-4 overflow-y-auto h-full",children:a.jsx(re,{worktreeId:e,worktree:t,cardClassName:"bg-white rounded-lg border border-gray-200 p-4",descriptionEditor:c,showLogs:s,onToggleLogs:()=>n(!s)})}):a.jsx("div",{className:"text-gray-500 text-center py-8",children:"Loading worktree info..."})}),rl=(0,l.memo)(function({activeTab:e,worktreeId:t,worktree:r,messages:s,terminalOutput:n,isTerminalActive:l,isThinking:i,onFilePathClick:o,onFileSelect:c,onWorktreeUpdate:d,onNewFile:u,onNewDirectory:m,onRename:p,onDelete:h,onUpload:f,onMove:x,refreshTrigger:y,fileSearch:b,showToast:v}){switch(e){case"terminal":return a.jsx(g,{componentName:"TerminalDisplay",children:a.jsx(L,{output:n,isActive:l,isThinking:i,className:"h-full"})});case"history":return a.jsx(g,{componentName:"HistoryPane",children:a.jsx(X,{messages:s,worktreeId:t,onFilePathClick:o,className:"h-full",showToast:v})});case"files":return a.jsx(g,{componentName:"FileTreeView",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eB,{query:b.query,mode:b.mode,isSearching:b.isSearching,error:b.error,onQueryChange:b.setQuery,onModeChange:b.setMode,onClear:b.clearSearch}),a.jsx(eF,{worktreeId:t,onFileSelect:c,onNewFile:u,onNewDirectory:m,onRename:p,onDelete:h,onUpload:f,onMove:x,refreshTrigger:y,searchQuery:b.query,searchMode:b.mode,searchResults:b.results?.results,className:"flex-1 min-h-0"})]})});case"memo":return a.jsx(g,{componentName:"MemoPane",children:a.jsx(tD,{worktreeId:t,className:"h-full"})});case"info":return a.jsx(rn,{worktreeId:t,worktree:r,onWorktreeUpdate:d});default:return null}}),ri=(0,l.memo)(function({worktreeId:e}){let t=(0,s.useRouter)(),r=(0,h.d)(),{toggle:n,openMobileDrawer:i}=(0,f.Sz)(),{state:o,actions:c}=function(){let[e,t]=(0,l.useReducer)(p,void 0,m),r=(0,l.useMemo)(()=>({setPhase:e=>t({type:"SET_PHASE",phase:e}),setTerminalOutput:(e,r)=>t({type:"SET_TERMINAL_OUTPUT",output:e,realtimeSnippet:r}),setTerminalActive:e=>t({type:"SET_TERMINAL_ACTIVE",isActive:e}),setTerminalThinking:e=>t({type:"SET_TERMINAL_THINKING",isThinking:e}),showPrompt:(e,r)=>t({type:"SHOW_PROMPT",data:e,messageId:r}),clearPrompt:()=>t({type:"CLEAR_PROMPT"}),setPromptAnswering:e=>t({type:"SET_PROMPT_ANSWERING",answering:e}),setError:e=>t({type:"SET_ERROR",error:e}),clearError:()=>t({type:"CLEAR_ERROR"}),setMessages:e=>t({type:"SET_MESSAGES",messages:e}),addMessage:e=>t({type:"ADD_MESSAGE",message:e}),updateMessage:(e,r)=>t({type:"UPDATE_MESSAGE",id:e,updates:r}),clearMessages:()=>t({type:"CLEAR_MESSAGES"}),startWaitingForResponse:e=>t({type:"START_WAITING_FOR_RESPONSE",cliToolId:e}),responseReceived:e=>t({type:"RESPONSE_RECEIVED",message:e}),sessionEnded:()=>t({type:"SESSION_ENDED"}),setAutoScroll:e=>t({type:"SET_AUTO_SCROLL",enabled:e}),setMobileActivePane:e=>t({type:"SET_MOBILE_ACTIVE_PANE",pane:e}),setLeftPaneTab:e=>t({type:"SET_LEFT_PANE_TAB",tab:e}),setLayoutMode:e=>t({type:"SET_LAYOUT_MODE",mode:e}),setSplitRatio:e=>t({type:"SET_SPLIT_RATIO",ratio:e}),setWsConnected:e=>t({type:"SET_WS_CONNECTED",connected:e})}),[]);return{state:e,dispatch:t,actions:r}}(),d=(0,x.T)("worktree"),u=(0,x.T)("error"),y=(0,x.T)("common"),b=(0,x.T)("autoYes"),[v,w]=(0,l.useState)(null),[j,N]=(0,l.useState)(!0),[k,C]=(0,l.useState)(null),[S,T]=(0,l.useState)(!1),[E,A]=(0,l.useState)(null),[R,_]=(0,l.useState)(null),[O,P]=(0,l.useState)(!1),[I,D]=(0,l.useState)(!1),[$,F]=(0,l.useState)(null),z=(0,l.useRef)(!1),[H,W]=(0,l.useState)(!1),[B,U]=(0,l.useState)("claude"),G=(0,l.useRef)(B);G.current=B;let[V,q]=(0,l.useState)(0),Y=function(e){let{worktreeId:t,initialMode:r="name",debounceMs:a=300}=e,[s,n]=(0,l.useState)(""),[i,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(r),[u,m]=(0,l.useState)(!1),[p,h]=(0,l.useState)(null),[f,x]=(0,l.useState)(null),g=(0,l.useRef)(null),y=(0,l.useMemo)(()=>(0,ei.Ds)(e=>{o(e)},a),[a]),b=(0,l.useCallback)(e=>{n(e),y(e),x(null)},[y]),v=(0,l.useCallback)(()=>{n(""),o(""),h(null),x(null),m(!1),g.current&&(g.current.abort(),g.current=null)},[]),w=(0,l.useCallback)(e=>{if(!i.trim())return e;let t=i.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(t))},[i]),j=(0,l.useCallback)(()=>p&&0!==p.results.length?(0,ei.Ps)(p.results.map(e=>e.filePath)):new Set,[p]);return{query:s,mode:c,isSearching:u,results:p,error:f,setQuery:b,setMode:d,clearSearch:v,filterByName:w,getMatchedPaths:j}}({worktreeId:e}),Z=(0,l.useRef)(!1),K=(0,l.useRef)(e);(0,l.useEffect)(()=>{K.current!==e&&(c.clearMessages(),Z.current=!1,c.setTerminalOutput("",""),K.current=e)},[e,c]);let J=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}`);if(!t.ok)throw Error(`Failed to fetch worktree: ${t.status}`);let r=await t.json();return w(r),r}catch(e){return C(e instanceof Error?e.message:"Unknown error"),null}},[e]),Q=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}/messages?cliTool=${G.current}`);if(!t.ok)throw Error(`Failed to fetch messages: ${t.status}`);let r=await t.json();c.setMessages(r.map(e=>({...e,timestamp:new Date(e.timestamp)})))}catch(e){console.error("[WorktreeDetailRefactored] Error fetching messages:",e)}},[e,c]),ee=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}/current-output?cliTool=${G.current}`);if(!t.ok)return;let r=await t.json(),a=r.fullOutput??r.realtimeSnippet??"";if((a||r.isRunning)&&c.setTerminalOutput(a,r.realtimeSnippet??""),c.setTerminalActive(r.isRunning??!1),c.setTerminalThinking(r.thinking??!1),r.isPromptWaiting&&r.promptData?c.showPrompt(r.promptData,`prompt-${Date.now()}`):!r.isPromptWaiting&&o.prompt.visible&&c.clearPrompt(),r.autoYes){let e=z.current;D(r.autoYes.enabled),F(r.autoYes.expiresAt),z.current=r.autoYes.enabled,e&&!r.autoYes.enabled&&"stop_pattern_matched"===r.autoYes.stopReason&&W(!0)}}catch(e){console.error("[WorktreeDetailRefactored] Error fetching current output:",e)}},[e,c,o.prompt.visible]),et=(0,l.useRef)(B);(0,l.useEffect)(()=>{et.current!==B&&(et.current=B,c.clearMessages(),c.setTerminalOutput("",""),Q(),ee())},[B,c,Q,ee]);let er=(0,l.useCallback)(e=>{A(e)},[]),ea=(0,l.useCallback)(e=>{let t=e.split(".").pop()?.toLowerCase(),r=t?`.${t}`:"";tA.includes(r)?_(e):A(e)},[]),es=(0,l.useCallback)(()=>{A(null)},[]),eo=(0,l.useCallback)(()=>{_(null)},[]),ec=(0,l.useCallback)(e=>{q(e=>e+1)},[]),eu=(0,l.useCallback)(e=>{c.setLeftPaneTab(e)},[c]),em=(0,l.useCallback)(()=>{t.push("/")},[t]),ep=(0,l.useCallback)(()=>{T(!0)},[]),eh=(0,l.useCallback)(()=>{T(!1)},[]),ex=(0,l.useCallback)(async t=>{c.setPromptAnswering(!0);try{let r=function(e,t,r){let a={answer:e,cliTool:t};if(r&&(a.promptType=r.type,"multiple_choice"===r.type)){let e=r.options.find(e=>e.isDefault);e&&(a.defaultOptionNumber=e.number)}return a}(t,B,o.prompt.data),a=await fetch(`/api/worktrees/${e}/prompt-response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!a.ok)throw Error(`Failed to send prompt response: ${a.status}`);c.clearPrompt(),await ee()}catch(e){console.error("[WorktreeDetailRefactored] Error sending prompt response:",e)}finally{c.setPromptAnswering(!1)}},[e,c,ee,B,o.prompt.data]),ey=(0,l.useCallback)(()=>{c.clearPrompt()},[c]),eb=(0,l.useCallback)(e=>{c.setMobileActivePane(e)},[c]),ev=(0,l.useCallback)(e=>{c.setAutoScroll(e)},[c]),ej=(0,l.useCallback)(()=>{Q(),ee()},[Q,ee]),eN=(0,l.useCallback)(async t=>{try{let r=await fetch(`/api/worktrees/${e}/auto-yes`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:t.enabled,cliToolId:B,duration:t.duration,stopPattern:t.stopPattern})});if(r.ok){let e=await r.json();D(e.enabled),F(e.expiresAt),z.current=e.enabled}}catch(e){console.error("[WorktreeDetailRefactored] Error toggling auto-yes:",e)}},[e,B]),[ek,eC]=(0,l.useState)(!1),eS=(0,l.useCallback)(()=>{eC(!0)},[]),eT=(0,l.useCallback)(async()=>{eC(!1);try{if(!(await fetch(`/api/worktrees/${e}/kill-session?cliTool=${B}`,{method:"POST"})).ok)return;c.clearMessages(),c.setTerminalOutput("",""),c.setTerminalActive(!1),c.setTerminalThinking(!1),c.clearPrompt(),await J()}catch(e){console.error("[WorktreeDetailRefactored] Error killing session:",e)}},[e,B,c,J]),eE=(0,l.useCallback)(()=>{eC(!1)},[]),eM=(0,l.useCallback)(async t=>{let r=window.prompt("Enter file name (e.g., document.md):");if(!r)return;let a=r.endsWith(".md")?r:`${r}.md`,s=t?`${t}/${a}`:a;try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(s)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"file",content:""})})).ok)throw Error("Failed to create file");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to create file:",e),window.alert(u("fileOps.failedToCreateFile"))}},[e,u]),eA=(0,l.useCallback)(async t=>{let r=window.prompt("Enter directory name:");if(!r)return;let a=t?`${t}/${r}`:r;try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"directory"})})).ok)throw Error("Failed to create directory");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to create directory:",e),window.alert(u("fileOps.failedToCreateDirectory"))}},[e,u]),eR=(0,l.useCallback)(async t=>{let r=t.split("/").pop()||"",a=window.prompt("Enter new name:",r);if(a&&a!==r)try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",newName:a})})).ok)throw Error("Failed to rename");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to rename:",e),window.alert(u("fileOps.failedToRename"))}},[e,u]),e_=(0,l.useCallback)(async t=>{let r=t.split("/").pop()||t;if(window.confirm(y("confirmDelete",{name:r})))try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(t)}?recursive=true`,{method:"DELETE"})).ok)throw Error("Failed to delete");(R===t||R?.startsWith(`${t}/`))&&_(null),q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to delete:",e),window.alert(u("fileOps.failedToDelete"))}},[e,R,y,u]),{toasts:eO,showToast:eP,removeToast:eL}=(0,th.pm)();(0,l.useEffect)(()=>{H&&(eP(b("stopPatternMatched"),"info"),W(!1))},[H,eP,b]);let{moveTarget:eI,isMoveDialogOpen:eD,handleMove:e$,handleMoveConfirm:ez,handleMoveCancel:eH}=function(e,t,r,a){let[s,n]=(0,l.useState)(null),[i,o]=(0,l.useState)(!1),c=(0,l.useCallback)((e,t)=>{n({path:e,type:t}),o(!0)},[]),d=(0,l.useCallback)(async l=>{if(s)try{let n=await fetch(`/api/worktrees/${e}/files/${s.path}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"move",destination:l})}),i=await n.json();if(!n.ok||!i.success){let e=i.error?.message||"Failed to move";a?.(e);return}r?.("Moved successfully"),t()}catch{a?.("Failed to move")}finally{n(null),o(!1)}},[s,e,t,r,a]);return{moveTarget:s,isMoveDialogOpen:i,handleMove:c,handleMoveConfirm:d,handleMoveCancel:(0,l.useCallback)(()=>{n(null),o(!1)},[])}}(e,()=>q(e=>e+1),e=>eP(e,"success"),e=>eP(e,"error")),eW=(0,l.useRef)(null),eU=(0,l.useRef)(""),eG=(0,l.useCallback)(e=>{eU.current=e,eW.current?.click()},[]),eV=(0,l.useCallback)(async t=>{let r=t.target.files?.[0];if(!r)return;t.target.value="";let a=eU.current,s=`.${r.name.split(".").pop()?.toLowerCase()}`;if(!function(e){if(!e)return!1;let t=e.toLowerCase();return t_.includes(t)}(s)){eP(`Unsupported file type: ${s}. Allowed: ${t_.join(", ")}`,"error");return}let n=function(e){let t=function(e){let t=e.toLowerCase();return tR.find(e=>e.extension===t)}(e);return t?.maxFileSize??5242880}(s);if(r.size>n){eP(`File too large. Maximum size: ${(n/1024/1024).toFixed(1)}MB`,"error");return}let l=new FormData;l.append("file",r);try{let t=await fetch(`/api/worktrees/${e}/upload/${t8(a||".")}`,{method:"POST",body:l});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error?.message||"Failed to upload file";eP(r,"error");return}let r=await t.json();eP(`Uploaded: ${r.filename}`,"success"),q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to upload:",e),eP("Upload failed. Please try again.","error")}},[e,eP]),{data:eq}=tF(),eZ=eq?.hasUpdate??!1,{lastAutoResponse:eK}=function({worktreeId:e,cliTool:t,isPromptWaiting:r,promptData:a,autoYesEnabled:s,lastServerResponseTimestamp:n}){(0,l.useRef)(null);let[i,o]=(0,l.useState)(null);return{lastAutoResponse:i}}({worktreeId:e,cliTool:B,isPromptWaiting:o.prompt.visible,promptData:o.prompt.data,autoYesEnabled:I}),eX=(0,l.useCallback)(async()=>{C(null),N(!0),await J()&&await Promise.all([Q(),ee()]),N(!1)},[J,Q,ee]),eJ=(0,l.useRef)(0),e0=(0,l.useCallback)(async()=>{if("visible"!==document.visibilityState)return;let e=Date.now();if(!(e-eJ.current<5e3)){if(eJ.current=e,k){eX();return}try{await Promise.all([J(),Q(),ee()])}finally{C(null)}}},[k,eX,J,Q,ee]);(0,l.useEffect)(()=>{if(Z.current)return;let e=!0;return(async()=>{N(!0);let t=await J();e&&(t&&await Promise.all([Q(),ee()]),e&&(N(!1),Z.current=!0))})(),()=>{e=!1}},[J,Q,ee]),(0,l.useEffect)(()=>(document.addEventListener("visibilitychange",e0),()=>{document.removeEventListener("visibilitychange",e0)}),[e0]),(0,l.useEffect)(()=>{if(j||k)return;let e=setInterval(async()=>{await Promise.all([ee(),J(),Q()])},o.terminal.isActive?2e3:5e3);return()=>clearInterval(e)},[j,k,ee,J,Q,o.terminal.isActive]),(0,l.useEffect)(()=>{c.setLayoutMode(r?"tabs":"split")},[r,c]);let e1=(0,l.useMemo)(()=>(function(e,t,r="claude"){if(t)return"error";if(!e)return"idle";let a=e.sessionStatusByCli?.[r];if(a){if(a.isWaitingForResponse)return"waiting";if(a.isProcessing)return"running";if(a.isRunning)return"ready"}if("claude"===r){if(e.isWaitingForResponse)return"waiting";if(e.isProcessing)return"running";if(e.isSessionRunning)return"ready"}return"idle"})(v,null!==o.error.type,B),[v,o.error.type,B]),e2=(0,l.useMemo)(()=>o.layout.mobileActivePane,[o.layout.mobileActivePane]),e4=(0,l.useMemo)(()=>o.layout.leftPaneTab,[o.layout.leftPaneTab]),e5=v?.name??"Unknown";return j?a.jsx(ra,{}):k?a.jsx(rs,{message:k,onRetry:eX}):r?a.jsx(g,{componentName:"WorktreeDetailRefactored",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(ed,{worktreeName:e5,repositoryName:v?.repositoryName,status:e1,gitStatus:v?.gitStatus,onBackClick:em,onMenuClick:i}),v?.gitStatus&&v.gitStatus.isBranchMismatch&&a.jsx("div",{className:"fixed top-14 inset-x-0 z-35",children:a.jsx(t1,{isBranchMismatch:v.gitStatus.isBranchMismatch,currentBranch:v.gitStatus.currentBranch,initialBranch:v.gitStatus.initialBranch})}),(0,a.jsxs)("div",{className:"fixed top-14 inset-x-0 z-30 flex items-center justify-between px-3 py-1.5 bg-gray-50 border-b border-gray-200",children:[a.jsx(t0,{enabled:I,expiresAt:$,onToggle:eN,lastAutoResponse:eK,cliToolName:B,inline:!0}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[a.jsx("nav",{className:"flex gap-2","aria-label":"CLI Tool Selection",children:["claude","codex"].map(e=>{let t=(0,t2.He)(v?.sessionStatusByCli?.[e]),r=el.F4[t];return(0,a.jsxs)("button",{onClick:()=>U(e),className:`px-1.5 py-0.5 rounded font-medium text-xs transition-colors flex items-center gap-1 ${B===e?"bg-blue-100 text-blue-700":"text-gray-500 hover:text-gray-700"}`,"aria-current":B===e?"page":void 0,children:["spinner"===r.type?a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${r.className}`,title:r.label}):a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${r.className}`,title:r.label}),t7(e)]},e)})}),(0,a.jsxs)("button",{onClick:eS,disabled:!v?.sessionStatusByCli?.[B]?.isRunning,className:`flex items-center gap-0.5 px-1.5 py-0.5 text-xs font-medium rounded transition-colors ${v?.sessionStatusByCli?.[B]?.isRunning?"text-red-600 hover:bg-red-50":"invisible"}`,"aria-label":`End ${B} session`,children:[a.jsx("span",{"aria-hidden":"true",children:"✕"}),"End"]})]})]}),a.jsx("main",{className:"flex-1 pt-[6.25rem] pb-32 overflow-hidden",style:{paddingBottom:"calc(8rem + env(safe-area-inset-bottom, 0px))"},children:a.jsx(rl,{activeTab:e2,worktreeId:e,worktree:v,messages:o.messages,terminalOutput:o.terminal.output,isTerminalActive:o.terminal.isActive,isThinking:o.terminal.isThinking,onFilePathClick:er,onFileSelect:ea,onWorktreeUpdate:w,onNewFile:eM,onNewDirectory:eA,onRename:eR,onDelete:e_,onUpload:eG,onMove:e$,refreshTrigger:V,fileSearch:Y,showToast:eP})}),a.jsx("div",{className:"fixed left-0 right-0 border-t border-gray-200 bg-white p-2 z-30",style:{bottom:"calc(4rem + env(safe-area-inset-bottom, 0px))"},children:a.jsx(ew.R,{worktreeId:e,onMessageSent:ej,cliToolId:B,isSessionRunning:o.terminal.isActive})}),a.jsx(ef,{activeTab:e2,onTabChange:eb,hasNewOutput:!1,hasPrompt:o.prompt.visible,hasUpdate:eZ}),!I&&a.jsx(eg,{promptData:o.prompt.data,visible:o.prompt.visible,answering:o.prompt.answering,onRespond:ex,onDismiss:ey}),a.jsx(eQ,{isOpen:null!==E,onClose:es,worktreeId:e,filePath:E??""}),R&&a.jsx(tZ.u,{isOpen:!0,onClose:eo,title:R.split("/").pop()||"Editor",size:"full",disableClose:O,children:a.jsx("div",{className:"h-[80vh]",children:a.jsx(tM,{worktreeId:e,filePath:R,onClose:eo,onSave:ec,onMaximizedChange:P})})}),a.jsx("input",{ref:eW,type:"file",accept:t_.join(","),onChange:eV,className:"hidden","aria-label":"Upload file"}),a.jsx(tZ.u,{isOpen:ek,onClose:eE,title:d("session.confirmEnd",{tool:t7(B)}),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("p",{className:"text-sm text-gray-700",children:d("session.endWarning")}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:eE,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:y("cancel")}),a.jsx("button",{type:"button",onClick:eT,className:"px-4 py-2 text-sm font-medium rounded-md bg-red-600 hover:bg-red-700 text-white",children:y("end")})]})]})}),eI&&a.jsx(t6,{isOpen:eD,onClose:eH,onConfirm:ez,worktreeId:e,sourcePath:eI.path,sourceType:eI.type}),a.jsx(th.Ix,{toasts:eO,onClose:eL})]})}):a.jsx(g,{componentName:"WorktreeDetailRefactored",children:(0,a.jsxs)("div",{className:"h-full flex flex-col relative",children:[a.jsx(rt,{worktreeName:e5,repositoryName:v?.repositoryName??"Unknown",description:v?.description,status:e1,gitStatus:v?.gitStatus,onBackClick:em,onInfoClick:ep,onMenuClick:n,hasUpdate:eZ}),(0,a.jsxs)("div",{className:"px-4 py-2 bg-white border-b border-gray-200 flex items-center justify-between",children:[a.jsx("nav",{className:"flex gap-4","aria-label":"CLI Tool Selection",children:["claude","codex"].map(e=>{let t=(0,t2.He)(v?.sessionStatusByCli?.[e]),r=el.F4[t];return(0,a.jsxs)("button",{onClick:()=>U(e),className:`pb-2 px-2 border-b-2 font-medium text-sm transition-colors flex items-center gap-1.5 ${B===e?"border-blue-600 text-blue-600":"border-transparent text-gray-600 hover:text-gray-900"}`,"aria-current":B===e?"page":void 0,children:["spinner"===r.type?a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${r.className}`,title:r.label,"aria-label":`${e} status: ${r.label}`}):a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${r.className}`,title:r.label,"aria-label":`${e} status: ${r.label}`}),t7(e)]},e)})}),v?.sessionStatusByCli?.[B]?.isRunning&&(0,a.jsxs)("button",{onClick:eS,className:"flex items-center gap-1 px-2 py-1 text-xs font-medium text-red-600 hover:text-red-800 hover:bg-red-50 rounded transition-colors","aria-label":`End ${B} session`,children:[a.jsx("span",{"aria-hidden":"true",children:"✕"}),"End Session"]})]}),v?.gitStatus&&a.jsx(t1,{isBranchMismatch:v.gitStatus.isBranchMismatch,currentBranch:v.gitStatus.currentBranch,initialBranch:v.gitStatus.initialBranch}),a.jsx("div",{className:"flex-1 min-h-0",children:a.jsx(M,{leftPane:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eY,{activeTab:e4,onTabChange:eu}),(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden",children:["history"===e4&&a.jsx(X,{messages:o.messages,worktreeId:e,onFilePathClick:er,className:"h-full",showToast:eP}),"files"===e4&&a.jsx(g,{componentName:"FileTreeView",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eB,{query:Y.query,mode:Y.mode,isSearching:Y.isSearching,error:Y.error,onQueryChange:Y.setQuery,onModeChange:Y.setMode,onClear:Y.clearSearch}),a.jsx(eF,{worktreeId:e,onFileSelect:ea,onNewFile:eM,onNewDirectory:eA,onRename:eR,onDelete:e_,onUpload:eG,onMove:e$,refreshTrigger:V,searchQuery:Y.query,searchMode:Y.mode,searchResults:Y.results?.results,className:"flex-1 min-h-0"})]})}),"memo"===e4&&a.jsx(g,{componentName:"MemoPane",children:a.jsx(tD,{worktreeId:e,className:"h-full"})})]})]}),rightPane:a.jsx(L,{output:o.terminal.output,isActive:o.terminal.isActive,isThinking:o.terminal.isThinking,autoScroll:o.terminal.autoScroll,onScrollChange:ev}),initialLeftWidth:40,minLeftWidth:20,maxLeftWidth:60})}),a.jsx("div",{className:"flex-shrink-0 border-t border-gray-200 p-4 bg-gray-50",children:a.jsx(ew.R,{worktreeId:e,onMessageSent:ej,cliToolId:B,isSessionRunning:o.terminal.isActive})}),a.jsx(t0,{enabled:I,expiresAt:$,onToggle:eN,lastAutoResponse:eK,cliToolName:B}),o.prompt.visible&&!I&&a.jsx("div",{className:"fixed bottom-20 left-1/2 transform -translate-x-1/2 z-50 w-full max-w-2xl px-4",children:a.jsx(en,{promptData:o.prompt.data,messageId:o.prompt.messageId,visible:o.prompt.visible,answering:o.prompt.answering,onRespond:ex,onDismiss:ey})}),a.jsx(rr,{worktreeId:e,worktree:v,isOpen:S,onClose:eh,onWorktreeUpdate:w}),a.jsx(eQ,{isOpen:null!==E,onClose:es,worktreeId:e,filePath:E??""}),R&&a.jsx(tZ.u,{isOpen:!0,onClose:eo,title:R.split("/").pop()||"Editor",size:"full",disableClose:O,children:a.jsx("div",{className:"h-[80vh]",children:a.jsx(tM,{worktreeId:e,filePath:R,onClose:eo,onSave:ec,onMaximizedChange:P})})}),a.jsx("input",{ref:eW,type:"file",accept:t_.join(","),onChange:eV,className:"hidden","aria-label":"Upload file"}),a.jsx(tZ.u,{isOpen:ek,onClose:eE,title:d("session.confirmEnd",{tool:t7(B)}),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("p",{className:"text-sm text-gray-700",children:d("session.endWarning")}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:eE,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:y("cancel")}),a.jsx("button",{type:"button",onClick:eT,className:"px-4 py-2 text-sm font-medium rounded-md bg-red-600 hover:bg-red-700 text-white",children:y("end")})]})]})}),eI&&a.jsx(t6,{isOpen:eD,onClose:eH,onConfirm:ez,worktreeId:e,sourcePath:eI.path,sourceType:eI.type}),a.jsx(th.Ix,{toasts:eO,onClose:eL})]})})});function ro(){let e=(0,s.useParams)().id;return a.jsx(n.Vw,{children:a.jsx(ri,{worktreeId:e})})}},81194:(e,t,r)=>{"use strict";r.d(t,{O:()=>n});var a=r(10326),s=r(17577);function n({src:e,alt:t,onError:r}){let[n,l]=(0,s.useState)(!1);return n?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-gray-500",children:[a.jsx("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),a.jsx("p",{className:"text-sm",children:"Failed to load image"}),a.jsx("p",{className:"text-xs text-gray-400 mt-1",children:t})]}):a.jsx("div",{className:"flex items-center justify-center p-4",children:a.jsx("img",{src:e,alt:t,onError:()=>{l(!0),r?.()},style:{maxWidth:"100%",maxHeight:"500px",objectFit:"contain"},className:"rounded-lg shadow-sm"})})}},89918:(e,t,r)=>{"use strict";r.d(t,{R:()=>n});var a=r(10326),s=r(17577);function n({src:e,onError:t}){let[r,n]=(0,s.useState)(!0),[l,i]=(0,s.useState)(!1);return l?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-gray-500",children:[a.jsx("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})}),a.jsx("p",{className:"text-sm",children:"Failed to load video"})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center p-4",children:[r&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-8",children:[a.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-blue-600"}),a.jsx("p",{className:"ml-3 text-gray-600",children:"Loading video..."})]}),a.jsx("video",{controls:!0,src:e,onLoadedData:()=>{n(!1)},onError:()=>{n(!1),i(!0),t?.()},style:{maxWidth:"100%",maxHeight:"500px",display:r?"none":"block"},className:"rounded-lg shadow-sm",children:"Your browser does not support the video tag."})]})}},22570:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});let a=(0,r(68570).createProxy)(String.raw`/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx#default`)},4803:()=>{},63817:(e,t,r)=>{"use strict";let a=r(51387),s=a.types;function n(e,t){var r;t||(t={});let n=void 0===t.limit?25:t.limit;(r=e,"[object RegExp]"===({}).toString.call(r))?e=e.source:"string"!=typeof e&&(e=String(e));try{e=a(e)}catch{return!1}let l=0;return function e(t,r){let a,i;if(t.type===s.REPETITION&&(r++,l++,r>1||l>n))return!1;if(t.options){for(a=0,i=t.options.length;a<i;a++)if(!e({stack:t.options[a]},r))return!1}let o=t.stack||t.value?.stack;if(!o)return!0;for(a=0;a<o.length;a++)if(!e(o[a],r))return!1;return!0}(e,0)}e.exports=n,e.exports.default=n,e.exports.safeRegex=n}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[8948,1287,6621,8705,7458,7808,3860,9238],()=>r(80205));module.exports=a})();
|
|
9
|
+
`,children:[s?a.jsx("span",{"data-testid":"loading-indicator",className:"w-5 h-5 border-2 border-gray-300 border-t-blue-500 rounded-full animate-spin"}):a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),a.jsx("span",{className:"text-sm font-medium",children:"Add Memo"})]}),(0,a.jsxs)("span",{className:"text-xs text-gray-500",children:[Math.max(0,t-e)," remaining"]})]})}),tD=(0,l.memo)(function({worktreeId:e,className:t=""}){let[r,s]=(0,l.useState)([]),[n,i]=(0,l.useState)(!0),[o,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(null),h=(0,l.useCallback)(async()=>{i(!0),u(null);try{let t=await tO.nE.getAll(e);s(t.sort((e,t)=>e.position-t.position))}catch(e){u((0,tO.zG)(e))}finally{i(!1)}},[e]);(0,l.useEffect)(()=>{h()},[h]);let f=(0,l.useCallback)(async()=>{c(!0),p(null);try{let t=await tO.nE.create(e,{title:"Memo",content:""});s(e=>[...e,t])}catch(e){p((0,tO.zG)(e))}finally{c(!1)}},[e]),x=(0,l.useCallback)(async(t,r)=>{await tO.nE.update(e,t,r),s(e=>e.map(e=>e.id===t?{...e,...r}:e))},[e]),g=(0,l.useCallback)(async t=>{try{await tO.nE.delete(e,t),s(e=>e.filter(e=>e.id!==t))}catch(e){console.error("Failed to delete memo:",e)}},[e]),y=(0,l.useCallback)(()=>{h()},[h]);return n?a.jsx("div",{"data-testid":"memo-pane",className:`flex flex-col items-center justify-center h-full p-4 ${t}`,children:(0,a.jsxs)("div",{"data-testid":"memo-loading",className:"flex flex-col items-center gap-3",children:[a.jsx("div",{className:"w-8 h-8 border-4 border-gray-200 border-t-blue-500 rounded-full animate-spin"}),a.jsx("span",{className:"text-sm text-gray-500",children:"Loading memos..."})]})}):d?a.jsx("div",{"data-testid":"memo-pane",className:`flex flex-col items-center justify-center h-full p-4 ${t}`,children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[a.jsx("svg",{className:"w-12 h-12 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{className:"text-sm text-red-600",children:d}),a.jsx("button",{type:"button",onClick:y,"aria-label":"Retry",className:"px-4 py-2 text-sm font-medium text-white bg-blue-500 rounded-lg hover:bg-blue-600 transition-colors",children:"Retry"})]})}):(0,a.jsxs)("div",{"data-testid":"memo-pane",className:`flex flex-col gap-4 p-4 overflow-y-auto ${t}`,children:[0===r.length&&!m&&(0,a.jsxs)("div",{className:"text-center py-8 text-gray-500",children:[a.jsx("p",{children:"No memos yet."}),a.jsx("p",{className:"text-sm",children:"Click the button below to add one."})]}),r.map(e=>a.jsx(tL,{memo:e,onUpdate:x,onDelete:g},e.id)),m&&a.jsx("div",{className:"text-center py-2 text-sm text-red-500",children:m}),a.jsx(tI,{currentCount:r.length,maxCount:5,onAdd:f,isLoading:o,className:"mt-2"})]})});var t$=r(11867);function tF(){let[e,t]=(0,l.useState)(null),[r,a]=(0,l.useState)(!0),[s,n]=(0,l.useState)(null);return{data:e,loading:r,error:s}}function tz({hasUpdate:e,latestVersion:t,releaseUrl:r,updateCommand:s,installType:n}){let l=(0,x.T)("worktree");return e?(0,a.jsxs)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-3 mt-2",role:"status","aria-label":l("update.available"),"data-testid":"update-notification-banner",children:[a.jsx("p",{className:"text-sm font-medium text-blue-800 mb-1",children:l("update.available")}),t&&a.jsx("p",{className:"text-sm text-blue-700 mb-2",children:l("update.latestVersion",{version:t})}),s&&"global"===n&&(0,a.jsxs)("div",{className:"mb-2",children:[a.jsx("p",{className:"text-xs text-blue-600 mb-1",children:l("update.updateCommand")}),a.jsx("code",{className:"block bg-blue-100 rounded px-2 py-1 text-xs text-blue-900 font-mono",children:s})]}),r&&(0,a.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-blue-600 hover:text-blue-800 underline",children:[l("update.viewRelease"),a.jsx("span",{className:"ml-1","aria-hidden":"true",children:"→"})]}),a.jsx("p",{className:"text-xs text-blue-500 mt-2",children:l("update.dataPreserved")})]}):null}function tH({version:e,className:t}){let r=(0,x.T)("worktree"),{data:s,loading:n}=tF(),i=(0,l.useMemo)(()=>s&&s.hasUpdate?{hasUpdate:s.hasUpdate,latestVersion:s.latestVersion,releaseUrl:s.releaseUrl,updateCommand:s.updateCommand,installType:s.installType}:null,[s]);return(0,a.jsxs)("div",{className:t,"data-testid":"version-section",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:r("update.version")}),a.jsx("p",{className:"text-sm text-gray-700",children:e}),n&&a.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"version-loading",children:"..."}),i&&a.jsx(tz,{...i})]})}let tW="https://github.com/Kewton/CommandMate",tB=`${tW}/issues`,tU=`${tW}/issues/new`,tG=`${tU}?template=bug_report.md`,tV=`${tU}?template=feature_request.md`,tq=`${tU}?template=question.md`;function tY({className:e}){let t=(0,x.T)("worktree"),r=[{href:tG,label:t("feedback.bugReport")},{href:tV,label:t("feedback.featureRequest")},{href:tq,label:t("feedback.question")},{href:tB,label:t("feedback.viewIssues")}];return(0,a.jsxs)("div",{className:e,"data-testid":"feedback-section",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-2",children:t("feedback.title")}),a.jsx("div",{className:"flex flex-col gap-1",children:r.map(({href:e,label:t})=>(0,a.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-blue-600 hover:text-blue-800 underline",children:[t,a.jsx("span",{className:"ml-1","aria-hidden":"true",children:"→"})]},e))})]})}var tZ=r(28676);r(63817);let tK=[36e5,108e5,288e5],tX={36e5:"autoYes.durations.1h",108e5:"autoYes.durations.3h",288e5:"autoYes.durations.8h"};function tJ({isOpen:e,onConfirm:t,onCancel:r,cliToolName:s}){let n=(0,x.T)("autoYes"),i=(0,x.T)("common"),[o,c]=(0,l.useState)(36e5),[d,u]=(0,l.useState)(""),[m,p]=(0,l.useState)(null),[h,f]=(0,l.useState)(!1),g=(0,l.useRef)(null),y=e=>n(tX[e].replace("autoYes.",""));return a.jsx(tZ.u,{isOpen:e,onClose:r,title:s?n("enableTitleWithTool",{toolName:s}):n("enableTitle"),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("featureDescription")}),(0,a.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[a.jsx("li",{children:n("yesNoAutoResponse")}),a.jsx("li",{children:n("multipleChoiceAutoSelect")})]}),a.jsx("p",{className:"mt-1",children:n("autoDisableAfter",{duration:y(o)})}),s&&a.jsx("p",{className:"mt-2 text-gray-500",children:n("appliesOnlyToCurrent",{toolName:s})})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("duration")}),a.jsx("div",{className:"flex gap-2",children:tK.map(e=>a.jsx("button",{type:"button",onClick:()=>c(e),className:`flex-1 py-2 px-3 text-sm font-medium rounded-md border-2 transition-colors ${o===e?"border-blue-600 bg-blue-50 text-blue-700":"border-gray-300 bg-white text-gray-700 hover:border-gray-400"}`,style:{minHeight:"44px"},children:y(e)},e))})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[a.jsx("label",{htmlFor:"stop-pattern-input",className:"font-medium",children:n("stopPatternLabel")}),(0,a.jsxs)("div",{className:"relative",ref:g,children:[a.jsx("button",{type:"button",onClick:()=>f(!h),className:"inline-flex items-center justify-center w-4 h-4 rounded-full bg-gray-300 text-gray-600 text-[10px] font-bold hover:bg-gray-400 focus:outline-none","aria-label":n("regexTipsLabel"),"data-testid":"regex-tips-button",children:"?"}),h&&(0,a.jsxs)("div",{className:"absolute left-0 top-6 z-50 w-72 rounded-md border border-gray-200 bg-white p-3 shadow-lg text-xs text-gray-700","data-testid":"regex-tips-tooltip",children:[a.jsx("p",{className:"font-medium mb-1.5",children:n("regexTipsTitle")}),(0,a.jsxs)("ul",{className:"space-y-1",children:[(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"\\bcat\\b"})," ",n("regexTipWordBoundary")]}),(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"error|fatal"})," ",n("regexTipOr")]}),(0,a.jsxs)("li",{children:[a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"(?i)error"})," ",n("regexTipCaseNote")]})]})]})]})]}),a.jsx("p",{className:"text-xs text-gray-500 mb-2",children:n("stopPatternDescription")}),a.jsx("input",{id:"stop-pattern-input",type:"text",value:d,onChange:e=>u(e.target.value),placeholder:n("stopPatternPlaceholder"),className:`w-full px-3 py-2 border rounded-md text-sm font-mono ${m?"border-red-500 focus:ring-red-500 focus:border-red-500":"border-gray-300 focus:ring-blue-500 focus:border-blue-500"} focus:outline-none focus:ring-1`,"data-testid":"stop-pattern-input"}),m&&a.jsx("p",{className:"mt-1 text-xs text-red-600","data-testid":"stop-pattern-error",children:m})]}),(0,a.jsxs)("div",{className:"text-sm text-gray-700",children:[a.jsx("p",{className:"font-medium mb-2",children:n("aboutRisks")}),a.jsx("p",{children:n("riskWarning")})]}),a.jsx("div",{className:"bg-yellow-50 border-l-4 border-yellow-400 p-3",children:(0,a.jsxs)("p",{className:"text-sm text-yellow-800",children:[a.jsx("span",{className:"font-medium",children:n("disclaimer")}),n("disclaimerText")]})}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:r,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:i("cancel")}),a.jsx("button",{type:"button",onClick:()=>{t(o,d.trim()||void 0)},disabled:!!m,className:`px-4 py-2 text-sm font-medium rounded-md text-white ${m?"bg-gray-400 cursor-not-allowed":"bg-yellow-600 hover:bg-yellow-700"}`,"data-testid":"confirm-button",children:n("agreeAndEnable")})]})]})})}function tQ(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}let t0=(0,l.memo)(function({enabled:e,expiresAt:t,onToggle:r,lastAutoResponse:s,cliToolName:n,inline:i=!1}){let[o,c]=(0,l.useState)(""),[d,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(!1),[h,f]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(!e||!t){c("");return}let r=()=>{c(function(e){let t=Math.max(0,e-Date.now()),r=Math.floor(t/36e5),a=Math.floor(t%36e5/6e4),s=Math.floor(t%6e4/1e3);return r>0?`${r}:${a.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`:`${a.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}(t))};r();let a=setInterval(r,1e3);return()=>clearInterval(a)},[e,t]),(0,l.useEffect)(()=>{if(!s)return;u(`Auto responded: "${s}"`);let e=setTimeout(()=>u(null),2e3);return()=>clearTimeout(e)},[s]);let x=(0,l.useCallback)(()=>{e?(p(!0),r({enabled:!1}).finally(()=>p(!1))):f(!0)},[e,r]),g=(0,l.useCallback)((e,t)=>{f(!1),p(!0),r({enabled:!0,duration:e,stopPattern:t}).finally(()=>p(!1))},[r]),y=(0,l.useCallback)(()=>{f(!1)},[]);return(0,a.jsxs)("div",{className:i?"flex items-center gap-2":"flex items-center gap-3 px-4 py-2 bg-gray-50 border-b border-gray-200",children:[a.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":"Auto Yes mode",disabled:m,onClick:x,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 ${e?"bg-blue-600":"bg-gray-300"} ${m?"opacity-50":""}`,children:a.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${e?"translate-x-6":"translate-x-1"}`})}),a.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Auto Yes"}),e&&n&&(0,a.jsxs)("span",{className:"text-xs text-blue-600 font-medium","aria-label":"Auto Yes target",children:["(",tQ(n),")"]}),e&&o&&a.jsx("span",{className:"text-sm text-gray-500","aria-label":"Time remaining",children:o}),d&&a.jsx("span",{className:"text-sm text-green-600 animate-pulse",children:d}),a.jsx(tJ,{isOpen:h,onConfirm:g,onCancel:y,cliToolName:tQ(n)})]})}),t1=(0,l.memo)(function({isBranchMismatch:e,currentBranch:t,initialBranch:r}){let[s,n]=(0,l.useState)(!1);return((0,l.useEffect)(()=>{n(!1)},[t]),!e||s||null===r)?null:(0,a.jsxs)("div",{"data-testid":"branch-mismatch-alert",role:"alert",className:"flex items-center gap-3 px-4 py-2 bg-amber-50 border border-amber-200 text-amber-800 rounded-lg",children:[a.jsx(tl,{className:"w-5 h-5 text-amber-500 flex-shrink-0"}),a.jsx("div",{className:"flex-1 min-w-0",children:(0,a.jsxs)("span",{className:"text-sm",children:["Branch changed from"," ",a.jsx("span",{className:"font-medium",children:r})," ","to"," ",a.jsx("span",{className:"font-medium",children:t})]})}),a.jsx("button",{type:"button",onClick:()=>n(!0),className:"p-1 rounded hover:bg-amber-100 transition-colors","aria-label":"Dismiss alert",children:a.jsx(tp.Z,{className:"w-4 h-4"})})]})});var t2=r(18421);let t4=(0,I.Z)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),t5=(0,I.Z)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),t3=(0,I.Z)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),t6=(0,l.memo)(function({isOpen:e,onClose:t,onConfirm:r,worktreeId:s,sourcePath:n,sourceType:i}){let o=(0,x.T)("worktree"),c=(0,x.T)("common"),[d,u]=(0,l.useState)(""),[m,p]=(0,l.useState)(new Set([""])),[h,f]=(0,l.useState)([]),[g,y]=(0,l.useState)(!1),[b,v]=(0,l.useState)(new Set),w=n.includes("/")?n.substring(0,n.lastIndexOf("/")):"";(0,l.useEffect)(()=>{e&&(u(w),p(new Set([""])),f([]),j())},[e,s]);let j=(0,l.useCallback)(async()=>{y(!0);try{let e=await fetch(`/api/worktrees/${s}/tree`);if(!e.ok)return;let t=(await e.json()).items.filter(e=>"directory"===e.type).map(e=>({name:e.name,path:e.name,loaded:!1}));f(t)}catch{}finally{y(!1)}},[s]),N=(0,l.useCallback)(async e=>{v(t=>new Set(t).add(e));try{let t=await fetch(`/api/worktrees/${s}/tree/${e}`);if(!t.ok)return;let r=(await t.json()).items.filter(e=>"directory"===e.type).map(t=>({name:t.name,path:`${e}/${t.name}`,loaded:!1}));f(t=>(function e(t,r,a){return t.map(t=>t.path===r?{...t,children:a,loaded:!0}:t.children?{...t,children:e(t.children,r,a)}:t)})(t,e,r))}catch{}finally{v(t=>{let r=new Set(t);return r.delete(e),r})}},[s]),k=(0,l.useCallback)(async e=>{p(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r});let t=function e(t,r){for(let a of t){if(a.path===r)return a;if(a.children){let t=e(a.children,r);if(t)return t}}return null}(h,e);t&&!t.loaded&&await N(e)},[h,N]),C=(0,l.useCallback)(e=>!(e===w||"directory"===i&&(e===n||e.startsWith(n+"/"))),[w,n,i]),S=(e,t=0)=>{let r=m.has(e.path),s=d===e.path,n=b.has(e.path),l=C(e.path);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:`flex items-center gap-1 py-1.5 px-2 cursor-pointer rounded text-sm transition-colors ${s?"bg-blue-100 text-blue-800":"hover:bg-gray-100 text-gray-700"} ${l?"":"opacity-40 cursor-not-allowed"}`,style:{paddingLeft:`${.5+1.25*t}rem`},onClick:()=>{l&&u(e.path)},children:[a.jsx("button",{className:"w-4 h-4 flex items-center justify-center flex-shrink-0",onClick:t=>{t.stopPropagation(),k(e.path)},children:n?a.jsx(tg,{className:"w-3 h-3 animate-spin text-gray-400"}):a.jsx(t4,{className:`w-3 h-3 text-gray-400 transition-transform ${r?"rotate-90":""}`})}),r?a.jsx(t5,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}):a.jsx(t3,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),a.jsx("span",{className:"truncate",children:e.name})]}),r&&e.children&&a.jsx("div",{children:e.children.map(e=>S(e,t+1))})]},e.path)},T=C(d);return a.jsx(tZ.u,{isOpen:e,onClose:t,title:o("fileTree.moveDialogTitle"),size:"md",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"text-sm text-gray-600",children:[o("fileTree.moveTo"),": ",a.jsx("span",{className:"font-mono text-gray-800",children:n})]}),(0,a.jsxs)("div",{className:"border border-gray-200 rounded-lg max-h-64 overflow-y-auto p-2",children:[(0,a.jsxs)("div",{className:`flex items-center gap-1 py-1.5 px-2 cursor-pointer rounded text-sm transition-colors ${""===d?"bg-blue-100 text-blue-800":"hover:bg-gray-100 text-gray-700"} ${C("")?"":"opacity-40 cursor-not-allowed"}`,onClick:()=>{C("")&&u("")},children:[a.jsx("span",{className:"w-4 h-4"}),a.jsx(t3,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),a.jsx("span",{children:o("fileTree.rootDirectory")})]}),g?a.jsx("div",{className:"flex items-center justify-center py-4",children:a.jsx(tg,{className:"w-5 h-5 animate-spin text-gray-400"})}):h.map(e=>S(e,1))]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[a.jsx("button",{onClick:t,className:"px-4 py-2 text-sm text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 transition-colors",children:c("cancel")}),a.jsx("button",{onClick:()=>r(d),disabled:!T,className:"px-4 py-2 text-sm text-white bg-blue-600 rounded-md hover:bg-blue-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:o("fileTree.moveConfirm")})]})]})})});function t8(e){return e?e.split("/").map(encodeURIComponent).join("/"):""}function t7(e){return e.charAt(0).toUpperCase()+e.slice(1)}function t9(e,t,r,a){let[s,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(!1),u=(0,l.useCallback)(async()=>{if(e){d(!0);try{let r=await tO.Iv.updateDescription(e.id,i);t(r),n(!1)}catch(e){console.error("Failed to save description:",e)}finally{d(!1)}}},[e,i,t]),m=(0,l.useCallback)(()=>{o(e?.description||""),n(!1)},[e]);return{isEditing:s,text:i,setText:o,isSaving:c,handleSave:u,handleCancel:m,startEditing:(0,l.useCallback)(()=>{n(!0)},[])}}let re=(0,l.memo)(function({worktreeId:e,worktree:t,cardClassName:r,descriptionEditor:s,showLogs:n,onToggleLogs:l}){let{isEditing:i,text:o,setText:c,isSaving:d,handleSave:u,handleCancel:m,startEditing:p}=s;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Worktree"}),a.jsx("p",{className:"text-lg font-semibold text-gray-900",children:t.name})]}),(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Repository"}),a.jsx("p",{className:"text-base text-gray-900",children:t.repositoryName}),a.jsx("p",{className:"text-xs text-gray-500 mt-1 break-all",children:t.repositoryPath})]}),(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Path"}),a.jsx("p",{className:"text-sm text-gray-700 break-all font-mono",children:t.path})]}),t.status&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Status"}),a.jsx("span",{className:`inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${"done"===t.status?"bg-green-100 text-green-800":"doing"===t.status?"bg-blue-100 text-blue-800":"bg-gray-100 text-gray-800"}`,children:t.status.toUpperCase()})]}),(0,a.jsxs)("div",{className:r,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500",children:"Description"}),!i&&a.jsx("button",{type:"button",onClick:p,className:"text-sm text-blue-600 hover:text-blue-800",children:"Edit"})]}),i?(0,a.jsxs)("div",{className:"space-y-3",children:[a.jsx("textarea",{value:o,onChange:e=>c(e.target.value),placeholder:"Add notes about this branch...",className:"w-full min-h-[150px] p-3 border border-gray-300 rounded-lg resize-y focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",autoFocus:!0}),(0,a.jsxs)("div",{className:"flex gap-2",children:[a.jsx("button",{type:"button",onClick:u,disabled:d,className:"px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 text-sm font-medium",children:d?"Saving...":"Save"}),a.jsx("button",{type:"button",onClick:m,disabled:d,className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 disabled:opacity-50 text-sm font-medium",children:"Cancel"})]})]}):a.jsx("div",{className:"min-h-[50px]",children:t.description?a.jsx("p",{className:"text-sm text-gray-700 whitespace-pre-wrap",children:t.description}):a.jsx("p",{className:"text-sm text-gray-400 italic",children:"No description added yet"})})]}),t.link&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Link"}),a.jsx("a",{href:t.link,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline break-all",children:t.link})]}),t.updatedAt&&(0,a.jsxs)("div",{className:r,children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500 mb-1",children:"Last Updated"}),a.jsx("p",{className:"text-sm text-gray-700",children:new Date(t.updatedAt).toLocaleString()})]}),a.jsx(tH,{version:"v0.3.1",className:r}),a.jsx(tY,{className:r}),(0,a.jsxs)("div",{className:r,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("h2",{className:"text-sm font-medium text-gray-500",children:"Logs"}),a.jsx("button",{type:"button",onClick:l,className:"text-sm text-blue-600 hover:text-blue-800",children:n?"Hide":"Show"})]}),n&&a.jsx(t$.n,{worktreeId:e})]})]})}),rt=(0,l.memo)(function({worktreeName:e,repositoryName:t,description:r,status:s,gitStatus:n,onBackClick:l,onInfoClick:i,onMenuClick:o,hasUpdate:c}){let d=el.Ie[s],u=r?(0,ei.aS)(r,50):null;return(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 bg-white border-b border-gray-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[a.jsx("button",{type:"button",onClick:o,className:"p-2 -ml-2 rounded-lg text-gray-600 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Toggle sidebar",children:a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),a.jsx("div",{className:"w-px h-6 bg-gray-300","aria-hidden":"true"}),(0,a.jsxs)("button",{type:"button",onClick:l,className:"flex items-center gap-1 text-gray-600 hover:text-gray-900 transition-colors","aria-label":"Go back to worktree list",children:[a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),a.jsx("span",{className:"text-sm font-medium",children:"Back"})]}),a.jsx("div",{className:"w-px h-6 bg-gray-300","aria-hidden":"true"}),"spinner"===d.type?a.jsx("span",{"data-testid":"desktop-status-indicator",title:d.label,"aria-label":d.label,className:`w-3 h-3 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${d.className}`}):a.jsx("span",{"data-testid":"desktop-status-indicator",title:d.label,"aria-label":d.label,className:`w-3 h-3 rounded-full flex-shrink-0 ${d.className}`}),(0,a.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("h1",{className:"text-lg font-semibold text-gray-900 truncate max-w-[200px] leading-tight",children:e}),u&&a.jsx("span",{className:"text-sm text-gray-500 truncate max-w-md",title:r,children:u})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[a.jsx("span",{className:"truncate max-w-[200px]",children:t}),n&&"(unknown)"!==n.currentBranch&&(0,a.jsxs)(a.Fragment,{children:[a.jsx("span",{className:"text-gray-300",children:"/"}),a.jsx("span",{className:"truncate max-w-[150px] font-mono",title:n.currentBranch,"data-testid":"desktop-branch-name",children:(0,ei.aS)(n.currentBranch,30)}),n.isDirty&&a.jsx("span",{className:"text-amber-500",title:"Uncommitted changes",children:"*"})]})]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:i,className:"relative flex items-center gap-1.5 px-3 py-1.5 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"View worktree information",children:[a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("span",{className:"text-sm font-medium",children:"Info"}),c&&a.jsx(eu,{"data-testid":"info-update-indicator",className:"absolute top-0 right-0","aria-label":"Update available"})]})]})}),rr=(0,l.memo)(function({worktreeId:e,worktree:t,isOpen:r,onClose:s,onWorktreeUpdate:n}){let[i,o]=(0,l.useState)(!1),c=(0,l.useRef)(r),d=t9(t,n,r,()=>{let e=r&&!c.current;return c.current=r,e});return t?a.jsx(tZ.u,{isOpen:r,onClose:s,title:"Worktree Information",size:"md",children:a.jsx("div",{className:"space-y-4 max-h-[70vh] overflow-y-auto",children:a.jsx(re,{worktreeId:e,worktree:t,cardClassName:"bg-gray-50 rounded-lg p-4",descriptionEditor:d,showLogs:i,onToggleLogs:()=>o(!i)})})}):null}),ra=(0,l.memo)(function(){return a.jsx("div",{className:"flex items-center justify-center h-full min-h-[200px]",role:"status","aria-live":"polite",children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-blue-600","aria-hidden":"true"}),a.jsx("p",{className:"text-gray-600",children:"Loading worktree..."})]})})}),rs=(0,l.memo)(function({message:e,onRetry:t}){return a.jsx("div",{className:"flex items-center justify-center h-full min-h-[200px]",role:"alert","aria-live":"assertive",children:(0,a.jsxs)("div",{className:"text-center p-6 bg-red-50 rounded-lg border border-red-200 max-w-md",children:[a.jsx("svg",{className:"mx-auto h-12 w-12 text-red-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),a.jsx("p",{className:"text-red-600 font-medium",children:"Error loading worktree"}),a.jsx("p",{className:"text-red-500 text-sm mt-2",children:e}),t&&a.jsx("button",{type:"button",onClick:t,className:"mt-4 px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2",children:"Retry"})]})})}),rn=(0,l.memo)(function({worktreeId:e,worktree:t,onWorktreeUpdate:r}){let[s,n]=(0,l.useState)(!1),i=(0,l.useRef)(t?.id),o=(0,l.useRef)(!1),c=t9(t,r,t?.id,()=>{let e=t?.id!==i.current;return i.current=t?.id,e&&!o.current});return(o.current=c.isEditing,t)?a.jsx("div",{className:"p-4 space-y-4 overflow-y-auto h-full",children:a.jsx(re,{worktreeId:e,worktree:t,cardClassName:"bg-white rounded-lg border border-gray-200 p-4",descriptionEditor:c,showLogs:s,onToggleLogs:()=>n(!s)})}):a.jsx("div",{className:"text-gray-500 text-center py-8",children:"Loading worktree info..."})}),rl=(0,l.memo)(function({activeTab:e,worktreeId:t,worktree:r,messages:s,terminalOutput:n,isTerminalActive:l,isThinking:i,onFilePathClick:o,onFileSelect:c,onWorktreeUpdate:d,onNewFile:u,onNewDirectory:m,onRename:p,onDelete:h,onUpload:f,onMove:x,refreshTrigger:y,fileSearch:b,showToast:v}){switch(e){case"terminal":return a.jsx(g,{componentName:"TerminalDisplay",children:a.jsx(L,{output:n,isActive:l,isThinking:i,className:"h-full"})});case"history":return a.jsx(g,{componentName:"HistoryPane",children:a.jsx(X,{messages:s,worktreeId:t,onFilePathClick:o,className:"h-full",showToast:v})});case"files":return a.jsx(g,{componentName:"FileTreeView",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eB,{query:b.query,mode:b.mode,isSearching:b.isSearching,error:b.error,onQueryChange:b.setQuery,onModeChange:b.setMode,onClear:b.clearSearch}),a.jsx(eF,{worktreeId:t,onFileSelect:c,onNewFile:u,onNewDirectory:m,onRename:p,onDelete:h,onUpload:f,onMove:x,refreshTrigger:y,searchQuery:b.query,searchMode:b.mode,searchResults:b.results?.results,className:"flex-1 min-h-0"})]})});case"memo":return a.jsx(g,{componentName:"MemoPane",children:a.jsx(tD,{worktreeId:t,className:"h-full"})});case"info":return a.jsx(rn,{worktreeId:t,worktree:r,onWorktreeUpdate:d});default:return null}}),ri=(0,l.memo)(function({worktreeId:e}){let t=(0,s.useRouter)(),r=(0,h.d)(),{toggle:n,openMobileDrawer:i}=(0,f.Sz)(),{state:o,actions:c}=function(){let[e,t]=(0,l.useReducer)(p,void 0,m),r=(0,l.useMemo)(()=>({setPhase:e=>t({type:"SET_PHASE",phase:e}),setTerminalOutput:(e,r)=>t({type:"SET_TERMINAL_OUTPUT",output:e,realtimeSnippet:r}),setTerminalActive:e=>t({type:"SET_TERMINAL_ACTIVE",isActive:e}),setTerminalThinking:e=>t({type:"SET_TERMINAL_THINKING",isThinking:e}),showPrompt:(e,r)=>t({type:"SHOW_PROMPT",data:e,messageId:r}),clearPrompt:()=>t({type:"CLEAR_PROMPT"}),setPromptAnswering:e=>t({type:"SET_PROMPT_ANSWERING",answering:e}),setError:e=>t({type:"SET_ERROR",error:e}),clearError:()=>t({type:"CLEAR_ERROR"}),setMessages:e=>t({type:"SET_MESSAGES",messages:e}),addMessage:e=>t({type:"ADD_MESSAGE",message:e}),updateMessage:(e,r)=>t({type:"UPDATE_MESSAGE",id:e,updates:r}),clearMessages:()=>t({type:"CLEAR_MESSAGES"}),startWaitingForResponse:e=>t({type:"START_WAITING_FOR_RESPONSE",cliToolId:e}),responseReceived:e=>t({type:"RESPONSE_RECEIVED",message:e}),sessionEnded:()=>t({type:"SESSION_ENDED"}),setAutoScroll:e=>t({type:"SET_AUTO_SCROLL",enabled:e}),setMobileActivePane:e=>t({type:"SET_MOBILE_ACTIVE_PANE",pane:e}),setLeftPaneTab:e=>t({type:"SET_LEFT_PANE_TAB",tab:e}),setLayoutMode:e=>t({type:"SET_LAYOUT_MODE",mode:e}),setSplitRatio:e=>t({type:"SET_SPLIT_RATIO",ratio:e}),setWsConnected:e=>t({type:"SET_WS_CONNECTED",connected:e})}),[]);return{state:e,dispatch:t,actions:r}}(),d=(0,x.T)("worktree"),u=(0,x.T)("error"),y=(0,x.T)("common"),b=(0,x.T)("autoYes"),[v,w]=(0,l.useState)(null),[j,N]=(0,l.useState)(!0),[k,C]=(0,l.useState)(null),[S,T]=(0,l.useState)(!1),[E,A]=(0,l.useState)(null),[R,_]=(0,l.useState)(null),[O,P]=(0,l.useState)(!1),[I,D]=(0,l.useState)(!1),[$,F]=(0,l.useState)(null),z=(0,l.useRef)(!1),[H,W]=(0,l.useState)(!1),[B,U]=(0,l.useState)("claude"),G=(0,l.useRef)(B);G.current=B;let[V,q]=(0,l.useState)(0),Y=function(e){let{worktreeId:t,initialMode:r="name",debounceMs:a=300}=e,[s,n]=(0,l.useState)(""),[i,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(r),[u,m]=(0,l.useState)(!1),[p,h]=(0,l.useState)(null),[f,x]=(0,l.useState)(null),g=(0,l.useRef)(null),y=(0,l.useMemo)(()=>(0,ei.Ds)(e=>{o(e)},a),[a]),b=(0,l.useCallback)(e=>{n(e),y(e),x(null)},[y]),v=(0,l.useCallback)(()=>{n(""),o(""),h(null),x(null),m(!1),g.current&&(g.current.abort(),g.current=null)},[]),w=(0,l.useCallback)(e=>{if(!i.trim())return e;let t=i.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(t))},[i]),j=(0,l.useCallback)(()=>p&&0!==p.results.length?(0,ei.Ps)(p.results.map(e=>e.filePath)):new Set,[p]);return{query:s,mode:c,isSearching:u,results:p,error:f,setQuery:b,setMode:d,clearSearch:v,filterByName:w,getMatchedPaths:j}}({worktreeId:e}),Z=(0,l.useRef)(!1),K=(0,l.useRef)(e);(0,l.useEffect)(()=>{K.current!==e&&(c.clearMessages(),Z.current=!1,c.setTerminalOutput("",""),K.current=e)},[e,c]);let J=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}`);if(!t.ok)throw Error(`Failed to fetch worktree: ${t.status}`);let r=await t.json();return w(r),r}catch(e){return C(e instanceof Error?e.message:"Unknown error"),null}},[e]),Q=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}/messages?cliTool=${G.current}`);if(!t.ok)throw Error(`Failed to fetch messages: ${t.status}`);let r=await t.json();c.setMessages(r.map(e=>({...e,timestamp:new Date(e.timestamp)})))}catch(e){console.error("[WorktreeDetailRefactored] Error fetching messages:",e)}},[e,c]),ee=(0,l.useCallback)(async()=>{try{let t=await fetch(`/api/worktrees/${e}/current-output?cliTool=${G.current}`);if(!t.ok)return;let r=await t.json(),a=r.fullOutput??r.realtimeSnippet??"";if((a||r.isRunning)&&c.setTerminalOutput(a,r.realtimeSnippet??""),c.setTerminalActive(r.isRunning??!1),c.setTerminalThinking(r.thinking??!1),r.isPromptWaiting&&r.promptData?c.showPrompt(r.promptData,`prompt-${Date.now()}`):!r.isPromptWaiting&&o.prompt.visible&&c.clearPrompt(),r.autoYes){let e=z.current;D(r.autoYes.enabled),F(r.autoYes.expiresAt),z.current=r.autoYes.enabled,e&&!r.autoYes.enabled&&"stop_pattern_matched"===r.autoYes.stopReason&&W(!0)}}catch(e){console.error("[WorktreeDetailRefactored] Error fetching current output:",e)}},[e,c,o.prompt.visible]),et=(0,l.useRef)(B);(0,l.useEffect)(()=>{et.current!==B&&(et.current=B,c.clearMessages(),c.setTerminalOutput("",""),Q(),ee())},[B,c,Q,ee]);let er=(0,l.useCallback)(e=>{A(e)},[]),ea=(0,l.useCallback)(e=>{let t=e.split(".").pop()?.toLowerCase(),r=t?`.${t}`:"";tA.includes(r)?_(e):A(e)},[]),es=(0,l.useCallback)(()=>{A(null)},[]),eo=(0,l.useCallback)(()=>{_(null)},[]),ec=(0,l.useCallback)(e=>{q(e=>e+1)},[]),eu=(0,l.useCallback)(e=>{c.setLeftPaneTab(e)},[c]),em=(0,l.useCallback)(()=>{t.push("/")},[t]),ep=(0,l.useCallback)(()=>{T(!0)},[]),eh=(0,l.useCallback)(()=>{T(!1)},[]),ex=(0,l.useCallback)(async t=>{c.setPromptAnswering(!0);try{let r=function(e,t,r){let a={answer:e,cliTool:t};if(r&&(a.promptType=r.type,"multiple_choice"===r.type)){let e=r.options.find(e=>e.isDefault);e&&(a.defaultOptionNumber=e.number)}return a}(t,B,o.prompt.data),a=await fetch(`/api/worktrees/${e}/prompt-response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!a.ok)throw Error(`Failed to send prompt response: ${a.status}`);c.clearPrompt(),await ee()}catch(e){console.error("[WorktreeDetailRefactored] Error sending prompt response:",e)}finally{c.setPromptAnswering(!1)}},[e,c,ee,B,o.prompt.data]),ey=(0,l.useCallback)(()=>{c.clearPrompt()},[c]),eb=(0,l.useCallback)(e=>{c.setMobileActivePane(e)},[c]),ev=(0,l.useCallback)(e=>{c.setAutoScroll(e)},[c]),ej=(0,l.useCallback)(()=>{Q(),ee()},[Q,ee]),eN=(0,l.useCallback)(async t=>{try{let r=await fetch(`/api/worktrees/${e}/auto-yes`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:t.enabled,cliToolId:B,duration:t.duration,stopPattern:t.stopPattern})});if(r.ok){let e=await r.json();D(e.enabled),F(e.expiresAt),z.current=e.enabled}}catch(e){console.error("[WorktreeDetailRefactored] Error toggling auto-yes:",e)}},[e,B]),[ek,eC]=(0,l.useState)(!1),eS=(0,l.useCallback)(()=>{eC(!0)},[]),eT=(0,l.useCallback)(async()=>{eC(!1);try{if(!(await fetch(`/api/worktrees/${e}/kill-session?cliTool=${B}`,{method:"POST"})).ok)return;c.clearMessages(),c.setTerminalOutput("",""),c.setTerminalActive(!1),c.setTerminalThinking(!1),c.clearPrompt(),await J()}catch(e){console.error("[WorktreeDetailRefactored] Error killing session:",e)}},[e,B,c,J]),eE=(0,l.useCallback)(()=>{eC(!1)},[]),eM=(0,l.useCallback)(async t=>{let r=window.prompt("Enter file name (e.g., document.md):");if(!r)return;let a=r.endsWith(".md")?r:`${r}.md`,s=t?`${t}/${a}`:a;try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(s)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"file",content:""})})).ok)throw Error("Failed to create file");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to create file:",e),window.alert(u("fileOps.failedToCreateFile"))}},[e,u]),eA=(0,l.useCallback)(async t=>{let r=window.prompt("Enter directory name:");if(!r)return;let a=t?`${t}/${r}`:r;try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"directory"})})).ok)throw Error("Failed to create directory");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to create directory:",e),window.alert(u("fileOps.failedToCreateDirectory"))}},[e,u]),eR=(0,l.useCallback)(async t=>{let r=t.split("/").pop()||"",a=window.prompt("Enter new name:",r);if(a&&a!==r)try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",newName:a})})).ok)throw Error("Failed to rename");q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to rename:",e),window.alert(u("fileOps.failedToRename"))}},[e,u]),e_=(0,l.useCallback)(async t=>{let r=t.split("/").pop()||t;if(window.confirm(y("confirmDelete",{name:r})))try{if(!(await fetch(`/api/worktrees/${e}/files/${t8(t)}?recursive=true`,{method:"DELETE"})).ok)throw Error("Failed to delete");(R===t||R?.startsWith(`${t}/`))&&_(null),q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to delete:",e),window.alert(u("fileOps.failedToDelete"))}},[e,R,y,u]),{toasts:eO,showToast:eP,removeToast:eL}=(0,th.pm)();(0,l.useEffect)(()=>{H&&(eP(b("stopPatternMatched"),"info"),W(!1))},[H,eP,b]);let{moveTarget:eI,isMoveDialogOpen:eD,handleMove:e$,handleMoveConfirm:ez,handleMoveCancel:eH}=function(e,t,r,a){let[s,n]=(0,l.useState)(null),[i,o]=(0,l.useState)(!1),c=(0,l.useCallback)((e,t)=>{n({path:e,type:t}),o(!0)},[]),d=(0,l.useCallback)(async l=>{if(s)try{let n=await fetch(`/api/worktrees/${e}/files/${s.path}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"move",destination:l})}),i=await n.json();if(!n.ok||!i.success){let e=i.error?.message||"Failed to move";a?.(e);return}r?.("Moved successfully"),t()}catch{a?.("Failed to move")}finally{n(null),o(!1)}},[s,e,t,r,a]);return{moveTarget:s,isMoveDialogOpen:i,handleMove:c,handleMoveConfirm:d,handleMoveCancel:(0,l.useCallback)(()=>{n(null),o(!1)},[])}}(e,()=>q(e=>e+1),e=>eP(e,"success"),e=>eP(e,"error")),eW=(0,l.useRef)(null),eU=(0,l.useRef)(""),eG=(0,l.useCallback)(e=>{eU.current=e,eW.current?.click()},[]),eV=(0,l.useCallback)(async t=>{let r=t.target.files?.[0];if(!r)return;t.target.value="";let a=eU.current,s=`.${r.name.split(".").pop()?.toLowerCase()}`;if(!function(e){if(!e)return!1;let t=e.toLowerCase();return t_.includes(t)}(s)){eP(`Unsupported file type: ${s}. Allowed: ${t_.join(", ")}`,"error");return}let n=function(e){let t=function(e){let t=e.toLowerCase();return tR.find(e=>e.extension===t)}(e);return t?.maxFileSize??5242880}(s);if(r.size>n){eP(`File too large. Maximum size: ${(n/1024/1024).toFixed(1)}MB`,"error");return}let l=new FormData;l.append("file",r);try{let t=await fetch(`/api/worktrees/${e}/upload/${t8(a||".")}`,{method:"POST",body:l});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error?.message||"Failed to upload file";eP(r,"error");return}let r=await t.json();eP(`Uploaded: ${r.filename}`,"success"),q(e=>e+1)}catch(e){console.error("[WorktreeDetailRefactored] Failed to upload:",e),eP("Upload failed. Please try again.","error")}},[e,eP]),{data:eq}=tF(),eZ=eq?.hasUpdate??!1,{lastAutoResponse:eK}=function({worktreeId:e,cliTool:t,isPromptWaiting:r,promptData:a,autoYesEnabled:s,lastServerResponseTimestamp:n}){(0,l.useRef)(null);let[i,o]=(0,l.useState)(null);return{lastAutoResponse:i}}({worktreeId:e,cliTool:B,isPromptWaiting:o.prompt.visible,promptData:o.prompt.data,autoYesEnabled:I}),eX=(0,l.useCallback)(async()=>{C(null),N(!0),await J()&&await Promise.all([Q(),ee()]),N(!1)},[J,Q,ee]),eJ=(0,l.useRef)(0),e0=(0,l.useCallback)(async()=>{if("visible"!==document.visibilityState)return;let e=Date.now();if(!(e-eJ.current<5e3)){if(eJ.current=e,k){eX();return}try{await Promise.all([J(),Q(),ee()])}finally{C(null)}}},[k,eX,J,Q,ee]);(0,l.useEffect)(()=>{if(Z.current)return;let e=!0;return(async()=>{N(!0);let t=await J();e&&(t&&await Promise.all([Q(),ee()]),e&&(N(!1),Z.current=!0))})(),()=>{e=!1}},[J,Q,ee]),(0,l.useEffect)(()=>(document.addEventListener("visibilitychange",e0),()=>{document.removeEventListener("visibilitychange",e0)}),[e0]),(0,l.useEffect)(()=>{if(j||k)return;let e=setInterval(async()=>{await Promise.all([ee(),J(),Q()])},o.terminal.isActive?2e3:5e3);return()=>clearInterval(e)},[j,k,ee,J,Q,o.terminal.isActive]),(0,l.useEffect)(()=>{c.setLayoutMode(r?"tabs":"split")},[r,c]);let e1=(0,l.useMemo)(()=>(function(e,t,r="claude"){if(t)return"error";if(!e)return"idle";let a=e.sessionStatusByCli?.[r];if(a){if(a.isWaitingForResponse)return"waiting";if(a.isProcessing)return"running";if(a.isRunning)return"ready"}if("claude"===r){if(e.isWaitingForResponse)return"waiting";if(e.isProcessing)return"running";if(e.isSessionRunning)return"ready"}return"idle"})(v,null!==o.error.type,B),[v,o.error.type,B]),e2=(0,l.useMemo)(()=>o.layout.mobileActivePane,[o.layout.mobileActivePane]),e4=(0,l.useMemo)(()=>o.layout.leftPaneTab,[o.layout.leftPaneTab]),e5=v?.name??"Unknown";return j?a.jsx(ra,{}):k?a.jsx(rs,{message:k,onRetry:eX}):r?a.jsx(g,{componentName:"WorktreeDetailRefactored",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(ed,{worktreeName:e5,repositoryName:v?.repositoryName,status:e1,gitStatus:v?.gitStatus,onBackClick:em,onMenuClick:i}),v?.gitStatus&&v.gitStatus.isBranchMismatch&&a.jsx("div",{className:"fixed top-14 inset-x-0 z-35",children:a.jsx(t1,{isBranchMismatch:v.gitStatus.isBranchMismatch,currentBranch:v.gitStatus.currentBranch,initialBranch:v.gitStatus.initialBranch})}),(0,a.jsxs)("div",{className:"fixed top-14 inset-x-0 z-30 flex items-center justify-between px-3 py-1.5 bg-gray-50 border-b border-gray-200",children:[a.jsx(t0,{enabled:I,expiresAt:$,onToggle:eN,lastAutoResponse:eK,cliToolName:B,inline:!0}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[a.jsx("nav",{className:"flex gap-2","aria-label":"CLI Tool Selection",children:["claude","codex"].map(e=>{let t=(0,t2.He)(v?.sessionStatusByCli?.[e]),r=el.F4[t];return(0,a.jsxs)("button",{onClick:()=>U(e),className:`px-1.5 py-0.5 rounded font-medium text-xs transition-colors flex items-center gap-1 ${B===e?"bg-blue-100 text-blue-700":"text-gray-500 hover:text-gray-700"}`,"aria-current":B===e?"page":void 0,children:["spinner"===r.type?a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${r.className}`,title:r.label}):a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${r.className}`,title:r.label}),t7(e)]},e)})}),(0,a.jsxs)("button",{onClick:eS,disabled:!v?.sessionStatusByCli?.[B]?.isRunning,className:`flex items-center gap-0.5 px-1.5 py-0.5 text-xs font-medium rounded transition-colors ${v?.sessionStatusByCli?.[B]?.isRunning?"text-red-600 hover:bg-red-50":"invisible"}`,"aria-label":`End ${B} session`,children:[a.jsx("span",{"aria-hidden":"true",children:"✕"}),"End"]})]})]}),a.jsx("main",{className:"flex-1 pt-[6.25rem] pb-32 overflow-hidden",style:{paddingBottom:"calc(8rem + env(safe-area-inset-bottom, 0px))"},children:a.jsx(rl,{activeTab:e2,worktreeId:e,worktree:v,messages:o.messages,terminalOutput:o.terminal.output,isTerminalActive:o.terminal.isActive,isThinking:o.terminal.isThinking,onFilePathClick:er,onFileSelect:ea,onWorktreeUpdate:w,onNewFile:eM,onNewDirectory:eA,onRename:eR,onDelete:e_,onUpload:eG,onMove:e$,refreshTrigger:V,fileSearch:Y,showToast:eP})}),a.jsx("div",{className:"fixed left-0 right-0 border-t border-gray-200 bg-white p-2 z-30",style:{bottom:"calc(4rem + env(safe-area-inset-bottom, 0px))"},children:a.jsx(ew.R,{worktreeId:e,onMessageSent:ej,cliToolId:B,isSessionRunning:o.terminal.isActive})}),a.jsx(ef,{activeTab:e2,onTabChange:eb,hasNewOutput:!1,hasPrompt:o.prompt.visible,hasUpdate:eZ}),!I&&a.jsx(eg,{promptData:o.prompt.data,visible:o.prompt.visible,answering:o.prompt.answering,onRespond:ex,onDismiss:ey}),a.jsx(eQ,{isOpen:null!==E,onClose:es,worktreeId:e,filePath:E??""}),R&&a.jsx(tZ.u,{isOpen:!0,onClose:eo,title:R.split("/").pop()||"Editor",size:"full",disableClose:O,children:a.jsx("div",{className:"h-[80vh]",children:a.jsx(tM,{worktreeId:e,filePath:R,onClose:eo,onSave:ec,onMaximizedChange:P})})}),a.jsx("input",{ref:eW,type:"file",accept:t_.join(","),onChange:eV,className:"hidden","aria-label":"Upload file"}),a.jsx(tZ.u,{isOpen:ek,onClose:eE,title:d("session.confirmEnd",{tool:t7(B)}),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("p",{className:"text-sm text-gray-700",children:d("session.endWarning")}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:eE,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:y("cancel")}),a.jsx("button",{type:"button",onClick:eT,className:"px-4 py-2 text-sm font-medium rounded-md bg-red-600 hover:bg-red-700 text-white",children:y("end")})]})]})}),eI&&a.jsx(t6,{isOpen:eD,onClose:eH,onConfirm:ez,worktreeId:e,sourcePath:eI.path,sourceType:eI.type}),a.jsx(th.Ix,{toasts:eO,onClose:eL})]})}):a.jsx(g,{componentName:"WorktreeDetailRefactored",children:(0,a.jsxs)("div",{className:"h-full flex flex-col relative",children:[a.jsx(rt,{worktreeName:e5,repositoryName:v?.repositoryName??"Unknown",description:v?.description,status:e1,gitStatus:v?.gitStatus,onBackClick:em,onInfoClick:ep,onMenuClick:n,hasUpdate:eZ}),(0,a.jsxs)("div",{className:"px-4 py-2 bg-white border-b border-gray-200 flex items-center justify-between",children:[a.jsx("nav",{className:"flex gap-4","aria-label":"CLI Tool Selection",children:["claude","codex"].map(e=>{let t=(0,t2.He)(v?.sessionStatusByCli?.[e]),r=el.F4[t];return(0,a.jsxs)("button",{onClick:()=>U(e),className:`pb-2 px-2 border-b-2 font-medium text-sm transition-colors flex items-center gap-1.5 ${B===e?"border-blue-600 text-blue-600":"border-transparent text-gray-600 hover:text-gray-900"}`,"aria-current":B===e?"page":void 0,children:["spinner"===r.type?a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 border-2 border-t-transparent animate-spin ${r.className}`,title:r.label,"aria-label":`${e} status: ${r.label}`}):a.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${r.className}`,title:r.label,"aria-label":`${e} status: ${r.label}`}),t7(e)]},e)})}),v?.sessionStatusByCli?.[B]?.isRunning&&(0,a.jsxs)("button",{onClick:eS,className:"flex items-center gap-1 px-2 py-1 text-xs font-medium text-red-600 hover:text-red-800 hover:bg-red-50 rounded transition-colors","aria-label":`End ${B} session`,children:[a.jsx("span",{"aria-hidden":"true",children:"✕"}),"End Session"]})]}),v?.gitStatus&&a.jsx(t1,{isBranchMismatch:v.gitStatus.isBranchMismatch,currentBranch:v.gitStatus.currentBranch,initialBranch:v.gitStatus.initialBranch}),a.jsx("div",{className:"flex-1 min-h-0",children:a.jsx(M,{leftPane:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eY,{activeTab:e4,onTabChange:eu}),(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden",children:["history"===e4&&a.jsx(X,{messages:o.messages,worktreeId:e,onFilePathClick:er,className:"h-full",showToast:eP}),"files"===e4&&a.jsx(g,{componentName:"FileTreeView",children:(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[a.jsx(eB,{query:Y.query,mode:Y.mode,isSearching:Y.isSearching,error:Y.error,onQueryChange:Y.setQuery,onModeChange:Y.setMode,onClear:Y.clearSearch}),a.jsx(eF,{worktreeId:e,onFileSelect:ea,onNewFile:eM,onNewDirectory:eA,onRename:eR,onDelete:e_,onUpload:eG,onMove:e$,refreshTrigger:V,searchQuery:Y.query,searchMode:Y.mode,searchResults:Y.results?.results,className:"flex-1 min-h-0"})]})}),"memo"===e4&&a.jsx(g,{componentName:"MemoPane",children:a.jsx(tD,{worktreeId:e,className:"h-full"})})]})]}),rightPane:a.jsx(L,{output:o.terminal.output,isActive:o.terminal.isActive,isThinking:o.terminal.isThinking,autoScroll:o.terminal.autoScroll,onScrollChange:ev}),initialLeftWidth:40,minLeftWidth:20,maxLeftWidth:60})}),a.jsx("div",{className:"flex-shrink-0 border-t border-gray-200 p-4 bg-gray-50",children:a.jsx(ew.R,{worktreeId:e,onMessageSent:ej,cliToolId:B,isSessionRunning:o.terminal.isActive})}),a.jsx(t0,{enabled:I,expiresAt:$,onToggle:eN,lastAutoResponse:eK,cliToolName:B}),o.prompt.visible&&!I&&a.jsx("div",{className:"fixed bottom-20 left-1/2 transform -translate-x-1/2 z-50 w-full max-w-2xl px-4",children:a.jsx(en,{promptData:o.prompt.data,messageId:o.prompt.messageId,visible:o.prompt.visible,answering:o.prompt.answering,onRespond:ex,onDismiss:ey})}),a.jsx(rr,{worktreeId:e,worktree:v,isOpen:S,onClose:eh,onWorktreeUpdate:w}),a.jsx(eQ,{isOpen:null!==E,onClose:es,worktreeId:e,filePath:E??""}),R&&a.jsx(tZ.u,{isOpen:!0,onClose:eo,title:R.split("/").pop()||"Editor",size:"full",disableClose:O,children:a.jsx("div",{className:"h-[80vh]",children:a.jsx(tM,{worktreeId:e,filePath:R,onClose:eo,onSave:ec,onMaximizedChange:P})})}),a.jsx("input",{ref:eW,type:"file",accept:t_.join(","),onChange:eV,className:"hidden","aria-label":"Upload file"}),a.jsx(tZ.u,{isOpen:ek,onClose:eE,title:d("session.confirmEnd",{tool:t7(B)}),size:"sm",showCloseButton:!0,children:(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("p",{className:"text-sm text-gray-700",children:d("session.endWarning")}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[a.jsx("button",{type:"button",onClick:eE,className:"px-4 py-2 text-sm font-medium rounded-md bg-gray-200 hover:bg-gray-300 text-gray-700",children:y("cancel")}),a.jsx("button",{type:"button",onClick:eT,className:"px-4 py-2 text-sm font-medium rounded-md bg-red-600 hover:bg-red-700 text-white",children:y("end")})]})]})}),eI&&a.jsx(t6,{isOpen:eD,onClose:eH,onConfirm:ez,worktreeId:e,sourcePath:eI.path,sourceType:eI.type}),a.jsx(th.Ix,{toasts:eO,onClose:eL})]})})});function ro(){let e=(0,s.useParams)().id;return a.jsx(n.Vw,{children:a.jsx(ri,{worktreeId:e})})}},81194:(e,t,r)=>{"use strict";r.d(t,{O:()=>n});var a=r(10326),s=r(17577);function n({src:e,alt:t,onError:r}){let[n,l]=(0,s.useState)(!1);return n?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-gray-500",children:[a.jsx("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),a.jsx("p",{className:"text-sm",children:"Failed to load image"}),a.jsx("p",{className:"text-xs text-gray-400 mt-1",children:t})]}):a.jsx("div",{className:"flex items-center justify-center p-4",children:a.jsx("img",{src:e,alt:t,onError:()=>{l(!0),r?.()},style:{maxWidth:"100%",maxHeight:"500px",objectFit:"contain"},className:"rounded-lg shadow-sm"})})}},89918:(e,t,r)=>{"use strict";r.d(t,{R:()=>n});var a=r(10326),s=r(17577);function n({src:e,onError:t}){let[r,n]=(0,s.useState)(!0),[l,i]=(0,s.useState)(!1);return l?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-gray-500",children:[a.jsx("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})}),a.jsx("p",{className:"text-sm",children:"Failed to load video"})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center p-4",children:[r&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-8",children:[a.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-blue-600"}),a.jsx("p",{className:"ml-3 text-gray-600",children:"Loading video..."})]}),a.jsx("video",{controls:!0,src:e,onLoadedData:()=>{n(!1)},onError:()=>{n(!1),i(!0),t?.()},style:{maxWidth:"100%",maxHeight:"500px",display:r?"none":"block"},className:"rounded-lg shadow-sm",children:"Your browser does not support the video tag."})]})}},22570:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});let a=(0,r(68570).createProxy)(String.raw`/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx#default`)},4803:()=>{},63817:(e,t,r)=>{"use strict";let a=r(51387),s=a.types;function n(e,t){var r;t||(t={});let n=void 0===t.limit?25:t.limit;(r=e,"[object RegExp]"===({}).toString.call(r))?e=e.source:"string"!=typeof e&&(e=String(e));try{e=a(e)}catch{return!1}let l=0;return function e(t,r){let a,i;if(t.type===s.REPETITION&&(r++,l++,r>1||l>n))return!1;if(t.options){for(a=0,i=t.options.length;a<i;a++)if(!e({stack:t.options[a]},r))return!1}let o=t.stack||t.value?.stack;if(!o)return!0;for(a=0;a<o.length;a++)if(!e(o[a],r))return!1;return!0}(e,0)}e.exports=n,e.exports.default=n,e.exports.safeRegex=n}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[8948,3294,6621,8705,7458,7808,3860,539],()=>r(80205));module.exports=a})();
|