@sma1lboy/rove 0.9.250 → 0.9.251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/chunk-032g0ahy.js +3 -0
- package/dist/cli/{chunk-h86p4zzr.js → chunk-094cgrcc.js} +1 -1
- package/dist/cli/{chunk-5bfern2b.js → chunk-11wyec8z.js} +1 -1
- package/dist/cli/{chunk-kxaqge09.js → chunk-14f459aa.js} +1 -1
- package/dist/cli/{chunk-8gmxg77t.js → chunk-1exaxwyv.js} +1 -1
- package/dist/cli/{chunk-mptaj95j.js → chunk-1tebqkdv.js} +1 -1
- package/dist/cli/{chunk-h9cg0j3a.js → chunk-21ek142k.js} +1 -1
- package/dist/cli/{chunk-9q1m5qz0.js → chunk-28wjmb9f.js} +1 -1
- package/dist/cli/chunk-29kvfqeh.js +23 -0
- package/dist/cli/chunk-2dpr8gps.js +2 -0
- package/dist/cli/{chunk-mn6qth54.js → chunk-2g2w5vvn.js} +1 -1
- package/dist/cli/{chunk-7xttx9m1.js → chunk-2pen6b1t.js} +1 -1
- package/dist/cli/{chunk-a82ec09z.js → chunk-2wd4744g.js} +1 -1
- package/dist/cli/chunk-3msnqacf.js +2 -0
- package/dist/cli/{chunk-wtdj8n93.js → chunk-4rx3nhvq.js} +1 -1
- package/dist/cli/{chunk-2vgc5cyj.js → chunk-4z01vg3t.js} +1 -1
- package/dist/cli/{chunk-y2bga5cw.js → chunk-5456ttpr.js} +3 -3
- package/dist/cli/{chunk-f7zjggfv.js → chunk-568q390y.js} +2 -2
- package/dist/cli/chunk-5q08srg6.js +2 -0
- package/dist/cli/chunk-5r71q63g.js +2 -0
- package/dist/cli/chunk-6ahc8w4p.js +87 -0
- package/dist/cli/{chunk-3c58659p.js → chunk-6f01fsje.js} +1 -1
- package/dist/cli/{chunk-rvqse0aa.js → chunk-6h0n4b5t.js} +2 -2
- package/dist/cli/chunk-6rrzq5et.js +3 -0
- package/dist/cli/chunk-719avf77.js +2 -0
- package/dist/cli/chunk-76n3d9x3.js +2 -0
- package/dist/cli/{chunk-jh11snb1.js → chunk-7j00hbq5.js} +1 -1
- package/dist/cli/{chunk-8n19nb0s.js → chunk-7vv6160d.js} +1 -1
- package/dist/cli/{chunk-gc77ewk2.js → chunk-7z9yfnjd.js} +1 -1
- package/dist/cli/{chunk-4xns5j33.js → chunk-84bmcqyz.js} +1 -1
- package/dist/cli/{chunk-hm6qe86k.js → chunk-86chrjqr.js} +1 -1
- package/dist/cli/{chunk-kqc0kym1.js → chunk-88czbfqx.js} +1 -1
- package/dist/cli/{chunk-r07zjer5.js → chunk-8ezc1ban.js} +2 -2
- package/dist/cli/{chunk-ntrwd6ks.js → chunk-8ja7jrhc.js} +2 -2
- package/dist/cli/chunk-8s0mz115.js +52 -0
- package/dist/cli/{chunk-rjxj5tf4.js → chunk-8sbbzs5g.js} +1 -1
- package/dist/cli/{chunk-rtdr5bm8.js → chunk-8spmjwwz.js} +1 -1
- package/dist/cli/{chunk-wqfp8d9w.js → chunk-91sykzqq.js} +2 -2
- package/dist/cli/{chunk-jk8knad0.js → chunk-963er0h4.js} +3 -3
- package/dist/cli/{chunk-y7mg74jx.js → chunk-964z8ccb.js} +1 -1
- package/dist/cli/chunk-9h940gnr.js +2 -0
- package/dist/cli/{chunk-z0ewb9k9.js → chunk-9v568ape.js} +1 -1
- package/dist/cli/{chunk-tbrkck2f.js → chunk-9xtg2k54.js} +1 -1
- package/dist/cli/{chunk-xv8fhxxm.js → chunk-a7m7w6d1.js} +1 -1
- package/dist/cli/{chunk-3pdg2afa.js → chunk-apfzdw7g.js} +2 -2
- package/dist/cli/{chunk-fxqp6zt5.js → chunk-ayr5dpgc.js} +1 -1
- package/dist/cli/{chunk-j3c4kygc.js → chunk-bvqwgrar.js} +1 -1
- package/dist/cli/{chunk-ktzbg4jg.js → chunk-cb1dg7nz.js} +1 -1
- package/dist/cli/{chunk-nhakrm1f.js → chunk-cmp64q4j.js} +1 -1
- package/dist/cli/chunk-cp5jp5mq.js +3 -0
- package/dist/cli/{chunk-78xjh4gg.js → chunk-crdyt04z.js} +1 -1
- package/dist/cli/chunk-d99385f2.js +22 -0
- package/dist/cli/chunk-daw4mxq3.js +2 -0
- package/dist/cli/{chunk-wtb8cycx.js → chunk-dcjxtwdb.js} +1 -1
- package/dist/cli/{chunk-78kh1fet.js → chunk-dgbcpkr2.js} +1 -1
- package/dist/cli/{chunk-easxds8p.js → chunk-e003wm6d.js} +2 -2
- package/dist/cli/{chunk-2mrwdd50.js → chunk-e1xvz3sv.js} +1 -1
- package/dist/cli/chunk-f7rmd4zk.js +6 -0
- package/dist/cli/{chunk-7mq1ascs.js → chunk-fktvtdkb.js} +1 -1
- package/dist/cli/{chunk-2r696a8v.js → chunk-fsdh66fa.js} +1 -1
- package/dist/cli/{chunk-06d596z0.js → chunk-g5rr5fpn.js} +1 -1
- package/dist/cli/chunk-g872swb8.js +82 -0
- package/dist/cli/{chunk-t8v9rpdx.js → chunk-g8wrdp7n.js} +1 -1
- package/dist/cli/{chunk-fxm1cmp9.js → chunk-ga5f2pyc.js} +1 -1
- package/dist/cli/{chunk-ce16ecse.js → chunk-gaf6n1ea.js} +1 -1
- package/dist/cli/{chunk-53cyns0f.js → chunk-gp991c3v.js} +1 -1
- package/dist/cli/chunk-h9kzwj14.js +2 -0
- package/dist/cli/{chunk-yjs6d5w1.js → chunk-jfnr89qj.js} +1 -1
- package/dist/cli/{chunk-d5xc67hp.js → chunk-jrdwedn2.js} +1 -1
- package/dist/cli/{chunk-wnwzj8am.js → chunk-k9spgfmx.js} +1 -1
- package/dist/cli/{chunk-41r8zj46.js → chunk-kb3zvtkj.js} +1 -1
- package/dist/cli/{chunk-vb2tzcde.js → chunk-m4wy9ja5.js} +1 -1
- package/dist/cli/chunk-md094j05.js +3 -0
- package/dist/cli/{chunk-09y4jh6p.js → chunk-mdnrrj16.js} +1 -1
- package/dist/cli/{chunk-whbm14qr.js → chunk-meyfwc50.js} +1 -1
- package/dist/cli/{chunk-wkt6h5cf.js → chunk-mf7fb92r.js} +1 -1
- package/dist/cli/chunk-mnm9n2vr.js +2 -0
- package/dist/cli/chunk-mnpewdhd.js +17 -0
- package/dist/cli/chunk-mq06xpqr.js +3 -0
- package/dist/cli/{chunk-93r6tgf1.js → chunk-mre9g9vq.js} +1 -1
- package/dist/cli/{chunk-c01899mr.js → chunk-mv0hp5cv.js} +1 -1
- package/dist/cli/{chunk-21xgqgmv.js → chunk-n52x0ehz.js} +1 -1
- package/dist/cli/{chunk-g8fjjbnj.js → chunk-ncrr0fa3.js} +1 -1
- package/dist/cli/{chunk-k39sf30b.js → chunk-nep425b6.js} +1 -1
- package/dist/cli/{chunk-pe6wnsww.js → chunk-nj53wrzz.js} +1 -1
- package/dist/cli/{chunk-ap3r73bm.js → chunk-nsqsvgry.js} +3 -3
- package/dist/cli/{chunk-p83wf4zw.js → chunk-nxe45n7k.js} +2 -2
- package/dist/cli/{chunk-38s9e8dh.js → chunk-ny12rama.js} +1 -1
- package/dist/cli/{chunk-q8q22wq3.js → chunk-p2jeq98m.js} +1 -1
- package/dist/cli/chunk-q3xt0mqt.js +3 -0
- package/dist/cli/{chunk-7s67c0kw.js → chunk-q5bhq11t.js} +1 -1
- package/dist/cli/chunk-q6qhk171.js +2 -0
- package/dist/cli/{chunk-9aydqazr.js → chunk-q854fweb.js} +1 -1
- package/dist/cli/chunk-qft75bkm.js +2 -0
- package/dist/cli/{chunk-p18ehv9y.js → chunk-qstjfseh.js} +1 -1
- package/dist/cli/chunk-qxzrdfh7.js +11 -0
- package/dist/cli/{chunk-bvqazrbz.js → chunk-qyfmfpjg.js} +1 -1
- package/dist/cli/{chunk-gcxcq22q.js → chunk-r0etyq15.js} +1 -1
- package/dist/cli/{chunk-hbn1t161.js → chunk-r2c5nbcq.js} +1 -1
- package/dist/cli/chunk-r7tbzgt7.js +2 -0
- package/dist/cli/{chunk-s57vy3k3.js → chunk-ra40m849.js} +1 -1
- package/dist/cli/chunk-regtterm.js +9 -0
- package/dist/cli/{chunk-pvm3fc44.js → chunk-rf0jrh3q.js} +1 -1
- package/dist/cli/chunk-rhq87p4r.js +2 -0
- package/dist/cli/chunk-rkgnrfga.js +2 -0
- package/dist/cli/chunk-rqpwy31f.js +2 -0
- package/dist/cli/{chunk-8mfpv3fh.js → chunk-rt4tg426.js} +1 -1
- package/dist/cli/{chunk-n5dea05t.js → chunk-s2t9acrv.js} +1 -1
- package/dist/cli/{chunk-fz17c524.js → chunk-s5a5dyab.js} +1 -1
- package/dist/cli/{chunk-8gqkrbyr.js → chunk-s5k3g5ra.js} +1 -1
- package/dist/cli/{chunk-des00203.js → chunk-sgegp9x9.js} +1 -1
- package/dist/cli/chunk-sqp33pwr.js +2 -0
- package/dist/cli/chunk-t33z2kdv.js +3 -0
- package/dist/cli/{chunk-fvmee0tr.js → chunk-t71nxngb.js} +1 -1
- package/dist/cli/{chunk-ng12dprz.js → chunk-tntdcyra.js} +1 -1
- package/dist/cli/{chunk-4nt1gnwq.js → chunk-v312167r.js} +1 -1
- package/dist/cli/{chunk-j4cqwqnc.js → chunk-v6d6kvmk.js} +1 -1
- package/dist/cli/chunk-vd8qqev9.js +4 -0
- package/dist/cli/{chunk-vej49hnt.js → chunk-vgknea9y.js} +2 -2
- package/dist/cli/chunk-vwg79maj.js +20 -0
- package/dist/cli/{chunk-99n8qsw9.js → chunk-w4cpkhzj.js} +1 -1
- package/dist/cli/{chunk-3dey6b3r.js → chunk-w7yg0bbz.js} +1 -1
- package/dist/cli/{chunk-85q2tgmg.js → chunk-ws6yep7z.js} +1 -1
- package/dist/cli/{chunk-9jsm6h5y.js → chunk-x0rvg54z.js} +1 -1
- package/dist/cli/{chunk-enq6vwz5.js → chunk-x7cv6deh.js} +1 -1
- package/dist/cli/{chunk-qb1agm2c.js → chunk-y1cb8pj5.js} +1 -1
- package/dist/cli/{chunk-cbjh43yc.js → chunk-y5dk90tw.js} +1 -1
- package/dist/cli/{chunk-zfvg4w3t.js → chunk-yjyjg7sk.js} +1 -1
- package/dist/cli/{chunk-0gz3an4p.js → chunk-yknavm97.js} +1 -1
- package/dist/cli/{chunk-hhvvcwjq.js → chunk-zcadc92x.js} +1 -1
- package/dist/cli/{chunk-3hcsvyeq.js → chunk-zcwgmz5p.js} +1 -1
- package/dist/cli/chunk-zk5qkkb1.js +3 -0
- package/dist/cli/index.js +9 -9
- package/dist/cli/pty-host-node.mjs +10 -2
- package/dist/cli/rove-run.js +1 -1
- package/dist/cli/rove.js +1 -1
- package/dist/web/assets/{index-BYv91-Cs.css → index-BZjPWX0N.css} +1 -1
- package/dist/web/assets/index-DHlgMx7L.js +109 -0
- package/dist/web/index.html +2 -2
- package/package.json +4 -4
- package/dist/cli/chunk-191gy3f0.js +0 -2
- package/dist/cli/chunk-2kshjtcs.js +0 -2
- package/dist/cli/chunk-5fft208x.js +0 -2
- package/dist/cli/chunk-66r43sfd.js +0 -3
- package/dist/cli/chunk-6axpatfy.js +0 -2
- package/dist/cli/chunk-79hrybcd.js +0 -2
- package/dist/cli/chunk-7q43tysm.js +0 -3
- package/dist/cli/chunk-86tw1190.js +0 -4
- package/dist/cli/chunk-8kx2k2s8.js +0 -52
- package/dist/cli/chunk-8m5crcy5.js +0 -82
- package/dist/cli/chunk-8pna13mr.js +0 -2
- package/dist/cli/chunk-9853bbb9.js +0 -18
- package/dist/cli/chunk-asy33vdy.js +0 -2
- package/dist/cli/chunk-cmss5e88.js +0 -3
- package/dist/cli/chunk-e8d5951a.js +0 -2
- package/dist/cli/chunk-fe7kwz48.js +0 -3
- package/dist/cli/chunk-g4k86vkr.js +0 -2
- package/dist/cli/chunk-gcdm2jke.js +0 -2
- package/dist/cli/chunk-gpb49qs3.js +0 -3
- package/dist/cli/chunk-hzfq0sst.js +0 -2
- package/dist/cli/chunk-kecy2zcc.js +0 -9
- package/dist/cli/chunk-knfnbv60.js +0 -17
- package/dist/cli/chunk-m3sq1vgk.js +0 -40
- package/dist/cli/chunk-pkk9j80z.js +0 -7
- package/dist/cli/chunk-vt6ghz8y.js +0 -2
- package/dist/cli/chunk-vt7bc8d6.js +0 -87
- package/dist/cli/chunk-w594v1n8.js +0 -2
- package/dist/cli/chunk-x8fd9y51.js +0 -3
- package/dist/cli/chunk-zh30b87y.js +0 -9
- package/dist/cli/chunk-zwq8cb8p.js +0 -2
- package/dist/web/assets/index-DaovU92T.js +0 -109
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./chunk-764bsyb0.js";import{__commonJS,__require,__toESM}from"./chunk-wqfp8d9w.js";var require_backend=__commonJS((exports,module)=>{(function(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory();else if(typeof define==="function"&&define.amd)define([],factory);else if(typeof exports==="object")exports.ReactDevToolsBackend=factory();else root.ReactDevToolsBackend=factory()})(self,()=>{return(()=>{var __webpack_modules__={786:(__unused_webpack_module,exports2,__webpack_require__2)=>{var __webpack_unused_export__;function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}var ErrorStackParser=__webpack_require__2(206),React=__webpack_require__2(189),assign=Object.assign,ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_MEMO_CACHE_SENTINEL=Symbol.for("react.memo_cache_sentinel"),hasOwnProperty=Object.prototype.hasOwnProperty,hookLog=[],primitiveStackCache=null;function getPrimitiveStackCache(){if(primitiveStackCache===null){var cache=new Map;try{if(Dispatcher.useContext({_currentValue:null}),Dispatcher.useState(null),Dispatcher.useReducer(function(s){return s},null),Dispatcher.useRef(null),typeof Dispatcher.useCacheRefresh==="function"&&Dispatcher.useCacheRefresh(),Dispatcher.useLayoutEffect(function(){}),Dispatcher.useInsertionEffect(function(){}),Dispatcher.useEffect(function(){}),Dispatcher.useImperativeHandle(void 0,function(){return null}),Dispatcher.useDebugValue(null),Dispatcher.useCallback(function(){}),Dispatcher.useTransition(),Dispatcher.useSyncExternalStore(function(){return function(){}},function(){return null},function(){return null}),Dispatcher.useDeferredValue(null),Dispatcher.useMemo(function(){return null}),Dispatcher.useOptimistic(null,function(s){return s}),Dispatcher.useFormState(function(s){return s},null),Dispatcher.useActionState(function(s){return s},null),Dispatcher.useHostTransitionStatus(),typeof Dispatcher.useMemoCache==="function"&&Dispatcher.useMemoCache(0),typeof Dispatcher.use==="function"){Dispatcher.use({$$typeof:REACT_CONTEXT_TYPE,_currentValue:null}),Dispatcher.use({then:function(){},status:"fulfilled",value:null});try{Dispatcher.use({then:function(){}})}catch(x){}}Dispatcher.useId(),typeof Dispatcher.useEffectEvent==="function"&&Dispatcher.useEffectEvent(function(){})}finally{var readHookLog=hookLog;hookLog=[]}for(var i=0;i<readHookLog.length;i++){var hook=readHookLog[i];cache.set(hook.primitive,ErrorStackParser.parse(hook.stackError))}primitiveStackCache=cache}return primitiveStackCache}var currentFiber=null,currentHook=null,currentContextDependency=null,currentThenableIndex=0,currentThenableState=null;function nextHook(){var hook=currentHook;return hook!==null&&(currentHook=hook.next),hook}function readContext(context){if(currentFiber===null)return context._currentValue;if(currentContextDependency===null)throw Error("Context reads do not line up with context dependencies. This is a bug in React Debug Tools.");return hasOwnProperty.call(currentContextDependency,"memoizedValue")?(context=currentContextDependency.memoizedValue,currentContextDependency=currentContextDependency.next):context=context._currentValue,context}var SuspenseException=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),Dispatcher={readContext,use:function(usable){if(usable!==null&&_typeof(usable)==="object"){if(typeof usable.then==="function"){switch(usable=currentThenableState!==null&¤tThenableIndex<currentThenableState.length?currentThenableState[currentThenableIndex++]:usable,usable.status){case"fulfilled":var fulfilledValue=usable.value;return hookLog.push({displayName:null,primitive:"Promise",stackError:Error(),value:fulfilledValue,debugInfo:usable._debugInfo===void 0?null:usable._debugInfo,dispatcherHookName:"Use"}),fulfilledValue;case"rejected":throw usable.reason}throw hookLog.push({displayName:null,primitive:"Unresolved",stackError:Error(),value:usable,debugInfo:usable._debugInfo===void 0?null:usable._debugInfo,dispatcherHookName:"Use"}),SuspenseException}if(usable.$$typeof===REACT_CONTEXT_TYPE)return fulfilledValue=readContext(usable),hookLog.push({displayName:usable.displayName||"Context",primitive:"Context (use)",stackError:Error(),value:fulfilledValue,debugInfo:null,dispatcherHookName:"Use"}),fulfilledValue}throw Error("An unsupported type was passed to use(): "+String(usable))},useCallback:function(callback){var hook=nextHook();return hookLog.push({displayName:null,primitive:"Callback",stackError:Error(),value:hook!==null?hook.memoizedState[0]:callback,debugInfo:null,dispatcherHookName:"Callback"}),callback},useContext:function(context){var value=readContext(context);return hookLog.push({displayName:context.displayName||null,primitive:"Context",stackError:Error(),value,debugInfo:null,dispatcherHookName:"Context"}),value},useEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"Effect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"Effect"})},useImperativeHandle:function(ref){nextHook();var instance=void 0;ref!==null&&_typeof(ref)==="object"&&(instance=ref.current),hookLog.push({displayName:null,primitive:"ImperativeHandle",stackError:Error(),value:instance,debugInfo:null,dispatcherHookName:"ImperativeHandle"})},useLayoutEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"LayoutEffect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"LayoutEffect"})},useInsertionEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"InsertionEffect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"InsertionEffect"})},useMemo:function(nextCreate){var hook=nextHook();return nextCreate=hook!==null?hook.memoizedState[0]:nextCreate(),hookLog.push({displayName:null,primitive:"Memo",stackError:Error(),value:nextCreate,debugInfo:null,dispatcherHookName:"Memo"}),nextCreate},useReducer:function(reducer,initialArg,init){return reducer=nextHook(),initialArg=reducer!==null?reducer.memoizedState:init!==void 0?init(initialArg):initialArg,hookLog.push({displayName:null,primitive:"Reducer",stackError:Error(),value:initialArg,debugInfo:null,dispatcherHookName:"Reducer"}),[initialArg,function(){}]},useRef:function(initialValue){var hook=nextHook();return initialValue=hook!==null?hook.memoizedState:{current:initialValue},hookLog.push({displayName:null,primitive:"Ref",stackError:Error(),value:initialValue.current,debugInfo:null,dispatcherHookName:"Ref"}),initialValue},useState:function(initialState){var hook=nextHook();return initialState=hook!==null?hook.memoizedState:typeof initialState==="function"?initialState():initialState,hookLog.push({displayName:null,primitive:"State",stackError:Error(),value:initialState,debugInfo:null,dispatcherHookName:"State"}),[initialState,function(){}]},useDebugValue:function(value,formatterFn){hookLog.push({displayName:null,primitive:"DebugValue",stackError:Error(),value:typeof formatterFn==="function"?formatterFn(value):value,debugInfo:null,dispatcherHookName:"DebugValue"})},useDeferredValue:function(value){var hook=nextHook();return value=hook!==null?hook.memoizedState:value,hookLog.push({displayName:null,primitive:"DeferredValue",stackError:Error(),value,debugInfo:null,dispatcherHookName:"DeferredValue"}),value},useTransition:function(){var stateHook=nextHook();return nextHook(),stateHook=stateHook!==null?stateHook.memoizedState:!1,hookLog.push({displayName:null,primitive:"Transition",stackError:Error(),value:stateHook,debugInfo:null,dispatcherHookName:"Transition"}),[stateHook,function(){}]},useSyncExternalStore:function(subscribe,getSnapshot){return nextHook(),nextHook(),subscribe=getSnapshot(),hookLog.push({displayName:null,primitive:"SyncExternalStore",stackError:Error(),value:subscribe,debugInfo:null,dispatcherHookName:"SyncExternalStore"}),subscribe},useId:function(){var hook=nextHook();return hook=hook!==null?hook.memoizedState:"",hookLog.push({displayName:null,primitive:"Id",stackError:Error(),value:hook,debugInfo:null,dispatcherHookName:"Id"}),hook},useHostTransitionStatus:function(){var status=readContext({_currentValue:null});return hookLog.push({displayName:null,primitive:"HostTransitionStatus",stackError:Error(),value:status,debugInfo:null,dispatcherHookName:"HostTransitionStatus"}),status},useFormState:function(action,initialState){var hook=nextHook();nextHook(),nextHook(),action=Error();var debugInfo=null,error=null;if(hook!==null)if(initialState=hook.memoizedState,_typeof(initialState)==="object"&&initialState!==null&&typeof initialState.then==="function")switch(initialState.status){case"fulfilled":var value=initialState.value;debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo;break;case"rejected":error=initialState.reason;break;default:error=SuspenseException,debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo,value=initialState}else value=initialState;else value=initialState;if(hookLog.push({displayName:null,primitive:"FormState",stackError:action,value,debugInfo,dispatcherHookName:"FormState"}),error!==null)throw error;return[value,function(){},!1]},useActionState:function(action,initialState){var hook=nextHook();nextHook(),nextHook(),action=Error();var debugInfo=null,error=null;if(hook!==null)if(initialState=hook.memoizedState,_typeof(initialState)==="object"&&initialState!==null&&typeof initialState.then==="function")switch(initialState.status){case"fulfilled":var value=initialState.value;debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo;break;case"rejected":error=initialState.reason;break;default:error=SuspenseException,debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo,value=initialState}else value=initialState;else value=initialState;if(hookLog.push({displayName:null,primitive:"ActionState",stackError:action,value,debugInfo,dispatcherHookName:"ActionState"}),error!==null)throw error;return[value,function(){},!1]},useOptimistic:function(passthrough){var hook=nextHook();return passthrough=hook!==null?hook.memoizedState:passthrough,hookLog.push({displayName:null,primitive:"Optimistic",stackError:Error(),value:passthrough,debugInfo:null,dispatcherHookName:"Optimistic"}),[passthrough,function(){}]},useMemoCache:function(size){var fiber=currentFiber;if(fiber==null)return[];if(fiber=fiber.updateQueue!=null?fiber.updateQueue.memoCache:null,fiber==null)return[];var data=fiber.data[fiber.index];if(data===void 0){data=fiber.data[fiber.index]=Array(size);for(var i=0;i<size;i++)data[i]=REACT_MEMO_CACHE_SENTINEL}return fiber.index++,data},useCacheRefresh:function(){var hook=nextHook();return hookLog.push({displayName:null,primitive:"CacheRefresh",stackError:Error(),value:hook!==null?hook.memoizedState:function(){},debugInfo:null,dispatcherHookName:"CacheRefresh"}),function(){}},useEffectEvent:function(callback){return nextHook(),hookLog.push({displayName:null,primitive:"EffectEvent",stackError:Error(),value:callback,debugInfo:null,dispatcherHookName:"EffectEvent"}),callback}},DispatcherProxyHandler={get:function(target,prop){if(target.hasOwnProperty(prop))return target[prop];throw target=Error("Missing method in Dispatcher: "+prop),target.name="ReactDebugToolsUnsupportedHookError",target}},DispatcherProxy=typeof Proxy>"u"?Dispatcher:new Proxy(Dispatcher,DispatcherProxyHandler),mostLikelyAncestorIndex=0;function findSharedIndex(hookStack,rootStack,rootIndex){var source=rootStack[rootIndex].source,i=0;a:for(;i<hookStack.length;i++)if(hookStack[i].source===source){for(var a=rootIndex+1,b=i+1;a<rootStack.length&&b<hookStack.length;a++,b++)if(hookStack[b].source!==rootStack[a].source)continue a;return i}return-1}function isReactWrapper(functionName,wrapperName){return functionName=parseHookName(functionName),wrapperName==="HostTransitionStatus"?functionName===wrapperName||functionName==="FormStatus":functionName===wrapperName}function parseHookName(functionName){if(!functionName)return"";var startIndex=functionName.lastIndexOf("[as ");if(startIndex!==-1)return parseHookName(functionName.slice(startIndex+4,-1));if(startIndex=functionName.lastIndexOf("."),startIndex=startIndex===-1?0:startIndex+1,functionName.slice(startIndex).startsWith("unstable_")&&(startIndex+=9),functionName.slice(startIndex).startsWith("experimental_")&&(startIndex+=13),functionName.slice(startIndex,startIndex+3)==="use"){if(functionName.length-startIndex===3)return"Use";startIndex+=3}return functionName.slice(startIndex)}function buildTree(rootStack$jscomp$0,readHookLog){for(var rootChildren=[],prevStack=null,levelChildren=rootChildren,nativeHookID=0,stackOfChildren=[],i=0;i<readHookLog.length;i++){var hook=readHookLog[i],rootStack=rootStack$jscomp$0,JSCompiler_inline_result=ErrorStackParser.parse(hook.stackError);b:{var hookStack=JSCompiler_inline_result,rootIndex=findSharedIndex(hookStack,rootStack,mostLikelyAncestorIndex);if(rootIndex!==-1)rootStack=rootIndex;else{for(var i$jscomp$0=0;i$jscomp$0<rootStack.length&&5>i$jscomp$0;i$jscomp$0++)if(rootIndex=findSharedIndex(hookStack,rootStack,i$jscomp$0),rootIndex!==-1){mostLikelyAncestorIndex=i$jscomp$0,rootStack=rootIndex;break b}rootStack=-1}}b:{if(hookStack=JSCompiler_inline_result,rootIndex=getPrimitiveStackCache().get(hook.primitive),rootIndex!==void 0){for(i$jscomp$0=0;i$jscomp$0<rootIndex.length&&i$jscomp$0<hookStack.length;i$jscomp$0++)if(rootIndex[i$jscomp$0].source!==hookStack[i$jscomp$0].source){i$jscomp$0<hookStack.length-1&&isReactWrapper(hookStack[i$jscomp$0].functionName,hook.dispatcherHookName)&&i$jscomp$0++,i$jscomp$0<hookStack.length-1&&isReactWrapper(hookStack[i$jscomp$0].functionName,hook.dispatcherHookName)&&i$jscomp$0++,hookStack=i$jscomp$0;break b}}hookStack=-1}if(JSCompiler_inline_result=rootStack===-1||hookStack===-1||2>rootStack-hookStack?hookStack===-1?[null,null]:[JSCompiler_inline_result[hookStack-1],null]:[JSCompiler_inline_result[hookStack-1],JSCompiler_inline_result.slice(hookStack,rootStack-1)],hookStack=JSCompiler_inline_result[0],JSCompiler_inline_result=JSCompiler_inline_result[1],rootStack=hook.displayName,rootStack===null&&hookStack!==null&&(rootStack=parseHookName(hookStack.functionName)||parseHookName(hook.dispatcherHookName)),JSCompiler_inline_result!==null){if(hookStack=0,prevStack!==null){for(;hookStack<JSCompiler_inline_result.length&&hookStack<prevStack.length&&JSCompiler_inline_result[JSCompiler_inline_result.length-hookStack-1].source===prevStack[prevStack.length-hookStack-1].source;)hookStack++;for(prevStack=prevStack.length-1;prevStack>hookStack;prevStack--)levelChildren=stackOfChildren.pop()}for(prevStack=JSCompiler_inline_result.length-hookStack-1;1<=prevStack;prevStack--)hookStack=[],rootIndex=JSCompiler_inline_result[prevStack],rootIndex={id:null,isStateEditable:!1,name:parseHookName(JSCompiler_inline_result[prevStack-1].functionName),value:void 0,subHooks:hookStack,debugInfo:null,hookSource:{lineNumber:rootIndex.lineNumber===void 0?null:rootIndex.lineNumber,columnNumber:rootIndex.columnNumber===void 0?null:rootIndex.columnNumber,functionName:rootIndex.functionName===void 0?null:rootIndex.functionName,fileName:rootIndex.fileName===void 0?null:rootIndex.fileName}},levelChildren.push(rootIndex),stackOfChildren.push(levelChildren),levelChildren=hookStack;prevStack=JSCompiler_inline_result}hookStack=hook.primitive,rootIndex=hook.debugInfo,hook={id:hookStack==="Context"||hookStack==="Context (use)"||hookStack==="DebugValue"||hookStack==="Promise"||hookStack==="Unresolved"||hookStack==="HostTransitionStatus"?null:nativeHookID++,isStateEditable:hookStack==="Reducer"||hookStack==="State",name:rootStack||hookStack,value:hook.value,subHooks:[],debugInfo:rootIndex,hookSource:null},rootStack={lineNumber:null,functionName:null,fileName:null,columnNumber:null},JSCompiler_inline_result&&1<=JSCompiler_inline_result.length&&(JSCompiler_inline_result=JSCompiler_inline_result[0],rootStack.lineNumber=JSCompiler_inline_result.lineNumber===void 0?null:JSCompiler_inline_result.lineNumber,rootStack.functionName=JSCompiler_inline_result.functionName===void 0?null:JSCompiler_inline_result.functionName,rootStack.fileName=JSCompiler_inline_result.fileName===void 0?null:JSCompiler_inline_result.fileName,rootStack.columnNumber=JSCompiler_inline_result.columnNumber===void 0?null:JSCompiler_inline_result.columnNumber),hook.hookSource=rootStack,levelChildren.push(hook)}return processDebugValues(rootChildren,null),rootChildren}function processDebugValues(hooksTree,parentHooksNode){for(var debugValueHooksNodes=[],i=0;i<hooksTree.length;i++){var hooksNode=hooksTree[i];hooksNode.name==="DebugValue"&&hooksNode.subHooks.length===0?(hooksTree.splice(i,1),i--,debugValueHooksNodes.push(hooksNode)):processDebugValues(hooksNode.subHooks,hooksNode)}parentHooksNode!==null&&(debugValueHooksNodes.length===1?parentHooksNode.value=debugValueHooksNodes[0].value:1<debugValueHooksNodes.length&&(parentHooksNode.value=debugValueHooksNodes.map(function(_ref){return _ref.value})))}function handleRenderFunctionError(error){if(error!==SuspenseException){if(error instanceof Error&&error.name==="ReactDebugToolsUnsupportedHookError")throw error;var wrapperError=Error("Error rendering inspected component",{cause:error});throw wrapperError.name="ReactDebugToolsRenderError",wrapperError.cause=error,wrapperError}}function inspectHooks(renderFunction,props,currentDispatcher){currentDispatcher==null&&(currentDispatcher=ReactSharedInternals);var previousDispatcher=currentDispatcher.H;currentDispatcher.H=DispatcherProxy;try{var ancestorStackError=Error();renderFunction(props)}catch(error){handleRenderFunctionError(error)}finally{renderFunction=hookLog,hookLog=[],currentDispatcher.H=previousDispatcher}return currentDispatcher=ancestorStackError===void 0?[]:ErrorStackParser.parse(ancestorStackError),buildTree(currentDispatcher,renderFunction)}function restoreContexts(contextMap){contextMap.forEach(function(value,context){return context._currentValue=value})}__webpack_unused_export__=inspectHooks,exports2.inspectHooksOfFiber=function(fiber,currentDispatcher){if(currentDispatcher==null&&(currentDispatcher=ReactSharedInternals),fiber.tag!==0&&fiber.tag!==15&&fiber.tag!==11)throw Error("Unknown Fiber. Needs to be a function component to inspect hooks.");getPrimitiveStackCache(),currentHook=fiber.memoizedState,currentFiber=fiber;var thenableState=fiber.dependencies&&fiber.dependencies._debugThenableState;if(thenableState=thenableState?thenableState.thenables||thenableState:null,currentThenableState=Array.isArray(thenableState)?thenableState:null,currentThenableIndex=0,hasOwnProperty.call(currentFiber,"dependencies"))thenableState=currentFiber.dependencies,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"dependencies_old"))thenableState=currentFiber.dependencies_old,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"dependencies_new"))thenableState=currentFiber.dependencies_new,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"contextDependencies"))thenableState=currentFiber.contextDependencies,currentContextDependency=thenableState!==null?thenableState.first:null;else throw Error("Unsupported React version. This is a bug in React Debug Tools.");thenableState=fiber.type;var props=fiber.memoizedProps;if(thenableState!==fiber.elementType&&thenableState&&thenableState.defaultProps){props=assign({},props);var defaultProps=thenableState.defaultProps;for(propName in defaultProps)props[propName]===void 0&&(props[propName]=defaultProps[propName])}var propName=new Map;try{if(currentContextDependency!==null&&!hasOwnProperty.call(currentContextDependency,"memoizedValue"))for(defaultProps=fiber;defaultProps;){if(defaultProps.tag===10){var context=defaultProps.type;context._context!==void 0&&(context=context._context),propName.has(context)||(propName.set(context,context._currentValue),context._currentValue=defaultProps.memoizedProps.value)}defaultProps=defaultProps.return}if(fiber.tag===11){var renderFunction=thenableState.render;context=props;var ref=fiber.ref;fiber=currentDispatcher;var previousDispatcher=fiber.H;fiber.H=DispatcherProxy;try{var ancestorStackError=Error();renderFunction(context,ref)}catch(error){handleRenderFunctionError(error)}finally{var readHookLog=hookLog;hookLog=[],fiber.H=previousDispatcher}var rootStack=ancestorStackError===void 0?[]:ErrorStackParser.parse(ancestorStackError);return buildTree(rootStack,readHookLog)}return inspectHooks(thenableState,props,currentDispatcher)}finally{currentThenableState=currentContextDependency=currentHook=currentFiber=null,currentThenableIndex=0,restoreContexts(propName)}}},987:(module2,__unused_webpack_exports,__webpack_require__2)=>{module2.exports=__webpack_require__2(786)},126:(__unused_webpack_module,exports2,__webpack_require__2)=>{var process=__webpack_require__2(169);function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_POSTPONE_TYPE=Symbol.for("react.postpone"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){if(maybeIterable===null||_typeof(maybeIterable)!=="object")return null;return maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable["@@iterator"],typeof maybeIterable==="function"?maybeIterable:null}var ReactNoopUpdateQueue={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},assign=Object.assign,emptyObject={};function Component(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}Component.prototype.isReactComponent={},Component.prototype.setState=function(partialState,callback){if(_typeof(partialState)!=="object"&&typeof partialState!=="function"&&partialState!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,partialState,callback,"setState")},Component.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this,callback,"forceUpdate")};function ComponentDummy(){}ComponentDummy.prototype=Component.prototype;function PureComponent(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}var pureComponentPrototype=PureComponent.prototype=new ComponentDummy;pureComponentPrototype.constructor=PureComponent,assign(pureComponentPrototype,Component.prototype),pureComponentPrototype.isPureReactComponent=!0;var isArrayImpl=Array.isArray;function noop(){}var ReactSharedInternals={H:null,A:null,T:null,S:null,G:null},hasOwnProperty=Object.prototype.hasOwnProperty;function ReactElement(type,key,props){var refProp=props.ref;return{$$typeof:REACT_ELEMENT_TYPE,type,key,ref:refProp!==void 0?refProp:null,props}}function cloneAndReplaceKey(oldElement,newKey){return ReactElement(oldElement.type,newKey,oldElement.props)}function isValidElement(object){return _typeof(object)==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE}function escape(key){var escaperLookup={"=":"=0",":":"=2"};return"$"+key.replace(/[=:]/g,function(match){return escaperLookup[match]})}var userProvidedKeyEscapeRegex=/\/+/g;function getElementKey(element,index){return _typeof(element)==="object"&&element!==null&&element.key!=null?escape(""+element.key):index.toString(36)}function resolveThenable(thenable){switch(thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenable.reason;default:switch(typeof thenable.status==="string"?thenable.then(noop,noop):(thenable.status="pending",thenable.then(function(fulfilledValue){thenable.status==="pending"&&(thenable.status="fulfilled",thenable.value=fulfilledValue)},function(error){thenable.status==="pending"&&(thenable.status="rejected",thenable.reason=error)})),thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenable.reason}}throw thenable}function mapIntoArray(children,array,escapedPrefix,nameSoFar,callback){var type=_typeof(children);if(type==="undefined"||type==="boolean")children=null;var invokeCallback=!1;if(children===null)invokeCallback=!0;else switch(type){case"bigint":case"string":case"number":invokeCallback=!0;break;case"object":switch(children.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:invokeCallback=!0;break;case REACT_LAZY_TYPE:return invokeCallback=children._init,mapIntoArray(invokeCallback(children._payload),array,escapedPrefix,nameSoFar,callback)}}if(invokeCallback)return callback=callback(children),invokeCallback=nameSoFar===""?"."+getElementKey(children,0):nameSoFar,isArrayImpl(callback)?(escapedPrefix="",invokeCallback!=null&&(escapedPrefix=invokeCallback.replace(userProvidedKeyEscapeRegex,"$&/")+"/"),mapIntoArray(callback,array,escapedPrefix,"",function(c){return c})):callback!=null&&(isValidElement(callback)&&(callback=cloneAndReplaceKey(callback,escapedPrefix+(callback.key==null||children&&children.key===callback.key?"":(""+callback.key).replace(userProvidedKeyEscapeRegex,"$&/")+"/")+invokeCallback)),array.push(callback)),1;invokeCallback=0;var nextNamePrefix=nameSoFar===""?".":nameSoFar+":";if(isArrayImpl(children))for(var i=0;i<children.length;i++)nameSoFar=children[i],type=nextNamePrefix+getElementKey(nameSoFar,i),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if(i=getIteratorFn(children),typeof i==="function")for(children=i.call(children),i=0;!(nameSoFar=children.next()).done;)nameSoFar=nameSoFar.value,type=nextNamePrefix+getElementKey(nameSoFar,i++),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if(type==="object"){if(typeof children.then==="function")return mapIntoArray(resolveThenable(children),array,escapedPrefix,nameSoFar,callback);throw array=String(children),Error("Objects are not valid as a React child (found: "+(array==="[object Object]"?"object with keys {"+Object.keys(children).join(", ")+"}":array)+"). If you meant to render a collection of children, use an array instead.")}return invokeCallback}function mapChildren(children,func,context){if(children==null)return children;var result=[],count=0;return mapIntoArray(children,result,"","",function(child){return func.call(context,child,count++)}),result}function lazyInitializer(payload){if(payload._status===-1){var ctor=payload._result;ctor=ctor(),ctor.then(function(moduleObject){if(payload._status===0||payload._status===-1)payload._status=1,payload._result=moduleObject},function(error){if(payload._status===0||payload._status===-1)payload._status=2,payload._result=error}),payload._status===-1&&(payload._status=0,payload._result=ctor)}if(payload._status===1)return payload._result.default;throw payload._result}function useOptimistic(passthrough,reducer){return ReactSharedInternals.H.useOptimistic(passthrough,reducer)}var reportGlobalError=typeof reportError==="function"?reportError:function(error){if((typeof window>"u"?"undefined":_typeof(window))==="object"&&typeof window.ErrorEvent==="function"){var event=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:_typeof(error)==="object"&&error!==null&&typeof error.message==="string"?String(error.message):String(error),error});if(!window.dispatchEvent(event))return}else if((typeof process>"u"?"undefined":_typeof(process))==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",error);return}console.error(error)};function startTransition(scope){var prevTransition=ReactSharedInternals.T,currentTransition={};currentTransition.types=prevTransition!==null?prevTransition.types:null,currentTransition.gesture=null,ReactSharedInternals.T=currentTransition;try{var returnValue=scope(),onStartTransitionFinish=ReactSharedInternals.S;onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),_typeof(returnValue)==="object"&&returnValue!==null&&typeof returnValue.then==="function"&&returnValue.then(noop,reportGlobalError)}catch(error){reportGlobalError(error)}finally{prevTransition!==null&¤tTransition.types!==null&&(prevTransition.types=currentTransition.types),ReactSharedInternals.T=prevTransition}}function addTransitionType(type){var transition=ReactSharedInternals.T;if(transition!==null){var transitionTypes=transition.types;transitionTypes===null?transition.types=[type]:transitionTypes.indexOf(type)===-1&&transitionTypes.push(type)}else startTransition(addTransitionType.bind(null,type))}var Children={map:mapChildren,forEach:function(children,forEachFunc,forEachContext){mapChildren(children,function(){forEachFunc.apply(this,arguments)},forEachContext)},count:function(children){var n=0;return mapChildren(children,function(){n++}),n},toArray:function(children){return mapChildren(children,function(child){return child})||[]},only:function(children){if(!isValidElement(children))throw Error("React.Children.only expected to receive a single React element child.");return children}};exports2.Activity=REACT_ACTIVITY_TYPE,exports2.Children=Children,exports2.Component=Component,exports2.Fragment=REACT_FRAGMENT_TYPE,exports2.Profiler=REACT_PROFILER_TYPE,exports2.PureComponent=PureComponent,exports2.StrictMode=REACT_STRICT_MODE_TYPE,exports2.Suspense=REACT_SUSPENSE_TYPE,exports2.ViewTransition=REACT_VIEW_TRANSITION_TYPE,exports2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ReactSharedInternals,exports2.__COMPILER_RUNTIME={__proto__:null,c:function(size){return ReactSharedInternals.H.useMemoCache(size)}},exports2.addTransitionType=addTransitionType,exports2.cache=function(fn){return function(){return fn.apply(null,arguments)}},exports2.cacheSignal=function(){return null},exports2.cloneElement=function(element,config,children){if(element===null||element===void 0)throw Error("The argument must be a React element, but you passed "+element+".");var props=assign({},element.props),key=element.key;if(config!=null)for(propName in config.key!==void 0&&(key=""+config.key),config)!hasOwnProperty.call(config,propName)||propName==="key"||propName==="__self"||propName==="__source"||propName==="ref"&&config.ref===void 0||(props[propName]=config[propName]);var propName=arguments.length-2;if(propName===1)props.children=children;else if(1<propName){for(var childArray=Array(propName),i=0;i<propName;i++)childArray[i]=arguments[i+2];props.children=childArray}return ReactElement(element.type,key,props)},exports2.createContext=function(defaultValue){return defaultValue={$$typeof:REACT_CONTEXT_TYPE,_currentValue:defaultValue,_currentValue2:defaultValue,_threadCount:0,Provider:null,Consumer:null},defaultValue.Provider=defaultValue,defaultValue.Consumer={$$typeof:REACT_CONSUMER_TYPE,_context:defaultValue},defaultValue},exports2.createElement=function(type,config,children){var propName,props={},key=null;if(config!=null)for(propName in config.key!==void 0&&(key=""+config.key),config)hasOwnProperty.call(config,propName)&&propName!=="key"&&propName!=="__self"&&propName!=="__source"&&(props[propName]=config[propName]);var childrenLength=arguments.length-2;if(childrenLength===1)props.children=children;else if(1<childrenLength){for(var childArray=Array(childrenLength),i=0;i<childrenLength;i++)childArray[i]=arguments[i+2];props.children=childArray}if(type&&type.defaultProps)for(propName in childrenLength=type.defaultProps,childrenLength)props[propName]===void 0&&(props[propName]=childrenLength[propName]);return ReactElement(type,key,props)},exports2.createRef=function(){return{current:null}},exports2.experimental_useOptimistic=function(passthrough,reducer){return useOptimistic(passthrough,reducer)},exports2.forwardRef=function(render){return{$$typeof:REACT_FORWARD_REF_TYPE,render}},exports2.isValidElement=isValidElement,exports2.lazy=function(ctor){return{$$typeof:REACT_LAZY_TYPE,_payload:{_status:-1,_result:ctor},_init:lazyInitializer}},exports2.memo=function(type,compare){return{$$typeof:REACT_MEMO_TYPE,type,compare:compare===void 0?null:compare}},exports2.startTransition=startTransition,exports2.unstable_Activity=REACT_ACTIVITY_TYPE,exports2.unstable_SuspenseList=REACT_SUSPENSE_LIST_TYPE,exports2.unstable_getCacheForType=function(resourceType){var dispatcher=ReactSharedInternals.A;return dispatcher?dispatcher.getCacheForType(resourceType):resourceType()},exports2.unstable_postpone=function(reason){throw reason=Error(reason),reason.$$typeof=REACT_POSTPONE_TYPE,reason},exports2.unstable_startGestureTransition=function(provider,scope,options){if(provider==null)throw Error("A Timeline is required as the first argument to startGestureTransition.");var prevTransition=ReactSharedInternals.T,currentTransition={types:null};currentTransition.gesture=provider,ReactSharedInternals.T=currentTransition;try{scope();var onStartGestureTransitionFinish=ReactSharedInternals.G;if(onStartGestureTransitionFinish!==null)return onStartGestureTransitionFinish(currentTransition,provider,options)}catch(error){reportGlobalError(error)}finally{ReactSharedInternals.T=prevTransition}return noop},exports2.unstable_useCacheRefresh=function(){return ReactSharedInternals.H.useCacheRefresh()},exports2.use=function(usable){return ReactSharedInternals.H.use(usable)},exports2.useActionState=function(action,initialState,permalink){return ReactSharedInternals.H.useActionState(action,initialState,permalink)},exports2.useCallback=function(callback,deps){return ReactSharedInternals.H.useCallback(callback,deps)},exports2.useContext=function(Context){return ReactSharedInternals.H.useContext(Context)},exports2.useDebugValue=function(){},exports2.useDeferredValue=function(value,initialValue){return ReactSharedInternals.H.useDeferredValue(value,initialValue)},exports2.useEffect=function(create,deps){return ReactSharedInternals.H.useEffect(create,deps)},exports2.useEffectEvent=function(callback){return ReactSharedInternals.H.useEffectEvent(callback)},exports2.useId=function(){return ReactSharedInternals.H.useId()},exports2.useImperativeHandle=function(ref,create,deps){return ReactSharedInternals.H.useImperativeHandle(ref,create,deps)},exports2.useInsertionEffect=function(create,deps){return ReactSharedInternals.H.useInsertionEffect(create,deps)},exports2.useLayoutEffect=function(create,deps){return ReactSharedInternals.H.useLayoutEffect(create,deps)},exports2.useMemo=function(create,deps){return ReactSharedInternals.H.useMemo(create,deps)},exports2.useOptimistic=useOptimistic,exports2.useReducer=function(reducer,initialArg,init){return ReactSharedInternals.H.useReducer(reducer,initialArg,init)},exports2.useRef=function(initialValue){return ReactSharedInternals.H.useRef(initialValue)},exports2.useState=function(initialState){return ReactSharedInternals.H.useState(initialState)},exports2.useSyncExternalStore=function(subscribe,getSnapshot,getServerSnapshot){return ReactSharedInternals.H.useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},exports2.useTransition=function(){return ReactSharedInternals.H.useTransition()},exports2.version="19.3.0-experimental-3cde211b-20251020"},189:(module2,__unused_webpack_exports,__webpack_require__2)=>{module2.exports=__webpack_require__2(126)},206:function(module2,exports2,__webpack_require__2){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}(function(root,factory){__WEBPACK_AMD_DEFINE_ARRAY__=[__webpack_require__2(430)],__WEBPACK_AMD_DEFINE_FACTORY__=factory,__WEBPACK_AMD_DEFINE_RESULT__=typeof __WEBPACK_AMD_DEFINE_FACTORY__==="function"?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports2,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__!==void 0&&(module2.exports=__WEBPACK_AMD_DEFINE_RESULT__)})(this,function(StackFrame){var FIREFOX_SAFARI_STACK_REGEXP=/(^|@)\S+:\d+/,CHROME_IE_STACK_REGEXP=/^\s*at .*(\S+:\d+|\(native\))/m,SAFARI_NATIVE_CODE_REGEXP=/^(eval@)?(\[native code])?$/;return{parse:function(error){if(typeof error.stacktrace<"u"||typeof error["opera#sourceloc"]<"u")return this.parseOpera(error);else if(error.stack&&error.stack.match(CHROME_IE_STACK_REGEXP))return this.parseV8OrIE(error);else if(error.stack)return this.parseFFOrSafari(error);else throw Error("Cannot parse given Error object")},extractLocation:function(urlLike){if(urlLike.indexOf(":")===-1)return[urlLike];var regExp=/(.+?)(?::(\d+))?(?::(\d+))?$/,parts=regExp.exec(urlLike.replace(/[()]/g,""));return[parts[1],parts[2]||void 0,parts[3]||void 0]},parseV8OrIE:function(error){var filtered=error.stack.split(`
|
|
2
|
+
import"./chunk-764bsyb0.js";import{__commonJS,__require,__toESM}from"./chunk-91sykzqq.js";var require_backend=__commonJS((exports,module)=>{(function(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory();else if(typeof define==="function"&&define.amd)define([],factory);else if(typeof exports==="object")exports.ReactDevToolsBackend=factory();else root.ReactDevToolsBackend=factory()})(self,()=>{return(()=>{var __webpack_modules__={786:(__unused_webpack_module,exports2,__webpack_require__2)=>{var __webpack_unused_export__;function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}var ErrorStackParser=__webpack_require__2(206),React=__webpack_require__2(189),assign=Object.assign,ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_MEMO_CACHE_SENTINEL=Symbol.for("react.memo_cache_sentinel"),hasOwnProperty=Object.prototype.hasOwnProperty,hookLog=[],primitiveStackCache=null;function getPrimitiveStackCache(){if(primitiveStackCache===null){var cache=new Map;try{if(Dispatcher.useContext({_currentValue:null}),Dispatcher.useState(null),Dispatcher.useReducer(function(s){return s},null),Dispatcher.useRef(null),typeof Dispatcher.useCacheRefresh==="function"&&Dispatcher.useCacheRefresh(),Dispatcher.useLayoutEffect(function(){}),Dispatcher.useInsertionEffect(function(){}),Dispatcher.useEffect(function(){}),Dispatcher.useImperativeHandle(void 0,function(){return null}),Dispatcher.useDebugValue(null),Dispatcher.useCallback(function(){}),Dispatcher.useTransition(),Dispatcher.useSyncExternalStore(function(){return function(){}},function(){return null},function(){return null}),Dispatcher.useDeferredValue(null),Dispatcher.useMemo(function(){return null}),Dispatcher.useOptimistic(null,function(s){return s}),Dispatcher.useFormState(function(s){return s},null),Dispatcher.useActionState(function(s){return s},null),Dispatcher.useHostTransitionStatus(),typeof Dispatcher.useMemoCache==="function"&&Dispatcher.useMemoCache(0),typeof Dispatcher.use==="function"){Dispatcher.use({$$typeof:REACT_CONTEXT_TYPE,_currentValue:null}),Dispatcher.use({then:function(){},status:"fulfilled",value:null});try{Dispatcher.use({then:function(){}})}catch(x){}}Dispatcher.useId(),typeof Dispatcher.useEffectEvent==="function"&&Dispatcher.useEffectEvent(function(){})}finally{var readHookLog=hookLog;hookLog=[]}for(var i=0;i<readHookLog.length;i++){var hook=readHookLog[i];cache.set(hook.primitive,ErrorStackParser.parse(hook.stackError))}primitiveStackCache=cache}return primitiveStackCache}var currentFiber=null,currentHook=null,currentContextDependency=null,currentThenableIndex=0,currentThenableState=null;function nextHook(){var hook=currentHook;return hook!==null&&(currentHook=hook.next),hook}function readContext(context){if(currentFiber===null)return context._currentValue;if(currentContextDependency===null)throw Error("Context reads do not line up with context dependencies. This is a bug in React Debug Tools.");return hasOwnProperty.call(currentContextDependency,"memoizedValue")?(context=currentContextDependency.memoizedValue,currentContextDependency=currentContextDependency.next):context=context._currentValue,context}var SuspenseException=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),Dispatcher={readContext,use:function(usable){if(usable!==null&&_typeof(usable)==="object"){if(typeof usable.then==="function"){switch(usable=currentThenableState!==null&¤tThenableIndex<currentThenableState.length?currentThenableState[currentThenableIndex++]:usable,usable.status){case"fulfilled":var fulfilledValue=usable.value;return hookLog.push({displayName:null,primitive:"Promise",stackError:Error(),value:fulfilledValue,debugInfo:usable._debugInfo===void 0?null:usable._debugInfo,dispatcherHookName:"Use"}),fulfilledValue;case"rejected":throw usable.reason}throw hookLog.push({displayName:null,primitive:"Unresolved",stackError:Error(),value:usable,debugInfo:usable._debugInfo===void 0?null:usable._debugInfo,dispatcherHookName:"Use"}),SuspenseException}if(usable.$$typeof===REACT_CONTEXT_TYPE)return fulfilledValue=readContext(usable),hookLog.push({displayName:usable.displayName||"Context",primitive:"Context (use)",stackError:Error(),value:fulfilledValue,debugInfo:null,dispatcherHookName:"Use"}),fulfilledValue}throw Error("An unsupported type was passed to use(): "+String(usable))},useCallback:function(callback){var hook=nextHook();return hookLog.push({displayName:null,primitive:"Callback",stackError:Error(),value:hook!==null?hook.memoizedState[0]:callback,debugInfo:null,dispatcherHookName:"Callback"}),callback},useContext:function(context){var value=readContext(context);return hookLog.push({displayName:context.displayName||null,primitive:"Context",stackError:Error(),value,debugInfo:null,dispatcherHookName:"Context"}),value},useEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"Effect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"Effect"})},useImperativeHandle:function(ref){nextHook();var instance=void 0;ref!==null&&_typeof(ref)==="object"&&(instance=ref.current),hookLog.push({displayName:null,primitive:"ImperativeHandle",stackError:Error(),value:instance,debugInfo:null,dispatcherHookName:"ImperativeHandle"})},useLayoutEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"LayoutEffect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"LayoutEffect"})},useInsertionEffect:function(create){nextHook(),hookLog.push({displayName:null,primitive:"InsertionEffect",stackError:Error(),value:create,debugInfo:null,dispatcherHookName:"InsertionEffect"})},useMemo:function(nextCreate){var hook=nextHook();return nextCreate=hook!==null?hook.memoizedState[0]:nextCreate(),hookLog.push({displayName:null,primitive:"Memo",stackError:Error(),value:nextCreate,debugInfo:null,dispatcherHookName:"Memo"}),nextCreate},useReducer:function(reducer,initialArg,init){return reducer=nextHook(),initialArg=reducer!==null?reducer.memoizedState:init!==void 0?init(initialArg):initialArg,hookLog.push({displayName:null,primitive:"Reducer",stackError:Error(),value:initialArg,debugInfo:null,dispatcherHookName:"Reducer"}),[initialArg,function(){}]},useRef:function(initialValue){var hook=nextHook();return initialValue=hook!==null?hook.memoizedState:{current:initialValue},hookLog.push({displayName:null,primitive:"Ref",stackError:Error(),value:initialValue.current,debugInfo:null,dispatcherHookName:"Ref"}),initialValue},useState:function(initialState){var hook=nextHook();return initialState=hook!==null?hook.memoizedState:typeof initialState==="function"?initialState():initialState,hookLog.push({displayName:null,primitive:"State",stackError:Error(),value:initialState,debugInfo:null,dispatcherHookName:"State"}),[initialState,function(){}]},useDebugValue:function(value,formatterFn){hookLog.push({displayName:null,primitive:"DebugValue",stackError:Error(),value:typeof formatterFn==="function"?formatterFn(value):value,debugInfo:null,dispatcherHookName:"DebugValue"})},useDeferredValue:function(value){var hook=nextHook();return value=hook!==null?hook.memoizedState:value,hookLog.push({displayName:null,primitive:"DeferredValue",stackError:Error(),value,debugInfo:null,dispatcherHookName:"DeferredValue"}),value},useTransition:function(){var stateHook=nextHook();return nextHook(),stateHook=stateHook!==null?stateHook.memoizedState:!1,hookLog.push({displayName:null,primitive:"Transition",stackError:Error(),value:stateHook,debugInfo:null,dispatcherHookName:"Transition"}),[stateHook,function(){}]},useSyncExternalStore:function(subscribe,getSnapshot){return nextHook(),nextHook(),subscribe=getSnapshot(),hookLog.push({displayName:null,primitive:"SyncExternalStore",stackError:Error(),value:subscribe,debugInfo:null,dispatcherHookName:"SyncExternalStore"}),subscribe},useId:function(){var hook=nextHook();return hook=hook!==null?hook.memoizedState:"",hookLog.push({displayName:null,primitive:"Id",stackError:Error(),value:hook,debugInfo:null,dispatcherHookName:"Id"}),hook},useHostTransitionStatus:function(){var status=readContext({_currentValue:null});return hookLog.push({displayName:null,primitive:"HostTransitionStatus",stackError:Error(),value:status,debugInfo:null,dispatcherHookName:"HostTransitionStatus"}),status},useFormState:function(action,initialState){var hook=nextHook();nextHook(),nextHook(),action=Error();var debugInfo=null,error=null;if(hook!==null)if(initialState=hook.memoizedState,_typeof(initialState)==="object"&&initialState!==null&&typeof initialState.then==="function")switch(initialState.status){case"fulfilled":var value=initialState.value;debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo;break;case"rejected":error=initialState.reason;break;default:error=SuspenseException,debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo,value=initialState}else value=initialState;else value=initialState;if(hookLog.push({displayName:null,primitive:"FormState",stackError:action,value,debugInfo,dispatcherHookName:"FormState"}),error!==null)throw error;return[value,function(){},!1]},useActionState:function(action,initialState){var hook=nextHook();nextHook(),nextHook(),action=Error();var debugInfo=null,error=null;if(hook!==null)if(initialState=hook.memoizedState,_typeof(initialState)==="object"&&initialState!==null&&typeof initialState.then==="function")switch(initialState.status){case"fulfilled":var value=initialState.value;debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo;break;case"rejected":error=initialState.reason;break;default:error=SuspenseException,debugInfo=initialState._debugInfo===void 0?null:initialState._debugInfo,value=initialState}else value=initialState;else value=initialState;if(hookLog.push({displayName:null,primitive:"ActionState",stackError:action,value,debugInfo,dispatcherHookName:"ActionState"}),error!==null)throw error;return[value,function(){},!1]},useOptimistic:function(passthrough){var hook=nextHook();return passthrough=hook!==null?hook.memoizedState:passthrough,hookLog.push({displayName:null,primitive:"Optimistic",stackError:Error(),value:passthrough,debugInfo:null,dispatcherHookName:"Optimistic"}),[passthrough,function(){}]},useMemoCache:function(size){var fiber=currentFiber;if(fiber==null)return[];if(fiber=fiber.updateQueue!=null?fiber.updateQueue.memoCache:null,fiber==null)return[];var data=fiber.data[fiber.index];if(data===void 0){data=fiber.data[fiber.index]=Array(size);for(var i=0;i<size;i++)data[i]=REACT_MEMO_CACHE_SENTINEL}return fiber.index++,data},useCacheRefresh:function(){var hook=nextHook();return hookLog.push({displayName:null,primitive:"CacheRefresh",stackError:Error(),value:hook!==null?hook.memoizedState:function(){},debugInfo:null,dispatcherHookName:"CacheRefresh"}),function(){}},useEffectEvent:function(callback){return nextHook(),hookLog.push({displayName:null,primitive:"EffectEvent",stackError:Error(),value:callback,debugInfo:null,dispatcherHookName:"EffectEvent"}),callback}},DispatcherProxyHandler={get:function(target,prop){if(target.hasOwnProperty(prop))return target[prop];throw target=Error("Missing method in Dispatcher: "+prop),target.name="ReactDebugToolsUnsupportedHookError",target}},DispatcherProxy=typeof Proxy>"u"?Dispatcher:new Proxy(Dispatcher,DispatcherProxyHandler),mostLikelyAncestorIndex=0;function findSharedIndex(hookStack,rootStack,rootIndex){var source=rootStack[rootIndex].source,i=0;a:for(;i<hookStack.length;i++)if(hookStack[i].source===source){for(var a=rootIndex+1,b=i+1;a<rootStack.length&&b<hookStack.length;a++,b++)if(hookStack[b].source!==rootStack[a].source)continue a;return i}return-1}function isReactWrapper(functionName,wrapperName){return functionName=parseHookName(functionName),wrapperName==="HostTransitionStatus"?functionName===wrapperName||functionName==="FormStatus":functionName===wrapperName}function parseHookName(functionName){if(!functionName)return"";var startIndex=functionName.lastIndexOf("[as ");if(startIndex!==-1)return parseHookName(functionName.slice(startIndex+4,-1));if(startIndex=functionName.lastIndexOf("."),startIndex=startIndex===-1?0:startIndex+1,functionName.slice(startIndex).startsWith("unstable_")&&(startIndex+=9),functionName.slice(startIndex).startsWith("experimental_")&&(startIndex+=13),functionName.slice(startIndex,startIndex+3)==="use"){if(functionName.length-startIndex===3)return"Use";startIndex+=3}return functionName.slice(startIndex)}function buildTree(rootStack$jscomp$0,readHookLog){for(var rootChildren=[],prevStack=null,levelChildren=rootChildren,nativeHookID=0,stackOfChildren=[],i=0;i<readHookLog.length;i++){var hook=readHookLog[i],rootStack=rootStack$jscomp$0,JSCompiler_inline_result=ErrorStackParser.parse(hook.stackError);b:{var hookStack=JSCompiler_inline_result,rootIndex=findSharedIndex(hookStack,rootStack,mostLikelyAncestorIndex);if(rootIndex!==-1)rootStack=rootIndex;else{for(var i$jscomp$0=0;i$jscomp$0<rootStack.length&&5>i$jscomp$0;i$jscomp$0++)if(rootIndex=findSharedIndex(hookStack,rootStack,i$jscomp$0),rootIndex!==-1){mostLikelyAncestorIndex=i$jscomp$0,rootStack=rootIndex;break b}rootStack=-1}}b:{if(hookStack=JSCompiler_inline_result,rootIndex=getPrimitiveStackCache().get(hook.primitive),rootIndex!==void 0){for(i$jscomp$0=0;i$jscomp$0<rootIndex.length&&i$jscomp$0<hookStack.length;i$jscomp$0++)if(rootIndex[i$jscomp$0].source!==hookStack[i$jscomp$0].source){i$jscomp$0<hookStack.length-1&&isReactWrapper(hookStack[i$jscomp$0].functionName,hook.dispatcherHookName)&&i$jscomp$0++,i$jscomp$0<hookStack.length-1&&isReactWrapper(hookStack[i$jscomp$0].functionName,hook.dispatcherHookName)&&i$jscomp$0++,hookStack=i$jscomp$0;break b}}hookStack=-1}if(JSCompiler_inline_result=rootStack===-1||hookStack===-1||2>rootStack-hookStack?hookStack===-1?[null,null]:[JSCompiler_inline_result[hookStack-1],null]:[JSCompiler_inline_result[hookStack-1],JSCompiler_inline_result.slice(hookStack,rootStack-1)],hookStack=JSCompiler_inline_result[0],JSCompiler_inline_result=JSCompiler_inline_result[1],rootStack=hook.displayName,rootStack===null&&hookStack!==null&&(rootStack=parseHookName(hookStack.functionName)||parseHookName(hook.dispatcherHookName)),JSCompiler_inline_result!==null){if(hookStack=0,prevStack!==null){for(;hookStack<JSCompiler_inline_result.length&&hookStack<prevStack.length&&JSCompiler_inline_result[JSCompiler_inline_result.length-hookStack-1].source===prevStack[prevStack.length-hookStack-1].source;)hookStack++;for(prevStack=prevStack.length-1;prevStack>hookStack;prevStack--)levelChildren=stackOfChildren.pop()}for(prevStack=JSCompiler_inline_result.length-hookStack-1;1<=prevStack;prevStack--)hookStack=[],rootIndex=JSCompiler_inline_result[prevStack],rootIndex={id:null,isStateEditable:!1,name:parseHookName(JSCompiler_inline_result[prevStack-1].functionName),value:void 0,subHooks:hookStack,debugInfo:null,hookSource:{lineNumber:rootIndex.lineNumber===void 0?null:rootIndex.lineNumber,columnNumber:rootIndex.columnNumber===void 0?null:rootIndex.columnNumber,functionName:rootIndex.functionName===void 0?null:rootIndex.functionName,fileName:rootIndex.fileName===void 0?null:rootIndex.fileName}},levelChildren.push(rootIndex),stackOfChildren.push(levelChildren),levelChildren=hookStack;prevStack=JSCompiler_inline_result}hookStack=hook.primitive,rootIndex=hook.debugInfo,hook={id:hookStack==="Context"||hookStack==="Context (use)"||hookStack==="DebugValue"||hookStack==="Promise"||hookStack==="Unresolved"||hookStack==="HostTransitionStatus"?null:nativeHookID++,isStateEditable:hookStack==="Reducer"||hookStack==="State",name:rootStack||hookStack,value:hook.value,subHooks:[],debugInfo:rootIndex,hookSource:null},rootStack={lineNumber:null,functionName:null,fileName:null,columnNumber:null},JSCompiler_inline_result&&1<=JSCompiler_inline_result.length&&(JSCompiler_inline_result=JSCompiler_inline_result[0],rootStack.lineNumber=JSCompiler_inline_result.lineNumber===void 0?null:JSCompiler_inline_result.lineNumber,rootStack.functionName=JSCompiler_inline_result.functionName===void 0?null:JSCompiler_inline_result.functionName,rootStack.fileName=JSCompiler_inline_result.fileName===void 0?null:JSCompiler_inline_result.fileName,rootStack.columnNumber=JSCompiler_inline_result.columnNumber===void 0?null:JSCompiler_inline_result.columnNumber),hook.hookSource=rootStack,levelChildren.push(hook)}return processDebugValues(rootChildren,null),rootChildren}function processDebugValues(hooksTree,parentHooksNode){for(var debugValueHooksNodes=[],i=0;i<hooksTree.length;i++){var hooksNode=hooksTree[i];hooksNode.name==="DebugValue"&&hooksNode.subHooks.length===0?(hooksTree.splice(i,1),i--,debugValueHooksNodes.push(hooksNode)):processDebugValues(hooksNode.subHooks,hooksNode)}parentHooksNode!==null&&(debugValueHooksNodes.length===1?parentHooksNode.value=debugValueHooksNodes[0].value:1<debugValueHooksNodes.length&&(parentHooksNode.value=debugValueHooksNodes.map(function(_ref){return _ref.value})))}function handleRenderFunctionError(error){if(error!==SuspenseException){if(error instanceof Error&&error.name==="ReactDebugToolsUnsupportedHookError")throw error;var wrapperError=Error("Error rendering inspected component",{cause:error});throw wrapperError.name="ReactDebugToolsRenderError",wrapperError.cause=error,wrapperError}}function inspectHooks(renderFunction,props,currentDispatcher){currentDispatcher==null&&(currentDispatcher=ReactSharedInternals);var previousDispatcher=currentDispatcher.H;currentDispatcher.H=DispatcherProxy;try{var ancestorStackError=Error();renderFunction(props)}catch(error){handleRenderFunctionError(error)}finally{renderFunction=hookLog,hookLog=[],currentDispatcher.H=previousDispatcher}return currentDispatcher=ancestorStackError===void 0?[]:ErrorStackParser.parse(ancestorStackError),buildTree(currentDispatcher,renderFunction)}function restoreContexts(contextMap){contextMap.forEach(function(value,context){return context._currentValue=value})}__webpack_unused_export__=inspectHooks,exports2.inspectHooksOfFiber=function(fiber,currentDispatcher){if(currentDispatcher==null&&(currentDispatcher=ReactSharedInternals),fiber.tag!==0&&fiber.tag!==15&&fiber.tag!==11)throw Error("Unknown Fiber. Needs to be a function component to inspect hooks.");getPrimitiveStackCache(),currentHook=fiber.memoizedState,currentFiber=fiber;var thenableState=fiber.dependencies&&fiber.dependencies._debugThenableState;if(thenableState=thenableState?thenableState.thenables||thenableState:null,currentThenableState=Array.isArray(thenableState)?thenableState:null,currentThenableIndex=0,hasOwnProperty.call(currentFiber,"dependencies"))thenableState=currentFiber.dependencies,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"dependencies_old"))thenableState=currentFiber.dependencies_old,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"dependencies_new"))thenableState=currentFiber.dependencies_new,currentContextDependency=thenableState!==null?thenableState.firstContext:null;else if(hasOwnProperty.call(currentFiber,"contextDependencies"))thenableState=currentFiber.contextDependencies,currentContextDependency=thenableState!==null?thenableState.first:null;else throw Error("Unsupported React version. This is a bug in React Debug Tools.");thenableState=fiber.type;var props=fiber.memoizedProps;if(thenableState!==fiber.elementType&&thenableState&&thenableState.defaultProps){props=assign({},props);var defaultProps=thenableState.defaultProps;for(propName in defaultProps)props[propName]===void 0&&(props[propName]=defaultProps[propName])}var propName=new Map;try{if(currentContextDependency!==null&&!hasOwnProperty.call(currentContextDependency,"memoizedValue"))for(defaultProps=fiber;defaultProps;){if(defaultProps.tag===10){var context=defaultProps.type;context._context!==void 0&&(context=context._context),propName.has(context)||(propName.set(context,context._currentValue),context._currentValue=defaultProps.memoizedProps.value)}defaultProps=defaultProps.return}if(fiber.tag===11){var renderFunction=thenableState.render;context=props;var ref=fiber.ref;fiber=currentDispatcher;var previousDispatcher=fiber.H;fiber.H=DispatcherProxy;try{var ancestorStackError=Error();renderFunction(context,ref)}catch(error){handleRenderFunctionError(error)}finally{var readHookLog=hookLog;hookLog=[],fiber.H=previousDispatcher}var rootStack=ancestorStackError===void 0?[]:ErrorStackParser.parse(ancestorStackError);return buildTree(rootStack,readHookLog)}return inspectHooks(thenableState,props,currentDispatcher)}finally{currentThenableState=currentContextDependency=currentHook=currentFiber=null,currentThenableIndex=0,restoreContexts(propName)}}},987:(module2,__unused_webpack_exports,__webpack_require__2)=>{module2.exports=__webpack_require__2(786)},126:(__unused_webpack_module,exports2,__webpack_require__2)=>{var process=__webpack_require__2(169);function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_POSTPONE_TYPE=Symbol.for("react.postpone"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){if(maybeIterable===null||_typeof(maybeIterable)!=="object")return null;return maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable["@@iterator"],typeof maybeIterable==="function"?maybeIterable:null}var ReactNoopUpdateQueue={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},assign=Object.assign,emptyObject={};function Component(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}Component.prototype.isReactComponent={},Component.prototype.setState=function(partialState,callback){if(_typeof(partialState)!=="object"&&typeof partialState!=="function"&&partialState!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,partialState,callback,"setState")},Component.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this,callback,"forceUpdate")};function ComponentDummy(){}ComponentDummy.prototype=Component.prototype;function PureComponent(props,context,updater){this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue}var pureComponentPrototype=PureComponent.prototype=new ComponentDummy;pureComponentPrototype.constructor=PureComponent,assign(pureComponentPrototype,Component.prototype),pureComponentPrototype.isPureReactComponent=!0;var isArrayImpl=Array.isArray;function noop(){}var ReactSharedInternals={H:null,A:null,T:null,S:null,G:null},hasOwnProperty=Object.prototype.hasOwnProperty;function ReactElement(type,key,props){var refProp=props.ref;return{$$typeof:REACT_ELEMENT_TYPE,type,key,ref:refProp!==void 0?refProp:null,props}}function cloneAndReplaceKey(oldElement,newKey){return ReactElement(oldElement.type,newKey,oldElement.props)}function isValidElement(object){return _typeof(object)==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE}function escape(key){var escaperLookup={"=":"=0",":":"=2"};return"$"+key.replace(/[=:]/g,function(match){return escaperLookup[match]})}var userProvidedKeyEscapeRegex=/\/+/g;function getElementKey(element,index){return _typeof(element)==="object"&&element!==null&&element.key!=null?escape(""+element.key):index.toString(36)}function resolveThenable(thenable){switch(thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenable.reason;default:switch(typeof thenable.status==="string"?thenable.then(noop,noop):(thenable.status="pending",thenable.then(function(fulfilledValue){thenable.status==="pending"&&(thenable.status="fulfilled",thenable.value=fulfilledValue)},function(error){thenable.status==="pending"&&(thenable.status="rejected",thenable.reason=error)})),thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenable.reason}}throw thenable}function mapIntoArray(children,array,escapedPrefix,nameSoFar,callback){var type=_typeof(children);if(type==="undefined"||type==="boolean")children=null;var invokeCallback=!1;if(children===null)invokeCallback=!0;else switch(type){case"bigint":case"string":case"number":invokeCallback=!0;break;case"object":switch(children.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:invokeCallback=!0;break;case REACT_LAZY_TYPE:return invokeCallback=children._init,mapIntoArray(invokeCallback(children._payload),array,escapedPrefix,nameSoFar,callback)}}if(invokeCallback)return callback=callback(children),invokeCallback=nameSoFar===""?"."+getElementKey(children,0):nameSoFar,isArrayImpl(callback)?(escapedPrefix="",invokeCallback!=null&&(escapedPrefix=invokeCallback.replace(userProvidedKeyEscapeRegex,"$&/")+"/"),mapIntoArray(callback,array,escapedPrefix,"",function(c){return c})):callback!=null&&(isValidElement(callback)&&(callback=cloneAndReplaceKey(callback,escapedPrefix+(callback.key==null||children&&children.key===callback.key?"":(""+callback.key).replace(userProvidedKeyEscapeRegex,"$&/")+"/")+invokeCallback)),array.push(callback)),1;invokeCallback=0;var nextNamePrefix=nameSoFar===""?".":nameSoFar+":";if(isArrayImpl(children))for(var i=0;i<children.length;i++)nameSoFar=children[i],type=nextNamePrefix+getElementKey(nameSoFar,i),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if(i=getIteratorFn(children),typeof i==="function")for(children=i.call(children),i=0;!(nameSoFar=children.next()).done;)nameSoFar=nameSoFar.value,type=nextNamePrefix+getElementKey(nameSoFar,i++),invokeCallback+=mapIntoArray(nameSoFar,array,escapedPrefix,type,callback);else if(type==="object"){if(typeof children.then==="function")return mapIntoArray(resolveThenable(children),array,escapedPrefix,nameSoFar,callback);throw array=String(children),Error("Objects are not valid as a React child (found: "+(array==="[object Object]"?"object with keys {"+Object.keys(children).join(", ")+"}":array)+"). If you meant to render a collection of children, use an array instead.")}return invokeCallback}function mapChildren(children,func,context){if(children==null)return children;var result=[],count=0;return mapIntoArray(children,result,"","",function(child){return func.call(context,child,count++)}),result}function lazyInitializer(payload){if(payload._status===-1){var ctor=payload._result;ctor=ctor(),ctor.then(function(moduleObject){if(payload._status===0||payload._status===-1)payload._status=1,payload._result=moduleObject},function(error){if(payload._status===0||payload._status===-1)payload._status=2,payload._result=error}),payload._status===-1&&(payload._status=0,payload._result=ctor)}if(payload._status===1)return payload._result.default;throw payload._result}function useOptimistic(passthrough,reducer){return ReactSharedInternals.H.useOptimistic(passthrough,reducer)}var reportGlobalError=typeof reportError==="function"?reportError:function(error){if((typeof window>"u"?"undefined":_typeof(window))==="object"&&typeof window.ErrorEvent==="function"){var event=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:_typeof(error)==="object"&&error!==null&&typeof error.message==="string"?String(error.message):String(error),error});if(!window.dispatchEvent(event))return}else if((typeof process>"u"?"undefined":_typeof(process))==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",error);return}console.error(error)};function startTransition(scope){var prevTransition=ReactSharedInternals.T,currentTransition={};currentTransition.types=prevTransition!==null?prevTransition.types:null,currentTransition.gesture=null,ReactSharedInternals.T=currentTransition;try{var returnValue=scope(),onStartTransitionFinish=ReactSharedInternals.S;onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),_typeof(returnValue)==="object"&&returnValue!==null&&typeof returnValue.then==="function"&&returnValue.then(noop,reportGlobalError)}catch(error){reportGlobalError(error)}finally{prevTransition!==null&¤tTransition.types!==null&&(prevTransition.types=currentTransition.types),ReactSharedInternals.T=prevTransition}}function addTransitionType(type){var transition=ReactSharedInternals.T;if(transition!==null){var transitionTypes=transition.types;transitionTypes===null?transition.types=[type]:transitionTypes.indexOf(type)===-1&&transitionTypes.push(type)}else startTransition(addTransitionType.bind(null,type))}var Children={map:mapChildren,forEach:function(children,forEachFunc,forEachContext){mapChildren(children,function(){forEachFunc.apply(this,arguments)},forEachContext)},count:function(children){var n=0;return mapChildren(children,function(){n++}),n},toArray:function(children){return mapChildren(children,function(child){return child})||[]},only:function(children){if(!isValidElement(children))throw Error("React.Children.only expected to receive a single React element child.");return children}};exports2.Activity=REACT_ACTIVITY_TYPE,exports2.Children=Children,exports2.Component=Component,exports2.Fragment=REACT_FRAGMENT_TYPE,exports2.Profiler=REACT_PROFILER_TYPE,exports2.PureComponent=PureComponent,exports2.StrictMode=REACT_STRICT_MODE_TYPE,exports2.Suspense=REACT_SUSPENSE_TYPE,exports2.ViewTransition=REACT_VIEW_TRANSITION_TYPE,exports2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ReactSharedInternals,exports2.__COMPILER_RUNTIME={__proto__:null,c:function(size){return ReactSharedInternals.H.useMemoCache(size)}},exports2.addTransitionType=addTransitionType,exports2.cache=function(fn){return function(){return fn.apply(null,arguments)}},exports2.cacheSignal=function(){return null},exports2.cloneElement=function(element,config,children){if(element===null||element===void 0)throw Error("The argument must be a React element, but you passed "+element+".");var props=assign({},element.props),key=element.key;if(config!=null)for(propName in config.key!==void 0&&(key=""+config.key),config)!hasOwnProperty.call(config,propName)||propName==="key"||propName==="__self"||propName==="__source"||propName==="ref"&&config.ref===void 0||(props[propName]=config[propName]);var propName=arguments.length-2;if(propName===1)props.children=children;else if(1<propName){for(var childArray=Array(propName),i=0;i<propName;i++)childArray[i]=arguments[i+2];props.children=childArray}return ReactElement(element.type,key,props)},exports2.createContext=function(defaultValue){return defaultValue={$$typeof:REACT_CONTEXT_TYPE,_currentValue:defaultValue,_currentValue2:defaultValue,_threadCount:0,Provider:null,Consumer:null},defaultValue.Provider=defaultValue,defaultValue.Consumer={$$typeof:REACT_CONSUMER_TYPE,_context:defaultValue},defaultValue},exports2.createElement=function(type,config,children){var propName,props={},key=null;if(config!=null)for(propName in config.key!==void 0&&(key=""+config.key),config)hasOwnProperty.call(config,propName)&&propName!=="key"&&propName!=="__self"&&propName!=="__source"&&(props[propName]=config[propName]);var childrenLength=arguments.length-2;if(childrenLength===1)props.children=children;else if(1<childrenLength){for(var childArray=Array(childrenLength),i=0;i<childrenLength;i++)childArray[i]=arguments[i+2];props.children=childArray}if(type&&type.defaultProps)for(propName in childrenLength=type.defaultProps,childrenLength)props[propName]===void 0&&(props[propName]=childrenLength[propName]);return ReactElement(type,key,props)},exports2.createRef=function(){return{current:null}},exports2.experimental_useOptimistic=function(passthrough,reducer){return useOptimistic(passthrough,reducer)},exports2.forwardRef=function(render){return{$$typeof:REACT_FORWARD_REF_TYPE,render}},exports2.isValidElement=isValidElement,exports2.lazy=function(ctor){return{$$typeof:REACT_LAZY_TYPE,_payload:{_status:-1,_result:ctor},_init:lazyInitializer}},exports2.memo=function(type,compare){return{$$typeof:REACT_MEMO_TYPE,type,compare:compare===void 0?null:compare}},exports2.startTransition=startTransition,exports2.unstable_Activity=REACT_ACTIVITY_TYPE,exports2.unstable_SuspenseList=REACT_SUSPENSE_LIST_TYPE,exports2.unstable_getCacheForType=function(resourceType){var dispatcher=ReactSharedInternals.A;return dispatcher?dispatcher.getCacheForType(resourceType):resourceType()},exports2.unstable_postpone=function(reason){throw reason=Error(reason),reason.$$typeof=REACT_POSTPONE_TYPE,reason},exports2.unstable_startGestureTransition=function(provider,scope,options){if(provider==null)throw Error("A Timeline is required as the first argument to startGestureTransition.");var prevTransition=ReactSharedInternals.T,currentTransition={types:null};currentTransition.gesture=provider,ReactSharedInternals.T=currentTransition;try{scope();var onStartGestureTransitionFinish=ReactSharedInternals.G;if(onStartGestureTransitionFinish!==null)return onStartGestureTransitionFinish(currentTransition,provider,options)}catch(error){reportGlobalError(error)}finally{ReactSharedInternals.T=prevTransition}return noop},exports2.unstable_useCacheRefresh=function(){return ReactSharedInternals.H.useCacheRefresh()},exports2.use=function(usable){return ReactSharedInternals.H.use(usable)},exports2.useActionState=function(action,initialState,permalink){return ReactSharedInternals.H.useActionState(action,initialState,permalink)},exports2.useCallback=function(callback,deps){return ReactSharedInternals.H.useCallback(callback,deps)},exports2.useContext=function(Context){return ReactSharedInternals.H.useContext(Context)},exports2.useDebugValue=function(){},exports2.useDeferredValue=function(value,initialValue){return ReactSharedInternals.H.useDeferredValue(value,initialValue)},exports2.useEffect=function(create,deps){return ReactSharedInternals.H.useEffect(create,deps)},exports2.useEffectEvent=function(callback){return ReactSharedInternals.H.useEffectEvent(callback)},exports2.useId=function(){return ReactSharedInternals.H.useId()},exports2.useImperativeHandle=function(ref,create,deps){return ReactSharedInternals.H.useImperativeHandle(ref,create,deps)},exports2.useInsertionEffect=function(create,deps){return ReactSharedInternals.H.useInsertionEffect(create,deps)},exports2.useLayoutEffect=function(create,deps){return ReactSharedInternals.H.useLayoutEffect(create,deps)},exports2.useMemo=function(create,deps){return ReactSharedInternals.H.useMemo(create,deps)},exports2.useOptimistic=useOptimistic,exports2.useReducer=function(reducer,initialArg,init){return ReactSharedInternals.H.useReducer(reducer,initialArg,init)},exports2.useRef=function(initialValue){return ReactSharedInternals.H.useRef(initialValue)},exports2.useState=function(initialState){return ReactSharedInternals.H.useState(initialState)},exports2.useSyncExternalStore=function(subscribe,getSnapshot,getServerSnapshot){return ReactSharedInternals.H.useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},exports2.useTransition=function(){return ReactSharedInternals.H.useTransition()},exports2.version="19.3.0-experimental-3cde211b-20251020"},189:(module2,__unused_webpack_exports,__webpack_require__2)=>{module2.exports=__webpack_require__2(126)},206:function(module2,exports2,__webpack_require__2){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o2){return typeof o2}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":typeof o2},_typeof(o)}(function(root,factory){__WEBPACK_AMD_DEFINE_ARRAY__=[__webpack_require__2(430)],__WEBPACK_AMD_DEFINE_FACTORY__=factory,__WEBPACK_AMD_DEFINE_RESULT__=typeof __WEBPACK_AMD_DEFINE_FACTORY__==="function"?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports2,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__!==void 0&&(module2.exports=__WEBPACK_AMD_DEFINE_RESULT__)})(this,function(StackFrame){var FIREFOX_SAFARI_STACK_REGEXP=/(^|@)\S+:\d+/,CHROME_IE_STACK_REGEXP=/^\s*at .*(\S+:\d+|\(native\))/m,SAFARI_NATIVE_CODE_REGEXP=/^(eval@)?(\[native code])?$/;return{parse:function(error){if(typeof error.stacktrace<"u"||typeof error["opera#sourceloc"]<"u")return this.parseOpera(error);else if(error.stack&&error.stack.match(CHROME_IE_STACK_REGEXP))return this.parseV8OrIE(error);else if(error.stack)return this.parseFFOrSafari(error);else throw Error("Cannot parse given Error object")},extractLocation:function(urlLike){if(urlLike.indexOf(":")===-1)return[urlLike];var regExp=/(.+?)(?::(\d+))?(?::(\d+))?$/,parts=regExp.exec(urlLike.replace(/[()]/g,""));return[parts[1],parts[2]||void 0,parts[3]||void 0]},parseV8OrIE:function(error){var filtered=error.stack.split(`
|
|
3
3
|
`).filter(function(line){return!!line.match(CHROME_IE_STACK_REGEXP)},this);return filtered.map(function(line){if(line.indexOf("(eval ")>-1)line=line.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,"");var sanitizedLine=line.replace(/^\s+/,"").replace(/\(eval code/g,"("),location=sanitizedLine.match(/ (\((.+):(\d+):(\d+)\)$)/);sanitizedLine=location?sanitizedLine.replace(location[0],""):sanitizedLine;var tokens=sanitizedLine.split(/\s+/).slice(1),locationParts=this.extractLocation(location?location[1]:tokens.pop()),functionName=tokens.join(" ")||void 0,fileName=["eval","<anonymous>"].indexOf(locationParts[0])>-1?void 0:locationParts[0];return new StackFrame({functionName,fileName,lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})},this)},parseFFOrSafari:function(error){var filtered=error.stack.split(`
|
|
4
4
|
`).filter(function(line){return!line.match(SAFARI_NATIVE_CODE_REGEXP)},this);return filtered.map(function(line){if(line.indexOf(" > eval")>-1)line=line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1");if(line.indexOf("@")===-1&&line.indexOf(":")===-1)return new StackFrame({functionName:line});else{var functionNameRegex=/((.*".+"[^@]*)?[^@]*)(?:@)/,matches=line.match(functionNameRegex),functionName=matches&&matches[1]?matches[1]:void 0,locationParts=this.extractLocation(line.replace(functionNameRegex,""));return new StackFrame({functionName,fileName:locationParts[0],lineNumber:locationParts[1],columnNumber:locationParts[2],source:line})}},this)},parseOpera:function(e){if(!e.stacktrace||e.message.indexOf(`
|
|
5
5
|
`)>-1&&e.message.split(`
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{localDaemonSocketPath,localPtySocketPath,machineSocketDir,machineSshArgs}from"./chunk-
|
|
2
|
+
import{localDaemonSocketPath,localPtySocketPath,machineSocketDir,machineSshArgs}from"./chunk-q854fweb.js";import{homeDir}from"./chunk-prqeddy7.js";import{spawn}from"child_process";import{mkdirSync,rmSync}from"fs";import{connect as netConnect}from"net";var DIR_MODE=448,BACKOFF_START_MS=500,BACKOFF_MAX_MS=5000,HEALTH_INTERVAL_MS=1e4;function startTunnel(opts){let home=opts.home??homeDir(),daemonSocketPath=localDaemonSocketPath(opts.alias,home),ptySocketPath=localPtySocketPath(opts.alias,home),listeners=new Set,state="connecting",stopped=!1,backoff=BACKOFF_START_MS,setState=(next)=>{if(state===next)return;state=next;for(let listener of listeners)listener(next)},handle={alias:opts.alias,daemonSocketPath,ptySocketPath,state:()=>state,onState:(listener)=>{return listeners.add(listener),()=>listeners.delete(listener)},stop:()=>{stopped=!0}};if(process.platform==="win32")return setState("unsupported"),handle;let schedule=opts.setTimeoutFn??((fn,ms)=>setTimeout(fn,ms)),ensure=opts.ensureFn??(()=>ensureForwards({alias:opts.alias,config:opts.config,remoteDaemonSocket:opts.remoteDaemonSocket,remotePtySocket:opts.remotePtySocket,home})),check=opts.checkFn??(()=>socketAnswers(daemonSocketPath)),attempt=async()=>{if(stopped)return;let up=await ensure();if(stopped)return;if(up){backoff=BACKOFF_START_MS,setState("online"),schedule(()=>void health(),HEALTH_INTERVAL_MS);return}setState("offline");let wait=backoff;backoff=Math.min(backoff*2,BACKOFF_MAX_MS),schedule(()=>void attempt(),wait)},health=async()=>{if(stopped)return;if(await check()){if(!stopped)schedule(()=>void health(),HEALTH_INTERVAL_MS);return}setState("offline"),attempt()};return attempt(),handle}async function ensureForwards(args){if(process.platform==="win32")return!1;let home=args.home??homeDir(),daemonLocal=localDaemonSocketPath(args.alias,home),ptyLocal=localPtySocketPath(args.alias,home);try{mkdirSync(machineSocketDir(args.alias,home),{recursive:!0,mode:DIR_MODE})}catch{}if(await socketAnswers(daemonLocal))return!0;for(let path of[daemonLocal,ptyLocal])try{rmSync(path,{force:!0})}catch{}let base=machineSshArgs(args.alias,args.config,{home});if(await runSsh([...base,"true"])!==0)return!1;let target=base.at(-1)??args.alias,flags=base.slice(0,-1);return await runSsh([...flags,"-O","forward","-L",`${daemonLocal}:${args.remoteDaemonSocket}`,"-L",`${ptyLocal}:${args.remotePtySocket}`,target])===0&&await socketAnswers(daemonLocal)}function runSsh(argv){return new Promise((resolve)=>{let child=spawn(argv[0]??"ssh",argv.slice(1),{stdio:"ignore"});child.on("error",()=>resolve(-1)),child.on("close",(code)=>resolve(code??-1))})}function socketAnswers(path){return new Promise((resolve)=>{let socket=netConnect(path),done=(answer)=>{socket.destroy(),resolve(answer)};socket.once("connect",()=>done(!0)),socket.once("error",()=>done(!1)),socket.setTimeout(1500,()=>done(!1))})}
|
|
3
3
|
export{startTunnel,ensureForwards};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{setMachineHub,useMachineRows,useMergedTasks}from"./chunk-
|
|
2
|
+
import{setMachineHub,useMachineRows,useMergedTasks}from"./chunk-yjyjg7sk.js";import"./chunk-2wd4744g.js";import"./chunk-91sykzqq.js";export{useMergedTasks,useMachineRows,setMachineHub};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{loadPluginRegistry,pluginConfigDir,pluginDataDir,pluginLogPath,pluginRegistryPath,pluginStateDir,pluginsRootDir}from"./chunk-
|
|
2
|
+
import{loadPluginRegistry,pluginConfigDir,pluginDataDir,pluginLogPath,pluginRegistryPath,pluginStateDir,pluginsRootDir}from"./chunk-vd8qqev9.js";import{OWNER_ONLY_DIR_MODE,OWNER_ONLY_FILE_MODE}from"./chunk-yt15y085.js";import{chmodSync}from"fs";function tighten(path,mode){try{chmodSync(path,mode)}catch{}}function tightenPluginPermissions(id,homeDir){tighten(pluginDataDir(id,homeDir),OWNER_ONLY_DIR_MODE),tighten(pluginConfigDir(id,homeDir),OWNER_ONLY_DIR_MODE),tighten(pluginStateDir(id,homeDir),OWNER_ONLY_DIR_MODE),tighten(`${pluginConfigDir(id,homeDir)}/.env`,OWNER_ONLY_FILE_MODE),tighten(pluginLogPath(id,homeDir),OWNER_ONLY_FILE_MODE)}function tightenInstalledPluginPermissions(homeDir){tighten(pluginsRootDir(homeDir),OWNER_ONLY_DIR_MODE),tighten(pluginRegistryPath(homeDir),OWNER_ONLY_FILE_MODE);for(let entry of loadPluginRegistry(homeDir).plugins)tightenPluginPermissions(entry.id,homeDir)}
|
|
3
3
|
export{tightenPluginPermissions,tightenInstalledPluginPermissions};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{LocalExecHost,RemoteExecHost}from"./chunk-2apszxn2.js";import{getKeychainPassword}from"./chunk-sak1tphp.js";import{getRemoteRepoConfig,getRemoteRepos,isRemoteRepoKey}from"./chunk-
|
|
2
|
+
import{LocalExecHost,RemoteExecHost}from"./chunk-2apszxn2.js";import{getKeychainPassword}from"./chunk-sak1tphp.js";import{getRemoteRepoConfig,getRemoteRepos,isRemoteRepoKey}from"./chunk-21ek142k.js";import{remoteControlSocketPath}from"./chunk-prqeddy7.js";function remoteSpecFromConfig(config){let cfgAuth=config.auth,auth=cfgAuth.kind==="key"?{kind:"key",keyPath:cfgAuth.keyPath}:{kind:"password",getPassword:()=>getKeychainPassword(cfgAuth.keychainRef)};return{host:config.host,user:config.user,port:config.port,auth,controlPath:remoteControlSocketPath(config.host,config.user,config.port)}}var remoteHostCache=new Map;function cachedRemoteHost(config){let spec=remoteSpecFromConfig(config),cached=remoteHostCache.get(spec.controlPath);if(cached)return cached;let host=new RemoteExecHost(spec);return remoteHostCache.set(spec.controlPath,host),host}function execHostForRepo(repoKey){let config=getRemoteRepoConfig(repoKey);if(!config)return new LocalExecHost;return cachedRemoteHost(config)}function execHostForWorktreePath(worktreePath){for(let config of Object.values(getRemoteRepos()))if(worktreePath===config.basePath||worktreePath.startsWith(`${config.basePath}/`))return cachedRemoteHost(config);return new LocalExecHost}function remoteKeyForRepo(repo){return repo&&isRemoteRepoKey(repo)?repo:void 0}
|
|
3
3
|
export{execHostForRepo,execHostForWorktreePath,remoteKeyForRepo};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{require_react_production}from"./chunk-
|
|
2
|
+
import{require_react_production}from"./chunk-2wd4744g.js";import{__toESM}from"./chunk-91sykzqq.js";var import_react=__toESM(require_react_production(),1),hub=null;function setMachineHub(next){hub=next}var NO_MACHINES=[];function useMergedTasks(orchestrator){let state=hub?hub.tasksSignal():orchestrator.tasksSignal();return import_react.useSyncExternalStore(state.subscribe,state.get,state.get)}function useMachineRows(){let state=hub?.machinesSignal(),subscribe=state?.subscribe??noopSubscribe,get=state?.get??emptyRows;return import_react.useSyncExternalStore(subscribe,get,get)}function noopSubscribe(){return()=>{}}function emptyRows(){return NO_MACHINES}
|
|
3
3
|
export{setMachineHub,useMergedTasks,useMachineRows};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{errorMessage}from"./chunk-2brn8e1y.js";import{loadStateFile}from"./chunk-7q43tysm.js";import{isDev,keybindingsConfigPath}from"./chunk-prqeddy7.js";import{createStateCell}from"./chunk-nhakrm1f.js";function hasReachableBinding(snapshot,predicate){for(let i=snapshot.length-1;i>=0;i--){let cfg=snapshot[i]?.config();if(!cfg||cfg.enabled===!1)continue;if(cfg.bindings.some(predicate))return!0;if(cfg.modal)return!1}return!1}var prefixReachable=(snapshot)=>hasReachableBinding(snapshot,(binding)=>binding.prefix===!0),inputPassthroughReachable=(snapshot)=>hasReachableBinding(snapshot,(binding)=>binding.passthrough===!0);function scanReachability(snapshot){let directIds=new Set,prefixIds=new Set,prefixReachable2=!1,inputPassthrough=!1,yieldedDirectIds=new Set,prefixOptions=[],seenPrefixKeys=new Set;for(let i=snapshot.length-1;i>=0;i--){let cfg=snapshot[i]?.config();if(!cfg||cfg.enabled===!1)continue;for(let binding of cfg.bindings){if(binding.passthrough)inputPassthrough=!0;if(binding.prefix===!0){if(prefixReachable2=!0,binding.id)prefixIds.add(binding.id);if(!seenPrefixKeys.has(binding.key))seenPrefixKeys.add(binding.key),prefixOptions.push({stroke:binding.key,action:binding.id??binding.key})}else if(binding.id){if(directIds.add(binding.id),binding.yieldToPassthrough)yieldedDirectIds.add(binding.id)}}if(cfg.modal)break}if(inputPassthrough)for(let id of yieldedDirectIds)directIds.delete(id);return{prefixReachable:prefixReachable2,inputPassthrough,prefixOptions,directIds,prefixIds}}function bindingReachability(snapshot){let{directIds,prefixIds,inputPassthrough}=scanReachability(snapshot);return{direct:directIds,prefix:prefixIds,inputPassthrough}}var PREFIX_HUD_TTL_MS=4000,PREFIX_GUIDE_DELAY_MS=180;var MAX_ENTRIES=3,realClock={now:()=>Date.now(),schedule:(fn,ms)=>{let timer=setTimeout(fn,ms);return()=>clearTimeout(timer)}},clock=realClock;function prefixHudClock(){return clock}var cell=createStateCell({guide:null,entries:[]}),nextEntryId=1,prefixHudState=cell;function prefixHudSetArmed(armed,options=[],armedAt=null){cell.update((current)=>{if(!armed)return current.guide?.kind==="prefix"?{...current,guide:null}:current;return{...current,guide:{kind:"prefix",armedAt:armedAt??clock.now(),options}}})}function prefixHudShowDirect(options){cell.update((current)=>({...current,guide:{kind:"direct",options}}))}function prefixHudHideDirect(){cell.update((current)=>current.guide?.kind==="direct"?{...current,guide:null}:current)}function prefixHudPush(entry){cell.update((current)=>({...current,guide:null,entries:[...current.entries,{...entry,id:nextEntryId++}].slice(-MAX_ENTRIES)}))}function matchKey(evt){let base=[],name=evt.name;if(name)base.push(name);if(name==="return")base.push("enter");if(name==="enter")base.push("return");if(name==="backspace"&&evt.raw==="\b"&&!evt.meta&&!evt.option)base.push("ctrl+h");if(name==="linefeed"&&!evt.meta&&!evt.option)base.push("ctrl+j");let mods=[];if(evt.ctrl)mods.push("ctrl");if(evt.meta||evt.super)mods.push("cmd");if(evt.option)mods.push("alt");let bareShiftChar=evt.shift&&name!==void 0&&name.length===1&&mods.length===0;if(evt.shift&&name&&name.length>1)mods.push("shift");if(mods.length===0){if(bareShiftChar)return[...base.map((n)=>`shift+${n}`),...base];return base}let prefix=`${mods.join("+")}+`,prefixed=base.map((n)=>prefix+n);if(evt.shift&&name!==void 0&&name.length===1&&evt.source==="kitty")return[...base.map((n)=>`${mods.join("+")}+shift+${n}`),...prefixed];return prefixed}var KITTY_MODIFIER_KEY_NAMES=["leftshift","leftctrl","leftalt","leftsuper","lefthyper","leftmeta","rightshift","rightctrl","rightalt","rightsuper","righthyper","rightmeta","iso_level3_shift","iso_level5_shift"],KITTY_MODIFIER_KEYS=new Set(KITTY_MODIFIER_KEY_NAMES);function isKittyModifierKeyName(name){return name!==void 0&&KITTY_MODIFIER_KEYS.has(name)}function isKittyModifierKeyEvent(event){return isKittyModifierKeyName(event.name)}function isCtrlModifierKeyName(name){return name==="leftctrl"||name==="rightctrl"}function prefixAction(run){return{run}}function insertRegistration(stack,reg){if(reg.modalOwner!==void 0){let firstMember=stack.findIndex((r)=>r.modalMember===reg.modalOwner);if(firstMember>=0){stack.splice(firstMember,0,reg);return}}stack.push(reg)}var dispatching=!1,DEFAULT_PREFIX_CONFIGURATION={key:"ctrl+a",timeoutMs:5000},prefixConfiguration={...DEFAULT_PREFIX_CONFIGURATION},prefixArmedAt=null,prefixArmedKey="",prefixArmedOnPassthrough=!1,prefixArmedOptions=[],prefixTimer=null;function configurePrefix(next){prefixConfiguration={...next},resetPrefixState()}function resetPrefixConfiguration(){prefixConfiguration={...DEFAULT_PREFIX_CONFIGURATION},resetPrefixState()}function currentPrefixConfiguration(){return prefixConfiguration}function prefixFirstStrokes(config=prefixConfiguration){if(config.key===null)return[];return[config.key,...config.extraKeys??[]]}function resetPrefixState(){if(prefixTimer!==null)clearTimeout(prefixTimer);prefixTimer=null,prefixArmedAt=null,prefixArmedOnPassthrough=!1,prefixArmedOptions=[],prefixHudSetArmed(!1)}function armPrefix(now,options,inputPassthrough,armedKey=prefixConfiguration.key??""){resetPrefixState(),prefixArmedAt=now,prefixArmedKey=armedKey,prefixArmedOnPassthrough=inputPassthrough,prefixArmedOptions=options.slice(),prefixTimer=setTimeout(resetPrefixState,prefixConfiguration.timeoutMs),prefixHudSetArmed(!0,options,now)}function armPrefixNow(snapshot,now=Date.now()){if(prefixConfiguration.key===null)return!1;let reach=scanReachability(snapshot);if(!reach.prefixReachable)return!1;return armPrefix(now,reach.prefixOptions,reach.inputPassthrough),!0}function invokeArmedPrefixAction(bindingStack,actionId,stroke,now=Date.now()){if(dispatching||prefixArmedAt===null)return!1;let snapshot=bindingStack.slice(),armedPrefixKey=prefixArmedKey,validOption=prefixArmedOptions.some((option)=>option.action===actionId&&option.stroke===stroke),expired=now-prefixArmedAt>prefixConfiguration.timeoutMs,crossedBoundary=inputPassthroughReachable(snapshot)!==prefixArmedOnPassthrough;if(!validOption||expired||crossedBoundary)return resetPrefixState(),!1;let hit=null;for(let i=snapshot.length-1;i>=0;i--){let reg=snapshot[i];if(!reg)continue;let cfg=reg.config();if(cfg.enabled===!1)continue;let candidate=cfg.bindings.find((binding)=>binding.prefix===!0&&binding.key===stroke);if(candidate){if(candidate.id===actionId)hit=candidate;break}if(cfg.modal)break}if(!hit?.action)return resetPrefixState(),!1;resetPrefixState(),dispatching=!0;try{return hit.action.run(),prefixHudPush({prefixKey:armedPrefixKey,stroke,action:actionId,at:now}),!0}finally{dispatching=!1}}var shadowWarned=new Set;function warnShadowedMatch(snapshot,hitIndex,candidates,prefix){for(let j=hitIndex-1;j>=0;j--){let cfg=snapshot[j]?.config();if(!cfg||cfg.enabled===!1)continue;let shadowed=cfg.bindings.find((b)=>Boolean(b.prefix)===prefix&&candidates.includes(b.key));if(shadowed){if(!shadowWarned.has(shadowed.key))shadowWarned.add(shadowed.key),console.error(`[rove keymap] "${shadowed.key}" matched two ENABLED bindings \u2014 the lower one is shadowed by LIFO order. Gate one of them off (see tui-react/lib/keymap.ts header).`);return}if(cfg.modal)return}}function dispatchMode(snapshot,evt,candidates,prefix,runCmd){for(let i=snapshot.length-1;i>=0;i--){let reg=snapshot[i];if(!reg)continue;let cfg=reg.config();if(cfg.enabled===!1)continue;let hit;for(let candidate of candidates)if(hit=cfg.bindings.find((binding)=>Boolean(binding.prefix)===prefix&&binding.key===candidate),hit)break;if(hit){if(hit.yieldToPassthrough&&inputPassthroughReachable(snapshot))continue;if(!cfg.modal&&isDev())warnShadowedMatch(snapshot,i,candidates,prefix);return runCmd(()=>hit.cmd(evt,hit.slot)),hit}if(cfg.modal)return null}return null}function dispatchKeyEvent(bindingStack,evt,now=Date.now(),opts){if(evt.defaultPrevented||dispatching)return!1;if(isKittyModifierKeyName(evt.name))return evt.preventDefault(),!0;let snapshot=bindingStack.slice(),candidates=matchKey(evt),runCmd=opts?.flushSync??((fn)=>fn());dispatching=!0;try{if(prefixArmedAt!==null&&inputPassthroughReachable(snapshot)!==prefixArmedOnPassthrough)resetPrefixState();if(prefixArmedAt!==null){let armedPrefixKey=prefixArmedKey,expired=now-prefixArmedAt>prefixConfiguration.timeoutMs;if(prefixArmedAt=null,expired)resetPrefixState();else{if(candidates.includes("escape"))return resetPrefixState(),evt.preventDefault(),!0;resetPrefixState();let hit=dispatchMode(snapshot,evt,candidates,!0,runCmd);return prefixHudPush({prefixKey:armedPrefixKey,stroke:candidates[0]??"",action:hit?hit.id??hit.key:null,at:now}),evt.preventDefault(),!0}}let firstStroke=prefixFirstStrokes().find((key)=>candidates.includes(key));if(firstStroke!==void 0){if(prefixReachable(snapshot)){let reach=scanReachability(snapshot);return armPrefix(now,reach.prefixOptions,reach.inputPassthrough,firstStroke),evt.preventDefault(),!0}}let direct=dispatchMode(snapshot,evt,candidates,!1,runCmd);if(direct){if(direct.id&&direct.key.includes("+")&&!direct.key.startsWith("shift+"))prefixHudPush({prefixKey:"",stroke:direct.key,action:direct.id??direct.key,at:now});return evt.preventDefault(),!0}return!1}finally{dispatching=!1}}import{existsSync,readFileSync}from"fs";var cached=null;function resetKeybindingsFileCache(){cached=null}function resolveConfigFile(){let canonical=keybindingsConfigPath();if(existsSync(canonical))return{canonical,found:canonical};let yml=canonical.replace(/\.yaml$/,".yml");if(existsSync(yml))return{canonical,found:yml};return{canonical,found:null}}function readKeybindingsFile(){if(cached)return cached;let{canonical,found}=resolveConfigFile();if(!found)return cached={path:canonical,exists:!1,doc:null,warnings:[]},cached;let warnings=[],doc=null;try{let text=readFileSync(found,"utf8");doc=Bun.YAML.parse(text)}catch(err){let msg=errorMessage(err);warnings.push(`could not read/parse ${found}: ${msg}`)}return cached={path:canonical,exists:!0,doc,warnings},cached}var MOD_ALIASES={ctrl:"ctrl",control:"ctrl",ctl:"ctrl",cmd:"cmd",command:"cmd",meta:"cmd",super:"cmd",win:"cmd",alt:"alt",option:"alt",opt:"alt",shift:"shift"},KEY_ALIASES={esc:"escape",spacebar:"space",pgup:"pageup",pgdn:"pagedown",pgdown:"pagedown"},KNOWN_NAMED_KEYS=new Set(["up","down","left","right","pageup","pagedown","home","end","insert","delete","backspace","tab","space","escape","enter","return",...Array.from({length:12},(_,i)=>`f${i+1}`)]),MOD_ORDER=["ctrl","cmd","alt","shift"];function normalizeChord(raw){let rawTrimmed=raw.trim(),upperLetterKey=rawTrimmed.length===1&&rawTrimmed>="A"&&rawTrimmed<="Z",trimmed=raw.trim().toLowerCase();if(!trimmed)return{error:"empty chord"};let parts=trimmed.split("+"),key=parts.pop()??"";if(key===""&&parts.length>0&&parts[parts.length-1]==="")key="+",parts.pop();if(!key)return{error:`"${raw}": no key after the modifiers`};let mods=new Set;for(let part of parts){let mod=MOD_ALIASES[part];if(!mod)return{error:`"${raw}": unknown modifier "${part}" (use ctrl / cmd / alt / shift)`};mods.add(mod)}if(key=KEY_ALIASES[key]??key,upperLetterKey)mods.add("shift");if(mods.has("shift")&&mods.size>1&&key.length===1)return{error:`"${raw}": shift with other modifiers on a single character can never match \u2014 legacy terminals send the same byte with and without shift`};let prefix=MOD_ORDER.filter((m)=>mods.has(m)).join("+"),chord=prefix?`${prefix}+${key}`:key;if(key.length>1&&!KNOWN_NAMED_KEYS.has(key))return{chord,warning:`"${raw}": unrecognized key name "${key}" \u2014 the chord may never fire`};return{chord}}function isRecord(v){return typeof v==="object"&&v!==null&&!Array.isArray(v)}function platformSectionNames(platform){if(platform==="darwin")return["darwin","macos","mac"];if(platform==="win32")return["win32","windows"];return[platform]}function extractBindingsMap(section){if(!isRecord(section))return null;let nested=section.bindings;if(isRecord(nested))return nested;return section}function extractKeybindingOverrides(doc,platform){let warnings=[];if(doc===null||doc===void 0)return{entries:[],prefixEntries:[],warnings};if(!isRecord(doc))return{entries:[],prefixEntries:[],warnings:["config root must be a YAML mapping (e.g. a top-level `bindings:` key)"]};let merged=new Map,prefixMerged=new Map,layers=[];if(doc.bindings!==void 0)if(isRecord(doc.bindings))layers.push(doc.bindings);else warnings.push("`bindings:` must be a mapping of id \u2192 chord(s)");for(let name of platformSectionNames(platform)){let section=doc[name];if(section===void 0)continue;let map=extractBindingsMap(section);if(map)layers.push(map);else warnings.push(`\`${name}:\` must be a mapping (or contain a \`bindings:\` mapping)`)}for(let layer of layers)for(let[id,value]of Object.entries(layer)){let modeValues=isRecord(value)&&(("direct"in value)||("prefix"in value))?[[merged,value.direct],[prefixMerged,value.prefix]]:[[merged,value]];for(let[target,modeValue]of modeValues){if(modeValue===void 0)continue;if(modeValue===null||modeValue===!1||Array.isArray(modeValue)&&modeValue.length===0){target.set(id,[]);continue}let rawChords=typeof modeValue==="string"?[modeValue]:Array.isArray(modeValue)?modeValue:null;if(!rawChords){warnings.push(`${id}: expected a chord string, a list of chords, or null \u2014 got ${typeof modeValue}`);continue}let chords=[],anyError=!1;for(let rawChord of rawChords){if(typeof rawChord!=="string"){warnings.push(`${id}: chord entries must be strings`),anyError=!0;continue}let result=normalizeChord(rawChord);if("error"in result){warnings.push(`${id}: ${result.error}`),anyError=!0;continue}if(result.warning)warnings.push(`${id}: ${result.warning}`);if(!chords.includes(result.chord))chords.push(result.chord)}if(chords.length===0&&anyError){warnings.push(`${id}: no valid chords \u2014 keeping the default`);continue}target.set(id,chords)}}return{entries:Array.from(merged,([id,keys])=>({id,keys})),prefixEntries:Array.from(prefixMerged,([id,keys])=>({id,keys})),warnings}}var FIXED_BINDING_IDS={"diff.review.cursor":"diff-review cursor is a fixed raw binding (j/k), not keymap-driven","diff.review.range":"diff-review range anchor is a fixed raw binding (v), not keymap-driven","diff.review.note":"diff-review note is a fixed raw binding (c), not keymap-driven","diff.review.send":"diff-review send is a fixed raw binding (s), not keymap-driven","diff.review.drop":"diff-review drop-note is a fixed raw binding (x), not keymap-driven","diff.review.reload":"preview reload is a fixed raw binding (r), not keymap-driven"};function pairContract(first,second){let layout=`alternating [${first}, ${second}] pairs`;return{layout,validateCount:(count)=>count>=2&&count%2===0?null:`needs ${layout} (an even number of chords \u2014 got ${count})`}}var SLOT_CONTRACTS={"sidebar.goto":pairContract("top (double-tap)","bottom"),"sidebar.nav":pairContract("down","up"),"files.nav":pairContract("down","up"),"sidebar.search.nav":pairContract("down","up"),"files.hierarchy":pairContract("collapse","expand"),"files.tab":pairContract("previous tab","next tab"),"app.quit":{layout:"[quit confirm, hard exit] (second chord optional)",validateCount:(count)=>count<=2?null:`needs [quit confirm, hard exit] (1 or 2 chords \u2014 got ${count})`}},NO_BARE_LETTER_SCOPES=new Set(["global","workspace","terminal"]);function scopesOverlap(a,b){return a===b||a==="global"||b==="global"}function applyKeymapOverrides(keymap,entries,fixedIds=FIXED_BINDING_IDS){let warnings=[],applied=[];for(let entry of entries){let row=keymap.find((b)=>b.id===entry.id);if(!row){warnings.push(`${entry.id}: unknown binding id (press F1 in Rove for the full list)`);continue}let fixedReason=fixedIds[entry.id];if(fixedReason){warnings.push(`${entry.id}: not customizable \u2014 ${fixedReason}`);continue}if(row.keys.length===0&&row.prefixKeys===void 0){warnings.push(`${entry.id}: not customizable \u2014 the key is handled outside the keymap (doc-only row)`);continue}let contract=SLOT_CONTRACTS[entry.id];if(contract&&entry.keys.length>0){let problem=contract.validateCount(entry.keys.length);if(problem){warnings.push(`${entry.id}: ${problem} \u2014 keeping the default`);continue}}let keys=entry.keys.filter((chord)=>{if((chord.length===1||chord.startsWith("shift+")&&chord.length===7)&&NO_BARE_LETTER_SCOPES.has(row.scope))return warnings.push(`${entry.id}: "${chord}" dropped \u2014 a bare character on a ${row.scope}-scope binding would steal typed input (add a modifier)`),!1;return!0});if(keys.length===0&&entry.keys.length>0){warnings.push(`${entry.id}: no chords survived validation \u2014 keeping the default`);continue}if(contract&&keys.length!==entry.keys.length){warnings.push(`${entry.id}: a dropped chord would shift the slot layout (${contract.layout}) \u2014 keeping the default`);continue}let defaultKeys=row.keys,mutable=row;if(mutable.keys=keys,row.hint)if(keys.length===0)mutable.hint=void 0;else row.hint.keys=keys.join("/");applied.push({id:entry.id,keys,defaultKeys})}for(let change of applied)for(let chord of change.keys){let owner=keymap.find((b)=>b.id===change.id);if(!owner)continue;for(let other of keymap){if(other.id===change.id)continue;if(!other.keys.includes(chord))continue;if(!scopesOverlap(owner.scope,other.scope))continue;warnings.push(`${change.id}: "${chord}" also fires ${other.id} (${other.scope} scope) \u2014 last registration wins; consider a different chord`)}}return{applied,warnings}}var PLATFORM_SECTIONS={darwin:["darwin","macos","mac"],linux:["linux"],win32:["win32","windows"]},VALUE_RE=/^(pane|action):\s*([A-Za-z0-9][A-Za-z0-9._:-]*\.[A-Za-z0-9][A-Za-z0-9_:-]*)$/;function sectionOf(doc,key){if(typeof doc!=="object"||doc===null)return null;let section=doc[key];if(typeof section!=="object"||section===null||Array.isArray(section))return null;return section}function collect(section,into,warnings){for(let[rawChord,rawValue]of Object.entries(section)){if(typeof rawValue!=="string"){warnings.push(`plugins: ${rawChord}: value must be a "pane:<id>" or "action:<id>" string`);continue}let match=rawValue.trim().match(VALUE_RE);if(!match){warnings.push(`plugins: ${rawChord}: \`${rawValue}\` is not pane:<plugin-id>.<local-id> or action:<...>`);continue}let chord=normalizeChord(rawChord);if("error"in chord){warnings.push(`plugins: ${rawChord}: ${chord.error}`);continue}if(chord.warning)warnings.push(`plugins: ${rawChord}: ${chord.warning}`);into.set(chord.chord,{chord:chord.chord,kind:match[1],target:match[2].trim()})}}function extractPluginKeybindings(doc,platform){let warnings=[],byChord=new Map,base=sectionOf(doc,"plugins");if(base)collect(base,byChord,warnings);for(let alias of PLATFORM_SECTIONS[platform]??[]){let overlaySection=sectionOf(doc,alias),overlay=overlaySection?sectionOf(overlaySection,"plugins"):null;if(overlay)collect(overlay,byChord,warnings)}return{entries:[...byChord.values()],warnings}}function isRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function platformKeys(platform){if(platform==="darwin")return["darwin","macos","mac"];if(platform==="win32")return["win32","windows"];return[platform]}function collectEntries(source,warnings){let out=new Map;if(source===void 0)return out;if(!isRecord2(source))return warnings.push("prefix.bindings must be a mapping of binding id to chord(s)"),out;for(let[id,raw]of Object.entries(source)){if(raw===null||Array.isArray(raw)&&raw.length===0){out.set(id,[]);continue}let rawKeys=typeof raw==="string"?[raw]:Array.isArray(raw)?raw:null;if(!rawKeys||rawKeys.some((key)=>typeof key!=="string")){warnings.push(`prefix.bindings.${id} must be a chord string, a string list, null, or []`);continue}let keys=[],anyError=!1;for(let rawKey of rawKeys){let normalized=normalizeChord(rawKey);if("error"in normalized){warnings.push(`prefix.bindings.${id}: ${normalized.error}`),anyError=!0;continue}if(!keys.includes(normalized.chord))keys.push(normalized.chord);if(normalized.warning)warnings.push(`prefix.bindings.${id}: ${normalized.warning}`)}if(keys.length===0&&anyError){warnings.push(`prefix.bindings.${id}: no valid chords \u2014 keeping the default`);continue}out.set(id,keys)}return out}function prefixChord(raw,warnings){let normalized=normalizeChord(raw);if("error"in normalized)warnings.push(`prefix.key: ${normalized.error}`);else if(!normalized.chord.includes("+"))warnings.push("prefix.key must include a modifier");else return normalized.chord;return null}function mergePrefixKey(raw,configuration,warnings){if(raw===null||Array.isArray(raw)&&raw.length===0){configuration.key=null,configuration.extraKeys=void 0;return}let rawKeys=typeof raw==="string"?[raw]:Array.isArray(raw)?raw:null;if(!rawKeys||rawKeys.some((key)=>typeof key!=="string")){warnings.push("prefix.key must be a modifier chord, a list of them, or null");return}let keys=[];for(let rawKey of rawKeys){let chord=prefixChord(rawKey,warnings);if(chord!==null&&!keys.includes(chord))keys.push(chord)}let[primary,...extra]=keys;if(primary===void 0)return;if(configuration.key=primary,extra.length>0)configuration.extraKeys=extra;else configuration.extraKeys=void 0}function mergePrefixBlock(raw,configuration,entries,warnings){if(raw===void 0)return;if(!isRecord2(raw)){warnings.push("prefix must be a mapping");return}if("key"in raw)mergePrefixKey(raw.key,configuration,warnings);if("timeoutMs"in raw)if(typeof raw.timeoutMs!=="number"||!Number.isInteger(raw.timeoutMs)||raw.timeoutMs<100||raw.timeoutMs>1e4)warnings.push("prefix.timeoutMs must be an integer from 100 to 10000");else configuration.timeoutMs=raw.timeoutMs;for(let[id,keys]of collectEntries(raw.bindings,warnings))entries.set(id,keys)}function extractPrefixKeybindings(doc,platform){let configuration={},warnings=[],entries=new Map;if(!isRecord2(doc)){if(doc!==null&&doc!==void 0)warnings.push("keybindings document must be a mapping");return{configuration,entries:[],warnings}}mergePrefixBlock(doc.prefix,configuration,entries,warnings);for(let key of platformKeys(platform)){let overlay=doc[key];if(isRecord2(overlay))mergePrefixBlock(overlay.prefix,configuration,entries,warnings)}return{configuration,entries:[...entries].map(([id,keys])=>({id,keys})),warnings}}function applyPrefixKeymapOverrides(keymap,entries){let applied=[],warnings=[];for(let entry of entries){let row=keymap.find((candidate)=>candidate.id===entry.id);if(!row){warnings.push(`${entry.id}: unknown binding id`);continue}let mutable=row,defaultKeys=[...row.prefixKeys??[]];mutable.prefixKeys=[...entry.keys],applied.push({id:entry.id,keys:[...entry.keys],defaultKeys})}return{applied,warnings}}function resolveUserKeybindings(file,keymap,platform){if(!file.exists)return{report:{path:file.path,exists:!1,applied:[],plugins:[],warnings:[]},prefix:{...DEFAULT_PREFIX_CONFIGURATION}};let warnings=[...file.warnings],extracted=extractKeybindingOverrides(file.doc,platform);warnings.push(...extracted.warnings);let prefix=extractPrefixKeybindings(file.doc,platform);warnings.push(...prefix.warnings);let prefixConfiguration2={...DEFAULT_PREFIX_CONFIGURATION,...prefix.configuration},result=applyKeymapOverrides(keymap,extracted.entries);warnings.push(...result.warnings);let applied=[...result.applied],customPrefix=prefix.configuration.key===void 0?[]:prefixFirstStrokes(prefixConfiguration2);for(let prefixKey of customPrefix){let directOwner=keymap.find((row)=>row.keys.includes(prefixKey));if(directOwner)warnings.push(`prefix.key "${prefixKey}" collides with direct binding ${directOwner.id}`)}let prefixResult=applyPrefixKeymapOverrides(keymap,[...extracted.prefixEntries,...prefix.entries]);warnings.push(...prefixResult.warnings),applied.push(...prefixResult.applied);let plugins=extractPluginKeybindings(file.doc,platform);warnings.push(...plugins.warnings);for(let p of plugins.entries){let owner=keymap.find((row)=>row.keys.includes(p.chord));if(owner)warnings.push(`plugins: ${p.chord} shadows ${owner.id}`)}return{report:{path:file.path,exists:!0,applied,plugins:plugins.entries,warnings},prefix:prefixConfiguration2}}var CHAT_BINDINGS=[{id:"chat.tab.new",scope:"workspace",keys:["ctrl+t"],category:"Workspace",description:"New chat tab",hint:{keys:"ctrl+t"},presentation:"onePress"},{id:"chat.tab.chooseEngine",scope:"workspace",keys:["ctrl+e"],category:"Workspace",description:"New conversation \u2014 engine/shell picker with destination + context toggles",hint:{keys:"ctrl+e"},presentation:"onePress"},{id:"chat.tab.fork",scope:"workspace",keys:[],prefixKeys:["c"],category:"Workspace",description:"Fork this chat into a new tab (same Task directory, keeps the conversation)",hint:{keys:"ctrl+a c"}},{id:"chat.fork.new",scope:"workspace",keys:[],prefixKeys:["f"],category:"Workspace",description:"Quick-fork: create child task seeded with current repo/branch/model",hint:{keys:"ctrl+a f"}},{id:"chat.tab.close",scope:"workspace",keys:["ctrl+w"],prefixKeys:["w"],category:"Workspace",description:"Close chat tab",hint:{keys:"ctrl+w"},presentation:"onePress"},{id:"workspace.reopenSession",scope:"workspace",keys:["return"],category:"Workspace",description:"Reopen a session in a task whose tabs are all closed",hint:{keys:"enter"},presentation:"onePress"},{id:"chat.tab.rename",scope:"workspace",keys:["f2"],category:"Workspace",description:"Rename active chat tab",hint:{keys:"f2"},presentation:"onePress"},{id:"chat.tab.cycle-next",scope:"workspace",keys:["ctrl+]"],category:"Workspace",description:"Next chat tab",hint:{keys:"ctrl+]"},presentation:"onePress"},{id:"chat.tab.cycle-prev",scope:"workspace",keys:["ctrl+["],category:"Workspace",description:"Previous chat tab",hint:{keys:"ctrl+["},presentation:"onePress"},{id:"chat.tab.goto",scope:"workspace",keys:["1","2","3","4","5","6","7","8","9"].map((digit)=>`ctrl+${digit}`),category:"Workspace",description:"Go to chat tab N",hint:{keys:"ctrl+1-9"},presentation:"onePress"},{id:"workspace.split.right",scope:"workspace",keys:["ctrl+\\"],category:"Workspace",description:"Split right",hint:{keys:"ctrl+\\"},presentation:"onePress"},{id:"workspace.split.down",scope:"workspace",keys:["ctrl+="],category:"Workspace",description:"Split down",hint:{keys:"ctrl+="},presentation:"onePress"},{id:"workspace.split.focus-next",scope:"workspace",keys:["f3"],category:"Workspace",description:"Focus next split",hint:{keys:"f3"},presentation:"onePress"},{id:"workspace.split.close",scope:"workspace",keys:["ctrl+w"],prefixKeys:["w"],category:"Workspace",description:"Close active split (tab when unsplit)",hint:{keys:"ctrl+w"},presentation:"onePress"},{id:"workspace.split.rename",scope:"workspace",keys:["f2"],category:"Workspace",description:"Rename active split (tab when unsplit)",hint:{keys:"f2"},presentation:"onePress"}];var FILES_BINDINGS=[{id:"files.nav",scope:"files",keys:["j","k","down","up"],category:"Files",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"files.hierarchy",scope:"files",keys:["h","l","left","right"],category:"Files",description:"Collapse / expand tree level",hint:{keys:"h/l"}},{id:"files.open",scope:"files",keys:["return"],category:"Files",description:"Open file in configured editor (diff when supported)",hint:{keys:"enter"}},{id:"files.tab",scope:"files",keys:["[","]"],category:"Files",description:"Switch tab (cycle All / Changes)",hint:{keys:"[/]"}},{id:"files.refresh",scope:"files",keys:["r"],category:"Files",description:"Refresh",hint:{keys:"r"}},{id:"files.scope",scope:"files",keys:["b"],category:"Files",description:"Toggle Changes scope (working \u2194 branch vs base)",hint:{keys:"b"}},{id:"files.diff",scope:"files",keys:["d"],category:"Files",description:"Open read-only diff in a workspace tab",hint:{keys:"d"}},{id:"files.diffAll",scope:"files",keys:["shift+d"],category:"Files",description:"Open the whole worktree's diff in one workspace tab",hint:{keys:"D"}},{id:"files.openExternal",scope:"files",keys:["o"],category:"Files",description:"Open file in system default app (audio / video / pdf preview)",hint:{keys:"o"}},{id:"files.mention",scope:"files",keys:["a"],category:"Files",description:"Inject @<path> mention into the engine pane",hint:{keys:"a"}},{id:"files.createPR",scope:"global",keys:[],prefixKeys:["p","shift+p"],category:"Files",description:"Ask the agent to create a PR from the current task"},{id:"files.fixChecks",scope:"global",keys:[],prefixKeys:["k"],category:"Files",description:"Ask the agent to fix the failing PR checks"},{id:"files.syncBase",scope:"global",keys:[],prefixKeys:["u"],category:"Files",description:"Merge the base branch into this task's worktree"},{id:"diff.review.cursor",scope:"workspace",keys:[],category:"Diff review",description:"Move the line cursor over the diff",hint:{keys:"j/k"}},{id:"diff.review.range",scope:"workspace",keys:[],category:"Diff review",description:"Toggle range anchor at the cursor",hint:{keys:"v"}},{id:"diff.review.note",scope:"workspace",keys:[],category:"Diff review",description:"Add a review note at the cursor",hint:{keys:"c"}},{id:"diff.review.send",scope:"workspace",keys:[],category:"Diff review",description:"Send all unsent review notes to the engine",hint:{keys:"s"}},{id:"diff.review.drop",scope:"workspace",keys:[],category:"Diff review",description:"Drop the review note the cursor sits inside",hint:{keys:"x"}},{id:"diff.review.reload",scope:"workspace",keys:[],category:"Diff review",description:"Reload the previewed file from disk",hint:{keys:"r"}}];var INBOX_BINDINGS=[{id:"inbox.show",scope:"global",keys:[],prefixKeys:["i"],category:"Global",description:"Open Inbox"},{id:"inbox.nav",scope:"inbox",keys:["j","k","down","up"],category:"Inbox",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"inbox.open",scope:"inbox",keys:["return"],category:"Inbox",description:"Open the selected Task and Terminal Tab",hint:{keys:"enter"}},{id:"inbox.delete",scope:"inbox",keys:["d"],category:"Inbox",description:"Remove the selected Inbox item",hint:{keys:"d"}}];var SIDEBAR_BINDINGS=[{id:"sidebar.nav",scope:"sidebar",keys:["j","k","down","up"],category:"Sidebar",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"sidebar.select",scope:"sidebar",keys:["return"],category:"Sidebar",description:"Open the selected task",hint:{keys:"enter"}},{id:"sidebar.tree.open",scope:"sidebar",keys:["l","space"],category:"Sidebar",description:"Open the row under the cursor (a tab row enters its chat)",hint:{keys:"l"}},{id:"sidebar.goto",scope:"sidebar",keys:["g","shift+g"],category:"Sidebar",description:"Top / bottom of list (gg or shift-G)"},{id:"sidebar.rename",scope:"sidebar",keys:["r"],category:"Sidebar",description:"Rename task",hint:{keys:"r"}},{id:"sidebar.localMerge",scope:"sidebar",keys:["shift+m"],category:"Sidebar",description:"Reorder row (Shift+M, then j/k)",hint:{keys:"M"}},{id:"sidebar.pin",scope:"sidebar",keys:["shift+p"],category:"Sidebar",description:"Pin / unpin task at top (Shift+P)",hint:{keys:"P"}},{id:"sidebar.sort",scope:"sidebar",keys:["t"],category:"Sidebar",description:"Cycle task sort (default \u2192 recent \u2192 attention \u2192 name)",hint:{keys:"t"}},{id:"sidebar.delete",scope:"sidebar",keys:["d"],category:"Sidebar",description:"Delete task (with confirm)",hint:{keys:"d"}},{id:"sidebar.search.enter",scope:"sidebar",keys:["/"],category:"Sidebar",description:"Search tasks (fuzzy filter)",hint:{keys:"/"}},{id:"sidebar.search.nav",scope:"sidebar",keys:["down","up"],category:"Sidebar",description:"Move highlight in search results"},{id:"sidebar.search.submit",scope:"sidebar",keys:["return"],category:"Sidebar",description:"Select search match and exit search"},{id:"sidebar.search.cancel",scope:"sidebar",keys:["escape"],category:"Sidebar",description:"Cancel search (restore prior selection)"},{id:"tasks.openWorktree",scope:"sidebar",keys:["o"],category:"Tasks pane",description:"Open selected Task directory in your editor",hint:{keys:"o"}},{id:"tasks.renameBranch",scope:"sidebar",keys:["b"],category:"Tasks pane",description:"Rename the selected task's git branch",hint:{keys:"b"}},{id:"tasks.cycleEngine",scope:"sidebar",keys:["v"],category:"Tasks pane",description:"Cycle engine vendor \u2014 applies on reopen",hint:{keys:"v"}},{id:"tasks.update",scope:"sidebar",keys:["u"],category:"Tasks pane",description:"Open the update page \u2014 version check + release notes",hint:{keys:"u"}},{id:"tasks.focusEngine",scope:"sidebar",keys:["right"],category:"Tasks pane",description:"Focus the engine pane of the current window",hint:{keys:"\u2192"}}];var RoveKeymap=[{id:"palette.open",scope:"global",keys:[],prefixKeys:["/"],category:"Global",description:"Search commands"},{id:"help.open",scope:"global",keys:["f1"],category:"Global",description:"Show keybindings help",hint:{keys:"F1"},presentation:"onePress"},{id:"task.new",scope:"sidebar",keys:["n"],category:"Sidebar",description:"New task",hint:{keys:"n"}},{id:"task.new.global",scope:"global",keys:[],prefixKeys:["n"],category:"Global",description:"New task"},{id:"task.openEditor",scope:"global",keys:[],prefixKeys:["o"],category:"Global",description:"Open active Task directory in editor"},{id:"task.moveMode",scope:"global",keys:[],prefixKeys:["m"],category:"Global",description:"Reorder sidebar rows (then j/k)"},{id:"settings.open",scope:"global",keys:[],prefixKeys:[","],category:"Global",description:"Open settings"},{id:"app.refresh",scope:"global",keys:[],prefixKeys:["r"],category:"Global",description:"Refresh Rove onto the installed build (after an update)"},{id:"settings.open.sidebar",scope:"sidebar",keys:["s"],category:"Sidebar",description:"Open settings",hint:{keys:"s"}},{id:"worktrees.open.sidebar",scope:"sidebar",keys:["x"],category:"Sidebar",description:"Open worktrees",hint:{keys:"x"}},{id:"kanban.open",scope:"global",keys:[],prefixKeys:["1"],category:"Global",description:"Open kanban (issues board)"},{id:"automations.open",scope:"global",keys:[],prefixKeys:["2"],category:"Global",description:"Open routines (scheduled tasks)"},{id:"workItems.open",scope:"global",keys:[],prefixKeys:["3"],category:"Global",description:"Open GitHub issues (external tracker)"},{id:"app.quit",scope:"sidebar",keys:["q","ctrl+q"],category:"Sidebar",description:"Quit (with confirm)",hint:{keys:"q"}},{id:"focus.sidebar",scope:"workspace",keys:["ctrl+q"],category:"Workspace",description:"Back to sidebar (tasks)",hint:{keys:"ctrl+q"},presentation:"onePress"},{id:"focus.previous",scope:"global",keys:[],prefixKeys:["h"],category:"Navigation",description:"Focus previous pane (files \u2192 workspace \u2192 sidebar)"},{id:"focus.next",scope:"global",keys:["f4"],prefixKeys:["l"],category:"Navigation",description:"Focus next pane (sidebar \u2192 workspace \u2192 files)",hint:{keys:"f4"},presentation:"onePress"},{id:"attention.next",scope:"global",keys:["f7"],category:"Navigation",description:"Jump to the next available Inbox item",hint:{keys:"f7"},presentation:"onePress"},{id:"workspace.zenToggle",scope:"global",keys:[],prefixKeys:["z"],category:"Navigation",description:"Toggle zen mode (hide the files column)"},{id:"view.redraw",scope:"global",keys:[],prefixKeys:["r"],category:"Global",description:"Redraw the screen"},...SIDEBAR_BINDINGS,...CHAT_BINDINGS,...FILES_BINDINGS,...INBOX_BINDINGS,{id:"terminal.scroll-up",scope:"terminal",keys:["ctrl+pageup"],category:"Terminal",description:"Scroll scrollback up",hint:{keys:"ctrl+pgup"}},{id:"terminal.scroll-down",scope:"terminal",keys:["ctrl+pagedown"],category:"Terminal",description:"Scroll scrollback down"},{id:"terminal.reset",scope:"terminal",keys:["f5"],category:"Terminal",description:"Reset terminal \u2014 kill the current shell and respawn",hint:{keys:"f5"},presentation:"onePress"},{id:"terminal.search",scope:"terminal",keys:[],prefixKeys:["/"],category:"Terminal",description:"Search the scrollback"},{id:"terminal.search.older",scope:"terminal",keys:["up","return"],category:"Terminal",description:"Scrollback search: walk to the older match"},{id:"terminal.search.newer",scope:"terminal",keys:["down"],category:"Terminal",description:"Scrollback search: walk to the newer match"},{id:"terminal.search.cancel",scope:"terminal",keys:["escape"],category:"Terminal",description:"Close scrollback search (restore prior scroll position)"}];var SOUND_VOLUME_KEY="notifications.sound.volume",DEFAULT_SOUND_VOLUME=0.4,SOUND_VOLUME_STEPS=[0.1,0.25,0.4,0.6,0.8,1];function normalizeSoundVolume(value){let n=typeof value==="number"?value:typeof value==="string"?Number.parseFloat(value.trim()):Number.NaN;if(!Number.isFinite(n))return DEFAULT_SOUND_VOLUME;return Math.min(1,Math.max(0,n))}function nextSoundVolume(volume){let current=normalizeSoundVolume(volume),above=SOUND_VOLUME_STEPS.findIndex((step)=>step>current+0.000000001);return SOUND_VOLUME_STEPS[above<0?0:above]}function persistedSoundVolume(){return normalizeSoundVolume(loadStateFile()[SOUND_VOLUME_KEY])}
|
|
2
|
+
import{errorMessage}from"./chunk-2brn8e1y.js";import{loadStateFile}from"./chunk-zk5qkkb1.js";import{isDev,keybindingsConfigPath}from"./chunk-prqeddy7.js";import{createStateCell}from"./chunk-cmp64q4j.js";function hasReachableBinding(snapshot,predicate){for(let i=snapshot.length-1;i>=0;i--){let cfg=snapshot[i]?.config();if(!cfg||cfg.enabled===!1)continue;if(cfg.bindings.some(predicate))return!0;if(cfg.modal)return!1}return!1}var prefixReachable=(snapshot)=>hasReachableBinding(snapshot,(binding)=>binding.prefix===!0),inputPassthroughReachable=(snapshot)=>hasReachableBinding(snapshot,(binding)=>binding.passthrough===!0);function scanReachability(snapshot){let directIds=new Set,prefixIds=new Set,prefixReachable2=!1,inputPassthrough=!1,yieldedDirectIds=new Set,prefixOptions=[],seenPrefixKeys=new Set;for(let i=snapshot.length-1;i>=0;i--){let cfg=snapshot[i]?.config();if(!cfg||cfg.enabled===!1)continue;for(let binding of cfg.bindings){if(binding.passthrough)inputPassthrough=!0;if(binding.prefix===!0){if(prefixReachable2=!0,binding.id)prefixIds.add(binding.id);if(!seenPrefixKeys.has(binding.key))seenPrefixKeys.add(binding.key),prefixOptions.push({stroke:binding.key,action:binding.id??binding.key})}else if(binding.id){if(directIds.add(binding.id),binding.yieldToPassthrough)yieldedDirectIds.add(binding.id)}}if(cfg.modal)break}if(inputPassthrough)for(let id of yieldedDirectIds)directIds.delete(id);return{prefixReachable:prefixReachable2,inputPassthrough,prefixOptions,directIds,prefixIds}}function bindingReachability(snapshot){let{directIds,prefixIds,inputPassthrough}=scanReachability(snapshot);return{direct:directIds,prefix:prefixIds,inputPassthrough}}var PREFIX_HUD_TTL_MS=4000,PREFIX_GUIDE_DELAY_MS=180;var MAX_ENTRIES=3,realClock={now:()=>Date.now(),schedule:(fn,ms)=>{let timer=setTimeout(fn,ms);return()=>clearTimeout(timer)}},clock=realClock;function prefixHudClock(){return clock}var cell=createStateCell({guide:null,entries:[]}),nextEntryId=1,prefixHudState=cell;function prefixHudSetArmed(armed,options=[],armedAt=null){cell.update((current)=>{if(!armed)return current.guide?.kind==="prefix"?{...current,guide:null}:current;return{...current,guide:{kind:"prefix",armedAt:armedAt??clock.now(),options}}})}function prefixHudShowDirect(options){cell.update((current)=>({...current,guide:{kind:"direct",options}}))}function prefixHudHideDirect(){cell.update((current)=>current.guide?.kind==="direct"?{...current,guide:null}:current)}function prefixHudPush(entry){cell.update((current)=>({...current,guide:null,entries:[...current.entries,{...entry,id:nextEntryId++}].slice(-MAX_ENTRIES)}))}function matchKey(evt){let base=[],name=evt.name;if(name)base.push(name);if(name==="return")base.push("enter");if(name==="enter")base.push("return");if(name==="backspace"&&evt.raw==="\b"&&!evt.meta&&!evt.option)base.push("ctrl+h");if(name==="linefeed"&&!evt.meta&&!evt.option)base.push("ctrl+j");let mods=[];if(evt.ctrl)mods.push("ctrl");if(evt.meta||evt.super)mods.push("cmd");if(evt.option)mods.push("alt");let bareShiftChar=evt.shift&&name!==void 0&&name.length===1&&mods.length===0;if(evt.shift&&name&&name.length>1)mods.push("shift");if(mods.length===0){if(bareShiftChar)return[...base.map((n)=>`shift+${n}`),...base];return base}let prefix=`${mods.join("+")}+`,prefixed=base.map((n)=>prefix+n);if(evt.shift&&name!==void 0&&name.length===1&&evt.source==="kitty")return[...base.map((n)=>`${mods.join("+")}+shift+${n}`),...prefixed];return prefixed}var KITTY_MODIFIER_KEY_NAMES=["leftshift","leftctrl","leftalt","leftsuper","lefthyper","leftmeta","rightshift","rightctrl","rightalt","rightsuper","righthyper","rightmeta","iso_level3_shift","iso_level5_shift"],KITTY_MODIFIER_KEYS=new Set(KITTY_MODIFIER_KEY_NAMES);function isKittyModifierKeyName(name){return name!==void 0&&KITTY_MODIFIER_KEYS.has(name)}function isKittyModifierKeyEvent(event){return isKittyModifierKeyName(event.name)}function isCtrlModifierKeyName(name){return name==="leftctrl"||name==="rightctrl"}function prefixAction(run){return{run}}function insertRegistration(stack,reg){if(reg.modalOwner!==void 0){let firstMember=stack.findIndex((r)=>r.modalMember===reg.modalOwner);if(firstMember>=0){stack.splice(firstMember,0,reg);return}}stack.push(reg)}var dispatching=!1,DEFAULT_PREFIX_CONFIGURATION={key:"ctrl+a",timeoutMs:5000},prefixConfiguration={...DEFAULT_PREFIX_CONFIGURATION},prefixArmedAt=null,prefixArmedKey="",prefixArmedOnPassthrough=!1,prefixArmedOptions=[],prefixTimer=null;function configurePrefix(next){prefixConfiguration={...next},resetPrefixState()}function resetPrefixConfiguration(){prefixConfiguration={...DEFAULT_PREFIX_CONFIGURATION},resetPrefixState()}function currentPrefixConfiguration(){return prefixConfiguration}function prefixFirstStrokes(config=prefixConfiguration){if(config.key===null)return[];return[config.key,...config.extraKeys??[]]}function resetPrefixState(){if(prefixTimer!==null)clearTimeout(prefixTimer);prefixTimer=null,prefixArmedAt=null,prefixArmedOnPassthrough=!1,prefixArmedOptions=[],prefixHudSetArmed(!1)}function armPrefix(now,options,inputPassthrough,armedKey=prefixConfiguration.key??""){resetPrefixState(),prefixArmedAt=now,prefixArmedKey=armedKey,prefixArmedOnPassthrough=inputPassthrough,prefixArmedOptions=options.slice(),prefixTimer=setTimeout(resetPrefixState,prefixConfiguration.timeoutMs),prefixHudSetArmed(!0,options,now)}function armPrefixNow(snapshot,now=Date.now()){if(prefixConfiguration.key===null)return!1;let reach=scanReachability(snapshot);if(!reach.prefixReachable)return!1;return armPrefix(now,reach.prefixOptions,reach.inputPassthrough),!0}function invokeArmedPrefixAction(bindingStack,actionId,stroke,now=Date.now()){if(dispatching||prefixArmedAt===null)return!1;let snapshot=bindingStack.slice(),armedPrefixKey=prefixArmedKey,validOption=prefixArmedOptions.some((option)=>option.action===actionId&&option.stroke===stroke),expired=now-prefixArmedAt>prefixConfiguration.timeoutMs,crossedBoundary=inputPassthroughReachable(snapshot)!==prefixArmedOnPassthrough;if(!validOption||expired||crossedBoundary)return resetPrefixState(),!1;let hit=null;for(let i=snapshot.length-1;i>=0;i--){let reg=snapshot[i];if(!reg)continue;let cfg=reg.config();if(cfg.enabled===!1)continue;let candidate=cfg.bindings.find((binding)=>binding.prefix===!0&&binding.key===stroke);if(candidate){if(candidate.id===actionId)hit=candidate;break}if(cfg.modal)break}if(!hit?.action)return resetPrefixState(),!1;resetPrefixState(),dispatching=!0;try{return hit.action.run(),prefixHudPush({prefixKey:armedPrefixKey,stroke,action:actionId,at:now}),!0}finally{dispatching=!1}}var shadowWarned=new Set;function warnShadowedMatch(snapshot,hitIndex,candidates,prefix){for(let j=hitIndex-1;j>=0;j--){let cfg=snapshot[j]?.config();if(!cfg||cfg.enabled===!1)continue;let shadowed=cfg.bindings.find((b)=>Boolean(b.prefix)===prefix&&candidates.includes(b.key));if(shadowed){if(!shadowWarned.has(shadowed.key))shadowWarned.add(shadowed.key),console.error(`[rove keymap] "${shadowed.key}" matched two ENABLED bindings \u2014 the lower one is shadowed by LIFO order. Gate one of them off (see tui-react/lib/keymap.ts header).`);return}if(cfg.modal)return}}function dispatchMode(snapshot,evt,candidates,prefix,runCmd){for(let i=snapshot.length-1;i>=0;i--){let reg=snapshot[i];if(!reg)continue;let cfg=reg.config();if(cfg.enabled===!1)continue;let hit;for(let candidate of candidates)if(hit=cfg.bindings.find((binding)=>Boolean(binding.prefix)===prefix&&binding.key===candidate),hit)break;if(hit){if(hit.yieldToPassthrough&&inputPassthroughReachable(snapshot))continue;if(!cfg.modal&&isDev())warnShadowedMatch(snapshot,i,candidates,prefix);return runCmd(()=>hit.cmd(evt,hit.slot)),hit}if(cfg.modal)return null}return null}function dispatchKeyEvent(bindingStack,evt,now=Date.now(),opts){if(evt.defaultPrevented||dispatching)return!1;if(isKittyModifierKeyName(evt.name))return evt.preventDefault(),!0;let snapshot=bindingStack.slice(),candidates=matchKey(evt),runCmd=opts?.flushSync??((fn)=>fn());dispatching=!0;try{if(prefixArmedAt!==null&&inputPassthroughReachable(snapshot)!==prefixArmedOnPassthrough)resetPrefixState();if(prefixArmedAt!==null){let armedPrefixKey=prefixArmedKey,expired=now-prefixArmedAt>prefixConfiguration.timeoutMs;if(prefixArmedAt=null,expired)resetPrefixState();else{if(candidates.includes("escape"))return resetPrefixState(),evt.preventDefault(),!0;resetPrefixState();let hit=dispatchMode(snapshot,evt,candidates,!0,runCmd);return prefixHudPush({prefixKey:armedPrefixKey,stroke:candidates[0]??"",action:hit?hit.id??hit.key:null,at:now}),evt.preventDefault(),!0}}let firstStroke=prefixFirstStrokes().find((key)=>candidates.includes(key));if(firstStroke!==void 0){if(prefixReachable(snapshot)){let reach=scanReachability(snapshot);return armPrefix(now,reach.prefixOptions,reach.inputPassthrough,firstStroke),evt.preventDefault(),!0}}let direct=dispatchMode(snapshot,evt,candidates,!1,runCmd);if(direct){if(direct.id&&direct.key.includes("+")&&!direct.key.startsWith("shift+"))prefixHudPush({prefixKey:"",stroke:direct.key,action:direct.id??direct.key,at:now});return evt.preventDefault(),!0}return!1}finally{dispatching=!1}}import{existsSync,readFileSync}from"fs";var cached=null;function resetKeybindingsFileCache(){cached=null}function resolveConfigFile(){let canonical=keybindingsConfigPath();if(existsSync(canonical))return{canonical,found:canonical};let yml=canonical.replace(/\.yaml$/,".yml");if(existsSync(yml))return{canonical,found:yml};return{canonical,found:null}}function readKeybindingsFile(){if(cached)return cached;let{canonical,found}=resolveConfigFile();if(!found)return cached={path:canonical,exists:!1,doc:null,warnings:[]},cached;let warnings=[],doc=null;try{let text=readFileSync(found,"utf8");doc=Bun.YAML.parse(text)}catch(err){let msg=errorMessage(err);warnings.push(`could not read/parse ${found}: ${msg}`)}return cached={path:canonical,exists:!0,doc,warnings},cached}var MOD_ALIASES={ctrl:"ctrl",control:"ctrl",ctl:"ctrl",cmd:"cmd",command:"cmd",meta:"cmd",super:"cmd",win:"cmd",alt:"alt",option:"alt",opt:"alt",shift:"shift"},KEY_ALIASES={esc:"escape",spacebar:"space",pgup:"pageup",pgdn:"pagedown",pgdown:"pagedown"},KNOWN_NAMED_KEYS=new Set(["up","down","left","right","pageup","pagedown","home","end","insert","delete","backspace","tab","space","escape","enter","return",...Array.from({length:12},(_,i)=>`f${i+1}`)]),MOD_ORDER=["ctrl","cmd","alt","shift"];function normalizeChord(raw){let rawTrimmed=raw.trim(),upperLetterKey=rawTrimmed.length===1&&rawTrimmed>="A"&&rawTrimmed<="Z",trimmed=raw.trim().toLowerCase();if(!trimmed)return{error:"empty chord"};let parts=trimmed.split("+"),key=parts.pop()??"";if(key===""&&parts.length>0&&parts[parts.length-1]==="")key="+",parts.pop();if(!key)return{error:`"${raw}": no key after the modifiers`};let mods=new Set;for(let part of parts){let mod=MOD_ALIASES[part];if(!mod)return{error:`"${raw}": unknown modifier "${part}" (use ctrl / cmd / alt / shift)`};mods.add(mod)}if(key=KEY_ALIASES[key]??key,upperLetterKey)mods.add("shift");if(mods.has("shift")&&mods.size>1&&key.length===1)return{error:`"${raw}": shift with other modifiers on a single character can never match \u2014 legacy terminals send the same byte with and without shift`};let prefix=MOD_ORDER.filter((m)=>mods.has(m)).join("+"),chord=prefix?`${prefix}+${key}`:key;if(key.length>1&&!KNOWN_NAMED_KEYS.has(key))return{chord,warning:`"${raw}": unrecognized key name "${key}" \u2014 the chord may never fire`};return{chord}}function isRecord(v){return typeof v==="object"&&v!==null&&!Array.isArray(v)}function platformSectionNames(platform){if(platform==="darwin")return["darwin","macos","mac"];if(platform==="win32")return["win32","windows"];return[platform]}function extractBindingsMap(section){if(!isRecord(section))return null;let nested=section.bindings;if(isRecord(nested))return nested;return section}function extractKeybindingOverrides(doc,platform){let warnings=[];if(doc===null||doc===void 0)return{entries:[],prefixEntries:[],warnings};if(!isRecord(doc))return{entries:[],prefixEntries:[],warnings:["config root must be a YAML mapping (e.g. a top-level `bindings:` key)"]};let merged=new Map,prefixMerged=new Map,layers=[];if(doc.bindings!==void 0)if(isRecord(doc.bindings))layers.push(doc.bindings);else warnings.push("`bindings:` must be a mapping of id \u2192 chord(s)");for(let name of platformSectionNames(platform)){let section=doc[name];if(section===void 0)continue;let map=extractBindingsMap(section);if(map)layers.push(map);else warnings.push(`\`${name}:\` must be a mapping (or contain a \`bindings:\` mapping)`)}for(let layer of layers)for(let[id,value]of Object.entries(layer)){let modeValues=isRecord(value)&&(("direct"in value)||("prefix"in value))?[[merged,value.direct],[prefixMerged,value.prefix]]:[[merged,value]];for(let[target,modeValue]of modeValues){if(modeValue===void 0)continue;if(modeValue===null||modeValue===!1||Array.isArray(modeValue)&&modeValue.length===0){target.set(id,[]);continue}let rawChords=typeof modeValue==="string"?[modeValue]:Array.isArray(modeValue)?modeValue:null;if(!rawChords){warnings.push(`${id}: expected a chord string, a list of chords, or null \u2014 got ${typeof modeValue}`);continue}let chords=[],anyError=!1;for(let rawChord of rawChords){if(typeof rawChord!=="string"){warnings.push(`${id}: chord entries must be strings`),anyError=!0;continue}let result=normalizeChord(rawChord);if("error"in result){warnings.push(`${id}: ${result.error}`),anyError=!0;continue}if(result.warning)warnings.push(`${id}: ${result.warning}`);if(!chords.includes(result.chord))chords.push(result.chord)}if(chords.length===0&&anyError){warnings.push(`${id}: no valid chords \u2014 keeping the default`);continue}target.set(id,chords)}}return{entries:Array.from(merged,([id,keys])=>({id,keys})),prefixEntries:Array.from(prefixMerged,([id,keys])=>({id,keys})),warnings}}var FIXED_BINDING_IDS={"diff.review.cursor":"diff-review cursor is a fixed raw binding (j/k), not keymap-driven","diff.review.range":"diff-review range anchor is a fixed raw binding (v), not keymap-driven","diff.review.note":"diff-review note is a fixed raw binding (c), not keymap-driven","diff.review.send":"diff-review send is a fixed raw binding (s), not keymap-driven","diff.review.drop":"diff-review drop-note is a fixed raw binding (x), not keymap-driven","diff.review.reload":"preview reload is a fixed raw binding (r), not keymap-driven"};function pairContract(first,second){let layout=`alternating [${first}, ${second}] pairs`;return{layout,validateCount:(count)=>count>=2&&count%2===0?null:`needs ${layout} (an even number of chords \u2014 got ${count})`}}var SLOT_CONTRACTS={"sidebar.goto":pairContract("top (double-tap)","bottom"),"sidebar.nav":pairContract("down","up"),"files.nav":pairContract("down","up"),"sidebar.search.nav":pairContract("down","up"),"files.hierarchy":pairContract("collapse","expand"),"files.tab":pairContract("previous tab","next tab"),"app.quit":{layout:"[quit confirm, hard exit] (second chord optional)",validateCount:(count)=>count<=2?null:`needs [quit confirm, hard exit] (1 or 2 chords \u2014 got ${count})`}},NO_BARE_LETTER_SCOPES=new Set(["global","workspace","terminal"]);function scopesOverlap(a,b){return a===b||a==="global"||b==="global"}function applyKeymapOverrides(keymap,entries,fixedIds=FIXED_BINDING_IDS){let warnings=[],applied=[];for(let entry of entries){let row=keymap.find((b)=>b.id===entry.id);if(!row){warnings.push(`${entry.id}: unknown binding id (press F1 in Rove for the full list)`);continue}let fixedReason=fixedIds[entry.id];if(fixedReason){warnings.push(`${entry.id}: not customizable \u2014 ${fixedReason}`);continue}if(row.keys.length===0&&row.prefixKeys===void 0){warnings.push(`${entry.id}: not customizable \u2014 the key is handled outside the keymap (doc-only row)`);continue}let contract=SLOT_CONTRACTS[entry.id];if(contract&&entry.keys.length>0){let problem=contract.validateCount(entry.keys.length);if(problem){warnings.push(`${entry.id}: ${problem} \u2014 keeping the default`);continue}}let keys=entry.keys.filter((chord)=>{if((chord.length===1||chord.startsWith("shift+")&&chord.length===7)&&NO_BARE_LETTER_SCOPES.has(row.scope))return warnings.push(`${entry.id}: "${chord}" dropped \u2014 a bare character on a ${row.scope}-scope binding would steal typed input (add a modifier)`),!1;return!0});if(keys.length===0&&entry.keys.length>0){warnings.push(`${entry.id}: no chords survived validation \u2014 keeping the default`);continue}if(contract&&keys.length!==entry.keys.length){warnings.push(`${entry.id}: a dropped chord would shift the slot layout (${contract.layout}) \u2014 keeping the default`);continue}let defaultKeys=row.keys,mutable=row;if(mutable.keys=keys,row.hint)if(keys.length===0)mutable.hint=void 0;else row.hint.keys=keys.join("/");applied.push({id:entry.id,keys,defaultKeys})}for(let change of applied)for(let chord of change.keys){let owner=keymap.find((b)=>b.id===change.id);if(!owner)continue;for(let other of keymap){if(other.id===change.id)continue;if(!other.keys.includes(chord))continue;if(!scopesOverlap(owner.scope,other.scope))continue;warnings.push(`${change.id}: "${chord}" also fires ${other.id} (${other.scope} scope) \u2014 last registration wins; consider a different chord`)}}return{applied,warnings}}var PLATFORM_SECTIONS={darwin:["darwin","macos","mac"],linux:["linux"],win32:["win32","windows"]},VALUE_RE=/^(pane|action):\s*([A-Za-z0-9][A-Za-z0-9._:-]*\.[A-Za-z0-9][A-Za-z0-9_:-]*)$/;function sectionOf(doc,key){if(typeof doc!=="object"||doc===null)return null;let section=doc[key];if(typeof section!=="object"||section===null||Array.isArray(section))return null;return section}function collect(section,into,warnings){for(let[rawChord,rawValue]of Object.entries(section)){if(typeof rawValue!=="string"){warnings.push(`plugins: ${rawChord}: value must be a "pane:<id>" or "action:<id>" string`);continue}let match=rawValue.trim().match(VALUE_RE);if(!match){warnings.push(`plugins: ${rawChord}: \`${rawValue}\` is not pane:<plugin-id>.<local-id> or action:<...>`);continue}let chord=normalizeChord(rawChord);if("error"in chord){warnings.push(`plugins: ${rawChord}: ${chord.error}`);continue}if(chord.warning)warnings.push(`plugins: ${rawChord}: ${chord.warning}`);into.set(chord.chord,{chord:chord.chord,kind:match[1],target:match[2].trim()})}}function extractPluginKeybindings(doc,platform){let warnings=[],byChord=new Map,base=sectionOf(doc,"plugins");if(base)collect(base,byChord,warnings);for(let alias of PLATFORM_SECTIONS[platform]??[]){let overlaySection=sectionOf(doc,alias),overlay=overlaySection?sectionOf(overlaySection,"plugins"):null;if(overlay)collect(overlay,byChord,warnings)}return{entries:[...byChord.values()],warnings}}function isRecord2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function platformKeys(platform){if(platform==="darwin")return["darwin","macos","mac"];if(platform==="win32")return["win32","windows"];return[platform]}function collectEntries(source,warnings){let out=new Map;if(source===void 0)return out;if(!isRecord2(source))return warnings.push("prefix.bindings must be a mapping of binding id to chord(s)"),out;for(let[id,raw]of Object.entries(source)){if(raw===null||Array.isArray(raw)&&raw.length===0){out.set(id,[]);continue}let rawKeys=typeof raw==="string"?[raw]:Array.isArray(raw)?raw:null;if(!rawKeys||rawKeys.some((key)=>typeof key!=="string")){warnings.push(`prefix.bindings.${id} must be a chord string, a string list, null, or []`);continue}let keys=[],anyError=!1;for(let rawKey of rawKeys){let normalized=normalizeChord(rawKey);if("error"in normalized){warnings.push(`prefix.bindings.${id}: ${normalized.error}`),anyError=!0;continue}if(!keys.includes(normalized.chord))keys.push(normalized.chord);if(normalized.warning)warnings.push(`prefix.bindings.${id}: ${normalized.warning}`)}if(keys.length===0&&anyError){warnings.push(`prefix.bindings.${id}: no valid chords \u2014 keeping the default`);continue}out.set(id,keys)}return out}function prefixChord(raw,warnings){let normalized=normalizeChord(raw);if("error"in normalized)warnings.push(`prefix.key: ${normalized.error}`);else if(!normalized.chord.includes("+"))warnings.push("prefix.key must include a modifier");else return normalized.chord;return null}function mergePrefixKey(raw,configuration,warnings){if(raw===null||Array.isArray(raw)&&raw.length===0){configuration.key=null,configuration.extraKeys=void 0;return}let rawKeys=typeof raw==="string"?[raw]:Array.isArray(raw)?raw:null;if(!rawKeys||rawKeys.some((key)=>typeof key!=="string")){warnings.push("prefix.key must be a modifier chord, a list of them, or null");return}let keys=[];for(let rawKey of rawKeys){let chord=prefixChord(rawKey,warnings);if(chord!==null&&!keys.includes(chord))keys.push(chord)}let[primary,...extra]=keys;if(primary===void 0)return;if(configuration.key=primary,extra.length>0)configuration.extraKeys=extra;else configuration.extraKeys=void 0}function mergePrefixBlock(raw,configuration,entries,warnings){if(raw===void 0)return;if(!isRecord2(raw)){warnings.push("prefix must be a mapping");return}if("key"in raw)mergePrefixKey(raw.key,configuration,warnings);if("timeoutMs"in raw)if(typeof raw.timeoutMs!=="number"||!Number.isInteger(raw.timeoutMs)||raw.timeoutMs<100||raw.timeoutMs>1e4)warnings.push("prefix.timeoutMs must be an integer from 100 to 10000");else configuration.timeoutMs=raw.timeoutMs;for(let[id,keys]of collectEntries(raw.bindings,warnings))entries.set(id,keys)}function extractPrefixKeybindings(doc,platform){let configuration={},warnings=[],entries=new Map;if(!isRecord2(doc)){if(doc!==null&&doc!==void 0)warnings.push("keybindings document must be a mapping");return{configuration,entries:[],warnings}}mergePrefixBlock(doc.prefix,configuration,entries,warnings);for(let key of platformKeys(platform)){let overlay=doc[key];if(isRecord2(overlay))mergePrefixBlock(overlay.prefix,configuration,entries,warnings)}return{configuration,entries:[...entries].map(([id,keys])=>({id,keys})),warnings}}function applyPrefixKeymapOverrides(keymap,entries){let applied=[],warnings=[];for(let entry of entries){let row=keymap.find((candidate)=>candidate.id===entry.id);if(!row){warnings.push(`${entry.id}: unknown binding id`);continue}let mutable=row,defaultKeys=[...row.prefixKeys??[]];mutable.prefixKeys=[...entry.keys],applied.push({id:entry.id,keys:[...entry.keys],defaultKeys})}return{applied,warnings}}function resolveUserKeybindings(file,keymap,platform){if(!file.exists)return{report:{path:file.path,exists:!1,applied:[],plugins:[],warnings:[]},prefix:{...DEFAULT_PREFIX_CONFIGURATION}};let warnings=[...file.warnings],extracted=extractKeybindingOverrides(file.doc,platform);warnings.push(...extracted.warnings);let prefix=extractPrefixKeybindings(file.doc,platform);warnings.push(...prefix.warnings);let prefixConfiguration2={...DEFAULT_PREFIX_CONFIGURATION,...prefix.configuration},result=applyKeymapOverrides(keymap,extracted.entries);warnings.push(...result.warnings);let applied=[...result.applied],customPrefix=prefix.configuration.key===void 0?[]:prefixFirstStrokes(prefixConfiguration2);for(let prefixKey of customPrefix){let directOwner=keymap.find((row)=>row.keys.includes(prefixKey));if(directOwner)warnings.push(`prefix.key "${prefixKey}" collides with direct binding ${directOwner.id}`)}let prefixResult=applyPrefixKeymapOverrides(keymap,[...extracted.prefixEntries,...prefix.entries]);warnings.push(...prefixResult.warnings),applied.push(...prefixResult.applied);let plugins=extractPluginKeybindings(file.doc,platform);warnings.push(...plugins.warnings);for(let p of plugins.entries){let owner=keymap.find((row)=>row.keys.includes(p.chord));if(owner)warnings.push(`plugins: ${p.chord} shadows ${owner.id}`)}return{report:{path:file.path,exists:!0,applied,plugins:plugins.entries,warnings},prefix:prefixConfiguration2}}var CHAT_BINDINGS=[{id:"chat.tab.new",scope:"workspace",keys:["ctrl+t"],category:"Workspace",description:"New chat tab",hint:{keys:"ctrl+t"},presentation:"onePress"},{id:"chat.tab.chooseEngine",scope:"workspace",keys:["ctrl+e"],category:"Workspace",description:"New conversation \u2014 engine/shell picker with destination + context toggles",hint:{keys:"ctrl+e"},presentation:"onePress"},{id:"chat.tab.fork",scope:"workspace",keys:[],prefixKeys:["c"],category:"Workspace",description:"Fork this chat into a new tab (same Task directory, keeps the conversation)",hint:{keys:"ctrl+a c"}},{id:"chat.fork.new",scope:"workspace",keys:[],prefixKeys:["f"],category:"Workspace",description:"Quick-fork: create child task seeded with current repo/branch/model",hint:{keys:"ctrl+a f"}},{id:"chat.tab.close",scope:"workspace",keys:["ctrl+w"],prefixKeys:["w"],category:"Workspace",description:"Close chat tab",hint:{keys:"ctrl+w"},presentation:"onePress"},{id:"workspace.reopenSession",scope:"workspace",keys:["return"],category:"Workspace",description:"Reopen a session in a task whose tabs are all closed",hint:{keys:"enter"},presentation:"onePress"},{id:"chat.tab.rename",scope:"workspace",keys:["f2"],category:"Workspace",description:"Rename active chat tab",hint:{keys:"f2"},presentation:"onePress"},{id:"chat.tab.cycle-next",scope:"workspace",keys:["ctrl+]"],category:"Workspace",description:"Next chat tab",hint:{keys:"ctrl+]"},presentation:"onePress"},{id:"chat.tab.cycle-prev",scope:"workspace",keys:["ctrl+["],category:"Workspace",description:"Previous chat tab",hint:{keys:"ctrl+["},presentation:"onePress"},{id:"chat.tab.goto",scope:"workspace",keys:["1","2","3","4","5","6","7","8","9"].map((digit)=>`ctrl+${digit}`),category:"Workspace",description:"Go to chat tab N",hint:{keys:"ctrl+1-9"},presentation:"onePress"},{id:"workspace.split.right",scope:"workspace",keys:["ctrl+\\"],category:"Workspace",description:"Split right",hint:{keys:"ctrl+\\"},presentation:"onePress"},{id:"workspace.split.down",scope:"workspace",keys:["ctrl+="],category:"Workspace",description:"Split down",hint:{keys:"ctrl+="},presentation:"onePress"},{id:"workspace.split.focus-next",scope:"workspace",keys:["f3"],category:"Workspace",description:"Focus next split",hint:{keys:"f3"},presentation:"onePress"},{id:"workspace.split.close",scope:"workspace",keys:["ctrl+w"],prefixKeys:["w"],category:"Workspace",description:"Close active split (tab when unsplit)",hint:{keys:"ctrl+w"},presentation:"onePress"},{id:"workspace.split.rename",scope:"workspace",keys:["f2"],category:"Workspace",description:"Rename active split (tab when unsplit)",hint:{keys:"f2"},presentation:"onePress"}];var FILES_BINDINGS=[{id:"files.nav",scope:"files",keys:["j","k","down","up"],category:"Files",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"files.hierarchy",scope:"files",keys:["h","l","left","right"],category:"Files",description:"Collapse / expand tree level",hint:{keys:"h/l"}},{id:"files.open",scope:"files",keys:["return"],category:"Files",description:"Open file in configured editor (diff when supported)",hint:{keys:"enter"}},{id:"files.tab",scope:"files",keys:["[","]"],category:"Files",description:"Switch tab (cycle All / Changes)",hint:{keys:"[/]"}},{id:"files.refresh",scope:"files",keys:["r"],category:"Files",description:"Refresh",hint:{keys:"r"}},{id:"files.scope",scope:"files",keys:["b"],category:"Files",description:"Toggle Changes scope (working \u2194 branch vs base)",hint:{keys:"b"}},{id:"files.diff",scope:"files",keys:["d"],category:"Files",description:"Open read-only diff in a workspace tab",hint:{keys:"d"}},{id:"files.diffAll",scope:"files",keys:["shift+d"],category:"Files",description:"Open the whole worktree's diff in one workspace tab",hint:{keys:"D"}},{id:"files.openExternal",scope:"files",keys:["o"],category:"Files",description:"Open file in system default app (audio / video / pdf preview)",hint:{keys:"o"}},{id:"files.mention",scope:"files",keys:["a"],category:"Files",description:"Inject @<path> mention into the engine pane",hint:{keys:"a"}},{id:"files.createPR",scope:"global",keys:[],prefixKeys:["p","shift+p"],category:"Files",description:"Ask the agent to create a PR from the current task"},{id:"files.fixChecks",scope:"global",keys:[],prefixKeys:["k"],category:"Files",description:"Ask the agent to fix the failing PR checks"},{id:"files.syncBase",scope:"global",keys:[],prefixKeys:["u"],category:"Files",description:"Merge the base branch into this task's worktree"},{id:"diff.review.cursor",scope:"workspace",keys:[],category:"Diff review",description:"Move the line cursor over the diff",hint:{keys:"j/k"}},{id:"diff.review.range",scope:"workspace",keys:[],category:"Diff review",description:"Toggle range anchor at the cursor",hint:{keys:"v"}},{id:"diff.review.note",scope:"workspace",keys:[],category:"Diff review",description:"Add a review note at the cursor",hint:{keys:"c"}},{id:"diff.review.send",scope:"workspace",keys:[],category:"Diff review",description:"Send all unsent review notes to the engine",hint:{keys:"s"}},{id:"diff.review.drop",scope:"workspace",keys:[],category:"Diff review",description:"Drop the review note the cursor sits inside",hint:{keys:"x"}},{id:"diff.review.reload",scope:"workspace",keys:[],category:"Diff review",description:"Reload the previewed file from disk",hint:{keys:"r"}}];var INBOX_BINDINGS=[{id:"inbox.show",scope:"global",keys:[],prefixKeys:["i"],category:"Global",description:"Open Inbox"},{id:"inbox.nav",scope:"inbox",keys:["j","k","down","up"],category:"Inbox",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"inbox.open",scope:"inbox",keys:["return"],category:"Inbox",description:"Open the selected Task and Terminal Tab",hint:{keys:"enter"}},{id:"inbox.delete",scope:"inbox",keys:["d"],category:"Inbox",description:"Remove the selected Inbox item",hint:{keys:"d"}}];var SIDEBAR_BINDINGS=[{id:"sidebar.nav",scope:"sidebar",keys:["j","k","down","up"],category:"Sidebar",description:"Move cursor up/down",hint:{keys:"j/k"}},{id:"sidebar.select",scope:"sidebar",keys:["return"],category:"Sidebar",description:"Open the selected task",hint:{keys:"enter"}},{id:"sidebar.tree.open",scope:"sidebar",keys:["l","space"],category:"Sidebar",description:"Open the row under the cursor (a tab row enters its chat)",hint:{keys:"l"}},{id:"sidebar.goto",scope:"sidebar",keys:["g","shift+g"],category:"Sidebar",description:"Top / bottom of list (gg or shift-G)"},{id:"sidebar.rename",scope:"sidebar",keys:["r"],category:"Sidebar",description:"Rename task",hint:{keys:"r"}},{id:"sidebar.localMerge",scope:"sidebar",keys:["shift+m"],category:"Sidebar",description:"Reorder row (Shift+M, then j/k)",hint:{keys:"M"}},{id:"sidebar.pin",scope:"sidebar",keys:["shift+p"],category:"Sidebar",description:"Pin / unpin task at top (Shift+P)",hint:{keys:"P"}},{id:"sidebar.sort",scope:"sidebar",keys:["t"],category:"Sidebar",description:"Cycle task sort (default \u2192 recent \u2192 attention \u2192 name)",hint:{keys:"t"}},{id:"sidebar.delete",scope:"sidebar",keys:["d"],category:"Sidebar",description:"Delete task (with confirm)",hint:{keys:"d"}},{id:"sidebar.search.enter",scope:"sidebar",keys:["/"],category:"Sidebar",description:"Search tasks (fuzzy filter)",hint:{keys:"/"}},{id:"sidebar.search.nav",scope:"sidebar",keys:["down","up"],category:"Sidebar",description:"Move highlight in search results"},{id:"sidebar.search.submit",scope:"sidebar",keys:["return"],category:"Sidebar",description:"Select search match and exit search"},{id:"sidebar.search.cancel",scope:"sidebar",keys:["escape"],category:"Sidebar",description:"Cancel search (restore prior selection)"},{id:"tasks.openWorktree",scope:"sidebar",keys:["o"],category:"Tasks pane",description:"Open selected Task directory in your editor",hint:{keys:"o"}},{id:"tasks.renameBranch",scope:"sidebar",keys:["b"],category:"Tasks pane",description:"Rename the selected task's git branch",hint:{keys:"b"}},{id:"tasks.cycleEngine",scope:"sidebar",keys:["v"],category:"Tasks pane",description:"Cycle engine vendor \u2014 applies on reopen",hint:{keys:"v"}},{id:"tasks.update",scope:"sidebar",keys:["u"],category:"Tasks pane",description:"Open the update page \u2014 version check + release notes",hint:{keys:"u"}},{id:"tasks.focusEngine",scope:"sidebar",keys:["right"],category:"Tasks pane",description:"Focus the engine pane of the current window",hint:{keys:"\u2192"}}];var RoveKeymap=[{id:"palette.open",scope:"global",keys:[],prefixKeys:["/"],category:"Global",description:"Search commands"},{id:"help.open",scope:"global",keys:["f1"],category:"Global",description:"Show keybindings help",hint:{keys:"F1"},presentation:"onePress"},{id:"task.new",scope:"sidebar",keys:["n"],category:"Sidebar",description:"New task",hint:{keys:"n"}},{id:"task.new.global",scope:"global",keys:[],prefixKeys:["n"],category:"Global",description:"New task"},{id:"task.openEditor",scope:"global",keys:[],prefixKeys:["o"],category:"Global",description:"Open active Task directory in editor"},{id:"task.moveMode",scope:"global",keys:[],prefixKeys:["m"],category:"Global",description:"Reorder sidebar rows (then j/k)"},{id:"settings.open",scope:"global",keys:[],prefixKeys:[","],category:"Global",description:"Open settings"},{id:"app.refresh",scope:"global",keys:[],prefixKeys:["r"],category:"Global",description:"Refresh Rove onto the installed build (after an update)"},{id:"settings.open.sidebar",scope:"sidebar",keys:["s"],category:"Sidebar",description:"Open settings",hint:{keys:"s"}},{id:"worktrees.open.sidebar",scope:"sidebar",keys:["x"],category:"Sidebar",description:"Open worktrees",hint:{keys:"x"}},{id:"kanban.open",scope:"global",keys:[],prefixKeys:["1"],category:"Global",description:"Open kanban (issues board)"},{id:"automations.open",scope:"global",keys:[],prefixKeys:["2"],category:"Global",description:"Open routines (scheduled tasks)"},{id:"workItems.open",scope:"global",keys:[],prefixKeys:["3"],category:"Global",description:"Open GitHub issues (external tracker)"},{id:"app.quit",scope:"sidebar",keys:["q","ctrl+q"],category:"Sidebar",description:"Quit (with confirm)",hint:{keys:"q"}},{id:"focus.sidebar",scope:"workspace",keys:["ctrl+q"],category:"Workspace",description:"Back to sidebar (tasks)",hint:{keys:"ctrl+q"},presentation:"onePress"},{id:"focus.previous",scope:"global",keys:[],prefixKeys:["h"],category:"Navigation",description:"Focus previous pane (files \u2192 workspace \u2192 sidebar)"},{id:"focus.next",scope:"global",keys:["f4"],prefixKeys:["l"],category:"Navigation",description:"Focus next pane (sidebar \u2192 workspace \u2192 files)",hint:{keys:"f4"},presentation:"onePress"},{id:"attention.next",scope:"global",keys:["f7"],category:"Navigation",description:"Jump to the next available Inbox item",hint:{keys:"f7"},presentation:"onePress"},{id:"workspace.zenToggle",scope:"global",keys:[],prefixKeys:["z"],category:"Navigation",description:"Toggle zen mode (hide the files column)"},{id:"view.redraw",scope:"global",keys:[],prefixKeys:["r"],category:"Global",description:"Redraw the screen"},...SIDEBAR_BINDINGS,...CHAT_BINDINGS,...FILES_BINDINGS,...INBOX_BINDINGS,{id:"terminal.scroll-up",scope:"terminal",keys:["ctrl+pageup"],category:"Terminal",description:"Scroll scrollback up",hint:{keys:"ctrl+pgup"}},{id:"terminal.scroll-down",scope:"terminal",keys:["ctrl+pagedown"],category:"Terminal",description:"Scroll scrollback down"},{id:"terminal.reset",scope:"terminal",keys:["f5"],category:"Terminal",description:"Reset terminal \u2014 kill the current shell and respawn",hint:{keys:"f5"},presentation:"onePress"},{id:"terminal.search",scope:"terminal",keys:[],prefixKeys:["/"],category:"Terminal",description:"Search the scrollback"},{id:"terminal.search.older",scope:"terminal",keys:["up","return"],category:"Terminal",description:"Scrollback search: walk to the older match"},{id:"terminal.search.newer",scope:"terminal",keys:["down"],category:"Terminal",description:"Scrollback search: walk to the newer match"},{id:"terminal.search.cancel",scope:"terminal",keys:["escape"],category:"Terminal",description:"Close scrollback search (restore prior scroll position)"}];var SOUND_VOLUME_KEY="notifications.sound.volume",DEFAULT_SOUND_VOLUME=0.4,SOUND_VOLUME_STEPS=[0.1,0.25,0.4,0.6,0.8,1];function normalizeSoundVolume(value){let n=typeof value==="number"?value:typeof value==="string"?Number.parseFloat(value.trim()):Number.NaN;if(!Number.isFinite(n))return DEFAULT_SOUND_VOLUME;return Math.min(1,Math.max(0,n))}function nextSoundVolume(volume){let current=normalizeSoundVolume(volume),above=SOUND_VOLUME_STEPS.findIndex((step)=>step>current+0.000000001);return SOUND_VOLUME_STEPS[above<0?0:above]}function persistedSoundVolume(){return normalizeSoundVolume(loadStateFile()[SOUND_VOLUME_KEY])}
|
|
3
3
|
export{resetKeybindingsFileCache,readKeybindingsFile,inputPassthroughReachable,bindingReachability,isKittyModifierKeyEvent,isCtrlModifierKeyName,PREFIX_HUD_TTL_MS,PREFIX_GUIDE_DELAY_MS,prefixHudClock,prefixHudState,prefixHudShowDirect,prefixHudHideDirect,prefixAction,insertRegistration,DEFAULT_PREFIX_CONFIGURATION,configurePrefix,resetPrefixConfiguration,currentPrefixConfiguration,prefixFirstStrokes,resetPrefixState,armPrefixNow,invokeArmedPrefixAction,dispatchKeyEvent,FIXED_BINDING_IDS,resolveUserKeybindings,RoveKeymap,SOUND_VOLUME_KEY,DEFAULT_SOUND_VOLUME,SOUND_VOLUME_STEPS,normalizeSoundVolume,nextSoundVolume,persistedSoundVolume};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{BUNDLED_THEME_JSONS,parseRgbLiteral}from"./chunk-pdvyfz3n.js";import{kvStatePath}from"./chunk-prqeddy7.js";import{DEFAULT_LOCALE,isLocaleId}from"./chunk-
|
|
2
|
+
import{BUNDLED_THEME_JSONS,parseRgbLiteral}from"./chunk-pdvyfz3n.js";import{kvStatePath}from"./chunk-prqeddy7.js";import{DEFAULT_LOCALE,isLocaleId}from"./chunk-q3xt0mqt.js";import{RGBA as RGBA3}from"@opentui/core";import{RGBA}from"@opentui/core";var BREATH_TICKS=30,SPEED_MIN=0.2,SPEED_SWING=0.9333333333333333,INK_FLOOR=0.3;function breathLevel(tick){return 0.5-0.5*Math.cos(2*Math.PI*tick/BREATH_TICKS)}function breathPhase(tick){let wave=tick/2-BREATH_TICKS/(4*Math.PI)*Math.sin(2*Math.PI*tick/BREATH_TICKS);return SPEED_MIN*tick+SPEED_SWING*wave}function breathGlyph(frames,tick){let index=Math.floor(breathPhase(tick)+0.000000001)%frames.length;return frames[index]??frames[0]??""}function mixInk(accent,muted,share){if(accent.intent!=="rgb"||muted.intent!=="rgb")return accent;let[ar,ag,ab,aa]=accent.toInts(),[mr,mg,mb]=muted.toInts(),mix=(a,m)=>Math.round(m+(a-m)*share);return RGBA.fromInts(mix(ar,mr),mix(ag,mg),mix(ab,mb),aa)}function breathColor(accent,muted,tick){return mixInk(accent,muted,INK_FLOOR+(1-INK_FLOOR)*breathLevel(tick))}var toLinear=(v)=>v<=0.04045?v/12.92:((v+0.055)/1.055)**2.4,toGamma=(v)=>v<=0.0031308?12.92*v:1.055*v**0.4166666666666667-0.055;function toOklch(color){let[r,g,b]=color.toInts().map((v)=>toLinear(v/255)),l=Math.cbrt(0.4122214708*r+0.5363325363*g+0.0514459929*b),m=Math.cbrt(0.2119034982*r+0.6806995451*g+0.1073969566*b),s=Math.cbrt(0.0883024619*r+0.2817188376*g+0.6299787005*b),L=0.2104542553*l+0.793617785*m-0.0040720468*s,A=1.9779984951*l-2.428592205*m+0.4505937099*s,B=0.0259040371*l+0.7827717662*m-0.808675766*s;return{l:L,c:Math.hypot(A,B),h:Math.atan2(B,A)}}function linearRgb({l:L,c,h}){let A=c*Math.cos(h),B=c*Math.sin(h),l=(L+0.3963377774*A+0.2158037573*B)**3,m=(L-0.1055613458*A-0.0638541728*B)**3,s=(L-0.0894841775*A-1.291485548*B)**3;return[4.0767416621*l-3.3077115913*m+0.2309699292*s,-1.2684380046*l+2.6097574011*m-0.3413193965*s,-0.0041960863*l-0.7034186147*m+1.707614701*s]}function fromOklch(color,alpha){let ch=(v)=>Math.round(Math.min(1,Math.max(0,toGamma(v)))*255),[r,g,b]=linearRgb(color);return RGBA.fromInts(ch(r),ch(g),ch(b),alpha)}function turnHue(accent,deg,lightness=1,chroma=1){if(accent.intent!=="rgb")return accent;let base=toOklch(accent),turned={l:base.l*lightness,c:base.c*chroma,h:base.h+deg*Math.PI/180};return fromOklch(turned,accent.toInts()[3])}var inGamut=(color)=>linearRgb(color).every((v)=>v>=-0.0001&&v<=1.0001);function inkAtHue(deg,lightness,chroma,alpha=255){let h=deg*Math.PI/180,c=chroma;while(c>0&&!inGamut({l:lightness,c,h}))c-=0.005;return fromOklch({l:lightness,c:Math.max(0,c),h},alpha)}function oklchCusp(deg){let key=Math.round(deg)%360,hit=cuspCache.get(key);if(hit)return hit;let h=key*Math.PI/180,best={l:1,c:0};for(let l=0.2;l<=1;l+=0.01){let lo=0,hi=0.4;for(let i=0;i<16;i++){let mid=(lo+hi)/2;if(inGamut({l,c:mid,h}))lo=mid;else hi=mid}if(lo>best.c)best={l,c:lo}}return cuspCache.set(key,best),best}var cuspCache=new Map;import{RGBA as RGBA2}from"@opentui/core";var HOST_TEXT_MIN_CONTRAST=4.5;function srgbChannelToLinear(c){let v=c/255;return v<=0.04045?v/12.92:((v+0.055)/1.055)**2.4}function relativeLuminance([r,g,b]){return 0.2126*srgbChannelToLinear(r)+0.7152*srgbChannelToLinear(g)+0.0722*srgbChannelToLinear(b)}function contrastRatioTriplet(fg,bg){let l1=relativeLuminance(fg),l2=relativeLuminance(bg),lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+0.05)/(darker+0.05)}function rgbToHsl([r,g,b]){let rn=r/255,gn=g/255,bn=b/255,max=Math.max(rn,gn,bn),min=Math.min(rn,gn,bn),l=(max+min)/2;if(max===min)return[0,0,l];let d=max-min,s=l>0.5?d/(2-max-min):d/(max+min),h;if(max===rn)h=((gn-bn)/d+(gn<bn?6:0))*60;else if(max===gn)h=((bn-rn)/d+2)*60;else h=((rn-gn)/d+4)*60;return[h,s,l]}function hslToRgb(h,s,l){if(s===0){let v=Math.round(l*255);return[v,v,v]}let q=l<0.5?l*(1+s):l+s-l*s,p=2*l-q,channel=(t)=>{let tn=t;if(tn<0)tn+=1;if(tn>1)tn-=1;let c=tn<0.16666666666666666?p+(q-p)*6*tn:tn<0.5?q:tn<0.6666666666666666?p+(q-p)*(0.6666666666666666-tn)*6:p;return Math.round(c*255)};return[channel(h/360+0.3333333333333333),channel(h/360),channel(h/360-0.3333333333333333)]}var MID_HOST_LUMINANCE=0.5;function ensureContrast(fg,bg,minRatio=HOST_TEXT_MIN_CONTRAST){let fgInts=fg.toInts(),bgInts=bg.toInts(),fgTriplet=[fgInts[0],fgInts[1],fgInts[2]],bgTriplet=[bgInts[0],bgInts[1],bgInts[2]];if(contrastRatioTriplet(fgTriplet,bgTriplet)>=minRatio)return fg;let[h,s,l]=rgbToHsl(fgTriplet),lighten=relativeLuminance(bgTriplet)<=MID_HOST_LUMINANCE,at=(lightness)=>contrastRatioTriplet(hslToRgb(h,s,lightness),bgTriplet),lo=lighten?l:0,hi=lighten?1:l;for(let i=0;i<32;i++){let mid=(lo+hi)/2;if(at(mid)>=minRatio)if(lighten)hi=mid;else lo=mid;else if(lighten)lo=mid;else hi=mid}let[r,g,b]=hslToRgb(h,s,lighten?hi:lo);return RGBA2.fromInts(r,g,b,fgInts[3])}var BUNDLED_THEMES=BUNDLED_THEME_JSONS,DEFAULT_THEME="claude";function hasBundledTheme(name){return Boolean(BUNDLED_THEMES[name])}var THEME_MODE_PREFERENCES=["dark","light","auto"],DEFAULT_THEME_MODE="dark";function resolveThemeMode(preference,detected){return preference==="auto"?detected??"dark":preference}var FOCUS_ACCENT_SLOTS=["primary","success","info"];function resolveTheme(theme,mode="dark"){let defs=theme.defs??{};function resolve(c,chain=[]){if(typeof c==="string"){if(c==="transparent"||c==="none")return RGBA3.fromInts(0,0,0,0);if(c.startsWith("#"))return RGBA3.fromHex(c);let rgb=parseRgbLiteral(c);if(rgb)return RGBA3.fromInts(rgb.r,rgb.g,rgb.b,rgb.a);if(chain.includes(c))return RGBA3.fromInts(0,0,0);let next=defs[c]??theme.theme[c];if(next===void 0)return RGBA3.fromInts(0,0,0);return resolve(next,[...chain,c])}return resolve(c[mode],chain)}let out={};for(let[k,v]of Object.entries(theme.theme))out[k]=resolve(v);let text=out.text??RGBA3.fromHex("#ffffff"),background=out.background??RGBA3.fromHex("#000000");return{...{primary:out.primary??text,secondary:out.secondary??text,accent:out.accent??out.primary??text,error:out.error??text,warning:out.warning??text,warningOnHost:out.warning??text,success:out.success??text,info:out.info??text,text,textMuted:out.textMuted??text,background,backgroundPanel:out.backgroundPanel??background,backgroundElement:out.backgroundElement??background,backgroundMenu:out.backgroundMenu??out.backgroundElement??background,backgroundDialog:out.backgroundDialog??out.backgroundPanel??background,border:out.border??text,borderActive:out.borderActive??out.border??text,borderSubtle:out.borderSubtle??out.border??text,diffAdded:out.diffAdded??out.success??text,diffRemoved:out.diffRemoved??out.error??text,diffContext:out.diffContext??out.textMuted??text,diffHunkHeader:out.diffHunkHeader??out.textMuted??text,diffAddedBg:out.diffAddedBg??background,diffRemovedBg:out.diffRemovedBg??background,selectedListItemText:out.selectedListItemText??background},...out}}function applyDisplayOverlay(base,focusAccent,transparentBackground,hostBackground){let v={...base,focusAccent:base[focusAccent]??base.primary,warningOnHost:base.warning};if(!transparentBackground)return v;let[backgroundR,backgroundG,backgroundB]=base.background.toInts(),[panelR,panelG,panelB]=base.backgroundPanel.toInts(),transparent={...v,background:RGBA3.fromInts(backgroundR,backgroundG,backgroundB,0),backgroundPanel:RGBA3.fromInts(panelR,panelG,panelB,0)};if(!hostBackground)return transparent;return{...transparent,text:ensureContrast(transparent.text,hostBackground),textMuted:ensureContrast(transparent.textMuted,hostBackground),warningOnHost:ensureContrast(transparent.warning,hostBackground)}}function diffInks(theme,colorblind){let added=(ink)=>colorblind?turnHue(ink,60,1,0.71):ink;return{added:added(theme.diffAdded),removed:theme.diffRemoved,addedBg:added(theme.diffAddedBg),removedBg:theme.diffRemovedBg}}import{readFileSync}from"fs";var LOCALE_KEY="locale";function defaultTransparentBackground(platform=process.platform){return platform!=="win32"}function readPersistedUiPrefs(fallbackTheme,isKnownTheme=hasBundledTheme){try{let parsed=JSON.parse(readFileSync(kvStatePath(),"utf8")),theme=typeof parsed.activeTheme==="string"&&isKnownTheme(parsed.activeTheme)?parsed.activeTheme:fallbackTheme,themeMode=THEME_MODE_PREFERENCES.includes(parsed.themeMode)?parsed.themeMode:DEFAULT_THEME_MODE,transparent=typeof parsed.transparentBackground==="boolean"?parsed.transparentBackground:defaultTransparentBackground(),focusAccent=typeof parsed.focusAccent==="string"&&FOCUS_ACCENT_SLOTS.includes(parsed.focusAccent)?parsed.focusAccent:null,locale=isLocaleId(parsed[LOCALE_KEY])?parsed[LOCALE_KEY]:DEFAULT_LOCALE;return{theme,themeMode,transparent,focusAccent,locale}}catch{return{theme:fallbackTheme,themeMode:DEFAULT_THEME_MODE,transparent:defaultTransparentBackground(),focusAccent:null,locale:DEFAULT_LOCALE}}}
|
|
3
3
|
export{breathGlyph,mixInk,breathColor,toOklch,turnHue,inkAtHue,oklchCusp,relativeLuminance,ensureContrast,BUNDLED_THEMES,DEFAULT_THEME,THEME_MODE_PREFERENCES,DEFAULT_THEME_MODE,resolveThemeMode,FOCUS_ACCENT_SLOTS,resolveTheme,applyDisplayOverlay,diffInks,LOCALE_KEY,defaultTransparentBackground,readPersistedUiPrefs};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ROVE_PRODUCT_NAME}from"./chunk-zt7wfnva.js";import"./chunk-nc46gddg.js";import{__require}from"./chunk-
|
|
2
|
+
import{ROVE_PRODUCT_NAME}from"./chunk-zt7wfnva.js";import"./chunk-nc46gddg.js";import{__require}from"./chunk-91sykzqq.js";import{existsSync}from"fs";import{join}from"path";function webRoot(){return[join(import.meta.dir,"..","web"),join(import.meta.dir,"..","..","..","rove-web","dist")].find((dir)=>existsSync(join(dir,"index.html")))??null}async function runWebSubcommand(args){let root=webRoot();if(!root)console.error(`${ROVE_PRODUCT_NAME} --web: the browser client is not in this build. From a checkout, run \`bun --filter rove-web build\` first; the npm package ships it in dist/web.`),process.exit(2);let{runBridge}=await import("./chunk-8s0mz115.js");await runBridge(args,{name:`${ROVE_PRODUCT_NAME} --web`,web:{root}})}export{runWebSubcommand};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{acquireSync,releaseSync}from"./chunk-mw0ysrpd.js";import{kvStatePath}from"./chunk-prqeddy7.js";import{mkdirSync,readFileSync,renameSync,writeFileSync}from"fs";import{dirname}from"path";var corruptWarned=!1;function readSavedRepos(state){let raw=state.savedRepos;if(!Array.isArray(raw))return[];return raw.filter((entry)=>typeof entry==="string")}function loadStateFile(){return readStateFile(!1)}function readStateFile(ownsLock){let path=kvStatePath(),text;try{text=readFileSync(path,"utf8")}catch{return{}}try{let parsed=JSON.parse(text);if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))return parsed}catch{}if(!ownsLock){let lockPath=`${path}.lock`,token;try{token=acquireSync(lockPath,0)}catch{return{}}try{return readStateFile(!0)}finally{releaseSync(lockPath,token)}}try{if(renameSync(path,`${path}.corrupt-${Date.now()}`),!corruptWarned)corruptWarned=!0,console.error(`[rove] ${path} is corrupted; backed up and starting fresh.`)}catch{}return{}}function readStateFileStrict(){let path=kvStatePath(),text;try{text=readFileSync(path,"utf8")}catch(err){if(err.code==="ENOENT")return{};throw err}let parsed=JSON.parse(text);if(!parsed||typeof parsed!=="object"||Array.isArray(parsed))throw Error(`${path} is not a JSON object`);return parsed}function writeStateFile(state){let path=kvStatePath();mkdirSync(dirname(path),{recursive:!0});let nonce=Math.random().toString(36).slice(2),tmp=`${path}.${process.pid}.${nonce}.tmp`;writeFileSync(tmp,JSON.stringify(state),{encoding:"utf8",mode:384}),renameSync(tmp,path)}function updateStateFile(mutate,readMode="recover"){let lockPath=`${kvStatePath()}.lock`,token=acquireSync(lockPath);try{let state=readMode==="strict"?readStateFileStrict():readStateFile(!0);if(mutate(state)!==!1)writeStateFile(state);return state}finally{releaseSync(lockPath,token)}}function patchStateFile(patch,readMode="recover"){return updateStateFile((state)=>{for(let[key,value]of Object.entries(patch))if(value===void 0)delete state[key];else state[key]=value;return},readMode)}function getPersistedBool(key,defaultValue){let value=loadStateFile()[key];return typeof value==="boolean"?value:defaultValue}function setPersistedBool(key,value){patchStateFile({[key]:value})}function replaceStateFile(snapshot){updateStateFile((state)=>{for(let key of Object.keys(state))delete state[key];Object.assign(state,snapshot);return})}
|
|
3
|
+
export{readSavedRepos,loadStateFile,readStateFileStrict,updateStateFile,patchStateFile,getPersistedBool,setPersistedBool,replaceStateFile};
|