@openchambery/web 1.19.15-beta.4 → 1.19.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 (52) hide show
  1. package/dist/assets/{AssistantView-bxT9mr97.js → AssistantView-xdL1EvpR.js} +2 -2
  2. package/dist/assets/{DiagramView-DJPrdklU.js → DiagramView-DPgkYU-_.js} +1 -1
  3. package/dist/assets/MarkdownRenderer-CP7UVZdr.js +2 -0
  4. package/dist/assets/{MarkdownRendererImpl-CBdwjEMH.js → MarkdownRendererImpl-BB1Q1RWk.js} +1 -1
  5. package/dist/assets/{MarkstreamRendererImpl-CHwYXkzv.js → MarkstreamRendererImpl-BjQrUIcq.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-DLmATOi0.js → MobileDetailNavigation-Cyzs6cuR.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-BbvoAeXg.js → MobileShareBridge-A-Z6jMUn.js} +1 -1
  8. package/dist/assets/MobileSurface-DjDa20gx.js +2 -0
  9. package/dist/assets/{MultiRunWindow-B7XPMkdc.js → MultiRunWindow-Cg5x-kJV.js} +1 -1
  10. package/dist/assets/{SettingsView-DABJm3u8.js → SettingsView-CYrTHDdp.js} +1 -1
  11. package/dist/assets/{SettingsWindow-D7n0m-52.js → SettingsWindow-CF-0Zgxr.js} +1 -1
  12. package/dist/assets/{TerminalView-DERnAkUi.js → TerminalView-CShou18D.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-Bx3plCCc.js → ToolOutputDialog-BvmxlNOa.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-BdHiNL-J.js → appThemeRegistry-iqSTUpPj.js} +1 -1
  15. package/dist/assets/{fileMentionTouchSelection-B3sIMQCF.js → fileMentionTouchSelection-CddGH2aH.js} +1 -1
  16. package/dist/assets/{gitApi-CDc5ynsh.js → gitApi-BwuaHHRQ.js} +1 -1
  17. package/dist/assets/{insertionBoundaries-3yNePddt.js → insertionBoundaries-og6NBgdn.js} +1 -1
  18. package/dist/assets/{main-5GGJlyEB.js → main-31g3JiQx.js} +4 -4
  19. package/dist/assets/{main-C_21O0IU.js → main-VD-QBM47.js} +2 -2
  20. package/dist/assets/{miniChat-Ti_tFK96.js → miniChat-DwCMTamY.js} +2 -2
  21. package/dist/assets/{mobile-BUYP8DBL.js → mobile-C7q1yowe.js} +2 -2
  22. package/dist/assets/{multirun-CXazK6qX.js → multirun-DcN5T0lN.js} +1 -1
  23. package/dist/assets/{projectMeta-sXx-r5jn.js → projectMeta-moNJYCK4.js} +1 -1
  24. package/dist/assets/{renderElectronMiniChatApp-CLx8jNP4.js → renderElectronMiniChatApp-DVkgKA6A.js} +2 -2
  25. package/dist/assets/{renderMobileApp-BGKxwMFU.js → renderMobileApp-BgEXZhCO.js} +4 -4
  26. package/dist/assets/{runtimeConfig-YCy1Bcb2.js → runtimeConfig-B49cxtgI.js} +1 -1
  27. package/dist/assets/{runtimeEndpointReset-Dh3YvmRM.js → runtimeEndpointReset-9K_Dj1qR.js} +1 -1
  28. package/dist/assets/{sessionLookup-BzkA2pF0.js → sessionLookup-m3h8c4xR.js} +1 -1
  29. package/dist/assets/{useAppFontEffects-BLw4Av7h.js → useAppFontEffects-DRFi4TCE.js} +5 -5
  30. package/dist/assets/{useDesktopWindowControlsLayout-DNDIYvwP.js → useDesktopWindowControlsLayout-BdNR3zMN.js} +1 -1
  31. package/dist/assets/{useEffectiveDirectory-B_3sINMx.js → useEffectiveDirectory-COoPja_2.js} +1 -1
  32. package/dist/assets/{useMobileNavigationStore-BBVnSn9p.js → useMobileNavigationStore-Cn0-ozUB.js} +1 -1
  33. package/dist/assets/{useSessionAutoCleanup-SsGxsSRB.js → useSessionAutoCleanup-XwgyzsEd.js} +1 -1
  34. package/dist/assets/{useWorkerHighlightedLines-WCuVI6O_.js → useWorkerHighlightedLines-GgcqEoKY.js} +1 -1
  35. package/dist/index.html +2 -2
  36. package/dist/mini-chat.html +2 -2
  37. package/dist/mobile.html +2 -2
  38. package/package.json +1 -1
  39. package/server/lib/assistants/DOCUMENTATION.md +31 -6
  40. package/server/lib/assistants/contact-tools.js +1 -16
  41. package/server/lib/assistants/contact-tools.test.js +0 -27
  42. package/server/lib/assistants/harness.js +140 -133
  43. package/server/lib/assistants/harness.test.js +207 -43
  44. package/server/lib/assistants/service.js +10 -33
  45. package/server/lib/assistants/service.test.js +75 -3
  46. package/server/lib/llm/DOCUMENTATION.md +8 -1
  47. package/server/lib/llm/completions.js +5 -0
  48. package/server/lib/llm/completions.test.js +19 -0
  49. package/server/lib/llm/generate.js +5 -1
  50. package/server/lib/llm/generate.test.js +23 -0
  51. package/dist/assets/MarkdownRenderer-4gjE7aM5.js +0 -2
  52. package/dist/assets/MobileSurface-BBOx43VU.js +0 -2
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/gitApi-CDc5ynsh.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-fetch-zIalUnbb.js","assets/runtime-auth-D66yq6ie.js","assets/runtime-switch-LvWDU-SL.js","assets/persistence-DwRBC4zl.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CxOoCv7B.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-DQ5_LNKO.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/useMobileNavigationStore-BBVnSn9p.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-BnW6GxJt.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-GUUNlWIv.js","assets/store-ClnJdJSj.js","assets/useAssistantUIStore-CLPCNoj_.js","assets/vendor-fuse.js-DB5wDJbI.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{$t as t,Lt as n,Yt as r,n as i,t as a,wn as o}from"./persistence-DwRBC4zl.js";import{nt as s,rt as c}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as l,Nt as u}from"./platform-DQ5_LNKO.js";import{t as d}from"./useUIStore-CxOoCv7B.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-BnW6GxJt.js";import{i as _,n as v}from"./clipboard-GUUNlWIv.js";import{n as y}from"./store-ClnJdJSj.js";import{Ia as b,Mn as x,Nn as ee,Nt as te,Qi as S,c as C,go as ne,in as re,mn as ie,ra as ae,y as oe}from"./useMobileNavigationStore-BBVnSn9p.js";import{t as se}from"./utils-2ZK8yboQ.js";import{n as ce}from"./Icon-D1BcR8Tz.js";import{t as le}from"./button-9R-WgVMl.js";import{C as ue,Dt as de,S as w,St as fe,Y as T,a as pe,ct as me,dt as he,ft as E,ht as ge,lt as _e,mt as ve,pt as D,st as O,t as ye,ut as be,w as xe,xt as Se}from"./useAppFontEffects-BLw4Av7h.js";import{s as Ce}from"./projectMeta-sXx-r5jn.js";import{r as we}from"./tooltip-DSjr26A_.js";import{ct as Te,ht as Ee,it as k}from"./useSessionAutoCleanup-SsGxsSRB.js";import{n as De}from"./useRuntimeAPIs-DSLXJybW.js";import{b as Oe,f as ke}from"./insertionBoundaries-3yNePddt.js";import{i as Ae,n as je,r as Me,t as Ne}from"./useDesktopWindowControlsLayout-DNDIYvwP.js";var Pe=m(),A=p(),j=e(c(),1),M=s(),Fe=e=>{let t=(0,A.c)(3),{mode:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,M.jsx)(T.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i},Ie=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(`/`)}`},N=e=>{let t=typeof e==`string`?e.trim():``;if(!t)return``;let n=t.replace(/\\/g,`/`);return n===`/`?`/`:n.replace(/\/+$/,``)},P=e=>{let n=(0,A.c)(133),{mode:i}=e,{t:a}=v(),o=C(Re),s=C(ze),c=C(Be),u=l(Ve),d=ne(He),f=ne(Ue),p=S(We),m=S(Ge),h=ie(),g=re(o??``),_=De(),y=Oe(Ke),b;n[0]===o?b=n[1]:(b=e=>o?e.worktreeMetadata.get(o)?.path??``:``,n[0]=o,n[1]=b);let te=C(b),ae;n[2]===o?ae=n[3]:(ae=e=>o?e.worktreeMetadata.get(o)?.branch?.trim()??null:null,n[2]=o,n[3]=ae);let ue=C(ae),de;n[4]===o?de=n[5]:(de=e=>o?e.getAttachment(o):void 0,n[4]=o,n[5]=de);let w=oe(de),fe=C(qe),[T,pe]=j.useState(!1),me=typeof window<`u`?window.__OPENCHAMBER_MACOS_MAJOR__??0:0,he=Number.isFinite(me)&&me>0,{usesFramelessChrome:E,side:ge}=Ne(),_e=he?me>=26?`h-12`:me<=15?`h-14`:``:``,ve;n[6]!==o||n[7]!==h?(ve=o?h.find(e=>e.id===o)??null:null,n[6]=o,n[7]=h,n[8]=ve):ve=n[8];let D=ve,O=D?.worktreeMetadata??null,ye,be;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>{t()&&r(`desktop_get_window_pinned`).then(e=>{typeof e?.pinned==`boolean`&&pe(e.pinned)})},be=[],n[9]=ye,n[10]=be):(ye=n[9],be=n[10]),j.useEffect(ye,be);let xe;n[11]!==s||n[12]!==i||n[13]!==D?.title||n[14]!==a?(xe=D?.title?.trim()||a(s||i===`draft`?`miniChat.header.newSession`:`miniChat.header.session`),n[11]=s,n[12]=i,n[13]=D?.title,n[14]=a,n[15]=xe):xe=n[15];let Se=xe,Ce=D?.directory??null,we;n[16]===Ce?we=n[17]:(we=N(Ce),n[16]=Ce,n[17]=we);let Te=we,Ee=te||O?.path||w?.cwd||w?.worktreeRoot||``,k;n[18]===Ee?k=n[19]:(k=N(Ee),n[18]=Ee,n[19]=k);let Pe=k,Fe;n[20]===u?Fe=n[21]:(Fe=N(u),n[20]=u,n[21]=Fe);let P=Pe||Te||fe||Fe,Le;n[22]===P?Le=n[23]:(Le=Ie(P),n[22]=P,n[23]=Le);let tt=Le,nt;n[24]!==Te||n[25]!==Pe?(nt=e=>{let t=N(Pe||Te||``);if(!t)return null;for(let n of e.availableWorktreesByProject.values()){let e=n.find(e=>N(e.path)===t)?.branch?.trim();if(e)return e}return null},n[24]=Te,n[25]=Pe,n[26]=nt):nt=n[26];let rt=C(nt),it,at;n[27]!==y||n[28]!==P||n[29]!==_.git?(it=()=>{P&&y(P,_.git).catch(Je)},at=[y,P,_.git],n[27]=y,n[28]=P,n[29]=_.git,n[30]=it,n[31]=at):(it=n[30],at=n[31]),j.useEffect(it,at),O?.projectDirectory,w?.worktreeRoot;let ot;bb0:{let e=O?.projectDirectory??w?.worktreeRoot??null,t;n[32]===e?t=n[33]:(t=N(e),n[32]=e,n[33]=t);let r=t||P;if(!r){ot=null;break bb0}let i;n[34]!==r||n[35]!==d?(i=d.map(Ye).filter(e=>e.normalizedPath&&(e.normalizedPath===r||r.startsWith(`${e.normalizedPath}/`))).sort(Xe)[0]??null,n[34]=r,n[35]=d,n[36]=i):i=n[36],ot=i}let st=ot,ct;bb1:{let e=st??f;if(!e){ct=tt||`OpenChamber`;break bb1}let t;n[37]===e.path?t=n[38]:(t=e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,n[37]=e.path,n[38]=t),ct=t}let lt=ct,ut=ke(P||null),dt;n[39]!==rt||n[40]!==ut||n[41]!==O?.branch||n[42]!==w?.branch||n[43]!==ue?(dt=ut||ue||O?.branch?.trim()||w?.branch?.trim()||rt,n[39]=rt,n[40]=ut,n[41]=O?.branch,n[42]=w?.branch,n[43]=ue,n[44]=dt):dt=n[44];let ft=dt,pt=ft&&ft!==`HEAD`?ft:null,mt;n[45]===p?mt=n[46]:(mt=p(),n[45]=p,n[46]=mt);let ht=mt,gt;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){gt=n;break bb2}}gt=void 0}let _t=gt,vt=ht?.limit?ht:_t,F=vt&&typeof vt.limit==`object`&&vt.limit!==null?vt.limit:null,I=F&&typeof F.context==`number`?F.context:0,yt=F&&typeof F.output==`number`?F.output:0,L;if(n[47]!==I||n[48]!==o||n[49]!==g||n[50]!==yt){bb3:{if(!o||g.length===0){L=null;break bb3}let e=ee(g,Ze);if(!e||`compacted`in e){L=null;break bb3}let t=e.tokens,r=e.totalTokens,i=I>0?I:2e5,a;n[52]!==I||n[53]!==r?(a=I>0?Math.round(r/I*100):0,n[52]=I,n[53]=r,n[54]=a):a=n[54];let s=a,c=yt>0?Math.round(x(t.output)/yt*100):void 0,l=I||0,u=yt||void 0,d;n[55]!==e||n[56]!==c||n[57]!==s||n[58]!==l||n[59]!==u||n[60]!==i||n[61]!==r?(d={totalTokens:r,percentage:s,contextLimit:l,outputLimit:u,normalizedOutput:c,thresholdLimit:i,lastMessageId:e.messageId},n[55]=e,n[56]=c,n[57]=s,n[58]=l,n[59]=u,n[60]=i,n[61]=r,n[62]=d):d=n[62],L=d}n[47]=I,n[48]=o,n[49]=g,n[50]=yt,n[51]=L}else L=n[51];let R=L,[z,bt]=j.useState(null),xt;n[63]===Symbol.for(`react.memo_cache_sentinel`)?(xt={WebkitAppRegion:`drag`},n[63]=xt):xt=n[63];let St=xt,Ct;n[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ct={WebkitAppRegion:`no-drag`},n[64]=Ct):Ct=n[64];let wt=Ct,Tt,Et;n[65]!==R||n[66]!==o?(Tt=()=>{if(!o){bt(Qe);return}if(R&&R.totalTokens>0){bt(e=>e&&e.totalTokens===R.totalTokens&&e.percentage===R.percentage&&e.contextLimit===R.contextLimit&&(e.outputLimit??0)===(R.outputLimit??0)&&(e.normalizedOutput??0)===(R.normalizedOutput??0)&&e.thresholdLimit===R.thresholdLimit&&e.lastMessageId===R.lastMessageId?e:R);return}bt($e)},Et=[R,o],n[65]=R,n[66]=o,n[67]=Tt,n[68]=Et):(Tt=n[67],Et=n[68]),j.useEffect(Tt,Et);let Dt=z&&z.contextLimit>0?Math.min(999,z.totalTokens/z.contextLimit*100):0,Ot;n[69]===T?Ot=n[70]:(Ot=()=>{let e=!T;pe(e),r(`desktop_set_window_pinned`,{pinned:e}).catch(()=>{pe(!e)})},n[69]=T,n[70]=Ot);let kt=Ot,At;n[71]!==u||n[72]!==o||n[73]!==c||n[74]!==P||n[75]!==D?(At=()=>{let e=o?{sessionId:o,directory:D?.directory??u??``}:{mode:`draft`,directory:P||u||``,projectId:c};r(`desktop_focus_main_window`,e).then(et)},n[71]=u,n[72]=o,n[73]=c,n[74]=P,n[75]=D,n[76]=At):At=n[76];let jt=At,Mt=E?`h-12`:_e||`min-h-14`,B;n[77]===Mt?B=n[78]:(B=se(`flex items-center gap-3 bg-background pr-3`,he?`pl-[5.5rem]`:`pl-3`,Mt),n[77]=Mt,n[78]=B);let V;n[79]!==E||n[80]!==ge?(V=E&&ge===`left`?(0,M.jsx)(Me,{visible:!0,position:`left`}):null,n[79]=E,n[80]=ge,n[81]=V):V=n[81];let H;n[82]===a?H=n[83]:(H=a(`sessions.switcher.openAria`),n[82]=a,n[83]=H);let U;n[84]===Se?U=n[85]:(U=(0,M.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full`,children:Se}),n[84]=Se,n[85]=U);let W;n[86]===lt?W=n[87]:(W=(0,M.jsx)(`span`,{className:`truncate`,children:lt}),n[86]=lt,n[87]=W);let G;n[88]===pt?G=n[89]:(G=pt?(0,M.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-0.5`,children:[(0,M.jsx)(ce,{name:`git-branch`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground/70`}),(0,M.jsx)(`span`,{className:`truncate`,children:pt})]}):null,n[88]=pt,n[89]=G);let K;n[90]!==W||n[91]!==G?(K=(0,M.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:[W,G]}),n[90]=W,n[91]=G,n[92]=K):K=n[92];let q;n[93]!==H||n[94]!==U||n[95]!==K?(q=(0,M.jsx)(je,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-label":H,style:wt,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:[U,K]})}),n[93]=H,n[94]=U,n[95]=K,n[96]=q):q=n[96];let Nt;n[97]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,M.jsx)(`div`,{className:`min-w-0 flex-1`}),n[97]=Nt):Nt=n[97];let J;n[98]!==Dt||n[99]!==z?(J=z&&z.totalTokens>0?(0,M.jsx)(Ae,{totalTokens:z.totalTokens,percentage:Dt,colorPercentage:z.percentage,contextLimit:z.contextLimit,outputLimit:z.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,n[98]=Dt,n[99]=z,n[100]=J):J=n[100];let Y;n[101]!==T||n[102]!==a?(Y=a(T?`miniChat.actions.unpinAria`:`miniChat.actions.pinAria`),n[101]=T,n[102]=a,n[103]=Y):Y=n[103];let X;n[104]!==T||n[105]!==a?(X=a(T?`miniChat.actions.unpin`:`miniChat.actions.pin`),n[104]=T,n[105]=a,n[106]=X):X=n[106];let Z;n[107]===T?Z=n[108]:(Z=T?(0,M.jsx)(ce,{name:`pushpin-2-fill`,className:`h-4 w-4`}):(0,M.jsx)(ce,{name:`pushpin-2`,className:`h-4 w-4`}),n[107]=T,n[108]=Z);let Q;n[109]!==kt||n[110]!==Y||n[111]!==X||n[112]!==Z?(Q=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:kt,"aria-label":Y,title:X,style:wt,children:Z}),n[109]=kt,n[110]=Y,n[111]=X,n[112]=Z,n[113]=Q):Q=n[113];let Pt;n[114]===a?Pt=n[115]:(Pt=a(`miniChat.actions.openMainAria`),n[114]=a,n[115]=Pt);let Ft;n[116]===a?Ft=n[117]:(Ft=a(`miniChat.actions.openMain`),n[116]=a,n[117]=Ft);let It;n[118]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,M.jsx)(ce,{name:`external-link`,className:`h-4 w-4`}),n[118]=It):It=n[118];let Lt;n[119]!==jt||n[120]!==Pt||n[121]!==Ft?(Lt=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:jt,"aria-label":Pt,title:Ft,style:wt,children:It}),n[119]=jt,n[120]=Pt,n[121]=Ft,n[122]=Lt):Lt=n[122];let Rt=E&&ge===`right`,$;n[123]===Rt?$=n[124]:($=(0,M.jsx)(Me,{visible:Rt,position:`right`}),n[123]=Rt,n[124]=$);let zt;return n[125]!==B||n[126]!==V||n[127]!==q||n[128]!==J||n[129]!==Q||n[130]!==Lt||n[131]!==$?(zt=(0,M.jsxs)(`header`,{className:B,style:St,children:[V,q,Nt,J,Q,Lt,$]}),n[125]=B,n[126]=V,n[127]=q,n[128]=J,n[129]=Q,n[130]=Lt,n[131]=$,n[132]=zt):zt=n[132],zt},Le=e=>{let t=(0,A.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,M.jsx)(P,{mode:n}),t[0]=n,t[1]=c);let l;t[2]!==a||t[3]!==s||t[4]!==o?(l=(0,M.jsx)(`main`,{className:`min-h-0 flex-1`,children:o?(0,M.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center typography-ui-label text-muted-foreground`,children:(0,M.jsxs)(`div`,{className:`max-w-sm rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] px-4 py-3`,children:[(0,M.jsx)(`div`,{className:`font-medium text-foreground`,children:s(`miniChat.unavailable.title`)}),(0,M.jsx)(`div`,{className:`mt-1 typography-small text-muted-foreground`,children:s(`miniChat.unavailable.description`)})]})}):(0,M.jsx)(Fe,{mode:`mini-chat`,children:(0,M.jsx)(xe,{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,M.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 Re(e){return e.currentSessionId}function ze(e){return!!e.newSessionDraft?.open}function Be(e){return e.newSessionDraft?.selectedProjectId??null}function Ve(e){return e.currentDirectory}function He(e){return e.projects}function Ue(e){return e.getActiveProject()}function We(e){return e.getCurrentModel}function Ge(e){return e.providers}function Ke(e){return e.ensureStatus}function qe(e){return e.newSessionDraft?.open?N(e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``):``}function Je(){}function Ye(e){return{...e,normalizedPath:N(e.path)}}function Xe(e,t){return t.path.length-e.path.length}function Ze(e){return ae(e)}function Qe(e){return e===null?e:null}function $e(e){return e===null?e:null}function et(e){return e?.focused===!0?r(`desktop_close_current_window`):null}var tt=()=>{document.querySelector(`textarea[data-chat-input="true"]`)?.focus()},nt=()=>{let e=d(e=>e.shortcutOverrides),t=l(e=>e.currentDirectory),i=ne(e=>e.getActiveProject()),a=C(e=>e.openNewSessionDraft);j.useEffect(()=>{let o=t=>Te(t,e),s=e=>{if(k(e,o(`focus_input`))){e.preventDefault(),tt();return}if(n()&&k(e,o(`close_context_panel_tab`))){e.preventDefault(),r(`desktop_close_current_window`).catch(e=>{console.warn(`[mini-chat-shortcuts] failed to close current window`,e)});return}if(n()&&k(e,o(`new_mini_chat`))){e.preventDefault(),r(`desktop_open_draft_mini_chat_window`,{directory:t||i?.path||``,projectId:i?.id??null})?.catch(e=>{console.warn(`[mini-chat-shortcuts] failed to open draft mini chat window`,e)});return}if(k(e,o(`new_chat`))){e.preventDefault(),a({selectedProjectId:i?.id??null,directoryOverride:t||i?.path||null,preserveDirectoryOverride:!!(t||i?.path)}),tt();return}if(k(e,o(`open_model_selector`))){e.preventDefault();let{isModelSelectorOpen:t,setModelSelectorOpen:n}=d.getState();n(!t,{instant:!0});return}if(k(e,o(`cycle_thinking_variant`))){let t=S.getState();if(t.getCurrentModelVariants().length===0)return;e.preventDefault(),t.cycleCurrentVariant();let n=S.getState().currentVariant,r=C.getState().currentSessionId,i=S.getState().currentAgentName,a=S.getState().currentProviderId,o=S.getState().currentModelId;r&&i&&a&&o&&b.getState().saveAgentModelVariantForSession(r,i,a,o,n),i&&a&&o&&S.getState().saveAgentModelSelection(i,a,o,n);return}let s=k(e,o(`cycle_favorite_model_forward`)),c=k(e,o(`cycle_favorite_model_backward`));if(s||c){let{favoriteModels:t,addRecentModel:n}=d.getState();if(t.length===0)return;e.preventDefault();let{currentProviderId:r,currentModelId:i,providers:a,setProvider:o,setModel:c,setCurrentVariant:l}=S.getState(),u=t[(t.findIndex(e=>e.providerID===r&&e.modelID===i)+(s?1:-1)+t.length)%t.length];o(u.providerID),c(u.modelID);let f=a.find(e=>e.id===u.providerID)?.models?.find(e=>e.id===u.modelID),p=f?.variants?Object.keys(f.variants):[],m=u.variant!==void 0&&p.includes(u.variant)?u.variant:void 0;l(m),n(u.providerID,u.modelID,m)}};return window.addEventListener(`keydown`,s),()=>window.removeEventListener(`keydown`,s)},[i?.id,i?.path,t,a,e])},rt=`openchamber:mini-chat-presence`,it=()=>{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}},at=({config:e})=>{let t=ie(),n=l(e=>e.currentDirectory),r=l(e=>e.setDirectory),i=ne(e=>e.projects),a=C(e=>e.currentSessionId),o=C(e=>!!e.newSessionDraft?.open),s=C(e=>e.newSessionDraft?.open?e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``:``),c=C(e=>e.setCurrentSession),u=C(e=>e.openNewSessionDraft),d=S(e=>e.initializeApp),p=S(e=>e.isInitialized),m=O();j.useEffect(()=>{d()},[d]),j.useEffect(()=>{if(p)return;let e=!0,t=0,n=window.setInterval(()=>{if(e){if(t+=1,t>10){window.clearInterval(n);return}S.getState().isInitialized||S.getState().initializeApp()}},1e3);return()=>{e=!1,window.clearInterval(n)}},[p]);let _=j.useRef(!1);j.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]),j.useEffect(()=>{e.mode!==`draft`||!o||a||!s||n===s||r(s,{showOverlay:!1})},[e.mode,n,a,s,o,r]),be({enabled:!0,source:`electronMiniChat:recovery`});let v=j.useRef(!1);j.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),b=h(e=>{let t=e.detail,n=typeof t?.sessionId==`string`?t.sessionId.trim():``;if(!n||C.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});j.useEffect(()=>(window.addEventListener(`openchamber:open-session`,b),()=>window.removeEventListener(`openchamber:open-session`,b)),[b]),j.useEffect(()=>{e.mode!==`draft`||o||a||u({selectedProjectId:e.projectId,directoryOverride:e.directory,preserveDirectoryOverride:!!e.directory})},[e,a,o,u]),j.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(!(Oe.getState().directories.get(n)?.isGitRepo??await f(()=>import(`./gitApi-CDc5ynsh.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,19,20,21,22,23,24])))||e)return;await Ce({id:t.id,path:n},{isCurrent:()=>!e})}catch{}}))})(),()=>{e=!0}},[i]);let x=j.useRef(!1);return j.useEffect(()=>{if(x.current||!p)return;let t=()=>{if(x.current)return;x.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},ot=()=>{let e=(0,A.c)(4),t=C(mt),n=l(ht),r,i;return e[0]!==n||e[1]!==t?(r=()=>{if(!t||!n||typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(rt),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]),j.useEffect(r,i),null},st=e=>{let t=(0,A.c)(6),n=ie(),r=C(gt),[i,a]=j.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]),j.useEffect(o,s),i};function ct(e){let t=(0,A.c)(16),{apis:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=it(),t[0]=r):r=t[0];let i=r,a=l(ft),s=C(dt),c=C(ut),d,f;t[1]===a?(d=t[2],f=t[3]):(d=()=>{u.setDirectory(a||i.directory||void 0)},f=[i.directory,a],t[1]=a,t[2]=d,t[3]=f),j.useEffect(d,f);let p,m;t[4]===n?(p=t[5],m=t[6]):(p=()=>(o(n),lt),m=[n],t[4]=n,t[5]=p,t[6]=m),j.useEffect(p,m),ye(),nt();let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h={enabled:!0},t[7]=h):h=t[7],ue(h),w();let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=u.getSdkClient(),t[8]=g):g=t[8];let _=a||i.directory||``,v=!(c&&s===null),y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,M.jsx)(we,{delayDuration:300,skipDelayDuration:150,children:(0,M.jsxs)(`div`,{className:`h-full text-foreground bg-background`,children:[(0,M.jsx)(pt,{config:i}),(0,M.jsx)(me,{})]})}),t[9]=y):y=t[9];let b;t[10]===n?b=t[11]:(b=(0,M.jsx)(_e,{apis:n,children:y}),t[10]=n,t[11]=b);let x;return t[12]!==b||t[13]!==_||t[14]!==v?(x=(0,M.jsx)(Ee,{children:(0,M.jsx)(te,{sdk:g,directory:_,bootstrapDirectory:v,children:b})}),t[12]=b,t[13]=_,t[14]=v,t[15]=x):x=t[15],x}function lt(){return o(null)}function ut(e){return!!e.newSessionDraft?.open}function dt(e){return e.currentSessionId}function ft(e){return e.currentDirectory}var pt=e=>{let t=(0,A.c)(11),{config:n}=e,r=st(n),i;t[0]===n?i=t[1]:(i=(0,M.jsx)(at,{config:n}),t[0]=n,t[1]=i);let a,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsx)(ot,{}),o=(0,M.jsx)(pe,{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,M.jsx)(Le,{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,M.jsxs)(M.Fragment,{children:[i,a,o,c]}),t[8]=i,t[9]=c,t[10]=l):l=t[10],l};function mt(e){return e.currentSessionId}function ht(e){return e.currentDirectory}function gt(e){return e.currentSessionId}var _t=()=>{y(),a().then(()=>{Promise.all([i(),de()]).catch(e=>{console.error(`[mini-chat-main] settings init failed:`,e)}),ve(),D(),E()}).catch(e=>{console.error(`[mini-chat-main] appearance init failed:`,e)})};function vt(e){_t();let t=document.getElementById(`root`);if(!t)throw Error(`Root element not found`);(0,Pe.createRoot)(t).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(he,{children:(0,M.jsx)(_,{children:(0,M.jsx)(ge,{children:(0,M.jsx)(Se,{children:(0,M.jsx)(fe,{children:(0,M.jsx)(ct,{apis:e})})})})})})}))}export{vt as renderElectronMiniChatApp};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/gitApi-BwuaHHRQ.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-fetch-zIalUnbb.js","assets/runtime-auth-D66yq6ie.js","assets/runtime-switch-LvWDU-SL.js","assets/persistence-DwRBC4zl.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CxOoCv7B.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-DQ5_LNKO.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/useMobileNavigationStore-Cn0-ozUB.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-BnW6GxJt.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-GUUNlWIv.js","assets/store-ClnJdJSj.js","assets/useAssistantUIStore-CLPCNoj_.js","assets/vendor-fuse.js-DB5wDJbI.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{$t as t,Lt as n,Yt as r,n as i,t as a,wn as o}from"./persistence-DwRBC4zl.js";import{nt as s,rt as c}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as l,Nt as u}from"./platform-DQ5_LNKO.js";import{t as d}from"./useUIStore-CxOoCv7B.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-BnW6GxJt.js";import{i as _,n as v}from"./clipboard-GUUNlWIv.js";import{n as y}from"./store-ClnJdJSj.js";import{Ia as b,Mn as x,Nn as ee,Nt as te,Qi as S,c as C,go as ne,in as re,mn as ie,ra as ae,y as oe}from"./useMobileNavigationStore-Cn0-ozUB.js";import{t as se}from"./utils-2ZK8yboQ.js";import{n as ce}from"./Icon-D1BcR8Tz.js";import{t as le}from"./button-9R-WgVMl.js";import{C as ue,Dt as de,S as w,St as fe,Y as T,a as pe,ct as me,dt as he,ft as E,ht as ge,lt as _e,mt as ve,pt as D,st as O,t as ye,ut as be,w as xe,xt as Se}from"./useAppFontEffects-DRFi4TCE.js";import{s as Ce}from"./projectMeta-moNJYCK4.js";import{r as we}from"./tooltip-DSjr26A_.js";import{ct as Te,ht as Ee,it as k}from"./useSessionAutoCleanup-XwgyzsEd.js";import{n as De}from"./useRuntimeAPIs-DSLXJybW.js";import{b as Oe,f as ke}from"./insertionBoundaries-og6NBgdn.js";import{i as Ae,n as je,r as Me,t as Ne}from"./useDesktopWindowControlsLayout-BdNR3zMN.js";var Pe=m(),A=p(),j=e(c(),1),M=s(),Fe=e=>{let t=(0,A.c)(3),{mode:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,M.jsx)(T.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i},Ie=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(`/`)}`},N=e=>{let t=typeof e==`string`?e.trim():``;if(!t)return``;let n=t.replace(/\\/g,`/`);return n===`/`?`/`:n.replace(/\/+$/,``)},P=e=>{let n=(0,A.c)(133),{mode:i}=e,{t:a}=v(),o=C(Re),s=C(ze),c=C(Be),u=l(Ve),d=ne(He),f=ne(Ue),p=S(We),m=S(Ge),h=ie(),g=re(o??``),_=De(),y=Oe(Ke),b;n[0]===o?b=n[1]:(b=e=>o?e.worktreeMetadata.get(o)?.path??``:``,n[0]=o,n[1]=b);let te=C(b),ae;n[2]===o?ae=n[3]:(ae=e=>o?e.worktreeMetadata.get(o)?.branch?.trim()??null:null,n[2]=o,n[3]=ae);let ue=C(ae),de;n[4]===o?de=n[5]:(de=e=>o?e.getAttachment(o):void 0,n[4]=o,n[5]=de);let w=oe(de),fe=C(qe),[T,pe]=j.useState(!1),me=typeof window<`u`?window.__OPENCHAMBER_MACOS_MAJOR__??0:0,he=Number.isFinite(me)&&me>0,{usesFramelessChrome:E,side:ge}=Ne(),_e=he?me>=26?`h-12`:me<=15?`h-14`:``:``,ve;n[6]!==o||n[7]!==h?(ve=o?h.find(e=>e.id===o)??null:null,n[6]=o,n[7]=h,n[8]=ve):ve=n[8];let D=ve,O=D?.worktreeMetadata??null,ye,be;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>{t()&&r(`desktop_get_window_pinned`).then(e=>{typeof e?.pinned==`boolean`&&pe(e.pinned)})},be=[],n[9]=ye,n[10]=be):(ye=n[9],be=n[10]),j.useEffect(ye,be);let xe;n[11]!==s||n[12]!==i||n[13]!==D?.title||n[14]!==a?(xe=D?.title?.trim()||a(s||i===`draft`?`miniChat.header.newSession`:`miniChat.header.session`),n[11]=s,n[12]=i,n[13]=D?.title,n[14]=a,n[15]=xe):xe=n[15];let Se=xe,Ce=D?.directory??null,we;n[16]===Ce?we=n[17]:(we=N(Ce),n[16]=Ce,n[17]=we);let Te=we,Ee=te||O?.path||w?.cwd||w?.worktreeRoot||``,k;n[18]===Ee?k=n[19]:(k=N(Ee),n[18]=Ee,n[19]=k);let Pe=k,Fe;n[20]===u?Fe=n[21]:(Fe=N(u),n[20]=u,n[21]=Fe);let P=Pe||Te||fe||Fe,Le;n[22]===P?Le=n[23]:(Le=Ie(P),n[22]=P,n[23]=Le);let tt=Le,nt;n[24]!==Te||n[25]!==Pe?(nt=e=>{let t=N(Pe||Te||``);if(!t)return null;for(let n of e.availableWorktreesByProject.values()){let e=n.find(e=>N(e.path)===t)?.branch?.trim();if(e)return e}return null},n[24]=Te,n[25]=Pe,n[26]=nt):nt=n[26];let rt=C(nt),it,at;n[27]!==y||n[28]!==P||n[29]!==_.git?(it=()=>{P&&y(P,_.git).catch(Je)},at=[y,P,_.git],n[27]=y,n[28]=P,n[29]=_.git,n[30]=it,n[31]=at):(it=n[30],at=n[31]),j.useEffect(it,at),O?.projectDirectory,w?.worktreeRoot;let ot;bb0:{let e=O?.projectDirectory??w?.worktreeRoot??null,t;n[32]===e?t=n[33]:(t=N(e),n[32]=e,n[33]=t);let r=t||P;if(!r){ot=null;break bb0}let i;n[34]!==r||n[35]!==d?(i=d.map(Ye).filter(e=>e.normalizedPath&&(e.normalizedPath===r||r.startsWith(`${e.normalizedPath}/`))).sort(Xe)[0]??null,n[34]=r,n[35]=d,n[36]=i):i=n[36],ot=i}let st=ot,ct;bb1:{let e=st??f;if(!e){ct=tt||`OpenChamber`;break bb1}let t;n[37]===e.path?t=n[38]:(t=e.path.split(/[\\/]/).filter(Boolean).at(-1)??e.path,n[37]=e.path,n[38]=t),ct=t}let lt=ct,ut=ke(P||null),dt;n[39]!==rt||n[40]!==ut||n[41]!==O?.branch||n[42]!==w?.branch||n[43]!==ue?(dt=ut||ue||O?.branch?.trim()||w?.branch?.trim()||rt,n[39]=rt,n[40]=ut,n[41]=O?.branch,n[42]=w?.branch,n[43]=ue,n[44]=dt):dt=n[44];let ft=dt,pt=ft&&ft!==`HEAD`?ft:null,mt;n[45]===p?mt=n[46]:(mt=p(),n[45]=p,n[46]=mt);let ht=mt,gt;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){gt=n;break bb2}}gt=void 0}let _t=gt,vt=ht?.limit?ht:_t,F=vt&&typeof vt.limit==`object`&&vt.limit!==null?vt.limit:null,I=F&&typeof F.context==`number`?F.context:0,yt=F&&typeof F.output==`number`?F.output:0,L;if(n[47]!==I||n[48]!==o||n[49]!==g||n[50]!==yt){bb3:{if(!o||g.length===0){L=null;break bb3}let e=ee(g,Ze);if(!e||`compacted`in e){L=null;break bb3}let t=e.tokens,r=e.totalTokens,i=I>0?I:2e5,a;n[52]!==I||n[53]!==r?(a=I>0?Math.round(r/I*100):0,n[52]=I,n[53]=r,n[54]=a):a=n[54];let s=a,c=yt>0?Math.round(x(t.output)/yt*100):void 0,l=I||0,u=yt||void 0,d;n[55]!==e||n[56]!==c||n[57]!==s||n[58]!==l||n[59]!==u||n[60]!==i||n[61]!==r?(d={totalTokens:r,percentage:s,contextLimit:l,outputLimit:u,normalizedOutput:c,thresholdLimit:i,lastMessageId:e.messageId},n[55]=e,n[56]=c,n[57]=s,n[58]=l,n[59]=u,n[60]=i,n[61]=r,n[62]=d):d=n[62],L=d}n[47]=I,n[48]=o,n[49]=g,n[50]=yt,n[51]=L}else L=n[51];let R=L,[z,bt]=j.useState(null),xt;n[63]===Symbol.for(`react.memo_cache_sentinel`)?(xt={WebkitAppRegion:`drag`},n[63]=xt):xt=n[63];let St=xt,Ct;n[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ct={WebkitAppRegion:`no-drag`},n[64]=Ct):Ct=n[64];let wt=Ct,Tt,Et;n[65]!==R||n[66]!==o?(Tt=()=>{if(!o){bt(Qe);return}if(R&&R.totalTokens>0){bt(e=>e&&e.totalTokens===R.totalTokens&&e.percentage===R.percentage&&e.contextLimit===R.contextLimit&&(e.outputLimit??0)===(R.outputLimit??0)&&(e.normalizedOutput??0)===(R.normalizedOutput??0)&&e.thresholdLimit===R.thresholdLimit&&e.lastMessageId===R.lastMessageId?e:R);return}bt($e)},Et=[R,o],n[65]=R,n[66]=o,n[67]=Tt,n[68]=Et):(Tt=n[67],Et=n[68]),j.useEffect(Tt,Et);let Dt=z&&z.contextLimit>0?Math.min(999,z.totalTokens/z.contextLimit*100):0,Ot;n[69]===T?Ot=n[70]:(Ot=()=>{let e=!T;pe(e),r(`desktop_set_window_pinned`,{pinned:e}).catch(()=>{pe(!e)})},n[69]=T,n[70]=Ot);let kt=Ot,At;n[71]!==u||n[72]!==o||n[73]!==c||n[74]!==P||n[75]!==D?(At=()=>{let e=o?{sessionId:o,directory:D?.directory??u??``}:{mode:`draft`,directory:P||u||``,projectId:c};r(`desktop_focus_main_window`,e).then(et)},n[71]=u,n[72]=o,n[73]=c,n[74]=P,n[75]=D,n[76]=At):At=n[76];let jt=At,Mt=E?`h-12`:_e||`min-h-14`,B;n[77]===Mt?B=n[78]:(B=se(`flex items-center gap-3 bg-background pr-3`,he?`pl-[5.5rem]`:`pl-3`,Mt),n[77]=Mt,n[78]=B);let V;n[79]!==E||n[80]!==ge?(V=E&&ge===`left`?(0,M.jsx)(Me,{visible:!0,position:`left`}):null,n[79]=E,n[80]=ge,n[81]=V):V=n[81];let H;n[82]===a?H=n[83]:(H=a(`sessions.switcher.openAria`),n[82]=a,n[83]=H);let U;n[84]===Se?U=n[85]:(U=(0,M.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full`,children:Se}),n[84]=Se,n[85]=U);let W;n[86]===lt?W=n[87]:(W=(0,M.jsx)(`span`,{className:`truncate`,children:lt}),n[86]=lt,n[87]=W);let G;n[88]===pt?G=n[89]:(G=pt?(0,M.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-0.5`,children:[(0,M.jsx)(ce,{name:`git-branch`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground/70`}),(0,M.jsx)(`span`,{className:`truncate`,children:pt})]}):null,n[88]=pt,n[89]=G);let K;n[90]!==W||n[91]!==G?(K=(0,M.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:[W,G]}),n[90]=W,n[91]=G,n[92]=K):K=n[92];let q;n[93]!==H||n[94]!==U||n[95]!==K?(q=(0,M.jsx)(je,{children:(0,M.jsxs)(`button`,{type:`button`,"aria-label":H,style:wt,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:[U,K]})}),n[93]=H,n[94]=U,n[95]=K,n[96]=q):q=n[96];let Nt;n[97]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,M.jsx)(`div`,{className:`min-w-0 flex-1`}),n[97]=Nt):Nt=n[97];let J;n[98]!==Dt||n[99]!==z?(J=z&&z.totalTokens>0?(0,M.jsx)(Ae,{totalTokens:z.totalTokens,percentage:Dt,colorPercentage:z.percentage,contextLimit:z.contextLimit,outputLimit:z.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,n[98]=Dt,n[99]=z,n[100]=J):J=n[100];let Y;n[101]!==T||n[102]!==a?(Y=a(T?`miniChat.actions.unpinAria`:`miniChat.actions.pinAria`),n[101]=T,n[102]=a,n[103]=Y):Y=n[103];let X;n[104]!==T||n[105]!==a?(X=a(T?`miniChat.actions.unpin`:`miniChat.actions.pin`),n[104]=T,n[105]=a,n[106]=X):X=n[106];let Z;n[107]===T?Z=n[108]:(Z=T?(0,M.jsx)(ce,{name:`pushpin-2-fill`,className:`h-4 w-4`}):(0,M.jsx)(ce,{name:`pushpin-2`,className:`h-4 w-4`}),n[107]=T,n[108]=Z);let Q;n[109]!==kt||n[110]!==Y||n[111]!==X||n[112]!==Z?(Q=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:kt,"aria-label":Y,title:X,style:wt,children:Z}),n[109]=kt,n[110]=Y,n[111]=X,n[112]=Z,n[113]=Q):Q=n[113];let Pt;n[114]===a?Pt=n[115]:(Pt=a(`miniChat.actions.openMainAria`),n[114]=a,n[115]=Pt);let Ft;n[116]===a?Ft=n[117]:(Ft=a(`miniChat.actions.openMain`),n[116]=a,n[117]=Ft);let It;n[118]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,M.jsx)(ce,{name:`external-link`,className:`h-4 w-4`}),n[118]=It):It=n[118];let Lt;n[119]!==jt||n[120]!==Pt||n[121]!==Ft?(Lt=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:jt,"aria-label":Pt,title:Ft,style:wt,children:It}),n[119]=jt,n[120]=Pt,n[121]=Ft,n[122]=Lt):Lt=n[122];let Rt=E&&ge===`right`,$;n[123]===Rt?$=n[124]:($=(0,M.jsx)(Me,{visible:Rt,position:`right`}),n[123]=Rt,n[124]=$);let zt;return n[125]!==B||n[126]!==V||n[127]!==q||n[128]!==J||n[129]!==Q||n[130]!==Lt||n[131]!==$?(zt=(0,M.jsxs)(`header`,{className:B,style:St,children:[V,q,Nt,J,Q,Lt,$]}),n[125]=B,n[126]=V,n[127]=q,n[128]=J,n[129]=Q,n[130]=Lt,n[131]=$,n[132]=zt):zt=n[132],zt},Le=e=>{let t=(0,A.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,M.jsx)(P,{mode:n}),t[0]=n,t[1]=c);let l;t[2]!==a||t[3]!==s||t[4]!==o?(l=(0,M.jsx)(`main`,{className:`min-h-0 flex-1`,children:o?(0,M.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center typography-ui-label text-muted-foreground`,children:(0,M.jsxs)(`div`,{className:`max-w-sm rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] px-4 py-3`,children:[(0,M.jsx)(`div`,{className:`font-medium text-foreground`,children:s(`miniChat.unavailable.title`)}),(0,M.jsx)(`div`,{className:`mt-1 typography-small text-muted-foreground`,children:s(`miniChat.unavailable.description`)})]})}):(0,M.jsx)(Fe,{mode:`mini-chat`,children:(0,M.jsx)(xe,{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,M.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 Re(e){return e.currentSessionId}function ze(e){return!!e.newSessionDraft?.open}function Be(e){return e.newSessionDraft?.selectedProjectId??null}function Ve(e){return e.currentDirectory}function He(e){return e.projects}function Ue(e){return e.getActiveProject()}function We(e){return e.getCurrentModel}function Ge(e){return e.providers}function Ke(e){return e.ensureStatus}function qe(e){return e.newSessionDraft?.open?N(e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``):``}function Je(){}function Ye(e){return{...e,normalizedPath:N(e.path)}}function Xe(e,t){return t.path.length-e.path.length}function Ze(e){return ae(e)}function Qe(e){return e===null?e:null}function $e(e){return e===null?e:null}function et(e){return e?.focused===!0?r(`desktop_close_current_window`):null}var tt=()=>{document.querySelector(`textarea[data-chat-input="true"]`)?.focus()},nt=()=>{let e=d(e=>e.shortcutOverrides),t=l(e=>e.currentDirectory),i=ne(e=>e.getActiveProject()),a=C(e=>e.openNewSessionDraft);j.useEffect(()=>{let o=t=>Te(t,e),s=e=>{if(k(e,o(`focus_input`))){e.preventDefault(),tt();return}if(n()&&k(e,o(`close_context_panel_tab`))){e.preventDefault(),r(`desktop_close_current_window`).catch(e=>{console.warn(`[mini-chat-shortcuts] failed to close current window`,e)});return}if(n()&&k(e,o(`new_mini_chat`))){e.preventDefault(),r(`desktop_open_draft_mini_chat_window`,{directory:t||i?.path||``,projectId:i?.id??null})?.catch(e=>{console.warn(`[mini-chat-shortcuts] failed to open draft mini chat window`,e)});return}if(k(e,o(`new_chat`))){e.preventDefault(),a({selectedProjectId:i?.id??null,directoryOverride:t||i?.path||null,preserveDirectoryOverride:!!(t||i?.path)}),tt();return}if(k(e,o(`open_model_selector`))){e.preventDefault();let{isModelSelectorOpen:t,setModelSelectorOpen:n}=d.getState();n(!t,{instant:!0});return}if(k(e,o(`cycle_thinking_variant`))){let t=S.getState();if(t.getCurrentModelVariants().length===0)return;e.preventDefault(),t.cycleCurrentVariant();let n=S.getState().currentVariant,r=C.getState().currentSessionId,i=S.getState().currentAgentName,a=S.getState().currentProviderId,o=S.getState().currentModelId;r&&i&&a&&o&&b.getState().saveAgentModelVariantForSession(r,i,a,o,n),i&&a&&o&&S.getState().saveAgentModelSelection(i,a,o,n);return}let s=k(e,o(`cycle_favorite_model_forward`)),c=k(e,o(`cycle_favorite_model_backward`));if(s||c){let{favoriteModels:t,addRecentModel:n}=d.getState();if(t.length===0)return;e.preventDefault();let{currentProviderId:r,currentModelId:i,providers:a,setProvider:o,setModel:c,setCurrentVariant:l}=S.getState(),u=t[(t.findIndex(e=>e.providerID===r&&e.modelID===i)+(s?1:-1)+t.length)%t.length];o(u.providerID),c(u.modelID);let f=a.find(e=>e.id===u.providerID)?.models?.find(e=>e.id===u.modelID),p=f?.variants?Object.keys(f.variants):[],m=u.variant!==void 0&&p.includes(u.variant)?u.variant:void 0;l(m),n(u.providerID,u.modelID,m)}};return window.addEventListener(`keydown`,s),()=>window.removeEventListener(`keydown`,s)},[i?.id,i?.path,t,a,e])},rt=`openchamber:mini-chat-presence`,it=()=>{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}},at=({config:e})=>{let t=ie(),n=l(e=>e.currentDirectory),r=l(e=>e.setDirectory),i=ne(e=>e.projects),a=C(e=>e.currentSessionId),o=C(e=>!!e.newSessionDraft?.open),s=C(e=>e.newSessionDraft?.open?e.newSessionDraft.bootstrapPendingDirectory??e.newSessionDraft.directoryOverride??``:``),c=C(e=>e.setCurrentSession),u=C(e=>e.openNewSessionDraft),d=S(e=>e.initializeApp),p=S(e=>e.isInitialized),m=O();j.useEffect(()=>{d()},[d]),j.useEffect(()=>{if(p)return;let e=!0,t=0,n=window.setInterval(()=>{if(e){if(t+=1,t>10){window.clearInterval(n);return}S.getState().isInitialized||S.getState().initializeApp()}},1e3);return()=>{e=!1,window.clearInterval(n)}},[p]);let _=j.useRef(!1);j.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]),j.useEffect(()=>{e.mode!==`draft`||!o||a||!s||n===s||r(s,{showOverlay:!1})},[e.mode,n,a,s,o,r]),be({enabled:!0,source:`electronMiniChat:recovery`});let v=j.useRef(!1);j.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),b=h(e=>{let t=e.detail,n=typeof t?.sessionId==`string`?t.sessionId.trim():``;if(!n||C.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});j.useEffect(()=>(window.addEventListener(`openchamber:open-session`,b),()=>window.removeEventListener(`openchamber:open-session`,b)),[b]),j.useEffect(()=>{e.mode!==`draft`||o||a||u({selectedProjectId:e.projectId,directoryOverride:e.directory,preserveDirectoryOverride:!!e.directory})},[e,a,o,u]),j.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(!(Oe.getState().directories.get(n)?.isGitRepo??await f(()=>import(`./gitApi-BwuaHHRQ.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,19,20,21,22,23,24])))||e)return;await Ce({id:t.id,path:n},{isCurrent:()=>!e})}catch{}}))})(),()=>{e=!0}},[i]);let x=j.useRef(!1);return j.useEffect(()=>{if(x.current||!p)return;let t=()=>{if(x.current)return;x.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},ot=()=>{let e=(0,A.c)(4),t=C(mt),n=l(ht),r,i;return e[0]!==n||e[1]!==t?(r=()=>{if(!t||!n||typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(rt),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]),j.useEffect(r,i),null},st=e=>{let t=(0,A.c)(6),n=ie(),r=C(gt),[i,a]=j.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]),j.useEffect(o,s),i};function ct(e){let t=(0,A.c)(16),{apis:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=it(),t[0]=r):r=t[0];let i=r,a=l(ft),s=C(dt),c=C(ut),d,f;t[1]===a?(d=t[2],f=t[3]):(d=()=>{u.setDirectory(a||i.directory||void 0)},f=[i.directory,a],t[1]=a,t[2]=d,t[3]=f),j.useEffect(d,f);let p,m;t[4]===n?(p=t[5],m=t[6]):(p=()=>(o(n),lt),m=[n],t[4]=n,t[5]=p,t[6]=m),j.useEffect(p,m),ye(),nt();let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h={enabled:!0},t[7]=h):h=t[7],ue(h),w();let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=u.getSdkClient(),t[8]=g):g=t[8];let _=a||i.directory||``,v=!(c&&s===null),y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,M.jsx)(we,{delayDuration:300,skipDelayDuration:150,children:(0,M.jsxs)(`div`,{className:`h-full text-foreground bg-background`,children:[(0,M.jsx)(pt,{config:i}),(0,M.jsx)(me,{})]})}),t[9]=y):y=t[9];let b;t[10]===n?b=t[11]:(b=(0,M.jsx)(_e,{apis:n,children:y}),t[10]=n,t[11]=b);let x;return t[12]!==b||t[13]!==_||t[14]!==v?(x=(0,M.jsx)(Ee,{children:(0,M.jsx)(te,{sdk:g,directory:_,bootstrapDirectory:v,children:b})}),t[12]=b,t[13]=_,t[14]=v,t[15]=x):x=t[15],x}function lt(){return o(null)}function ut(e){return!!e.newSessionDraft?.open}function dt(e){return e.currentSessionId}function ft(e){return e.currentDirectory}var pt=e=>{let t=(0,A.c)(11),{config:n}=e,r=st(n),i;t[0]===n?i=t[1]:(i=(0,M.jsx)(at,{config:n}),t[0]=n,t[1]=i);let a,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsx)(ot,{}),o=(0,M.jsx)(pe,{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,M.jsx)(Le,{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,M.jsxs)(M.Fragment,{children:[i,a,o,c]}),t[8]=i,t[9]=c,t[10]=l):l=t[10],l};function mt(e){return e.currentSessionId}function ht(e){return e.currentDirectory}function gt(e){return e.currentSessionId}var _t=()=>{y(),a().then(()=>{Promise.all([i(),de()]).catch(e=>{console.error(`[mini-chat-main] settings init failed:`,e)}),ve(),D(),E()}).catch(e=>{console.error(`[mini-chat-main] appearance init failed:`,e)})};function vt(e){_t();let t=document.getElementById(`root`);if(!t)throw Error(`Root element not found`);(0,Pe.createRoot)(t).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(he,{children:(0,M.jsx)(_,{children:(0,M.jsx)(ge,{children:(0,M.jsx)(Se,{children:(0,M.jsx)(fe,{children:(0,M.jsx)(ct,{apis:e})})})})})})}))}export{vt as renderElectronMiniChatApp};