@openchambery/web 1.18.2-beta.2 → 1.18.2-beta.21
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.
- package/dist/assets/{AgentAvatar-B2kZjgaf.js → AgentAvatar-B4fj9PIe.js} +1 -1
- package/dist/assets/{AssistantView-DvoyOGkx.js → AssistantView-C00aiEHK.js} +1 -1
- package/dist/assets/{ChatContainer-D6yfuigV.js → ChatContainer-BDFeDKu-.js} +39 -39
- package/dist/assets/{DiagramView-MGGo9iME.js → DiagramView-CUfSFI3e.js} +1 -1
- package/dist/assets/{FadeInOnReveal-aeWlaqVB.js → FadeInOnReveal-CKKU6fKI.js} +1 -1
- package/dist/assets/{Icon-AXqa-fYB.js → Icon-DiIuWOuC.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-jVOkZkyX.js → MarkdownRendererImpl-Cen6E9Lj.js} +2 -2
- package/dist/assets/{MobileDetailNavigation-Q2IzHqGA.js → MobileDetailNavigation-DILi0tN7.js} +1 -1
- package/dist/assets/{MobileShareBridge-apXM34Lb.js → MobileShareBridge-PZMRiieI.js} +1 -1
- package/dist/assets/MobileSurface-BLYcR0tO.js +2 -0
- package/dist/assets/{MultiRunWindow-B-l_O-bd.js → MultiRunWindow-D_2mWZyv.js} +1 -1
- package/dist/assets/{OnboardingScreen-CUsgwt4y.js → OnboardingScreen-CYeRZznl.js} +1 -1
- package/dist/assets/{OverlayScrollbar-D6NySAxi.js → OverlayScrollbar-BgMLtMIq.js} +1 -1
- package/dist/assets/SettingsView-CbDBfQp1.js +25 -0
- package/dist/assets/{SettingsWindow-DfVgTQ4I.js → SettingsWindow-Br7XLcSd.js} +1 -1
- package/dist/assets/{TerminalView-DNyjfkvT.js → TerminalView-CM5jRKlj.js} +1 -1
- package/dist/assets/{ToolOutputDialog-DLG1iThm.js → ToolOutputDialog-D3U6aTZ4.js} +1 -1
- package/dist/assets/appThemeRegistry-CDxBJNNB.js +2 -0
- package/dist/assets/assistant-guide-hero-BeUHQcxE.jpg +0 -0
- package/dist/assets/{button-CDvMVaiO.js → button-DaAoVF4X.js} +1 -1
- package/dist/assets/{clipboard-BW7nk_Cx.js → clipboard-BnElHSnO.js} +1 -1
- package/dist/assets/{collapsible-C2aamDvD.js → collapsible-BmuQu0dq.js} +1 -1
- package/dist/assets/{context-menu-BaxmodD8.js → context-menu-DBOMervd.js} +1 -1
- package/dist/assets/{desktopHosts-CBoBpJ1Z.js → desktopHosts-ZK_vkdzL.js} +1 -1
- package/dist/assets/{desktopRelayRestore-l2R9muux.js → desktopRelayRestore-CewM6-g5.js} +1 -1
- package/dist/assets/{diagram-CEon0BQs.js → diagram-DAE4CZy2.js} +1 -1
- package/dist/assets/{dialog-DjYfj1Sn.js → dialog-COrLBm9O.js} +1 -1
- package/dist/assets/{es-5Lhudh0n.js → es-DIVYdoxi.js} +1 -1
- package/dist/assets/{fileQueries-CE_DaZWQ.js → fileQueries-CmWYnRVz.js} +1 -1
- package/dist/assets/{fr-Q_UhFmKT.js → fr-CNTlVypq.js} +2 -2
- package/dist/assets/{gitApi-BYxg_qGJ.js → gitApi-BQT3QXD2.js} +1 -1
- package/dist/assets/gitApiHttp-BxGAFLTf.js +2 -0
- package/dist/assets/{input-k9DGGyZ6.js → input-XiL2-2gG.js} +1 -1
- package/dist/assets/insertionBoundaries-9a0RuIDc.js +1 -0
- package/dist/assets/{ja-CzMPz7bT.js → ja-C_eW5ZM8.js} +1 -1
- package/dist/assets/{ko-B-EslUsR.js → ko-CE3cOv7v.js} +1 -1
- package/dist/assets/{main-LDphyc-v.js → main-BGfX81Y9.js} +20 -20
- package/dist/assets/{main-CO6z5yRB.js → main-CEqSDnE2.js} +2 -2
- package/dist/assets/{markdown-worker-DkeWiER6.js → markdown-worker-BDyY0vt6.js} +1 -1
- package/dist/assets/{markdownTheme-DNT93i5L.js → markdownTheme-D-aLQZaM.js} +1 -1
- package/dist/assets/{miniChat-BZQwTZpx.js → miniChat-CKucSAhg.js} +2 -2
- package/dist/assets/mobile-C4bTWKry.js +2 -0
- package/dist/assets/{multirun-ZlwlkIy5.js → multirun-DeNtSkgb.js} +1 -1
- package/dist/assets/{persistence-DPNMIbF5.js → persistence-D1lIuyqO.js} +1 -1
- package/dist/assets/{pl-Dnea6Ppc.js → pl-BZKZOE99.js} +1 -1
- package/dist/assets/projectMeta-BunN9pH5.js +3 -0
- package/dist/assets/{pt-BR-Ca6QTem7.js → pt-BR-DHDgp8S3.js} +1 -1
- package/dist/assets/{radio-CJuhbQ5a.js → radio-Bziafaje.js} +1 -1
- package/dist/assets/renderElectronMiniChatApp-D8-FDgWE.js +2 -0
- package/dist/assets/renderMobileApp-CdU0aJ-e.js +23 -0
- package/dist/assets/{runtimeConfig-BtWi74Pm.js → runtimeConfig-BXCt7ZsQ.js} +1 -1
- package/dist/assets/runtimeEndpointReset-CK1GhIsm.js +145 -0
- package/dist/assets/{sortable-tabs-strip-D8JHUI0z.js → sortable-tabs-strip-pWlBorwQ.js} +1 -1
- package/dist/assets/src-8kQFmtjw.css +2 -0
- package/dist/assets/{store-wa1ersRf.js → store-CUWqzRt7.js} +2 -2
- package/dist/assets/{terminalApi-tB3qLcfa.js → terminalApi-DpiAJlil.js} +1 -1
- package/dist/assets/{tooltip-DMNR5rN0.js → tooltip-BLugzWq-.js} +1 -1
- package/dist/assets/{uk-xGc9Pzge.js → uk-CfQK6cz1.js} +1 -1
- package/dist/assets/{url-7MqoLs9X.js → url-DMs_PgIC.js} +1 -1
- package/dist/assets/useAppFontEffects-IEUQDvE8.js +7 -0
- package/dist/assets/useDesktopWindowControlsLayout-MlqJX89k.js +1 -0
- package/dist/assets/{useEffectiveDirectory-aUC3zzl_.js → useEffectiveDirectory-GbhkdO6m.js} +1 -1
- package/dist/assets/{useFontPreferences-CIurCeNv.js → useFontPreferences-92Qg-98H.js} +1 -1
- package/dist/assets/useMobileNavigationStore-DQHF_ETu.js +476 -0
- package/dist/assets/useSessionAutoCleanup-BuU_S_Sh.js +1 -0
- package/dist/assets/{useWorkerHighlightedLines-CiYQjBe6.js → useWorkerHighlightedLines-Ca6OgNHF.js} +1 -1
- package/dist/assets/{utils-Co19EJEL.js → utils-BxJEIWv5.js} +1 -1
- package/dist/assets/{zh-CN-sL4ktGB3.js → zh-CN-DvY2fKWp.js} +1 -1
- package/dist/assets/{zh-TW-Cfxps4gq.js → zh-TW-eWe0lm3-.js} +1 -1
- package/dist/index.html +8 -8
- package/dist/mini-chat.html +8 -8
- package/dist/mobile.html +8 -8
- package/package.json +1 -1
- package/server/index.d.ts +6 -0
- package/server/index.js +13 -0
- package/server/lib/config-sync/DOCUMENTATION.md +70 -0
- package/server/lib/config-sync/config-sync.test.js +197 -0
- package/server/lib/config-sync/constants.js +39 -0
- package/server/lib/config-sync/contract.js +130 -0
- package/server/lib/config-sync/credential-auth.js +39 -0
- package/server/lib/config-sync/engine.js +108 -0
- package/server/lib/config-sync/index.js +67 -0
- package/server/lib/config-sync/local-backup.js +171 -0
- package/server/lib/config-sync/plan.js +318 -0
- package/server/lib/config-sync/receiver.js +330 -0
- package/server/lib/config-sync/routes.js +141 -0
- package/server/lib/config-sync/routes.test.js +154 -0
- package/server/lib/config-sync/scripts.js +264 -0
- package/server/lib/config-sync/selections.js +112 -0
- package/server/lib/config-sync/tar.js +35 -0
- package/server/lib/config-sync/target-id.js +24 -0
- package/server/lib/event-stream/DOCUMENTATION.md +2 -2
- package/server/lib/event-stream/diff-summary.js +39 -11
- package/server/lib/event-stream/diff-summary.test.js +73 -6
- package/server/lib/event-stream/protocol.test.js +70 -7
- package/server/lib/notifications/DOCUMENTATION.md +2 -2
- package/server/lib/notifications/runtime.js +68 -27
- package/server/lib/notifications/runtime.test.js +176 -0
- package/server/lib/opencode/DOCUMENTATION.md +4 -1
- package/server/lib/opencode/bootstrap-runtime.js +2 -0
- package/server/lib/opencode/core-routes.js +1 -0
- package/server/lib/opencode/feature-routes-runtime.test.js +10 -1
- package/server/lib/opencode/openchamber-routes.js +7 -0
- package/server/lib/opencode/settings-runtime.js +82 -51
- package/server/lib/opencode/settings-runtime.test.js +42 -0
- package/server/lib/relay/DOCUMENTATION.md +1 -1
- package/server/lib/session-index/DOCUMENTATION.md +12 -6
- package/server/lib/session-index/routes.js +34 -0
- package/server/lib/session-index/routes.test.js +76 -0
- package/server/lib/session-index/service.js +53 -4
- package/server/lib/session-index/service.test.js +72 -2
- package/server/lib/session-title/DOCUMENTATION.md +19 -14
- package/server/lib/session-title/runtime.js +8 -8
- package/server/lib/session-title/runtime.test.js +231 -0
- package/server/lib/session-turn-pages/DOCUMENTATION.md +26 -6
- package/server/lib/session-turn-pages/changes.service.js +156 -0
- package/server/lib/session-turn-pages/changes.service.test.js +188 -0
- package/server/lib/session-turn-pages/reconcile.routes.test.js +52 -0
- package/server/lib/session-turn-pages/reconcile.service.js +3 -1
- package/server/lib/session-turn-pages/reconcile.service.test.js +44 -0
- package/server/lib/session-turn-pages/routes.js +273 -12
- package/server/lib/session-turn-pages/routes.test.js +387 -0
- package/server/lib/session-turn-pages/service.js +31 -7
- package/server/lib/session-turn-pages/service.test.js +40 -0
- package/server/lib/small-model/DOCUMENTATION.md +93 -38
- package/server/lib/small-model/catalog.js +10 -2
- package/server/lib/small-model/catalog.test.js +3 -1
- package/server/lib/small-model/index.js +52 -28
- package/server/lib/small-model/opencode-session.js +339 -0
- package/server/lib/small-model/opencode-session.test.js +177 -0
- package/server/lib/small-model/resolve.js +116 -5
- package/server/lib/small-model/resolve.test.js +76 -10
- package/server/lib/small-model/summary-settings.test.js +60 -3
- package/dist/assets/MobileSurface-htGkf7Ua.js +0 -2
- package/dist/assets/SettingsView-DxMpVLlt.js +0 -25
- package/dist/assets/appThemeRegistry-CgfOR_0L.js +0 -2
- package/dist/assets/gitApiHttp-D8j1qRH4.js +0 -2
- package/dist/assets/insertionBoundaries-DzXMTleb.js +0 -1
- package/dist/assets/mobile-BktO3_4R.js +0 -2
- package/dist/assets/projectMeta-v-LP2mzz.js +0 -3
- package/dist/assets/renderElectronMiniChatApp-Db8uO-6q.js +0 -2
- package/dist/assets/renderMobileApp-BCV81Ryl.js +0 -23
- package/dist/assets/runtimeEndpointReset-Dg3DMy9v.js +0 -145
- package/dist/assets/src-oHrYIqHF.css +0 -2
- package/dist/assets/useAppFontEffects-CM0VKsdo.js +0 -7
- package/dist/assets/useDesktopWindowControlsLayout-Cq-r4Hcb.js +0 -1
- package/dist/assets/useMobileNavigationStore-DnzT4jO2.js +0 -475
- package/dist/assets/useSessionAutoCleanup-DxZeceKO.js +0 -1
|
@@ -1 +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-DPNMIbF5.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 N}from"./vendor-codemirror-lang-markdown-WORgx6ZD.js";import{n as P}from"./vendor-codemirror-lang-python-Du6XQ8Zw.js";import{O as ee}from"./vendor-codemirror-legacy-modes-DuRAjNvB.js";import{n as F}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as te,r as ne}from"./clipboard-BW7nk_Cx.js";import{Ba as re,Ha as ie,Ji as I,qa as L,so as ae}from"./useMobileNavigationStore-DnzT4jO2.js";import{t as R}from"./AgentAvatar-B2kZjgaf.js";import{s as z,t as B}from"./utils-Co19EJEL.js";import{n as V}from"./Icon-AXqa-fYB.js";import{t as H}from"./button-CDvMVaiO.js";import{A as U,C as W,E as oe,O as G,T as K,k as se,w as q}from"./projectMeta-v-LP2mzz.js";import{t as ce}from"./input-k9DGGyZ6.js";import{t as le}from"./useThemeSystem-DMzWVJaW.js";import{i as ue}from"./OverlayScrollbar-D6NySAxi.js";import{t as de}from"./vendor-codemirror-language-data-BfYFhIH1.js";var J=e(y(),1),Y=v(),fe=[.2,.45,.15,.55,.35,.1,.5,.25,.4,.3,.45,.15,.55,.2,.35,.1],pe=[.3,.15,.45,.25,.5,.35,.1,.4,.2,.55,.3,.15,.45,.25,.4,.2],me=(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},he=({className:e=``,width:t=70,height:n=70,isAnimated:r=!1})=>{let{t:i}=te(),a=le(),o=!0;a?o=a.currentTheme.metadata.variant!==`light`:typeof window<`u`&&(o=window.matchMedia(`(prefers-color-scheme: dark)`).matches);let s=(0,J.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,J.useMemo)(()=>typeof window>`u`||typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`color`,`color-mix(in srgb, white 50%, transparent)`),[]),l=(0,J.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,J.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=me(h,_,b,v),C=me(_,g,y,b);return(0,Y.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,Y.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,Y.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,Y.jsx)(`path`,{d:e.path,fill:u,opacity:fe[e.row*4+(3-e.col)]??.35},`left-${t}`)),(0,Y.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,Y.jsx)(`path`,{d:e.path,fill:u,opacity:pe[e.row*4+e.col]??.35},`right-${t}`)),(0,Y.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,Y.jsx)(`g`,{opacity:1,className:r?`oc-logo-glow`:void 0,style:r?{"--oc-glow-color":s}:void 0,children:(0,Y.jsxs)(`g`,{transform:`${x} scale(0.75)`,children:[(0,Y.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,Y.jsx)(`path`,{d:`M-8 -4 L8 -4 L8 12 L-8 12 Z`,fill:d,fillOpacity:`0.4`})]})})]})},X=x(),ge=e(b(),1),Z=0,_e=()=>{Z=Date.now()+800},Q=()=>Date.now()<Z,ve=`__unassigned__`,ye={mod:`mod`,shift:`shift`,alt:`alt`,option:`alt`,ctrl:`ctrl`,meta:`mod`,cmd:`mod`,command:`mod`},be={mod:z()&&r()?`⌘`:`Ctrl`,shift:`⇧`,alt:`⌥`,option:`⌥`,ctrl:`⌃`},xe={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:`-`,"-":`-`},Se=[`mod`,`ctrl`,`shift`,`alt`],Ce={"{":`[`,"}":`]`,":":`;`,'"':`'`,"<":`,`,">":`.`,"?":`/`,"|":`\\`,"~":"`","!":`1`,"@":`2`,"#":`3`,$:`4`,"%":`5`,"^":`6`,"&":`7`,"*":`8`,"(":`9`,")":`0`};function we(e){return e.trim().toLowerCase()===ve}function Te(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`:Ce[t]??t}var Ee=[{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 De(e){if(we(e))return ve;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=ye[t];if(i){n.add(i);continue}r=t}return[...Se.filter(e=>n.has(e)),r].filter(Boolean).join(`+`)}function Oe(e){return we(e)?!0:ke(e).key.trim().length>0}function ke(e){if(we(e))return{modifiers:new Set,key:ve};let t=De(e).split(`+`),n=new Set,r=``;for(let e of t){let t=ye[e];t?n.add(t):r=e}return{modifiers:n,key:r}}function Ae(e){if(we(e))return`Unassigned`;let t=ke(e);if(!t.key&&t.modifiers.size===0)return`Unassigned`;let n=[];for(let e of Se)t.modifiers.has(e)&&n.push(be[e]);if(t.key){let e=xe[t.key.toLowerCase()]||t.key.toUpperCase();n.push(e)}return n.join(` + `)}function je(e){return Ee.find(t=>t.id===e)}function Me(){return Ee.filter(e=>e.customizable===!0)}function Ne(e,t){let n=je(e);if(!n)return``;let r=t?.[e];if(typeof r==`string`){if(r.trim().toLowerCase()===`__unassigned__`)return``;let e=De(r);if(e===`__unassigned__`)return ve;if(Oe(e))return e}return n.defaultCombo}function Pe(e,t){let n=je(e);if(!n)return[];let r=Ne(e,t);return r===n.defaultCombo?[n.defaultCombo,...n.defaultAliases??[]]:r?[r]:[]}function Fe(e){if(we(e))return!1;let t=ke(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 Ie(e,t){let n=typeof t==`string`?t:t.defaultCombo;if(we(n))return!1;let i=ke(n),a=i.modifiers.has(`mod`),o=i.modifiers.has(`shift`),s=i.modifiers.has(`alt`),c=i.modifiers.has(`ctrl`),l=z()&&r(),u=z(),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))),Te(f)===Te(i.key)}function Le(){return z()&&r()?`⌘`:`Ctrl`}function Re(e,t,n){if(Ie(e,n))return!0;let i=De(n),a=z()&&r(),o=z();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 ze=`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)]`,Be=`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`,Ve=`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`,He=`bg-border -mx-1 my-0.5 h-px`,Ue=J.createContext(null),We=e=>e?e.closest(`[data-slot="dialog-content"], [role="dialog"]`):null;function Ge(e,t){return e&&J.isValidElement(t)?{render:t}:{children:t}}function Ke(e){let t=(0,X.c)(9),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let[r,i]=J.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,Y.jsx)(_,{...n}),t[4]=n,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,Y.jsx)(Ue.Provider,{value:o,children:s}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function qe(e){let t=(0,X.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=J.useContext(Ue),c;t[6]===s?c=t[7]:(c=e=>{if(!s)return;let t=e instanceof HTMLElement?e:null;s.setPortalContainer(We(t))},t[6]=s,t[7]=c);let u=c,d;t[8]!==n||t[9]!==r?(d=Ge(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,Y.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 Je(e){let t=(0,X.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=J.useContext(Ue),w=y?void 0:C?.portalContainer||void 0,T;t[16]===s?T=t[17]:(T=B(`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=B(ze,o),t[20]=o,t[21]=D);let O;t[22]!==a||t[23]!==c||t[24]!==E||t[25]!==D?(O=(0,Y.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,Y.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,Y.jsx)(h,{container:w,children:k}),t[37]=k,t[38]=w,t[39]=A):A=t[39],A}function Ye(e){let t=(0,X.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=Ge(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=B(Be,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,Y.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 Xe(e){let t=(0,X.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,Y.jsx)(p,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function Ze(e){let t=(0,X.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=B(`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,Y.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-3.5 items-center justify-center text-primary`,children:(0,Y.jsx)(c,{children:(0,Y.jsx)(V,{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,Y.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 Qe(e){let t=(0,X.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=B(`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,Y.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 $e(e){let t=(0,X.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=B(He,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Y.jsx)(u,{"data-slot":`dropdown-menu-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var et=(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)))]`},tt=e=>Math.min(1,Math.max(0,Number.isFinite(e)?e:0)),nt=(e,t,n)=>{let r=Number.isFinite(t)&&t>0?t:1,i=Math.max(0,Number.isFinite(e)?e:0)/r,a=tt(n[0]??1),o=Math.abs(i-a);for(let e=1;e<n.length;e+=1){let t=tt(n[e]??a),r=Math.abs(i-t);r<o&&(a=t,o=r)}return a},rt=(e,t)=>{let n=tt(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)`}},it=(e,t)=>{let n=tt(t);return e===`present`?n:1-n},at=(e,t)=>e===`present`?+(t===`commit`):t===`commit`?0:1,ot=e=>+!!e,st=.72,$=.98,ct=[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*$,Math.max(n?0:t*st,e)),ht=(e,t)=>{let n=Math.max(1,e)*st;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)*$;return Math.abs(e-r)<=Math.abs(e-i)?st:$},_t=({initialSnapPoint:e=st,fitContent:t=!1,onDismiss:n,dismissThresholdPx:r=dt}={})=>{let i=J.useRef(null),a=J.useRef(null),o=J.useRef(null),s=J.useRef(null),c=J.useRef(null),l=J.useRef(null),u=J.useRef(!1),[d,f]=J.useState(e),p=J.useRef(e),m=J.useRef(n);m.current=n;let h=J.useCallback(()=>{o.current!==null&&window.cancelAnimationFrame(o.current),o.current=null},[]),g=J.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()*$;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]),_=J.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=J.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=J.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):nt(u,o.viewportHeight,ct);g(d,u),e.preventDefault()},[h,r,t,g]),b=J.useCallback(()=>{if(u.current){u.current=!1;return}g(p.current===.98?st:$)},[g]),x=J.useCallback(e=>{let t=null;(e.key===`ArrowUp`||e.key===`Home`)&&(t=$),(e.key===`ArrowDown`||e.key===`End`)&&(t=st),(e.key===`Enter`||e.key===` `)&&(t=p.current===.98?st:$),t!==null&&(e.preventDefault(),g(t))},[g]),S=J.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 J.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,X.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,Y.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,Y.jsx)(`div`,{"data-mobile-sheet-snap-handle":!0,role:`separator`,tabIndex:0,"aria-label":r,"aria-orientation":`horizontal`,"aria-valuemin":st*100,"aria-valuemax":$*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=J.useRef(e),n=J.useRef(null),r=J.useRef(null);return t.current=e,J.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=J.useRef(null),h=J.useRef(null),g=J.useRef(null),_=J.useRef(t),v=J.useRef(n),y=J.useRef(f),b=J.useRef(0),x=J.useRef(0),S=J.useRef(null),C=J.useRef(null),w=J.useRef([]),T=J.useRef(null),E=J.useRef(`standard`),D=J.useRef(`present`),O=J.useRef(0),k=J.useRef(!1),A=J.useRef(t),j=J.useRef(!1),M=J.useRef(t),N=J.useRef(null),[P,ee]=J.useState(t),[F,te]=J.useState(t),[ne,re]=J.useState(`standard`),[ie,I]=J.useState(!1),L=ne===`interactive-present`,ae=J.useSyncExternalStore(wt.subscribe,wt.getSnapshot,wt.getSnapshot),R=F&&!L&&ae===e,z=Ut({motionId:e,edge:a,disabled:!d,...typeof d==`object`?d:{}}),V=J.useCallback(e=>{g.current=e,z(e),typeof u==`function`?u(e):u&&typeof u==`object`&&(u.current=e)},[z,u]),H=J.useCallback(()=>{M.current&&(M.current=!1,te(!1),r||ee(!1),y.current?.())},[r]);_.current=t,v.current=n,y.current=f,typeof document<`u`&&!m.current&&(m.current=Yt());let U=J.useCallback(e=>{let t=rt(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]),W=J.useCallback(()=>{S.current!==null&&window.cancelAnimationFrame(S.current),S.current=null},[]),oe=J.useCallback(()=>{C.current!==null&&window.cancelAnimationFrame(C.current),C.current=null},[]),G=J.useCallback(()=>{h.current&&(h.current.style.willChange=``),g.current&&(g.current.style.willChange=``)},[]),K=J.useCallback((e=w.current)=>{for(let t of e)t.cancel();w.current=[]},[]),se=J.useCallback(()=>{W();let e=T.current;if(e){let t=e.animations[1]?.effect?.getComputedTiming().progress;U(typeof t==`number`&&Number.isFinite(t)?e.from+(e.target-e.from)*t:b.current),K(e.animations),T.current=null}else K();G(),I(!1)},[U,K,W,G]),q=J.useCallback((e,t)=>{if(T.current?.target===e)return;se();let n=b.current,r=h.current,i=g.current;if(I(!0),!r||!i||Xt()||n===e){U(e),G(),I(!1),t?.();return}let o=rt(a,n),s=rt(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&&(U(e),K(l),T.current=null,G(),I(!1),t?.())})},[U,K,G,a,se]);if(J.useLayoutEffect(()=>{j.current=P,P&&U(x.current)},[U,P]),J.useLayoutEffect(()=>{M.current=F},[F]),J.useEffect(()=>{oe(),t&&!j.current&&(x.current=b.current,ee(!0)),t&&!M.current&&(M.current=!0,te(!0)),j.current&&E.current===`standard`&&q(ot(t),()=>{!_.current&&E.current===`standard`&&H()})},[oe,H,t,q]),J.useLayoutEffect(()=>{!P||E.current!==`standard`||C.current!==null||q(+!!t,()=>{!_.current&&E.current===`standard`&&H()})},[H,P,t,q]),J.useEffect(()=>{if(!(!F||L))return window.dispatchEvent(new Event(`oc:mobile-overlay-opened`)),()=>{window.dispatchEvent(new Event(`oc:mobile-overlay-closed`))}},[F,L]),J.useEffect(()=>{if(!(!F||L))return wt.add({id:e,onClose:()=>v.current(!1)},document.body)},[F,e,L]),J.useEffect(()=>{if(!F||L||!R)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),Q()||t?.focus({preventScroll:!0})}},[F,L,R]),N.current={begin:e=>{if(e===`dismiss`&&(!M.current||E.current===`interactive-present`))return!1;oe(),se(),O.current+=1,k.current=!0,D.current=e;let t=e===`present`?`interactive-present`:`interactive-dismiss`;return E.current=t,re(t),I(!0),e===`present`&&(x.current=b.current,M.current=!0,te(!0),ee(!0)),!0},update:e=>{k.current&&(x.current=it(D.current,e),S.current===null&&(S.current=window.requestAnimationFrame(()=>{S.current=null,k.current&&U(x.current)})))},finish:e=>{if(!k.current)return;k.current=!1;let t=O.current,n=D.current,r=at(n,e);S.current!==null&&(W(),U(x.current)),q(r,()=>{t===O.current&&(e===`commit`&&v.current(n===`present`),n===`present`&&e===`cancel`&&!_.current&&H(),E.current=`standard`,re(`standard`),C.current=window.requestAnimationFrame(()=>{if(C.current=null,t!==O.current)return;let e=ot(_.current);q(e,()=>{t===O.current&&!_.current&&H()})}))})},interrupt:()=>{oe(),O.current+=1,k.current=!1;let e=E.current===`interactive-present`&&!_.current;e||(E.current=`standard`,re(`standard`)),se(),q(ot(_.current),()=>{_.current||H(),e&&(E.current=`standard`,re(`standard`))})}},J.useLayoutEffect(()=>{let e=A.current;A.current=t,e&&!t&&E.current!==`standard`&&N.current?.interrupt()},[t]),J.useEffect(()=>{let t=Ot(e,{begin:e=>N.current?.begin(e)??!1,update:e=>N.current?.update(e),finish:e=>N.current?.finish(e),interrupt:()=>N.current?.interrupt()});return()=>{t(),oe(),W(),K(),T.current=null,G(),N.current=null}},[K,W,oe,G,e]),!P||!m.current)return null;let ce=(0,Y.jsx)(`div`,{ref:h,className:B(`oc-mobile-window-motion oc-keyboard-inset-surface fixed inset-0 z-[60] flex flex-col bg-[rgb(0_0_0_/_0.45)]`,ie&&`oc-mobile-window-motion-active`,!F&&!L&&`pointer-events-none invisible`,c,s),"data-mobile-overlay-active":String(F),role:L?void 0:`dialog`,"aria-label":L?void 0:p,"aria-modal":F&&R?`true`:void 0,"aria-hidden":L||!F||!R||void 0,inert:L||!F||!R||void 0,onPointerDown:St,onClick:e=>{!F||L||!R||Ct(e)&&v.current(!1)},children:(0,Y.jsx)(`div`,{ref:V,tabIndex:-1,className:B(`oc-mobile-floating-shell`,et(i,a),l),style:{contain:`layout paint style`},onClick:e=>e.stopPropagation(),children:o})});return(0,ge.createPortal)(ce,m.current)},Qt=e=>{let t=(0,X.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?$: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,Y.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,Y.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-4 pb-2`,children:[o?(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center`,children:o}):null,(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:a}),s?(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:s}):null,(0,Y.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>i(!1),"aria-label":l,className:`shrink-0 text-muted-foreground`,style:{touchAction:`manipulation`},children:(0,Y.jsx)(V,{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,Y.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=B(`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,Y.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,Y.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,Y.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,X.c)(5),t=I(rn),n=I(nn),r=I(tn),i=I(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,X.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}=te(),{isReady:p,isUnavailable:m}=$t(),h=I(on),g=L(sn),_=I(cn),{data:v}=ae(),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=ie(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}=ue(),D=T||E,[O,k]=J.useState(!1),A;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{k(!0),I.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:mobilePanel`})},t[5]=A):A=t[5];let j=F(A),M=F(un),N=J.useId(),P,ee;t[6]!==l||t[7]!==g||t[8]!==_||t[9]!==S.length?(P=()=>{l||S.length>0||(_(),g())},ee=[l,S.length,_,g],t[6]=l,t[7]=g,t[8]=_,t[9]=S.length,t[10]=P,t[11]=ee):(P=t[10],ee=t[11]),J.useEffect(P,ee);let ne;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>k(!1),t[12]=ne):ne=t[12];let re=ne,z;t[13]===i?z=t[14]:(z=e=>{i(e)},t[13]=i,t[14]=z);let H=z,W;t[15]!==r||t[16]!==w||t[17]!==H||t[18]!==D||t[19]!==O||t[20]!==N||t[21]!==f?(W=()=>D?(0,Y.jsx)(Qt,{id:`mobile-agent-selector-sheet-${N}`,open:O,onOpenChange:e=>{e||re()},ariaLabel:f(`settings.commands.agentSelector.title`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),bodyClassName:`px-2`,children:(0,Y.jsxs)(U,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`flex flex-col gap-1 overscroll-contain`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:B(`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:()=>{H(``),re()},children:[(0,Y.jsx)(R,{name:`default`,size:16}),(0,Y.jsx)(`span`,{className:B(`min-w-0 typography-meta`,r?`text-muted-foreground`:`font-medium`),children:f(`settings.commands.agentSelector.notSelected`)}),!r&&(0,Y.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-primary`})]}),w.map(e=>{let t=e.name===r;return(0,Y.jsxs)(`button`,{type:`button`,className:B(`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:()=>{H(e.name),re()},children:[(0,Y.jsx)(R,{name:e.name,size:16,className:`mt-1.5`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`typography-meta font-medium`,children:e.name}),e.description&&(0,Y.jsx)(`span`,{className:`mt-0.5 block whitespace-normal break-words typography-micro text-muted-foreground`,children:e.description})]}),t&&(0,Y.jsx)(`div`,{className:`mt-2 h-2 w-2 rounded-full bg-primary`})]},e.name)})]})}):null,t[15]=r,t[16]=w,t[17]=H,t[18]=D,t[19]=O,t[20]=N,t[21]=f,t[22]=W):W=t[22];let oe=W,G;t[23]!==r||t[24]!==w||t[25]!==a||t[26]!==u||t[27]!==H||t[28]!==M||t[29]!==D||t[30]!==p||t[31]!==m||t[32]!==j||t[33]!==d||t[34]!==f?(G=D?(0,Y.jsxs)(`button`,{type:`button`,onClick:p?j:void 0,disabled:!p,className:B(`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,Y.jsx)(`div`,{className:`flex items-center gap-2`,children:p?(0,Y.jsxs)(Y.Fragment,{children:[d?(0,Y.jsx)(R,{name:r||`default`,size:14}):null,(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:r||f(`settings.commands.agentSelector.selectAgentPlaceholder`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:f(m?`common.unavailable`:`common.loading`)})]})}),(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 text-muted-foreground`})]}):p?(0,Y.jsxs)(Ke,{onOpenChange:M,children:[(0,Y.jsx)(qe,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:B(`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,Y.jsx)(R,{name:r||`default`,size:14}):null,(0,Y.jsx)(`span`,{className:`typography-micro font-medium whitespace-nowrap`,children:r||f(`settings.commands.agentSelector.notSelected`)}),(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`})]})}),(0,Y.jsxs)(Je,{className:`max-w-[300px]`,portalToBody:u,children:[(0,Y.jsxs)(Ye,{className:`typography-meta`,onSelect:()=>H(``),children:[(0,Y.jsx)(R,{name:`default`,size:14}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:f(`settings.commands.agentSelector.notSelected`)})]}),w.map(e=>(0,Y.jsxs)(Ye,{className:`typography-meta`,onSelect:()=>H(e.name),children:[(0,Y.jsx)(R,{name:e.name,size:14}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.name})]},e.name))]})]}):(0,Y.jsxs)(`div`,{className:B(`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,Y.jsx)(V,{name:`loader-4`,className:`h-3 w-3 animate-spin text-muted-foreground flex-shrink-0`}),(0,Y.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]=H,t[28]=M,t[29]=D,t[30]=p,t[31]=m,t[32]=j,t[33]=d,t[34]=f,t[35]=G):G=t[35];let K;t[36]===oe?K=t[37]:(K=oe(),t[36]=oe,t[37]=K);let se;return t[38]!==G||t[39]!==K?(se=(0,Y.jsxs)(Y.Fragment,{children:[G,K]}),t[38]=G,t[39]=K,t[40]=se):se=t[40],se};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&&I.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:desktopMenu`})}var dn=8,fn=e=>typeof e!=`number`||Number.isNaN(e)?``:new Intl.NumberFormat(ne(),{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,X.c)(159),{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}=te(),T=J.useId(),[E,D]=J.useState(``),O;t[2]===i?O=t[3]:(O=()=>new Set(i?[i]:[]),t[2]=i,t[3]=O);let[k,A]=J.useState(O),[j,M]=J.useState(null),[N,P]=J.useState(`model`),[ee,F]=J.useState(null),ne=J.useRef(!1),ie=y??N,I,L;t[4]!==n||t[5]!==i?(I=()=>{n&&!ne.current&&A(new Set(i?[i]:[])),n||(D(``),M(null),P(`model`),F(null)),ne.current=n},L=[n,i],t[4]=n,t[5]=i,t[6]=I,t[7]=L):(I=t[6],L=t[7]),J.useEffect(I,L);let ae;t[8]===b?ae=t[9]:(ae=e=>{P(e),b?.(e)},t[8]=b,t[9]=ae);let R=ae,z;t[10]===f?z=t[11]:(z=f&&f.length>0?new Set(f):null,t[10]=f,t[11]=z);let W=z,G;t[12]===p?G=t[13]:(G=p?new Map(Object.entries(p).map(hn)):null,t[12]=p,t[13]=G);let le=G,ue;t[14]===S?ue=t[15]:(ue=new Set(S.map(gn)),t[14]=S,t[15]=ue);let de=ue,fe;t[16]===c?fe=t[17]:(fe=new Map(c.map(_n)),t[16]=c,t[17]=fe);let pe=fe,me;bb0:{if(!m?.length){me=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];me=r}let he=me,ge;t[25]!==le||t[26]!==W||t[27]!==de?(ge=(e,t)=>W&&!W.has(e)||le&&le.get(e)?.has(t)!==!0?!1:!de.has(`${e}:${t}`),t[25]=le,t[26]=W,t[27]=de,t[28]=ge):ge=t[28];let Z=ge,_e;t[29]!==pe||t[30]!==E?(_e=e=>{let t=E.trim();if(!t)return!0;let n=pe.get(e.providerID)?.name||e.providerID,r=re(e.model,e.modelID,{maxLength:40});return q(r,t)||q(e.modelID,t)||q(n,t)},t[29]=pe,t[30]=E,t[31]=_e):_e=t[31];let Q=_e,ve;if(t[32]!==l||t[33]!==Z||t[34]!==Q){let e;t[36]!==Z||t[37]!==Q?(e=e=>Z(e.providerID,e.modelID)&&Q(e),t[36]=Z,t[37]=Q,t[38]=e):e=t[38],ve=l.filter(e),t[32]=l,t[33]=Z,t[34]=Q,t[35]=ve}else ve=t[35];let ye=ve,be;if(t[39]!==Z||t[40]!==Q||t[41]!==u){let e;t[43]!==Z||t[44]!==Q?(e=e=>Z(e.providerID,e.modelID)&&Q(e),t[43]=Z,t[44]=Q,t[45]=e):e=t[45],be=u.filter(e),t[39]=Z,t[40]=Q,t[41]=u,t[42]=be}else be=t[42];let xe=be,Se;if(t[46]!==W||t[47]!==Z||t[48]!==he||t[49]!==E){let e;t[51]===W?e=t[52]:(e=e=>!W||W.has(e.id),t[51]=W,t[52]=e);let n;t[53]!==Z||t[54]!==E?(n=e=>{let t=E.trim().length>0&&(q(e.name||e.id,E.trim())||q(e.id,E.trim()));return{provider:e,models:(e.models??[]).filter(n=>{let r=typeof n.id==`string`?n.id:``;return!r||!Z(e.id,r)?!1:t||!E.trim()?!0:q(re(n,r,{maxLength:40}),E.trim())||q(r,E.trim())})}},t[53]=Z,t[54]=E,t[55]=n):n=t[55],Se=he.filter(e).map(n).filter(yn),t[46]=W,t[47]=Z,t[48]=he,t[49]=E,t[50]=Se}else Se=t[50];let Ce=Se,we;t[56]===w?we=t[57]:(we=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]=we);let Te=we,Ee;t[58]===w?Ee=t[59]:(Ee=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]=Ee);let De=Ee,Oe;t[60]===R?Oe=t[61]:(Oe=(e,t)=>{F({providerID:e,modelID:t}),R(`variant`)},t[60]=R,t[61]=Oe);let ke=Oe,Ae;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Ae={onPointerDown:bt,onClickCapture:bn},t[62]=Ae):Ae=t[62];let je=Ae,Me;t[63]!==j||t[64]!==Te||t[65]!==v||t[66]!==De||t[67]!==g||t[68]!==s||t[69]!==_||t[70]!==ke||t[71]!==c||t[72]!==o||t[73]!==a||t[74]!==i||t[75]!==w||t[76]!==C?(Me=e=>{let{model:t,providerID:n,modelID:r}=e,l=`${n}:${r}`,u=n===i&&r===a,d=K(n,t,v?.(n,r)),f=C?pn(c,n,r):[],p=o(n,r),m=[void 0,...f].slice(0,dn),h=j===l,y=De(d),b=d?.limit?.context?`${fn(d.limit.context)} ctx`:null;return(0,Y.jsxs)(`div`,{className:B(`border-b border-border/30 last:border-b-0`,u&&`bg-interactive-selection/15 text-interactive-selection-foreground`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5`,children:[(0,Y.jsx)(`button`,{type:`button`,...je,onClick:()=>s(n,r,p),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,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,Y.jsx)(se,{modelId:r,providerId:n,className:`size-3.5 flex-shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate typography-meta font-medium text-foreground`,children:re(t,r,{maxLength:40})}),u?(0,Y.jsx)(V,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]}),b||y.length>0?(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden typography-micro text-muted-foreground`,children:[b?(0,Y.jsx)(`span`,{className:`flex-shrink-0 whitespace-nowrap`,children:b}):null,b&&y.length>0?(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px flex-shrink-0 bg-border/50`}):null,(0,Y.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden whitespace-nowrap pl-0.5`,children:y.map(e=>{let{key:t,icon:n,label:r}=e;return(0,Y.jsx)(`span`,{className:`flex size-4 flex-shrink-0 items-center justify-center text-muted-foreground`,title:r,"aria-label":r,children:(0,Y.jsx)(V,{name:n,className:`size-3`})},`${l}-${t}`)})})]}):null]})}),f.length>0?(0,Y.jsxs)(`button`,{type:`button`,...je,onClick:()=>M(e=>e===l?null:l),className:`flex flex-shrink-0 items-center gap-0.5 typography-micro font-medium text-muted-foreground hover:text-foreground`,"aria-expanded":h,"aria-label":w(h?`chat.modelControls.hideThinkingModes`:`chat.modelControls.showThinkingModes`),children:[(0,Y.jsx)(`span`,{className:`whitespace-nowrap`,children:Te(p)}),(0,Y.jsx)(V,{name:h?`arrow-down-s`:`arrow-right-s`,className:`size-3.5`})]}):null,(0,Y.jsx)(`button`,{type:`button`,...je,onClick:e=>{e.preventDefault(),e.stopPropagation(),_(n,r)},className:B(`model-favorite-button flex size-5 flex-shrink-0 items-center justify-center hover:text-primary/80`,g(n,r)?`text-primary`:`text-muted-foreground`),"aria-label":g(n,r)?w(`chat.modelControls.unfavoriteAria`):w(`chat.modelControls.favoriteAria`),title:g(n,r)?w(`chat.modelControls.removeFromFavorites`):w(`chat.modelControls.addToFavorites`),children:(0,Y.jsx)(V,{name:g(n,r)?`star-fill`:`star`,className:`size-4`})})]}),h&&f.length>0?(0,Y.jsx)(`div`,{className:`border-t border-border/30 p-2`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[m.map(e=>{let t=e===p||!e&&!p;return(0,Y.jsx)(`button`,{type:`button`,...je,onClick:()=>s(n,r,e),className:B(`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:Te(e)},`${l}-${e??`default`}`)}),m.length<f.length+1?(0,Y.jsx)(`button`,{type:`button`,...je,onClick:()=>ke(n,r),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-${l}`)},t[63]=j,t[64]=Te,t[65]=v,t[66]=De,t[67]=g,t[68]=s,t[69]=_,t[70]=ke,t[71]=c,t[72]=o,t[73]=a,t[74]=i,t[75]=w,t[76]=C,t[77]=Me):Me=t[77];let Ne=Me,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe;if(t[78]!==ie||t[79]!==k||t[80]!==ye||t[81]!==Ce||t[82]!==xe||t[83]!==Te||t[84]!==T||t[85]!==r||t[86]!==s||t[87]!==n||t[88]!==c||t[89]!==E||t[90]!==Ne||t[91]!==o||t[92]!==a||t[93]!==i||t[94]!==R||t[95]!==w||t[96]!==ee){let e=ee??(ie===`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=ye.length>0||xe.length>0||Ce.length>0,f=ie===`variant`&&!!e;Fe=Qt,Ge=`mobile-model-picker-sheet-${T}`,Ke=n,t[116]===r?qe=t[117]:(qe=e=>{e||r()},t[116]=r,t[117]=qe),t[118]!==f||t[119]!==R||t[120]!==w?(Je=f?(0,Y.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>R(`model`),"aria-label":w(`onboarding.common.actions.back`),children:(0,Y.jsx)(V,{name:`arrow-left`,className:`size-5`})}):void 0,t[118]=f,t[119]=R,t[120]=w,t[121]=Je):Je=t[121],t[122]!==f||t[123]!==w?(Ye=w(f?`chat.modelControls.thinking`:`chat.modelControls.selectModel`),t[122]=f,t[123]=w,t[124]=Ye):Ye=t[124],t[125]===w?Xe=t[126]:(Xe=w(`mobile.surface.closeAria`),t[125]=w,t[126]=Xe),t[127]===w?Ze=t[128]:(Ze=w(`mobile.sessions.sheet.resizeAria`),t[127]=w,t[128]=Ze),Qe=`px-2`,Ue=`flex min-h-0 flex-1 flex-col gap-2`,t[129]!==f||t[130]!==E||t[131]!==w?(We=f?null:(0,Y.jsxs)(`div`,{className:`relative z-10 shrink-0`,"data-mobile-sheet-no-dismiss":``,"data-mobile-sheet-search":``,children:[(0,Y.jsx)(V,{name:`search`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,Y.jsx)(ce,{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,Y.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,Y.jsx)(V,{name:`close-circle`,className:`size-4`})}):null]}),t[129]=f,t[130]=E,t[131]=w,t[132]=We):We=t[132],Pe=U,Re=!0,ze=!0,Be=!0,Ve=`min-h-0 flex-1`,He=`overscroll-contain`,Ie=`flex flex-col gap-2`,Le=f&&e?(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:[void 0,...l].map(t=>{let n=t===u||!t&&!u;return(0,Y.jsxs)(`button`,{type:`button`,className:B(`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`),...je,onClick:()=>s(e.providerID,e.modelID,t),children:[(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Te(t)}),n?(0,Y.jsx)(V,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]},t??`default`)})}):(0,Y.jsxs)(Y.Fragment,{children:[d?null:(0,Y.jsx)(`div`,{className:`px-3 py-8 text-center typography-meta text-muted-foreground`,children:w(`chat.modelControls.noProvidersOrModelsFound`)}),ye.length>0?(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,Y.jsx)(V,{name:`star-fill`,className:`mr-1.5 inline-block size-3 text-primary`}),w(`chat.modelControls.favorites`)]}),(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:ye.map(Ne)})]}):null,xe.length>0?(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,Y.jsx)(V,{name:`time`,className:`mr-1.5 inline-block size-3`}),w(`chat.modelControls.recent`)]}),(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:xe.map(Ne)})]}):null,Ce.map(e=>{let{provider:t,models:n}=e,r=k.has(t.id)||E.trim().length>0;return(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`button`,{type:`button`,...je,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,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(oe,{providerId:t.id,className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:t.name||t.id}),t.id===i?(0,Y.jsx)(`span`,{className:`typography-micro text-primary/80`,children:w(`chat.modelControls.current`)}):null]}),(0,Y.jsx)(V,{name:r?`arrow-down-s`:`arrow-right-s`,className:`size-3 text-muted-foreground`})]}),r?(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:n.map(e=>Ne({model:e,providerID:t.id,modelID:e.id}))}):null]},t.id)})]}),t[78]=ie,t[79]=k,t[80]=ye,t[81]=Ce,t[82]=xe,t[83]=Te,t[84]=T,t[85]=r,t[86]=s,t[87]=n,t[88]=c,t[89]=E,t[90]=Ne,t[91]=o,t[92]=a,t[93]=i,t[94]=R,t[95]=w,t[96]=ee,t[97]=Pe,t[98]=Fe,t[99]=Ie,t[100]=Le,t[101]=Re,t[102]=ze,t[103]=Be,t[104]=Ve,t[105]=He,t[106]=Ue,t[107]=We,t[108]=Ge,t[109]=Ke,t[110]=qe,t[111]=Je,t[112]=Ye,t[113]=Xe,t[114]=Ze,t[115]=Qe}else Pe=t[97],Fe=t[98],Ie=t[99],Le=t[100],Re=t[101],ze=t[102],Be=t[103],Ve=t[104],He=t[105],Ue=t[106],We=t[107],Ge=t[108],Ke=t[109],qe=t[110],Je=t[111],Ye=t[112],Xe=t[113],Ze=t[114],Qe=t[115];let $e;t[133]!==Ie||t[134]!==Le?($e=(0,Y.jsx)(`div`,{className:Ie,children:Le}),t[133]=Ie,t[134]=Le,t[135]=$e):$e=t[135];let et;t[136]!==Pe||t[137]!==Re||t[138]!==ze||t[139]!==Be||t[140]!==Ve||t[141]!==He||t[142]!==$e?(et=(0,Y.jsx)(Pe,{useScrollShadow:Re,disableHorizontal:ze,preventOverscroll:Be,outerClassName:Ve,className:He,children:$e}),t[136]=Pe,t[137]=Re,t[138]=ze,t[139]=Be,t[140]=Ve,t[141]=He,t[142]=$e,t[143]=et):et=t[143];let tt;t[144]!==Ue||t[145]!==We||t[146]!==et?(tt=(0,Y.jsxs)(`div`,{className:Ue,children:[We,et]}),t[144]=Ue,t[145]=We,t[146]=et,t[147]=tt):tt=t[147];let nt;return t[148]!==Fe||t[149]!==Ge||t[150]!==Ke||t[151]!==qe||t[152]!==Je||t[153]!==Ye||t[154]!==Xe||t[155]!==Ze||t[156]!==Qe||t[157]!==tt?(nt=(0,Y.jsx)(Fe,{id:Ge,open:Ke,onOpenChange:qe,leading:Je,ariaLabel:Ye,closeAriaLabel:Xe,resizeAriaLabel:Ze,bodyClassName:Qe,children:tt}),t[148]=Fe,t[149]=Ge,t[150]=Ke,t[151]=qe,t[152]=Je,t[153]=Ye,t[154]=Xe,t[155]=Ze,t[156]=Qe,t[157]=tt,t[158]=nt):nt=t[158],nt};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,X.c)(203),{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}=te(),{isReady:y,isUnavailable:b}=$t(),x=I(Cn),S=m??x,C=I(wn),w=n(Tn),T=n(En),E=n(Dn),D=n(On),O=n(kn),k=n(An),{favoriteModelsList:A,recentModelsList:j}=G(),{isMobile:M}=ue(),N=w||M,[P,ee]=J.useState(!1),[ne,re]=J.useState(!1),ie;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>{ee(!0),I.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:mobilePanel`})},t[0]=ie):ie=t[0];let L=F(ie),ae;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{re(e),e&&I.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:desktopMenu`})},t[1]=ae):ae=t[1];let R=F(ae),[z,H]=J.useState(``),[U,oe]=J.useState(null),K=a!==void 0,q;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(q=()=>{ee(!1),re(!1),H(``),oe(null)},t[2]=q):q=t[2];let ce=q,le;t[3]===S?le=t[4]:(le=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[3]=S,t[4]=le);let de=le,fe;t[5]!==O||t[6]!==de||t[7]!==i||t[8]!==o||t[9]!==r||t[10]!==a||t[11]!==K?(fe=e=>{let t=de(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),ce()},t[5]=O,t[6]=de,t[7]=i,t[8]=o,t[9]=r,t[10]=a,t[11]=K,t[12]=fe):fe=t[12];let pe=fe,me;t[13]!==o||t[14]!==K?(me=()=>{o(``,``,K?``:void 0),ce()},t[13]=o,t[14]=K,t[15]=me):me=t[15];let he=me,ge;t[16]!==O||t[17]!==o||t[18]!==U?(ge=e=>{U&&(o(U.providerID,U.modelID,e),O(U.providerID,U.modelID),ce())},t[16]=O,t[17]=o,t[18]=U,t[19]=ge):ge=t[19];let Z=ge,_e;t[20]===v?_e=t[21]:(_e=v(`settings.agents.modelSelector.searchPlaceholder`),t[20]=v,t[21]=_e);let Q;t[22]===v?Q=t[23]:(Q=v(`settings.agents.modelSelector.state.noModelsFound`),t[22]=v,t[23]=Q);let ve;t[24]===v?ve=t[25]:(ve=v(`settings.agents.modelSelector.section.favorites`),t[24]=v,t[25]=ve);let ye;t[26]===v?ye=t[27]:(ye=v(`settings.agents.modelSelector.section.recent`),t[26]=v,t[27]=ye);let be;t[28]===v?be=t[29]:(be=v(`settings.agents.modelSelector.keyboardHints`),t[28]=v,t[29]=be);let xe;t[30]!==u||t[31]!==v?(xe=u||v(`settings.agents.modelSelector.notSelected`),t[30]=u,t[31]=v,t[32]=xe):xe=t[32];let Se;t[33]===v?Se=t[34]:(Se=v(`settings.agents.modelSelector.actions.favorite`),t[33]=v,t[34]=Se);let Ce;t[35]===v?Ce=t[36]:(Ce=v(`settings.agents.modelSelector.actions.unfavorite`),t[35]=v,t[36]=Ce);let we;t[37]===v?we=t[38]:(we=v(`chat.modelControls.provider`),t[37]=v,t[38]=we);let Te;t[39]===v?Te=t[40]:(Te=v(`chat.modelControls.capabilities`),t[39]=v,t[40]=Te);let Ee;t[41]===v?Ee=t[42]:(Ee=v(`chat.modelControls.capability.toolCalling`),t[41]=v,t[42]=Ee);let De;t[43]===v?De=t[44]:(De=v(`chat.modelControls.capability.reasoning`),t[43]=v,t[44]=De);let Oe;t[45]===v?Oe=t[46]:(Oe=v(`chat.modelControls.modality.image`),t[45]=v,t[46]=Oe);let ke;t[47]===v?ke=t[48]:(ke=v(`chat.modelControls.modality.video`),t[47]=v,t[48]=ke);let Ae;t[49]===v?Ae=t[50]:(Ae=v(`chat.modelControls.modality.audio`),t[49]=v,t[50]=Ae);let je;t[51]===v?je=t[52]:(je=v(`chat.modelControls.costPerMillion`),t[51]=v,t[52]=je);let Me;t[53]===v?Me=t[54]:(Me=v(`chat.modelControls.costInput`),t[53]=v,t[54]=Me);let Ne;t[55]===v?Ne=t[56]:(Ne=v(`chat.modelControls.costOutput`),t[55]=v,t[56]=Ne);let Pe;t[57]!==_e||t[58]!==Q||t[59]!==ve||t[60]!==ye||t[61]!==be||t[62]!==xe||t[63]!==Se||t[64]!==Ce||t[65]!==we||t[66]!==Te||t[67]!==Ee||t[68]!==De||t[69]!==Oe||t[70]!==ke||t[71]!==Ae||t[72]!==je||t[73]!==Me||t[74]!==Ne?(Pe={searchPlaceholder:_e,noResults:Q,favorites:ve,recent:ye,keyboardHint:be,notSelected:xe,favorite:Se,unfavorite:Ce,provider:we,capabilities:Te,capabilityToolCalling:Ee,capabilityReasoning:De,modalityImage:Oe,modalityVideo:ke,modalityAudio:Ae,costPerMillion:je,costInput:Me,costOutput:Ne},t[57]=_e,t[58]=Q,t[59]=ve,t[60]=ye,t[61]=be,t[62]=xe,t[63]=Se,t[64]=Ce,t[65]=we,t[66]=Te,t[67]=Ee,t[68]=De,t[69]=Oe,t[70]=ke,t[71]=Ae,t[72]=je,t[73]=Me,t[74]=Ne,t[75]=Pe):Pe=t[75];let Fe=Pe,Ie;t[76]!==i||t[77]!==r?(Ie=r&&i?{providerID:r,modelID:i}:null,t[76]=i,t[77]=r,t[78]=Ie):Ie=t[78];let Le=Ie,Re;t[79]!==i||t[80]!==u||t[81]!==r||t[82]!==v?(Re=r&&i?`${r}/${i}`:u||v(`settings.agents.modelSelector.notSelected`),t[79]=i,t[80]=u,t[81]=r,t[82]=v,t[83]=Re):Re=t[83];let ze=Re,Be;t[84]!==v||t[85]!==a||t[86]!==K?(Be=K?a||v(`chat.modelControls.default`):null,t[84]=v,t[85]=a,t[86]=K,t[87]=Be):Be=t[87];let Ve=Be,He;t[88]!==i||t[89]!==r||t[90]!==a||t[91]!==K?(He=(e,t)=>{if(!(!K||e!==r||t!==i))return a||void 0},t[88]=i,t[89]=r,t[90]=a,t[91]=K,t[92]=He):He=t[92];let Ue=He,We;t[93]!==O||t[94]!==o||t[95]!==K?(We=(e,t,n)=>{o(e,t,K?n??``:void 0),O(e,t),ce()},t[93]=O,t[94]=o,t[95]=K,t[96]=We):We=t[96];let Ge=We,Ye;t[97]!==de||t[98]!==v||t[99]!==a||t[100]!==K?(Ye=(e,t)=>{if(!K||de(e).length===0)return null;let n=t.isSelected?a:``;return(0,Y.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(),oe(e)},"aria-label":v(`chat.modelControls.showThinkingModes`),children:[(0,Y.jsx)(`span`,{className:`max-w-24 truncate`,children:n||v(`chat.modelControls.default`)}),(0,Y.jsx)(V,{name:`arrow-right-s`,className:`size-3.5`})]})},t[97]=de,t[98]=v,t[99]=a,t[100]=K,t[101]=Ye):Ye=t[101];let Xe=Ye,Ze=N?`max-h-none flex-1`:void 0,Qe=h&&(N?P:ne),$e;t[102]===D?$e=t[103]:($e=e=>D(e.providerID,e.modelID),t[102]=D,t[103]=$e);let et;t[104]===E?et=t[105]:(et=e=>E(e.providerID,e.modelID),t[104]=E,t[105]=et);let tt;t[106]!==l||t[107]!==c||t[108]!==A||t[109]!==C||t[110]!==pe||t[111]!==he||t[112]!==T||t[113]!==Fe||t[114]!==k||t[115]!==S||t[116]!==j||t[117]!==Xe||t[118]!==z||t[119]!==Le||t[120]!==Ze||t[121]!==Qe||t[122]!==$e||t[123]!==et?(tt=(0,Y.jsx)(W,{providers:S,providerOrder:k,favoriteModels:A,recentModels:j,getMetadata:C,searchQuery:z,onSearchQueryChange:H,onSelect:pe,labels:Fe,selectedModel:Le,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,includeNotSelected:!0,onSelectNone:he,onEscape:ce,maxHeightClassName:Ze,tooltipsEnabled:Qe,isFavorite:$e,onToggleFavorite:et,renderRowEnd:Xe}),t[106]=l,t[107]=c,t[108]=A,t[109]=C,t[110]=pe,t[111]=he,t[112]=T,t[113]=Fe,t[114]=k,t[115]=S,t[116]=j,t[117]=Xe,t[118]=z,t[119]=Le,t[120]=Ze,t[121]=Qe,t[122]=$e,t[123]=et,t[124]=tt):tt=t[124];let nt=tt,rt;t[125]!==de||t[126]!==Z||t[127]!==i||t[128]!==r||t[129]!==v||t[130]!==a||t[131]!==U?(rt=U?(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,Y.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:()=>oe(null),"aria-label":v(`header.actions.backAria`),children:[(0,Y.jsx)(V,{name:`arrow-left`,className:`size-4`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:U.modelID})]}),(0,Y.jsx)(`div`,{className:`space-y-1 p-2`,role:`listbox`,"aria-label":v(`chat.modelControls.thinking`),children:[``,...de(U)].map(e=>{let t=U.providerID===r&&U.modelID===i&&(a||``)===e;return(0,Y.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:B(`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:()=>Z(e),children:[(0,Y.jsx)(`span`,{className:`truncate`,children:e||v(`chat.modelControls.default`)}),t?(0,Y.jsx)(V,{name:`check`,className:`size-4 shrink-0`}):null]},e||`__default`)})})]}):null,t[125]=de,t[126]=Z,t[127]=i,t[128]=r,t[129]=v,t[130]=a,t[131]=U,t[132]=rt):rt=t[132];let it=rt||nt;if(N){let e=y?L:void 0,n=!y,a=!y&&`opacity-60 cursor-not-allowed`,o;t[133]!==s||t[134]!==a?(o=B(`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[133]=s,t[134]=a,t[135]=o):o=t[135];let u;t[136]!==y||t[137]!==b||t[138]!==i||t[139]!==r||t[140]!==_||t[141]!==v?(u=y?_&&(r||i)?(0,Y.jsx)(se,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):_?(0,Y.jsx)(V,{name:`pencil-ai`,className:`h-3 w-3 text-muted-foreground`}):null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[136]=y,t[137]=b,t[138]=i,t[139]=r,t[140]=_,t[141]=v,t[142]=u):u=t[142];let d;t[143]!==y||t[144]!==ze?(d=y?(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground truncate`,children:ze}):null,t[143]=y,t[144]=ze,t[145]=d):d=t[145];let f;t[146]!==y||t[147]!==Ve?(f=y&&Ve?(0,Y.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null,t[146]=y,t[147]=Ve,t[148]=f):f=t[148];let p;t[149]!==u||t[150]!==d||t[151]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[u,d,f]}),t[149]=u,t[150]=d,t[151]=f,t[152]=p):p=t[152];let m;t[153]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`}),t[153]=m):m=t[153];let h;t[154]!==e||t[155]!==n||t[156]!==o||t[157]!==p?(h=(0,Y.jsxs)(`button`,{type:`button`,onClick:e,disabled:n,className:o,children:[p,m]}),t[154]=e,t[155]=n,t[156]=o,t[157]=p,t[158]=h):h=t[158];let g;t[159]!==l||t[160]!==c||t[161]!==A||t[162]!==C||t[163]!==Ge||t[164]!==T||t[165]!==D||t[166]!==P||t[167]!==i||t[168]!==r||t[169]!==k||t[170]!==S||t[171]!==j||t[172]!==Ue||t[173]!==E||t[174]!==K?(g=(0,Y.jsx)(mn,{open:P,onClose:ce,selectedProviderID:r,selectedModelID:i,resolveSelectedVariant:Ue,onSelect:Ge,providers:S,favoriteModels:A,recentModels:j,getMetadata:C,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,providerOrder:k,variantSelectionEnabled:K,isFavorite:D,onToggleFavorite:E}),t[159]=l,t[160]=c,t[161]=A,t[162]=C,t[163]=Ge,t[164]=T,t[165]=D,t[166]=P,t[167]=i,t[168]=r,t[169]=k,t[170]=S,t[171]=j,t[172]=Ue,t[173]=E,t[174]=K,t[175]=g):g=t[175];let x;return t[176]!==h||t[177]!==g?(x=(0,Y.jsxs)(Y.Fragment,{children:[h,g]}),t[176]=h,t[177]=g,t[178]=x):x=t[178],x}let at=y&&ne,ot=y?R:void 0,st=!y&&`opacity-60 cursor-not-allowed`,$;t[179]!==s||t[180]!==st?($=B(`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[179]=s,t[180]=st,t[181]=$):$=t[181];let ct;t[182]!==y||t[183]!==b||t[184]!==i||t[185]!==r||t[186]!==_||t[187]!==v||t[188]!==ze||t[189]!==Ve?(ct=y?(0,Y.jsxs)(Y.Fragment,{children:[_?r||i?(0,Y.jsx)(se,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):(0,Y.jsx)(V,{name:`pencil-ai`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):null,(0,Y.jsx)(`span`,{className:`typography-ui-label min-w-0 flex-1 truncate text-left font-normal text-foreground`,children:ze}),Ve?(0,Y.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground flex-shrink-0`}),(0,Y.jsx)(`span`,{className:`typography-ui-label font-normal whitespace-nowrap text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[182]=y,t[183]=b,t[184]=i,t[185]=r,t[186]=_,t[187]=v,t[188]=ze,t[189]=Ve,t[190]=ct):ct=t[190];let lt;t[191]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/50`}),t[191]=lt):lt=t[191];let ut;t[192]!==$||t[193]!==ct?(ut=(0,Y.jsx)(qe,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:$,children:[ct,lt]})}),t[192]=$,t[193]=ct,t[194]=ut):ut=t[194];let dt;t[195]!==g||t[196]!==it?(dt=(0,Y.jsx)(Je,{className:`w-[min(380px,calc(100vw-2rem))] p-0 flex flex-col`,align:`start`,portalToBody:g,children:it}),t[195]=g,t[196]=it,t[197]=dt):dt=t[197];let ft;return t[198]!==at||t[199]!==ot||t[200]!==ut||t[201]!==dt?(ft=(0,Y.jsxs)(Ke,{open:at,onOpenChange:ot,children:[ut,dt]}),t[198]=at,t[199]=ot,t[200]=ut,t[201]=dt,t[202]=ft):ft=t[202],ft};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,X.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(ee),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 P().language;case`md`:case`markdown`:case`mdown`:case`mkd`:return N().language;case`heex`:case`eex`:case`leex`:return A().language;default:return D.matchLanguageName(de,t,!0)}}var Un=e=>e.split(`/`).pop()?.toLowerCase()??``,Wn=e=>{let t=Un(e);return t?D.matchFilename(de,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[N({codeLanguages:Hn}),Gn()];case`sh`:case`bash`:case`zsh`:case`fish`:case`env`:return Bn;case`py`:case`pyw`:case`pyi`:return P();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,J.useState)(!1),[n,r]=(0,J.useState)(null),i=(0,J.useRef)(null),o=(0,J.useRef)(null),s=(0,J.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,J.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,J.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,J.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(ne(),{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(ne(),{...n,hour12:n.hour?tr(t):n.hour12}):``},ir=J.memo(function(e){let t=(0,X.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=B(`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=B(`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,Y.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,Y.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{Xe as A,Re as B,vt as C,Je as D,Ke as E,ze as F,Le as G,Me as H,He as I,Te as J,je as K,Ve as L,$e as M,qe as N,Ye as O,Be as P,he as Q,ve as R,Ct as S,_t as T,Ne as U,Ae as V,Pe as W,Q as X,De as Y,_e 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,Ze as j,Qe as k,Ln as l,mn as m,rr as n,Hn as o,Sn as p,Fe as q,nr as r,Kn as s,ir as t,Rn as u,Zt as v,$ as w,St as x,Tt as y,Ie as z};
|
|
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 N}from"./vendor-codemirror-lang-markdown-WORgx6ZD.js";import{n as P}from"./vendor-codemirror-lang-python-Du6XQ8Zw.js";import{O as ee}from"./vendor-codemirror-legacy-modes-DuRAjNvB.js";import{n as F}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as te,r as ne}from"./clipboard-BnElHSnO.js";import{Ha as re,Wa as ie,Xi as I,Ya as L,lo as ae}from"./useMobileNavigationStore-DQHF_ETu.js";import{t as R}from"./AgentAvatar-B4fj9PIe.js";import{s as z,t as B}from"./utils-BxJEIWv5.js";import{n as V}from"./Icon-DiIuWOuC.js";import{t as H}from"./button-DaAoVF4X.js";import{A as U,C as W,E as oe,O as G,T as K,k as se,w as q}from"./projectMeta-BunN9pH5.js";import{t as ce}from"./input-XiL2-2gG.js";import{t as le}from"./useThemeSystem-DMzWVJaW.js";import{i as ue}from"./OverlayScrollbar-BgMLtMIq.js";import{t as de}from"./vendor-codemirror-language-data-BfYFhIH1.js";var J=e(y(),1),Y=v(),fe=[.2,.45,.15,.55,.35,.1,.5,.25,.4,.3,.45,.15,.55,.2,.35,.1],pe=[.3,.15,.45,.25,.5,.35,.1,.4,.2,.55,.3,.15,.45,.25,.4,.2],me=(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},he=({className:e=``,width:t=70,height:n=70,isAnimated:r=!1})=>{let{t:i}=te(),a=le(),o=!0;a?o=a.currentTheme.metadata.variant!==`light`:typeof window<`u`&&(o=window.matchMedia(`(prefers-color-scheme: dark)`).matches);let s=(0,J.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,J.useMemo)(()=>typeof window>`u`||typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`color`,`color-mix(in srgb, white 50%, transparent)`),[]),l=(0,J.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,J.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=me(h,_,b,v),C=me(_,g,y,b);return(0,Y.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,Y.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,Y.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,Y.jsx)(`path`,{d:e.path,fill:u,opacity:fe[e.row*4+(3-e.col)]??.35},`left-${t}`)),(0,Y.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,Y.jsx)(`path`,{d:e.path,fill:u,opacity:pe[e.row*4+e.col]??.35},`right-${t}`)),(0,Y.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,Y.jsx)(`g`,{opacity:1,className:r?`oc-logo-glow`:void 0,style:r?{"--oc-glow-color":s}:void 0,children:(0,Y.jsxs)(`g`,{transform:`${x} scale(0.75)`,children:[(0,Y.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,Y.jsx)(`path`,{d:`M-8 -4 L8 -4 L8 12 L-8 12 Z`,fill:d,fillOpacity:`0.4`})]})})]})},X=x(),ge=e(b(),1),Z=0,_e=()=>{Z=Date.now()+800},Q=()=>Date.now()<Z,ve=`__unassigned__`,ye={mod:`mod`,shift:`shift`,alt:`alt`,option:`alt`,ctrl:`ctrl`,meta:`mod`,cmd:`mod`,command:`mod`},be={mod:z()&&r()?`⌘`:`Ctrl`,shift:`⇧`,alt:`⌥`,option:`⌥`,ctrl:`⌃`},xe={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:`-`,"-":`-`},Se=[`mod`,`ctrl`,`shift`,`alt`],Ce={"{":`[`,"}":`]`,":":`;`,'"':`'`,"<":`,`,">":`.`,"?":`/`,"|":`\\`,"~":"`","!":`1`,"@":`2`,"#":`3`,$:`4`,"%":`5`,"^":`6`,"&":`7`,"*":`8`,"(":`9`,")":`0`};function we(e){return e.trim().toLowerCase()===ve}function Te(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`:Ce[t]??t}var Ee=[{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 De(e){if(we(e))return ve;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=ye[t];if(i){n.add(i);continue}r=t}return[...Se.filter(e=>n.has(e)),r].filter(Boolean).join(`+`)}function Oe(e){return we(e)?!0:ke(e).key.trim().length>0}function ke(e){if(we(e))return{modifiers:new Set,key:ve};let t=De(e).split(`+`),n=new Set,r=``;for(let e of t){let t=ye[e];t?n.add(t):r=e}return{modifiers:n,key:r}}function Ae(e){if(we(e))return`Unassigned`;let t=ke(e);if(!t.key&&t.modifiers.size===0)return`Unassigned`;let n=[];for(let e of Se)t.modifiers.has(e)&&n.push(be[e]);if(t.key){let e=xe[t.key.toLowerCase()]||t.key.toUpperCase();n.push(e)}return n.join(` + `)}function je(e){return Ee.find(t=>t.id===e)}function Me(){return Ee.filter(e=>e.customizable===!0)}function Ne(e,t){let n=je(e);if(!n)return``;let r=t?.[e];if(typeof r==`string`){if(r.trim().toLowerCase()===`__unassigned__`)return``;let e=De(r);if(e===`__unassigned__`)return ve;if(Oe(e))return e}return n.defaultCombo}function Pe(e,t){let n=je(e);if(!n)return[];let r=Ne(e,t);return r===n.defaultCombo?[n.defaultCombo,...n.defaultAliases??[]]:r?[r]:[]}function Fe(e){if(we(e))return!1;let t=ke(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 Ie(e,t){let n=typeof t==`string`?t:t.defaultCombo;if(we(n))return!1;let i=ke(n),a=i.modifiers.has(`mod`),o=i.modifiers.has(`shift`),s=i.modifiers.has(`alt`),c=i.modifiers.has(`ctrl`),l=z()&&r(),u=z(),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))),Te(f)===Te(i.key)}function Le(){return z()&&r()?`⌘`:`Ctrl`}function Re(e,t,n){if(Ie(e,n))return!0;let i=De(n),a=z()&&r(),o=z();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 ze=`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)]`,Be=`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`,Ve=`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`,He=`bg-border -mx-1 my-0.5 h-px`,Ue=J.createContext(null),We=e=>e?e.closest(`[data-slot="dialog-content"], [role="dialog"]`):null;function Ge(e,t){return e&&J.isValidElement(t)?{render:t}:{children:t}}function Ke(e){let t=(0,X.c)(9),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let[r,i]=J.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,Y.jsx)(_,{...n}),t[4]=n,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,Y.jsx)(Ue.Provider,{value:o,children:s}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function qe(e){let t=(0,X.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=J.useContext(Ue),c;t[6]===s?c=t[7]:(c=e=>{if(!s)return;let t=e instanceof HTMLElement?e:null;s.setPortalContainer(We(t))},t[6]=s,t[7]=c);let u=c,d;t[8]!==n||t[9]!==r?(d=Ge(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,Y.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 Je(e){let t=(0,X.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=J.useContext(Ue),w=y?void 0:C?.portalContainer||void 0,T;t[16]===s?T=t[17]:(T=B(`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=B(ze,o),t[20]=o,t[21]=D);let O;t[22]!==a||t[23]!==c||t[24]!==E||t[25]!==D?(O=(0,Y.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,Y.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,Y.jsx)(h,{container:w,children:k}),t[37]=k,t[38]=w,t[39]=A):A=t[39],A}function Ye(e){let t=(0,X.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=Ge(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=B(Be,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,Y.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 Xe(e){let t=(0,X.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,Y.jsx)(p,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function Ze(e){let t=(0,X.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=B(`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,Y.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-3.5 items-center justify-center text-primary`,children:(0,Y.jsx)(c,{children:(0,Y.jsx)(V,{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,Y.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 Qe(e){let t=(0,X.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=B(`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,Y.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 $e(e){let t=(0,X.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=B(He,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Y.jsx)(u,{"data-slot":`dropdown-menu-separator`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var et=(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)))]`},tt=e=>Math.min(1,Math.max(0,Number.isFinite(e)?e:0)),nt=(e,t,n)=>{let r=Number.isFinite(t)&&t>0?t:1,i=Math.max(0,Number.isFinite(e)?e:0)/r,a=tt(n[0]??1),o=Math.abs(i-a);for(let e=1;e<n.length;e+=1){let t=tt(n[e]??a),r=Math.abs(i-t);r<o&&(a=t,o=r)}return a},rt=(e,t)=>{let n=tt(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)`}},it=(e,t)=>{let n=tt(t);return e===`present`?n:1-n},at=(e,t)=>e===`present`?+(t===`commit`):t===`commit`?0:1,ot=e=>+!!e,st=.72,$=.98,ct=[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*$,Math.max(n?0:t*st,e)),ht=(e,t)=>{let n=Math.max(1,e)*st;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)*$;return Math.abs(e-r)<=Math.abs(e-i)?st:$},_t=({initialSnapPoint:e=st,fitContent:t=!1,onDismiss:n,dismissThresholdPx:r=dt}={})=>{let i=J.useRef(null),a=J.useRef(null),o=J.useRef(null),s=J.useRef(null),c=J.useRef(null),l=J.useRef(null),u=J.useRef(!1),[d,f]=J.useState(e),p=J.useRef(e),m=J.useRef(n);m.current=n;let h=J.useCallback(()=>{o.current!==null&&window.cancelAnimationFrame(o.current),o.current=null},[]),g=J.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()*$;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]),_=J.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=J.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=J.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):nt(u,o.viewportHeight,ct);g(d,u),e.preventDefault()},[h,r,t,g]),b=J.useCallback(()=>{if(u.current){u.current=!1;return}g(p.current===.98?st:$)},[g]),x=J.useCallback(e=>{let t=null;(e.key===`ArrowUp`||e.key===`Home`)&&(t=$),(e.key===`ArrowDown`||e.key===`End`)&&(t=st),(e.key===`Enter`||e.key===` `)&&(t=p.current===.98?st:$),t!==null&&(e.preventDefault(),g(t))},[g]),S=J.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 J.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,X.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,Y.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,Y.jsx)(`div`,{"data-mobile-sheet-snap-handle":!0,role:`separator`,tabIndex:0,"aria-label":r,"aria-orientation":`horizontal`,"aria-valuemin":st*100,"aria-valuemax":$*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=J.useRef(e),n=J.useRef(null),r=J.useRef(null);return t.current=e,J.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=J.useRef(null),h=J.useRef(null),g=J.useRef(null),_=J.useRef(t),v=J.useRef(n),y=J.useRef(f),b=J.useRef(0),x=J.useRef(0),S=J.useRef(null),C=J.useRef(null),w=J.useRef([]),T=J.useRef(null),E=J.useRef(`standard`),D=J.useRef(`present`),O=J.useRef(0),k=J.useRef(!1),A=J.useRef(t),j=J.useRef(!1),M=J.useRef(t),N=J.useRef(null),[P,ee]=J.useState(t),[F,te]=J.useState(t),[ne,re]=J.useState(`standard`),[ie,I]=J.useState(!1),L=ne===`interactive-present`,ae=J.useSyncExternalStore(wt.subscribe,wt.getSnapshot,wt.getSnapshot),R=F&&!L&&ae===e,z=Ut({motionId:e,edge:a,disabled:!d,...typeof d==`object`?d:{}}),V=J.useCallback(e=>{g.current=e,z(e),typeof u==`function`?u(e):u&&typeof u==`object`&&(u.current=e)},[z,u]),H=J.useCallback(()=>{M.current&&(M.current=!1,te(!1),r||ee(!1),y.current?.())},[r]);_.current=t,v.current=n,y.current=f,typeof document<`u`&&!m.current&&(m.current=Yt());let U=J.useCallback(e=>{let t=rt(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]),W=J.useCallback(()=>{S.current!==null&&window.cancelAnimationFrame(S.current),S.current=null},[]),oe=J.useCallback(()=>{C.current!==null&&window.cancelAnimationFrame(C.current),C.current=null},[]),G=J.useCallback(()=>{h.current&&(h.current.style.willChange=``),g.current&&(g.current.style.willChange=``)},[]),K=J.useCallback((e=w.current)=>{for(let t of e)t.cancel();w.current=[]},[]),se=J.useCallback(()=>{W();let e=T.current;if(e){let t=e.animations[1]?.effect?.getComputedTiming().progress;U(typeof t==`number`&&Number.isFinite(t)?e.from+(e.target-e.from)*t:b.current),K(e.animations),T.current=null}else K();G(),I(!1)},[U,K,W,G]),q=J.useCallback((e,t)=>{if(T.current?.target===e)return;se();let n=b.current,r=h.current,i=g.current;if(I(!0),!r||!i||Xt()||n===e){U(e),G(),I(!1),t?.();return}let o=rt(a,n),s=rt(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&&(U(e),K(l),T.current=null,G(),I(!1),t?.())})},[U,K,G,a,se]);if(J.useLayoutEffect(()=>{j.current=P,P&&U(x.current)},[U,P]),J.useLayoutEffect(()=>{M.current=F},[F]),J.useEffect(()=>{oe(),t&&!j.current&&(x.current=b.current,ee(!0)),t&&!M.current&&(M.current=!0,te(!0)),j.current&&E.current===`standard`&&q(ot(t),()=>{!_.current&&E.current===`standard`&&H()})},[oe,H,t,q]),J.useLayoutEffect(()=>{!P||E.current!==`standard`||C.current!==null||q(+!!t,()=>{!_.current&&E.current===`standard`&&H()})},[H,P,t,q]),J.useEffect(()=>{if(!(!F||L))return window.dispatchEvent(new Event(`oc:mobile-overlay-opened`)),()=>{window.dispatchEvent(new Event(`oc:mobile-overlay-closed`))}},[F,L]),J.useEffect(()=>{if(!(!F||L))return wt.add({id:e,onClose:()=>v.current(!1)},document.body)},[F,e,L]),J.useEffect(()=>{if(!F||L||!R)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),Q()||t?.focus({preventScroll:!0})}},[F,L,R]),N.current={begin:e=>{if(e===`dismiss`&&(!M.current||E.current===`interactive-present`))return!1;oe(),se(),O.current+=1,k.current=!0,D.current=e;let t=e===`present`?`interactive-present`:`interactive-dismiss`;return E.current=t,re(t),I(!0),e===`present`&&(x.current=b.current,M.current=!0,te(!0),ee(!0)),!0},update:e=>{k.current&&(x.current=it(D.current,e),S.current===null&&(S.current=window.requestAnimationFrame(()=>{S.current=null,k.current&&U(x.current)})))},finish:e=>{if(!k.current)return;k.current=!1;let t=O.current,n=D.current,r=at(n,e);S.current!==null&&(W(),U(x.current)),q(r,()=>{t===O.current&&(e===`commit`&&v.current(n===`present`),n===`present`&&e===`cancel`&&!_.current&&H(),E.current=`standard`,re(`standard`),C.current=window.requestAnimationFrame(()=>{if(C.current=null,t!==O.current)return;let e=ot(_.current);q(e,()=>{t===O.current&&!_.current&&H()})}))})},interrupt:()=>{oe(),O.current+=1,k.current=!1;let e=E.current===`interactive-present`&&!_.current;e||(E.current=`standard`,re(`standard`)),se(),q(ot(_.current),()=>{_.current||H(),e&&(E.current=`standard`,re(`standard`))})}},J.useLayoutEffect(()=>{let e=A.current;A.current=t,e&&!t&&E.current!==`standard`&&N.current?.interrupt()},[t]),J.useEffect(()=>{let t=Ot(e,{begin:e=>N.current?.begin(e)??!1,update:e=>N.current?.update(e),finish:e=>N.current?.finish(e),interrupt:()=>N.current?.interrupt()});return()=>{t(),oe(),W(),K(),T.current=null,G(),N.current=null}},[K,W,oe,G,e]),!P||!m.current)return null;let ce=(0,Y.jsx)(`div`,{ref:h,className:B(`oc-mobile-window-motion oc-keyboard-inset-surface fixed inset-0 z-[60] flex flex-col bg-[rgb(0_0_0_/_0.45)]`,ie&&`oc-mobile-window-motion-active`,!F&&!L&&`pointer-events-none invisible`,c,s),"data-mobile-overlay-active":String(F),role:L?void 0:`dialog`,"aria-label":L?void 0:p,"aria-modal":F&&R?`true`:void 0,"aria-hidden":L||!F||!R||void 0,inert:L||!F||!R||void 0,onPointerDown:St,onClick:e=>{!F||L||!R||Ct(e)&&v.current(!1)},children:(0,Y.jsx)(`div`,{ref:V,tabIndex:-1,className:B(`oc-mobile-floating-shell`,et(i,a),l),style:{contain:`layout paint style`},onClick:e=>e.stopPropagation(),children:o})});return(0,ge.createPortal)(ce,m.current)},Qt=e=>{let t=(0,X.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?$: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,Y.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,Y.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-4 pb-2`,children:[o?(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center`,children:o}):null,(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:a}),s?(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:s}):null,(0,Y.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>i(!1),"aria-label":l,className:`shrink-0 text-muted-foreground`,style:{touchAction:`manipulation`},children:(0,Y.jsx)(V,{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,Y.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=B(`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,Y.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,Y.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,Y.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,X.c)(5),t=I(rn),n=I(nn),r=I(tn),i=I(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,X.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}=te(),{isReady:p,isUnavailable:m}=$t(),h=I(on),g=L(sn),_=I(cn),{data:v}=ae(),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=ie(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}=ue(),D=T||E,[O,k]=J.useState(!1),A;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{k(!0),I.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:mobilePanel`})},t[5]=A):A=t[5];let j=F(A),M=F(un),N=J.useId(),P,ee;t[6]!==l||t[7]!==g||t[8]!==_||t[9]!==S.length?(P=()=>{l||S.length>0||(_(),g())},ee=[l,S.length,_,g],t[6]=l,t[7]=g,t[8]=_,t[9]=S.length,t[10]=P,t[11]=ee):(P=t[10],ee=t[11]),J.useEffect(P,ee);let ne;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>k(!1),t[12]=ne):ne=t[12];let re=ne,z;t[13]===i?z=t[14]:(z=e=>{i(e)},t[13]=i,t[14]=z);let H=z,W;t[15]!==r||t[16]!==w||t[17]!==H||t[18]!==D||t[19]!==O||t[20]!==N||t[21]!==f?(W=()=>D?(0,Y.jsx)(Qt,{id:`mobile-agent-selector-sheet-${N}`,open:O,onOpenChange:e=>{e||re()},ariaLabel:f(`settings.commands.agentSelector.title`),closeAriaLabel:f(`mobile.surface.closeAria`),resizeAriaLabel:f(`mobile.sessions.sheet.resizeAria`),bodyClassName:`px-2`,children:(0,Y.jsxs)(U,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 flex-1`,className:`flex flex-col gap-1 overscroll-contain`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:B(`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:()=>{H(``),re()},children:[(0,Y.jsx)(R,{name:`default`,size:16}),(0,Y.jsx)(`span`,{className:B(`min-w-0 typography-meta`,r?`text-muted-foreground`:`font-medium`),children:f(`settings.commands.agentSelector.notSelected`)}),!r&&(0,Y.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-primary`})]}),w.map(e=>{let t=e.name===r;return(0,Y.jsxs)(`button`,{type:`button`,className:B(`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:()=>{H(e.name),re()},children:[(0,Y.jsx)(R,{name:e.name,size:16,className:`mt-1.5`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`typography-meta font-medium`,children:e.name}),e.description&&(0,Y.jsx)(`span`,{className:`mt-0.5 block whitespace-normal break-words typography-micro text-muted-foreground`,children:e.description})]}),t&&(0,Y.jsx)(`div`,{className:`mt-2 h-2 w-2 rounded-full bg-primary`})]},e.name)})]})}):null,t[15]=r,t[16]=w,t[17]=H,t[18]=D,t[19]=O,t[20]=N,t[21]=f,t[22]=W):W=t[22];let oe=W,G;t[23]!==r||t[24]!==w||t[25]!==a||t[26]!==u||t[27]!==H||t[28]!==M||t[29]!==D||t[30]!==p||t[31]!==m||t[32]!==j||t[33]!==d||t[34]!==f?(G=D?(0,Y.jsxs)(`button`,{type:`button`,onClick:p?j:void 0,disabled:!p,className:B(`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,Y.jsx)(`div`,{className:`flex items-center gap-2`,children:p?(0,Y.jsxs)(Y.Fragment,{children:[d?(0,Y.jsx)(R,{name:r||`default`,size:14}):null,(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:r||f(`settings.commands.agentSelector.selectAgentPlaceholder`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:f(m?`common.unavailable`:`common.loading`)})]})}),(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 text-muted-foreground`})]}):p?(0,Y.jsxs)(Ke,{onOpenChange:M,children:[(0,Y.jsx)(qe,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:B(`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,Y.jsx)(R,{name:r||`default`,size:14}):null,(0,Y.jsx)(`span`,{className:`typography-micro font-medium whitespace-nowrap`,children:r||f(`settings.commands.agentSelector.notSelected`)}),(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`})]})}),(0,Y.jsxs)(Je,{className:`max-w-[300px]`,portalToBody:u,children:[(0,Y.jsxs)(Ye,{className:`typography-meta`,onSelect:()=>H(``),children:[(0,Y.jsx)(R,{name:`default`,size:14}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:f(`settings.commands.agentSelector.notSelected`)})]}),w.map(e=>(0,Y.jsxs)(Ye,{className:`typography-meta`,onSelect:()=>H(e.name),children:[(0,Y.jsx)(R,{name:e.name,size:14}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.name})]},e.name))]})]}):(0,Y.jsxs)(`div`,{className:B(`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,Y.jsx)(V,{name:`loader-4`,className:`h-3 w-3 animate-spin text-muted-foreground flex-shrink-0`}),(0,Y.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]=H,t[28]=M,t[29]=D,t[30]=p,t[31]=m,t[32]=j,t[33]=d,t[34]=f,t[35]=G):G=t[35];let K;t[36]===oe?K=t[37]:(K=oe(),t[36]=oe,t[37]=K);let se;return t[38]!==G||t[39]!==K?(se=(0,Y.jsxs)(Y.Fragment,{children:[G,K]}),t[38]=G,t[39]=K,t[40]=se):se=t[40],se};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&&I.getState().refreshCatalogsOnPickerOpen({source:`agentSelector:desktopMenu`})}var dn=8,fn=e=>typeof e!=`number`||Number.isNaN(e)?``:new Intl.NumberFormat(ne(),{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,X.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}=te(),T=J.useId(),[E,D]=J.useState(``),O;t[2]===i?O=t[3]:(O=()=>new Set(i?[i]:[]),t[2]=i,t[3]=O);let[k,A]=J.useState(O),[j,M]=J.useState(null),[N,P]=J.useState(`model`),[ee,F]=J.useState(null),ne=J.useRef(!1),ie=y??N,I,L;t[4]!==n||t[5]!==i?(I=()=>{n&&!ne.current&&A(new Set(i?[i]:[])),n||(D(``),M(null),P(`model`),F(null)),ne.current=n},L=[n,i],t[4]=n,t[5]=i,t[6]=I,t[7]=L):(I=t[6],L=t[7]),J.useEffect(I,L);let ae;t[8]===b?ae=t[9]:(ae=e=>{P(e),b?.(e)},t[8]=b,t[9]=ae);let R=ae,z;t[10]===f?z=t[11]:(z=f&&f.length>0?new Set(f):null,t[10]=f,t[11]=z);let W=z,G;t[12]===p?G=t[13]:(G=p?new Map(Object.entries(p).map(hn)):null,t[12]=p,t[13]=G);let le=G,ue;t[14]===S?ue=t[15]:(ue=new Set(S.map(gn)),t[14]=S,t[15]=ue);let de=ue,fe;t[16]===c?fe=t[17]:(fe=new Map(c.map(_n)),t[16]=c,t[17]=fe);let pe=fe,me;bb0:{if(!m?.length){me=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];me=r}let he=me,ge;t[25]!==le||t[26]!==W||t[27]!==de?(ge=(e,t)=>W&&!W.has(e)||le&&le.get(e)?.has(t)!==!0?!1:!de.has(`${e}:${t}`),t[25]=le,t[26]=W,t[27]=de,t[28]=ge):ge=t[28];let Z=ge,_e;t[29]!==pe||t[30]!==E?(_e=e=>{let t=E.trim();if(!t)return!0;let n=pe.get(e.providerID)?.name||e.providerID,r=re(e.model,e.modelID,{maxLength:40});return q(r,t)||q(e.modelID,t)||q(n,t)},t[29]=pe,t[30]=E,t[31]=_e):_e=t[31];let Q=_e,ve;if(t[32]!==l||t[33]!==Z||t[34]!==Q){let e;t[36]!==Z||t[37]!==Q?(e=e=>Z(e.providerID,e.modelID)&&Q(e),t[36]=Z,t[37]=Q,t[38]=e):e=t[38],ve=l.filter(e),t[32]=l,t[33]=Z,t[34]=Q,t[35]=ve}else ve=t[35];let ye=ve,be;if(t[39]!==Z||t[40]!==Q||t[41]!==u){let e;t[43]!==Z||t[44]!==Q?(e=e=>Z(e.providerID,e.modelID)&&Q(e),t[43]=Z,t[44]=Q,t[45]=e):e=t[45],be=u.filter(e),t[39]=Z,t[40]=Q,t[41]=u,t[42]=be}else be=t[42];let xe=be,Se;if(t[46]!==W||t[47]!==Z||t[48]!==he||t[49]!==E){let e;t[51]===W?e=t[52]:(e=e=>!W||W.has(e.id),t[51]=W,t[52]=e);let n;t[53]!==Z||t[54]!==E?(n=e=>{let t=E.trim().length>0&&(q(e.name||e.id,E.trim())||q(e.id,E.trim()));return{provider:e,models:(e.models??[]).filter(n=>{let r=typeof n.id==`string`?n.id:``;return!r||!Z(e.id,r)?!1:t||!E.trim()?!0:q(re(n,r,{maxLength:40}),E.trim())||q(r,E.trim())})}},t[53]=Z,t[54]=E,t[55]=n):n=t[55],Se=he.filter(e).map(n).filter(yn),t[46]=W,t[47]=Z,t[48]=he,t[49]=E,t[50]=Se}else Se=t[50];let Ce=Se,we;t[56]===w?we=t[57]:(we=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]=we);let Te=we,Ee;t[58]===w?Ee=t[59]:(Ee=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]=Ee);let De=Ee,Oe;t[60]===R?Oe=t[61]:(Oe=(e,t)=>{F({providerID:e,modelID:t}),R(`variant`)},t[60]=R,t[61]=Oe);let ke=Oe,Ae;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Ae={onPointerDown:bt,onClickCapture:bn},t[62]=Ae):Ae=t[62];let je=Ae,Me;t[63]!==j||t[64]!==Te||t[65]!==v||t[66]!==De||t[67]!==g||t[68]!==s||t[69]!==_||t[70]!==ke||t[71]!==pe||t[72]!==c||t[73]!==o||t[74]!==a||t[75]!==i||t[76]!==w||t[77]!==C?(Me=(e,t)=>{let n=t===void 0?{}:t,{model:r,providerID:l,modelID:u}=e,d=`${l}:${u}`,f=l===i&&u===a,p=K(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=De(p),S=p?.limit?.context?`${fn(p.limit.context)} ctx`:null;return(0,Y.jsxs)(`div`,{className:B(`border-b border-border/30 last:border-b-0`,f&&`bg-interactive-selection/15 text-interactive-selection-foreground`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5`,children:[(0,Y.jsx)(`button`,{type:`button`,...je,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,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[n.showProvider?(0,Y.jsx)(`span`,{className:`truncate text-[10px] leading-none text-muted-foreground/60`,children:pe.get(l)?.name||l}):null,(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,Y.jsx)(se,{modelId:u,providerId:l,className:`size-3.5 flex-shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate typography-meta font-medium text-foreground`,children:re(r,u,{maxLength:40})}),f?(0,Y.jsx)(V,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]}),S||x.length>0?(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden typography-micro text-muted-foreground`,children:[S?(0,Y.jsx)(`span`,{className:`flex-shrink-0 whitespace-nowrap`,children:S}):null,S&&x.length>0?(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px flex-shrink-0 bg-border/50`}):null,(0,Y.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,Y.jsx)(`span`,{className:`flex size-4 flex-shrink-0 items-center justify-center text-muted-foreground`,title:r,"aria-label":r,children:(0,Y.jsx)(V,{name:n,className:`size-3`})},`${d}-${t}`)})})]}):null]})}),m.length>0?(0,Y.jsxs)(`button`,{type:`button`,...je,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,Y.jsx)(`span`,{className:`whitespace-nowrap`,children:Te(h)}),(0,Y.jsx)(V,{name:b?`arrow-down-s`:`arrow-right-s`,className:`size-3.5`})]}):null,(0,Y.jsx)(`button`,{type:`button`,...je,onClick:e=>{e.preventDefault(),e.stopPropagation(),_(l,u)},className:B(`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,Y.jsx)(V,{name:g(l,u)?`star-fill`:`star`,className:`size-4`})})]}),b&&m.length>0?(0,Y.jsx)(`div`,{className:`border-t border-border/30 p-2`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[y.map(e=>{let t=e===h||!e&&!h;return(0,Y.jsx)(`button`,{type:`button`,...je,onClick:()=>s(l,u,e),className:B(`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:Te(e)},`${d}-${e??`default`}`)}),y.length<m.length+1?(0,Y.jsx)(`button`,{type:`button`,...je,onClick:()=>ke(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]=Te,t[65]=v,t[66]=De,t[67]=g,t[68]=s,t[69]=_,t[70]=ke,t[71]=pe,t[72]=c,t[73]=o,t[74]=a,t[75]=i,t[76]=w,t[77]=C,t[78]=Me):Me=t[78];let Ne=Me,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe;if(t[79]!==ie||t[80]!==k||t[81]!==ye||t[82]!==Ce||t[83]!==xe||t[84]!==Te||t[85]!==T||t[86]!==r||t[87]!==s||t[88]!==n||t[89]!==c||t[90]!==E||t[91]!==Ne||t[92]!==o||t[93]!==a||t[94]!==i||t[95]!==R||t[96]!==w||t[97]!==ee){let e=ee??(ie===`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=ye.length>0||xe.length>0||Ce.length>0,f=ie===`variant`&&!!e;Fe=Qt,Ge=`mobile-model-picker-sheet-${T}`,Ke=n,t[117]===r?qe=t[118]:(qe=e=>{e||r()},t[117]=r,t[118]=qe),t[119]!==f||t[120]!==R||t[121]!==w?(Je=f?(0,Y.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>R(`model`),"aria-label":w(`onboarding.common.actions.back`),children:(0,Y.jsx)(V,{name:`arrow-left`,className:`size-5`})}):void 0,t[119]=f,t[120]=R,t[121]=w,t[122]=Je):Je=t[122],t[123]!==f||t[124]!==w?(Ye=w(f?`chat.modelControls.thinking`:`chat.modelControls.selectModel`),t[123]=f,t[124]=w,t[125]=Ye):Ye=t[125],t[126]===w?Xe=t[127]:(Xe=w(`mobile.surface.closeAria`),t[126]=w,t[127]=Xe),t[128]===w?Ze=t[129]:(Ze=w(`mobile.sessions.sheet.resizeAria`),t[128]=w,t[129]=Ze),Qe=`px-2`,Ue=`flex min-h-0 flex-1 flex-col gap-2`,t[130]!==f||t[131]!==E||t[132]!==w?(We=f?null:(0,Y.jsxs)(`div`,{className:`relative z-10 shrink-0`,"data-mobile-sheet-no-dismiss":``,"data-mobile-sheet-search":``,children:[(0,Y.jsx)(V,{name:`search`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,Y.jsx)(ce,{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,Y.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,Y.jsx)(V,{name:`close-circle`,className:`size-4`})}):null]}),t[130]=f,t[131]=E,t[132]=w,t[133]=We):We=t[133],Pe=U,Re=!0,ze=!0,Be=!0,Ve=`min-h-0 flex-1`,He=`overscroll-contain`,Ie=`flex flex-col gap-2`,Le=f&&e?(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:[void 0,...l].map(t=>{let n=t===u||!t&&!u;return(0,Y.jsxs)(`button`,{type:`button`,className:B(`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`),...je,onClick:()=>s(e.providerID,e.modelID,t),children:[(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:Te(t)}),n?(0,Y.jsx)(V,{name:`check`,className:`size-4 flex-shrink-0 text-primary`}):null]},t??`default`)})}):(0,Y.jsxs)(Y.Fragment,{children:[d?null:(0,Y.jsx)(`div`,{className:`px-3 py-8 text-center typography-meta text-muted-foreground`,children:w(`chat.modelControls.noProvidersOrModelsFound`)}),ye.length>0?(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,Y.jsx)(V,{name:`star-fill`,className:`mr-1.5 inline-block size-3 text-primary`}),w(`chat.modelControls.favorites`)]}),(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:ye.map(e=>Ne(e,{showProvider:!0}))})]}):null,xe.length>0?(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`div`,{className:`px-2 py-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:[(0,Y.jsx)(V,{name:`time`,className:`mr-1.5 inline-block size-3`}),w(`chat.modelControls.recent`)]}),(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:xe.map(e=>Ne(e,{showProvider:!0}))})]}):null,Ce.map(e=>{let{provider:t,models:n}=e,r=k.has(t.id)||E.trim().length>0;return(0,Y.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/40 bg-[var(--surface-elevated)]`,children:[(0,Y.jsxs)(`button`,{type:`button`,...je,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,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(oe,{providerId:t.id,className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:t.name||t.id}),t.id===i?(0,Y.jsx)(`span`,{className:`typography-micro text-primary/80`,children:w(`chat.modelControls.current`)}):null]}),(0,Y.jsx)(V,{name:r?`arrow-down-s`:`arrow-right-s`,className:`size-3 text-muted-foreground`})]}),r?(0,Y.jsx)(`div`,{className:`flex flex-col border-t border-border/30`,children:n.map(e=>Ne({model:e,providerID:t.id,modelID:e.id}))}):null]},t.id)})]}),t[79]=ie,t[80]=k,t[81]=ye,t[82]=Ce,t[83]=xe,t[84]=Te,t[85]=T,t[86]=r,t[87]=s,t[88]=n,t[89]=c,t[90]=E,t[91]=Ne,t[92]=o,t[93]=a,t[94]=i,t[95]=R,t[96]=w,t[97]=ee,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]=Qe}else Pe=t[98],Fe=t[99],Ie=t[100],Le=t[101],Re=t[102],ze=t[103],Be=t[104],Ve=t[105],He=t[106],Ue=t[107],We=t[108],Ge=t[109],Ke=t[110],qe=t[111],Je=t[112],Ye=t[113],Xe=t[114],Ze=t[115],Qe=t[116];let $e;t[134]!==Ie||t[135]!==Le?($e=(0,Y.jsx)(`div`,{className:Ie,children:Le}),t[134]=Ie,t[135]=Le,t[136]=$e):$e=t[136];let et;t[137]!==Pe||t[138]!==Re||t[139]!==ze||t[140]!==Be||t[141]!==Ve||t[142]!==He||t[143]!==$e?(et=(0,Y.jsx)(Pe,{useScrollShadow:Re,disableHorizontal:ze,preventOverscroll:Be,outerClassName:Ve,className:He,children:$e}),t[137]=Pe,t[138]=Re,t[139]=ze,t[140]=Be,t[141]=Ve,t[142]=He,t[143]=$e,t[144]=et):et=t[144];let tt;t[145]!==Ue||t[146]!==We||t[147]!==et?(tt=(0,Y.jsxs)(`div`,{className:Ue,children:[We,et]}),t[145]=Ue,t[146]=We,t[147]=et,t[148]=tt):tt=t[148];let nt;return t[149]!==Fe||t[150]!==Ge||t[151]!==Ke||t[152]!==qe||t[153]!==Je||t[154]!==Ye||t[155]!==Xe||t[156]!==Ze||t[157]!==Qe||t[158]!==tt?(nt=(0,Y.jsx)(Fe,{id:Ge,open:Ke,onOpenChange:qe,leading:Je,ariaLabel:Ye,closeAriaLabel:Xe,resizeAriaLabel:Ze,bodyClassName:Qe,children:tt}),t[149]=Fe,t[150]=Ge,t[151]=Ke,t[152]=qe,t[153]=Je,t[154]=Ye,t[155]=Xe,t[156]=Ze,t[157]=Qe,t[158]=tt,t[159]=nt):nt=t[159],nt};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,X.c)(203),{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}=te(),{isReady:y,isUnavailable:b}=$t(),x=I(Cn),S=m??x,C=I(wn),w=n(Tn),T=n(En),E=n(Dn),D=n(On),O=n(kn),k=n(An),{favoriteModelsList:A,recentModelsList:j}=G(),{isMobile:M}=ue(),N=w||M,[P,ee]=J.useState(!1),[ne,re]=J.useState(!1),ie;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>{ee(!0),I.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:mobilePanel`})},t[0]=ie):ie=t[0];let L=F(ie),ae;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{re(e),e&&I.getState().refreshCatalogsOnPickerOpen({source:`modelSelector:desktopMenu`})},t[1]=ae):ae=t[1];let R=F(ae),[z,H]=J.useState(``),[U,oe]=J.useState(null),K=a!==void 0,q;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(q=()=>{ee(!1),re(!1),H(``),oe(null)},t[2]=q):q=t[2];let ce=q,le;t[3]===S?le=t[4]:(le=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[3]=S,t[4]=le);let de=le,fe;t[5]!==O||t[6]!==de||t[7]!==i||t[8]!==o||t[9]!==r||t[10]!==a||t[11]!==K?(fe=e=>{let t=de(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),ce()},t[5]=O,t[6]=de,t[7]=i,t[8]=o,t[9]=r,t[10]=a,t[11]=K,t[12]=fe):fe=t[12];let pe=fe,me;t[13]!==o||t[14]!==K?(me=()=>{o(``,``,K?``:void 0),ce()},t[13]=o,t[14]=K,t[15]=me):me=t[15];let he=me,ge;t[16]!==O||t[17]!==o||t[18]!==U?(ge=e=>{U&&(o(U.providerID,U.modelID,e),O(U.providerID,U.modelID),ce())},t[16]=O,t[17]=o,t[18]=U,t[19]=ge):ge=t[19];let Z=ge,_e;t[20]===v?_e=t[21]:(_e=v(`settings.agents.modelSelector.searchPlaceholder`),t[20]=v,t[21]=_e);let Q;t[22]===v?Q=t[23]:(Q=v(`settings.agents.modelSelector.state.noModelsFound`),t[22]=v,t[23]=Q);let ve;t[24]===v?ve=t[25]:(ve=v(`settings.agents.modelSelector.section.favorites`),t[24]=v,t[25]=ve);let ye;t[26]===v?ye=t[27]:(ye=v(`settings.agents.modelSelector.section.recent`),t[26]=v,t[27]=ye);let be;t[28]===v?be=t[29]:(be=v(`settings.agents.modelSelector.keyboardHints`),t[28]=v,t[29]=be);let xe;t[30]!==u||t[31]!==v?(xe=u||v(`settings.agents.modelSelector.notSelected`),t[30]=u,t[31]=v,t[32]=xe):xe=t[32];let Se;t[33]===v?Se=t[34]:(Se=v(`settings.agents.modelSelector.actions.favorite`),t[33]=v,t[34]=Se);let Ce;t[35]===v?Ce=t[36]:(Ce=v(`settings.agents.modelSelector.actions.unfavorite`),t[35]=v,t[36]=Ce);let we;t[37]===v?we=t[38]:(we=v(`chat.modelControls.provider`),t[37]=v,t[38]=we);let Te;t[39]===v?Te=t[40]:(Te=v(`chat.modelControls.capabilities`),t[39]=v,t[40]=Te);let Ee;t[41]===v?Ee=t[42]:(Ee=v(`chat.modelControls.capability.toolCalling`),t[41]=v,t[42]=Ee);let De;t[43]===v?De=t[44]:(De=v(`chat.modelControls.capability.reasoning`),t[43]=v,t[44]=De);let Oe;t[45]===v?Oe=t[46]:(Oe=v(`chat.modelControls.modality.image`),t[45]=v,t[46]=Oe);let ke;t[47]===v?ke=t[48]:(ke=v(`chat.modelControls.modality.video`),t[47]=v,t[48]=ke);let Ae;t[49]===v?Ae=t[50]:(Ae=v(`chat.modelControls.modality.audio`),t[49]=v,t[50]=Ae);let je;t[51]===v?je=t[52]:(je=v(`chat.modelControls.costPerMillion`),t[51]=v,t[52]=je);let Me;t[53]===v?Me=t[54]:(Me=v(`chat.modelControls.costInput`),t[53]=v,t[54]=Me);let Ne;t[55]===v?Ne=t[56]:(Ne=v(`chat.modelControls.costOutput`),t[55]=v,t[56]=Ne);let Pe;t[57]!==_e||t[58]!==Q||t[59]!==ve||t[60]!==ye||t[61]!==be||t[62]!==xe||t[63]!==Se||t[64]!==Ce||t[65]!==we||t[66]!==Te||t[67]!==Ee||t[68]!==De||t[69]!==Oe||t[70]!==ke||t[71]!==Ae||t[72]!==je||t[73]!==Me||t[74]!==Ne?(Pe={searchPlaceholder:_e,noResults:Q,favorites:ve,recent:ye,keyboardHint:be,notSelected:xe,favorite:Se,unfavorite:Ce,provider:we,capabilities:Te,capabilityToolCalling:Ee,capabilityReasoning:De,modalityImage:Oe,modalityVideo:ke,modalityAudio:Ae,costPerMillion:je,costInput:Me,costOutput:Ne},t[57]=_e,t[58]=Q,t[59]=ve,t[60]=ye,t[61]=be,t[62]=xe,t[63]=Se,t[64]=Ce,t[65]=we,t[66]=Te,t[67]=Ee,t[68]=De,t[69]=Oe,t[70]=ke,t[71]=Ae,t[72]=je,t[73]=Me,t[74]=Ne,t[75]=Pe):Pe=t[75];let Fe=Pe,Ie;t[76]!==i||t[77]!==r?(Ie=r&&i?{providerID:r,modelID:i}:null,t[76]=i,t[77]=r,t[78]=Ie):Ie=t[78];let Le=Ie,Re;t[79]!==i||t[80]!==u||t[81]!==r||t[82]!==v?(Re=r&&i?`${r}/${i}`:u||v(`settings.agents.modelSelector.notSelected`),t[79]=i,t[80]=u,t[81]=r,t[82]=v,t[83]=Re):Re=t[83];let ze=Re,Be;t[84]!==v||t[85]!==a||t[86]!==K?(Be=K?a||v(`chat.modelControls.default`):null,t[84]=v,t[85]=a,t[86]=K,t[87]=Be):Be=t[87];let Ve=Be,He;t[88]!==i||t[89]!==r||t[90]!==a||t[91]!==K?(He=(e,t)=>{if(!(!K||e!==r||t!==i))return a||void 0},t[88]=i,t[89]=r,t[90]=a,t[91]=K,t[92]=He):He=t[92];let Ue=He,We;t[93]!==O||t[94]!==o||t[95]!==K?(We=(e,t,n)=>{o(e,t,K?n??``:void 0),O(e,t),ce()},t[93]=O,t[94]=o,t[95]=K,t[96]=We):We=t[96];let Ge=We,Ye;t[97]!==de||t[98]!==v||t[99]!==a||t[100]!==K?(Ye=(e,t)=>{if(!K||de(e).length===0)return null;let n=t.isSelected?a:``;return(0,Y.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(),oe(e)},"aria-label":v(`chat.modelControls.showThinkingModes`),children:[(0,Y.jsx)(`span`,{className:`max-w-24 truncate`,children:n||v(`chat.modelControls.default`)}),(0,Y.jsx)(V,{name:`arrow-right-s`,className:`size-3.5`})]})},t[97]=de,t[98]=v,t[99]=a,t[100]=K,t[101]=Ye):Ye=t[101];let Xe=Ye,Ze=N?`max-h-none flex-1`:void 0,Qe=h&&(N?P:ne),$e;t[102]===D?$e=t[103]:($e=e=>D(e.providerID,e.modelID),t[102]=D,t[103]=$e);let et;t[104]===E?et=t[105]:(et=e=>E(e.providerID,e.modelID),t[104]=E,t[105]=et);let tt;t[106]!==l||t[107]!==c||t[108]!==A||t[109]!==C||t[110]!==pe||t[111]!==he||t[112]!==T||t[113]!==Fe||t[114]!==k||t[115]!==S||t[116]!==j||t[117]!==Xe||t[118]!==z||t[119]!==Le||t[120]!==Ze||t[121]!==Qe||t[122]!==$e||t[123]!==et?(tt=(0,Y.jsx)(W,{providers:S,providerOrder:k,favoriteModels:A,recentModels:j,getMetadata:C,searchQuery:z,onSearchQueryChange:H,onSelect:pe,labels:Fe,selectedModel:Le,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,includeNotSelected:!0,onSelectNone:he,onEscape:ce,maxHeightClassName:Ze,tooltipsEnabled:Qe,isFavorite:$e,onToggleFavorite:et,renderRowEnd:Xe}),t[106]=l,t[107]=c,t[108]=A,t[109]=C,t[110]=pe,t[111]=he,t[112]=T,t[113]=Fe,t[114]=k,t[115]=S,t[116]=j,t[117]=Xe,t[118]=z,t[119]=Le,t[120]=Ze,t[121]=Qe,t[122]=$e,t[123]=et,t[124]=tt):tt=t[124];let nt=tt,rt;t[125]!==de||t[126]!==Z||t[127]!==i||t[128]!==r||t[129]!==v||t[130]!==a||t[131]!==U?(rt=U?(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,Y.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:()=>oe(null),"aria-label":v(`header.actions.backAria`),children:[(0,Y.jsx)(V,{name:`arrow-left`,className:`size-4`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:U.modelID})]}),(0,Y.jsx)(`div`,{className:`space-y-1 p-2`,role:`listbox`,"aria-label":v(`chat.modelControls.thinking`),children:[``,...de(U)].map(e=>{let t=U.providerID===r&&U.modelID===i&&(a||``)===e;return(0,Y.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,className:B(`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:()=>Z(e),children:[(0,Y.jsx)(`span`,{className:`truncate`,children:e||v(`chat.modelControls.default`)}),t?(0,Y.jsx)(V,{name:`check`,className:`size-4 shrink-0`}):null]},e||`__default`)})})]}):null,t[125]=de,t[126]=Z,t[127]=i,t[128]=r,t[129]=v,t[130]=a,t[131]=U,t[132]=rt):rt=t[132];let it=rt||nt;if(N){let e=y?L:void 0,n=!y,a=!y&&`opacity-60 cursor-not-allowed`,o;t[133]!==s||t[134]!==a?(o=B(`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[133]=s,t[134]=a,t[135]=o):o=t[135];let u;t[136]!==y||t[137]!==b||t[138]!==i||t[139]!==r||t[140]!==_||t[141]!==v?(u=y?_&&(r||i)?(0,Y.jsx)(se,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):_?(0,Y.jsx)(V,{name:`pencil-ai`,className:`h-3 w-3 text-muted-foreground`}):null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[136]=y,t[137]=b,t[138]=i,t[139]=r,t[140]=_,t[141]=v,t[142]=u):u=t[142];let d;t[143]!==y||t[144]!==ze?(d=y?(0,Y.jsx)(`span`,{className:`typography-meta font-medium text-foreground truncate`,children:ze}):null,t[143]=y,t[144]=ze,t[145]=d):d=t[145];let f;t[146]!==y||t[147]!==Ve?(f=y&&Ve?(0,Y.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null,t[146]=y,t[147]=Ve,t[148]=f):f=t[148];let p;t[149]!==u||t[150]!==d||t[151]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[u,d,f]}),t[149]=u,t[150]=d,t[151]=f,t[152]=p):p=t[152];let m;t[153]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-3 w-3 flex-shrink-0 text-muted-foreground`}),t[153]=m):m=t[153];let h;t[154]!==e||t[155]!==n||t[156]!==o||t[157]!==p?(h=(0,Y.jsxs)(`button`,{type:`button`,onClick:e,disabled:n,className:o,children:[p,m]}),t[154]=e,t[155]=n,t[156]=o,t[157]=p,t[158]=h):h=t[158];let g;t[159]!==l||t[160]!==c||t[161]!==A||t[162]!==C||t[163]!==Ge||t[164]!==T||t[165]!==D||t[166]!==P||t[167]!==i||t[168]!==r||t[169]!==k||t[170]!==S||t[171]!==j||t[172]!==Ue||t[173]!==E||t[174]!==K?(g=(0,Y.jsx)(mn,{open:P,onClose:ce,selectedProviderID:r,selectedModelID:i,resolveSelectedVariant:Ue,onSelect:Ge,providers:S,favoriteModels:A,recentModels:j,getMetadata:C,hiddenModels:T,allowedProviderIds:c,allowedModelIdsByProvider:l,providerOrder:k,variantSelectionEnabled:K,isFavorite:D,onToggleFavorite:E}),t[159]=l,t[160]=c,t[161]=A,t[162]=C,t[163]=Ge,t[164]=T,t[165]=D,t[166]=P,t[167]=i,t[168]=r,t[169]=k,t[170]=S,t[171]=j,t[172]=Ue,t[173]=E,t[174]=K,t[175]=g):g=t[175];let x;return t[176]!==h||t[177]!==g?(x=(0,Y.jsxs)(Y.Fragment,{children:[h,g]}),t[176]=h,t[177]=g,t[178]=x):x=t[178],x}let at=y&&ne,ot=y?R:void 0,st=!y&&`opacity-60 cursor-not-allowed`,$;t[179]!==s||t[180]!==st?($=B(`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[179]=s,t[180]=st,t[181]=$):$=t[181];let ct;t[182]!==y||t[183]!==b||t[184]!==i||t[185]!==r||t[186]!==_||t[187]!==v||t[188]!==ze||t[189]!==Ve?(ct=y?(0,Y.jsxs)(Y.Fragment,{children:[_?r||i?(0,Y.jsx)(se,{modelId:i,providerId:r,className:`h-3.5 w-3.5 flex-shrink-0`}):(0,Y.jsx)(V,{name:`pencil-ai`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):null,(0,Y.jsx)(`span`,{className:`typography-ui-label min-w-0 flex-1 truncate text-left font-normal text-foreground`,children:ze}),Ve?(0,Y.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:Ve}):null]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground flex-shrink-0`}),(0,Y.jsx)(`span`,{className:`typography-ui-label font-normal whitespace-nowrap text-muted-foreground`,children:v(b?`common.unavailable`:`common.loading`)})]}),t[182]=y,t[183]=b,t[184]=i,t[185]=r,t[186]=_,t[187]=v,t[188]=ze,t[189]=Ve,t[190]=ct):ct=t[190];let lt;t[191]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,Y.jsx)(V,{name:`arrow-down-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/50`}),t[191]=lt):lt=t[191];let ut;t[192]!==$||t[193]!==ct?(ut=(0,Y.jsx)(qe,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:$,children:[ct,lt]})}),t[192]=$,t[193]=ct,t[194]=ut):ut=t[194];let dt;t[195]!==g||t[196]!==it?(dt=(0,Y.jsx)(Je,{className:`w-[min(380px,calc(100vw-2rem))] p-0 flex flex-col`,align:`start`,portalToBody:g,children:it}),t[195]=g,t[196]=it,t[197]=dt):dt=t[197];let ft;return t[198]!==at||t[199]!==ot||t[200]!==ut||t[201]!==dt?(ft=(0,Y.jsxs)(Ke,{open:at,onOpenChange:ot,children:[ut,dt]}),t[198]=at,t[199]=ot,t[200]=ut,t[201]=dt,t[202]=ft):ft=t[202],ft};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,X.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(ee),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 P().language;case`md`:case`markdown`:case`mdown`:case`mkd`:return N().language;case`heex`:case`eex`:case`leex`:return A().language;default:return D.matchLanguageName(de,t,!0)}}var Un=e=>e.split(`/`).pop()?.toLowerCase()??``,Wn=e=>{let t=Un(e);return t?D.matchFilename(de,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[N({codeLanguages:Hn}),Gn()];case`sh`:case`bash`:case`zsh`:case`fish`:case`env`:return Bn;case`py`:case`pyw`:case`pyi`:return P();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,J.useState)(!1),[n,r]=(0,J.useState)(null),i=(0,J.useRef)(null),o=(0,J.useRef)(null),s=(0,J.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,J.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,J.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,J.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(ne(),{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(ne(),{...n,hour12:n.hour?tr(t):n.hour12}):``},ir=J.memo(function(e){let t=(0,X.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=B(`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=B(`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,Y.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,Y.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{Xe as A,Re as B,vt as C,Je as D,Ke as E,ze as F,Le as G,Me as H,He as I,Te as J,je as K,Ve as L,$e as M,qe as N,Ye as O,Be as P,he as Q,ve as R,Ct as S,_t as T,Ne as U,Ae as V,Pe as W,Q as X,De as Y,_e 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,Ze as j,Qe as k,Ln as l,mn as m,rr as n,Hn as o,Sn as p,Fe as q,nr as r,Kn as s,ir as t,Rn as u,Zt as v,$ as w,St as x,Tt as y,Ie as z};
|
|
@@ -0,0 +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};
|