@openchambery/web 1.19.5-beta.3 → 1.19.5-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AgentAvatar-CsiLLu1E.js → AgentAvatar-DMpOrMIQ.js} +1 -1
- package/dist/assets/{AssistantView-DgpSEtGP.js → AssistantView-yBEtonie.js} +1 -1
- package/dist/assets/{ChatContainer-D0qGR4rB.js → ChatContainer-BOi9iz27.js} +4 -4
- package/dist/assets/{ContextPanel-BSXyAChA.js → ContextPanel-AdZZ4JBG.js} +3 -3
- package/dist/assets/{DiagramView-B-nKkS9W.js → DiagramView-bQvW8jaw.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-DqxqOPTd.js → MarkdownRendererImpl-CykGqBa-.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-DkAeoCOb.js → MobileDetailNavigation-CE1s2ZEr.js} +1 -1
- package/dist/assets/{MobileShareBridge-DG3Ruuma.js → MobileShareBridge-C5w6oHUJ.js} +1 -1
- package/dist/assets/{MobileSurface-C4HdLHq7.js → MobileSurface-DMv5Y8M5.js} +1 -1
- package/dist/assets/{MultiRunWindow-y03QkS-Y.js → MultiRunWindow-C5_K_mdR.js} +1 -1
- package/dist/assets/{OnboardingScreen-Bv4ZepJD.js → OnboardingScreen-DoR_GB8b.js} +1 -1
- package/dist/assets/SettingsView-orus6n2g.js +25 -0
- package/dist/assets/{SettingsWindow-6aVPTn4H.js → SettingsWindow-BW9mYwHR.js} +1 -1
- package/dist/assets/{TerminalView-Dm1jRb76.js → TerminalView-BSOUHyOO.js} +1 -1
- package/dist/assets/{ToolOutputDialog-jYdZ3-3Z.js → ToolOutputDialog-nSZ8-Kjx.js} +1 -1
- package/dist/assets/{appThemeRegistry-CfsrBbrR.js → appThemeRegistry-BqqUte4z.js} +2 -2
- package/dist/assets/{clipboard-CdFyntbr.js → clipboard-CadKjjVT.js} +1 -1
- package/dist/assets/{dialog-DlS23C-q.js → dialog-Dz2MBeLn.js} +1 -1
- package/dist/assets/{es-B2ybWxIT.js → es-BZlHrH2p.js} +1 -1
- package/dist/assets/{fr-CpdWiNYi.js → fr-Dkw9WDcW.js} +1 -1
- package/dist/assets/{gitApi-4Qfl46MG.js → gitApi-DcgZ2eTY.js} +1 -1
- package/dist/assets/{insertionBoundaries-B6NLOnVF.js → insertionBoundaries-BvWyoeKg.js} +1 -1
- package/dist/assets/{ja-r-qxubSE.js → ja-DW5lcaNV.js} +1 -1
- package/dist/assets/{ko-DwsRLPip.js → ko-B9WorSEt.js} +1 -1
- package/dist/assets/{main-wifPl4Xt.js → main-5aHBuDgM.js} +2 -2
- package/dist/assets/{main-BATuFA3c.js → main-C2UbPCo7.js} +3 -3
- package/dist/assets/{miniChat-t1K5xjaS.js → miniChat-CUFkoTCJ.js} +2 -2
- package/dist/assets/{mobile-H5UBQx8z.js → mobile-B_x6fY62.js} +2 -2
- package/dist/assets/{multirun-SE4ed5un.js → multirun-uwd4aNIT.js} +1 -1
- package/dist/assets/{pl-Ch4izaEa.js → pl-CyKNdwrh.js} +1 -1
- package/dist/assets/{projectMeta-CIIRnj8d.js → projectMeta-engw2_70.js} +1 -1
- package/dist/assets/{pt-BR-CtMhi2sl.js → pt-BR-Ch6qBc5C.js} +1 -1
- package/dist/assets/{radio-ClpfwLAB.js → radio-BHGZb0sh.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-C3y0p106.js → renderElectronMiniChatApp-kwVnDxKi.js} +2 -2
- package/dist/assets/{renderMobileApp-DfeIwuDP.js → renderMobileApp-Bt-LuBXK.js} +4 -4
- package/dist/assets/{runtimeConfig-BkWkAQMN.js → runtimeConfig-_JcGrrxY.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-Dqe0EXYE.js → runtimeEndpointReset-CN0a3Q6V.js} +1 -1
- package/dist/assets/{shikiHighlight-CQMlyvSC.js → shikiHighlight-CUBUPsOF.js} +1 -1
- package/dist/assets/{sortable-tabs-strip-BzSL5abP.js → sortable-tabs-strip-xB36tCMU.js} +1 -1
- package/dist/assets/{store-TODQ6GlW.js → store-DtS03LqZ.js} +2 -2
- package/dist/assets/{uk-BDy81LTC.js → uk-D1ao_8g2.js} +1 -1
- package/dist/assets/{useAppFontEffects-BLl_ZJIz.js → useAppFontEffects-w2z4tQjp.js} +2 -2
- package/dist/assets/{useDesktopWindowControlsLayout-BCQ5IgXO.js → useDesktopWindowControlsLayout-CsOlndNX.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-DBYdr3Zv.js → useEffectiveDirectory-DztZ8U3M.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-BIaXj4t-.js → useMobileNavigationStore-BzOSycct.js} +5 -5
- package/dist/assets/{useSessionAutoCleanup-xmyar0m0.js → useSessionAutoCleanup-PXfozK-R.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-BWNMQhuA.js → useWorkerHighlightedLines-B8JOB6wA.js} +1 -1
- package/dist/assets/{zh-CN-DreKLxqQ.js → zh-CN-BXlKlFLt.js} +1 -1
- package/dist/assets/{zh-TW-CUSfDrKD.js → zh-TW-DJF4ZBft.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
- package/server/index.js +40 -0
- package/server/lib/opencode/core-routes.js +56 -23
- package/server/lib/opencode/core-routes.test.js +206 -6
- package/server/lib/relay/DOCUMENTATION.md +2 -1
- package/server/lib/relay/service.js +223 -71
- package/server/lib/relay/service.test.js +96 -13
- package/dist/assets/SettingsView-BR7OVpEL.js +0 -25
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-
|
|
2
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{C as t,E as n,I as r,K as i,P as a,T as o,U as s,t as c}from"./useUIStore-DOxLVeGb.js";import{$t as l,D as u,Rt as d,Xt as f,Yt as p,d as m,in as h,k as g,kn as _,qt as v,r as y,rn as b,st as x}from"./persistence-DE9RnVcA.js";import{a as S}from"./vendor-zustand-B4dlGEM2.js";import{nt as C,rt as w,tt as T}from"./vendor-base-ui-CnHfUmDN.js";import{Mt as E,Nt as D}from"./platform-MjT8iqKB.js";import{o as O}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as k}from"./vendor-react-DLPElpoQ.js";import{n as A,s as j}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as M,ct as N}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{n as P}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ee,o as F,r as I,t as te}from"./clipboard-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-nSZ8-Kjx.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-DOxLVeGb.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-DE9RnVcA.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-CadKjjVT.js","assets/store-DtS03LqZ.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/dialog-Dz2MBeLn.js","assets/utils-C2R0YoC5.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-BLWVqBee.js","assets/button-CeCkEpvn.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-H7_7lbuh.js","assets/vendor-pierre-diffs-BenIz2TM.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/appThemeRegistry-BqqUte4z.js","assets/platform-MjT8iqKB.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-BzOSycct.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-D2K7ksGj.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-DqO-GnVj.js","assets/useEffectiveDirectory-DztZ8U3M.js","assets/useWorkerHighlightedLines-B8JOB6wA.js","assets/tooltip-B__x-HDJ.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{C as t,E as n,I as r,K as i,P as a,T as o,U as s,t as c}from"./useUIStore-DOxLVeGb.js";import{$t as l,D as u,Rt as d,Xt as f,Yt as p,d as m,in as h,k as g,kn as _,qt as v,r as y,rn as b,st as x}from"./persistence-DE9RnVcA.js";import{a as S}from"./vendor-zustand-B4dlGEM2.js";import{nt as C,rt as w,tt as T}from"./vendor-base-ui-CnHfUmDN.js";import{Mt as E,Nt as D}from"./platform-MjT8iqKB.js";import{o as O}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as k}from"./vendor-react-DLPElpoQ.js";import{n as A,s as j}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as M,ct as N}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{n as P}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ee,o as F,r as I,t as te}from"./clipboard-CadKjjVT.js";import{i as ne,t as L}from"./store-DtS03LqZ.js";import{Ao as re,Ar as ie,Bt as R,En as ae,Gt as z,Ja as B,Kt as V,_n as oe,an as se,dn as H,ei as U,gn as W,gr as G,ha as K,hn as ce,in as le,jn as q,l as ue,ma as de,na as fe,nn as pe,on as me,rn as he,zt as ge}from"./useMobileNavigationStore-BzOSycct.js";import{a as _e,i as ve,n as ye,o as be,r as xe,t as Se}from"./dialog-Dz2MBeLn.js";import{a as Ce,i as we,o as Te,t as J}from"./utils-C2R0YoC5.js";import{n as Y}from"./Icon-BLWVqBee.js";import{t as X}from"./button-CeCkEpvn.js";import{A as Ee,j as De,o as Oe}from"./projectMeta-engw2_70.js";import{t as ke}from"./input-CyG05w-V.js";import{i as Ae,n as je,t as Me}from"./tooltip-B__x-HDJ.js";import{n as Ne,t as Pe}from"./useThemeSystem-DMzWVJaW.js";import{A as Fe,C as Ie,K as Le,P as Re,S as ze,V as Be,_ as Ve,c as He,n as Ue,s as We,v as Ge,w as Ke,x as qe,y as Je}from"./radio-BHGZb0sh.js";import{i as Ye,t as Xe}from"./OverlayScrollbar-GQgJusKL.js";import{f as Ze,g as Qe,h as $e,x as et}from"./markdownTheme-H7_7lbuh.js";import{G as tt,H as nt,I as rt,J as it,N as at,P as ot,R as st,X as ct,Y as lt,_ as ut,a as Z,c as dt,d as ft,et as pt,f as mt,g as ht,l as gt,m as _t,n as vt,nt as yt,o as bt,p as xt,q as St,s as Ct,z as wt}from"./ChatContainer-BOi9iz27.js";import{n as Tt}from"./useRuntimeAPIs-DSLXJybW.js";import{F as Et,P as Dt,b as Ot,g as kt,x as At,y as jt}from"./insertionBoundaries-BvWyoeKg.js";import{i as Mt,n as Nt,t as Pt,u as Ft}from"./appThemeRegistry-BqqUte4z.js";import{a as It}from"./url-CTuw7Rjf.js";import{f as Lt,g as Rt,h as zt,m as Bt,p as Vt}from"./markdown-worker-DqO-GnVj.js";import{n as Ht}from"./useEffectiveDirectory-DztZ8U3M.js";import{o as Ut}from"./FadeInOnReveal-Cy3sf2M5.js";import{g as Wt,n as Gt}from"./useWorkerHighlightedLines-B8JOB6wA.js";import{t as Kt}from"./sortable-tabs-strip-xB36tCMU.js";import{a as qt,c as Jt,d as Yt,f as Xt,l as Zt,m as Qt,n as $t,o as en,p as tn,s as nn,t as rn,u as an}from"./vendor-pierre-diffs-BenIz2TM.js";import{a as on,c as sn,i as cn,l as ln,n as un,o as dn,r as fn,s as pn,t as mn}from"./shikiHighlight-CUBUPsOF.js";import{n as hn,r as gn,t as _n}from"./collapsible-B-aagADh.js";import{t as vn}from"./diagram-Cxma_IKI.js";import{t as yn}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as bn,t as xn}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(w(),1),Sn=k(),$=C(),Cn=e(T(),1);function wn(){return new Worker(rn,{type:`module`})}var Tn=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],En={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},Dn,On,kn=e=>{let t=En[e],n=new tn({workerFactory:wn,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Tn,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},An=e=>{if(!(typeof window>`u`))return e===`split`?(On??=kn(`split`),On):(Dn??=kn(`unified`),Dn)},jn=e=>{let t=(0,Sn.c)(7),{children:n,renderTheme:r}=e,i=Nn(`unified`),a=Nn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:En.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:En.split.lineDiffType})},s=[r,a,i],t[0]=r,t[1]=a,t[2]=i,t[3]=o,t[4]=s):(o=t[3],s=t[4]),(0,Q.useEffect)(o,s);let c;return t[5]===n?c=t[6]:(c=(0,$.jsx)($.Fragment,{children:n}),t[5]=n,t[6]=c),c},Mn=e=>{let t=(0,Sn.c)(11),{children:n}=e,r=Pe(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=et(!1),n=et(!0),o=r?.lightThemeId??e.metadata.id,s=r?.darkThemeId??n.metadata.id;a=r?.availableThemes.find(e=>e.metadata.id===o)??e,i=r?.availableThemes.find(e=>e.metadata.id===s)??n,Pt(a),Pt(i),t[0]=r?.availableThemes,t[1]=r?.darkThemeId,t[2]=r?.lightThemeId,t[3]=i,t[4]=a}else i=t[3],a=t[4];let o;t[5]!==i.metadata.id||t[6]!==a.metadata.id?(o={light:a.metadata.id,dark:i.metadata.id},t[5]=i.metadata.id,t[6]=a.metadata.id,t[7]=o):o=t[7];let s=o,c;return t[8]!==n||t[9]!==s?(c=(0,$.jsx)(jn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Nn=e=>{let t=(0,Sn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=An(n),t[0]=n,t[1]=r),r};function Pn(e){let t=(0,Sn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=ee(),c=Pe()?.currentTheme,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=typeof n.text==`string`?n.text:``,m;t[0]===p?m=t[1]:(m=p.length>150||p.split(`
|
|
3
3
|
`).length>3,t[0]=p,t[1]=m);let h=m,g;t[2]===a?g=t[3]:(g=J(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden transition-all duration-200`,a),t[2]=a,t[3]=g);let _=c?.colors?.surface?.elevated,v=c?.colors?.interactive?.border,y=o?`${Math.max(200,Math.floor(o))}px`:void 0,b;t[4]!==_||t[5]!==v||t[6]!==y?(b={backgroundColor:_,borderColor:v,maxWidth:y},t[4]=_,t[5]=v,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),f(!0)},t[8]=x):x=t[8];let S;t[9]!==g||t[10]!==b?(S=(0,$.jsx)(`div`,{className:g,style:b,"data-comment-card":`true`,onContextMenu:x}),t[9]=g,t[10]=b,t[11]=S):S=t[11];let C;t[12]===n.fileLabel?C=t[13]:(C=(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,title:n.fileLabel,children:n.fileLabel}),t[12]=n.fileLabel,t[13]=C);let w;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{children:`•`}),t[14]=w):w=t[14];let T;t[15]!==n.endLine||t[16]!==n.startLine||t[17]!==s?(T=s(`inlineComment.range.lines`,{start:n.startLine,end:n.endLine}),t[15]=n.endLine,t[16]=n.startLine,t[17]=s,t[18]=T):T=t[18];let E;t[19]===T?E=t[20]:(E=(0,$.jsx)(`span`,{children:T}),t[19]=T,t[20]=E);let D;t[21]===n.side?D=t[22]:(D=n.side&&(0,$.jsxs)(`span`,{children:[`(`,n.side,`)`]}),t[21]=n.side,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==C?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-1.5`,children:[C,w,E,D]}),t[23]=E,t[24]=D,t[25]=C,t[26]=O):O=t[26];let k=l||!h,A=!l&&h&&`line-clamp-3`,j;t[27]===A?j=t[28]:(j=J(`text-sm whitespace-pre-wrap break-words leading-relaxed`,A),t[27]=A,t[28]=j);let M;t[29]!==p||t[30]!==j?(M=(0,$.jsx)(`div`,{className:j,children:p}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==h||t[33]!==l||t[34]!==s?(N=h&&(0,$.jsx)(gn,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-6 px-0 mt-1 text-xs text-muted-foreground hover:text-foreground w-full justify-start`,children:l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=N):N=t[35];let P;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(hn,{}),t[36]=P):P=t[36];let F;t[37]!==k||t[38]!==M||t[39]!==N?(F=(0,$.jsxs)(_n,{open:k,onOpenChange:u,children:[M,N,P]}),t[37]=k,t[38]=M,t[39]=N,t[40]=F):F=t[40];let I;t[41]!==O||t[42]!==F?(I=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,F]}),t[41]=O,t[42]=F,t[43]=I):I=t[43];let te;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(Ke,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Y,{name:`more`,className:`size-4`})})}),t[44]=te):te=t[44];let ne;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(Y,{name:`edit`,className:`size-4 mr-2`}),t[45]=ne):ne=t[45];let L;t[46]===s?L=t[47]:(L=s(`inlineComment.actions.editComment`),t[46]=s,t[47]=L);let re;t[48]!==r||t[49]!==L?(re=(0,$.jsxs)(Je,{onClick:r,children:[ne,L]}),t[48]=r,t[49]=L,t[50]=re):re=t[50];let ie;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=ie):ie=t[51];let R;t[52]===s?R=t[53]:(R=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=R);let ae;t[54]!==i||t[55]!==R?(ae=(0,$.jsxs)(Je,{onClick:i,className:`text-destructive`,children:[ie,R]}),t[54]=i,t[55]=R,t[56]=ae):ae=t[56];let z;t[57]!==re||t[58]!==ae?(z=(0,$.jsxs)(Ve,{children:[te,(0,$.jsxs)(Ge,{align:`end`,children:[re,ae]})]}),t[57]=re,t[58]=ae,t[59]=z):z=t[59];let B;t[60]!==I||t[61]!==z?(B=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[I,z]}),t[60]=I,t[61]=z,t[62]=B):B=t[62];let V;t[63]!==B||t[64]!==S?(V=(0,$.jsx)(ln,{render:S,children:B}),t[63]=B,t[64]=S,t[65]=V):V=t[65];let oe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(Y,{name:`edit`,className:`size-4 mr-2`}),t[66]=oe):oe=t[66];let se;t[67]===s?se=t[68]:(se=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=se);let H;t[69]!==r||t[70]!==se?(H=(0,$.jsxs)(pn,{onClick:r,children:[oe,se]}),t[69]=r,t[70]=se,t[71]=H):H=t[71];let U;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=U):U=t[72];let W;t[73]===s?W=t[74]:(W=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=W);let G;t[75]!==i||t[76]!==W?(G=(0,$.jsxs)(pn,{onClick:i,className:`text-destructive focus:text-destructive`,children:[U,W]}),t[75]=i,t[76]=W,t[77]=G):G=t[77];let K;t[78]!==H||t[79]!==G?(K=(0,$.jsxs)(dn,{children:[H,G]}),t[78]=H,t[79]=G,t[80]=K):K=t[80];let ce;return t[81]!==d||t[82]!==V||t[83]!==K?(ce=(0,$.jsxs)(on,{open:d,onOpenChange:f,children:[V,K]}),t[81]=d,t[82]=V,t[83]=K,t[84]=ce):ce=t[84],ce}function Fn(e){let t=(0,Sn.c)(67),{initialText:n,onTextChange:r,onSave:i,onCancel:a,fileLabel:o,lineRange:s,isEditing:c,className:l,maxWidth:u,onAddToChat:d}=e,f=n===void 0?``:n,p=c!==void 0&&c,{t:m}=ee(),h=Pe()?.currentTheme,{isMobile:g}=Ye(),[_,v]=Q.useState(f),y=(0,Q.useRef)(null),b;t[0]===r?b=t[1]:(b=e=>{v(e),r?.(e)},t[0]=r,t[1]=b);let x=b,S=(0,Q.useRef)(s),C,w;t[2]===s?(C=t[3],w=t[4]):(C=()=>{s&&(S.current=s)},w=[s],t[2]=s,t[3]=C,t[4]=w),(0,Q.useEffect)(C,w);let T=Un,E=T(s),D,O;t[5]===g?(D=t[6],O=t[7]):(D=()=>{let e=y.current;if(!e)return;let t=e.closest(`.overlay-scrollbar-container`),n=t?.scrollTop??window.scrollY,r=t?.scrollLeft??window.scrollX;if(g){e.scrollIntoView({behavior:`auto`,block:`nearest`});try{e.focus({preventScroll:!0})}catch{e.focus()}return}try{e.focus({preventScroll:!0})}catch{e.focus()}let i=e.value.length;try{e.setSelectionRange(i,i)}catch{}requestAnimationFrame(()=>{t?(t.scrollTop=n,t.scrollLeft=r):window.scrollTo({top:n,left:r})})},O=[g],t[5]=g,t[6]=D,t[7]=O),(0,Q.useEffect)(D,O);let k;t[8]!==a||t[9]!==i||t[10]!==_?(k=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`?(e.preventDefault(),_.trim()&&i(_,T(S.current))):e.key===`Escape`&&(e.preventDefault(),a())},t[8]=a,t[9]=i,t[10]=_,t[11]=k):k=t[11];let A=k,j;t[12]!==i||t[13]!==_?(j=e=>{e.stopPropagation(),_.trim()&&i(_,T(S.current))},t[12]=i,t[13]=_,t[14]=j):j=t[14];let M=j,N;t[15]===l?N=t[16]:(N=J(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,l),t[15]=l,t[16]=N);let P=h?.colors?.surface?.elevated,F=h?.colors?.interactive?.border,I=u?`${Math.max(200,Math.floor(u))}px`:void 0,te;t[17]!==P||t[18]!==F||t[19]!==I?(te={backgroundColor:P,borderColor:F,maxWidth:I},t[17]=P,t[18]=F,t[19]=I,t[20]=te):te=t[20];let ne=Hn,L=Vn,re=(o||s)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-2`,children:[o&&(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,children:o}),o&&s&&(0,$.jsx)(`span`,{children:`•`}),E&&(0,$.jsx)(`span`,{children:m(`inlineComment.range.lines`,{start:E.start,end:E.end})})]}),ie;t[21]===x?ie=t[22]:(ie=e=>x(e.target.value),t[21]=x,t[22]=ie);let R;t[23]!==g||t[24]!==m?(R=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=R):R=t[25];let ae;t[26]!==A||t[27]!==ie||t[28]!==R||t[29]!==_?(ae=(0,$.jsx)(Oe,{simple:!0,ref:y,value:_,onChange:ie,onKeyDown:A,placeholder:R,outerClassName:`rounded-[var(--radius-xl)] bg-[var(--surface-subtle)] ring-1 ring-inset ring-border/60 focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,className:`min-h-[80px] px-3 py-2.5 text-sm resize-y`}),t[26]=A,t[27]=ie,t[28]=R,t[29]=_,t[30]=ae):ae=t[30];let z;t[31]!==E||t[32]!==d||t[33]!==m?(z=E&&d?(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:Bn,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(Y,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(tt,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=z):z=t[34];let B;t[35]===m?B=t[36]:(B=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=B);let V;t[37]!==a||t[38]!==B?(V=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:zn,onTouchStart:Rn,className:`h-8 text-muted-foreground hover:text-foreground`,children:B}),t[37]=a,t[38]=B,t[39]=V):V=t[39];let oe;t[40]===_?oe=t[41]:(oe=_.trim(),t[40]=_,t[41]=oe);let se=!oe,H=h?.colors?.status?.success,U=h?.colors?.status?.successForeground,W;t[42]!==H||t[43]!==U?(W={backgroundColor:H,color:U},t[42]=H,t[43]=U,t[44]=W):W=t[44];let G;t[45]!==p||t[46]!==m?(G=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=G):G=t[47];let K;t[48]!==M||t[49]!==se||t[50]!==W||t[51]!==G?(K=(0,$.jsx)(X,{size:`sm`,onClick:M,onPointerDown:Ln,onTouchStart:In,disabled:se,className:`h-8 min-w-[80px]`,style:W,children:G}),t[48]=M,t[49]=se,t[50]=W,t[51]=G,t[52]=K):K=t[52];let ce;t[53]!==z||t[54]!==V||t[55]!==K?(ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[z,V,K]}),t[53]=z,t[54]=V,t[55]=K,t[56]=ce):ce=t[56];let le;t[57]!==re||t[58]!==ae||t[59]!==ce?(le=(0,$.jsxs)(`div`,{className:`p-3`,children:[re,ae,ce]}),t[57]=re,t[58]=ae,t[59]=ce,t[60]=le):le=t[60];let q;return t[61]!==N||t[62]!==te||t[63]!==ne||t[64]!==L||t[65]!==le?(q=(0,$.jsx)(`div`,{className:N,style:te,"data-comment-input":`true`,onPointerDown:ne,onTouchStart:L,children:le}),t[61]=N,t[62]=te,t[63]=ne,t[64]=L,t[65]=le,t[66]=q):q=t[66],q}function In(e){return e.stopPropagation()}function Ln(e){return e.stopPropagation()}function Rn(e){return e.stopPropagation()}function zn(e){return e.stopPropagation()}function Bn(e){return e.stopPropagation()}function Vn(e){return e.stopPropagation()}function Hn(e){return e.stopPropagation()}function Un(e){if(!e)return;let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}}var Wn=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},Gn=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function Kn(e){let t=(0,Sn.c)(40),{t:n}=ee(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=ue(Qn),u=ue(Zn),d=lt(Xn),f=lt(Yn),p=lt(Jn),m=lt(qn),[h,g]=Q.useState(null),[_,v]=Q.useState(``),[y,b]=Q.useState(null),x=l??(u?`draft`:null),S;bb0:{if(!x||!i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],S=e;break bb0}let e;t[1]!==m||t[2]!==x?(e=m[x]??[],t[1]=m,t[2]=x,t[3]=e):e=t[3];let n=e,a;if(t[4]!==i||t[5]!==n||t[6]!==r){let e;t[8]!==i||t[9]!==r?(e=e=>e.source===r&&e.fileLabel===i,t[8]=i,t[9]=r,t[10]=e):e=t[10],a=n.filter(e),t[4]=i,t[5]=n,t[6]=r,t[7]=a}else a=t[7];S=a}let C=S,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{g(null),v(``),b(null)},t[11]=w):w=t[11];let T=w,E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{T()},t[12]=E):E=t[12];let D=E,O;t[13]===c?O=t[14]:(O=e=>{let t=Gn(c(e));g(t),v(e.text),b(e.id)},t[13]=c,t[14]=O);let k=O,A;t[15]!==y||t[16]!==p?(A=e=>{p(e.sessionKey,e.id),y===e.id&&T()},t[15]=y,t[16]=p,t[17]=A):A=t[17];let j=A,M;t[18]!==d||t[19]!==y||t[20]!==i||t[21]!==o||t[22]!==a||t[23]!==h||t[24]!==x||t[25]!==r||t[26]!==n||t[27]!==s||t[28]!==f?(M=(e,t)=>{let c=t??h,l=e.trim();if(!c||!l||!i)return;if(!x){G.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=Gn(c),p=Wn(s(u)),m=o(u);y?f(x,y,{fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}):d({sessionKey:x,source:r,fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}),T()},t[18]=d,t[19]=y,t[20]=i,t[21]=o,t[22]=a,t[23]=h,t[24]=x,t[25]=r,t[26]=n,t[27]=s,t[28]=f,t[29]=M):M=t[29];let N=M,P;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==N||t[36]!==h||t[37]!==x||t[38]!==k?(P={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:N,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=N,t[36]=h,t[37]=x,t[38]=k,t[39]=P):P=t[39],P}function qn(e){return e.drafts}function Jn(e){return e.removeDraft}function Yn(e){return e.updateDraft}function Xn(e){return e.addDraft}function Zn(e){return e.newSessionDraft?.open}function Qn(e){return e.currentSessionId}function $n(e){let{drafts:t,editingDraftId:n,commentText:r,onTextChange:i,selection:a,isDragging:o,fileLabel:s,newWidgetId:c,mapDraftToRange:l,onSave:u,onCancel:d,onEdit:f,onDelete:p,onAddToChat:m}=e,h=[];for(let e of t){let t=l(e);if(e.id===n){h.push({afterLine:t.end,id:`edit-${e.id}`,content:(0,$.jsx)(Fn,{initialText:r,onTextChange:i,fileLabel:s,lineRange:t,isEditing:!0,onSave:u,onCancel:d,onAddToChat:m},`edit-${e.id}`)});continue}h.push({afterLine:t.end,id:`card-${e.id}`,content:(0,$.jsx)(Pn,{draft:e,onEdit:()=>f(e),onDelete:()=>p(e)},`card-${e.id}`)})}if(a&&!n&&!o){let e={...a,start:Math.min(a.start,a.end),end:Math.max(a.start,a.end)};h.push({afterLine:e.end,id:c,content:(0,$.jsx)(Fn,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var er=e=>{if(e.type===`new`){let t=Math.min(e.selection.start,e.selection.end),n=Math.max(e.selection.start,e.selection.end);return`new-comment-${e.selection.side??`additions`}-${t}-${n}`}return`draft-${e.draft.id}`},tr=e=>{let{drafts:t,editingDraftId:n,selection:r}=e,i=[];for(let e of t){if(!Number.isFinite(e.endLine))continue;let t=Math.max(1,Math.floor(e.endLine)),r=e.side===`original`?`deletions`:`additions`;i.push({lineNumber:t,side:r,metadata:{type:e.id===n?`edit`:`saved`,draft:e}})}return r&&!n&&i.push({lineNumber:Math.max(r.start,r.end),side:r.side??`additions`,metadata:{type:`new`,selection:r}}),i};function nr(e){let t=e.trim();if(!t)return null;if(/^-?\d+(\.\d+)?$/.test(t)){let e=Number.parseFloat(t);return Number.isFinite(e)?e:null}if(t.endsWith(`px`)){let e=Number.parseFloat(t.slice(0,-2));return Number.isFinite(e)?e:null}return null}function rr(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function ir(e){let{diffRootRef:t,drafts:n,selection:r,editingDraftId:i,commentText:a,onTextChange:o,fileLabel:s,onSave:c,onCancel:l,onEdit:u,onDelete:d,onAddToChat:f}=e,[p,m]=Q.useState(0),[h,g]=Q.useState(null),_=Q.useMemo(()=>!r||i?null:er({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>er({type:e.id===i?`edit`:`saved`,draft:e}));return _&&e.push(_),e},[n,i,_]),y=Q.useCallback(e=>{let n=t.current;if(!n)return null;let r=n.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`[data-annotation-id="${e}"]`);if(i instanceof HTMLElement)return i;let a=r.shadowRoot;return a?a.querySelector(`[data-annotation-id="${e}"]`):null},[t]);Q.useEffect(()=>{if(v.length===0)return;let e=!1,t=0,n=()=>{e||v.every(e=>!!y(e))||t>=12||(t+=1,requestAnimationFrame(()=>{e||(m(e=>e+1),n())}))};return n(),()=>{e=!0}},[v,y]),Q.useEffect(()=>{let e=t.current;if(!e)return;let n=()=>{let t=nr(getComputedStyle(e).getPropertyValue(`--oc-context-panel-width`)),n=e.getBoundingClientRect(),r=t??n.width;g(r>0?r:null)};n();let r=new ResizeObserver(()=>{n()});return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n)}},[t]);let b=Q.useCallback(e=>{let n=t.current?.getBoundingClientRect(),r=e.closest(`[data-annotation-content]`),i=r instanceof HTMLElement?r.getBoundingClientRect():e.getBoundingClientRect(),a=[i.width];n&&a.push(n.right-i.left);let o=a.filter(e=>Number.isFinite(e)&&e>0);return o.length>0?rr(Math.min(...o)):rr(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=er({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Cn.createPortal)((0,$.jsx)(Fn,{initialText:a,onTextChange:o,fileLabel:s,lineRange:{start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`},isEditing:!0,onSave:c,onCancel:l,onAddToChat:f,maxWidth:r}),n,`draft-edit-${e.id}`):(0,Cn.createPortal)((0,$.jsx)(Pn,{draft:e,onEdit:()=>u(e),onDelete:()=>d(e),maxWidth:r}),n,`draft-card-${e.id}`)}),r&&!i&&_&&(()=>{let e=y(_);if(!e)return null;let t=b(e);return(0,Cn.createPortal)((0,$.jsx)(Fn,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function ar(e){let t=(0,Sn.c)(16),{position:n,onAddToChat:r,onDismiss:i}=e,{t:a}=ee(),o=Q.useRef(null),s,c;t[0]===i?(s=t[1],c=t[2]):(s=()=>{if(!i)return;let e=e=>{o.current&&e.target instanceof Node&&o.current.contains(e.target)||i()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},c=[i],t[0]=i,t[1]=s,t[2]=c),Q.useEffect(s,c);let l;t[3]!==n.x||t[4]!==n.y?(l={left:n.x,top:n.y},t[3]=n.x,t[4]=n.y,t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Y,{name:`add`,className:`size-4`}),t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a(`chat.textSelection.actions.addToChat`),t[7]=a,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(tt,{shortcut:`⌘+I`}),t[9]=f):f=t[9];let p;t[10]!==r||t[11]!==d?(p=(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,onClick:r,children:[u,d,f]}),t[10]=r,t[11]=d,t[12]=p):p=t[12];let m;return t[13]!==l||t[14]!==p?(m=(0,Cn.createPortal)((0,$.jsx)(`div`,{ref:o,"data-code-selection-action":`true`,className:`fixed z-[100] -translate-y-full rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-1 shadow-lg`,style:l,onPointerDown:or,children:p}),document.body),t[13]=l,t[14]=p,t[15]=m):m=t[15],m}function or(e){return e.preventDefault()}var sr=`[data-code-selection-action]`;function cr(e){return e instanceof Element&&!!e.closest(sr)}function lr(e,t=[]){return cr(e)?!0:t.some(e=>e instanceof Element&&e.matches(`[data-column-number]`))}function ur(e,t){return e&&!!t?.trim()}function dr(e,t,n,r){let i=r.side===`deletions`,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);if(!n){let n=(i?e:t).split(`
|
|
4
4
|
`),r=Math.max(1,a),s=Math.min(n.length,o);return r>s?``:n.slice(r-1,s).join(`
|
|
5
5
|
`)}let s=i?n.deletionLines:n.additionLines,c=[];for(let e=a;e<=o;e+=1){let t=n.isPartial?fr(n,e,i):e-1;if(t===null||t<0||t>=s.length)continue;let r=s[t]??``;c.push(r.endsWith(`
|
|
@@ -142,7 +142,7 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{C as t,E as n,I as r,K
|
|
|
142
142
|
`),n=null;for(let e of t){let t=e.match(/^@@\s*-\d+(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s*@@/);if(t){let e=Number.parseInt(t[1]??``,10);n=Number.isFinite(e)&&e>=1?e:null;continue}if(n!==null){if(e.startsWith(` `)){n+=1;continue}if(e.startsWith(`+`))return n;if(e.startsWith(`-`))return Math.max(1,n)}}return null},Gr=e=>{let t=[],n=new Set;for(let r of e){let e=r.path.trim(),i=r.patch;if(!e||!i.trim()||n.has(e))continue;n.add(e);let a=0,o=0;for(let e of i.split(`
|
|
143
143
|
`))e.startsWith(`+++`)||e.startsWith(`---`)||(e.startsWith(`+`)&&(a+=1),e.startsWith(`-`)&&(o+=1));let s=/^---\s+\/dev\/null(?:\s|$)/m.test(i)?`added`:/^\+\+\+\s+\/dev\/null(?:\s|$)/m.test(i)?`deleted`:`modified`;t.push({file:e,patch:i,status:s,additions:a,deletions:o})}return t},Kr=e=>`${e.scope}:${e.navigationRequestKey??``}:${(e.targetFilePath??``).trim()}:${e.targetLine??``}`,qr=(e,t,n)=>n&&e!==t,Jr=e=>`/api/openchamber/sessions/${encodeURIComponent(e)}/changes`,Yr=e=>e.trim(),Xr=e=>e===404||e===405||e===501,Zr=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e.diff;return!!t&&typeof t==`object`&&!Array.isArray(t)},Qr=(e,t)=>{if(!Array.isArray(e))return null;for(let n of e)if(n&&typeof n==`object`&&!Array.isArray(n)&&n.file===t)return n;return null},$r=async(e,t)=>{let n={messageID:e.messageID,directory:e.directory};return typeof e.file==`string`&&e.file.length>0&&(n.file=e.file),_(Jr(e.sessionID),{method:`GET`,headers:{Accept:`application/json`,"x-opencode-directory":e.directory},query:n,signal:t})},ei=async(e,t)=>{if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);return D.getSessionDiff({sessionID:e.sessionID,directory:e.directory,messageID:e.messageID},{signal:t})},ti=(e,t=n())=>m.sessionTurnChanges.file(e.directory,e.sessionID,e.messageID,e.file,e.diffCount,t),ni=(e,t=n())=>({queryKey:ti(e,t),queryFn:async({signal:t})=>{let n=await $r(e,t);if(n.ok){let e=await n.json().catch(()=>null);if(Zr(e))return e}else if(!Xr(n.status))throw Error(`Session turn change file request failed (${n.status})`);let r=Qr(await ei(e,t),e.file);if(!r)throw Error(`change file not found`);return{diff:r}},staleTime:0,gcTime:6e4,retry:!1}),ri=(e,t)=>{let r=(0,Sn.c)(10),i;r[0]===t?i=r[1]:(i=t===void 0?{}:t,r[0]=t,r[1]=i);let a=i,o,s,c;if(r[2]!==e||r[3]!==a){let t=n();o=!!e&&!!e?.sessionID?.trim()&&!!e?.directory?.trim()&&!!e?.messageID?.trim()&&!!e?.file?.trim()&&a.enabled!==!1;let i=e??{sessionID:``,directory:``,messageID:``,file:``};c=j,s=ni({...i,directory:Yr(i.directory),file:i.file},t),r[2]=e,r[3]=a,r[4]=o,r[5]=s,r[6]=c}else o=r[4],s=r[5],c=r[6];let l;return r[7]!==o||r[8]!==s?(l={...s,enabled:o},r[7]=o,r[8]=s,r[9]=l):l=r[9],c(l)},ii=1100,ai=15e3,oi=500,si=300,ci=1e6,li=3,ui=e=>e<=6?e:e<=12?6:e<=25?4:2,di=Q.memo(()=>{let e=(0,Sn.c)(4),{t}=ee(),n;e[0]===t?n=e[1]:(n=t(`diffView.binary.unavailable`),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,$.jsx)(`div`,{className:`rounded-lg border border-border/60 bg-background px-3 py-2`,children:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:n})}),e[2]=n,e[3]=r),r}),fi={"?":{code:`?`,color:`var(--status-info)`,descriptionKey:`diffView.change.untracked`},A:{code:`A`,color:`var(--status-success)`,descriptionKey:`diffView.change.new`},D:{code:`D`,color:`var(--status-error)`,descriptionKey:`diffView.change.deleted`},R:{code:`R`,color:`var(--status-info)`,descriptionKey:`diffView.change.renamed`},C:{code:`C`,color:`var(--status-info)`,descriptionKey:`diffView.change.copied`},M:{code:`M`,color:`var(--status-warning)`,descriptionKey:`diffView.change.modified`}},pi=fi.M,mi=e=>{let t=e.index?.trim(),n=e.working_dir?.trim();return t&&t!==`?`?t.charAt(0):n?n.charAt(0):t?.charAt(0)||n?.charAt(0)||`M`},hi=e=>fi[mi(e)]??pi,gi=e=>{let{index:t,working_dir:n}=e;return t===`A`||n===`A`||t===`?`||n===`?`},_i=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},vi=e=>!!e.working_dir?.trim()||e.index===`?`,yi=(e,t)=>Qe(e,t),bi=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),xi=(e,t)=>{let n=e.split(`
|
|
144
144
|
`),r=t.split(`
|
|
145
|
-
`),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return e+1;return r.length>n.length?n.length+1:n.length>r.length?Math.max(1,r.length):1},Si=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Ci=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],wi=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Ti=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Ei=(e,t,n)=>Si(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:zr(e,t),contextMode:n},Di=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:J(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},Oi=Q.memo(e=>{let t=(0,Sn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=ee(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(Ke,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-code font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":p,children:[h,g]})}),t[11]=p,t[12]=h,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=e=>{(e===`working`||e===`staged`||e===`turn`)&&(o?.(e),l(!1))},t[14]=o,t[15]=v);let y;t[16]===s?y=t[17]:(y=s(`diffView.scope.changed`),t[16]=s,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{children:y}),t[18]=y,t[19]=b);let x;t[20]===r?x=t[21]:(x=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:r}),t[20]=r,t[21]=x);let S;t[22]!==x||t[23]!==b?(S=(0,$.jsx)(ze,{value:`working`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[b,x]})}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]===s?C=t[26]:(C=s(`diffView.scope.staged`),t[25]=s,t[26]=C);let w;t[27]===C?w=t[28]:(w=(0,$.jsx)(`span`,{children:C}),t[27]=C,t[28]=w);let T;t[29]===i?T=t[30]:(T=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i}),t[29]=i,t[30]=T);let E;t[31]!==w||t[32]!==T?(E=(0,$.jsx)(ze,{value:`staged`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[w,T]})}),t[31]=w,t[32]=T,t[33]=E):E=t[33];let D;t[34]===s?D=t[35]:(D=s(`diffView.scope.lastTurn`),t[34]=s,t[35]=D);let O;t[36]===D?O=t[37]:(O=(0,$.jsx)(`span`,{children:D}),t[36]=D,t[37]=O);let k;t[38]===a?k=t[39]:(k=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),t[38]=a,t[39]=k);let A;t[40]!==O||t[41]!==k?(A=(0,$.jsx)(ze,{value:`turn`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[O,k]})}),t[40]=O,t[41]=k,t[42]=A):A=t[42];let j;t[43]!==n||t[44]!==S||t[45]!==E||t[46]!==A||t[47]!==v?(j=(0,$.jsx)(Ge,{align:`start`,className:`w-40`,children:(0,$.jsxs)(qe,{value:n,onValueChange:v,children:[S,E,A]})}),t[43]=n,t[44]=S,t[45]=E,t[46]=A,t[47]=v,t[48]=j):j=t[48];let M;return t[49]!==c||t[50]!==j||t[51]!==_?(M=(0,$.jsxs)(Ve,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ki=Q.memo(e=>{let t=(0,Sn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=ee();if(n.length===0)return null;let o;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e;t[5]!==i||t[6]!==r||t[7]!==a?(e=e=>{let t=hi(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:J(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(St,{filePath:e.path,className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 text-center uppercase`,style:{color:t.color},title:a(t.descriptionKey),"aria-label":a(t.descriptionKey),children:t.code}),(0,$.jsx)(ot,{path:e.path,className:`min-w-0 flex-1 typography-code`,dirClassName:n?`text-interactive-selection-foreground`:`text-muted-foreground`,nameClassName:n?`text-interactive-selection-foreground`:`text-foreground`}),Di(e.insertions,e.deletions)]})},e.path)},t[5]=i,t[6]=r,t[7]=a,t[8]=e):e=t[8],o=n.map(e),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o}else o=t[4];let s;return t[9]===o?s=t[10]:(s=(0,$.jsx)(Ee,{outerClassName:`flex-1 min-h-0`,className:`px-2 py-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:o})}),t[9]=o,t[10]=s),s}),Ai=Q.memo(e=>{let t=(0,Sn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=ee(),o=r.original.length>0,s=r.modified.length>0,c=i?`flex flex-row gap-6 items-start justify-center`:`flex flex-col gap-4 items-center`,l=i?`flex flex-col items-center gap-2 flex-1 min-w-0`:`flex flex-col items-center gap-2`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={contain:`layout`},t[0]=u):u=t[0];let d;t[1]!==r.original||t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==i||t[6]!==a?(d=o&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(`diffView.image.original`)}),(0,$.jsx)(`img`,{src:r.original,alt:a(`diffView.image.originalAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[1]=r.original,t[2]=n,t[3]=o,t[4]=l,t[5]=i,t[6]=a,t[7]=d):d=t[7];let f;t[8]!==r.modified||t[9]!==n||t[10]!==s||t[11]!==o||t[12]!==l||t[13]!==i||t[14]!==a?(f=s&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(o?`diffView.image.modified`:`diffView.image.new`)}),(0,$.jsx)(`img`,{src:r.modified,alt:a(`diffView.image.modifiedAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[8]=r.modified,t[9]=n,t[10]=s,t[11]=o,t[12]=l,t[13]=i,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsx)(`div`,{className:`w-full overflow-auto p-4`,style:u,children:(0,$.jsxs)(`div`,{className:c,children:[d,f]})}),t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}),ji=Q.memo(e=>{let t=(0,Sn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=Vt(n)||`text`,t[0]=n,t[1]=s);let c=s;if(r.isBinary){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(di,{}),t[2]=e):e=t[2],e}if(zt(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Ai,{filePath:n,diff:r,renderSideBySide:i}),t[3]=r,t[4]=n,t[5]=i,t[6]=e):e=t[6],e}let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l={contain:`layout`},t[7]=l):l=t[7];let u;return t[8]!==r.fileDiff||t[9]!==r.modified||t[10]!==r.original||t[11]!==n||t[12]!==o||t[13]!==c||t[14]!==i||t[15]!==a?(u=(0,$.jsx)(`div`,{className:`w-full`,style:l,children:(0,$.jsx)(Or,{original:r.original,modified:r.modified,fileDiff:r.fileDiff,language:c,fileName:n,renderSideBySide:i,wrapLines:a,focusLine:o,layout:`inline`,enableSelectionActions:!0})}),t[8]=r.fileDiff,t[9]=r.modified,t[10]=r.original,t[11]=n,t[12]=o,t[13]=c,t[14]=i,t[15]=a,t[16]=u):u=t[16],u}),Mi=Q.memo(e=>{let t=(0,Sn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=ee(),c;return t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==o||t[4]!==r||t[5]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-full border border-[var(--interactive-border)]/45 bg-[var(--surface-background)]/95 px-1 py-0.5 shadow-lg backdrop-blur-md`,children:r?(0,$.jsx)(Ni,{label:s(`gitView.changes.unstageFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`unstage`,disabled:a,onClick:()=>o(`unstage`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Ni,{label:s(`gitView.changes.stageFileAria`,{path:n}),icon:`add`,loading:i===`stage`,disabled:a,tone:`success`,onClick:()=>o(`stage`)})]})}),t[0]=i,t[1]=a,t[2]=n,t[3]=o,t[4]=r,t[5]=s,t[6]=c):c=t[6],c}),Ni=e=>{let t=(0,Sn.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=J(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},Pi=Q.memo(({directory:e,file:t,layout:n,wrapLines:r,isSelected:i,isExpanded:a,isMounted:o,onSelect:s,onExpandedChange:c,registerSectionRef:l,showOpenInEditorAction:u=!1,isOpeningInEditor:d=!1,onOpenInEditor:f,onOpenFile:p,staged:m=!1,loadFullFiles:h=!1,initialDiffData:g=null,focusLine:_=null,showFileActions:v=!0,disableGitFetch:y=!1,turnChangesRequest:b=null,loadTurnChangeFile:x=!1})=>{let{t:S}=ee(),{git:C}=Tt(),w=Ot(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Ot(e=>e.setDiff),E=Ot(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),[te,ne]=Q.useState(null),[L,re]=Q.useState(null),ie=Q.useRef(null),R=Q.useRef(null),ae=Q.useMemo(()=>hi(t),[t]),z=n===`side-by-side`,B=h?`full`:`patch`,V=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,oe=ri({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),se=Q.useMemo(()=>{let e=oe.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Ei(t.path,e.patch,`patch`):typeof e.before==`string`&&e.before.length>0||typeof e.after==`string`&&e.after.length>0?{original:e.before??``,modified:e.after??``,contextMode:`full`}:null:null},[t.path,oe.data]),H=Q.useMemo(()=>{if(g)return g;if(se)return se;if(m)return L;if(te)return te;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Ti(e)?e:null},[w,g,te,m,L,se]),U=oe.error instanceof Error?oe.error.message:oe.error?String(oe.error):null,W=H?null:U??k,K=x&&oe.isPending||j,ce=H?.contextMode===B,le=Q.useCallback(e=>{R.current=e,l(t.path,e)},[t.path,l]),q=Q.useCallback(e=>{c(t.path,e)},[t.path,c]),ue=Q.useCallback(()=>{s(t.path)},[t.path,s]);Q.useEffect(()=>{if(!a||!o)return;if(y){ie.current=null,M(!1);return}if(!e||g){ie.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${V}::${B}::${D}`;if(ie.current===n)return;let r=!!(H&&ce);ie.current=n,A(null),r||M(!0);let i=!1,s=h?ci:li,c=zt(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=ai,u=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${l}ms`)),l)});return Promise.race([c,u]).then(n=>{if(!i){if(`diff`in n){let e=Ei(t.path,n.diff,B);m?re(e):ne(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?re(r):(ne(r),T(e,t.path,r))}M(!1)}}).catch(e=>{if(i)return;let t=e instanceof Error?e.message:String(e);A(t),M(!1)}),()=>{i=!0,ie.current===n&&(ie.current=null)}},[B,H,ce,D,e,y,t.path,V,C,g,a,o,h,T,m]);let de=Q.useCallback(()=>{q(!a),ue()},[q,ue,a]),fe=Q.useCallback(async n=>{if(!(!e||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;G.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:le,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:de,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),de())},className:J(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color:ae.color},title:S(ae.descriptionKey),"aria-label":S(ae.descriptionKey),children:ae.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden typography-code`,title:t.path,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(St,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(ot,{path:t.path,className:`min-w-0 flex-1 typography-code`})]})})]}),(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-self-end gap-1.5`,children:[Di(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,H)},disabled:d,children:d?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Y,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!W?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,W?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:W}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){oe.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&K&&!H&&!W?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&H&&!F&&t.insertions+t.deletions>oi?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.largeDiff`,{count:t.insertions+t.deletions})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:S(`diffView.state.largeDiffDescription`)}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>I(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&H&&(F||t.insertions+t.deletions<=oi)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ji,{filePath:t.path,diff:H,renderSideBySide:z,wrapLines:r,focusLine:_}),v?(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 right-3 z-20`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:(0,$.jsx)(Mi,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:fe})})}):null]}):null]})]})}),Fi=({hideStackedFileSidebar:e=!1,stackedDefaultCollapsedAll:t=!1,pinSelectedFileHeaderToTopOnNavigate:n=!1,showOpenInEditorAction:r=!1,diffScope:i=`all`,turnMessageId:a=null,sessionId:o=null,directory:s=null,onDiffScopeChange:u,targetFilePath:d=null,targetLine:f=null,toolPatches:p=null,flushContent:m=!1,singleFileView:h=!1,preloadFullFiles:g=!1,navigationRequestKey:_})=>{let{t:v}=ee(),{git:y,files:b}=Tt(),x=Ht(),S=typeof s==`string`&&s.trim()?s.trim():x,{screenWidth:C,isMobile:w}=Ye(),T=At(S??null),E=jt(S??null),D=kt(S??null),O=Ot(e=>e.setActiveDirectory),k=Ot(e=>e.ensureStatus),A=Ot(e=>e.fetchStatus),j=Ot(e=>e.setDiff),[M,N]=Q.useState(null),[F,I]=Q.useState(!1),[te,ne]=Q.useState(null),[L,re]=Q.useState(null),[R,ae]=Q.useState(()=>new Set),[z,B]=Q.useState(()=>new Set),[V,oe]=Q.useState(g),[se,H]=Q.useState(0),[W,K]=Q.useState(!1),[ce,le]=Q.useState(!1),[q,de]=Q.useState(i);Q.useEffect(()=>{de(i)},[i]);let fe=c(e=>e.pendingDiffFile),pe=c(e=>e.pendingDiffStaged),he=c(e=>e.pendingDiffScope),ge=c(e=>e.pendingDiffLine),_e=c(e=>e.setPendingDiffFile),ve=c(e=>e.diffLayoutPreference),ye=c(e=>e.diffFileLayout),be=c(e=>e.setDiffFileLayout),xe=c(e=>e.diffWrapLines),Se=c(e=>e.setDiffWrapLines),Ce=c(e=>e.openContextFileAtLine),we=c(e=>e.openContextFile),Te=rt(),De=ue(e=>e.currentSessionId),Oe=typeof o==`string`&&o.trim()?o.trim():De,ke=me(Oe??``,S??void 0),Ne=xe,Pe=q===`staged`||q!==`working`&&null,Fe=Pe??F,Ie=w||C<=768,Le=!!Oe&&q!==`turn`&&!Ie&&!l(),Re=!e&&!Ie&&C>=1024,ze=Q.useRef(null),Be=Q.useRef(new Map),Ve=Q.useRef(null),He=Q.useRef(null),Ue=Q.useRef(!1),We=Q.useRef(null),Ge=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useCallback(()=>{Ve.current=null,Ue.current=!1,re(null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null)},[]),Xe=Q.useCallback(e=>{ae(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ze=Q.useMemo(()=>{let e=ke.length-1;if(a&&(e=ke.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=ke[t];if(e.role!==`user`)continue;let n=Ci(e.summary?.diffs),r=typeof e.summary?.diffCount==`number`&&Number.isFinite(e.summary.diffCount)?Math.max(0,Math.trunc(e.summary.diffCount)):n.length;return{messageID:typeof e.id==`string`&&e.id?e.id:null,count:r,hasDiffs:e.summary?.hasDiffs===!0||r>0||n.length>0,thinDiffs:n}}return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]}},[ke,a]),Qe=Q.useMemo(()=>Gr(p??[]),[p]),$e=Qe.length>0,et=Q.useMemo(()=>!Oe||!S||!Ze.messageID?null:{sessionID:Oe,directory:S,messageID:Ze.messageID,diffCount:Ze.count},[S,Oe,Ze.count,Ze.messageID]),tt=Q.useMemo(()=>$e?Qe:Ze.thinDiffs,[Qe,Ze.thinDiffs,$e]),nt=Q.useMemo(()=>{let e=new Map;for(let t of tt)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,Ei(t.file,t.patch,`patch`));continue}(typeof t.before==`string`&&t.before.length>0||typeof t.after==`string`&&t.after.length>0)&&e.set(t.file,{original:t.before??``,modified:t.after??``,contextMode:`full`})}return e},[tt]),at=Q.useMemo(()=>{if(q===`turn`)return tt.map(e=>({path:e.file??``,index:``,working_dir:wi(e.status),insertions:e.additions??0,deletions:e.deletions??0,isNew:e.status===`added`})).filter(e=>e.path).sort((e,t)=>e.path.localeCompare(t.path));if(!E?.files)return[];let e=E.diffStats??{},t=q===`staged`?_i:q===`working`?vi:()=>!0;return E.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:gi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,tt,E]),ot=Q.useMemo(()=>E?.files?E.files.filter(vi).length:0,[E]),st=Q.useMemo(()=>E?.files?E.files.filter(_i).length:0,[E]),ct=$e?tt.length:Ze.count,lt=Q.useMemo(()=>at.map(e=>e.path).join(`\0`),[at]),ut=Q.useMemo(()=>{if(!h)return at;let e=d?.trim()||M;return e?at.filter(t=>t.path===e):[]},[at,M,h,d]);Q.useEffect(()=>{let e=lt?lt.split(`\0`):[],n=new Set(e),r=`${S??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=p!==null&&Ke.current!==p,o=Ge.current!==r||i;Ge.current=r,Ke.current=p,ae(r=>{if(o){let n=t||q===`turn`&&!$e?0:ui(e.length);return new Set(e.slice(0,n))}let i=!1,a=new Set;for(let e of r){if(!n.has(e)){i=!0;continue}a.add(e)}return i?a:r}),B(e=>{if(o)return new Set;let t=!1,r=new Set;for(let i of e){if(!n.has(i)){t=!0;continue}r.add(i)}return t?r:e})},[q,lt,S,t,p,a,$e]);let Z=Q.useCallback(()=>{We.current=null;let e=ze.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-si,r=t.bottom+si,i={};for(let[e,t]of Be.current){if(!t||!R.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}B(e=>{let t=!1,n=new Set(e);for(let e of Object.keys(i))n.has(e)||(n.add(e),t=!0);return t?n:e})},[R]),dt=Q.useCallback(()=>{typeof window>`u`||We.current===null&&(We.current=window.requestAnimationFrame(Z))},[Z]);Q.useEffect(()=>{let e=ze.current;if(e)return dt(),e.addEventListener(`scroll`,dt,{passive:!0}),window.addEventListener(`resize`,dt),()=>{e.removeEventListener(`scroll`,dt),window.removeEventListener(`resize`,dt),We.current!==null&&(window.cancelAnimationFrame(We.current),We.current=null)}},[at,R,dt]);let ft=Q.useCallback(e=>{let t=ye[e.path];if(t)return t;if(ve===`inline`)return`inline`;if(ve===`side-by-side`)return`side-by-side`;let n=C<ii;return e.isNew||n?`inline`:`side-by-side`},[ye,ve,C]),pt=Q.useMemo(()=>ut.length===0?null:ut.every(e=>ft(e)===`side-by-side`)?`side-by-side`:`inline`,[ft,ut]);Q.useEffect(()=>{S&&(O(S),k(S,y))},[S,O,k,y]),Q.useEffect(()=>{if(S)return U.onGitRefreshHint(e=>{bi(e.directory)===bi(S)&&A(S,y)})},[S,A,y]),Q.useEffect(()=>{q!==`all`&&!he||fe&&(he&&de(he),N(fe),I(he===`staged`||!he&&pe),ne(ge),_e(null),Ue.current=!0,Ve.current=fe,Xe(fe),H(e=>e+1))},[q,Xe,fe,ge,he,pe,_e]),Q.useEffect(()=>{if(q===`all`)return;let e=d?.trim();if(!e)return;Xe(e),N(e),I(q===`staged`),ne(f);let t=Kr({scope:q,navigationRequestKey:_,targetFilePath:e,targetLine:f}),n=at.some(t=>t.path===e);qr(qe.current,t,n)&&(qe.current=t,Ue.current=!0,Ve.current=e,H(e=>e+1))},[q,at,Xe,_,d,f]),Q.useEffect(()=>{M&&(at.some(e=>e.path===M)||(N(null),I(!1)))},[at,M]);let mt=Q.useCallback((e,t)=>{let n=Be.current;t?n.set(e,t):n.delete(e),dt()},[dt]),ht=Q.useCallback((e,t)=>{Je(),ae(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||B(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),dt()},[Je,dt]),gt=Q.useCallback(()=>{Je(),ae(e=>e.size>0?new Set:new Set(at.map(e=>e.path))),B(new Set),dt()},[Je,at,dt]),_t=Q.useCallback(async e=>{if(!De)return;let t=ue.getState().getDirectoryForSession(De)||S||``;if(!t){G.error(v(`diffView.reviewDialog.toast.noSessionDirectory`));return}le(!0);try{await ie({originalSessionID:De,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),K(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),G.error(e instanceof Error?e.message:v(`diffView.reviewDialog.toast.startFailed`))}finally{le(!1)}},[De,S,v]),vt=Q.useCallback(e=>{let t=Be.current.get(e),n=ze.current;if(!t||!n)return!1;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect().top-r.top,a=Math.max(0,n.scrollHeight-n.clientHeight);return n.scrollTop=Math.min(a,Math.max(0,n.scrollTop+i)),!0},[]);Q.useEffect(()=>{if(!Ve.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Ve.current=null,Ue.current=!1,re(null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null))},i=()=>{if(t){He.current=null;return}let a=Ve.current;if(!a){r(),He.current=null;return}if(!vt(a)){e+=1,e<20?He.current=window.requestAnimationFrame(i):(r(),He.current=null);return}n&&Ue.current&&re(a),r()};return He.current=window.requestAnimationFrame(i),()=>{t=!0,He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null)}},[n,se,vt]);let yt=Q.useCallback(e=>{},[]),bt=Q.useCallback(e=>{Je(),N(e),I(!1),Ue.current=!0,Ve.current=e,Xe(e),H(e=>e+1),vt(e)},[Je,Xe,vt]),xt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;ut.forEach(e=>{be(e.path,t)})},[be,ut]),[St,Ct]=Q.useState(null),wt=Q.useCallback(async(e,t)=>{if(!(!S||!e)){Ct(e);try{let n=null;if(t?.patch&&!t.isBinary&&!zt(e)?n=Wr(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!zt(e)&&(n=xi(t.original,t.modified)),n===null)try{n=Wr((await y.getGitDiff(S,{path:e,staged:Fe,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await y.getGitFileDiff(S,{path:e,staged:Fe});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},Fe||j(S,e,r)}let i=n??(r.isBinary||zt(e)?1:xi(r.original,r.modified)),a=yi(S,e),o=await Pr(b,a);if(!o.ok){G.error(Fr(o.reason));return}Ce(S,a,i,1)}finally{Ct(t=>t===e?null:t)}}},[Fe,S,b,y,Ce,j]),Et=P(e=>{if(!S||!e)return;let t=yi(S,e);if(Te){Te.openFile({path:t});return}Pr(b,t).then(e=>{if(!e.ok){G.error(Fr(e.reason));return}we(S,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[h?null:(0,$.jsxs)(`div`,{className:`@container/diff-toolbar flex min-w-0 items-center gap-1.5 px-2 py-1.5 bg-background`,children:[!w&&(q===`working`||q===`staged`||q===`turn`?(0,$.jsx)(Oi,{scope:q,workingCount:ot,stagedCount:st,turnCount:ct,onScopeChange:e=>{de(e),u?.(e)}}):(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-md px-2 py-1 text-muted-foreground shrink-0`,children:(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:D&&!E?v(`diffView.state.loadingChanges`):ut.length===1?v(`diffView.summary.changedFilesSingle`,{count:ut.length}):v(`diffView.summary.changedFilesPlural`,{count:ut.length})})})),!h&&at.length>0&&(q!==`turn`||$e)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:gt,className:J(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:R.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`),children:[(0,$.jsx)(Y,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:R.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`)})]}),at.length>0&&Le&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>K(!0),disabled:ce,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":v(`diffView.actions.reviewAria`),children:[ce?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:v(`diffView.actions.review`)})]}),at.length>0&&(0,$.jsxs)(Me,{children:[(0,$.jsx)(Ae,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>oe(e=>!e),"aria-pressed":V,"aria-label":v(V?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:J(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,V&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Y,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(je,{children:(0,$.jsx)(`p`,{children:v(V?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),at.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>Se(!xe),className:J(`h-5 w-5 p-0 transition-opacity`,Ne?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:v(Ne?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Y,{name:`text-wrap`,className:`size-4`})}),pt&&(0,$.jsx)(Gt,{mode:pt===`side-by-side`?`side-by-side`:`unified`,onModeChange:xt})]}),(0,$.jsx)(it,{open:W,onOpenChange:K,projectDirectory:S??null,submitting:ce,onConfirm:_t}),S?q!==`turn`&&D&&!E?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),v(`diffView.state.loadingRepositoryStatus`)]}):q!==`turn`&&T===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.notGitRepository`)}):ut.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(q===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!S)return null;let e=e=>Pe===null?F&&e===M:Pe;return(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-1 min-h-0 h-full`,m?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Re&&(0,$.jsxs)(`section`,{className:`hidden lg:flex w-72 flex-col rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border/40`,children:[(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:v(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:at.length})]}),(0,$.jsx)(ki,{changedFiles:at,selectedFile:null,onSelectFile:bt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Ee,{ref:ze,outerClassName:`min-h-0 h-full`,className:`[overflow-anchor:none] pb-16 pwa-overlay-scroll`,disableHorizontal:!0,observeMutations:!1,preventOverscroll:!0,"data-diff-virtual-root":!0,children:(0,$.jsx)(`div`,{className:`flex flex-col [overflow-anchor:none]`,"data-diff-virtual-content":!0,children:ut.map(t=>(0,$.jsx)(Pi,{directory:S,file:t,layout:ft(t),wrapLines:Ne,isSelected:!1,isExpanded:R.has(t.path),isMounted:z.has(t.path)||t.path===L||h&&ut.length===1,onSelect:yt,onExpandedChange:ht,registerSectionRef:mt,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:St===t.path,onOpenInEditor:(e,t)=>{wt(e,t)},onOpenFile:Et,staged:e(t.path),loadFullFiles:V,initialDiffData:q===`turn`?nt.get(t.path)??null:null,focusLine:t.path===(d?.trim()||M)?f??te:null,showFileActions:q!==`turn`,disableGitFetch:q===`turn`,turnChangesRequest:et,loadTurnChangeFile:q===`turn`&&!$e},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.selectSessionDirectory`)})]})},Ii=(e,t)=>{if(!t)return null;let n=Number.parseInt(e.trim(),10);return!Number.isFinite(n)||n<1?null:Math.min(n,t.state.doc.lines)},Li=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Ri=(e,t,n)=>{let r=e.state.doc.line(t),i=Math.max(1,Math.min(n,r.length+1)),a=r.from+i-1;e.dispatch({selection:N.cursor(a),effects:M.scrollIntoView(a,{y:`center`})})};function zi({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=ee(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>Ii(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=Li(n,n.state.selection),o(``))},[e,n]),Q.useEffect(()=>{e&&window.requestAnimationFrame(()=>{u.current?.focus(),u.current?.select()})},[e]),Q.useEffect(()=>{if(!(!e||!n||!s.current)){if(d===null){let{selection:e}=s.current;n.dispatch({selection:e,effects:M.scrollIntoView(e.main.from,{y:`center`})});return}Ri(n,d,s.current.character)}},[d,e,n]);let f=Q.useCallback(()=>{if(!n||c.current||!s.current)return;let{selection:e}=s.current;n.dispatch({selection:e,effects:M.scrollIntoView(e.main.from,{y:`center`})})},[n]),p=Q.useCallback(e=>{e||f(),t(e)},[t,f]),m=Q.useCallback(()=>{!n||d===null||!s.current||(c.current=!0,Ri(n,d,s.current.character),t(!1),n.focus())},[d,t,n]);Q.useEffect(()=>{if(!e)return;let t=e=>{let t=l.current,n=e.target;!t||!(n instanceof Node)||t.contains(n)||p(!1)},n=e=>{e.key===`Escape`&&(e.preventDefault(),p(!1))};return document.addEventListener(`pointerdown`,t,!0),document.addEventListener(`keydown`,n,!0),()=>{document.removeEventListener(`pointerdown`,t,!0),document.removeEventListener(`keydown`,n,!0)}},[p,e,r]);let h=Q.useMemo(()=>{if(!n)return i(`goToLineDialog.helper.editorUnavailable`);if(d===null){let e=s.current??Li(n,n.state.selection);return i(`goToLineDialog.helper.currentLineRange`,{current:e.lineNumber,max:n.state.doc.lines})}return i(`goToLineDialog.helper.goToLine`,{line:d})},[d,i,n]);return r===`inline`?e?(0,$.jsxs)(`div`,{ref:l,className:`ml-1 flex h-6 items-center gap-1`,children:[(0,$.jsx)(ke,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(X,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:J(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(ke,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholder`),className:`h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label`}),(0,$.jsx)(`div`,{className:`mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95`,children:h})]})})}var Bi=(e,t)=>{let n=Ze(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Vi=(e,t,n=10)=>{let r=$e(e);if(!r||n<1)return[];let i=new Set,a=[];for(let e of Object.values(t))if(e)for(let t of e){if(t.type!==`directory`)continue;let e=$e(t.path);if(!e||i.has(e))continue;let o=Bi(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Hi=e=>e.some(e=>!!$e(e)),Ui=(e,t)=>{let n=new Set(t.map(e=>$e(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Wi=(e,t,n)=>t.length===0?e.length===0:Ui(e,t).length>0?!1:t.every(e=>n.has($e(e))),Gi=[{id:`finder`,label:`Finder`,appName:`Finder`},{id:`terminal`,label:`Terminal`,appName:`Terminal`},{id:`iterm2`,label:`iTerm2`,appName:`iTerm`},{id:`ghostty`,label:`Ghostty`,appName:`Ghostty`},{id:`vscode`,label:`VS Code`,appName:`Visual Studio Code`},{id:`vscode-insiders`,label:`VS Code Insiders`,appName:`Visual Studio Code - Insiders`},{id:`intellij`,label:`IntelliJ`,appName:`IntelliJ IDEA`},{id:`visual-studio`,label:`Visual Studio`,appName:`Visual Studio`},{id:`cursor`,label:`Cursor`,appName:`Cursor`},{id:`android-studio`,label:`Android Studio`,appName:`Android Studio`},{id:`pycharm`,label:`PyCharm`,appName:`PyCharm`},{id:`xcode`,label:`Xcode`,appName:`Xcode`},{id:`sublime-text`,label:`Sublime`,appName:`Sublime Text`},{id:`webstorm`,label:`WebStorm`,appName:`WebStorm`},{id:`rider`,label:`Rider`,appName:`Rider`},{id:`zed`,label:`Zed`,appName:`Zed`},{id:`phpstorm`,label:`PhpStorm`,appName:`PhpStorm`},{id:`eclipse`,label:`Eclipse`,appName:`Eclipse`},{id:`windsurf`,label:`Windsurf`,appName:`Windsurf`},{id:`vscodium`,label:`VSCodium`,appName:`VSCodium`},{id:`rustrover`,label:`RustRover`,appName:`RustRover`},{id:`kiro`,label:`Kiro`,appName:`Kiro`},{id:`antigravity`,label:`Antigravity`,appName:`Antigravity`},{id:`trae`,label:`Trae`,appName:`Trae`}],Ki=`finder`,qi=new Set([`finder`,`terminal`]),Ji=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,Yi=e=>{if(!e)return null;let t=Gi.find(t=>t.id===e)??null;return t?Ji(t):null},Xi=()=>Gi.filter(e=>qi.has(e.id)).map(e=>({...Ji(e)})),Zi=()=>{if(typeof window>`u`)return Ki;let e=window.localStorage.getItem(`openInAppId`);return e&&Yi(e)?e:Ki},Qi=!1,$i=!1,ea=!1,ta=0,na=null,ra=()=>{na&&=(clearTimeout(na),null)},ia=S()((e,t)=>({selectedAppId:Zi(),availableApps:Xi(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(Qi||typeof window>`u`)return;Qi=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Xi(),hasLoadedApps:n});return}let r=new Set(t.map(e=>e.name)),i=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0]));e({availableApps:Gi.filter(e=>r.has(e.appName)||qi.has(e.id)).map(e=>({...Ji(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!f()||!p()||$i||t().hasLoadedApps&&!i)return;let a=Gi.map(e=>e.appName);ra(),i&&e({hasLoadedApps:!1}),$i=!0,ea=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await d(a,i),l=o&&!s&&t.length===0&&ta<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ta]??3200;ta+=1,ea=!0,na=setTimeout(()=>{r()},e);return}ta=0,ea=!1;return}if(ta<3){let e=[1e3,3e3,7e3][ta]??7e3;ta+=1,ea=!0,na=setTimeout(()=>{r()},e)}}finally{$i=!1,ea||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&Yi(n.openInAppId)?n.openInAppId:null;r&&(window.localStorage.setItem(`openInAppId`,r),e({selectedAppId:r}))}),window.addEventListener(`openchamber:app-ready`,()=>{r()}),window.addEventListener(`openchamber:installed-apps-updated`,t=>{let r=t.detail;Array.isArray(r)&&(ta=3,ea=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(Qi||t().initialize(),!f()||!p()||$i||t().hasLoadedApps&&!n)return;let r=Gi.map(e=>e.appName);ra(),n&&e({hasLoadedApps:!1}),$i=!0,ea=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await d(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=Gi.filter(e=>o.has(e.appName)||qi.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Xi(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{$i=!1,ea||e({isScanning:!1})}},selectApp:async t=>{Yi(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await y({openInAppId:t}))}})),aa=Ft(()=>O(()=>import(`./ToolOutputDialog-jYdZ3-3Z.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]))),oa=e=>{let t=la(e);if(!t)return``;if(t===`/`||/^[A-Za-z]:\/$/.test(t))return t;let n=t.lastIndexOf(`/`);if(n<0)return t;if(n===0)return`/`;let r=t.slice(0,n);return/^[A-Za-z]:$/.test(r)?`${r}/`:r},sa=e=>{let t=(0,Sn.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=J(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},ca=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),la=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},ua=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),da=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,fa=(e,t)=>{let n=la(t),r=la(e);if(!n||!r)return!1;let i=da(n),a=da(r);return a===i||a.startsWith(`${i}/`)},pa=(e,t)=>{let n=la(t),r=la(e);if(!fa(r,n))return[];let i=r.slice(n.length).replace(/^\//,``).split(`/`),a=[],o=n;for(let e=0;e<i.length-1;e++)o=o?`${o}/${i[e]}`:i[e],a.push(o);return a},ma=(e,t)=>{if(!t)return``;let n=la(t);if(!e||!fa(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},ha=new Set([`node_modules`]),ga=e=>{let t=(0,Sn.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},_a=e=>{let t=(0,Sn.c)(11),{name:n}=e,r=Q.useRef(null),i=Q.useRef(null),[a,o]=Q.useState(!1),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=r.current,t=i.current;if(!e||!t)return;let n=()=>{o(t.scrollWidth>e.clientWidth+1)};n();let a=new ResizeObserver(n);return a.observe(e),a.observe(t),()=>{a.disconnect()}},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=[n],t[1]=n,t[2]=c),Q.useLayoutEffect(s,c);let l;t[3]===n?l=t[4]:(l=(0,$.jsx)(`span`,{ref:i,"aria-hidden":`true`,className:`invisible absolute whitespace-nowrap`,children:n}),t[3]=n,t[4]=l);let u;t[5]!==n||t[6]!==a?(u=a?(0,$.jsxs)(`span`,{className:`open-file-name-marquee-track`,children:[(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,children:n}),(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,"aria-hidden":`true`,children:n})]}):(0,$.jsx)(`span`,{className:`block min-w-0 truncate`,children:n}),t[5]=n,t[6]=a,t[7]=u):u=t[7];let d;return t[8]!==l||t[9]!==u?(d=(0,$.jsxs)(`span`,{ref:r,className:`relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10],d},va=e=>ha.has(e),ya=e=>{let t=la(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},ba=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},xa=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)},Sa=2e5,Ca=`openchamber:files:auto-save-enabled`,wa=e=>{let t=0,n=0;for(let r=0;r<e.length;r+=1)e.charCodeAt(r)===10&&(r>0&&e.charCodeAt(r-1)===13?t+=1:n+=1);return t>n?`\r
|
|
145
|
+
`),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return e+1;return r.length>n.length?n.length+1:n.length>r.length?Math.max(1,r.length):1},Si=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Ci=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],wi=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Ti=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Ei=(e,t,n)=>Si(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:zr(e,t),contextMode:n},Di=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:J(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},Oi=Q.memo(e=>{let t=(0,Sn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=ee(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(Ke,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-code font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":p,children:[h,g]})}),t[11]=p,t[12]=h,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=e=>{(e===`working`||e===`staged`||e===`turn`)&&(o?.(e),l(!1))},t[14]=o,t[15]=v);let y;t[16]===s?y=t[17]:(y=s(`diffView.scope.changed`),t[16]=s,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{children:y}),t[18]=y,t[19]=b);let x;t[20]===r?x=t[21]:(x=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:r}),t[20]=r,t[21]=x);let S;t[22]!==x||t[23]!==b?(S=(0,$.jsx)(ze,{value:`working`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[b,x]})}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]===s?C=t[26]:(C=s(`diffView.scope.staged`),t[25]=s,t[26]=C);let w;t[27]===C?w=t[28]:(w=(0,$.jsx)(`span`,{children:C}),t[27]=C,t[28]=w);let T;t[29]===i?T=t[30]:(T=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i}),t[29]=i,t[30]=T);let E;t[31]!==w||t[32]!==T?(E=(0,$.jsx)(ze,{value:`staged`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[w,T]})}),t[31]=w,t[32]=T,t[33]=E):E=t[33];let D;t[34]===s?D=t[35]:(D=s(`diffView.scope.lastTurn`),t[34]=s,t[35]=D);let O;t[36]===D?O=t[37]:(O=(0,$.jsx)(`span`,{children:D}),t[36]=D,t[37]=O);let k;t[38]===a?k=t[39]:(k=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),t[38]=a,t[39]=k);let A;t[40]!==O||t[41]!==k?(A=(0,$.jsx)(ze,{value:`turn`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[O,k]})}),t[40]=O,t[41]=k,t[42]=A):A=t[42];let j;t[43]!==n||t[44]!==S||t[45]!==E||t[46]!==A||t[47]!==v?(j=(0,$.jsx)(Ge,{align:`start`,className:`w-40`,children:(0,$.jsxs)(qe,{value:n,onValueChange:v,children:[S,E,A]})}),t[43]=n,t[44]=S,t[45]=E,t[46]=A,t[47]=v,t[48]=j):j=t[48];let M;return t[49]!==c||t[50]!==j||t[51]!==_?(M=(0,$.jsxs)(Ve,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ki=Q.memo(e=>{let t=(0,Sn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=ee();if(n.length===0)return null;let o;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e;t[5]!==i||t[6]!==r||t[7]!==a?(e=e=>{let t=hi(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:J(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(St,{filePath:e.path,className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 text-center uppercase`,style:{color:t.color},title:a(t.descriptionKey),"aria-label":a(t.descriptionKey),children:t.code}),(0,$.jsx)(ot,{path:e.path,className:`min-w-0 flex-1 typography-code`,dirClassName:n?`text-interactive-selection-foreground`:`text-muted-foreground`,nameClassName:n?`text-interactive-selection-foreground`:`text-foreground`}),Di(e.insertions,e.deletions)]})},e.path)},t[5]=i,t[6]=r,t[7]=a,t[8]=e):e=t[8],o=n.map(e),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o}else o=t[4];let s;return t[9]===o?s=t[10]:(s=(0,$.jsx)(Ee,{outerClassName:`flex-1 min-h-0`,className:`px-2 py-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:o})}),t[9]=o,t[10]=s),s}),Ai=Q.memo(e=>{let t=(0,Sn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=ee(),o=r.original.length>0,s=r.modified.length>0,c=i?`flex flex-row gap-6 items-start justify-center`:`flex flex-col gap-4 items-center`,l=i?`flex flex-col items-center gap-2 flex-1 min-w-0`:`flex flex-col items-center gap-2`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={contain:`layout`},t[0]=u):u=t[0];let d;t[1]!==r.original||t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==i||t[6]!==a?(d=o&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(`diffView.image.original`)}),(0,$.jsx)(`img`,{src:r.original,alt:a(`diffView.image.originalAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[1]=r.original,t[2]=n,t[3]=o,t[4]=l,t[5]=i,t[6]=a,t[7]=d):d=t[7];let f;t[8]!==r.modified||t[9]!==n||t[10]!==s||t[11]!==o||t[12]!==l||t[13]!==i||t[14]!==a?(f=s&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(o?`diffView.image.modified`:`diffView.image.new`)}),(0,$.jsx)(`img`,{src:r.modified,alt:a(`diffView.image.modifiedAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[8]=r.modified,t[9]=n,t[10]=s,t[11]=o,t[12]=l,t[13]=i,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsx)(`div`,{className:`w-full overflow-auto p-4`,style:u,children:(0,$.jsxs)(`div`,{className:c,children:[d,f]})}),t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}),ji=Q.memo(e=>{let t=(0,Sn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=Vt(n)||`text`,t[0]=n,t[1]=s);let c=s;if(r.isBinary){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(di,{}),t[2]=e):e=t[2],e}if(zt(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Ai,{filePath:n,diff:r,renderSideBySide:i}),t[3]=r,t[4]=n,t[5]=i,t[6]=e):e=t[6],e}let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l={contain:`layout`},t[7]=l):l=t[7];let u;return t[8]!==r.fileDiff||t[9]!==r.modified||t[10]!==r.original||t[11]!==n||t[12]!==o||t[13]!==c||t[14]!==i||t[15]!==a?(u=(0,$.jsx)(`div`,{className:`w-full`,style:l,children:(0,$.jsx)(Or,{original:r.original,modified:r.modified,fileDiff:r.fileDiff,language:c,fileName:n,renderSideBySide:i,wrapLines:a,focusLine:o,layout:`inline`,enableSelectionActions:!0})}),t[8]=r.fileDiff,t[9]=r.modified,t[10]=r.original,t[11]=n,t[12]=o,t[13]=c,t[14]=i,t[15]=a,t[16]=u):u=t[16],u}),Mi=Q.memo(e=>{let t=(0,Sn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=ee(),c;return t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==o||t[4]!==r||t[5]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-full border border-[var(--interactive-border)]/45 bg-[var(--surface-background)]/95 px-1 py-0.5 shadow-lg backdrop-blur-md`,children:r?(0,$.jsx)(Ni,{label:s(`gitView.changes.unstageFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`unstage`,disabled:a,onClick:()=>o(`unstage`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Ni,{label:s(`gitView.changes.stageFileAria`,{path:n}),icon:`add`,loading:i===`stage`,disabled:a,tone:`success`,onClick:()=>o(`stage`)})]})}),t[0]=i,t[1]=a,t[2]=n,t[3]=o,t[4]=r,t[5]=s,t[6]=c):c=t[6],c}),Ni=e=>{let t=(0,Sn.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=J(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},Pi=Q.memo(({directory:e,file:t,layout:n,wrapLines:r,isSelected:i,isExpanded:a,isMounted:o,onSelect:s,onExpandedChange:c,registerSectionRef:l,showOpenInEditorAction:u=!1,isOpeningInEditor:d=!1,onOpenInEditor:f,onOpenFile:p,staged:m=!1,loadFullFiles:h=!1,initialDiffData:g=null,focusLine:_=null,showFileActions:v=!0,disableGitFetch:y=!1,turnChangesRequest:b=null,loadTurnChangeFile:x=!1})=>{let{t:S}=ee(),{git:C}=Tt(),w=Ot(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Ot(e=>e.setDiff),E=Ot(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),[te,ne]=Q.useState(null),[L,re]=Q.useState(null),ie=Q.useRef(null),R=Q.useRef(null),ae=Q.useMemo(()=>hi(t),[t]),z=n===`side-by-side`,B=h?`full`:`patch`,V=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,oe=ri({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),se=Q.useMemo(()=>{let e=oe.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Ei(t.path,e.patch,`patch`):typeof e.before==`string`&&e.before.length>0||typeof e.after==`string`&&e.after.length>0?{original:e.before??``,modified:e.after??``,contextMode:`full`}:null:null},[t.path,oe.data]),H=Q.useMemo(()=>{if(g)return g;if(se)return se;if(m)return L;if(te)return te;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Ti(e)?e:null},[w,g,te,m,L,se]),U=oe.error instanceof Error?oe.error.message:oe.error?String(oe.error):null,W=H?null:U??k,K=x&&oe.isPending||j,ce=H?.contextMode===B,le=Q.useCallback(e=>{R.current=e,l(t.path,e)},[t.path,l]),q=Q.useCallback(e=>{c(t.path,e)},[t.path,c]),ue=Q.useCallback(()=>{s(t.path)},[t.path,s]);Q.useEffect(()=>{if(!a||!o)return;if(y){ie.current=null,M(!1);return}if(!e||g){ie.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${V}::${B}::${D}`;if(ie.current===n)return;let r=!!(H&&ce);ie.current=n,A(null),r||M(!0);let i=!1,s=h?ci:li,c=zt(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=ai,u=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${l}ms`)),l)});return Promise.race([c,u]).then(n=>{if(!i){if(`diff`in n){let e=Ei(t.path,n.diff,B);m?re(e):ne(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?re(r):(ne(r),T(e,t.path,r))}M(!1)}}).catch(e=>{if(i)return;let t=e instanceof Error?e.message:String(e);A(t),M(!1)}),()=>{i=!0,ie.current===n&&(ie.current=null)}},[B,H,ce,D,e,y,t.path,V,C,g,a,o,h,T,m]);let de=Q.useCallback(()=>{q(!a),ue()},[q,ue,a]),fe=Q.useCallback(async n=>{if(!(!e||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;G.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:le,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:de,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),de())},className:J(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color:ae.color},title:S(ae.descriptionKey),"aria-label":S(ae.descriptionKey),children:ae.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden typography-code`,title:t.path,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(St,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(ot,{path:t.path,className:`min-w-0 flex-1 typography-code`})]})})]}),(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-self-end gap-1.5`,children:[Di(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,H)},disabled:d,children:d?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Y,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!W?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,W?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:W}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){oe.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&K&&!H&&!W?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&H&&!F&&t.insertions+t.deletions>oi?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.largeDiff`,{count:t.insertions+t.deletions})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:S(`diffView.state.largeDiffDescription`)}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>I(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&H&&(F||t.insertions+t.deletions<=oi)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ji,{filePath:t.path,diff:H,renderSideBySide:z,wrapLines:r,focusLine:_}),v?(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 right-3 z-20`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:(0,$.jsx)(Mi,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:fe})})}):null]}):null]})]})}),Fi=({hideStackedFileSidebar:e=!1,stackedDefaultCollapsedAll:t=!1,pinSelectedFileHeaderToTopOnNavigate:n=!1,showOpenInEditorAction:r=!1,diffScope:i=`all`,turnMessageId:a=null,sessionId:o=null,directory:s=null,onDiffScopeChange:u,targetFilePath:d=null,targetLine:f=null,toolPatches:p=null,flushContent:m=!1,singleFileView:h=!1,preloadFullFiles:g=!1,navigationRequestKey:_})=>{let{t:v}=ee(),{git:y,files:b}=Tt(),x=Ht(),S=typeof s==`string`&&s.trim()?s.trim():x,{screenWidth:C,isMobile:w}=Ye(),T=At(S??null),E=jt(S??null),D=kt(S??null),O=Ot(e=>e.setActiveDirectory),k=Ot(e=>e.ensureStatus),A=Ot(e=>e.fetchStatus),j=Ot(e=>e.setDiff),[M,N]=Q.useState(null),[F,I]=Q.useState(!1),[te,ne]=Q.useState(null),[L,re]=Q.useState(null),[R,ae]=Q.useState(()=>new Set),[z,B]=Q.useState(()=>new Set),[V,oe]=Q.useState(g),[se,H]=Q.useState(0),[W,K]=Q.useState(!1),[ce,le]=Q.useState(!1),[q,de]=Q.useState(i);Q.useEffect(()=>{de(i)},[i]);let fe=c(e=>e.pendingDiffFile),pe=c(e=>e.pendingDiffStaged),he=c(e=>e.pendingDiffScope),ge=c(e=>e.pendingDiffLine),_e=c(e=>e.setPendingDiffFile),ve=c(e=>e.diffLayoutPreference),ye=c(e=>e.diffFileLayout),be=c(e=>e.setDiffFileLayout),xe=c(e=>e.diffWrapLines),Se=c(e=>e.setDiffWrapLines),Ce=c(e=>e.openContextFileAtLine),we=c(e=>e.openContextFile),Te=rt(),De=ue(e=>e.currentSessionId),Oe=typeof o==`string`&&o.trim()?o.trim():De,ke=me(Oe??``,S??void 0),Ne=xe,Pe=q===`staged`||q!==`working`&&null,Fe=Pe??F,Ie=w||C<=768,Le=!!Oe&&q!==`turn`&&!Ie&&!l(),Re=!e&&!Ie&&C>=1024,ze=Q.useRef(null),Be=Q.useRef(new Map),Ve=Q.useRef(null),He=Q.useRef(null),Ue=Q.useRef(!1),We=Q.useRef(null),Ge=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useCallback(()=>{Ve.current=null,Ue.current=!1,re(null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null)},[]),Xe=Q.useCallback(e=>{ae(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ze=Q.useMemo(()=>{let e=ke.length-1;if(a&&(e=ke.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=ke[t];if(e.role!==`user`)continue;let n=Ci(e.summary?.diffs),r=typeof e.summary?.diffCount==`number`&&Number.isFinite(e.summary.diffCount)?Math.max(0,Math.trunc(e.summary.diffCount)):n.length;return{messageID:typeof e.id==`string`&&e.id?e.id:null,count:r,hasDiffs:e.summary?.hasDiffs===!0||r>0||n.length>0,thinDiffs:n}}return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]}},[ke,a]),Qe=Q.useMemo(()=>Gr(p??[]),[p]),$e=Qe.length>0,et=Q.useMemo(()=>!Oe||!S||!Ze.messageID?null:{sessionID:Oe,directory:S,messageID:Ze.messageID,diffCount:Ze.count},[S,Oe,Ze.count,Ze.messageID]),tt=Q.useMemo(()=>$e?Qe:Ze.thinDiffs,[Qe,Ze.thinDiffs,$e]),nt=Q.useMemo(()=>{let e=new Map;for(let t of tt)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,Ei(t.file,t.patch,`patch`));continue}(typeof t.before==`string`&&t.before.length>0||typeof t.after==`string`&&t.after.length>0)&&e.set(t.file,{original:t.before??``,modified:t.after??``,contextMode:`full`})}return e},[tt]),at=Q.useMemo(()=>{if(q===`turn`)return tt.map(e=>({path:e.file??``,index:``,working_dir:wi(e.status),insertions:e.additions??0,deletions:e.deletions??0,isNew:e.status===`added`})).filter(e=>e.path).sort((e,t)=>e.path.localeCompare(t.path));if(!E?.files)return[];let e=E.diffStats??{},t=q===`staged`?_i:q===`working`?vi:()=>!0;return E.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:gi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,tt,E]),ot=Q.useMemo(()=>E?.files?E.files.filter(vi).length:0,[E]),st=Q.useMemo(()=>E?.files?E.files.filter(_i).length:0,[E]),ct=$e?tt.length:Ze.count,lt=Q.useMemo(()=>at.map(e=>e.path).join(`\0`),[at]),ut=Q.useMemo(()=>{if(!h)return at;let e=d?.trim()||M;return e?at.filter(t=>t.path===e):[]},[at,M,h,d]);Q.useEffect(()=>{let e=lt?lt.split(`\0`):[],n=new Set(e),r=`${S??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=p!==null&&Ke.current!==p,o=Ge.current!==r||i;Ge.current=r,Ke.current=p,ae(r=>{if(o){let n=t||q===`turn`&&!$e?0:ui(e.length);return new Set(e.slice(0,n))}let i=!1,a=new Set;for(let e of r){if(!n.has(e)){i=!0;continue}a.add(e)}return i?a:r}),B(e=>{if(o)return new Set;let t=!1,r=new Set;for(let i of e){if(!n.has(i)){t=!0;continue}r.add(i)}return t?r:e})},[q,lt,S,t,p,a,$e]);let Z=Q.useCallback(()=>{We.current=null;let e=ze.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-si,r=t.bottom+si,i={};for(let[e,t]of Be.current){if(!t||!R.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}B(e=>{let t=!1,n=new Set(e);for(let e of Object.keys(i))n.has(e)||(n.add(e),t=!0);return t?n:e})},[R]),dt=Q.useCallback(()=>{typeof window>`u`||We.current===null&&(We.current=window.requestAnimationFrame(Z))},[Z]);Q.useEffect(()=>{let e=ze.current;if(e)return dt(),e.addEventListener(`scroll`,dt,{passive:!0}),window.addEventListener(`resize`,dt),()=>{e.removeEventListener(`scroll`,dt),window.removeEventListener(`resize`,dt),We.current!==null&&(window.cancelAnimationFrame(We.current),We.current=null)}},[at,R,dt]);let ft=Q.useCallback(e=>{let t=ye[e.path];if(t)return t;if(ve===`inline`)return`inline`;if(ve===`side-by-side`)return`side-by-side`;let n=C<ii;return e.isNew||n?`inline`:`side-by-side`},[ye,ve,C]),pt=Q.useMemo(()=>ut.length===0?null:ut.every(e=>ft(e)===`side-by-side`)?`side-by-side`:`inline`,[ft,ut]);Q.useEffect(()=>{S&&(O(S),k(S,y))},[S,O,k,y]),Q.useEffect(()=>{if(S)return U.onGitRefreshHint(e=>{bi(e.directory)===bi(S)&&A(S,y)})},[S,A,y]),Q.useEffect(()=>{q!==`all`&&!he||fe&&(he&&de(he),N(fe),I(he===`staged`||!he&&pe),ne(ge),_e(null),Ue.current=!0,Ve.current=fe,Xe(fe),H(e=>e+1))},[q,Xe,fe,ge,he,pe,_e]),Q.useEffect(()=>{if(q===`all`)return;let e=d?.trim();if(!e)return;Xe(e),N(e),I(q===`staged`),ne(f);let t=Kr({scope:q,navigationRequestKey:_,targetFilePath:e,targetLine:f}),n=at.some(t=>t.path===e);qr(qe.current,t,n)&&(qe.current=t,Ue.current=!0,Ve.current=e,H(e=>e+1))},[q,at,Xe,_,d,f]),Q.useEffect(()=>{M&&(at.some(e=>e.path===M)||(N(null),I(!1)))},[at,M]);let mt=Q.useCallback((e,t)=>{let n=Be.current;t?n.set(e,t):n.delete(e),dt()},[dt]),ht=Q.useCallback((e,t)=>{Je(),ae(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||B(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),dt()},[Je,dt]),gt=Q.useCallback(()=>{Je(),ae(e=>e.size>0?new Set:new Set(at.map(e=>e.path))),B(new Set),dt()},[Je,at,dt]),_t=Q.useCallback(async e=>{if(!De)return;let t=ue.getState().getDirectoryForSession(De)||S||``;if(!t){G.error(v(`diffView.reviewDialog.toast.noSessionDirectory`));return}le(!0);try{await ie({originalSessionID:De,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),K(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),G.error(e instanceof Error?e.message:v(`diffView.reviewDialog.toast.startFailed`))}finally{le(!1)}},[De,S,v]),vt=Q.useCallback(e=>{let t=Be.current.get(e),n=ze.current;if(!t||!n)return!1;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect().top-r.top,a=Math.max(0,n.scrollHeight-n.clientHeight);return n.scrollTop=Math.min(a,Math.max(0,n.scrollTop+i)),!0},[]);Q.useEffect(()=>{if(!Ve.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Ve.current=null,Ue.current=!1,re(null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null))},i=()=>{if(t){He.current=null;return}let a=Ve.current;if(!a){r(),He.current=null;return}if(!vt(a)){e+=1,e<20?He.current=window.requestAnimationFrame(i):(r(),He.current=null);return}n&&Ue.current&&re(a),r()};return He.current=window.requestAnimationFrame(i),()=>{t=!0,He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null)}},[n,se,vt]);let yt=Q.useCallback(e=>{},[]),bt=Q.useCallback(e=>{Je(),N(e),I(!1),Ue.current=!0,Ve.current=e,Xe(e),H(e=>e+1),vt(e)},[Je,Xe,vt]),xt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;ut.forEach(e=>{be(e.path,t)})},[be,ut]),[St,Ct]=Q.useState(null),wt=Q.useCallback(async(e,t)=>{if(!(!S||!e)){Ct(e);try{let n=null;if(t?.patch&&!t.isBinary&&!zt(e)?n=Wr(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!zt(e)&&(n=xi(t.original,t.modified)),n===null)try{n=Wr((await y.getGitDiff(S,{path:e,staged:Fe,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await y.getGitFileDiff(S,{path:e,staged:Fe});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},Fe||j(S,e,r)}let i=n??(r.isBinary||zt(e)?1:xi(r.original,r.modified)),a=yi(S,e),o=await Pr(b,a);if(!o.ok){G.error(Fr(o.reason));return}Ce(S,a,i,1)}finally{Ct(t=>t===e?null:t)}}},[Fe,S,b,y,Ce,j]),Et=P(e=>{if(!S||!e)return;let t=yi(S,e);if(Te){Te.openFile({path:t});return}Pr(b,t).then(e=>{if(!e.ok){G.error(Fr(e.reason));return}we(S,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[h?null:(0,$.jsxs)(`div`,{className:`@container/diff-toolbar flex min-w-0 items-center gap-1.5 px-2 py-1.5 bg-background`,children:[!w&&(q===`working`||q===`staged`||q===`turn`?(0,$.jsx)(Oi,{scope:q,workingCount:ot,stagedCount:st,turnCount:ct,onScopeChange:e=>{de(e),u?.(e)}}):(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-md px-2 py-1 text-muted-foreground shrink-0`,children:(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:D&&!E?v(`diffView.state.loadingChanges`):ut.length===1?v(`diffView.summary.changedFilesSingle`,{count:ut.length}):v(`diffView.summary.changedFilesPlural`,{count:ut.length})})})),!h&&at.length>0&&(q!==`turn`||$e)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:gt,className:J(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:R.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`),children:[(0,$.jsx)(Y,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:R.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`)})]}),at.length>0&&Le&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>K(!0),disabled:ce,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":v(`diffView.actions.reviewAria`),children:[ce?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:v(`diffView.actions.review`)})]}),at.length>0&&(0,$.jsxs)(Me,{children:[(0,$.jsx)(Ae,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>oe(e=>!e),"aria-pressed":V,"aria-label":v(V?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:J(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,V&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Y,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(je,{children:(0,$.jsx)(`p`,{children:v(V?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),at.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>Se(!xe),className:J(`h-5 w-5 p-0 transition-opacity`,Ne?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:v(Ne?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Y,{name:`text-wrap`,className:`size-4`})}),pt&&(0,$.jsx)(Gt,{mode:pt===`side-by-side`?`side-by-side`:`unified`,onModeChange:xt})]}),(0,$.jsx)(it,{open:W,onOpenChange:K,projectDirectory:S??null,submitting:ce,onConfirm:_t}),S?q!==`turn`&&D&&!E?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),v(`diffView.state.loadingRepositoryStatus`)]}):q!==`turn`&&T===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.notGitRepository`)}):ut.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(q===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!S)return null;let e=e=>Pe===null?F&&e===M:Pe;return(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-1 min-h-0 h-full`,m?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Re&&(0,$.jsxs)(`section`,{className:`hidden lg:flex w-72 flex-col rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border/40`,children:[(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:v(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:at.length})]}),(0,$.jsx)(ki,{changedFiles:at,selectedFile:null,onSelectFile:bt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Ee,{ref:ze,outerClassName:`min-h-0 h-full`,className:`[overflow-anchor:none] pb-16 pwa-overlay-scroll`,disableHorizontal:!0,observeMutations:!1,preventOverscroll:!0,"data-diff-virtual-root":!0,children:(0,$.jsx)(`div`,{className:`flex flex-col [overflow-anchor:none]`,"data-diff-virtual-content":!0,children:ut.map(t=>(0,$.jsx)(Pi,{directory:S,file:t,layout:ft(t),wrapLines:Ne,isSelected:!1,isExpanded:R.has(t.path),isMounted:z.has(t.path)||t.path===L||h&&ut.length===1,onSelect:yt,onExpandedChange:ht,registerSectionRef:mt,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:St===t.path,onOpenInEditor:(e,t)=>{wt(e,t)},onOpenFile:Et,staged:e(t.path),loadFullFiles:V,initialDiffData:q===`turn`?nt.get(t.path)??null:null,focusLine:t.path===(d?.trim()||M)?f??te:null,showFileActions:q!==`turn`,disableGitFetch:q===`turn`,turnChangesRequest:et,loadTurnChangeFile:q===`turn`&&!$e},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.selectSessionDirectory`)})]})},Ii=(e,t)=>{if(!t)return null;let n=Number.parseInt(e.trim(),10);return!Number.isFinite(n)||n<1?null:Math.min(n,t.state.doc.lines)},Li=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Ri=(e,t,n)=>{let r=e.state.doc.line(t),i=Math.max(1,Math.min(n,r.length+1)),a=r.from+i-1;e.dispatch({selection:N.cursor(a),effects:M.scrollIntoView(a,{y:`center`})})};function zi({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=ee(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>Ii(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=Li(n,n.state.selection),o(``))},[e,n]),Q.useEffect(()=>{e&&window.requestAnimationFrame(()=>{u.current?.focus(),u.current?.select()})},[e]),Q.useEffect(()=>{if(!(!e||!n||!s.current)){if(d===null){let{selection:e}=s.current;n.dispatch({selection:e,effects:M.scrollIntoView(e.main.from,{y:`center`})});return}Ri(n,d,s.current.character)}},[d,e,n]);let f=Q.useCallback(()=>{if(!n||c.current||!s.current)return;let{selection:e}=s.current;n.dispatch({selection:e,effects:M.scrollIntoView(e.main.from,{y:`center`})})},[n]),p=Q.useCallback(e=>{e||f(),t(e)},[t,f]),m=Q.useCallback(()=>{!n||d===null||!s.current||(c.current=!0,Ri(n,d,s.current.character),t(!1),n.focus())},[d,t,n]);Q.useEffect(()=>{if(!e)return;let t=e=>{let t=l.current,n=e.target;!t||!(n instanceof Node)||t.contains(n)||p(!1)},n=e=>{e.key===`Escape`&&(e.preventDefault(),p(!1))};return document.addEventListener(`pointerdown`,t,!0),document.addEventListener(`keydown`,n,!0),()=>{document.removeEventListener(`pointerdown`,t,!0),document.removeEventListener(`keydown`,n,!0)}},[p,e,r]);let h=Q.useMemo(()=>{if(!n)return i(`goToLineDialog.helper.editorUnavailable`);if(d===null){let e=s.current??Li(n,n.state.selection);return i(`goToLineDialog.helper.currentLineRange`,{current:e.lineNumber,max:n.state.doc.lines})}return i(`goToLineDialog.helper.goToLine`,{line:d})},[d,i,n]);return r===`inline`?e?(0,$.jsxs)(`div`,{ref:l,className:`ml-1 flex h-6 items-center gap-1`,children:[(0,$.jsx)(ke,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(X,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:J(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(ke,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholder`),className:`h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label`}),(0,$.jsx)(`div`,{className:`mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95`,children:h})]})})}var Bi=(e,t)=>{let n=Ze(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Vi=(e,t,n=10)=>{let r=$e(e);if(!r||n<1)return[];let i=new Set,a=[];for(let e of Object.values(t))if(e)for(let t of e){if(t.type!==`directory`)continue;let e=$e(t.path);if(!e||i.has(e))continue;let o=Bi(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Hi=e=>e.some(e=>!!$e(e)),Ui=(e,t)=>{let n=new Set(t.map(e=>$e(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Wi=(e,t,n)=>t.length===0?e.length===0:Ui(e,t).length>0?!1:t.every(e=>n.has($e(e))),Gi=[{id:`finder`,label:`Finder`,appName:`Finder`},{id:`terminal`,label:`Terminal`,appName:`Terminal`},{id:`iterm2`,label:`iTerm2`,appName:`iTerm`},{id:`ghostty`,label:`Ghostty`,appName:`Ghostty`},{id:`vscode`,label:`VS Code`,appName:`Visual Studio Code`},{id:`vscode-insiders`,label:`VS Code Insiders`,appName:`Visual Studio Code - Insiders`},{id:`intellij`,label:`IntelliJ`,appName:`IntelliJ IDEA`},{id:`visual-studio`,label:`Visual Studio`,appName:`Visual Studio`},{id:`cursor`,label:`Cursor`,appName:`Cursor`},{id:`android-studio`,label:`Android Studio`,appName:`Android Studio`},{id:`pycharm`,label:`PyCharm`,appName:`PyCharm`},{id:`xcode`,label:`Xcode`,appName:`Xcode`},{id:`sublime-text`,label:`Sublime`,appName:`Sublime Text`},{id:`webstorm`,label:`WebStorm`,appName:`WebStorm`},{id:`rider`,label:`Rider`,appName:`Rider`},{id:`zed`,label:`Zed`,appName:`Zed`},{id:`phpstorm`,label:`PhpStorm`,appName:`PhpStorm`},{id:`eclipse`,label:`Eclipse`,appName:`Eclipse`},{id:`windsurf`,label:`Windsurf`,appName:`Windsurf`},{id:`vscodium`,label:`VSCodium`,appName:`VSCodium`},{id:`rustrover`,label:`RustRover`,appName:`RustRover`},{id:`kiro`,label:`Kiro`,appName:`Kiro`},{id:`antigravity`,label:`Antigravity`,appName:`Antigravity`},{id:`trae`,label:`Trae`,appName:`Trae`}],Ki=`finder`,qi=new Set([`finder`,`terminal`]),Ji=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,Yi=e=>{if(!e)return null;let t=Gi.find(t=>t.id===e)??null;return t?Ji(t):null},Xi=()=>Gi.filter(e=>qi.has(e.id)).map(e=>({...Ji(e)})),Zi=()=>{if(typeof window>`u`)return Ki;let e=window.localStorage.getItem(`openInAppId`);return e&&Yi(e)?e:Ki},Qi=!1,$i=!1,ea=!1,ta=0,na=null,ra=()=>{na&&=(clearTimeout(na),null)},ia=S()((e,t)=>({selectedAppId:Zi(),availableApps:Xi(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(Qi||typeof window>`u`)return;Qi=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Xi(),hasLoadedApps:n});return}let r=new Set(t.map(e=>e.name)),i=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0]));e({availableApps:Gi.filter(e=>r.has(e.appName)||qi.has(e.id)).map(e=>({...Ji(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!f()||!p()||$i||t().hasLoadedApps&&!i)return;let a=Gi.map(e=>e.appName);ra(),i&&e({hasLoadedApps:!1}),$i=!0,ea=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await d(a,i),l=o&&!s&&t.length===0&&ta<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ta]??3200;ta+=1,ea=!0,na=setTimeout(()=>{r()},e);return}ta=0,ea=!1;return}if(ta<3){let e=[1e3,3e3,7e3][ta]??7e3;ta+=1,ea=!0,na=setTimeout(()=>{r()},e)}}finally{$i=!1,ea||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&Yi(n.openInAppId)?n.openInAppId:null;r&&(window.localStorage.setItem(`openInAppId`,r),e({selectedAppId:r}))}),window.addEventListener(`openchamber:app-ready`,()=>{r()}),window.addEventListener(`openchamber:installed-apps-updated`,t=>{let r=t.detail;Array.isArray(r)&&(ta=3,ea=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(Qi||t().initialize(),!f()||!p()||$i||t().hasLoadedApps&&!n)return;let r=Gi.map(e=>e.appName);ra(),n&&e({hasLoadedApps:!1}),$i=!0,ea=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await d(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=Gi.filter(e=>o.has(e.appName)||qi.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Xi(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{$i=!1,ea||e({isScanning:!1})}},selectApp:async t=>{Yi(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await y({openInAppId:t}))}})),aa=Ft(()=>O(()=>import(`./ToolOutputDialog-nSZ8-Kjx.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]))),oa=e=>{let t=la(e);if(!t)return``;if(t===`/`||/^[A-Za-z]:\/$/.test(t))return t;let n=t.lastIndexOf(`/`);if(n<0)return t;if(n===0)return`/`;let r=t.slice(0,n);return/^[A-Za-z]:$/.test(r)?`${r}/`:r},sa=e=>{let t=(0,Sn.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=J(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},ca=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),la=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},ua=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),da=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,fa=(e,t)=>{let n=la(t),r=la(e);if(!n||!r)return!1;let i=da(n),a=da(r);return a===i||a.startsWith(`${i}/`)},pa=(e,t)=>{let n=la(t),r=la(e);if(!fa(r,n))return[];let i=r.slice(n.length).replace(/^\//,``).split(`/`),a=[],o=n;for(let e=0;e<i.length-1;e++)o=o?`${o}/${i[e]}`:i[e],a.push(o);return a},ma=(e,t)=>{if(!t)return``;let n=la(t);if(!e||!fa(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},ha=new Set([`node_modules`]),ga=e=>{let t=(0,Sn.c)(3),{status:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={open:`var(--status-info)`,modified:`var(--status-warning)`,"git-modified":`var(--status-warning)`,"git-added":`var(--status-success)`,"git-deleted":`var(--status-error)`},t[0]=r):r=t[0];let i=r[n],a;return t[1]===i?a=t[2]:(a=(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{backgroundColor:i}}),t[1]=i,t[2]=a),a},_a=e=>{let t=(0,Sn.c)(11),{name:n}=e,r=Q.useRef(null),i=Q.useRef(null),[a,o]=Q.useState(!1),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=r.current,t=i.current;if(!e||!t)return;let n=()=>{o(t.scrollWidth>e.clientWidth+1)};n();let a=new ResizeObserver(n);return a.observe(e),a.observe(t),()=>{a.disconnect()}},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=[n],t[1]=n,t[2]=c),Q.useLayoutEffect(s,c);let l;t[3]===n?l=t[4]:(l=(0,$.jsx)(`span`,{ref:i,"aria-hidden":`true`,className:`invisible absolute whitespace-nowrap`,children:n}),t[3]=n,t[4]=l);let u;t[5]!==n||t[6]!==a?(u=a?(0,$.jsxs)(`span`,{className:`open-file-name-marquee-track`,children:[(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,children:n}),(0,$.jsx)(`span`,{className:`open-file-name-marquee-item`,"aria-hidden":`true`,children:n})]}):(0,$.jsx)(`span`,{className:`block min-w-0 truncate`,children:n}),t[5]=n,t[6]=a,t[7]=u):u=t[7];let d;return t[8]!==l||t[9]!==u?(d=(0,$.jsxs)(`span`,{ref:r,className:`relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10],d},va=e=>ha.has(e),ya=e=>{let t=la(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},ba=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},xa=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)},Sa=2e5,Ca=`openchamber:files:auto-save-enabled`,wa=e=>{let t=0,n=0;for(let r=0;r<e.length;r+=1)e.charCodeAt(r)===10&&(r>0&&e.charCodeAt(r-1)===13?t+=1:n+=1);return t>n?`\r
|
|
146
146
|
`:`
|
|
147
147
|
`},Ta=e=>e.replace(/\r\n/g,`
|
|
148
148
|
`).replace(/\r/g,`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-DOxLVeGb.js";import{nt as r,rt as i}from"./vendor-base-ui-CnHfUmDN.js";import{l as a}from"./vendor-tanstack-react-query-D7pys_c9.js";import{r as o}from"./vendor-sonner-DVzioF3d.js";import{n as s}from"./clipboard-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-DOxLVeGb.js";import{nt as r,rt as i}from"./vendor-base-ui-CnHfUmDN.js";import{l as a}from"./vendor-tanstack-react-query-D7pys_c9.js";import{r as o}from"./vendor-sonner-DVzioF3d.js";import{n as s}from"./clipboard-CadKjjVT.js";import{n as c}from"./Icon-BLWVqBee.js";import{n as l}from"./useRuntimeAPIs-DSLXJybW.js";import{n as u}from"./useEffectiveDirectory-DztZ8U3M.js";import{t as d}from"./diagram-Cxma_IKI.js";import{n as f,r as p,t as m}from"./fileQueries-BJKLdYos.js";var h=e(i(),1),g=r();function _(){let{t:e}=s(),{files:r}=l(),i=a(),_=u()??null,v=t(),[y,b]=h.useState(null),[x,S]=h.useState(``),C=h.useRef(null),w=h.useRef(!1),T=h.useRef(null),E=h.useRef(0),D=h.useRef(Promise.resolve()),O=n(e=>e.pendingDiagramFile),k=p({scopeDirectory:_,path:y},{enabled:!!y});if(y&&(T.current?.path!==y||T.current.transport!==v||T.current.scopeDirectory!==_)){let e=E.current+1;E.current=e,T.current={path:y,generation:e,transport:v,scopeDirectory:_}}h.useEffect(()=>(w.current=!0,()=>{w.current=!1,E.current+=1}),[]),h.useEffect(()=>{if(!O)return;let e=n.getState().consumePendingDiagramFile();if(e){let t=E.current+1;E.current=t,T.current={path:e,generation:t,transport:v,scopeDirectory:_},b(e)}},[_,O,v]),h.useEffect(()=>{let e=T.current;if(!(!e||e.path!==y||e.transport!==v||e.scopeDirectory!==_)){if(k.data!==void 0){S(k.data);return}k.isError&&S(``)}},[_,y,k.data,k.isError,v]);let A=h.useCallback(async()=>{let t=C.current?.getXml(),n=T.current,a=r?.writeFile;if(!y||!a||!t||t===x||n?.path!==y)return;let{path:s,generation:c,scopeDirectory:l,transport:u}=n,d=D.current.then(async()=>{try{if(!(await a(s,t))?.success)throw Error(e(`filesView.toast.writeFileFailed`));let n={scopeDirectory:l,path:s};await i.cancelQueries({queryKey:m(n,u),exact:!0}),f(i,n,u,t);let r=T.current;w.current&&r?.path===s&&r.generation===c&&r.transport===u&&r.scopeDirectory===l&&S(t)}catch(t){o.error(t instanceof Error?t.message:e(`filesView.toast.saveFailed`))}});D.current=d.catch(()=>void 0),await d},[y,r,i,e,x]),j=y?y.split(`/`).pop()||y:``;return y?k.isPending?(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center p-3`,children:(0,g.jsx)(c,{name:`loader-4`,className:`size-4 animate-spin`})}):(0,g.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/30 px-3 py-1.5`,children:[(0,g.jsx)(c,{name:`file`,className:`size-4 shrink-0 text-muted-foreground`}),(0,g.jsx)(`span`,{className:`typography-ui text-muted-foreground truncate flex-1`,children:j}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>void A(),className:`size-6 flex items-center justify-center rounded-md text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,title:e(`filesView.diagram.saveDiagram`),children:(0,g.jsx)(c,{name:`save-3`,className:`size-4`})}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>n.getState().setActiveMainTab(`chat`),className:`size-6 flex items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,title:e(`filesView.diagram.closeDiagramView`),children:(0,g.jsx)(c,{name:`close`,className:`size-4`})})]}),(0,g.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,g.jsx)(d,{ref:C,xml:x,className:`h-full`})})]}):(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center p-3`,children:(0,g.jsx)(`div`,{className:`typography-ui text-muted-foreground`,children:e(`filesView.editor.pickFileFromTree`)})})}export{_ as DiagramView};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-DOxLVeGb.js";import{$t as r,Jt as i,Xt as a,Yt as o,in as s,kn as c}from"./persistence-DE9RnVcA.js";import{nt as l,rt as u}from"./vendor-base-ui-CnHfUmDN.js";import{t as d}from"./platform-MjT8iqKB.js";import{n as f}from"./vendor-react-DLPElpoQ.js";import{n as p,r as m,u as h}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as g,t as _}from"./clipboard-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-DOxLVeGb.js";import{$t as r,Jt as i,Xt as a,Yt as o,in as s,kn as c}from"./persistence-DE9RnVcA.js";import{nt as l,rt as u}from"./vendor-base-ui-CnHfUmDN.js";import{t as d}from"./platform-MjT8iqKB.js";import{n as f}from"./vendor-react-DLPElpoQ.js";import{n as p,r as m,u as h}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as g,t as _}from"./clipboard-CadKjjVT.js";import{Ni as v}from"./useMobileNavigationStore-BzOSycct.js";import{t as y}from"./utils-C2R0YoC5.js";import{t as b}from"./useThemeSystem-DMzWVJaW.js";import{c as x,d as S,g as C,h as w,m as T,n as ee,o as E,p as D,r as O,s as k,t as te,v as A,x as ne}from"./markdownTheme-H7_7lbuh.js";import{n as re}from"./useRuntimeAPIs-DSLXJybW.js";import{a as j,i as M,n as N,r as P}from"./url-CTuw7Rjf.js";import{c as ie,h as F,i as ae,o as I,s as L,t as R}from"./markdown-worker-DqO-GnVj.js";import{n as oe}from"./useEffectiveDirectory-DztZ8U3M.js";import{a as z,c as B,d as V,f as se,i as ce,n as le,r as ue,u as de}from"./FadeInOnReveal-Cy3sf2M5.js";import{t as fe}from"./vendor-morphdom-BbKiNDAu.js";import{n as pe,t as me}from"./vendor-beautiful-mermaid-DykqIK5D.js";import{t as H}from"./vendor-marked-WVekxjAN.js";import{t as U}from"./vendor-remend-C3cXc-tf.js";import{t as he}from"./vendor-katex-CNGgSigB.js";import{t as W}from"./vendor-dompurify-CeJNOzik.js";var G=e(u(),1),ge=f(),K=`text`,_e=/^(\d+):(\d+):(.+)$/,ve={ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,vue:`vue`,svelte:`svelte`,astro:`astro`,json:`json`,jsonc:`jsonc`,json5:`json5`,jsonl:`json`,ndjson:`json`,geojson:`json`,yaml:`yaml`,yml:`yaml`,toml:`toml`,ini:`ini`,cfg:`ini`,conf:`ini`,properties:`properties`,env:`dotenv`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,styl:`stylus`,html:`html`,htm:`html`,xml:`xml`,svg:`xml`,md:`markdown`,markdown:`markdown`,mdown:`markdown`,mkd:`markdown`,mdx:`mdx`,py:`python`,pyw:`python`,pyi:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,kts:`kotlin`,swift:`swift`,scala:`scala`,c:`c`,h:`c`,cc:`cpp`,cpp:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,m:`objective-c`,mm:`objective-cpp`,cs:`csharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,php:`php`,pl:`perl`,pm:`perl`,lua:`lua`,r:`r`,dart:`dart`,ex:`elixir`,exs:`elixir`,erl:`erlang`,hrl:`erlang`,hs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,groovy:`groovy`,jl:`julia`,ml:`ocaml`,mli:`ocaml`,zig:`zig`,nix:`nix`,sol:`solidity`,prisma:`prisma`,proto:`proto`,graphql:`graphql`,gql:`graphql`,sql:`sql`,sh:`shellscript`,bash:`shellscript`,zsh:`shellscript`,fish:`shellscript`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,tf:`terraform`,tfvars:`terraform`,hcl:`hcl`,diff:`diff`,patch:`diff`,csv:`csv`,tex:`latex`,vim:`viml`,wgsl:`wgsl`,glsl:`glsl`,wat:`wasm`,mermaid:`mermaid`,mmd:`mermaid`},ye={dockerfile:`docker`,containerfile:`docker`,makefile:`make`,gnumakefile:`make`,"cmakelists.txt":`cmake`,gemfile:`ruby`,rakefile:`ruby`,podfile:`ruby`,".env":`dotenv`,".bashrc":`shellscript`,".zshrc":`shellscript`,".profile":`shellscript`},be=e=>{let t=e.split(/[\\/]/).pop()?.toLowerCase()??``;if(!t)return K;let n=ye[t];if(n)return n;let r=t.lastIndexOf(`.`);return r<=0?K:ve[t.slice(r+1)]??K},xe=e=>{let t=e?.trim()??``;if(!t)return{lang:K,label:K,reference:!1};let n=_e.exec(t);if(!n){let e=t.toLowerCase();return{lang:e,label:e,reference:!1}}let[,r=``,i=``,a=``]=n,o=r===i?r:`${r}-${i}`;return{lang:be(a),label:`${a}:${o}`,reference:!0}},Se=e=>e===` `||e===` `||e===`
|
|
2
2
|
`||e===`\r`,Ce=e=>e!==void 0&&e>=`0`&&e<=`9`,we=e=>e===`\\`||e===`^`||e===`_`||e===`{`||e===`}`||e===`=`||e===`+`||e===`*`||e===`/`||e===`-`,Te=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(n!==void 0&&we(n))return!0}return!1},Ee=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(n===`"`||n===`'`||Se(n))return!0}return!1},De=e=>{let t=0;for(;t<e.length;){let n=e.indexOf(`$`,t);if(n<0)return;let r=e[n+1];if(r===`$`||r!==void 0&&!Se(r))return n;t=n+1}},Oe=e=>{if(e[0]===`$`){if(e[1]===`$`){let t=e.indexOf(`$$`,2);return t<0?void 0:{raw:e.slice(0,t+2),text:e.slice(2,t),display:!0}}if(!(e.length<3||Se(e[1])))for(let t=1;t<e.length;t+=1){let n=e[t];if(n===`\\`){t+=1;continue}if(n!==`$`)continue;if(e[t+1]===`$`||Se(e[t-1]))return;if(Ce(e[t+1]))continue;if(t===1)return;let r=e.slice(1,t);return Ce(e[1])&&!Te(r)&&Ee(r)?void 0:{raw:e.slice(0,t+1),text:r,display:!1}}}},q=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`),ke=e=>/^\[[^\]]+\]:\s+\S+/m.test(e)||/^\[\^[^\]]+\]:\s+/m.test(e),Ae=e=>{let t=e.match(/^[ \t]{0,3}(`{3,}|~{3,})/);if(!t)return!1;let n=t[1];if(!n)return!1;let r=n[0],i=n.length,a=e.trimEnd().split(`
|
|
3
3
|
`).at(-1)?.trim()??``;return!RegExp(`^[\\t ]{0,3}${r}{${i},}[\\t ]*$`).test(a)},je=e=>{try{return U(e,{linkMode:`text-only`})}catch{return e}},Me=(e,t)=>{let n=t?`live`:`full`;if(ke(e))return[{raw:e,src:je(e),mode:n,highlight:!0}];let r;try{r=H.lexer(e)}catch{return[{raw:e,src:je(e),mode:n,highlight:!0}]}let i=-1;for(let e=r.length-1;e>=0;--e)if(r[e]?.type!==`space`){i=e;break}if(i<0)return[{raw:e,src:je(e),mode:n,highlight:!0}];let a=[];for(let e=0;e<r.length;e+=1){let t=r[e];if(!t||t.type===`space`)continue;let o=t.raw??``,s=e===i,c=t.type===`code`&&Ae(o);a.push({raw:o,src:c?o:je(o),mode:s?n:`full`,highlight:!c})}return a.length===0?[{raw:e,src:je(e),mode:n,highlight:!0}]:a},Ne=16,Pe=new Map,Fe=(e,t)=>{let n=`${+!!t}:${e}`,r=Pe.get(n);if(r)return Pe.delete(n),Pe.set(n,r),r;let i=Me(e,t);for(;Pe.size>=Ne;){let e=Pe.keys().next().value;if(typeof e!=`string`)break;Pe.delete(e)}return Pe.set(n,i),i},Ie=(e,t,n)=>{try{return he.renderToString(e,{displayMode:n,throwOnError:!1})}catch{return t}},Le=H.use({gfm:!0,breaks:!1,extensions:[{name:`inlineMath`,level:`inline`,start(e){let t=e.indexOf(`\\(`);return t<0?void 0:t},tokenizer(e){let t=/^\\\(([\s\S]+?)\\\)/.exec(e);if(t)return{type:`inlineMath`,raw:t[0],text:t[1]??``}},renderer(e){let t=e;return Ie(t.text,t.raw,!1)}},{name:`blockMath`,level:`block`,start(e){let t=e.indexOf(`\\[`);return t<0?void 0:t},tokenizer(e){let t=/^\\\[([\s\S]+?)\\\]/.exec(e);if(t)return{type:`blockMath`,raw:t[0],text:t[1]??``}},renderer(e){let t=e;return Ie(t.text,t.raw,!0)}},{name:`dollarMath`,level:`inline`,start(e){return De(e)},tokenizer(e){let t=Oe(e);if(t)return{type:`dollarMath`,raw:t.raw,text:t.text,display:t.display}},renderer(e){let t=e;return Ie(t.text,t.raw,t.display)}}],renderer:{link({href:e,title:t,text:n}){let r=e??``,i=de(r);if(i)return`<a href="${q(B(i))}" data-openchamber-agent-mention="true" class="text-primary hover:underline" target="_blank" rel="noopener noreferrer">${n}</a>`;let a=V(r);if(a)return`<a href="${q(r)}" data-skill-name="${q(a)}" class="text-primary hover:underline">${n}</a>`;let o=t?` title="${q(t)}"`:``;return`<a href="${q(r)}"${o} class="external-link" target="_blank" rel="noopener noreferrer">${n}</a>`}}}),Re=e=>e.replace(/\$\$([\s\S]*?)\$\$/g,(e,t)=>{try{return he.renderToString(t,{displayMode:!0,throwOnError:!1})}catch{return`$$${t}$$`}}),ze=e=>e.indexOf(`$`)===-1?e:e.split(/(<(?:pre|code|kbd)[^>]*>[\s\S]*?<\/(?:pre|code|kbd)>)/gi).map((e,t)=>t%2==1?e:Re(e)).join(``),Be=/<pre><code(?:\s+class="language-([^"]*)")?>([\s\S]*?)<\/code><\/pre>/g,Ve=1200,He=200,Ue=(e,t)=>{let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&++n>t)return!0;return!1},We=e=>e.replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/&/g,`&`),Ge=e=>e.reference?`data-md-lang="${q(e.lang)}" data-md-label="${q(e.label)}"`:`data-md-lang="${q(e.lang)}"`,Ke=async(e,t,n)=>{if(t?.aborted)return null;let i=[...e.matchAll(Be)];if(i.length===0)return e;let a=r()?He:Ve,o=e;for(let e of i){if(t?.aborted)return null;let[r,i,s]=e,c=xe(i);if(c.lang===`mermaid`&&!c.reference)continue;let l=We(s??``);if(Ue(l,a)){o=o.replace(r,()=>r.replace(`<pre`,`<pre ${Ge(c)}`));continue}let u=await R(l,c.lang,{signal:t,priority:n});if(t?.aborted)return null;if(u){let e=u.replace(/^<pre/,`<pre ${Ge(c)}`);o=o.replace(r,()=>e)}}return o},qe={USE_PROFILES:{html:!0,mathMl:!0,svg:!0},ADD_TAGS:[`svg`,`path`,`g`,`rect`,`line`,`polygon`,`polyline`,`circle`,`ellipse`,`text`,`tspan`,`defs`,`marker`],ADD_ATTR:[`d`,`viewBox`,`preserveAspectRatio`,`xmlns`,`target`,`fill`,`stroke`,`stroke-width`,`transform`,`points`,`x`,`y`,`x1`,`y1`,`x2`,`y2`,`cx`,`cy`,`r`,`rx`,`ry`,`style`],FORBID_TAGS:[`script`],FORBID_CONTENTS:[`script`]},Je=!1,Ye=()=>{Je||typeof window>`u`||!W.isSupported||(Je=!0,W.addHook(`uponSanitizeAttribute`,(e,t)=>{if(!(e instanceof HTMLImageElement)||t.attrName!==`src`)return;let n=typeof t.attrValue==`string`?t.attrValue:``;/^file:/i.test(n)&&(e.setAttribute(`data-md-image-source`,n),t.keepAttr=!1)}),W.addHook(`afterSanitizeAttributes`,e=>{e instanceof HTMLAnchorElement&&e.target===`_blank`&&e.setAttribute(`rel`,`noopener noreferrer`)}))},Xe=e=>W.isSupported?(Ye(),W.sanitize(e,qe)):``,Ze=`data-md-sanitize-block`,Qe=e=>{if(e.length===0)return[];if(e.length===1)return[Xe(e[0])];if(!W.isSupported||typeof document>`u`)return e.map(e=>Xe(e));let t=e.map((e,t)=>`<div ${Ze}="${t}">${e}</div>`).join(``),n=document.createElement(`div`);n.innerHTML=Xe(t);let r=e.map(()=>``);return n.querySelectorAll(`[${Ze}]`).forEach(e=>{let t=Number(e.getAttribute(Ze));Number.isInteger(t)&&t>=0&&t<r.length&&(r[t]=e.innerHTML)}),r},$e=240,et=16777216,tt=160,nt=8388608,rt=new L({maxEntries:$e,maxBytes:et}),it=new L({maxEntries:tt,maxBytes:nt}),at=e=>{let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},ot=e=>e.length*2,st=(e,t)=>{rt.set(e,t,ot(e)+ot(t.hash)+ot(t.html))},ct=async(e,t,n)=>{if(t?.aborted)return null;let r=await Promise.resolve(Le.parse(e.src));if(t?.aborted)return null;let i=ze(r);if(t?.aborted)return null;let a=e.highlight?await Ke(i,t,n):i;if(a===null||t?.aborted)return null;let o=Xe(a);return t?.aborted?null:o},lt=e=>`${at(e)}:${e.length}`,ut=e=>{let t=it.get(lt(e));return t?.source===e?t.html:void 0},dt=(e,t)=>{let n=lt(e);it.set(n,{source:e,html:t},ot(n)+ot(e)+ot(t))},ft=e=>ze(Le.parse(e)),pt=e=>{if(!e)return[];let t=Fe(e,!1).map(e=>e.src),n=Array(t.length).fill(``),r=[],i=[];t.forEach((e,t)=>{let a=ut(e);if(a!==void 0){n[t]=a;return}r.push(t),i.push(ft(e))});let a=Qe(i);return r.forEach((e,r)=>{let i=a[r]??``;n[e]=i,dt(t[e],i)}),n},mt=8,ht=()=>typeof performance<`u`?performance.now():Date.now(),gt=e=>e?.aborted?Promise.resolve(!1):new Promise(t=>{let n=!1,r=r=>{n||(n=!0,e?.removeEventListener(`abort`,a),t(r))},i=ce(()=>{r(!e?.aborted)},{priority:`visible`}),a=()=>{i(),r(!1)};e?.addEventListener(`abort`,a,{once:!0})}),_t=async(e,t,n,r)=>{if(!e)return[];let i=Fe(e,t),a=t?`visible`:`background`,o=async(e,t)=>{if(r?.aborted)return null;let i=at(e.raw),o=`${i}:${e.mode}:${+!!e.highlight}`,s=`${n}:${t}:${e.mode}`,c=rt.get(s);if(c&&c.hash===i)return{id:o,html:c.html};let l=await ct(e,r,a);return l===null||r?.aborted?null:(st(s,{hash:i,html:l}),{id:o,html:l})};if(t)return(await Promise.all(i.map(o))).filter(e=>e!==null);let s=[],c=0;for(let e=0;e<i.length&&!r?.aborted;e+=1){let t=i[e];if(!t)continue;if(ht()>=c){if(!await gt(r))break;c=ht()+mt}let n=await o(t,e);n&&s.push(n)}return s},J=e=>Number.isFinite(e)&&e>0,vt=e=>{if(typeof e==`number`)return J(e)?e:null;if(typeof e!=`string`)return null;let t=e.trim().match(/^([+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?)(?:px)?$/);if(!t)return null;let n=Number(t[1]);return J(n)?n:null},yt=(e,t,n)=>Math.min(n,Math.max(t,e)),bt=6,xt=1.25,St=1.0015,Ct=16,wt=1e3,Tt=.5,Et=12,Dt=400,Ot=`[data-markdown="mermaid-block"]`,kt=e=>e.querySelector(Ot)!==null,At=e=>[e.x,e.y,e.width,e.height].map(e=>{let t=Number(e.toFixed(bt));return Object.is(t,-0)?`0`:String(t)}).join(` `),jt=e=>{let t=e.viewBox?.trim().split(/[\s,]+/).map(e=>Number.parseFloat(e));if(t?.length===4){let[e,n,r,i]=t;if(Number.isFinite(e)&&Number.isFinite(n)&&J(r)&&J(i))return{x:e,y:n,width:r,height:i}}let n=vt(e.width),r=vt(e.height);return n===null||r===null?null:{x:0,y:0,width:n,height:r}},Mt=e=>{let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},Nt=e=>{let t=e.renderMode||`unknown`,n=e.svgMarkup??``;if(!n){let n=[e.viewBox??``,e.width??``,e.height??``];return n.some(e=>e!==``)?`${t}:bounds:${n.join(`:`)}`:`${t}:no-svg`}return[t,Mt(n)].join(`:`)},Pt=(e,t)=>{if(!J(t.width)||!J(t.height))return e;let n=e.width/e.height,r=t.width/t.height;if(n>r){let t=e.width/r;return{x:e.x,y:e.y-(t-e.height)/2,width:e.width,height:t}}let i=e.height*r;return{x:e.x-(i-e.width)/2,y:e.y,width:i,height:e.height}},Ft=({currentBox:e,viewport:t,delta:n})=>!J(t.width)||!J(t.height)||!J(e.width)||!J(e.height)?e:{x:e.x-n.x/t.width*e.width,y:e.y-n.y/t.height*e.height,width:e.width,height:e.height},It=(e,t,n)=>{let r=e*(t===1?Ct:t===2?J(n)?n:0:1);return Number.isFinite(r)?yt(r,-1e3,wt):0},Lt=e=>{let t=null;for(let n of e){if(!t){t=n;continue}return{center:{x:(t.x+n.x)/2,y:(t.y+n.y)/2},distance:Math.hypot(n.x-t.x,n.y-t.y)}}return null},Rt=(e,t)=>{let n=t.x-e.x,r=t.y-e.y;return n*n+r*r>9},zt=({currentBox:e,contentBox:t,viewport:n,pointer:r,zoomFactor:i,minScale:a,maxScale:o})=>{if(!J(n.width)||!J(n.height)||!J(i)||!J(e.width)||!J(e.height)||!J(t.width)||!J(t.height)||!J(a)||!J(o))return e;let s=Math.min(a,o),c=Math.max(a,o),l=Pt(t,n),u=yt(l.width/e.width*i,s,c),d=l.width/u,f=d/(e.width/e.height),p=yt(r.x/n.width,0,1),m=yt(r.y/n.height,0,1),h=e.x+p*e.width,g=e.y+m*e.height;return{x:h-p*d,y:g-m*f,width:d,height:f}},Bt=({currentBox:e,contentBox:t,viewport:n,previousGesture:r,gesture:i,minScale:a,maxScale:o})=>!J(r.distance)||!J(i.distance)?e:zt({currentBox:Ft({currentBox:e,viewport:n,delta:{x:i.center.x-r.center.x,y:i.center.y-r.center.y}}),contentBox:t,viewport:n,pointer:i.center,zoomFactor:i.distance/r.distance,minScale:a,maxScale:o}),Vt=new WeakMap,Ht=e=>e instanceof HTMLElement?Vt.get(e)??null:null,Ut=e=>e.querySelector(`[data-markdown="mermaid-viewport"]`)??e.querySelector(`[data-markdown="mermaid"]`),Wt=e=>{let t=e.querySelector(`[data-markdown="mermaid"] svg`),n=e.querySelector(`[data-markdown="mermaid"]`);return Nt({renderMode:e.getAttribute(`data-mermaid-render`),svgMarkup:n?.getAttribute(`data-md-original-svg`)??t?.outerHTML??null,viewBox:t?.getAttribute(`viewBox`),width:t?.getAttribute(`width`),height:t?.getAttribute(`height`)})},Gt=e=>{let t=e.getBoundingClientRect();return{width:t.width,height:t.height}},Kt=(e,t)=>({x:e.clientX-t.left,y:e.clientY-t.top}),qt=(e,t)=>Kt(e,t.getBoundingClientRect()),Jt=e=>e instanceof Element&&!!e.closest(`button, a, [role="button"]`),Yt=e=>{let t=Ut(e),n=e.querySelector(`[data-markdown="mermaid"] svg`);if(!t||!n)return null;let r=jt({viewBox:n.getAttribute(`viewBox`),width:n.getAttribute(`width`),height:n.getAttribute(`height`)});if(!r)return null;let i=r,a=null,o=null,s=null,c=new Map,l=new Set,u=null,d=null,f=e=>{i=e,n.setAttribute(`viewBox`,At(e)),n.removeAttribute(`width`),n.removeAttribute(`height`)},p=()=>{f(Pt(r,Gt(t)))},m=(e,n)=>{f(zt({currentBox:i,contentBox:r,viewport:Gt(t),pointer:e,zoomFactor:n,minScale:Tt,maxScale:Et}))},h=()=>{let e=Gt(t);m({x:e.width/2,y:e.height/2},xt)},g=()=>{let e=Gt(t);m({x:e.width/2,y:e.height/2},1/xt)},_=e=>{e.preventDefault(),e.stopPropagation();let n=It(e.deltaY,e.deltaMode,Gt(t).height);m(qt(e,t),St**+-n)},v=e=>{try{t.setPointerCapture(e),l.add(e)}catch{}},y=e=>{if(l.delete(e))try{t.hasPointerCapture(e)&&t.releasePointerCapture(e)}catch{}},b=()=>{a=null,o=null,s=null,c.clear(),u=null},x=()=>{b(),e.removeAttribute(`data-mermaid-panning`),e.hasAttribute(`data-mermaid-suppress-click`)&&(d=window.setTimeout(()=>{e.removeAttribute(`data-mermaid-suppress-click`),d=null},Dt))},S=n=>{if(n.pointerType!==`touch`&&n.button!==0||Jt(n.target))return;d!==null&&(window.clearTimeout(d),d=null),e.removeAttribute(`data-mermaid-suppress-click`);let r=qt(n,t);v(n.pointerId),e.setAttribute(`data-mermaid-panning`,`true`),n.pointerType===`touch`?(c.set(n.pointerId,r),c.size>=2?(a=null,o=null,s=null,u=Lt(c.values()),e.setAttribute(`data-mermaid-suppress-click`,`true`)):(a=n.pointerId,o=r,s=r)):(a=n.pointerId,o=r,s=r),n.preventDefault()},C=n=>{if(n.pointerType===`touch`){if(!c.has(n.pointerId))return;let a=qt(n,t);if(c.set(n.pointerId,a),c.size>=2){let a=Lt(c.values());u&&a&&f(Bt({currentBox:i,contentBox:r,viewport:Gt(t),previousGesture:u,gesture:a,minScale:Tt,maxScale:Et})),u=a,e.setAttribute(`data-mermaid-suppress-click`,`true`),n.preventDefault();return}}if(a!==n.pointerId||!s)return;let l=qt(n,t);f(Ft({currentBox:i,viewport:Gt(t),delta:{x:l.x-s.x,y:l.y-s.y}})),s=l,o&&Rt(o,l)&&e.setAttribute(`data-mermaid-suppress-click`,`true`),n.preventDefault()},w=e=>{if(e.pointerType===`touch`||c.has(e.pointerId)){if(!c.has(e.pointerId))return;if(c.delete(e.pointerId),u=Lt(c.values()),c.size>0){for(let[e,t]of c){a=e,o=t,s=t;break}c.size>=2&&(a=null,o=null,s=null),y(e.pointerId);return}x(),y(e.pointerId);return}a===e.pointerId&&(x(),y(e.pointerId))},T=()=>{p()};t.addEventListener(`wheel`,_,{passive:!1}),t.addEventListener(`pointerdown`,S),t.addEventListener(`pointermove`,C),t.addEventListener(`pointerup`,w),t.addEventListener(`pointercancel`,w),t.addEventListener(`lostpointercapture`,w),window.addEventListener(`resize`,T);let ee=typeof ResizeObserver>`u`?null:new ResizeObserver(T);return ee?.observe(t),p(),{zoomIn:h,zoomOut:g,fit:p,cleanup:()=>{t.removeEventListener(`wheel`,_),t.removeEventListener(`pointerdown`,S),t.removeEventListener(`pointermove`,C),t.removeEventListener(`pointerup`,w),t.removeEventListener(`pointercancel`,w),t.removeEventListener(`lostpointercapture`,w),window.removeEventListener(`resize`,T),ee?.disconnect(),d!==null&&window.clearTimeout(d);for(let e of Array.from(l))y(e);b(),e.removeAttribute(`data-mermaid-panning`),e.removeAttribute(`data-mermaid-suppress-click`),Vt.delete(e)}}},Xt=e=>{let t=new Map,n=new Map,r=()=>{for(let[r,i]of Array.from(t.entries())){let a=Wt(r);(!e.contains(r)||a!==n.get(r))&&(i.cleanup(),t.delete(r),n.delete(r))}for(let r of Array.from(e.querySelectorAll(Ot))){if(t.has(r)||r.querySelector(`[data-markdown="mermaid"] svg`)===null)continue;let e=Yt(r);e&&(t.set(r,e),n.set(r,Wt(r)),Vt.set(r,e))}};return r(),{refresh:r,cleanup:()=>{for(let e of t.values())e.cleanup();t.clear(),n.clear()}}},Y=(e,t=`size-3.5`)=>`<svg class="oc-icon ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><use href="#oc-${e}"></use></svg>`,Zt={copy:Y(`file-copy`),check:Y(`check`),download:Y(`download`),zoomIn:Y(`add`),zoomOut:Y(`subtract`),fit:Y(`refresh`),textWrap:Y(`text-wrap`),image:Y(`file-image`,`size-10`),imageDownload:Y(`download`,`size-3`),imageLoading:Y(`loader-4`,`size-3.5 animate-spin motion-reduce:animate-none`)},Qt=`p-1 rounded hover:bg-interactive-hover/60 text-muted-foreground hover:text-foreground transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--interactive-focus-ring)]`,$t=(e,t)=>{e.innerHTML=t},X=(e,t,n)=>{let r=document.createElement(`button`);return r.type=`button`,r.className=Qt,r.setAttribute(`data-md-action`,n),r.setAttribute(`title`,t),r.setAttribute(`aria-label`,t),$t(r,Zt[e]),r},en=(e,t,n)=>{let r=e.querySelector(`[data-md-code-body]`),i=e.querySelector(`pre`),a=e.querySelector(`pre code`),o=e.querySelector(`[data-md-action="toggle-code-wrap"]`);if(e.setAttribute(`data-code-wrap`,t?`true`:`false`),r?.classList.toggle(`overflow-x-auto`,!t),r?.classList.toggle(`overflow-x-hidden`,t),i?.classList.toggle(`whitespace-pre-wrap`,t),i?.classList.toggle(`break-words`,t),a?.classList.toggle(`whitespace-pre-wrap`,t),a?.classList.toggle(`break-words`,t),i&&(i.style.whiteSpace=t?`pre-wrap`:`pre`,i.style.overflowWrap=t?`anywhere`:`normal`),a&&(a.style.whiteSpace=t?`pre-wrap`:`pre`,a.style.overflowWrap=t?`anywhere`:`normal`),o){let e=t?n.disableCodeWrap:n.enableCodeWrap;o.setAttribute(`title`,e),o.setAttribute(`aria-label`,e),o.classList.toggle(`text-foreground`,t),o.classList.toggle(`opacity-100`,t),o.classList.toggle(`text-muted-foreground`,!t),o.classList.toggle(`opacity-65`,!t),o.setAttribute(`aria-pressed`,t?`true`:`false`)}},tn=e=>{let t=document.createElement(`div`);t.setAttribute(`data-md-code-line-numbers`,``),t.setAttribute(`aria-hidden`,`true`),t.className=`min-w-8 shrink-0 select-none border-r border-border/50 pr-3 text-right font-mono text-[13px] text-muted-foreground/45`;let n=e.textContent??``,r=Math.max(1,n.endsWith(`
|
|
4
4
|
`)?n.split(`
|
package/dist/assets/{MobileDetailNavigation-DkAeoCOb.js → MobileDetailNavigation-CE1s2ZEr.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,w as n}from"./useUIStore-DOxLVeGb.js";import{kn as r,u as i}from"./persistence-DE9RnVcA.js";import{nt as a,rt as o}from"./vendor-base-ui-CnHfUmDN.js";import{n as s}from"./vendor-react-DLPElpoQ.js";import{s as c,t as l}from"./vendor-tanstack-react-query-D7pys_c9.js";import{No as u,Po as d}from"./useMobileNavigationStore-BIaXj4t-.js";import{t as f}from"./utils-C2R0YoC5.js";import{n as p}from"./Icon-BLWVqBee.js";import{t as m}from"./button-CeCkEpvn.js";var h=e(o(),1),g=s(),_=class extends Error{code;status;resource;constructor(e,t,n){super(e),this.code=e,this.status=t,this.resource=n}},v=class extends _{operation;constructor(e,t,n){super(e,t,`share_operation`),this.operation=n}},y=(e,t=200)=>{throw new _(`invalid_${e}_response`,t,e)},b=(e,t)=>e&&typeof e==`object`&&!Array.isArray(e)?e:y(t),x=(e,t)=>typeof e==`string`?e:y(t),S=(e,t)=>e===null||typeof e==`string`?e:y(t),C=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:y(t),w=(e,t)=>e===null?null:C(e,t),T=(e,t)=>typeof e==`boolean`?e:y(t),E=(e,t,n)=>t.includes(e)?e:y(n),D=e=>{let t=b(e,`capability`);return{supported:T(t.supported,`capability`),enabled:T(t.enabled,`capability`),revision:C(t.revision,`capability`),serverInstanceID:S(t.serverInstanceID,`capability`)}},O=e=>{let t=b(e,`assistant`),n=Array.isArray(t.historySessionIDs)?t.historySessionIDs.map(e=>x(e,`assistant`)):[],r=t.historySessionCount===void 0?n.length:C(t.historySessionCount,`assistant`);return!Number.isSafeInteger(r)||r<n.length?y(`assistant`):{id:x(t.id,`assistant`),revision:C(t.revision,`assistant`),enabled:T(t.enabled,`assistant`),name:x(t.name,`assistant`),defaultPrompt:x(t.defaultPrompt,`assistant`),workspacePath:S(t.workspacePath,`assistant`),effectiveWorkspacePath:x(t.effectiveWorkspacePath,`assistant`),managedWorkspacePath:S(t.managedWorkspacePath??null,`assistant`),providerID:x(t.providerID,`assistant`),modelID:x(t.modelID,`assistant`),agent:S(t.agent,`assistant`),variant:S(t.variant??null,`assistant`),mode:E(t.mode,[`continuous`,`stateless`],`assistant`),sessionID:S(t.sessionID,`assistant`),sessionGeneration:C(t.sessionGeneration,`assistant`),historySessionIDs:n,historySessionCount:r,createdAt:w(t.createdAt,`assistant`),updatedAt:C(t.updatedAt,`assistant`),tombstoneAt:w(t.tombstoneAt,`assistant`)}},k=e=>{let t=b(e,`snapshot`);return{revision:C(t.revision,`snapshot`),enabled:T(t.enabled,`snapshot`),assistants:Array.isArray(t.assistants)?t.assistants.map(O):y(`snapshot`)}},A=e=>{let t=b(e,`binding`);return{sessionID:S(t.sessionID,`binding`),directory:x(t.directory,`binding`),sessionGeneration:C(t.sessionGeneration,`binding`)}},j=e=>{let t=b(e,`compact`);return t.summarized===!0?{binding:A(t.binding),summarized:!0}:y(`compact`)},M=e=>{let t=b(e,`message_admission`);return t.admitted===!0?{binding:A(t.binding),messageID:x(t.messageID,`message_admission`),admitted:!0}:y(`message_admission`)},N=e=>{let t=b(e,`share_operation`);return{operationID:x(t.operationID,`share_operation`),assistantID:x(t.assistantID,`share_operation`),sessionID:S(t.sessionID,`share_operation`),messageID:S(t.messageID,`share_operation`),state:E(t.state,[`submitting`,`running`,`completed`,`failed`,`unresolved`],`share_operation`),phase:x(t.phase,`share_operation`),attempt:C(t.attempt,`share_operation`),leaseExpiresAt:w(t.leaseExpiresAt,`share_operation`),errorCode:S(t.errorCode,`share_operation`)}},P=e=>{let t=b(e,`assistant_history`),n=S(t.nextCursor,`assistant_history`),r=T(t.complete,`assistant_history`);return!r&&!n||r&&n||!Array.isArray(t.entries)?y(`assistant_history`):{entries:t.entries.map(e=>{let t=b(e,`assistant_history_entry`),n=x(t.sessionID,`assistant_history_entry`),r=b(t.info,`assistant_history_info`),i=b(r.time,`assistant_history_info`);if(x(r.id,`assistant_history_info`),x(r.sessionID,`assistant_history_info`)!==n||(E(r.role,[`user`,`assistant`,`system`,`tool`],`assistant_history_info`),C(i.created,`assistant_history_info`),!Array.isArray(t.parts)))return y(`assistant_history_entry`);let a=t.parts.map(e=>{let t=b(e,`assistant_history_part`);return x(t.id,`assistant_history_part`),x(t.sessionID,`assistant_history_part`)!==n||x(t.messageID,`assistant_history_part`)!==r.id?y(`assistant_history_part`):(x(t.type,`assistant_history_part`),t)});return{sessionID:n,directory:S(t.directory,`assistant_history_entry`),info:r,parts:a}}),nextCursor:n,complete:r}},F=30,I={snapshot:(e=t())=>[e,`assistants`,`snapshot`],capability:(e=t())=>[e,`assistants`,`capability`],history:(e,r,i,a=t(),o=n())=>[a,o,`assistants`,`history`,e,r,i]},L=(e,t,n)=>{if(!e||!t)return;let r=t.queryKey;if(r[0]===n.transport&&r[1]===n.runtimeGeneration&&r[2]===`assistants`&&r[3]===`history`&&r[4]===n.assistantID)return e},R=async(e,t={})=>{let n=await r(e,t),i=await n.json().catch(()=>null);if(!n.ok)throw new _(i&&typeof i==`object`&&`error`in i&&typeof i.error==`string`?i.error:`request_failed`,n.status);return i},z=(e,t)=>({method:e,headers:{"Content-Type":`application/json`},body:t===void 0?void 0:JSON.stringify(t)}),B=(e,r)=>{if(t()!==e||n()!==r)throw new _(`runtime_stale`,409)},V=(e,t,r)=>{i.setQueryData(I.snapshot(r),n=>n&&{...n,assistants:n.assistants.map(n=>n.id!==e||n.sessionGeneration>t.sessionGeneration?n:{...n,sessionID:t.sessionID,sessionGeneration:t.sessionGeneration,effectiveWorkspacePath:t.directory})}),i.invalidateQueries({queryKey:I.snapshot(r)}),i.invalidateQueries({queryKey:[r,n(),`assistants`,`history`,e]})},H=(e,t)=>{i.setQueryData(I.snapshot(t),t=>t&&{...t,assistants:t.assistants.some(t=>t.id===e.id)?t.assistants.map(t=>t.id===e.id?e:t):[...t.assistants,e]}),i.invalidateQueries({queryKey:I.snapshot(t)})},U=(e=t())=>({queryKey:I.snapshot(e),queryFn:async({signal:e})=>k(await R(`/api/openchamber/assistants/snapshot`,{signal:e})),retry:2}),W=()=>{let e=(0,g.c)(5),n,r,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=t(),n=c,r=U(a),e[0]=n,e[1]=r,e[2]=a):(n=e[0],r=e[1],a=e[2]);let o=n(r),s,l;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>d(e=>{if(t()!==a)return;if(e.type===`event-stream-ready`){i.invalidateQueries({queryKey:I.snapshot(a),exact:!0});return}if(e.type!==`assistants-changed`)return;let n=i.getQueryData(I.snapshot(a));(!n||e.revision>n.revision)&&i.invalidateQueries({queryKey:I.snapshot(a),exact:!0})}),l=[a],e[3]=s,e[4]=l):(s=e[3],l=e[4]),h.useEffect(s,l),o},G=(e,r,i,a=t(),o=n())=>({queryKey:I.history(e,r,i,a,o),queryFn:async({signal:t,pageParam:n})=>{B(a,o),await u(),B(a,o);let r=new URLSearchParams({limit:String(F)});n&&r.set(`before`,n);let i=P(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/messages?${r}`,{signal:t}));return B(a,o),i},initialPageParam:null,getNextPageParam:K,placeholderData:(t,n)=>L(t,n,{assistantID:e,transport:a,runtimeGeneration:o}),retry:2}),K=e=>e.complete?void 0:e.nextCursor??void 0,q=(e,t,n)=>{let r=(0,g.c)(7),i=n===void 0||n,a=t.sessionID??``,o;r[0]!==e||r[1]!==t.sessionGeneration||r[2]!==a?(o=G(e,a,t.sessionGeneration),r[0]=e,r[1]=t.sessionGeneration,r[2]=a,r[3]=o):o=r[3];let s=i&&!!(e&&t.sessionID),c;return r[4]!==o||r[5]!==s?(c={...o,enabled:s},r[4]=o,r[5]=s,r[6]=c):c=r[6],l(c)},J=async e=>k(await R(`/api/openchamber/assistants/snapshot`,{signal:e})),Y=(e=t())=>({queryKey:I.capability(e),queryFn:()=>Q(),retry:!1}),X=()=>{let e=(0,g.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Y(),e[0]=t):t=e[0],c(t)},Z=(e=i,n=t())=>e.getQueryData(I.snapshot(n)),ee=(e=i,n=t())=>e.fetchQuery(U(n)),te=async(e=i)=>{let r=t(),a=n();await e.invalidateQueries({queryKey:I.snapshot(r),exact:!0}),B(r,a);let o=await e.fetchQuery(U(r));return B(r,a),o},ne=async e=>{let r=t(),i=n();await u(),B(r,i);let a=A(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/ensure`,z(`POST`)));return B(r,i),V(e,a,r),a},re=async e=>{let r=t(),i=n(),a=A(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/new`,z(`POST`)));return B(r,i),V(e,a,r),a},ie=async(e,r)=>{let i=t(),a=n(),o=j(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/compact`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration})));return B(i,a),V(e,o.binding,i),o},ae=async(e,r)=>{let i=t(),a=n();await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/abort`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration})),B(i,a)},oe=async(e,r,i,a,o=`composer`)=>{let s=t(),c=n(),l=M(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/messages`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration,messageID:i,parts:a,source:o})));return B(s,c),V(e,l.binding,s),l},se=async(e,r,i,a,o)=>{let s=t(),c=n(),l=N(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/share`,z(`POST`,{operationID:r,payload:{messageID:i,parts:a,source:o}})));return B(s,c),l},ce=async(e,r=t(),i=n())=>{B(r,i);let a=N(await R(`/api/openchamber/assistants/share-operations/${encodeURIComponent(e)}`));return B(r,i),a},le=async(e,r=t(),i=n())=>{let a=e;for(let e=0;e<60&&(a.state===`running`||a.state===`submitting`);e+=1)B(r,i),await new Promise(e=>setTimeout(e,750)),a=await ce(a.operationID,r,i);if(B(r,i),a.state===`completed`)return a;throw a.state===`failed`?new v(a.errorCode??`share_failed`,400,a):new v(`share_unresolved`,408,a)},ue=async(e,n)=>{await R(`/api/openchamber/assistants/settings`,z(`PUT`,{enabled:e,expectedRevision:n}));let r=t();await Promise.all([i.invalidateQueries({queryKey:I.snapshot(r),exact:!0}),i.invalidateQueries({queryKey:I.capability(r),exact:!0})])},de=async e=>{let n=t(),r=O(await R(`/api/openchamber/assistants`,z(`POST`,e)));return H(r,n),r},fe=async(e,r)=>{let i=t(),a=n(),o=O(await R(`/api/openchamber/assistants/${encodeURIComponent(e.id)}`,z(`PATCH`,{...r,expectedRevision:e.revision})));return B(i,a),H(o,i),o},pe=async e=>{await R(`/api/openchamber/assistants/${encodeURIComponent(e.id)}`,z(`DELETE`,{expectedRevision:e.revision})),await i.invalidateQueries({queryKey:I.snapshot(t())})},Q=async()=>D(await R(`/api/openchamber/assistants/capability`)),$=a();function me(e){let t=(0,g.c)(32),{title:n,subtitle:r,backAriaLabel:i,onBack:a,backDisabled:o,actions:s,trailing:c,sticky:l,overlay:u,elevated:d}=e,h=o!==void 0&&o,_;t[0]===s?_=t[1]:(_=s===void 0?[]:s,t[0]=s,t[1]=_);let v=_,y=l!==void 0&&l,b=u!==void 0&&u,x=d!==void 0&&d,S=!!c||v.length>0,C=x||v.some(ge),w=y&&`oc-mobile-detail-navigation-sticky`,T=b&&`absolute inset-x-0 top-0`,E=C?`z-[60]`:b?`z-30`:void 0,D;t[2]!==w||t[3]!==T||t[4]!==E?(D=f(`oc-mobile-detail-navigation relative shrink-0 pt-[max(0.25rem,var(--oc-safe-area-top,0px))]`,w,T,E),t[2]=w,t[3]=T,t[4]=E,t[5]=D):D=t[5];let O=S&&v.length+ +!!c>1?`grid-cols-[2.75rem_minmax(0,1fr)_auto]`:`grid-cols-[2.75rem_minmax(0,1fr)_2.75rem]`,k;t[6]===O?k=t[7]:(k=f(`oc-mobile-detail-navigation-content grid items-center gap-1 px-4`,O),t[6]=O,t[7]=k);let A;t[8]!==i||t[9]!==h||t[10]!==a?(A=a?(0,$.jsx)(m,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`justify-self-start`,onClick:a,disabled:h,"aria-label":i,children:(0,$.jsx)(p,{name:`arrow-left-s`,className:`size-5`})}):(0,$.jsx)(`span`,{"aria-hidden":`true`}),t[8]=i,t[9]=h,t[10]=a,t[11]=A):A=t[11];let j;t[12]===n?j=t[13]:(j=(0,$.jsx)(`div`,{className:`oc-mobile-detail-title w-full truncate typography-ui-label font-medium text-foreground`,children:n}),t[12]=n,t[13]=j);let M;t[14]===r?M=t[15]:(M=r?(0,$.jsx)(`div`,{className:`oc-mobile-detail-subtitle w-full truncate text-muted-foreground`,"aria-live":`polite`,children:r}):null,t[14]=r,t[15]=M);let N;t[16]!==j||t[17]!==M?(N=(0,$.jsxs)(`div`,{className:`flex w-full max-w-72 min-w-0 flex-col items-center justify-center justify-self-center px-1`,children:[j,M]}),t[16]=j,t[17]=M,t[18]=N):N=t[18];let P;t[19]===v?P=t[20]:(P=v.map(he),t[19]=v,t[20]=P);let F;t[21]!==P||t[22]!==c?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-end gap-2`,children:[c,P]}),t[21]=P,t[22]=c,t[23]=F):F=t[23];let I;t[24]!==k||t[25]!==A||t[26]!==N||t[27]!==F?(I=(0,$.jsxs)(`div`,{className:k,children:[A,N,F]}),t[24]=k,t[25]=A,t[26]=N,t[27]=F,t[28]=I):I=t[28];let L;return t[29]!==D||t[30]!==I?(L=(0,$.jsx)(`header`,{className:D,children:I}),t[29]=D,t[30]=I,t[31]=L):L=t[31],L}function he(e,t){return(0,$.jsx)(m,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:f(e.elevated&&`relative z-[60]`),onClick:e.onClick,disabled:e.disabled,"aria-label":e.ariaLabel,"aria-expanded":e.pressed,title:e.title,children:(0,$.jsx)(p,{name:e.icon,className:`size-5`})},`${e.icon}:${t}`)}function ge(e){return e.elevated}export{v as S,X as _,pe as a,le as b,Q as c,re as d,Z as f,fe as g,ue as h,de as i,J as l,se as m,ae as n,ne as o,oe as p,ie as r,ee as s,me as t,te as u,q as v,_ as x,W as y};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,w as n}from"./useUIStore-DOxLVeGb.js";import{kn as r,u as i}from"./persistence-DE9RnVcA.js";import{nt as a,rt as o}from"./vendor-base-ui-CnHfUmDN.js";import{n as s}from"./vendor-react-DLPElpoQ.js";import{s as c,t as l}from"./vendor-tanstack-react-query-D7pys_c9.js";import{No as u,Po as d}from"./useMobileNavigationStore-BzOSycct.js";import{t as f}from"./utils-C2R0YoC5.js";import{n as p}from"./Icon-BLWVqBee.js";import{t as m}from"./button-CeCkEpvn.js";var h=e(o(),1),g=s(),_=class extends Error{code;status;resource;constructor(e,t,n){super(e),this.code=e,this.status=t,this.resource=n}},v=class extends _{operation;constructor(e,t,n){super(e,t,`share_operation`),this.operation=n}},y=(e,t=200)=>{throw new _(`invalid_${e}_response`,t,e)},b=(e,t)=>e&&typeof e==`object`&&!Array.isArray(e)?e:y(t),x=(e,t)=>typeof e==`string`?e:y(t),S=(e,t)=>e===null||typeof e==`string`?e:y(t),C=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:y(t),w=(e,t)=>e===null?null:C(e,t),T=(e,t)=>typeof e==`boolean`?e:y(t),E=(e,t,n)=>t.includes(e)?e:y(n),D=e=>{let t=b(e,`capability`);return{supported:T(t.supported,`capability`),enabled:T(t.enabled,`capability`),revision:C(t.revision,`capability`),serverInstanceID:S(t.serverInstanceID,`capability`)}},O=e=>{let t=b(e,`assistant`),n=Array.isArray(t.historySessionIDs)?t.historySessionIDs.map(e=>x(e,`assistant`)):[],r=t.historySessionCount===void 0?n.length:C(t.historySessionCount,`assistant`);return!Number.isSafeInteger(r)||r<n.length?y(`assistant`):{id:x(t.id,`assistant`),revision:C(t.revision,`assistant`),enabled:T(t.enabled,`assistant`),name:x(t.name,`assistant`),defaultPrompt:x(t.defaultPrompt,`assistant`),workspacePath:S(t.workspacePath,`assistant`),effectiveWorkspacePath:x(t.effectiveWorkspacePath,`assistant`),managedWorkspacePath:S(t.managedWorkspacePath??null,`assistant`),providerID:x(t.providerID,`assistant`),modelID:x(t.modelID,`assistant`),agent:S(t.agent,`assistant`),variant:S(t.variant??null,`assistant`),mode:E(t.mode,[`continuous`,`stateless`],`assistant`),sessionID:S(t.sessionID,`assistant`),sessionGeneration:C(t.sessionGeneration,`assistant`),historySessionIDs:n,historySessionCount:r,createdAt:w(t.createdAt,`assistant`),updatedAt:C(t.updatedAt,`assistant`),tombstoneAt:w(t.tombstoneAt,`assistant`)}},k=e=>{let t=b(e,`snapshot`);return{revision:C(t.revision,`snapshot`),enabled:T(t.enabled,`snapshot`),assistants:Array.isArray(t.assistants)?t.assistants.map(O):y(`snapshot`)}},A=e=>{let t=b(e,`binding`);return{sessionID:S(t.sessionID,`binding`),directory:x(t.directory,`binding`),sessionGeneration:C(t.sessionGeneration,`binding`)}},j=e=>{let t=b(e,`compact`);return t.summarized===!0?{binding:A(t.binding),summarized:!0}:y(`compact`)},M=e=>{let t=b(e,`message_admission`);return t.admitted===!0?{binding:A(t.binding),messageID:x(t.messageID,`message_admission`),admitted:!0}:y(`message_admission`)},N=e=>{let t=b(e,`share_operation`);return{operationID:x(t.operationID,`share_operation`),assistantID:x(t.assistantID,`share_operation`),sessionID:S(t.sessionID,`share_operation`),messageID:S(t.messageID,`share_operation`),state:E(t.state,[`submitting`,`running`,`completed`,`failed`,`unresolved`],`share_operation`),phase:x(t.phase,`share_operation`),attempt:C(t.attempt,`share_operation`),leaseExpiresAt:w(t.leaseExpiresAt,`share_operation`),errorCode:S(t.errorCode,`share_operation`)}},P=e=>{let t=b(e,`assistant_history`),n=S(t.nextCursor,`assistant_history`),r=T(t.complete,`assistant_history`);return!r&&!n||r&&n||!Array.isArray(t.entries)?y(`assistant_history`):{entries:t.entries.map(e=>{let t=b(e,`assistant_history_entry`),n=x(t.sessionID,`assistant_history_entry`),r=b(t.info,`assistant_history_info`),i=b(r.time,`assistant_history_info`);if(x(r.id,`assistant_history_info`),x(r.sessionID,`assistant_history_info`)!==n||(E(r.role,[`user`,`assistant`,`system`,`tool`],`assistant_history_info`),C(i.created,`assistant_history_info`),!Array.isArray(t.parts)))return y(`assistant_history_entry`);let a=t.parts.map(e=>{let t=b(e,`assistant_history_part`);return x(t.id,`assistant_history_part`),x(t.sessionID,`assistant_history_part`)!==n||x(t.messageID,`assistant_history_part`)!==r.id?y(`assistant_history_part`):(x(t.type,`assistant_history_part`),t)});return{sessionID:n,directory:S(t.directory,`assistant_history_entry`),info:r,parts:a}}),nextCursor:n,complete:r}},F=30,I={snapshot:(e=t())=>[e,`assistants`,`snapshot`],capability:(e=t())=>[e,`assistants`,`capability`],history:(e,r,i,a=t(),o=n())=>[a,o,`assistants`,`history`,e,r,i]},L=(e,t,n)=>{if(!e||!t)return;let r=t.queryKey;if(r[0]===n.transport&&r[1]===n.runtimeGeneration&&r[2]===`assistants`&&r[3]===`history`&&r[4]===n.assistantID)return e},R=async(e,t={})=>{let n=await r(e,t),i=await n.json().catch(()=>null);if(!n.ok)throw new _(i&&typeof i==`object`&&`error`in i&&typeof i.error==`string`?i.error:`request_failed`,n.status);return i},z=(e,t)=>({method:e,headers:{"Content-Type":`application/json`},body:t===void 0?void 0:JSON.stringify(t)}),B=(e,r)=>{if(t()!==e||n()!==r)throw new _(`runtime_stale`,409)},V=(e,t,r)=>{i.setQueryData(I.snapshot(r),n=>n&&{...n,assistants:n.assistants.map(n=>n.id!==e||n.sessionGeneration>t.sessionGeneration?n:{...n,sessionID:t.sessionID,sessionGeneration:t.sessionGeneration,effectiveWorkspacePath:t.directory})}),i.invalidateQueries({queryKey:I.snapshot(r)}),i.invalidateQueries({queryKey:[r,n(),`assistants`,`history`,e]})},H=(e,t)=>{i.setQueryData(I.snapshot(t),t=>t&&{...t,assistants:t.assistants.some(t=>t.id===e.id)?t.assistants.map(t=>t.id===e.id?e:t):[...t.assistants,e]}),i.invalidateQueries({queryKey:I.snapshot(t)})},U=(e=t())=>({queryKey:I.snapshot(e),queryFn:async({signal:e})=>k(await R(`/api/openchamber/assistants/snapshot`,{signal:e})),retry:2}),W=()=>{let e=(0,g.c)(5),n,r,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=t(),n=c,r=U(a),e[0]=n,e[1]=r,e[2]=a):(n=e[0],r=e[1],a=e[2]);let o=n(r),s,l;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>d(e=>{if(t()!==a)return;if(e.type===`event-stream-ready`){i.invalidateQueries({queryKey:I.snapshot(a),exact:!0});return}if(e.type!==`assistants-changed`)return;let n=i.getQueryData(I.snapshot(a));(!n||e.revision>n.revision)&&i.invalidateQueries({queryKey:I.snapshot(a),exact:!0})}),l=[a],e[3]=s,e[4]=l):(s=e[3],l=e[4]),h.useEffect(s,l),o},G=(e,r,i,a=t(),o=n())=>({queryKey:I.history(e,r,i,a,o),queryFn:async({signal:t,pageParam:n})=>{B(a,o),await u(),B(a,o);let r=new URLSearchParams({limit:String(F)});n&&r.set(`before`,n);let i=P(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/messages?${r}`,{signal:t}));return B(a,o),i},initialPageParam:null,getNextPageParam:K,placeholderData:(t,n)=>L(t,n,{assistantID:e,transport:a,runtimeGeneration:o}),retry:2}),K=e=>e.complete?void 0:e.nextCursor??void 0,q=(e,t,n)=>{let r=(0,g.c)(7),i=n===void 0||n,a=t.sessionID??``,o;r[0]!==e||r[1]!==t.sessionGeneration||r[2]!==a?(o=G(e,a,t.sessionGeneration),r[0]=e,r[1]=t.sessionGeneration,r[2]=a,r[3]=o):o=r[3];let s=i&&!!(e&&t.sessionID),c;return r[4]!==o||r[5]!==s?(c={...o,enabled:s},r[4]=o,r[5]=s,r[6]=c):c=r[6],l(c)},J=async e=>k(await R(`/api/openchamber/assistants/snapshot`,{signal:e})),Y=(e=t())=>({queryKey:I.capability(e),queryFn:()=>Q(),retry:!1}),X=()=>{let e=(0,g.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Y(),e[0]=t):t=e[0],c(t)},Z=(e=i,n=t())=>e.getQueryData(I.snapshot(n)),ee=(e=i,n=t())=>e.fetchQuery(U(n)),te=async(e=i)=>{let r=t(),a=n();await e.invalidateQueries({queryKey:I.snapshot(r),exact:!0}),B(r,a);let o=await e.fetchQuery(U(r));return B(r,a),o},ne=async e=>{let r=t(),i=n();await u(),B(r,i);let a=A(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/ensure`,z(`POST`)));return B(r,i),V(e,a,r),a},re=async e=>{let r=t(),i=n(),a=A(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/new`,z(`POST`)));return B(r,i),V(e,a,r),a},ie=async(e,r)=>{let i=t(),a=n(),o=j(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/compact`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration})));return B(i,a),V(e,o.binding,i),o},ae=async(e,r)=>{let i=t(),a=n();await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/session/abort`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration})),B(i,a)},oe=async(e,r,i,a,o=`composer`)=>{let s=t(),c=n(),l=M(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/messages`,z(`POST`,{sessionID:r.sessionID,sessionGeneration:r.sessionGeneration,messageID:i,parts:a,source:o})));return B(s,c),V(e,l.binding,s),l},se=async(e,r,i,a,o)=>{let s=t(),c=n(),l=N(await R(`/api/openchamber/assistants/${encodeURIComponent(e)}/share`,z(`POST`,{operationID:r,payload:{messageID:i,parts:a,source:o}})));return B(s,c),l},ce=async(e,r=t(),i=n())=>{B(r,i);let a=N(await R(`/api/openchamber/assistants/share-operations/${encodeURIComponent(e)}`));return B(r,i),a},le=async(e,r=t(),i=n())=>{let a=e;for(let e=0;e<60&&(a.state===`running`||a.state===`submitting`);e+=1)B(r,i),await new Promise(e=>setTimeout(e,750)),a=await ce(a.operationID,r,i);if(B(r,i),a.state===`completed`)return a;throw a.state===`failed`?new v(a.errorCode??`share_failed`,400,a):new v(`share_unresolved`,408,a)},ue=async(e,n)=>{await R(`/api/openchamber/assistants/settings`,z(`PUT`,{enabled:e,expectedRevision:n}));let r=t();await Promise.all([i.invalidateQueries({queryKey:I.snapshot(r),exact:!0}),i.invalidateQueries({queryKey:I.capability(r),exact:!0})])},de=async e=>{let n=t(),r=O(await R(`/api/openchamber/assistants`,z(`POST`,e)));return H(r,n),r},fe=async(e,r)=>{let i=t(),a=n(),o=O(await R(`/api/openchamber/assistants/${encodeURIComponent(e.id)}`,z(`PATCH`,{...r,expectedRevision:e.revision})));return B(i,a),H(o,i),o},pe=async e=>{await R(`/api/openchamber/assistants/${encodeURIComponent(e.id)}`,z(`DELETE`,{expectedRevision:e.revision})),await i.invalidateQueries({queryKey:I.snapshot(t())})},Q=async()=>D(await R(`/api/openchamber/assistants/capability`)),$=a();function me(e){let t=(0,g.c)(32),{title:n,subtitle:r,backAriaLabel:i,onBack:a,backDisabled:o,actions:s,trailing:c,sticky:l,overlay:u,elevated:d}=e,h=o!==void 0&&o,_;t[0]===s?_=t[1]:(_=s===void 0?[]:s,t[0]=s,t[1]=_);let v=_,y=l!==void 0&&l,b=u!==void 0&&u,x=d!==void 0&&d,S=!!c||v.length>0,C=x||v.some(ge),w=y&&`oc-mobile-detail-navigation-sticky`,T=b&&`absolute inset-x-0 top-0`,E=C?`z-[60]`:b?`z-30`:void 0,D;t[2]!==w||t[3]!==T||t[4]!==E?(D=f(`oc-mobile-detail-navigation relative shrink-0 pt-[max(0.25rem,var(--oc-safe-area-top,0px))]`,w,T,E),t[2]=w,t[3]=T,t[4]=E,t[5]=D):D=t[5];let O=S&&v.length+ +!!c>1?`grid-cols-[2.75rem_minmax(0,1fr)_auto]`:`grid-cols-[2.75rem_minmax(0,1fr)_2.75rem]`,k;t[6]===O?k=t[7]:(k=f(`oc-mobile-detail-navigation-content grid items-center gap-1 px-4`,O),t[6]=O,t[7]=k);let A;t[8]!==i||t[9]!==h||t[10]!==a?(A=a?(0,$.jsx)(m,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`justify-self-start`,onClick:a,disabled:h,"aria-label":i,children:(0,$.jsx)(p,{name:`arrow-left-s`,className:`size-5`})}):(0,$.jsx)(`span`,{"aria-hidden":`true`}),t[8]=i,t[9]=h,t[10]=a,t[11]=A):A=t[11];let j;t[12]===n?j=t[13]:(j=(0,$.jsx)(`div`,{className:`oc-mobile-detail-title w-full truncate typography-ui-label font-medium text-foreground`,children:n}),t[12]=n,t[13]=j);let M;t[14]===r?M=t[15]:(M=r?(0,$.jsx)(`div`,{className:`oc-mobile-detail-subtitle w-full truncate text-muted-foreground`,"aria-live":`polite`,children:r}):null,t[14]=r,t[15]=M);let N;t[16]!==j||t[17]!==M?(N=(0,$.jsxs)(`div`,{className:`flex w-full max-w-72 min-w-0 flex-col items-center justify-center justify-self-center px-1`,children:[j,M]}),t[16]=j,t[17]=M,t[18]=N):N=t[18];let P;t[19]===v?P=t[20]:(P=v.map(he),t[19]=v,t[20]=P);let F;t[21]!==P||t[22]!==c?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-end gap-2`,children:[c,P]}),t[21]=P,t[22]=c,t[23]=F):F=t[23];let I;t[24]!==k||t[25]!==A||t[26]!==N||t[27]!==F?(I=(0,$.jsxs)(`div`,{className:k,children:[A,N,F]}),t[24]=k,t[25]=A,t[26]=N,t[27]=F,t[28]=I):I=t[28];let L;return t[29]!==D||t[30]!==I?(L=(0,$.jsx)(`header`,{className:D,children:I}),t[29]=D,t[30]=I,t[31]=L):L=t[31],L}function he(e,t){return(0,$.jsx)(m,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:f(e.elevated&&`relative z-[60]`),onClick:e.onClick,disabled:e.disabled,"aria-label":e.ariaLabel,"aria-expanded":e.pressed,title:e.title,children:(0,$.jsx)(p,{name:e.icon,className:`size-5`})},`${e.icon}:${t}`)}function ge(e){return e.elevated}export{v as S,X as _,pe as a,le as b,Q as c,re as d,Z as f,fe as g,ue as h,de as i,J as l,se as m,ae as n,ne as o,oe as p,ie as r,ee as s,me as t,te as u,q as v,_ as x,W as y};
|