vibora 8.5.1 → 8.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/vibora.js CHANGED
@@ -32635,7 +32635,7 @@ function installUv() {
32635
32635
  var package_default = {
32636
32636
  name: "vibora",
32637
32637
  private: true,
32638
- version: "8.5.1",
32638
+ version: "8.5.2",
32639
32639
  description: "Harness Attention. Orchestrate Agents. Ship.",
32640
32640
  license: "PolyForm-Shield-1.0.0",
32641
32641
  type: "module",
@@ -32,7 +32,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
32
32
 
33
33
  `)+n.map(sNe).join(`
34
34
  `)}var uNe=0,cNe=(function(){function e(){Object.defineProperty(this,"cacheId",{enumerable:!0,configurable:!0,writable:!0,value:uNe++}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:kr.map()}),Object.defineProperty(this,"lastCacheModificationPerId",{enumerable:!0,configurable:!0,writable:!0,value:kr.map()})}return Object.defineProperty(e.prototype,"updateLastCacheModificationPerId",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.lastCacheModificationPerId.get(t);this.lastCacheModificationPerId.set(t,n===void 0?1:n+1)}}),Object.defineProperty(e.prototype,"getLastCacheModificationPerId",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.lastCacheModificationPerId.get(t)||0;return"".concat(this.cacheId,"-").concat(n)}}),Object.defineProperty(e.prototype,"addNodeToCache",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(n===void 0&&(n=!0),t.identifierAttribute){var r=t.identifier;this.cache.has(r)||this.cache.set(r,kr.array([],Qw));var i=this.cache.get(r);if(i.indexOf(t)!==-1)throw new Lt("Already registered");i.push(t),n&&this.updateLastCacheModificationPerId(r)}}}),Object.defineProperty(e.prototype,"mergeCache",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this;Xie(t.identifierCache.cache).forEach(function(r){return r.forEach(function(i){n.addNodeToCache(i)})})}}),Object.defineProperty(e.prototype,"notifyDied",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(t.identifierAttribute){var n=t.identifier,r=this.cache.get(n);r&&(r.remove(t),r.length||this.cache.delete(n),this.updateLastCacheModificationPerId(t.identifier))}}}),Object.defineProperty(e.prototype,"splitCache",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this,r=new e,i=t.path+"/";return wRe(this.cache).forEach(function(a){for(var s=Yu(a,2),o=s[0],l=s[1],u=!1,p=l.length-1;p>=0;p--){var d=l[p];(d===t||d.path.indexOf(i)===0)&&(r.addNodeToCache(d,!1),l.splice(p,1),l.length||n.cache.delete(o),u=!0)}u&&n.updateLastCacheModificationPerId(o)}),r}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var r=this.cache.get(n);return r?r.some(function(i){return t.isAssignableFrom(i.type)}):!1}}),Object.defineProperty(e.prototype,"resolve",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var r=this.cache.get(n);if(!r)return null;var i=r.filter(function(a){return t.isAssignableFrom(a.type)});switch(i.length){case 0:return null;case 1:return i[0];default:throw new Lt("Cannot resolve a reference to type '".concat(t.name,"' with id: '").concat(n,"' unambigously, there are multiple candidates: ").concat(i.map(function(a){return a.path}).join(", ")))}}}),e})();function z3(e,t,n,r,i){var a=bae(i);if(a){if(a.parent)throw new Lt("Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '".concat(t?t.path:"","/").concat(n,"', but it lives already at '").concat(a.path,"'"));return t&&a.setParent(t,n),a}return new as(e,t,n,r,i)}function Md(e,t,n,r,i){return new yy(e,t,n,r,i)}function dNe(e){return e instanceof yy||e instanceof as}var qi;(function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CREATED=1]="CREATED",e[e.FINALIZED=2]="FINALIZED",e[e.DETACHING=3]="DETACHING",e[e.DEAD=4]="DEAD"})(qi||(qi={}));function jr(e){return!!(e&&e.$treenode)}function jn(e){if(!jr(e))throw new Lt("Value ".concat(e," is no MST Node"));return e.$treenode}function bae(e){return e&&e.$treenode||null}function fNe(){return jn(this).snapshot}function pNe(e,t,n){n===void 0&&(n=!0);var r=e;try{for(var i=0;i<t.length;i++){var a=t[i];if(a===".."){if(r=r.parent,r)continue}else{if(a===".")continue;if(r){if(r instanceof yy){var s=r.value;jr(s)&&(r=jn(s))}if(r instanceof as){var o=r.getChildType(a);if(o&&(r=r.getChildNode(a),r))continue}}}throw new Lt("Could not resolve '".concat(a,"' in path '").concat(XH(t.slice(0,i))||"/","' while resolving '").concat(XH(t),"'"))}}catch(l){if(!n)return;throw l}return r}function vae(e){if(!e)return Lm;var t=Object.keys(e);if(!t.length)return Lm;var n=new Array(t.length);return t.forEach(function(r,i){n[i]=e[r]}),n}var hNe=Object.toString(),Lm=Object.freeze([]),Pm=Object.freeze({}),Qw=XOe().useProxies?{deep:!1}:{deep:!1,proxy:!1};Object.freeze(Qw);var Lt=(function(e){gr(t,e);function t(n){return n===void 0&&(n="Illegal state"),e.call(this,"[mobx-state-tree] ".concat(n))||this}return t})(Error);function mNe(e){return e}var gNe=Number.isInteger;function bNe(e){return Number(e)===e&&e%1!==0}function vNe(e){return Number.isFinite(e)}function yae(e){return Array.isArray(e)||Vl(e)}function xae(e){return e?yae(e)?e:[e]:Lm}function yNe(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0;r<t.length;r++){var i=t[r];for(var a in i)e[a]=i[a]}return e}function Hh(e){var t;if(e===null||typeof e!="object")return!1;var n=Object.getPrototypeOf(e);return n==null?!0:((t=n.constructor)===null||t===void 0?void 0:t.toString())===hNe}function Sae(e){return e!==null&&typeof e=="object"&&!(e instanceof Date)&&!(e instanceof RegExp)}function Sy(e,t){return t===void 0&&(t=!0),e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"||t&&e instanceof Date}function Eae(e){return typeof e!="function"}function xNe(e,t,n){Jo(e)?Qie(e,t,n):Object.defineProperty(e,t,n)}function Vf(e,t,n){xNe(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}var SNe=(function(){function e(){Object.defineProperty(this,"handlers",{enumerable:!0,configurable:!0,writable:!0,value:[]})}return Object.defineProperty(e.prototype,"hasSubscribers",{get:function(){return this.handlers.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var r=this;return n===void 0&&(n=!1),n?this.handlers.unshift(t):this.handlers.push(t),function(){r.unregister(t)}}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.handlers.indexOf(t)>=0}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.handlers.indexOf(t);n>=0&&this.handlers.splice(n,1)}}),Object.defineProperty(e.prototype,"clear",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.handlers.length=0}}),Object.defineProperty(e.prototype,"emit",{enumerable:!1,configurable:!0,writable:!0,value:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=this.handlers.slice();r.forEach(function(i){return i.apply(void 0,Xu([],Yu(t),!1))})}}),e})(),_ae=(function(){function e(){Object.defineProperty(this,"eventHandlers",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}return Object.defineProperty(e.prototype,"hasSubscribers",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.eventHandlers&&this.eventHandlers[t];return!!n&&n.hasSubscribers}}),Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,r){r===void 0&&(r=!1),this.eventHandlers||(this.eventHandlers={});var i=this.eventHandlers[t];return i||(i=this.eventHandlers[t]=new SNe),i.register(n,r)}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var r=this.eventHandlers&&this.eventHandlers[t];return!!r&&r.has(n)}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var r=this.eventHandlers&&this.eventHandlers[t];r&&r.unregister(n)}}),Object.defineProperty(e.prototype,"clear",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.eventHandlers&&delete this.eventHandlers[t]}}),Object.defineProperty(e.prototype,"clearAll",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.eventHandlers=void 0}}),Object.defineProperty(e.prototype,"emit",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];var a=this.eventHandlers&&this.eventHandlers[t];a&&(n=a).emit.apply(n,Xu([],Yu(r),!1))}}),e})();function wae(e){for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e[n];return t}function e2(e,t){return e.indexOf(t)===0}function ENe(e){console.warn(new Error("[mobx-state-tree] ".concat(e)))}function _Ne(){return typeof process<"u"&&KH&&KH.ENABLE_TYPE_CHECK==="true"}function t2(e){typeof queueMicrotask=="function"?queueMicrotask(e):typeof setImmediate=="function"?setImmediate(e):setTimeout(e,1)}function n2(e){return wNe(e.name,e)}function wNe(e,t){var n=function(){var i=hae(),a=pae();if(!a)throw new Lt("a mst flow must always have a parent context");var s=mae(a);if(!s)throw new Lt("a mst flow must always have a parent action context");var o={name:e,id:i,tree:a.tree,context:a.context,parentId:a.id,allParentIds:Xu(Xu([],Yu(a.allParentIds),!1),[a.id],!1),rootId:a.rootId,parentEvent:a,parentActionEvent:s},l=arguments;function u(p,d,m){return p.$mst_middleware=n.$mst_middleware,tL(Za(Za({},o),{type:d,args:[m]}),p)}return new Promise(function(p,d){var m,g=function(){m=t.apply(null,arguments),x(void 0)};g.$mst_middleware=n.$mst_middleware,tL(Za(Za({},o),{type:"flow_spawn",args:wae(l)}),g);function x(y){var v;try{var _=u(function(C){v=m.next(C)},"flow_resume",y);_ instanceof Error&&(v=m.throw(_))}catch(C){t2(function(){u(function(w){d(C)},"flow_throw",C)});return}b(v)}function S(y){var v;try{u(function(_){v=m.throw(_)},"flow_resume_error",y)}catch(_){t2(function(){u(function(C){d(_)},"flow_throw",_)});return}b(v)}function b(y){if(y.done){t2(function(){u(function(v){p(v)},"flow_return",y.value)});return}if(!y.value||typeof y.value.then!="function")throw new Lt("Only promises can be yielded to `async`, got: "+y);return y.value.then(x,S)}})};return n._isFlowAction=!0,n}function CNe(e){if(!("oldValue"in e))throw new Lt("Patches without `oldValue` field cannot be inversed");return[TNe(e),ANe(e)]}function TNe(e){switch(e.op){case"add":return{op:"add",path:e.path,value:e.value};case"remove":return{op:"remove",path:e.path};case"replace":return{op:"replace",path:e.path,value:e.value}}}function ANe(e){switch(e.op){case"add":return{op:"remove",path:e.path};case"remove":return{op:"add",path:e.path,value:e.oldValue};case"replace":return{op:"replace",path:e.path,value:e.oldValue}}}function kNe(e){return typeof e=="number"}function qf(e){return kNe(e)===!0?""+e:e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function ONe(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function XH(e){if(e.length===0)return"";var t=function(n){return n.map(qf).join("/")};return e[0]==="."||e[0]===".."?t(e):"/"+t(e)}function RNe(e){var t=e.split("/").map(ONe),n=e===""||e==="."||e===".."||e2(e,"/")||e2(e,"./")||e2(e,"../");if(!n)throw new Lt("a json path must be either rooted, empty or relative, but got '".concat(e,"'"));return t[0]===""&&t.shift(),t}var r2=Symbol("$preProcessorFailed"),NNe=(function(e){gr(t,e);function t(n,r,i){var a=e.call(this,i||n.name)||this;return Object.defineProperty(a,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"_processors",{enumerable:!0,configurable:!0,writable:!0,value:r}),a}return Object.defineProperty(t.prototype,"flags",{get:function(){return this._subtype.flags|kn.SnapshotProcessor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"snapshotProcessor(".concat(this._subtype.describe(),")")}}),Object.defineProperty(t.prototype,"preProcessSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this._processors.preProcessor?this._processors.preProcessor.call(null,n):n}}),Object.defineProperty(t.prototype,"preProcessSnapshotSafe",{enumerable:!1,configurable:!0,writable:!0,value:function(n){try{return this.preProcessSnapshot(n)}catch{return r2}}}),Object.defineProperty(t.prototype,"postProcessSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return this._processors.postProcessor?this._processors.postProcessor.call(null,n,r.storedValue):n}}),Object.defineProperty(t.prototype,"_fixNode",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this;INe(n.type,this,"create"),n instanceof as&&(n.hasSnapshotPostProcessor=!!this._processors.postProcessor);var i=n.getSnapshot;n.getSnapshot=function(){return r.postProcessSnapshot(i.call(n),n)},QNe(this._subtype)||(n.getReconciliationType=function(){return r})}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=jr(a)?a:this.preProcessSnapshot(a),o=this._subtype.instantiate(n,r,i,s);return this._fixNode(o),o}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=this._subtype.reconcile(n,jr(r)?r:this.preProcessSnapshot(r),i,a);return s!==n&&this._fixNode(s),s}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){r===void 0&&(r=!0);var i=this._subtype.getSnapshot(n);return r?this.postProcessSnapshot(i,n):i}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this.preProcessSnapshotSafe(n);return i===r2?us(r,n,"Failed to preprocess value"):this._subtype.validate(i,r)}}),Object.defineProperty(t.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),Object.defineProperty(t.prototype,"is",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=Qu(n)?this._subtype:jr(n)?n:this.preProcessSnapshotSafe(n);return r===r2?!1:this._subtype.validate(r,[{path:"",type:this._subtype}]).length===0}}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this._subtype.isAssignableFrom(n)}}),Object.defineProperty(t.prototype,"isMatchingSnapshotId",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){if(!(this._subtype instanceof Dm))return!1;var i=this.preProcessSnapshot(r);return this._subtype.isMatchingSnapshotId(n,i)}}),t})(Zu);function INe(e,t){for(var n,r,i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];try{for(var s=Lv(i),o=s.next();!o.done;o=s.next()){var l=o.value;e[l]=t[l].bind(t)}}catch(u){n={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}}function DNe(e,t,n){return new NNe(e,t,n)}var ZH="Map.put can only be used to store complex values that have an identifier type attribute";function Cae(e,t){var n,r,i=e.getSubTypes();if(i===fae)return!1;if(i){var a=xae(i);try{for(var s=Lv(a),o=s.next();!o.done;o=s.next()){var l=o.value;if(!Cae(l,t))return!1}}catch(u){n={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}}return e instanceof Ey&&t.push(e),!0}var Qc;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.YES=1]="YES",e[e.NO=2]="NO"})(Qc||(Qc={}));var LNe=(function(e){gr(t,e);function t(n,r){return e.call(this,n,kr.ref.enhancer,r)||this}return Object.defineProperty(t.prototype,"get",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return e.prototype.get.call(this,""+n)}}),Object.defineProperty(t.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return e.prototype.has.call(this,""+n)}}),Object.defineProperty(t.prototype,"delete",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return e.prototype.delete.call(this,""+n)}}),Object.defineProperty(t.prototype,"set",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return e.prototype.set.call(this,""+n,r)}}),Object.defineProperty(t.prototype,"put",{enumerable:!1,configurable:!0,writable:!0,value:function(n){if(!n)throw new Lt("Map.put cannot be used to set empty values");if(jr(n)){var r=jn(n);if(r.identifier===null)throw new Lt(ZH);return this.set(r.identifier,n),n}else if(Sae(n)){var i=jn(this),a=i.type;if(a.identifierMode!==Qc.YES)throw new Lt(ZH);var s=a.mapIdentifierAttribute,o=n[s];if(!H3(o)){var l=this.put(a.getChildType().create(n,i.environment));return this.put(YRe(l))}var u=G0(o);return this.set(u,n),this.get(u)}else throw new Lt("Map.put can only be used to store complex values")}}),t})(F3),UE=(function(e){gr(t,e);function t(n,r,i){i===void 0&&(i=[]);var a=e.call(this,n)||this;return Object.defineProperty(a,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"identifierMode",{enumerable:!0,configurable:!0,writable:!0,value:Qc.UNKNOWN}),Object.defineProperty(a,"mapIdentifierAttribute",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(a,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Map}),Object.defineProperty(a,"hookInitializers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a._determineIdentifierMode(),a.hookInitializers=i,a}return Object.defineProperty(t.prototype,"hooks",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this.hookInitializers.length>0?this.hookInitializers.concat(n):[n];return new t(this.name,this._subType,r)}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this._determineIdentifierMode(),z3(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"_determineIdentifierMode",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.identifierMode===Qc.UNKNOWN){var n=[];if(Cae(this._subType,n)){var r=n.reduce(function(i,a){if(!a.identifierAttribute)return i;if(i&&i!==a.identifierAttribute)throw new Lt("The objects in a map should all have the same identifier attribute, expected '".concat(i,"', but child of type '").concat(a.name,"' declared attribute '").concat(a.identifierAttribute,"' as identifier"));return a.identifierAttribute},void 0);r?(this.identifierMode=Qc.YES,this.mapIdentifierAttribute=r):this.identifierMode=Qc.NO}}}}),Object.defineProperty(t.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){r===void 0&&(r={});var i=n.type._subType,a={};return Object.keys(r).forEach(function(s){a[s]=i.instantiate(n,s,void 0,r[s])}),a}}),Object.defineProperty(t.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return new LNe(n,this.name)}}),Object.defineProperty(t.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){Kie(r,n.unbox);var i=n.type;i.hookInitializers.forEach(function(a){var s=a(r);Object.keys(s).forEach(function(o){var l=s[o],u=xy(r,o,l);Vf(r,o,u)})}),P3(r,this.willChange),M3(r,this.didChange)}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return Xie(n.storedValue)}}),Object.defineProperty(t.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=n.storedValue.get(""+r);if(!i)throw new Lt("Not a child "+r);return i}}),Object.defineProperty(t.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=jn(n.object),i=n.name;r.assertWritable({subpath:i});var a=r.type,s=a._subType;switch(n.type){case"update":{var o=n.newValue,l=n.object.get(i);if(o===l)return null;$u(s,o),n.newValue=s.reconcile(r.getChildNode(i),n.newValue,r,i),a.processIdentifier(i,n.newValue)}break;case"add":$u(s,n.newValue),n.newValue=s.instantiate(r,i,void 0,n.newValue),a.processIdentifier(i,n.newValue);break}return n}}),Object.defineProperty(t.prototype,"processIdentifier",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){if(this.identifierMode===Qc.YES&&r instanceof as){var i=r.identifier;if(i!==n)throw new Lt("A map of objects containing an identifier should always store the object under their own identifier. Trying to store key '".concat(i,"', but expected: '").concat(n,"'"))}}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r={};return n.getChildren().forEach(function(i){r[i.subpath]=i.snapshot}),r}}),Object.defineProperty(t.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r={};return Object.keys(n).forEach(function(i){r[i]=n[i].getSnapshot()}),r}}),Object.defineProperty(t.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=jn(n.object);switch(n.type){case"update":return void r.emitPatch({op:"replace",path:qf(n.name),value:n.newValue.snapshot,oldValue:n.oldValue?n.oldValue.snapshot:void 0},r);case"add":return void r.emitPatch({op:"add",path:qf(n.name),value:n.newValue.snapshot,oldValue:void 0},r);case"delete":var i=n.oldValue.snapshot;return n.oldValue.die(),void r.emitPatch({op:"remove",path:qf(n.name),oldValue:i},r)}}}),Object.defineProperty(t.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i){var a=n.storedValue;switch(i.op){case"add":case"replace":a.set(r,i.value);break;case"remove":a.delete(r);break}}}),Object.defineProperty(t.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){$u(this,r);var i=n.storedValue,a={};if(Array.from(i.keys()).forEach(function(o){a[o]=!1}),r)for(var s in r)i.set(s,r[s]),a[""+s]=!0;Object.keys(a).forEach(function(o){a[o]===!1&&i.delete(o)})}}),Object.defineProperty(t.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subType}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;return Hh(n)?Zw(Object.keys(n).map(function(a){return i._subType.validate(n[a],$3(r,a,i._subType))})):us(r,n,"Value is not a plain object")}}),Object.defineProperty(t.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Pm}}),Object.defineProperty(t.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){n.storedValue.delete(r)}}),t})(Dm);UE.prototype.applySnapshot=xi(UE.prototype.applySnapshot);function PNe(e){return new UE("Map<string, ".concat(e.name,">"),e)}var $E=(function(e){gr(t,e);function t(n,r,i){i===void 0&&(i=[]);var a=e.call(this,n)||this;return Object.defineProperty(a,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Array}),Object.defineProperty(a,"hookInitializers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a.hookInitializers=i,a}return Object.defineProperty(t.prototype,"hooks",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this.hookInitializers.length>0?this.hookInitializers.concat(n):[n];return new t(this.name,this._subType,r)}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return z3(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){r===void 0&&(r=[]);var i=n.type._subType,a={};return r.forEach(function(s,o){var l=""+o;a[l]=i.instantiate(n,l,void 0,s)}),a}}),Object.defineProperty(t.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=Za(Za({},Qw),{name:this.name});return kr.array(vae(n),r)}}),Object.defineProperty(t.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){jl(r).dehancer=n.unbox;var i=n.type;i.hookInitializers.forEach(function(a){var s=a(r);Object.keys(s).forEach(function(o){var l=s[o],u=xy(r,o,l);Vf(r,o,u)})}),P3(r,this.willChange),M3(r,this.didChange)}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return n.storedValue.slice()}}),Object.defineProperty(t.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=Number(r);if(i<n.storedValue.length)return n.storedValue[i];throw new Lt("Not a child: "+r)}}),Object.defineProperty(t.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=jn(n.object);r.assertWritable({subpath:""+n.index});var i=r.type._subType,a=r.getChildren();switch(n.type){case"update":{if(n.newValue===n.object[n.index])return null;var s=QH(r,i,[a[n.index]],[n.newValue],[n.index]);if(!s)return null;n.newValue=s[0]}break;case"splice":{var o=n.index,l=n.removedCount,u=n.added,p=QH(r,i,a.slice(o,o+l),u,u.map(function(m,g){return o+g}));if(!p)return null;n.added=p;for(var d=o+l;d<a.length;d++)a[d].setParent(r,""+(d+u.length-l))}break}return n}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return n.getChildren().map(function(r){return r.snapshot})}}),Object.defineProperty(t.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=[];return Object.keys(n).forEach(function(i){r.push(n[i].getSnapshot())}),r}}),Object.defineProperty(t.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=jn(n.object);switch(n.type){case"update":return void r.emitPatch({op:"replace",path:""+n.index,value:n.newValue.snapshot,oldValue:n.oldValue?n.oldValue.snapshot:void 0},r);case"splice":if(n.removedCount&&n.addedCount===n.object.length)return void r.emitPatch({op:"replace",path:"",value:r.snapshot,oldValue:n.removed.map(function(a){return a.snapshot})},r);for(var i=n.removedCount-1;i>=0;i--)r.emitPatch({op:"remove",path:""+(n.index+i),oldValue:n.removed[i].snapshot},r);for(var i=0;i<n.addedCount;i++)r.emitPatch({op:"add",path:""+(n.index+i),value:n.added[i].snapshot,oldValue:void 0},r);return}}}),Object.defineProperty(t.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i){var a=n.storedValue,s=r==="-"?a.length:Number(r);switch(i.op){case"replace":a[s]=i.value;break;case"add":a.splice(s,0,i.value);break;case"remove":a.splice(s,1);break}}}),Object.defineProperty(t.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){$u(this,r);var i=n.storedValue;i.replace(r)}}),Object.defineProperty(t.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subType}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;return yae(n)?Zw(n.map(function(a,s){return i._subType.validate(a,$3(r,""+s,i._subType))})):us(r,n,"Value is not an array")}}),Object.defineProperty(t.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Lm}}),Object.defineProperty(t.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){n.storedValue.splice(Number(r),1)}}),t})(Dm);$E.prototype.applySnapshot=xi($E.prototype.applySnapshot);function MNe(e){return new $E("".concat(e.name,"[]"),e)}function QH(e,t,n,r,i){for(var a=!0,s=0;;s++){var o=s<=r.length-1,l=n[s],u=o?r[s]:void 0,p=""+i[s];if(dNe(u)&&(u=u.storedValue),!l&&!o)break;if(!o)a=!1,n.splice(s,1),l instanceof as&&l.createObservableInstanceIfNeeded(),l.die(),s--;else if(l)if(JH(l,u))n[s]=i2(t,e,p,u,l);else{for(var m=void 0,g=s;g<n.length;g++)if(JH(n[g],u)){m=n.splice(g,1)[0];break}a=!1;var d=i2(t,e,p,u,m);n.splice(s,0,d)}else{if(jr(u)&&jn(u).parent===e)throw new Lt("Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '".concat(e.path,"/").concat(p,"', but it lives already at '").concat(jn(u).path,"'"));a=!1;var d=i2(t,e,p,u);n.splice(s,0,d)}}return a?null:n}function i2(e,t,n,r,i){$u(e,r);function a(){if(jr(r)){var o=jn(r);if(o.assertAlive(Pm),o.parent!==null&&o.parent===t)return o.setParent(t,n),o}return i?e.reconcile(i,r,t,n):e.instantiate(t,n,void 0,r)}var s=a();return i&&i!==s&&(i instanceof as&&i.createObservableInstanceIfNeeded(),i.die()),s}function JH(e,t){if(!e.isAlive)return!1;if(jr(t)){var n=jn(t);return n.isAlive&&n===e}if(e.snapshot===t)return!0;if(!(e instanceof as))return!1;var r=e.getReconciliationType();return e.identifier!==null&&e.identifierAttribute&&Hh(t)&&r.is(t)&&r.isMatchingSnapshotId(e,t)}var eW="preProcessSnapshot",tW="postProcessSnapshot";function jNe(){return jn(this).toString()}var nW={name:"AnonymousModel",properties:{},initializers:Lm};function FNe(e){var t=Object.keys(e),n=new Set;return t.forEach(function(r){if(n.has(r))throw new Lt("".concat(r," is declared twice in the model. Model should not contain the same keys"));n.add(r)}),t.reduce(function(r,i){if(i in yi)throw new Lt("Hook '".concat(i,"' was defined as property. Hooks should be defined as part of the actions"));var a=Object.getOwnPropertyDescriptor(e,i);if("get"in a)throw new Lt("Getters are not supported as properties. Please use views instead");var s=a.value;if(s==null)throw new Lt("The default value of an attribute cannot be null or undefined as the type cannot be inferred. Did you mean `types.maybe(someType)`?");if(Sy(s))r[i]=Gf(VNe(s),s);else if(s instanceof UE)r[i]=Gf(s,{});else if(s instanceof $E)r[i]=Gf(s,[]);else if(!Qu(s))throw new Lt("Invalid type definition for property '".concat(i,"', cannot infer a type from a value like '").concat(s,"' (").concat(typeof s,")"));return r},Za({},e))}var Ey=(function(e){gr(t,e);function t(n){var r=e.call(this,n.name||nW.name)||this;return Object.defineProperty(r,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Object}),Object.defineProperty(r,"initializers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"properties",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"preProcessor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"postProcessor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"propertyNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"named",{enumerable:!0,configurable:!0,writable:!0,value:function(i){return r.cloneAndEnhance({name:i})}}),Object.defineProperty(r,"props",{enumerable:!0,configurable:!0,writable:!0,value:function(i){return r.cloneAndEnhance({properties:i})}}),Object.defineProperty(r,"preProcessSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:function(i){var a=r.preProcessor;return a?r.cloneAndEnhance({preProcessor:function(s){return a(i(s))}}):r.cloneAndEnhance({preProcessor:i})}}),Object.defineProperty(r,"postProcessSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:function(i){var a=r.postProcessor;return a?r.cloneAndEnhance({postProcessor:function(s){return i(a(s))}}):r.cloneAndEnhance({postProcessor:i})}}),Object.assign(r,nW,n),r.properties=FNe(r.properties),r.properties,r.propertyNames=Object.keys(r.properties),r.identifierAttribute=r._getIdentifierAttribute(),r}return Object.defineProperty(t.prototype,"_getIdentifierAttribute",{enumerable:!1,configurable:!0,writable:!0,value:function(){var n=void 0;return this.forAllProps(function(r,i){if(i.flags&kn.Identifier){if(n)throw new Lt("Cannot define property '".concat(r,"' as object identifier, property '").concat(n,"' is already defined as identifier property"));n=r}}),n}}),Object.defineProperty(t.prototype,"cloneAndEnhance",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return new t({name:n.name||this.name,properties:Object.assign({},this.properties,n.properties),initializers:this.initializers.concat(n.initializers||[]),preProcessor:n.preProcessor||this.preProcessor,postProcessor:n.postProcessor||this.postProcessor})}}),Object.defineProperty(t.prototype,"actions",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this,i=function(a){return r.instantiateActions(a,n(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(t.prototype,"instantiateActions",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;if(!Hh(r))throw new Lt("actions initializer should return a plain object containing actions");Object.getOwnPropertyNames(r).forEach(function(a){if(a in i.properties)throw new Lt("'".concat(a,"' is a property and cannot be declared as an action"));if(a===eW)throw new Lt("Cannot define action '".concat(eW,"', it should be defined using 'type.preProcessSnapshot(fn)' instead"));if(a===tW)throw new Lt("Cannot define action '".concat(tW,"', it should be defined using 'type.postProcessSnapshot(fn)' instead"));var s=r[a],o=n[a];if(a in yi&&o){var l=s;s=function(){o.apply(null,arguments),l.apply(null,arguments)}}var u=s.$mst_middleware,p=s.bind(r);p._isFlowAction=s._isFlowAction||!1,p.$mst_middleware=u;var d=xy(n,a,p);r[a]=d,Vf(n,a,d)})}}),Object.defineProperty(t.prototype,"volatile",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this;if(typeof n!="function")throw new Lt("You passed an ".concat(typeof n," to volatile state as an argument, when function is expected"));var i=function(a){return r.instantiateVolatileState(a,n(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(t.prototype,"instantiateVolatileState",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;if(!Hh(r))throw new Lt("volatile state initializer should return a plain object containing state");Object.getOwnPropertyNames(r).forEach(function(a){if(a in i.properties)throw new Lt("'".concat(a,"' is a property and cannot be declared as volatile state"));Zie(n,a,r[a])})}}),Object.defineProperty(t.prototype,"extend",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this,i=function(a){var s=n(a),o=s.actions,l=s.views,u=s.state,p=GRe(s,["actions","views","state"]);for(var d in p)throw new Lt("The `extend` function should return an object with a subset of the fields 'actions', 'views' and 'state'. Found invalid key '".concat(d,"'"));return u&&r.instantiateVolatileState(a,u),l&&r.instantiateViews(a,l),o&&r.instantiateActions(a,o),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(t.prototype,"views",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this,i=function(a){return r.instantiateViews(a,n(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(t.prototype,"instantiateViews",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;if(!Hh(r))throw new Lt("views initializer should return a plain object containing views");Object.getOwnPropertyNames(r).forEach(function(a){var s;if(a in i.properties)throw new Lt("'".concat(a,"' is a property and cannot be declared as a view"));var o=Object.getOwnPropertyDescriptor(r,a);if("get"in o)Qie(n,a,o),eae(n,(s={},s[a]=kg,s));else if(typeof o.value=="function")Vf(n,a,o.value);else throw new Lt("A view member should either be a function or getter based property")})}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=jr(a)?a:this.applySnapshotPreProcessor(a);return z3(this,n,r,i,s)}}),Object.defineProperty(t.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){r===void 0&&(r={});var i=n.type,a={};return i.forAllProps(function(s,o){a[s]=o.instantiate(n,s,void 0,r[s])}),a}}),Object.defineProperty(t.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=Za(Za({},Qw),{name:this.name});return kr.object(n,Pm,r)}}),Object.defineProperty(t.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){Vf(r,"toString",jNe),this.forAllProps(function(i){Kie(r,i,n.unbox)}),this.initializers.reduce(function(i,a){return a(i)},r),P3(r,this.willChange),M3(r,this.didChange)}}),Object.defineProperty(t.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=n,i=jn(r.object),a=r.name;i.assertWritable({subpath:a});var s=i.type.properties[a];return s&&($u(s,r.newValue),r.newValue=s.reconcile(i.getChildNode(a),r.newValue,i,a)),r}}),Object.defineProperty(t.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=n,i=jn(r.object),a=i.type.properties[r.name];if(a){var s=r.oldValue?r.oldValue.snapshot:void 0;i.emitPatch({op:"replace",path:qf(r.name),value:r.newValue.snapshot,oldValue:s},i)}}}),Object.defineProperty(t.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this,i=[];return this.forAllProps(function(a){i.push(r.getChildNode(n,a))}),i}}),Object.defineProperty(t.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i;if(!(r in this.properties))throw new Lt("Not a value property: "+r);var a=jl(n.storedValue,r),s=(i=a.raw)===null||i===void 0?void 0:i.call(a);if(!s)throw new Lt("Node not available for property "+r);return s}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this;r===void 0&&(r=!0);var a={};return this.forAllProps(function(s,o){var l=Im(n.storedValue,s);l.reportObserved(),a[s]=i.getChildNode(n,s).snapshot}),r?this.applySnapshotPostProcessor(a):a}}),Object.defineProperty(t.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r={};return Object.keys(n).forEach(function(i){r[i]=n[i].getSnapshot()}),this.applySnapshotPostProcessor(r)}}),Object.defineProperty(t.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i){if(!(i.op==="replace"||i.op==="add"))throw new Lt("object does not support operation ".concat(i.op));n.storedValue[r]=i.value}}),Object.defineProperty(t.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){$u(this,r);var i=this.applySnapshotPreProcessor(r);this.forAllProps(function(a){n.storedValue[a]=i[a]})}}),Object.defineProperty(t.prototype,"applySnapshotPreProcessor",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this.preProcessor;return r?r.call(null,n):n}}),Object.defineProperty(t.prototype,"applySnapshotPostProcessor",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this.postProcessor;return r?r.call(null,n):n}}),Object.defineProperty(t.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this.properties[n]}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this,a=this.applySnapshotPreProcessor(n);return Hh(a)?Zw(this.propertyNames.map(function(s){return i.properties[s].validate(a[s],$3(r,s,i.properties[s]))})):us(r,a,"Value is not a plain object")}}),Object.defineProperty(t.prototype,"forAllProps",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this;this.propertyNames.forEach(function(i){return n(i,r.properties[i])})}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var n=this;return"{ "+this.propertyNames.map(function(r){return r+": "+n.properties[r].describe()}).join("; ")+" }"}}),Object.defineProperty(t.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Pm}}),Object.defineProperty(t.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){n.storedValue[r]=void 0}}),t})(Dm);Ey.prototype.applySnapshot=xi(Ey.prototype.applySnapshot);function BNe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=typeof e[0]=="string"?e.shift():"AnonymousModel",r=e.shift()||{};return new Ey({name:n,properties:r})}function UNe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=typeof e[0]=="string",r=n?e[0]:"AnonymousModel";return n&&e.shift(),e.reduce(function(i,a){return i.cloneAndEnhance({name:i.name+"_"+a.name,properties:a.properties,initializers:a.initializers,preProcessor:function(s){return a.applySnapshotPreProcessor(i.applySnapshotPreProcessor(s))},postProcessor:function(s){return a.applySnapshotPostProcessor(i.applySnapshotPostProcessor(s))}})}).named(r)}function $Ne(e){return Qu(e)&&(e.flags&kn.Object)>0}var cc=(function(e){gr(t,e);function t(n,r,i,a){a===void 0&&(a=mNe);var s=e.call(this,n)||this;return Object.defineProperty(s,"flags",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"checker",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"initializer",{enumerable:!0,configurable:!0,writable:!0,value:a}),s.flags=r,s}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return Md(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this.initializer(n)}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){if(Sy(n)&&this.checker(n))return ss();var i=this.name==="Date"?"Date or a unix milliseconds timestamp":this.name;return us(r,n,"Value is not a ".concat(i))}}),t})(kp),Tae=new cc("string",kn.String,function(e){return typeof e=="string"}),Aae=new cc("number",kn.Number,function(e){return typeof e=="number"}),zNe=new cc("integer",kn.Integer,function(e){return gNe(e)}),HNe=new cc("float",kn.Float,function(e){return bNe(e)}),WNe=new cc("finite",kn.Finite,function(e){return vNe(e)}),kae=new cc("boolean",kn.Boolean,function(e){return typeof e=="boolean"}),Oae=new cc("null",kn.Null,function(e){return e===null}),Rae=new cc("undefined",kn.Undefined,function(e){return e===void 0}),Nae=new cc("Date",kn.Date,function(e){return typeof e=="number"||e instanceof Date},function(e){return e instanceof Date?e:new Date(e)});Nae.getSnapshot=function(e){return e.storedValue.getTime()};var Iae=Nae;function VNe(e){switch(typeof e){case"string":return Tae;case"number":return Aae;case"boolean":return kae;case"object":if(e instanceof Date)return Iae}throw new Lt("Cannot determine primitive type from value "+e)}function qNe(e){return Qu(e)&&(e.flags&(kn.String|kn.Number|kn.Integer|kn.Boolean|kn.Date))>0}var GNe=(function(e){gr(t,e);function t(n){var r=e.call(this,JSON.stringify(n))||this;return Object.defineProperty(r,"value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Literal}),r.value=n,r}return Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return Md(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return JSON.stringify(this.value)}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return Sy(n)&&n===this.value?ss():us(r,n,"Value is not a literal ".concat(JSON.stringify(this.value)))}}),t})(kp);function Dae(e){return new GNe(e)}var KNe=(function(e){gr(t,e);function t(n,r,i,a){var s=e.call(this,n)||this;return Object.defineProperty(s,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"_predicate",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"_message",{enumerable:!0,configurable:!0,writable:!0,value:a}),s}return Object.defineProperty(t.prototype,"flags",{get:function(){return this._subtype.flags|kn.Refinement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this._subtype.instantiate(n,r,i,a)}}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this._subtype.isAssignableFrom(n)}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this._subtype.validate(n,r);if(i.length>0)return i;var a=jr(n)?jn(n).snapshot:n;return this._predicate(a)?ss():us(r,n,this._message(n))}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this._subtype.reconcile(n,r,i,a)}}),Object.defineProperty(t.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),t})(Zu);function YNe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=typeof e[0]=="string"?e.shift():Qu(e[0])?e[0].name:null,r=e[0],i=e[1],a=e[2]?e[2]:function(s){return"Value does not respect the refinement predicate"};return new KNe(n,r,i,a)}function XNe(e,t){var n=typeof e=="string"?t:e,r=Jw.apply(void 0,Xu([],Yu(n.map(function(i){return Dae(""+i)})),!1));return typeof e=="string"&&(r.name=e),r}var ZNe=(function(e){gr(t,e);function t(n,r,i){var a=e.call(this,n)||this;return Object.defineProperty(a,"_types",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"_dispatcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(a,"_eager",{enumerable:!0,configurable:!0,writable:!0,value:!0}),i=Za({eager:!0,dispatcher:void 0},i),a._dispatcher=i.dispatcher,i.eager||(a._eager=!1),a}return Object.defineProperty(t.prototype,"flags",{get:function(){var n=kn.Union;return this._types.forEach(function(r){n|=r.flags}),n},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this._types.some(function(r){return r.isAssignableFrom(n)})}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"("+this._types.map(function(n){return n.describe()}).join(" | ")+")"}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=this.determineType(a,void 0);if(!s)throw new Lt("No matching type for union "+this.describe());return s.instantiate(n,r,i,a)}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=this.determineType(r,n.getReconciliationType());if(!s)throw new Lt("No matching type for union "+this.describe());return s.reconcile(n,r,i,a)}}),Object.defineProperty(t.prototype,"determineType",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return this._dispatcher?this._dispatcher(n):r?r.is(n)?r:this._types.filter(function(i){return i!==r}).find(function(i){return i.is(n)}):this._types.find(function(i){return i.is(n)})}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){if(this._dispatcher)return this._dispatcher(n).validate(n,r);for(var i=[],a=0,s=0;s<this._types.length;s++){var o=this._types[s],l=o.validate(n,r);if(l.length===0){if(this._eager)return ss();a++}else i.push(l)}return a===1?ss():us(r,n,"No type is applicable for the union").concat(Zw(i))}}),Object.defineProperty(t.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._types}}),t})(Zu);function Jw(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Qu(e)?void 0:e,i=Qu(e)?Xu([e],Yu(t),!1):t,a="("+i.map(function(s){return s.name}).join(" | ")+")";return new ZNe(a,i,r)}function QNe(e){return Qu(e)&&(e.flags&kn.Union)>0}var JNe=(function(e){gr(t,e);function t(n,r,i){var a=e.call(this,n.name)||this;return Object.defineProperty(a,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"_defaultValue",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"optionalValues",{enumerable:!0,configurable:!0,writable:!0,value:i}),a}return Object.defineProperty(t.prototype,"flags",{get:function(){return this._subtype.flags|kn.Optional},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype.describe()+"?"}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){if(this.optionalValues.indexOf(a)>=0){var s=this.getDefaultInstanceOrSnapshot();return this._subtype.instantiate(n,r,i,s)}return this._subtype.instantiate(n,r,i,a)}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this._subtype.reconcile(n,this.optionalValues.indexOf(r)<0&&this._subtype.is(r)?r:this.getDefaultInstanceOrSnapshot(),i,a)}}),Object.defineProperty(t.prototype,"getDefaultInstanceOrSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){var n=typeof this._defaultValue=="function"?this._defaultValue():this._defaultValue;return typeof this._defaultValue=="function"&&$u(this,n),n}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return this.optionalValues.indexOf(n)>=0?ss():this._subtype.validate(n,r)}}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this._subtype.isAssignableFrom(n)}}),Object.defineProperty(t.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),t})(Zu);function eIe(e,t){if(typeof t!="function"&&jr(t))throw new Lt("default value cannot be an instance, pass a snapshot or a function that creates an instance/snapshot instead")}function Gf(e,t,n){return eIe(e,t),new JNe(e,t,n||tIe)}var tIe=[void 0],nIe=Gf(Rae,void 0),rIe=Gf(Oae,null);function Lae(e){return Jw(e,nIe)}function iIe(e){return Jw(e,rIe)}var aIe=(function(e){gr(t,e);function t(n,r){var i=e.call(this,n)||this;return Object.defineProperty(i,"_definition",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),i}return Object.defineProperty(t.prototype,"flags",{get:function(){return(this._subType?this._subType.flags:0)|kn.Late},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"getSubType",{enumerable:!1,configurable:!0,writable:!0,value:function(n){if(!this._subType){var r=void 0;try{r=this._definition()}catch(i){if(i instanceof ReferenceError)r=void 0;else throw i}if(n&&r===void 0)throw new Lt("Late type seems to be used too early, the definition (still) returns undefined");r&&(this._subType=r)}return this._subType}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this.getSubType(!0).instantiate(n,r,i,a)}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this.getSubType(!0).reconcile(n,r,i,a)}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var n=this.getSubType(!1);return n?n.name:"<uknown late type>"}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this.getSubType(!1);return i?i.validate(n,r):ss()}}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=this.getSubType(!1);return r?r.isAssignableFrom(n):!1}}),Object.defineProperty(t.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){var n=this.getSubType(!1);return n||fae}}),t})(Zu);function sIe(e,t){var n=typeof e=="string"?e:"late(".concat(e.toString(),")"),r=typeof e=="string"?t:e;return new aIe(n,r)}function oIe(e,t){return new lIe(e,t)}var lIe=(function(e){gr(t,e);function t(n,r){var i=e.call(this,n)||this;return Object.defineProperty(i,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Lazy}),Object.defineProperty(i,"loadedType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(i,"pendingNodeList",{enumerable:!0,configurable:!0,writable:!0,value:kr.array()}),jH(function(){return i.pendingNodeList.length>0&&i.pendingNodeList.some(function(a){return a.isAlive&&i.options.shouldLoadPredicate(a.parent?a.parent.value:null)})},function(){i.options.loadType().then(xi(function(a){i.loadedType=a,i.pendingNodeList.forEach(function(s){s.parent&&i.loadedType&&s.parent.applyPatches([{op:"replace",path:"/".concat(s.subpath),value:s.snapshot}])})}))}),i}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"<lazy ".concat(this.name,">")}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=this;if(this.loadedType)return this.loadedType.instantiate(n,r,i,a);var o=Md(this,n,r,i,a);return this.pendingNodeList.push(o),jH(function(){return!o.isAlive},function(){return s.pendingNodeList.splice(s.pendingNodeList.indexOf(o),1)}),o}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return this.loadedType?this.loadedType.validate(n,r):Eae(n)?ss():us(r,n,"Value is not serializable and cannot be lazy")}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return this.loadedType?(n.die(),this.loadedType.instantiate(i,a,i.environment,r)):e.prototype.reconcile.call(this,n,r,i,a)}}),t})(kp),Pae=(function(e){gr(t,e);function t(n){var r=e.call(this,n?"frozen(".concat(n.name,")"):"frozen")||this;return Object.defineProperty(r,"subType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(r,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Frozen}),r}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"<any immutable value>"}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){return Md(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return Eae(n)?this.subType?this.subType.validate(n,r):ss():us(r,n,"Value is not serializable and cannot be frozen")}}),t})(kp),rW=new Pae;function uIe(e){return arguments.length===0?rW:Qu(e)?new Pae(e):Gf(rW,e)}function cIe(e){switch(e){case yi.beforeDestroy:return"destroy";case yi.beforeDetach:return"detach";default:return}}var dIe=(function(){function e(t,n){if(Object.defineProperty(this,"targetType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"identifier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"node",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"resolvedReference",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),H3(t))this.identifier=t;else if(jr(t)){var r=jn(t);if(!r.identifierAttribute)throw new Lt("Can only store references with a defined identifier attribute.");var i=r.unnormalizedIdentifier;if(i==null)throw new Lt("Can only store references to tree nodes with a defined identifier.");this.identifier=i}else throw new Lt("Can only store references to tree nodes or identifiers, got: '".concat(t,"'"))}return Object.defineProperty(e.prototype,"updateResolvedReference",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=G0(this.identifier),r=t.root,i=r.identifierCache.getLastCacheModificationPerId(n);if(!this.resolvedReference||this.resolvedReference.lastCacheModification!==i){var a=this.targetType,s=r.identifierCache.resolve(a,n);if(!s)throw new fIe("[mobx-state-tree] Failed to resolve reference '".concat(this.identifier,"' to type '").concat(this.targetType.name,"' (from node: ").concat(t.path,")"));this.resolvedReference={node:s,lastCacheModification:i}}}}),Object.defineProperty(e.prototype,"resolvedValue",{get:function(){return this.updateResolvedReference(this.node),this.resolvedReference.node.value},enumerable:!1,configurable:!0}),e})(),fIe=(function(e){gr(t,e);function t(n){var r=e.call(this,n)||this;return Object.setPrototypeOf(r,t.prototype),r}return t})(Error),Mae=(function(e){gr(t,e);function t(n,r){var i=e.call(this,"reference(".concat(n.name,")"))||this;return Object.defineProperty(i,"targetType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"onInvalidated",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Reference}),i}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this.targetType.isAssignableFrom(n)}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return H3(n)?ss():us(r,n,"Value is not a valid identifier, which is a string or a number")}}),Object.defineProperty(t.prototype,"fireInvalidated",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=r.parent;if(!(!s||!s.isAlive)){var o=s.storedValue;o&&this.onInvalidated({cause:n,parent:o,invalidTarget:a?a.storedValue:void 0,invalidId:i,replaceRef:function(l){vy(r.root.storedValue,{op:"replace",value:l,path:r.path})},removeRef:function(){$Ne(s.type)?this.replaceRef(void 0):vy(r.root.storedValue,{op:"remove",path:r.path})}})}}}),Object.defineProperty(t.prototype,"addTargetNodeWatcher",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){var i=this,a=this.getValue(n);if(a){var s=jn(a),o=function(p,d){var m=cIe(d);m&&i.fireInvalidated(m,n,r,s)},l=s.registerHook(yi.beforeDetach,o),u=s.registerHook(yi.beforeDestroy,o);return function(){l(),u()}}}}),Object.defineProperty(t.prototype,"watchTargetNodeForInvalidations",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i){var a=this;if(this.onInvalidated){var s;n.registerHook(yi.beforeDestroy,function(){s&&s()});var o=function(l){s&&s();var u=n.parent,p=u&&u.storedValue;if(u&&u.isAlive&&p){var d=void 0;i?d=!!i.get(r,p):d=n.root.identifierCache.has(a.targetType,G0(r)),d?s=a.addTargetNodeWatcher(n,r):l||a.fireInvalidated("invalidSnapshotReference",n,r,null)}};n.state===qi.FINALIZED?o(!0):(n.isRoot||n.root.registerHook(yi.afterCreationFinalization,function(){n.parent&&n.parent.createObservableInstanceIfNeeded()}),n.registerHook(yi.afterAttach,function(){o(!1)}))}}}),t})(kp),pIe=(function(e){gr(t,e);function t(n,r){return e.call(this,n,r)||this}return Object.defineProperty(t.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(n){if(n.isAlive){var r=n.storedValue;return r.resolvedValue}}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){var r=n.storedValue;return r.identifier}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=jr(a)?ZRe(a):a,o=new dIe(a,this.targetType),l=Md(this,n,r,i,o);return o.node=l,this.watchTargetNodeForInvalidations(l,s,void 0),l}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){if(!n.isDetaching&&n.type===this){var s=jr(r),o=n.storedValue;if(!s&&o.identifier===r||s&&o.resolvedValue===r)return n.setParent(i,a),n}var l=this.instantiate(i,a,void 0,r);return n.die(),l}}),t})(Mae),hIe=(function(e){gr(t,e);function t(n,r,i){var a=e.call(this,n,i)||this;return Object.defineProperty(a,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),a}return Object.defineProperty(t.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(n){if(n.isAlive){var r=this.options.get(n.storedValue,n.parent?n.parent.storedValue:null);return r}}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return n.storedValue}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=jr(a)?this.options.set(a,n?n.storedValue:null):a,o=Md(this,n,r,i,s);return this.watchTargetNodeForInvalidations(o,s,this.options),o}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=jr(r)?this.options.set(r,n?n.storedValue:null):r;if(!n.isDetaching&&n.type===this&&n.storedValue===s)return n.setParent(i,a),n;var o=this.instantiate(i,a,void 0,s);return n.die(),o}}),t})(Mae);function jae(e,t){var n=t||void 0,r=t?t.onInvalidated:void 0;return n&&(n.get||n.set)?new hIe(e,{get:n.get,set:n.set},r):new pIe(e,r)}function mIe(e,t){var n=jae(e,Za(Za({},t),{onInvalidated:function(r){t&&t.onInvalidated&&t.onInvalidated(r),r.removeRef()}}));return t&&t.acceptsUndefined===!1?n:Lae(n)}var Fae=(function(e){gr(t,e);function t(n,r){var i=e.call(this,n)||this;return Object.defineProperty(i,"validType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Identifier}),i}return Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){if(!n||!(n.type instanceof Ey))throw new Lt("Identifier types can only be instantiated as direct child of a model type");return Md(this,n,r,i,a)}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){if(n.storedValue!==r)throw new Lt("Tried to change identifier from '".concat(n.storedValue,"' to '").concat(r,"'. Changing identifiers is not allowed."));return n.setParent(i,a),n}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){return typeof n!==this.validType?us(r,n,"Value is not a valid ".concat(this.describe(),", expected a ").concat(this.validType)):ss()}}),t})(kp),gIe=(function(e){gr(t,e);function t(){var n=e.call(this,"identifier","string")||this;return Object.defineProperty(n,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Identifier}),n}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"identifier"}}),t})(Fae),bIe=(function(e){gr(t,e);function t(){return e.call(this,"identifierNumber","number")||this}return Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return n.storedValue}}),Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"identifierNumber"}}),t})(Fae),vIe=new gIe,yIe=new bIe;function G0(e){return""+e}function H3(e){return typeof e=="string"||typeof e=="number"}function xIe(e){return new SIe(e)}var SIe=(function(e){gr(t,e);function t(n){var r=e.call(this,n.name)||this;return Object.defineProperty(r,"options",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(r,"flags",{enumerable:!0,configurable:!0,writable:!0,value:kn.Custom}),r}return Object.defineProperty(t.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(t.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r){if(this.options.isTargetType(n))return ss();var i=this.options.getValidationMessage(n);return i?us(r,n,"Invalid value for type '".concat(this.name,"': ").concat(i)):ss()}}),Object.defineProperty(t.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(n){return this.options.toSnapshot(n.storedValue)}}),Object.defineProperty(t.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=this.options.isTargetType(a)?a:this.options.fromSnapshot(a,n&&n.root.environment);return Md(this,n,r,i,s)}}),Object.defineProperty(t.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(n,r,i,a){var s=!this.options.isTargetType(r);if(!n.isDetaching){var o=n.type===this&&(s?r===n.snapshot:r===n.storedValue);if(o)return n.setParent(i,a),n}var l=s?this.options.fromSnapshot(r,i.root.environment):r,u=this.instantiate(i,a,void 0,l);return n.die(),u}}),t})(kp),Et={enumeration:XNe,model:BNe,compose:UNe,custom:xIe,reference:jae,safeReference:mIe,union:Jw,optional:Gf,literal:Dae,maybe:Lae,maybeNull:iIe,refinement:YNe,string:Tae,boolean:kae,number:Aae,integer:zNe,float:HNe,finite:WNe,Date:Iae,map:PNe,array:MNe,frozen:uIe,identifier:vIe,identifierNumber:yIe,late:sIe,lazy:oIe,undefined:Rae,null:Oae,snapshotProcessor:DNe};const EIe=Et.enumeration("TerminalStatus",["running","exited","error"]),_Ie=Et.model("Terminal",{id:Et.identifier,name:Et.string,cwd:Et.string,status:EIe,exitCode:Et.maybe(Et.number),cols:Et.number,rows:Et.number,createdAt:Et.number,tabId:Et.maybeNull(Et.string),positionInTab:Et.optional(Et.number,0)}).volatile(()=>({xterm:null,attachCleanup:null,isPending:!1,pendingId:null,isStartingUp:!1})).views(e=>({get isAlive(){return e.status==="running"},get isTabTerminal(){return e.tabId!=null}})).actions(e=>({updateFromServer(t){t.name!==void 0&&(e.name=t.name),t.cwd!==void 0&&(e.cwd=t.cwd),t.status!==void 0&&(e.status=t.status),t.exitCode!==void 0&&(e.exitCode=t.exitCode),t.cols!==void 0&&(e.cols=t.cols),t.rows!==void 0&&(e.rows=t.rows),t.tabId!==void 0&&(e.tabId=t.tabId),t.positionInTab!==void 0&&(e.positionInTab=t.positionInTab)},setXterm(t){e.xterm=t},setAttachCleanup(t){e.attachCleanup=t},markExited(t){e.status="exited",e.exitCode=t},assignToTab(t,n){e.tabId=t,n!==void 0&&(e.positionInTab=n)},rename(t){e.name=t},resize(t,n){e.cols=t,e.rows=n},setPending(t,n){e.isPending=t,n!==void 0&&(e.pendingId=n)},setStartingUp(t){e.isStartingUp=t},cleanup(){e.attachCleanup&&(e.attachCleanup(),e.attachCleanup=null),e.xterm=null}})),wIe=Et.model("Tab",{id:Et.identifier,name:Et.string,position:Et.number,directory:Et.maybeNull(Et.string),createdAt:Et.number}).volatile(()=>({isPending:!1})).views(e=>({get terminals(){const t=uae(e);return t.terminals?.items?t.terminals.items.filter(n=>n.tabId===e.id).sort((n,r)=>n.positionInTab-r.positionInTab):[]},get terminalCount(){return this.terminals.length}})).actions(e=>({updateFromServer(t){t.name!==void 0&&(e.name=t.name),t.directory!==void 0&&(e.directory=t.directory),t.position!==void 0&&(e.position=t.position)},rename(t){e.name=t},setDirectory(t){e.directory=t},setPosition(t){e.position=t},setPending(t){e.isPending=t}})),CIe=Et.map(Et.string),TIe=Et.model("ViewState",{focusedTerminals:Et.optional(CIe,{}),currentView:Et.maybeNull(Et.string),currentTaskId:Et.maybeNull(Et.string),isTabVisible:Et.maybeNull(Et.boolean),viewUpdatedAt:Et.maybeNull(Et.string)}).volatile(()=>({pendingUpdates:{},debounceTimer:null})).views(e=>({getFocusedTerminal(t){return e.focusedTerminals.get(t)??null}})).actions(e=>({setFocusedTerminal(t,n){n===null?e.focusedTerminals.delete(t):e.focusedTerminals.set(t,n)},clearFocusedTerminalForTab(t){e.focusedTerminals.delete(t)},updateViewTracking(t,n){e.currentView=t,e.currentTaskId=n,e.viewUpdatedAt=new Date().toISOString()},setTabVisible(t){e.isTabVisible=t,e.viewUpdatedAt=new Date().toISOString()},hydrateFromServer(t){if(t.focusedTerminals){e.focusedTerminals.clear();for(const[n,r]of Object.entries(t.focusedTerminals))e.focusedTerminals.set(n,r)}t.currentView!==void 0&&(e.currentView=t.currentView),t.currentTaskId!==void 0&&(e.currentTaskId=t.currentTaskId),t.isTabVisible!==void 0&&(e.isTabVisible=t.isTabVisible),t.viewUpdatedAt!==void 0&&(e.viewUpdatedAt=t.viewUpdatedAt)}}));function nL(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).substring(2,11)}`}function iW(){return`temp-${nL()}`}const AIe=Et.model("TerminalsStore",{items:Et.array(_Ie)}).views(e=>({get(t){return e.items.find(n=>n.id===t)},getByTab(t){return e.items.filter(n=>n.tabId===t).sort((n,r)=>n.positionInTab-r.positionInTab)},get taskTerminals(){return e.items.filter(t=>t.tabId==null)},has(t){return e.items.some(n=>n.id===t)}})).actions(e=>({add(t){if(e.items.some(n=>n.id===t.id)){jt.ws.debug("Terminal already exists, skipping add",{id:t.id});return}e.items.push(t)},remove(t){const n=e.items.find(r=>r.id===t);n&&(n.cleanup(),BE(n))},replaceAll(t){for(const n of e.items)n.cleanup();e.items.clear();for(const n of t)e.items.push(n)},clear(){for(const t of e.items)t.cleanup();e.items.clear()}})),kIe=Et.model("TabsStore",{items:Et.array(wIe)}).views(e=>({get(t){return e.items.find(n=>n.id===t)},get sorted(){return[...e.items].sort((t,n)=>t.position-n.position)},has(t){return e.items.some(n=>n.id===t)},get first(){return this.sorted[0]}})).actions(e=>({add(t){if(e.items.some(n=>n.id===t.id)){jt.ws.debug("Tab already exists, skipping add",{id:t.id});return}e.items.push(t)},remove(t){const n=e.items.find(r=>r.id===t);n&&BE(n)},replaceAll(t){e.items.clear();for(const n of t)e.items.push(n)},clear(){e.items.clear()}})),OIe=Et.model("RootStore",{terminals:Et.optional(AIe,{items:[]}),tabs:Et.optional(kIe,{items:[]}),viewState:Et.optional(TIe,{})}).volatile(()=>({connected:!1,initialized:!1,hasEverConnected:!1,reconnectAttempt:0,maxReconnectAttempts:10,newTerminalIds:new Set,pendingUpdates:new Map,onAttachedCallbacks:new Map,terminalsReadyForCallback:new Set,lastFocusedTerminalId:null,terminalsPendingStartup:new Map,pendingTabCreation:null,lastCreatedTabId:null,broadcastedTheme:null})).views(e=>({get isReady(){return e.connected&&e.initialized}})).actions(e=>{const t=()=>eL(e);return{setConnected(n){const r=e.connected;if(e.connected=n,!n)e.initialized=!1;else if(!r&&n&&(e.hasEverConnected=!0,e.reconnectAttempt=0,e.pendingUpdates.size>0)){t().log.ws.info("Reconnected: clearing stale pending updates",{count:e.pendingUpdates.size});for(const i of e.pendingUpdates.values())if(i.entityType==="terminal"){const a=e.terminals.get(i.tempId);a&&(a.cleanup(),e.terminals.remove(i.tempId)),e.newTerminalIds.delete(i.tempId)}else i.entityType==="tab"&&e.tabs.remove(i.tempId);e.pendingUpdates.clear()}},setInitialized(n){e.initialized=n},setReconnectAttempt(n){e.reconnectAttempt=n},setMaxReconnectAttempts(n){e.maxReconnectAttempts=n},markNewTerminal(n){e.newTerminalIds.add(n)},clearNewTerminal(n){e.newTerminalIds.delete(n)},setLastFocusedTerminal(n){e.lastFocusedTerminalId=n},consumePendingStartup(n){const r=e.terminalsPendingStartup.get(n);return r&&(e.terminalsPendingStartup.delete(n),t().log.ws.info("consumed pending startup",{terminalId:n,taskName:r.taskName})),r},clearStartingUp(n){const r=e.terminals.get(n);r&&(r.setStartingUp(!1),t().log.ws.info("cleared isStartingUp",{terminalId:n}))},setPendingTabCreation(n){e.pendingTabCreation=n},clearLastCreatedTabId(){e.lastCreatedTabId=null},syncTheme(n){t().send({type:"theme:sync",payload:{theme:n}})},clearBroadcastedTheme(){e.broadcastedTheme=null},createTerminal(n){const r=nL(),i=iW(),a={id:i,name:n.name,cwd:n.cwd??"~",status:"running",cols:n.cols,rows:n.rows,createdAt:Date.now(),tabId:n.tabId??null,positionInTab:n.positionInTab??0},s=YH(e.terminals);e.terminals.add(a),s.stop();const o=e.terminals.get(i);o?.setPending(!0,i),e.pendingUpdates.set(r,{entityType:"terminal",tempId:i,inversePatches:s.inversePatches,createdAt:Date.now()}),e.newTerminalIds.add(i),n.startup&&(e.terminalsPendingStartup.set(i,n.startup),o?.setStartingUp(!0),t().log.ws.info("createTerminal registered startup",{tempId:i,taskName:n.startup.taskName,isStartingUp:o?.isStartingUp}));const{startup:l,...u}=n;t().send({type:"terminal:create",payload:{...u,requestId:r,tempId:i}}),t().log.ws.debug("createTerminal optimistic",{requestId:r,tempId:i,name:n.name})},destroyTerminal(n,r){t().send({type:"terminal:destroy",payload:{terminalId:n,force:r?.force,reason:r?.reason}});const i=e.terminals.get(n);i&&i.cleanup(),e.terminals.remove(n)},writeToTerminal(n,r){t().send({type:"terminal:input",payload:{terminalId:n,data:r}})},sendInputToTerminal(n,r){t().send({type:"terminal:input",payload:{terminalId:n,data:r}}),setTimeout(()=>{t().send({type:"terminal:input",payload:{terminalId:n,data:"\r"}})},50)},resizeTerminal(n,r,i){t().send({type:"terminal:resize",payload:{terminalId:n,cols:r,rows:i}}),e.terminals.get(n)?.resize(r,i)},renameTerminal(n,r){t().send({type:"terminal:rename",payload:{terminalId:n,name:r}}),e.terminals.get(n)?.rename(r)},attachXterm(n,r,i){const a=e.terminals.get(n);if(!a)return t().log.ws.warn("attachXterm: terminal not found",{terminalId:n}),()=>{};if(a.xterm===r)return t().log.ws.debug("attachXterm: already attached, skipping",{terminalId:n}),i?.onAttached&&(e.terminalsReadyForCallback.has(n)?(e.terminalsReadyForCallback.delete(n),setTimeout(()=>i.onAttached?.(n),0)):e.onAttachedCallbacks.set(n,i.onAttached)),a.attachCleanup||(()=>{});a.attachCleanup&&a.attachCleanup(),a.setXterm(r),r.attachCustomKeyEventHandler(u=>u.type==="keydown"&&u.shiftKey&&u.key==="Enter"?(u.preventDefault(),u.stopPropagation(),t().send({type:"terminal:input",payload:{terminalId:n,data:`
35
- `}}),!1):(u.type==="keydown"&&u.key==="Escape"&&window.parent!==window&&u.stopPropagation(),!0));const s=r.onData(u=>{new RegExp("^\x1B\\[<35;\\d+;\\d+[Mm]$").test(u)||new RegExp("^\x1B\\]").test(u)&&!new RegExp("^\x1B\\](10|11);").test(u)||new RegExp("^\x1BP").test(u)||/\$y/.test(u)||new RegExp("^\x1B\\[\\d+;\\d+R$").test(u)||new RegExp("^\x1B\\[[?>\\d;]*c$").test(u)||/^R+$/.test(u)||t().send({type:"terminal:input",payload:{terminalId:n,data:u}})}),o=()=>{this.setLastFocusedTerminal(n)};r.textarea?.addEventListener("focus",o),i?.onAttached&&(e.terminalsReadyForCallback.has(n)?(t().log.ws.debug("attachXterm: terminal already attached, calling callback immediately",{terminalId:n}),e.terminalsReadyForCallback.delete(n),setTimeout(()=>i.onAttached?.(n),0)):(t().log.ws.debug("attachXterm: registering onAttached callback",{terminalId:n,existingCallbacks:Array.from(e.onAttachedCallbacks.keys())}),e.onAttachedCallbacks.set(n,i.onAttached)));const l=()=>{s.dispose(),r.textarea?.removeEventListener("focus",o),e.terminals.get(n)?.setXterm(null)};return a.setAttachCleanup(l),t().send({type:"terminal:attach",payload:{terminalId:n}}),l},requestAttach(n){t().send({type:"terminal:attach",payload:{terminalId:n}})},clearTerminalBuffer(n){t().send({type:"terminal:clearBuffer",payload:{terminalId:n}})},assignTerminalToTab(n,r,i){t().send({type:"terminal:assignTab",payload:{terminalId:n,tabId:r,positionInTab:i}}),e.terminals.get(n)?.assignToTab(r,i)},createTab(n,r,i,a){const s=nL(),o=iW(),l=r??e.tabs.items.length,u={id:o,name:n,position:l,directory:i??null,createdAt:Date.now()},p=YH(e.tabs);e.tabs.add(u),p.stop(),e.tabs.get(o)?.setPending(!0),e.pendingTabCreation=o,e.pendingUpdates.set(s,{entityType:"tab",tempId:o,inversePatches:p.inversePatches,createdAt:Date.now()}),t().send({type:"tab:create",payload:{name:n,position:r,directory:i,adoptTerminalId:a,requestId:s,tempId:o}}),t().log.ws.debug("createTab optimistic",{requestId:s,tempId:o,name:n,adoptTerminalId:a})},updateTab(n,r){t().send({type:"tab:update",payload:{tabId:n,...r}}),e.tabs.get(n)?.updateFromServer(r)},deleteTab(n){t().send({type:"tab:delete",payload:{tabId:n}}),e.tabs.remove(n),e.viewState.clearFocusedTerminalForTab(n)},reorderTab(n,r){const i=e.tabs.get(n);if(!i)return;const a=i.position;if(t().send({type:"tab:reorder",payload:{tabId:n,position:r}}),r>a)for(const s of e.tabs.items)s.position>a&&s.position<=r&&s.setPosition(s.position-1);else if(r<a)for(const s of e.tabs.items)s.position>=r&&s.position<a&&s.setPosition(s.position+1);i.setPosition(r)},handleMessage(n){const{type:r,payload:i}=n;switch(r){case"terminals:list":e.terminals.replaceAll(i.terminals);break;case"terminal:created":{const{terminal:a,isNew:s,requestId:o,tempId:l}=i;if(o&&l){const u=e.pendingUpdates.get(o);if(u&&u.tempId===l){e.pendingUpdates.delete(o);const p=e.terminals.get(l);if(p){const d=p.xterm,m=e.onAttachedCallbacks.get(l),g=p.attachCleanup;if(t().log.ws.info("terminal:created optimistic handling",{tempId:l,realId:a.id,hasXterm:!!d,hasCallback:!!m,isNew:s}),g&&g(),p.setXterm(null),p.setAttachCleanup(null),e.onAttachedCallbacks.delete(l),s){const x=p.isStartingUp,S=e.terminals.items.findIndex(v=>v.id===l);S>=0&&BE(e.terminals.items[S]),e.terminals.add(a);const b=e.terminals.get(a.id);x&&b&&(b.setStartingUp(!0),t().log.ws.info("terminal:created transferred isStartingUp",{tempId:l,realId:a.id,isStartingUp:b.isStartingUp})),t().log.ws.info("terminal:created re-attaching xterm",{realId:a.id,hasRealTerminal:!!b,hasXterm:!!d,willAttach:!!(b&&d)}),b&&d?this.attachXterm(a.id,d,{onAttached:m}):m&&(t().log.ws.info("terminal:created preserving callback for later",{realId:a.id}),e.onAttachedCallbacks.set(a.id,m)),e.newTerminalIds.delete(l),e.newTerminalIds.add(a.id);const y=e.terminalsPendingStartup.get(l);y&&(e.terminalsPendingStartup.delete(l),e.terminalsPendingStartup.set(a.id,y),t().log.ws.debug("transferred pending startup",{tempId:l,realId:a.id})),t().log.ws.debug("terminal:created confirmed",{requestId:o,tempId:l,realId:a.id,xtermReattached:!!d,hasPendingStartup:!!y})}else{const x=e.terminals.items.findIndex(b=>b.id===l);x>=0&&BE(e.terminals.items[x]),e.newTerminalIds.delete(l),e.terminalsPendingStartup.delete(l),e.terminals.has(a.id)||e.terminals.add(a),e.terminals.get(a.id)&&d&&this.attachXterm(a.id,d,{onAttached:m}),t().log.ws.debug("terminal:created deduplicated",{requestId:o,tempId:l,existingId:a.id,xtermReattached:!!d})}}break}}e.terminals.add(a),s&&e.newTerminalIds.add(a.id);break}case"terminal:destroyed":{const{terminalId:a}=i;e.terminals.remove(a),e.newTerminalIds.delete(a),e.terminalsReadyForCallback.delete(a),e.onAttachedCallbacks.delete(a);break}case"terminal:output":{const{terminalId:a,data:s}=i,o=e.terminals.get(a);o?.xterm?o.xterm.write(s):t().log.ws.warn("terminal:output but no xterm",{terminalId:a});break}case"terminal:attached":{const{terminalId:a,buffer:s}=i,o=e.terminals.get(a);t().log.ws.info("terminal:attached received",{terminalId:a,hasTerminal:!!o,hasXterm:!!o?.xterm,bufferLength:s?.length??0,hasCallback:e.onAttachedCallbacks.has(a),isReadyForCallback:e.terminalsReadyForCallback.has(a),registeredCallbacks:Array.from(e.onAttachedCallbacks.keys())});const l=()=>{const u=e.onAttachedCallbacks.get(a);u?(e.onAttachedCallbacks.delete(a),t().log.ws.debug("terminal:attached calling callback",{terminalId:a}),u(a)):(t().log.ws.debug("terminal:attached no callback yet, marking ready",{terminalId:a}),e.terminalsReadyForCallback.add(a))};o?.xterm?(o.xterm.reset(),s?o.xterm.write(s,l):l()):l();break}case"terminal:bufferCleared":{const{terminalId:a}=i,s=e.terminals.get(a);s?.xterm&&s.xterm.reset();break}case"terminal:exit":{const{terminalId:a,exitCode:s}=i;e.terminals.get(a)?.markExited(s);break}case"terminal:renamed":{const{terminalId:a,name:s}=i;e.terminals.get(a)?.rename(s);break}case"terminal:tabAssigned":{const{terminalId:a,tabId:s,positionInTab:o}=i;e.terminals.get(a)?.assignToTab(s,o);break}case"tabs:list":e.tabs.replaceAll(i.tabs),e.initialized=!0;break;case"tab:created":{const{tab:a,requestId:s,tempId:o,adoptTerminalId:l}=i;if(s&&o){const u=e.pendingUpdates.get(s);if(u&&u.tempId===o){e.pendingUpdates.delete(s),e.tabs.get(o)&&(e.tabs.remove(o),e.tabs.add(a),e.pendingTabCreation=null,l||(e.lastCreatedTabId=a.id),t().log.ws.debug("tab:created confirmed",{requestId:s,tempId:o,realId:a.id,adoptTerminalId:l}));break}}e.tabs.add(a);break}case"tab:updated":{const{tabId:a,name:s,directory:o}=i;e.tabs.get(a)?.updateFromServer({name:s,directory:o});break}case"tab:deleted":{const{tabId:a}=i;e.tabs.remove(a),e.viewState.clearFocusedTerminalForTab(a);break}case"terminal:error":{const{error:a,requestId:s,tempId:o}=i;if(s&&o){const l=e.pendingUpdates.get(s);if(l&&l.tempId===o){e.pendingUpdates.delete(s);for(let u=l.inversePatches.length-1;u>=0;u--)vy(e.terminals,l.inversePatches[u]);e.newTerminalIds.delete(o),e.terminalsPendingStartup.delete(o),t().log.ws.warn("terminal:error rollback",{requestId:s,tempId:o,error:a});break}}jt.ws.error("Terminal error from server",{error:a});break}case"sync:stale":{const{entityType:a,entityId:s,requestId:o,tempId:l,error:u}=i;if(t().log.ws.warn("sync:stale received",{entityType:a,entityId:s,error:u}),o&&l){const p=e.pendingUpdates.get(o);if(p&&p.tempId===l)if(e.pendingUpdates.delete(o),p.entityType==="terminal"){const d=e.terminals.get(l);d&&(d.cleanup(),e.terminals.remove(l)),e.newTerminalIds.delete(l),e.terminalsPendingStartup.delete(l)}else p.entityType==="tab"&&e.tabs.remove(l)}if(a==="terminal"){if(e.terminals.has(s)){const p=e.terminals.get(s);p&&(p.cleanup(),e.terminals.remove(s))}e.terminalsPendingStartup.delete(s)}else a==="tab"&&e.tabs.has(s)&&(e.tabs.remove(s),e.viewState.clearFocusedTerminalForTab(s));break}case"theme:synced":{const{theme:a}=i;e.broadcastedTheme=a,t().log.ws.debug("theme:synced received",{theme:a});break}}},reset(){e.terminals.clear(),e.tabs.clear(),e.connected=!1,e.initialized=!1,e.newTerminalIds.clear(),e.pendingUpdates.clear(),e.terminalsPendingStartup.clear()}}});function Bae(){const e=Op();return T.useMemo(()=>{const t=(n,r)=>{const i=async a=>{const s=a.clipboardData?.items;if(s){for(const o of s)if(o.type.startsWith("image/")){a.preventDefault(),a.stopPropagation();const l=o.getAsFile();if(!l)return;try{const u=await Xne(l);e.writeToTerminal(r,u)}catch(u){jt.ws.error("Failed to upload image",{error:String(u)})}return}}};return n.addEventListener("paste",i,!0),()=>{n.removeEventListener("paste",i,!0)}};return{get terminals(){return[...e.terminals.items]},get terminalsLoaded(){return e.initialized},get tabs(){return[...e.tabs.sorted]},get connected(){return e.connected},get newTerminalIds(){return e.newTerminalIds},get pendingTabCreation(){return e.pendingTabCreation},get lastCreatedTabId(){return e.lastCreatedTabId},createTerminal:e.createTerminal.bind(e),destroyTerminal:e.destroyTerminal.bind(e),writeToTerminal:e.writeToTerminal.bind(e),sendInputToTerminal:e.sendInputToTerminal.bind(e),resizeTerminal:e.resizeTerminal.bind(e),renameTerminal:e.renameTerminal.bind(e),clearTerminalBuffer:e.clearTerminalBuffer.bind(e),assignTerminalToTab:e.assignTerminalToTab.bind(e),createTab:e.createTab.bind(e),updateTab:e.updateTab.bind(e),deleteTab:e.deleteTab.bind(e),reorderTab:e.reorderTab.bind(e),attachXterm:e.attachXterm.bind(e),setupImagePaste:t,consumePendingStartup:e.consumePendingStartup.bind(e),clearStartingUp:e.clearStartingUp.bind(e),clearLastCreatedTabId:e.clearLastCreatedTabId.bind(e)}},[e])}const a2="",RIe=Et.model("File",{path:Et.identifier,content:Et.string,originalContent:Et.string,mimeType:Et.string,size:Et.number,lineCount:Et.number,truncated:Et.boolean,isMarkdownView:Et.optional(Et.boolean,!1)}).views(e=>({get isDirty(){return e.content!==e.originalContent},get isMarkdown(){return e.path.toLowerCase().endsWith(".md")},get isImage(){return e.mimeType.startsWith("image/")},get isBinary(){return e.mimeType==="application/octet-stream"},get isEditable(){return!e.mimeType.startsWith("image/")&&e.mimeType!=="application/octet-stream"}})).actions(e=>({setContent(t){e.content=t},markSaved(){e.originalContent=e.content},toggleMarkdownView(){e.isMarkdownView=!e.isMarkdownView},setMarkdownView(t){e.isMarkdownView=t}})),NIe=Et.model("FilesStore",{selectedFile:Et.maybeNull(Et.string),expandedDirs:Et.array(Et.string),openFiles:Et.map(RIe)}).volatile(()=>({worktreePath:null,readOnly:!1,isLoading:!1,isSaving:!1,loadError:null,saveError:null,fileTree:null,isLoadingTree:!1,treeError:null})).views(e=>({get currentFile(){if(e.selectedFile)return e.openFiles.get(e.selectedFile)},get isDirty(){return(e.selectedFile?e.openFiles.get(e.selectedFile):void 0)?.isDirty??!1},isFileMarkdownView(t){return e.openFiles.get(t)?.isMarkdownView??!1},isDirExpanded(t){return e.expandedDirs.includes(t)}})).actions(e=>({setWorktreePath(t){e.worktreePath!==t&&(e.worktreePath=t,e.selectedFile=null,e.expandedDirs.clear(),e.openFiles.clear(),e.fileTree=null)},setReadOnly(t){e.readOnly=t},selectFile(t){e.selectedFile=t},toggleDir(t){const n=e.expandedDirs.indexOf(t);n>=0?e.expandedDirs.splice(n,1):e.expandedDirs.push(t)},collapseAll(){e.expandedDirs.clear()},updateContent(t,n){const r=e.openFiles.get(t);r&&r.setContent(n)},toggleMarkdownView(t){const n=e.openFiles.get(t);n&&n.toggleMarkdownView()},_setLoading(t){e.isLoading=t},_setLoadError(t){e.loadError=t},_setSaving(t){e.isSaving=t},_setSaveError(t){e.saveError=t},_setFileTree(t){e.fileTree=t},_setLoadingTree(t){e.isLoadingTree=t},_setTreeError(t){e.treeError=t},_addFile(t){e.openFiles.set(t.path,{path:t.path,content:t.content,originalContent:t.content,mimeType:t.mimeType,size:t.size,lineCount:t.lineCount,truncated:t.truncated,isMarkdownView:!1})},_markFileSaved(t){const n=e.openFiles.get(t);n&&n.markSaved()}})).actions(e=>({loadFileTree:n2(function*(){if(e.worktreePath){e._setLoadingTree(!0),e._setTreeError(null);try{const t=yield yt(`${a2}/api/fs/tree?root=${encodeURIComponent(e.worktreePath)}`);e._setFileTree(t.entries)}catch(t){e._setTreeError(t instanceof Error?t.message:"Failed to load file tree")}finally{e._setLoadingTree(!1)}}}),loadFile:n2(function*(t){if(e.worktreePath){if(e.openFiles.has(t)){e.selectedFile=t;return}e._setLoading(!0),e._setLoadError(null);try{const n=new URLSearchParams({path:t,root:e.worktreePath}),r=yield yt(`${a2}/api/fs/read?${n}`);e._addFile({path:t,content:r.content,mimeType:r.mimeType,size:r.size,lineCount:r.lineCount,truncated:r.truncated}),e.selectedFile=t}catch(n){e._setLoadError(n instanceof Error?n.message:"Failed to load file")}finally{e._setLoading(!1)}}}),saveFile:n2(function*(t){if(!e.worktreePath)return;const n=e.openFiles.get(t);if(!(!n||!n.isDirty)){e._setSaving(!0),e._setSaveError(null);try{(yield fetch(`${a2}/api/fs/write`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,root:e.worktreePath,content:n.content})}).then(i=>i.ok?i.json():i.json().then(a=>{throw new Error(a.error||"Failed to save file")}))).success&&e._markFileSaved(t)}catch(r){throw e._setSaveError(r instanceof Error?r.message:"Failed to save file"),r}finally{e._setSaving(!1)}}}),closeFile(t){e.openFiles.delete(t),e.selectedFile===t&&(e.selectedFile=null)}}));function IIe(){return NIe.create({selectedFile:null,expandedDirs:[],openFiles:{}})}const Uae=T.createContext(null);function DIe(e,t=!1,n){const r=T.useMemo(()=>IIe(),[]),i=T.useRef(!1);return T.useEffect(()=>{r.setWorktreePath(e),r.setReadOnly(t),i.current=!1,e&&r.loadFileTree().then(()=>{n&&!i.current&&(i.current=!0,r.selectFile(n),r.loadFile(n))})},[r,e,t,n]),r}function LIe(){const e=T.useContext(Uae);if(!e)throw new Error("useFilesStore must be used within a FilesStoreProvider");return e}function $ae(){const e=LIe();return{worktreePath:e.worktreePath,readOnly:e.readOnly,selectedFile:e.selectedFile,currentFile:e.currentFile,expandedDirs:[...e.expandedDirs],fileTree:e.fileTree,isLoading:e.isLoading,isSaving:e.isSaving,isLoadingTree:e.isLoadingTree,loadError:e.loadError,saveError:e.saveError,treeError:e.treeError,isDirty:e.isDirty,selectFile:e.selectFile,loadFile:e.loadFile,saveFile:e.saveFile,closeFile:e.closeFile,updateContent:e.updateContent,toggleDir:e.toggleDir,collapseAll:e.collapseAll,toggleMarkdownView:e.toggleMarkdownView,isFileMarkdownView:e.isFileMarkdownView,isDirExpanded:e.isDirExpanded,refreshTree:e.loadFileTree}}const Vr="";function zae(){return ln({queryKey:["apps"],queryFn:()=>yt(`${Vr}/api/apps`)})}function PIe(e){return ln({queryKey:["apps",e],queryFn:()=>yt(`${Vr}/api/apps/${e}`),enabled:!!e})}function MIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps`,{method:"POST",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["apps"]})}})}function W3(){const e=vn();return tn({mutationFn:({id:t,updates:n})=>yt(`${Vr}/api/apps/${t}`,{method:"PATCH",body:JSON.stringify(n)}),onSuccess:(t,{id:n})=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function Hae(){const e=vn();return tn({mutationFn:({id:t,stopContainers:n=!0})=>{const r=n?`${Vr}/api/apps/${t}`:`${Vr}/api/apps/${t}?stopContainers=false`;return yt(r,{method:"DELETE"})},onSuccess:()=>{e.invalidateQueries({queryKey:["apps"]})}})}function Wae(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/stop`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function Vae(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/cancel-deploy`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function jIe(e,t,n=100){return ln({queryKey:["apps",e,"logs",t,n],queryFn:()=>{const r=new URLSearchParams;return t&&r.set("service",t),r.set("tail",String(n)),yt(`${Vr}/api/apps/${e}/logs?${r}`)},enabled:!!e,refetchInterval:5e3})}function qae(e){return ln({queryKey:["apps",e,"status"],queryFn:()=>yt(`${Vr}/api/apps/${e}/status`),enabled:!!e,refetchInterval:1e4})}function FIe(e){return ln({queryKey:["apps",e,"deployments"],queryFn:()=>yt(`${Vr}/api/apps/${e}/deployments`),enabled:!!e,refetchInterval:5e3})}function BIe(e){return ln({queryKey:["compose","parse",e],queryFn:()=>yt(`${Vr}/api/compose/parse?repoId=${e}`),enabled:!!e})}function V3(e){return ln({queryKey:["compose","find",e],queryFn:()=>yt(`${Vr}/api/compose/find?repoId=${e}`),enabled:!!e})}function UIe(e,t){return ln({queryKey:["compose","file",e,t],queryFn:()=>yt(`${Vr}/api/fs/read?path=${encodeURIComponent(t)}&root=${encodeURIComponent(e)}`),enabled:!!e&&!!t})}function $Ie(){const e=vn();return tn({mutationFn:({repoPath:t,composeFile:n,content:r})=>yt(`${Vr}/api/fs/write`,{method:"POST",body:JSON.stringify({path:n,root:t,content:r})}),onSuccess:(t,{repoPath:n,composeFile:r})=>{e.invalidateQueries({queryKey:["compose","file",n,r]})}})}function zIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/sync-services`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps",n]}),e.invalidateQueries({queryKey:["apps"]})}})}function Gae(e){const{data:t}=zae();return t?.find(n=>n.repository?.id===e)??null}function q3(){return ln({queryKey:["deployment","prerequisites"],queryFn:()=>yt(`${Vr}/api/deployment/prerequisites`),staleTime:1e4})}function HIe(){const e=vn();return tn({mutationFn:()=>yt(`${Vr}/api/deployment/traefik/start`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["deployment","prerequisites"]})}})}function G3(){return ln({queryKey:["deployment","settings"],queryFn:()=>yt(`${Vr}/api/deployment/settings`)})}function WIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/deployment/settings`,{method:"POST",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["deployment","settings"]}),e.invalidateQueries({queryKey:["deployment","prerequisites"]})}})}const VIe=Et.model("DeploymentStreamStore",{appId:Et.maybeNull(Et.string),isDeploying:Et.optional(Et.boolean,!1),logs:Et.array(Et.string),stage:Et.maybeNull(Et.string),error:Et.maybeNull(Et.string)}).volatile(()=>({eventSource:null,deployment:null})).views(e=>({get typedStage(){return e.stage},get hasLogs(){return e.logs.length>0},get logCount(){return e.logs.length},get logsSnapshot(){return e.logs.slice()},get isComplete(){return!e.isDeploying&&(e.stage==="done"||e.stage==="failed"||e.stage==="cancelled"||!!e.error)}})).actions(e=>{const t=()=>eL(e).log,n=()=>eL(e).invalidateQueries;return{_handleProgress(r){t().debug("Deployment progress",{appId:e.appId,stage:r.stage,message:r.message.slice(0,100)}),e.stage=r.stage,e.logs.push(r.message)},_handleComplete(r){const i=t(),a=e.appId;i.info("Deployment complete",{appId:a,success:r.success,deploymentId:r.deployment?.id}),e.deployment=r.deployment,e.isDeploying=!1,e.stage="done",e.eventSource&&(e.eventSource.close(),e.eventSource=null),a&&n()(a)},_handleError(r){const i=t(),a=e.appId;i.error("Deployment failed",{appId:a,error:r}),e.error=r,e.stage="failed",e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null),a&&n()(a)},_handleConnectionLost(){const r=t();e.isDeploying&&(r.error("EventSource connection lost",{appId:e.appId}),e.error="Connection lost during deployment",e.isDeploying=!1,e.stage="failed"),e.eventSource&&(e.eventSource.close(),e.eventSource=null)},deploy(r){const i=t();e.eventSource&&(i.debug("Closing existing EventSource before new deploy",{appId:e.appId}),e.eventSource.close(),e.eventSource=null),i.info("Starting deployment",{appId:r}),e.appId=r,e.isDeploying=!0,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null;const a=new EventSource(`${Vr}/api/apps/${r}/deploy/stream`);e.eventSource=a;const s=e;a.addEventListener("progress",o=>{try{const l=JSON.parse(o.data);s._handleProgress(l)}catch(l){i.warn("Failed to parse progress event",{error:String(l)})}}),a.addEventListener("complete",o=>{try{const l=JSON.parse(o.data);s._handleComplete(l)}catch(l){i.warn("Failed to parse complete event",{error:String(l)})}}),a.addEventListener("error",o=>{if(o instanceof MessageEvent)try{const l=JSON.parse(o.data);s._handleError(l.error)}catch{s._handleError("Deployment failed")}else s._handleError("Connection lost during deployment")}),a.onerror=()=>{s._handleConnectionLost()}},watchDeployment(r){const i=t();e.eventSource&&(i.debug("Closing existing EventSource before watching",{appId:e.appId}),e.eventSource.close(),e.eventSource=null),i.info("Watching deployment",{appId:r}),e.appId=r,e.isDeploying=!0,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null;const a=new EventSource(`${Vr}/api/apps/${r}/deploy/watch`);e.eventSource=a;const s=e;a.addEventListener("progress",o=>{try{const l=JSON.parse(o.data);s._handleProgress(l)}catch(l){i.warn("Failed to parse progress event",{error:String(l)})}}),a.addEventListener("complete",o=>{try{const l=JSON.parse(o.data);s._handleComplete({success:!0,deployment:l.deployment||{id:"",appId:r,status:"success",startedAt:""}})}catch(l){i.warn("Failed to parse complete event",{error:String(l)})}}),a.addEventListener("error",o=>{if(o instanceof MessageEvent)try{const l=JSON.parse(o.data);s._handleError(l.error)}catch{s._handleError("Deployment failed")}else i.debug("Watch connection ended",{appId:r}),e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null)}),a.onerror=()=>{e.isDeploying&&!e.stage&&i.warn("Watch connection failed - no deployment in progress?",{appId:r}),e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null)}},reset(){t().debug("Resetting deployment store",{appId:e.appId,hadLogs:e.logs.length}),e.eventSource&&(e.eventSource.close(),e.eventSource=null),e.appId=null,e.isDeploying=!1,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null},disconnect(){const r=t();e.eventSource&&(r.debug("Disconnecting EventSource",{appId:e.appId}),e.eventSource.close(),e.eventSource=null)}}}),Kae=T.createContext(null);function K3(){const e=T.useContext(Kae);if(!e)throw new Error("useDeploymentStore must be used within a DeploymentStoreProvider");return e}function qIe({children:e}){const t=vn(),n=T.useMemo(()=>VIe.create({appId:null,isDeploying:!1,logs:[],stage:null,error:null},{log:jt.deployment,invalidateQueries:i=>{t.invalidateQueries({queryKey:["apps"]}),t.invalidateQueries({queryKey:["apps",i]}),t.invalidateQueries({queryKey:["apps",i,"deployments"]})}}),[t]),r=T.useRef(n);return r.current=n,T.useEffect(()=>()=>{r.current?.disconnect()},[]),f.jsx(Kae.Provider,{value:n,children:e})}const Yae=T.createContext(null);function Op(){const e=T.useContext(Yae);if(!e)throw new Error("useStore must be used within a StoreProvider");return e}function GIe(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/terminal`}function KIe({children:e,wsUrl:t=GIe(),reconnectInterval:n=2e3,maxReconnectAttempts:r=10}){const i=T.useRef(null),a=T.useRef(0),s=T.useRef(void 0),o=T.useRef(null),[,l]=T.useState({}),u=T.useCallback(d=>{i.current?.readyState===WebSocket.OPEN?(jt.ws.debug("send",{type:d.type}),i.current.send(JSON.stringify(d))):jt.ws.warn("send dropped (WebSocket not open)",{type:d.type,readyState:i.current?.readyState??"no socket"})},[]);if(!o.current){const d={send:u,log:jt};o.current=OIe.create({},d)}const p=o.current;return T.useEffect(()=>{p.setMaxReconnectAttempts(r)},[p,r]),T.useEffect(()=>{let d=!0;const m=()=>{const g=i.current;if(g&&(g.readyState===WebSocket.CONNECTING||g.readyState===WebSocket.OPEN))return;const x=new WebSocket(t);i.current=x,x.onopen=()=>{d&&(jt.ws.info("WebSocket connected"),p.setConnected(!0),a.current=0)},x.onmessage=S=>{if(d)try{const b=JSON.parse(S.data);p.handleMessage(b)}catch(b){jt.ws.error("Failed to parse WebSocket message",{error:String(b)})}},x.onclose=()=>{if(d)if(jt.ws.info("WebSocket disconnected"),p.setConnected(!1),i.current===x&&(i.current=null),a.current<r){a.current++,p.setReconnectAttempt(a.current);const S=n*Math.pow(1.5,a.current-1);jt.ws.info("Scheduling reconnect",{attempt:a.current,delay:S}),s.current=setTimeout(m,S)}else jt.ws.warn("Max reconnect attempts reached"),p.setReconnectAttempt(a.current)},x.onerror=S=>{jt.ws.error("WebSocket error",{event:String(S)})}};return m(),()=>{d=!1,s.current&&clearTimeout(s.current);const g=i.current;g?.readyState===WebSocket.OPEN&&g.close(),i.current=null}},[t,n,r,p]),T.useEffect(()=>{l({})},[]),f.jsx(Yae.Provider,{value:p,children:e})}function Xae(){const e=Op(),{setTheme:t,resolvedTheme:n,theme:r}=xp(),{data:i}=sTe(),a=T.useRef(void 0),s=T.useRef(!1),o=T.useRef(!1);T.useEffect(()=>Rm(()=>e.broadcastedTheme,p=>{p&&(o.current=!0,t(p),e.clearBroadcastedTheme(),setTimeout(()=>{o.current=!1},0))},{fireImmediately:!0}),[e,t]),T.useEffect(()=>{let u=document.querySelector('link[rel="icon"]');u||(u=document.createElement("link"),u.rel="icon",document.head.appendChild(u)),u.type="image/png",u.href="/logo.png"},[]),T.useEffect(()=>{const u=s.current&&i&&a.current===!1;a.current=i,s.current=!0,n&&u&&yt("/api/config/sync-claude-theme",{method:"POST",body:JSON.stringify({resolvedTheme:n})}).catch(()=>{})},[i,n]);const l=T.useCallback(u=>{if(!o.current&&(t(u),e.syncTheme(u),i)){const p=u==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":u;yt("/api/config/sync-claude-theme",{method:"POST",body:JSON.stringify({resolvedTheme:p})}).catch(()=>{})}},[t,e,i]);return{theme:r??"system",resolvedTheme:n,syncClaudeCode:i,changeTheme:l,isUpdating:!1}}let s2=!1;const aW={activeTabId:null,focusedTerminals:{},currentView:null,currentTaskId:null,isTabVisible:null,viewUpdatedAt:null};function Zae(){const e=vn(),t=T.useRef(void 0),n=T.useRef({}),{data:r=aW,isLoading:i}=ln({queryKey:["terminal-view-state"],queryFn:async()=>{const m=await fetch("/api/terminal-view-state");if(!m.ok)throw new Error("Failed to fetch terminal view state");return m.json()},staleTime:2e3}),a=tn({mutationFn:async m=>{const g=await fetch("/api/terminal-view-state",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(m)});if(!g.ok)throw new Error("Failed to update terminal view state");return g.json()},onSuccess:m=>{e.setQueryData(["terminal-view-state"],m)}}),s=T.useRef(a);s.current=a;const o=T.useCallback(m=>{const g=n.current;n.current={...g,...m,focusedTerminals:m.focusedTerminals||g.focusedTerminals?{...g.focusedTerminals,...m.focusedTerminals}:void 0};const x=n.current;e.setQueryData(["terminal-view-state"],S=>{const b=S??aW;return{activeTabId:x.activeTabId!==void 0?x.activeTabId:b.activeTabId,focusedTerminals:{...b.focusedTerminals,...x.focusedTerminals},currentView:x.currentView!==void 0?x.currentView:b.currentView,currentTaskId:x.currentTaskId!==void 0?x.currentTaskId:b.currentTaskId,isTabVisible:x.isTabVisible!==void 0?x.isTabVisible:b.isTabVisible,viewUpdatedAt:x.viewUpdatedAt!==void 0?x.viewUpdatedAt:b.viewUpdatedAt}}),t.current&&clearTimeout(t.current),t.current=setTimeout(()=>{s.current.mutate(n.current),n.current={}},500)},[e]),l=T.useCallback((m,g)=>{if(g===null){const x=e.getQueryData(["terminal-view-state"]);if(x){const{[m]:S,...b}=x.focusedTerminals;o({focusedTerminals:b})}}else o({focusedTerminals:{[m]:g}})},[e,o]),u=T.useCallback(m=>r.focusedTerminals[m]??null,[r.focusedTerminals]),p=T.useRef(!1);T.useEffect(()=>{if(s2){p.current=!1;return}s2=!0,p.current=!0;const m=()=>{o({isTabVisible:document.visibilityState==="visible",viewUpdatedAt:new Date().toISOString()})};return document.addEventListener("visibilitychange",m),m(),()=>{document.removeEventListener("visibilitychange",m),p.current&&(s2=!1)}},[o]);const d=T.useCallback((m,g,x)=>{o({currentView:m,currentTaskId:g,activeTabId:x,viewUpdatedAt:new Date().toISOString()})},[o]);return{viewState:r,isLoading:i,getFocusedTerminal:u,setFocusedTerminal:l,updateViewTracking:d}}function Ki(e,t){const n=e.toLowerCase(),r=t.toLowerCase();if(n===r)return 100;if(n.startsWith(r))return 80;if(n.includes(r))return 60;let i=0,a=0,s=0;for(;i<n.length&&a<r.length;)n[i]===r[a]&&(s+=1,a++),i++;return a===r.length?s:0}function YIe(e,t){return t.trim()?e.map(r=>{let i=Ki(r.label,t);if(r.keywords)for(const a of r.keywords){const s=Ki(a,t);s>i&&(i=s)}return{command:r,score:i}}).filter(({score:r})=>r>0).sort((r,i)=>i.score-r.score).map(({command:r})=>r):e}function XIe(e){const t=new Map;for(const n of e){const r=t.get(n.category)||[];r.push(n),t.set(n.category,r)}return t}function ZIe({open:e,onOpenChange:t,onNewTask:n,onShowShortcuts:r,onOpenInEditor:i}){const{t:a}=wt("navigation"),[s,o]=T.useState(!1),l=e??s,u=t??o,[p,d]=T.useState(""),[m,g]=T.useState(0),x=T.useRef(null),S=T.useRef(null),b=Br(),y=T.useMemo(()=>[{id:"goto-tasks",label:a("commandPalette.commands.goToTasks"),shortcut:"meta+1",keywords:["kanban","board","home"],category:"navigation",icon:f.jsx(J,{icon:wm,size:16,strokeWidth:2}),action:()=>{b({to:"/tasks"}),u(!1)}},{id:"goto-terminals",label:a("commandPalette.commands.goToTerminals"),shortcut:"meta+2",keywords:["shell","console","cli"],category:"navigation",icon:f.jsx(J,{icon:ESe,size:16,strokeWidth:2}),action:()=>{b({to:"/terminals"}),u(!1)}},{id:"goto-task-terminals",label:a("commandPalette.commands.goToTaskTerminals"),shortcut:"meta+i",keywords:["tasks","shell","console","cli"],category:"navigation",icon:f.jsx(J,{icon:wm,size:16,strokeWidth:2}),action:()=>{b({to:"/terminals",search:{tab:"all-tasks"}}),u(!1)}},{id:"goto-repositories",label:a("commandPalette.commands.goToRepositories"),shortcut:"meta+3",keywords:["repos","git","projects"],category:"navigation",icon:f.jsx(J,{icon:wSe,size:16,strokeWidth:2}),action:()=>{b({to:"/repositories"}),u(!1)}},{id:"goto-apps",label:a("commandPalette.commands.goToApps"),shortcut:"meta+4",keywords:["deploy","deployment","docker","containers"],category:"navigation",icon:f.jsx(J,{icon:op,size:16,strokeWidth:2}),action:()=>{b({to:"/apps"}),u(!1)}},{id:"goto-review",label:a("commandPalette.commands.goToReview"),shortcut:"meta+5",keywords:["pr","pull request","issues","github"],category:"navigation",icon:f.jsx(J,{icon:ju,size:16,strokeWidth:2}),action:()=>{b({to:"/review"}),u(!1)}},{id:"goto-monitoring",label:a("commandPalette.commands.goToMonitoring"),shortcut:"meta+6",keywords:["system","cpu","memory","processes","usage"],category:"navigation",icon:f.jsx(J,{icon:Ane,size:16,strokeWidth:2}),action:()=>{b({to:"/monitoring"}),u(!1)}},{id:"goto-settings",label:a("commandPalette.commands.goToSettings"),shortcut:"meta+,",keywords:["preferences","config","configuration"],category:"navigation",icon:f.jsx(J,{icon:Pne,size:16,strokeWidth:2}),action:()=>{b({to:"/settings"}),u(!1)}},{id:"new-task",label:a("commandPalette.commands.newTask"),shortcut:"meta+j",keywords:["create","add"],category:"actions",icon:f.jsx(J,{icon:Ed,size:16,strokeWidth:2}),action:()=>{u(!1),n?.()}},{id:"open-in-editor",label:a("commandPalette.commands.openInEditor"),shortcut:"meta+e",keywords:["editor","code","vscode","cursor","folder","path"],category:"actions",icon:f.jsx(J,{icon:LD,size:16,strokeWidth:2}),action:()=>{u(!1),i?.()}},{id:"show-shortcuts",label:a("commandPalette.commands.keyboardShortcuts"),shortcut:"meta+/",keywords:["help","hotkeys","keys"],category:"actions",icon:f.jsx(J,{icon:Nne,size:16,strokeWidth:2}),action:()=>{u(!1),r?.()}}],[b,n,r,i,u,a]),v=T.useMemo(()=>YIe(y,p),[y,p]),_=T.useMemo(()=>XIe(v),[v]),C=T.useMemo(()=>{const R=[],O=["navigation","actions"];for(const N of O){const D=_.get(N);D&&R.push(...D)}return R},[_]);T.useEffect(()=>{g(0)},[p]),T.useEffect(()=>{if(!S.current)return;const R=S.current.querySelector('[data-selected="true"]');R&&R.scrollIntoView({block:"nearest"})},[m]),ya("meta+k",()=>u(!0),{allowInInput:!0,allowInTerminal:!0}),ya("meta+1",()=>b({to:"/tasks"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+2",()=>b({to:"/terminals"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+i",()=>{b({to:"/terminals",search:{tab:"all-tasks"}})},{allowInInput:!0,allowInTerminal:!0}),ya("meta+3",()=>b({to:"/repositories"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+4",()=>b({to:"/apps"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+5",()=>b({to:"/review"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+6",()=>b({to:"/monitoring"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+,",()=>b({to:"/settings"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+j",()=>{n?.()},{allowInInput:!1,deps:[n]}),ya("meta+/",()=>{r?.()},{allowInInput:!0,allowInTerminal:!0,deps:[r]}),ya("meta+e",()=>{i?.()},{allowInInput:!0,allowInTerminal:!0,deps:[i]});const w=T.useCallback(R=>{switch(R.key){case"ArrowDown":R.preventDefault(),g(O=>Math.min(O+1,C.length-1));break;case"ArrowUp":R.preventDefault(),g(O=>Math.max(O-1,0));break;case"Enter":R.preventDefault(),C[m]&&C[m].action();break;case"Escape":R.preventDefault(),u(!1);break;case"1":R.preventDefault(),b({to:"/tasks"}),u(!1);break;case"2":R.preventDefault(),b({to:"/terminals"}),u(!1);break;case"3":R.preventDefault(),b({to:"/repositories"}),u(!1);break;case"4":R.preventDefault(),b({to:"/apps"}),u(!1);break;case"5":R.preventDefault(),b({to:"/review"}),u(!1);break;case"6":R.preventDefault(),b({to:"/monitoring"}),u(!1);break}},[C,m,u,b]);T.useEffect(()=>{l&&(d(""),g(0),setTimeout(()=>x.current?.focus(),50))},[l]),T.useEffect(()=>{const R=O=>{if(O.data?.type==="vibora:action")switch(O.data.action){case"openCommandPalette":u(!0);break;case"openNewTask":n?.();break;case"showShortcuts":r?.();break}};return window.addEventListener("message",R),()=>window.removeEventListener("message",R)},[u,n,r]);let A=0;return f.jsx(Xo,{open:l,onOpenChange:u,children:f.jsxs(Zo,{className:"sm:max-w-lg p-0 gap-0 overflow-hidden",showCloseButton:!1,onKeyDown:w,children:[f.jsxs("div",{className:"flex items-center border-b border-border px-3",children:[f.jsx("span",{className:"text-muted-foreground mr-2",children:">"}),f.jsx($t,{ref:x,value:p,onChange:R=>d(R.target.value),placeholder:a("commandPalette.placeholder"),className:"border-0 ring-0 focus-visible:ring-0 focus-visible:ring-offset-0 px-0 h-12"}),f.jsx("kbd",{className:"pointer-events-none ml-2 inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:"Esc"})]}),f.jsx("div",{ref:S,className:"max-h-80 overflow-y-auto p-2",children:v.length===0?f.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("commandPalette.noResults")}):f.jsx(f.Fragment,{children:["navigation","actions"].map(R=>{const O=_.get(R);return!O||O.length===0?null:f.jsxs("div",{className:"mb-2 last:mb-0",children:[f.jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:a(`commandPalette.categories.${R}`)}),O.map(N=>{const D=A++,L=D===m;return f.jsxs("button",{"data-selected":L,onClick:()=>N.action(),onMouseEnter:()=>g(D),className:Be("flex w-full items-center gap-3 rounded-md px-2 py-2 text-sm",L?"bg-accent text-accent-foreground":"text-foreground hover:bg-accent/50"),children:[N.icon&&f.jsx("span",{className:"text-muted-foreground",children:N.icon}),f.jsx("span",{className:"flex-1 text-left",children:N.label}),N.shortcut&&f.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:Fne(N.shortcut)})]},N.id)})]},R)})})})]})})}const sW={sm:"w-8 h-8",md:"w-9 h-9 md:w-12 md:h-12",lg:"w-12 h-12 md:w-16 md:h-16"};function QIe({className:e,rows:t=100,cols:n=10,tileClassName:r,tileSize:i="md"}){return f.jsx("div",{className:Be("relative z-0 flex w-full h-full justify-center",e),children:Array.from({length:t}).map((a,s)=>f.jsx("div",{className:Be(sW[i],"border-l dark:border-neutral-900 border-neutral-200 relative",r),children:Array.from({length:n}).map((o,l)=>f.jsx("div",{className:Be(sW[i],"border-r border-t dark:border-neutral-900 border-neutral-200 relative hover:bg-tile transition-colors",r)},`col-${l}`))},`row-${s}`))})}const JIe=["/","/tasks","/terminals","/worktrees","/repositories","/review","/monitoring","/settings"];function eDe(){const e=Ei({select:n=>n.location.pathname});return JIe.some(n=>e===n||e.startsWith(n+"/"))?f.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none -z-10",children:f.jsx(QIe,{rows:100,cols:50,tileSize:"sm"})}):null}if(!T.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!eae)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");function tDe(e){e()}function nDe(e){e||(e=tDe),mRe({reactionScheduler:e})}function rDe(e){return bRe(e)}var iDe=1e4,aDe=1e4,sDe=(function(){function e(t){var n=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(r){r===void 0&&(r=iDe),clearTimeout(n.sweepTimeout),n.sweepTimeout=void 0;var i=Date.now();n.registrations.forEach(function(a,s){i-a.registeredAt>=r&&(n.finalize(a.value),n.registrations.delete(s))}),n.registrations.size>0&&n.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,r){this.registrations.set(r,{value:n,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.registrations.delete(t)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sweepTimeout===void 0&&(this.sweepTimeout=setTimeout(this.sweep,aDe))}}),e})(),oDe=typeof FinalizationRegistry<"u"?FinalizationRegistry:sDe,rL=new oDe(function(e){var t;(t=e.reaction)===null||t===void 0||t.dispose(),e.reaction=null});function oW(e){e.reaction=new Ml("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),(t=e.onStoreChange)===null||t===void 0||t.call(e)})}function lDe(e,t){t===void 0&&(t="observed");var n=le.useRef(null);if(!n.current){var r={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(o){return rL.unregister(r),r.onStoreChange=o,r.reaction||(oW(r),r.stateVersion=Symbol()),function(){var l;r.onStoreChange=null,(l=r.reaction)===null||l===void 0||l.dispose(),r.reaction=null}},getSnapshot:function(){return r.stateVersion}};n.current=r}var i=n.current;i.reaction||(oW(i),rL.register(n,i,i)),le.useDebugValue(i.reaction,rDe),_M.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getSnapshot);var a,s;if(i.reaction.track(function(){try{a=e()}catch(o){s=o}}),s)throw s;return a}var o2,l2,Qae=typeof Symbol=="function"&&Symbol.for,uDe=(l2=(o2=Object.getOwnPropertyDescriptor(function(){},"name"))===null||o2===void 0?void 0:o2.configurable)!==null&&l2!==void 0?l2:!1,lW=Qae?Symbol.for("react.forward_ref"):typeof T.forwardRef=="function"&&T.forwardRef(function(e){return null}).$$typeof,uW=Qae?Symbol.for("react.memo"):typeof T.memo=="function"&&T.memo(function(e){return null}).$$typeof;function Rp(e,t){var n;if(uW&&e.$$typeof===uW)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var r=(n=void 0)!==null&&n!==void 0?n:!1,i=e,a=e.displayName||e.name;if(lW&&e.$$typeof===lW&&(r=!0,i=e.render,typeof i!="function"))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var s=function(o,l){return lDe(function(){return i(o,l)},a)};return s.displayName=e.displayName,uDe&&Object.defineProperty(s,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(s.contextTypes=e.contextTypes),r&&(s=T.forwardRef(s)),s=T.memo(s),dDe(e,s),s}var cDe={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function dDe(e,t){Object.keys(e).forEach(function(n){cDe[n]||Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}var u2;nDe(Fr.unstable_batchedUpdates);u2=rL.finalizeAllImmediately;const fDe=Rp(function(){const t=Op();if(t.connected||!t.hasEverConnected)return null;const n=t.reconnectAttempt>0&&t.reconnectAttempt<t.maxReconnectAttempts,r=t.reconnectAttempt>=t.maxReconnectAttempts;return f.jsx("div",{className:Be("flex items-center justify-center gap-2 px-4 py-2 text-sm font-medium","border-b",r?"bg-destructive/10 border-destructive/30 text-destructive":"bg-amber-500/10 border-amber-500/30 text-amber-600 dark:text-amber-400"),role:"alert","aria-live":"polite",children:r?f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:er,size:16,strokeWidth:2}),f.jsx("span",{children:"Connection lost. Please check if the server is running."})]}):n?f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:Nt,size:16,strokeWidth:2,className:"animate-spin"}),f.jsxs("span",{children:["Reconnecting... (attempt ",t.reconnectAttempt,"/",t.maxReconnectAttempts,")"]})]}):f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:er,size:16,strokeWidth:2}),f.jsx("span",{children:"Disconnected from server"})]})})});function pDe(){return ln({queryKey:["system","dependencies"],queryFn:()=>yt("/api/system/dependencies"),staleTime:30*1e3,refetchOnWindowFocus:!0})}const cW="npm install -g @anthropic/claude-code",hDe="https://docs.anthropic.com/en/docs/claude-code/overview";function mDe(){const{data:e,isLoading:t}=pDe(),[n,r]=T.useState(!1),[i,a]=T.useState(!1),s=T.useCallback(async()=>{try{await navigator.clipboard.writeText(cW),a(!0),setTimeout(()=>a(!1),2e3)}catch{}},[]),o=T.useCallback(()=>{r(!0)},[]);return t||n||e?.claudeCode?.installed?null:f.jsxs("div",{className:Be("flex items-center justify-between gap-4 px-4 py-3","border-b bg-amber-500/10 border-amber-500/30"),role:"alert",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(J,{icon:er,size:18,strokeWidth:2,className:"shrink-0 text-amber-600 dark:text-amber-400"}),f.jsxs("div",{className:"flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-4",children:[f.jsx("span",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:"Claude Code CLI not found"}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("code",{className:"rounded bg-amber-500/20 px-2 py-0.5 text-xs font-mono text-amber-700 dark:text-amber-300",children:cW}),f.jsx("button",{onClick:s,className:Be("p-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),title:i?"Copied!":"Copy to clipboard",children:f.jsx(J,{icon:i?Dr:kw,size:14,strokeWidth:2})})]})]})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("a",{href:hDe,target:"_blank",rel:"noopener noreferrer",className:Be("text-xs font-medium px-2 py-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),children:"View Docs"}),f.jsx("button",{onClick:o,className:Be("p-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),title:"Dismiss",children:f.jsx(J,{icon:Mr,size:16,strokeWidth:2})})]})]})}const gDe=[{titleKey:"navigation",items:[{labelKey:"goToTasks",shortcut:"meta+1"},{labelKey:"goToTerminals",shortcut:"meta+2"},{labelKey:"goToTaskTerminals",shortcut:"meta+i"},{labelKey:"goToRepositories",shortcut:"meta+3"},{labelKey:"goToApps",shortcut:"meta+4"},{labelKey:"goToReview",shortcut:"meta+5"},{labelKey:"goToMonitoring",shortcut:"meta+6"},{labelKey:"goToSettings",shortcut:"meta+,"}]},{titleKey:"actions",items:[{labelKey:"commandPalette",shortcut:"meta+k"},{labelKey:"newTask",shortcut:"meta+j"},{labelKey:"openInEditor",shortcut:"meta+e"},{labelKey:"keyboardShortcuts",shortcut:"meta+/"}]},{titleKey:"terminals",items:[{labelKey:"newTerminal",shortcut:"meta+d"},{labelKey:"closeTerminal",shortcut:"meta+w"}]},{titleKey:"general",items:[{labelKey:"closeModal",shortcut:"escape"},{labelKey:"submitForm",shortcut:"meta+enter"}]}];function bDe({open:e,onOpenChange:t}){const{t:n}=wt("navigation");return f.jsx(Xo,{open:e,onOpenChange:t,children:f.jsxs(Zo,{className:"sm:max-w-md",children:[f.jsx(Ul,{children:f.jsx($l,{children:n("shortcuts.title")})}),f.jsx(Cg,{className:"max-h-[60vh]",children:f.jsx("div",{className:"space-y-4 mt-2 pr-4",children:gDe.map(r=>f.jsxs("div",{children:[f.jsx("h3",{className:"text-xs font-medium text-muted-foreground mb-2",children:n(`shortcuts.groups.${r.titleKey}`)}),f.jsx("div",{className:"space-y-1",children:r.items.map(i=>f.jsxs("div",{className:"flex items-center justify-between py-1.5",children:[f.jsx("span",{className:"text-sm",children:n(`shortcuts.labels.${i.labelKey}`)}),f.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:Fne(i.shortcut)})]},i.shortcut))})]},r.titleKey))})})]})})}function vDe(e,t){return e&&(e==="~"?t:e.startsWith("~/")?t+e.slice(1):e)}const yDe={vscode:"vscode",cursor:"cursor",windsurf:"windsurf",zed:"zed",antigravity:"antigravity"};function eC(e,t,n,r){const i=yDe[t];if(!n)return`${i}://file${e}`;const a=r!==22?`${n}:${r}`:n;return`${i}://vscode-remote/ssh-remote+${a}${e}`}function Y3(e){return{vscode:"VS Code",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",antigravity:"Antigravity"}[e]}function Al(e){window.parent!==window?window.parent.postMessage({type:"vibora:openUrl",url:e},"*"):window.open(e,"_blank")}function xDe({open:e,onOpenChange:t}){const{t:n}=wt("navigation"),[r,i]=T.useState(""),[a,s]=T.useState(!1),{data:o}=B0(),{data:l}=U0(),{data:u}=$0(),{data:p}=nTe();T.useEffect(()=>{e&&i("")},[e]);const d=()=>{if(!r.trim())return;const x=vDe(r.trim(),p),S=eC(x,o??"vscode",l??"",u??22);Al(S),t(!1)},m=x=>{i(x)},g=Y3(o??"vscode");return f.jsxs(f.Fragment,{children:[f.jsx(Xo,{open:e,onOpenChange:t,children:f.jsxs(Zo,{className:"sm:max-w-md",children:[f.jsxs(Ul,{children:[f.jsx($l,{children:n("openInEditor.title")}),f.jsx(wp,{children:n("openInEditor.description",{editor:g})})]}),f.jsx("div",{className:"space-y-4",children:f.jsxs("div",{className:"space-y-2",children:[f.jsx("label",{className:"text-sm font-medium",children:n("openInEditor.pathLabel")}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx($t,{value:r,onChange:x=>i(x.target.value),placeholder:n("openInEditor.pathPlaceholder"),onKeyDown:x=>x.key==="Enter"&&d(),className:"flex-1 font-mono text-sm"}),f.jsx(Ae,{variant:"outline",size:"icon",onClick:()=>s(!0),title:n("openInEditor.browse"),children:f.jsx(J,{icon:ua,size:16,strokeWidth:2})})]}),f.jsx("p",{className:"text-xs text-muted-foreground",children:n("openInEditor.pathHint")})]})}),f.jsxs(Fu,{children:[f.jsx(Wf,{render:f.jsx(Ae,{variant:"outline"}),children:n("openInEditor.cancel")}),f.jsx(Ae,{onClick:d,disabled:!r.trim(),children:n("openInEditor.open")})]})]})}),f.jsx(ad,{open:a,onOpenChange:s,onSelect:m})]})}const SDe=({...e})=>{const{resolvedTheme:t}=xp();return f.jsx(CEe,{theme:t,className:"toaster group",icons:{success:f.jsx(J,{icon:vo,strokeWidth:2,className:"size-4"}),info:f.jsx(J,{icon:DSe,strokeWidth:2,className:"size-4"}),warning:f.jsx(J,{icon:er,strokeWidth:2,className:"size-4"}),error:f.jsx(J,{icon:jSe,strokeWidth:2,className:"size-4"}),loading:f.jsx(J,{icon:Nt,strokeWidth:2,className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...e})},Xi=qge({component:ADe});function EDe(){return NTe(),null}function _De(){return cie(),null}function wDe(){return Xae(),null}function CDe(){const e=Ei({select:n=>n.location}),{updateViewTracking:t}=Zae();return T.useEffect(()=>{const n=e.pathname;let r="other",i=null,a=null;n.startsWith("/tasks/")?(r="task-detail",i=n.split("/")[2]||null):n==="/terminals"&&(r="terminals",a=new URLSearchParams(e.search).get("tab")),t(r,i,a)},[e.pathname,e.search,t]),null}function TDe(){const e=Ei({select:t=>t.location});return T.useEffect(()=>{window.parent!==window&&window.parent.postMessage({type:"vibora:route",pathname:e.pathname,search:e.search},"*")},[e.pathname,e.search]),null}function ADe(){const[e,t]=T.useState(null),[n,r]=T.useState(!1),[i,a]=T.useState(!1),[s,o]=T.useState(!1),l=typeof window<"u"&&window.parent!==window,u=T.useCallback(x=>{t(()=>x)},[]),p=T.useCallback(()=>{e?.()},[e]),d=T.useCallback(()=>{r(!0)},[]),m=T.useCallback(()=>{a(!0)},[]),g=T.useCallback(()=>{o(!0)},[]);return f.jsx(OEe,{children:f.jsxs("div",{className:"flex h-screen flex-col overflow-x-hidden bg-background text-foreground",children:[f.jsx(EDe,{}),f.jsx(_De,{}),f.jsx(wDe,{}),f.jsx(CDe,{}),f.jsx(TDe,{}),f.jsx(fDe,{}),f.jsx(mDe,{}),f.jsx(ATe,{onNewTaskRef:u,onOpenCommandPalette:m}),f.jsxs("main",{className:"isolate flex-1 overflow-hidden relative",children:[f.jsx(eDe,{}),f.jsx(Aee,{})]}),f.jsx(ZIe,{open:i,onOpenChange:a,onNewTask:p,onShowShortcuts:d,onOpenInEditor:g}),f.jsx(bDe,{open:n,onOpenChange:r}),f.jsx(xDe,{open:s,onOpenChange:o}),f.jsx(SDe,{position:l?"bottom-center":"bottom-right"})]})})}const kDe=Di("/")({beforeLoad:()=>{throw fM({to:"/tasks"})}}),iL="";function Jae(){const[e,t]=T.useState(new Map),[n,r]=T.useState(null),[i,a]=T.useState(!0),[s,o]=T.useState(!1),[l,u]=T.useState(null),p=T.useRef(null),d=T.useRef(0),m=T.useRef(!1),g=T.useCallback(async()=>{a(!0),u(null);try{const b=await fetch(`${iL}/api/worktrees/json`);if(!b.ok)throw new Error("Failed to fetch worktrees");const y=await b.json();t(new Map(y.worktrees.map(v=>[v.path,{...v,size:v.size||0,sizeFormatted:v.sizeFormatted||"0 B",branch:v.branch||"unknown"}]))),r(y.summary),a(!1),o(!1)}catch(b){u(b instanceof Error?b:new Error("Failed to load worktrees")),a(!1),o(!1)}},[]),x=T.useCallback(()=>{if(m.current){g();return}p.current?.close(),a(!0),o(!1),u(null),t(new Map),r(null);const b=new EventSource(`${iL}/api/worktrees`);p.current=b,b.addEventListener("worktree:basic",y=>{const v=JSON.parse(y.data);d.current=v.length,t(new Map(v.map(_=>[_.path,{..._,size:0,sizeFormatted:"...",branch:"..."}]))),a(!1),o(v.length>0)}),b.addEventListener("worktree:details",y=>{const v=JSON.parse(y.data);t(_=>{const C=new Map(_),w=C.get(v.path);return w&&C.set(v.path,{...w,size:v.size,sizeFormatted:v.sizeFormatted,branch:v.branch}),C}),d.current--,d.current<=0&&o(!1)}),b.addEventListener("worktree:complete",y=>{const v=JSON.parse(y.data);r(v),o(!1),b.close()}),b.addEventListener("worktree:error",y=>{const{path:v}=JSON.parse(y.data);jt.viewer.error("Error loading worktree details",{path:v}),d.current--,d.current<=0&&o(!1)}),b.onerror=()=>{b.close(),jt.viewer.info("SSE connection failed, trying JSON fallback"),m.current=!0,g()}},[g]);return T.useEffect(()=>(x(),()=>{p.current?.close()}),[x]),{worktrees:T.useMemo(()=>Array.from(e.values()).sort((y,v)=>y.isOrphaned!==v.isOrphaned?y.isOrphaned?-1:1:new Date(v.lastModified).getTime()-new Date(y.lastModified).getTime()),[e]),summary:n,isLoading:i,isLoadingDetails:s,error:l,refetch:x}}function ese(){const e=vn();return tn({mutationFn:({worktreePath:t,repoPath:n,deleteLinkedTask:r})=>yt(`${iL}/api/worktrees`,{method:"DELETE",body:JSON.stringify({worktreePath:t,repoPath:n,deleteLinkedTask:r})}),onSuccess:()=>{e.invalidateQueries({queryKey:["worktrees"]}),e.invalidateQueries({queryKey:["tasks"]})}})}const ODe=kd("h-5 gap-1 rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-2.5! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-colors overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/20 dark:bg-input/30",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function Jr({className:e,variant:t="default",render:n,...r}){return PCe({defaultTagName:"span",props:Ho({className:Be(ODe({className:e,variant:t}))},r),render:n,state:{slot:"badge",variant:t}})}function ei({className:e,size:t="default",...n}){return f.jsx("div",{"data-slot":"card","data-size":t,className:Be("ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-xs/relaxed ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col",e),...n})}function zE({className:e,...t}){return f.jsx("div",{"data-slot":"card-header",className:Be("gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",e),...t})}function HE({className:e,...t}){return f.jsx("div",{"data-slot":"card-title",className:Be("text-sm font-medium",e),...t})}function RDe({className:e,...t}){return f.jsx("div",{"data-slot":"card-description",className:Be("text-muted-foreground text-xs/relaxed",e),...t})}function ka({className:e,...t}){return f.jsx("div",{"data-slot":"card-content",className:Be("px-4 group-data-[size=sm]/card:px-3",e),...t})}function Oa({...e}){return f.jsx($_e,{"data-slot":"alert-dialog",...e})}function Ju({...e}){return f.jsx(Kne,{"data-slot":"alert-dialog-trigger",...e})}function NDe({...e}){return f.jsx(Wne,{"data-slot":"alert-dialog-portal",...e})}function IDe({className:e,...t}){return f.jsx(Une,{"data-slot":"alert-dialog-overlay",className:Be("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",e),...t})}function Ra({className:e,size:t="default",...n}){return f.jsxs(NDe,{children:[f.jsx(IDe,{}),f.jsx(Hne,{"data-slot":"alert-dialog-content","data-size":t,className:Be("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-3 rounded-xl p-4 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",e),...n})]})}function Na({className:e,...t}){return f.jsx("div",{"data-slot":"alert-dialog-header",className:Be("grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function Ia({className:e,...t}){return f.jsx("div",{"data-slot":"alert-dialog-footer",className:Be("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function Da({className:e,...t}){return f.jsx(Gne,{"data-slot":"alert-dialog-title",className:Be("text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function La({className:e,...t}){return f.jsx($ne,{"data-slot":"alert-dialog-description",className:Be("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",e),...t})}function ec({className:e,...t}){return f.jsx(Ae,{"data-slot":"alert-dialog-action",className:Be(e),...t})}function Pa({className:e,variant:t="outline",size:n="default",...r}){return f.jsx(Iw,{"data-slot":"alert-dialog-cancel",className:Be(e),render:f.jsx(Ae,{variant:t,size:n}),...r})}const Rr=T.forwardRef(({className:e,...t},n)=>f.jsx(ywe,{ref:n,className:Be("peer size-4 shrink-0 rounded border border-input ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-checked:bg-primary data-checked:border-primary data-checked:text-primary-foreground","flex items-center justify-center transition-colors",e),...t,children:f.jsx(xwe,{className:"flex items-center justify-center",children:f.jsx(J,{icon:Dr,size:12,strokeWidth:3})})}));Rr.displayName="Checkbox";const aL={IN_PROGRESS:"bg-muted-foreground/20 text-muted-foreground",IN_REVIEW:"bg-primary/20 text-primary",DONE:"bg-accent/20 text-accent",CANCELED:"bg-destructive/20 text-destructive",ORPHANED:"bg-destructive/20 text-destructive"},DDe=Di("/worktrees/")({component:jDe});function LDe(){const{t:e}=wt("common");return t=>{const n=new Date(t),i=new Date().getTime()-n.getTime(),a=Math.floor(i/1e3),s=Math.floor(a/60),o=Math.floor(s/60),l=Math.floor(o/24);return l>0?l===1?e("time.dayAgo"):e("time.daysAgo",{count:l}):o>0?o===1?e("time.hourAgo"):e("time.hoursAgo",{count:o}):s>0?s===1?e("time.minuteAgo"):e("time.minutesAgo",{count:s}):e("time.justNow")}}function dW({className:e}){return f.jsx("span",{className:`inline-block animate-pulse rounded bg-muted ${e}`})}function PDe({worktree:e,onDelete:t}){const{t:n}=wt("common"),{t:r}=wt("worktrees"),i=LDe(),[a,s]=T.useState(!1),[o,l]=T.useState(!1),[u,p]=T.useState(!1),d=e.sizeFormatted==="..."||e.branch==="...",m=!e.isOrphaned&&e.taskId,g=async()=>{l(!0);try{await t(e,u),s(!1)}catch{}finally{l(!1)}},x=S=>{s(S),S||p(!1)};return f.jsx(ei,{className:"transition-colors hover:border-border/80",children:f.jsxs(ka,{className:"flex items-start justify-between gap-4 py-4",children:[f.jsxs("div",{className:"min-w-0 flex-1 space-y-2",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("span",{className:"truncate font-medium",children:e.name}),e.isOrphaned?f.jsx(Jr,{className:Be("shrink-0",aL.ORPHANED),children:n("statuses.ORPHANED")}):e.taskStatus?f.jsx(Jr,{className:Be("shrink-0",aL[e.taskStatus]),children:n(`statuses.${e.taskStatus}`)}):null]}),f.jsxs("div",{className:"space-y-1 text-xs text-muted-foreground",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:ua,size:12,strokeWidth:2,className:"shrink-0"}),f.jsx("span",{className:"truncate font-mono",children:e.path})]}),f.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Rw,size:12,strokeWidth:2,className:"shrink-0"}),e.branch==="..."?f.jsx(dW,{className:"h-3 w-16"}):f.jsx("span",{className:"font-mono",children:e.branch})]}),f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Rne,size:12,strokeWidth:2,className:"shrink-0"}),e.sizeFormatted==="..."?f.jsx(dW,{className:"h-3 w-12"}):f.jsx("span",{children:e.sizeFormatted})]}),f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Tne,size:12,strokeWidth:2,className:"shrink-0"}),f.jsx("span",{children:i(e.lastModified)})]})]}),e.taskId&&e.taskTitle&&f.jsx("div",{className:"flex items-center gap-1.5 pt-1",children:f.jsxs(Rn,{to:"/tasks/$taskId",params:{taskId:e.taskId},className:"inline-flex items-center gap-1 text-foreground hover:underline",children:[f.jsx("span",{className:"truncate",children:e.taskTitle}),f.jsx(J,{icon:Mu,size:12,strokeWidth:2,className:"shrink-0"})]})})]})]}),f.jsxs(Oa,{open:a,onOpenChange:x,children:[f.jsx(Ju,{render:f.jsx(Ae,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground hover:text-destructive",disabled:d}),children:f.jsx(J,{icon:rs,size:14,strokeWidth:2})}),f.jsxs(Ra,{children:[f.jsxs(Na,{children:[f.jsx(Da,{children:r("delete.title")}),f.jsxs(La,{children:[r("delete.description")," ",f.jsx("span",{className:"font-mono",children:e.name}),".",u&&m&&f.jsxs(f.Fragment,{children:[" ",r("delete.linkedTaskWillBeDeleted",{title:e.taskTitle})]})," ",r("delete.cannotUndo")]}),m&&f.jsxs("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[f.jsx(Rr,{checked:u,onCheckedChange:S=>p(S===!0),disabled:o}),r("delete.alsoDeleteLinkedTask",{title:e.taskTitle})]})]}),f.jsxs(Ia,{children:[f.jsx(Pa,{disabled:o,children:n("buttons.cancel")}),f.jsxs(Ae,{variant:"destructive",onClick:g,disabled:o,className:"gap-2",children:[o&&f.jsx(J,{icon:Nt,size:14,strokeWidth:2,className:"animate-spin"}),n(o?"status.deleting":"buttons.delete")]})]})]})]})]})})}const MDe=["IN_PROGRESS","IN_REVIEW","DONE","CANCELED","ORPHANED"];function jDe(){const{t:e}=wt("common"),{t}=wt("worktrees"),{worktrees:n,summary:r,isLoading:i,isLoadingDetails:a,error:s,refetch:o}=Jae(),l=ese(),[u,p]=T.useState(new Set),[d,m]=T.useState(!1),[g,x]=T.useState(!1),[S,b]=T.useState(!1),y=O=>{p(N=>{const D=new Set(N);return D.has(O)?D.delete(O):D.add(O),D})},v=()=>{p(new Set)},_=T.useMemo(()=>u.size===0?n:n.filter(O=>!!(O.isOrphaned&&u.has("ORPHANED")||O.taskStatus&&u.has(O.taskStatus))),[n,u]),C=T.useMemo(()=>n.filter(O=>O.taskStatus==="DONE"||O.taskStatus==="CANCELED"),[n]),w=async()=>{if(C.length!==0){x(!0);try{for(const O of C)await l.mutateAsync({worktreePath:O.path,repoPath:O.repoPath,deleteLinkedTask:S});m(!1),o()}catch{}finally{x(!1)}}},A=O=>{m(O),O||b(!1)},R=async(O,N)=>{await l.mutateAsync({worktreePath:O.path,repoPath:O.repoPath,deleteLinkedTask:N}),o()};return f.jsxs("div",{className:"flex h-full flex-col",children:[f.jsxs("div",{className:"flex shrink-0 flex-col gap-2 border-b border-border bg-background px-4 py-2",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-4",children:[f.jsx("h1",{className:"text-sm font-medium",children:t("title")}),(r||n.length>0)&&f.jsxs("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[f.jsx("span",{children:t("summary.total",{count:r?.total??n.length})}),(r?.orphaned??n.filter(O=>O.isOrphaned).length)>0&&f.jsx("span",{className:"text-destructive",children:t("summary.orphaned",{count:r?.orphaned??n.filter(O=>O.isOrphaned).length})}),a?f.jsx("span",{className:"animate-pulse",children:e("status.calculating")}):r?f.jsx("span",{children:r.totalSizeFormatted}):null]})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[C.length>0&&f.jsxs(Oa,{open:d,onOpenChange:A,children:[f.jsxs(Ju,{render:f.jsx(Ae,{variant:"ghost",size:"sm",className:"gap-1.5 text-xs text-muted-foreground hover:text-destructive",disabled:a}),children:[f.jsx(J,{icon:kne,size:12,strokeWidth:2}),t("cleanup.button",{count:C.length})]}),f.jsxs(Ra,{children:[f.jsxs(Na,{children:[f.jsx(Da,{children:t("cleanup.title")}),f.jsxs(La,{children:[t("cleanup.description",{count:C.length}),S&&` ${t("cleanup.linkedTasksWillBeDeleted")}`]}),f.jsxs("div",{className:"space-y-3",children:[f.jsxs("p",{className:"text-sm text-muted-foreground",children:[C.filter(O=>O.taskStatus==="DONE").length>0&&f.jsxs("span",{className:"mr-3",children:[f.jsx("span",{className:"font-medium text-accent",children:C.filter(O=>O.taskStatus==="DONE").length})," ",t("cleanup.done")]}),C.filter(O=>O.taskStatus==="CANCELED").length>0&&f.jsxs("span",{children:[f.jsx("span",{className:"font-medium text-destructive",children:C.filter(O=>O.taskStatus==="CANCELED").length})," ",t("cleanup.canceled")]})]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[f.jsx(Rr,{checked:S,onCheckedChange:O=>b(O===!0),disabled:g}),t("cleanup.alsoDeleteLinkedTasks")]}),f.jsx("p",{className:"font-medium text-destructive text-xs",children:t("cleanup.cannotUndo")})]})]}),f.jsxs(Ia,{children:[f.jsx(Pa,{disabled:g,children:e("buttons.cancel")}),f.jsxs(Ae,{variant:"destructive",onClick:w,disabled:g,className:"gap-2",children:[g&&f.jsx(J,{icon:Nt,size:14,strokeWidth:2,className:"animate-spin"}),g?e("status.deleting"):t("delete.button",{count:C.length})]})]})]})]}),u.size>0&&f.jsxs(Ae,{variant:"ghost",size:"sm",onClick:v,className:"gap-1.5 text-xs",children:[f.jsx(J,{icon:Mr,size:12,strokeWidth:2}),e("buttons.clearFilters")]})]})]}),f.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:MDe.map(O=>{const N=u.has(O);return f.jsx("button",{onClick:()=>y(O),className:Be("rounded-full px-2.5 py-1 text-xs font-medium transition-colors",N?aL[O]:"bg-muted text-muted-foreground hover:bg-muted/80"),children:e(`statuses.${O}`)},O)})})]}),f.jsxs("div",{className:"flex-1 overflow-auto p-4",children:[i&&f.jsx("div",{className:"flex items-center justify-center py-12",children:f.jsx(J,{icon:Nt,size:24,strokeWidth:2,className:"animate-spin text-muted-foreground"})}),s&&f.jsxs("div",{className:"flex items-center gap-3 py-6 text-destructive",children:[f.jsx(J,{icon:er,size:20,strokeWidth:2}),f.jsx("span",{className:"text-sm",children:t("error.failedToLoad",{message:s.message})})]}),!i&&!s&&_.length===0&&f.jsx("div",{className:"py-12 text-muted-foreground",children:f.jsx("p",{className:"text-sm",children:u.size>0?t("empty.noMatch"):t("empty.noWorktrees")})}),!i&&f.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:_.map(O=>f.jsx(PDe,{worktree:O,onDelete:R},O.path))})]})]})}function ir(e,t="Assertion error"){if(!e)throw Error(t)}function Mm({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function sL(e,t){return t.sort(e==="horizontal"?FDe:BDe)}function FDe(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function BDe(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function tse(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function UDe({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,a=Number.MAX_VALUE;for(const s of t){const{x:o,y:l}=tse(r,s),u=e==="horizontal"?o:l;u<a&&(a=u,i=s)}return ir(i,"No rect found"),i}function nse(e){const{element:t,orientation:n,panels:r,separators:i}=e,a=sL(n,Array.from(t.children).filter(p=>p instanceof HTMLElement).map(p=>({element:p}))).map(({element:p})=>p),s=[];let o=!1,l,u=[];for(const p of a)if(p.hasAttribute("data-panel")){const d=r.find(m=>m.element===p);if(d){if(l){const m=l.element.getBoundingClientRect(),g=p.getBoundingClientRect();let x;if(o){const S=n==="horizontal"?new DOMRect(m.right,m.top,0,m.height):new DOMRect(m.left,m.bottom,m.width,0),b=n==="horizontal"?new DOMRect(g.left,g.top,0,g.height):new DOMRect(g.left,g.top,g.width,0);switch(u.length){case 0:{x=[S,b];break}case 1:{const y=u[0],v=UDe({orientation:n,rects:[m,g],targetRect:y.element.getBoundingClientRect()});x=[y,v===m?b:S];break}default:{x=u;break}}}else u.length?x=u:x=[n==="horizontal"?new DOMRect(m.right,g.top,g.left-m.right,g.height):new DOMRect(g.left,m.bottom,g.width,g.top-m.bottom)];for(const S of x)s.push({group:e,groupSize:Mm({group:e}),panels:[l,d],separator:"width"in S?void 0:S,rect:"width"in S?S:S.element.getBoundingClientRect()})}o=!1,l=d,u=[]}}else if(p.hasAttribute("data-separator")){const d=i.find(m=>m.element===p);d?u.push(d):(l=void 0,u=[])}else o=!0;return s}function $De(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function zDe(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function HDe(e){return e/100*window.innerHeight}function WDe(e){return e/100*window.innerWidth}function VDe(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function uS({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,a]=VDe(n);switch(a){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=zDe(t,i);break}case"em":{r=$De(t,i);break}case"vh":{r=HDe(i);break}case"vw":{r=WDe(i);break}}return r}function jo(e){return parseFloat(e.toFixed(3))}function fW(e){const{panels:t}=e,n=Mm({group:e});return n===0?t.map(r=>({collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:a}=r;let s=0;if(a.collapsedSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.collapsedSize});s=jo(p/n*100)}let o;if(a.defaultSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.defaultSize});o=jo(p/n*100)}let l=0;if(a.minSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.minSize});l=jo(p/n*100)}let u=100;if(a.maxSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.maxSize});u=jo(p/n*100)}return{collapsedSize:s,collapsible:a.collapsible===!0,defaultSize:o,minSize:l,maxSize:u,panelId:r.id}})}class qDe{#e={};addListener(t,n){const r=this.#e[t];return r===void 0?this.#e[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=this.#e[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,a=null;const s=Array.from(r);for(let o=0;o<s.length;o++){const l=s[o];try{l.call(null,n)}catch(u){a===null&&(i=!0,a=u)}}if(i)throw a}}removeAllListeners(){this.#e={}}removeListener(t,n){const r=this.#e[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}}function Sa(e,t,n=0){return Math.abs(jo(e)-jo(t))<=n}let Js={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const Kf=new qDe;function ql(){return Js}function bo(e){const t=typeof e=="function"?e(Js):e;if(Js===t)return Js;const n=Js;return Js={...Js,...t},t.cursorFlags!==void 0&&Kf.emit("cursorFlagsChange",Js.cursorFlags),t.interactionState!==void 0&&Kf.emit("interactionStateChange",Js.interactionState),t.mountedGroups!==void 0&&(Js.mountedGroups.forEach((r,i)=>{r.derivedPanelConstraints.forEach(a=>{if(a.collapsible){const{layout:s}=n.mountedGroups.get(i)??{};if(s){const o=Sa(a.collapsedSize,r.layout[a.panelId]),l=Sa(a.collapsedSize,s[a.panelId]);o&&!l&&(i.inMemoryLastExpandedPanelSizes[a.panelId]=s[a.panelId])}}})}),Kf.emit("mountedGroupsChange",Js.mountedGroups)),Js}const GDe=e=>e,c2=()=>{},rse=1,ise=2,ase=4,sse=8,pW={coarse:10,precise:5};function KDe({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(a=>{if(!a.disableCursor)switch(a.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(r===0&&i===0)return null;switch(n){case"active":{const a=(e&rse)!==0,s=(e&ise)!==0,o=(e&ase)!==0,l=(e&sse)!==0;if(e){if(a)return o?"se-resize":l?"ne-resize":"e-resize";if(s)return o?"sw-resize":l?"nw-resize":"w-resize";if(o)return"s-resize";if(l)return"n-resize"}break}}return r>0&&i>0?"move":r>0?"ew-resize":"ns-resize"}let d2,fl;function X3(){fl===void 0&&(fl=new CSSStyleSheet,document.adoptedStyleSheets=[fl]);const{cursorFlags:e,interactionState:t}=ql();switch(t.state){case"active":case"hover":{const n=KDe({cursorFlags:e,groups:t.hitRegions.map(i=>i.group),state:t.state}),r=`*{cursor: ${n} !important; ${t.state==="active"?"touch-action: none;":""} }`;if(d2===r)return;d2=r,n?fl.cssRules.length===0?fl.insertRule(r):fl.replaceSync(r):fl.cssRules.length===1&&fl.deleteRule(0);break}case"inactive":{d2=void 0,fl.cssRules.length===1&&fl.deleteRule(0);break}}}function YDe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function _y(e,t){return Sa(e,t)?0:e>t?1:-1}function Wh({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:r,maxSize:i=100,minSize:a=0}=e;if(_y(t,a)<0)if(r){const s=(n+a)/2;_y(t,s)<0?t=n:t=a}else t=a;return t=Math.min(i,t),t=jo(t),t}function wy({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(Sa(e,0))return t;const s=Object.values(t),o=Object.values(i),l=[...s],[u,p]=r;ir(u!=null,"Invalid first pivot index"),ir(p!=null,"Invalid second pivot index");let d=0;if(a==="keyboard"){{const x=e<0?p:u,S=n[x];ir(S,`Panel constraints not found for index ${x}`);const{collapsedSize:b=0,collapsible:y,minSize:v=0}=S;if(y){const _=s[x];if(ir(_!=null,`Previous layout not found for panel index ${x}`),Sa(_,b)){const C=v-_;_y(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}{const x=e<0?u:p,S=n[x];ir(S,`No panel constraints found for index ${x}`);const{collapsedSize:b=0,collapsible:y,minSize:v=0}=S;if(y){const _=s[x];if(ir(_!=null,`Previous layout not found for panel index ${x}`),Sa(_,v)){const C=_-b;_y(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}}{const x=e<0?1:-1;let S=e<0?p:u,b=0;for(;;){const v=s[S];ir(v!=null,`Previous layout not found for panel index ${S}`);const _=Wh({panelConstraints:n[S],size:100})-v;if(b+=_,S+=x,S<0||S>=n.length)break}const y=Math.min(Math.abs(e),Math.abs(b));e=e<0?0-y:y}{let x=e<0?u:p;for(;x>=0&&x<n.length;){const S=Math.abs(e)-Math.abs(d),b=s[x];ir(b!=null,`Previous layout not found for panel index ${x}`);const y=b-S,v=Wh({panelConstraints:n[x],size:y});if(!Sa(b,v)&&(d+=b-v,l[x]=v,d.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?x--:x++}}if(YDe(o,l))return i;{const x=e<0?p:u,S=s[x];ir(S!=null,`Previous layout not found for panel index ${x}`);const b=S+d,y=Wh({panelConstraints:n[x],size:b});if(l[x]=y,!Sa(y,b)){let v=b-y,_=e<0?p:u;for(;_>=0&&_<n.length;){const C=l[_];ir(C!=null,`Previous layout not found for panel index ${_}`);const w=C+v,A=Wh({panelConstraints:n[_],size:w});if(Sa(C,A)||(v-=A-C,l[_]=A),Sa(v,0))break;e>0?_--:_++}}}const m=Object.values(l).reduce((x,S)=>S+x,0);if(!Sa(m,100,.1))return i;const g=Object.keys(i);return l.reduce((x,S,b)=>(x[g[b]]=S,x),{})}function Rg(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||_y(e[n],t[n])!==0)return!1;return!0}function ose({event:e,hitRegions:t,initialLayoutMap:n,mountedGroups:r,pointerDownAtPoint:i}){let a=0;const s=new Map(r);t.forEach(o=>{const{group:l,groupSize:u}=o,{disableCursor:p,orientation:d,panels:m}=l;let g=0;i?d==="horizontal"?g=(e.clientX-i.x)/u*100:g=(e.clientY-i.y)/u*100:d==="horizontal"?g=e.clientX<0?-100:100:g=e.clientY<0?-100:100;const x=n.get(l),{defaultLayoutDeferred:S,derivedPanelConstraints:b,layout:y,separatorToPanels:v}=r.get(l)??{defaultLayoutDeferred:!1};if(b&&x&&y&&v){const _=wy({delta:g,initialLayout:x,panelConstraints:b,pivotIndices:o.panels.map(C=>m.indexOf(C)),prevLayout:y,trigger:"mouse-or-touch"});if(Rg(_,y)){if(g!==0&&!p)switch(d){case"horizontal":{a|=g<0?rse:ise;break}case"vertical":{a|=g<0?ase:sse;break}}}else{s.set(o.group,{defaultLayoutDeferred:S,derivedPanelConstraints:b,layout:_,separatorToPanels:v});const C=o.group.panels.map(({id:w})=>w).join(",");o.group.inMemoryLayouts[C]=_}}}),bo({cursorFlags:a,mountedGroups:s}),X3()}function hW(e){if(e.defaultPrevented||e.relatedTarget!==null||e.clientX===0&&e.clientY===0)return;const{interactionState:t,mountedGroups:n}=ql();t.state==="active"&&t.hitRegions.forEach(r=>{e.currentTarget===r.group.element&&ose({event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n})})}function YS(e){const t=e.parentElement;ir(t,"Parent group element not found");const{mountedGroups:n}=ql();for(const[r]of n)if(r.element===t)return r;throw Error("Could not find parent Group for separator element")}function dp({layout:e,panelConstraints:t}){const n=[...Object.values(e)],r=n.reduce((s,o)=>s+o,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(s=>`${s}%`).join(", ")}`);if(!Sa(r,100)&&n.length>0)for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=100/r*o;n[s]=l}let i=0;for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=Wh({panelConstraints:t[s],size:o});o!=l&&(i+=o-l,n[s]=l)}if(!Sa(i,0))for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=o+i,u=Wh({panelConstraints:t[s],size:l});if(o!==u&&(i-=u-o,n[s]=u,Sa(i,0)))break}const a=Object.keys(e);return n.reduce((s,o,l)=>(s[a[l]]=o,s),{})}function lse({groupId:e}){const t=()=>{const{mountedGroups:n}=ql();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:a,layout:s,separatorToPanels:o}=t(),l=dp({layout:n,panelConstraints:i});return r?s:(Rg(s,l)||bo(u=>({mountedGroups:new Map(u.mountedGroups).set(a,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:l,separatorToPanels:o})})),l)}}}function use(e){const{mountedGroups:t}=ql(),n=t.get(e);return ir(n,`Mounted Group ${e.id} not found`),n}function pf(e,t){const n=YS(e),r=use(n),i=n.separators.find(p=>p.element===e);ir(i,"Matching separator not found");const a=r.separatorToPanels.get(i);ir(a,"Matching panels not found");const s=a.map(p=>n.panels.indexOf(p)),o=lse({groupId:n.id}).getLayout(),l=wy({delta:t,initialLayout:o,panelConstraints:r.derivedPanelConstraints,pivotIndices:s,prevLayout:o,trigger:"keyboard"}),u=dp({layout:l,panelConstraints:r.derivedPanelConstraints});Rg(o,u)||bo(p=>({mountedGroups:new Map(p.mountedGroups).set(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,layout:u,separatorToPanels:r.separatorToPanels})}))}function mW(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=YS(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&pf(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&pf(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&pf(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&pf(t,-5);break}case"End":{e.preventDefault(),pf(t,100);break}case"Enter":{e.preventDefault();const r=YS(t),{derivedPanelConstraints:i,layout:a,separatorToPanels:s}=use(r),o=r.separators.find(d=>d.element===t);ir(o,"Matching separator not found");const l=s.get(o);ir(l,"Matching panels not found");const u=l[0],p=i.find(d=>d.panelId===u.id);if(ir(p,"Panel metadata not found"),p.collapsible){const d=a[u.id],m=p.collapsedSize===d?r.inMemoryLastExpandedPanelSizes[u.id]??p.minSize:p.collapsedSize;pf(t,m-d)}break}case"F6":{e.preventDefault();const r=YS(t).separators.map(s=>s.element),i=Array.from(r).findIndex(s=>s===e.currentTarget);ir(i!==null,"Index not found");const a=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[a].focus();break}case"Home":{e.preventDefault(),pf(t,-100);break}}}function XDe(e,t,n){let r,i={x:1/0,y:1/0};for(const a of t){const s=tse(n,a.rect);switch(e){case"horizontal":{s.x<=i.x&&(r=a,i=s);break}case"vertical":{s.y<=i.y&&(r=a,i=s);break}}}return r?{distance:i,hitRegion:r}:void 0}let cS;function ZDe(){return cS===void 0&&(typeof matchMedia=="function"?cS=!!matchMedia("(pointer:coarse)").matches:cS=!1),cS}function QDe(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:vW(e),b:vW(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;ir(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:bW(gW(n.a)),b:bW(gW(n.b))};if(i.a===i.b){const a=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let o=a.length;for(;o--;){const l=a[o];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(i.a-i.b)}const JDe=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function eLe(e){const t=getComputedStyle(cse(e)??e).display;return t==="flex"||t==="inline-flex"}function tLe(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||eLe(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||JDe.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function gW(e){let t=e.length;for(;t--;){const n=e[t];if(ir(n,"Missing node"),tLe(n))return n}return null}function bW(e){return e&&Number(getComputedStyle(e).zIndex)||0}function vW(e){const t=[];for(;e;)t.push(e),e=cse(e);return t}function cse(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}function nLe(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function rLe({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!(n instanceof HTMLElement)||n.contains(e)||e.contains(n))return!0;if(QDe(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(nLe(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function dse(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const a=ZDe()?pW.coarse:pW.precise,s=nse(i),o=XDe(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=a&&o.distance.y<=a&&rLe({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function yW(e){if(e.defaultPrevented)return;const{mountedGroups:t}=ql(),n=dse(e,t),r=new Set,i=new Set,a=new Set,s=new Map;let o=!1;n.forEach(l=>{r.add(l.group),l.panels.forEach(p=>{i.add(p)}),l.separator&&(a.add(l.separator),o||(o=!0,l.separator.element.focus()));const u=t.get(l.group);u&&s.set(l.group,u.layout)}),bo({interactionState:{hitRegions:n,initialLayoutMap:s,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function xW(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=ql();switch(t.state){case"active":{if(e.type!=="pointerleave"&&e.buttons===0){bo(r=>r.interactionState.state==="inactive"?r:{cursorFlags:0,interactionState:{state:"inactive"}});return}ose({event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint});break}default:{const r=dse(e,n);r.length===0?t.state!=="inactive"&&bo({interactionState:{state:"inactive"}}):bo({interactionState:{hitRegions:r,state:"hover"}}),X3();break}}}function SW(e){if(e.defaultPrevented)return;e.preventDefault();const{interactionState:t}=ql();t.state==="active"&&(bo({cursorFlags:0,interactionState:{state:"inactive"}}),X3())}function EW(e){let t=0,n=0;const r={};for(const a of e)if(a.defaultSize!==void 0){t++;const s=jo(a.defaultSize);n+=s,r[a.panelId]=s}else r[a.panelId]=void 0;const i=e.length-t;if(i!==0){const a=jo((100-n)/i);for(const s of e)s.defaultSize===void 0&&(r[s.panelId]=a)}return r}function iLe(e,t,n){const r=n[0];if(!r)return;const i=e.panels.find(s=>s.element===t);if(!i||!i.onResize)return;const a=Mm({group:e});i.onResize({asPercentage:jo(r.inlineSize/a*100),inPixels:r.inlineSize},i.id)}function aLe(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function sLe(e){let t=!0;const n=new Set,r=new Set,i=new ResizeObserver(g=>{for(const x of g){const{borderBoxSize:S,target:b}=x;if(b===e.element){if(t){if(Mm({group:e})===0)return;bo(y=>{const v=y.mountedGroups.get(e);if(v){const _=fW(e),C=v.defaultLayoutDeferred?EW(_):v.layout,w=dp({layout:C,panelConstraints:_});return!v.defaultLayoutDeferred&&Rg(C,w)&&aLe(v.derivedPanelConstraints,_)?y:{mountedGroups:new Map(y.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:_,layout:w,separatorToPanels:v.separatorToPanels})}}return y})}}else iLe(e,b,S)}});i.observe(e.element),e.panels.forEach(g=>{ir(!n.has(g.id),`Panel ids must be unique; id "${g.id}" was used more than once`),n.add(g.id),g.onResize&&i.observe(g.element)});const a=Mm({group:e}),s=fW(e),o=e.panels.map(({id:g})=>g).join(",");let l=e.defaultLayout;l&&e.panels.length!==Object.keys(l).length&&(l=void 0);const u=e.inMemoryLayouts[o]??l??EW(s),p=dp({layout:u,panelConstraints:s}),d=nse(e),m=bo(g=>{const x=new Map;return d.forEach(S=>{S.separator&&x.set(S.separator,S.panels)}),{mountedGroups:new Map(g.mountedGroups).set(e,{defaultLayoutDeferred:a===0,derivedPanelConstraints:s,layout:p,separatorToPanels:x})}});return e.element.addEventListener("pointerleave",hW),e.separators.forEach(g=>{ir(!r.has(g.id),`Separator ids must be unique; id "${g.id}" was used more than once`),r.add(g.id),g.element.addEventListener("keydown",mW)}),m.mountedGroups.size===1&&(window.addEventListener("pointerdown",yW),window.addEventListener("pointermove",xW),window.addEventListener("pointerup",SW)),function(){t=!1;const g=bo(x=>{const S=new Map(x.mountedGroups);return S.delete(e),{mountedGroups:S}});e.element.removeEventListener("pointerleave",hW),e.separators.forEach(x=>{x.element.removeEventListener("keydown",mW)}),g.mountedGroups.size===0&&(window.removeEventListener("pointerdown",yW),window.removeEventListener("pointermove",xW),window.removeEventListener("pointerup",SW)),i.disconnect()}}function Z3(e){const t=T.useId();return`${e??t}`}const Np=typeof window<"u"?T.useLayoutEffect:T.useEffect;function Q3(e){const t=T.useRef(e);return Np(()=>{t.current=e},[e]),T.useCallback(n=>t.current?.(n),[t])}function J3(...e){return Q3(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function oLe(e){const t=T.useRef({...e});return Np(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const fse="--react-resizable-panels--panel--pointer-events";function pse(e,t){const n=e.replace(/[^a-zA-Z0-9\-_]/g,""),r=t.replace(/[^a-zA-Z0-9\-_]/g,"");return`--react-resizable-panels--${n}--${r}`}const hse=T.createContext(null);function lLe(e,t){const n=T.useRef({getLayout:()=>({}),setLayout:GDe});T.useImperativeHandle(t,()=>n.current,[]),Np(()=>{Object.assign(n.current,lse({groupId:e}))})}function uLe({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:s,id:o,onLayoutChange:l,orientation:u="horizontal",style:p,...d}){const m=T.useRef({}),g=Q3(H=>{Rg(m.current,H)||(m.current=H,l?.(H))}),x=Z3(o),[S,b]=T.useState(!1),[y,v]=T.useState(null),[_,C]=T.useState(n??{}),[w,A]=T.useState([]),[R,O]=T.useState([]),N=T.useRef({lastExpandedPanelSizes:{},layouts:{}}),D=J3(v,a);lLe(x,s);const L=T.useMemo(()=>({id:x,orientation:u,registerPanel:H=>(A(j=>sL(u,[...j,H])),()=>{A(j=>j.filter(G=>G!==H))}),registerSeparator:H=>(O(j=>sL(u,[...j,H])),()=>{O(j=>j.filter(G=>G!==H))})}),[x,u]),z=oLe({defaultLayout:n,disableCursor:r}),P=T.useRef(null);Np(()=>{if(y===null)return;const H={defaultLayout:z.defaultLayout,disableCursor:!!z.disableCursor,disabled:!!i,element:y,id:x,inMemoryLastExpandedPanelSizes:N.current.lastExpandedPanelSizes,inMemoryLayouts:N.current.layouts,orientation:u,panels:w,separators:R};P.current=H;const j=sLe(H),G=ql().mountedGroups.get(H);if(G){const{defaultLayoutDeferred:F,derivedPanelConstraints:U,layout:K}=G;!F&&U.length>0&&(C(K),g?.(K))}const q=Kf.addListener("interactionStateChange",F=>{F.state==="active"?b(F.hitRegions.some(U=>U.group===H)):b(!1)}),B=Kf.addListener("mountedGroupsChange",F=>{const U=F.get(H);if(U){const{defaultLayoutDeferred:K,derivedPanelConstraints:W,layout:ee}=U;if(K||W.length===0)return;C(ee),g?.(ee)}});return()=>{P.current=null,j(),q(),B()}},[i,y,x,g,u,w,R,z]),T.useEffect(()=>{const H=P.current;H&&(H.defaultLayout=n,H.disableCursor=!!r)});const V={[fse]:S?"none":void 0};for(const H in _){const j=pse(x,H),G=_[H];V[j]=G}return f.jsx(hse.Provider,{value:L,children:f.jsx("div",{...d,"aria-orientation":u,className:t,"data-group":!0,"data-testid":x,id:x,ref:D,style:{...p,...V,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}function ej(){const e=T.useContext(hse);return ir(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function cLe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:o}=ql();for(const[l,{defaultLayoutDeferred:u,derivedPanelConstraints:p,layout:d,separatorToPanels:m}]of o)if(l.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:p,group:l,layout:d,separatorToPanels:m};throw Error(`Group ${e} not found`)},r=()=>{const o=n().derivedPanelConstraints.find(l=>l.panelId===t);if(o!==void 0)return o;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const o=n().group.panels.find(l=>l.id===t);if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},a=()=>{const o=n().layout[t];if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},s=o=>{const l=a();if(o===l)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:p,group:d,layout:m,separatorToPanels:g}=n(),x=d.panels.findIndex(v=>v.id===t),S=x===d.panels.length-1,b=wy({delta:S?l-o:o-l,initialLayout:m,panelConstraints:p,pivotIndices:S?[x-1,x]:[x,x+1],prevLayout:m,trigger:"imperative-api"}),y=dp({layout:b,panelConstraints:p});Rg(m,y)||bo(v=>({mountedGroups:new Map(v.mountedGroups).set(d,{defaultLayoutDeferred:u,derivedPanelConstraints:p,layout:y,separatorToPanels:g})}))};return{collapse:()=>{const{collapsible:o,collapsedSize:l}=r(),u=a();o&&u!==l&&s(l)},expand:()=>{const{collapsible:o,collapsedSize:l,minSize:u}=r(),p=a();o&&p===l&&s(u)},getSize:()=>{const{group:o}=n(),l=a(),{element:u}=i(),p=o.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:l,inPixels:p}},isCollapsed:()=>{const{collapsible:o,collapsedSize:l}=r(),u=a();return o&&Sa(l,u)},resize:o=>{if(a()!==o){let l;switch(typeof o){case"number":{const{group:u}=n(),p=Mm({group:u});l=jo(o/p*100);break}case"string":{l=parseFloat(o);break}}s(l)}}}}function dLe(e,t){const{id:n}=ej(),r=T.useRef({collapse:c2,expand:c2,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:c2});T.useImperativeHandle(t,()=>r.current,[]),Np(()=>{Object.assign(r.current,cLe({groupId:n,panelId:e}))})}function fLe({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,elementRef:a,id:s,maxSize:o="100%",minSize:l="0%",onResize:u,panelRef:p,style:d,...m}){const g=!!s,x=Z3(s),[S,b]=T.useState(null),y=J3(b,a),{id:v,registerPanel:_}=ej(),C=u!==null,w=Q3(R=>{u?.(R,s)});Np(()=>{if(S!==null)return _({element:S,id:x,idIsStable:g,onResize:C?w:void 0,panelConstraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:o,minSize:l}})},[n,r,i,S,C,x,g,o,l,w,_]),dLe(x,p);const A=pse(v,x);return f.jsx("div",{...m,"data-panel":!0,"data-testid":x,id:x,ref:y,style:{...pLe,flexBasis:0,flexGrow:`var(${A}, 1)`,flexShrink:1,overflow:"hidden",pointerEvents:`var(${fse})`},children:f.jsx("div",{className:t,style:{width:"100%",height:"100%",...d},children:e})})}const pLe={minHeight:"unset",maxHeight:"unset",height:"unset",minWidth:"unset",maxWidth:"unset",width:"unset",flex:"unset",flexBasis:"unset",flexShrink:"unset",flexGrow:"unset",border:"unset",borderWidth:"unset",padding:"unset",margin:"unset"};function hLe({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a;const s=e[n],o=t.find(l=>l.panelId===n);if(o){const l=o.maxSize,u=a=o.collapsible?o.collapsedSize:o.minSize,p=[r,r+1];a=dp({layout:wy({delta:u-s,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n],i=dp({layout:wy({delta:l-s,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:s}}function mLe({children:e,className:t,elementRef:n,id:r,style:i,...a}){const s=Z3(r),[o,l]=T.useState({}),[u,p]=T.useState("inactive"),[d,m]=T.useState(null),g=J3(m,n),{id:x,orientation:S,registerSeparator:b}=ej(),y=S==="horizontal"?"vertical":"horizontal";return Np(()=>{if(d!==null){const v={element:d,id:s},_=b(v),C=Kf.addListener("interactionStateChange",A=>{p(A.state!=="inactive"&&A.hitRegions.some(R=>R.separator===v)?A.state:"inactive")}),w=Kf.addListener("mountedGroupsChange",A=>{A.forEach(({derivedPanelConstraints:R,layout:O,separatorToPanels:N},D)=>{if(D.id===x){const L=N.get(v);if(L){const z=L[0],P=D.panels.indexOf(z);l(hLe({layout:O,panelConstraints:R,panelId:z.id,panelIndex:P}))}}})});return()=>{C(),w(),_()}}},[d,x,s,b]),f.jsx("div",{...a,"aria-controls":o.valueControls,"aria-orientation":y,"aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:e,className:t,"data-separator":u,"data-testid":s,id:s,ref:g,role:"separator",style:{flexBasis:"auto",...i,flexGrow:0,flexShrink:0},tabIndex:0})}function _f({className:e,direction:t,...n}){return f.jsx(uLe,{"data-slot":"resizable-panel-group",orientation:t,className:Be("flex h-full w-full data-[orientation=vertical]:flex-col",e),...n})}function no({...e}){return f.jsx(fLe,{"data-slot":"resizable-panel",...e})}function wf({withHandle:e,className:t,...n}){return f.jsx(mLe,{"data-slot":"resizable-handle",className:Be("relative flex w-px items-center justify-center bg-border cursor-grab active:cursor-grabbing group touch-none","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/60","focus-visible:ring-offset-1 focus-visible:ring-offset-background","data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:cursor-row-resize","[&[data-orientation=vertical]>div]:rotate-90",t),...n,children:e&&f.jsxs("div",{className:"pointer-events-none absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 flex flex-col items-center gap-1 bg-muted/90 border border-border rounded-full px-1 py-3 opacity-70 group-hover:opacity-100 group-focus:opacity-100 transition-opacity shadow-sm",children:[f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"}),f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"}),f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"})]})})}var f2={exports:{}},_W;function gLe(){return _W||(_W=1,(function(e,t){(function(n,r){e.exports=r()})(globalThis,(()=>(()=>{var n={4567:function(s,o,l){var u=this&&this.__decorate||function(v,_,C,w){var A,R=arguments.length,O=R<3?_:w===null?w=Object.getOwnPropertyDescriptor(_,C):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(v,_,C,w);else for(var N=v.length-1;N>=0;N--)(A=v[N])&&(O=(R<3?A(O):R>3?A(_,C,O):A(_,C))||O);return R>3&&O&&Object.defineProperty(_,C,O),O},p=this&&this.__param||function(v,_){return function(C,w){_(C,w,v)}};Object.defineProperty(o,"__esModule",{value:!0}),o.AccessibilityManager=void 0;const d=l(9042),m=l(9924),g=l(844),x=l(4725),S=l(2585),b=l(3656);let y=o.AccessibilityManager=class extends g.Disposable{constructor(v,_,C,w){super(),this._terminal=v,this._coreBrowserService=C,this._renderService=w,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let A=0;A<this._terminal.rows;A++)this._rowElements[A]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[A]);if(this._topBoundaryFocusListener=A=>this._handleBoundaryFocus(A,0),this._bottomBoundaryFocusListener=A=>this._handleBoundaryFocus(A,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new m.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((A=>this._handleResize(A.rows)))),this.register(this._terminal.onRender((A=>this._refreshRows(A.start,A.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((A=>this._handleChar(A)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
35
+ `}}),!1):(u.type==="keydown"&&u.key==="Escape"&&window.parent!==window&&u.stopPropagation(),!0));const s=r.onData(u=>{new RegExp("^\x1B\\[<35;\\d+;\\d+[Mm]$").test(u)||new RegExp("^\x1B\\]").test(u)&&!new RegExp("^\x1B\\](10|11);").test(u)||new RegExp("^\x1BP").test(u)||/\$y/.test(u)||new RegExp("^\x1B\\[\\d+;\\d+R$").test(u)||new RegExp("^\x1B\\[[?>\\d;]*c$").test(u)||t().send({type:"terminal:input",payload:{terminalId:n,data:u}})}),o=()=>{this.setLastFocusedTerminal(n)};r.textarea?.addEventListener("focus",o),i?.onAttached&&(e.terminalsReadyForCallback.has(n)?(t().log.ws.debug("attachXterm: terminal already attached, calling callback immediately",{terminalId:n}),e.terminalsReadyForCallback.delete(n),setTimeout(()=>i.onAttached?.(n),0)):(t().log.ws.debug("attachXterm: registering onAttached callback",{terminalId:n,existingCallbacks:Array.from(e.onAttachedCallbacks.keys())}),e.onAttachedCallbacks.set(n,i.onAttached)));const l=()=>{s.dispose(),r.textarea?.removeEventListener("focus",o),e.terminals.get(n)?.setXterm(null)};return a.setAttachCleanup(l),t().send({type:"terminal:attach",payload:{terminalId:n}}),l},requestAttach(n){t().send({type:"terminal:attach",payload:{terminalId:n}})},clearTerminalBuffer(n){t().send({type:"terminal:clearBuffer",payload:{terminalId:n}})},assignTerminalToTab(n,r,i){t().send({type:"terminal:assignTab",payload:{terminalId:n,tabId:r,positionInTab:i}}),e.terminals.get(n)?.assignToTab(r,i)},createTab(n,r,i,a){const s=nL(),o=iW(),l=r??e.tabs.items.length,u={id:o,name:n,position:l,directory:i??null,createdAt:Date.now()},p=YH(e.tabs);e.tabs.add(u),p.stop(),e.tabs.get(o)?.setPending(!0),e.pendingTabCreation=o,e.pendingUpdates.set(s,{entityType:"tab",tempId:o,inversePatches:p.inversePatches,createdAt:Date.now()}),t().send({type:"tab:create",payload:{name:n,position:r,directory:i,adoptTerminalId:a,requestId:s,tempId:o}}),t().log.ws.debug("createTab optimistic",{requestId:s,tempId:o,name:n,adoptTerminalId:a})},updateTab(n,r){t().send({type:"tab:update",payload:{tabId:n,...r}}),e.tabs.get(n)?.updateFromServer(r)},deleteTab(n){t().send({type:"tab:delete",payload:{tabId:n}}),e.tabs.remove(n),e.viewState.clearFocusedTerminalForTab(n)},reorderTab(n,r){const i=e.tabs.get(n);if(!i)return;const a=i.position;if(t().send({type:"tab:reorder",payload:{tabId:n,position:r}}),r>a)for(const s of e.tabs.items)s.position>a&&s.position<=r&&s.setPosition(s.position-1);else if(r<a)for(const s of e.tabs.items)s.position>=r&&s.position<a&&s.setPosition(s.position+1);i.setPosition(r)},handleMessage(n){const{type:r,payload:i}=n;switch(r){case"terminals:list":e.terminals.replaceAll(i.terminals);break;case"terminal:created":{const{terminal:a,isNew:s,requestId:o,tempId:l}=i;if(o&&l){const u=e.pendingUpdates.get(o);if(u&&u.tempId===l){e.pendingUpdates.delete(o);const p=e.terminals.get(l);if(p){const d=p.xterm,m=e.onAttachedCallbacks.get(l),g=p.attachCleanup;if(t().log.ws.info("terminal:created optimistic handling",{tempId:l,realId:a.id,hasXterm:!!d,hasCallback:!!m,isNew:s}),g&&g(),p.setXterm(null),p.setAttachCleanup(null),e.onAttachedCallbacks.delete(l),s){const x=p.isStartingUp,S=e.terminals.items.findIndex(v=>v.id===l);S>=0&&BE(e.terminals.items[S]),e.terminals.add(a);const b=e.terminals.get(a.id);x&&b&&(b.setStartingUp(!0),t().log.ws.info("terminal:created transferred isStartingUp",{tempId:l,realId:a.id,isStartingUp:b.isStartingUp})),t().log.ws.info("terminal:created re-attaching xterm",{realId:a.id,hasRealTerminal:!!b,hasXterm:!!d,willAttach:!!(b&&d)}),b&&d?this.attachXterm(a.id,d,{onAttached:m}):m&&(t().log.ws.info("terminal:created preserving callback for later",{realId:a.id}),e.onAttachedCallbacks.set(a.id,m)),e.newTerminalIds.delete(l),e.newTerminalIds.add(a.id);const y=e.terminalsPendingStartup.get(l);y&&(e.terminalsPendingStartup.delete(l),e.terminalsPendingStartup.set(a.id,y),t().log.ws.debug("transferred pending startup",{tempId:l,realId:a.id})),t().log.ws.debug("terminal:created confirmed",{requestId:o,tempId:l,realId:a.id,xtermReattached:!!d,hasPendingStartup:!!y})}else{const x=e.terminals.items.findIndex(b=>b.id===l);x>=0&&BE(e.terminals.items[x]),e.newTerminalIds.delete(l),e.terminalsPendingStartup.delete(l),e.terminals.has(a.id)||e.terminals.add(a),e.terminals.get(a.id)&&d&&this.attachXterm(a.id,d,{onAttached:m}),t().log.ws.debug("terminal:created deduplicated",{requestId:o,tempId:l,existingId:a.id,xtermReattached:!!d})}}break}}e.terminals.add(a),s&&e.newTerminalIds.add(a.id);break}case"terminal:destroyed":{const{terminalId:a}=i;e.terminals.remove(a),e.newTerminalIds.delete(a),e.terminalsReadyForCallback.delete(a),e.onAttachedCallbacks.delete(a);break}case"terminal:output":{const{terminalId:a,data:s}=i,o=e.terminals.get(a);o?.xterm?o.xterm.write(s):t().log.ws.warn("terminal:output but no xterm",{terminalId:a});break}case"terminal:attached":{const{terminalId:a,buffer:s}=i,o=e.terminals.get(a);t().log.ws.info("terminal:attached received",{terminalId:a,hasTerminal:!!o,hasXterm:!!o?.xterm,bufferLength:s?.length??0,hasCallback:e.onAttachedCallbacks.has(a),isReadyForCallback:e.terminalsReadyForCallback.has(a),registeredCallbacks:Array.from(e.onAttachedCallbacks.keys())});const l=()=>{const u=e.onAttachedCallbacks.get(a);u?(e.onAttachedCallbacks.delete(a),t().log.ws.debug("terminal:attached calling callback",{terminalId:a}),u(a)):(t().log.ws.debug("terminal:attached no callback yet, marking ready",{terminalId:a}),e.terminalsReadyForCallback.add(a))};o?.xterm?(o.xterm.reset(),s?o.xterm.write(s,l):l()):l();break}case"terminal:bufferCleared":{const{terminalId:a}=i,s=e.terminals.get(a);s?.xterm&&s.xterm.reset();break}case"terminal:exit":{const{terminalId:a,exitCode:s}=i;e.terminals.get(a)?.markExited(s);break}case"terminal:renamed":{const{terminalId:a,name:s}=i;e.terminals.get(a)?.rename(s);break}case"terminal:tabAssigned":{const{terminalId:a,tabId:s,positionInTab:o}=i;e.terminals.get(a)?.assignToTab(s,o);break}case"tabs:list":e.tabs.replaceAll(i.tabs),e.initialized=!0;break;case"tab:created":{const{tab:a,requestId:s,tempId:o,adoptTerminalId:l}=i;if(s&&o){const u=e.pendingUpdates.get(s);if(u&&u.tempId===o){e.pendingUpdates.delete(s),e.tabs.get(o)&&(e.tabs.remove(o),e.tabs.add(a),e.pendingTabCreation=null,l||(e.lastCreatedTabId=a.id),t().log.ws.debug("tab:created confirmed",{requestId:s,tempId:o,realId:a.id,adoptTerminalId:l}));break}}e.tabs.add(a);break}case"tab:updated":{const{tabId:a,name:s,directory:o}=i;e.tabs.get(a)?.updateFromServer({name:s,directory:o});break}case"tab:deleted":{const{tabId:a}=i;e.tabs.remove(a),e.viewState.clearFocusedTerminalForTab(a);break}case"terminal:error":{const{error:a,requestId:s,tempId:o}=i;if(s&&o){const l=e.pendingUpdates.get(s);if(l&&l.tempId===o){e.pendingUpdates.delete(s);for(let u=l.inversePatches.length-1;u>=0;u--)vy(e.terminals,l.inversePatches[u]);e.newTerminalIds.delete(o),e.terminalsPendingStartup.delete(o),t().log.ws.warn("terminal:error rollback",{requestId:s,tempId:o,error:a});break}}jt.ws.error("Terminal error from server",{error:a});break}case"sync:stale":{const{entityType:a,entityId:s,requestId:o,tempId:l,error:u}=i;if(t().log.ws.warn("sync:stale received",{entityType:a,entityId:s,error:u}),o&&l){const p=e.pendingUpdates.get(o);if(p&&p.tempId===l)if(e.pendingUpdates.delete(o),p.entityType==="terminal"){const d=e.terminals.get(l);d&&(d.cleanup(),e.terminals.remove(l)),e.newTerminalIds.delete(l),e.terminalsPendingStartup.delete(l)}else p.entityType==="tab"&&e.tabs.remove(l)}if(a==="terminal"){if(e.terminals.has(s)){const p=e.terminals.get(s);p&&(p.cleanup(),e.terminals.remove(s))}e.terminalsPendingStartup.delete(s)}else a==="tab"&&e.tabs.has(s)&&(e.tabs.remove(s),e.viewState.clearFocusedTerminalForTab(s));break}case"theme:synced":{const{theme:a}=i;e.broadcastedTheme=a,t().log.ws.debug("theme:synced received",{theme:a});break}}},reset(){e.terminals.clear(),e.tabs.clear(),e.connected=!1,e.initialized=!1,e.newTerminalIds.clear(),e.pendingUpdates.clear(),e.terminalsPendingStartup.clear()}}});function Bae(){const e=Op();return T.useMemo(()=>{const t=(n,r)=>{const i=async a=>{const s=a.clipboardData?.items;if(s){for(const o of s)if(o.type.startsWith("image/")){a.preventDefault(),a.stopPropagation();const l=o.getAsFile();if(!l)return;try{const u=await Xne(l);e.writeToTerminal(r,u)}catch(u){jt.ws.error("Failed to upload image",{error:String(u)})}return}}};return n.addEventListener("paste",i,!0),()=>{n.removeEventListener("paste",i,!0)}};return{get terminals(){return[...e.terminals.items]},get terminalsLoaded(){return e.initialized},get tabs(){return[...e.tabs.sorted]},get connected(){return e.connected},get newTerminalIds(){return e.newTerminalIds},get pendingTabCreation(){return e.pendingTabCreation},get lastCreatedTabId(){return e.lastCreatedTabId},createTerminal:e.createTerminal.bind(e),destroyTerminal:e.destroyTerminal.bind(e),writeToTerminal:e.writeToTerminal.bind(e),sendInputToTerminal:e.sendInputToTerminal.bind(e),resizeTerminal:e.resizeTerminal.bind(e),renameTerminal:e.renameTerminal.bind(e),clearTerminalBuffer:e.clearTerminalBuffer.bind(e),assignTerminalToTab:e.assignTerminalToTab.bind(e),createTab:e.createTab.bind(e),updateTab:e.updateTab.bind(e),deleteTab:e.deleteTab.bind(e),reorderTab:e.reorderTab.bind(e),attachXterm:e.attachXterm.bind(e),setupImagePaste:t,consumePendingStartup:e.consumePendingStartup.bind(e),clearStartingUp:e.clearStartingUp.bind(e),clearLastCreatedTabId:e.clearLastCreatedTabId.bind(e)}},[e])}const a2="",RIe=Et.model("File",{path:Et.identifier,content:Et.string,originalContent:Et.string,mimeType:Et.string,size:Et.number,lineCount:Et.number,truncated:Et.boolean,isMarkdownView:Et.optional(Et.boolean,!1)}).views(e=>({get isDirty(){return e.content!==e.originalContent},get isMarkdown(){return e.path.toLowerCase().endsWith(".md")},get isImage(){return e.mimeType.startsWith("image/")},get isBinary(){return e.mimeType==="application/octet-stream"},get isEditable(){return!e.mimeType.startsWith("image/")&&e.mimeType!=="application/octet-stream"}})).actions(e=>({setContent(t){e.content=t},markSaved(){e.originalContent=e.content},toggleMarkdownView(){e.isMarkdownView=!e.isMarkdownView},setMarkdownView(t){e.isMarkdownView=t}})),NIe=Et.model("FilesStore",{selectedFile:Et.maybeNull(Et.string),expandedDirs:Et.array(Et.string),openFiles:Et.map(RIe)}).volatile(()=>({worktreePath:null,readOnly:!1,isLoading:!1,isSaving:!1,loadError:null,saveError:null,fileTree:null,isLoadingTree:!1,treeError:null})).views(e=>({get currentFile(){if(e.selectedFile)return e.openFiles.get(e.selectedFile)},get isDirty(){return(e.selectedFile?e.openFiles.get(e.selectedFile):void 0)?.isDirty??!1},isFileMarkdownView(t){return e.openFiles.get(t)?.isMarkdownView??!1},isDirExpanded(t){return e.expandedDirs.includes(t)}})).actions(e=>({setWorktreePath(t){e.worktreePath!==t&&(e.worktreePath=t,e.selectedFile=null,e.expandedDirs.clear(),e.openFiles.clear(),e.fileTree=null)},setReadOnly(t){e.readOnly=t},selectFile(t){e.selectedFile=t},toggleDir(t){const n=e.expandedDirs.indexOf(t);n>=0?e.expandedDirs.splice(n,1):e.expandedDirs.push(t)},collapseAll(){e.expandedDirs.clear()},updateContent(t,n){const r=e.openFiles.get(t);r&&r.setContent(n)},toggleMarkdownView(t){const n=e.openFiles.get(t);n&&n.toggleMarkdownView()},_setLoading(t){e.isLoading=t},_setLoadError(t){e.loadError=t},_setSaving(t){e.isSaving=t},_setSaveError(t){e.saveError=t},_setFileTree(t){e.fileTree=t},_setLoadingTree(t){e.isLoadingTree=t},_setTreeError(t){e.treeError=t},_addFile(t){e.openFiles.set(t.path,{path:t.path,content:t.content,originalContent:t.content,mimeType:t.mimeType,size:t.size,lineCount:t.lineCount,truncated:t.truncated,isMarkdownView:!1})},_markFileSaved(t){const n=e.openFiles.get(t);n&&n.markSaved()}})).actions(e=>({loadFileTree:n2(function*(){if(e.worktreePath){e._setLoadingTree(!0),e._setTreeError(null);try{const t=yield yt(`${a2}/api/fs/tree?root=${encodeURIComponent(e.worktreePath)}`);e._setFileTree(t.entries)}catch(t){e._setTreeError(t instanceof Error?t.message:"Failed to load file tree")}finally{e._setLoadingTree(!1)}}}),loadFile:n2(function*(t){if(e.worktreePath){if(e.openFiles.has(t)){e.selectedFile=t;return}e._setLoading(!0),e._setLoadError(null);try{const n=new URLSearchParams({path:t,root:e.worktreePath}),r=yield yt(`${a2}/api/fs/read?${n}`);e._addFile({path:t,content:r.content,mimeType:r.mimeType,size:r.size,lineCount:r.lineCount,truncated:r.truncated}),e.selectedFile=t}catch(n){e._setLoadError(n instanceof Error?n.message:"Failed to load file")}finally{e._setLoading(!1)}}}),saveFile:n2(function*(t){if(!e.worktreePath)return;const n=e.openFiles.get(t);if(!(!n||!n.isDirty)){e._setSaving(!0),e._setSaveError(null);try{(yield fetch(`${a2}/api/fs/write`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,root:e.worktreePath,content:n.content})}).then(i=>i.ok?i.json():i.json().then(a=>{throw new Error(a.error||"Failed to save file")}))).success&&e._markFileSaved(t)}catch(r){throw e._setSaveError(r instanceof Error?r.message:"Failed to save file"),r}finally{e._setSaving(!1)}}}),closeFile(t){e.openFiles.delete(t),e.selectedFile===t&&(e.selectedFile=null)}}));function IIe(){return NIe.create({selectedFile:null,expandedDirs:[],openFiles:{}})}const Uae=T.createContext(null);function DIe(e,t=!1,n){const r=T.useMemo(()=>IIe(),[]),i=T.useRef(!1);return T.useEffect(()=>{r.setWorktreePath(e),r.setReadOnly(t),i.current=!1,e&&r.loadFileTree().then(()=>{n&&!i.current&&(i.current=!0,r.selectFile(n),r.loadFile(n))})},[r,e,t,n]),r}function LIe(){const e=T.useContext(Uae);if(!e)throw new Error("useFilesStore must be used within a FilesStoreProvider");return e}function $ae(){const e=LIe();return{worktreePath:e.worktreePath,readOnly:e.readOnly,selectedFile:e.selectedFile,currentFile:e.currentFile,expandedDirs:[...e.expandedDirs],fileTree:e.fileTree,isLoading:e.isLoading,isSaving:e.isSaving,isLoadingTree:e.isLoadingTree,loadError:e.loadError,saveError:e.saveError,treeError:e.treeError,isDirty:e.isDirty,selectFile:e.selectFile,loadFile:e.loadFile,saveFile:e.saveFile,closeFile:e.closeFile,updateContent:e.updateContent,toggleDir:e.toggleDir,collapseAll:e.collapseAll,toggleMarkdownView:e.toggleMarkdownView,isFileMarkdownView:e.isFileMarkdownView,isDirExpanded:e.isDirExpanded,refreshTree:e.loadFileTree}}const Vr="";function zae(){return ln({queryKey:["apps"],queryFn:()=>yt(`${Vr}/api/apps`)})}function PIe(e){return ln({queryKey:["apps",e],queryFn:()=>yt(`${Vr}/api/apps/${e}`),enabled:!!e})}function MIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps`,{method:"POST",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["apps"]})}})}function W3(){const e=vn();return tn({mutationFn:({id:t,updates:n})=>yt(`${Vr}/api/apps/${t}`,{method:"PATCH",body:JSON.stringify(n)}),onSuccess:(t,{id:n})=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function Hae(){const e=vn();return tn({mutationFn:({id:t,stopContainers:n=!0})=>{const r=n?`${Vr}/api/apps/${t}`:`${Vr}/api/apps/${t}?stopContainers=false`;return yt(r,{method:"DELETE"})},onSuccess:()=>{e.invalidateQueries({queryKey:["apps"]})}})}function Wae(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/stop`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function Vae(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/cancel-deploy`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps"]}),e.invalidateQueries({queryKey:["apps",n]})}})}function jIe(e,t,n=100){return ln({queryKey:["apps",e,"logs",t,n],queryFn:()=>{const r=new URLSearchParams;return t&&r.set("service",t),r.set("tail",String(n)),yt(`${Vr}/api/apps/${e}/logs?${r}`)},enabled:!!e,refetchInterval:5e3})}function qae(e){return ln({queryKey:["apps",e,"status"],queryFn:()=>yt(`${Vr}/api/apps/${e}/status`),enabled:!!e,refetchInterval:1e4})}function FIe(e){return ln({queryKey:["apps",e,"deployments"],queryFn:()=>yt(`${Vr}/api/apps/${e}/deployments`),enabled:!!e,refetchInterval:5e3})}function BIe(e){return ln({queryKey:["compose","parse",e],queryFn:()=>yt(`${Vr}/api/compose/parse?repoId=${e}`),enabled:!!e})}function V3(e){return ln({queryKey:["compose","find",e],queryFn:()=>yt(`${Vr}/api/compose/find?repoId=${e}`),enabled:!!e})}function UIe(e,t){return ln({queryKey:["compose","file",e,t],queryFn:()=>yt(`${Vr}/api/fs/read?path=${encodeURIComponent(t)}&root=${encodeURIComponent(e)}`),enabled:!!e&&!!t})}function $Ie(){const e=vn();return tn({mutationFn:({repoPath:t,composeFile:n,content:r})=>yt(`${Vr}/api/fs/write`,{method:"POST",body:JSON.stringify({path:n,root:t,content:r})}),onSuccess:(t,{repoPath:n,composeFile:r})=>{e.invalidateQueries({queryKey:["compose","file",n,r]})}})}function zIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/apps/${t}/sync-services`,{method:"POST"}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:["apps",n]}),e.invalidateQueries({queryKey:["apps"]})}})}function Gae(e){const{data:t}=zae();return t?.find(n=>n.repository?.id===e)??null}function q3(){return ln({queryKey:["deployment","prerequisites"],queryFn:()=>yt(`${Vr}/api/deployment/prerequisites`),staleTime:1e4})}function HIe(){const e=vn();return tn({mutationFn:()=>yt(`${Vr}/api/deployment/traefik/start`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["deployment","prerequisites"]})}})}function G3(){return ln({queryKey:["deployment","settings"],queryFn:()=>yt(`${Vr}/api/deployment/settings`)})}function WIe(){const e=vn();return tn({mutationFn:t=>yt(`${Vr}/api/deployment/settings`,{method:"POST",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["deployment","settings"]}),e.invalidateQueries({queryKey:["deployment","prerequisites"]})}})}const VIe=Et.model("DeploymentStreamStore",{appId:Et.maybeNull(Et.string),isDeploying:Et.optional(Et.boolean,!1),logs:Et.array(Et.string),stage:Et.maybeNull(Et.string),error:Et.maybeNull(Et.string)}).volatile(()=>({eventSource:null,deployment:null})).views(e=>({get typedStage(){return e.stage},get hasLogs(){return e.logs.length>0},get logCount(){return e.logs.length},get logsSnapshot(){return e.logs.slice()},get isComplete(){return!e.isDeploying&&(e.stage==="done"||e.stage==="failed"||e.stage==="cancelled"||!!e.error)}})).actions(e=>{const t=()=>eL(e).log,n=()=>eL(e).invalidateQueries;return{_handleProgress(r){t().debug("Deployment progress",{appId:e.appId,stage:r.stage,message:r.message.slice(0,100)}),e.stage=r.stage,e.logs.push(r.message)},_handleComplete(r){const i=t(),a=e.appId;i.info("Deployment complete",{appId:a,success:r.success,deploymentId:r.deployment?.id}),e.deployment=r.deployment,e.isDeploying=!1,e.stage="done",e.eventSource&&(e.eventSource.close(),e.eventSource=null),a&&n()(a)},_handleError(r){const i=t(),a=e.appId;i.error("Deployment failed",{appId:a,error:r}),e.error=r,e.stage="failed",e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null),a&&n()(a)},_handleConnectionLost(){const r=t();e.isDeploying&&(r.error("EventSource connection lost",{appId:e.appId}),e.error="Connection lost during deployment",e.isDeploying=!1,e.stage="failed"),e.eventSource&&(e.eventSource.close(),e.eventSource=null)},deploy(r){const i=t();e.eventSource&&(i.debug("Closing existing EventSource before new deploy",{appId:e.appId}),e.eventSource.close(),e.eventSource=null),i.info("Starting deployment",{appId:r}),e.appId=r,e.isDeploying=!0,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null;const a=new EventSource(`${Vr}/api/apps/${r}/deploy/stream`);e.eventSource=a;const s=e;a.addEventListener("progress",o=>{try{const l=JSON.parse(o.data);s._handleProgress(l)}catch(l){i.warn("Failed to parse progress event",{error:String(l)})}}),a.addEventListener("complete",o=>{try{const l=JSON.parse(o.data);s._handleComplete(l)}catch(l){i.warn("Failed to parse complete event",{error:String(l)})}}),a.addEventListener("error",o=>{if(o instanceof MessageEvent)try{const l=JSON.parse(o.data);s._handleError(l.error)}catch{s._handleError("Deployment failed")}else s._handleError("Connection lost during deployment")}),a.onerror=()=>{s._handleConnectionLost()}},watchDeployment(r){const i=t();e.eventSource&&(i.debug("Closing existing EventSource before watching",{appId:e.appId}),e.eventSource.close(),e.eventSource=null),i.info("Watching deployment",{appId:r}),e.appId=r,e.isDeploying=!0,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null;const a=new EventSource(`${Vr}/api/apps/${r}/deploy/watch`);e.eventSource=a;const s=e;a.addEventListener("progress",o=>{try{const l=JSON.parse(o.data);s._handleProgress(l)}catch(l){i.warn("Failed to parse progress event",{error:String(l)})}}),a.addEventListener("complete",o=>{try{const l=JSON.parse(o.data);s._handleComplete({success:!0,deployment:l.deployment||{id:"",appId:r,status:"success",startedAt:""}})}catch(l){i.warn("Failed to parse complete event",{error:String(l)})}}),a.addEventListener("error",o=>{if(o instanceof MessageEvent)try{const l=JSON.parse(o.data);s._handleError(l.error)}catch{s._handleError("Deployment failed")}else i.debug("Watch connection ended",{appId:r}),e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null)}),a.onerror=()=>{e.isDeploying&&!e.stage&&i.warn("Watch connection failed - no deployment in progress?",{appId:r}),e.isDeploying=!1,e.eventSource&&(e.eventSource.close(),e.eventSource=null)}},reset(){t().debug("Resetting deployment store",{appId:e.appId,hadLogs:e.logs.length}),e.eventSource&&(e.eventSource.close(),e.eventSource=null),e.appId=null,e.isDeploying=!1,e.logs.clear(),e.stage=null,e.error=null,e.deployment=null},disconnect(){const r=t();e.eventSource&&(r.debug("Disconnecting EventSource",{appId:e.appId}),e.eventSource.close(),e.eventSource=null)}}}),Kae=T.createContext(null);function K3(){const e=T.useContext(Kae);if(!e)throw new Error("useDeploymentStore must be used within a DeploymentStoreProvider");return e}function qIe({children:e}){const t=vn(),n=T.useMemo(()=>VIe.create({appId:null,isDeploying:!1,logs:[],stage:null,error:null},{log:jt.deployment,invalidateQueries:i=>{t.invalidateQueries({queryKey:["apps"]}),t.invalidateQueries({queryKey:["apps",i]}),t.invalidateQueries({queryKey:["apps",i,"deployments"]})}}),[t]),r=T.useRef(n);return r.current=n,T.useEffect(()=>()=>{r.current?.disconnect()},[]),f.jsx(Kae.Provider,{value:n,children:e})}const Yae=T.createContext(null);function Op(){const e=T.useContext(Yae);if(!e)throw new Error("useStore must be used within a StoreProvider");return e}function GIe(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/terminal`}function KIe({children:e,wsUrl:t=GIe(),reconnectInterval:n=2e3,maxReconnectAttempts:r=10}){const i=T.useRef(null),a=T.useRef(0),s=T.useRef(void 0),o=T.useRef(null),[,l]=T.useState({}),u=T.useCallback(d=>{i.current?.readyState===WebSocket.OPEN?(jt.ws.debug("send",{type:d.type}),i.current.send(JSON.stringify(d))):jt.ws.warn("send dropped (WebSocket not open)",{type:d.type,readyState:i.current?.readyState??"no socket"})},[]);if(!o.current){const d={send:u,log:jt};o.current=OIe.create({},d)}const p=o.current;return T.useEffect(()=>{p.setMaxReconnectAttempts(r)},[p,r]),T.useEffect(()=>{let d=!0;const m=()=>{const g=i.current;if(g&&(g.readyState===WebSocket.CONNECTING||g.readyState===WebSocket.OPEN))return;const x=new WebSocket(t);i.current=x,x.onopen=()=>{d&&(jt.ws.info("WebSocket connected"),p.setConnected(!0),a.current=0)},x.onmessage=S=>{if(d)try{const b=JSON.parse(S.data);p.handleMessage(b)}catch(b){jt.ws.error("Failed to parse WebSocket message",{error:String(b)})}},x.onclose=()=>{if(d)if(jt.ws.info("WebSocket disconnected"),p.setConnected(!1),i.current===x&&(i.current=null),a.current<r){a.current++,p.setReconnectAttempt(a.current);const S=n*Math.pow(1.5,a.current-1);jt.ws.info("Scheduling reconnect",{attempt:a.current,delay:S}),s.current=setTimeout(m,S)}else jt.ws.warn("Max reconnect attempts reached"),p.setReconnectAttempt(a.current)},x.onerror=S=>{jt.ws.error("WebSocket error",{event:String(S)})}};return m(),()=>{d=!1,s.current&&clearTimeout(s.current);const g=i.current;g?.readyState===WebSocket.OPEN&&g.close(),i.current=null}},[t,n,r,p]),T.useEffect(()=>{l({})},[]),f.jsx(Yae.Provider,{value:p,children:e})}function Xae(){const e=Op(),{setTheme:t,resolvedTheme:n,theme:r}=xp(),{data:i}=sTe(),a=T.useRef(void 0),s=T.useRef(!1),o=T.useRef(!1);T.useEffect(()=>Rm(()=>e.broadcastedTheme,p=>{p&&(o.current=!0,t(p),e.clearBroadcastedTheme(),setTimeout(()=>{o.current=!1},0))},{fireImmediately:!0}),[e,t]),T.useEffect(()=>{let u=document.querySelector('link[rel="icon"]');u||(u=document.createElement("link"),u.rel="icon",document.head.appendChild(u)),u.type="image/png",u.href="/logo.png"},[]),T.useEffect(()=>{const u=s.current&&i&&a.current===!1;a.current=i,s.current=!0,n&&u&&yt("/api/config/sync-claude-theme",{method:"POST",body:JSON.stringify({resolvedTheme:n})}).catch(()=>{})},[i,n]);const l=T.useCallback(u=>{if(!o.current&&(t(u),e.syncTheme(u),i)){const p=u==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":u;yt("/api/config/sync-claude-theme",{method:"POST",body:JSON.stringify({resolvedTheme:p})}).catch(()=>{})}},[t,e,i]);return{theme:r??"system",resolvedTheme:n,syncClaudeCode:i,changeTheme:l,isUpdating:!1}}let s2=!1;const aW={activeTabId:null,focusedTerminals:{},currentView:null,currentTaskId:null,isTabVisible:null,viewUpdatedAt:null};function Zae(){const e=vn(),t=T.useRef(void 0),n=T.useRef({}),{data:r=aW,isLoading:i}=ln({queryKey:["terminal-view-state"],queryFn:async()=>{const m=await fetch("/api/terminal-view-state");if(!m.ok)throw new Error("Failed to fetch terminal view state");return m.json()},staleTime:2e3}),a=tn({mutationFn:async m=>{const g=await fetch("/api/terminal-view-state",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(m)});if(!g.ok)throw new Error("Failed to update terminal view state");return g.json()},onSuccess:m=>{e.setQueryData(["terminal-view-state"],m)}}),s=T.useRef(a);s.current=a;const o=T.useCallback(m=>{const g=n.current;n.current={...g,...m,focusedTerminals:m.focusedTerminals||g.focusedTerminals?{...g.focusedTerminals,...m.focusedTerminals}:void 0};const x=n.current;e.setQueryData(["terminal-view-state"],S=>{const b=S??aW;return{activeTabId:x.activeTabId!==void 0?x.activeTabId:b.activeTabId,focusedTerminals:{...b.focusedTerminals,...x.focusedTerminals},currentView:x.currentView!==void 0?x.currentView:b.currentView,currentTaskId:x.currentTaskId!==void 0?x.currentTaskId:b.currentTaskId,isTabVisible:x.isTabVisible!==void 0?x.isTabVisible:b.isTabVisible,viewUpdatedAt:x.viewUpdatedAt!==void 0?x.viewUpdatedAt:b.viewUpdatedAt}}),t.current&&clearTimeout(t.current),t.current=setTimeout(()=>{s.current.mutate(n.current),n.current={}},500)},[e]),l=T.useCallback((m,g)=>{if(g===null){const x=e.getQueryData(["terminal-view-state"]);if(x){const{[m]:S,...b}=x.focusedTerminals;o({focusedTerminals:b})}}else o({focusedTerminals:{[m]:g}})},[e,o]),u=T.useCallback(m=>r.focusedTerminals[m]??null,[r.focusedTerminals]),p=T.useRef(!1);T.useEffect(()=>{if(s2){p.current=!1;return}s2=!0,p.current=!0;const m=()=>{o({isTabVisible:document.visibilityState==="visible",viewUpdatedAt:new Date().toISOString()})};return document.addEventListener("visibilitychange",m),m(),()=>{document.removeEventListener("visibilitychange",m),p.current&&(s2=!1)}},[o]);const d=T.useCallback((m,g,x)=>{o({currentView:m,currentTaskId:g,activeTabId:x,viewUpdatedAt:new Date().toISOString()})},[o]);return{viewState:r,isLoading:i,getFocusedTerminal:u,setFocusedTerminal:l,updateViewTracking:d}}function Ki(e,t){const n=e.toLowerCase(),r=t.toLowerCase();if(n===r)return 100;if(n.startsWith(r))return 80;if(n.includes(r))return 60;let i=0,a=0,s=0;for(;i<n.length&&a<r.length;)n[i]===r[a]&&(s+=1,a++),i++;return a===r.length?s:0}function YIe(e,t){return t.trim()?e.map(r=>{let i=Ki(r.label,t);if(r.keywords)for(const a of r.keywords){const s=Ki(a,t);s>i&&(i=s)}return{command:r,score:i}}).filter(({score:r})=>r>0).sort((r,i)=>i.score-r.score).map(({command:r})=>r):e}function XIe(e){const t=new Map;for(const n of e){const r=t.get(n.category)||[];r.push(n),t.set(n.category,r)}return t}function ZIe({open:e,onOpenChange:t,onNewTask:n,onShowShortcuts:r,onOpenInEditor:i}){const{t:a}=wt("navigation"),[s,o]=T.useState(!1),l=e??s,u=t??o,[p,d]=T.useState(""),[m,g]=T.useState(0),x=T.useRef(null),S=T.useRef(null),b=Br(),y=T.useMemo(()=>[{id:"goto-tasks",label:a("commandPalette.commands.goToTasks"),shortcut:"meta+1",keywords:["kanban","board","home"],category:"navigation",icon:f.jsx(J,{icon:wm,size:16,strokeWidth:2}),action:()=>{b({to:"/tasks"}),u(!1)}},{id:"goto-terminals",label:a("commandPalette.commands.goToTerminals"),shortcut:"meta+2",keywords:["shell","console","cli"],category:"navigation",icon:f.jsx(J,{icon:ESe,size:16,strokeWidth:2}),action:()=>{b({to:"/terminals"}),u(!1)}},{id:"goto-task-terminals",label:a("commandPalette.commands.goToTaskTerminals"),shortcut:"meta+i",keywords:["tasks","shell","console","cli"],category:"navigation",icon:f.jsx(J,{icon:wm,size:16,strokeWidth:2}),action:()=>{b({to:"/terminals",search:{tab:"all-tasks"}}),u(!1)}},{id:"goto-repositories",label:a("commandPalette.commands.goToRepositories"),shortcut:"meta+3",keywords:["repos","git","projects"],category:"navigation",icon:f.jsx(J,{icon:wSe,size:16,strokeWidth:2}),action:()=>{b({to:"/repositories"}),u(!1)}},{id:"goto-apps",label:a("commandPalette.commands.goToApps"),shortcut:"meta+4",keywords:["deploy","deployment","docker","containers"],category:"navigation",icon:f.jsx(J,{icon:op,size:16,strokeWidth:2}),action:()=>{b({to:"/apps"}),u(!1)}},{id:"goto-review",label:a("commandPalette.commands.goToReview"),shortcut:"meta+5",keywords:["pr","pull request","issues","github"],category:"navigation",icon:f.jsx(J,{icon:ju,size:16,strokeWidth:2}),action:()=>{b({to:"/review"}),u(!1)}},{id:"goto-monitoring",label:a("commandPalette.commands.goToMonitoring"),shortcut:"meta+6",keywords:["system","cpu","memory","processes","usage"],category:"navigation",icon:f.jsx(J,{icon:Ane,size:16,strokeWidth:2}),action:()=>{b({to:"/monitoring"}),u(!1)}},{id:"goto-settings",label:a("commandPalette.commands.goToSettings"),shortcut:"meta+,",keywords:["preferences","config","configuration"],category:"navigation",icon:f.jsx(J,{icon:Pne,size:16,strokeWidth:2}),action:()=>{b({to:"/settings"}),u(!1)}},{id:"new-task",label:a("commandPalette.commands.newTask"),shortcut:"meta+j",keywords:["create","add"],category:"actions",icon:f.jsx(J,{icon:Ed,size:16,strokeWidth:2}),action:()=>{u(!1),n?.()}},{id:"open-in-editor",label:a("commandPalette.commands.openInEditor"),shortcut:"meta+e",keywords:["editor","code","vscode","cursor","folder","path"],category:"actions",icon:f.jsx(J,{icon:LD,size:16,strokeWidth:2}),action:()=>{u(!1),i?.()}},{id:"show-shortcuts",label:a("commandPalette.commands.keyboardShortcuts"),shortcut:"meta+/",keywords:["help","hotkeys","keys"],category:"actions",icon:f.jsx(J,{icon:Nne,size:16,strokeWidth:2}),action:()=>{u(!1),r?.()}}],[b,n,r,i,u,a]),v=T.useMemo(()=>YIe(y,p),[y,p]),_=T.useMemo(()=>XIe(v),[v]),C=T.useMemo(()=>{const R=[],O=["navigation","actions"];for(const N of O){const D=_.get(N);D&&R.push(...D)}return R},[_]);T.useEffect(()=>{g(0)},[p]),T.useEffect(()=>{if(!S.current)return;const R=S.current.querySelector('[data-selected="true"]');R&&R.scrollIntoView({block:"nearest"})},[m]),ya("meta+k",()=>u(!0),{allowInInput:!0,allowInTerminal:!0}),ya("meta+1",()=>b({to:"/tasks"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+2",()=>b({to:"/terminals"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+i",()=>{b({to:"/terminals",search:{tab:"all-tasks"}})},{allowInInput:!0,allowInTerminal:!0}),ya("meta+3",()=>b({to:"/repositories"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+4",()=>b({to:"/apps"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+5",()=>b({to:"/review"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+6",()=>b({to:"/monitoring"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+,",()=>b({to:"/settings"}),{allowInInput:!0,allowInTerminal:!0}),ya("meta+j",()=>{n?.()},{allowInInput:!1,deps:[n]}),ya("meta+/",()=>{r?.()},{allowInInput:!0,allowInTerminal:!0,deps:[r]}),ya("meta+e",()=>{i?.()},{allowInInput:!0,allowInTerminal:!0,deps:[i]});const w=T.useCallback(R=>{switch(R.key){case"ArrowDown":R.preventDefault(),g(O=>Math.min(O+1,C.length-1));break;case"ArrowUp":R.preventDefault(),g(O=>Math.max(O-1,0));break;case"Enter":R.preventDefault(),C[m]&&C[m].action();break;case"Escape":R.preventDefault(),u(!1);break;case"1":R.preventDefault(),b({to:"/tasks"}),u(!1);break;case"2":R.preventDefault(),b({to:"/terminals"}),u(!1);break;case"3":R.preventDefault(),b({to:"/repositories"}),u(!1);break;case"4":R.preventDefault(),b({to:"/apps"}),u(!1);break;case"5":R.preventDefault(),b({to:"/review"}),u(!1);break;case"6":R.preventDefault(),b({to:"/monitoring"}),u(!1);break}},[C,m,u,b]);T.useEffect(()=>{l&&(d(""),g(0),setTimeout(()=>x.current?.focus(),50))},[l]),T.useEffect(()=>{const R=O=>{if(O.data?.type==="vibora:action")switch(O.data.action){case"openCommandPalette":u(!0);break;case"openNewTask":n?.();break;case"showShortcuts":r?.();break}};return window.addEventListener("message",R),()=>window.removeEventListener("message",R)},[u,n,r]);let A=0;return f.jsx(Xo,{open:l,onOpenChange:u,children:f.jsxs(Zo,{className:"sm:max-w-lg p-0 gap-0 overflow-hidden",showCloseButton:!1,onKeyDown:w,children:[f.jsxs("div",{className:"flex items-center border-b border-border px-3",children:[f.jsx("span",{className:"text-muted-foreground mr-2",children:">"}),f.jsx($t,{ref:x,value:p,onChange:R=>d(R.target.value),placeholder:a("commandPalette.placeholder"),className:"border-0 ring-0 focus-visible:ring-0 focus-visible:ring-offset-0 px-0 h-12"}),f.jsx("kbd",{className:"pointer-events-none ml-2 inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:"Esc"})]}),f.jsx("div",{ref:S,className:"max-h-80 overflow-y-auto p-2",children:v.length===0?f.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:a("commandPalette.noResults")}):f.jsx(f.Fragment,{children:["navigation","actions"].map(R=>{const O=_.get(R);return!O||O.length===0?null:f.jsxs("div",{className:"mb-2 last:mb-0",children:[f.jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:a(`commandPalette.categories.${R}`)}),O.map(N=>{const D=A++,L=D===m;return f.jsxs("button",{"data-selected":L,onClick:()=>N.action(),onMouseEnter:()=>g(D),className:Be("flex w-full items-center gap-3 rounded-md px-2 py-2 text-sm",L?"bg-accent text-accent-foreground":"text-foreground hover:bg-accent/50"),children:[N.icon&&f.jsx("span",{className:"text-muted-foreground",children:N.icon}),f.jsx("span",{className:"flex-1 text-left",children:N.label}),N.shortcut&&f.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:Fne(N.shortcut)})]},N.id)})]},R)})})})]})})}const sW={sm:"w-8 h-8",md:"w-9 h-9 md:w-12 md:h-12",lg:"w-12 h-12 md:w-16 md:h-16"};function QIe({className:e,rows:t=100,cols:n=10,tileClassName:r,tileSize:i="md"}){return f.jsx("div",{className:Be("relative z-0 flex w-full h-full justify-center",e),children:Array.from({length:t}).map((a,s)=>f.jsx("div",{className:Be(sW[i],"border-l dark:border-neutral-900 border-neutral-200 relative",r),children:Array.from({length:n}).map((o,l)=>f.jsx("div",{className:Be(sW[i],"border-r border-t dark:border-neutral-900 border-neutral-200 relative hover:bg-tile transition-colors",r)},`col-${l}`))},`row-${s}`))})}const JIe=["/","/tasks","/terminals","/worktrees","/repositories","/review","/monitoring","/settings"];function eDe(){const e=Ei({select:n=>n.location.pathname});return JIe.some(n=>e===n||e.startsWith(n+"/"))?f.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none -z-10",children:f.jsx(QIe,{rows:100,cols:50,tileSize:"sm"})}):null}if(!T.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!eae)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");function tDe(e){e()}function nDe(e){e||(e=tDe),mRe({reactionScheduler:e})}function rDe(e){return bRe(e)}var iDe=1e4,aDe=1e4,sDe=(function(){function e(t){var n=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(r){r===void 0&&(r=iDe),clearTimeout(n.sweepTimeout),n.sweepTimeout=void 0;var i=Date.now();n.registrations.forEach(function(a,s){i-a.registeredAt>=r&&(n.finalize(a.value),n.registrations.delete(s))}),n.registrations.size>0&&n.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,r){this.registrations.set(r,{value:n,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.registrations.delete(t)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.sweepTimeout===void 0&&(this.sweepTimeout=setTimeout(this.sweep,aDe))}}),e})(),oDe=typeof FinalizationRegistry<"u"?FinalizationRegistry:sDe,rL=new oDe(function(e){var t;(t=e.reaction)===null||t===void 0||t.dispose(),e.reaction=null});function oW(e){e.reaction=new Ml("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),(t=e.onStoreChange)===null||t===void 0||t.call(e)})}function lDe(e,t){t===void 0&&(t="observed");var n=le.useRef(null);if(!n.current){var r={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(o){return rL.unregister(r),r.onStoreChange=o,r.reaction||(oW(r),r.stateVersion=Symbol()),function(){var l;r.onStoreChange=null,(l=r.reaction)===null||l===void 0||l.dispose(),r.reaction=null}},getSnapshot:function(){return r.stateVersion}};n.current=r}var i=n.current;i.reaction||(oW(i),rL.register(n,i,i)),le.useDebugValue(i.reaction,rDe),_M.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getSnapshot);var a,s;if(i.reaction.track(function(){try{a=e()}catch(o){s=o}}),s)throw s;return a}var o2,l2,Qae=typeof Symbol=="function"&&Symbol.for,uDe=(l2=(o2=Object.getOwnPropertyDescriptor(function(){},"name"))===null||o2===void 0?void 0:o2.configurable)!==null&&l2!==void 0?l2:!1,lW=Qae?Symbol.for("react.forward_ref"):typeof T.forwardRef=="function"&&T.forwardRef(function(e){return null}).$$typeof,uW=Qae?Symbol.for("react.memo"):typeof T.memo=="function"&&T.memo(function(e){return null}).$$typeof;function Rp(e,t){var n;if(uW&&e.$$typeof===uW)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var r=(n=void 0)!==null&&n!==void 0?n:!1,i=e,a=e.displayName||e.name;if(lW&&e.$$typeof===lW&&(r=!0,i=e.render,typeof i!="function"))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var s=function(o,l){return lDe(function(){return i(o,l)},a)};return s.displayName=e.displayName,uDe&&Object.defineProperty(s,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(s.contextTypes=e.contextTypes),r&&(s=T.forwardRef(s)),s=T.memo(s),dDe(e,s),s}var cDe={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function dDe(e,t){Object.keys(e).forEach(function(n){cDe[n]||Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}var u2;nDe(Fr.unstable_batchedUpdates);u2=rL.finalizeAllImmediately;const fDe=Rp(function(){const t=Op();if(t.connected||!t.hasEverConnected)return null;const n=t.reconnectAttempt>0&&t.reconnectAttempt<t.maxReconnectAttempts,r=t.reconnectAttempt>=t.maxReconnectAttempts;return f.jsx("div",{className:Be("flex items-center justify-center gap-2 px-4 py-2 text-sm font-medium","border-b",r?"bg-destructive/10 border-destructive/30 text-destructive":"bg-amber-500/10 border-amber-500/30 text-amber-600 dark:text-amber-400"),role:"alert","aria-live":"polite",children:r?f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:er,size:16,strokeWidth:2}),f.jsx("span",{children:"Connection lost. Please check if the server is running."})]}):n?f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:Nt,size:16,strokeWidth:2,className:"animate-spin"}),f.jsxs("span",{children:["Reconnecting... (attempt ",t.reconnectAttempt,"/",t.maxReconnectAttempts,")"]})]}):f.jsxs(f.Fragment,{children:[f.jsx(J,{icon:er,size:16,strokeWidth:2}),f.jsx("span",{children:"Disconnected from server"})]})})});function pDe(){return ln({queryKey:["system","dependencies"],queryFn:()=>yt("/api/system/dependencies"),staleTime:30*1e3,refetchOnWindowFocus:!0})}const cW="npm install -g @anthropic/claude-code",hDe="https://docs.anthropic.com/en/docs/claude-code/overview";function mDe(){const{data:e,isLoading:t}=pDe(),[n,r]=T.useState(!1),[i,a]=T.useState(!1),s=T.useCallback(async()=>{try{await navigator.clipboard.writeText(cW),a(!0),setTimeout(()=>a(!1),2e3)}catch{}},[]),o=T.useCallback(()=>{r(!0)},[]);return t||n||e?.claudeCode?.installed?null:f.jsxs("div",{className:Be("flex items-center justify-between gap-4 px-4 py-3","border-b bg-amber-500/10 border-amber-500/30"),role:"alert",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(J,{icon:er,size:18,strokeWidth:2,className:"shrink-0 text-amber-600 dark:text-amber-400"}),f.jsxs("div",{className:"flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-4",children:[f.jsx("span",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:"Claude Code CLI not found"}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("code",{className:"rounded bg-amber-500/20 px-2 py-0.5 text-xs font-mono text-amber-700 dark:text-amber-300",children:cW}),f.jsx("button",{onClick:s,className:Be("p-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),title:i?"Copied!":"Copy to clipboard",children:f.jsx(J,{icon:i?Dr:kw,size:14,strokeWidth:2})})]})]})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("a",{href:hDe,target:"_blank",rel:"noopener noreferrer",className:Be("text-xs font-medium px-2 py-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),children:"View Docs"}),f.jsx("button",{onClick:o,className:Be("p-1 rounded transition-colors","text-amber-600 hover:text-amber-700 hover:bg-amber-500/20","dark:text-amber-400 dark:hover:text-amber-300"),title:"Dismiss",children:f.jsx(J,{icon:Mr,size:16,strokeWidth:2})})]})]})}const gDe=[{titleKey:"navigation",items:[{labelKey:"goToTasks",shortcut:"meta+1"},{labelKey:"goToTerminals",shortcut:"meta+2"},{labelKey:"goToTaskTerminals",shortcut:"meta+i"},{labelKey:"goToRepositories",shortcut:"meta+3"},{labelKey:"goToApps",shortcut:"meta+4"},{labelKey:"goToReview",shortcut:"meta+5"},{labelKey:"goToMonitoring",shortcut:"meta+6"},{labelKey:"goToSettings",shortcut:"meta+,"}]},{titleKey:"actions",items:[{labelKey:"commandPalette",shortcut:"meta+k"},{labelKey:"newTask",shortcut:"meta+j"},{labelKey:"openInEditor",shortcut:"meta+e"},{labelKey:"keyboardShortcuts",shortcut:"meta+/"}]},{titleKey:"terminals",items:[{labelKey:"newTerminal",shortcut:"meta+d"},{labelKey:"closeTerminal",shortcut:"meta+w"}]},{titleKey:"general",items:[{labelKey:"closeModal",shortcut:"escape"},{labelKey:"submitForm",shortcut:"meta+enter"}]}];function bDe({open:e,onOpenChange:t}){const{t:n}=wt("navigation");return f.jsx(Xo,{open:e,onOpenChange:t,children:f.jsxs(Zo,{className:"sm:max-w-md",children:[f.jsx(Ul,{children:f.jsx($l,{children:n("shortcuts.title")})}),f.jsx(Cg,{className:"max-h-[60vh]",children:f.jsx("div",{className:"space-y-4 mt-2 pr-4",children:gDe.map(r=>f.jsxs("div",{children:[f.jsx("h3",{className:"text-xs font-medium text-muted-foreground mb-2",children:n(`shortcuts.groups.${r.titleKey}`)}),f.jsx("div",{className:"space-y-1",children:r.items.map(i=>f.jsxs("div",{className:"flex items-center justify-between py-1.5",children:[f.jsx("span",{className:"text-sm",children:n(`shortcuts.labels.${i.labelKey}`)}),f.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground",children:Fne(i.shortcut)})]},i.shortcut))})]},r.titleKey))})})]})})}function vDe(e,t){return e&&(e==="~"?t:e.startsWith("~/")?t+e.slice(1):e)}const yDe={vscode:"vscode",cursor:"cursor",windsurf:"windsurf",zed:"zed",antigravity:"antigravity"};function eC(e,t,n,r){const i=yDe[t];if(!n)return`${i}://file${e}`;const a=r!==22?`${n}:${r}`:n;return`${i}://vscode-remote/ssh-remote+${a}${e}`}function Y3(e){return{vscode:"VS Code",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",antigravity:"Antigravity"}[e]}function Al(e){window.parent!==window?window.parent.postMessage({type:"vibora:openUrl",url:e},"*"):window.open(e,"_blank")}function xDe({open:e,onOpenChange:t}){const{t:n}=wt("navigation"),[r,i]=T.useState(""),[a,s]=T.useState(!1),{data:o}=B0(),{data:l}=U0(),{data:u}=$0(),{data:p}=nTe();T.useEffect(()=>{e&&i("")},[e]);const d=()=>{if(!r.trim())return;const x=vDe(r.trim(),p),S=eC(x,o??"vscode",l??"",u??22);Al(S),t(!1)},m=x=>{i(x)},g=Y3(o??"vscode");return f.jsxs(f.Fragment,{children:[f.jsx(Xo,{open:e,onOpenChange:t,children:f.jsxs(Zo,{className:"sm:max-w-md",children:[f.jsxs(Ul,{children:[f.jsx($l,{children:n("openInEditor.title")}),f.jsx(wp,{children:n("openInEditor.description",{editor:g})})]}),f.jsx("div",{className:"space-y-4",children:f.jsxs("div",{className:"space-y-2",children:[f.jsx("label",{className:"text-sm font-medium",children:n("openInEditor.pathLabel")}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx($t,{value:r,onChange:x=>i(x.target.value),placeholder:n("openInEditor.pathPlaceholder"),onKeyDown:x=>x.key==="Enter"&&d(),className:"flex-1 font-mono text-sm"}),f.jsx(Ae,{variant:"outline",size:"icon",onClick:()=>s(!0),title:n("openInEditor.browse"),children:f.jsx(J,{icon:ua,size:16,strokeWidth:2})})]}),f.jsx("p",{className:"text-xs text-muted-foreground",children:n("openInEditor.pathHint")})]})}),f.jsxs(Fu,{children:[f.jsx(Wf,{render:f.jsx(Ae,{variant:"outline"}),children:n("openInEditor.cancel")}),f.jsx(Ae,{onClick:d,disabled:!r.trim(),children:n("openInEditor.open")})]})]})}),f.jsx(ad,{open:a,onOpenChange:s,onSelect:m})]})}const SDe=({...e})=>{const{resolvedTheme:t}=xp();return f.jsx(CEe,{theme:t,className:"toaster group",icons:{success:f.jsx(J,{icon:vo,strokeWidth:2,className:"size-4"}),info:f.jsx(J,{icon:DSe,strokeWidth:2,className:"size-4"}),warning:f.jsx(J,{icon:er,strokeWidth:2,className:"size-4"}),error:f.jsx(J,{icon:jSe,strokeWidth:2,className:"size-4"}),loading:f.jsx(J,{icon:Nt,strokeWidth:2,className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...e})},Xi=qge({component:ADe});function EDe(){return NTe(),null}function _De(){return cie(),null}function wDe(){return Xae(),null}function CDe(){const e=Ei({select:n=>n.location}),{updateViewTracking:t}=Zae();return T.useEffect(()=>{const n=e.pathname;let r="other",i=null,a=null;n.startsWith("/tasks/")?(r="task-detail",i=n.split("/")[2]||null):n==="/terminals"&&(r="terminals",a=new URLSearchParams(e.search).get("tab")),t(r,i,a)},[e.pathname,e.search,t]),null}function TDe(){const e=Ei({select:t=>t.location});return T.useEffect(()=>{window.parent!==window&&window.parent.postMessage({type:"vibora:route",pathname:e.pathname,search:e.search},"*")},[e.pathname,e.search]),null}function ADe(){const[e,t]=T.useState(null),[n,r]=T.useState(!1),[i,a]=T.useState(!1),[s,o]=T.useState(!1),l=typeof window<"u"&&window.parent!==window,u=T.useCallback(x=>{t(()=>x)},[]),p=T.useCallback(()=>{e?.()},[e]),d=T.useCallback(()=>{r(!0)},[]),m=T.useCallback(()=>{a(!0)},[]),g=T.useCallback(()=>{o(!0)},[]);return f.jsx(OEe,{children:f.jsxs("div",{className:"flex h-screen flex-col overflow-x-hidden bg-background text-foreground",children:[f.jsx(EDe,{}),f.jsx(_De,{}),f.jsx(wDe,{}),f.jsx(CDe,{}),f.jsx(TDe,{}),f.jsx(fDe,{}),f.jsx(mDe,{}),f.jsx(ATe,{onNewTaskRef:u,onOpenCommandPalette:m}),f.jsxs("main",{className:"isolate flex-1 overflow-hidden relative",children:[f.jsx(eDe,{}),f.jsx(Aee,{})]}),f.jsx(ZIe,{open:i,onOpenChange:a,onNewTask:p,onShowShortcuts:d,onOpenInEditor:g}),f.jsx(bDe,{open:n,onOpenChange:r}),f.jsx(xDe,{open:s,onOpenChange:o}),f.jsx(SDe,{position:l?"bottom-center":"bottom-right"})]})})}const kDe=Di("/")({beforeLoad:()=>{throw fM({to:"/tasks"})}}),iL="";function Jae(){const[e,t]=T.useState(new Map),[n,r]=T.useState(null),[i,a]=T.useState(!0),[s,o]=T.useState(!1),[l,u]=T.useState(null),p=T.useRef(null),d=T.useRef(0),m=T.useRef(!1),g=T.useCallback(async()=>{a(!0),u(null);try{const b=await fetch(`${iL}/api/worktrees/json`);if(!b.ok)throw new Error("Failed to fetch worktrees");const y=await b.json();t(new Map(y.worktrees.map(v=>[v.path,{...v,size:v.size||0,sizeFormatted:v.sizeFormatted||"0 B",branch:v.branch||"unknown"}]))),r(y.summary),a(!1),o(!1)}catch(b){u(b instanceof Error?b:new Error("Failed to load worktrees")),a(!1),o(!1)}},[]),x=T.useCallback(()=>{if(m.current){g();return}p.current?.close(),a(!0),o(!1),u(null),t(new Map),r(null);const b=new EventSource(`${iL}/api/worktrees`);p.current=b,b.addEventListener("worktree:basic",y=>{const v=JSON.parse(y.data);d.current=v.length,t(new Map(v.map(_=>[_.path,{..._,size:0,sizeFormatted:"...",branch:"..."}]))),a(!1),o(v.length>0)}),b.addEventListener("worktree:details",y=>{const v=JSON.parse(y.data);t(_=>{const C=new Map(_),w=C.get(v.path);return w&&C.set(v.path,{...w,size:v.size,sizeFormatted:v.sizeFormatted,branch:v.branch}),C}),d.current--,d.current<=0&&o(!1)}),b.addEventListener("worktree:complete",y=>{const v=JSON.parse(y.data);r(v),o(!1),b.close()}),b.addEventListener("worktree:error",y=>{const{path:v}=JSON.parse(y.data);jt.viewer.error("Error loading worktree details",{path:v}),d.current--,d.current<=0&&o(!1)}),b.onerror=()=>{b.close(),jt.viewer.info("SSE connection failed, trying JSON fallback"),m.current=!0,g()}},[g]);return T.useEffect(()=>(x(),()=>{p.current?.close()}),[x]),{worktrees:T.useMemo(()=>Array.from(e.values()).sort((y,v)=>y.isOrphaned!==v.isOrphaned?y.isOrphaned?-1:1:new Date(v.lastModified).getTime()-new Date(y.lastModified).getTime()),[e]),summary:n,isLoading:i,isLoadingDetails:s,error:l,refetch:x}}function ese(){const e=vn();return tn({mutationFn:({worktreePath:t,repoPath:n,deleteLinkedTask:r})=>yt(`${iL}/api/worktrees`,{method:"DELETE",body:JSON.stringify({worktreePath:t,repoPath:n,deleteLinkedTask:r})}),onSuccess:()=>{e.invalidateQueries({queryKey:["worktrees"]}),e.invalidateQueries({queryKey:["tasks"]})}})}const ODe=kd("h-5 gap-1 rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-2.5! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-colors overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/20 dark:bg-input/30",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function Jr({className:e,variant:t="default",render:n,...r}){return PCe({defaultTagName:"span",props:Ho({className:Be(ODe({className:e,variant:t}))},r),render:n,state:{slot:"badge",variant:t}})}function ei({className:e,size:t="default",...n}){return f.jsx("div",{"data-slot":"card","data-size":t,className:Be("ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-xs/relaxed ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col",e),...n})}function zE({className:e,...t}){return f.jsx("div",{"data-slot":"card-header",className:Be("gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",e),...t})}function HE({className:e,...t}){return f.jsx("div",{"data-slot":"card-title",className:Be("text-sm font-medium",e),...t})}function RDe({className:e,...t}){return f.jsx("div",{"data-slot":"card-description",className:Be("text-muted-foreground text-xs/relaxed",e),...t})}function ka({className:e,...t}){return f.jsx("div",{"data-slot":"card-content",className:Be("px-4 group-data-[size=sm]/card:px-3",e),...t})}function Oa({...e}){return f.jsx($_e,{"data-slot":"alert-dialog",...e})}function Ju({...e}){return f.jsx(Kne,{"data-slot":"alert-dialog-trigger",...e})}function NDe({...e}){return f.jsx(Wne,{"data-slot":"alert-dialog-portal",...e})}function IDe({className:e,...t}){return f.jsx(Une,{"data-slot":"alert-dialog-overlay",className:Be("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",e),...t})}function Ra({className:e,size:t="default",...n}){return f.jsxs(NDe,{children:[f.jsx(IDe,{}),f.jsx(Hne,{"data-slot":"alert-dialog-content","data-size":t,className:Be("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-3 rounded-xl p-4 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",e),...n})]})}function Na({className:e,...t}){return f.jsx("div",{"data-slot":"alert-dialog-header",className:Be("grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function Ia({className:e,...t}){return f.jsx("div",{"data-slot":"alert-dialog-footer",className:Be("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function Da({className:e,...t}){return f.jsx(Gne,{"data-slot":"alert-dialog-title",className:Be("text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function La({className:e,...t}){return f.jsx($ne,{"data-slot":"alert-dialog-description",className:Be("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",e),...t})}function ec({className:e,...t}){return f.jsx(Ae,{"data-slot":"alert-dialog-action",className:Be(e),...t})}function Pa({className:e,variant:t="outline",size:n="default",...r}){return f.jsx(Iw,{"data-slot":"alert-dialog-cancel",className:Be(e),render:f.jsx(Ae,{variant:t,size:n}),...r})}const Rr=T.forwardRef(({className:e,...t},n)=>f.jsx(ywe,{ref:n,className:Be("peer size-4 shrink-0 rounded border border-input ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-checked:bg-primary data-checked:border-primary data-checked:text-primary-foreground","flex items-center justify-center transition-colors",e),...t,children:f.jsx(xwe,{className:"flex items-center justify-center",children:f.jsx(J,{icon:Dr,size:12,strokeWidth:3})})}));Rr.displayName="Checkbox";const aL={IN_PROGRESS:"bg-muted-foreground/20 text-muted-foreground",IN_REVIEW:"bg-primary/20 text-primary",DONE:"bg-accent/20 text-accent",CANCELED:"bg-destructive/20 text-destructive",ORPHANED:"bg-destructive/20 text-destructive"},DDe=Di("/worktrees/")({component:jDe});function LDe(){const{t:e}=wt("common");return t=>{const n=new Date(t),i=new Date().getTime()-n.getTime(),a=Math.floor(i/1e3),s=Math.floor(a/60),o=Math.floor(s/60),l=Math.floor(o/24);return l>0?l===1?e("time.dayAgo"):e("time.daysAgo",{count:l}):o>0?o===1?e("time.hourAgo"):e("time.hoursAgo",{count:o}):s>0?s===1?e("time.minuteAgo"):e("time.minutesAgo",{count:s}):e("time.justNow")}}function dW({className:e}){return f.jsx("span",{className:`inline-block animate-pulse rounded bg-muted ${e}`})}function PDe({worktree:e,onDelete:t}){const{t:n}=wt("common"),{t:r}=wt("worktrees"),i=LDe(),[a,s]=T.useState(!1),[o,l]=T.useState(!1),[u,p]=T.useState(!1),d=e.sizeFormatted==="..."||e.branch==="...",m=!e.isOrphaned&&e.taskId,g=async()=>{l(!0);try{await t(e,u),s(!1)}catch{}finally{l(!1)}},x=S=>{s(S),S||p(!1)};return f.jsx(ei,{className:"transition-colors hover:border-border/80",children:f.jsxs(ka,{className:"flex items-start justify-between gap-4 py-4",children:[f.jsxs("div",{className:"min-w-0 flex-1 space-y-2",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("span",{className:"truncate font-medium",children:e.name}),e.isOrphaned?f.jsx(Jr,{className:Be("shrink-0",aL.ORPHANED),children:n("statuses.ORPHANED")}):e.taskStatus?f.jsx(Jr,{className:Be("shrink-0",aL[e.taskStatus]),children:n(`statuses.${e.taskStatus}`)}):null]}),f.jsxs("div",{className:"space-y-1 text-xs text-muted-foreground",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:ua,size:12,strokeWidth:2,className:"shrink-0"}),f.jsx("span",{className:"truncate font-mono",children:e.path})]}),f.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Rw,size:12,strokeWidth:2,className:"shrink-0"}),e.branch==="..."?f.jsx(dW,{className:"h-3 w-16"}):f.jsx("span",{className:"font-mono",children:e.branch})]}),f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Rne,size:12,strokeWidth:2,className:"shrink-0"}),e.sizeFormatted==="..."?f.jsx(dW,{className:"h-3 w-12"}):f.jsx("span",{children:e.sizeFormatted})]}),f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(J,{icon:Tne,size:12,strokeWidth:2,className:"shrink-0"}),f.jsx("span",{children:i(e.lastModified)})]})]}),e.taskId&&e.taskTitle&&f.jsx("div",{className:"flex items-center gap-1.5 pt-1",children:f.jsxs(Rn,{to:"/tasks/$taskId",params:{taskId:e.taskId},className:"inline-flex items-center gap-1 text-foreground hover:underline",children:[f.jsx("span",{className:"truncate",children:e.taskTitle}),f.jsx(J,{icon:Mu,size:12,strokeWidth:2,className:"shrink-0"})]})})]})]}),f.jsxs(Oa,{open:a,onOpenChange:x,children:[f.jsx(Ju,{render:f.jsx(Ae,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground hover:text-destructive",disabled:d}),children:f.jsx(J,{icon:rs,size:14,strokeWidth:2})}),f.jsxs(Ra,{children:[f.jsxs(Na,{children:[f.jsx(Da,{children:r("delete.title")}),f.jsxs(La,{children:[r("delete.description")," ",f.jsx("span",{className:"font-mono",children:e.name}),".",u&&m&&f.jsxs(f.Fragment,{children:[" ",r("delete.linkedTaskWillBeDeleted",{title:e.taskTitle})]})," ",r("delete.cannotUndo")]}),m&&f.jsxs("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[f.jsx(Rr,{checked:u,onCheckedChange:S=>p(S===!0),disabled:o}),r("delete.alsoDeleteLinkedTask",{title:e.taskTitle})]})]}),f.jsxs(Ia,{children:[f.jsx(Pa,{disabled:o,children:n("buttons.cancel")}),f.jsxs(Ae,{variant:"destructive",onClick:g,disabled:o,className:"gap-2",children:[o&&f.jsx(J,{icon:Nt,size:14,strokeWidth:2,className:"animate-spin"}),n(o?"status.deleting":"buttons.delete")]})]})]})]})]})})}const MDe=["IN_PROGRESS","IN_REVIEW","DONE","CANCELED","ORPHANED"];function jDe(){const{t:e}=wt("common"),{t}=wt("worktrees"),{worktrees:n,summary:r,isLoading:i,isLoadingDetails:a,error:s,refetch:o}=Jae(),l=ese(),[u,p]=T.useState(new Set),[d,m]=T.useState(!1),[g,x]=T.useState(!1),[S,b]=T.useState(!1),y=O=>{p(N=>{const D=new Set(N);return D.has(O)?D.delete(O):D.add(O),D})},v=()=>{p(new Set)},_=T.useMemo(()=>u.size===0?n:n.filter(O=>!!(O.isOrphaned&&u.has("ORPHANED")||O.taskStatus&&u.has(O.taskStatus))),[n,u]),C=T.useMemo(()=>n.filter(O=>O.taskStatus==="DONE"||O.taskStatus==="CANCELED"),[n]),w=async()=>{if(C.length!==0){x(!0);try{for(const O of C)await l.mutateAsync({worktreePath:O.path,repoPath:O.repoPath,deleteLinkedTask:S});m(!1),o()}catch{}finally{x(!1)}}},A=O=>{m(O),O||b(!1)},R=async(O,N)=>{await l.mutateAsync({worktreePath:O.path,repoPath:O.repoPath,deleteLinkedTask:N}),o()};return f.jsxs("div",{className:"flex h-full flex-col",children:[f.jsxs("div",{className:"flex shrink-0 flex-col gap-2 border-b border-border bg-background px-4 py-2",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{className:"flex items-center gap-4",children:[f.jsx("h1",{className:"text-sm font-medium",children:t("title")}),(r||n.length>0)&&f.jsxs("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[f.jsx("span",{children:t("summary.total",{count:r?.total??n.length})}),(r?.orphaned??n.filter(O=>O.isOrphaned).length)>0&&f.jsx("span",{className:"text-destructive",children:t("summary.orphaned",{count:r?.orphaned??n.filter(O=>O.isOrphaned).length})}),a?f.jsx("span",{className:"animate-pulse",children:e("status.calculating")}):r?f.jsx("span",{children:r.totalSizeFormatted}):null]})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[C.length>0&&f.jsxs(Oa,{open:d,onOpenChange:A,children:[f.jsxs(Ju,{render:f.jsx(Ae,{variant:"ghost",size:"sm",className:"gap-1.5 text-xs text-muted-foreground hover:text-destructive",disabled:a}),children:[f.jsx(J,{icon:kne,size:12,strokeWidth:2}),t("cleanup.button",{count:C.length})]}),f.jsxs(Ra,{children:[f.jsxs(Na,{children:[f.jsx(Da,{children:t("cleanup.title")}),f.jsxs(La,{children:[t("cleanup.description",{count:C.length}),S&&` ${t("cleanup.linkedTasksWillBeDeleted")}`]}),f.jsxs("div",{className:"space-y-3",children:[f.jsxs("p",{className:"text-sm text-muted-foreground",children:[C.filter(O=>O.taskStatus==="DONE").length>0&&f.jsxs("span",{className:"mr-3",children:[f.jsx("span",{className:"font-medium text-accent",children:C.filter(O=>O.taskStatus==="DONE").length})," ",t("cleanup.done")]}),C.filter(O=>O.taskStatus==="CANCELED").length>0&&f.jsxs("span",{children:[f.jsx("span",{className:"font-medium text-destructive",children:C.filter(O=>O.taskStatus==="CANCELED").length})," ",t("cleanup.canceled")]})]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[f.jsx(Rr,{checked:S,onCheckedChange:O=>b(O===!0),disabled:g}),t("cleanup.alsoDeleteLinkedTasks")]}),f.jsx("p",{className:"font-medium text-destructive text-xs",children:t("cleanup.cannotUndo")})]})]}),f.jsxs(Ia,{children:[f.jsx(Pa,{disabled:g,children:e("buttons.cancel")}),f.jsxs(Ae,{variant:"destructive",onClick:w,disabled:g,className:"gap-2",children:[g&&f.jsx(J,{icon:Nt,size:14,strokeWidth:2,className:"animate-spin"}),g?e("status.deleting"):t("delete.button",{count:C.length})]})]})]})]}),u.size>0&&f.jsxs(Ae,{variant:"ghost",size:"sm",onClick:v,className:"gap-1.5 text-xs",children:[f.jsx(J,{icon:Mr,size:12,strokeWidth:2}),e("buttons.clearFilters")]})]})]}),f.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:MDe.map(O=>{const N=u.has(O);return f.jsx("button",{onClick:()=>y(O),className:Be("rounded-full px-2.5 py-1 text-xs font-medium transition-colors",N?aL[O]:"bg-muted text-muted-foreground hover:bg-muted/80"),children:e(`statuses.${O}`)},O)})})]}),f.jsxs("div",{className:"flex-1 overflow-auto p-4",children:[i&&f.jsx("div",{className:"flex items-center justify-center py-12",children:f.jsx(J,{icon:Nt,size:24,strokeWidth:2,className:"animate-spin text-muted-foreground"})}),s&&f.jsxs("div",{className:"flex items-center gap-3 py-6 text-destructive",children:[f.jsx(J,{icon:er,size:20,strokeWidth:2}),f.jsx("span",{className:"text-sm",children:t("error.failedToLoad",{message:s.message})})]}),!i&&!s&&_.length===0&&f.jsx("div",{className:"py-12 text-muted-foreground",children:f.jsx("p",{className:"text-sm",children:u.size>0?t("empty.noMatch"):t("empty.noWorktrees")})}),!i&&f.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:_.map(O=>f.jsx(PDe,{worktree:O,onDelete:R},O.path))})]})]})}function ir(e,t="Assertion error"){if(!e)throw Error(t)}function Mm({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function sL(e,t){return t.sort(e==="horizontal"?FDe:BDe)}function FDe(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function BDe(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function tse(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function UDe({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,a=Number.MAX_VALUE;for(const s of t){const{x:o,y:l}=tse(r,s),u=e==="horizontal"?o:l;u<a&&(a=u,i=s)}return ir(i,"No rect found"),i}function nse(e){const{element:t,orientation:n,panels:r,separators:i}=e,a=sL(n,Array.from(t.children).filter(p=>p instanceof HTMLElement).map(p=>({element:p}))).map(({element:p})=>p),s=[];let o=!1,l,u=[];for(const p of a)if(p.hasAttribute("data-panel")){const d=r.find(m=>m.element===p);if(d){if(l){const m=l.element.getBoundingClientRect(),g=p.getBoundingClientRect();let x;if(o){const S=n==="horizontal"?new DOMRect(m.right,m.top,0,m.height):new DOMRect(m.left,m.bottom,m.width,0),b=n==="horizontal"?new DOMRect(g.left,g.top,0,g.height):new DOMRect(g.left,g.top,g.width,0);switch(u.length){case 0:{x=[S,b];break}case 1:{const y=u[0],v=UDe({orientation:n,rects:[m,g],targetRect:y.element.getBoundingClientRect()});x=[y,v===m?b:S];break}default:{x=u;break}}}else u.length?x=u:x=[n==="horizontal"?new DOMRect(m.right,g.top,g.left-m.right,g.height):new DOMRect(g.left,m.bottom,g.width,g.top-m.bottom)];for(const S of x)s.push({group:e,groupSize:Mm({group:e}),panels:[l,d],separator:"width"in S?void 0:S,rect:"width"in S?S:S.element.getBoundingClientRect()})}o=!1,l=d,u=[]}}else if(p.hasAttribute("data-separator")){const d=i.find(m=>m.element===p);d?u.push(d):(l=void 0,u=[])}else o=!0;return s}function $De(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function zDe(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function HDe(e){return e/100*window.innerHeight}function WDe(e){return e/100*window.innerWidth}function VDe(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function uS({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,a]=VDe(n);switch(a){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=zDe(t,i);break}case"em":{r=$De(t,i);break}case"vh":{r=HDe(i);break}case"vw":{r=WDe(i);break}}return r}function jo(e){return parseFloat(e.toFixed(3))}function fW(e){const{panels:t}=e,n=Mm({group:e});return n===0?t.map(r=>({collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:a}=r;let s=0;if(a.collapsedSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.collapsedSize});s=jo(p/n*100)}let o;if(a.defaultSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.defaultSize});o=jo(p/n*100)}let l=0;if(a.minSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.minSize});l=jo(p/n*100)}let u=100;if(a.maxSize){const p=uS({groupSize:n,panelElement:i,styleProp:a.maxSize});u=jo(p/n*100)}return{collapsedSize:s,collapsible:a.collapsible===!0,defaultSize:o,minSize:l,maxSize:u,panelId:r.id}})}class qDe{#e={};addListener(t,n){const r=this.#e[t];return r===void 0?this.#e[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=this.#e[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,a=null;const s=Array.from(r);for(let o=0;o<s.length;o++){const l=s[o];try{l.call(null,n)}catch(u){a===null&&(i=!0,a=u)}}if(i)throw a}}removeAllListeners(){this.#e={}}removeListener(t,n){const r=this.#e[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}}function Sa(e,t,n=0){return Math.abs(jo(e)-jo(t))<=n}let Js={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const Kf=new qDe;function ql(){return Js}function bo(e){const t=typeof e=="function"?e(Js):e;if(Js===t)return Js;const n=Js;return Js={...Js,...t},t.cursorFlags!==void 0&&Kf.emit("cursorFlagsChange",Js.cursorFlags),t.interactionState!==void 0&&Kf.emit("interactionStateChange",Js.interactionState),t.mountedGroups!==void 0&&(Js.mountedGroups.forEach((r,i)=>{r.derivedPanelConstraints.forEach(a=>{if(a.collapsible){const{layout:s}=n.mountedGroups.get(i)??{};if(s){const o=Sa(a.collapsedSize,r.layout[a.panelId]),l=Sa(a.collapsedSize,s[a.panelId]);o&&!l&&(i.inMemoryLastExpandedPanelSizes[a.panelId]=s[a.panelId])}}})}),Kf.emit("mountedGroupsChange",Js.mountedGroups)),Js}const GDe=e=>e,c2=()=>{},rse=1,ise=2,ase=4,sse=8,pW={coarse:10,precise:5};function KDe({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(a=>{if(!a.disableCursor)switch(a.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(r===0&&i===0)return null;switch(n){case"active":{const a=(e&rse)!==0,s=(e&ise)!==0,o=(e&ase)!==0,l=(e&sse)!==0;if(e){if(a)return o?"se-resize":l?"ne-resize":"e-resize";if(s)return o?"sw-resize":l?"nw-resize":"w-resize";if(o)return"s-resize";if(l)return"n-resize"}break}}return r>0&&i>0?"move":r>0?"ew-resize":"ns-resize"}let d2,fl;function X3(){fl===void 0&&(fl=new CSSStyleSheet,document.adoptedStyleSheets=[fl]);const{cursorFlags:e,interactionState:t}=ql();switch(t.state){case"active":case"hover":{const n=KDe({cursorFlags:e,groups:t.hitRegions.map(i=>i.group),state:t.state}),r=`*{cursor: ${n} !important; ${t.state==="active"?"touch-action: none;":""} }`;if(d2===r)return;d2=r,n?fl.cssRules.length===0?fl.insertRule(r):fl.replaceSync(r):fl.cssRules.length===1&&fl.deleteRule(0);break}case"inactive":{d2=void 0,fl.cssRules.length===1&&fl.deleteRule(0);break}}}function YDe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function _y(e,t){return Sa(e,t)?0:e>t?1:-1}function Wh({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:r,maxSize:i=100,minSize:a=0}=e;if(_y(t,a)<0)if(r){const s=(n+a)/2;_y(t,s)<0?t=n:t=a}else t=a;return t=Math.min(i,t),t=jo(t),t}function wy({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(Sa(e,0))return t;const s=Object.values(t),o=Object.values(i),l=[...s],[u,p]=r;ir(u!=null,"Invalid first pivot index"),ir(p!=null,"Invalid second pivot index");let d=0;if(a==="keyboard"){{const x=e<0?p:u,S=n[x];ir(S,`Panel constraints not found for index ${x}`);const{collapsedSize:b=0,collapsible:y,minSize:v=0}=S;if(y){const _=s[x];if(ir(_!=null,`Previous layout not found for panel index ${x}`),Sa(_,b)){const C=v-_;_y(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}{const x=e<0?u:p,S=n[x];ir(S,`No panel constraints found for index ${x}`);const{collapsedSize:b=0,collapsible:y,minSize:v=0}=S;if(y){const _=s[x];if(ir(_!=null,`Previous layout not found for panel index ${x}`),Sa(_,v)){const C=_-b;_y(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}}{const x=e<0?1:-1;let S=e<0?p:u,b=0;for(;;){const v=s[S];ir(v!=null,`Previous layout not found for panel index ${S}`);const _=Wh({panelConstraints:n[S],size:100})-v;if(b+=_,S+=x,S<0||S>=n.length)break}const y=Math.min(Math.abs(e),Math.abs(b));e=e<0?0-y:y}{let x=e<0?u:p;for(;x>=0&&x<n.length;){const S=Math.abs(e)-Math.abs(d),b=s[x];ir(b!=null,`Previous layout not found for panel index ${x}`);const y=b-S,v=Wh({panelConstraints:n[x],size:y});if(!Sa(b,v)&&(d+=b-v,l[x]=v,d.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?x--:x++}}if(YDe(o,l))return i;{const x=e<0?p:u,S=s[x];ir(S!=null,`Previous layout not found for panel index ${x}`);const b=S+d,y=Wh({panelConstraints:n[x],size:b});if(l[x]=y,!Sa(y,b)){let v=b-y,_=e<0?p:u;for(;_>=0&&_<n.length;){const C=l[_];ir(C!=null,`Previous layout not found for panel index ${_}`);const w=C+v,A=Wh({panelConstraints:n[_],size:w});if(Sa(C,A)||(v-=A-C,l[_]=A),Sa(v,0))break;e>0?_--:_++}}}const m=Object.values(l).reduce((x,S)=>S+x,0);if(!Sa(m,100,.1))return i;const g=Object.keys(i);return l.reduce((x,S,b)=>(x[g[b]]=S,x),{})}function Rg(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||_y(e[n],t[n])!==0)return!1;return!0}function ose({event:e,hitRegions:t,initialLayoutMap:n,mountedGroups:r,pointerDownAtPoint:i}){let a=0;const s=new Map(r);t.forEach(o=>{const{group:l,groupSize:u}=o,{disableCursor:p,orientation:d,panels:m}=l;let g=0;i?d==="horizontal"?g=(e.clientX-i.x)/u*100:g=(e.clientY-i.y)/u*100:d==="horizontal"?g=e.clientX<0?-100:100:g=e.clientY<0?-100:100;const x=n.get(l),{defaultLayoutDeferred:S,derivedPanelConstraints:b,layout:y,separatorToPanels:v}=r.get(l)??{defaultLayoutDeferred:!1};if(b&&x&&y&&v){const _=wy({delta:g,initialLayout:x,panelConstraints:b,pivotIndices:o.panels.map(C=>m.indexOf(C)),prevLayout:y,trigger:"mouse-or-touch"});if(Rg(_,y)){if(g!==0&&!p)switch(d){case"horizontal":{a|=g<0?rse:ise;break}case"vertical":{a|=g<0?ase:sse;break}}}else{s.set(o.group,{defaultLayoutDeferred:S,derivedPanelConstraints:b,layout:_,separatorToPanels:v});const C=o.group.panels.map(({id:w})=>w).join(",");o.group.inMemoryLayouts[C]=_}}}),bo({cursorFlags:a,mountedGroups:s}),X3()}function hW(e){if(e.defaultPrevented||e.relatedTarget!==null||e.clientX===0&&e.clientY===0)return;const{interactionState:t,mountedGroups:n}=ql();t.state==="active"&&t.hitRegions.forEach(r=>{e.currentTarget===r.group.element&&ose({event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n})})}function YS(e){const t=e.parentElement;ir(t,"Parent group element not found");const{mountedGroups:n}=ql();for(const[r]of n)if(r.element===t)return r;throw Error("Could not find parent Group for separator element")}function dp({layout:e,panelConstraints:t}){const n=[...Object.values(e)],r=n.reduce((s,o)=>s+o,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(s=>`${s}%`).join(", ")}`);if(!Sa(r,100)&&n.length>0)for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=100/r*o;n[s]=l}let i=0;for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=Wh({panelConstraints:t[s],size:o});o!=l&&(i+=o-l,n[s]=l)}if(!Sa(i,0))for(let s=0;s<t.length;s++){const o=n[s];ir(o!=null,`No layout data found for index ${s}`);const l=o+i,u=Wh({panelConstraints:t[s],size:l});if(o!==u&&(i-=u-o,n[s]=u,Sa(i,0)))break}const a=Object.keys(e);return n.reduce((s,o,l)=>(s[a[l]]=o,s),{})}function lse({groupId:e}){const t=()=>{const{mountedGroups:n}=ql();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:a,layout:s,separatorToPanels:o}=t(),l=dp({layout:n,panelConstraints:i});return r?s:(Rg(s,l)||bo(u=>({mountedGroups:new Map(u.mountedGroups).set(a,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:l,separatorToPanels:o})})),l)}}}function use(e){const{mountedGroups:t}=ql(),n=t.get(e);return ir(n,`Mounted Group ${e.id} not found`),n}function pf(e,t){const n=YS(e),r=use(n),i=n.separators.find(p=>p.element===e);ir(i,"Matching separator not found");const a=r.separatorToPanels.get(i);ir(a,"Matching panels not found");const s=a.map(p=>n.panels.indexOf(p)),o=lse({groupId:n.id}).getLayout(),l=wy({delta:t,initialLayout:o,panelConstraints:r.derivedPanelConstraints,pivotIndices:s,prevLayout:o,trigger:"keyboard"}),u=dp({layout:l,panelConstraints:r.derivedPanelConstraints});Rg(o,u)||bo(p=>({mountedGroups:new Map(p.mountedGroups).set(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,layout:u,separatorToPanels:r.separatorToPanels})}))}function mW(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=YS(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&pf(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&pf(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&pf(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&pf(t,-5);break}case"End":{e.preventDefault(),pf(t,100);break}case"Enter":{e.preventDefault();const r=YS(t),{derivedPanelConstraints:i,layout:a,separatorToPanels:s}=use(r),o=r.separators.find(d=>d.element===t);ir(o,"Matching separator not found");const l=s.get(o);ir(l,"Matching panels not found");const u=l[0],p=i.find(d=>d.panelId===u.id);if(ir(p,"Panel metadata not found"),p.collapsible){const d=a[u.id],m=p.collapsedSize===d?r.inMemoryLastExpandedPanelSizes[u.id]??p.minSize:p.collapsedSize;pf(t,m-d)}break}case"F6":{e.preventDefault();const r=YS(t).separators.map(s=>s.element),i=Array.from(r).findIndex(s=>s===e.currentTarget);ir(i!==null,"Index not found");const a=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[a].focus();break}case"Home":{e.preventDefault(),pf(t,-100);break}}}function XDe(e,t,n){let r,i={x:1/0,y:1/0};for(const a of t){const s=tse(n,a.rect);switch(e){case"horizontal":{s.x<=i.x&&(r=a,i=s);break}case"vertical":{s.y<=i.y&&(r=a,i=s);break}}}return r?{distance:i,hitRegion:r}:void 0}let cS;function ZDe(){return cS===void 0&&(typeof matchMedia=="function"?cS=!!matchMedia("(pointer:coarse)").matches:cS=!1),cS}function QDe(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:vW(e),b:vW(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;ir(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:bW(gW(n.a)),b:bW(gW(n.b))};if(i.a===i.b){const a=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let o=a.length;for(;o--;){const l=a[o];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(i.a-i.b)}const JDe=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function eLe(e){const t=getComputedStyle(cse(e)??e).display;return t==="flex"||t==="inline-flex"}function tLe(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||eLe(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||JDe.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function gW(e){let t=e.length;for(;t--;){const n=e[t];if(ir(n,"Missing node"),tLe(n))return n}return null}function bW(e){return e&&Number(getComputedStyle(e).zIndex)||0}function vW(e){const t=[];for(;e;)t.push(e),e=cse(e);return t}function cse(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}function nLe(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function rLe({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!(n instanceof HTMLElement)||n.contains(e)||e.contains(n))return!0;if(QDe(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(nLe(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function dse(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const a=ZDe()?pW.coarse:pW.precise,s=nse(i),o=XDe(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=a&&o.distance.y<=a&&rLe({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function yW(e){if(e.defaultPrevented)return;const{mountedGroups:t}=ql(),n=dse(e,t),r=new Set,i=new Set,a=new Set,s=new Map;let o=!1;n.forEach(l=>{r.add(l.group),l.panels.forEach(p=>{i.add(p)}),l.separator&&(a.add(l.separator),o||(o=!0,l.separator.element.focus()));const u=t.get(l.group);u&&s.set(l.group,u.layout)}),bo({interactionState:{hitRegions:n,initialLayoutMap:s,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function xW(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=ql();switch(t.state){case"active":{if(e.type!=="pointerleave"&&e.buttons===0){bo(r=>r.interactionState.state==="inactive"?r:{cursorFlags:0,interactionState:{state:"inactive"}});return}ose({event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint});break}default:{const r=dse(e,n);r.length===0?t.state!=="inactive"&&bo({interactionState:{state:"inactive"}}):bo({interactionState:{hitRegions:r,state:"hover"}}),X3();break}}}function SW(e){if(e.defaultPrevented)return;e.preventDefault();const{interactionState:t}=ql();t.state==="active"&&(bo({cursorFlags:0,interactionState:{state:"inactive"}}),X3())}function EW(e){let t=0,n=0;const r={};for(const a of e)if(a.defaultSize!==void 0){t++;const s=jo(a.defaultSize);n+=s,r[a.panelId]=s}else r[a.panelId]=void 0;const i=e.length-t;if(i!==0){const a=jo((100-n)/i);for(const s of e)s.defaultSize===void 0&&(r[s.panelId]=a)}return r}function iLe(e,t,n){const r=n[0];if(!r)return;const i=e.panels.find(s=>s.element===t);if(!i||!i.onResize)return;const a=Mm({group:e});i.onResize({asPercentage:jo(r.inlineSize/a*100),inPixels:r.inlineSize},i.id)}function aLe(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function sLe(e){let t=!0;const n=new Set,r=new Set,i=new ResizeObserver(g=>{for(const x of g){const{borderBoxSize:S,target:b}=x;if(b===e.element){if(t){if(Mm({group:e})===0)return;bo(y=>{const v=y.mountedGroups.get(e);if(v){const _=fW(e),C=v.defaultLayoutDeferred?EW(_):v.layout,w=dp({layout:C,panelConstraints:_});return!v.defaultLayoutDeferred&&Rg(C,w)&&aLe(v.derivedPanelConstraints,_)?y:{mountedGroups:new Map(y.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:_,layout:w,separatorToPanels:v.separatorToPanels})}}return y})}}else iLe(e,b,S)}});i.observe(e.element),e.panels.forEach(g=>{ir(!n.has(g.id),`Panel ids must be unique; id "${g.id}" was used more than once`),n.add(g.id),g.onResize&&i.observe(g.element)});const a=Mm({group:e}),s=fW(e),o=e.panels.map(({id:g})=>g).join(",");let l=e.defaultLayout;l&&e.panels.length!==Object.keys(l).length&&(l=void 0);const u=e.inMemoryLayouts[o]??l??EW(s),p=dp({layout:u,panelConstraints:s}),d=nse(e),m=bo(g=>{const x=new Map;return d.forEach(S=>{S.separator&&x.set(S.separator,S.panels)}),{mountedGroups:new Map(g.mountedGroups).set(e,{defaultLayoutDeferred:a===0,derivedPanelConstraints:s,layout:p,separatorToPanels:x})}});return e.element.addEventListener("pointerleave",hW),e.separators.forEach(g=>{ir(!r.has(g.id),`Separator ids must be unique; id "${g.id}" was used more than once`),r.add(g.id),g.element.addEventListener("keydown",mW)}),m.mountedGroups.size===1&&(window.addEventListener("pointerdown",yW),window.addEventListener("pointermove",xW),window.addEventListener("pointerup",SW)),function(){t=!1;const g=bo(x=>{const S=new Map(x.mountedGroups);return S.delete(e),{mountedGroups:S}});e.element.removeEventListener("pointerleave",hW),e.separators.forEach(x=>{x.element.removeEventListener("keydown",mW)}),g.mountedGroups.size===0&&(window.removeEventListener("pointerdown",yW),window.removeEventListener("pointermove",xW),window.removeEventListener("pointerup",SW)),i.disconnect()}}function Z3(e){const t=T.useId();return`${e??t}`}const Np=typeof window<"u"?T.useLayoutEffect:T.useEffect;function Q3(e){const t=T.useRef(e);return Np(()=>{t.current=e},[e]),T.useCallback(n=>t.current?.(n),[t])}function J3(...e){return Q3(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function oLe(e){const t=T.useRef({...e});return Np(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const fse="--react-resizable-panels--panel--pointer-events";function pse(e,t){const n=e.replace(/[^a-zA-Z0-9\-_]/g,""),r=t.replace(/[^a-zA-Z0-9\-_]/g,"");return`--react-resizable-panels--${n}--${r}`}const hse=T.createContext(null);function lLe(e,t){const n=T.useRef({getLayout:()=>({}),setLayout:GDe});T.useImperativeHandle(t,()=>n.current,[]),Np(()=>{Object.assign(n.current,lse({groupId:e}))})}function uLe({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:s,id:o,onLayoutChange:l,orientation:u="horizontal",style:p,...d}){const m=T.useRef({}),g=Q3(H=>{Rg(m.current,H)||(m.current=H,l?.(H))}),x=Z3(o),[S,b]=T.useState(!1),[y,v]=T.useState(null),[_,C]=T.useState(n??{}),[w,A]=T.useState([]),[R,O]=T.useState([]),N=T.useRef({lastExpandedPanelSizes:{},layouts:{}}),D=J3(v,a);lLe(x,s);const L=T.useMemo(()=>({id:x,orientation:u,registerPanel:H=>(A(j=>sL(u,[...j,H])),()=>{A(j=>j.filter(G=>G!==H))}),registerSeparator:H=>(O(j=>sL(u,[...j,H])),()=>{O(j=>j.filter(G=>G!==H))})}),[x,u]),z=oLe({defaultLayout:n,disableCursor:r}),P=T.useRef(null);Np(()=>{if(y===null)return;const H={defaultLayout:z.defaultLayout,disableCursor:!!z.disableCursor,disabled:!!i,element:y,id:x,inMemoryLastExpandedPanelSizes:N.current.lastExpandedPanelSizes,inMemoryLayouts:N.current.layouts,orientation:u,panels:w,separators:R};P.current=H;const j=sLe(H),G=ql().mountedGroups.get(H);if(G){const{defaultLayoutDeferred:F,derivedPanelConstraints:U,layout:K}=G;!F&&U.length>0&&(C(K),g?.(K))}const q=Kf.addListener("interactionStateChange",F=>{F.state==="active"?b(F.hitRegions.some(U=>U.group===H)):b(!1)}),B=Kf.addListener("mountedGroupsChange",F=>{const U=F.get(H);if(U){const{defaultLayoutDeferred:K,derivedPanelConstraints:W,layout:ee}=U;if(K||W.length===0)return;C(ee),g?.(ee)}});return()=>{P.current=null,j(),q(),B()}},[i,y,x,g,u,w,R,z]),T.useEffect(()=>{const H=P.current;H&&(H.defaultLayout=n,H.disableCursor=!!r)});const V={[fse]:S?"none":void 0};for(const H in _){const j=pse(x,H),G=_[H];V[j]=G}return f.jsx(hse.Provider,{value:L,children:f.jsx("div",{...d,"aria-orientation":u,className:t,"data-group":!0,"data-testid":x,id:x,ref:D,style:{...p,...V,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}function ej(){const e=T.useContext(hse);return ir(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function cLe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:o}=ql();for(const[l,{defaultLayoutDeferred:u,derivedPanelConstraints:p,layout:d,separatorToPanels:m}]of o)if(l.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:p,group:l,layout:d,separatorToPanels:m};throw Error(`Group ${e} not found`)},r=()=>{const o=n().derivedPanelConstraints.find(l=>l.panelId===t);if(o!==void 0)return o;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const o=n().group.panels.find(l=>l.id===t);if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},a=()=>{const o=n().layout[t];if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},s=o=>{const l=a();if(o===l)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:p,group:d,layout:m,separatorToPanels:g}=n(),x=d.panels.findIndex(v=>v.id===t),S=x===d.panels.length-1,b=wy({delta:S?l-o:o-l,initialLayout:m,panelConstraints:p,pivotIndices:S?[x-1,x]:[x,x+1],prevLayout:m,trigger:"imperative-api"}),y=dp({layout:b,panelConstraints:p});Rg(m,y)||bo(v=>({mountedGroups:new Map(v.mountedGroups).set(d,{defaultLayoutDeferred:u,derivedPanelConstraints:p,layout:y,separatorToPanels:g})}))};return{collapse:()=>{const{collapsible:o,collapsedSize:l}=r(),u=a();o&&u!==l&&s(l)},expand:()=>{const{collapsible:o,collapsedSize:l,minSize:u}=r(),p=a();o&&p===l&&s(u)},getSize:()=>{const{group:o}=n(),l=a(),{element:u}=i(),p=o.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:l,inPixels:p}},isCollapsed:()=>{const{collapsible:o,collapsedSize:l}=r(),u=a();return o&&Sa(l,u)},resize:o=>{if(a()!==o){let l;switch(typeof o){case"number":{const{group:u}=n(),p=Mm({group:u});l=jo(o/p*100);break}case"string":{l=parseFloat(o);break}}s(l)}}}}function dLe(e,t){const{id:n}=ej(),r=T.useRef({collapse:c2,expand:c2,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:c2});T.useImperativeHandle(t,()=>r.current,[]),Np(()=>{Object.assign(r.current,cLe({groupId:n,panelId:e}))})}function fLe({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,elementRef:a,id:s,maxSize:o="100%",minSize:l="0%",onResize:u,panelRef:p,style:d,...m}){const g=!!s,x=Z3(s),[S,b]=T.useState(null),y=J3(b,a),{id:v,registerPanel:_}=ej(),C=u!==null,w=Q3(R=>{u?.(R,s)});Np(()=>{if(S!==null)return _({element:S,id:x,idIsStable:g,onResize:C?w:void 0,panelConstraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:o,minSize:l}})},[n,r,i,S,C,x,g,o,l,w,_]),dLe(x,p);const A=pse(v,x);return f.jsx("div",{...m,"data-panel":!0,"data-testid":x,id:x,ref:y,style:{...pLe,flexBasis:0,flexGrow:`var(${A}, 1)`,flexShrink:1,overflow:"hidden",pointerEvents:`var(${fse})`},children:f.jsx("div",{className:t,style:{width:"100%",height:"100%",...d},children:e})})}const pLe={minHeight:"unset",maxHeight:"unset",height:"unset",minWidth:"unset",maxWidth:"unset",width:"unset",flex:"unset",flexBasis:"unset",flexShrink:"unset",flexGrow:"unset",border:"unset",borderWidth:"unset",padding:"unset",margin:"unset"};function hLe({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a;const s=e[n],o=t.find(l=>l.panelId===n);if(o){const l=o.maxSize,u=a=o.collapsible?o.collapsedSize:o.minSize,p=[r,r+1];a=dp({layout:wy({delta:u-s,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n],i=dp({layout:wy({delta:l-s,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:s}}function mLe({children:e,className:t,elementRef:n,id:r,style:i,...a}){const s=Z3(r),[o,l]=T.useState({}),[u,p]=T.useState("inactive"),[d,m]=T.useState(null),g=J3(m,n),{id:x,orientation:S,registerSeparator:b}=ej(),y=S==="horizontal"?"vertical":"horizontal";return Np(()=>{if(d!==null){const v={element:d,id:s},_=b(v),C=Kf.addListener("interactionStateChange",A=>{p(A.state!=="inactive"&&A.hitRegions.some(R=>R.separator===v)?A.state:"inactive")}),w=Kf.addListener("mountedGroupsChange",A=>{A.forEach(({derivedPanelConstraints:R,layout:O,separatorToPanels:N},D)=>{if(D.id===x){const L=N.get(v);if(L){const z=L[0],P=D.panels.indexOf(z);l(hLe({layout:O,panelConstraints:R,panelId:z.id,panelIndex:P}))}}})});return()=>{C(),w(),_()}}},[d,x,s,b]),f.jsx("div",{...a,"aria-controls":o.valueControls,"aria-orientation":y,"aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:e,className:t,"data-separator":u,"data-testid":s,id:s,ref:g,role:"separator",style:{flexBasis:"auto",...i,flexGrow:0,flexShrink:0},tabIndex:0})}function _f({className:e,direction:t,...n}){return f.jsx(uLe,{"data-slot":"resizable-panel-group",orientation:t,className:Be("flex h-full w-full data-[orientation=vertical]:flex-col",e),...n})}function no({...e}){return f.jsx(fLe,{"data-slot":"resizable-panel",...e})}function wf({withHandle:e,className:t,...n}){return f.jsx(mLe,{"data-slot":"resizable-handle",className:Be("relative flex w-px items-center justify-center bg-border cursor-grab active:cursor-grabbing group touch-none","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/60","focus-visible:ring-offset-1 focus-visible:ring-offset-background","data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:cursor-row-resize","[&[data-orientation=vertical]>div]:rotate-90",t),...n,children:e&&f.jsxs("div",{className:"pointer-events-none absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 flex flex-col items-center gap-1 bg-muted/90 border border-border rounded-full px-1 py-3 opacity-70 group-hover:opacity-100 group-focus:opacity-100 transition-opacity shadow-sm",children:[f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"}),f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"}),f.jsx("span",{className:"w-0.5 h-0.5 rounded-full bg-muted-foreground"})]})})}var f2={exports:{}},_W;function gLe(){return _W||(_W=1,(function(e,t){(function(n,r){e.exports=r()})(globalThis,(()=>(()=>{var n={4567:function(s,o,l){var u=this&&this.__decorate||function(v,_,C,w){var A,R=arguments.length,O=R<3?_:w===null?w=Object.getOwnPropertyDescriptor(_,C):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(v,_,C,w);else for(var N=v.length-1;N>=0;N--)(A=v[N])&&(O=(R<3?A(O):R>3?A(_,C,O):A(_,C))||O);return R>3&&O&&Object.defineProperty(_,C,O),O},p=this&&this.__param||function(v,_){return function(C,w){_(C,w,v)}};Object.defineProperty(o,"__esModule",{value:!0}),o.AccessibilityManager=void 0;const d=l(9042),m=l(9924),g=l(844),x=l(4725),S=l(2585),b=l(3656);let y=o.AccessibilityManager=class extends g.Disposable{constructor(v,_,C,w){super(),this._terminal=v,this._coreBrowserService=C,this._renderService=w,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let A=0;A<this._terminal.rows;A++)this._rowElements[A]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[A]);if(this._topBoundaryFocusListener=A=>this._handleBoundaryFocus(A,0),this._bottomBoundaryFocusListener=A=>this._handleBoundaryFocus(A,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new m.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((A=>this._handleResize(A.rows)))),this.register(this._terminal.onRender((A=>this._refreshRows(A.start,A.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((A=>this._handleChar(A)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
36
36
  `)))),this.register(this._terminal.onA11yTab((A=>this._handleTab(A)))),this.register(this._terminal.onKey((A=>this._handleKey(A.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,b.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,g.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(v){for(let _=0;_<v;_++)this._handleChar(" ")}_handleChar(v){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==v&&(this._charsToAnnounce+=v):this._charsToAnnounce+=v,v===`
37
37
  `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=d.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(v){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(v)||this._charsToConsume.push(v)}_refreshRows(v,_){this._liveRegionDebouncer.refresh(v,_,this._terminal.rows)}_renderRows(v,_){const C=this._terminal.buffer,w=C.lines.length.toString();for(let A=v;A<=_;A++){const R=C.lines.get(C.ydisp+A),O=[],N=R?.translateToString(!0,void 0,void 0,O)||"",D=(C.ydisp+A+1).toString(),L=this._rowElements[A];L&&(N.length===0?(L.innerText=" ",this._rowColumns.set(L,[0,1])):(L.textContent=N,this._rowColumns.set(L,O)),L.setAttribute("aria-posinset",D),L.setAttribute("aria-setsize",w))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(v,_){const C=v.target,w=this._rowElements[_===0?1:this._rowElements.length-2];if(C.getAttribute("aria-posinset")===(_===0?"1":`${this._terminal.buffer.lines.length}`)||v.relatedTarget!==w)return;let A,R;if(_===0?(A=C,R=this._rowElements.pop(),this._rowContainer.removeChild(R)):(A=this._rowElements.shift(),R=C,this._rowContainer.removeChild(A)),A.removeEventListener("focus",this._topBoundaryFocusListener),R.removeEventListener("focus",this._bottomBoundaryFocusListener),_===0){const O=this._createAccessibilityTreeNode();this._rowElements.unshift(O),this._rowContainer.insertAdjacentElement("afterbegin",O)}else{const O=this._createAccessibilityTreeNode();this._rowElements.push(O),this._rowContainer.appendChild(O)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(_===0?-1:1),this._rowElements[_===0?1:this._rowElements.length-2].focus(),v.preventDefault(),v.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;const v=document.getSelection();if(!v)return;if(v.isCollapsed)return void(this._rowContainer.contains(v.anchorNode)&&this._terminal.clearSelection());if(!v.anchorNode||!v.focusNode)return void console.error("anchorNode and/or focusNode are null");let _={node:v.anchorNode,offset:v.anchorOffset},C={node:v.focusNode,offset:v.focusOffset};if((_.node.compareDocumentPosition(C.node)&Node.DOCUMENT_POSITION_PRECEDING||_.node===C.node&&_.offset>C.offset)&&([_,C]=[C,_]),_.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(_={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(_.node))return;const w=this._rowElements.slice(-1)[0];if(C.node.compareDocumentPosition(w)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(C={node:w,offset:w.textContent?.length??0}),!this._rowContainer.contains(C.node))return;const A=({node:N,offset:D})=>{const L=N instanceof Text?N.parentNode:N;let z=parseInt(L?.getAttribute("aria-posinset"),10)-1;if(isNaN(z))return console.warn("row is invalid. Race condition?"),null;const P=this._rowColumns.get(L);if(!P)return console.warn("columns is null. Race condition?"),null;let V=D<P.length?P[D]:P.slice(-1)[0]+1;return V>=this._terminal.cols&&(++z,V=0),{row:z,column:V}},R=A(_),O=A(C);if(R&&O){if(R.row>O.row||R.row===O.row&&R.column>=O.column)throw new Error("invalid range");this._terminal.select(R.column,R.row,(O.row-R.row)*this._terminal.cols-R.column+O.column)}}_handleResize(v){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let _=this._rowContainer.children.length;_<this._terminal.rows;_++)this._rowElements[_]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[_]);for(;this._rowElements.length>v;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const v=this._coreBrowserService.mainDocument.createElement("div");return v.setAttribute("role","listitem"),v.tabIndex=-1,this._refreshRowDimensions(v),v}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let v=0;v<this._terminal.rows;v++)this._refreshRowDimensions(this._rowElements[v])}}_refreshRowDimensions(v){v.style.height=`${this._renderService.dimensions.css.cell.height}px`}};o.AccessibilityManager=y=u([p(1,S.IInstantiationService),p(2,x.ICoreBrowserService),p(3,x.IRenderService)],y)},3614:(s,o)=>{function l(m){return m.replace(/\r?\n/g,"\r")}function u(m,g){return g?"\x1B[200~"+m+"\x1B[201~":m}function p(m,g,x,S){m=u(m=l(m),x.decPrivateModes.bracketedPasteMode&&S.rawOptions.ignoreBracketedPasteMode!==!0),x.triggerDataEvent(m,!0),g.value=""}function d(m,g,x){const S=x.getBoundingClientRect(),b=m.clientX-S.left-10,y=m.clientY-S.top-10;g.style.width="20px",g.style.height="20px",g.style.left=`${b}px`,g.style.top=`${y}px`,g.style.zIndex="1000",g.focus()}Object.defineProperty(o,"__esModule",{value:!0}),o.rightClickHandler=o.moveTextAreaUnderMouseCursor=o.paste=o.handlePasteEvent=o.copyHandler=o.bracketTextForPaste=o.prepareTextForTerminal=void 0,o.prepareTextForTerminal=l,o.bracketTextForPaste=u,o.copyHandler=function(m,g){m.clipboardData&&m.clipboardData.setData("text/plain",g.selectionText),m.preventDefault()},o.handlePasteEvent=function(m,g,x,S){m.stopPropagation(),m.clipboardData&&p(m.clipboardData.getData("text/plain"),g,x,S)},o.paste=p,o.moveTextAreaUnderMouseCursor=d,o.rightClickHandler=function(m,g,x,S,b){d(m,g,x),b&&S.rightClickSelect(m),g.value=S.selectionText,g.select()}},7239:(s,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ColorContrastCache=void 0;const u=l(1505);o.ColorContrastCache=class{constructor(){this._color=new u.TwoKeyMap,this._css=new u.TwoKeyMap}setCss(p,d,m){this._css.set(p,d,m)}getCss(p,d){return this._css.get(p,d)}setColor(p,d,m){this._color.set(p,d,m)}getColor(p,d){return this._color.get(p,d)}clear(){this._color.clear(),this._css.clear()}}},3656:(s,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.addDisposableDomListener=void 0,o.addDisposableDomListener=function(l,u,p,d){l.addEventListener(u,p,d);let m=!1;return{dispose:()=>{m||(m=!0,l.removeEventListener(u,p,d))}}}},3551:function(s,o,l){var u=this&&this.__decorate||function(y,v,_,C){var w,A=arguments.length,R=A<3?v:C===null?C=Object.getOwnPropertyDescriptor(v,_):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(y,v,_,C);else for(var O=y.length-1;O>=0;O--)(w=y[O])&&(R=(A<3?w(R):A>3?w(v,_,R):w(v,_))||R);return A>3&&R&&Object.defineProperty(v,_,R),R},p=this&&this.__param||function(y,v){return function(_,C){v(_,C,y)}};Object.defineProperty(o,"__esModule",{value:!0}),o.Linkifier=void 0;const d=l(3656),m=l(8460),g=l(844),x=l(2585),S=l(4725);let b=o.Linkifier=class extends g.Disposable{get currentLink(){return this._currentLink}constructor(y,v,_,C,w){super(),this._element=y,this._mouseService=v,this._renderService=_,this._bufferService=C,this._linkProviderService=w,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new m.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new m.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,g.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,g.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,d.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,d.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,d.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,d.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(y){this._lastMouseEvent=y;const v=this._positionFromMouseEvent(y,this._element,this._mouseService);if(!v)return;this._isMouseOut=!1;const _=y.composedPath();for(let C=0;C<_.length;C++){const w=_[C];if(w.classList.contains("xterm"))break;if(w.classList.contains("xterm-hover"))return}this._lastBufferCell&&v.x===this._lastBufferCell.x&&v.y===this._lastBufferCell.y||(this._handleHover(v),this._lastBufferCell=v)}_handleHover(y){if(this._activeLine!==y.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(y,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,y)||(this._clearCurrentLink(),this._askForLink(y,!0))}_askForLink(y,v){this._activeProviderReplies&&v||(this._activeProviderReplies?.forEach((C=>{C?.forEach((w=>{w.link.dispose&&w.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=y.y);let _=!1;for(const[C,w]of this._linkProviderService.linkProviders.entries())v?this._activeProviderReplies?.get(C)&&(_=this._checkLinkProviderResult(C,y,_)):w.provideLinks(y.y,(A=>{if(this._isMouseOut)return;const R=A?.map((O=>({link:O})));this._activeProviderReplies?.set(C,R),_=this._checkLinkProviderResult(C,y,_),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(y.y,this._activeProviderReplies)}))}_removeIntersectingLinks(y,v){const _=new Set;for(let C=0;C<v.size;C++){const w=v.get(C);if(w)for(let A=0;A<w.length;A++){const R=w[A],O=R.link.range.start.y<y?0:R.link.range.start.x,N=R.link.range.end.y>y?this._bufferService.cols:R.link.range.end.x;for(let D=O;D<=N;D++){if(_.has(D)){w.splice(A--,1);break}_.add(D)}}}}_checkLinkProviderResult(y,v,_){if(!this._activeProviderReplies)return _;const C=this._activeProviderReplies.get(y);let w=!1;for(let A=0;A<y;A++)this._activeProviderReplies.has(A)&&!this._activeProviderReplies.get(A)||(w=!0);if(!w&&C){const A=C.find((R=>this._linkAtPosition(R.link,v)));A&&(_=!0,this._handleNewLink(A))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!_)for(let A=0;A<this._activeProviderReplies.size;A++){const R=this._activeProviderReplies.get(A)?.find((O=>this._linkAtPosition(O.link,v)));if(R){_=!0,this._handleNewLink(R);break}}return _}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(y){if(!this._currentLink)return;const v=this._positionFromMouseEvent(y,this._element,this._mouseService);v&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,v)&&this._currentLink.link.activate(y,this._currentLink.link.text)}_clearCurrentLink(y,v){this._currentLink&&this._lastMouseEvent&&(!y||!v||this._currentLink.link.range.start.y>=y&&this._currentLink.link.range.end.y<=v)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,g.disposeArray)(this._linkCacheDisposables))}_handleNewLink(y){if(!this._lastMouseEvent)return;const v=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);v&&this._linkAtPosition(y.link,v)&&(this._currentLink=y,this._currentLink.state={decorations:{underline:y.link.decorations===void 0||y.link.decorations.underline,pointerCursor:y.link.decorations===void 0||y.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,y.link,this._lastMouseEvent),y.link.decorations={},Object.defineProperties(y.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:_=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==_&&(this._currentLink.state.decorations.pointerCursor=_,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",_))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:_=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==_&&(this._currentLink.state.decorations.underline=_,this._currentLink.state.isHovered&&this._fireUnderlineEvent(y.link,_))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((_=>{if(!this._currentLink)return;const C=_.start===0?0:_.start+1+this._bufferService.buffer.ydisp,w=this._bufferService.buffer.ydisp+1+_.end;if(this._currentLink.link.range.start.y>=C&&this._currentLink.link.range.end.y<=w&&(this._clearCurrentLink(C,w),this._lastMouseEvent)){const A=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);A&&this._askForLink(A,!1)}}))))}_linkHover(y,v,_){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(v,!0),this._currentLink.state.decorations.pointerCursor&&y.classList.add("xterm-cursor-pointer")),v.hover&&v.hover(_,v.text)}_fireUnderlineEvent(y,v){const _=y.range,C=this._bufferService.buffer.ydisp,w=this._createLinkUnderlineEvent(_.start.x-1,_.start.y-C-1,_.end.x,_.end.y-C-1,void 0);(v?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(w)}_linkLeave(y,v,_){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(v,!1),this._currentLink.state.decorations.pointerCursor&&y.classList.remove("xterm-cursor-pointer")),v.leave&&v.leave(_,v.text)}_linkAtPosition(y,v){const _=y.range.start.y*this._bufferService.cols+y.range.start.x,C=y.range.end.y*this._bufferService.cols+y.range.end.x,w=v.y*this._bufferService.cols+v.x;return _<=w&&w<=C}_positionFromMouseEvent(y,v,_){const C=_.getCoords(y,v,this._bufferService.cols,this._bufferService.rows);if(C)return{x:C[0],y:C[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(y,v,_,C,w){return{x1:y,y1:v,x2:_,y2:C,cols:this._bufferService.cols,fg:w}}};o.Linkifier=b=u([p(1,S.IMouseService),p(2,S.IRenderService),p(3,x.IBufferService),p(4,S.ILinkProviderService)],b)},9042:(s,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.tooMuchOutput=o.promptLabel=void 0,o.promptLabel="Terminal input",o.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(s,o,l){var u=this&&this.__decorate||function(S,b,y,v){var _,C=arguments.length,w=C<3?b:v===null?v=Object.getOwnPropertyDescriptor(b,y):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(S,b,y,v);else for(var A=S.length-1;A>=0;A--)(_=S[A])&&(w=(C<3?_(w):C>3?_(b,y,w):_(b,y))||w);return C>3&&w&&Object.defineProperty(b,y,w),w},p=this&&this.__param||function(S,b){return function(y,v){b(y,v,S)}};Object.defineProperty(o,"__esModule",{value:!0}),o.OscLinkProvider=void 0;const d=l(511),m=l(2585);let g=o.OscLinkProvider=class{constructor(S,b,y){this._bufferService=S,this._optionsService=b,this._oscLinkService=y}provideLinks(S,b){const y=this._bufferService.buffer.lines.get(S-1);if(!y)return void b(void 0);const v=[],_=this._optionsService.rawOptions.linkHandler,C=new d.CellData,w=y.getTrimmedLength();let A=-1,R=-1,O=!1;for(let N=0;N<w;N++)if(R!==-1||y.hasContent(N)){if(y.loadCell(N,C),C.hasExtendedAttrs()&&C.extended.urlId){if(R===-1){R=N,A=C.extended.urlId;continue}O=C.extended.urlId!==A}else R!==-1&&(O=!0);if(O||R!==-1&&N===w-1){const D=this._oscLinkService.getLinkData(A)?.uri;if(D){const L={start:{x:R+1,y:S},end:{x:N+(O||N!==w-1?0:1),y:S}};let z=!1;if(!_?.allowNonHttpProtocols)try{const P=new URL(D);["http:","https:"].includes(P.protocol)||(z=!0)}catch{z=!0}z||v.push({text:D,range:L,activate:(P,V)=>_?_.activate(P,V,L):x(0,V),hover:(P,V)=>_?.hover?.(P,V,L),leave:(P,V)=>_?.leave?.(P,V,L)})}O=!1,C.hasExtendedAttrs()&&C.extended.urlId?(R=N,A=C.extended.urlId):(R=-1,A=-1)}}b(v)}};function x(S,b){if(confirm(`Do you want to navigate to ${b}?
38
38
 
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/png" href="/logo.png" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vibora - Harness Attention. Ship.</title>
8
- <script type="module" crossorigin src="/assets/index-C60um2d0.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CnXWuHyf.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-CfTPmrF1.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "8.5.1",
3
+ "version": "8.5.2",
4
4
  "description": "Harness Attention. Orchestrate Agents. Ship.",
5
5
  "license": "PolyForm-Shield-1.0.0",
6
6
  "repository": {