@openchambery/web 1.17.1-beta.13 → 1.17.1-beta.15

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 (104) hide show
  1. package/dist/assets/{AgentAvatar-Coq-zdWI.js → AgentAvatar-Bms-mdYQ.js} +1 -1
  2. package/dist/assets/AssistantView-CUtQUcwu.js +1 -0
  3. package/dist/assets/{ChatContainer-BJGlptbG.js → ChatContainer-lJeTcl1C.js} +40 -40
  4. package/dist/assets/DiagramView-CY75x4V5.js +1 -0
  5. package/dist/assets/{FadeInOnReveal-1KpYuooP.js → FadeInOnReveal-EV5Qh80w.js} +1 -1
  6. package/dist/assets/{Icon-Vc-aDche.js → Icon-DFt6p0LW.js} +1 -1
  7. package/dist/assets/{MarkdownRendererImpl-B9Bv95Vd.js → MarkdownRendererImpl-Y_pR99z4.js} +2 -2
  8. package/dist/assets/MobileDetailNavigation-Chbop9JV.js +1 -0
  9. package/dist/assets/MobileShareBridge-DCeId7D-.js +4 -0
  10. package/dist/assets/MobileSurface-8zukJPC-.js +2 -0
  11. package/dist/assets/MultiRunWindow-BXk-ri0E.js +1 -0
  12. package/dist/assets/OnboardingScreen-Ce44652u.js +1 -0
  13. package/dist/assets/OverlayScrollbar-B7g5G5ND.js +1 -0
  14. package/dist/assets/SettingsView-Xx4UAq8J.js +25 -0
  15. package/dist/assets/SettingsWindow-CPP20IXh.js +1 -0
  16. package/dist/assets/TerminalView-BTh2Fr_z.js +8 -0
  17. package/dist/assets/{ToolOutputDialog-_Qzdo46T.js → ToolOutputDialog-DtR9RaL5.js} +1 -1
  18. package/dist/assets/appThemeRegistry-DuuP4ywp.js +2 -0
  19. package/dist/assets/{button-rDAIP5kY.js → button-TdqFSeGV.js} +1 -1
  20. package/dist/assets/clipboard-DZE4HSCz.js +1 -0
  21. package/dist/assets/{collapsible-nLeZm1kw.js → collapsible-BcmzZNos.js} +1 -1
  22. package/dist/assets/{context-menu-DeJdA9F6.js → context-menu-Q7z2QbNe.js} +1 -1
  23. package/dist/assets/desktopHosts-Ch7nWzqq.js +1 -0
  24. package/dist/assets/desktopRelayRestore-BhKR5E2i.js +1 -0
  25. package/dist/assets/{diagram-C7qK82ZL.js → diagram-DPzoxeQp.js} +1 -1
  26. package/dist/assets/dialog-D9nDFQe9.js +1 -0
  27. package/dist/assets/{fileQueries-D8m3PQr0.js → fileQueries-DO24BEHy.js} +1 -1
  28. package/dist/assets/{gitApi-DV6F5KKI.js → gitApi-Fpd9P1fY.js} +1 -1
  29. package/dist/assets/{gitApiHttp-BswZXfrf.js → gitApiHttp-gCfEig4j.js} +1 -1
  30. package/dist/assets/{input-CxulMZ9j.js → input-CRIOZS4l.js} +1 -1
  31. package/dist/assets/insertionBoundaries-BHlyukUf.js +1 -0
  32. package/dist/assets/main-CkMol2De.js +172 -0
  33. package/dist/assets/main-DFTaw6D9.js +2 -0
  34. package/dist/assets/{markdown-worker-DmBYud1m.js → markdown-worker-Cdsb6HMC.js} +1 -1
  35. package/dist/assets/{markdownTheme-CNJf24L-.js → markdownTheme-DXrASRAr.js} +1 -1
  36. package/dist/assets/miniChat-BuEgPrFf.js +2 -0
  37. package/dist/assets/mobile-CsVNQcOc.js +2 -0
  38. package/dist/assets/multirun-ChIqqmtD.js +4 -0
  39. package/dist/assets/{persistence-CFtygeYy.js → persistence-Dx4t3MFT.js} +1 -1
  40. package/dist/assets/projectMeta-D05KGl1X.js +3 -0
  41. package/dist/assets/radio-bGd9JnqX.js +1 -0
  42. package/dist/assets/renderElectronMiniChatApp-_ugbw2x1.js +2 -0
  43. package/dist/assets/renderMobileApp-44aa9xko.js +23 -0
  44. package/dist/assets/{runtimeConfig-D4ETkuTj.js → runtimeConfig-B2uR3gVz.js} +1 -1
  45. package/dist/assets/runtimeEndpointReset-DwFpDiRP.js +145 -0
  46. package/dist/assets/sortable-tabs-strip-BqyQrsum.js +1 -0
  47. package/dist/assets/{terminalApi-MQ285A_s.js → terminalApi-DeRDgtLC.js} +1 -1
  48. package/dist/assets/{tooltip-CbxKYhKv.js → tooltip-L0UVzQuU.js} +1 -1
  49. package/dist/assets/{url-BSalv2ov.js → url-DNSNOUnB.js} +1 -1
  50. package/dist/assets/useAppFontEffects-D1Jk_var.js +7 -0
  51. package/dist/assets/{useAssistantUIStore-DGtjM827.js → useAssistantUIStore-CKpKMQ7k.js} +1 -1
  52. package/dist/assets/useDesktopWindowControlsLayout-BCwk_-QK.js +1 -0
  53. package/dist/assets/useEffectiveDirectory-BrFuN2US.js +1 -0
  54. package/dist/assets/{useFontPreferences-C7FEHFns.js → useFontPreferences-DkEh4AWh.js} +1 -1
  55. package/dist/assets/useMobileNavigationStore-BY-JlQ1a.js +475 -0
  56. package/dist/assets/useSessionAutoCleanup-DV8RhbfX.js +1 -0
  57. package/dist/assets/{useUIStore-WQV8IuFw.js → useUIStore-CZy3uiW5.js} +1 -1
  58. package/dist/assets/{useWorkerHighlightedLines-C74ZKDtw.js → useWorkerHighlightedLines-C-mUlcw2.js} +1 -1
  59. package/dist/assets/{utils-Cwlw2GM0.js → utils-DD0PVWqD.js} +1 -1
  60. package/dist/index.html +8 -8
  61. package/dist/mini-chat.html +8 -8
  62. package/dist/mobile.html +8 -8
  63. package/package.json +1 -1
  64. package/server/index.d.ts +2 -0
  65. package/server/index.js +3 -0
  66. package/server/lib/desktop-hosts/routes.js +7 -2
  67. package/server/lib/desktop-hosts/routes.test.js +33 -0
  68. package/server/lib/opencode/DOCUMENTATION.md +1 -1
  69. package/server/lib/opencode/bootstrap-runtime.js +2 -0
  70. package/server/lib/opencode/openchamber-routes.js +2 -0
  71. package/server/lib/opencode/settings-runtime.js +1 -1
  72. package/dist/assets/AssistantView-BXLxZXL5.js +0 -1
  73. package/dist/assets/DiagramView-Czx_DVw0.js +0 -1
  74. package/dist/assets/MobileDetailNavigation-RupyXzPu.js +0 -1
  75. package/dist/assets/MobileShareBridge-LVT1_q5C.js +0 -4
  76. package/dist/assets/MobileSurface-BVwSEqn4.js +0 -2
  77. package/dist/assets/MultiRunWindow-C7hbEpv9.js +0 -1
  78. package/dist/assets/OnboardingScreen-CrekVj31.js +0 -1
  79. package/dist/assets/OverlayScrollbar-vZXoSFA9.js +0 -1
  80. package/dist/assets/SettingsView-C1sYcHr1.js +0 -25
  81. package/dist/assets/SettingsWindow-MtcqpoiN.js +0 -1
  82. package/dist/assets/TerminalView-DXQZlHNA.js +0 -8
  83. package/dist/assets/appThemeRegistry-Chv6_pxq.js +0 -2
  84. package/dist/assets/desktopHosts-RE7NIkeq.js +0 -1
  85. package/dist/assets/desktopRelayRestore-BzyaU7-i.js +0 -1
  86. package/dist/assets/dialog-DlUK6mj-.js +0 -1
  87. package/dist/assets/i18n-BAqcSln8.js +0 -1
  88. package/dist/assets/insertionBoundaries-7-TvMfgn.js +0 -1
  89. package/dist/assets/main-CADHVH9Y.js +0 -172
  90. package/dist/assets/main-q1V-_wWx.js +0 -2
  91. package/dist/assets/miniChat-VXuyA8mS.js +0 -2
  92. package/dist/assets/mobile-CaKZM4y3.js +0 -2
  93. package/dist/assets/multirun-QqMnIbXa.js +0 -4
  94. package/dist/assets/projectMeta-WJhNyk90.js +0 -3
  95. package/dist/assets/radio-C1riLnF0.js +0 -1
  96. package/dist/assets/renderElectronMiniChatApp-CnmMV1o9.js +0 -2
  97. package/dist/assets/renderMobileApp-Bhe41b2q.js +0 -23
  98. package/dist/assets/runtimeEndpointReset-GtJt8YhT.js +0 -145
  99. package/dist/assets/sortable-tabs-strip-Fiq5nrkF.js +0 -1
  100. package/dist/assets/ui-D5j3JxkE.js +0 -475
  101. package/dist/assets/useAppFontEffects-CaGwli-K.js +0 -7
  102. package/dist/assets/useDesktopWindowControlsLayout-DCZXksMp.js +0 -1
  103. package/dist/assets/useEffectiveDirectory-CssNtlqg.js +0 -1
  104. package/dist/assets/useSessionAutoCleanup-B_mSwN7n.js +0 -1
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/gitApi-Fpd9P1fY.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-Dx4t3MFT.js","assets/useUIStore-CZy3uiW5.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/gitApiHttp-gCfEig4j.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/useMobileNavigationStore-BY-JlQ1a.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/clipboard-DZE4HSCz.js","assets/store-CS6l6pH7.js","assets/useAssistantUIStore-CKpKMQ7k.js","assets/vendor-fuse.js-DB5wDJbI.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./useUIStore-CZy3uiW5.js";import{Ft as n,Sn as r,Zt as i,n as a,qt as o,t as s}from"./persistence-Dx4t3MFT.js";import{nt as c,rt as l}from"./vendor-base-ui-CnHfUmDN.js";import{kt as u,yt as d}from"./gitApiHttp-gCfEig4j.js";import{o as f}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as p,t as m}from"./vendor-react-DLPElpoQ.js";/* empty css */import{n as h,s as g}from"./vendor-reactuses-core-DDoDDyM9.js";import{i as _,n as v}from"./clipboard-DZE4HSCz.js";import{n as y}from"./store-CS6l6pH7.js";import{Ki as b,b as x,en as ee,fo as te,ja as ne,kt as re,l as S,un as ie}from"./useMobileNavigationStore-BY-JlQ1a.js";import{t as ae}from"./utils-DD0PVWqD.js";import{n as oe}from"./Icon-DFt6p0LW.js";import{t as se}from"./button-TdqFSeGV.js";import{$ as ce,B as le,C as ue,G as C,H as de,J as w,K as fe,S as pe,U as me,V as T,W as he,a as ge,q as _e,t as E,z as D}from"./useAppFontEffects-D1Jk_var.js";import{c as ve}from"./projectMeta-D05KGl1X.js";import{r as ye}from"./tooltip-L0UVzQuU.js";import{p as be}from"./useSessionAutoCleanup-DV8RhbfX.js";import{U as xe,z as O}from"./radio-bGd9JnqX.js";import{A as Se,q as Ce,t as we}from"./ChatContainer-lJeTcl1C.js";import{n as Te}from"./useRuntimeAPIs-DSLXJybW.js";import{b as Ee,f as De}from"./insertionBoundaries-BHlyukUf.js";import{i as Oe,n as ke,r as Ae,t as je}from"./useDesktopWindowControlsLayout-BCwk_-QK.js";var Me=m(),k=p(),A=e(l(),1),j=c(),Ne=e=>{let t=(0,k.c)(3),{mode:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,j.jsx)(Se.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i},Pe=e=>{let t=typeof e==`string`?e.trim():``;if(!t)return``;let n=typeof window<`u`?window.__OPENCHAMBER_HOME__:``;if(n&&t===n)return`~`;if(n&&t.startsWith(`${n}/`))return`~/${t.slice(n.length+1)}`;let r=t.split(`/`).filter(Boolean);return r.length<=3?t:`.../${r.slice(-3).join(`/`)}`},M=e=>{let t=typeof e==`string`?e.trim():``;if(!t)return``;let n=t.replace(/\\/g,`/`);return n===`/`?`/`:n.replace(/\/+$/,``)},Fe=e=>{let t=(0,k.c)(131),{mode:n}=e,{t:r}=v(),a=S(Ie),s=S(Le),c=S(Re),l=d(ze),u=te(Be),f=te(Ve),p=b(He),m=b(Ue),h=ie(),g=ee(a??``),_=Te(),y=Ee(We),ne;t[0]===a?ne=t[1]:(ne=e=>a?e.worktreeMetadata.get(a)?.path??``:``,t[0]=a,t[1]=ne);let re=S(ne),ce;t[2]===a?ce=t[3]:(ce=e=>a?e.worktreeMetadata.get(a)?.branch?.trim()??null:null,t[2]=a,t[3]=ce);let le=S(ce),ue;t[4]===a?ue=t[5]:(ue=e=>a?e.getAttachment(a):void 0,t[4]=a,t[5]=ue);let C=x(ue),de=S(Ge),[w,fe]=A.useState(!1),pe=typeof window<`u`?window.__OPENCHAMBER_MACOS_MAJOR__??0:0,me=Number.isFinite(pe)&&pe>0,{usesFramelessChrome:T,side:he}=je(),ge=me?pe>=26?`h-12`:pe<=15?`h-14`:``:``,_e;t[6]!==a||t[7]!==h?(_e=a?h.find(e=>e.id===a)??null:null,t[6]=a,t[7]=h,t[8]=_e):_e=t[8];let E=_e,D=E?.worktreeMetadata??null,ve,ye;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>{i()&&o(`desktop_get_window_pinned`).then(e=>{typeof e?.pinned==`boolean`&&fe(e.pinned)})},ye=[],t[9]=ve,t[10]=ye):(ve=t[9],ye=t[10]),A.useEffect(ve,ye);let be;t[11]!==s||t[12]!==n||t[13]!==E?.title||t[14]!==r?(be=E?.title?.trim()||r(s||n===`draft`?`miniChat.header.newSession`:`miniChat.header.session`),t[11]=s,t[12]=n,t[13]=E?.title,t[14]=r,t[15]=be):be=t[15];let xe=be,O=E?.directory??null,Se;t[16]===O?Se=t[17]:(Se=M(O),t[16]=O,t[17]=Se);let Ce=Se,we=re||D?.path||C?.cwd||C?.worktreeRoot||``,Me;t[18]===we?Me=t[19]:(Me=M(we),t[18]=we,t[19]=Me);let Ne=Me,Fe;t[20]===l?Fe=t[21]:(Fe=M(l),t[20]=l,t[21]=Fe);let N=Ne||Ce||de||Fe,P;t[22]===N?P=t[23]:(P=Pe(N),t[22]=N,t[23]=P);let Qe=P,$e;t[24]!==Ce||t[25]!==Ne?($e=e=>{let t=M(Ne||Ce||``);if(!t)return null;for(let n of e.availableWorktreesByProject.values()){let e=n.find(e=>M(e.path)===t)?.branch?.trim();if(e)return e}return null},t[24]=Ce,t[25]=Ne,t[26]=$e):$e=t[26];let et=S($e),tt,nt;t[27]!==y||t[28]!==N||t[29]!==_.git?(tt=()=>{N&&y(N,_.git).catch(Ke)},nt=[y,N,_.git],t[27]=y,t[28]=N,t[29]=_.git,t[30]=tt,t[31]=nt):(tt=t[30],nt=t[31]),A.useEffect(tt,nt),D?.projectDirectory,C?.worktreeRoot;let rt;bb0:{let e=D?.projectDirectory??C?.worktreeRoot??null,n;t[32]===e?n=t[33]:(n=M(e),t[32]=e,t[33]=n);let r=n||N;if(!r){rt=null;break bb0}let i;t[34]!==r||t[35]!==u?(i=u.map(qe).filter(e=>e.normalizedPath&&(e.normalizedPath===r||r.startsWith(`${e.normalizedPath}/`))).sort(Je)[0]??null,t[34]=r,t[35]=u,t[36]=i):i=t[36],rt=i}let it=rt,at;bb1:{let e=it??f;if(!e){at=Qe||`OpenChamber`;break bb1}let n;t[37]===e.path?n=t[38]:(n=e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,t[37]=e.path,t[38]=n),at=n}let ot=at,st=De(N||null),ct;t[39]!==et||t[40]!==st||t[41]!==D?.branch||t[42]!==C?.branch||t[43]!==le?(ct=st||le||D?.branch?.trim()||C?.branch?.trim()||et,t[39]=et,t[40]=st,t[41]=D?.branch,t[42]=C?.branch,t[43]=le,t[44]=ct):ct=t[44];let lt=ct,ut=lt&&lt!==`HEAD`?lt:null,dt;t[45]===p?dt=t[46]:(dt=p(),t[45]=p,t[46]=dt);let ft=dt,pt;bb2:{for(let e=g.length-1;e>=0;--e){let t=g[e];if(t.role!==`assistant`||typeof t.providerID!=`string`||typeof t.modelID!=`string`)continue;let n=m.find(e=>e.id===t.providerID)?.models.find(e=>e.id===t.modelID);if(n){pt=n;break bb2}}pt=void 0}let mt=pt,ht=ft?.limit?ft:mt,gt=ht&&typeof ht.limit==`object`&&ht.limit!==null?ht.limit:null,F=gt&&typeof gt.context==`number`?gt.context:0,_t=gt&&typeof gt.output==`number`?gt.output:0,vt;bb3:{if(!a||g.length===0){vt=null;break bb3}let e,n;for(let t=g.length-1;t>=0;--t){let r=g[t];if(r.role!==`assistant`)continue;let i=r.tokens;if(i&&i.input+i.output+i.reasoning+(i.cache?.read??0)+(i.cache?.write??0)>0){e=i,n=r.id;break}}if(!e){vt=null;break bb3}let r=e.input+e.output+e.reasoning+(e.cache?.read??0)+(e.cache?.write??0),i=F>0?F:2e5,o;t[47]!==F||t[48]!==r?(o=F>0?Math.round(r/F*100):0,t[47]=F,t[48]=r,t[49]=o):o=t[49];let s=o,c;t[50]!==e.output||t[51]!==_t?(c=_t>0?Math.round(e.output/_t*100):void 0,t[50]=e.output,t[51]=_t,t[52]=c):c=t[52];let l=c,u=F||0,d=_t||void 0,f;t[53]!==n||t[54]!==l||t[55]!==s||t[56]!==u||t[57]!==d||t[58]!==i||t[59]!==r?(f={totalTokens:r,percentage:s,contextLimit:u,outputLimit:d,normalizedOutput:l,thresholdLimit:i,lastMessageId:n},t[53]=n,t[54]=l,t[55]=s,t[56]=u,t[57]=d,t[58]=i,t[59]=r,t[60]=f):f=t[60],vt=f}let I=vt,[L,yt]=A.useState(null),bt;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(bt={WebkitAppRegion:`drag`},t[61]=bt):bt=t[61];let xt=bt,St;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(St={WebkitAppRegion:`no-drag`},t[62]=St):St=t[62];let Ct=St,wt,Tt;t[63]!==I||t[64]!==a?(wt=()=>{if(!a){yt(Ye);return}if(I&&I.totalTokens>0){yt(e=>e&&e.totalTokens===I.totalTokens&&e.percentage===I.percentage&&e.contextLimit===I.contextLimit&&(e.outputLimit??0)===(I.outputLimit??0)&&(e.normalizedOutput??0)===(I.normalizedOutput??0)&&e.thresholdLimit===I.thresholdLimit&&e.lastMessageId===I.lastMessageId?e:I);return}yt(Xe)},Tt=[I,a],t[63]=I,t[64]=a,t[65]=wt,t[66]=Tt):(wt=t[65],Tt=t[66]),A.useEffect(wt,Tt);let Et=L&&L.contextLimit>0?Math.min(999,L.totalTokens/L.contextLimit*100):0,Dt;t[67]===w?Dt=t[68]:(Dt=()=>{let e=!w;fe(e),o(`desktop_set_window_pinned`,{pinned:e}).catch(()=>{fe(!e)})},t[67]=w,t[68]=Dt);let Ot=Dt,kt;t[69]!==l||t[70]!==a||t[71]!==c||t[72]!==N||t[73]!==E?(kt=()=>{let e=a?{sessionId:a,directory:E?.directory??l??``}:{mode:`draft`,directory:N||l||``,projectId:c};o(`desktop_focus_main_window`,e).then(Ze)},t[69]=l,t[70]=a,t[71]=c,t[72]=N,t[73]=E,t[74]=kt):kt=t[74];let At=kt,jt=T?`h-12`:ge||`min-h-14`,R;t[75]===jt?R=t[76]:(R=ae(`flex items-center gap-3 bg-background pr-3`,me?`pl-[5.5rem]`:`pl-3`,jt),t[75]=jt,t[76]=R);let z;t[77]!==T||t[78]!==he?(z=T&&he===`left`?(0,j.jsx)(Ae,{visible:!0,position:`left`}):null,t[77]=T,t[78]=he,t[79]=z):z=t[79];let B;t[80]===r?B=t[81]:(B=r(`sessions.switcher.openAria`),t[80]=r,t[81]=B);let V;t[82]===xe?V=t[83]:(V=(0,j.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full`,children:xe}),t[82]=xe,t[83]=V);let H;t[84]===ot?H=t[85]:(H=(0,j.jsx)(`span`,{className:`truncate`,children:ot}),t[84]=ot,t[85]=H);let U;t[86]===ut?U=t[87]:(U=ut?(0,j.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-0.5`,children:[(0,j.jsx)(oe,{name:`git-branch`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground/70`}),(0,j.jsx)(`span`,{className:`truncate`,children:ut})]}):null,t[86]=ut,t[87]=U);let W;t[88]!==H||t[89]!==U?(W=(0,j.jsxs)(`span`,{className:`flex min-w-0 max-w-full items-center gap-1.5 truncate typography-micro text-[10.5px] font-normal leading-tight text-muted-foreground/75`,children:[H,U]}),t[88]=H,t[89]=U,t[90]=W):W=t[90];let G;t[91]!==B||t[92]!==V||t[93]!==W?(G=(0,j.jsx)(ke,{children:(0,j.jsxs)(`button`,{type:`button`,"aria-label":B,style:Ct,className:`flex min-w-0 max-w-full flex-col items-start rounded-md px-1 py-0.5 text-left transition-colors hover:bg-interactive-hover/60 focus-visible:outline-none focus-visible:bg-interactive-hover/60`,children:[V,W]})}),t[91]=B,t[92]=V,t[93]=W,t[94]=G):G=t[94];let Mt;t[95]===Symbol.for(`react.memo_cache_sentinel`)?(Mt=(0,j.jsx)(`div`,{className:`min-w-0 flex-1`}),t[95]=Mt):Mt=t[95];let K;t[96]!==Et||t[97]!==L?(K=L&&L.totalTokens>0?(0,j.jsx)(Oe,{totalTokens:L.totalTokens,percentage:Et,colorPercentage:L.percentage,contextLimit:L.contextLimit,outputLimit:L.outputLimit??0,className:`h-9 shrink-0 pl-1 pr-1 typography-ui-label`,valueClassName:`font-semibold leading-none`,hideIcon:!0,showPercentIcon:!0,percentIconClassName:`h-4.5 w-4.5`}):null,t[96]=Et,t[97]=L,t[98]=K):K=t[98];let q;t[99]!==w||t[100]!==r?(q=r(w?`miniChat.actions.unpinAria`:`miniChat.actions.pinAria`),t[99]=w,t[100]=r,t[101]=q):q=t[101];let J;t[102]!==w||t[103]!==r?(J=r(w?`miniChat.actions.unpin`:`miniChat.actions.pin`),t[102]=w,t[103]=r,t[104]=J):J=t[104];let Y;t[105]===w?Y=t[106]:(Y=w?(0,j.jsx)(oe,{name:`pushpin-2-fill`,className:`h-4 w-4`}):(0,j.jsx)(oe,{name:`pushpin-2`,className:`h-4 w-4`}),t[105]=w,t[106]=Y);let X;t[107]!==Ot||t[108]!==q||t[109]!==J||t[110]!==Y?(X=(0,j.jsx)(se,{type:`button`,variant:`ghost`,size:`icon`,onClick:Ot,"aria-label":q,title:J,style:Ct,children:Y}),t[107]=Ot,t[108]=q,t[109]=J,t[110]=Y,t[111]=X):X=t[111];let Z;t[112]===r?Z=t[113]:(Z=r(`miniChat.actions.openMainAria`),t[112]=r,t[113]=Z);let Q;t[114]===r?Q=t[115]:(Q=r(`miniChat.actions.openMain`),t[114]=r,t[115]=Q);let Nt;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,j.jsx)(oe,{name:`external-link`,className:`h-4 w-4`}),t[116]=Nt):Nt=t[116];let $;t[117]!==At||t[118]!==Z||t[119]!==Q?($=(0,j.jsx)(se,{type:`button`,variant:`ghost`,size:`icon`,onClick:At,"aria-label":Z,title:Q,style:Ct,children:Nt}),t[117]=At,t[118]=Z,t[119]=Q,t[120]=$):$=t[120];let Pt=T&&he===`right`,Ft;t[121]===Pt?Ft=t[122]:(Ft=(0,j.jsx)(Ae,{visible:Pt,position:`right`}),t[121]=Pt,t[122]=Ft);let It;return t[123]!==R||t[124]!==z||t[125]!==G||t[126]!==K||t[127]!==X||t[128]!==$||t[129]!==Ft?(It=(0,j.jsxs)(`header`,{className:R,style:xt,children:[z,G,Mt,K,X,$,Ft]}),t[123]=R,t[124]=z,t[125]=G,t[126]=K,t[127]=X,t[128]=$,t[129]=Ft,t[130]=It):It=t[130],It},N=e=>{let t=(0,k.c)(9),{mode:n,autoOpenDraft:r,unavailable:i}=e,a=r!==void 0&&r,o=i!==void 0&&i,{t:s}=v(),c;t[0]===n?c=t[1]:(c=(0,j.jsx)(Fe,{mode:n}),t[0]=n,t[1]=c);let l;t[2]!==a||t[3]!==s||t[4]!==o?(l=(0,j.jsx)(`main`,{className:`min-h-0 flex-1`,children:o?(0,j.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center typography-ui-label text-muted-foreground`,children:(0,j.jsxs)(`div`,{className:`max-w-sm rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] px-4 py-3`,children:[(0,j.jsx)(`div`,{className:`font-medium text-foreground`,children:s(`miniChat.unavailable.title`)}),(0,j.jsx)(`div`,{className:`mt-1 typography-small text-muted-foreground`,children:s(`miniChat.unavailable.description`)})]})}):(0,j.jsx)(Ne,{mode:`mini-chat`,children:(0,j.jsx)(we,{autoOpenDraft:a})})}),t[2]=a,t[3]=s,t[4]=o,t[5]=l):l=t[5];let u;return t[6]!==c||t[7]!==l?(u=(0,j.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background text-foreground`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8],u};function Ie(e){return e.currentSessionId}function Le(e){return!!e.newSessionDraft?.open}function Re(e){return e.newSessionDraft?.selectedProjectId??null}function ze(e){return e.currentDirectory}function Be(e){return e.projects}function Ve(e){return e.getActiveProject()}function He(e){return e.getCurrentModel}function Ue(e){return e.providers}function We(e){return e.ensureStatus}function Ge(e){return e.newSessionDraft?.open?M(e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``):``}function Ke(){}function qe(e){return{...e,normalizedPath:M(e.path)}}function Je(e,t){return t.path.length-e.path.length}function Ye(e){return e===null?e:null}function Xe(e){return e===null?e:null}function Ze(e){return e?.focused===!0?o(`desktop_close_current_window`):null}var P=()=>{document.querySelector(`textarea[data-chat-input="true"]`)?.focus()},Qe=()=>{let e=t(e=>e.shortcutOverrides),r=d(e=>e.currentDirectory),i=te(e=>e.getActiveProject()),a=S(e=>e.openNewSessionDraft);A.useEffect(()=>{let s=t=>xe(t,e),c=e=>{if(O(e,s(`focus_input`))){e.preventDefault(),P();return}if(n()&&O(e,s(`close_context_panel_tab`))){e.preventDefault(),o(`desktop_close_current_window`).catch(e=>{console.warn(`[mini-chat-shortcuts] failed to close current window`,e)});return}if(n()&&O(e,s(`new_mini_chat`))){e.preventDefault(),o(`desktop_open_draft_mini_chat_window`,{directory:r||i?.path||``,projectId:i?.id??null})?.catch(e=>{console.warn(`[mini-chat-shortcuts] failed to open draft mini chat window`,e)});return}if(O(e,s(`new_chat`))){e.preventDefault(),a({selectedProjectId:i?.id??null,directoryOverride:r||i?.path||null,preserveDirectoryOverride:!!(r||i?.path)}),P();return}if(O(e,s(`open_model_selector`))){e.preventDefault();let{isModelSelectorOpen:n,setModelSelectorOpen:r}=t.getState();r(!n,{instant:!0});return}if(O(e,s(`cycle_thinking_variant`))){let t=b.getState();if(t.getCurrentModelVariants().length===0)return;e.preventDefault(),t.cycleCurrentVariant();let n=b.getState().currentVariant,r=S.getState().currentSessionId,i=b.getState().currentAgentName,a=b.getState().currentProviderId,o=b.getState().currentModelId;r&&i&&a&&o&&ne.getState().saveAgentModelVariantForSession(r,i,a,o,n),i&&a&&o&&b.getState().saveAgentModelSelection(i,a,o,n);return}let c=O(e,s(`cycle_favorite_model_forward`)),l=O(e,s(`cycle_favorite_model_backward`));if(c||l){let{favoriteModels:n,addRecentModel:r}=t.getState();if(n.length===0)return;e.preventDefault();let{currentProviderId:i,currentModelId:a,setProvider:o,setModel:s}=b.getState(),l=n[(n.findIndex(e=>e.providerID===i&&e.modelID===a)+(c?1:-1)+n.length)%n.length];o(l.providerID),s(l.modelID),r(l.providerID,l.modelID)}};return window.addEventListener(`keydown`,c),()=>window.removeEventListener(`keydown`,c)},[i?.id,i?.path,r,a,e])},$e=`openchamber:mini-chat-presence`,et=()=>{let e=typeof window<`u`?new URLSearchParams(window.location.search):new URLSearchParams;return{mode:e.get(`mode`)===`session`?`session`:`draft`,sessionId:e.get(`sessionId`)?.trim()||null,directory:e.get(`directory`)?.trim()||null,projectId:e.get(`projectId`)?.trim()||null}},tt=({config:e})=>{let t=ie(),n=d(e=>e.currentDirectory),r=d(e=>e.setDirectory),i=te(e=>e.projects),a=S(e=>e.currentSessionId),o=S(e=>!!e.newSessionDraft?.open),s=S(e=>e.newSessionDraft?.open?e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``:``),c=S(e=>e.setCurrentSession),l=S(e=>e.openNewSessionDraft),u=b(e=>e.initializeApp),p=b(e=>e.isInitialized),m=Ce();A.useEffect(()=>{u()},[u]),A.useEffect(()=>{if(p)return;let e=!0,t=0,n=window.setInterval(()=>{if(e){if(t+=1,t>10){window.clearInterval(n);return}b.getState().isInitialized||b.getState().initializeApp()}},1e3);return()=>{e=!1,window.clearInterval(n)}},[p]);let _=A.useRef(!1);A.useEffect(()=>{if(!_.current&&e.mode===`session`&&e.directory){if(n===e.directory){_.current=!0;return}r(e.directory,{showOverlay:!1}),_.current=!0}},[e.directory,e.mode,n,r]),A.useEffect(()=>{e.mode!==`draft`||!o||a||!s||n===s||r(s,{showOverlay:!1})},[e.mode,n,a,s,o,r]),T({enabled:!0,source:`electronMiniChat:recovery`});let v=A.useRef(!1);A.useEffect(()=>{if(v.current||e.mode!==`session`||!e.sessionId)return;if(a===e.sessionId){v.current=!0;return}if(a){v.current=!0;return}let n=t.find(t=>t.id===e.sessionId);if(!n){m.ensureSessionRenderable(e.sessionId);return}let r=n.directory??e.directory;c(e.sessionId,r),v.current=!0},[e,a,t,c,m]);let y=g(t),x=h(e=>{let t=e.detail,n=typeof t?.sessionId==`string`?t.sessionId.trim():``;if(!n||S.getState().currentSessionId===n)return;let r=typeof t?.directory==`string`&&t.directory.trim().length>0?t.directory.trim():y.current.find(e=>e.id===n)?.directory??null;m.ensureSessionRenderable(n),c(n,r),v.current=!0});A.useEffect(()=>(window.addEventListener(`openchamber:open-session`,x),()=>window.removeEventListener(`openchamber:open-session`,x)),[x]),A.useEffect(()=>{e.mode!==`draft`||o||a||l({selectedProjectId:e.projectId,directoryOverride:e.directory,preserveDirectoryOverride:!!e.directory})},[e,a,o,l]),A.useEffect(()=>{if(i.length===0)return;let e=!1;return(async()=>{await Promise.all(i.map(async t=>{let n=t.path.replace(/\\/g,`/`).replace(/\/+$/,``);if(n)try{if(!(Ee.getState().directories.get(n)?.isGitRepo??await f(()=>import(`./gitApi-Fpd9P1fY.js`).then(e=>e.S).then(e=>e.checkIsGitRepository(n)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])))||e)return;await ve({id:t.id,path:n},{isCurrent:()=>!e})}catch{}}))})(),()=>{e=!0}},[i]);let ee=A.useRef(!1);return A.useEffect(()=>{if(ee.current||!p)return;let t=()=>{if(ee.current)return;ee.current=!0;let e=typeof document<`u`?document.getElementById(`initial-loading`):null;e&&(e.classList.add(`fade-out`),window.setTimeout(()=>e.remove(),300))},n=e.mode===`session`?a===e.sessionId:o,r=window.setTimeout(t,n?100:1500);return()=>window.clearTimeout(r)},[p,e.mode,e.sessionId,a,o]),null},nt=()=>{let e=(0,k.c)(4),t=S(ut),n=d(dt),r,i;return e[0]!==n||e[1]!==t?(r=()=>{if(!t||!n||typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel($e),r=r=>{e.postMessage({type:`mini-chat-session-presence`,sessionId:t,directory:n,viewed:r})};r(!0);let i=window.setInterval(()=>r(!0),5e3),a=()=>r(!1);return window.addEventListener(`beforeunload`,a),()=>{window.clearInterval(i),window.removeEventListener(`beforeunload`,a),r(!1),e.close()}},i=[n,t],e[0]=n,e[1]=t,e[2]=r,e[3]=i):(r=e[2],i=e[3]),A.useEffect(r,i),null},rt=e=>{let t=(0,k.c)(6),n=ie(),r=S(ft),[i,a]=A.useState(!1),o,s;return t[0]!==e.mode||t[1]!==e.sessionId||t[2]!==r||t[3]!==n?(o=()=>{if(e.mode!==`session`||!e.sessionId||r===e.sessionId){a(!1);return}if(n.some(t=>t.id===e.sessionId)){a(!1);return}let t=window.setTimeout(()=>a(!0),5e3);return()=>window.clearTimeout(t)},s=[e.mode,e.sessionId,r,n],t[0]=e.mode,t[1]=e.sessionId,t[2]=r,t[3]=n,t[4]=o,t[5]=s):(o=t[4],s=t[5]),A.useEffect(o,s),i};function it(e){let t=(0,k.c)(16),{apis:n}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=et(),t[0]=i):i=t[0];let a=i,o=d(ct),s=S(st),c=S(ot),l,f;t[1]===o?(l=t[2],f=t[3]):(l=()=>{u.setDirectory(o||a.directory||void 0)},f=[a.directory,o],t[1]=o,t[2]=l,t[3]=f),A.useEffect(l,f);let p,m;t[4]===n?(p=t[5],m=t[6]):(p=()=>(r(n),at),m=[n],t[4]=n,t[5]=p,t[6]=m),A.useEffect(p,m),E(),Qe();let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h={enabled:!0},t[7]=h):h=t[7],ue(h),pe();let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=u.getSdkClient(),t[8]=g):g=t[8];let _=o||a.directory||``,v=!(c&&s===null),y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,j.jsx)(ye,{delayDuration:300,skipDelayDuration:150,children:(0,j.jsxs)(`div`,{className:`h-full text-foreground bg-background`,children:[(0,j.jsx)(lt,{config:a}),(0,j.jsx)(D,{})]})}),t[9]=y):y=t[9];let b;t[10]===n?b=t[11]:(b=(0,j.jsx)(le,{apis:n,children:y}),t[10]=n,t[11]=b);let x;return t[12]!==b||t[13]!==_||t[14]!==v?(x=(0,j.jsx)(be,{children:(0,j.jsx)(re,{sdk:g,directory:_,bootstrapDirectory:v,children:b})}),t[12]=b,t[13]=_,t[14]=v,t[15]=x):x=t[15],x}function at(){return r(null)}function ot(e){return!!e.newSessionDraft?.open}function st(e){return e.currentSessionId}function ct(e){return e.currentDirectory}var lt=e=>{let t=(0,k.c)(11),{config:n}=e,r=rt(n),i;t[0]===n?i=t[1]:(i=(0,j.jsx)(tt,{config:n}),t[0]=n,t[1]=i);let a,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,j.jsx)(nt,{}),o=(0,j.jsx)(ge,{embeddedBackgroundWorkEnabled:!0}),t[2]=a,t[3]=o):(a=t[2],o=t[3]);let s=n.mode===`draft`,c;t[4]!==n.mode||t[5]!==r||t[6]!==s?(c=(0,j.jsx)(N,{mode:n.mode,autoOpenDraft:s,unavailable:r}),t[4]=n.mode,t[5]=r,t[6]=s,t[7]=c):c=t[7];let l;return t[8]!==i||t[9]!==c?(l=(0,j.jsxs)(j.Fragment,{children:[i,a,o,c]}),t[8]=i,t[9]=c,t[10]=l):l=t[10],l};function ut(e){return e.currentSessionId}function dt(e){return e.currentDirectory}function ft(e){return e.currentSessionId}var pt=()=>{y(),s().then(()=>{Promise.all([a(),ce()]).catch(e=>{console.error(`[mini-chat-main] settings init failed:`,e)}),C(),he(),me()}).catch(e=>{console.error(`[mini-chat-main] appearance init failed:`,e)})};function mt(e){pt();let t=document.getElementById(`root`);if(!t)throw Error(`Root element not found`);(0,Me.createRoot)(t).render((0,j.jsx)(A.StrictMode,{children:(0,j.jsx)(de,{children:(0,j.jsx)(_,{children:(0,j.jsx)(fe,{children:(0,j.jsx)(_e,{children:(0,j.jsx)(w,{children:(0,j.jsx)(it,{apis:e})})})})})})}))}export{mt as renderElectronMiniChatApp};