opencami 1.8.7 → 1.8.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +0 -1
  2. package/dist/client/assets/{CSPContext-KDlbpvjX.js → CSPContext-nHSyQniZ.js} +1 -1
  3. package/dist/client/assets/{DirectionContext-DZNUWW6F.js → DirectionContext-B1cuzwIr.js} +1 -1
  4. package/dist/client/assets/_sessionKey-CNw4O2rY.js +19 -0
  5. package/dist/client/assets/agents-C6Ev94B1.js +2 -0
  6. package/dist/client/assets/agents-screen-DpNSh5Ok.js +1 -0
  7. package/dist/client/assets/bots-B2_u-OmP.js +2 -0
  8. package/dist/client/assets/{bots-screen-CvbAVMk0.js → bots-screen-Qh_IK9hC.js} +1 -1
  9. package/dist/client/assets/button-DdG8c-XQ.js +1 -0
  10. package/dist/client/assets/{composite-t7Eu0qB0.js → composite-Cx-QHT9o.js} +1 -1
  11. package/dist/client/assets/{connect-Btonx7l6.js → connect-CSbeSBTn.js} +1 -1
  12. package/dist/client/assets/{dashboard-Dz6Uyyke.js → dashboard-DA1fTRcH.js} +1 -1
  13. package/dist/client/assets/event-Dwf9IDxK.js +1 -0
  14. package/dist/client/assets/file-explorer-screen-DzDX4HcB.js +1 -0
  15. package/dist/client/assets/files-PsZnGOUx.js +2 -0
  16. package/dist/client/assets/follow-up-suggestions-BYWq-d8P.js +5 -0
  17. package/dist/client/assets/{index-yPOt98v7.js → index-B551ln24.js} +1 -1
  18. package/dist/client/assets/{index-nheqha2z.js → index-BxsgifDH.js} +1 -1
  19. package/dist/client/assets/keyboard-shortcuts-dialog-BX-hH4Wf.js +1 -0
  20. package/dist/client/assets/main-DBmooBKx.js +210 -0
  21. package/dist/client/assets/markdown-Bpat4kTr.js +87 -0
  22. package/dist/client/assets/memory-Bs8hOoEv.js +2 -0
  23. package/dist/client/assets/memory-screen-1DgDLyZf.js +1 -0
  24. package/dist/client/assets/menu-ByR1BVmq.js +1 -0
  25. package/dist/client/assets/{opencami-logo-CoCA2JIf.js → opencami-logo-BV1uPYe6.js} +1 -1
  26. package/dist/client/assets/popupStateMapping-CGDLUl5Y.js +1 -0
  27. package/dist/client/assets/proxy-DYrSkM35.js +9 -0
  28. package/dist/client/assets/{react-DzPMbcP8.js → react-dSDkXQu6.js} +1 -1
  29. package/dist/client/assets/search-dialog-B3XJLq-O.js +1 -0
  30. package/dist/client/assets/{search-sources-badge-DOd5AI-i.js → search-sources-badge-CTd0gLuz.js} +1 -1
  31. package/dist/client/assets/session-export-dialog-Cib97JLm.js +1 -0
  32. package/dist/client/assets/settings-dialog-B4NLq1ZS.js +1 -0
  33. package/dist/client/assets/{skills-panel-_M5k5dty.js → skills-panel-Cj7yHGbX.js} +1 -1
  34. package/dist/client/assets/skills-pueagQNc.js +2 -0
  35. package/dist/client/assets/styles-Ce2xZzc4.css +1 -0
  36. package/dist/client/assets/switch-kXs1I0oW.js +1 -0
  37. package/dist/client/assets/tabs-B6GW7TBf.js +1 -0
  38. package/dist/client/assets/thinking-DTP9JDQl.js +1 -0
  39. package/dist/client/assets/tooltip-CtHpm-sQ.js +1 -0
  40. package/dist/client/assets/use-file-explorer-state-C-D2CShe.js +12 -0
  41. package/dist/client/assets/{useBaseUiId-CMJ8I9al.js → useBaseUiId-Ckx_aJky.js} +1 -1
  42. package/dist/client/assets/{useCompositeItem-CSriPK0T.js → useCompositeItem-CkvfeGmG.js} +1 -1
  43. package/dist/client/assets/{useControlled-KFa25CcD.js → useControlled-8D4PSDAL.js} +1 -1
  44. package/dist/client/assets/{useMutation-Bd89JWif.js → useMutation-DckvFKPC.js} +1 -1
  45. package/dist/client/assets/{useQuery-DhR_UXNX.js → useQuery-CtUiG53w.js} +1 -1
  46. package/dist/server/assets/{_sessionKey-BzM-igv7.js → _sessionKey-LV6xK9IM.js} +47 -148
  47. package/dist/server/assets/{_tanstack-start-manifest_v-Bfnqdswf.js → _tanstack-start-manifest_v-qVhiIEVc.js} +1 -1
  48. package/dist/server/assets/{follow-up-suggestions-DhBZIszK.js → follow-up-suggestions-CSSc4PDe.js} +2 -2
  49. package/dist/server/assets/{index-DCMpnyEo.js → index-DMKS4aeI.js} +1 -1
  50. package/dist/server/assets/{router-BqPDQeCx.js → router-Cr2xCvGA.js} +3 -3
  51. package/dist/server/assets/{search-dialog-DtYc9e4N.js → search-dialog-DR6zBnui.js} +2 -2
  52. package/dist/server/assets/{settings-dialog-BQzn6fyF.js → settings-dialog-DEMlCMCP.js} +2 -2
  53. package/dist/server/assets/{thinking-D6q1tJkk.js → thinking-BpAc3itF.js} +2 -2
  54. package/dist/server/server.js +38 -195
  55. package/package.json +2 -6
  56. package/dist/client/assets/_sessionKey-CPRycepq.js +0 -19
  57. package/dist/client/assets/agents-Bp6Cn1BH.js +0 -2
  58. package/dist/client/assets/agents-screen-Du8b4SRW.js +0 -1
  59. package/dist/client/assets/bots-Dl65yZDx.js +0 -2
  60. package/dist/client/assets/button-BxDVif49.js +0 -1
  61. package/dist/client/assets/event-DeooaZzN.js +0 -1
  62. package/dist/client/assets/file-explorer-screen-BnOINWSL.js +0 -1
  63. package/dist/client/assets/files-Cf87gXsq.js +0 -2
  64. package/dist/client/assets/follow-up-suggestions-DP_84nA2.js +0 -5
  65. package/dist/client/assets/keyboard-shortcuts-dialog-BzL7ZJUb.js +0 -1
  66. package/dist/client/assets/main-DJgQwVqD.js +0 -210
  67. package/dist/client/assets/markdown-CFbW7h0Q.js +0 -87
  68. package/dist/client/assets/memory-kYdhgbRR.js +0 -2
  69. package/dist/client/assets/memory-screen-BKYBnY-V.js +0 -1
  70. package/dist/client/assets/menu-CnihCZ4y.js +0 -1
  71. package/dist/client/assets/proxy-C2vtPufK.js +0 -9
  72. package/dist/client/assets/search-dialog-CDAdFAQI.js +0 -1
  73. package/dist/client/assets/session-export-dialog-Cf8eisLM.js +0 -1
  74. package/dist/client/assets/settings-dialog-CB1OiRWU.js +0 -1
  75. package/dist/client/assets/skills-D6MaebJh.js +0 -2
  76. package/dist/client/assets/styles-BNkOWk4R.css +0 -1
  77. package/dist/client/assets/switch-LzFh8co4.js +0 -1
  78. package/dist/client/assets/tabs-D9o7Irvl.js +0 -1
  79. package/dist/client/assets/thinking-BqZoM6BP.js +0 -1
  80. package/dist/client/assets/tooltip-D64CzFXa.js +0 -1
  81. package/dist/client/assets/use-file-explorer-state-Tzex8EEL.js +0 -12
  82. package/dist/client/assets/useOnFirstRender-DqnUCnnL.js +0 -1
@@ -1 +1 @@
1
- import{C as V,ab as _,ac as Y,ad as j,ae as D}from"./button-BxDVif49.js";import{r as l,v as x}from"./main-DJgQwVqD.js";const g=x[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],G=g&&g!==l.useLayoutEffect?g:e=>e();function k(e){const t=V(J).current;return t.next=e,G(t.effect),t.trampoline}function J(){const e={next:void 0,callback:X,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function X(){}function m(){return typeof window<"u"}function E(e){return I(e)?(e.nodeName||"").toLowerCase():"#document"}function d(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){var t;return(t=(I(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function I(e){return m()?e instanceof Node||e instanceof d(e).Node:!1}function T(e){return m()?e instanceof Element||e instanceof d(e).Element:!1}function h(e){return m()?e instanceof HTMLElement||e instanceof d(e).HTMLElement:!1}function N(e){return!m()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof d(e).ShadowRoot}const z=new Set(["inline","contents"]);function L(e){const{overflow:t,overflowX:n,overflowY:r,display:s}=O(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!z.has(s)}const Q=new Set(["table","td","th"]);function he(e){return Q.has(E(e))}const Z=[":popover-open",":modal"];function ee(e){return Z.some(t=>{try{return e.matches(t)}catch{return!1}})}const te=["transform","translate","scale","rotate","perspective"],ne=["transform","translate","scale","rotate","perspective","filter"],oe=["paint","layout","strict","content"];function se(e){const t=re(),n=T(e)?O(e):e;return te.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||ne.some(r=>(n.willChange||"").includes(r))||oe.some(r=>(n.contain||"").includes(r))}function Ce(e){let t=y(e);for(;h(t)&&!B(t);){if(se(t))return t;if(ee(t))return null;t=y(t)}return null}function re(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const ae=new Set(["html","body","#document"]);function B(e){return ae.has(E(e))}function O(e){return d(e).getComputedStyle(e)}function De(e){return T(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function y(e){if(E(e)==="html")return e;const t=e.assignedSlot||e.parentNode||N(e)&&e.host||q(e);return N(t)?t.host:t}function R(e){const t=y(e);return B(t)?e.ownerDocument?e.ownerDocument.body:e.body:h(t)&&L(t)?t:R(t)}function S(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const s=R(e),a=s===((r=e.ownerDocument)==null?void 0:r.body),i=d(s);if(a){const u=ie(i);return t.concat(i,i.visualViewport||[],L(s)?s:[],u&&n?S(u):[])}return t.concat(s,S(s,[],n))}function ie(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}const ce=()=>{},le=typeof document<"u"?l.useLayoutEffect:ce,ue={...x};let P=0;function fe(e,t="mui"){const[n,r]=l.useState(e),s=e||n;return l.useEffect(()=>{n==null&&(P+=1,r(`${t}-${P}`))},[n,t]),s}const v=ue.useId;function de(e,t){if(v!==void 0){const n=v();return e??(t?`${t}-${n}`:n)}return fe(e,t)}const ke="none",Ne="trigger-press",Se="trigger-hover",Pe="trigger-focus",ve="outside-press",xe="item-press",Ie="close-press",Te="focus-out",Le="escape-key",Be="list-navigation",Oe="cancel-open",Re="sibling-open",Ke="disabled",Me="imperative-action";function Fe(e,t,n,r){let s=!1,a=!1;const i=r??_;return{reason:e,event:t??new Event("base-ui"),cancel(){s=!0},allowPropagation(){a=!0},get isCanceled(){return s},get isPropagationAllowed(){return a},trigger:n,...i}}const pe=l.createContext(void 0);function be(e=!1){const t=l.useContext(pe);if(t===void 0&&!e)throw new Error(Y(16));return t}function me(e){const{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:s=0,isNativeButton:a}=e,i=r&&t!==!1,u=r&&t===!1;return{props:l.useMemo(()=>{const f={onKeyDown(b){n&&t&&b.key!=="Tab"&&b.preventDefault()}};return r||(f.tabIndex=s,!a&&n&&(f.tabIndex=t?s:-1)),(a&&(t||i)||!a&&n)&&(f["aria-disabled"]=n),a&&(!t||u)&&(f.disabled=n),f},[r,n,t,i,u,a,s])}}function Ue(e={}){const{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:s=!0}=e,a=l.useRef(null),i=be(!0)!==void 0,u=k(()=>{const c=a.current;return!!(c?.tagName==="A"&&c?.href)}),{props:p}=me({focusableWhenDisabled:n,disabled:t,composite:i,tabIndex:r,isNativeButton:s}),f=l.useCallback(()=>{const c=a.current;we(c)&&i&&t&&p.disabled===void 0&&c.disabled&&(c.disabled=!1)},[t,p.disabled,i]);le(f,[f]);const b=l.useCallback((c={})=>{const{onClick:w,onMouseDown:M,onKeyUp:F,onKeyDown:U,onPointerDown:W,...A}=c;return j({type:s?"button":void 0,onClick(o){if(t){o.preventDefault();return}w?.(o)},onMouseDown(o){t||M?.(o)},onKeyDown(o){if(t||(D(o),U?.(o)),o.baseUIHandlerPrevented)return;const H=o.target===o.currentTarget&&!s&&!u()&&!t,C=o.key==="Enter",$=o.key===" ";H&&(($||C)&&o.preventDefault(),C&&w?.(o))},onKeyUp(o){t||(D(o),F?.(o)),!o.baseUIHandlerPrevented&&o.target===o.currentTarget&&!s&&!t&&o.key===" "&&w?.(o)},onPointerDown(o){if(t){o.preventDefault();return}W?.(o)}},s?void 0:{role:"button"},p,A)},[t,p,s,u]),K=k(c=>{a.current=c,f()});return{getButtonProps:b,buttonRef:K}}function we(e){return h(e)&&e.tagName==="BUTTON"}function We(e){return de(e,"base-ui")}export{L as A,E as B,pe as C,Ie as D,S as E,q as F,ie as G,re as H,ee as I,he as J,se as K,Ce as L,De as M,Ke as N,I as O,k as a,be as b,N as c,T as d,We as e,Ue as f,Fe as g,O as h,h as i,Te as j,xe as k,Be as l,Se as m,ke as n,ve as o,de as p,Pe as q,Le as r,Re as s,Ne as t,le as u,Me as v,B as w,y as x,Oe as y,d as z};
1
+ import{C as V,ab as _,ac as Y,ad as j,ae as D}from"./button-DdG8c-XQ.js";import{r as l,v as x}from"./main-DBmooBKx.js";const g=x[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],G=g&&g!==l.useLayoutEffect?g:e=>e();function k(e){const t=V(J).current;return t.next=e,G(t.effect),t.trampoline}function J(){const e={next:void 0,callback:X,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function X(){}function m(){return typeof window<"u"}function E(e){return I(e)?(e.nodeName||"").toLowerCase():"#document"}function d(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){var t;return(t=(I(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function I(e){return m()?e instanceof Node||e instanceof d(e).Node:!1}function T(e){return m()?e instanceof Element||e instanceof d(e).Element:!1}function h(e){return m()?e instanceof HTMLElement||e instanceof d(e).HTMLElement:!1}function N(e){return!m()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof d(e).ShadowRoot}const z=new Set(["inline","contents"]);function L(e){const{overflow:t,overflowX:n,overflowY:r,display:s}=O(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!z.has(s)}const Q=new Set(["table","td","th"]);function he(e){return Q.has(E(e))}const Z=[":popover-open",":modal"];function ee(e){return Z.some(t=>{try{return e.matches(t)}catch{return!1}})}const te=["transform","translate","scale","rotate","perspective"],ne=["transform","translate","scale","rotate","perspective","filter"],oe=["paint","layout","strict","content"];function se(e){const t=re(),n=T(e)?O(e):e;return te.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||ne.some(r=>(n.willChange||"").includes(r))||oe.some(r=>(n.contain||"").includes(r))}function Ce(e){let t=y(e);for(;h(t)&&!B(t);){if(se(t))return t;if(ee(t))return null;t=y(t)}return null}function re(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const ae=new Set(["html","body","#document"]);function B(e){return ae.has(E(e))}function O(e){return d(e).getComputedStyle(e)}function De(e){return T(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function y(e){if(E(e)==="html")return e;const t=e.assignedSlot||e.parentNode||N(e)&&e.host||q(e);return N(t)?t.host:t}function R(e){const t=y(e);return B(t)?e.ownerDocument?e.ownerDocument.body:e.body:h(t)&&L(t)?t:R(t)}function S(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const s=R(e),a=s===((r=e.ownerDocument)==null?void 0:r.body),i=d(s);if(a){const u=ie(i);return t.concat(i,i.visualViewport||[],L(s)?s:[],u&&n?S(u):[])}return t.concat(s,S(s,[],n))}function ie(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}const ce=()=>{},le=typeof document<"u"?l.useLayoutEffect:ce,ue={...x};let P=0;function fe(e,t="mui"){const[n,r]=l.useState(e),s=e||n;return l.useEffect(()=>{n==null&&(P+=1,r(`${t}-${P}`))},[n,t]),s}const v=ue.useId;function de(e,t){if(v!==void 0){const n=v();return e??(t?`${t}-${n}`:n)}return fe(e,t)}const ke="none",Ne="trigger-press",Se="trigger-hover",Pe="trigger-focus",ve="outside-press",xe="item-press",Ie="close-press",Te="focus-out",Le="escape-key",Be="list-navigation",Oe="cancel-open",Re="sibling-open",Ke="disabled",Me="imperative-action";function Fe(e,t,n,r){let s=!1,a=!1;const i=r??_;return{reason:e,event:t??new Event("base-ui"),cancel(){s=!0},allowPropagation(){a=!0},get isCanceled(){return s},get isPropagationAllowed(){return a},trigger:n,...i}}const pe=l.createContext(void 0);function be(e=!1){const t=l.useContext(pe);if(t===void 0&&!e)throw new Error(Y(16));return t}function me(e){const{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:s=0,isNativeButton:a}=e,i=r&&t!==!1,u=r&&t===!1;return{props:l.useMemo(()=>{const f={onKeyDown(b){n&&t&&b.key!=="Tab"&&b.preventDefault()}};return r||(f.tabIndex=s,!a&&n&&(f.tabIndex=t?s:-1)),(a&&(t||i)||!a&&n)&&(f["aria-disabled"]=n),a&&(!t||u)&&(f.disabled=n),f},[r,n,t,i,u,a,s])}}function Ue(e={}){const{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:s=!0}=e,a=l.useRef(null),i=be(!0)!==void 0,u=k(()=>{const c=a.current;return!!(c?.tagName==="A"&&c?.href)}),{props:p}=me({focusableWhenDisabled:n,disabled:t,composite:i,tabIndex:r,isNativeButton:s}),f=l.useCallback(()=>{const c=a.current;we(c)&&i&&t&&p.disabled===void 0&&c.disabled&&(c.disabled=!1)},[t,p.disabled,i]);le(f,[f]);const b=l.useCallback((c={})=>{const{onClick:w,onMouseDown:M,onKeyUp:F,onKeyDown:U,onPointerDown:W,...A}=c;return j({type:s?"button":void 0,onClick(o){if(t){o.preventDefault();return}w?.(o)},onMouseDown(o){t||M?.(o)},onKeyDown(o){if(t||(D(o),U?.(o)),o.baseUIHandlerPrevented)return;const H=o.target===o.currentTarget&&!s&&!u()&&!t,C=o.key==="Enter",$=o.key===" ";H&&(($||C)&&o.preventDefault(),C&&w?.(o))},onKeyUp(o){t||(D(o),F?.(o)),!o.baseUIHandlerPrevented&&o.target===o.currentTarget&&!s&&!t&&o.key===" "&&w?.(o)},onPointerDown(o){if(t){o.preventDefault();return}W?.(o)}},s?void 0:{role:"button"},p,A)},[t,p,s,u]),K=k(c=>{a.current=c,f()});return{getButtonProps:b,buttonRef:K}}function we(e){return h(e)&&e.tagName==="BUTTON"}function We(e){return de(e,"base-ui")}export{L as A,E as B,pe as C,Ie as D,S as E,q as F,ie as G,re as H,ee as I,he as J,se as K,Ce as L,De as M,Ke as N,I as O,k as a,be as b,N as c,We as d,T as e,Ue as f,Fe as g,O as h,h as i,Te as j,xe as k,Be as l,Se as m,ke as n,ve as o,de as p,Pe as q,Le as r,Re as s,Ne as t,le as u,Me as v,B as w,y as x,Oe as y,d as z};
@@ -1 +1 @@
1
- import{f as S}from"./DirectionContext-DZNUWW6F.js";import{A as j,s as D,a as H,b as y,c as k}from"./event-DeooaZzN.js";import{r as R,j as B}from"./main-DJgQwVqD.js";import{C as G,E as V}from"./button-BxDVif49.js";import{u as L,a as T,b as I}from"./useBaseUiId-CMJ8I9al.js";function p(e,i,o){return Math.floor(e/i)!==o}function x(e,i){return i<0||i>=e.current.length}function et(e,i){return E(e,{disabledIndices:i})}function nt(e,i){return E(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:i})}function E(e,{startingIndex:i=-1,decrement:o=!1,disabledIndices:s,amount:m=1}={}){let t=i;do t+=o?-m:m;while(t>=0&&t<=e.current.length-1&&z(e,t,s));return t}function rt(e,{event:i,orientation:o,loopFocus:s,rtl:m,cols:t,disabledIndices:a,minIndex:O,maxIndex:g,prevIndex:u,stopEvent:c=!1}){let r=u;const d=[],w={};let C=!1;{let n=null,l=-1;e.current.forEach((h,f)=>{if(h==null)return;const M=h.closest('[role="row"]');M&&(C=!0),(M!==n||l===-1)&&(n=M,l+=1,d[l]=[]),d[l].push(f),w[f]=l})}const N=C&&d.length>0&&d.some(n=>n.length!==t);function b(n){if(!N||u===-1)return;const l=w[u];if(l==null)return;const h=d[l].indexOf(u);let f=n==="up"?l-1:l+1;s&&(f<0?f=d.length-1:f>=d.length&&(f=0));const M=new Set;for(;f>=0&&f<d.length&&!M.has(f);){M.add(f);const _=d[f];if(_.length===0){f=n==="up"?f-1:f+1;continue}const W=Math.min(h,_.length-1);for(let P=W;P>=0;P-=1){const A=_[P];if(!z(e,A,a))return A}f=n==="up"?f-1:f+1,s&&(f<0?f=d.length-1:f>=d.length&&(f=0))}}if(i.key===j){const n=b("up");if(n!==void 0)c&&D(i),r=n;else{if(c&&D(i),u===-1)r=g;else if(r=E(e,{startingIndex:r,amount:t,decrement:!0,disabledIndices:a}),s&&(u-t<O||r<0)){const l=u%t,h=g%t,f=g-(h-l);h===l?r=g:r=h>l?f:f-t}x(e,r)&&(r=u)}}if(i.key===H){const n=b("down");n!==void 0?(c&&D(i),r=n):(c&&D(i),u===-1?r=O:(r=E(e,{startingIndex:u,amount:t,disabledIndices:a}),s&&u+t>g&&(r=E(e,{startingIndex:u%t-t,amount:t,disabledIndices:a}))),x(e,r)&&(r=u))}if(o==="both"){const n=S(u/t);i.key===(m?y:k)&&(c&&D(i),u%t!==t-1?(r=E(e,{startingIndex:u,disabledIndices:a}),s&&p(r,t,n)&&(r=E(e,{startingIndex:u-u%t-1,disabledIndices:a}))):s&&(r=E(e,{startingIndex:u-u%t-1,disabledIndices:a})),p(r,t,n)&&(r=u)),i.key===(m?k:y)&&(c&&D(i),u%t!==0?(r=E(e,{startingIndex:u,decrement:!0,disabledIndices:a}),s&&p(r,t,n)&&(r=E(e,{startingIndex:u+(t-u%t),decrement:!0,disabledIndices:a}))):s&&(r=E(e,{startingIndex:u+(t-u%t),decrement:!0,disabledIndices:a})),p(r,t,n)&&(r=u));const l=S(g/t)===n;x(e,r)&&(s&&l?r=i.key===(m?k:y)?g:E(e,{startingIndex:u-u%t-1,disabledIndices:a}):r=u)}return r}function it(e,i,o){const s=[];let m=0;return e.forEach(({width:t,height:a},O)=>{let g=!1;for(o&&(m=0);!g;){const u=[];for(let c=0;c<t;c+=1)for(let r=0;r<a;r+=1)u.push(m+c+r*i);m%i+t<=i&&u.every(c=>s[c]==null)?(u.forEach(c=>{s[c]=O}),g=!0):m+=1}}),[...s]}function ut(e,i,o,s,m){if(e===-1)return-1;const t=o.indexOf(e),a=i[e];switch(m){case"tl":return t;case"tr":return a?t+a.width-1:t;case"bl":return a?t+(a.height-1)*s:t;case"br":return o.lastIndexOf(e);default:return-1}}function st(e,i){return i.flatMap((o,s)=>e.includes(o)?[s]:[])}function z(e,i,o){if(typeof o=="function")return o(i);if(o)return o.includes(i);const s=e.current[i];return s?s.hasAttribute("disabled")||s.getAttribute("aria-disabled")==="true":!1}const U=R.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Y(){return R.useContext(U)}let q=(function(e){return e[e.None=0]="None",e[e.GuessFromOrder=1]="GuessFromOrder",e})({});function J(e={}){const{label:i,metadata:o,textRef:s,indexGuessBehavior:m,index:t}=e,{register:a,unregister:O,subscribeMapChange:g,elementsRef:u,labelsRef:c,nextIndexRef:r}=Y(),d=R.useRef(-1),[w,C]=R.useState(t??(m===q.GuessFromOrder?()=>{if(d.current===-1){const n=r.current;r.current+=1,d.current=n}return d.current}:-1)),N=R.useRef(null),b=R.useCallback(n=>{if(N.current=n,w!==-1&&n!==null&&(u.current[w]=n,c)){const l=i!==void 0;c.current[w]=l?i:s?.current?.textContent??n.textContent}},[w,u,c,i,s]);return L(()=>{if(t!=null)return;const n=N.current;if(n)return a(n,o),()=>{O(n)}},[t,a,O,o]),L(()=>{if(t==null)return g(n=>{const l=N.current?n.get(N.current)?.index:null;l!=null&&C(l)})},[t,g,C]),R.useMemo(()=>({ref:b,index:w}),[w,b])}function ot(e){const{children:i,elementsRef:o,labelsRef:s,onMapChange:m}=e,t=T(m),a=R.useRef(0),O=G(Q).current,g=G(K).current,[u,c]=R.useState(0),r=R.useRef(u),d=T((n,l)=>{g.set(n,l??null),r.current+=1,c(r.current)}),w=T(n=>{g.delete(n),r.current+=1,c(r.current)}),C=R.useMemo(()=>{const n=new Map;return Array.from(g.keys()).filter(h=>h.isConnected).sort(X).forEach((h,f)=>{const M=g.get(h)??{};n.set(h,{...M,index:f})}),n},[g,u]);L(()=>{if(typeof MutationObserver!="function"||C.size===0)return;const n=new MutationObserver(l=>{const h=new Set,f=M=>h.has(M)?h.delete(M):h.add(M);l.forEach(M=>{M.removedNodes.forEach(f),M.addedNodes.forEach(f)}),h.size===0&&(r.current+=1,c(r.current))});return C.forEach((l,h)=>{h.parentElement&&n.observe(h.parentElement,{childList:!0})}),()=>{n.disconnect()}},[C]),L(()=>{r.current===u&&(o.current.length!==C.size&&(o.current.length=C.size),s&&s.current.length!==C.size&&(s.current.length=C.size),a.current=C.size),t(C)},[t,C,o,s,u]),L(()=>()=>{o.current=[]},[o]),L(()=>()=>{s&&(s.current=[])},[s]);const N=T(n=>(O.add(n),()=>{O.delete(n)}));L(()=>{O.forEach(n=>n(C))},[O,C]);const b=R.useMemo(()=>({register:d,unregister:w,subscribeMapChange:N,elementsRef:o,labelsRef:s,nextIndexRef:a}),[d,w,N,o,s,a]);return B.jsx(U.Provider,{value:b,children:i})}function K(){return new Map}function Q(){return new Set}function X(e,i){const o=e.compareDocumentPosition(i);return o&Node.DOCUMENT_POSITION_FOLLOWING||o&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:o&Node.DOCUMENT_POSITION_PRECEDING||o&Node.DOCUMENT_POSITION_CONTAINS?1:0}function ft(e={}){const{highlightItemOnHover:i,highlightedIndex:o,onHighlightedIndexChange:s}=I(),{ref:m,index:t}=J(e),a=o===t,O=R.useRef(null),g=V(m,O);return{compositeProps:R.useMemo(()=>({tabIndex:a?0:-1,onFocus(){s(t)},onMouseMove(){const c=O.current;if(!i||!c)return;const r=c.hasAttribute("disabled")||c.ariaDisabled==="true";!a&&!r&&c.focus()}}),[a,s,t,i]),compositeRef:g,index:t}}export{ot as C,nt as a,rt as b,it as c,ut as d,st as e,E as f,et as g,x as h,z as i,J as j,ft as u};
1
+ import{f as S}from"./DirectionContext-B1cuzwIr.js";import{A as j,s as D,a as H,b as y,c as k}from"./event-Dwf9IDxK.js";import{r as R,j as B}from"./main-DBmooBKx.js";import{C as G,E as V}from"./button-DdG8c-XQ.js";import{u as L,a as T,b as I}from"./useBaseUiId-Ckx_aJky.js";function p(e,i,o){return Math.floor(e/i)!==o}function x(e,i){return i<0||i>=e.current.length}function et(e,i){return E(e,{disabledIndices:i})}function nt(e,i){return E(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:i})}function E(e,{startingIndex:i=-1,decrement:o=!1,disabledIndices:s,amount:m=1}={}){let t=i;do t+=o?-m:m;while(t>=0&&t<=e.current.length-1&&z(e,t,s));return t}function rt(e,{event:i,orientation:o,loopFocus:s,rtl:m,cols:t,disabledIndices:a,minIndex:O,maxIndex:g,prevIndex:u,stopEvent:c=!1}){let r=u;const d=[],w={};let C=!1;{let n=null,l=-1;e.current.forEach((h,f)=>{if(h==null)return;const M=h.closest('[role="row"]');M&&(C=!0),(M!==n||l===-1)&&(n=M,l+=1,d[l]=[]),d[l].push(f),w[f]=l})}const N=C&&d.length>0&&d.some(n=>n.length!==t);function b(n){if(!N||u===-1)return;const l=w[u];if(l==null)return;const h=d[l].indexOf(u);let f=n==="up"?l-1:l+1;s&&(f<0?f=d.length-1:f>=d.length&&(f=0));const M=new Set;for(;f>=0&&f<d.length&&!M.has(f);){M.add(f);const _=d[f];if(_.length===0){f=n==="up"?f-1:f+1;continue}const W=Math.min(h,_.length-1);for(let P=W;P>=0;P-=1){const A=_[P];if(!z(e,A,a))return A}f=n==="up"?f-1:f+1,s&&(f<0?f=d.length-1:f>=d.length&&(f=0))}}if(i.key===j){const n=b("up");if(n!==void 0)c&&D(i),r=n;else{if(c&&D(i),u===-1)r=g;else if(r=E(e,{startingIndex:r,amount:t,decrement:!0,disabledIndices:a}),s&&(u-t<O||r<0)){const l=u%t,h=g%t,f=g-(h-l);h===l?r=g:r=h>l?f:f-t}x(e,r)&&(r=u)}}if(i.key===H){const n=b("down");n!==void 0?(c&&D(i),r=n):(c&&D(i),u===-1?r=O:(r=E(e,{startingIndex:u,amount:t,disabledIndices:a}),s&&u+t>g&&(r=E(e,{startingIndex:u%t-t,amount:t,disabledIndices:a}))),x(e,r)&&(r=u))}if(o==="both"){const n=S(u/t);i.key===(m?y:k)&&(c&&D(i),u%t!==t-1?(r=E(e,{startingIndex:u,disabledIndices:a}),s&&p(r,t,n)&&(r=E(e,{startingIndex:u-u%t-1,disabledIndices:a}))):s&&(r=E(e,{startingIndex:u-u%t-1,disabledIndices:a})),p(r,t,n)&&(r=u)),i.key===(m?k:y)&&(c&&D(i),u%t!==0?(r=E(e,{startingIndex:u,decrement:!0,disabledIndices:a}),s&&p(r,t,n)&&(r=E(e,{startingIndex:u+(t-u%t),decrement:!0,disabledIndices:a}))):s&&(r=E(e,{startingIndex:u+(t-u%t),decrement:!0,disabledIndices:a})),p(r,t,n)&&(r=u));const l=S(g/t)===n;x(e,r)&&(s&&l?r=i.key===(m?k:y)?g:E(e,{startingIndex:u-u%t-1,disabledIndices:a}):r=u)}return r}function it(e,i,o){const s=[];let m=0;return e.forEach(({width:t,height:a},O)=>{let g=!1;for(o&&(m=0);!g;){const u=[];for(let c=0;c<t;c+=1)for(let r=0;r<a;r+=1)u.push(m+c+r*i);m%i+t<=i&&u.every(c=>s[c]==null)?(u.forEach(c=>{s[c]=O}),g=!0):m+=1}}),[...s]}function ut(e,i,o,s,m){if(e===-1)return-1;const t=o.indexOf(e),a=i[e];switch(m){case"tl":return t;case"tr":return a?t+a.width-1:t;case"bl":return a?t+(a.height-1)*s:t;case"br":return o.lastIndexOf(e);default:return-1}}function st(e,i){return i.flatMap((o,s)=>e.includes(o)?[s]:[])}function z(e,i,o){if(typeof o=="function")return o(i);if(o)return o.includes(i);const s=e.current[i];return s?s.hasAttribute("disabled")||s.getAttribute("aria-disabled")==="true":!1}const U=R.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Y(){return R.useContext(U)}let q=(function(e){return e[e.None=0]="None",e[e.GuessFromOrder=1]="GuessFromOrder",e})({});function J(e={}){const{label:i,metadata:o,textRef:s,indexGuessBehavior:m,index:t}=e,{register:a,unregister:O,subscribeMapChange:g,elementsRef:u,labelsRef:c,nextIndexRef:r}=Y(),d=R.useRef(-1),[w,C]=R.useState(t??(m===q.GuessFromOrder?()=>{if(d.current===-1){const n=r.current;r.current+=1,d.current=n}return d.current}:-1)),N=R.useRef(null),b=R.useCallback(n=>{if(N.current=n,w!==-1&&n!==null&&(u.current[w]=n,c)){const l=i!==void 0;c.current[w]=l?i:s?.current?.textContent??n.textContent}},[w,u,c,i,s]);return L(()=>{if(t!=null)return;const n=N.current;if(n)return a(n,o),()=>{O(n)}},[t,a,O,o]),L(()=>{if(t==null)return g(n=>{const l=N.current?n.get(N.current)?.index:null;l!=null&&C(l)})},[t,g,C]),R.useMemo(()=>({ref:b,index:w}),[w,b])}function ot(e){const{children:i,elementsRef:o,labelsRef:s,onMapChange:m}=e,t=T(m),a=R.useRef(0),O=G(Q).current,g=G(K).current,[u,c]=R.useState(0),r=R.useRef(u),d=T((n,l)=>{g.set(n,l??null),r.current+=1,c(r.current)}),w=T(n=>{g.delete(n),r.current+=1,c(r.current)}),C=R.useMemo(()=>{const n=new Map;return Array.from(g.keys()).filter(h=>h.isConnected).sort(X).forEach((h,f)=>{const M=g.get(h)??{};n.set(h,{...M,index:f})}),n},[g,u]);L(()=>{if(typeof MutationObserver!="function"||C.size===0)return;const n=new MutationObserver(l=>{const h=new Set,f=M=>h.has(M)?h.delete(M):h.add(M);l.forEach(M=>{M.removedNodes.forEach(f),M.addedNodes.forEach(f)}),h.size===0&&(r.current+=1,c(r.current))});return C.forEach((l,h)=>{h.parentElement&&n.observe(h.parentElement,{childList:!0})}),()=>{n.disconnect()}},[C]),L(()=>{r.current===u&&(o.current.length!==C.size&&(o.current.length=C.size),s&&s.current.length!==C.size&&(s.current.length=C.size),a.current=C.size),t(C)},[t,C,o,s,u]),L(()=>()=>{o.current=[]},[o]),L(()=>()=>{s&&(s.current=[])},[s]);const N=T(n=>(O.add(n),()=>{O.delete(n)}));L(()=>{O.forEach(n=>n(C))},[O,C]);const b=R.useMemo(()=>({register:d,unregister:w,subscribeMapChange:N,elementsRef:o,labelsRef:s,nextIndexRef:a}),[d,w,N,o,s,a]);return B.jsx(U.Provider,{value:b,children:i})}function K(){return new Map}function Q(){return new Set}function X(e,i){const o=e.compareDocumentPosition(i);return o&Node.DOCUMENT_POSITION_FOLLOWING||o&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:o&Node.DOCUMENT_POSITION_PRECEDING||o&Node.DOCUMENT_POSITION_CONTAINS?1:0}function ft(e={}){const{highlightItemOnHover:i,highlightedIndex:o,onHighlightedIndexChange:s}=I(),{ref:m,index:t}=J(e),a=o===t,O=R.useRef(null),g=V(m,O);return{compositeProps:R.useMemo(()=>({tabIndex:a?0:-1,onFocus(){s(t)},onMouseMove(){const c=O.current;if(!i||!c)return;const r=c.hasAttribute("disabled")||c.ariaDisabled==="true";!a&&!r&&c.focus()}}),[a,s,t,i]),compositeRef:g,index:t}}export{ot as C,nt as a,rt as b,it as c,ut as d,st as e,E as f,et as g,x as h,z as i,J as j,ft as u};
@@ -1 +1 @@
1
- import{r as e}from"./main-DJgQwVqD.js";function d({controlled:t,default:s,name:c,state:f="value"}){const{current:a}=e.useRef(t!==void 0),[o,u]=e.useState(s),l=a?t:o,n=e.useCallback(r=>{a||u(r)},[]);return[l,n]}export{d as u};
1
+ import{r as e}from"./main-DBmooBKx.js";function d({controlled:t,default:s,name:c,state:f="value"}){const{current:a}=e.useRef(t!==void 0),[o,u]=e.useState(s),l=a?t:o,n=e.useCallback(r=>{a||u(r)},[]);return[l,n]}export{d as u};
@@ -1 +1 @@
1
- import{S as l,s as d,h as a,g as p,n as h,u as b,r as o,b as m,c as v}from"./main-DJgQwVqD.js";var y=class extends l{#s;#i=void 0;#t;#e;constructor(t,s){super(),this.#s=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#s.defaultMutationOptions(t),d(this.options,s)||this.#s.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&a(s.mutationKey)!==a(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#e=s,this.#t?.removeObserver(this),this.#t=this.#s.getMutationCache().build(this.#s,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??p();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){h.batch(()=>{if(this.#e&&this.hasListeners()){const s=this.#i.variables,r=this.#i.context,e={client:this.#s,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#e.onSuccess?.(t.data,s,r,e)}catch(i){Promise.reject(i)}try{this.#e.onSettled?.(t.data,null,s,r,e)}catch(i){Promise.reject(i)}}else if(t?.type==="error"){try{this.#e.onError?.(t.error,s,r,e)}catch(i){Promise.reject(i)}try{this.#e.onSettled?.(void 0,t.error,s,r,e)}catch(i){Promise.reject(i)}}}this.listeners.forEach(s=>{s(this.#i)})})}};function O(t,s){const r=b(),[e]=o.useState(()=>new y(r,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const i=o.useSyncExternalStore(o.useCallback(n=>e.subscribe(h.batchCalls(n)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((n,c)=>{e.mutate(n,c).catch(m)},[e]);if(i.error&&v(e.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:u,mutateAsync:i.mutate}}export{O as u};
1
+ import{S as l,s as d,h as a,g as p,n as h,u as b,r as o,b as m,c as v}from"./main-DBmooBKx.js";var y=class extends l{#s;#i=void 0;#t;#e;constructor(t,s){super(),this.#s=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#s.defaultMutationOptions(t),d(this.options,s)||this.#s.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&a(s.mutationKey)!==a(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#e=s,this.#t?.removeObserver(this),this.#t=this.#s.getMutationCache().build(this.#s,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??p();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){h.batch(()=>{if(this.#e&&this.hasListeners()){const s=this.#i.variables,r=this.#i.context,e={client:this.#s,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#e.onSuccess?.(t.data,s,r,e)}catch(i){Promise.reject(i)}try{this.#e.onSettled?.(t.data,null,s,r,e)}catch(i){Promise.reject(i)}}else if(t?.type==="error"){try{this.#e.onError?.(t.error,s,r,e)}catch(i){Promise.reject(i)}try{this.#e.onSettled?.(void 0,t.error,s,r,e)}catch(i){Promise.reject(i)}}}this.listeners.forEach(s=>{s(this.#i)})})}};function O(t,s){const r=b(),[e]=o.useState(()=>new y(r,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const i=o.useSyncExternalStore(o.useCallback(n=>e.subscribe(h.batchCalls(n)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((n,c)=>{e.mutate(n,c).catch(m)},[e]);if(i.error&&v(e.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:u,mutateAsync:i.mutate}}export{O as u};
@@ -1 +1 @@
1
- import{S as G,p as N,e as l,s as Q,f as g,b as M,i as x,k as B,t as J,l as C,m as X,o as Y,q as A,n as z,r as d,c as V,u as Z}from"./main-DJgQwVqD.js";var $=class extends G{constructor(t,e){super(),this.options=e,this.#s=t,this.#i=null,this.#r=N(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#u;#r;#i;#b;#l;#d;#o;#h;#n;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),j(this.#t,this.options)?this.#c():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return _(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return _(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof l(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!Q(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&H(this.#t,s,this.options,e)&&this.#c(),this.updateResult(),r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#R();const i=this.#v();r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||i!==this.#n)&&this.#m(i)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return tt(this,s)&&(this.#e=s,this.#u=this.options,this.#a=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),e?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#c({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#c(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(M)),e}#R(){this.#y();const t=g(this.options.staleTime,this.#t);if(x||this.#e.isStale||!B(t))return;const s=J(this.#e.dataUpdatedAt,t)+1;this.#o=C.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#n=t,!(x||l(this.options.enabled,this.#t)===!1||!B(this.#n)||this.#n===0)&&(this.#h=C.setInterval(()=>{(this.options.refetchIntervalInBackground||X.isFocused())&&this.#c()},this.#n))}#g(){this.#R(),this.#m(this.#v())}#y(){this.#o&&(C.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h&&(C.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,r=this.options,i=this.#e,u=this.#a,a=this.#u,R=t!==s?t.state:this.#p,{state:h}=t;let n={...h},v=!1,o;if(e._optimisticResults){const c=this.hasListeners(),m=!c&&j(t,e),S=c&&H(t,s,e,r);(m||S)&&(n={...n,...Y(h.data,t.options)}),e._optimisticResults==="isRestoring"&&(n.fetchStatus="idle")}let{error:y,errorUpdatedAt:U,status:b}=n;o=n.data;let D=!1;if(e.placeholderData!==void 0&&o===void 0&&b==="pending"){let c;i?.isPlaceholderData&&e.placeholderData===a?.placeholderData?(c=i.data,D=!0):c=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,c!==void 0&&(b="success",o=A(i?.data,c,e),v=!0)}if(e.select&&o!==void 0&&!D)if(i&&o===u?.data&&e.select===this.#b)o=this.#l;else try{this.#b=e.select,o=e.select(o),o=A(i?.data,o,e),this.#l=o,this.#i=null}catch(c){this.#i=c}this.#i&&(y=this.#i,o=this.#l,U=Date.now(),b="error");const I=n.fetchStatus==="fetching",T=b==="pending",w=b==="error",F=T&&I,k=o!==void 0,p={status:b,fetchStatus:n.fetchStatus,isPending:T,isSuccess:b==="success",isError:w,isInitialLoading:F,isLoading:F,data:o,dataUpdatedAt:n.dataUpdatedAt,error:y,errorUpdatedAt:U,failureCount:n.fetchFailureCount,failureReason:n.fetchFailureReason,errorUpdateCount:n.errorUpdateCount,isFetched:n.dataUpdateCount>0||n.errorUpdateCount>0,isFetchedAfterMount:n.dataUpdateCount>R.dataUpdateCount||n.errorUpdateCount>R.errorUpdateCount,isFetching:I,isRefetching:I&&!T,isLoadingError:w&&!k,isPaused:n.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:w&&k,isStale:P(t,e),refetch:this.refetch,promise:this.#r,isEnabled:l(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const c=p.data!==void 0,m=p.status==="error"&&!c,S=E=>{m?E.reject(p.error):c&&E.resolve(p.data)},L=()=>{const E=this.#r=p.promise=N();S(E)},O=this.#r;switch(O.status){case"pending":t.queryHash===s.queryHash&&S(O);break;case"fulfilled":(m||p.data!==O.value)&&L();break;case"rejected":(!m||p.error!==O.reason)&&L();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#u=this.options,this.#a.data!==void 0&&(this.#d=this.#t),Q(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#f.size)return!0;const u=new Set(i??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(a=>{const f=a;return this.#e[f]!==t[f]&&u.has(f)})};this.#E({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#E(t){z.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function q(t,e){return l(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function j(t,e){return q(t,e)||t.state.data!==void 0&&_(t,e,e.refetchOnMount)}function _(t,e,s){if(l(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const r=typeof s=="function"?s(t):s;return r==="always"||r!==!1&&P(t,e)}return!1}function H(t,e,s,r){return(t!==e||l(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&P(t,s)}function P(t,e){return l(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function tt(t,e){return!Q(t.getCurrentResult(),e)}var K=d.createContext(!1),et=()=>d.useContext(K);K.Provider;function st(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var rt=d.createContext(st()),it=()=>d.useContext(rt),nt=(t,e,s)=>{const r=s?.state.error&&typeof t.throwOnError=="function"?V(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},at=t=>{d.useEffect(()=>{t.clearReset()},[t])},ot=({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||V(s,[t.error,r])),ht=t=>{if(t.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ct=(t,e)=>t.isLoading&&t.isFetching&&!e,ut=(t,e)=>t?.suspense&&e.isPending,W=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function lt(t,e,s){const r=et(),i=it(),u=Z(),a=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(a);const f=u.getQueryCache().get(a.queryHash);a._optimisticResults=r?"isRestoring":"optimistic",ht(a),nt(a,i,f),at(i);const R=!u.getQueryCache().get(a.queryHash),[h]=d.useState(()=>new e(u,a)),n=h.getOptimisticResult(a),v=!r&&t.subscribed!==!1;if(d.useSyncExternalStore(d.useCallback(o=>{const y=v?h.subscribe(z.batchCalls(o)):M;return h.updateResult(),y},[h,v]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),d.useEffect(()=>{h.setOptions(a)},[a,h]),ut(a,n))throw W(a,h,i);if(ot({result:n,errorResetBoundary:i,throwOnError:a.throwOnError,query:f,suspense:a.suspense}))throw n.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(a,n),a.experimental_prefetchInRender&&!x&&ct(n,r)&&(R?W(a,h,i):f?.promise)?.catch(M).finally(()=>{h.updateResult()}),a.notifyOnChangeProps?n:h.trackResult(n)}function pt(t,e){return lt(t,$)}export{pt as u};
1
+ import{S as G,p as N,e as l,s as Q,f as g,b as M,i as x,k as B,t as J,l as C,m as X,o as Y,q as A,n as z,r as d,c as V,u as Z}from"./main-DBmooBKx.js";var $=class extends G{constructor(t,e){super(),this.options=e,this.#s=t,this.#i=null,this.#r=N(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#u;#r;#i;#b;#l;#d;#o;#h;#n;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),j(this.#t,this.options)?this.#c():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return _(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return _(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof l(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!Q(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&H(this.#t,s,this.options,e)&&this.#c(),this.updateResult(),r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#R();const i=this.#v();r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||i!==this.#n)&&this.#m(i)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return tt(this,s)&&(this.#e=s,this.#u=this.options,this.#a=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),e?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#c({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#c(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(M)),e}#R(){this.#y();const t=g(this.options.staleTime,this.#t);if(x||this.#e.isStale||!B(t))return;const s=J(this.#e.dataUpdatedAt,t)+1;this.#o=C.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#n=t,!(x||l(this.options.enabled,this.#t)===!1||!B(this.#n)||this.#n===0)&&(this.#h=C.setInterval(()=>{(this.options.refetchIntervalInBackground||X.isFocused())&&this.#c()},this.#n))}#g(){this.#R(),this.#m(this.#v())}#y(){this.#o&&(C.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h&&(C.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,r=this.options,i=this.#e,u=this.#a,a=this.#u,R=t!==s?t.state:this.#p,{state:h}=t;let n={...h},v=!1,o;if(e._optimisticResults){const c=this.hasListeners(),m=!c&&j(t,e),S=c&&H(t,s,e,r);(m||S)&&(n={...n,...Y(h.data,t.options)}),e._optimisticResults==="isRestoring"&&(n.fetchStatus="idle")}let{error:y,errorUpdatedAt:U,status:b}=n;o=n.data;let D=!1;if(e.placeholderData!==void 0&&o===void 0&&b==="pending"){let c;i?.isPlaceholderData&&e.placeholderData===a?.placeholderData?(c=i.data,D=!0):c=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,c!==void 0&&(b="success",o=A(i?.data,c,e),v=!0)}if(e.select&&o!==void 0&&!D)if(i&&o===u?.data&&e.select===this.#b)o=this.#l;else try{this.#b=e.select,o=e.select(o),o=A(i?.data,o,e),this.#l=o,this.#i=null}catch(c){this.#i=c}this.#i&&(y=this.#i,o=this.#l,U=Date.now(),b="error");const I=n.fetchStatus==="fetching",T=b==="pending",w=b==="error",F=T&&I,k=o!==void 0,p={status:b,fetchStatus:n.fetchStatus,isPending:T,isSuccess:b==="success",isError:w,isInitialLoading:F,isLoading:F,data:o,dataUpdatedAt:n.dataUpdatedAt,error:y,errorUpdatedAt:U,failureCount:n.fetchFailureCount,failureReason:n.fetchFailureReason,errorUpdateCount:n.errorUpdateCount,isFetched:n.dataUpdateCount>0||n.errorUpdateCount>0,isFetchedAfterMount:n.dataUpdateCount>R.dataUpdateCount||n.errorUpdateCount>R.errorUpdateCount,isFetching:I,isRefetching:I&&!T,isLoadingError:w&&!k,isPaused:n.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:w&&k,isStale:P(t,e),refetch:this.refetch,promise:this.#r,isEnabled:l(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const c=p.data!==void 0,m=p.status==="error"&&!c,S=E=>{m?E.reject(p.error):c&&E.resolve(p.data)},L=()=>{const E=this.#r=p.promise=N();S(E)},O=this.#r;switch(O.status){case"pending":t.queryHash===s.queryHash&&S(O);break;case"fulfilled":(m||p.data!==O.value)&&L();break;case"rejected":(!m||p.error!==O.reason)&&L();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#u=this.options,this.#a.data!==void 0&&(this.#d=this.#t),Q(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#f.size)return!0;const u=new Set(i??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(a=>{const f=a;return this.#e[f]!==t[f]&&u.has(f)})};this.#E({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#E(t){z.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function q(t,e){return l(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function j(t,e){return q(t,e)||t.state.data!==void 0&&_(t,e,e.refetchOnMount)}function _(t,e,s){if(l(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const r=typeof s=="function"?s(t):s;return r==="always"||r!==!1&&P(t,e)}return!1}function H(t,e,s,r){return(t!==e||l(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&P(t,s)}function P(t,e){return l(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function tt(t,e){return!Q(t.getCurrentResult(),e)}var K=d.createContext(!1),et=()=>d.useContext(K);K.Provider;function st(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var rt=d.createContext(st()),it=()=>d.useContext(rt),nt=(t,e,s)=>{const r=s?.state.error&&typeof t.throwOnError=="function"?V(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},at=t=>{d.useEffect(()=>{t.clearReset()},[t])},ot=({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||V(s,[t.error,r])),ht=t=>{if(t.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ct=(t,e)=>t.isLoading&&t.isFetching&&!e,ut=(t,e)=>t?.suspense&&e.isPending,W=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function lt(t,e,s){const r=et(),i=it(),u=Z(),a=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(a);const f=u.getQueryCache().get(a.queryHash);a._optimisticResults=r?"isRestoring":"optimistic",ht(a),nt(a,i,f),at(i);const R=!u.getQueryCache().get(a.queryHash),[h]=d.useState(()=>new e(u,a)),n=h.getOptimisticResult(a),v=!r&&t.subscribed!==!1;if(d.useSyncExternalStore(d.useCallback(o=>{const y=v?h.subscribe(z.batchCalls(o)):M;return h.updateResult(),y},[h,v]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),d.useEffect(()=>{h.setOptions(a)},[a,h]),ut(a,n))throw W(a,h,i);if(ot({result:n,errorResetBoundary:i,throwOnError:a.throwOnError,query:f,suspense:a.suspense}))throw n.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(a,n),a.experimental_prefetchInRender&&!x&&ct(n,r)&&(R?W(a,h,i):f?.promise)?.catch(M).finally(()=>{h.updateResult()}),a.notifyOnChangeProps?n:h.trackResult(n)}function pt(t,e){return lt(t,$)}export{pt as u};
@@ -4,7 +4,7 @@ import * as React from "react";
4
4
  import React__default, { useState, useCallback, memo, useDeferredValue, useMemo, Suspense, lazy, useRef, useEffect, useLayoutEffect, createContext, useContext } from "react";
5
5
  import { useQueryClient, useMutation, useQuery } from "@tanstack/react-query";
6
6
  import { T as TooltipProvider, a as TooltipRoot, b as TooltipTrigger, c as TooltipContent, s as setChatUiState, d as chatUiQueryKey, g as getChatUiState } from "./tooltip-DgsSPocE.js";
7
- import { Tick01Icon, Cancel01Icon, MoreHorizontalIcon, Pen01Icon, Upload01Icon, Delete01Icon, BotIcon, Clock01Icon, Chat01Icon, ArrowRight01Icon, SidebarLeft01Icon, PencilEdit02Icon, Folder01Icon, AiBrain01Icon, PackageOpenIcon, SmartPhone01Icon, DashboardCircleIcon, Search01Icon, Settings01Icon, Menu01Icon, Tick02Icon, Copy01Icon, Loading02Icon, StopIcon, VolumeHighIcon, Loading03Icon, ArrowDown01Icon, File01Icon, ArtificialIntelligence02Icon, CommandIcon, Attachment01Icon, Mic02Icon, ArrowUp02Icon } from "@hugeicons/core-free-icons";
7
+ import { Tick01Icon, Cancel01Icon, MoreHorizontalIcon, Pen01Icon, Upload01Icon, Delete01Icon, BotIcon, Clock01Icon, Chat01Icon, ArrowRight01Icon, SidebarLeft01Icon, PencilEdit02Icon, Folder01Icon, AiBrain01Icon, PackageOpenIcon, SmartPhone01Icon, DashboardCircleIcon, Search01Icon, Settings01Icon, Menu01Icon, Tick02Icon, Copy01Icon, Loading02Icon, StopIcon, VolumeHighIcon, Loading03Icon, ArrowDown01Icon, File01Icon, CommandIcon, Attachment01Icon, Mic02Icon, ArrowUp02Icon } from "@hugeicons/core-free-icons";
8
8
  import { HugeiconsIcon } from "@hugeicons/react";
9
9
  import { motion, AnimatePresence } from "motion/react";
10
10
  import { AlertDialog } from "@base-ui/react/alert-dialog";
@@ -19,7 +19,7 @@ import { u as useChatSettings$1 } from "./index-BEWnDAH6.js";
19
19
  import { createPortal } from "react-dom";
20
20
  import { create } from "zustand";
21
21
  import { persist } from "zustand/middleware";
22
- import { a as Route } from "./router-BqPDQeCx.js";
22
+ import { a as Route } from "./router-Cr2xCvGA.js";
23
23
  function deriveFriendlyIdFromKey(key) {
24
24
  if (!key) return "main";
25
25
  const trimmed = key.trim();
@@ -1681,7 +1681,7 @@ function areSidebarSessionsEqual(prev, next) {
1681
1681
  return true;
1682
1682
  }
1683
1683
  const SettingsDialog = lazy(
1684
- () => import("./settings-dialog-BQzn6fyF.js").then((m) => ({ default: m.SettingsDialog }))
1684
+ () => import("./settings-dialog-DEMlCMCP.js").then((m) => ({ default: m.SettingsDialog }))
1685
1685
  );
1686
1686
  const SessionExportDialog = lazy(
1687
1687
  () => import("./session-export-dialog-C53RRAah.js").then((m) => ({
@@ -2828,7 +2828,7 @@ function Tool({ toolPart, defaultOpen = false }) {
2828
2828
  ] }) });
2829
2829
  }
2830
2830
  const Thinking = lazy(
2831
- () => import("./thinking-D6q1tJkk.js").then((m) => ({
2831
+ () => import("./thinking-BpAc3itF.js").then((m) => ({
2832
2832
  default: m.Thinking
2833
2833
  }))
2834
2834
  );
@@ -3469,7 +3469,7 @@ function TypingIndicator({ className }) {
3469
3469
  ] });
3470
3470
  }
3471
3471
  const FollowUpSuggestions = lazy(
3472
- () => import("./follow-up-suggestions-DhBZIszK.js").then((m) => ({
3472
+ () => import("./follow-up-suggestions-CSSc4PDe.js").then((m) => ({
3473
3473
  default: m.FollowUpSuggestions
3474
3474
  }))
3475
3475
  );
@@ -3965,138 +3965,6 @@ function PromptInputAction({
3965
3965
  /* @__PURE__ */ jsx(TooltipContent, { side, className, children: tooltip })
3966
3966
  ] });
3967
3967
  }
3968
- const STORAGE_KEY = "opencami-selected-model";
3969
- function getStoredModel() {
3970
- if (typeof window === "undefined") return null;
3971
- try {
3972
- return localStorage.getItem(STORAGE_KEY);
3973
- } catch {
3974
- return null;
3975
- }
3976
- }
3977
- function setStoredModel(modelId) {
3978
- if (typeof window === "undefined") return;
3979
- try {
3980
- localStorage.setItem(STORAGE_KEY, modelId);
3981
- } catch {
3982
- }
3983
- }
3984
- function ModelSelector({ className, onModelChange }) {
3985
- const [models, setModels] = useState([]);
3986
- const [selectedModel, setSelectedModel] = useState("");
3987
- const [isLoading, setIsLoading] = useState(true);
3988
- const [error, setError] = useState(null);
3989
- const abortControllerRef = useRef(null);
3990
- useEffect(() => {
3991
- let mounted = true;
3992
- async function fetchModels() {
3993
- abortControllerRef.current?.abort();
3994
- const controller = new AbortController();
3995
- abortControllerRef.current = controller;
3996
- try {
3997
- setIsLoading(true);
3998
- setError(null);
3999
- const response = await fetch("/api/models", { signal: controller.signal });
4000
- if (!response.ok) {
4001
- throw new Error("Failed to fetch models");
4002
- }
4003
- const data = await response.json();
4004
- if (!mounted) return;
4005
- if (data.ok && data.models.length > 0) {
4006
- setModels(data.models);
4007
- const storedModel = getStoredModel();
4008
- const initialModel = storedModel && data.models.some((m) => m.id === storedModel) ? storedModel : data.defaultModel;
4009
- setSelectedModel(initialModel);
4010
- onModelChange?.(initialModel);
4011
- } else {
4012
- throw new Error("No models available");
4013
- }
4014
- } catch (err) {
4015
- if (err instanceof Error && err.name === "AbortError") return;
4016
- if (!mounted) return;
4017
- console.error("[model-selector] Error fetching models:", err);
4018
- setError(err instanceof Error ? err.message : "Failed to load models");
4019
- setModels([{ id: "default", name: "Default Model" }]);
4020
- setSelectedModel("default");
4021
- } finally {
4022
- if (mounted) {
4023
- setIsLoading(false);
4024
- }
4025
- }
4026
- }
4027
- fetchModels();
4028
- return () => {
4029
- mounted = false;
4030
- abortControllerRef.current?.abort();
4031
- };
4032
- }, [onModelChange]);
4033
- function handleModelSelect(modelId) {
4034
- setSelectedModel(modelId);
4035
- setStoredModel(modelId);
4036
- onModelChange?.(modelId);
4037
- }
4038
- if (isLoading) {
4039
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 text-xs text-primary-500", className), children: [
4040
- /* @__PURE__ */ jsx(HugeiconsIcon, { icon: ArtificialIntelligence02Icon, size: 14 }),
4041
- /* @__PURE__ */ jsx("span", { children: "Loading..." })
4042
- ] });
4043
- }
4044
- if (error || models.length === 0) {
4045
- return null;
4046
- }
4047
- const selectedModelInfo = models.find((m) => m.id === selectedModel);
4048
- const displayName = selectedModelInfo?.name || "Select Model";
4049
- const shortDisplayName = (() => {
4050
- if (!selectedModelInfo?.name) return displayName;
4051
- const name = selectedModelInfo.name;
4052
- const clean = name.replace(/\s*\([^)]*\)\s*$/, "").trim();
4053
- const words = clean.split(/\s+/);
4054
- if (words.length > 3) return words.slice(0, 3).join(" ");
4055
- return clean;
4056
- })();
4057
- if (models.length === 1) {
4058
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 text-xs text-primary-500", className), children: [
4059
- /* @__PURE__ */ jsx(HugeiconsIcon, { icon: ArtificialIntelligence02Icon, size: 14 }),
4060
- /* @__PURE__ */ jsx("span", { className: "font-[450] md:hidden", children: shortDisplayName }),
4061
- /* @__PURE__ */ jsx("span", { className: "font-[450] hidden md:inline", children: displayName })
4062
- ] });
4063
- }
4064
- return /* @__PURE__ */ jsxs(MenuRoot, { children: [
4065
- /* @__PURE__ */ jsxs(
4066
- MenuTrigger,
4067
- {
4068
- className: cn(
4069
- "inline-flex h-7 items-center gap-2 rounded-md px-2 text-xs font-[450] text-primary-600 hover:text-primary-900 hover:bg-primary-100",
4070
- className
4071
- ),
4072
- children: [
4073
- /* @__PURE__ */ jsx(HugeiconsIcon, { icon: ArtificialIntelligence02Icon, size: 14 }),
4074
- /* @__PURE__ */ jsx("span", { className: "md:hidden", children: shortDisplayName }),
4075
- /* @__PURE__ */ jsx("span", { className: "hidden md:inline", children: displayName })
4076
- ]
4077
- }
4078
- ),
4079
- /* @__PURE__ */ jsx(MenuContent, { side: "top", align: "start", children: models.map((model) => /* @__PURE__ */ jsxs(
4080
- MenuItem,
4081
- {
4082
- onClick: () => handleModelSelect(model.id),
4083
- className: "justify-between min-w-[180px]",
4084
- children: [
4085
- /* @__PURE__ */ jsx("span", { children: model.name }),
4086
- selectedModel === model.id && /* @__PURE__ */ jsx(
4087
- HugeiconsIcon,
4088
- {
4089
- icon: Tick02Icon,
4090
- size: 14,
4091
- className: "text-primary-600"
4092
- }
4093
- )
4094
- ]
4095
- },
4096
- model.id
4097
- )) })
4098
- ] });
4099
- }
4100
3968
  const PERSONAS_ENABLED_KEY = "opencami-personas-enabled";
4101
3969
  const ACTIVE_PERSONA_KEY = "opencami-active-persona";
4102
3970
  function isPersonasEnabled() {
@@ -4854,6 +4722,7 @@ function ChatComposerComponent({
4854
4722
  const [isRecording, setIsRecording] = useState(false);
4855
4723
  const [recordingTime, setRecordingTime] = useState(0);
4856
4724
  const [sttLoading, setSttLoading] = useState(false);
4725
+ const [micError, setMicError] = useState(null);
4857
4726
  const mediaRecorderRef = useRef(null);
4858
4727
  const recordingChunksRef = useRef([]);
4859
4728
  const recordingTimerRef = useRef(null);
@@ -4886,6 +4755,9 @@ function ChatComposerComponent({
4886
4755
  promptRef.current?.focus();
4887
4756
  });
4888
4757
  }, []);
4758
+ const showMicError = useCallback((message) => {
4759
+ setMicError(message);
4760
+ }, []);
4889
4761
  const reset = useCallback(() => {
4890
4762
  setValue("");
4891
4763
  setAttachments([]);
@@ -5109,11 +4981,12 @@ ${template}`;
5109
4981
  setRecordingTime(0);
5110
4982
  }, []);
5111
4983
  const startRecording = useCallback(async () => {
4984
+ setMicError(null);
5112
4985
  const provider = getSttProvider();
5113
4986
  if (provider === "browser") {
5114
4987
  const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
5115
4988
  if (!SpeechRecognition) {
5116
- alert("Web Speech API is not supported in this browser.");
4989
+ showMicError("Web Speech API is not supported in this browser.");
5117
4990
  return;
5118
4991
  }
5119
4992
  const recognition = new SpeechRecognition();
@@ -5145,6 +5018,7 @@ ${template}`;
5145
5018
  setRecordingTime(0);
5146
5019
  if (recordingTimerRef.current) clearInterval(recordingTimerRef.current);
5147
5020
  if (transcript.trim()) {
5021
+ setMicError(null);
5148
5022
  setValue((prev) => prev + (prev ? " " : "") + transcript.trim());
5149
5023
  focusPrompt();
5150
5024
  }
@@ -5153,6 +5027,7 @@ ${template}`;
5153
5027
  setIsRecording(false);
5154
5028
  setRecordingTime(0);
5155
5029
  if (recordingTimerRef.current) clearInterval(recordingTimerRef.current);
5030
+ showMicError("Speech recognition failed. Try the Browser provider again or switch providers in Settings.");
5156
5031
  };
5157
5032
  recognition.start();
5158
5033
  return;
@@ -5181,16 +5056,17 @@ ${template}`;
5181
5056
  const res = await fetch("/api/stt", { method: "POST", body: formData, signal: controller.signal });
5182
5057
  const data = await res.json();
5183
5058
  if (data.ok && data.text) {
5059
+ setMicError(null);
5184
5060
  setValue((prev) => prev + (prev ? " " : "") + data.text);
5185
5061
  focusPrompt();
5186
5062
  } else if (!data.ok) {
5187
5063
  console.warn("STT failed:", data.error);
5188
- alert(data.error || "Speech-to-text failed. Try the Browser provider in Settings.");
5064
+ showMicError(data.error || "Speech-to-text failed. Try the Browser provider in Settings.");
5189
5065
  }
5190
5066
  } catch (err) {
5191
5067
  if (err instanceof Error && err.name === "AbortError") return;
5192
5068
  console.warn("STT request failed:", err);
5193
- alert("Could not reach speech-to-text service.");
5069
+ showMicError("Could not reach speech-to-text service.");
5194
5070
  } finally {
5195
5071
  setSttLoading(false);
5196
5072
  }
@@ -5213,18 +5089,18 @@ ${template}`;
5213
5089
  try {
5214
5090
  const status = await navigator.permissions.query({ name: "microphone" });
5215
5091
  if (status.state === "denied") {
5216
- alert("Microphone access is blocked. Please enable it in your browser/app settings.");
5092
+ showMicError("Microphone access is blocked. Please enable it in your browser/app settings.");
5217
5093
  } else {
5218
- alert("Microphone permission was not granted. Please try again and allow access when prompted.");
5094
+ showMicError("Microphone permission was not granted. Please try again and allow access when prompted.");
5219
5095
  }
5220
5096
  } catch {
5221
- alert("Could not access microphone. Please check your browser settings and allow microphone access for this site.");
5097
+ showMicError("Could not access microphone. Please check your browser settings and allow microphone access for this site.");
5222
5098
  }
5223
5099
  } else {
5224
- alert("Could not access microphone: " + msg);
5100
+ showMicError("Could not access microphone: " + msg);
5225
5101
  }
5226
5102
  }
5227
- }, [getSttProvider, stopRecording, focusPrompt]);
5103
+ }, [getSttProvider, stopRecording, focusPrompt, showMicError]);
5228
5104
  const handleMicClick = useCallback(() => {
5229
5105
  if (isRecording) {
5230
5106
  stopRecording();
@@ -5260,6 +5136,15 @@ ${template}`;
5260
5136
  onRemove: handleRemoveAttachment
5261
5137
  }
5262
5138
  ),
5139
+ micError && /* @__PURE__ */ jsx(
5140
+ "div",
5141
+ {
5142
+ className: "mx-3 mt-3 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-red-900/40 dark:bg-red-950/40 dark:text-red-200",
5143
+ role: "alert",
5144
+ "aria-live": "polite",
5145
+ children: micError
5146
+ }
5147
+ ),
5263
5148
  showSlashCommands && filteredSlashCommands.length > 0 && /* @__PURE__ */ jsx(
5264
5149
  SlashCommandMenu,
5265
5150
  {
@@ -5278,7 +5163,6 @@ ${template}`;
5278
5163
  ),
5279
5164
  /* @__PURE__ */ jsxs(PromptInputActions, { className: "justify-between px-3", children: [
5280
5165
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
5281
- /* @__PURE__ */ jsx(ModelSelector, { onModelChange: setSelectedModel }),
5282
5166
  /* @__PURE__ */ jsx(ThinkingLevelSelector, {}),
5283
5167
  /* @__PURE__ */ jsx(PersonaPicker, { onSelect: handlePersonaSelect }),
5284
5168
  /* @__PURE__ */ jsx(CommandHelp, { onCommandSelect: (cmd) => handleValueChange(cmd + " ") })
@@ -5546,10 +5430,25 @@ function useChatSessions({
5546
5430
  isNewChat,
5547
5431
  forcedSessionKey
5548
5432
  }) {
5433
+ const [isDocumentVisible, setIsDocumentVisible] = useState(() => {
5434
+ if (typeof document === "undefined") return true;
5435
+ return document.visibilityState === "visible";
5436
+ });
5437
+ useEffect(() => {
5438
+ if (typeof document === "undefined") return void 0;
5439
+ const handleVisibilityChange = () => {
5440
+ setIsDocumentVisible(document.visibilityState === "visible");
5441
+ };
5442
+ handleVisibilityChange();
5443
+ document.addEventListener("visibilitychange", handleVisibilityChange);
5444
+ return () => {
5445
+ document.removeEventListener("visibilitychange", handleVisibilityChange);
5446
+ };
5447
+ }, []);
5549
5448
  const sessionsQuery = useQuery({
5550
5449
  queryKey: chatQueryKeys.sessions,
5551
5450
  queryFn: fetchSessions,
5552
- refetchInterval: 3e4
5451
+ refetchInterval: isDocumentVisible ? 3e4 : false
5553
5452
  });
5554
5453
  const sessions = useMemo(() => {
5555
5454
  const rawSessions = sessionsQuery.data ?? [];
@@ -6267,7 +6166,7 @@ const KeyboardShortcutsDialog = lazy(
6267
6166
  }))
6268
6167
  );
6269
6168
  const SearchDialog = lazy(
6270
- () => import("./search-dialog-DtYc9e4N.js").then((m) => ({
6169
+ () => import("./search-dialog-DR6zBnui.js").then((m) => ({
6271
6170
  default: m.SearchDialog
6272
6171
  }))
6273
6172
  );
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/root/opencami/src/routes/__root.tsx", "children": ["/", "/agents", "/bots", "/connect", "/dashboard", "/files", "/memory", "/new", "/skills", "/api/agents", "/api/cron", "/api/follow-ups", "/api/history", "/api/llm-features", "/api/models", "/api/paths", "/api/personas", "/api/ping", "/api/send", "/api/sessions", "/api/skills", "/api/stream", "/api/stt", "/api/tts", "/chat/$sessionKey", "/api/dashboard/crons", "/api/dashboard/gateway", "/api/dashboard/system", "/api/files/delete", "/api/files/download", "/api/files/info", "/api/files/list", "/api/files/mkdir", "/api/files/read", "/api/files/rename", "/api/files/save", "/api/files/upload"], "preloads": ["/assets/main-DJgQwVqD.js"], "assets": [] }, "/": { "filePath": "/root/opencami/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-yPOt98v7.js"] }, "/agents": { "filePath": "/root/opencami/src/routes/agents.tsx", "assets": [], "preloads": ["/assets/agents-Bp6Cn1BH.js"] }, "/bots": { "filePath": "/root/opencami/src/routes/bots.tsx", "assets": [], "preloads": ["/assets/bots-Dl65yZDx.js"] }, "/connect": { "filePath": "/root/opencami/src/routes/connect.tsx", "assets": [], "preloads": ["/assets/connect-Btonx7l6.js", "/assets/index-nheqha2z.js", "/assets/button-BxDVif49.js", "/assets/react-DzPMbcP8.js"] }, "/dashboard": { "filePath": "/root/opencami/src/routes/dashboard.tsx", "assets": [], "preloads": ["/assets/dashboard-Dz6Uyyke.js", "/assets/useQuery-DhR_UXNX.js"] }, "/files": { "filePath": "/root/opencami/src/routes/files.tsx", "assets": [], "preloads": ["/assets/files-Cf87gXsq.js"] }, "/memory": { "filePath": "/root/opencami/src/routes/memory.tsx", "assets": [], "preloads": ["/assets/memory-kYdhgbRR.js"] }, "/new": { "filePath": "/root/opencami/src/routes/new.tsx", "assets": [], "preloads": ["/assets/new-DLlBm66g.js"] }, "/skills": { "filePath": "/root/opencami/src/routes/skills.tsx", "assets": [], "preloads": ["/assets/skills-D6MaebJh.js"] }, "/api/agents": { "filePath": "/root/opencami/src/routes/api/agents.ts" }, "/api/cron": { "filePath": "/root/opencami/src/routes/api/cron.ts" }, "/api/follow-ups": { "filePath": "/root/opencami/src/routes/api/follow-ups.ts" }, "/api/history": { "filePath": "/root/opencami/src/routes/api/history.ts" }, "/api/llm-features": { "filePath": "/root/opencami/src/routes/api/llm-features.ts" }, "/api/models": { "filePath": "/root/opencami/src/routes/api/models.ts" }, "/api/paths": { "filePath": "/root/opencami/src/routes/api/paths.ts" }, "/api/personas": { "filePath": "/root/opencami/src/routes/api/personas.ts" }, "/api/ping": { "filePath": "/root/opencami/src/routes/api/ping.ts" }, "/api/send": { "filePath": "/root/opencami/src/routes/api/send.ts" }, "/api/sessions": { "filePath": "/root/opencami/src/routes/api/sessions.ts" }, "/api/skills": { "filePath": "/root/opencami/src/routes/api/skills.ts" }, "/api/stream": { "filePath": "/root/opencami/src/routes/api/stream.ts" }, "/api/stt": { "filePath": "/root/opencami/src/routes/api/stt.ts" }, "/api/tts": { "filePath": "/root/opencami/src/routes/api/tts.ts" }, "/chat/$sessionKey": { "filePath": "/root/opencami/src/routes/chat/$sessionKey.tsx", "assets": [], "preloads": ["/assets/_sessionKey-CPRycepq.js", "/assets/useQuery-DhR_UXNX.js", "/assets/tooltip-D64CzFXa.js", "/assets/button-BxDVif49.js", "/assets/useMutation-Bd89JWif.js", "/assets/use-file-explorer-state-Tzex8EEL.js", "/assets/useBaseUiId-CMJ8I9al.js", "/assets/useControlled-KFa25CcD.js", "/assets/useOnFirstRender-DqnUCnnL.js", "/assets/event-DeooaZzN.js", "/assets/CSPContext-KDlbpvjX.js", "/assets/DirectionContext-DZNUWW6F.js", "/assets/menu-CnihCZ4y.js", "/assets/opencami-logo-CoCA2JIf.js", "/assets/proxy-C2vtPufK.js", "/assets/markdown-CFbW7h0Q.js", "/assets/index-nheqha2z.js", "/assets/react-DzPMbcP8.js"] }, "/api/dashboard/crons": { "filePath": "/root/opencami/src/routes/api/dashboard/crons.ts" }, "/api/dashboard/gateway": { "filePath": "/root/opencami/src/routes/api/dashboard/gateway.ts" }, "/api/dashboard/system": { "filePath": "/root/opencami/src/routes/api/dashboard/system.ts" }, "/api/files/delete": { "filePath": "/root/opencami/src/routes/api/files/delete.ts" }, "/api/files/download": { "filePath": "/root/opencami/src/routes/api/files/download.ts" }, "/api/files/info": { "filePath": "/root/opencami/src/routes/api/files/info.ts" }, "/api/files/list": { "filePath": "/root/opencami/src/routes/api/files/list.ts" }, "/api/files/mkdir": { "filePath": "/root/opencami/src/routes/api/files/mkdir.ts" }, "/api/files/read": { "filePath": "/root/opencami/src/routes/api/files/read.ts" }, "/api/files/rename": { "filePath": "/root/opencami/src/routes/api/files/rename.ts" }, "/api/files/save": { "filePath": "/root/opencami/src/routes/api/files/save.ts" }, "/api/files/upload": { "filePath": "/root/opencami/src/routes/api/files/upload.ts" } }, "clientEntry": "/assets/main-DJgQwVqD.js" });
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/root/opencami/src/routes/__root.tsx", "children": ["/", "/agents", "/bots", "/connect", "/dashboard", "/files", "/memory", "/new", "/skills", "/api/agents", "/api/cron", "/api/follow-ups", "/api/history", "/api/llm-features", "/api/models", "/api/paths", "/api/personas", "/api/ping", "/api/send", "/api/sessions", "/api/skills", "/api/stream", "/api/stt", "/api/tts", "/chat/$sessionKey", "/api/dashboard/crons", "/api/dashboard/gateway", "/api/dashboard/system", "/api/files/delete", "/api/files/download", "/api/files/info", "/api/files/list", "/api/files/mkdir", "/api/files/read", "/api/files/rename", "/api/files/save", "/api/files/upload"], "preloads": ["/assets/main-DBmooBKx.js"], "assets": [] }, "/": { "filePath": "/root/opencami/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-B551ln24.js"] }, "/agents": { "filePath": "/root/opencami/src/routes/agents.tsx", "assets": [], "preloads": ["/assets/agents-C6Ev94B1.js"] }, "/bots": { "filePath": "/root/opencami/src/routes/bots.tsx", "assets": [], "preloads": ["/assets/bots-B2_u-OmP.js"] }, "/connect": { "filePath": "/root/opencami/src/routes/connect.tsx", "assets": [], "preloads": ["/assets/connect-CSbeSBTn.js", "/assets/index-BxsgifDH.js", "/assets/button-DdG8c-XQ.js", "/assets/react-dSDkXQu6.js"] }, "/dashboard": { "filePath": "/root/opencami/src/routes/dashboard.tsx", "assets": [], "preloads": ["/assets/dashboard-DA1fTRcH.js", "/assets/useQuery-CtUiG53w.js"] }, "/files": { "filePath": "/root/opencami/src/routes/files.tsx", "assets": [], "preloads": ["/assets/files-PsZnGOUx.js"] }, "/memory": { "filePath": "/root/opencami/src/routes/memory.tsx", "assets": [], "preloads": ["/assets/memory-Bs8hOoEv.js"] }, "/new": { "filePath": "/root/opencami/src/routes/new.tsx", "assets": [], "preloads": ["/assets/new-DLlBm66g.js"] }, "/skills": { "filePath": "/root/opencami/src/routes/skills.tsx", "assets": [], "preloads": ["/assets/skills-pueagQNc.js"] }, "/api/agents": { "filePath": "/root/opencami/src/routes/api/agents.ts" }, "/api/cron": { "filePath": "/root/opencami/src/routes/api/cron.ts" }, "/api/follow-ups": { "filePath": "/root/opencami/src/routes/api/follow-ups.ts" }, "/api/history": { "filePath": "/root/opencami/src/routes/api/history.ts" }, "/api/llm-features": { "filePath": "/root/opencami/src/routes/api/llm-features.ts" }, "/api/models": { "filePath": "/root/opencami/src/routes/api/models.ts" }, "/api/paths": { "filePath": "/root/opencami/src/routes/api/paths.ts" }, "/api/personas": { "filePath": "/root/opencami/src/routes/api/personas.ts" }, "/api/ping": { "filePath": "/root/opencami/src/routes/api/ping.ts" }, "/api/send": { "filePath": "/root/opencami/src/routes/api/send.ts" }, "/api/sessions": { "filePath": "/root/opencami/src/routes/api/sessions.ts" }, "/api/skills": { "filePath": "/root/opencami/src/routes/api/skills.ts" }, "/api/stream": { "filePath": "/root/opencami/src/routes/api/stream.ts" }, "/api/stt": { "filePath": "/root/opencami/src/routes/api/stt.ts" }, "/api/tts": { "filePath": "/root/opencami/src/routes/api/tts.ts" }, "/chat/$sessionKey": { "filePath": "/root/opencami/src/routes/chat/$sessionKey.tsx", "assets": [], "preloads": ["/assets/_sessionKey-CNw4O2rY.js", "/assets/useQuery-CtUiG53w.js", "/assets/tooltip-CtHpm-sQ.js", "/assets/button-DdG8c-XQ.js", "/assets/useMutation-DckvFKPC.js", "/assets/use-file-explorer-state-C-D2CShe.js", "/assets/useBaseUiId-Ckx_aJky.js", "/assets/useControlled-8D4PSDAL.js", "/assets/popupStateMapping-CGDLUl5Y.js", "/assets/event-Dwf9IDxK.js", "/assets/CSPContext-nHSyQniZ.js", "/assets/DirectionContext-B1cuzwIr.js", "/assets/menu-ByR1BVmq.js", "/assets/opencami-logo-BV1uPYe6.js", "/assets/proxy-DYrSkM35.js", "/assets/markdown-Bpat4kTr.js", "/assets/index-BxsgifDH.js", "/assets/react-dSDkXQu6.js"] }, "/api/dashboard/crons": { "filePath": "/root/opencami/src/routes/api/dashboard/crons.ts" }, "/api/dashboard/gateway": { "filePath": "/root/opencami/src/routes/api/dashboard/gateway.ts" }, "/api/dashboard/system": { "filePath": "/root/opencami/src/routes/api/dashboard/system.ts" }, "/api/files/delete": { "filePath": "/root/opencami/src/routes/api/files/delete.ts" }, "/api/files/download": { "filePath": "/root/opencami/src/routes/api/files/download.ts" }, "/api/files/info": { "filePath": "/root/opencami/src/routes/api/files/info.ts" }, "/api/files/list": { "filePath": "/root/opencami/src/routes/api/files/list.ts" }, "/api/files/mkdir": { "filePath": "/root/opencami/src/routes/api/files/mkdir.ts" }, "/api/files/read": { "filePath": "/root/opencami/src/routes/api/files/read.ts" }, "/api/files/rename": { "filePath": "/root/opencami/src/routes/api/files/rename.ts" }, "/api/files/save": { "filePath": "/root/opencami/src/routes/api/files/save.ts" }, "/api/files/upload": { "filePath": "/root/opencami/src/routes/api/files/upload.ts" } }, "clientEntry": "/assets/main-DBmooBKx.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useRef, useEffect, memo } from "react";
3
3
  import { HugeiconsIcon } from "@hugeicons/react";
4
4
  import { Loading03Icon, ArrowRight01Icon } from "@hugeicons/core-free-icons";
5
- import { a as useLlmSettingsStore, b as getLlmHeaders } from "./_sessionKey-BzM-igv7.js";
5
+ import { a as useLlmSettingsStore, b as getLlmHeaders } from "./_sessionKey-LV6xK9IM.js";
6
6
  import { c as cn } from "./button-CwY2OHFj.js";
7
7
  import "@tanstack/react-router";
8
8
  import "@tanstack/react-query";
@@ -26,7 +26,7 @@ import "remark-gfm";
26
26
  import "./index-BEWnDAH6.js";
27
27
  import "zustand/middleware";
28
28
  import "react-dom";
29
- import "./router-BqPDQeCx.js";
29
+ import "./router-Cr2xCvGA.js";
30
30
  import "node:crypto";
31
31
  import "node:fs";
32
32
  import "node:os";
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useEffect } from "react";
3
- import { R as Route } from "./router-BqPDQeCx.js";
3
+ import { R as Route } from "./router-Cr2xCvGA.js";
4
4
  import "@tanstack/react-router";
5
5
  import "@tanstack/react-query";
6
6
  import "node:crypto";
@@ -12,7 +12,7 @@ import { execFile, execSync } from "node:child_process";
12
12
  import { promisify } from "node:util";
13
13
  import { readFile, mkdir, writeFile, rename, stat, readdir, rm, realpath, lstat } from "node:fs/promises";
14
14
  import { posix } from "path";
15
- const appCss = "/assets/styles-BNkOWk4R.css";
15
+ const appCss = "/assets/styles-Ce2xZzc4.css";
16
16
  const swRegisterScript = `
17
17
  (() => {
18
18
  // Skip PWA service worker inside Capacitor native shell — they conflict
@@ -370,11 +370,11 @@ const $$splitComponentImporter$2 = () => import("./agents-CmQ4vvXm.js");
370
370
  const Route$t = createFileRoute("/agents")({
371
371
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
372
372
  });
373
- const $$splitComponentImporter$1 = () => import("./index-DCMpnyEo.js");
373
+ const $$splitComponentImporter$1 = () => import("./index-DMKS4aeI.js");
374
374
  const Route$s = createFileRoute("/")({
375
375
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
376
376
  });
377
- const $$splitComponentImporter = () => import("./_sessionKey-BzM-igv7.js").then((n) => n.$);
377
+ const $$splitComponentImporter = () => import("./_sessionKey-LV6xK9IM.js").then((n) => n.$);
378
378
  const Route$r = createFileRoute("/chat/$sessionKey")({
379
379
  component: lazyRouteComponent($$splitComponentImporter, "component")
380
380
  });
@@ -5,7 +5,7 @@ import { HugeiconsIcon } from "@hugeicons/react";
5
5
  import { Search01Icon, Cancel01Icon, Loading03Icon } from "@hugeicons/core-free-icons";
6
6
  import { D as DialogRoot, a as DialogContent } from "./use-file-explorer-state-s7CS50ho.js";
7
7
  import { useQueryClient } from "@tanstack/react-query";
8
- import { c as chatQueryKeys } from "./_sessionKey-BzM-igv7.js";
8
+ import { c as chatQueryKeys } from "./_sessionKey-LV6xK9IM.js";
9
9
  import { c as cn } from "./button-CwY2OHFj.js";
10
10
  import "@base-ui/react/dialog";
11
11
  import "zustand";
@@ -26,7 +26,7 @@ import "remark-gfm";
26
26
  import "./index-BEWnDAH6.js";
27
27
  import "zustand/middleware";
28
28
  import "react-dom";
29
- import "./router-BqPDQeCx.js";
29
+ import "./router-Cr2xCvGA.js";
30
30
  import "node:crypto";
31
31
  import "node:fs";
32
32
  import "node:os";
@@ -8,7 +8,7 @@ import { D as DialogRoot, a as DialogContent, b as DialogTitle, c as DialogDescr
8
8
  import { S as Switch } from "./switch-BbkUeVDV.js";
9
9
  import { T as Tabs, a as TabsList, b as TabsTab } from "./tabs-DDFZob0m.js";
10
10
  import { u as useChatSettings } from "./index-BEWnDAH6.js";
11
- import { u as useLlmSettings, g as getLlmProviderDefaults } from "./_sessionKey-BzM-igv7.js";
11
+ import { u as useLlmSettings, g as getLlmProviderDefaults } from "./_sessionKey-LV6xK9IM.js";
12
12
  import "@base-ui/react/merge-props";
13
13
  import "@base-ui/react/use-render";
14
14
  import "class-variance-authority";
@@ -35,7 +35,7 @@ import "react-markdown";
35
35
  import "remark-breaks";
36
36
  import "remark-gfm";
37
37
  import "react-dom";
38
- import "./router-BqPDQeCx.js";
38
+ import "./router-Cr2xCvGA.js";
39
39
  import "node:crypto";
40
40
  import "node:fs";
41
41
  import "node:os";
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from "react";
3
- import { C as Collapsible, d as CollapsibleTrigger, e as CollapsiblePanel } from "./_sessionKey-BzM-igv7.js";
3
+ import { C as Collapsible, d as CollapsibleTrigger, e as CollapsiblePanel } from "./_sessionKey-LV6xK9IM.js";
4
4
  import { HugeiconsIcon } from "@hugeicons/react";
5
5
  import { ArrowDown01Icon } from "@hugeicons/core-free-icons";
6
6
  import { B as Button } from "./button-CwY2OHFj.js";
@@ -26,7 +26,7 @@ import "remark-gfm";
26
26
  import "./index-BEWnDAH6.js";
27
27
  import "zustand/middleware";
28
28
  import "react-dom";
29
- import "./router-BqPDQeCx.js";
29
+ import "./router-Cr2xCvGA.js";
30
30
  import "node:crypto";
31
31
  import "node:fs";
32
32
  import "node:os";