@openchambery/web 1.19.7-beta.7 → 1.19.7-beta.8

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 (41) hide show
  1. package/dist/assets/{AssistantView-AWe-3bXR.js → AssistantView-DYdXsGDh.js} +1 -1
  2. package/dist/assets/{ChatContainer-XHQSSICA.js → ChatContainer-D3onaUkL.js} +4 -4
  3. package/dist/assets/{ContextPanel-BT6bgBJ_.js → ContextPanel-Cj6RVUAe.js} +3 -3
  4. package/dist/assets/{DiagramView-DNLNZOT6.js → DiagramView-BoRTG67Z.js} +1 -1
  5. package/dist/assets/{MarkdownRendererImpl-C6E0KL8H.js → MarkdownRendererImpl-DwUKY9k4.js} +1 -1
  6. package/dist/assets/MarkstreamRendererImpl-BRvprELo.js +1 -0
  7. package/dist/assets/{MarkstreamRendererImpl-CxeWpDCK.css → MarkstreamRendererImpl-Ca7RATbs.css} +1 -1
  8. package/dist/assets/{MobileDetailNavigation-Sg0VMlOz.js → MobileDetailNavigation-C0Z8beRL.js} +1 -1
  9. package/dist/assets/{MobileShareBridge-QTUpK3s7.js → MobileShareBridge-DTvmm9vz.js} +1 -1
  10. package/dist/assets/{MobileSurface-BasV1X13.js → MobileSurface-CfrI-5uf.js} +1 -1
  11. package/dist/assets/{MultiRunWindow-BxyF4Xy4.js → MultiRunWindow-D_jo8cqz.js} +1 -1
  12. package/dist/assets/{SettingsView-BywiwJ_a.js → SettingsView-BOT158gD.js} +1 -1
  13. package/dist/assets/{SettingsWindow-zQ1dc-wl.js → SettingsWindow-CzMoz2fi.js} +1 -1
  14. package/dist/assets/{TerminalView-BMXYfo8d.js → TerminalView-sf_LfP6Z.js} +1 -1
  15. package/dist/assets/{ToolOutputDialog-CFFkJzQ4.js → ToolOutputDialog-BI5vwuaT.js} +1 -1
  16. package/dist/assets/{appThemeRegistry-4oEk9SR8.js → appThemeRegistry-G_zwgqAH.js} +2 -2
  17. package/dist/assets/{gitApi-Dqg8EDsg.js → gitApi-BE0vA4zm.js} +1 -1
  18. package/dist/assets/{insertionBoundaries-BtiZxiKR.js → insertionBoundaries-CJksyugt.js} +1 -1
  19. package/dist/assets/{main-D4qq97ip.js → main-BTeHOAU_.js} +3 -3
  20. package/dist/assets/{main-Blsi9j8P.js → main-BUBx-y1E.js} +2 -2
  21. package/dist/assets/{miniChat-QgI11lL4.js → miniChat-Btnf42TH.js} +2 -2
  22. package/dist/assets/{mobile-BjMMtvjD.js → mobile-CAjwV6ly.js} +2 -2
  23. package/dist/assets/{multirun-C9CKfXyS.js → multirun-Rpz1_-fz.js} +1 -1
  24. package/dist/assets/{projectMeta-DzGPV_uF.js → projectMeta-CvUuy-j5.js} +1 -1
  25. package/dist/assets/{radio-TX0aocEX.js → radio-D_a28OlM.js} +1 -1
  26. package/dist/assets/{renderElectronMiniChatApp-DZOBP2No.js → renderElectronMiniChatApp-DCzBQk2w.js} +2 -2
  27. package/dist/assets/{renderMobileApp-DP1_xIqJ.js → renderMobileApp-U5sclQRp.js} +4 -4
  28. package/dist/assets/{runtimeConfig-ClsErHd9.js → runtimeConfig-6inIl99b.js} +1 -1
  29. package/dist/assets/{runtimeEndpointReset-DoLMDfAs.js → runtimeEndpointReset-B_rUFDT5.js} +1 -1
  30. package/dist/assets/{shikiHighlight-B25fE64n.js → shikiHighlight-CMpSAuTl.js} +1 -1
  31. package/dist/assets/{useAppFontEffects-D1u63a6o.js → useAppFontEffects-3xHRVJcf.js} +2 -2
  32. package/dist/assets/{useDesktopWindowControlsLayout-DW_ouBDs.js → useDesktopWindowControlsLayout-QJlddPRn.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-D976zCCc.js → useEffectiveDirectory-Bcj1wP95.js} +1 -1
  34. package/dist/assets/{useMobileNavigationStore-lcj5GHR3.js → useMobileNavigationStore-CD0GRjaV.js} +1 -1
  35. package/dist/assets/{useSessionAutoCleanup-DMNa_krc.js → useSessionAutoCleanup-CN_6ABvx.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-BQNOf2U4.js → useWorkerHighlightedLines-DX9znDoW.js} +1 -1
  37. package/dist/index.html +2 -2
  38. package/dist/mini-chat.html +2 -2
  39. package/dist/mobile.html +2 -2
  40. package/package.json +1 -1
  41. package/dist/assets/MarkstreamRendererImpl-BKsc-avF.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-CFFkJzQ4.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-w-AiX2i4.js","assets/runtime-switch-BkpTTbEi.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CNLmCoPU.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.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/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-D35XSwID.js","assets/store-CL3WP48T.js","assets/dialog-x2hirWBd.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-SPe4jOwX.js","assets/appThemeRegistry-4oEk9SR8.js","assets/platform-4eCmsdol.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-lcj5GHR3.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-I0VWrB5V.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/useEffectiveDirectory-D976zCCc.js","assets/useWorkerHighlightedLines-BQNOf2U4.js","assets/tooltip-CtH61mQh.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{O as t,f as n,i as r,m as i,r as a,t as o,w as s,x as c}from"./runtime-switch-BkpTTbEi.js";import{D as l,It as u,d,k as f,r as p,st as m}from"./persistence-w-AiX2i4.js";import{C as h,g,h as _,i as v,p as y,w as b,y as x}from"./desktop-CfLlmafK.js";import{a as S}from"./vendor-zustand-B4dlGEM2.js";import{nt as C,rt as w,tt as T}from"./vendor-base-ui-CnHfUmDN.js";import{Mt as E,Nt as D}from"./platform-4eCmsdol.js";import{t as O}from"./useUIStore-CNLmCoPU.js";import{o as k}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as A}from"./vendor-react-DLPElpoQ.js";import{n as j,s as M}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as N,ct as P}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as F,c as ee,d as te,f as ne,l as I,m as L,n as re,o as R,p as z,s as B,t as ie,u as ae}from"./vendor-pierre-diffs-DX7XTPG3.js";import{n as V}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as oe,o as H,r as U,t as se}from"./clipboard-D35XSwID.js";import{i as W,t as G}from"./store-CL3WP48T.js";import{$r as ce,An as K,Bt as le,Gt as ue,Kt as de,Tn as fe,an as pe,gn as me,hn as he,hr as q,in as ge,ko as _e,kr as ve,l as ye,ma as be,mn as xe,nn as Se,pa as Ce,qa as we,rn as Te,ta as Ee,tn as De,un as Oe,zt as ke}from"./useMobileNavigationStore-lcj5GHR3.js";import{a as Ae,i as je,n as Me,o as Ne,r as Pe,t as Fe}from"./dialog-x2hirWBd.js";import{a as Ie,i as Le,o as Re,t as J}from"./utils-CTL16t2f.js";import{n as Y}from"./Icon-CLpn1mIz.js";import{t as X}from"./button-z0GOBtWi.js";import{A as ze,j as Be,o as Ve}from"./projectMeta-DzGPV_uF.js";import{t as He}from"./input-BG3VWTIF.js";import{i as Ue,n as We,t as Ge}from"./tooltip-CtH61mQh.js";import{n as Ke,t as qe}from"./useThemeSystem-DMzWVJaW.js";import{A as Je,C as Ye,K as Xe,P as Ze,S as Qe,V as $e,_ as et,c as tt,n as nt,s as rt,v as it,w as at,x as ot,y as st}from"./radio-TX0aocEX.js";import{i as ct,t as lt}from"./OverlayScrollbar-DlNZho3q.js";import{f as ut,g as Z,h as dt,x as ft}from"./markdownTheme-SPe4jOwX.js";import{$ as pt,F as mt,J as ht,K as gt,L as _t,M as vt,N as yt,R as bt,V as xt,W as St,Y as Ct,a as wt,c as Tt,d as Et,f as Dt,g as Ot,h as kt,n as At,o as jt,p as Mt,q as Nt,s as Pt,tt as Ft,u as It}from"./ChatContainer-XHQSSICA.js";import{n as Lt}from"./useRuntimeAPIs-DSLXJybW.js";import{N as Rt,P as zt,b as Bt,g as Vt,x as Ht,y as Ut}from"./insertionBoundaries-BtiZxiKR.js";import{d as Wt,i as Gt,n as Kt,s as qt,t as Jt}from"./appThemeRegistry-4oEk9SR8.js";import{a as Yt}from"./url-KeihbE0d.js";import{d as Xt,f as Zt,l as Qt,m as $t,p as en,u as tn}from"./markdown-worker-y3ewaqAK.js";import{n as nn}from"./useEffectiveDirectory-D976zCCc.js";import{o as rn}from"./FadeInOnReveal-CV2s6YN8.js";import{g as an,n as on}from"./useWorkerHighlightedLines-BQNOf2U4.js";import{t as sn}from"./sortable-tabs-strip-CNDgyX0B.js";import{a as cn,c as ln,i as un,l as dn,n as fn,o as pn,r as mn,s as hn,t as gn}from"./shikiHighlight-B25fE64n.js";import{n as _n,r as vn,t as yn}from"./collapsible-D9zJRpeB.js";import{t as bn}from"./diagram-CoEqmReY.js";import{t as xn}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Sn,t as Cn}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(w(),1),wn=A(),$=C(),Tn=e(T(),1);function En(){return new Worker(ie,{type:`module`})}var Dn=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],On={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},kn,An,jn=e=>{let t=On[e],n=new z({workerFactory:En,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Dn,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},Mn=e=>{if(!(typeof window>`u`))return e===`split`?(An??=jn(`split`),An):(kn??=jn(`unified`),kn)},Nn=e=>{let t=(0,wn.c)(7),{children:n,renderTheme:r}=e,i=Fn(`unified`),a=Fn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:On.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:On.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},Pn=e=>{let t=(0,wn.c)(11),{children:n}=e,r=qe(),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,Jt(a),Jt(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)(Nn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Fn=e=>{let t=(0,wn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=Mn(n),t[0]=n,t[1]=r),r};function In(e){let t=(0,wn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=oe(),c=qe()?.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-BI5vwuaT.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-w-AiX2i4.js","assets/runtime-switch-BkpTTbEi.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CNLmCoPU.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.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/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-D35XSwID.js","assets/store-CL3WP48T.js","assets/dialog-x2hirWBd.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-SPe4jOwX.js","assets/appThemeRegistry-G_zwgqAH.js","assets/platform-4eCmsdol.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/useMobileNavigationStore-CD0GRjaV.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-I0VWrB5V.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/useEffectiveDirectory-Bcj1wP95.js","assets/useWorkerHighlightedLines-DX9znDoW.js","assets/tooltip-CtH61mQh.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{O as t,f as n,i as r,m as i,r as a,t as o,w as s,x as c}from"./runtime-switch-BkpTTbEi.js";import{D as l,It as u,d,k as f,r as p,st as m}from"./persistence-w-AiX2i4.js";import{C as h,g,h as _,i as v,p as y,w as b,y as x}from"./desktop-CfLlmafK.js";import{a as S}from"./vendor-zustand-B4dlGEM2.js";import{nt as C,rt as w,tt as T}from"./vendor-base-ui-CnHfUmDN.js";import{Mt as E,Nt as D}from"./platform-4eCmsdol.js";import{t as O}from"./useUIStore-CNLmCoPU.js";import{o as k}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as A}from"./vendor-react-DLPElpoQ.js";import{n as j,s as M}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as N,ct as P}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{a as F,c as ee,d as te,f as ne,l as I,m as L,n as re,o as R,p as z,s as B,t as ie,u as ae}from"./vendor-pierre-diffs-DX7XTPG3.js";import{n as V}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as oe,o as H,r as U,t as se}from"./clipboard-D35XSwID.js";import{i as W,t as G}from"./store-CL3WP48T.js";import{$r as ce,An as K,Bt as le,Gt as ue,Kt as de,Tn as fe,an as pe,gn as me,hn as he,hr as q,in as ge,ko as _e,kr as ve,l as ye,ma as be,mn as xe,nn as Se,pa as Ce,qa as we,rn as Te,ta as Ee,tn as De,un as Oe,zt as ke}from"./useMobileNavigationStore-CD0GRjaV.js";import{a as Ae,i as je,n as Me,o as Ne,r as Pe,t as Fe}from"./dialog-x2hirWBd.js";import{a as Ie,i as Le,o as Re,t as J}from"./utils-CTL16t2f.js";import{n as Y}from"./Icon-CLpn1mIz.js";import{t as X}from"./button-z0GOBtWi.js";import{A as ze,j as Be,o as Ve}from"./projectMeta-CvUuy-j5.js";import{t as He}from"./input-BG3VWTIF.js";import{i as Ue,n as We,t as Ge}from"./tooltip-CtH61mQh.js";import{n as Ke,t as qe}from"./useThemeSystem-DMzWVJaW.js";import{A as Je,C as Ye,K as Xe,P as Ze,S as Qe,V as $e,_ as et,c as tt,n as nt,s as rt,v as it,w as at,x as ot,y as st}from"./radio-D_a28OlM.js";import{i as ct,t as lt}from"./OverlayScrollbar-DlNZho3q.js";import{f as ut,g as Z,h as dt,x as ft}from"./markdownTheme-SPe4jOwX.js";import{$ as pt,F as mt,J as ht,K as gt,L as _t,M as vt,N as yt,R as bt,V as xt,W as St,Y as Ct,a as wt,c as Tt,d as Et,f as Dt,g as Ot,h as kt,n as At,o as jt,p as Mt,q as Nt,s as Pt,tt as Ft,u as It}from"./ChatContainer-D3onaUkL.js";import{n as Lt}from"./useRuntimeAPIs-DSLXJybW.js";import{N as Rt,P as zt,b as Bt,g as Vt,x as Ht,y as Ut}from"./insertionBoundaries-CJksyugt.js";import{d as Wt,i as Gt,n as Kt,s as qt,t as Jt}from"./appThemeRegistry-G_zwgqAH.js";import{a as Yt}from"./url-KeihbE0d.js";import{d as Xt,f as Zt,l as Qt,m as $t,p as en,u as tn}from"./markdown-worker-y3ewaqAK.js";import{n as nn}from"./useEffectiveDirectory-Bcj1wP95.js";import{o as rn}from"./FadeInOnReveal-CV2s6YN8.js";import{g as an,n as on}from"./useWorkerHighlightedLines-DX9znDoW.js";import{t as sn}from"./sortable-tabs-strip-CNDgyX0B.js";import{a as cn,c as ln,i as un,l as dn,n as fn,o as pn,r as mn,s as hn,t as gn}from"./shikiHighlight-CMpSAuTl.js";import{n as _n,r as vn,t as yn}from"./collapsible-D9zJRpeB.js";import{t as bn}from"./diagram-CoEqmReY.js";import{t as xn}from"./vendor-zumer-snapdom-yq9vlCKr.js";import{n as Sn,t as Cn}from"./vendor-html-to-image-BDMm2v6d.js";var Q=e(w(),1),wn=A(),$=C(),Tn=e(T(),1);function En(){return new Worker(ie,{type:`module`})}var Dn=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],On={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},kn,An,jn=e=>{let t=On[e],n=new z({workerFactory:En,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Dn,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},Mn=e=>{if(!(typeof window>`u`))return e===`split`?(An??=jn(`split`),An):(kn??=jn(`unified`),kn)},Nn=e=>{let t=(0,wn.c)(7),{children:n,renderTheme:r}=e,i=Fn(`unified`),a=Fn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:On.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:On.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},Pn=e=>{let t=(0,wn.c)(11),{children:n}=e,r=qe(),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,Jt(a),Jt(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)(Nn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Fn=e=>{let t=(0,wn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=Mn(n),t[0]=n,t[1]=r),r};function In(e){let t=(0,wn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=oe(),c=qe()?.currentTheme,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=typeof n.text==`string`?n.text:``,m;t[0]===p?m=t[1]:(m=p.length>150||p.split(`
3
3
  `).length>3,t[0]=p,t[1]=m);let h=m,g;t[2]===a?g=t[3]:(g=J(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden transition-all duration-200`,a),t[2]=a,t[3]=g);let _=c?.colors?.surface?.elevated,v=c?.colors?.interactive?.border,y=o?`${Math.max(200,Math.floor(o))}px`:void 0,b;t[4]!==_||t[5]!==v||t[6]!==y?(b={backgroundColor:_,borderColor:v,maxWidth:y},t[4]=_,t[5]=v,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),f(!0)},t[8]=x):x=t[8];let S;t[9]!==g||t[10]!==b?(S=(0,$.jsx)(`div`,{className:g,style:b,"data-comment-card":`true`,onContextMenu:x}),t[9]=g,t[10]=b,t[11]=S):S=t[11];let C;t[12]===n.fileLabel?C=t[13]:(C=(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,title:n.fileLabel,children:n.fileLabel}),t[12]=n.fileLabel,t[13]=C);let w;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{children:`•`}),t[14]=w):w=t[14];let T;t[15]!==n.endLine||t[16]!==n.startLine||t[17]!==s?(T=s(`inlineComment.range.lines`,{start:n.startLine,end:n.endLine}),t[15]=n.endLine,t[16]=n.startLine,t[17]=s,t[18]=T):T=t[18];let E;t[19]===T?E=t[20]:(E=(0,$.jsx)(`span`,{children:T}),t[19]=T,t[20]=E);let D;t[21]===n.side?D=t[22]:(D=n.side&&(0,$.jsxs)(`span`,{children:[`(`,n.side,`)`]}),t[21]=n.side,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==C?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-1.5`,children:[C,w,E,D]}),t[23]=E,t[24]=D,t[25]=C,t[26]=O):O=t[26];let k=l||!h,A=!l&&h&&`line-clamp-3`,j;t[27]===A?j=t[28]:(j=J(`text-sm whitespace-pre-wrap break-words leading-relaxed`,A),t[27]=A,t[28]=j);let M;t[29]!==p||t[30]!==j?(M=(0,$.jsx)(`div`,{className:j,children:p}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==h||t[33]!==l||t[34]!==s?(N=h&&(0,$.jsx)(vn,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-6 px-0 mt-1 text-xs text-muted-foreground hover:text-foreground w-full justify-start`,children:l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=N):N=t[35];let P;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(_n,{}),t[36]=P):P=t[36];let F;t[37]!==k||t[38]!==M||t[39]!==N?(F=(0,$.jsxs)(yn,{open:k,onOpenChange:u,children:[M,N,P]}),t[37]=k,t[38]=M,t[39]=N,t[40]=F):F=t[40];let ee;t[41]!==O||t[42]!==F?(ee=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,F]}),t[41]=O,t[42]=F,t[43]=ee):ee=t[43];let te;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(at,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Y,{name:`more`,className:`size-4`})})}),t[44]=te):te=t[44];let ne;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(Y,{name:`edit`,className:`size-4 mr-2`}),t[45]=ne):ne=t[45];let I;t[46]===s?I=t[47]:(I=s(`inlineComment.actions.editComment`),t[46]=s,t[47]=I);let L;t[48]!==r||t[49]!==I?(L=(0,$.jsxs)(st,{onClick:r,children:[ne,I]}),t[48]=r,t[49]=I,t[50]=L):L=t[50];let re;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=re):re=t[51];let R;t[52]===s?R=t[53]:(R=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=R);let z;t[54]!==i||t[55]!==R?(z=(0,$.jsxs)(st,{onClick:i,className:`text-destructive`,children:[re,R]}),t[54]=i,t[55]=R,t[56]=z):z=t[56];let B;t[57]!==L||t[58]!==z?(B=(0,$.jsxs)(et,{children:[te,(0,$.jsxs)(it,{align:`end`,children:[L,z]})]}),t[57]=L,t[58]=z,t[59]=B):B=t[59];let ie;t[60]!==ee||t[61]!==B?(ie=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[ee,B]}),t[60]=ee,t[61]=B,t[62]=ie):ie=t[62];let ae;t[63]!==ie||t[64]!==S?(ae=(0,$.jsx)(dn,{render:S,children:ie}),t[63]=ie,t[64]=S,t[65]=ae):ae=t[65];let V;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Y,{name:`edit`,className:`size-4 mr-2`}),t[66]=V):V=t[66];let H;t[67]===s?H=t[68]:(H=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=H);let U;t[69]!==r||t[70]!==H?(U=(0,$.jsxs)(hn,{onClick:r,children:[V,H]}),t[69]=r,t[70]=H,t[71]=U):U=t[71];let se;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=se):se=t[72];let W;t[73]===s?W=t[74]:(W=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=W);let G;t[75]!==i||t[76]!==W?(G=(0,$.jsxs)(hn,{onClick:i,className:`text-destructive focus:text-destructive`,children:[se,W]}),t[75]=i,t[76]=W,t[77]=G):G=t[77];let ce;t[78]!==U||t[79]!==G?(ce=(0,$.jsxs)(pn,{children:[U,G]}),t[78]=U,t[79]=G,t[80]=ce):ce=t[80];let K;return t[81]!==d||t[82]!==ae||t[83]!==ce?(K=(0,$.jsxs)(cn,{open:d,onOpenChange:f,children:[ae,ce]}),t[81]=d,t[82]=ae,t[83]=ce,t[84]=K):K=t[84],K}function Ln(e){let t=(0,wn.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}=oe(),h=qe()?.currentTheme,{isMobile:g}=ct(),[_,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=Gn,E=T(s),D,O;t[5]===g?(D=t[6],O=t[7]):(D=()=>{let e=y.current;if(!e)return;let t=e.closest(`.overlay-scrollbar-container`),n=t?.scrollTop??window.scrollY,r=t?.scrollLeft??window.scrollX;if(g){e.scrollIntoView({behavior:`auto`,block:`nearest`});try{e.focus({preventScroll:!0})}catch{e.focus()}return}try{e.focus({preventScroll:!0})}catch{e.focus()}let i=e.value.length;try{e.setSelectionRange(i,i)}catch{}requestAnimationFrame(()=>{t?(t.scrollTop=n,t.scrollLeft=r):window.scrollTo({top:n,left:r})})},O=[g],t[5]=g,t[6]=D,t[7]=O),(0,Q.useEffect)(D,O);let k;t[8]!==a||t[9]!==i||t[10]!==_?(k=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`?(e.preventDefault(),_.trim()&&i(_,T(S.current))):e.key===`Escape`&&(e.preventDefault(),a())},t[8]=a,t[9]=i,t[10]=_,t[11]=k):k=t[11];let A=k,j;t[12]!==i||t[13]!==_?(j=e=>{e.stopPropagation(),_.trim()&&i(_,T(S.current))},t[12]=i,t[13]=_,t[14]=j):j=t[14];let M=j,N;t[15]===l?N=t[16]:(N=J(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,l),t[15]=l,t[16]=N);let P=h?.colors?.surface?.elevated,F=h?.colors?.interactive?.border,ee=u?`${Math.max(200,Math.floor(u))}px`:void 0,te;t[17]!==P||t[18]!==F||t[19]!==ee?(te={backgroundColor:P,borderColor:F,maxWidth:ee},t[17]=P,t[18]=F,t[19]=ee,t[20]=te):te=t[20];let ne=Wn,I=Un,L=(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})})]}),re;t[21]===x?re=t[22]:(re=e=>x(e.target.value),t[21]=x,t[22]=re);let R;t[23]!==g||t[24]!==m?(R=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=R):R=t[25];let z;t[26]!==A||t[27]!==re||t[28]!==R||t[29]!==_?(z=(0,$.jsx)(Ve,{simple:!0,ref:y,value:_,onChange:re,onKeyDown:A,placeholder:R,outerClassName:`rounded-[var(--radius-xl)] bg-[var(--surface-subtle)] ring-1 ring-inset ring-border/60 focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,className:`min-h-[80px] px-3 py-2.5 text-sm resize-y`}),t[26]=A,t[27]=re,t[28]=R,t[29]=_,t[30]=z):z=t[30];let B;t[31]!==E||t[32]!==d||t[33]!==m?(B=E&&d?(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:Hn,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(Y,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(St,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=B):B=t[34];let ie;t[35]===m?ie=t[36]:(ie=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=ie);let ae;t[37]!==a||t[38]!==ie?(ae=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:Vn,onTouchStart:Bn,className:`h-8 text-muted-foreground hover:text-foreground`,children:ie}),t[37]=a,t[38]=ie,t[39]=ae):ae=t[39];let V;t[40]===_?V=t[41]:(V=_.trim(),t[40]=_,t[41]=V);let H=!V,U=h?.colors?.status?.success,se=h?.colors?.status?.successForeground,W;t[42]!==U||t[43]!==se?(W={backgroundColor:U,color:se},t[42]=U,t[43]=se,t[44]=W):W=t[44];let G;t[45]!==p||t[46]!==m?(G=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=G):G=t[47];let ce;t[48]!==M||t[49]!==H||t[50]!==W||t[51]!==G?(ce=(0,$.jsx)(X,{size:`sm`,onClick:M,onPointerDown:zn,onTouchStart:Rn,disabled:H,className:`h-8 min-w-[80px]`,style:W,children:G}),t[48]=M,t[49]=H,t[50]=W,t[51]=G,t[52]=ce):ce=t[52];let K;t[53]!==B||t[54]!==ae||t[55]!==ce?(K=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[B,ae,ce]}),t[53]=B,t[54]=ae,t[55]=ce,t[56]=K):K=t[56];let le;t[57]!==L||t[58]!==z||t[59]!==K?(le=(0,$.jsxs)(`div`,{className:`p-3`,children:[L,z,K]}),t[57]=L,t[58]=z,t[59]=K,t[60]=le):le=t[60];let ue;return t[61]!==N||t[62]!==te||t[63]!==ne||t[64]!==I||t[65]!==le?(ue=(0,$.jsx)(`div`,{className:N,style:te,"data-comment-input":`true`,onPointerDown:ne,onTouchStart:I,children:le}),t[61]=N,t[62]=te,t[63]=ne,t[64]=I,t[65]=le,t[66]=ue):ue=t[66],ue}function Rn(e){return e.stopPropagation()}function zn(e){return e.stopPropagation()}function Bn(e){return e.stopPropagation()}function Vn(e){return e.stopPropagation()}function Hn(e){return e.stopPropagation()}function Un(e){return e.stopPropagation()}function Wn(e){return e.stopPropagation()}function Gn(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 Kn=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},qn=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function Jn(e){let t=(0,wn.c)(40),{t:n}=oe(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=ye(er),u=ye($n),d=ht(Qn),f=ht(Zn),p=ht(Xn),m=ht(Yn),[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=qn(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){q.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=qn(c),p=Kn(s(u)),m=o(u);y?f(x,y,{fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}):d({sessionKey:x,source:r,fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}),T()},t[18]=d,t[19]=y,t[20]=i,t[21]=o,t[22]=a,t[23]=h,t[24]=x,t[25]=r,t[26]=n,t[27]=s,t[28]=f,t[29]=M):M=t[29];let N=M,P;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==N||t[36]!==h||t[37]!==x||t[38]!==k?(P={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:N,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=N,t[36]=h,t[37]=x,t[38]=k,t[39]=P):P=t[39],P}function Yn(e){return e.drafts}function Xn(e){return e.removeDraft}function Zn(e){return e.updateDraft}function Qn(e){return e.addDraft}function $n(e){return e.newSessionDraft?.open}function er(e){return e.currentSessionId}function tr(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)(Ln,{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)(In,{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)(Ln,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var nr=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}`},rr=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 ir(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 ar(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function or(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:nr({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>nr({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=ir(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?ar(Math.min(...o)):ar(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=nr({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Tn.createPortal)((0,$.jsx)(Ln,{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,Tn.createPortal)((0,$.jsx)(In,{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,Tn.createPortal)((0,$.jsx)(Ln,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function sr(e){let t=(0,wn.c)(16),{position:n,onAddToChat:r,onDismiss:i}=e,{t:a}=oe(),o=Q.useRef(null),s,c;t[0]===i?(s=t[1],c=t[2]):(s=()=>{if(!i)return;let e=e=>{o.current&&e.target instanceof Node&&o.current.contains(e.target)||i()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},c=[i],t[0]=i,t[1]=s,t[2]=c),Q.useEffect(s,c);let l;t[3]!==n.x||t[4]!==n.y?(l={left:n.x,top:n.y},t[3]=n.x,t[4]=n.y,t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Y,{name:`add`,className:`size-4`}),t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a(`chat.textSelection.actions.addToChat`),t[7]=a,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(St,{shortcut:`⌘+I`}),t[9]=f):f=t[9];let p;t[10]!==r||t[11]!==d?(p=(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,onClick:r,children:[u,d,f]}),t[10]=r,t[11]=d,t[12]=p):p=t[12];let m;return t[13]!==l||t[14]!==p?(m=(0,Tn.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:cr,children:p}),document.body),t[13]=l,t[14]=p,t[15]=m):m=t[15],m}function cr(e){return e.preventDefault()}var lr=`[data-code-selection-action]`;function ur(e){return e instanceof Element&&!!e.closest(lr)}function dr(e,t=[]){return ur(e)?!0:t.some(e=>e instanceof Element&&e.matches(`[data-column-number]`))}function fr(e,t){return e&&!!t?.trim()}function pr(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?mr(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{O as t,f as n,i as r,m
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},qr=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},Jr=e=>`${e.scope}:${e.navigationRequestKey??``}:${(e.targetFilePath??``).trim()}:${e.targetLine??``}`,Yr=(e,t,n)=>n&&e!==t,Xr=e=>`/api/openchamber/sessions/${encodeURIComponent(e)}/changes`,Zr=e=>e.trim(),Qr=e=>e===404||e===405||e===501,$r=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e.diff;return!!t&&typeof t==`object`&&!Array.isArray(t)},ei=(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},ti=async(e,t)=>{let n={messageID:e.messageID,directory:e.directory};return typeof e.file==`string`&&e.file.length>0&&(n.file=e.file),u(Xr(e.sessionID),{method:`GET`,headers:{Accept:`application/json`,"x-opencode-directory":e.directory},query:n,signal:t})},ni=async(e,t)=>{if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);return D.getSessionDiff({sessionID:e.sessionID,directory:e.directory,messageID:e.messageID},{signal:t})},ri=(e,t=r())=>d.sessionTurnChanges.file(e.directory,e.sessionID,e.messageID,e.file,e.diffCount,t),ii=(e,t=r())=>({queryKey:ri(e,t),queryFn:async({signal:t})=>{let n=await ti(e,t);if(n.ok){let e=await n.json().catch(()=>null);if($r(e))return e}else if(!Qr(n.status))throw Error(`Session turn change file request failed (${n.status})`);let r=ei(await ni(e,t),e.file);if(!r)throw Error(`change file not found`);return{diff:r}},staleTime:0,gcTime:6e4,retry:!1}),ai=(e,t)=>{let n=(0,wn.c)(10),i;n[0]===t?i=n[1]:(i=t===void 0?{}:t,n[0]=t,n[1]=i);let a=i,o,s,c;if(n[2]!==e||n[3]!==a){let t=r();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=M,s=ii({...i,directory:Zr(i.directory),file:i.file},t),n[2]=e,n[3]=a,n[4]=o,n[5]=s,n[6]=c}else o=n[4],s=n[5],c=n[6];let l;return n[7]!==o||n[8]!==s?(l={...s,enabled:o},n[7]=o,n[8]=s,n[9]=l):l=n[9],c(l)},oi=1100,si=15e3,ci=500,li=300,ui=1e6,di=3,fi=e=>e<=6?e:e<=12?6:e<=25?4:2,pi=Q.memo(()=>{let e=(0,wn.c)(4),{t}=oe(),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}),mi={"?":{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`}},hi=mi.M,gi=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`},_i=e=>mi[gi(e)]??hi,vi=e=>{let{index:t,working_dir:n}=e;return t===`A`||n===`A`||t===`?`||n===`?`},yi=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},bi=e=>!!e.working_dir?.trim()||e.index===`?`,xi=(e,t)=>Z(e,t),Si=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Ci=(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},wi=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Ti=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],Ei=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Di=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Oi=(e,t,n)=>wi(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:Vr(e,t),contextMode:n},ki=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:J(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},Ai=Q.memo(e=>{let t=(0,wn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=oe(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(at,{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)(Qe,{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)(Qe,{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)(Qe,{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)(it,{align:`start`,className:`w-40`,children:(0,$.jsxs)(ot,{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)(et,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ji=Q.memo(e=>{let t=(0,wn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=oe();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=_i(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:J(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(gt,{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)(yt,{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`}),ki(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)(ze,{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}),Mi=Q.memo(e=>{let t=(0,wn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=oe(),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}),Ni=Q.memo(e=>{let t=(0,wn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=tn(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)(pi,{}),t[2]=e):e=t[2],e}if(en(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Mi,{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)(Ar,{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}),Pi=Q.memo(e=>{let t=(0,wn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=oe(),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)(Fi,{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)(Fi,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Fi,{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}),Fi=e=>{let t=(0,wn.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=J(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},Ii=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}=oe(),{git:C}=Lt(),w=Bt(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Bt(e=>e.setDiff),E=Bt(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,ee]=Q.useState(!1),[te,ne]=Q.useState(null),[I,L]=Q.useState(null),re=Q.useRef(null),R=Q.useRef(null),z=Q.useMemo(()=>_i(t),[t]),B=n===`side-by-side`,ie=h?`full`:`patch`,ae=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,V=ai({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),H=Q.useMemo(()=>{let e=V.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Oi(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,V.data]),U=Q.useMemo(()=>{if(g)return g;if(H)return H;if(m)return I;if(te)return te;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Di(e)?e:null},[w,g,te,m,I,H]),se=V.error instanceof Error?V.error.message:V.error?String(V.error):null,W=U?null:se??k,G=x&&V.isPending||j,ce=U?.contextMode===ie,K=Q.useCallback(e=>{R.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){re.current=null,M(!1);return}if(!e||g){re.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${ae}::${ie}::${D}`;if(re.current===n)return;let r=!!(U&&ce);re.current=n,A(null),r||M(!0);let i=!1,s=h?ui:di,c=en(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=si,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=Oi(t.path,n.diff,ie);m?L(e):ne(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?L(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,re.current===n&&(re.current=null)}},[ie,U,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||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;q.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:K,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:de,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),de())},className:J(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color: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)(gt,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(yt,{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:[ki(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,U)},disabled:d,children:d?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Y,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!W?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,W?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:W}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){V.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&G&&!U&&!W?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&U&&!F&&t.insertions+t.deletions>ci?(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:()=>ee(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&U&&(F||t.insertions+t.deletions<=ci)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{filePath:t.path,diff:U,renderSideBySide:B,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)(Pi,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:fe})})}):null]}):null]})]})}),Li=({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:c,targetFilePath:l=null,targetLine:u=null,toolPatches:d=null,flushContent:f=!1,singleFileView:p=!1,preloadFullFiles:m=!1,navigationRequestKey:h})=>{let{t:g}=oe(),{git:_,files:v}=Lt(),y=nn(),b=typeof s==`string`&&s.trim()?s.trim():y,{screenWidth:S,isMobile:C}=ct(),w=Ht(b??null),T=Ut(b??null),E=Vt(b??null),D=Bt(e=>e.setActiveDirectory),k=Bt(e=>e.ensureStatus),A=Bt(e=>e.fetchStatus),j=Bt(e=>e.setDiff),[M,N]=Q.useState(null),[P,F]=Q.useState(!1),[ee,te]=Q.useState(null),[ne,I]=Q.useState(null),[L,re]=Q.useState(()=>new Set),[R,z]=Q.useState(()=>new Set),[B,ie]=Q.useState(m),[ae,H]=Q.useState(0),[U,se]=Q.useState(!1),[W,G]=Q.useState(!1),[K,le]=Q.useState(i);Q.useEffect(()=>{le(i)},[i]);let ue=O(e=>e.pendingDiffFile),de=O(e=>e.pendingDiffStaged),fe=O(e=>e.pendingDiffScope),me=O(e=>e.pendingDiffLine),he=O(e=>e.setPendingDiffFile),ge=O(e=>e.diffLayoutPreference),_e=O(e=>e.diffFileLayout),be=O(e=>e.setDiffFileLayout),xe=O(e=>e.diffWrapLines),Se=O(e=>e.setDiffWrapLines),Ce=O(e=>e.openContextFileAtLine),we=O(e=>e.openContextFile),Te=mt(),Ee=ye(e=>e.currentSessionId),De=typeof o==`string`&&o.trim()?o.trim():Ee,Oe=pe(De??``,b??void 0),ke=xe,Ae=K===`staged`||K!==`working`&&null,je=Ae??P,Me=C||S<=768,Ne=!!De&&K!==`turn`&&!Me&&!x(),Pe=!e&&!Me&&S>=1024,Fe=Q.useRef(null),Ie=Q.useRef(new Map),Le=Q.useRef(null),Re=Q.useRef(null),Be=Q.useRef(!1),Ve=Q.useRef(null),He=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useCallback(()=>{Le.current=null,Be.current=!1,I(null),Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null)},[]),Ye=Q.useCallback(e=>{re(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Xe=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=Ti(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]),Ze=Q.useMemo(()=>qr(d??[]),[d]),Qe=Ze.length>0,$e=Q.useMemo(()=>!De||!b||!Xe.messageID?null:{sessionID:De,directory:b,messageID:Xe.messageID,diffCount:Xe.count},[b,De,Xe.count,Xe.messageID]),et=Q.useMemo(()=>Qe?Ze:Xe.thinDiffs,[Ze,Xe.thinDiffs,Qe]),tt=Q.useMemo(()=>{let e=new Map;for(let t of et)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,Oi(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},[et]),nt=Q.useMemo(()=>{if(K===`turn`)return et.map(e=>({path:e.file??``,index:``,working_dir:Ei(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(!T?.files)return[];let e=T.diffStats??{},t=K===`staged`?yi:K===`working`?bi:()=>!0;return T.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:vi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[K,et,T]),rt=Q.useMemo(()=>T?.files?T.files.filter(bi).length:0,[T]),it=Q.useMemo(()=>T?.files?T.files.filter(yi).length:0,[T]),at=Qe?et.length:Xe.count,ot=Q.useMemo(()=>nt.map(e=>e.path).join(`\0`),[nt]),st=Q.useMemo(()=>{if(!p)return nt;let e=l?.trim()||M;return e?nt.filter(t=>t.path===e):[]},[nt,M,p,l]);Q.useEffect(()=>{let e=ot?ot.split(`\0`):[],n=new Set(e),r=`${b??``}:${K}:${a??``}:${t?`collapsed`:`default`}`,i=d!==null&&Ke.current!==d,o=He.current!==r||i;He.current=r,Ke.current=d,re(r=>{if(o){let n=t||K===`turn`&&!Qe?0:fi(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}),z(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})},[K,ot,b,t,d,a,Qe]);let lt=Q.useCallback(()=>{Ve.current=null;let e=Fe.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-li,r=t.bottom+li,i={};for(let[e,t]of Ie.current){if(!t||!L.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}z(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})},[L]),ut=Q.useCallback(()=>{typeof window>`u`||Ve.current===null&&(Ve.current=window.requestAnimationFrame(lt))},[lt]);Q.useEffect(()=>{let e=Fe.current;if(e)return ut(),e.addEventListener(`scroll`,ut,{passive:!0}),window.addEventListener(`resize`,ut),()=>{e.removeEventListener(`scroll`,ut),window.removeEventListener(`resize`,ut),Ve.current!==null&&(window.cancelAnimationFrame(Ve.current),Ve.current=null)}},[nt,L,ut]);let Z=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=S<oi;return e.isNew||n?`inline`:`side-by-side`},[_e,ge,S]),dt=Q.useMemo(()=>st.length===0?null:st.every(e=>Z(e)===`side-by-side`)?`side-by-side`:`inline`,[Z,st]);Q.useEffect(()=>{b&&(D(b),k(b,_))},[b,D,k,_]),Q.useEffect(()=>{if(b)return ce.onGitRefreshHint(e=>{Si(e.directory)===Si(b)&&A(b,_)})},[b,A,_]),Q.useEffect(()=>{K!==`all`&&!fe||ue&&(fe&&le(fe),N(ue),F(fe===`staged`||!fe&&de),te(me),he(null),Be.current=!0,Le.current=ue,Ye(ue),H(e=>e+1))},[K,Ye,ue,me,fe,de,he]),Q.useEffect(()=>{if(K===`all`)return;let e=l?.trim();if(!e)return;Ye(e),N(e),F(K===`staged`),te(u);let t=Jr({scope:K,navigationRequestKey:h,targetFilePath:e,targetLine:u}),n=nt.some(t=>t.path===e);Yr(qe.current,t,n)&&(qe.current=t,Be.current=!0,Le.current=e,H(e=>e+1))},[K,nt,Ye,h,l,u]),Q.useEffect(()=>{M&&(nt.some(e=>e.path===M)||(N(null),F(!1)))},[nt,M]);let ft=Q.useCallback((e,t)=>{let n=Ie.current;t?n.set(e,t):n.delete(e),ut()},[ut]),pt=Q.useCallback((e,t)=>{Je(),re(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||z(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),ut()},[Je,ut]),ht=Q.useCallback(()=>{Je(),re(e=>e.size>0?new Set:new Set(nt.map(e=>e.path))),z(new Set),ut()},[Je,nt,ut]),gt=Q.useCallback(async e=>{if(!Ee)return;let t=ye.getState().getDirectoryForSession(Ee)||b||``;if(!t){q.error(g(`diffView.reviewDialog.toast.noSessionDirectory`));return}G(!0);try{await ve({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}),se(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),q.error(e instanceof Error?e.message:g(`diffView.reviewDialog.toast.startFailed`))}finally{G(!1)}},[Ee,b,g]),_t=Q.useCallback(e=>{let t=Ie.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(!Le.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Le.current=null,Be.current=!1,I(null),Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null))},i=()=>{if(t){Re.current=null;return}let a=Le.current;if(!a){r(),Re.current=null;return}if(!_t(a)){e+=1,e<20?Re.current=window.requestAnimationFrame(i):(r(),Re.current=null);return}n&&Be.current&&I(a),r()};return Re.current=window.requestAnimationFrame(i),()=>{t=!0,Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null)}},[n,ae,_t]);let vt=Q.useCallback(e=>{},[]),yt=Q.useCallback(e=>{Je(),N(e),F(!1),Be.current=!0,Le.current=e,Ye(e),H(e=>e+1),_t(e)},[Je,Ye,_t]),bt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;st.forEach(e=>{be(e.path,t)})},[be,st]),[xt,St]=Q.useState(null),Ct=Q.useCallback(async(e,t)=>{if(!(!b||!e)){St(e);try{let n=null;if(t?.patch&&!t.isBinary&&!en(e)?n=Kr(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!en(e)&&(n=Ci(t.original,t.modified)),n===null)try{n=Kr((await _.getGitDiff(b,{path:e,staged:je,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await _.getGitFileDiff(b,{path:e,staged:je});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},je||j(b,e,r)}let i=n??(r.isBinary||en(e)?1:Ci(r.original,r.modified)),a=xi(b,e),o=await Ir(v,a);if(!o.ok){q.error(Lr(o.reason));return}Ce(b,a,i,1)}finally{St(t=>t===e?null:t)}}},[je,b,v,_,Ce,j]),wt=V(e=>{if(!b||!e)return;let t=xi(b,e);if(Te){Te.openFile({path:t});return}Ir(v,t).then(e=>{if(!e.ok){q.error(Lr(e.reason));return}we(b,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[p?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:[!C&&(K===`working`||K===`staged`||K===`turn`?(0,$.jsx)(Ai,{scope:K,workingCount:rt,stagedCount:it,turnCount:at,onScopeChange:e=>{le(e),c?.(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:E&&!T?g(`diffView.state.loadingChanges`):st.length===1?g(`diffView.summary.changedFilesSingle`,{count:st.length}):g(`diffView.summary.changedFilesPlural`,{count:st.length})})})),!p&&nt.length>0&&(K!==`turn`||Qe)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:ht,className:J(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:L.size>0?g(`diffView.actions.collapseAll`):g(`diffView.actions.expandAll`),children:[(0,$.jsx)(Y,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:L.size>0?g(`diffView.actions.collapseAll`):g(`diffView.actions.expandAll`)})]}),nt.length>0&&Ne&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>se(!0),disabled:W,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":g(`diffView.actions.reviewAria`),children:[W?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:g(`diffView.actions.review`)})]}),nt.length>0&&(0,$.jsxs)(Ge,{children:[(0,$.jsx)(Ue,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>ie(e=>!e),"aria-pressed":B,"aria-label":g(B?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:J(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,B&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Y,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(We,{children:(0,$.jsx)(`p`,{children:g(B?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),nt.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>Se(!xe),className:J(`h-5 w-5 p-0 transition-opacity`,ke?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:g(ke?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Y,{name:`text-wrap`,className:`size-4`})}),dt&&(0,$.jsx)(on,{mode:dt===`side-by-side`?`side-by-side`:`unified`,onModeChange:bt})]}),(0,$.jsx)(Nt,{open:U,onOpenChange:se,projectDirectory:b??null,submitting:W,onConfirm:gt}),b?K!==`turn`&&E&&!T?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),g(`diffView.state.loadingRepositoryStatus`)]}):K!==`turn`&&w===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(`diffView.state.notGitRepository`)}):st.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(K===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!b)return null;let e=e=>Ae===null?P&&e===M:Ae;return(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-1 min-h-0 h-full`,f?`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:g(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:nt.length})]}),(0,$.jsx)(ji,{changedFiles:nt,selectedFile:null,onSelectFile:yt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(ze,{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:st.map(t=>(0,$.jsx)(Ii,{directory:b,file:t,layout:Z(t),wrapLines:ke,isSelected:!1,isExpanded:L.has(t.path),isMounted:R.has(t.path)||t.path===ne||p&&st.length===1,onSelect:vt,onExpandedChange:pt,registerSectionRef:ft,showOpenInEditorAction:r&&K!==`turn`,isOpeningInEditor:xt===t.path,onOpenInEditor:(e,t)=>{Ct(e,t)},onOpenFile:wt,staged:e(t.path),loadFullFiles:B,initialDiffData:K===`turn`?tt.get(t.path)??null:null,focusLine:t.path===(l?.trim()||M)?u??ee:null,showFileActions:K!==`turn`,disableGitFetch:K===`turn`,turnChangesRequest:$e,loadTurnChangeFile:K===`turn`&&!Qe},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(`diffView.state.selectSessionDirectory`)})]})},Ri=(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)},zi=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Bi=(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:P.cursor(a),effects:N.scrollIntoView(a,{y:`center`})})};function Vi({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=oe(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>Ri(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=zi(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:N.scrollIntoView(e.main.from,{y:`center`})});return}Bi(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:N.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,Bi(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??zi(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)(He,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(X,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:J(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(He,{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 Hi=(e,t)=>{let n=ut(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Ui=(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=Hi(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Wi=e=>e.some(e=>!!dt(e)),Gi=(e,t)=>{let n=new Set(t.map(e=>dt(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Ki=(e,t,n)=>t.length===0?e.length===0:Gi(e,t).length>0?!1:t.every(e=>n.has(dt(e))),qi=[{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`}],Ji=`finder`,Yi=new Set([`finder`,`terminal`]),Xi=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,Zi=e=>{if(!e)return null;let t=qi.find(t=>t.id===e)??null;return t?Xi(t):null},Qi=()=>qi.filter(e=>Yi.has(e.id)).map(e=>({...Xi(e)})),$i=()=>{if(typeof window>`u`)return Ji;let e=window.localStorage.getItem(`openInAppId`);return e&&Zi(e)?e:Ji},ea=!1,ta=!1,na=!1,ra=0,ia=null,aa=()=>{ia&&=(clearTimeout(ia),null)},oa=S()((e,t)=>({selectedAppId:$i(),availableApps:Qi(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(ea||typeof window>`u`)return;ea=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Qi(),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:qi.filter(e=>r.has(e.appName)||Yi.has(e.id)).map(e=>({...Xi(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!g()||!_()||ta||t().hasLoadedApps&&!i)return;let a=qi.map(e=>e.appName);aa(),i&&e({hasLoadedApps:!1}),ta=!0,na=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await v(a,i),l=o&&!s&&t.length===0&&ra<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ra]??3200;ra+=1,na=!0,ia=setTimeout(()=>{r()},e);return}ra=0,na=!1;return}if(ra<3){let e=[1e3,3e3,7e3][ra]??7e3;ra+=1,na=!0,ia=setTimeout(()=>{r()},e)}}finally{ta=!1,na||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&Zi(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)&&(ra=3,na=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(ea||t().initialize(),!g()||!_()||ta||t().hasLoadedApps&&!n)return;let r=qi.map(e=>e.appName);aa(),n&&e({hasLoadedApps:!1}),ta=!0,na=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await v(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=qi.filter(e=>o.has(e.appName)||Yi.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Qi(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{ta=!1,na||e({isScanning:!1})}},selectApp:async t=>{Zi(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await p({openInAppId:t}))}})),sa=Wt(()=>k(()=>import(`./ToolOutputDialog-CFFkJzQ4.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,46,47,48]))),ca=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},la=e=>{let t=(0,wn.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=J(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},ua=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},fa=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),pa=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,ma=(e,t)=>{let n=da(t),r=da(e);if(!n||!r)return!1;let i=pa(n),a=pa(r);return a===i||a.startsWith(`${i}/`)},ha=(e,t)=>{let n=da(t),r=da(e);if(!ma(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},ga=(e,t)=>{if(!t)return``;let n=da(t);if(!e||!ma(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},_a=new Set([`node_modules`]),va=e=>{let t=(0,wn.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},ya=e=>{let t=(0,wn.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},ba=e=>_a.has(e),xa=e=>{let t=da(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},Sa=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},Ca=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`)},wa=2e5,Ta=`openchamber:files:auto-save-enabled`,Ea=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},wi=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Ti=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],Ei=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Di=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,Oi=(e,t,n)=>wi(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:Vr(e,t),contextMode:n},ki=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:J(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},Ai=Q.memo(e=>{let t=(0,wn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=oe(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(at,{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)(Qe,{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)(Qe,{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)(Qe,{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)(it,{align:`start`,className:`w-40`,children:(0,$.jsxs)(ot,{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)(et,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ji=Q.memo(e=>{let t=(0,wn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=oe();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=_i(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:J(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(gt,{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)(yt,{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`}),ki(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)(ze,{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}),Mi=Q.memo(e=>{let t=(0,wn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=oe(),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}),Ni=Q.memo(e=>{let t=(0,wn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=tn(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)(pi,{}),t[2]=e):e=t[2],e}if(en(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Mi,{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)(Ar,{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}),Pi=Q.memo(e=>{let t=(0,wn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=oe(),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)(Fi,{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)(Fi,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Fi,{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}),Fi=e=>{let t=(0,wn.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=J(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},Ii=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}=oe(),{git:C}=Lt(),w=Bt(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=Bt(e=>e.setDiff),E=Bt(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,ee]=Q.useState(!1),[te,ne]=Q.useState(null),[I,L]=Q.useState(null),re=Q.useRef(null),R=Q.useRef(null),z=Q.useMemo(()=>_i(t),[t]),B=n===`side-by-side`,ie=h?`full`:`patch`,ae=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,V=ai({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),H=Q.useMemo(()=>{let e=V.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?Oi(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,V.data]),U=Q.useMemo(()=>{if(g)return g;if(H)return H;if(m)return I;if(te)return te;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return Di(e)?e:null},[w,g,te,m,I,H]),se=V.error instanceof Error?V.error.message:V.error?String(V.error):null,W=U?null:se??k,G=x&&V.isPending||j,ce=U?.contextMode===ie,K=Q.useCallback(e=>{R.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){re.current=null,M(!1);return}if(!e||g){re.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${ae}::${ie}::${D}`;if(re.current===n)return;let r=!!(U&&ce);re.current=n,A(null),r||M(!0);let i=!1,s=h?ui:di,c=en(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=si,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=Oi(t.path,n.diff,ie);m?L(e):ne(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?L(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,re.current===n&&(re.current=null)}},[ie,U,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||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;q.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:K,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:de,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),de())},className:J(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color: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)(gt,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(yt,{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:[ki(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,U)},disabled:d,children:d?(0,$.jsx)(Y,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Y,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Y,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!W?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,W?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:W}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){V.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&G&&!U&&!W?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&U&&!F&&t.insertions+t.deletions>ci?(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:()=>ee(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&U&&(F||t.insertions+t.deletions<=ci)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ni,{filePath:t.path,diff:U,renderSideBySide:B,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)(Pi,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:fe})})}):null]}):null]})]})}),Li=({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:c,targetFilePath:l=null,targetLine:u=null,toolPatches:d=null,flushContent:f=!1,singleFileView:p=!1,preloadFullFiles:m=!1,navigationRequestKey:h})=>{let{t:g}=oe(),{git:_,files:v}=Lt(),y=nn(),b=typeof s==`string`&&s.trim()?s.trim():y,{screenWidth:S,isMobile:C}=ct(),w=Ht(b??null),T=Ut(b??null),E=Vt(b??null),D=Bt(e=>e.setActiveDirectory),k=Bt(e=>e.ensureStatus),A=Bt(e=>e.fetchStatus),j=Bt(e=>e.setDiff),[M,N]=Q.useState(null),[P,F]=Q.useState(!1),[ee,te]=Q.useState(null),[ne,I]=Q.useState(null),[L,re]=Q.useState(()=>new Set),[R,z]=Q.useState(()=>new Set),[B,ie]=Q.useState(m),[ae,H]=Q.useState(0),[U,se]=Q.useState(!1),[W,G]=Q.useState(!1),[K,le]=Q.useState(i);Q.useEffect(()=>{le(i)},[i]);let ue=O(e=>e.pendingDiffFile),de=O(e=>e.pendingDiffStaged),fe=O(e=>e.pendingDiffScope),me=O(e=>e.pendingDiffLine),he=O(e=>e.setPendingDiffFile),ge=O(e=>e.diffLayoutPreference),_e=O(e=>e.diffFileLayout),be=O(e=>e.setDiffFileLayout),xe=O(e=>e.diffWrapLines),Se=O(e=>e.setDiffWrapLines),Ce=O(e=>e.openContextFileAtLine),we=O(e=>e.openContextFile),Te=mt(),Ee=ye(e=>e.currentSessionId),De=typeof o==`string`&&o.trim()?o.trim():Ee,Oe=pe(De??``,b??void 0),ke=xe,Ae=K===`staged`||K!==`working`&&null,je=Ae??P,Me=C||S<=768,Ne=!!De&&K!==`turn`&&!Me&&!x(),Pe=!e&&!Me&&S>=1024,Fe=Q.useRef(null),Ie=Q.useRef(new Map),Le=Q.useRef(null),Re=Q.useRef(null),Be=Q.useRef(!1),Ve=Q.useRef(null),He=Q.useRef(null),Ke=Q.useRef(null),qe=Q.useRef(null),Je=Q.useCallback(()=>{Le.current=null,Be.current=!1,I(null),Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null)},[]),Ye=Q.useCallback(e=>{re(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Xe=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=Ti(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]),Ze=Q.useMemo(()=>qr(d??[]),[d]),Qe=Ze.length>0,$e=Q.useMemo(()=>!De||!b||!Xe.messageID?null:{sessionID:De,directory:b,messageID:Xe.messageID,diffCount:Xe.count},[b,De,Xe.count,Xe.messageID]),et=Q.useMemo(()=>Qe?Ze:Xe.thinDiffs,[Ze,Xe.thinDiffs,Qe]),tt=Q.useMemo(()=>{let e=new Map;for(let t of et)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,Oi(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},[et]),nt=Q.useMemo(()=>{if(K===`turn`)return et.map(e=>({path:e.file??``,index:``,working_dir:Ei(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(!T?.files)return[];let e=T.diffStats??{},t=K===`staged`?yi:K===`working`?bi:()=>!0;return T.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:vi(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[K,et,T]),rt=Q.useMemo(()=>T?.files?T.files.filter(bi).length:0,[T]),it=Q.useMemo(()=>T?.files?T.files.filter(yi).length:0,[T]),at=Qe?et.length:Xe.count,ot=Q.useMemo(()=>nt.map(e=>e.path).join(`\0`),[nt]),st=Q.useMemo(()=>{if(!p)return nt;let e=l?.trim()||M;return e?nt.filter(t=>t.path===e):[]},[nt,M,p,l]);Q.useEffect(()=>{let e=ot?ot.split(`\0`):[],n=new Set(e),r=`${b??``}:${K}:${a??``}:${t?`collapsed`:`default`}`,i=d!==null&&Ke.current!==d,o=He.current!==r||i;He.current=r,Ke.current=d,re(r=>{if(o){let n=t||K===`turn`&&!Qe?0:fi(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}),z(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})},[K,ot,b,t,d,a,Qe]);let lt=Q.useCallback(()=>{Ve.current=null;let e=Fe.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-li,r=t.bottom+li,i={};for(let[e,t]of Ie.current){if(!t||!L.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}z(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})},[L]),ut=Q.useCallback(()=>{typeof window>`u`||Ve.current===null&&(Ve.current=window.requestAnimationFrame(lt))},[lt]);Q.useEffect(()=>{let e=Fe.current;if(e)return ut(),e.addEventListener(`scroll`,ut,{passive:!0}),window.addEventListener(`resize`,ut),()=>{e.removeEventListener(`scroll`,ut),window.removeEventListener(`resize`,ut),Ve.current!==null&&(window.cancelAnimationFrame(Ve.current),Ve.current=null)}},[nt,L,ut]);let Z=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=S<oi;return e.isNew||n?`inline`:`side-by-side`},[_e,ge,S]),dt=Q.useMemo(()=>st.length===0?null:st.every(e=>Z(e)===`side-by-side`)?`side-by-side`:`inline`,[Z,st]);Q.useEffect(()=>{b&&(D(b),k(b,_))},[b,D,k,_]),Q.useEffect(()=>{if(b)return ce.onGitRefreshHint(e=>{Si(e.directory)===Si(b)&&A(b,_)})},[b,A,_]),Q.useEffect(()=>{K!==`all`&&!fe||ue&&(fe&&le(fe),N(ue),F(fe===`staged`||!fe&&de),te(me),he(null),Be.current=!0,Le.current=ue,Ye(ue),H(e=>e+1))},[K,Ye,ue,me,fe,de,he]),Q.useEffect(()=>{if(K===`all`)return;let e=l?.trim();if(!e)return;Ye(e),N(e),F(K===`staged`),te(u);let t=Jr({scope:K,navigationRequestKey:h,targetFilePath:e,targetLine:u}),n=nt.some(t=>t.path===e);Yr(qe.current,t,n)&&(qe.current=t,Be.current=!0,Le.current=e,H(e=>e+1))},[K,nt,Ye,h,l,u]),Q.useEffect(()=>{M&&(nt.some(e=>e.path===M)||(N(null),F(!1)))},[nt,M]);let ft=Q.useCallback((e,t)=>{let n=Ie.current;t?n.set(e,t):n.delete(e),ut()},[ut]),pt=Q.useCallback((e,t)=>{Je(),re(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||z(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),ut()},[Je,ut]),ht=Q.useCallback(()=>{Je(),re(e=>e.size>0?new Set:new Set(nt.map(e=>e.path))),z(new Set),ut()},[Je,nt,ut]),gt=Q.useCallback(async e=>{if(!Ee)return;let t=ye.getState().getDirectoryForSession(Ee)||b||``;if(!t){q.error(g(`diffView.reviewDialog.toast.noSessionDirectory`));return}G(!0);try{await ve({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}),se(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),q.error(e instanceof Error?e.message:g(`diffView.reviewDialog.toast.startFailed`))}finally{G(!1)}},[Ee,b,g]),_t=Q.useCallback(e=>{let t=Ie.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(!Le.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Le.current=null,Be.current=!1,I(null),Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null))},i=()=>{if(t){Re.current=null;return}let a=Le.current;if(!a){r(),Re.current=null;return}if(!_t(a)){e+=1,e<20?Re.current=window.requestAnimationFrame(i):(r(),Re.current=null);return}n&&Be.current&&I(a),r()};return Re.current=window.requestAnimationFrame(i),()=>{t=!0,Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null)}},[n,ae,_t]);let vt=Q.useCallback(e=>{},[]),yt=Q.useCallback(e=>{Je(),N(e),F(!1),Be.current=!0,Le.current=e,Ye(e),H(e=>e+1),_t(e)},[Je,Ye,_t]),bt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;st.forEach(e=>{be(e.path,t)})},[be,st]),[xt,St]=Q.useState(null),Ct=Q.useCallback(async(e,t)=>{if(!(!b||!e)){St(e);try{let n=null;if(t?.patch&&!t.isBinary&&!en(e)?n=Kr(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!en(e)&&(n=Ci(t.original,t.modified)),n===null)try{n=Kr((await _.getGitDiff(b,{path:e,staged:je,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await _.getGitFileDiff(b,{path:e,staged:je});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},je||j(b,e,r)}let i=n??(r.isBinary||en(e)?1:Ci(r.original,r.modified)),a=xi(b,e),o=await Ir(v,a);if(!o.ok){q.error(Lr(o.reason));return}Ce(b,a,i,1)}finally{St(t=>t===e?null:t)}}},[je,b,v,_,Ce,j]),wt=V(e=>{if(!b||!e)return;let t=xi(b,e);if(Te){Te.openFile({path:t});return}Ir(v,t).then(e=>{if(!e.ok){q.error(Lr(e.reason));return}we(b,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[p?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:[!C&&(K===`working`||K===`staged`||K===`turn`?(0,$.jsx)(Ai,{scope:K,workingCount:rt,stagedCount:it,turnCount:at,onScopeChange:e=>{le(e),c?.(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:E&&!T?g(`diffView.state.loadingChanges`):st.length===1?g(`diffView.summary.changedFilesSingle`,{count:st.length}):g(`diffView.summary.changedFilesPlural`,{count:st.length})})})),!p&&nt.length>0&&(K!==`turn`||Qe)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:ht,className:J(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:L.size>0?g(`diffView.actions.collapseAll`):g(`diffView.actions.expandAll`),children:[(0,$.jsx)(Y,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:L.size>0?g(`diffView.actions.collapseAll`):g(`diffView.actions.expandAll`)})]}),nt.length>0&&Ne&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>se(!0),disabled:W,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":g(`diffView.actions.reviewAria`),children:[W?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:g(`diffView.actions.review`)})]}),nt.length>0&&(0,$.jsxs)(Ge,{children:[(0,$.jsx)(Ue,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>ie(e=>!e),"aria-pressed":B,"aria-label":g(B?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:J(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,B&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Y,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(We,{children:(0,$.jsx)(`p`,{children:g(B?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),nt.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>Se(!xe),className:J(`h-5 w-5 p-0 transition-opacity`,ke?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:g(ke?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Y,{name:`text-wrap`,className:`size-4`})}),dt&&(0,$.jsx)(on,{mode:dt===`side-by-side`?`side-by-side`:`unified`,onModeChange:bt})]}),(0,$.jsx)(Nt,{open:U,onOpenChange:se,projectDirectory:b??null,submitting:W,onConfirm:gt}),b?K!==`turn`&&E&&!T?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}),g(`diffView.state.loadingRepositoryStatus`)]}):K!==`turn`&&w===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(`diffView.state.notGitRepository`)}):st.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(K===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!b)return null;let e=e=>Ae===null?P&&e===M:Ae;return(0,$.jsxs)(`div`,{className:J(`flex min-w-0 flex-1 min-h-0 h-full`,f?`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:g(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:nt.length})]}),(0,$.jsx)(ji,{changedFiles:nt,selectedFile:null,onSelectFile:yt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(ze,{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:st.map(t=>(0,$.jsx)(Ii,{directory:b,file:t,layout:Z(t),wrapLines:ke,isSelected:!1,isExpanded:L.has(t.path),isMounted:R.has(t.path)||t.path===ne||p&&st.length===1,onSelect:vt,onExpandedChange:pt,registerSectionRef:ft,showOpenInEditorAction:r&&K!==`turn`,isOpeningInEditor:xt===t.path,onOpenInEditor:(e,t)=>{Ct(e,t)},onOpenFile:wt,staged:e(t.path),loadFullFiles:B,initialDiffData:K===`turn`?tt.get(t.path)??null:null,focusLine:t.path===(l?.trim()||M)?u??ee:null,showFileActions:K!==`turn`,disableGitFetch:K===`turn`,turnChangesRequest:$e,loadTurnChangeFile:K===`turn`&&!Qe},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:g(`diffView.state.selectSessionDirectory`)})]})},Ri=(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)},zi=(e,t)=>{let n=e.state.doc.lineAt(t.main.head);return{lineNumber:n.number,character:t.main.head-n.from+1,selection:t}},Bi=(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:P.cursor(a),effects:N.scrollIntoView(a,{y:`center`})})};function Vi({open:e,onOpenChange:t,view:n,variant:r=`overlay`}){let{t:i}=oe(),[a,o]=Q.useState(``),s=Q.useRef(null),c=Q.useRef(!1),l=Q.useRef(null),u=Q.useRef(null),d=Q.useMemo(()=>Ri(a,n),[a,n]);Q.useEffect(()=>{!e||!n||(c.current=!1,s.current=zi(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:N.scrollIntoView(e.main.from,{y:`center`})});return}Bi(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:N.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,Bi(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??zi(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)(He,{ref:u,type:`number`,min:1,step:1,inputMode:`numeric`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m())},placeholder:i(`goToLineDialog.field.linePlaceholderShort`),className:`h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta`}),(0,$.jsx)(X,{variant:`outline`,size:`xs`,onClick:m,disabled:!n||d===null,className:`h-6 px-2`,children:i(`goToLineDialog.actions.go`)})]}):null:(0,$.jsx)(`div`,{ref:l,className:J(`absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all`,e?`pointer-events-auto translate-y-0 opacity-100`:`pointer-events-none -translate-y-1 opacity-0`),children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(He,{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 Hi=(e,t)=>{let n=ut(t,e);return!n||n===`.`||n===t?0:n.split(`/`).filter(Boolean).length},Ui=(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=Hi(r,e);o<1||o>n||(i.add(e),a.push(e))}return a},Wi=e=>e.some(e=>!!dt(e)),Gi=(e,t)=>{let n=new Set(t.map(e=>dt(e)).filter(Boolean));return e.filter(e=>!n.has(e))},Ki=(e,t,n)=>t.length===0?e.length===0:Gi(e,t).length>0?!1:t.every(e=>n.has(dt(e))),qi=[{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`}],Ji=`finder`,Yi=new Set([`finder`,`terminal`]),Xi=e=>typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`&&e.id===`finder`?{...e,label:`Explorer`,appName:`File Explorer`}:e,Zi=e=>{if(!e)return null;let t=qi.find(t=>t.id===e)??null;return t?Xi(t):null},Qi=()=>qi.filter(e=>Yi.has(e.id)).map(e=>({...Xi(e)})),$i=()=>{if(typeof window>`u`)return Ji;let e=window.localStorage.getItem(`openInAppId`);return e&&Zi(e)?e:Ji},ea=!1,ta=!1,na=!1,ra=0,ia=null,aa=()=>{ia&&=(clearTimeout(ia),null)},oa=S()((e,t)=>({selectedAppId:$i(),availableApps:Qi(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(ea||typeof window>`u`)return;ea=!0;let n=(t,n=!0)=>{if(!Array.isArray(t)||t.length===0){e({availableApps:Qi(),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:qi.filter(e=>r.has(e.appName)||Yi.has(e.id)).map(e=>({...Xi(e),iconDataUrl:i.get(e.appName)})),hasLoadedApps:!0})},r=async i=>{if(!g()||!_()||ta||t().hasLoadedApps&&!i)return;let a=qi.map(e=>e.appName);aa(),i&&e({hasLoadedApps:!1}),ta=!0,na=!1,e({isScanning:!0});try{let{apps:t,success:o,hasCache:s,isCacheStale:c}=await v(a,i),l=o&&!s&&t.length===0&&ra<3;if(e({isCacheStale:s?c:!1}),n(t,o?!l:!1),o){if(l){let e=[800,1600,3200][ra]??3200;ra+=1,na=!0,ia=setTimeout(()=>{r()},e);return}ra=0,na=!1;return}if(ra<3){let e=[1e3,3e3,7e3][ra]??7e3;ra+=1,na=!0,ia=setTimeout(()=>{r()},e)}}finally{ta=!1,na||e({isScanning:!1})}};r(),window.addEventListener(`openchamber:settings-synced`,t=>{let n=t.detail,r=n&&typeof n.openInAppId==`string`&&n.openInAppId.length>0&&Zi(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)&&(ra=3,na=!1,e({isScanning:!1,isCacheStale:!1}),n(r))}),window.__openchamberAppReady&&r(),window.setTimeout(()=>{t().hasLoadedApps||r()},5e3)},loadInstalledApps:async n=>{if(ea||t().initialize(),!g()||!_()||ta||t().hasLoadedApps&&!n)return;let r=qi.map(e=>e.appName);aa(),n&&e({hasLoadedApps:!1}),ta=!0,na=!1,e({isScanning:!0});try{let{apps:t,hasCache:i,isCacheStale:a}=await v(r,n),o=new Set(t.map(e=>e.name)),s=new Map(t.map(e=>[e.name,e.iconDataUrl??void 0])),c=qi.filter(e=>o.has(e.appName)||Yi.has(e.id)).map(e=>({...e,iconDataUrl:s.get(e.appName)}));e({availableApps:c.length>0?c:Qi(),hasLoadedApps:c.length>0,isCacheStale:i?a:!1})}finally{ta=!1,na||e({isScanning:!1})}},selectApp:async t=>{Zi(t)&&(e({selectedAppId:t}),typeof window<`u`&&window.localStorage.setItem(`openInAppId`,t),await p({openInAppId:t}))}})),sa=Wt(()=>k(()=>import(`./ToolOutputDialog-BI5vwuaT.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,46,47,48]))),ca=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},la=e=>{let t=(0,wn.c)(8),{label:n,iconDataUrl:r}=e,[i,a]=Q.useState(!1),o;t[0]===n?o=t[1]:(o=n.trim().slice(0,1).toUpperCase()||`?`,t[0]=n,t[1]=o);let s=o;if(r&&!i){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>a(!0),t[2]=e):e=t[2];let n;return t[3]===r?n=t[4]:(n=(0,$.jsx)(`img`,{src:r,alt:``,className:`size-4 rounded-sm`,onError:e}),t[3]=r,t[4]=n),n}let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=J(`size-4 rounded-sm flex items-center justify-center`,`bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground`),t[5]=c):c=t[5];let l;return t[6]===s?l=t[7]:(l=(0,$.jsx)(`span`,{className:c,children:s}),t[6]=s,t[7]=l),l},ua=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},fa=e=>e.startsWith(`/`)||e.startsWith(`//`)||/^[A-Za-z]:\//.test(e),pa=e=>/^[A-Za-z]:\//.test(e)?e.toLowerCase():e,ma=(e,t)=>{let n=da(t),r=da(e);if(!n||!r)return!1;let i=pa(n),a=pa(r);return a===i||a.startsWith(`${i}/`)},ha=(e,t)=>{let n=da(t),r=da(e);if(!ma(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},ga=(e,t)=>{if(!t)return``;let n=da(t);if(!e||!ma(n,e))return n;let r=n.slice(e.length);return r.startsWith(`/`)?r.slice(1):r},_a=new Set([`node_modules`]),va=e=>{let t=(0,wn.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},ya=e=>{let t=(0,wn.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},ba=e=>_a.has(e),xa=e=>{let t=da(e);return t===`node_modules`||t.endsWith(`/node_modules`)||t.includes(`/node_modules/`)},Sa=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`is a directory`)||t.includes(`eisdir`)},Ca=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`)},wa=2e5,Ta=`openchamber:files:auto-save-enabled`,Ea=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
  `},Da=e=>e.replace(/\r\n/g,`
148
148
  `).replace(/\r/g,`
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{i as t}from"./runtime-switch-BkpTTbEi.js";import{nt as n,rt as r}from"./vendor-base-ui-CnHfUmDN.js";import{t as i}from"./useUIStore-CNLmCoPU.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-D35XSwID.js";import{n as c}from"./Icon-CLpn1mIz.js";import{n as l}from"./useRuntimeAPIs-DSLXJybW.js";import{n as u}from"./useEffectiveDirectory-D976zCCc.js";import{t as d}from"./diagram-CoEqmReY.js";import{n as f,r as p,t as m}from"./fileQueries-DGHZqZHc.js";var h=e(r(),1),g=n();function _(){let{t:e}=s(),{files:n}=l(),r=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=i(e=>e.pendingDiagramFile),k=p({scopeDirectory:_,path:y},{enabled:!!y});if(y&&(T.current?.path!==y||T.current.transport!==v||T.current.scopeDirectory!==_)){let e=E.current+1;E.current=e,T.current={path:y,generation:e,transport:v,scopeDirectory:_}}h.useEffect(()=>(w.current=!0,()=>{w.current=!1,E.current+=1}),[]),h.useEffect(()=>{if(!O)return;let e=i.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(),i=T.current,a=n?.writeFile;if(!y||!a||!t||t===x||i?.path!==y)return;let{path:s,generation:c,scopeDirectory:l,transport:u}=i,d=D.current.then(async()=>{try{if(!(await a(s,t))?.success)throw Error(e(`filesView.toast.writeFileFailed`));let n={scopeDirectory:l,path:s};await r.cancelQueries({queryKey:m(n,u),exact:!0}),f(r,n,u,t);let i=T.current;w.current&&i?.path===s&&i.generation===c&&i.transport===u&&i.scopeDirectory===l&&S(t)}catch(t){o.error(t instanceof Error?t.message:e(`filesView.toast.saveFailed`))}});D.current=d.catch(()=>void 0),await d},[y,n,r,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:()=>i.getState().setActiveMainTab(`chat`),className:`size-6 flex items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,title:e(`filesView.diagram.closeDiagramView`),children:(0,g.jsx)(c,{name:`close`,className:`size-4`})})]}),(0,g.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,g.jsx)(d,{ref:C,xml:x,className:`h-full`})})]}):(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center p-3`,children:(0,g.jsx)(`div`,{className:`typography-ui text-muted-foreground`,children:e(`filesView.editor.pickFileFromTree`)})})}export{_ as DiagramView};
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{i as t}from"./runtime-switch-BkpTTbEi.js";import{nt as n,rt as r}from"./vendor-base-ui-CnHfUmDN.js";import{t as i}from"./useUIStore-CNLmCoPU.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-D35XSwID.js";import{n as c}from"./Icon-CLpn1mIz.js";import{n as l}from"./useRuntimeAPIs-DSLXJybW.js";import{n as u}from"./useEffectiveDirectory-Bcj1wP95.js";import{t as d}from"./diagram-CoEqmReY.js";import{n as f,r as p,t as m}from"./fileQueries-DGHZqZHc.js";var h=e(r(),1),g=n();function _(){let{t:e}=s(),{files:n}=l(),r=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=i(e=>e.pendingDiagramFile),k=p({scopeDirectory:_,path:y},{enabled:!!y});if(y&&(T.current?.path!==y||T.current.transport!==v||T.current.scopeDirectory!==_)){let e=E.current+1;E.current=e,T.current={path:y,generation:e,transport:v,scopeDirectory:_}}h.useEffect(()=>(w.current=!0,()=>{w.current=!1,E.current+=1}),[]),h.useEffect(()=>{if(!O)return;let e=i.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(),i=T.current,a=n?.writeFile;if(!y||!a||!t||t===x||i?.path!==y)return;let{path:s,generation:c,scopeDirectory:l,transport:u}=i,d=D.current.then(async()=>{try{if(!(await a(s,t))?.success)throw Error(e(`filesView.toast.writeFileFailed`));let n={scopeDirectory:l,path:s};await r.cancelQueries({queryKey:m(n,u),exact:!0}),f(r,n,u,t);let i=T.current;w.current&&i?.path===s&&i.generation===c&&i.transport===u&&i.scopeDirectory===l&&S(t)}catch(t){o.error(t instanceof Error?t.message:e(`filesView.toast.saveFailed`))}});D.current=d.catch(()=>void 0),await d},[y,n,r,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:()=>i.getState().setActiveMainTab(`chat`),className:`size-6 flex items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,title:e(`filesView.diagram.closeDiagramView`),children:(0,g.jsx)(c,{name:`close`,className:`size-4`})})]}),(0,g.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,g.jsx)(d,{ref:C,xml:x,className:`h-full`})})]}):(0,g.jsx)(`div`,{className:`flex h-full items-center justify-center p-3`,children:(0,g.jsx)(`div`,{className:`typography-ui text-muted-foreground`,children:e(`filesView.editor.pickFileFromTree`)})})}export{_ as DiagramView};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{i as t}from"./runtime-switch-BkpTTbEi.js";import{It as n}from"./persistence-w-AiX2i4.js";import{g as r,h as i,m as a,w as o,y as s}from"./desktop-CfLlmafK.js";import{nt as c,rt as l}from"./vendor-base-ui-CnHfUmDN.js";import{t as u}from"./platform-4eCmsdol.js";import{t as d}from"./useUIStore-CNLmCoPU.js";import{n as f}from"./vendor-react-DLPElpoQ.js";import{n as p}from"./vendor-katex--B5dHUyk.js";import{n as m,r as h,u as g}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as _,t as v}from"./clipboard-D35XSwID.js";import{Mi as y}from"./useMobileNavigationStore-lcj5GHR3.js";import{t as b}from"./utils-CTL16t2f.js";import{t as x}from"./useThemeSystem-DMzWVJaW.js";import{c as S,d as C,g as w,h as T,m as E,n as ee,o as D,p as te,r as O,s as k,t as A,v as ne,x as j}from"./markdownTheme-SPe4jOwX.js";import{n as re}from"./useRuntimeAPIs-DSLXJybW.js";import{a as M,i as ie,n as N,r as P}from"./url-KeihbE0d.js";import{a as ae,f as F,i as I,l as L,n as oe,p as R,t as z}from"./markdown-worker-y3ewaqAK.js";import{n as se}from"./useEffectiveDirectory-D976zCCc.js";import{a as B,c as V,d as H,f as ce,i as le,n as ue,r as de,u as fe}from"./FadeInOnReveal-CV2s6YN8.js";import{i as U,r as pe,t as me}from"./markdownHeightCache-CvUyZT4q.js";import{t as he}from"./vendor-morphdom-BbKiNDAu.js";import{n as ge,t as _e}from"./vendor-beautiful-mermaid-DykqIK5D.js";import{t as W}from"./vendor-dompurify-CeJNOzik.js";import{t as G}from"./vendor-marked-WVekxjAN.js";import{t as ve}from"./vendor-remend-C3cXc-tf.js";var K=e(l(),1),ye=f(),be=`data-md-stream-fence`,xe=`data-md-stream-line`,Se=`data-md-stream-src`,Ce=`data-md-stream-applied`,we=(e,t)=>{let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n},Te=e=>Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.hasAttribute(`data-md-stream-line`)),Ee=(e,t)=>{let n=document.createElement(`span`);return n.setAttribute(xe,String(t)),n.className=`line`,n.innerHTML=e,n},De=(e,t)=>{let n=Te(e),r=we(n.map(e=>e.innerHTML),t);if(n.length===0&&e.childNodes.length>0&&t.length>0){e.replaceChildren();for(let n=0;n<t.length;n+=1)e.appendChild(Ee(t[n]??``,n));return{reused:0,replaced:0,added:t.length,removed:0}}let i=0;if(r<n.length&&r<t.length){let e=n[r];e&&(e.innerHTML=t[r]??``,e.setAttribute(xe,String(r)),i=1)}let a=0;for(let e=n.length-1;e>=r+i;--e)n[e]?.remove(),a+=1;let o=0;for(let n=r+i;n<t.length;n+=1)e.appendChild(Ee(t[n]??``,n)),o+=1;return{reused:r,replaced:i,added:o,removed:a}},Oe=e=>{if(e.includes(`data-md-stream-fence=`))return e;let t=e.toLowerCase().lastIndexOf(`<pre`);return t<0?e:`${e.slice(0,t)}${e.slice(t).replace(/<pre\b/i,`<pre ${be}="true"`)}`},ke=(e,t)=>{if(!(e instanceof HTMLElement)||!(t instanceof HTMLElement)||e.getAttribute(`data-md-stream-fence`)!==`true`||t.getAttribute(`data-md-stream-fence`)!==`true`)return!1;let n=e.tagName===`CODE`?e:e.querySelector(`code`),r=t.tagName===`CODE`?t:t.querySelector(`code`);return n instanceof HTMLElement&&r instanceof HTMLElement&&n.setAttribute(Se,r.textContent??``),!0},Ae=e=>e.getAttribute(`data-md-stream-src`)??e.textContent??``,je=e=>{let t=e.querySelectorAll(`pre[${be}="true"]`),n=[];return t.forEach(e=>{let t=e.querySelector(`code`);t instanceof HTMLElement&&n.push(t)}),n},Me=e=>e.closest(`pre`)?.getAttribute(`data-md-lang`)||e.className.match(/language-([^\s"]+)/)?.[1]||`text`,Ne=async(e,t,n)=>{if(n?.signal?.aborted)return;let r=je(e);await Promise.all(r.map(async r=>{let i=Ae(r);if(!i||n?.signal?.aborted||r.getAttribute(`data-md-stream-applied`)===i)return;let a=Me(r);if(a===`mermaid`)return;let o=await t(i,a,n);!o||n?.signal?.aborted||!e.contains(r)||(De(r,o),r.setAttribute(Ce,i),r.removeAttribute(Se))}))},Pe=`text`,Fe=/^(\d+):(\d+):(.+)$/,Ie={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`},Le={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`},Re=e=>{let t=e.split(/[\\/]/).pop()?.toLowerCase()??``;if(!t)return Pe;let n=Le[t];if(n)return n;let r=t.lastIndexOf(`.`);return r<=0?Pe:Ie[t.slice(r+1)]??Pe},ze=e=>{let t=e?.trim()??``;if(!t)return{lang:Pe,label:Pe,reference:!1};let n=Fe.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:Re(a),label:`${a}:${o}`,reference:!0}},Be=e=>e===` `||e===` `||e===`
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{i as t}from"./runtime-switch-BkpTTbEi.js";import{It as n}from"./persistence-w-AiX2i4.js";import{g as r,h as i,m as a,w as o,y as s}from"./desktop-CfLlmafK.js";import{nt as c,rt as l}from"./vendor-base-ui-CnHfUmDN.js";import{t as u}from"./platform-4eCmsdol.js";import{t as d}from"./useUIStore-CNLmCoPU.js";import{n as f}from"./vendor-react-DLPElpoQ.js";import{n as p}from"./vendor-katex--B5dHUyk.js";import{n as m,r as h,u as g}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as _,t as v}from"./clipboard-D35XSwID.js";import{Mi as y}from"./useMobileNavigationStore-CD0GRjaV.js";import{t as b}from"./utils-CTL16t2f.js";import{t as x}from"./useThemeSystem-DMzWVJaW.js";import{c as S,d as C,g as w,h as T,m as E,n as ee,o as D,p as te,r as O,s as k,t as A,v as ne,x as j}from"./markdownTheme-SPe4jOwX.js";import{n as re}from"./useRuntimeAPIs-DSLXJybW.js";import{a as M,i as ie,n as N,r as P}from"./url-KeihbE0d.js";import{a as ae,f as F,i as I,l as L,n as oe,p as R,t as z}from"./markdown-worker-y3ewaqAK.js";import{n as se}from"./useEffectiveDirectory-Bcj1wP95.js";import{a as B,c as V,d as H,f as ce,i as le,n as ue,r as de,u as fe}from"./FadeInOnReveal-CV2s6YN8.js";import{i as U,r as pe,t as me}from"./markdownHeightCache-CvUyZT4q.js";import{t as he}from"./vendor-morphdom-BbKiNDAu.js";import{n as ge,t as _e}from"./vendor-beautiful-mermaid-DykqIK5D.js";import{t as W}from"./vendor-dompurify-CeJNOzik.js";import{t as G}from"./vendor-marked-WVekxjAN.js";import{t as ve}from"./vendor-remend-C3cXc-tf.js";var K=e(l(),1),ye=f(),be=`data-md-stream-fence`,xe=`data-md-stream-line`,Se=`data-md-stream-src`,Ce=`data-md-stream-applied`,we=(e,t)=>{let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n},Te=e=>Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.hasAttribute(`data-md-stream-line`)),Ee=(e,t)=>{let n=document.createElement(`span`);return n.setAttribute(xe,String(t)),n.className=`line`,n.innerHTML=e,n},De=(e,t)=>{let n=Te(e),r=we(n.map(e=>e.innerHTML),t);if(n.length===0&&e.childNodes.length>0&&t.length>0){e.replaceChildren();for(let n=0;n<t.length;n+=1)e.appendChild(Ee(t[n]??``,n));return{reused:0,replaced:0,added:t.length,removed:0}}let i=0;if(r<n.length&&r<t.length){let e=n[r];e&&(e.innerHTML=t[r]??``,e.setAttribute(xe,String(r)),i=1)}let a=0;for(let e=n.length-1;e>=r+i;--e)n[e]?.remove(),a+=1;let o=0;for(let n=r+i;n<t.length;n+=1)e.appendChild(Ee(t[n]??``,n)),o+=1;return{reused:r,replaced:i,added:o,removed:a}},Oe=e=>{if(e.includes(`data-md-stream-fence=`))return e;let t=e.toLowerCase().lastIndexOf(`<pre`);return t<0?e:`${e.slice(0,t)}${e.slice(t).replace(/<pre\b/i,`<pre ${be}="true"`)}`},ke=(e,t)=>{if(!(e instanceof HTMLElement)||!(t instanceof HTMLElement)||e.getAttribute(`data-md-stream-fence`)!==`true`||t.getAttribute(`data-md-stream-fence`)!==`true`)return!1;let n=e.tagName===`CODE`?e:e.querySelector(`code`),r=t.tagName===`CODE`?t:t.querySelector(`code`);return n instanceof HTMLElement&&r instanceof HTMLElement&&n.setAttribute(Se,r.textContent??``),!0},Ae=e=>e.getAttribute(`data-md-stream-src`)??e.textContent??``,je=e=>{let t=e.querySelectorAll(`pre[${be}="true"]`),n=[];return t.forEach(e=>{let t=e.querySelector(`code`);t instanceof HTMLElement&&n.push(t)}),n},Me=e=>e.closest(`pre`)?.getAttribute(`data-md-lang`)||e.className.match(/language-([^\s"]+)/)?.[1]||`text`,Ne=async(e,t,n)=>{if(n?.signal?.aborted)return;let r=je(e);await Promise.all(r.map(async r=>{let i=Ae(r);if(!i||n?.signal?.aborted||r.getAttribute(`data-md-stream-applied`)===i)return;let a=Me(r);if(a===`mermaid`)return;let o=await t(i,a,n);!o||n?.signal?.aborted||!e.contains(r)||(De(r,o),r.setAttribute(Ce,i),r.removeAttribute(Se))}))},Pe=`text`,Fe=/^(\d+):(\d+):(.+)$/,Ie={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`},Le={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`},Re=e=>{let t=e.split(/[\\/]/).pop()?.toLowerCase()??``;if(!t)return Pe;let n=Le[t];if(n)return n;let r=t.lastIndexOf(`.`);return r<=0?Pe:Ie[t.slice(r+1)]??Pe},ze=e=>{let t=e?.trim()??``;if(!t)return{lang:Pe,label:Pe,reference:!1};let n=Fe.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:Re(a),label:`${a}:${o}`,reference:!0}},Be=e=>e===` `||e===` `||e===`
2
2
  `||e===`\r`,Ve=e=>e!==void 0&&e>=`0`&&e<=`9`,He=e=>e===`\\`||e===`^`||e===`_`||e===`{`||e===`}`||e===`=`||e===`+`||e===`*`||e===`/`||e===`-`,Ue=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(n!==void 0&&He(n))return!0}return!1},We=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(n===`"`||n===`'`||Be(n))return!0}return!1},Ge=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&&!Be(r))return n;t=n+1}},Ke=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||Be(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]===`$`||Be(e[t-1]))return;if(Ve(e[t+1]))continue;if(t===1)return;let r=e.slice(1,t);return Ve(e[1])&&!Ue(r)&&We(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;`),qe=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)},Je=e=>`${qe(e.raw)}:${e.mode}:${+!!e.highlight}`,Ye=e=>/^\[[^\]]+\]:\s+\S+/m.test(e)||/^\[\^[^\]]+\]:\s+/m.test(e),Xe=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)},Ze=e=>{try{return ve(e,{linkMode:`text-only`})}catch{return e}},Qe=(e,t)=>{let n=t?`live`:`full`;if(Ye(e))return[{raw:e,src:Ze(e),mode:n,highlight:!0}];let r;try{r=G.lexer(e)}catch{return[{raw:e,src:Ze(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:Ze(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`&&Xe(o);a.push({raw:o,src:c?o:Ze(o),mode:s?n:`full`,highlight:!c})}return a.length===0?[{raw:e,src:Ze(e),mode:n,highlight:!0}]:a},$e=16,et=new Map,tt=(e,t)=>{let n=`${+!!t}:${e}`,r=et.get(n);if(r)return et.delete(n),et.set(n,r),r;let i=Qe(e,t);for(;et.size>=$e;){let e=et.keys().next().value;if(typeof e!=`string`)break;et.delete(e)}return et.set(n,i),i},nt=(e,t,n)=>{try{return p.renderToString(e,{displayMode:n,throwOnError:!1})}catch{return t}},rt=G.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 nt(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 nt(t.text,t.raw,!0)}},{name:`dollarMath`,level:`inline`,start(e){return Ge(e)},tokenizer(e){let t=Ke(e);if(t)return{type:`dollarMath`,raw:t.raw,text:t.text,display:t.display}},renderer(e){let t=e;return nt(t.text,t.raw,t.display)}}],renderer:{link({href:e,title:t,text:n}){let r=e??``,i=fe(r);if(i)return`<a href="${q(V(i))}" data-openchamber-agent-mention="true" class="text-primary hover:underline" target="_blank" rel="noopener noreferrer">${n}</a>`;let a=H(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>`}}}),it=e=>e.replace(/\$\$([\s\S]*?)\$\$/g,(e,t)=>{try{return p.renderToString(t,{displayMode:!0,throwOnError:!1})}catch{return`$$${t}$$`}}),at=e=>e.indexOf(`$`)===-1?e:e.split(/(<(?:pre|code|kbd)[^>]*>[\s\S]*?<\/(?:pre|code|kbd)>)/gi).map((e,t)=>t%2==1?e:it(e)).join(``),ot=e=>at(rt.parse(e)),st=e=>{let t=ot(e.src);return e.highlight?t:Oe(t)},ct=/<pre><code(?:\s+class="language-([^"]*)")?>([\s\S]*?)<\/code><\/pre>/g,lt=1200,ut=(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},dt=e=>e.replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#39;/g,`'`).replace(/&amp;/g,`&`),ft=e=>e.reference?`data-md-lang="${q(e.lang)}" data-md-label="${q(e.label)}"`:`data-md-lang="${q(e.lang)}"`,pt=async(e,t,n)=>{if(n.isCancelled?.())return null;let r=[...e.matchAll(ct)];if(r.length===0)return e;let i=e;for(let e of r){if(n.isCancelled?.())return null;let[r,a,o]=e,s=ze(a);if(s.lang===`mermaid`&&!s.reference)continue;let c=dt(o??``);if(ut(c,n.lineLimit)){i=i.replace(r,()=>r.replace(`<pre`,`<pre ${ft(s)}`));continue}let l=await t(c,s.lang);if(n.isCancelled?.())return null;if(l){let e=l.replace(/^<pre/,`<pre ${ft(s)}`);i=i.replace(r,()=>e)}}return i},mt=(e,t)=>!t&&e.length<=480&&!e.includes("```"),ht={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`]},gt=!1,_t=()=>{gt||typeof window>`u`||!W.isSupported||(gt=!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`)}))},vt=e=>W.isSupported?(_t(),W.sanitize(e,ht)):``,yt=`data-md-sanitize-block`,bt=e=>{if(e.length===0)return[];if(e.length===1)return[vt(e[0])];if(!W.isSupported||typeof document>`u`)return e.map(e=>vt(e));let t=e.map((e,t)=>`<div ${yt}="${t}">${e}</div>`).join(``),n=document.createElement(`div`);n.innerHTML=vt(t);let r=e.map(()=>``);return n.querySelectorAll(`[${yt}]`).forEach(e=>{let t=Number(e.getAttribute(yt));Number.isInteger(t)&&t>=0&&t<r.length&&(r[t]=e.innerHTML)}),r},xt=()=>s()?200:lt,St=240,Ct=16777216,wt=160,Tt=8388608,Et=new U({maxEntries:St,maxBytes:Ct}),Dt=new U({maxEntries:wt,maxBytes:Tt}),Ot=e=>e.length*2,kt=(e,t)=>{Et.set(e,t,Ot(e)+Ot(t.hash)+Ot(t.html))},At=async(e,t,n)=>pt(e,(e,r)=>z(e,r,{signal:t,priority:n}),{lineLimit:xt(),isCancelled:()=>!!t?.aborted}),jt=async(e,t,n)=>{if(t?.aborted)return null;let r=st(e);if(t?.aborted)return null;let i=e.highlight?await At(r,t,n):r;if(i===null||t?.aborted)return null;let a=vt(i);return t?.aborted?null:a},Mt=e=>`${qe(e)}:${e.length}`,Nt=e=>{let t=Dt.get(Mt(e));return t?.source===e?t.html:void 0},Pt=(e,t)=>{let n=Mt(e);Dt.set(n,{source:e,html:t},Ot(n)+Ot(e)+Ot(t))},Ft=e=>{if(!e)return[];let t=tt(e,!1),n=Array(t.length).fill(``),r=[],i=[];t.forEach((e,t)=>{let a=Nt(e.src);if(a!==void 0){n[t]=a;return}r.push(t),i.push(st(e))});let a=bt(i);return r.forEach((e,r)=>{let i=a[r]??``;n[e]=i;let o=t[e]?.src;o!==void 0&&Pt(o,i)}),n},It=8,Lt=()=>typeof performance<`u`?performance.now():Date.now(),Rt=e=>e?.aborted?Promise.resolve(!1):new Promise(t=>{let n=!1,r=r=>{n||(n=!0,e?.removeEventListener(`abort`,a),t(r))},i=le(()=>{r(!e?.aborted)},{priority:`visible`}),a=()=>{i(),r(!1)};e?.addEventListener(`abort`,a,{once:!0})}),zt=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];if(!i)return null;let a=qe(i.raw),o=`${t}:${r}:${i.mode}`,s=Et.get(o);if(!s||s.hash!==a)return null;n.push({id:Je(i),html:s.html})}return n},Bt=(e,t,n)=>{let r=bt(t.map(e=>e.html));return t.map((t,i)=>{let a=e[i],o=r[i]??``;return a&&kt(`${n}:${i}:${a.mode}`,{hash:qe(a.raw),html:o}),{id:t.id,html:o}})},Vt=async(e,t,n,r)=>{let i=n?`visible`:`background`,a=async(e,n)=>{if(r?.aborted)return null;let a=qe(e.raw),o=Je(e),s=`${t}:${n}:${e.mode}`,c=Et.get(s);if(c&&c.hash===a)return{id:o,html:c.html};let l=await jt(e,r,i);return l===null||r?.aborted?null:(kt(s,{hash:a,html:l}),{id:o,html:l})};if(n)return(await Promise.all(e.map(a))).filter(e=>e!==null);let o=[],s=0;for(let t=0;t<e.length&&!r?.aborted;t+=1){let n=e[t];if(!n)continue;if(Lt()>=s){if(!await Rt(r))break;s=Lt()+It}let i=await a(n,t);i&&o.push(i)}return o},Ht=async(e,t,n,r)=>{if(!e)return[];let i=tt(e,t),a=zt(i,n);if(a)return a;let o=t?`visible`:`background`,s=[],c=[];for(let e=0;e<i.length;e+=1){let t=i[e];if(!t)continue;let r=Et.get(`${n}:${e}:${t.mode}`);r&&r.hash===qe(t.raw)||(s.push(t),c.push(e))}if(!mt(e,t)&&s.length>0)try{let e=await I({streaming:t,highlight:!0,highlightLineLimit:xt(),signal:r,priority:o,blocks:s});if(r?.aborted)return[];if(e&&e.length===s.length)return Bt(i,i.map((t,r)=>{let i=c.indexOf(r);if(i>=0)return e[i]??{id:Je(t),html:``,highlight:t.highlight};let a=Et.get(`${n}:${r}:${t.mode}`);return{id:Je(t),html:a?.html??``,highlight:t.highlight}}),n)}catch{}return Vt(i,n,t,r)},J=e=>Number.isFinite(e)&&e>0,Ut=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},Wt=(e,t,n)=>Math.min(n,Math.max(t,e)),Gt=6,Kt=1.25,qt=1.0015,Jt=16,Yt=1e3,Xt=.5,Zt=12,Qt=400,$t=`[data-markdown="mermaid-block"]`,en=e=>e.querySelector($t)!==null,tn=e=>[e.x,e.y,e.width,e.height].map(e=>{let t=Number(e.toFixed(Gt));return Object.is(t,-0)?`0`:String(t)}).join(` `),nn=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=Ut(e.width),r=Ut(e.height);return n===null||r===null?null:{x:0,y:0,width:n,height:r}},rn=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)},an=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,rn(n)].join(`:`)},on=(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}},sn=({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},cn=(e,t,n)=>{let r=e*(t===1?Jt:t===2?J(n)?n:0:1);return Number.isFinite(r)?Wt(r,-1e3,Yt):0},ln=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},un=(e,t)=>{let n=t.x-e.x,r=t.y-e.y;return n*n+r*r>9},dn=({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=on(t,n),u=Wt(l.width/e.width*i,s,c),d=l.width/u,f=d/(e.width/e.height),p=Wt(r.x/n.width,0,1),m=Wt(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}},fn=({currentBox:e,contentBox:t,viewport:n,previousGesture:r,gesture:i,minScale:a,maxScale:o})=>!J(r.distance)||!J(i.distance)?e:dn({currentBox:sn({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}),pn=new WeakMap,mn=e=>e instanceof HTMLElement?pn.get(e)??null:null,hn=e=>e.querySelector(`[data-markdown="mermaid-viewport"]`)??e.querySelector(`[data-markdown="mermaid"]`),gn=e=>{let t=e.querySelector(`[data-markdown="mermaid"] svg`),n=e.querySelector(`[data-markdown="mermaid"]`);return an({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`)})},_n=e=>{let t=e.getBoundingClientRect();return{width:t.width,height:t.height}},vn=(e,t)=>({x:e.clientX-t.left,y:e.clientY-t.top}),yn=(e,t)=>vn(e,t.getBoundingClientRect()),bn=e=>e instanceof Element&&!!e.closest(`button, a, [role="button"]`),xn=e=>{let t=hn(e),n=e.querySelector(`[data-markdown="mermaid"] svg`);if(!t||!n)return null;let r=nn({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`,tn(e)),n.removeAttribute(`width`),n.removeAttribute(`height`)},p=()=>{f(on(r,_n(t)))},m=(e,n)=>{f(dn({currentBox:i,contentBox:r,viewport:_n(t),pointer:e,zoomFactor:n,minScale:Xt,maxScale:Zt}))},h=()=>{let e=_n(t);m({x:e.width/2,y:e.height/2},Kt)},g=()=>{let e=_n(t);m({x:e.width/2,y:e.height/2},1/Kt)},_=e=>{e.preventDefault(),e.stopPropagation();let n=cn(e.deltaY,e.deltaMode,_n(t).height);m(yn(e,t),qt**+-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},Qt))},S=n=>{if(n.pointerType!==`touch`&&n.button!==0||bn(n.target))return;d!==null&&(window.clearTimeout(d),d=null),e.removeAttribute(`data-mermaid-suppress-click`);let r=yn(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=ln(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=yn(n,t);if(c.set(n.pointerId,a),c.size>=2){let a=ln(c.values());u&&a&&f(fn({currentBox:i,contentBox:r,viewport:_n(t),previousGesture:u,gesture:a,minScale:Xt,maxScale:Zt})),u=a,e.setAttribute(`data-mermaid-suppress-click`,`true`),n.preventDefault();return}}if(a!==n.pointerId||!s)return;let l=yn(n,t);f(sn({currentBox:i,viewport:_n(t),delta:{x:l.x-s.x,y:l.y-s.y}})),s=l,o&&un(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=ln(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 E=typeof ResizeObserver>`u`?null:new ResizeObserver(T);return E?.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),E?.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`),pn.delete(e)}}},Sn=e=>{let t=new Map,n=new Map,r=()=>{for(let[r,i]of Array.from(t.entries())){let a=gn(r);(!e.contains(r)||a!==n.get(r))&&(i.cleanup(),t.delete(r),n.delete(r))}for(let r of Array.from(e.querySelectorAll($t))){if(t.has(r)||r.querySelector(`[data-markdown="mermaid"] svg`)===null)continue;let e=xn(r);e&&(t.set(r,e),n.set(r,gn(r)),pn.set(r,e))}};return r(),{refresh:r,cleanup:()=>{for(let e of t.values())e.cleanup();t.clear(),n.clear()}}},Cn=new Set([`dockerfile`,`makefile`,`readme`,`license`,`.env`,`.gitignore`,`.npmrc`]),wn=Array.from(Cn).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),Tn=e=>T(e),En=e=>te(e),Dn=e=>{if(!e||e.startsWith(`--`)||e.includes(`://`)||/[<>]/.test(e)||/\s{2,}/.test(e))return!1;let t=Tn(e),n=t.split(`/`).filter(Boolean).pop()??t;if(!n||n===`.`||n===`..`)return!1;let r=n.toLowerCase();return Cn.has(r)||r.startsWith(`.`)&&r.length>1?!0:!t.includes(`/`)&&/^\d+\.\d+$/.test(n)?!1:/\.[A-Za-z0-9_-]{1,16}$/.test(n)},On=e=>{let t=(e||``).trim();return t?((t.startsWith("`")&&t.endsWith("`")||t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))&&(t=t.slice(1,-1).trim()),t=t.replace(/[.,;!?]+$/g,``),t.endsWith(`)`)&&!t.includes(`(`)&&(t=t.slice(0,-1)),t.endsWith(`]`)&&!t.includes(`[`)&&(t=t.slice(0,-1)),t):``},kn=e=>{let t=On(e);if(!t)return``;let n=t.indexOf(`;`);n>=0&&(t=t.slice(0,n)),t=t.replace(/#.*$/,``);let r=t.match(/^(.*\.[A-Za-z0-9_-]{1,16}):.*$/);r&&(t=r[1]??t);let i=wn.length>0?t.match(RegExp(`^(.*(?:/|^)(${wn})):.*$`,`i`)):null;return i&&(t=i[1]??t),On(t)},An=e=>{let t=On(e);if(!t)return null;let n=t.indexOf(`;`),r=n>=0?On(t.slice(0,n)):t;if(!r)return null;let i=r.match(/^(.*?):(\d+)-(\d+)$/);if(i){let e=kn(i[1]??``),t=Number.parseInt(i[2]??``,10),n=Number.parseInt(i[3]??``,10);return!e||!Number.isFinite(t)||!Number.isFinite(n)||n<t?null:{path:e,line:t,endLine:n}}let a=r.match(/^(.*)#L(\d+)(?:C(\d+))?$/i);if(a){let e=kn(a[1]??``),t=Number.parseInt(a[2]??``,10),n=a[3]?Number.parseInt(a[3],10):void 0;return!e||!Number.isFinite(t)?null:{path:e,line:t,column:Number.isFinite(n??NaN)?n:void 0}}let o=r.match(/^(.*?):(\d+)(?::(\d+))?$/);if(o){let e=kn(o[1]??``),t=Number.parseInt(o[2]??``,10),n=o[3]?Number.parseInt(o[3],10):void 0;return!e||!Number.isFinite(t)?null:{path:e,line:t,column:Number.isFinite(n??NaN)?n:void 0}}let s=kn(r);return s?{path:s}:null},jn=/(?:[A-Za-z]:[\\/])?[\w.\-/@+]*[\w\-/@+]\.[A-Za-z0-9]{1,8}(?::\d+(?:-\d+)?(?::\d+)?)?/g,Mn=`(?:(?:[0-9][\\w.@+\\- 一-鿿]*|[一-鿿][\\w.@+\\- 一-鿿]*)|[\\w.@+\\-一-鿿]+)`,Nn=RegExp(`(?:[A-Za-z]:[\\\\/]|\\.{1,2}\\/|\\/)?(?:${Mn}\\/)+${Mn}\\.[A-Za-z0-9]{1,8}(?::\\d+(?:-\\d+)?(?::\\d+)?)?`,`g`),Pn=`data-openchamber-block-path-token`,Fn=`[${Pn}]`,In=`data-openchamber-file-link`,Ln=`[${In}="true"]`,Rn=[In,`data-openchamber-file-ref`,`data-openchamber-file-path`,`data-openchamber-file-binary`,`title`,`role`,`tabindex`],zn=`data-openchamber-block-paths-scanned`,Bn=`data-openchamber-paragraph-paths-scanned`,Vn=`pre, code, a, script, style, button, [${In}], ${Fn}`,Hn=2e5,Un=e=>{let t=An(e);return t?Dn(t.path):!1},Wn=(e,t)=>{let n=0;for(let r of e){let e=n+r.data.length;if(t<=e)return{node:r,offset:Math.max(0,t-n)};n=e}let r=e.at(-1);return r?{node:r,offset:r.data.length}:null},Gn=e=>{let t=e.querySelectorAll(`pre code`);if(t.length===0)return;let n=e.ownerDocument;if(n)for(let e of Array.from(t)){if(e.getAttribute(zn)===`true`)continue;if((e.textContent??``).length>Hn){e.setAttribute(zn,`true`);continue}let t=n.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=[],i=t.nextNode();for(;i;)r.push(i),i=t.nextNode();let a=e.textContent??``;if(!a.includes(`.`)){e.setAttribute(zn,`true`);continue}jn.lastIndex=0;let o=[],s=jn.exec(a);for(;s;){let e=s[0];e&&Un(e)&&o.push({start:s.index,end:s.index+e.length,raw:e}),s=jn.exec(a)}for(let{start:e,end:t,raw:i}of o.reverse()){let a=Wn(r,e),o=Wn(r,t);if(!a||!o)continue;let s=n.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=n.createElement(`span`);c.setAttribute(Pn,`true`),c.textContent=i,s.deleteContents(),s.insertNode(c)}e.setAttribute(zn,`true`)}},Kn=e=>{let t=e.ownerDocument;if(!t)return;let n=e.querySelectorAll(`p, li, blockquote, h1, h2, h3, h4, h5, h6, td, th`);if(n.length!==0)for(let e of Array.from(n)){if(e.getAttribute(Bn)===`true`)continue;if(e.closest(Vn)){e.setAttribute(Bn,`true`);continue}let n=t.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:e=>{let t=e.parentElement;return!t||t.closest(Vn)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=[],i=n.nextNode();for(;i;)r.push(i),i=n.nextNode();if(r.length===0){e.setAttribute(Bn,`true`);continue}let a=r.map(e=>e.data).join(``);if(!a.includes(`/`)||!a.includes(`.`)){e.setAttribute(Bn,`true`);continue}Nn.lastIndex=0;let o=[],s=Nn.exec(a);for(;s;){let e=s[0];if(!e){s=Nn.exec(a);continue}let t=s.index>=2?a.slice(s.index-2,s.index):``;if((s.index>=1?a.charAt(s.index-1):``)===`:`||t===`:/`){s=Nn.exec(a);continue}Un(e)&&o.push({start:s.index,end:s.index+e.length,raw:e}),s=Nn.exec(a)}for(let{start:e,end:n,raw:i}of o.reverse()){let a=Wn(r,e),o=Wn(r,n);if(!a||!o)continue;let s=t.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=t.createElement(`span`);c.setAttribute(Pn,`true`),c.textContent=i,s.deleteContents(),s.insertNode(c)}e.setAttribute(Bn,`true`)}},qn=e=>{Gn(e),Kn(e)},Jn=(e,t)=>{if(e.getAttribute(`data-openchamber-file-link`)!==`true`)return;let n=(e.getAttribute(`data-openchamber-file-ref`)||e.textContent||``).trim(),r=(t.textContent||``).trim();if(!(!n||n!==r))for(let n of Rn){let r=e.getAttribute(n);r===null?t.removeAttribute(n):t.setAttribute(n,r)}},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>`,Yn={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`)},Xn=`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)]`,X=(e,t)=>{e.innerHTML=t},Z=(e,t,n)=>{let r=document.createElement(`button`);return r.type=`button`,r.className=Xn,r.setAttribute(`data-md-action`,n),r.setAttribute(`title`,t),r.setAttribute(`aria-label`,t),X(r,Yn[e]),r},Zn=(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`)}},Qn=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(`
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{nt as t,rt as n}from"./vendor-base-ui-CnHfUmDN.js";import{t as r}from"./vendor-markstream-react-CwvbEg9R.js";import{n as i,r as a,u as o}from"./vendor-reactuses-core-DDoDDyM9.js";import{t as s}from"./utils-CTL16t2f.js";import{t as c}from"./useThemeSystem-DMzWVJaW.js";import{a as l,r as u}from"./url-KeihbE0d.js";import{r as d,t as f}from"./markdownHeightCache-CvUyZT4q.js";var p=e(n(),1),m=`img:not([data-md-link-favicon="true"])`,h=e=>e.getAttribute(`data-md-image-source`)??e.getAttribute(`src`)??``,g=(e,t)=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;let n=e.target;if(!(n instanceof Element))return;let r=n.closest(m);if(r instanceof HTMLImageElement&&t.onShowPopup){let n=e.currentTarget;if(!(n instanceof HTMLElement))return;let i=Array.from(n.querySelectorAll(m)).map(e=>({url:h(e),filename:e.alt||h(e)||void 0})).filter(e=>e.url),a=h(r),o=i.findIndex(e=>e.url===a);if(!a)return;e.preventDefault(),e.stopPropagation(),t.onShowPopup({open:!0,title:r.alt||a,content:``,image:{url:a,filename:r.alt||a,gallery:i,index:o>=0?o:0}});return}let i=n.closest(`a[href]`);if(!(i instanceof HTMLAnchorElement))return;let a=i.getAttribute(`href`)??``;u(a)&&(e.preventDefault(),e.stopPropagation(),l(a))},_={maxLiveNodes:0,liveNodeBuffer:0,batchRendering:!1,deferNodesUntilVisible:!1,viewportPriority:!1,smoothStreaming:!1,typewriter:!1,fade:!1},v=t(),y=e=>e===`tool`?`markdown-content markdown-tool oc-markstream-host`:e===`reasoning`?`markdown-content markdown-reasoning oc-markstream-host`:`markdown-content leading-relaxed oc-markstream-host`,b={overflow:`wrap`},x=p.memo(({content:e,part:t,messageId:n,className:l,isStreaming:u=!1,variant:m=`assistant`,onShowPopup:h})=>{let x=c()?.currentTheme.metadata.variant===`dark`,S=p.useRef(null),C=t?.id?`oc-ms-${t.id}`:`oc-ms-${n}`,w=f(e,`markstream:${m}`),T=!u,E=p.useRef(T);E.current=T;let D=p.useRef(w);D.current=w;let O=i(e=>{if(!E.current)return;let t=e[0];if(!t)return;let n=t.borderBoxSize?.[0],r=n?n.blockSize:t.contentRect.height,i=n?n.inlineSize:t.contentRect.width;d(D.current,r,i)});o(S,O);let k=i(e=>{g(e,{onShowPopup:h})});return a(`click`,k,S),(0,v.jsx)(`div`,{ref:S,className:s(`relative break-words w-full min-w-0`,y(m),l),"data-markdown-ready":`true`,"data-markdown-hydration":`ready`,"data-oc-markdown-engine":`markstream`,"data-oc-markstream-virtual":`off`,children:(0,v.jsx)(r,{content:e,customId:C,final:!u,isDark:x,codeBlockOptions:b,codeBlockStream:u,..._})})},(e,t)=>e.content===t.content&&e.isStreaming===t.isStreaming&&e.disableStreamAnimation===t.disableStreamAnimation&&e.variant===t.variant&&e.isAnimated===t.isAnimated&&e.skipFadeIn===t.skipFadeIn&&e.className===t.className&&e.messageId===t.messageId&&e.onShowPopup===t.onShowPopup&&e.enableFileReferences===t.enableFileReferences&&e.part?.id===t.part?.id);export{x as MarkstreamRenderer};
@@ -1 +1 @@
1
- .oc-markstream-host{color:var(--surface-foreground)}.oc-markstream-host .markstream-react{color:inherit;font-family:var(--font-sans);font-size:inherit;line-height:var(--markdown-body-line-height,1.625);--foreground:inherit;--muted-foreground:var(--surface-muted-foreground);--link-color:var(--markdown-link,var(--primary));--blockquote-border-color:var(--interactive-border);--hr-border-color:var(--surface-subtle);--table-border:var(--interactive-border);--footnote-border:var(--surface-subtle);--code-bg:var(--syntax-background,var(--surface-muted));--code-fg:var(--syntax-foreground,var(--surface-foreground));--code-border:var(--interactive-border);--code-header-bg:var(--surface-muted);--code-action-fg:var(--surface-muted-foreground);--code-action-hover-bg:var(--interactive-hover);--code-action-hover-fg:var(--surface-foreground);--code-line-number:var(--surface-muted-foreground)}.oc-markstream-host .markstream-react a,.oc-markstream-host .markstream-react .link-node{color:var(--markdown-link,var(--primary))}.oc-markstream-host .markstream-react a:hover,.oc-markstream-host .markstream-react .link-node:hover{color:var(--markdown-link-hover,var(--primary))}.oc-markstream-host .markstream-react .inline-code{background:var(--syntax-background,var(--surface-muted));color:var(--syntax-foreground,var(--surface-foreground))}.oc-markstream-host.markdown-reasoning .markstream-react{color:var(--surface-muted-foreground)}.oc-markstream-host .markstream-react .paragraph-node{margin:0 0 var(--markdown-paragraph-spacing) 0}.oc-markstream-host .markstream-react>.node-slot:last-of-type .paragraph-node{margin-bottom:0}
1
+ .oc-markstream-host{color:var(--surface-foreground)}.oc-markstream-host .markstream-react{color:inherit;font-family:var(--font-sans);font-size:inherit;line-height:var(--markdown-body-line-height,1.625);--foreground:inherit;--muted-foreground:var(--surface-muted-foreground);--link-color:var(--markdown-link,var(--primary));--blockquote-border-color:var(--interactive-border);--hr-border-color:var(--surface-subtle);--table-border:var(--interactive-border);--footnote-border:var(--surface-subtle);--code-bg:var(--syntax-background,var(--surface-muted));--code-fg:var(--syntax-foreground,var(--surface-foreground));--code-border:var(--interactive-border);--code-header-bg:var(--surface-muted);--code-action-fg:var(--surface-muted-foreground);--code-action-hover-bg:var(--interactive-hover);--code-action-hover-fg:var(--surface-foreground);--code-line-number:var(--surface-muted-foreground)}.oc-markstream-host .markstream-react a,.oc-markstream-host .markstream-react .link-node{color:var(--markdown-link,var(--primary))}.oc-markstream-host .markstream-react a:hover,.oc-markstream-host .markstream-react .link-node:hover{color:var(--markdown-link-hover,var(--primary))}.oc-markstream-host .markstream-react .inline-code{background:var(--syntax-background,var(--surface-muted));color:var(--syntax-foreground,var(--surface-foreground))}.oc-markstream-host.markdown-reasoning .markstream-react{color:var(--surface-muted-foreground)}.oc-markstream-host .markstream-react .paragraph-node{margin:0 0 var(--markdown-paragraph-spacing) 0}.oc-markstream-host .markstream-react>.node-slot:last-of-type .paragraph-node{margin-bottom:0}.oc-markstream-host .markstream-react,.oc-markstream-host .markstream-react .node-slot,.oc-markstream-host .markstream-react .image-node{min-width:0;max-width:100%}.oc-markstream-host .markstream-react img:not([data-md-link-favicon=true]),.oc-markstream-host .markstream-react .image-node__img{object-fit:contain;width:auto;max-width:100%;height:auto;display:block}
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{i as t,n}from"./runtime-switch-BkpTTbEi.js";import{It as r,u as i}from"./persistence-w-AiX2i4.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{Mo as u,No as d}from"./useMobileNavigationStore-lcj5GHR3.js";import{t as f}from"./utils-CTL16t2f.js";import{n as p}from"./Icon-CLpn1mIz.js";import{t as m}from"./button-z0GOBtWi.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{i as t,n}from"./runtime-switch-BkpTTbEi.js";import{It as r,u as i}from"./persistence-w-AiX2i4.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{Mo as u,No as d}from"./useMobileNavigationStore-CD0GRjaV.js";import{t as f}from"./utils-CTL16t2f.js";import{n as p}from"./Icon-CLpn1mIz.js";import{t as m}from"./button-z0GOBtWi.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};