@openchambery/web 1.18.2-beta.21 → 1.18.2-beta.23

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 (47) hide show
  1. package/dist/assets/{AssistantView-C00aiEHK.js → AssistantView-BwOGfQdf.js} +1 -1
  2. package/dist/assets/{ChatContainer-BDFeDKu-.js → ChatContainer-BhuJ17NV.js} +5 -5
  3. package/dist/assets/{DiagramView-CUfSFI3e.js → DiagramView-BZDrlrBa.js} +1 -1
  4. package/dist/assets/{MarkdownRendererImpl-Cen6E9Lj.js → MarkdownRendererImpl-_B10-P_d.js} +1 -1
  5. package/dist/assets/{MobileDetailNavigation-DILi0tN7.js → MobileDetailNavigation-B4ou1pP8.js} +1 -1
  6. package/dist/assets/{MobileShareBridge-PZMRiieI.js → MobileShareBridge-BFvNHNJt.js} +1 -1
  7. package/dist/assets/{MobileSurface-BLYcR0tO.js → MobileSurface-DWSNe5Oc.js} +1 -1
  8. package/dist/assets/{MultiRunWindow-D_2mWZyv.js → MultiRunWindow-C_n1QW0Q.js} +1 -1
  9. package/dist/assets/{OverlayScrollbar-BgMLtMIq.js → OverlayScrollbar-Mi_WH4jv.js} +1 -1
  10. package/dist/assets/{SettingsView-CbDBfQp1.js → SettingsView-BXzpHbAd.js} +1 -1
  11. package/dist/assets/{SettingsWindow-Br7XLcSd.js → SettingsWindow-ChZzPrmx.js} +1 -1
  12. package/dist/assets/{TerminalView-CM5jRKlj.js → TerminalView-DHnpuSPa.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-D3U6aTZ4.js → ToolOutputDialog-C1R-GCPB.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-CDxBJNNB.js → appThemeRegistry-Ck9e8eEr.js} +2 -2
  15. package/dist/assets/assistant-guide-hero-wide-DiFIThB0.jpg +0 -0
  16. package/dist/assets/{context-menu-DBOMervd.js → context-menu-CjVxtovr.js} +1 -1
  17. package/dist/assets/{gitApi-BQT3QXD2.js → gitApi-Ctgr4Y9i.js} +1 -1
  18. package/dist/assets/{insertionBoundaries-9a0RuIDc.js → insertionBoundaries-BEvkmerk.js} +1 -1
  19. package/dist/assets/{main-CEqSDnE2.js → main-DakgzbmV.js} +2 -2
  20. package/dist/assets/{main-BGfX81Y9.js → main-mPlXr40-.js} +4 -4
  21. package/dist/assets/{miniChat-CKucSAhg.js → miniChat-BvWaAk95.js} +2 -2
  22. package/dist/assets/{mobile-C4bTWKry.js → mobile-BBcoCHM3.js} +2 -2
  23. package/dist/assets/{multirun-DeNtSkgb.js → multirun-Dc_oCEXn.js} +1 -1
  24. package/dist/assets/{projectMeta-BunN9pH5.js → projectMeta-BbjPDSpU.js} +2 -2
  25. package/dist/assets/radio-CQrbmLB7.js +1 -0
  26. package/dist/assets/{renderElectronMiniChatApp-D8-FDgWE.js → renderElectronMiniChatApp-C7FdCciX.js} +2 -2
  27. package/dist/assets/{renderMobileApp-CdU0aJ-e.js → renderMobileApp-Bhv28XIT.js} +5 -5
  28. package/dist/assets/{runtimeEndpointReset-CK1GhIsm.js → runtimeEndpointReset-DhSRMf7G.js} +1 -1
  29. package/dist/assets/{sortable-tabs-strip-pWlBorwQ.js → sortable-tabs-strip-yvKEEQEL.js} +1 -1
  30. package/dist/assets/{src-8kQFmtjw.css → src-7UHu0sNZ.css} +1 -1
  31. package/dist/assets/{useAppFontEffects-IEUQDvE8.js → useAppFontEffects-BiZhEY4g.js} +2 -2
  32. package/dist/assets/{useDesktopWindowControlsLayout-MlqJX89k.js → useDesktopWindowControlsLayout-D3lc4TXT.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-GbhkdO6m.js → useEffectiveDirectory-DD7JGLuB.js} +1 -1
  34. package/dist/assets/{useMobileNavigationStore-DQHF_ETu.js → useMobileNavigationStore-DEUCakMd.js} +1 -1
  35. package/dist/assets/{useSessionAutoCleanup-BuU_S_Sh.js → useSessionAutoCleanup-X6napv6d.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-Ca6OgNHF.js → useWorkerHighlightedLines-B6gvEO9K.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/server/lib/assistants/DOCUMENTATION.md +2 -2
  42. package/server/lib/assistants/history-state.js +23 -0
  43. package/server/lib/assistants/history-state.test.js +51 -0
  44. package/server/lib/assistants/service.js +37 -11
  45. package/server/lib/assistants/service.test.js +106 -2
  46. package/dist/assets/assistant-guide-hero-BeUHQcxE.jpg +0 -0
  47. package/dist/assets/radio-Bziafaje.js +0 -1
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,t as n}from"./useUIStore-5agS8bsW.js";import{Xt as r,d as i,kn as a,u as o,xn as s}from"./persistence-D1lIuyqO.js";import{A as c,D as l,E as u,F as d,I as f,M as p,N as m,P as h,j as g,k as _,nt as v,rt as y,tt as b}from"./vendor-base-ui-CnHfUmDN.js";import{n as x}from"./vendor-react-DLPElpoQ.js";import{s as S}from"./vendor-tanstack-react-query-D7pys_c9.js";import{P as C,V as w,a as T,f as E,l as D}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{c as O,o as k,r as A}from"./vendor-codemirror-lang-angular-DShkBD6m.js";import{n as j,r as M}from"./vendor-codemirror-lang-json-CYJRHck9.js";import{n as ee}from"./vendor-codemirror-lang-markdown-WORgx6ZD.js";import{n as N}from"./vendor-codemirror-lang-python-Du6XQ8Zw.js";import{O as te}from"./vendor-codemirror-legacy-modes-DuRAjNvB.js";import{n as P}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ne,r as re}from"./clipboard-BnElHSnO.js";import{Ha as ie,Wa as ae,Xi as F,Ya as I,lo as oe}from"./useMobileNavigationStore-DEUCakMd.js";import{t as L}from"./AgentAvatar-B4fj9PIe.js";import{s as R,t as z}from"./utils-BxJEIWv5.js";import{n as B}from"./Icon-DiIuWOuC.js";import{t as V}from"./button-DaAoVF4X.js";import{A as se,C as H,E as U,O as W,T as G,k as ce,w as K}from"./projectMeta-BbjPDSpU.js";import{t as le}from"./input-XiL2-2gG.js";import{t as ue}from"./useThemeSystem-DMzWVJaW.js";import{i as de}from"./OverlayScrollbar-Mi_WH4jv.js";import{t as fe}from"./vendor-codemirror-language-data-BfYFhIH1.js";var q=e(y(),1),J=v(),pe=[.2,.45,.15,.55,.35,.1,.5,.25,.4,.3,.45,.15,.55,.2,.35,.1],me=[.3,.15,.45,.25,.5,.35,.1,.4,.2,.55,.3,.15,.45,.25,.4,.2],he=(e,t,n,r,i=4)=>{let a=[];for(let o=0;o<i;o++)for(let s=0;s<i;s++){let c=s/i,l=(s+1)/i,u=o/i,d=(o+1)/i,f=(e,t,n)=>e+(t-e)*n,p=(e,t,n,r,i,a)=>{let o=f(e,t,i),s=f(r,n,i);return f(o,s,a)},m={x:p(e.x,t.x,n.x,r.x,c,u),y:p(e.y,t.y,n.y,r.y,c,u)},h={x:p(e.x,t.x,n.x,r.x,l,u),y:p(e.y,t.y,n.y,r.y,l,u)},g={x:p(e.x,t.x,n.x,r.x,l,d),y:p(e.y,t.y,n.y,r.y,l,d)},_={x:p(e.x,t.x,n.x,r.x,c,d),y:p(e.y,t.y,n.y,r.y,c,d)};a.push({path:`M${m.x} ${m.y} L${h.x} ${h.y} L${g.x} ${g.y} L${_.x} ${_.y} Z`,row:o,col:s})}return a},ge=({className:e=``,width:t=70,height:n=70,isAnimated:r=!1})=>{let{t:i}=ne(),a=ue(),o=!0;a?o=a.currentTheme.metadata.variant!==`light`:typeof window<`u`&&(o=window.matchMedia(`(prefers-color-scheme: dark)`).matches);let s=(0,q.useMemo)(()=>{if(a)return a.currentTheme.colors.surface.foreground;if(typeof window<`u`){let e=getComputedStyle(document.documentElement).getPropertyValue(`--splash-stroke`).trim();if(e)return e}return o?`white`:`black`},[a,o]),c=(0,q.useMemo)(()=>typeof window>`u`||typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`color`,`color-mix(in srgb, white 50%, transparent)`),[]),l=(0,q.useMemo)(()=>{if(a)return c?`color-mix(in srgb, ${s} 15%, transparent)`:o?`rgba(255,255,255,0.15)`:`rgba(0,0,0,0.15)`;if(typeof window<`u`){let e=getComputedStyle(document.documentElement).getPropertyValue(`--splash-face-fill`).trim();if(e)return e}return o?`rgba(255,255,255,0.15)`:`rgba(0,0,0,0.15)`},[a,c,s,o]),u=(0,q.useMemo)(()=>{if(a)return c?`color-mix(in srgb, ${s} 35%, transparent)`:o?`rgba(255,255,255,0.35)`:`rgba(0,0,0,0.4)`;if(typeof window<`u`){let e=getComputedStyle(document.documentElement).getPropertyValue(`--splash-cell-fill`).trim();if(e)return e}return o?`rgba(255,255,255,0.35)`:`rgba(0,0,0,0.4)`},[a,c,s,o]),d=s,f=.866,p=.5,m={x:50,y:2},h={x:50-48*f,y:50-48*p},g={x:91.568,y:50-48*p},_={x:50,y:50},v={x:50-48*f,y:74},y={x:91.568,y:74},b={x:50,y:98},x=`matrix(0.866, 0.5, -0.866, 0.5, 50, ${(m.y+h.y+_.y+g.y)/4})`,S=he(h,_,b,v),C=he(_,g,y,b);return(0,J.jsxs)(`svg`,{width:t,height:n,viewBox:`0 0 100 100`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,role:`img`,"aria-label":i(`openChamberLogo.aria.logo`),children:[r?(0,J.jsx)(`style`,{children:`@keyframes oc-logo-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 4px var(--oc-glow-color))}}.oc-logo-glow{animation:oc-logo-glow 1.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.oc-logo-glow{animation:none}}`}):null,(0,J.jsx)(`path`,{d:`M${_.x} ${_.y} L${h.x} ${h.y} L${v.x} ${v.y} L${b.x} ${b.y} Z`,fill:l,stroke:s,strokeWidth:`2`,strokeLinejoin:`round`}),S.map((e,t)=>(0,J.jsx)(`path`,{d:e.path,fill:u,opacity:pe[e.row*4+(3-e.col)]??.35},`left-${t}`)),(0,J.jsx)(`path`,{d:`M${_.x} ${_.y} L${g.x} ${g.y} L${y.x} ${y.y} L${b.x} ${b.y} Z`,fill:l,stroke:s,strokeWidth:`2`,strokeLinejoin:`round`}),C.map((e,t)=>(0,J.jsx)(`path`,{d:e.path,fill:u,opacity:me[e.row*4+e.col]??.35},`right-${t}`)),(0,J.jsx)(`path`,{d:`M${m.x} ${m.y} L${h.x} ${h.y} L${_.x} ${_.y} L${g.x} ${g.y} Z`,fill:`none`,stroke:s,strokeWidth:`2`,strokeLinejoin:`round`}),(0,J.jsx)(`g`,{opacity:1,className:r?`oc-logo-glow`:void 0,style:r?{"--oc-glow-color":s}:void 0,children:(0,J.jsxs)(`g`,{transform:`${x} scale(0.75)`,children:[(0,J.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M-16 -20 L16 -20 L16 20 L-16 20 Z M-8 -12 L-8 12 L8 12 L8 -12 Z`,fill:d}),(0,J.jsx)(`path`,{d:`M-8 -4 L8 -4 L8 12 L-8 12 Z`,fill:d,fillOpacity:`0.4`})]})})]})},Y=x(),_e=e(b(),1),X=0,ve=()=>{X=Date.now()+800},Z=()=>Date.now()<X,ye=`__unassigned__`,be={mod:`mod`,shift:`shift`,alt:`alt`,option:`alt`,ctrl:`ctrl`,meta:`mod`,cmd:`mod`,command:`mod`},xe={mod:R()&&r()?`⌘`:`Ctrl`,shift:`⇧`,alt:`⌥`,option:`⌥`,ctrl:`⌃`},Se={comma:`,`,period:`.`,enter:`Enter`,escape:`Esc`,tab:`Tab`,space:`Space`,backspace:`⌫`,delete:`⌦`,arrowup:`↑`,arrowdown:`↓`,arrowleft:`←`,arrowright:`→`,home:`Home`,end:`End`,pageup:`Page Up`,pagedown:`Page Down`,backtick:"`",grave:"`","=":`=`,equal:`=`,plus:`+`,minus:`-`,"-":`-`},Ce=[`mod`,`ctrl`,`shift`,`alt`],we={"{":`[`,"}":`]`,":":`;`,'"':`'`,"<":`,`,">":`.`,"?":`/`,"|":`\\`,"~":"`","!":`1`,"@":`2`,"#":`3`,$:`4`,"%":`5`,"^":`6`,"&":`7`,"*":`8`,"(":`9`,")":`0`};function Q(e){return e.trim().toLowerCase()===ye}function $(e){let t=e.toLowerCase();return t===`,`?`comma`:t===`.`?`period`:t===` `?`space`:t===`esc`?`escape`:t===`+`?`plus`:t===`-`||t===`_`?`minus`:t===`arrowup`?`arrowup`:t===`arrowdown`?`arrowdown`:t===`arrowleft`?`arrowleft`:t===`arrowright`?`arrowright`:t==="`"?`backtick`:we[t]??t}var Te=[{id:`open_go_to_line`,defaultCombo:`alt+g`,label:`Go to line (files editor)`,description:`Open go to line in the files editor`,customizable:!0},{id:`open_command_palette`,defaultCombo:`mod+p`,label:`Open command palette`,description:`Open the command palette`,customizable:!0},{id:`focus_input`,defaultCombo:`mod+i`,label:`Focus input`,description:`Focus the chat input field`,customizable:!0},{id:`open_status`,defaultCombo:`mod+shift+o`,label:`Open OpenCode status`,description:`Open the OpenCode status dialog`},{id:`open_settings`,defaultCombo:`mod+comma`,label:`Open settings`,description:`Open the settings panel`,customizable:!0},{id:`toggle_terminal`,defaultCombo:`ctrl+backtick`,label:`Toggle terminal`,description:`Toggle the integrated terminal`,customizable:!0},{id:`toggle_bottom_panel`,defaultCombo:`mod+j`,label:`Toggle bottom panel`,description:`Toggle the bottom panel dock`,customizable:!0},{id:`toggle_terminal_expanded`,defaultCombo:`mod+shift+j`,label:`Toggle terminal expanded`,description:`Toggle terminal expanded or collapsed`,customizable:!0},{id:`new_terminal_tab`,defaultCombo:`mod+t`,label:`New terminal tab`,description:`Create a new terminal tab when the terminal is focused`,customizable:!0},{id:`open_new_terminal`,defaultCombo:`mod+shift+backtick`,label:`Open new terminal`,description:`Open the terminal panel and create a new terminal tab`,customizable:!0},{id:`previous_terminal_tab`,defaultCombo:`mod+shift+[`,label:`Previous terminal tab`,description:`Switch to the previous terminal tab when the terminal is focused`,customizable:!0},{id:`next_terminal_tab`,defaultCombo:`mod+shift+]`,label:`Next terminal tab`,description:`Switch to the next terminal tab when the terminal is focused`,customizable:!0},{id:`toggle_files`,defaultCombo:`mod+shift+f`,label:`Toggle files`,description:`Toggle the files panel`},{id:`toggle_sidebar`,defaultCombo:`mod+b`,label:`Toggle sidebar`,description:`Toggle the session sidebar`,customizable:!0},{id:`open_timeline_dialog`,defaultCombo:`mod+t`,label:`Open conversation timeline`,description:`Search and navigate within current conversation`,customizable:!0},{id:`toggle_prompt_navigator`,defaultCombo:`mod+alt+p`,label:`Toggle prompt navigator`,description:`Show or hide the prompt navigator panel in chat`,customizable:!0},{id:`toggle_right_sidebar`,defaultCombo:`mod+alt+b`,defaultAliases:[`mod+\\`],label:`Toggle review panel`,description:`Toggle the review panel (right sidebar)`,customizable:!0},{id:`open_right_sidebar_git`,defaultCombo:`mod+shift+g`,label:`Open right sidebar Git tab`,description:`Open right sidebar and select Git`,customizable:!0},{id:`open_right_sidebar_files`,defaultCombo:`mod+shift+f`,label:`Open right sidebar Files tab`,description:`Open right sidebar and select Files`,customizable:!0},{id:`cycle_right_sidebar_tab`,defaultCombo:`mod+alt+shift+r`,label:`Cycle right sidebar tab`,description:`Cycle through right sidebar tabs`,customizable:!0},{id:`close_context_panel_tab`,defaultCombo:`mod+w`,label:`Close context panel tab`,description:`Close the active context panel tab (closes the panel when empty)`,customizable:!0},{id:`previous_session`,defaultCombo:`mod+shift+[`,defaultAliases:[`mod+arrowup`],label:`Previous session`,description:`Switch to the previous session`,customizable:!0},{id:`next_session`,defaultCombo:`mod+shift+]`,defaultAliases:[`mod+arrowdown`],label:`Next session`,description:`Switch to the next session`,customizable:!0},{id:`new_chat`,defaultCombo:`mod+n`,label:`New session`,description:`Start a new session`,customizable:!0},{id:`new_chat_worktree`,defaultCombo:`mod+shift+alt+n`,label:`New worktree draft`,description:`Create a new worktree and open a draft in it`,customizable:!0},{id:`new_mini_chat`,defaultCombo:`mod+alt+n`,label:`New Mini Chat window`,description:`Open a new Mini Chat draft window`,customizable:!0},{id:`submit_message`,defaultCombo:`mod+enter`,label:`Submit message`,description:`Submit the current message`},{id:`clear_input`,defaultCombo:`escape`,label:`Clear input`,description:`Clear the input field`},{id:`clear_all_messages`,defaultCombo:`ctrl+c`,label:`Clear all messages`,description:`Clear the composer input and queued messages`,customizable:!0},{id:`open_diff_panel`,defaultCombo:`mod+2`,label:`Open diff panel`,description:`Switch to the diff panel`},{id:`open_terminal_panel`,defaultCombo:`mod+3`,label:`Open terminal panel`,description:`Switch to the terminal panel`},{id:`open_git_panel`,defaultCombo:`mod+4`,label:`Open git panel`,description:`Switch to the git panel`},{id:`open_help`,defaultCombo:`mod+.`,label:`Open keyboard shortcuts`,description:`Show the keyboard shortcuts help`,customizable:!0},{id:`toggle_context_plan`,defaultCombo:`mod+shift+p`,label:`Toggle plan context panel`,description:`Open or close plan in the context panel`,customizable:!0},{id:`toggle_services_menu`,defaultCombo:`mod+shift+s`,label:`Toggle services menu`,description:`Open or close the services menu`,customizable:!0},{id:`open_usage`,defaultCombo:`mod+shift+c`,label:`Open usage`,description:`Open the usage panel`,customizable:!0},{id:`cycle_services_tab`,defaultCombo:`mod+alt+shift+s`,label:`Cycle services tab`,description:`Cycle through tabs in the services menu`,customizable:!0},{id:`cycle_theme`,defaultCombo:`mod+/`,label:`Cycle theme`,description:`Cycle between light, dark, and system theme`,customizable:!0},{id:`zoom_in`,defaultCombo:`mod+=`,label:`Zoom in`,description:`Increase the webview zoom level`,customizable:!0},{id:`zoom_out`,defaultCombo:`mod+-`,label:`Zoom out`,description:`Decrease the webview zoom level`,customizable:!0},{id:`zoom_reset`,defaultCombo:`mod+0`,label:`Reset zoom`,description:`Reset the webview zoom level to 100%`,customizable:!0},{id:`leader_key`,defaultCombo:`ctrl+x`,label:`Leader key`,description:`Start an OpenCode-style chord, then press M / A / N / C`,customizable:!0},{id:`open_model_selector`,defaultCombo:`mod+shift+m`,label:`Open model selector`,description:`Open model selector while in chat`,customizable:!0},{id:`cycle_thinking_variant`,defaultCombo:`mod+shift+t`,label:`Cycle thinking variant`,description:`Cycle thinking variant while in chat`},{id:`cycle_agent`,defaultCombo:`tab`,label:`Cycle agent`,description:`Cycle agent while the model selector is open`,customizable:!0},{id:`cycle_favorite_model_forward`,defaultCombo:`ctrl+]`,label:`Cycle favorite model forward`,description:`Cycle forward through starred models without opening the picker`,customizable:!0},{id:`cycle_favorite_model_backward`,defaultCombo:`ctrl+[`,label:`Cycle favorite model backward`,description:`Cycle backward through starred models without opening the picker`,customizable:!0},{id:`expand_input`,defaultCombo:`mod+shift+e`,label:`Expand input`,description:`Toggle focus mode for the chat input`,customizable:!0},{id:`toggle_dictation`,defaultCombo:`mod+alt+v`,label:`Voice input`,description:`Start dictation; press again to confirm and insert the transcript`,customizable:!0},{id:`abort_run`,defaultCombo:`escape`,label:`Abort active run`,description:`Abort the currently running task (double press)`},{id:`switch_tab_1`,defaultCombo:`mod+1`,label:`Switch to visible session 1`,description:`Switch to the first visible sidebar session`},{id:`switch_tab_2`,defaultCombo:`mod+2`,label:`Switch to visible session 2`,description:`Switch to the second visible sidebar session`},{id:`switch_tab_3`,defaultCombo:`mod+3`,label:`Switch to visible session 3`,description:`Switch to the third visible sidebar session`},{id:`switch_tab_4`,defaultCombo:`mod+4`,label:`Switch to visible session 4`,description:`Switch to the fourth visible sidebar session`},{id:`switch_tab_5`,defaultCombo:`mod+5`,label:`Switch to visible session 5`,description:`Switch to the fifth visible sidebar session`},{id:`switch_tab_6`,defaultCombo:`mod+6`,label:`Switch to visible session 6`,description:`Switch to the sixth visible sidebar session`},{id:`switch_tab_7`,defaultCombo:`mod+7`,label:`Switch to visible session 7`,description:`Switch to the seventh visible sidebar session`},{id:`switch_tab_8`,defaultCombo:`mod+8`,label:`Switch to visible session 8`,description:`Switch to the eighth visible sidebar session`},{id:`switch_tab_9`,defaultCombo:`mod+9`,label:`Switch to visible session 9`,description:`Switch to the ninth visible sidebar session`}];function Ee(e){if(Q(e))return ye;let t=e.toLowerCase().trim().split(`+`).map(e=>e.trim()).filter(Boolean),n=new Set,r=``;for(let e of t){let t=e===`,`?`comma`:e===`.`?`period`:e,i=be[t];if(i){n.add(i);continue}r=t}return[...Ce.filter(e=>n.has(e)),r].filter(Boolean).join(`+`)}function De(e){return Q(e)?!0:Oe(e).key.trim().length>0}function Oe(e){if(Q(e))return{modifiers:new Set,key:ye};let t=Ee(e).split(`+`),n=new Set,r=``;for(let e of t){let t=be[e];t?n.add(t):r=e}return{modifiers:n,key:r}}function ke(e){if(Q(e))return`Unassigned`;let t=Oe(e);if(!t.key&&t.modifiers.size===0)return`Unassigned`;let n=[];for(let e of Ce)t.modifiers.has(e)&&n.push(xe[e]);if(t.key){let e=Se[t.key.toLowerCase()]||t.key.toUpperCase();n.push(e)}return n.join(` + `)}function Ae(e){return Te.find(t=>t.id===e)}function je(){return Te.filter(e=>e.customizable===!0)}function Me(e,t){let n=Ae(e);if(!n)return``;let r=t?.[e];if(typeof r==`string`){if(r.trim().toLowerCase()===`__unassigned__`)return``;let e=Ee(r);if(e===`__unassigned__`)return ye;if(De(e))return e}return n.defaultCombo}function Ne(e,t){let n=Ae(e);if(!n)return[];let r=Me(e,t);return r===n.defaultCombo?[n.defaultCombo,...n.defaultAliases??[]]:r?[r]:[]}function Pe(e){if(Q(e))return!1;let t=Oe(e);if(!t.modifiers.has(`mod`))return!1;let n=t.key.toLowerCase();return new Set([`w`,`t`,`r`,`p`,`s`,`f`,`l`,`n`]).has(n)&&!t.modifiers.has(`shift`)&&!t.modifiers.has(`alt`)}function Fe(e,t){let n=typeof t==`string`?t:t.defaultCombo;if(Q(n))return!1;let i=Oe(n),a=i.modifiers.has(`mod`),o=i.modifiers.has(`shift`),s=i.modifiers.has(`alt`),c=i.modifiers.has(`ctrl`),l=R()&&r(),u=R(),d=l?e.metaKey:u&&e.metaKey||e.ctrlKey;if(a&&!d||!a&&e.metaKey||o!==e.shiftKey||s!==e.altKey)return!1;if(c){if(!e.ctrlKey)return!1}else{let t=a&&!l&&e.ctrlKey;if(e.ctrlKey&&!t)return!1}let f=e.key;return(!f||f===`Dead`)&&e.code===`Backquote`&&(f="`"),e.altKey&&(e.code.startsWith(`Key`)&&e.code.length===4?f=e.code.slice(3).toLowerCase():e.code.startsWith(`Digit`)&&e.code.length===6&&(f=e.code.slice(5))),$(f)===$(i.key)}function Ie(){return R()&&r()?`⌘`:`Ctrl`}function Le(e,t,n){if(Fe(e,n))return!0;let i=Ee(n),a=R()&&r(),o=R();return!(a?e.metaKey:o&&e.metaKey||e.ctrlKey)||e.altKey||a&&e.ctrlKey&&!e.metaKey?!1:t===`in`&&i===`mod+=`?e.key===`+`||e.code===`NumpadAdd`:t===`out`&&(i===`mod+-`||i===`mod+minus`)?e.key===`_`||e.code===`NumpadSubtract`:!1}var Re=`app-region-no-drag transition-all duration-150 ease-out data-[starting-style]:opacity-0 data-[starting-style]:scale-95 data-[ending-style]:opacity-0 data-[ending-style]:scale-95 z-50 max-h-[var(--available-height)] min-w-[8rem] origin-[var(--transform-origin)] overflow-visible rounded-xl p-1 shadow-[inset_0_1px_0_0_rgba(255,255,255,0.8),inset_0_0_0_1px_rgba(0,0,0,0.04),0_0_0_1px_rgba(0,0,0,0.10),0_1px_2px_-0.5px_rgba(0,0,0,0.08),0_4px_8px_-2px_rgba(0,0,0,0.08),0_12px_20px_-4px_rgba(0,0,0,0.08)] dark:shadow-[inset_0_1px_0_0_rgba(255,255,255,0.12),inset_0_0_0_1px_rgba(255,255,255,0.08),0_0_0_1px_rgba(0,0,0,0.36),0_1px_1px_-0.5px_rgba(0,0,0,0.22),0_3px_3px_-1.5px_rgba(0,0,0,0.20),0_6px_6px_-3px_rgba(0,0,0,0.16)]`,ze=`data-[highlighted]:bg-interactive-hover hover:bg-interactive-hover data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1 typography-ui-label outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,Be=`data-[highlighted]:bg-interactive-hover hover:bg-interactive-hover [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1 typography-ui-label outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,Ve=`bg-border -mx-1 my-0.5 h-px`,He=q.createContext(null),Ue=e=>e?e.closest(`[data-slot="dialog-content"], [role="dialog"]`):null;function We(e,t){return e&&q.isValidElement(t)?{render:t}:{children:t}}function Ge(e){let t=(0,Y.c)(9),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let[r,i]=q.useState(null),a;t[2]===r?a=t[3]:(a={portalContainer:r,setPortalContainer:i},t[2]=r,t[3]=a);let o=a,s;t[4]===n?s=t[5]:(s=(0,J.jsx)(_,{...n}),t[4]=n,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,J.jsx)(He.Provider,{value:o,children:s}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Ke(e){let t=(0,Y.c)(22),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({asChild:n,children:r,onPointerDownCapture:a,onFocusCapture:i,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=q.useContext(He),c;t[6]===s?c=t[7]:(c=e=>{if(!s)return;let t=e instanceof HTMLElement?e:null;s.setPortalContainer(Ue(t))},t[6]=s,t[7]=c);let u=c,d;t[8]!==n||t[9]!==r?(d=We(n,r),t[8]=n,t[9]=r,t[10]=d):d=t[10];let f=d,p;t[11]!==a||t[12]!==u?(p=e=>{u(e.currentTarget),a?.(e)},t[11]=a,t[12]=u,t[13]=p):p=t[13];let m;t[14]!==i||t[15]!==u?(m=e=>{u(e.currentTarget),i?.(e)},t[14]=i,t[15]=u,t[16]=m):m=t[16];let h;return t[17]!==o||t[18]!==f||t[19]!==p||t[20]!==m?(h=(0,J.jsx)(l,{"data-slot":`dropdown-menu-trigger`,onPointerDownCapture:p,onFocusCapture:m,...o,...f}),t[17]=o,t[18]=f,t[19]=p,t[20]=m,t[21]=h):h=t[21],h}function qe(e){let t=(0,Y.c)(40),n,r,i,a,o,s,c,l,u,f,p,g,_;if(t[0]!==e){let{className:d,sideOffset:m,align:h,side:v,alignOffset:y,anchor:b,portalToBody:x,positionerClassName:S,style:C,children:w,onCloseAutoFocus:T,collisionPadding:E,collisionAvoidance:D,...O}=e;o=d,f=m,n=h,l=v,r=y,i=b,p=x,s=S,u=C,a=w,g=E,_=D,c=O,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=f,t[11]=p,t[12]=g,t[13]=_}else n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],f=t[10],p=t[11],g=t[12],_=t[13];let v=f===void 0?4:f,y=p!==void 0&&p,b=g===void 0?8:g,x;t[14]===_?x=t[15]:(x=_===void 0?{side:`shift`,align:`shift`}:_,t[14]=_,t[15]=x);let S=x,C=q.useContext(He),w=y?void 0:C?.portalContainer||void 0,T;t[16]===s?T=t[17]:(T=z(`app-region-no-drag z-50`,s),t[16]=s,t[17]=T);let E;t[18]===u?E=t[19]:(E={backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`,...u},t[18]=u,t[19]=E);let D;t[20]===o?D=t[21]:(D=z(Re,o),t[20]=o,t[21]=D);let O;t[22]!==a||t[23]!==c||t[24]!==E||t[25]!==D?(O=(0,J.jsx)(d,{"data-slot":`dropdown-menu-content`,style:E,className:D,...c,children:a}),t[22]=a,t[23]=c,t[24]=E,t[25]=D,t[26]=O):O=t[26];let k;t[27]!==n||t[28]!==r||t[29]!==i||t[30]!==S||t[31]!==b||t[32]!==l||t[33]!==v||t[34]!==O||t[35]!==T?(k=(0,J.jsx)(m,{anchor:i,sideOffset:v,align:n,side:l,alignOffset:r,collisionPadding:b,collisionAvoidance:S,className:T,children:O}),t[27]=n,t[28]=r,t[29]=i,t[30]=S,t[31]=b,t[32]=l,t[33]=v,t[34]=O,t[35]=T,t[36]=k):k=t[36];let A;return t[37]!==k||t[38]!==w?(A=(0,J.jsx)(h,{container:w,children:k}),t[37]=k,t[38]=w,t[39]=A):A=t[39],A}function Je(e){let t=(0,Y.c)(24),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:i,inset:a,variant:l,asChild:n,children:r,onSelect:s,onClick:o,...c}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=l===void 0?`default`:l,d;t[9]!==n||t[10]!==r?(d=We(n,r),t[9]=n,t[10]=r,t[11]=d):d=t[11];let p=d,m;t[12]!==o||t[13]!==s?(m=e=>{o?.(e),e.defaultPrevented||s?.(e)},t[12]=o,t[13]=s,t[14]=m):m=t[14];let h=m,g;t[15]===i?g=t[16]:(g=z(ze,i),t[15]=i,t[16]=g);let _;return t[17]!==h||t[18]!==a||t[19]!==c||t[20]!==p||t[21]!==g||t[22]!==u?(_=(0,J.jsx)(f,{"data-slot":`dropdown-menu-item`,"data-inset":a,"data-variant":u,className:g,...c,onClick:h,...p}),t[17]=h,t[18]=a,t[19]=c,t[20]=p,t[21]=g,t[22]=u,t[23]=_):_=t[23],_}function Ye(e){let t=(0,Y.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,J.jsx)(p,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function Xe(e){let t=(0,Y.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=z(`data-[highlighted]:bg-interactive-hover hover:bg-interactive-hover data-[checked]:bg-interactive-selection data-[checked]:text-interactive-selection-foreground relative flex cursor-pointer items-start gap-2 rounded-lg py-1 pl-2 pr-8 typography-ui-label outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,r),t[4]=r,t[5]=a);let o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-3.5 items-center justify-center text-primary`,children:(0,J.jsx)(c,{children:(0,J.jsx)(B,{name:`check`,className:`size-3`})})}),t[6]=o):o=t[6];let s;return t[7]!==n||t[8]!==i||t[9]!==a?(s=(0,J.jsxs)(g,{"data-slot":`dropdown-menu-radio-item`,className:a,...i,children:[o,n]}),t[7]=n,t[8]=i,t[9]=a,t[10]=s):s=t[10],s}function Ze(e){let t=(0,Y.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,inset:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===n?a=t[5]:(a=z(`px-2 py-1 typography-ui-label font-medium data-[inset]:pl-8`,n),t[4]=n,t[5]=a);let o;return t[6]!==r||t[7]!==i||t[8]!==a?(o=(0,J.jsx)(`div`,{"data-slot":`dropdown-menu-label`,"data-inset":r,className:a,...i}),t[6]=r,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function Qe(e){let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=z(Ve,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,J.jsx)(u,{"data-slot":`dropdown-menu-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var $e=(e,t)=>{let n=`flex min-h-0 flex-col bg-background shadow-none`;if(e===`page`)return`${n} h-full w-full`;let r=`${n} pwa-overlay-panel`;return t===`top`?`${r} mx-auto mb-auto max-h-[calc(100dvh-0.75rem)] w-full max-w-lg rounded-b-xl border-x border-b border-border/50`:t===`left`?`${r} h-full w-[min(86vw,24rem)] rounded-r-xl border-r border-y border-border/50`:t===`right`?`${r} ml-auto h-full w-[min(86vw,24rem)] rounded-l-xl border-l border-y border-border/50`:`${r} mx-auto mt-auto max-h-[calc(100dvh-0.75rem)] w-full max-w-lg rounded-t-2xl border-x border-t border-border/50 pb-[max(0.5rem,var(--oc-app-bottom-safe,0px),var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0px)))]`},et=e=>Math.min(1,Math.max(0,Number.isFinite(e)?e:0)),tt=(e,t,n)=>{let r=Number.isFinite(t)&&t>0?t:1,i=Math.max(0,Number.isFinite(e)?e:0)/r,a=et(n[0]??1),o=Math.abs(i-a);for(let e=1;e<n.length;e+=1){let t=et(n[e]??a),r=Math.abs(i-t);r<o&&(a=t,o=r)}return a},nt=(e,t)=>{let n=et(t),r=`${(1-n)*100}%`;return{progress:n,scrimOpacity:n,surfaceOpacity:n,surfaceTransform:e===`left`?`translate3d(-${r}, 0, 0)`:e===`right`?`translate3d(${r}, 0, 0)`:e===`top`?`translate3d(0, -${r}, 0)`:`translate3d(0, ${r}, 0)`}},rt=(e,t)=>{let n=et(t);return e===`present`?n:1-n},it=(e,t)=>e===`present`?+(t===`commit`):t===`commit`?0:1,at=e=>+!!e,ot=.72,st=.98,ct=[ot,st],lt=180,ut=`cubic-bezier(0.32, 0.72, 0, 1)`,dt=64,ft=()=>Math.max(1,window.innerHeight),pt=(e,t,n=dt,r)=>e<=ht(t,r)-n,mt=(e,t,n)=>Math.min(t*st,Math.max(n?0:t*ot,e)),ht=(e,t)=>{let n=Math.max(1,e)*ot;return t==null||!Number.isFinite(t)?n:Math.min(n,Math.max(0,t))},gt=(e,t,n)=>{let r=ht(t,n),i=Math.max(1,t)*st;return Math.abs(e-r)<=Math.abs(e-i)?ot:st},_t=({initialSnapPoint:e=ot,fitContent:t=!1,onDismiss:n,dismissThresholdPx:r=dt}={})=>{let i=q.useRef(null),a=q.useRef(null),o=q.useRef(null),s=q.useRef(null),c=q.useRef(null),l=q.useRef(null),u=q.useRef(!1),[d,f]=q.useState(e),p=q.useRef(e),m=q.useRef(n);m.current=n;let h=q.useCallback(()=>{o.current!==null&&window.cancelAnimationFrame(o.current),o.current=null},[]),g=q.useCallback((e,n)=>{let r=i.current,a=p.current;if(p.current=e,f(e),h(),s.current=null,c.current?.cancel(),c.current=null,!r)return;let o=n??r.getBoundingClientRect().height;t&&a===.72&&l.current===null&&(l.current=ht(ft(),o));let u=e===.72?ht(ft(),t?l.current:void 0):ft()*st;if(r.style.height=``,r.style.willChange=``,Math.abs(o-u)<1||typeof r.animate!=`function`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let d=r.animate([{height:`${o}px`},{height:`${u}px`}],{duration:lt,easing:ut,fill:`both`});c.current=d,d.finished.catch(()=>void 0).then(()=>{c.current===d&&(c.current=null,d.cancel())})},[h,t]),_=q.useCallback(e=>{if(!e.isPrimary||e.pointerType===`mouse`&&e.button!==0)return;let n=i.current;if(!n)return;let r=n.getBoundingClientRect().height;t&&p.current===.72&&(l.current=ht(ft(),r)),c.current?.cancel(),c.current=null,n.style.height=`${r}px`,n.style.willChange=`height`,a.current={pointerId:e.pointerId,startY:e.clientY,startHeight:r,startSnapPoint:p.current,viewportHeight:ft()},u.current=!1,e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault()},[t]),v=q.useCallback(e=>{let t=a.current,n=i.current;if(!t||t.pointerId!==e.pointerId||!n)return;let r=t.startY-e.clientY;Math.abs(r)>3&&(u.current=!0),s.current=mt(t.startHeight+r,t.viewportHeight,!!m.current),o.current===null&&(o.current=window.requestAnimationFrame(()=>{o.current=null,i.current&&s.current!==null&&(i.current.style.height=`${s.current}px`)})),e.preventDefault()},[]),y=q.useCallback((e,n)=>{let o=a.current,c=i.current;if(!o||o.pointerId!==e.pointerId||!c)return;a.current=null,h();let u=s.current??c.getBoundingClientRect().height;if(s.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),!n&&m.current&&pt(u,o.viewportHeight,r,t?l.current:void 0)){c.style.willChange=``,m.current(),e.preventDefault();return}let d=n?o.startSnapPoint:t?gt(u,o.viewportHeight,l.current):tt(u,o.viewportHeight,ct);g(d,u),e.preventDefault()},[h,r,t,g]),b=q.useCallback(()=>{if(u.current){u.current=!1;return}g(p.current===.98?ot:st)},[g]),x=q.useCallback(e=>{let t=null;(e.key===`ArrowUp`||e.key===`Home`)&&(t=st),(e.key===`ArrowDown`||e.key===`End`)&&(t=ot),(e.key===`Enter`||e.key===` `)&&(t=p.current===.98?ot:st),t!==null&&(e.preventDefault(),g(t))},[g]),S=q.useCallback(()=>{a.current=null,h(),s.current=null,c.current?.cancel(),c.current=null,l.current=null,p.current=e,f(e),i.current&&(i.current.style.height=``,i.current.style.willChange=``)},[h,e]);return q.useEffect(()=>()=>{h(),c.current?.cancel()},[h]),{surfaceRef:i,snapPoint:d,handlePointerDown:_,handlePointerMove:v,handlePointerUp:e=>y(e,!1),handlePointerCancel:e=>y(e,!0),handleClick:b,handleKeyDown:x,reset:S}},vt=e=>{let t=(0,Y.c)(12),{controller:n,ariaLabel:r}=e,i;t[0]===n.snapPoint?i=t[1]:(i=Math.round(n.snapPoint*100),t[0]=n.snapPoint,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(`div`,{className:`h-1.5 w-11 rounded-full bg-[var(--interactive-border)]`}),t[2]=a):a=t[2];let o;return t[3]!==r||t[4]!==n.handleClick||t[5]!==n.handleKeyDown||t[6]!==n.handlePointerCancel||t[7]!==n.handlePointerDown||t[8]!==n.handlePointerMove||t[9]!==n.handlePointerUp||t[10]!==i?(o=(0,J.jsx)(`div`,{"data-mobile-sheet-snap-handle":!0,role:`separator`,tabIndex:0,"aria-label":r,"aria-orientation":`horizontal`,"aria-valuemin":ot*100,"aria-valuemax":st*100,"aria-valuenow":i,className:`flex min-h-8 cursor-ns-resize touch-none justify-center pt-2.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`,onPointerDown:n.handlePointerDown,onPointerMove:n.handlePointerMove,onPointerUp:n.handlePointerUp,onPointerCancel:n.handlePointerCancel,onClick:n.handleClick,onKeyDown:n.handleKeyDown,children:a}),t[3]=r,t[4]=n.handleClick,t[5]=n.handleKeyDown,t[6]=n.handlePointerCancel,t[7]=n.handlePointerDown,t[8]=n.handlePointerMove,t[9]=n.handlePointerUp,t[10]=i,t[11]=o):o=t[11],o},yt=new WeakMap;function bt(e){yt.set(e.currentTarget,!0)}function xt(e){if(yt.delete(e.currentTarget))return!0;if(e.detail!==0)return!1;if(typeof document>`u`)return!0;let t=document.activeElement,n=e.currentTarget;return n instanceof Node&&t instanceof Node&&n.contains(t)}function St(e){e.target===e.currentTarget&&bt(e)}function Ct(e){return e.target===e.currentTarget&&xt(e)}var wt=new class{entries=[];listeners=new Set;previousOverflow=null;getSnapshot=()=>this.entries.at(-1)?.id??null;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));add(e,t){return this.entries=[...this.entries.filter(t=>t.id!==e.id),e],this.entries.length===1&&t&&(this.previousOverflow=t.style.overflow,t.style.overflow=`hidden`),this.emit(),()=>this.remove(e.id,t)}remove(e,t){let n=this.entries.length;this.entries=this.entries.filter(t=>t.id!==e),n>0&&this.entries.length===0&&t&&this.previousOverflow!==null&&(t.style.overflow=this.previousOverflow,this.previousOverflow=null),this.emit()}closeTop(){this.entries.at(-1)?.onClose()}emit(){for(let e of this.listeners)e()}},Tt=`mobile-sessions`,Et=new Map,Dt=e=>Et.get(e)??null,Ot=(e,t)=>(Et.set(e,t),()=>{Et.get(e)===t&&Et.delete(e)}),kt=`.overlay-scrollbar-container`,At=1,jt=e=>e===`left`||e===`right`?`x`:`y`,Mt=e=>e===`bottom`||e===`right`?1:-1,Nt=(e,t,n)=>{let r=jt(e)===`x`?t:n;return Math.max(0,r*Mt(e))},Pt=(e,t,n,r,i)=>{let a=Nt(e,t,n),o=Math.abs(jt(e)===`x`?n:t);return Math.hypot(t,n)>r&&a>0&&o<a*i},Ft=(e,t)=>Math.min(1,Math.max(0,e/Math.max(1,t))),It=(e,t,n,r)=>Math.min(r,Math.max(n,e*t)),Lt=(e,t,n,r,i)=>e>=n||e>=i&&t>=r,Rt=(e,t,n,r,i)=>t!==0&&n>0?t*i/n:r>80?0:e,zt=(e,t,n=At)=>{if(t===`bottom`)return e.scrollTop<=n;if(t===`top`)return e.scrollTop>=e.scrollHeight-e.clientHeight-n;if(e.matches?.(`:dir(rtl)`)){let r=e.scrollWidth-e.clientWidth;return t===`right`?Math.abs(e.scrollLeft)<=n:Math.abs(e.scrollLeft)>=r-n}return t===`right`?e.scrollLeft<=n:e.scrollLeft>=e.scrollWidth-e.clientWidth-n},Bt=(e,t)=>{for(let n=0;n<e.length;n+=1){let r=e.item(n);if(r?.identifier===t)return r}return null},Vt=(e,t)=>{let n=window.getComputedStyle(e),r=jt(t),i=r===`x`?n.overflowX:n.overflowY,a=r===`x`?e.scrollWidth:e.scrollHeight,o=r===`x`?e.clientWidth:e.clientHeight;return(i===`auto`||i===`scroll`||i===`overlay`)&&a>o},Ht=(e,t,n,r)=>{let i=t instanceof Element?t:null,a=i instanceof HTMLElement?i:i?.parentElement??null;for(;a&&e.contains(a);){if(Vt(a,n))return a;if(a===e)break;a=a.parentElement}let o=i?.closest(r)??null;return o&&e.contains(o)&&Vt(o,n)?o:null},Ut=e=>{let t=q.useRef(e),n=q.useRef(null),r=q.useRef(null);return t.current=e,q.useCallback(e=>{if(n.current?.(),n.current=null,!e)return;let i=()=>{let e=r.current;r.current=null,e?.active&&e.controller?.finish(`cancel`)},a=(e,t,n)=>{let r=jt(e.edge)===`x`?t.clientX:t.clientY,i=n-e.lastTime,a=r-e.lastPrimary;e.velocity=Rt(e.velocity,a,i,n-e.lastVelocityTime,Mt(e.edge)),a!==0&&i>0&&(e.lastVelocityTime=n),e.lastPrimary=r,e.lastTime=n,e.distance=Nt(e.edge,t.clientX-e.startX,t.clientY-e.startY)},o=n=>{i();let a=t.current;if(a.disabled||n.touches.length!==1)return;let o=n.target instanceof Element?n.target:null,s=a.reservedTargetSelector?o?.closest(a.reservedTargetSelector):null;if(s&&e.contains(s)||o?.closest(`input, textarea, select, [contenteditable=""], [contenteditable="true"], [data-mobile-sheet-no-dismiss]`))return;let c=n.touches[0],l=Ht(e,n.target,a.edge,a.scrollContainerSelector??kt);if(l&&!zt(l,a.edge))return;let u=e.getBoundingClientRect(),d=jt(a.edge)===`x`?u.width||window.innerWidth:u.height||window.innerHeight;r.current={edge:a.edge,motionId:a.motionId,touchId:c.identifier,startX:c.clientX,startY:c.clientY,lastPrimary:jt(a.edge)===`x`?c.clientX:c.clientY,lastTime:n.timeStamp,lastVelocityTime:n.timeStamp,velocity:0,distance:0,commitDistance:It(d,a.commitDistanceRatio??.1,a.minCommitDistance??40,a.maxCommitDistance??64),motionDistance:d,intentDistance:a.intentDistance??8,maxOffAxisRatio:a.maxOffAxisRatio??1,flingVelocity:a.flingVelocity??.65,flingMinDistance:a.flingMinDistance??12,controller:null,active:!1}},s=e=>{let n=r.current;if(!n)return;if(t.current.disabled||e.touches.length!==1){i();return}let o=Bt(e.touches,n.touchId);if(!o){i();return}if(a(n,o,e.timeStamp),!n.active){if(Math.hypot(o.clientX-n.startX,o.clientY-n.startY)<=n.intentDistance)return;if(!Pt(n.edge,o.clientX-n.startX,o.clientY-n.startY,n.intentDistance,n.maxOffAxisRatio)){r.current=null;return}let e=Dt(n.motionId);if(!e){r.current=null;return}if(!e.begin(`dismiss`)){r.current=null;return}n.active=!0,n.controller=e}n.controller?.update(Ft(n.distance,n.motionDistance)),e.preventDefault()},c=e=>{let t=r.current;if(!t)return;let n=Bt(e.changedTouches,t.touchId);if(!n){i();return}if(r.current=null,!t.active)return;a(t,n,e.timeStamp),t.controller?.update(Ft(t.distance,t.motionDistance));let o=Lt(t.distance,t.velocity,t.commitDistance,t.flingVelocity,t.flingMinDistance);t.controller?.finish(o?`commit`:`cancel`),e.preventDefault()},l=()=>i();e.addEventListener(`touchstart`,o,{passive:!0,capture:!0}),e.addEventListener(`touchmove`,s,{passive:!1,capture:!0}),e.addEventListener(`touchend`,c,{passive:!1,capture:!0}),e.addEventListener(`touchcancel`,l,{passive:!0,capture:!0}),n.current=()=>{i(),e.removeEventListener(`touchstart`,o,!0),e.removeEventListener(`touchmove`,s,!0),e.removeEventListener(`touchend`,c,!0),e.removeEventListener(`touchcancel`,l,!0)}},[])},Wt=`mobile-overlay-root`,Gt=200,Kt=80,qt=`cubic-bezier(0.32, 0.72, 0, 1)`,Jt=`a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])`,Yt=()=>{if(typeof document>`u`)return null;let e=document.getElementById(Wt);return e||(e=document.createElement(`div`),e.id=Wt,document.body.appendChild(e)),e},Xt=()=>typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Zt=({id:e,open:t,onOpenChange:n,keepMounted:r=!1,presentation:i=`sheet`,edge:a=`bottom`,children:o,className:s,scrimClassName:c,surfaceClassName:l,surfaceElementRef:u,dismissGesture:d=!1,onExitComplete:f,ariaLabel:p})=>{let m=q.useRef(null),h=q.useRef(null),g=q.useRef(null),_=q.useRef(t),v=q.useRef(n),y=q.useRef(f),b=q.useRef(0),x=q.useRef(0),S=q.useRef(null),C=q.useRef(null),w=q.useRef([]),T=q.useRef(null),E=q.useRef(`standard`),D=q.useRef(`present`),O=q.useRef(0),k=q.useRef(!1),A=q.useRef(t),j=q.useRef(!1),M=q.useRef(t),ee=q.useRef(null),[N,te]=q.useState(t),[P,ne]=q.useState(t),[re,ie]=q.useState(`standard`),[ae,F]=q.useState(!1),I=re===`interactive-present`,oe=q.useSyncExternalStore(wt.subscribe,wt.getSnapshot,wt.getSnapshot),L=P&&!I&&oe===e,R=Ut({motionId:e,edge:a,disabled:!d,...typeof d==`object`?d:{}}),B=q.useCallback(e=>{g.current=e,R(e),typeof u==`function`?u(e):u&&typeof u==`object`&&(u.current=e)},[R,u]),V=q.useCallback(()=>{M.current&&(M.current=!1,ne(!1),r||te(!1),y.current?.())},[r]);_.current=t,v.current=n,y.current=f,typeof document<`u`&&!m.current&&(m.current=Yt());let se=q.useCallback(e=>{let t=nt(a,e);b.current=t.progress,!(!h.current||!g.current)&&(h.current.style.opacity=String(t.scrimOpacity),g.current.style.transform=t.surfaceTransform,g.current.style.opacity=String(t.surfaceOpacity))},[a]),H=q.useCallback(()=>{S.current!==null&&window.cancelAnimationFrame(S.current),S.current=null},[]),U=q.useCallback(()=>{C.current!==null&&window.cancelAnimationFrame(C.current),C.current=null},[]),W=q.useCallback(()=>{h.current&&(h.current.style.willChange=``),g.current&&(g.current.style.willChange=``)},[]),G=q.useCallback((e=w.current)=>{for(let t of e)t.cancel();w.current=[]},[]),ce=q.useCallback(()=>{H();let e=T.current;if(e){let t=e.animations[1]?.effect?.getComputedTiming().progress;se(typeof t==`number`&&Number.isFinite(t)?e.from+(e.target-e.from)*t:b.current),G(e.animations),T.current=null}else G();W(),F(!1)},[se,G,H,W]),K=q.useCallback((e,t)=>{if(T.current?.target===e)return;ce();let n=b.current,r=h.current,i=g.current;if(F(!0),!r||!i||Xt()||n===e){se(e),W(),F(!1),t?.();return}let o=nt(a,n),s=nt(a,e);r.style.willChange=`opacity`,i.style.willChange=`transform, opacity`;let c=Math.max(Kt,Gt*Math.abs(e-n)),l=[r.animate([{opacity:o.scrimOpacity},{opacity:s.scrimOpacity}],{duration:c,easing:qt,fill:`forwards`}),i.animate([{transform:o.surfaceTransform,opacity:o.surfaceOpacity},{transform:s.surfaceTransform,opacity:s.surfaceOpacity}],{duration:c,easing:qt,fill:`forwards`})];w.current=l;let u={from:n,target:e,animations:l};T.current=u,Promise.all(l.map(e=>e.finished.catch(()=>void 0))).then(()=>{T.current===u&&(se(e),G(l),T.current=null,W(),F(!1),t?.())})},[se,G,W,a,ce]);if(q.useLayoutEffect(()=>{j.current=N,N&&se(x.current)},[se,N]),q.useLayoutEffect(()=>{M.current=P},[P]),q.useEffect(()=>{U(),t&&!j.current&&(x.current=b.current,te(!0)),t&&!M.current&&(M.current=!0,ne(!0)),j.current&&E.current===`standard`&&K(at(t),()=>{!_.current&&E.current===`standard`&&V()})},[U,V,t,K]),q.useLayoutEffect(()=>{!N||E.current!==`standard`||C.current!==null||K(+!!t,()=>{!_.current&&E.current===`standard`&&V()})},[V,N,t,K]),q.useEffect(()=>{if(!(!P||I))return window.dispatchEvent(new Event(`oc:mobile-overlay-opened`)),()=>{window.dispatchEvent(new Event(`oc:mobile-overlay-closed`))}},[P,I]),q.useEffect(()=>{if(!(!P||I))return wt.add({id:e,onClose:()=>v.current(!1)},document.body)},[P,e,I]),q.useEffect(()=>{if(!P||I||!L)return;let e=g.current,t=document.activeElement instanceof HTMLElement?document.activeElement:null;e?.focus({preventScroll:!0});let n=t=>{if(t.key===`Escape`&&wt.closeTop(),t.key!==`Tab`||!e)return;let n=Array.from(e.querySelectorAll(Jt)).filter(e=>!e.closest(`[data-mobile-sheet-snap-handle]`)),r=n[0]??e,i=n.at(-1)??e;t.shiftKey&&document.activeElement===r&&(t.preventDefault(),i.focus({preventScroll:!0})),!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus({preventScroll:!0}))};return document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`keydown`,n),Z()||t?.focus({preventScroll:!0})}},[P,I,L]),ee.current={begin:e=>{if(e===`dismiss`&&(!M.current||E.current===`interactive-present`))return!1;U(),ce(),O.current+=1,k.current=!0,D.current=e;let t=e===`present`?`interactive-present`:`interactive-dismiss`;return E.current=t,ie(t),F(!0),e===`present`&&(x.current=b.current,M.current=!0,ne(!0),te(!0)),!0},update:e=>{k.current&&(x.current=rt(D.current,e),S.current===null&&(S.current=window.requestAnimationFrame(()=>{S.current=null,k.current&&se(x.current)})))},finish:e=>{if(!k.current)return;k.current=!1;let t=O.current,n=D.current,r=it(n,e);S.current!==null&&(H(),se(x.current)),K(r,()=>{t===O.current&&(e===`commit`&&v.current(n===`present`),n===`present`&&e===`cancel`&&!_.current&&V(),E.current=`standard`,ie(`standard`),C.current=window.requestAnimationFrame(()=>{if(C.current=null,t!==O.current)return;let e=at(_.current);K(e,()=>{t===O.current&&!_.current&&V()})}))})},interrupt:()=>{U(),O.current+=1,k.current=!1;let e=E.current===`interactive-present`&&!_.current;e||(E.current=`standard`,ie(`standard`)),ce(),K(at(_.current),()=>{_.current||V(),e&&(E.current=`standard`,ie(`standard`))})}},q.useLayoutEffect(()=>{let e=A.current;A.current=t,e&&!t&&E.current!==`standard`&&ee.current?.interrupt()},[t]),q.useEffect(()=>{let t=Ot(e,{begin:e=>ee.current?.begin(e)??!1,update:e=>ee.current?.update(e),finish:e=>ee.current?.finish(e),interrupt:()=>ee.current?.interrupt()});return()=>{t(),U(),H(),G(),T.current=null,W(),ee.current=null}},[G,H,U,W,e]),!N||!m.current)return null;let le=(0,J.jsx)(`div`,{ref:h,className:z(`oc-mobile-window-motion oc-keyboard-inset-surface fixed inset-0 z-[60] flex flex-col bg-[rgb(0_0_0_/_0.45)]`,ae&&`oc-mobile-window-motion-active`,!P&&!I&&`pointer-events-none invisible`,c,s),"data-mobile-overlay-active":String(P),role:I?void 0:`dialog`,"aria-label":I?void 0:p,"aria-modal":P&&L?`true`:void 0,"aria-hidden":I||!P||!L||void 0,inert:I||!P||!L||void 0,onPointerDown:St,onClick:e=>{!P||I||!L||Ct(e)&&v.current(!1)},children:(0,J.jsx)(`div`,{ref:B,tabIndex:-1,className:z(`oc-mobile-floating-shell`,$e(i,a),l),style:{contain:`layout paint style`},onClick:e=>e.stopPropagation(),children:o})});return(0,_e.createPortal)(le,m.current)},Qt=e=>{let t=(0,Y.c)(37),{id:n,open:r,onOpenChange:i,title:a,leading:o,trailing:s,ariaLabel:c,closeAriaLabel:l,resizeAriaLabel:u,initiallyExpanded:d,fitContent:f,bodyClassName:p,children:m}=e,h=d!==void 0&&d,g=f!==void 0&&f,_=h?st:void 0,v;t[0]===i?v=t[1]:(v=()=>i(!1),t[0]=i,t[1]=v);let y;t[2]!==g||t[3]!==_||t[4]!==v?(y={initialSnapPoint:_,fitContent:g,onDismiss:v},t[2]=g,t[3]=_,t[4]=v,t[5]=y):y=t[5];let b=_t(y),x=a!=null||o!=null||s!=null,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S={reservedTargetSelector:`[data-mobile-sheet-snap-handle]`},t[6]=S):S=t[6];let C=b.snapPoint===.98?`h-[98dvh] max-h-[98dvh]`:g?`h-auto max-h-[72dvh]`:`h-[72dvh] max-h-[98dvh]`,w=b.surfaceRef,T=b.reset,E;t[7]!==u||t[8]!==b?(E=(0,J.jsx)(vt,{controller:b,ariaLabel:u}),t[7]=u,t[8]=b,t[9]=E):E=t[9];let D;t[10]!==l||t[11]!==x||t[12]!==o||t[13]!==i||t[14]!==a||t[15]!==s?(D=x?(0,J.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-4 pb-2`,children:[o?(0,J.jsx)(`div`,{className:`flex shrink-0 items-center`,children:o}):null,(0,J.jsx)(`div`,{className:`min-w-0 flex-1`,children:a}),s?(0,J.jsx)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:s}):null,(0,J.jsx)(V,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>i(!1),"aria-label":l,className:`shrink-0 text-muted-foreground`,style:{touchAction:`manipulation`},children:(0,J.jsx)(B,{name:`close`,className:`size-5`})})]}):null,t[10]=l,t[11]=x,t[12]=o,t[13]=i,t[14]=a,t[15]=s,t[16]=D):D=t[16];let O;t[17]!==E||t[18]!==D?(O=(0,J.jsxs)(`div`,{className:`shrink-0`,children:[E,D]}),t[17]=E,t[18]=D,t[19]=O):O=t[19];let k;t[20]===p?k=t[21]:(k=z(`flex min-h-0 flex-1 flex-col overflow-hidden`,p),t[20]=p,t[21]=k);let A;t[22]!==m||t[23]!==k?(A=(0,J.jsx)(`div`,{className:k,"data-page-scroll-lock":`true`,children:m}),t[22]=m,t[23]=k,t[24]=A):A=t[24];let j;t[25]!==O||t[26]!==A?(j=(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[O,A]}),t[25]=O,t[26]=A,t[27]=j):j=t[27];let M;return t[28]!==c||t[29]!==n||t[30]!==i||t[31]!==r||t[32]!==b.reset||t[33]!==b.surfaceRef||t[34]!==j||t[35]!==C?(M=(0,J.jsx)(Zt,{id:n,open:r,onOpenChange:i,presentation:`sheet`,edge:`bottom`,dismissGesture:S,ariaLabel:c,surfaceClassName:C,surfaceElementRef:w,onExitComplete:T,children:j}),t[28]=c,t[29]=n,t[30]=i,t[31]=r,t[32]=b.reset,t[33]=b.surfaceRef,t[34]=j,t[35]=C,t[36]=M):M=t[36],M};function $t(){let e=(0,Y.c)(5),t=F(rn),n=F(nn),r=F(tn),i=F(en),a=t||i,o=!a&&r===`init_error`,s=!a&&!o,c;return e[0]!==n||e[1]!==a||e[2]!==o||e[3]!==s?(c={isReady:a,isLoading:s,isUnavailable:o,connectionPhase:n},e[0]=n,e[1]=a,e[2]=o,e[3]=s,e[4]=c):c=e[4],c}function en(e){return e.providers.length>0}function tn(e){return e.lastDisconnectReason}function nn(e){return e.connectionPhase}function rn(e){return e.isInitialized}var an=e=>{let t=(0,Y.c)(41),{agentName:r,onChange:i,className:a,filter:o,dropdownPortalToBody:s,showIcon:c,agents:l}=e,u=s!==void 0&&s,d=c===void 0||c,{t:f}=ne(),{isReady:p,isUnavailable:m}=$t(),h=F(on),g=I(sn),_=F(cn),{data:v}=oe(),y;t[0]===v?y=t[1]:(y=v===void 0?[]:v,t[0]=v,t[1]=y);let b=y,x;bb0:{if(l){x=l;break bb0}if(Array.isArray(h)&&h.length>0){x=h;break bb0}x=b}let S=x,C;if(t[2]!==o||t[3]!==S){let e=ae(S);C=o?e.filter(o):e,t[2]=o,t[3]=S,t[4]=C}else C=t[4];let w=C,T=n(ln),{isMobile:E}=de(),D=T||E,[O,k]=q.useState(!1),A;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{k(!0),F.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:mobilePanel`})},t[5]=A):A=t[5];let j=P(A),M=P(un),ee=q.useId(),N,te;t[6]!==l||t[7]!==g||t[8]!==_||t[9]!==S.length?(N=()=>{l||S.length>0||(_(),g())},te=[l,S.length,_,g],t[6]=l,t[7]=g,t[8]=_,t[9]=S.length,t[10]=N,t[11]=te):(N=t[10],te=t[11]),q.useEffect(N,te);let re;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(re=()=>k(!1),t[12]=re):re=t[12];let ie=re,R;t[13]===i?R=t[14]:(R=e=>{i(e)},t[13]=i,t[14]=R);let V=R,H;t[15]!==r||t[16]!==w||t[17]!==V||t[18]!==D||t[19]!==O||t[20]!==ee||t[21]!==f?(H=()=>D?(0,J.jsx)(Qt,{id:`mobile-agent-selector-sheet-${ee}`,open:O,onOpenChange:e=>{e||ie()},ariaLabel:f(`settings.commands.agentSelector.title`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),bodyClassName:`px-2`,children:(0,J.jsxs)(se,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`flex flex-col gap-1 overscroll-contain`,children:[(0,J.jsxs)(`button`,{type:`button`,className:z(`grid w-full grid-cols-[1rem_minmax(0,1fr)_auto] items-center gap-x-2 rounded-lg border border-border/40 bg-background/95 px-2 py-1.5 text-left`,r?`text-foreground`:`bg-primary/10 text-primary`),onClick:()=>{V(``),ie()},children:[(0,J.jsx)(L,{name:`default`,size:16}),(0,J.jsx)(`span`,{className:z(`min-w-0 typography-meta`,r?`text-muted-foreground`:`font-medium`),children:f(`settings.commands.agentSelector.notSelected`)}),!r&&(0,J.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-primary`})]}),w.map(e=>{let t=e.name===r;return(0,J.jsxs)(`button`,{type:`button`,className:z(`grid w-full grid-cols-[1rem_minmax(0,1fr)_auto] items-start gap-x-2 rounded-lg border border-border/40 bg-background/95 px-2 py-1.5 text-left`,t?`bg-primary/10 text-primary`:`text-foreground`),onClick:()=>{V(e.name),ie()},children:[(0,J.jsx)(L,{name:e.name,size:16,className:`mt-1.5`}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`span`,{className:`typography-meta font-medium`,children:e.name}),e.description&&(0,J.jsx)(`span`,{className:`mt-0.5 block whitespace-normal break-words typography-micro text-muted-foreground`,children:e.description})]}),t&&(0,J.jsx)(`div`,{className:`mt-2 h-2 w-2 rounded-full bg-primary`})]},e.name)})]})}):null,t[15]=r,t[16]=w,t[17]=V,t[18]=D,t[19]=O,t[20]=ee,t[21]=f,t[22]=H):H=t[22];let U=H,W;t[23]!==r||t[24]!==w||t[25]!==a||t[26]!==u||t[27]!==V||t[28]!==M||t[29]!==D||t[30]!==p||t[31]!==m||t[32]!==j||t[33]!==d||t[34]!==f?(W=D?(0,J.jsxs)(`button`,{type:`button`,onClick:p?j:void 0,disabled:!p,className:z(`flex w-full items-center justify-between gap-2 rounded-lg border border-border/40 bg-background/95 px-2 py-1.5 text-left`,!p&&`opacity-60 cursor-not-allowed`,a),children:[(0,J.jsx)(`div`,{className:`flex items-center gap-2`,children:p?(0,J.jsxs)(J.Fragment,{children:[d?(0,J.jsx)(L,{name:r||`default`,size:14}):null,(0,J.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:r||f(`settings.commands.agentSelector.selectAgentPlaceholder`)})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(B,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,J.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:f(m?`common.unavailable`:`common.loading`)})]})}),(0,J.jsx)(B,{name:`arrow-down-s`,className:`h-3 w-3 text-muted-foreground`})]}):p?(0,J.jsxs)(Ge,{onOpenChange:M,children:[(0,J.jsx)(Ke,{asChild:!0,children:(0,J.jsxs)(`div`,{className:z(`flex items-center gap-2 px-2 rounded-lg bg-interactive-selection/20 border border-border/20 cursor-pointer hover:bg-interactive-hover/30 h-6 w-fit`,a),children:[d?(0,J.jsx)(L,{name:r||`default`,size:14}):null,(0,J.jsx)(`span`,{className:`typography-micro font-medium whitespace-nowrap`,children:r||f(`settings.commands.agentSelector.notSelected`)}),(0,J.jsx)(B,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`})]})}),(0,J.jsxs)(qe,{className:`max-w-[300px]`,portalToBody:u,children:[(0,J.jsxs)(Je,{className:`typography-meta`,onSelect:()=>V(``),children:[(0,J.jsx)(L,{name:`default`,size:14}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:f(`settings.commands.agentSelector.notSelected`)})]}),w.map(e=>(0,J.jsxs)(Je,{className:`typography-meta`,onSelect:()=>V(e.name),children:[(0,J.jsx)(L,{name:e.name,size:14}),(0,J.jsx)(`span`,{className:`font-medium`,children:e.name})]},e.name))]})]}):(0,J.jsxs)(`div`,{className:z(`flex items-center gap-2 px-2 rounded-lg bg-interactive-selection/20 border border-border/20 h-6 w-fit opacity-60`,a),children:[(0,J.jsx)(B,{name:`loader-4`,className:`h-3 w-3 animate-spin text-muted-foreground flex-shrink-0`}),(0,J.jsx)(`span`,{className:`typography-micro font-medium whitespace-nowrap text-muted-foreground`,children:f(m?`common.unavailable`:`common.loading`)})]}),t[23]=r,t[24]=w,t[25]=a,t[26]=u,t[27]=V,t[28]=M,t[29]=D,t[30]=p,t[31]=m,t[32]=j,t[33]=d,t[34]=f,t[35]=W):W=t[35];let G;t[36]===U?G=t[37]:(G=U(),t[36]=U,t[37]=G);let ce;return t[38]!==W||t[39]!==G?(ce=(0,J.jsxs)(J.Fragment,{children:[W,G]}),t[38]=W,t[39]=G,t[40]=ce):ce=t[40],ce};function on(e){return e.agents}function sn(e){return e.loadAgents}function cn(e){return e.loadAgents}function ln(e){return e.isMobile}function un(e){e&&F.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:desktopMenu`})}var dn=8,fn=e=>typeof e!=`number`||Number.isNaN(e)?``:new Intl.NumberFormat(re(),{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1}).format(e),pn=(e,t,n)=>{let r=e.find(e=>e.id===t)?.models?.find(e=>e.id===n);return r?.variants?Object.keys(r.variants):[]},mn=e=>{let t=(0,Y.c)(160),{open:n,onClose:r,selectedProviderID:i,selectedModelID:a,resolveSelectedVariant:o,onSelect:s,providers:c,favoriteModels:l,recentModels:u,hiddenModels:d,allowedProviderIds:f,allowedModelIdsByProvider:p,providerOrder:m,variantSelectionEnabled:h,isFavorite:g,onToggleFavorite:_,getMetadata:v,view:y,onViewChange:b}=e,x;t[0]===d?x=t[1]:(x=d===void 0?[]:d,t[0]=d,t[1]=x);let S=x,C=h===void 0||h,{t:w}=ne(),T=q.useId(),[E,D]=q.useState(``),O;t[2]===i?O=t[3]:(O=()=>new Set(i?[i]:[]),t[2]=i,t[3]=O);let[k,A]=q.useState(O),[j,M]=q.useState(null),[ee,N]=q.useState(`model`),[te,P]=q.useState(null),re=q.useRef(!1),ae=y??ee,F,I;t[4]!==n||t[5]!==i?(F=()=>{n&&!re.current&&A(new Set(i?[i]:[])),n||(D(``),M(null),N(`model`),P(null)),re.current=n},I=[n,i],t[4]=n,t[5]=i,t[6]=F,t[7]=I):(F=t[6],I=t[7]),q.useEffect(F,I);let oe;t[8]===b?oe=t[9]:(oe=e=>{N(e),b?.(e)},t[8]=b,t[9]=oe);let L=oe,R;t[10]===f?R=t[11]:(R=f&&f.length>0?new Set(f):null,t[10]=f,t[11]=R);let H=R,W;t[12]===p?W=t[13]:(W=p?new Map(Object.entries(p).map(hn)):null,t[12]=p,t[13]=W);let ue=W,de;t[14]===S?de=t[15]:(de=new Set(S.map(gn)),t[14]=S,t[15]=de);let fe=de,pe;t[16]===c?pe=t[17]:(pe=new Map(c.map(_n)),t[16]=c,t[17]=pe);let me=pe,he;bb0:{if(!m?.length){he=c;break bb0}let e;t[18]===m?e=t[19]:(e=new Map(m.map(vn)),t[18]=m,t[19]=e);let n=e,r;if(t[20]!==c||t[21]!==n){let e;t[23]===n?e=t[24]:(e=(e,t)=>{let r=n.get(e.id),i=n.get(t.id);return r===void 0&&i===void 0?0:r===void 0?1:i===void 0?-1:r-i},t[23]=n,t[24]=e),r=[...c].sort(e),t[20]=c,t[21]=n,t[22]=r}else r=t[22];he=r}let ge=he,_e;t[25]!==ue||t[26]!==H||t[27]!==fe?(_e=(e,t)=>H&&!H.has(e)||ue&&ue.get(e)?.has(t)!==!0?!1:!fe.has(`${e}:${t}`),t[25]=ue,t[26]=H,t[27]=fe,t[28]=_e):_e=t[28];let X=_e,ve;t[29]!==me||t[30]!==E?(ve=e=>{let t=E.trim();if(!t)return!0;let n=me.get(e.providerID)?.name||e.providerID,r=ie(e.model,e.modelID,{maxLength:40});return K(r,t)||K(e.modelID,t)||K(n,t)},t[29]=me,t[30]=E,t[31]=ve):ve=t[31];let Z=ve,ye;if(t[32]!==l||t[33]!==X||t[34]!==Z){let e;t[36]!==X||t[37]!==Z?(e=e=>X(e.providerID,e.modelID)&&Z(e),t[36]=X,t[37]=Z,t[38]=e):e=t[38],ye=l.filter(e),t[32]=l,t[33]=X,t[34]=Z,t[35]=ye}else ye=t[35];let be=ye,xe;if(t[39]!==X||t[40]!==Z||t[41]!==u){let e;t[43]!==X||t[44]!==Z?(e=e=>X(e.providerID,e.modelID)&&Z(e),t[43]=X,t[44]=Z,t[45]=e):e=t[45],xe=u.filter(e),t[39]=X,t[40]=Z,t[41]=u,t[42]=xe}else xe=t[42];let Se=xe,Ce;if(t[46]!==H||t[47]!==X||t[48]!==ge||t[49]!==E){let e;t[51]===H?e=t[52]:(e=e=>!H||H.has(e.id),t[51]=H,t[52]=e);let n;t[53]!==X||t[54]!==E?(n=e=>{let t=E.trim().length>0&&(K(e.name||e.id,E.trim())||K(e.id,E.trim()));return{provider:e,models:(e.models??[]).filter(n=>{let r=typeof n.id==`string`?n.id:``;return!r||!X(e.id,r)?!1:t||!E.trim()?!0:K(ie(n,r,{maxLength:40}),E.trim())||K(r,E.trim())})}},t[53]=X,t[54]=E,t[55]=n):n=t[55],Ce=ge.filter(e).map(n).filter(yn),t[46]=H,t[47]=X,t[48]=ge,t[49]=E,t[50]=Ce}else Ce=t[50];let we=Ce,Q;t[56]===w?Q=t[57]:(Q=e=>{if(!e?.trim())return w(`chat.modelControls.default`);let t=e.trim();return/^\d+(\.\d+)?$/.test(t)?t:t.charAt(0).toUpperCase()+t.slice(1)},t[56]=w,t[57]=Q);let $=Q,Te;t[58]===w?Te=t[59]:(Te=e=>{let t=[];e?.tool_call&&t.push({key:`tool_call`,icon:`tools`,label:w(`chat.modelControls.capability.toolCalling`)}),e?.reasoning&&t.push({key:`reasoning`,icon:`brain-ai-3`,label:w(`chat.modelControls.capability.reasoning`)});let n={text:{icon:`text`,label:w(`chat.modelControls.modality.text`)},image:{icon:`file-image`,label:w(`chat.modelControls.modality.image`)},video:{icon:`file-video`,label:w(`chat.modelControls.modality.video`)},audio:{icon:`file-music`,label:w(`chat.modelControls.modality.audio`)},pdf:{icon:`file-pdf`,label:w(`chat.modelControls.modality.pdf`)}};for(let r of[...e?.modalities?.input??[],...e?.modalities?.output??[]]){let e=r.trim().toLowerCase(),i=n[e];i&&!t.some(t=>t.key===e)&&t.push({key:e,...i})}return t},t[58]=w,t[59]=Te);let Ee=Te,De;t[60]===L?De=t[61]:(De=(e,t)=>{P({providerID:e,modelID:t}),L(`variant`)},t[60]=L,t[61]=De);let Oe=De,ke;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ke={onPointerDown:bt,onClickCapture:bn},t[62]=ke):ke=t[62];let Ae=ke,je;t[63]!==j||t[64]!==$||t[65]!==v||t[66]!==Ee||t[67]!==g||t[68]!==s||t[69]!==_||t[70]!==Oe||t[71]!==me||t[72]!==c||t[73]!==o||t[74]!==a||t[75]!==i||t[76]!==w||t[77]!==C?(je=(e,t)=>{let n=t===void 0?{}:t,{model:r,providerID:l,modelID:u}=e,d=`${l}:${u}`,f=l===i&&u===a,p=G(l,r,v?.(l,u)),m=C?pn(c,l,u):[],h=o(l,u),y=[void 0,...m].slice(0,dn),b=j===d,x=Ee(p),S=p?.limit?.context?`${fn(p.limit.context)} ctx`:null;return(0,J.jsxs)(`div`,{className:z(`border-b border-border/30 last:border-b-0`,f&&`bg-interactive-selection/15 text-interactive-selection-foreground`),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5`,children:[(0,J.jsx)(`button`,{type:`button`,...Ae,onClick:()=>s(l,u,h),className:`flex min-w-0 flex-1 items-start gap-2 rounded-lg text-left focus:outline-none focus-visible:ring-1 focus-visible:ring-primary`,children:(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[n.showProvider?(0,J.jsx)(`span`,{className:`truncate text-[10px] leading-none text-muted-foreground/60`,children:me.get(l)?.name||l}):null,(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,J.jsx)(ce,{modelId:u,providerId:l,className:`size-3.5 flex-shrink-0`}),(0,J.jsx)(`span`,{className:`truncate typography-meta font-medium text-foreground`,children:ie(r,u,{maxLength:40})}),f?(0,J.jsx)(B,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]}),S||x.length>0?(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden typography-micro text-muted-foreground`,children:[S?(0,J.jsx)(`span`,{className:`flex-shrink-0 whitespace-nowrap`,children:S}):null,S&&x.length>0?(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px flex-shrink-0 bg-border/50`}):null,(0,J.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden whitespace-nowrap pl-0.5`,children:x.map(e=>{let{key:t,icon:n,label:r}=e;return(0,J.jsx)(`span`,{className:`flex size-4 flex-shrink-0 items-center justify-center text-muted-foreground`,title:r,"aria-label":r,children:(0,J.jsx)(B,{name:n,className:`size-3`})},`${d}-${t}`)})})]}):null]})}),m.length>0?(0,J.jsxs)(`button`,{type:`button`,...Ae,onClick:()=>M(e=>e===d?null:d),className:`flex flex-shrink-0 items-center gap-0.5 typography-micro font-medium text-muted-foreground hover:text-foreground`,"aria-expanded":b,"aria-label":w(b?`chat.modelControls.hideThinkingModes`:`chat.modelControls.showThinkingModes`),children:[(0,J.jsx)(`span`,{className:`whitespace-nowrap`,children:$(h)}),(0,J.jsx)(B,{name:b?`arrow-down-s`:`arrow-right-s`,className:`size-3.5`})]}):null,(0,J.jsx)(`button`,{type:`button`,...Ae,onClick:e=>{e.preventDefault(),e.stopPropagation(),_(l,u)},className:z(`model-favorite-button flex size-5 flex-shrink-0 items-center justify-center hover:text-primary/80`,g(l,u)?`text-primary`:`text-muted-foreground`),"aria-label":g(l,u)?w(`chat.modelControls.unfavoriteAria`):w(`chat.modelControls.favoriteAria`),title:g(l,u)?w(`chat.modelControls.removeFromFavorites`):w(`chat.modelControls.addToFavorites`),children:(0,J.jsx)(B,{name:g(l,u)?`star-fill`:`star`,className:`size-4`})})]}),b&&m.length>0?(0,J.jsx)(`div`,{className:`border-t border-border/30 p-2`,children:(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[y.map(e=>{let t=e===h||!e&&!h;return(0,J.jsx)(`button`,{type:`button`,...Ae,onClick:()=>s(l,u,e),className:z(`inline-flex items-center rounded-full border px-2.5 py-1 typography-meta font-medium`,t?`border-primary/30 bg-primary/10 text-foreground`:`border-border/40 text-muted-foreground hover:bg-interactive-hover/50`),"aria-pressed":t,children:$(e)},`${d}-${e??`default`}`)}),y.length<m.length+1?(0,J.jsx)(`button`,{type:`button`,...Ae,onClick:()=>Oe(l,u),className:`inline-flex items-center rounded-full border border-border/40 px-2.5 py-1 typography-meta font-medium text-muted-foreground hover:bg-interactive-hover/50`,"aria-label":w(`chat.modelControls.moreThinkingModes`),children:w(`inlineComment.actions.showMore`)}):null]})}):null]},`mobile-model-${d}`)},t[63]=j,t[64]=$,t[65]=v,t[66]=Ee,t[67]=g,t[68]=s,t[69]=_,t[70]=Oe,t[71]=me,t[72]=c,t[73]=o,t[74]=a,t[75]=i,t[76]=w,t[77]=C,t[78]=je):je=t[78];let Me=je,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze;if(t[79]!==ae||t[80]!==k||t[81]!==be||t[82]!==we||t[83]!==Se||t[84]!==$||t[85]!==T||t[86]!==r||t[87]!==s||t[88]!==n||t[89]!==c||t[90]!==E||t[91]!==Me||t[92]!==o||t[93]!==a||t[94]!==i||t[95]!==L||t[96]!==w||t[97]!==te){let e=te??(ae===`variant`&&i&&a?{providerID:i,modelID:a}:null),l=e?pn(c,e.providerID,e.modelID):[],u=e?o(e.providerID,e.modelID):void 0,d=be.length>0||Se.length>0||we.length>0,f=ae===`variant`&&!!e;Pe=Qt,We=`mobile-model-picker-sheet-${T}`,Ge=n,t[117]===r?Ke=t[118]:(Ke=e=>{e||r()},t[117]=r,t[118]=Ke),t[119]!==f||t[120]!==L||t[121]!==w?(qe=f?(0,J.jsx)(V,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>L(`model`),"aria-label":w(`onboarding.common.actions.back`),children:(0,J.jsx)(B,{name:`arrow-left`,className:`size-5`})}):void 0,t[119]=f,t[120]=L,t[121]=w,t[122]=qe):qe=t[122],t[123]!==f||t[124]!==w?(Je=w(f?`chat.modelControls.thinking`:`chat.modelControls.selectModel`),t[123]=f,t[124]=w,t[125]=Je):Je=t[125],t[126]===w?Ye=t[127]:(Ye=w(`mobile.surface.closeAria`),t[126]=w,t[127]=Ye),t[128]===w?Xe=t[129]:(Xe=w(`mobile.sessions.sheet.resizeAria`),t[128]=w,t[129]=Xe),Ze=`px-2`,He=`flex min-h-0 flex-1 flex-col gap-2`,t[130]!==f||t[131]!==E||t[132]!==w?(Ue=f?null:(0,J.jsxs)(`div`,{className:`relative z-10 shrink-0`,"data-mobile-sheet-no-dismiss":``,"data-mobile-sheet-search":``,children:[(0,J.jsx)(B,{name:`search`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,J.jsx)(le,{type:`text`,value:E,onChange:e=>{D(e.target.value),M(null)},onPointerUp:xn,placeholder:w(`chat.modelControls.searchProvidersOrModels`),className:`h-9 rounded-xl border-border/40 bg-[var(--surface-elevated)] pl-7 typography-meta`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:`search`,inputMode:`search`}),E?(0,J.jsx)(`button`,{type:`button`,onClick:()=>{D(``),M(null)},className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,"aria-label":w(`chat.modelControls.clearSearch`),children:(0,J.jsx)(B,{name:`close-circle`,className:`size-4`})}):null]}),t[130]=f,t[131]=E,t[132]=w,t[133]=Ue):Ue=t[133],Ne=se,Le=!0,Re=!0,ze=!0,Be=`min-h-0 flex-1`,Ve=`overscroll-contain`,Fe=`flex flex-col gap-2`,Ie=f&&e?(0,J.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:[void 0,...l].map(t=>{let n=t===u||!t&&!u;return(0,J.jsxs)(`button`,{type:`button`,className:z(`flex w-full items-center justify-between gap-2 rounded-xl border px-2 py-1.5 text-left focus:outline-none focus-visible:ring-1 focus-visible:ring-primary`,n?`border-primary/30 bg-primary/10`:`border-border/40`),...Ae,onClick:()=>s(e.providerID,e.modelID,t),children:[(0,J.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:$(t)}),n?(0,J.jsx)(B,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]},t??`default`)})}):(0,J.jsxs)(J.Fragment,{children:[d?null:(0,J.jsx)(`div`,{className:`px-3 py-8 text-center typography-meta text-muted-foreground`,children:w(`chat.modelControls.noProvidersOrModelsFound`)}),be.length>0?(0,J.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,J.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,J.jsx)(B,{name:`star-fill`,className:`mr-1.5 inline-block size-3 text-primary`}),w(`chat.modelControls.favorites`)]}),(0,J.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:be.map(e=>Me(e,{showProvider:!0}))})]}):null,Se.length>0?(0,J.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,J.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,J.jsx)(B,{name:`time`,className:`mr-1.5 inline-block size-3`}),w(`chat.modelControls.recent`)]}),(0,J.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:Se.map(e=>Me(e,{showProvider:!0}))})]}):null,we.map(e=>{let{provider:t,models:n}=e,r=k.has(t.id)||E.trim().length>0;return(0,J.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,J.jsxs)(`button`,{type:`button`,...Ae,onClick:()=>{E.trim()||A(e=>{let n=new Set(e);return n.has(t.id)?n.delete(t.id):n.add(t.id),n})},className:`flex w-full items-center justify-between gap-1.5 px-2 py-1.5 text-left`,"aria-expanded":r,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(U,{providerId:t.id,className:`size-3.5`}),(0,J.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:t.name||t.id}),t.id===i?(0,J.jsx)(`span`,{className:`typography-micro text-primary/80`,children:w(`chat.modelControls.current`)}):null]}),(0,J.jsx)(B,{name:r?`arrow-down-s`:`arrow-right-s`,className:`size-3 text-muted-foreground`})]}),r?(0,J.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:n.map(e=>Me({model:e,providerID:t.id,modelID:e.id}))}):null]},t.id)})]}),t[79]=ae,t[80]=k,t[81]=be,t[82]=we,t[83]=Se,t[84]=$,t[85]=T,t[86]=r,t[87]=s,t[88]=n,t[89]=c,t[90]=E,t[91]=Me,t[92]=o,t[93]=a,t[94]=i,t[95]=L,t[96]=w,t[97]=te,t[98]=Ne,t[99]=Pe,t[100]=Fe,t[101]=Ie,t[102]=Le,t[103]=Re,t[104]=ze,t[105]=Be,t[106]=Ve,t[107]=He,t[108]=Ue,t[109]=We,t[110]=Ge,t[111]=Ke,t[112]=qe,t[113]=Je,t[114]=Ye,t[115]=Xe,t[116]=Ze}else Ne=t[98],Pe=t[99],Fe=t[100],Ie=t[101],Le=t[102],Re=t[103],ze=t[104],Be=t[105],Ve=t[106],He=t[107],Ue=t[108],We=t[109],Ge=t[110],Ke=t[111],qe=t[112],Je=t[113],Ye=t[114],Xe=t[115],Ze=t[116];let Qe;t[134]!==Fe||t[135]!==Ie?(Qe=(0,J.jsx)(`div`,{className:Fe,children:Ie}),t[134]=Fe,t[135]=Ie,t[136]=Qe):Qe=t[136];let $e;t[137]!==Ne||t[138]!==Le||t[139]!==Re||t[140]!==ze||t[141]!==Be||t[142]!==Ve||t[143]!==Qe?($e=(0,J.jsx)(Ne,{useScrollShadow:Le,disableHorizontal:Re,preventOverscroll:ze,outerClassName:Be,className:Ve,children:Qe}),t[137]=Ne,t[138]=Le,t[139]=Re,t[140]=ze,t[141]=Be,t[142]=Ve,t[143]=Qe,t[144]=$e):$e=t[144];let et;t[145]!==He||t[146]!==Ue||t[147]!==$e?(et=(0,J.jsxs)(`div`,{className:He,children:[Ue,$e]}),t[145]=He,t[146]=Ue,t[147]=$e,t[148]=et):et=t[148];let tt;return t[149]!==Pe||t[150]!==We||t[151]!==Ge||t[152]!==Ke||t[153]!==qe||t[154]!==Je||t[155]!==Ye||t[156]!==Xe||t[157]!==Ze||t[158]!==et?(tt=(0,J.jsx)(Pe,{id:We,open:Ge,onOpenChange:Ke,leading:qe,ariaLabel:Je,closeAriaLabel:Ye,resizeAriaLabel:Xe,bodyClassName:Ze,children:et}),t[149]=Pe,t[150]=We,t[151]=Ge,t[152]=Ke,t[153]=qe,t[154]=Je,t[155]=Ye,t[156]=Xe,t[157]=Ze,t[158]=et,t[159]=tt):tt=t[159],tt};function hn(e){let[t,n]=e;return[t,new Set(n)]}function gn(e){return`${e.providerID}:${e.modelID}`}function _n(e){return[e.id,e]}function vn(e,t){return[e,t]}function yn(e){return e.models.length>0}function bn(e){xt(e)||(e.preventDefault(),e.stopPropagation())}function xn(e){e.currentTarget.focus({preventScroll:!0})}var Sn=e=>{let t=(0,Y.c)(206),{providerId:r,modelId:i,variant:a,onChange:o,className:s,allowedProviderIds:c,allowedModelIdsByProvider:l,placeholder:u,tooltipsEnabled:d,dropdownPortalToBody:f,showIcon:p,providers:m}=e,h=d===void 0||d,g=f!==void 0&&f,_=p===void 0||p,{t:v}=ne(),{isReady:y,isUnavailable:b}=$t(),x=F(Cn),S=m??x,C=F(wn),w=n(Tn),T=n(En),E=n(Dn),D=n(On),O=n(kn),k=n(An),A;t[0]!==i||t[1]!==r?(A={currentProviderID:r,currentModelID:i},t[0]=i,t[1]=r,t[2]=A):A=t[2];let{favoriteModelsList:j,recentModelsList:M}=W(A),{isMobile:ee}=de(),N=w||ee,[te,re]=q.useState(!1),[ie,ae]=q.useState(!1),I;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>{re(!0),F.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:mobilePanel`})},t[3]=I):I=t[3];let oe=P(I),L;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>{ae(e),e&&F.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:desktopMenu`})},t[4]=L):L=t[4];let R=P(L),[V,se]=q.useState(``),[U,G]=q.useState(null),K=a!==void 0,le;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>{re(!1),ae(!1),se(``),G(null)},t[5]=le):le=t[5];let ue=le,fe;t[6]===S?fe=t[7]:(fe=e=>{let t=S.find(t=>t.id===e.providerID)?.models?.find(t=>t.id===e.modelID);return t?.variants?Object.keys(t.variants):[]},t[6]=S,t[7]=fe);let pe=fe,me;t[8]!==O||t[9]!==pe||t[10]!==i||t[11]!==o||t[12]!==r||t[13]!==a||t[14]!==K?(me=e=>{let t=pe(e),n=e.providerID===r&&e.modelID===i&&a&&t.includes(a)?a:``;o(e.providerID,e.modelID,K?n:void 0),O(e.providerID,e.modelID),ue()},t[8]=O,t[9]=pe,t[10]=i,t[11]=o,t[12]=r,t[13]=a,t[14]=K,t[15]=me):me=t[15];let he=me,ge;t[16]!==o||t[17]!==K?(ge=()=>{o(``,``,K?``:void 0),ue()},t[16]=o,t[17]=K,t[18]=ge):ge=t[18];let _e=ge,X;t[19]!==O||t[20]!==o||t[21]!==U?(X=e=>{U&&(o(U.providerID,U.modelID,e),O(U.providerID,U.modelID),ue())},t[19]=O,t[20]=o,t[21]=U,t[22]=X):X=t[22];let ve=X,Z;t[23]===v?Z=t[24]:(Z=v(`settings.agents.modelSelector.searchPlaceholder`),t[23]=v,t[24]=Z);let ye;t[25]===v?ye=t[26]:(ye=v(`settings.agents.modelSelector.state.noModelsFound`),t[25]=v,t[26]=ye);let be;t[27]===v?be=t[28]:(be=v(`settings.agents.modelSelector.section.favorites`),t[27]=v,t[28]=be);let xe;t[29]===v?xe=t[30]:(xe=v(`settings.agents.modelSelector.section.recent`),t[29]=v,t[30]=xe);let Se;t[31]===v?Se=t[32]:(Se=v(`settings.agents.modelSelector.keyboardHints`),t[31]=v,t[32]=Se);let Ce;t[33]!==u||t[34]!==v?(Ce=u||v(`settings.agents.modelSelector.notSelected`),t[33]=u,t[34]=v,t[35]=Ce):Ce=t[35];let we;t[36]===v?we=t[37]:(we=v(`settings.agents.modelSelector.actions.favorite`),t[36]=v,t[37]=we);let Q;t[38]===v?Q=t[39]:(Q=v(`settings.agents.modelSelector.actions.unfavorite`),t[38]=v,t[39]=Q);let $;t[40]===v?$=t[41]:($=v(`chat.modelControls.provider`),t[40]=v,t[41]=$);let Te;t[42]===v?Te=t[43]:(Te=v(`chat.modelControls.capabilities`),t[42]=v,t[43]=Te);let Ee;t[44]===v?Ee=t[45]:(Ee=v(`chat.modelControls.capability.toolCalling`),t[44]=v,t[45]=Ee);let De;t[46]===v?De=t[47]:(De=v(`chat.modelControls.capability.reasoning`),t[46]=v,t[47]=De);let Oe;t[48]===v?Oe=t[49]:(Oe=v(`chat.modelControls.modality.image`),t[48]=v,t[49]=Oe);let ke;t[50]===v?ke=t[51]:(ke=v(`chat.modelControls.modality.video`),t[50]=v,t[51]=ke);let Ae;t[52]===v?Ae=t[53]:(Ae=v(`chat.modelControls.modality.audio`),t[52]=v,t[53]=Ae);let je;t[54]===v?je=t[55]:(je=v(`chat.modelControls.costPerMillion`),t[54]=v,t[55]=je);let Me;t[56]===v?Me=t[57]:(Me=v(`chat.modelControls.costInput`),t[56]=v,t[57]=Me);let Ne;t[58]===v?Ne=t[59]:(Ne=v(`chat.modelControls.costOutput`),t[58]=v,t[59]=Ne);let Pe;t[60]!==Z||t[61]!==ye||t[62]!==be||t[63]!==xe||t[64]!==Se||t[65]!==Ce||t[66]!==we||t[67]!==Q||t[68]!==$||t[69]!==Te||t[70]!==Ee||t[71]!==De||t[72]!==Oe||t[73]!==ke||t[74]!==Ae||t[75]!==je||t[76]!==Me||t[77]!==Ne?(Pe={searchPlaceholder:Z,noResults:ye,favorites:be,recent:xe,keyboardHint:Se,notSelected:Ce,favorite:we,unfavorite:Q,provider:$,capabilities:Te,capabilityToolCalling:Ee,capabilityReasoning:De,modalityImage:Oe,modalityVideo:ke,modalityAudio:Ae,costPerMillion:je,costInput:Me,costOutput:Ne},t[60]=Z,t[61]=ye,t[62]=be,t[63]=xe,t[64]=Se,t[65]=Ce,t[66]=we,t[67]=Q,t[68]=$,t[69]=Te,t[70]=Ee,t[71]=De,t[72]=Oe,t[73]=ke,t[74]=Ae,t[75]=je,t[76]=Me,t[77]=Ne,t[78]=Pe):Pe=t[78];let Fe=Pe,Ie;t[79]!==i||t[80]!==r?(Ie=r&&i?{providerID:r,modelID:i}:null,t[79]=i,t[80]=r,t[81]=Ie):Ie=t[81];let Le=Ie,Re;t[82]!==i||t[83]!==u||t[84]!==r||t[85]!==v?(Re=r&&i?`${r}/${i}`:u||v(`settings.agents.modelSelector.notSelected`),t[82]=i,t[83]=u,t[84]=r,t[85]=v,t[86]=Re):Re=t[86];let ze=Re,Be;t[87]!==v||t[88]!==a||t[89]!==K?(Be=K?a||v(`chat.modelControls.default`):null,t[87]=v,t[88]=a,t[89]=K,t[90]=Be):Be=t[90];let Ve=Be,He;t[91]!==i||t[92]!==r||t[93]!==a||t[94]!==K?(He=(e,t)=>{if(!(!K||e!==r||t!==i))return a||void 0},t[91]=i,t[92]=r,t[93]=a,t[94]=K,t[95]=He):He=t[95];let Ue=He,We;t[96]!==O||t[97]!==o||t[98]!==K?(We=(e,t,n)=>{o(e,t,K?n??``:void 0),O(e,t),ue()},t[96]=O,t[97]=o,t[98]=K,t[99]=We):We=t[99];let Je=We,Ye;t[100]!==pe||t[101]!==v||t[102]!==a||t[103]!==K?(Ye=(e,t)=>{if(!K||pe(e).length===0)return null;let n=t.isSelected?a:``;return(0,J.jsxs)(`button`,{type:`button`,className:`flex min-h-9 shrink-0 items-center gap-0.5 rounded-md px-1.5 typography-micro font-medium text-muted-foreground hover:bg-interactive-hover hover:text-foreground`,onClick:t=>{t.preventDefault(),t.stopPropagation(),G(e)},"aria-label":v(`chat.modelControls.showThinkingModes`),children:[(0,J.jsx)(`span`,{className:`max-w-24 truncate`,children:n||v(`chat.modelControls.default`)}),(0,J.jsx)(B,{name:`arrow-right-s`,className:`size-3.5`})]})},t[100]=pe,t[101]=v,t[102]=a,t[103]=K,t[104]=Ye):Ye=t[104];let Xe=Ye,Ze=N?`max-h-none flex-1`:void 0,Qe=h&&(N?te:ie),$e;t[105]===D?$e=t[106]:($e=e=>D(e.providerID,e.modelID),t[105]=D,t[106]=$e);let et;t[107]===E?et=t[108]:(et=e=>E(e.providerID,e.modelID),t[107]=E,t[108]=et);let tt;t[109]!==l||t[110]!==c||t[111]!==j||t[112]!==C||t[113]!==he||t[114]!==_e||t[115]!==T||t[116]!==Fe||t[117]!==k||t[118]!==S||t[119]!==M||t[120]!==Xe||t[121]!==V||t[122]!==Le||t[123]!==Ze||t[124]!==Qe||t[125]!==$e||t[126]!==et?(tt=(0,J.jsx)(H,{providers:S,providerOrder:k,favoriteModels:j,recentModels:M,getMetadata:C,searchQuery:V,onSearchQueryChange:se,onSelect:he,labels:Fe,selectedModel:Le,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,includeNotSelected:!0,onSelectNone:_e,onEscape:ue,maxHeightClassName:Ze,tooltipsEnabled:Qe,isFavorite:$e,onToggleFavorite:et,renderRowEnd:Xe}),t[109]=l,t[110]=c,t[111]=j,t[112]=C,t[113]=he,t[114]=_e,t[115]=T,t[116]=Fe,t[117]=k,t[118]=S,t[119]=M,t[120]=Xe,t[121]=V,t[122]=Le,t[123]=Ze,t[124]=Qe,t[125]=$e,t[126]=et,t[127]=tt):tt=t[127];let nt=tt,rt;t[128]!==pe||t[129]!==ve||t[130]!==i||t[131]!==r||t[132]!==v||t[133]!==a||t[134]!==U?(rt=U?(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex min-h-11 items-center gap-2 border-b border-border/40 px-3 text-left typography-ui-label font-medium text-foreground hover:bg-interactive-hover`,onClick:()=>G(null),"aria-label":v(`header.actions.backAria`),children:[(0,J.jsx)(B,{name:`arrow-left`,className:`size-4`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:U.modelID})]}),(0,J.jsx)(`div`,{className:`space-y-1 p-2`,role:`listbox`,"aria-label":v(`chat.modelControls.thinking`),children:[``,...pe(U)].map(e=>{let t=U.providerID===r&&U.modelID===i&&(a||``)===e;return(0,J.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:z(`flex min-h-11 w-full items-center justify-between rounded-lg px-3 text-left typography-ui-label transition-colors`,t?`bg-interactive-selection text-interactive-selection-foreground`:`hover:bg-interactive-hover`),onClick:()=>ve(e),children:[(0,J.jsx)(`span`,{className:`truncate`,children:e||v(`chat.modelControls.default`)}),t?(0,J.jsx)(B,{name:`check`,className:`size-4 shrink-0`}):null]},e||`__default`)})})]}):null,t[128]=pe,t[129]=ve,t[130]=i,t[131]=r,t[132]=v,t[133]=a,t[134]=U,t[135]=rt):rt=t[135];let it=rt||nt;if(N){let e=y?oe:void 0,n=!y,a=!y&&`opacity-60 cursor-not-allowed`,o;t[136]!==s||t[137]!==a?(o=z(`flex w-full items-center justify-between gap-2 rounded-lg border border-border/40 bg-[var(--surface-elevated)] px-2 py-1.5 text-left`,a,s),t[136]=s,t[137]=a,t[138]=o):o=t[138];let u;t[139]!==y||t[140]!==b||t[141]!==i||t[142]!==r||t[143]!==_||t[144]!==v?(u=y?_&&(r||i)?(0,J.jsx)(ce,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):_?(0,J.jsx)(B,{name:`pencil-ai`,className:`h-3 w-3 text-muted-foreground`}):null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(B,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,J.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[139]=y,t[140]=b,t[141]=i,t[142]=r,t[143]=_,t[144]=v,t[145]=u):u=t[145];let d;t[146]!==y||t[147]!==ze?(d=y?(0,J.jsx)(`span`,{className:`typography-meta font-medium text-foreground truncate`,children:ze}):null,t[146]=y,t[147]=ze,t[148]=d):d=t[148];let f;t[149]!==y||t[150]!==Ve?(f=y&&Ve?(0,J.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null,t[149]=y,t[150]=Ve,t[151]=f):f=t[151];let p;t[152]!==u||t[153]!==d||t[154]!==f?(p=(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[u,d,f]}),t[152]=u,t[153]=d,t[154]=f,t[155]=p):p=t[155];let m;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(B,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`}),t[156]=m):m=t[156];let h;t[157]!==e||t[158]!==n||t[159]!==o||t[160]!==p?(h=(0,J.jsxs)(`button`,{type:`button`,onClick:e,disabled:n,className:o,children:[p,m]}),t[157]=e,t[158]=n,t[159]=o,t[160]=p,t[161]=h):h=t[161];let g;t[162]!==l||t[163]!==c||t[164]!==j||t[165]!==C||t[166]!==Je||t[167]!==T||t[168]!==D||t[169]!==te||t[170]!==i||t[171]!==r||t[172]!==k||t[173]!==S||t[174]!==M||t[175]!==Ue||t[176]!==E||t[177]!==K?(g=(0,J.jsx)(mn,{open:te,onClose:ue,selectedProviderID:r,selectedModelID:i,resolveSelectedVariant:Ue,onSelect:Je,providers:S,favoriteModels:j,recentModels:M,getMetadata:C,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,providerOrder:k,variantSelectionEnabled:K,isFavorite:D,onToggleFavorite:E}),t[162]=l,t[163]=c,t[164]=j,t[165]=C,t[166]=Je,t[167]=T,t[168]=D,t[169]=te,t[170]=i,t[171]=r,t[172]=k,t[173]=S,t[174]=M,t[175]=Ue,t[176]=E,t[177]=K,t[178]=g):g=t[178];let x;return t[179]!==h||t[180]!==g?(x=(0,J.jsxs)(J.Fragment,{children:[h,g]}),t[179]=h,t[180]=g,t[181]=x):x=t[181],x}let at=y&&ie,ot=y?R:void 0,st=!y&&`opacity-60 cursor-not-allowed`,ct;t[182]!==s||t[183]!==st?(ct=z(`border-input data-[placeholder]:text-muted-foreground flex min-w-0 items-center justify-between gap-2 rounded-lg border bg-transparent px-2 py-2 typography-ui-label whitespace-nowrap shadow-none outline-none hover:bg-interactive-hover data-[popup-open]:bg-interactive-active h-6 w-fit`,st,s),t[182]=s,t[183]=st,t[184]=ct):ct=t[184];let lt;t[185]!==y||t[186]!==b||t[187]!==i||t[188]!==r||t[189]!==_||t[190]!==v||t[191]!==ze||t[192]!==Ve?(lt=y?(0,J.jsxs)(J.Fragment,{children:[_?r||i?(0,J.jsx)(ce,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):(0,J.jsx)(B,{name:`pencil-ai`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):null,(0,J.jsx)(`span`,{className:`typography-ui-label min-w-0 flex-1 truncate text-left font-normal text-foreground`,children:ze}),Ve?(0,J.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(B,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground flex-shrink-0`}),(0,J.jsx)(`span`,{className:`typography-ui-label font-normal whitespace-nowrap text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[185]=y,t[186]=b,t[187]=i,t[188]=r,t[189]=_,t[190]=v,t[191]=ze,t[192]=Ve,t[193]=lt):lt=t[193];let ut;t[194]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,J.jsx)(B,{name:`arrow-down-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/50`}),t[194]=ut):ut=t[194];let dt;t[195]!==ct||t[196]!==lt?(dt=(0,J.jsx)(Ke,{asChild:!0,children:(0,J.jsxs)(`div`,{className:ct,children:[lt,ut]})}),t[195]=ct,t[196]=lt,t[197]=dt):dt=t[197];let ft;t[198]!==g||t[199]!==it?(ft=(0,J.jsx)(qe,{className:`w-[min(380px,calc(100vw-2rem))] p-0 flex flex-col`,align:`start`,portalToBody:g,children:it}),t[198]=g,t[199]=it,t[200]=ft):ft=t[200];let pt;return t[201]!==at||t[202]!==ot||t[203]!==dt||t[204]!==ft?(pt=(0,J.jsxs)(Ge,{open:at,onOpenChange:ot,children:[dt,ft]}),t[201]=at,t[202]=ot,t[203]=dt,t[204]=ft,t[205]=pt):pt=t[205],pt};function Cn(e){return e.providers}function wn(e){return e.getModelMetadata}function Tn(e){return e.isMobile}function En(e){return e.hiddenModels}function Dn(e){return e.toggleFavoriteModel}function On(e){return e.isFavoriteModel}function kn(e){return e.addRecentModel}function An(e){return e.providerOrder}var jn=e=>e??s()?.github,Mn=(e=t())=>i.github.auth(e),Nn=async(e,t)=>{if(e)return e.authStatus();let n=await a(`/api/github/auth/status`,{method:`GET`,headers:{Accept:`application/json`},signal:t}),r=await n.json().catch(()=>null);if(!n.ok||!r)throw Error(r?.error||n.statusText||`Failed to load GitHub status`);return r},Pn=(e,n=t())=>{let r=jn(e);return{queryKey:Mn(n),queryFn:async({signal:e})=>Nn(r,e),retry:2}},Fn=e=>!!e&&typeof e==`object`&&`authStatus`in e,In=e=>{let t=(0,Y.c)(5),n=Fn(e)?e:void 0,r=Fn(e)?void 0:e?.enabled,i;t[0]===n?i=t[1]:(i=Pn(n),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a={...i,enabled:r},t[2]=r,t[3]=i,t[4]=a):a=t[4],S(a)},Ln=(e=o,n=t())=>e.getQueryData(Mn(n))??null,Rn=async(e,n,r)=>t()===r?e.fetchQuery({...Pn(n,r),staleTime:0}):e.getQueryData(Mn(r))??null,zn=(e=o,n,r=t())=>{e.setQueryData(Mn(r),n)},Bn=E.define(te),Vn=M.data.of({commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}}});function Hn(e){let t=e.trim().toLowerCase();switch(t){case`bash`:case`sh`:case`zsh`:case`shell`:case`shellsession`:case`console`:return Bn;case`json`:case`jsonc`:case`json5`:return j().language;case`js`:case`javascript`:return k().language;case`jsx`:return k({jsx:!0}).language;case`ts`:case`typescript`:return k({typescript:!0}).language;case`tsx`:return k({typescript:!0,jsx:!0}).language;case`html`:return A().language;case`css`:return O().language;case`py`:case`python`:return N().language;case`md`:case`markdown`:case`mdown`:case`mkd`:return ee().language;case`heex`:case`eex`:case`leex`:return A().language;default:return D.matchLanguageName(fe,t,!0)}}var Un=e=>e.split(`/`).pop()?.toLowerCase()??``,Wn=e=>{let t=Un(e);return t?D.matchFilename(fe,t):null},Gn=()=>C(T.define([{tag:[w.heading1,w.heading2,w.heading3,w.heading4,w.heading5,w.heading6],fontWeight:`600`},{tag:w.strong,fontWeight:`600`},{tag:w.emphasis,fontStyle:`italic`},{tag:w.strikethrough,textDecoration:`line-through`},{tag:[w.link,w.url],color:`var(--markdown-link, currentColor)`,textDecoration:`underline`},{tag:w.monospace,color:`var(--markdown-inline-code, currentColor)`,backgroundColor:`var(--markdown-inline-code-bg, transparent)`},{tag:w.quote,color:`var(--markdown-blockquote, currentColor)`,fontStyle:`italic`},{tag:w.list,color:`color-mix(in srgb, var(--muted-foreground) 40%, var(--foreground) 60%)`},{tag:w.heading,color:`var(--markdown-heading1, currentColor)`}]));function Kn(e){let t=e.toLowerCase();switch(Un(t)){case`makefile`:case`gnumakefile`:return Bn}let n=t.lastIndexOf(`.`),r=n>=0?t.slice(n+1):``;switch(r){case`ts`:case`tsx`:case`mts`:case`cts`:return k({typescript:!0,jsx:r===`tsx`});case`js`:case`jsx`:case`mjs`:case`cjs`:return k({typescript:!1,jsx:r===`jsx`});case`jsonc`:case`json5`:return[j(),Vn];case`json`:case`jsonl`:case`ndjson`:case`geojson`:return j();case`css`:case`scss`:case`sass`:case`less`:return O();case`html`:case`htm`:case`xml`:case`drawio`:case`dio`:return A();case`md`:case`mdx`:case`markdown`:case`mdown`:case`mkd`:return[ee({codeLanguages:Hn}),Gn()];case`sh`:case`bash`:case`zsh`:case`fish`:case`env`:return Bn;case`py`:case`pyw`:case`pyi`:return N();default:return null}}async function qn(e){let t=Wn(e);if(!t)return null;if(t.support)return t.support;try{return await t.load()}catch{return null}}var Jn=60,Yn=400;function Xn(e){let t=e.replace(/\s+/g,` `).trim();if(!t)return[];let n=t.match(/[^.!?…]+[.!?…]+["')\]]*\s*|[^.!?…]+$/g)??[t],r=[],i=``;for(let e of n)for(let t=0;t<e.length;t+=Yn){let n=e.slice(t,t+Yn);i&&i.length+n.length>Yn&&(r.push(i.trim()),i=``),i+=n,i.length>=Jn&&/[.!?…]["')\]]*\s*$/.test(i)&&(r.push(i.trim()),i=``)}if(i.trim()&&r.push(i.trim()),r.length>0&&r[0].length>120){let e=r[0],t=/[,;:]\s/g,n=-1,i;for(;(i=t.exec(e))!==null;){let e=i.index+1;if(!(e<40)){if(e>160)break;n=e;break}}if(n>0){let t=e.slice(0,n).trim(),i=e.slice(n).trim();r.splice(0,1,t,i)}}return r}var Zn=null;function Qn(){return Zn||=new(window.AudioContext||window.webkitAudioContext),Zn}function $n(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(null),i=(0,q.useRef)(null),o=(0,q.useRef)(null),s=(0,q.useCallback)(async()=>{try{let e=Qn();e.state===`suspended`&&await e.resume();let t=e.createBuffer(1,1,22050),n=e.createBufferSource();n.buffer=t,n.connect(e.destination),n.start(0)}catch{}},[]),c=(0,q.useCallback)(()=>{let e=o.current;if(e&&(e.cancelled=!0,e.abort.abort(),o.current=null),i.current){try{i.current.onended=null,i.current.stop()}catch{}i.current=null}t(!1)},[]),l=(0,q.useCallback)(async(e,n)=>{c();let s=Xn(e);if(s.length===0){r(`No text to speak`),n?.onError?.(`No text to speak`);return}r(null);let l={cancelled:!1,abort:new AbortController};o.current=l;let u=async e=>{let t=await a(`/api/dictation/tts/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e,...typeof n?.speakerId==`number`?{speakerId:n.speakerId}:{},...typeof n?.speed==`number`?{speed:n.speed}:{}}),signal:l.abort.signal});if(!t.ok){let e=await t.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${t.status}`)}return(await t.blob()).arrayBuffer()},d=async e=>{let t=Qn();t.state===`suspended`&&await t.resume();let n=await t.decodeAudioData(e);l.cancelled||await new Promise(e=>{let r=t.createBufferSource();r.buffer=n,r.connect(t.destination),i.current=r,r.onended=()=>{i.current===r&&(i.current=null),e()},r.start(0)})};try{t(!0),n?.onStart?.();let e=u(s[0]);for(let t=0;t<s.length;t+=1){let n=await e;if(l.cancelled||(t+1<s.length&&(e=u(s[t+1])),await d(n),l.cancelled))return}t(!1),n?.onEnd?.()}catch(e){if(e.name===`AbortError`||l.cancelled)return;let i=e instanceof Error?e.message:`Failed to speak`;r(i),n?.onError?.(i),t(!1)}finally{o.current===l&&(o.current=null)}},[c]);return(0,q.useEffect)(()=>()=>{c()},[c]),{isPlaying:e,error:n,speak:l,stop:c,unlockAudio:s}}var er=new class{recognition=null;isListening=!1;currentLang=`en-US`;onResultCallback=null;onErrorCallback=null;restartOnEnd=!1;conversationMode=!1;isSpeaking=!1;audioContext=null;audioUnlockRequired=!1;isSupported(){let e=`SpeechRecognition`in window||`webkitSpeechRecognition`in window,t=`speechSynthesis`in window;return e&&t}getSupportDetails(){return{recognition:`SpeechRecognition`in window||`webkitSpeechRecognition`in window,synthesis:`speechSynthesis`in window,prefixed:!(`SpeechRecognition`in window)&&`webkitSpeechRecognition`in window,secureContext:window.isSecureContext}}setConversationMode(e){this.conversationMode=e,e||(this.restartOnEnd=!1)}isConversationMode(){return this.conversationMode}pauseListening(){if(this.restartOnEnd=!1,this.recognition)try{this.recognition.stop()}catch{}this.isListening=!1}resumeListening(){if(this.conversationMode,this.onResultCallback,this.isSpeaking,this.currentLang,this.conversationMode&&this.onResultCallback&&!this.isSpeaking)try{this.startListeningSync(this.currentLang,this.onResultCallback,this.onErrorCallback||void 0)}catch(e){console.error(`[BrowserVoiceService] Failed to resume listening:`,e)}}async checkMicrophonePermission(){try{return`permissions`in navigator&&(await navigator.permissions.query({name:`microphone`})).state===`granted`}catch{return!1}}async prepareListening(){if(!this.isSupported())throw Error(`Web Speech API not supported in this browser`);if(typeof navigator>`u`||typeof navigator.mediaDevices?.getUserMedia!=`function`)return!0;try{return(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop()),!0}catch(e){let t=typeof e==`object`&&e&&`name`in e?String(e.name):``;if(t===`NotAllowedError`)throw Error(`Microphone permission denied`);if(t===`NotFoundError`)throw Error(`No microphone found`);let n=e instanceof Error?e.message:`Unable to access microphone`;throw Error(n)}}startListeningSync(e,t,n){if(!this.isSupported()){let e=`Web Speech API not supported in this browser`;throw n?.(e),Error(e)}this.stopListening();let r=window.SpeechRecognition||window.webkitSpeechRecognition;if(!r){let e=`Web Speech API not supported in this browser`;throw n?.(e),Error(e)}let i=new r;this.recognition=i,this.currentLang=e,this.onResultCallback=t,this.onErrorCallback=n||null,i.continuous=!0,i.interimResults=!0,i.lang=e,i.onstart=()=>{this.isListening=!0,this.restartOnEnd=!0},i.onaudiostart=()=>{},i.onsoundstart=()=>{},i.onresult=e=>{e.results.length;let t=``,n=``;for(let r=e.resultIndex;r<e.results.length;r++){let i=e.results[r];i.isFinal?t+=i[0].transcript:n+=i[0].transcript}n&&this.onResultCallback?.(n,!1),t&&this.onResultCallback?.(t,!0)},i.onerror=e=>{if(e.error===`aborted`)return;let t=this.getErrorMessage(e.error);this.onErrorCallback?.(t),(e.error===`not-allowed`||e.error===`service-not-allowed`||e.error===`network`)&&(this.restartOnEnd=!1,this.isListening=!1)},i.onend=()=>{if(this.isListening=!1,this.restartOnEnd&&this.recognition&&!this.isSpeaking)try{this.recognition.start()}catch{}};try{i.start()}catch(e){let t=e instanceof Error?e.message:`Failed to start speech recognition`;throw n?.(t),Error(t)}}async startListening(e,t,n){this.startListeningSync(e,t,n)}stopListening(){if(this.restartOnEnd=!1,this.recognition){try{this.recognition.stop()}catch{}this.recognition=null}this.isListening=!1}getIsListening(){return this.isListening}getCurrentLang(){return this.currentLang}async resumeAudioContext(){this.audioContext||=new(window.AudioContext||window.webkitAudioContext),this.audioContext.state===`suspended`&&await this.audioContext.resume()}isAudioUnlockRequired(){return this.audioUnlockRequired}async unlockAudio(){try{let e=new Audio;if(e.src=`data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA`,e.volume=.01,await e.play(),await this.resumeAudioContext(),this.isMobileDevice()&&`speechSynthesis`in window){let e=new SpeechSynthesisUtterance(``);e.volume=0,window.speechSynthesis.speak(e),window.speechSynthesis.cancel()}return this.audioUnlockRequired=!1,!0}catch(e){return console.error(`[BrowserVoiceService] Failed to unlock audio:`,e),!1}}async speakText(e,t,n,r){if(!(`speechSynthesis`in window))throw Error(`Speech synthesis not supported`);await this.resumeAudioContext();let i=await this.waitForVoices();await new Promise(e=>setTimeout(e,50)),this.isSpeaking=!0,this.pauseListening(),window.speechSynthesis.cancel();let a=new SpeechSynthesisUtterance(e);a.lang=t,a.rate=r?.rate??1,a.pitch=r?.pitch??1,a.volume=r?.volume??1;let o=null;return r?.voiceName&&(o=i.find(e=>e.name===r.voiceName)||null,o?`${o.name}${o.lang}`:console.warn(`[BrowserVoiceService] Selected voice "${r.voiceName}" not found, falling back to language match`)),o||(o=this.findBestVoice(i,t),o?`${o.name}${o.lang}`:console.warn(`[BrowserVoiceService] No voice found for language: ${t}, using default`)),o&&(a.voice=o),`${e.length}${t}`,new Promise((e,t)=>{let r=!1;a.onstart=()=>{r=!0,e()},a.onend=()=>{this.isSpeaking=!1,n?.()},a.onerror=e=>{this.isSpeaking=!1,console.error(`[BrowserVoiceService] Speech synthesis error:`,e.error),(e.error===`not-allowed`||e.error===`interrupted`)&&(this.audioUnlockRequired=!0);let n=`Speech synthesis error: ${e.error||`unknown`}`;e.error===`not-allowed`?n=`Audio blocked by browser autoplay policy. Please interact with the page first.`:e.error===`interrupted`&&(n=`Speech was interrupted. Please try again.`),t(Error(n))},setTimeout(()=>{r||(console.warn(`[BrowserVoiceService] Speech start timeout - audio may be blocked`),this.audioUnlockRequired=!0)},2e3),window.speechSynthesis.speak(a)})}cancelSpeech(){`speechSynthesis`in window&&window.speechSynthesis.cancel()}getVoices(){return`speechSynthesis`in window?window.speechSynthesis.getVoices():[]}async waitForVoices(){if(!(`speechSynthesis`in window))return[];let e=window.speechSynthesis.getVoices();return e.length>0?e:new Promise(e=>{let t=()=>{e(window.speechSynthesis.getVoices()),window.speechSynthesis.onvoiceschanged=null};window.speechSynthesis.onvoiceschanged=t,setTimeout(()=>{e(window.speechSynthesis.getVoices()),window.speechSynthesis.onvoiceschanged=null},1e3)})}findBestVoice(e,t){let n=e.find(e=>e.lang===t);if(!n){let r=t.split(`-`)[0];n=e.find(e=>e.lang.startsWith(r))}return n||=e.find(e=>e.lang.startsWith(t.split(`-`)[0])&&e.localService),n||null}isMobileDevice(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|mobile|webos|blackberry|iemobile|opera mini/i.test(e)}isIOSSafari(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase(),t=/iphone|ipad|ipod/i.test(e),n=/safari/i.test(e)&&!/chrome|crios|crmo/i.test(e);return t&&n}getErrorMessage(e){let t=this.isMobileDevice(),n=this.isIOSSafari();return{"no-speech":`No speech detected`,aborted:`Speech recognition aborted`,"audio-capture":`No microphone found`,network:`Network error - check connection`,"not-allowed":t?`Microphone permission denied. Check Settings > Safari > Microphone`:`Microphone permission denied`,"service-not-allowed":n?`Speech recognition requires a user gesture. Please tap the microphone button again.`:`Speech recognition service not allowed`,"bad-grammar":`Grammar error`,"language-not-supported":`Language not supported`}[e]||`Speech recognition error: ${e}`}},tr=e=>{if(e===`12h`)return!0;if(e===`24h`)return!1},nr=(e,t,n={})=>{let r=e instanceof Date?e:new Date(e);return Number.isFinite(r.getTime())?r.toLocaleTimeString(re(),{hour:n.hour??`numeric`,minute:`2-digit`,second:n.precision===`second`?`2-digit`:void 0,hour12:tr(t)}):n.fallback??``},rr=(e,t,n)=>{let r=e instanceof Date?e:new Date(e);return Number.isFinite(r.getTime())?r.toLocaleString(re(),{...n,hour12:n.hour?tr(t):n.hour12}):``},ir=q.memo(function(e){let t=(0,Y.c)(24),{checked:n,onChange:r,disabled:i,ariaLabel:a,className:o,iconClassName:s}=e,c=i!==void 0&&i,l;t[0]!==n||t[1]!==c||t[2]!==r?(l=e=>{e.preventDefault(),e.stopPropagation(),!c&&!n&&r()},t[0]=n,t[1]=c,t[2]=r,t[3]=l):l=t[3];let u=l,d;t[4]!==n||t[5]!==c||t[6]!==r?(d=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),!c&&!n&&r())},t[4]=n,t[5]=c,t[6]=r,t[7]=d):d=t[7];let f=d,p=n?`bg-[color-mix(in_srgb,var(--primary-base)_80%,transparent)] shadow-none hover:bg-[var(--primary-base)]`:`bg-[var(--surface-muted)] shadow-[inset_0_0_0_1px_var(--interactive-border)] hover:bg-[var(--interactive-hover)]`,m;t[8]!==o||t[9]!==p?(m=z(`group/radio relative flex h-[14px] w-[14px] min-h-[14px] min-w-[14px] shrink-0 self-center items-center justify-center rounded-full outline-none`,`transition-[background-color,box-shadow] duration-200 ease-out`,p,`focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,o),t[8]=o,t[9]=p,t[10]=m):m=t[10];let h=!n&&`opacity-0`,g;t[11]!==s||t[12]!==h?(g=z(`block h-[5px] w-[5px] rounded-full bg-white`,h,s),t[11]=s,t[12]=h,t[13]=g):g=t[13];let _;t[14]===g?_=t[15]:(_=(0,J.jsx)(`span`,{"aria-hidden":!0,className:g}),t[14]=g,t[15]=_);let v;return t[16]!==a||t[17]!==n||t[18]!==c||t[19]!==u||t[20]!==f||t[21]!==m||t[22]!==_?(v=(0,J.jsx)(`button`,{type:`button`,role:`radio`,onClick:u,onKeyDown:f,disabled:c,"aria-checked":n,"aria-label":a,className:m,children:_}),t[16]=a,t[17]=n,t[18]=c,t[19]=u,t[20]=f,t[21]=m,t[22]=_,t[23]=v):v=t[23],v});export{Ye as A,Le as B,vt as C,qe as D,Ge as E,Re as F,Ie as G,je as H,Ve as I,$ as J,Ae as K,Be as L,Qe as M,Ke as N,Je as O,ze as P,ge as Q,ye as R,Ct as S,_t as T,Me as U,ke as V,Ne as W,Z as X,Ee as Y,ve as Z,Qt as _,$n as a,Dt as b,qn as c,zn as d,In as f,$t as g,an as h,er as i,Xe as j,Ze as k,Ln as l,mn as m,rr as n,Hn as o,Sn as p,Pe as q,nr as r,Kn as s,ir as t,Rn as u,Zt as v,st as w,St as x,Tt as y,Fe as z};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/gitApi-BQT3QXD2.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-D1lIuyqO.js","assets/useUIStore-5agS8bsW.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-BxGAFLTf.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/useMobileNavigationStore-DQHF_ETu.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-BnElHSnO.js","assets/store-CUWqzRt7.js","assets/useAssistantUIStore-Bq3cPj2x.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-5agS8bsW.js";import{Ft as n,Sn as r,Zt as i,n as a,qt as o,t as s}from"./persistence-D1lIuyqO.js";import{nt as c,rt as l}from"./vendor-base-ui-CnHfUmDN.js";import{kt as u,yt as d}from"./gitApiHttp-BxGAFLTf.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-BnElHSnO.js";import{n as y}from"./store-CUWqzRt7.js";import{Fa as b,On as x,Xi as S,b as ee,en as te,go as ne,kn as re,kt as ie,l as C,ta as ae,un as oe}from"./useMobileNavigationStore-DQHF_ETu.js";import{t as se}from"./utils-BxJEIWv5.js";import{n as ce}from"./Icon-DiIuWOuC.js";import{t as le}from"./button-DaAoVF4X.js";import{B as ue,C as de,G as w,H as fe,K as T,Q as pe,R as me,S as he,U as E,V as ge,W as _e,a as ve,q as D,t as O,z as ye}from"./useAppFontEffects-IEUQDvE8.js";import{c as be}from"./projectMeta-BunN9pH5.js";import{r as xe}from"./tooltip-BLugzWq-.js";import{p as Se}from"./useSessionAutoCleanup-BuU_S_Sh.js";import{U as Ce,z as k}from"./radio-Bziafaje.js";import{A as we,q as Te,t as Ee}from"./ChatContainer-BDFeDKu-.js";import{n as De}from"./useRuntimeAPIs-DSLXJybW.js";import{b as Oe,f as ke}from"./insertionBoundaries-9a0RuIDc.js";import{i as Ae,n as je,r as Me,t as Ne}from"./useDesktopWindowControlsLayout-MlqJX89k.js";var Pe=m(),A=p(),j=e(l(),1),M=c(),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)(we.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 t=(0,A.c)(133),{mode:n}=e,{t:r}=v(),a=C(Re),s=C(ze),c=C(Be),l=d(Ve),u=ne(He),f=ne(Ue),p=S(We),m=S(Ge),h=oe(),g=te(a??``),_=De(),y=Oe(Ke),b;t[0]===a?b=t[1]:(b=e=>a?e.worktreeMetadata.get(a)?.path??``:``,t[0]=a,t[1]=b);let ie=C(b),ae;t[2]===a?ae=t[3]:(ae=e=>a?e.worktreeMetadata.get(a)?.branch?.trim()??null:null,t[2]=a,t[3]=ae);let ue=C(ae),de;t[4]===a?de=t[5]:(de=e=>a?e.getAttachment(a):void 0,t[4]=a,t[5]=de);let w=ee(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;t[6]!==a||t[7]!==h?(ve=a?h.find(e=>e.id===a)??null:null,t[6]=a,t[7]=h,t[8]=ve):ve=t[8];let D=ve,O=D?.worktreeMetadata??null,ye,be;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>{i()&&o(`desktop_get_window_pinned`).then(e=>{typeof e?.pinned==`boolean`&&pe(e.pinned)})},be=[],t[9]=ye,t[10]=be):(ye=t[9],be=t[10]),j.useEffect(ye,be);let xe;t[11]!==s||t[12]!==n||t[13]!==D?.title||t[14]!==r?(xe=D?.title?.trim()||r(s||n===`draft`?`miniChat.header.newSession`:`miniChat.header.session`),t[11]=s,t[12]=n,t[13]=D?.title,t[14]=r,t[15]=xe):xe=t[15];let Se=xe,Ce=D?.directory??null,k;t[16]===Ce?k=t[17]:(k=N(Ce),t[16]=Ce,t[17]=k);let we=k,Te=ie||O?.path||w?.cwd||w?.worktreeRoot||``,Ee;t[18]===Te?Ee=t[19]:(Ee=N(Te),t[18]=Te,t[19]=Ee);let Pe=Ee,Fe;t[20]===l?Fe=t[21]:(Fe=N(l),t[20]=l,t[21]=Fe);let P=Pe||we||fe||Fe,Le;t[22]===P?Le=t[23]:(Le=Ie(P),t[22]=P,t[23]=Le);let tt=Le,nt;t[24]!==we||t[25]!==Pe?(nt=e=>{let t=N(Pe||we||``);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},t[24]=we,t[25]=Pe,t[26]=nt):nt=t[26];let rt=C(nt),it,at;t[27]!==y||t[28]!==P||t[29]!==_.git?(it=()=>{P&&y(P,_.git).catch(Je)},at=[y,P,_.git],t[27]=y,t[28]=P,t[29]=_.git,t[30]=it,t[31]=at):(it=t[30],at=t[31]),j.useEffect(it,at),O?.projectDirectory,w?.worktreeRoot;let ot;bb0:{let e=O?.projectDirectory??w?.worktreeRoot??null,n;t[32]===e?n=t[33]:(n=N(e),t[32]=e,t[33]=n);let r=n||P;if(!r){ot=null;break bb0}let i;t[34]!==r||t[35]!==u?(i=u.map(Ye).filter(e=>e.normalizedPath&&(e.normalizedPath===r||r.startsWith(`${e.normalizedPath}/`))).sort(Xe)[0]??null,t[34]=r,t[35]=u,t[36]=i):i=t[36],ot=i}let st=ot,ct;bb1:{let e=st??f;if(!e){ct=tt||`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),ct=n}let lt=ct,ut=ke(P||null),dt;t[39]!==rt||t[40]!==ut||t[41]!==O?.branch||t[42]!==w?.branch||t[43]!==ue?(dt=ut||ue||O?.branch?.trim()||w?.branch?.trim()||rt,t[39]=rt,t[40]=ut,t[41]=O?.branch,t[42]=w?.branch,t[43]=ue,t[44]=dt):dt=t[44];let ft=dt,pt=ft&&ft!==`HEAD`?ft:null,mt;t[45]===p?mt=t[46]:(mt=p(),t[45]=p,t[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(t[47]!==I||t[48]!==a||t[49]!==g||t[50]!==yt){bb3:{if(!a||g.length===0){L=null;break bb3}let e=re(g,Ze);if(!e||`compacted`in e){L=null;break bb3}let n=e.tokens,r=e.totalTokens,i=I>0?I:2e5,o;t[52]!==I||t[53]!==r?(o=I>0?Math.round(r/I*100):0,t[52]=I,t[53]=r,t[54]=o):o=t[54];let s=o,c=yt>0?Math.round(x(n.output)/yt*100):void 0,l=I||0,u=yt||void 0,d;t[55]!==e||t[56]!==c||t[57]!==s||t[58]!==l||t[59]!==u||t[60]!==i||t[61]!==r?(d={totalTokens:r,percentage:s,contextLimit:l,outputLimit:u,normalizedOutput:c,thresholdLimit:i,lastMessageId:e.messageId},t[55]=e,t[56]=c,t[57]=s,t[58]=l,t[59]=u,t[60]=i,t[61]=r,t[62]=d):d=t[62],L=d}t[47]=I,t[48]=a,t[49]=g,t[50]=yt,t[51]=L}else L=t[51];let R=L,[z,bt]=j.useState(null),xt;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(xt={WebkitAppRegion:`drag`},t[63]=xt):xt=t[63];let St=xt,Ct;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ct={WebkitAppRegion:`no-drag`},t[64]=Ct):Ct=t[64];let wt=Ct,Tt,Et;t[65]!==R||t[66]!==a?(Tt=()=>{if(!a){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,a],t[65]=R,t[66]=a,t[67]=Tt,t[68]=Et):(Tt=t[67],Et=t[68]),j.useEffect(Tt,Et);let Dt=z&&z.contextLimit>0?Math.min(999,z.totalTokens/z.contextLimit*100):0,Ot;t[69]===T?Ot=t[70]:(Ot=()=>{let e=!T;pe(e),o(`desktop_set_window_pinned`,{pinned:e}).catch(()=>{pe(!e)})},t[69]=T,t[70]=Ot);let kt=Ot,At;t[71]!==l||t[72]!==a||t[73]!==c||t[74]!==P||t[75]!==D?(At=()=>{let e=a?{sessionId:a,directory:D?.directory??l??``}:{mode:`draft`,directory:P||l||``,projectId:c};o(`desktop_focus_main_window`,e).then(et)},t[71]=l,t[72]=a,t[73]=c,t[74]=P,t[75]=D,t[76]=At):At=t[76];let jt=At,Mt=E?`h-12`:_e||`min-h-14`,B;t[77]===Mt?B=t[78]:(B=se(`flex items-center gap-3 bg-background pr-3`,he?`pl-[5.5rem]`:`pl-3`,Mt),t[77]=Mt,t[78]=B);let V;t[79]!==E||t[80]!==ge?(V=E&&ge===`left`?(0,M.jsx)(Me,{visible:!0,position:`left`}):null,t[79]=E,t[80]=ge,t[81]=V):V=t[81];let H;t[82]===r?H=t[83]:(H=r(`sessions.switcher.openAria`),t[82]=r,t[83]=H);let U;t[84]===Se?U=t[85]:(U=(0,M.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full`,children:Se}),t[84]=Se,t[85]=U);let W;t[86]===lt?W=t[87]:(W=(0,M.jsx)(`span`,{className:`truncate`,children:lt}),t[86]=lt,t[87]=W);let G;t[88]===pt?G=t[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,t[88]=pt,t[89]=G);let K;t[90]!==W||t[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]}),t[90]=W,t[91]=G,t[92]=K):K=t[92];let q;t[93]!==H||t[94]!==U||t[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]})}),t[93]=H,t[94]=U,t[95]=K,t[96]=q):q=t[96];let Nt;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,M.jsx)(`div`,{className:`min-w-0 flex-1`}),t[97]=Nt):Nt=t[97];let J;t[98]!==Dt||t[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,t[98]=Dt,t[99]=z,t[100]=J):J=t[100];let Y;t[101]!==T||t[102]!==r?(Y=r(T?`miniChat.actions.unpinAria`:`miniChat.actions.pinAria`),t[101]=T,t[102]=r,t[103]=Y):Y=t[103];let X;t[104]!==T||t[105]!==r?(X=r(T?`miniChat.actions.unpin`:`miniChat.actions.pin`),t[104]=T,t[105]=r,t[106]=X):X=t[106];let Z;t[107]===T?Z=t[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`}),t[107]=T,t[108]=Z);let Q;t[109]!==kt||t[110]!==Y||t[111]!==X||t[112]!==Z?(Q=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:kt,"aria-label":Y,title:X,style:wt,children:Z}),t[109]=kt,t[110]=Y,t[111]=X,t[112]=Z,t[113]=Q):Q=t[113];let Pt;t[114]===r?Pt=t[115]:(Pt=r(`miniChat.actions.openMainAria`),t[114]=r,t[115]=Pt);let Ft;t[116]===r?Ft=t[117]:(Ft=r(`miniChat.actions.openMain`),t[116]=r,t[117]=Ft);let It;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,M.jsx)(ce,{name:`external-link`,className:`h-4 w-4`}),t[118]=It):It=t[118];let Lt;t[119]!==jt||t[120]!==Pt||t[121]!==Ft?(Lt=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:jt,"aria-label":Pt,title:Ft,style:wt,children:It}),t[119]=jt,t[120]=Pt,t[121]=Ft,t[122]=Lt):Lt=t[122];let Rt=E&&ge===`right`,$;t[123]===Rt?$=t[124]:($=(0,M.jsx)(Me,{visible:Rt,position:`right`}),t[123]=Rt,t[124]=$);let zt;return t[125]!==B||t[126]!==V||t[127]!==q||t[128]!==J||t[129]!==Q||t[130]!==Lt||t[131]!==$?(zt=(0,M.jsxs)(`header`,{className:B,style:St,children:[V,q,Nt,J,Q,Lt,$]}),t[125]=B,t[126]=V,t[127]=q,t[128]=J,t[129]=Q,t[130]=Lt,t[131]=$,t[132]=zt):zt=t[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)(Ee,{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?o(`desktop_close_current_window`):null}var tt=()=>{document.querySelector(`textarea[data-chat-input="true"]`)?.focus()},nt=()=>{let e=t(e=>e.shortcutOverrides),r=d(e=>e.currentDirectory),i=ne(e=>e.getActiveProject()),a=C(e=>e.openNewSessionDraft);j.useEffect(()=>{let s=t=>Ce(t,e),c=e=>{if(k(e,s(`focus_input`))){e.preventDefault(),tt();return}if(n()&&k(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()&&k(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(k(e,s(`new_chat`))){e.preventDefault(),a({selectedProjectId:i?.id??null,directoryOverride:r||i?.path||null,preserveDirectoryOverride:!!(r||i?.path)}),tt();return}if(k(e,s(`open_model_selector`))){e.preventDefault();let{isModelSelectorOpen:n,setModelSelectorOpen:r}=t.getState();r(!n,{instant:!0});return}if(k(e,s(`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 c=k(e,s(`cycle_favorite_model_forward`)),l=k(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}=S.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])},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=oe(),n=d(e=>e.currentDirectory),r=d(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),l=C(e=>e.openNewSessionDraft),u=S(e=>e.initializeApp),p=S(e=>e.isInitialized),m=Te();j.useEffect(()=>{u()},[u]),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]),ue({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||l({selectedProjectId:e.projectId,directoryOverride:e.directory,preserveDirectoryOverride:!!e.directory})},[e,a,o,l]),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-BQT3QXD2.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])))||e)return;await be({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=d(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=oe(),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,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=it(),t[0]=i):i=t[0];let a=i,o=d(ft),s=C(dt),c=C(ut),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),j.useEffect(l,f);let p,m;t[4]===n?(p=t[5],m=t[6]):(p=()=>(r(n),lt),m=[n],t[4]=n,t[5]=p,t[6]=m),j.useEffect(p,m),O(),nt();let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h={enabled:!0},t[7]=h):h=t[7],de(h),he();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,M.jsx)(xe,{delayDuration:300,skipDelayDuration:150,children:(0,M.jsxs)(`div`,{className:`h-full text-foreground bg-background`,children:[(0,M.jsx)(pt,{config:a}),(0,M.jsx)(me,{})]})}),t[9]=y):y=t[9];let b;t[10]===n?b=t[11]:(b=(0,M.jsx)(ye,{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)(Se,{children:(0,M.jsx)(ie,{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 r(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)(ve,{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(),s().then(()=>{Promise.all([a(),pe()]).catch(e=>{console.error(`[mini-chat-main] settings init failed:`,e)}),_e(),E(),fe()}).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)(ge,{children:(0,M.jsx)(_,{children:(0,M.jsx)(w,{children:(0,M.jsx)(T,{children:(0,M.jsx)(D,{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-Ctgr4Y9i.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-D1lIuyqO.js","assets/useUIStore-5agS8bsW.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-BxGAFLTf.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/useMobileNavigationStore-DEUCakMd.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-BnElHSnO.js","assets/store-CUWqzRt7.js","assets/useAssistantUIStore-Bq3cPj2x.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-5agS8bsW.js";import{Ft as n,Sn as r,Zt as i,n as a,qt as o,t as s}from"./persistence-D1lIuyqO.js";import{nt as c,rt as l}from"./vendor-base-ui-CnHfUmDN.js";import{kt as u,yt as d}from"./gitApiHttp-BxGAFLTf.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-BnElHSnO.js";import{n as y}from"./store-CUWqzRt7.js";import{Fa as b,On as x,Xi as S,b as ee,en as te,go as ne,kn as re,kt as ie,l as C,ta as ae,un as oe}from"./useMobileNavigationStore-DEUCakMd.js";import{t as se}from"./utils-BxJEIWv5.js";import{n as ce}from"./Icon-DiIuWOuC.js";import{t as le}from"./button-DaAoVF4X.js";import{B as ue,C as de,G as w,H as fe,K as T,Q as pe,R as me,S as he,U as E,V as ge,W as _e,a as ve,q as D,t as O,z as ye}from"./useAppFontEffects-BiZhEY4g.js";import{c as be}from"./projectMeta-BbjPDSpU.js";import{r as xe}from"./tooltip-BLugzWq-.js";import{p as Se}from"./useSessionAutoCleanup-X6napv6d.js";import{U as Ce,z as k}from"./radio-CQrbmLB7.js";import{A as we,q as Te,t as Ee}from"./ChatContainer-BhuJ17NV.js";import{n as De}from"./useRuntimeAPIs-DSLXJybW.js";import{b as Oe,f as ke}from"./insertionBoundaries-BEvkmerk.js";import{i as Ae,n as je,r as Me,t as Ne}from"./useDesktopWindowControlsLayout-D3lc4TXT.js";var Pe=m(),A=p(),j=e(l(),1),M=c(),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)(we.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 t=(0,A.c)(133),{mode:n}=e,{t:r}=v(),a=C(Re),s=C(ze),c=C(Be),l=d(Ve),u=ne(He),f=ne(Ue),p=S(We),m=S(Ge),h=oe(),g=te(a??``),_=De(),y=Oe(Ke),b;t[0]===a?b=t[1]:(b=e=>a?e.worktreeMetadata.get(a)?.path??``:``,t[0]=a,t[1]=b);let ie=C(b),ae;t[2]===a?ae=t[3]:(ae=e=>a?e.worktreeMetadata.get(a)?.branch?.trim()??null:null,t[2]=a,t[3]=ae);let ue=C(ae),de;t[4]===a?de=t[5]:(de=e=>a?e.getAttachment(a):void 0,t[4]=a,t[5]=de);let w=ee(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;t[6]!==a||t[7]!==h?(ve=a?h.find(e=>e.id===a)??null:null,t[6]=a,t[7]=h,t[8]=ve):ve=t[8];let D=ve,O=D?.worktreeMetadata??null,ye,be;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(ye=()=>{i()&&o(`desktop_get_window_pinned`).then(e=>{typeof e?.pinned==`boolean`&&pe(e.pinned)})},be=[],t[9]=ye,t[10]=be):(ye=t[9],be=t[10]),j.useEffect(ye,be);let xe;t[11]!==s||t[12]!==n||t[13]!==D?.title||t[14]!==r?(xe=D?.title?.trim()||r(s||n===`draft`?`miniChat.header.newSession`:`miniChat.header.session`),t[11]=s,t[12]=n,t[13]=D?.title,t[14]=r,t[15]=xe):xe=t[15];let Se=xe,Ce=D?.directory??null,k;t[16]===Ce?k=t[17]:(k=N(Ce),t[16]=Ce,t[17]=k);let we=k,Te=ie||O?.path||w?.cwd||w?.worktreeRoot||``,Ee;t[18]===Te?Ee=t[19]:(Ee=N(Te),t[18]=Te,t[19]=Ee);let Pe=Ee,Fe;t[20]===l?Fe=t[21]:(Fe=N(l),t[20]=l,t[21]=Fe);let P=Pe||we||fe||Fe,Le;t[22]===P?Le=t[23]:(Le=Ie(P),t[22]=P,t[23]=Le);let tt=Le,nt;t[24]!==we||t[25]!==Pe?(nt=e=>{let t=N(Pe||we||``);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},t[24]=we,t[25]=Pe,t[26]=nt):nt=t[26];let rt=C(nt),it,at;t[27]!==y||t[28]!==P||t[29]!==_.git?(it=()=>{P&&y(P,_.git).catch(Je)},at=[y,P,_.git],t[27]=y,t[28]=P,t[29]=_.git,t[30]=it,t[31]=at):(it=t[30],at=t[31]),j.useEffect(it,at),O?.projectDirectory,w?.worktreeRoot;let ot;bb0:{let e=O?.projectDirectory??w?.worktreeRoot??null,n;t[32]===e?n=t[33]:(n=N(e),t[32]=e,t[33]=n);let r=n||P;if(!r){ot=null;break bb0}let i;t[34]!==r||t[35]!==u?(i=u.map(Ye).filter(e=>e.normalizedPath&&(e.normalizedPath===r||r.startsWith(`${e.normalizedPath}/`))).sort(Xe)[0]??null,t[34]=r,t[35]=u,t[36]=i):i=t[36],ot=i}let st=ot,ct;bb1:{let e=st??f;if(!e){ct=tt||`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),ct=n}let lt=ct,ut=ke(P||null),dt;t[39]!==rt||t[40]!==ut||t[41]!==O?.branch||t[42]!==w?.branch||t[43]!==ue?(dt=ut||ue||O?.branch?.trim()||w?.branch?.trim()||rt,t[39]=rt,t[40]=ut,t[41]=O?.branch,t[42]=w?.branch,t[43]=ue,t[44]=dt):dt=t[44];let ft=dt,pt=ft&&ft!==`HEAD`?ft:null,mt;t[45]===p?mt=t[46]:(mt=p(),t[45]=p,t[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(t[47]!==I||t[48]!==a||t[49]!==g||t[50]!==yt){bb3:{if(!a||g.length===0){L=null;break bb3}let e=re(g,Ze);if(!e||`compacted`in e){L=null;break bb3}let n=e.tokens,r=e.totalTokens,i=I>0?I:2e5,o;t[52]!==I||t[53]!==r?(o=I>0?Math.round(r/I*100):0,t[52]=I,t[53]=r,t[54]=o):o=t[54];let s=o,c=yt>0?Math.round(x(n.output)/yt*100):void 0,l=I||0,u=yt||void 0,d;t[55]!==e||t[56]!==c||t[57]!==s||t[58]!==l||t[59]!==u||t[60]!==i||t[61]!==r?(d={totalTokens:r,percentage:s,contextLimit:l,outputLimit:u,normalizedOutput:c,thresholdLimit:i,lastMessageId:e.messageId},t[55]=e,t[56]=c,t[57]=s,t[58]=l,t[59]=u,t[60]=i,t[61]=r,t[62]=d):d=t[62],L=d}t[47]=I,t[48]=a,t[49]=g,t[50]=yt,t[51]=L}else L=t[51];let R=L,[z,bt]=j.useState(null),xt;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(xt={WebkitAppRegion:`drag`},t[63]=xt):xt=t[63];let St=xt,Ct;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ct={WebkitAppRegion:`no-drag`},t[64]=Ct):Ct=t[64];let wt=Ct,Tt,Et;t[65]!==R||t[66]!==a?(Tt=()=>{if(!a){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,a],t[65]=R,t[66]=a,t[67]=Tt,t[68]=Et):(Tt=t[67],Et=t[68]),j.useEffect(Tt,Et);let Dt=z&&z.contextLimit>0?Math.min(999,z.totalTokens/z.contextLimit*100):0,Ot;t[69]===T?Ot=t[70]:(Ot=()=>{let e=!T;pe(e),o(`desktop_set_window_pinned`,{pinned:e}).catch(()=>{pe(!e)})},t[69]=T,t[70]=Ot);let kt=Ot,At;t[71]!==l||t[72]!==a||t[73]!==c||t[74]!==P||t[75]!==D?(At=()=>{let e=a?{sessionId:a,directory:D?.directory??l??``}:{mode:`draft`,directory:P||l||``,projectId:c};o(`desktop_focus_main_window`,e).then(et)},t[71]=l,t[72]=a,t[73]=c,t[74]=P,t[75]=D,t[76]=At):At=t[76];let jt=At,Mt=E?`h-12`:_e||`min-h-14`,B;t[77]===Mt?B=t[78]:(B=se(`flex items-center gap-3 bg-background pr-3`,he?`pl-[5.5rem]`:`pl-3`,Mt),t[77]=Mt,t[78]=B);let V;t[79]!==E||t[80]!==ge?(V=E&&ge===`left`?(0,M.jsx)(Me,{visible:!0,position:`left`}):null,t[79]=E,t[80]=ge,t[81]=V):V=t[81];let H;t[82]===r?H=t[83]:(H=r(`sessions.switcher.openAria`),t[82]=r,t[83]=H);let U;t[84]===Se?U=t[85]:(U=(0,M.jsx)(`span`,{className:`truncate typography-ui-label text-[14px] font-normal leading-tight text-foreground max-w-full`,children:Se}),t[84]=Se,t[85]=U);let W;t[86]===lt?W=t[87]:(W=(0,M.jsx)(`span`,{className:`truncate`,children:lt}),t[86]=lt,t[87]=W);let G;t[88]===pt?G=t[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,t[88]=pt,t[89]=G);let K;t[90]!==W||t[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]}),t[90]=W,t[91]=G,t[92]=K):K=t[92];let q;t[93]!==H||t[94]!==U||t[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]})}),t[93]=H,t[94]=U,t[95]=K,t[96]=q):q=t[96];let Nt;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,M.jsx)(`div`,{className:`min-w-0 flex-1`}),t[97]=Nt):Nt=t[97];let J;t[98]!==Dt||t[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,t[98]=Dt,t[99]=z,t[100]=J):J=t[100];let Y;t[101]!==T||t[102]!==r?(Y=r(T?`miniChat.actions.unpinAria`:`miniChat.actions.pinAria`),t[101]=T,t[102]=r,t[103]=Y):Y=t[103];let X;t[104]!==T||t[105]!==r?(X=r(T?`miniChat.actions.unpin`:`miniChat.actions.pin`),t[104]=T,t[105]=r,t[106]=X):X=t[106];let Z;t[107]===T?Z=t[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`}),t[107]=T,t[108]=Z);let Q;t[109]!==kt||t[110]!==Y||t[111]!==X||t[112]!==Z?(Q=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:kt,"aria-label":Y,title:X,style:wt,children:Z}),t[109]=kt,t[110]=Y,t[111]=X,t[112]=Z,t[113]=Q):Q=t[113];let Pt;t[114]===r?Pt=t[115]:(Pt=r(`miniChat.actions.openMainAria`),t[114]=r,t[115]=Pt);let Ft;t[116]===r?Ft=t[117]:(Ft=r(`miniChat.actions.openMain`),t[116]=r,t[117]=Ft);let It;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,M.jsx)(ce,{name:`external-link`,className:`h-4 w-4`}),t[118]=It):It=t[118];let Lt;t[119]!==jt||t[120]!==Pt||t[121]!==Ft?(Lt=(0,M.jsx)(le,{type:`button`,variant:`ghost`,size:`icon`,onClick:jt,"aria-label":Pt,title:Ft,style:wt,children:It}),t[119]=jt,t[120]=Pt,t[121]=Ft,t[122]=Lt):Lt=t[122];let Rt=E&&ge===`right`,$;t[123]===Rt?$=t[124]:($=(0,M.jsx)(Me,{visible:Rt,position:`right`}),t[123]=Rt,t[124]=$);let zt;return t[125]!==B||t[126]!==V||t[127]!==q||t[128]!==J||t[129]!==Q||t[130]!==Lt||t[131]!==$?(zt=(0,M.jsxs)(`header`,{className:B,style:St,children:[V,q,Nt,J,Q,Lt,$]}),t[125]=B,t[126]=V,t[127]=q,t[128]=J,t[129]=Q,t[130]=Lt,t[131]=$,t[132]=zt):zt=t[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)(Ee,{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?o(`desktop_close_current_window`):null}var tt=()=>{document.querySelector(`textarea[data-chat-input="true"]`)?.focus()},nt=()=>{let e=t(e=>e.shortcutOverrides),r=d(e=>e.currentDirectory),i=ne(e=>e.getActiveProject()),a=C(e=>e.openNewSessionDraft);j.useEffect(()=>{let s=t=>Ce(t,e),c=e=>{if(k(e,s(`focus_input`))){e.preventDefault(),tt();return}if(n()&&k(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()&&k(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(k(e,s(`new_chat`))){e.preventDefault(),a({selectedProjectId:i?.id??null,directoryOverride:r||i?.path||null,preserveDirectoryOverride:!!(r||i?.path)}),tt();return}if(k(e,s(`open_model_selector`))){e.preventDefault();let{isModelSelectorOpen:n,setModelSelectorOpen:r}=t.getState();r(!n,{instant:!0});return}if(k(e,s(`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 c=k(e,s(`cycle_favorite_model_forward`)),l=k(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}=S.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])},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=oe(),n=d(e=>e.currentDirectory),r=d(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),l=C(e=>e.openNewSessionDraft),u=S(e=>e.initializeApp),p=S(e=>e.isInitialized),m=Te();j.useEffect(()=>{u()},[u]),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]),ue({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||l({selectedProjectId:e.projectId,directoryOverride:e.directory,preserveDirectoryOverride:!!e.directory})},[e,a,o,l]),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-Ctgr4Y9i.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])))||e)return;await be({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=d(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=oe(),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,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=it(),t[0]=i):i=t[0];let a=i,o=d(ft),s=C(dt),c=C(ut),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),j.useEffect(l,f);let p,m;t[4]===n?(p=t[5],m=t[6]):(p=()=>(r(n),lt),m=[n],t[4]=n,t[5]=p,t[6]=m),j.useEffect(p,m),O(),nt();let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h={enabled:!0},t[7]=h):h=t[7],de(h),he();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,M.jsx)(xe,{delayDuration:300,skipDelayDuration:150,children:(0,M.jsxs)(`div`,{className:`h-full text-foreground bg-background`,children:[(0,M.jsx)(pt,{config:a}),(0,M.jsx)(me,{})]})}),t[9]=y):y=t[9];let b;t[10]===n?b=t[11]:(b=(0,M.jsx)(ye,{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)(Se,{children:(0,M.jsx)(ie,{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 r(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)(ve,{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(),s().then(()=>{Promise.all([a(),pe()]).catch(e=>{console.error(`[mini-chat-main] settings init failed:`,e)}),_e(),E(),fe()}).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)(ge,{children:(0,M.jsx)(_,{children:(0,M.jsx)(w,{children:(0,M.jsx)(T,{children:(0,M.jsx)(D,{children:(0,M.jsx)(ct,{apis:e})})})})})})}))}export{vt as renderElectronMiniChatApp};