@openchambery/web 1.18.6-beta.2 → 1.18.7-beta.2

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 (112) hide show
  1. package/dist/assets/{AgentAvatar-DDcjamcJ.js → AgentAvatar-CWn_73qY.js} +1 -1
  2. package/dist/assets/AssistantView-BiOO5An0.js +1 -0
  3. package/dist/assets/{ChatContainer-zSccf13Q.js → ChatContainer-BHDNtLuy.js} +42 -42
  4. package/dist/assets/ContextPanel-BbNBZipF.js +288 -0
  5. package/dist/assets/{DiagramView-9wwHx8Iy.js → DiagramView-AMPWVMV0.js} +1 -1
  6. package/dist/assets/{FadeInOnReveal-By2F9vcI.js → FadeInOnReveal-BpIMrqet.js} +1 -1
  7. package/dist/assets/{Icon-DpjYnXxn.js → Icon-C0G6afNV.js} +1 -1
  8. package/dist/assets/{MarkdownRendererImpl-BtYQSQxQ.js → MarkdownRendererImpl-B-SOb7Za.js} +2 -2
  9. package/dist/assets/{MobileDetailNavigation-BEfJw56D.js → MobileDetailNavigation-C7OjF65p.js} +1 -1
  10. package/dist/assets/{MobileShareBridge-B4jF-rd4.js → MobileShareBridge-CRRrlX0l.js} +2 -2
  11. package/dist/assets/{MobileSurface-DvlE0NBG.js → MobileSurface-DmMgH78x.js} +1 -1
  12. package/dist/assets/{MultiRunWindow-BuDo3yTU.js → MultiRunWindow-Dx4tkVFN.js} +1 -1
  13. package/dist/assets/{OnboardingScreen-BKmuT7AL.js → OnboardingScreen-BpxD5W4Z.js} +1 -1
  14. package/dist/assets/OverlayScrollbar-Bo7MF_jE.js +2 -0
  15. package/dist/assets/SettingsView-BDaMrSki.js +25 -0
  16. package/dist/assets/{SettingsWindow-CgqWX8Js.js → SettingsWindow-BlKxv7c3.js} +1 -1
  17. package/dist/assets/{TerminalView-GXaU8rlU.js → TerminalView-xtUbWmdn.js} +1 -1
  18. package/dist/assets/{ToolOutputDialog-BcuHMHnh.js → ToolOutputDialog-DUYcTYYW.js} +1 -1
  19. package/dist/assets/{appThemeRegistry-CLjiViwW.js → appThemeRegistry-D6qZmouf.js} +2 -2
  20. package/dist/assets/{button-C7OXr4ae.js → button-DfF088a8.js} +1 -1
  21. package/dist/assets/{clipboard-DWuULPzo.js → clipboard-RoOQVnSl.js} +1 -1
  22. package/dist/assets/{collapsible-DaEya6b6.js → collapsible-CVL-5iEB.js} +1 -1
  23. package/dist/assets/{desktopHosts-Txp4xOVQ.js → desktopHosts-Dzx3McaD.js} +1 -1
  24. package/dist/assets/{desktopRelayRestore-C_FSEHKM.js → desktopRelayRestore-B9S0Rp5s.js} +1 -1
  25. package/dist/assets/{dialog-DPS0W9eS.js → dialog-BbHDXPt6.js} +1 -1
  26. package/dist/assets/{es-BX0Vm3Ac.js → es-BkIvCvwj.js} +2 -2
  27. package/dist/assets/{fileQueries-B_fTkH6s.js → fileQueries-_VUJM8AE.js} +1 -1
  28. package/dist/assets/fr-tCwQ3odX.js +13 -0
  29. package/dist/assets/{gitApi-CxLNbBFt.js → gitApi-DsdwefuR.js} +1 -1
  30. package/dist/assets/{input-BzYA603C.js → input-Ca2tUhgN.js} +1 -1
  31. package/dist/assets/insertionBoundaries-M7AXIWfg.js +1 -0
  32. package/dist/assets/{ja-DGtzjrFO.js → ja-C0rD6dwp.js} +3 -3
  33. package/dist/assets/{ko-DZ9Di0je.js → ko-CAbtZ462.js} +3 -3
  34. package/dist/assets/{main-DR9bLcKf.js → main-CKb-YXE6.js} +2 -2
  35. package/dist/assets/main-QjOL36Zh.js +29 -0
  36. package/dist/assets/{markdown-worker-W06-MhF5.js → markdown-worker-ZaHiIw5I.js} +4 -4
  37. package/dist/assets/{markdownTheme-B89dbj3N.js → markdownTheme-DidS-jC5.js} +1 -1
  38. package/dist/assets/{miniChat-BYQ8kidO.js → miniChat-C45kGqqH.js} +2 -2
  39. package/dist/assets/mobile-DH8nxp1K.js +2 -0
  40. package/dist/assets/multirun-BkKb0iZv.js +4 -0
  41. package/dist/assets/{persistence-6sclr7B6.js → persistence-aCOlo6ew.js} +2 -2
  42. package/dist/assets/pl-Bb190ba6.js +15 -0
  43. package/dist/assets/{platform-CbeLpKPk.js → platform-DxNH_0Fj.js} +1 -1
  44. package/dist/assets/projectMeta-BHtBPaxp.js +3 -0
  45. package/dist/assets/{pt-BR-Brf4RMsw.js → pt-BR-B6p_t3IB.js} +2 -2
  46. package/dist/assets/radio-BacnmuU0.js +1 -0
  47. package/dist/assets/renderElectronMiniChatApp-Cn7umSw9.js +2 -0
  48. package/dist/assets/renderMobileApp-DZBR2t3l.js +23 -0
  49. package/dist/assets/{runtimeConfig-GN5AuQcD.js → runtimeConfig-CSAVS8gd.js} +1 -1
  50. package/dist/assets/runtimeEndpointReset-BZUX3z0A.js +4 -0
  51. package/dist/assets/{shikiHighlight-DnAQteX_.js → shikiHighlight-eMLXb99c.js} +1 -1
  52. package/dist/assets/{sortable-tabs-strip-nLsPC06f.js → sortable-tabs-strip-CDHNwlp9.js} +1 -1
  53. package/dist/assets/src-DziW4HUU.css +2 -0
  54. package/dist/assets/{store-DQY8Fkb0.js → store-1FOY4G3z.js} +4 -4
  55. package/dist/assets/{terminalApi-BpPeXWIu.js → terminalApi-B36I-z14.js} +1 -1
  56. package/dist/assets/{tooltip-D_orJMYd.js → tooltip-GC3dg3gO.js} +1 -1
  57. package/dist/assets/{uk-C-wmaPTi.js → uk-Dy8-6ZEj.js} +2 -2
  58. package/dist/assets/{url-BsaBG5-1.js → url-BQHM4bC4.js} +1 -1
  59. package/dist/assets/{useAppFontEffects-BOvljizK.js → useAppFontEffects-B9Ozsfua.js} +5 -5
  60. package/dist/assets/{useAssistantUIStore-BHsHXCKE.js → useAssistantUIStore-DxZsjSPQ.js} +1 -1
  61. package/dist/assets/{useDesktopWindowControlsLayout-CWyH7oau.js → useDesktopWindowControlsLayout-QxNEOYzY.js} +1 -1
  62. package/dist/assets/{useEffectiveDirectory-Y7xU9buW.js → useEffectiveDirectory-D3u_oih8.js} +1 -1
  63. package/dist/assets/{useFontPreferences-ckzpXQaJ.js → useFontPreferences-D9h4M7x4.js} +1 -1
  64. package/dist/assets/{useMobileNavigationStore-z5G3RKad.js → useMobileNavigationStore-CCPTHVO9.js} +19 -19
  65. package/dist/assets/useSessionAutoCleanup-CXqhEUbp.js +1 -0
  66. package/dist/assets/{useUIStore-DzwCfRqr.js → useUIStore-Wyu09VUF.js} +1 -1
  67. package/dist/assets/{useWorkerHighlightedLines-Cr9nUf0o.js → useWorkerHighlightedLines-2KOHSbaa.js} +2 -2
  68. package/dist/assets/{utils-B1EK5zKa.js → utils-CJdWZupK.js} +1 -1
  69. package/dist/assets/vendor-tanstack-react-virtual-C2IyHsEr.js +1 -0
  70. package/dist/assets/{zh-CN-DueRrIql.js → zh-CN-gRTE0npc.js} +2 -2
  71. package/dist/assets/zh-TW-ClD4BCfW.js +15 -0
  72. package/dist/index.html +9 -9
  73. package/dist/mini-chat.html +9 -9
  74. package/dist/mobile.html +9 -9
  75. package/package.json +1 -1
  76. package/server/index.js +4 -14
  77. package/server/lib/config-sync/DOCUMENTATION.md +6 -7
  78. package/server/lib/config-sync/engine.js +0 -8
  79. package/server/lib/config-sync/index.js +0 -7
  80. package/server/lib/config-sync/receiver.js +0 -35
  81. package/server/lib/config-sync/routes.js +8 -41
  82. package/server/lib/config-sync/routes.test.js +1 -38
  83. package/server/lib/opencode/openchamber-routes.js +1 -7
  84. package/server/lib/opencode/settings-helpers.js +0 -3
  85. package/server/lib/opencode/shutdown-runtime.js +0 -2
  86. package/server/lib/session-goal/DOCUMENTATION.md +3 -3
  87. package/server/lib/session-goal/runtime.js +4 -4
  88. package/server/lib/session-title/DOCUMENTATION.md +1 -2
  89. package/server/lib/small-model/DOCUMENTATION.md +2 -2
  90. package/dist/assets/AssistantView-UVaw1RAT.js +0 -1
  91. package/dist/assets/ContextPanel-DKANu5iy.js +0 -288
  92. package/dist/assets/OverlayScrollbar-Ch3J6ASR.js +0 -2
  93. package/dist/assets/SettingsView-Ba0GjXSY.js +0 -25
  94. package/dist/assets/fr-CuPzXTYx.js +0 -13
  95. package/dist/assets/insertionBoundaries-BTv63AVC.js +0 -1
  96. package/dist/assets/main-BN39G1qA.js +0 -29
  97. package/dist/assets/mobile-CyX0VsuX.js +0 -2
  98. package/dist/assets/multirun-DjlyWjFR.js +0 -4
  99. package/dist/assets/pl-BuCO3qb1.js +0 -15
  100. package/dist/assets/projectMeta-CjpoBUxs.js +0 -3
  101. package/dist/assets/radio-DOxqquGo.js +0 -1
  102. package/dist/assets/renderElectronMiniChatApp-2GN_GTBr.js +0 -2
  103. package/dist/assets/renderMobileApp-DnkZHS_1.js +0 -23
  104. package/dist/assets/runtimeEndpointReset-DLuAPe4Q.js +0 -4
  105. package/dist/assets/src-BDOLh3pc.css +0 -2
  106. package/dist/assets/useSessionAutoCleanup-Du1r-7lN.js +0 -1
  107. package/dist/assets/vendor-tanstack-react-virtual-tlDgH6PG.js +0 -1
  108. package/dist/assets/zh-TW-6875X80V.js +0 -15
  109. package/server/lib/config-sync/credential-auth.js +0 -39
  110. package/server/lib/session-assist/DOCUMENTATION.md +0 -62
  111. package/server/lib/session-assist/runtime.js +0 -376
  112. package/server/lib/session-assist/runtime.test.js +0 -114
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{rt as t,tt as n}from"./vendor-base-ui-CnHfUmDN.js";var r=e(t(),1),i=e(n(),1);function a(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function o(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function s(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var c=(e,t)=>Math.abs(e-t)<1.01,l=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})},u,d=()=>{if(u!==void 0)return u;if(typeof navigator>`u`)return u=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return u=!0;let e=navigator.maxTouchPoints;return u=navigator.platform===`MacIntel`&&e!==void 0&&e>0},f=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},p=e=>e,m=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},h=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(f(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(f(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},g={passive:!0},_=typeof window>`u`||`onscrollend`in window,v=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&_,o=0,s=a?null:l(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},u=c(!0),d=c(!1);return r.addEventListener(`scroll`,u,g),a&&r.addEventListener(`scrollend`,d,g),()=>{r.removeEventListener(`scroll`,u),a&&r.removeEventListener(`scrollend`,d),s?.cancel()}},y=(e,t)=>v(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),b=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},x=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},S=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:p,rangeExtractor:m,onChange:()=>{},measureElement:b,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=o(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!d()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,g),e.addEventListener(`touchend`,n,g),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(d()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=o(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=o(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:o,laneAssignmentMode:s,gap:c},l)=>{let u=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let d=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),o===1){let i=e*2,o=this._flatMeasurements;if(!o||o.length<i){let e=new Float64Array(i);o&&d>0&&e.set(o.subarray(0,d*2)),o=e,this._flatMeasurements=o}let s;if(d===0)s=t+n;else{let e=d-1;s=o[e*2]+o[e*2+1]+c}for(let t=d;t<e;t++){let e=r(t),n=u.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=i,s+=i+c}let l=a(e,o,r);return this.measurementsCache=l,l}let f=this.measurementsCache.slice(0,d),p=Array(o).fill(void 0),m=new Float64Array(o),h=0;for(let e=0;e<d;e++){let t=f[e];t&&(p[t.lane]===void 0&&h++,p[t.lane]=e,m[t.lane]=t.end)}for(let i=d;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),l,d,g=s===`estimate`||u.has(e);if(a!==void 0&&this.options.lanes>1){l=a;let e=p[l],r=e===void 0?void 0:f[e];d=r?r.end+c:t+n}else if(h===o){let e=0,t=m[0],n=p[0];for(let r=1;r<o;r++){let i=m[r];(i<t||i===t&&p[r]<n)&&(e=r,t=i,n=p[r])}l=e,d=t+c,g&&this.laneAssignments.set(i,l)}else l=i%this.options.lanes,d=t+n,g&&this.laneAssignments.set(i,l);let _=u.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=d+v;f[i]={index:i,start:d,size:v,end:y,key:e,lane:l},p[l]===void 0&&h++,p[l]=i,m[l]=y}return this.measurementsCache=f,f},{key:!1,debug:()=>this.options.debug}),this.calculateRange=o(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>{if(e.length===0||t===0)return this.range=null,null;let i=Math.max(this.getTotalSize()-t,0),a=Math.min(Math.max(n,0),i);return this.range=T(e,t,a,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=o(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f)}},this.getVirtualItems=o(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return s(t[C(0,t.length-1,r?e=>n[e*2]:e=>s(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){return e===0?!1:d()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=e,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&c(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},C=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function w(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function T(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=w(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=C(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var E=typeof document<`u`?r.useLayoutEffect:r.useEffect;function D({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...a}){let o=r.useReducer(e=>e+1,0)[1],s=r.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});s.current.enabled=t,s.current.mode=n;let c=e=>{let t=s.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},l=e=>{let t=s.current;if(!t.enabled||!t.container)return;c(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,a=e.options.scrollMargin,o=e.getVirtualItems();for(let s of o){let o=s.start-a,c=e.elementsCache.get(s.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},u={...a,onChange:(t,n)=>{var r;let c=s.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n?(0,i.flushSync)(o):o()),(r=a.onChange)==null||r.call(a,t,n)}},[d]=r.useState(()=>{let e=new S(u);return Object.assign(e,{containerRef:t=>{let n=s.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return d.setOptions(u),E(()=>d._didMount(),[]),E(()=>(c(d),d._willUpdate())),E(()=>{l(d)}),d}function O(e){return D({observeElementRect:h,observeElementOffset:y,scrollToFn:x,...e})}export{x as n,O as t};