@openchambery/web 1.19.2-beta.1 → 1.19.2-beta.2

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.
Files changed (38) hide show
  1. package/dist/assets/{AssistantView-DGqRio2e.js → AssistantView-C-QMt6k-.js} +1 -1
  2. package/dist/assets/{ChatContainer-CM43Pxln.js → ChatContainer-BXsYtF5J.js} +4 -4
  3. package/dist/assets/{ContextPanel-Bp3ZKAJE.js → ContextPanel-BgZaO94E.js} +3 -3
  4. package/dist/assets/{DiagramView-BH5YxFAL.js → DiagramView-B1QrNXxn.js} +1 -1
  5. package/dist/assets/{MarkdownRendererImpl-Cmm9i5Vj.js → MarkdownRendererImpl-DxaO46mB.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-nITHp7W3.js → MobileDetailNavigation-BYWMhqdh.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-C_QaKaB6.js → MobileShareBridge-CNmHWzk2.js} +1 -1
  8. package/dist/assets/{MobileSurface-CjpCviv6.js → MobileSurface-Dc19Aj5q.js} +1 -1
  9. package/dist/assets/{MultiRunWindow-B1ALyR36.js → MultiRunWindow-B0FNrIvZ.js} +1 -1
  10. package/dist/assets/{SettingsView-BW8d_8pw.js → SettingsView-binwHNR-.js} +1 -1
  11. package/dist/assets/{SettingsWindow-7SmQV5GW.js → SettingsWindow-BWV8uobK.js} +1 -1
  12. package/dist/assets/{TerminalView-C7EFF7ZS.js → TerminalView-XqnVsum6.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-Cba_60bU.js → ToolOutputDialog-Dexn468e.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-Co5dwWx_.js → appThemeRegistry-BxZ-hog4.js} +2 -2
  15. package/dist/assets/{gitApi-DaTTo7St.js → gitApi-D9vHiQyq.js} +1 -1
  16. package/dist/assets/{insertionBoundaries-BoIHXczc.js → insertionBoundaries-DA2NoBgN.js} +1 -1
  17. package/dist/assets/{main-IyYkGXkX.js → main-CICj-qSr.js} +2 -2
  18. package/dist/assets/{main-WVLfE2Df.js → main-CzrzNCue.js} +3 -3
  19. package/dist/assets/{miniChat-CAAQzm9R.js → miniChat-Dv6oqaWh.js} +2 -2
  20. package/dist/assets/{mobile-BiCmfs5Y.js → mobile-BNrav53B.js} +2 -2
  21. package/dist/assets/{multirun-DPXG-TWE.js → multirun-CK3Iwo-v.js} +1 -1
  22. package/dist/assets/{projectMeta-B0YA9FxC.js → projectMeta-C73Y8iuW.js} +1 -1
  23. package/dist/assets/{radio-CUea8K8R.js → radio-ChOSH5D4.js} +1 -1
  24. package/dist/assets/{renderElectronMiniChatApp-CGA16ZyN.js → renderElectronMiniChatApp-Bj5s68c_.js} +2 -2
  25. package/dist/assets/{renderMobileApp-D9fgFt6E.js → renderMobileApp-CYSL9xiM.js} +4 -4
  26. package/dist/assets/{runtimeConfig-BJ3S27Ah.js → runtimeConfig-gee3OGVR.js} +1 -1
  27. package/dist/assets/{runtimeEndpointReset-C9pWVmjf.js → runtimeEndpointReset-CbDDkuDo.js} +1 -1
  28. package/dist/assets/{shikiHighlight-_cgskSv2.js → shikiHighlight-Bwrjs3dJ.js} +1 -1
  29. package/dist/assets/{useAppFontEffects-B_a7MLYy.js → useAppFontEffects-BfgNZcSc.js} +2 -2
  30. package/dist/assets/{useDesktopWindowControlsLayout-D-74BaI3.js → useDesktopWindowControlsLayout-EkkpTi5u.js} +1 -1
  31. package/dist/assets/{useEffectiveDirectory-DWwrRiBF.js → useEffectiveDirectory-CMr7RG4i.js} +1 -1
  32. package/dist/assets/{useMobileNavigationStore-7LBI6idi.js → useMobileNavigationStore-55ddqHLu.js} +1 -1
  33. package/dist/assets/{useSessionAutoCleanup-Buvg8rem.js → useSessionAutoCleanup-CC3HaBQr.js} +1 -1
  34. package/dist/assets/{useWorkerHighlightedLines-BdlVg3Sj.js → useWorkerHighlightedLines-DqeV0VeO.js} +1 -1
  35. package/dist/index.html +2 -2
  36. package/dist/mini-chat.html +2 -2
  37. package/dist/mobile.html +2 -2
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-Cba_60bU.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-Wyu09VUF.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-aCOlo6ew.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-BL4PvBYZ.js","assets/store-Dge7C5E4.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/dialog-CD0j-atu.js","assets/utils-CJdWZupK.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-Bs6GJIoO.js","assets/button-BkTMa7Qj.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DidS-jC5.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-Co5dwWx_.js","assets/platform-ulFAVx1H.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-7LBI6idi.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-DxZsjSPQ.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-9Sn2jsDp.js","assets/useEffectiveDirectory-DWwrRiBF.js","assets/useWorkerHighlightedLines-BdlVg3Sj.js","assets/tooltip-GC3dg3gO.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-Wyu09VUF.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,xn as S}from"./persistence-aCOlo6ew.js";import{a as C}from"./vendor-zustand-B4dlGEM2.js";import{nt as w,rt as T,tt as E}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as D,Mt as O,Nt as k}from"./platform-ulFAVx1H.js";import{o as A}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as j}from"./vendor-react-DLPElpoQ.js";import{l as M,n as ee,s as N}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as P,ct as F}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{n as I}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as te,o as ne,r as L,t as re}from"./clipboard-BL4PvBYZ.js";import{i as R,t as ie}from"./store-Dge7C5E4.js";import{Bt as z,Cr as B,En as V,Gt as H,Kt as ae,Lo as oe,Lr as U,Oo as W,Ot as G,Qa as K,Sa as se,Wn as ce,_n as q,an as le,dn as ue,gn as de,hn as fe,in as pe,jn as me,l as he,la as ge,nn as _e,on as ve,qa as ye,rn as be,si as xe,so as Se,ta as Ce,to as we,xa as Te,zt as Ee}from"./useMobileNavigationStore-7LBI6idi.js";import{a as De,i as Oe,n as ke,o as Ae,r as je,t as Me}from"./dialog-CD0j-atu.js";import{a as Ne,i as Pe,o as Fe,t as Ie}from"./utils-CJdWZupK.js";import{n as J}from"./Icon-Bs6GJIoO.js";import{t as Y}from"./button-BkTMa7Qj.js";import{A as Le,J as Re,j as ze,o as Be}from"./projectMeta-B0YA9FxC.js";import{t as Ve}from"./input-Ca2tUhgN.js";import{i as He,n as Ue,t as We}from"./tooltip-GC3dg3gO.js";import{n as Ge,t as Ke}from"./useThemeSystem-DMzWVJaW.js";import{A as qe,C as Je,K as Ye,P as Xe,S as Ze,V as Qe,_ as $e,c as et,h as tt,n as nt,p as rt,s as it,v as at,w as ot,x as st,y as ct}from"./radio-CUea8K8R.js";import{i as lt,t as X}from"./OverlayScrollbar-VZKKu-cu.js";import{f as Z,g as ut,h as dt,x as ft}from"./markdownTheme-DidS-jC5.js";import{$ as pt,A as mt,B as ht,F as gt,I as _t,Q as vt,R as yt,V as bt,W as xt,X as St,Y as Ct,Z as wt,_ as Tt,a as Et,at as Dt,c as Ot,d as kt,f as At,g as jt,h as Mt,j as Nt,n as Pt,o as Ft,p as It,q as Lt,rt as Rt,s as zt,u as Bt}from"./ChatContainer-CM43Pxln.js";import{n as Vt}from"./useRuntimeAPIs-DSLXJybW.js";import{M as Ht,N as Ut,b as Wt,g as Gt,x as Kt,y as qt}from"./insertionBoundaries-BoIHXczc.js";import{i as Jt,n as Yt,t as Xt,u as Zt}from"./appThemeRegistry-Co5dwWx_.js";import{a as Qt}from"./url-BQHM4bC4.js";import{f as $t,g as en,h as tn,m as nn,p as rn}from"./markdown-worker-9Sn2jsDp.js";import{n as an}from"./useEffectiveDirectory-DWwrRiBF.js";import{o as on}from"./FadeInOnReveal-BpIMrqet.js";import{g as sn,n as cn}from"./useWorkerHighlightedLines-BdlVg3Sj.js";import{t as ln}from"./sortable-tabs-strip-Bl26ebY_.js";import{a as un,c as dn,d as fn,f as pn,l as mn,m as hn,n as gn,o as _n,p as vn,s as yn,t as bn,u as xn}from"./vendor-pierre-diffs-BenIz2TM.js";import{a as Sn,c as Cn,i as wn,l as Tn,n as En,o as Dn,r as On,s as kn,t as An}from"./shikiHighlight-_cgskSv2.js";import{n as jn,r as Mn,t as Nn}from"./collapsible-CVL-5iEB.js";import{n as Pn,s as Fn,t as In}from"./fileQueries-_VUJM8AE.js";import{t as Ln}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Rn,t as zn}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(T(),1),Bn=j(),$=w(),Vn=e(E(),1);function Hn(){return new Worker(bn,{type:`module`})}var Un=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],Wn={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},Gn,Kn,qn=e=>{let t=Wn[e],n=new vn({workerFactory:Hn,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Un,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},Jn=e=>{if(!(typeof window>`u`))return e===`split`?(Kn??=qn(`split`),Kn):(Gn??=qn(`unified`),Gn)},Yn=e=>{let t=(0,Bn.c)(7),{children:n,renderTheme:r}=e,i=Zn(`unified`),a=Zn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:Wn.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:Wn.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},Xn=e=>{let t=(0,Bn.c)(11),{children:n}=e,r=Ke(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=ft(!1),n=ft(!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,Xt(a),Xt(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)(Yn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Zn=e=>{let t=(0,Bn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=Jn(n),t[0]=n,t[1]=r),r};function Qn(e){let t=(0,Bn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=te(),c=Ke()?.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(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-Dexn468e.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-Wyu09VUF.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-aCOlo6ew.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-BL4PvBYZ.js","assets/store-Dge7C5E4.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/dialog-CD0j-atu.js","assets/utils-CJdWZupK.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-Bs6GJIoO.js","assets/button-BkTMa7Qj.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-DidS-jC5.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-BxZ-hog4.js","assets/platform-ulFAVx1H.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-55ddqHLu.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-DxZsjSPQ.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-9Sn2jsDp.js","assets/useEffectiveDirectory-CMr7RG4i.js","assets/useWorkerHighlightedLines-DqeV0VeO.js","assets/tooltip-GC3dg3gO.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-Wyu09VUF.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,xn as S}from"./persistence-aCOlo6ew.js";import{a as C}from"./vendor-zustand-B4dlGEM2.js";import{nt as w,rt as T,tt as E}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as D,Mt as O,Nt as k}from"./platform-ulFAVx1H.js";import{o as A}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as j}from"./vendor-react-DLPElpoQ.js";import{l as M,n as ee,s as N}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as P,ct as F}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{n as I}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as te,o as ne,r as L,t as re}from"./clipboard-BL4PvBYZ.js";import{i as R,t as ie}from"./store-Dge7C5E4.js";import{Bt as z,Cr as B,En as V,Gt as H,Kt as ae,Lo as oe,Lr as U,Oo as W,Ot as G,Qa as K,Sa as se,Wn as ce,_n as q,an as le,dn as ue,gn as de,hn as fe,in as pe,jn as me,l as he,la as ge,nn as _e,on as ve,qa as ye,rn as be,si as xe,so as Se,ta as Ce,to as we,xa as Te,zt as Ee}from"./useMobileNavigationStore-55ddqHLu.js";import{a as De,i as Oe,n as ke,o as Ae,r as je,t as Me}from"./dialog-CD0j-atu.js";import{a as Ne,i as Pe,o as Fe,t as Ie}from"./utils-CJdWZupK.js";import{n as J}from"./Icon-Bs6GJIoO.js";import{t as Y}from"./button-BkTMa7Qj.js";import{A as Le,J as Re,j as ze,o as Be}from"./projectMeta-C73Y8iuW.js";import{t as Ve}from"./input-Ca2tUhgN.js";import{i as He,n as Ue,t as We}from"./tooltip-GC3dg3gO.js";import{n as Ge,t as Ke}from"./useThemeSystem-DMzWVJaW.js";import{A as qe,C as Je,K as Ye,P as Xe,S as Ze,V as Qe,_ as $e,c as et,h as tt,n as nt,p as rt,s as it,v as at,w as ot,x as st,y as ct}from"./radio-ChOSH5D4.js";import{i as lt,t as X}from"./OverlayScrollbar-VZKKu-cu.js";import{f as Z,g as ut,h as dt,x as ft}from"./markdownTheme-DidS-jC5.js";import{$ as pt,A as mt,B as ht,F as gt,I as _t,Q as vt,R as yt,V as bt,W as xt,X as St,Y as Ct,Z as wt,_ as Tt,a as Et,at as Dt,c as Ot,d as kt,f as At,g as jt,h as Mt,j as Nt,n as Pt,o as Ft,p as It,q as Lt,rt as Rt,s as zt,u as Bt}from"./ChatContainer-BXsYtF5J.js";import{n as Vt}from"./useRuntimeAPIs-DSLXJybW.js";import{M as Ht,N as Ut,b as Wt,g as Gt,x as Kt,y as qt}from"./insertionBoundaries-DA2NoBgN.js";import{i as Jt,n as Yt,t as Xt,u as Zt}from"./appThemeRegistry-BxZ-hog4.js";import{a as Qt}from"./url-BQHM4bC4.js";import{f as $t,g as en,h as tn,m as nn,p as rn}from"./markdown-worker-9Sn2jsDp.js";import{n as an}from"./useEffectiveDirectory-CMr7RG4i.js";import{o as on}from"./FadeInOnReveal-BpIMrqet.js";import{g as sn,n as cn}from"./useWorkerHighlightedLines-DqeV0VeO.js";import{t as ln}from"./sortable-tabs-strip-Bl26ebY_.js";import{a as un,c as dn,d as fn,f as pn,l as mn,m as hn,n as gn,o as _n,p as vn,s as yn,t as bn,u as xn}from"./vendor-pierre-diffs-BenIz2TM.js";import{a as Sn,c as Cn,i as wn,l as Tn,n as En,o as Dn,r as On,s as kn,t as An}from"./shikiHighlight-Bwrjs3dJ.js";import{n as jn,r as Mn,t as Nn}from"./collapsible-CVL-5iEB.js";import{n as Pn,s as Fn,t as In}from"./fileQueries-_VUJM8AE.js";import{t as Ln}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Rn,t as zn}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(T(),1),Bn=j(),$=w(),Vn=e(E(),1);function Hn(){return new Worker(bn,{type:`module`})}var Un=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],Wn={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},Gn,Kn,qn=e=>{let t=Wn[e],n=new vn({workerFactory:Hn,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Un,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},Jn=e=>{if(!(typeof window>`u`))return e===`split`?(Kn??=qn(`split`),Kn):(Gn??=qn(`unified`),Gn)},Yn=e=>{let t=(0,Bn.c)(7),{children:n,renderTheme:r}=e,i=Zn(`unified`),a=Zn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:Wn.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:Wn.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},Xn=e=>{let t=(0,Bn.c)(11),{children:n}=e,r=Ke(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=ft(!1),n=ft(!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,Xt(a),Xt(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)(Yn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Zn=e=>{let t=(0,Bn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=Jn(n),t[0]=n,t[1]=r),r};function Qn(e){let t=(0,Bn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=te(),c=Ke()?.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=Ie(`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=Ie(`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 ee;t[32]!==h||t[33]!==l||t[34]!==s?(ee=h&&(0,$.jsx)(Mn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=ee):ee=t[35];let N;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(jn,{}),t[36]=N):N=t[36];let P;t[37]!==k||t[38]!==M||t[39]!==ee?(P=(0,$.jsxs)(Nn,{open:k,onOpenChange:u,children:[M,ee,N]}),t[37]=k,t[38]=M,t[39]=ee,t[40]=P):P=t[40];let F;t[41]!==O||t[42]!==P?(F=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,P]}),t[41]=O,t[42]=P,t[43]=F):F=t[43];let I;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(ot,{asChild:!0,children:(0,$.jsx)(Y,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(J,{name:`more`,className:`size-4`})})}),t[44]=I):I=t[44];let ne;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(J,{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)(ct,{onClick:r,children:[ne,L]}),t[48]=r,t[49]=L,t[50]=re):re=t[50];let R;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(J,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=R):R=t[51];let ie;t[52]===s?ie=t[53]:(ie=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=ie);let z;t[54]!==i||t[55]!==ie?(z=(0,$.jsxs)(ct,{onClick:i,className:`text-destructive`,children:[R,ie]}),t[54]=i,t[55]=ie,t[56]=z):z=t[56];let B;t[57]!==re||t[58]!==z?(B=(0,$.jsxs)($e,{children:[I,(0,$.jsxs)(at,{align:`end`,children:[re,z]})]}),t[57]=re,t[58]=z,t[59]=B):B=t[59];let V;t[60]!==F||t[61]!==B?(V=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[F,B]}),t[60]=F,t[61]=B,t[62]=V):V=t[62];let H;t[63]!==V||t[64]!==S?(H=(0,$.jsx)(Tn,{render:S,children:V}),t[63]=V,t[64]=S,t[65]=H):H=t[65];let ae;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(J,{name:`edit`,className:`size-4 mr-2`}),t[66]=ae):ae=t[66];let oe;t[67]===s?oe=t[68]:(oe=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=oe);let U;t[69]!==r||t[70]!==oe?(U=(0,$.jsxs)(kn,{onClick:r,children:[ae,oe]}),t[69]=r,t[70]=oe,t[71]=U):U=t[71];let W;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(J,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=W):W=t[72];let G;t[73]===s?G=t[74]:(G=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=G);let K;t[75]!==i||t[76]!==G?(K=(0,$.jsxs)(kn,{onClick:i,className:`text-destructive focus:text-destructive`,children:[W,G]}),t[75]=i,t[76]=G,t[77]=K):K=t[77];let se;t[78]!==U||t[79]!==K?(se=(0,$.jsxs)(Dn,{children:[U,K]}),t[78]=U,t[79]=K,t[80]=se):se=t[80];let ce;return t[81]!==d||t[82]!==H||t[83]!==se?(ce=(0,$.jsxs)(Sn,{open:d,onOpenChange:f,children:[H,se]}),t[81]=d,t[82]=H,t[83]=se,t[84]=ce):ce=t[84],ce}function $n(e){let t=(0,Bn.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}=te(),h=Ke()?.currentTheme,{isMobile:g}=lt(),[_,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=sr,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,ee;t[15]===l?ee=t[16]:(ee=Ie(`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]=ee);let N=h?.colors?.surface?.elevated,P=h?.colors?.interactive?.border,F=u?`${Math.max(200,Math.floor(u))}px`:void 0,I;t[17]!==N||t[18]!==P||t[19]!==F?(I={backgroundColor:N,borderColor:P,maxWidth:F},t[17]=N,t[18]=P,t[19]=F,t[20]=I):I=t[20];let ne=or,L=ar,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})})]}),R;t[21]===x?R=t[22]:(R=e=>x(e.target.value),t[21]=x,t[22]=R);let ie;t[23]!==g||t[24]!==m?(ie=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=ie):ie=t[25];let z;t[26]!==A||t[27]!==R||t[28]!==ie||t[29]!==_?(z=(0,$.jsx)(Be,{simple:!0,ref:y,value:_,onChange:R,onKeyDown:A,placeholder:ie,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]=R,t[28]=ie,t[29]=_,t[30]=z):z=t[30];let B;t[31]!==E||t[32]!==d||t[33]!==m?(B=E&&d?(0,$.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:ir,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(J,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(Lt,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=B):B=t[34];let V;t[35]===m?V=t[36]:(V=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=V);let H;t[37]!==a||t[38]!==V?(H=(0,$.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:rr,onTouchStart:nr,className:`h-8 text-muted-foreground hover:text-foreground`,children:V}),t[37]=a,t[38]=V,t[39]=H):H=t[39];let ae;t[40]===_?ae=t[41]:(ae=_.trim(),t[40]=_,t[41]=ae);let oe=!ae,U=h?.colors?.status?.success,W=h?.colors?.status?.successForeground,G;t[42]!==U||t[43]!==W?(G={backgroundColor:U,color:W},t[42]=U,t[43]=W,t[44]=G):G=t[44];let K;t[45]!==p||t[46]!==m?(K=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=K):K=t[47];let se;t[48]!==M||t[49]!==oe||t[50]!==G||t[51]!==K?(se=(0,$.jsx)(Y,{size:`sm`,onClick:M,onPointerDown:tr,onTouchStart:er,disabled:oe,className:`h-8 min-w-[80px]`,style:G,children:K}),t[48]=M,t[49]=oe,t[50]=G,t[51]=K,t[52]=se):se=t[52];let ce;t[53]!==B||t[54]!==H||t[55]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[B,H,se]}),t[53]=B,t[54]=H,t[55]=se,t[56]=ce):ce=t[56];let q;t[57]!==re||t[58]!==z||t[59]!==ce?(q=(0,$.jsxs)(`div`,{className:`p-3`,children:[re,z,ce]}),t[57]=re,t[58]=z,t[59]=ce,t[60]=q):q=t[60];let le;return t[61]!==ee||t[62]!==I||t[63]!==ne||t[64]!==L||t[65]!==q?(le=(0,$.jsx)(`div`,{className:ee,style:I,"data-comment-input":`true`,onPointerDown:ne,onTouchStart:L,children:q}),t[61]=ee,t[62]=I,t[63]=ne,t[64]=L,t[65]=q,t[66]=le):le=t[66],le}function er(e){return e.stopPropagation()}function tr(e){return e.stopPropagation()}function nr(e){return e.stopPropagation()}function rr(e){return e.stopPropagation()}function ir(e){return e.stopPropagation()}function ar(e){return e.stopPropagation()}function or(e){return e.stopPropagation()}function sr(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 cr=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},lr=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function ur(e){let t=(0,Bn.c)(40),{t:n}=te(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=he(gr),u=he(hr),d=vt(mr),f=vt(pr),p=vt(fr),m=vt(dr),[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=lr(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){B.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=lr(c),p=cr(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 ee=M,N;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==ee||t[36]!==h||t[37]!==x||t[38]!==k?(N={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:ee,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=ee,t[36]=h,t[37]=x,t[38]=k,t[39]=N):N=t[39],N}function dr(e){return e.drafts}function fr(e){return e.removeDraft}function pr(e){return e.updateDraft}function mr(e){return e.addDraft}function hr(e){return e.newSessionDraft?.open}function gr(e){return e.currentSessionId}function _r(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)($n,{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)(Qn,{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)($n,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var vr=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}`},yr=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 br(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 xr(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function Sr(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:vr({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>vr({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=br(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?xr(Math.min(...o)):xr(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=vr({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Vn.createPortal)((0,$.jsx)($n,{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,Vn.createPortal)((0,$.jsx)(Qn,{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,Vn.createPortal)((0,$.jsx)($n,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function Cr(e){let t=(0,Bn.c)(16),{position:n,onAddToChat:r,onDismiss:i}=e,{t:a}=te(),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)(J,{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)(Lt,{shortcut:`⌘+I`}),t[9]=f):f=t[9];let p;t[10]!==r||t[11]!==d?(p=(0,$.jsxs)(Y,{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,Vn.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:wr,children:p}),document.body),t[13]=l,t[14]=p,t[15]=m):m=t[15],m}function wr(e){return e.preventDefault()}var Tr=`[data-code-selection-action]`;function Er(e){return e instanceof Element&&!!e.closest(Tr)}function Dr(e,t=[]){return Er(e)?!0:t.some(e=>e instanceof Element&&e.matches(`[data-column-number]`))}function Or(e,t){return e&&!!t?.trim()}function kr(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?Ar(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},li=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},ui=e=>`${e.scope}:${e.navigationRequestKey??``}:${(e.targetFilePath??``).trim()}:${e.targetLine??``}`,di=(e,t,n)=>n&&e!==t,fi=e=>`/api/openchamber/sessions/${encodeURIComponent(e)}/changes`,pi=e=>e.trim(),mi=e=>e===404||e===405||e===501,hi=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e.diff;return!!t&&typeof t==`object`&&!Array.isArray(t)},gi=(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},_i=async(e,t)=>{let n={messageID:e.messageID,directory:e.directory};return typeof e.file==`string`&&e.file.length>0&&(n.file=e.file),_(fi(e.sessionID),{method:`GET`,headers:{Accept:`application/json`,"x-opencode-directory":e.directory},query:n,signal:t})},vi=async(e,t)=>{if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);return k.getSessionDiff({sessionID:e.sessionID,directory:e.directory,messageID:e.messageID},{signal:t})},yi=(e,t=n())=>m.sessionTurnChanges.file(e.directory,e.sessionID,e.messageID,e.file,e.diffCount,t),bi=(e,t=n())=>({queryKey:yi(e,t),queryFn:async({signal:t})=>{let n=await _i(e,t);if(n.ok){let e=await n.json().catch(()=>null);if(hi(e))return e}else if(!mi(n.status))throw Error(`Session turn change file request failed (${n.status})`);let r=gi(await vi(e,t),e.file);if(!r)throw Error(`change file not found`);return{diff:r}},staleTime:0,gcTime:6e4,retry:!1}),xi=(e,t)=>{let r=(0,Bn.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=N,s=bi({...i,directory:pi(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)},Si=1100,Ci=15e3,wi=500,Ti=300,Ei=1e6,Di=3,Oi=e=>e<=6?e:e<=12?6:e<=25?4:2,ki=Q.memo(()=>{let e=(0,Bn.c)(4),{t}=te(),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}),Ai={"?":{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`}},ji=Ai.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`},Ni=e=>Ai[Mi(e)]??ji,Pi=e=>{let{index:t,working_dir:n}=e;return t===`A`||n===`A`||t===`?`||n===`?`},Fi=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},Ii=e=>!!e.working_dir?.trim()||e.index===`?`,Li=(e,t)=>ut(e,t),Ri=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),zi=(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},Bi=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Vi=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],Hi=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Ui=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Wi=(e,t,n)=>Bi(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:ri(e,t),contextMode:n},Gi=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:Ie(`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]})},Ki=Q.memo(e=>{let t=(0,Bn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=te(),[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)(J,{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)(ot,{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)(at,{align:`start`,className:`w-40`,children:(0,$.jsxs)(st,{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)($e,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),qi=Q.memo(e=>{let t=(0,Bn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=te();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=Ni(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:Ie(`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)(Ct,{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)(_t,{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`}),Gi(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)(Le,{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}),Ji=Q.memo(e=>{let t=(0,Bn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=te(),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}),Yi=Q.memo(e=>{let t=(0,Bn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=rn(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)(ki,{}),t[2]=e):e=t[2],e}if(tn(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Ji,{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)(Kr,{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}),Xi=Q.memo(e=>{let t=(0,Bn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=te(),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)(Zi,{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)(Zi,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Zi,{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}),Zi=e=>{let t=(0,Bn.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=Ie(`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)(J,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(J,{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)(Y,{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},Qi=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}=te(),{git:C}=Vt(),w=Wt(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Wt(e=>e.setDiff),E=Wt(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[ee,N]=Q.useState(null),[P,F]=Q.useState(!1),[I,ne]=Q.useState(null),[L,re]=Q.useState(null),R=Q.useRef(null),ie=Q.useRef(null),z=Q.useMemo(()=>Ni(t),[t]),V=n===`side-by-side`,H=h?`full`:`patch`,ae=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,oe=xi({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),U=Q.useMemo(()=>{let e=oe.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Wi(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]),W=Q.useMemo(()=>{if(g)return g;if(U)return U;if(m)return L;if(I)return I;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Ui(e)?e:null},[w,g,I,m,L,U]),G=oe.error instanceof Error?oe.error.message:oe.error?String(oe.error):null,K=W?null:G??k,se=x&&oe.isPending||j,ce=W?.contextMode===H,q=Q.useCallback(e=>{ie.current=e,l(t.path,e)},[t.path,l]),le=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){R.current=null,M(!1);return}if(!e||g){R.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${ae}::${H}::${D}`;if(R.current===n)return;let r=!!(W&&ce);R.current=n,A(null),r||M(!0);let i=!1,s=h?Ei:Di,c=tn(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=Ci,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=Wi(t.path,n.diff,H);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,R.current===n&&(R.current=null)}},[H,W,ce,D,e,y,t.path,ae,C,g,a,o,h,T,m]);let de=Q.useCallback(()=>{le(!a),ue()},[le,ue,a]),fe=Q.useCallback(async n=>{if(!(!e||ee!==null)){N(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`;B.error(e instanceof Error?e.message:S(t))}finally{N(e=>e===n?null:e)}}},[e,E,t.path,ee,C,S]);return(0,$.jsxs)(`div`,{ref:q,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:Ie(`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)(J,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(J,{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:z.color},title:S(z.descriptionKey),"aria-label":S(z.descriptionKey),children:z.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)(Ct,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(_t,{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:[Gi(t.insertions,t.deletions),u&&f?(0,$.jsx)(Y,{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,W)},disabled:d,children:d?(0,$.jsx)(J,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(J,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(Y,{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)(J,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!K?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,K?(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:K}),(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&&se&&!W&&!K?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(J,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&W&&!P&&t.insertions+t.deletions>wi?(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:()=>F(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&W&&(P||t.insertions+t.deletions<=wi)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yi,{filePath:t.path,diff:W,renderSideBySide:V,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)(Xi,{filePath:t.path,staged:m,busyAction:ee,disabled:ee!==null,onAction:fe})})}):null]}):null]})]})}),$i=({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}=te(),{git:y,files:b}=Vt(),x=an(),S=typeof s==`string`&&s.trim()?s.trim():x,{screenWidth:C,isMobile:w}=lt(),T=Kt(S??null),E=qt(S??null),D=Gt(S??null),O=Wt(e=>e.setActiveDirectory),k=Wt(e=>e.ensureStatus),A=Wt(e=>e.fetchStatus),j=Wt(e=>e.setDiff),[M,ee]=Q.useState(null),[N,P]=Q.useState(!1),[F,ne]=Q.useState(null),[L,re]=Q.useState(null),[R,ie]=Q.useState(()=>new Set),[z,V]=Q.useState(()=>new Set),[H,ae]=Q.useState(g),[oe,W]=Q.useState(0),[G,K]=Q.useState(!1),[se,ce]=Q.useState(!1),[q,le]=Q.useState(i);Q.useEffect(()=>{le(i)},[i]);let ue=c(e=>e.pendingDiffFile),de=c(e=>e.pendingDiffStaged),fe=c(e=>e.pendingDiffScope),pe=c(e=>e.pendingDiffLine),me=c(e=>e.setPendingDiffFile),ge=c(e=>e.diffLayoutPreference),_e=c(e=>e.diffFileLayout),ye=c(e=>e.setDiffFileLayout),be=c(e=>e.diffWrapLines),Se=c(e=>e.setDiffWrapLines),Ce=c(e=>e.openContextFileAtLine),we=c(e=>e.openContextFile),Te=yt(),Ee=he(e=>e.currentSessionId),De=typeof o==`string`&&o.trim()?o.trim():Ee,Oe=ve(De??``,S??void 0),ke=be,Ae=q===`staged`||q!==`working`&&null,je=Ae??N,Me=w||C<=768,Ne=!!De&&q!==`turn`&&!Me&&!l(),Pe=!e&&!Me&&C>=1024,Fe=Q.useRef(null),Re=Q.useRef(new Map),ze=Q.useRef(null),Be=Q.useRef(null),Ve=Q.useRef(!1),Ge=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useRef(null),Ye=Q.useCallback(()=>{ze.current=null,Ve.current=!1,re(null),Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null)},[]),Xe=Q.useCallback(e=>{ie(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ze=Q.useMemo(()=>{let e=Oe.length-1;if(a&&(e=Oe.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=Oe[t];if(e.role!==`user`)continue;let n=Vi(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:[]}},[Oe,a]),Qe=Q.useMemo(()=>li(p??[]),[p]),$e=Qe.length>0,et=Q.useMemo(()=>!De||!S||!Ze.messageID?null:{sessionID:De,directory:S,messageID:Ze.messageID,diffCount:Ze.count},[S,De,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,Wi(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]),rt=Q.useMemo(()=>{if(q===`turn`)return tt.map(e=>({path:e.file??``,index:``,working_dir:Hi(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`?Fi:q===`working`?Ii:()=>!0;return E.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:Pi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,tt,E]),it=Q.useMemo(()=>E?.files?E.files.filter(Ii).length:0,[E]),at=Q.useMemo(()=>E?.files?E.files.filter(Fi).length:0,[E]),ot=$e?tt.length:Ze.count,st=Q.useMemo(()=>rt.map(e=>e.path).join(`\0`),[rt]),ct=Q.useMemo(()=>{if(!h)return rt;let e=d?.trim()||M;return e?rt.filter(t=>t.path===e):[]},[rt,M,h,d]);Q.useEffect(()=>{let e=st?st.split(`\0`):[],n=new Set(e),r=`${S??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=p!==null&&qe.current!==p,o=Ke.current!==r||i;Ke.current=r,qe.current=p,ie(r=>{if(o){let n=t||q===`turn`&&!$e?0:Oi(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}),V(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,st,S,t,p,a,$e]);let X=Q.useCallback(()=>{Ge.current=null;let e=Fe.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-Ti,r=t.bottom+Ti,i={};for(let[e,t]of Re.current){if(!t||!R.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}V(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]),Z=Q.useCallback(()=>{typeof window>`u`||Ge.current===null&&(Ge.current=window.requestAnimationFrame(X))},[X]);Q.useEffect(()=>{let e=Fe.current;if(e)return Z(),e.addEventListener(`scroll`,Z,{passive:!0}),window.addEventListener(`resize`,Z),()=>{e.removeEventListener(`scroll`,Z),window.removeEventListener(`resize`,Z),Ge.current!==null&&(window.cancelAnimationFrame(Ge.current),Ge.current=null)}},[rt,R,Z]);let ut=Q.useCallback(e=>{let t=_e[e.path];if(t)return t;if(ge===`inline`)return`inline`;if(ge===`side-by-side`)return`side-by-side`;let n=C<Si;return e.isNew||n?`inline`:`side-by-side`},[_e,ge,C]),dt=Q.useMemo(()=>ct.length===0?null:ct.every(e=>ut(e)===`side-by-side`)?`side-by-side`:`inline`,[ut,ct]);Q.useEffect(()=>{S&&(O(S),k(S,y))},[S,O,k,y]),Q.useEffect(()=>{if(S)return xe.onGitRefreshHint(e=>{Ri(e.directory)===Ri(S)&&A(S,y)})},[S,A,y]),Q.useEffect(()=>{q!==`all`&&!fe||ue&&(fe&&le(fe),ee(ue),P(fe===`staged`||!fe&&de),ne(pe),me(null),Ve.current=!0,ze.current=ue,Xe(ue),W(e=>e+1))},[q,Xe,ue,pe,fe,de,me]),Q.useEffect(()=>{if(q===`all`)return;let e=d?.trim();if(!e)return;Xe(e),ee(e),P(q===`staged`),ne(f);let t=ui({scope:q,navigationRequestKey:_,targetFilePath:e,targetLine:f}),n=rt.some(t=>t.path===e);di(Je.current,t,n)&&(Je.current=t,Ve.current=!0,ze.current=e,W(e=>e+1))},[q,rt,Xe,_,d,f]),Q.useEffect(()=>{M&&(rt.some(e=>e.path===M)||(ee(null),P(!1)))},[rt,M]);let ft=Q.useCallback((e,t)=>{let n=Re.current;t?n.set(e,t):n.delete(e),Z()},[Z]),pt=Q.useCallback((e,t)=>{Ye(),ie(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||V(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),Z()},[Ye,Z]),mt=Q.useCallback(()=>{Ye(),ie(e=>e.size>0?new Set:new Set(rt.map(e=>e.path))),V(new Set),Z()},[Ye,rt,Z]),ht=Q.useCallback(async e=>{if(!Ee)return;let t=he.getState().getDirectoryForSession(Ee)||S||``;if(!t){B.error(v(`diffView.reviewDialog.toast.noSessionDirectory`));return}ce(!0);try{await U({originalSessionID:Ee,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),B.error(e instanceof Error?e.message:v(`diffView.reviewDialog.toast.startFailed`))}finally{ce(!1)}},[Ee,S,v]),gt=Q.useCallback(e=>{let t=Re.current.get(e),n=Fe.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(!ze.current)return;let e=0,t=!1,r=()=>{t||(t=!0,ze.current=null,Ve.current=!1,re(null),Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null))},i=()=>{if(t){Be.current=null;return}let a=ze.current;if(!a){r(),Be.current=null;return}if(!gt(a)){e+=1,e<20?Be.current=window.requestAnimationFrame(i):(r(),Be.current=null);return}n&&Ve.current&&re(a),r()};return Be.current=window.requestAnimationFrame(i),()=>{t=!0,Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null)}},[n,oe,gt]);let _t=Q.useCallback(e=>{},[]),vt=Q.useCallback(e=>{Ye(),ee(e),P(!1),Ve.current=!0,ze.current=e,Xe(e),W(e=>e+1),gt(e)},[Ye,Xe,gt]),bt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;ct.forEach(e=>{ye(e.path,t)})},[ye,ct]),[xt,Ct]=Q.useState(null),wt=Q.useCallback(async(e,t)=>{if(!(!S||!e)){Ct(e);try{let n=null;if(t?.patch&&!t.isBinary&&!tn(e)?n=ci(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!tn(e)&&(n=zi(t.original,t.modified)),n===null)try{n=ci((await y.getGitDiff(S,{path:e,staged:je,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await y.getGitFileDiff(S,{path:e,staged:je});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},je||j(S,e,r)}let i=n??(r.isBinary||tn(e)?1:zi(r.original,r.modified)),a=Li(S,e),o=await Qr(b,a);if(!o.ok){B.error($r(o.reason));return}Ce(S,a,i,1)}finally{Ct(t=>t===e?null:t)}}},[je,S,b,y,Ce,j]),Tt=I(e=>{if(!S||!e)return;let t=Li(S,e);if(Te){Te.openFile({path:t});return}Qr(b,t).then(e=>{if(!e.ok){B.error($r(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)(Ki,{scope:q,workingCount:it,stagedCount:at,turnCount:ot,onScopeChange:e=>{le(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`):ct.length===1?v(`diffView.summary.changedFilesSingle`,{count:ct.length}):v(`diffView.summary.changedFilesPlural`,{count:ct.length})})})),!h&&rt.length>0&&(q!==`turn`||$e)&&(0,$.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:mt,className:Ie(`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)(J,{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`)})]}),rt.length>0&&Ne&&(0,$.jsxs)(Y,{variant:`default`,size:`sm`,onClick:()=>K(!0),disabled:se,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":v(`diffView.actions.reviewAria`),children:[se?(0,$.jsx)(J,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(J,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:v(`diffView.actions.review`)})]}),rt.length>0&&(0,$.jsxs)(We,{children:[(0,$.jsx)(He,{asChild:!0,children:(0,$.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>ae(e=>!e),"aria-pressed":H,"aria-label":v(H?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:Ie(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,H&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(J,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(Ue,{children:(0,$.jsx)(`p`,{children:v(H?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),rt.length>0&&(0,$.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>Se(!be),className:Ie(`h-5 w-5 p-0 transition-opacity`,ke?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:v(ke?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(J,{name:`text-wrap`,className:`size-4`})}),dt&&(0,$.jsx)(cn,{mode:dt===`side-by-side`?`side-by-side`:`unified`,onModeChange:bt})]}),(0,$.jsx)(St,{open:G,onOpenChange:K,projectDirectory:S??null,submitting:se,onConfirm:ht}),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)(J,{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`)}):ct.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=>Ae===null?N&&e===M:Ae;return(0,$.jsxs)(`div`,{className:Ie(`flex min-w-0 flex-1 min-h-0 h-full`,m?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Pe&&(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:rt.length})]}),(0,$.jsx)(qi,{changedFiles:rt,selectedFile:null,onSelectFile:vt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Le,{ref:Fe,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:ct.map(t=>(0,$.jsx)(Qi,{directory:S,file:t,layout:ut(t),wrapLines:ke,isSelected:!1,isExpanded:R.has(t.path),isMounted:z.has(t.path)||t.path===L||h&&ct.length===1,onSelect:_t,onExpandedChange:pt,registerSectionRef:ft,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:xt===t.path,onOpenInEditor:(e,t)=>{wt(e,t)},onOpenFile:Tt,staged:e(t.path),loadFullFiles:H,initialDiffData:q===`turn`?nt.get(t.path)??null:null,focusLine:t.path===(d?.trim()||M)?f??F: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`)})]})},ea=(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)},ta=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},na=(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:F.cursor(a),effects:P.scrollIntoView(a,{y:`center`})})};function ra({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=te(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>ea(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=ta(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:P.scrollIntoView(e.main.from,{y:`center`})});return}na(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:P.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,na(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??ta(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)(Ve,{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)(Y,{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:Ie(`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)(Ve,{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 ia=(e,t)=>{let n=Z(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},aa=(e,t,n=10)=>{let r=dt(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=dt(t.path);if(!e||i.has(e))continue;let o=ia(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},oa=e=>e.some(e=>!!dt(e)),sa=(e,t)=>{let n=new Set(t.map(e=>dt(e)).filter(Boolean));return e.filter(e=>!n.has(e))},ca=(e,t,n)=>t.length===0?e.length===0:sa(e,t).length>0?!1:t.every(e=>n.has(dt(e))),la=[{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`}],ua=`finder`,da=new Set([`finder`,`terminal`]),fa=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,pa=e=>{if(!e)return null;let t=la.find(t=>t.id===e)??null;return t?fa(t):null},ma=()=>la.filter(e=>da.has(e.id)).map(e=>({...fa(e)})),ha=()=>{if(typeof window>`u`)return ua;let e=window.localStorage.getItem(`openInAppId`);return e&&pa(e)?e:ua},ga=!1,_a=!1,va=!1,ya=0,ba=null,xa=()=>{ba&&=(clearTimeout(ba),null)},Sa=C()((e,t)=>({selectedAppId:ha(),availableApps:ma(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(ga||typeof window>`u`)return;ga=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:ma(),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:la.filter(e=>r.has(e.appName)||da.has(e.id)).map(e=>({...fa(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!f()||!p()||_a||t().hasLoadedApps&&!i)return;let a=la.map(e=>e.appName);xa(),i&&e({hasLoadedApps:!1}),_a=!0,va=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await d(a,i),l=o&&!s&&t.length===0&&ya<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ya]??3200;ya+=1,va=!0,ba=setTimeout(()=>{r()},e);return}ya=0,va=!1;return}if(ya<3){let e=[1e3,3e3,7e3][ya]??7e3;ya+=1,va=!0,ba=setTimeout(()=>{r()},e)}}finally{_a=!1,va||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&pa(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)&&(ya=3,va=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(ga||t().initialize(),!f()||!p()||_a||t().hasLoadedApps&&!n)return;let r=la.map(e=>e.appName);xa(),n&&e({hasLoadedApps:!1}),_a=!0,va=!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=la.filter(e=>o.has(e.appName)||da.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:ma(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{_a=!1,va||e({isScanning:!1})}},selectApp:async t=>{pa(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await y({openInAppId:t}))}})),Ca=Zt(()=>A(()=>import(`./ToolOutputDialog-Cba_60bU.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]))),wa=e=>{let t=Da(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},Ta=e=>{let t=(0,Bn.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=Ie(`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},Ea=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Da=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},Oa=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),ka=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,Aa=(e,t)=>{let n=Da(t),r=Da(e);if(!n||!r)return!1;let i=ka(n),a=ka(r);return a===i||a.startsWith(`${i}/`)},ja=(e,t)=>{let n=Da(t),r=Da(e);if(!Aa(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=Da(t);if(!e||!Aa(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},Na=new Set([`node_modules`]),Pa=e=>{let t=(0,Bn.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},Fa=e=>{let t=(0,Bn.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},Ia=e=>Na.has(e),La=e=>{let t=Da(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},Ra=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},za=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`)},Ba=2e5,Va=`openchamber:files:auto-save-enabled`,Ha=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},Bi=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Vi=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],Hi=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Ui=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Wi=(e,t,n)=>Bi(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:ri(e,t),contextMode:n},Gi=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:Ie(`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]})},Ki=Q.memo(e=>{let t=(0,Bn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=te(),[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)(J,{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)(ot,{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)(at,{align:`start`,className:`w-40`,children:(0,$.jsxs)(st,{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)($e,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),qi=Q.memo(e=>{let t=(0,Bn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=te();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=Ni(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:Ie(`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)(Ct,{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)(_t,{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`}),Gi(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)(Le,{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}),Ji=Q.memo(e=>{let t=(0,Bn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=te(),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}),Yi=Q.memo(e=>{let t=(0,Bn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=rn(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)(ki,{}),t[2]=e):e=t[2],e}if(tn(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Ji,{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)(Kr,{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}),Xi=Q.memo(e=>{let t=(0,Bn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=te(),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)(Zi,{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)(Zi,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Zi,{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}),Zi=e=>{let t=(0,Bn.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=Ie(`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)(J,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(J,{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)(Y,{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},Qi=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}=te(),{git:C}=Vt(),w=Wt(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Wt(e=>e.setDiff),E=Wt(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[ee,N]=Q.useState(null),[P,F]=Q.useState(!1),[I,ne]=Q.useState(null),[L,re]=Q.useState(null),R=Q.useRef(null),ie=Q.useRef(null),z=Q.useMemo(()=>Ni(t),[t]),V=n===`side-by-side`,H=h?`full`:`patch`,ae=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,oe=xi({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),U=Q.useMemo(()=>{let e=oe.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Wi(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]),W=Q.useMemo(()=>{if(g)return g;if(U)return U;if(m)return L;if(I)return I;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Ui(e)?e:null},[w,g,I,m,L,U]),G=oe.error instanceof Error?oe.error.message:oe.error?String(oe.error):null,K=W?null:G??k,se=x&&oe.isPending||j,ce=W?.contextMode===H,q=Q.useCallback(e=>{ie.current=e,l(t.path,e)},[t.path,l]),le=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){R.current=null,M(!1);return}if(!e||g){R.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${ae}::${H}::${D}`;if(R.current===n)return;let r=!!(W&&ce);R.current=n,A(null),r||M(!0);let i=!1,s=h?Ei:Di,c=tn(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=Ci,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=Wi(t.path,n.diff,H);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,R.current===n&&(R.current=null)}},[H,W,ce,D,e,y,t.path,ae,C,g,a,o,h,T,m]);let de=Q.useCallback(()=>{le(!a),ue()},[le,ue,a]),fe=Q.useCallback(async n=>{if(!(!e||ee!==null)){N(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`;B.error(e instanceof Error?e.message:S(t))}finally{N(e=>e===n?null:e)}}},[e,E,t.path,ee,C,S]);return(0,$.jsxs)(`div`,{ref:q,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:Ie(`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)(J,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(J,{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:z.color},title:S(z.descriptionKey),"aria-label":S(z.descriptionKey),children:z.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)(Ct,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(_t,{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:[Gi(t.insertions,t.deletions),u&&f?(0,$.jsx)(Y,{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,W)},disabled:d,children:d?(0,$.jsx)(J,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(J,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(Y,{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)(J,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!K?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,K?(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:K}),(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&&se&&!W&&!K?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(J,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&W&&!P&&t.insertions+t.deletions>wi?(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:()=>F(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&W&&(P||t.insertions+t.deletions<=wi)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yi,{filePath:t.path,diff:W,renderSideBySide:V,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)(Xi,{filePath:t.path,staged:m,busyAction:ee,disabled:ee!==null,onAction:fe})})}):null]}):null]})]})}),$i=({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}=te(),{git:y,files:b}=Vt(),x=an(),S=typeof s==`string`&&s.trim()?s.trim():x,{screenWidth:C,isMobile:w}=lt(),T=Kt(S??null),E=qt(S??null),D=Gt(S??null),O=Wt(e=>e.setActiveDirectory),k=Wt(e=>e.ensureStatus),A=Wt(e=>e.fetchStatus),j=Wt(e=>e.setDiff),[M,ee]=Q.useState(null),[N,P]=Q.useState(!1),[F,ne]=Q.useState(null),[L,re]=Q.useState(null),[R,ie]=Q.useState(()=>new Set),[z,V]=Q.useState(()=>new Set),[H,ae]=Q.useState(g),[oe,W]=Q.useState(0),[G,K]=Q.useState(!1),[se,ce]=Q.useState(!1),[q,le]=Q.useState(i);Q.useEffect(()=>{le(i)},[i]);let ue=c(e=>e.pendingDiffFile),de=c(e=>e.pendingDiffStaged),fe=c(e=>e.pendingDiffScope),pe=c(e=>e.pendingDiffLine),me=c(e=>e.setPendingDiffFile),ge=c(e=>e.diffLayoutPreference),_e=c(e=>e.diffFileLayout),ye=c(e=>e.setDiffFileLayout),be=c(e=>e.diffWrapLines),Se=c(e=>e.setDiffWrapLines),Ce=c(e=>e.openContextFileAtLine),we=c(e=>e.openContextFile),Te=yt(),Ee=he(e=>e.currentSessionId),De=typeof o==`string`&&o.trim()?o.trim():Ee,Oe=ve(De??``,S??void 0),ke=be,Ae=q===`staged`||q!==`working`&&null,je=Ae??N,Me=w||C<=768,Ne=!!De&&q!==`turn`&&!Me&&!l(),Pe=!e&&!Me&&C>=1024,Fe=Q.useRef(null),Re=Q.useRef(new Map),ze=Q.useRef(null),Be=Q.useRef(null),Ve=Q.useRef(!1),Ge=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useRef(null),Ye=Q.useCallback(()=>{ze.current=null,Ve.current=!1,re(null),Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null)},[]),Xe=Q.useCallback(e=>{ie(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ze=Q.useMemo(()=>{let e=Oe.length-1;if(a&&(e=Oe.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=Oe[t];if(e.role!==`user`)continue;let n=Vi(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:[]}},[Oe,a]),Qe=Q.useMemo(()=>li(p??[]),[p]),$e=Qe.length>0,et=Q.useMemo(()=>!De||!S||!Ze.messageID?null:{sessionID:De,directory:S,messageID:Ze.messageID,diffCount:Ze.count},[S,De,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,Wi(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]),rt=Q.useMemo(()=>{if(q===`turn`)return tt.map(e=>({path:e.file??``,index:``,working_dir:Hi(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`?Fi:q===`working`?Ii:()=>!0;return E.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:Pi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,tt,E]),it=Q.useMemo(()=>E?.files?E.files.filter(Ii).length:0,[E]),at=Q.useMemo(()=>E?.files?E.files.filter(Fi).length:0,[E]),ot=$e?tt.length:Ze.count,st=Q.useMemo(()=>rt.map(e=>e.path).join(`\0`),[rt]),ct=Q.useMemo(()=>{if(!h)return rt;let e=d?.trim()||M;return e?rt.filter(t=>t.path===e):[]},[rt,M,h,d]);Q.useEffect(()=>{let e=st?st.split(`\0`):[],n=new Set(e),r=`${S??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=p!==null&&qe.current!==p,o=Ke.current!==r||i;Ke.current=r,qe.current=p,ie(r=>{if(o){let n=t||q===`turn`&&!$e?0:Oi(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}),V(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,st,S,t,p,a,$e]);let X=Q.useCallback(()=>{Ge.current=null;let e=Fe.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-Ti,r=t.bottom+Ti,i={};for(let[e,t]of Re.current){if(!t||!R.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}V(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]),Z=Q.useCallback(()=>{typeof window>`u`||Ge.current===null&&(Ge.current=window.requestAnimationFrame(X))},[X]);Q.useEffect(()=>{let e=Fe.current;if(e)return Z(),e.addEventListener(`scroll`,Z,{passive:!0}),window.addEventListener(`resize`,Z),()=>{e.removeEventListener(`scroll`,Z),window.removeEventListener(`resize`,Z),Ge.current!==null&&(window.cancelAnimationFrame(Ge.current),Ge.current=null)}},[rt,R,Z]);let ut=Q.useCallback(e=>{let t=_e[e.path];if(t)return t;if(ge===`inline`)return`inline`;if(ge===`side-by-side`)return`side-by-side`;let n=C<Si;return e.isNew||n?`inline`:`side-by-side`},[_e,ge,C]),dt=Q.useMemo(()=>ct.length===0?null:ct.every(e=>ut(e)===`side-by-side`)?`side-by-side`:`inline`,[ut,ct]);Q.useEffect(()=>{S&&(O(S),k(S,y))},[S,O,k,y]),Q.useEffect(()=>{if(S)return xe.onGitRefreshHint(e=>{Ri(e.directory)===Ri(S)&&A(S,y)})},[S,A,y]),Q.useEffect(()=>{q!==`all`&&!fe||ue&&(fe&&le(fe),ee(ue),P(fe===`staged`||!fe&&de),ne(pe),me(null),Ve.current=!0,ze.current=ue,Xe(ue),W(e=>e+1))},[q,Xe,ue,pe,fe,de,me]),Q.useEffect(()=>{if(q===`all`)return;let e=d?.trim();if(!e)return;Xe(e),ee(e),P(q===`staged`),ne(f);let t=ui({scope:q,navigationRequestKey:_,targetFilePath:e,targetLine:f}),n=rt.some(t=>t.path===e);di(Je.current,t,n)&&(Je.current=t,Ve.current=!0,ze.current=e,W(e=>e+1))},[q,rt,Xe,_,d,f]),Q.useEffect(()=>{M&&(rt.some(e=>e.path===M)||(ee(null),P(!1)))},[rt,M]);let ft=Q.useCallback((e,t)=>{let n=Re.current;t?n.set(e,t):n.delete(e),Z()},[Z]),pt=Q.useCallback((e,t)=>{Ye(),ie(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||V(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),Z()},[Ye,Z]),mt=Q.useCallback(()=>{Ye(),ie(e=>e.size>0?new Set:new Set(rt.map(e=>e.path))),V(new Set),Z()},[Ye,rt,Z]),ht=Q.useCallback(async e=>{if(!Ee)return;let t=he.getState().getDirectoryForSession(Ee)||S||``;if(!t){B.error(v(`diffView.reviewDialog.toast.noSessionDirectory`));return}ce(!0);try{await U({originalSessionID:Ee,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),B.error(e instanceof Error?e.message:v(`diffView.reviewDialog.toast.startFailed`))}finally{ce(!1)}},[Ee,S,v]),gt=Q.useCallback(e=>{let t=Re.current.get(e),n=Fe.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(!ze.current)return;let e=0,t=!1,r=()=>{t||(t=!0,ze.current=null,Ve.current=!1,re(null),Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null))},i=()=>{if(t){Be.current=null;return}let a=ze.current;if(!a){r(),Be.current=null;return}if(!gt(a)){e+=1,e<20?Be.current=window.requestAnimationFrame(i):(r(),Be.current=null);return}n&&Ve.current&&re(a),r()};return Be.current=window.requestAnimationFrame(i),()=>{t=!0,Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null)}},[n,oe,gt]);let _t=Q.useCallback(e=>{},[]),vt=Q.useCallback(e=>{Ye(),ee(e),P(!1),Ve.current=!0,ze.current=e,Xe(e),W(e=>e+1),gt(e)},[Ye,Xe,gt]),bt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;ct.forEach(e=>{ye(e.path,t)})},[ye,ct]),[xt,Ct]=Q.useState(null),wt=Q.useCallback(async(e,t)=>{if(!(!S||!e)){Ct(e);try{let n=null;if(t?.patch&&!t.isBinary&&!tn(e)?n=ci(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!tn(e)&&(n=zi(t.original,t.modified)),n===null)try{n=ci((await y.getGitDiff(S,{path:e,staged:je,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await y.getGitFileDiff(S,{path:e,staged:je});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},je||j(S,e,r)}let i=n??(r.isBinary||tn(e)?1:zi(r.original,r.modified)),a=Li(S,e),o=await Qr(b,a);if(!o.ok){B.error($r(o.reason));return}Ce(S,a,i,1)}finally{Ct(t=>t===e?null:t)}}},[je,S,b,y,Ce,j]),Tt=I(e=>{if(!S||!e)return;let t=Li(S,e);if(Te){Te.openFile({path:t});return}Qr(b,t).then(e=>{if(!e.ok){B.error($r(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)(Ki,{scope:q,workingCount:it,stagedCount:at,turnCount:ot,onScopeChange:e=>{le(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`):ct.length===1?v(`diffView.summary.changedFilesSingle`,{count:ct.length}):v(`diffView.summary.changedFilesPlural`,{count:ct.length})})})),!h&&rt.length>0&&(q!==`turn`||$e)&&(0,$.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:mt,className:Ie(`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)(J,{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`)})]}),rt.length>0&&Ne&&(0,$.jsxs)(Y,{variant:`default`,size:`sm`,onClick:()=>K(!0),disabled:se,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":v(`diffView.actions.reviewAria`),children:[se?(0,$.jsx)(J,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(J,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:v(`diffView.actions.review`)})]}),rt.length>0&&(0,$.jsxs)(We,{children:[(0,$.jsx)(He,{asChild:!0,children:(0,$.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>ae(e=>!e),"aria-pressed":H,"aria-label":v(H?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:Ie(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,H&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(J,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(Ue,{children:(0,$.jsx)(`p`,{children:v(H?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),rt.length>0&&(0,$.jsx)(Y,{variant:`ghost`,size:`sm`,onClick:()=>Se(!be),className:Ie(`h-5 w-5 p-0 transition-opacity`,ke?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:v(ke?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(J,{name:`text-wrap`,className:`size-4`})}),dt&&(0,$.jsx)(cn,{mode:dt===`side-by-side`?`side-by-side`:`unified`,onModeChange:bt})]}),(0,$.jsx)(St,{open:G,onOpenChange:K,projectDirectory:S??null,submitting:se,onConfirm:ht}),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)(J,{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`)}):ct.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=>Ae===null?N&&e===M:Ae;return(0,$.jsxs)(`div`,{className:Ie(`flex min-w-0 flex-1 min-h-0 h-full`,m?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Pe&&(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:rt.length})]}),(0,$.jsx)(qi,{changedFiles:rt,selectedFile:null,onSelectFile:vt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Le,{ref:Fe,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:ct.map(t=>(0,$.jsx)(Qi,{directory:S,file:t,layout:ut(t),wrapLines:ke,isSelected:!1,isExpanded:R.has(t.path),isMounted:z.has(t.path)||t.path===L||h&&ct.length===1,onSelect:_t,onExpandedChange:pt,registerSectionRef:ft,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:xt===t.path,onOpenInEditor:(e,t)=>{wt(e,t)},onOpenFile:Tt,staged:e(t.path),loadFullFiles:H,initialDiffData:q===`turn`?nt.get(t.path)??null:null,focusLine:t.path===(d?.trim()||M)?f??F: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`)})]})},ea=(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)},ta=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},na=(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:F.cursor(a),effects:P.scrollIntoView(a,{y:`center`})})};function ra({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=te(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>ea(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=ta(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:P.scrollIntoView(e.main.from,{y:`center`})});return}na(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:P.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,na(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??ta(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)(Ve,{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)(Y,{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:Ie(`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)(Ve,{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 ia=(e,t)=>{let n=Z(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},aa=(e,t,n=10)=>{let r=dt(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=dt(t.path);if(!e||i.has(e))continue;let o=ia(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},oa=e=>e.some(e=>!!dt(e)),sa=(e,t)=>{let n=new Set(t.map(e=>dt(e)).filter(Boolean));return e.filter(e=>!n.has(e))},ca=(e,t,n)=>t.length===0?e.length===0:sa(e,t).length>0?!1:t.every(e=>n.has(dt(e))),la=[{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`}],ua=`finder`,da=new Set([`finder`,`terminal`]),fa=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,pa=e=>{if(!e)return null;let t=la.find(t=>t.id===e)??null;return t?fa(t):null},ma=()=>la.filter(e=>da.has(e.id)).map(e=>({...fa(e)})),ha=()=>{if(typeof window>`u`)return ua;let e=window.localStorage.getItem(`openInAppId`);return e&&pa(e)?e:ua},ga=!1,_a=!1,va=!1,ya=0,ba=null,xa=()=>{ba&&=(clearTimeout(ba),null)},Sa=C()((e,t)=>({selectedAppId:ha(),availableApps:ma(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(ga||typeof window>`u`)return;ga=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:ma(),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:la.filter(e=>r.has(e.appName)||da.has(e.id)).map(e=>({...fa(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!f()||!p()||_a||t().hasLoadedApps&&!i)return;let a=la.map(e=>e.appName);xa(),i&&e({hasLoadedApps:!1}),_a=!0,va=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await d(a,i),l=o&&!s&&t.length===0&&ya<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ya]??3200;ya+=1,va=!0,ba=setTimeout(()=>{r()},e);return}ya=0,va=!1;return}if(ya<3){let e=[1e3,3e3,7e3][ya]??7e3;ya+=1,va=!0,ba=setTimeout(()=>{r()},e)}}finally{_a=!1,va||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&pa(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)&&(ya=3,va=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(ga||t().initialize(),!f()||!p()||_a||t().hasLoadedApps&&!n)return;let r=la.map(e=>e.appName);xa(),n&&e({hasLoadedApps:!1}),_a=!0,va=!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=la.filter(e=>o.has(e.appName)||da.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:ma(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{_a=!1,va||e({isScanning:!1})}},selectApp:async t=>{pa(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await y({openInAppId:t}))}})),Ca=Zt(()=>A(()=>import(`./ToolOutputDialog-Dexn468e.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]))),wa=e=>{let t=Da(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},Ta=e=>{let t=(0,Bn.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=Ie(`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},Ea=e=>e.slice().sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1),Da=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},Oa=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),ka=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,Aa=(e,t)=>{let n=Da(t),r=Da(e);if(!n||!r)return!1;let i=ka(n),a=ka(r);return a===i||a.startsWith(`${i}/`)},ja=(e,t)=>{let n=Da(t),r=Da(e);if(!Aa(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=Da(t);if(!e||!Aa(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},Na=new Set([`node_modules`]),Pa=e=>{let t=(0,Bn.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},Fa=e=>{let t=(0,Bn.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},Ia=e=>Na.has(e),La=e=>{let t=Da(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},Ra=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},za=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`)},Ba=2e5,Va=`openchamber:files:auto-save-enabled`,Ha=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
  `},Ua=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-Wyu09VUF.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-BL4PvBYZ.js";import{n as c}from"./Icon-Bs6GJIoO.js";import{n as l}from"./useRuntimeAPIs-DSLXJybW.js";import{n as u}from"./useEffectiveDirectory-DWwrRiBF.js";import{n as d,r as f,s as p,t as m}from"./fileQueries-_VUJM8AE.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=f({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,f=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}),d(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=f.catch(()=>void 0),await f},[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)(p,{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
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-Wyu09VUF.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-BL4PvBYZ.js";import{n as c}from"./Icon-Bs6GJIoO.js";import{n as l}from"./useRuntimeAPIs-DSLXJybW.js";import{n as u}from"./useEffectiveDirectory-CMr7RG4i.js";import{n as d,r as f,s as p,t as m}from"./fileQueries-_VUJM8AE.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=f({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,f=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}),d(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=f.catch(()=>void 0),await f},[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)(p,{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-Wyu09VUF.js";import{$t as r,Jt as i,Xt as a,Yt as o,in as s,kn as c}from"./persistence-aCOlo6ew.js";import{nt as l,rt as u}from"./vendor-base-ui-CnHfUmDN.js";import{t as d}from"./platform-ulFAVx1H.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-BL4PvBYZ.js";import{Bi as v}from"./useMobileNavigationStore-7LBI6idi.js";import{t as y}from"./utils-CJdWZupK.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-DidS-jC5.js";import{n as re}from"./useRuntimeAPIs-DSLXJybW.js";import{a as j,i as M,n as N,r as P}from"./url-BQHM4bC4.js";import{c as ie,h as F,i as ae,o as I,s as L,t as R}from"./markdown-worker-9Sn2jsDp.js";import{n as oe}from"./useEffectiveDirectory-DWwrRiBF.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-BpIMrqet.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===`
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,t as n}from"./useUIStore-Wyu09VUF.js";import{$t as r,Jt as i,Xt as a,Yt as o,in as s,kn as c}from"./persistence-aCOlo6ew.js";import{nt as l,rt as u}from"./vendor-base-ui-CnHfUmDN.js";import{t as d}from"./platform-ulFAVx1H.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-BL4PvBYZ.js";import{Bi as v}from"./useMobileNavigationStore-55ddqHLu.js";import{t as y}from"./utils-CJdWZupK.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-DidS-jC5.js";import{n as re}from"./useRuntimeAPIs-DSLXJybW.js";import{a as j,i as M,n as N,r as P}from"./url-BQHM4bC4.js";import{c as ie,h as F,i as ae,o as I,s as L,t as R}from"./markdown-worker-9Sn2jsDp.js";import{n as oe}from"./useEffectiveDirectory-CMr7RG4i.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-BpIMrqet.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,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),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(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#39;/g,`'`).replace(/&amp;/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(`
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{E as t,w as n}from"./useUIStore-Wyu09VUF.js";import{kn as r,u as i}from"./persistence-aCOlo6ew.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{Bo as u,Vo as d}from"./useMobileNavigationStore-7LBI6idi.js";import{t as f}from"./utils-CJdWZupK.js";import{n as p}from"./Icon-Bs6GJIoO.js";import{t as m}from"./button-BkTMa7Qj.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-Wyu09VUF.js";import{kn as r,u as i}from"./persistence-aCOlo6ew.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{Bo as u,Vo as d}from"./useMobileNavigationStore-55ddqHLu.js";import{t as f}from"./utils-CJdWZupK.js";import{n as p}from"./Icon-Bs6GJIoO.js";import{t as m}from"./button-BkTMa7Qj.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};