@dreb/dashboard 2.67.0 → 2.68.0

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.
@@ -1,7 +1,7 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return u(this.context.count)},getNextContextId(){return u(this.context.count++)}};function u(e){let t=String(e),n=t.length-1;return l.context.id+(n?String.fromCharCode(96+n):``)+t}function d(e){l.context=e}var f=(e,t)=>e===t,p=Symbol(`solid-proxy`),m=Symbol(`solid-track`),h={equals:f},g=null,_=fe,v=1,y=2,b={owned:null,cleanups:null,context:null,owner:null},x={},S=null,C=null,w=null,T=null,E=null,D=0;function O(e,t){let n=w,r=S,i=e.length===0,a=t===void 0?r:t,o=i?b:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(()=>L(()=>ge(o)));S=o,w=null;try{return ue(s,!0)}finally{w=n,S=r}}function k(e,t){t=t?Object.assign({},h,t):h;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[oe.bind(n),e=>(typeof e==`function`&&(e=C&&C.running&&C.sources.has(n)?e(n.tValue):e(n.value)),V(n,e))]}function A(e,t,n){se(ce(e,t,!0,v))}function j(e,t,n){se(ce(e,t,!1,v))}function M(e,t,n){_=pe;let r=ce(e,t,!1,v),i=B&&ie(B);i&&(r.suspense=i),(!n||!n.render)&&(r.user=!0),E?E.push(r):se(r)}function N(e,t,n){n=n?Object.assign({},h,n):h;let r=ce(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,se(r),oe.bind(r)}function P(e){return e&&typeof e==`object`&&`then`in e}function F(e,t,n){let r,i,a;typeof t==`function`?(r=e,i=t,a=n||{}):(r=!0,i=e,a=t||{});let o=null,s=x,c=null,u=!1,d=!1,f=`initialValue`in a,p=typeof r==`function`&&N(r),m=new Set,[h,g]=(a.storage||k)(a.initialValue),[_,v]=k(void 0),[y,b]=k(void 0,{equals:!1}),[T,E]=k(f?`ready`:`unresolved`);S&&z(()=>{for(let e of m.keys())e.decrement();m.clear(),C&&o&&C.promises.delete(o),o=null}),l.context&&(c=l.getNextContextId(),a.ssrLoadFrom===`initial`?s=a.initialValue:l.load&&l.has(c)&&(s=l.load(c)));function D(e,t,n,r){return o===e&&(o=null,r!==void 0&&(f=!0),(e===s||t===s)&&a.onHydrated&&queueMicrotask(()=>a.onHydrated(r,{value:t})),s=x,C&&e&&u?(C.promises.delete(e),u=!1,ue(()=>{C.running=!0,O(t,n)},!1)):O(t,n)),t}function O(e,t){ue(()=>{t===void 0&&g(()=>e),E(t===void 0?f?`ready`:`unresolved`:`errored`),v(t);for(let e of m.keys())e.decrement();m.clear()},!1)}function j(){let e=B&&ie(B),t=h(),n=_();if(n!==void 0&&!o)throw n;return w&&!w.user&&e&&A(()=>{y(),o&&(e.resolved&&C&&u?C.promises.add(o):m.has(e)||(e.increment(),m.add(e)))}),t}function M(e=!0){if(e!==!1&&d)return;d=!1;let t=p?p():r;if(u=C&&C.running,t==null||t===!1){D(o,L(h));return}C&&o&&C.promises.delete(o);let n,a=s===x?L(()=>{try{return i(t,{value:h(),refetching:e})}catch(e){n=e}}):s;if(n!==void 0){D(o,void 0,ve(n),t);return}else if(!P(a))return D(o,a,void 0,t),a;return o=a,`v`in a?(a.s===1?D(o,a.v,void 0,t):D(o,void 0,ve(a.v),t),a):(d=!0,queueMicrotask(()=>d=!1),ue(()=>{E(f?`refreshing`:`pending`),b()},!1),a.then(e=>D(a,e,void 0,t),e=>D(a,void 0,ve(e),t)))}Object.defineProperties(j,{state:{get:()=>T()},error:{get:()=>_()},loading:{get(){let e=T();return e===`pending`||e===`refreshing`}},latest:{get(){if(!f)return j();let e=_();if(e&&!o)throw e;return h()}}});let F=S;return p?A(()=>(F=S,M(!1))):M(!1),[j,{refetch:e=>te(F,()=>M(e)),mutate:g}]}function I(e){return ue(e,!1)}function L(e){if(w===null)return e();let t=w;w=null;try{return e()}finally{w=t}}function R(e){M(()=>L(e))}function z(e){return S===null||(S.cleanups===null?S.cleanups=[e]:S.cleanups.push(e)),e}function ee(){return w}function te(e,t){let n=S,r=w;S=e,w=null;try{return ue(t,!0)}catch(e){ye(e)}finally{S=n,w=r}}var[ne,re]=k(!1);function ie(e){let t;return S&&S.context&&(t=S.context[e.id])!==void 0?t:e.defaultValue}function ae(e){let t=N(e),n=N(()=>be(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var B;function oe(){let e=C&&C.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===v)se(this);else{let e=T;T=null,ue(()=>me(this),!1),T=e}if(w){let e=this.observers;if(!e||e[e.length-1]!==w){let t=e?e.length:0;w.sources?(w.sources.push(this),w.sourceSlots.push(t)):(w.sources=[this],w.sourceSlots=[t]),e?(e.push(w),this.observerSlots.push(w.sources.length-1)):(this.observers=[w],this.observerSlots=[w.sources.length-1])}}return e&&C.sources.has(this)?this.tValue:this.value}function V(e,t,n){let r=C&&C.running&&C.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(C){let r=C.running;(r||!n&&C.sources.has(e))&&(C.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&ue(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=C&&C.running;r&&C.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?T.push(n):E.push(n),n.observers&&he(n)),r?n.tState=v:n.state=v)}if(T.length>1e6)throw T=[],Error()},!1)}return t}function se(e){if(!e.fn)return;ge(e);let t=D;H(e,C&&C.running&&C.sources.has(e)?e.tValue:e.value,t),C&&!C.running&&C.sources.has(e)&&queueMicrotask(()=>{ue(()=>{C&&(C.running=!0),w=S=e,H(e,e.tValue,t),w=S=null},!1)})}function H(e,t,n){let r,i=S,a=w;w=S=e;try{r=e.fn(t)}catch(t){return e.pure&&(C&&C.running?(e.tState=v,e.tOwned&&e.tOwned.forEach(ge),e.tOwned=void 0):(e.state=v,e.owned&&e.owned.forEach(ge),e.owned=null)),e.updatedAt=n+1,ye(t)}finally{w=a,S=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?V(e,r,!0):C&&C.running&&e.pure?(C.sources.has(e)||(e.value=r),C.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function ce(e,t,n,r=v,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:S,context:S?S.context:null,pure:n};return C&&C.running&&(a.state=0,a.tState=r),S===null||S!==b&&(C&&C.running&&S.pure?S.tOwned?S.tOwned.push(a):S.tOwned=[a]:S.owned?S.owned.push(a):S.owned=[a]),a}function le(e){let t=C&&C.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===y)return me(e);if(e.suspense&&L(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<D);){if(t&&C.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(C.disposed.has(t))return}if((t?e.tState:e.state)===v)se(e);else if((t?e.tState:e.state)===y){let t=T;T=null,ue(()=>me(e,n[0]),!1),T=t}}}function ue(e,t){if(T)return e();let n=!1;t||(T=[]),E?n=!0:E=[],D++;try{let t=e();return de(n),t}catch(e){n||(E=null),T=null,ye(e)}}function de(e){if(T&&=(fe(T),null),e)return;let t;if(C){if(!C.promises.size&&!C.queue.size){let e=C.sources,n=C.disposed;E.push.apply(E,C.effects),t=C.resolve;for(let e of E)`tState`in e&&(e.state=e.tState),delete e.tState;C=null,ue(()=>{for(let e of n)ge(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)ge(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}re(!1)},!1)}else if(C.running){C.running=!1,C.effects.push.apply(C.effects,E),E=null,re(!0);return}}let n=E;E=null,n.length&&ue(()=>_(n),!1),t&&t()}function fe(e){for(let t=0;t<e.length;t++)le(e[t])}function pe(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[n++]=r:le(r)}if(l.context){if(l.count){l.effects||=[],l.effects.push(...e.slice(0,n));return}d()}for(l.effects&&(l.done||!l.count)&&(e=[...l.effects,...e],n+=l.effects.length,delete l.effects),t=0;t<n;t++)le(e[t])}function me(e,t){let n=C&&C.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===v?i!==t&&(!i.updatedAt||i.updatedAt<D)&&le(i):e===y&&me(i,t)}}}function he(e){let t=C&&C.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=y:r.state=y,r.pure?T.push(r):E.push(r),r.observers&&he(r))}}function ge(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)ge(e.tOwned[t]);delete e.tOwned}if(C&&C.running&&e.pure)_e(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)ge(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}C&&C.running?e.tState=0:e.state=0}function _e(e,t){if(t||(e.tState=0,C.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)_e(e.owned[t])}function ve(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function U(e,t,n){try{for(let n of t)n(e)}catch(e){ye(e,n&&n.owner||null)}}function ye(e,t=S){let n=g&&t&&t.context&&t.context[g],r=ve(e);if(!n)throw r;E?E.push({fn(){U(r,n,t)},state:v}):U(r,n,t)}function be(e){if(typeof e==`function`&&!e.length)return be(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=be(e[n]);if(Array.isArray(r))if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e]);else t.push(r)}return t}return e}var xe=Symbol(`fallback`);function Se(e){for(let t=0;t<e.length;t++)e[t]()}function Ce(e,t,n={}){let r=[],i=[],a=[],o=0,s=t.length>1?[]:null;return z(()=>Se(a)),()=>{let c=e()||[],l=c.length,u,d;return c[m],L(()=>{let e,t,p,m,h,g,_,v,y;if(l===0)o!==0&&(Se(a),a=[],r=[],i=[],o=0,s&&=[]),n.fallback&&(r=[xe],i[0]=O(e=>(a[0]=e,n.fallback())),o=1);else if(o===0){for(i=Array(l),d=0;d<l;d++)r[d]=c[d],i[d]=O(f);o=l}else{for(p=Array(l),m=Array(l),s&&(h=Array(l)),g=0,_=Math.min(o,l);g<_&&r[g]===c[g];g++);for(_=o-1,v=l-1;_>=g&&v>=g&&r[_]===c[v];_--,v--)p[v]=i[_],m[v]=a[_],s&&(h[v]=s[_]);for(e=new Map,t=Array(v+1),d=v;d>=g;d--)y=c[d],u=e.get(y),t[d]=u===void 0?-1:u,e.set(y,d);for(u=g;u<=_;u++)y=r[u],d=e.get(y),d!==void 0&&d!==-1?(p[d]=i[u],m[d]=a[u],s&&(h[d]=s[u]),d=t[d],e.set(y,d)):a[u]();for(d=g;d<l;d++)d in p?(i[d]=p[d],a[d]=m[d],s&&(s[d]=h[d],s[d](d))):i[d]=O(f);i=i.slice(0,o=l),r=c.slice(0)}return i});function f(e){if(a[d]=e,s){let[e,n]=k(d);return s[d]=n,t(c[d],e)}return t(c[d])}}}function W(e,t){return L(()=>e(t||{}))}var we=0;function Te(){return l.context?l.getNextContextId():`cl-${we++}`}var Ee=e=>`Stale read from <${e}>.`;function G(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return N(Ce(()=>e.each,e.children,t||void 0))}function K(e){let t=e.keyed,n=N(()=>e.when,void 0,void 0),r=t?n:N(n,void 0,{equals:(e,t)=>!e==!t});return N(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?L(()=>a(t?i:()=>{if(!L(r))throw Ee(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function De(e){let t=ae(()=>e.children),n=N(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=N(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:N(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return N(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?L(()=>o(a.keyed?i():()=>{if(L(n)()?.[0]!==r)throw Ee(`Match`);return i()})):o},void 0,void 0)}function Oe(e){return e}var q=e=>N(()=>e());function ke(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;){if(t[o]===n[s]){o++,s++;continue}for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)(!l||!l.has(t[o]))&&t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null)if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&!((d=l.get(t[c]))==null||d!==r+u);)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++;else t[o++].remove()}}}var Ae=`_$DX_DELEGATE`;function je(e,t,n,r={}){let i;return O(r=>{i=r,t===document?e():X(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function J(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>L(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function Me(e,t=window.document){let n=t[Ae]||(t[Ae]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Be))}}function Y(e,t,n){Re(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function Ne(e,t){Re(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function Pe(e,t,n,r){if(r)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){let r=n[0];e.addEventListener(t,n[0]=t=>r.call(e,n[1],t))}else e.addEventListener(t,n,typeof n!=`function`&&n)}function Fe(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];!r||r===`undefined`||t[r]||(ze(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];!i||i===`undefined`||n[i]===o||!o||(ze(e,i,!0),n[i]=o)}return n}function Ie(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Le(e,t,n){return L(()=>e(t,n))}function X(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Ve(e,t,r,n);j(r=>Ve(e,t(),r,n),r)}function Re(e){return!!l.context&&!l.done&&(!e||e.isConnected)}function ze(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Be(e){if(l.registry&&l.events&&l.events.find(([t,n])=>n===e))return;let t=e.target,n=`$$${e.type}`,r=e.target,i=e.currentTarget,a=t=>Object.defineProperty(e,"target",{configurable:!0,value:t}),o=()=>{let r=t[n];if(r&&!t.disabled){let i=t[`${n}Data`];if(i===void 0?r.call(t,e):r.call(t,i,e),e.cancelBubble)return}return t.host&&typeof t.host!=`string`&&!t.host._$host&&t.contains(e.target)&&a(t.host),!0},s=()=>{for(;o()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),l.registry&&!l.done&&(l.done=_$HY.done=!0),e.composedPath){let n=e.composedPath();a(n[0]);for(let e=0;e<n.length-2&&(t=n[e],o());e++){if(t._$host){t=t._$host,s();break}if(t.parentNode===i)break}}else s();a(r)}function Ve(e,t,n,r,i){let a=Re(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=We(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=We(e,n,r)}else if(o===`function`)return j(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Ve(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(He(o,t,n,i))return j(()=>n=Ve(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=We(e,n,r),s)return n}else c?n.length===0?Ue(e,o,r):ke(e,n,o):(n&&We(e),Ue(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=We(e,n,r,t);We(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function He(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(!(o==null||o===!0||o===!1))if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=He(e,o,s)||i;else if(c===`function`)if(r){for(;typeof o==`function`;)o=o();i=He(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0;else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}return i}function Ue(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function We(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var Ge=J(`<span><span class=dot></span> `),Ke=J(`<span class="chip chip-plain">…`),qe=J(`<span class="chip chip-plain mode-badge"><span class=dot></span><span class=mode-badge-text>`),Je=J(`<header class=topbar><div class=topbar-inner><a class=wordmark href=#/>dreb</a><nav><a href=#/>fleet</a><a href=#/files>files</a><a href=#/memories>memories</a><a href=#/settings>settings</a></nav><span class=topbar-spacer>`),Ye=J(`<button type=button class="btn btn-small">recovery failed — retry`),Xe=J(`<span><output aria-live=polite><span class=dot></span> `),Ze=J(`<div class=modal-actions>`),Qe=J(`<div class=modal-backdrop role=presentation><div role=dialog><div class=modal-title></div><div class=modal-body>`),$e=J(`<div class="container banner-region"aria-live=polite>`),et=J(`<span class=banner-actions>`),tt=J(`<div><span class=banner-glyph aria-hidden=true>◆</span><span class=banner-text></span><button type=button class="btn btn-small banner-dismiss">dismiss`),nt=J(`<button type=button class="btn btn-small">`),rt=J(`<div class=toast-region>`),it=J(`<div><span></span><button type=button class="btn btn-small"style=margin-left:auto>✕`);function at(e){let t={running:`●`,attention:`◆`,idle:`○`,error:`✕`},n={running:`running`,attention:`needs attention`,idle:`idle`,error:`error`};return(()=>{var r=Ge(),i=r.firstChild;return i.nextSibling,X(i,()=>t[e.status]),X(r,()=>e.label??n[e.status],null),j(()=>Ne(r,`chip chip-${e.status}`)),r})()}function ot(e){return e.error?`error`:e.needsAttention?`attention`:e.state.isStreaming||e.state.isRetrying||e.state.isCompacting?`running`:`idle`}function st(e){let t=()=>e.store.auth();return W(K,{get when(){return t()},get fallback(){return Ke()},children:e=>{let t=()=>e().mode===`local`?`local · 127.0.0.1`:`remote · ${e().device??e().identity??`device`} via tailscale`;return(()=>{var n=qe(),r=n.firstChild,i=r.nextSibling;return X(r,()=>e().mode===`local`?`⌂`:`⇄`),X(i,t),j(()=>Y(n,`title`,t())),n})()}})}function ct(e){let t=()=>Object.values(e.store.sessions).filter(e=>e.needsAttention).length+e.store.fleet().runtimes.filter(e=>e.needsAttention).length;return(()=>{var n=Je(),r=n.firstChild,i=r.firstChild.nextSibling,a=i.firstChild;a.firstChild;var o=a.nextSibling,s=o.nextSibling,c=s.nextSibling;return i.nextSibling,X(a,()=>t()>0?` ◆`:``,null),X(r,W(lt,{get store(){return e.store}}),null),X(r,W(st,{get store(){return e.store}}),null),j(t=>{var n=e.active===`fleet`?`page`:void 0,r=e.active===`files`?`page`:void 0,i=e.active===`memories`?`page`:void 0,l=e.active===`settings`?`page`:void 0;return n!==t.e&&Y(a,`aria-current`,t.e=n),r!==t.t&&Y(o,`aria-current`,t.t=r),i!==t.a&&Y(s,`aria-current`,t.a=i),l!==t.o&&Y(c,`aria-current`,t.o=l),t},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function lt(e){let t=()=>e.store.resyncing()?`resyncing`:e.store.connection().state,n=()=>{switch(t()){case`connected`:return{glyph:`●`,text:`live`,tone:`idle`};case`connecting`:return{glyph:`…`,text:`connecting`,tone:`attention`};case`retrying`:{let t=e.store.connection().retryDelayMs;return{glyph:`↻`,text:`retrying${t===void 0?``:` in ${Math.ceil(t/1e3)}s`}`,tone:`attention`}}case`resyncing`:return{glyph:`↻`,text:`recovering live state`,tone:`attention`};case`auth_failed`:return{glyph:`✕`,text:`live connection unauthorized`,tone:`error`};default:return{glyph:`✕`,text:`live connection disconnected`,tone:`error`}}};return(()=>{var t=Xe(),r=t.firstChild,i=r.firstChild;return i.nextSibling,X(i,()=>n().glyph),X(r,()=>n().text,null),X(t,W(K,{get when(){return e.store.resyncError()},get children(){var t=Ye();return t.$$click=()=>void e.store.retryResync(),j(()=>Y(t,`title`,e.store.resyncError())),t}}),null),j(i=>{var a=`connection-indicator ${e.class??``}`.trim(),o=`chip chip-${n().tone}`;return a!==i.e&&Ne(t,i.e=a),o!==i.t&&Ne(r,i.t=o),i},{e:void 0,t:void 0}),t})()}function ut(e){return(()=>{var t=Qe(),n=t.firstChild,r=n.firstChild,i=r.nextSibling;return t.$$keydown=t=>{t.key===`Escape`&&e.onDismiss()},t.$$click=t=>{t.target===t.currentTarget&&e.onDismiss()},X(r,()=>e.title),X(i,()=>e.children),X(n,W(K,{get when(){return e.actions},get children(){var t=Ze();return X(t,()=>e.actions),t}}),null),j(t=>{var r=`modal ${e.class??``}`,i=e.title;return r!==t.e&&Ne(n,t.e=r),i!==t.t&&Y(n,`aria-label`,t.t=i),t},{e:void 0,t:void 0}),t})()}function dt(e){return W(K,{get when(){return e.banners.length>0},get children(){var t=$e();return X(t,W(G,{get each(){return e.banners},children:e=>(()=>{var t=tt(),n=t.firstChild.nextSibling,r=n.nextSibling;return X(n,()=>e.text),X(t,W(K,{get when(){return(e.actions?.length??0)>0},get children(){var t=et();return X(t,W(G,{get each(){return e.actions},children:e=>(()=>{var t=nt();return t.$$click=()=>void e.run(),X(t,()=>e.label),j(()=>t.disabled=e.disabled),t})()})),t}}),r),Pe(r,`click`,e.onDismiss,!0),j(n=>{var r=`banner ${e.tone}`,i=e.key;return r!==n.e&&Ne(t,n.e=r),i!==n.t&&Y(t,`data-banner-key`,n.t=i),n},{e:void 0,t:void 0}),t})()})),t}})}function ft(e){return(()=>{var t=rt();return X(t,W(G,{get each(){return e.toasts},children:t=>(()=>{var n=it(),r=n.firstChild,i=r.nextSibling;return X(r,()=>t.text),i.$$click=()=>e.onDismiss(t.id),j(()=>Ne(n,`toast ${t.tone}`)),n})()})),t})()}function pt(e){if(!e)return``;let t=typeof e==`number`?e:Date.parse(e);if(Number.isNaN(t))return``;let n=Math.floor((Date.now()-t)/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:`${Math.floor(a/30)}mo ago`}function mt(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}Me([`click`,`keydown`]);function ht(e,t,n,r){if(typeof r==`object`&&r&&`error`in r)return String(r.error);let i=typeof r==`string`?r:String(r);return/^\s*<(?:!doctype|html)/i.test(i)?`${(t?.method??`GET`).toUpperCase()} ${e} → ${n} ${n===404?`Not Found`:`error`}`:i.trim()||`Request failed (${n})`}async function Z(e,t){let n=await fetch(e,t),r=(n.headers.get(`content-type`)??``).includes(`application/json`)?await n.json():await n.text();if(!n.ok){let i=ht(e,t,n.status,r);throw Object.assign(Error(i),{status:n.status,body:r})}return r}function gt(e){return{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}}function _t(e,t){return{method:e,headers:{"content-type":`application/json`},body:JSON.stringify(t)}}function vt(e,t){return t?`${e}?cwd=${encodeURIComponent(t)}`:e}var yt=/^[0-9a-f]{64}$/;function bt(e,t,n,r){if(!yt.test(t)||e.length===0)return;let i=encodeURIComponent(e);return`${r?`/api/runtimes/${i}/subagents/${encodeURIComponent(r)}/images`:`/api/runtimes/${i}/images`}/${t}/${n}`}var Q={auth:e=>Z(`/api/auth`,{signal:e}),connectionDiagnostic:e=>Z(`/api/events/diagnostic`,gt(e)),pair:e=>Z(`/api/pair`,gt({pin:e})),pairingCode:()=>Z(`/api/pairing-code`),pairingSettings:()=>Z(`/api/pairing-settings`),savePairingSettings:e=>Z(`/api/pairing-settings`,_t(`PUT`,{pairingTtlDays:e})),devices:()=>Z(`/api/devices`),unpair:e=>Z(`/api/devices/${encodeURIComponent(e)}`,{method:`DELETE`}),fleet:()=>Z(`/api/fleet`),sessions:()=>Z(`/api/sessions`),resync:(e,t,n)=>{let r=new URLSearchParams;return e&&r.set(`key`,e),t&&r.set(`agentId`,t),Z(`/api/resync${r.size?`?${r}`:``}`,{signal:n})},createRuntime:(e,t={})=>Z(`/api/runtimes`,gt({cwd:e,...t})),stopRuntime:e=>Z(`/api/runtimes/${e}`,{method:`DELETE`}),runtime:(e,t)=>Z(`/api/runtimes/${e}`,{signal:t}),hydrate:(e,t)=>Z(`/api/runtimes/${e}/hydrate`,{signal:t}),messages:(e,t)=>Z(`/api/runtimes/${e}/messages`,{signal:t}),pending:e=>Z(`/api/runtimes/${e}/pending`),dequeue:e=>Z(`/api/runtimes/${e}/dequeue`,{method:`POST`}),prompt:(e,t,n,r)=>Z(`/api/runtimes/${e}/prompt`,gt({message:t,mode:n,images:r})),abort:e=>Z(`/api/runtimes/${e}/abort`,{method:`POST`}),abortCompaction:e=>Z(`/api/runtimes/${e}/abort-compaction`,{method:`POST`}),abortRetry:e=>Z(`/api/runtimes/${e}/abort-retry`,{method:`POST`}),setModel:(e,t,n)=>Z(`/api/runtimes/${e}/model`,gt({provider:t,modelId:n})),models:e=>Z(`/api/runtimes/${e}/models`),setThinking:(e,t)=>Z(`/api/runtimes/${e}/thinking`,gt({level:t})),compact:(e,t)=>Z(`/api/runtimes/${e}/compact`,gt({instructions:t})),newSession:e=>Z(`/api/runtimes/${e}/new-session`,{method:`POST`}),reload:e=>Z(`/api/runtimes/${e}/reload`,{method:`POST`}),dream:(e,t)=>Z(`/api/runtimes/${e}/dream`,gt({args:t})),importJsonl:(e,t)=>Z(`/api/runtimes/${e}/import`,gt({inputPath:t})),rename:(e,t)=>Z(`/api/runtimes/${e}/name`,gt({name:t})),stats:(e,t)=>Z(`/api/runtimes/${e}/stats`,{signal:t}),performance:e=>Z(`/api/runtimes/${e}/performance`),resources:e=>Z(`/api/runtimes/${e}/resources`),commands:e=>Z(`/api/runtimes/${e}/commands`),branch:e=>Z(`/api/runtimes/${e}/branch`),forkMessages:e=>Z(`/api/runtimes/${e}/fork-messages`),fork:(e,t)=>Z(`/api/runtimes/${e}/fork`,gt({entryId:t})),tree:e=>Z(`/api/runtimes/${e}/tree`),navigateTree:(e,t)=>Z(`/api/runtimes/${e}/tree`,gt({targetId:t})),runtimeSessions:e=>Z(`/api/runtimes/${e}/sessions`),resume:(e,t)=>Z(`/api/runtimes/${e}/resume`,gt({sessionPath:t})),backgroundAgents:(e,t)=>Z(`/api/runtimes/${e}/background-agents`,{signal:t}),subagentMessages:(e,t,n)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/messages`,{signal:n}),subagentPending:(e,t)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/pending`),steerSubagent:(e,t,n)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/steer`,gt({message:n})),extensionUiResponse:(e,t)=>Z(`/api/runtimes/${e}/extension-ui-response`,gt(t)),exportHtmlUrl:e=>`/api/runtimes/${e}/export-html`,deleteSession:e=>Z(`/api/sessions`,{method:`DELETE`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}),settings:e=>Z(vt(`/api/settings`,e)),saveSettings:(e,t)=>Z(vt(`/api/settings`,t),{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}),settingsModels:e=>Z(vt(`/api/settings/models`,e)),agentTypes:e=>Z(e?`/api/settings/agent-types?cwd=${encodeURIComponent(e)}`:`/api/settings/agent-types`),version:()=>Z(`/api/version`),serverInfo:()=>Z(`/api/server/info`),restartServer:()=>Z(`/api/server/restart`,{method:`POST`}),dailyCost:()=>Z(`/api/daily-cost`),listFiles:e=>Z(`/api/files?path=${encodeURIComponent(e)}`),trustContextFolder:e=>Z(`/api/files/trust`,gt({path:e})),untrustContextFolder:e=>Z(`/api/files/untrust`,gt({path:e})),removeTrustedContextFolder:e=>Z(`/api/settings/remove-trusted`,gt({path:e})),places:()=>Z(`/api/files/places`),memoryScopes:()=>Z(`/api/memories/scopes`),memoryListing:e=>Z(`/api/memories/${encodeURIComponent(e)}`),memoryDocument:(e,t)=>Z(`/api/memories/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}`),saveMemoryDocument:(e,t,n,r)=>Z(`/api/memories/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}`,_t(`PUT`,{content:n,revision:r})),deleteMemoryEntry:(e,t,n,r)=>Z(`/api/memories/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}`,_t(`DELETE`,{revision:n,indexRevision:r})),downloadUrl:e=>`/api/files/download?path=${encodeURIComponent(e)}`,upload:async(e,t,n)=>{let r=await fetch(`/api/files/upload?dir=${encodeURIComponent(e)}&name=${encodeURIComponent(t.name)}&overwrite=${n}`,{method:`POST`,body:t}),i=await r.json();if(!r.ok)throw Object.assign(Error(String(i.error??r.statusText)),{status:r.status});return i},mkdir:(e,t)=>Z(`/api/files/mkdir`,gt({dir:e,name:t}))},$=1,xt=6e4,St=6e4,Ct=1e4;function wt(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Number.isSafeInteger(t.seq)&&t.seq>0&&typeof t.key==`string`&&!!t.event&&typeof t.event==`object`&&!Array.isArray(t.event)}function Tt(e,t={}){let n=t.EventSource??EventSource,r=t.now??Date.now,i=t.random??Math.random,a=t.setTimeout??setTimeout,o=t.clearTimeout??clearTimeout,s=t.setInterval??setInterval,c=t.clearInterval??clearInterval,l=t.visibility??document,u=t.status??Q.auth,d=t.diagnostic??(e=>Q.connectionDiagnostic(e)),f=t.baseDelayMs??1e3,p=t.maxDelayMs??3e4,m=t.healthyResetMs??xt,h=t.watchdogMs??St,g=t.statusTimeoutMs??Ct,_,v,y,b,x,S,C=0,w=!1,T=0,E,D=r(),O,k,A,j=0,M=0,N=0,P={state:`connecting`,attempt:0};function F(){return l.visibilityState!==`hidden`}function I(t){let n=P.state;if(P={...t,...E===void 0?{}:{lastAppliedSeq:E}},e.onStatusChange?.(P),!k)return;let i=Math.max((r()-(A??r()))/6e4,1/60);Promise.resolve(d({connectionId:k,state:P.state,...n===P.state?{}:{previousState:n},attempt:T,...P.retryDelayMs===void 0?{}:{delayMs:P.retryDelayMs},visibility:F()?`visible`:`hidden`,...E===void 0?{}:{lastAppliedSeq:E},heartbeatAgeMs:Math.max(0,r()-D),eventCount:j,eventRatePerMinute:j/i,processingLagTotalMs:M,processingLagMaxMs:N})).catch(()=>{})}function L(){b!==void 0&&o(b),b=void 0}function R(){_&&(v&&_.removeEventListener(`heartbeat`,v),y&&_.removeEventListener(`connection`,y),v=void 0,y=void 0,_.onopen=null,_.onmessage=null,_.onerror=null,_.close(),_=void 0,O=void 0,k=void 0,A=void 0,j=0,M=0,N=0)}function z(){let e=Math.min(p,f*2**Math.max(0,T-1));return Math.min(p,Math.max(0,Math.round(e*(.75+i()*.5))))}function ee(){if(w||b!==void 0||P.state===`auth_failed`)return;T+=1;let e=z(),t=r()+e;I({state:`retrying`,attempt:T,retryDelayMs:e,retryAt:t}),b=a(()=>{b=void 0,ae()},e)}function te(t){w||(I({state:`resyncing`,attempt:T}),R(),e.onRecovery?.(t),t===`watchdog`&&!S?ie():ee())}function ne(){S&&=(S.timeout!==void 0&&o(S.timeout),S.controller.abort(),void 0)}function re(t,n){if(S||w)return;let r={controller:new AbortController,timeout:void 0};S=r;let i=!1,s=e=>{i||(i=!0,r.timeout!==void 0&&o(r.timeout),!w&&S===r&&e(),S===r&&(S=void 0))};r.timeout=a(()=>{r.controller.abort(),s(()=>n(Object.assign(Error(`dashboard authentication validation timed out`),{status:void 0})))},g);try{Promise.resolve(u(r.controller.signal)).then(n=>s(()=>{e.onAuthStatus?.(n),t()}),e=>s(()=>n(e)))}catch(e){s(()=>n(e))}}function ie(){re(()=>ee(),e=>{if(e?.status===401||e?.status===403){L(),I({state:`auth_failed`,attempt:T});return}ee()})}function ae(){if(w||_)return;L();let t=++C;I({state:`connecting`,attempt:T});let i=E===void 0?`/api/events`:`/api/events?lastEventId=${E}`,a=new n(i);_=a,D=r(),O=void 0;let o=()=>{w||t!==C||_!==a||(D=r(),T>0&&O!==void 0&&D-O>=m&&(T=0,I({state:`connected`,attempt:T})))};a.onopen=()=>{w||t!==C||_!==a||(O=r(),o(),I({state:`connected`,attempt:T}))},v=()=>o(),a.addEventListener(`heartbeat`,v),y=n=>{if(!(w||t!==C||_!==a))try{let t=JSON.parse(n.data);if(typeof t.connectionId!=`string`)throw Error(`missing connection id`);k=t.connectionId,A=r(),j=0,M=0,N=0,e.onConnectionMetadata?.(k),o(),I(P)}catch{te(`protocol`)}},a.addEventListener(`connection`,y),a.onmessage=n=>{if(w||t!==C||_!==a)return;D=r();let i;try{if(i=JSON.parse(n.data),!wt(i))throw Error(`invalid dashboard SSE envelope`);let e=i.event.type===`dashboard_resync`;if(!e&&E!==void 0&&i.seq<=E)return;if(!e&&E!==void 0&&i.seq!==E+1)throw Error(`dashboard SSE sequence gap`)}catch{te(`protocol`);return}let s=r();try{e.onEnvelope(i)}catch{te(`handler`);return}E=i.seq,j+=1;let c=Math.max(0,r()-s);M+=c,N=Math.max(N,c),o()},a.onerror=()=>{w||t!==C||_!==a||(I({state:`disconnected`,attempt:T}),R(),ie())}}let B=()=>{w||!F()||S||re(()=>{(!_||_.readyState!==$||r()-D>h)&&te(`watchdog`)},e=>{if(e?.status===401||e?.status===403){L(),I({state:`auth_failed`,attempt:T}),R();return}te(`watchdog`)})};return l.addEventListener(`visibilitychange`,B),x=s(()=>{F()&&_&&r()-D>h&&te(`watchdog`)},Math.min(h,5e3)),ae(),()=>{w=!0,C+=1,ne(),L(),x!==void 0&&c(x),x=void 0,l.removeEventListener(`visibilitychange`,B),I({state:`disconnected`,attempt:T}),R()}}var Et=J(`<p class=settings-error>`),Dt=J(`<div class=field><label for=mkdir-name>folder name</label><input id=mkdir-name type=text>`),Ot=J(`<div class=screen-fill><main class=container><div class=files-head><div><nav class=crumbs aria-label=breadcrumb></nav><p class=scope-note>whole host filesystem — you can browse anywhere the dreb process can read</p></div><div class=head-actions><button type=button class=btn>+ new folder</button><button type=button class=btn>↑ upload here</button><button type=button class="btn btn-primary">▸ new session here</button></div></div><section class=context-trust aria-live=polite></section><div class=places><span class=label>places</span></div><table class="table file-table"><thead><tr><th>name</th><th class="meta cols">size</th><th class="meta cols">modified</th><th></th></tr></thead><tbody></tbody></table><section class=drop-zone aria-label="file upload drop zone">drop a file here to upload to </section><p class=upload-warning>Uploads land on the host machine and become visible to any agent working near this path. Existing files are never overwritten silently — you'll be asked first.</p><input type=file style=display:none>`),kt=J(`<span class=sep>/`),At=J(`<a>`),jt=J(`<span>nested context trust: checking…`),Mt=J(`<div><strong>Nested context is untrusted.</strong><p>This folder's nested instructions are not loaded automatically.</p><button type=button class="btn btn-small btn-primary"></button><p class=context-trust-impact>Trusting this folder trusts it and all descendants.`),Nt=J(`<div><strong></strong><p></p><button type=button class="btn btn-small btn-danger"></button><p class=context-trust-impact>This removes trust from <!> and all of its descendants.`),Pt=J(`<div class=context-trust-warning><strong>Global expert trust is ON.</strong> Nested instructions from any resolvable directory may load, including prompt-injection content. Folder trust cannot override this global setting. <a href=#/settings>Disable global expert trust in Settings.`),Ft=J(`<button type=button class=place-chip>`),It=J(`<button type=button class=name><span class=icon>▸</span> <!>/`),Lt=J(`<a class="btn btn-small">↓ download`),Rt=J(`<tr><td></td><td class="meta cols"></td><td class="meta cols"></td><td class=actions>`),zt=J(`<span class=name><span class=icon>·</span> `),Bt=J(`<p>“<!>” already exists in <!>. Overwrite it?`),Vt=J(`<button type=button class="btn btn-small">cancel`),Ht=J(`<button type=button class="btn btn-small btn-danger">overwrite`),Ut=J(`<button type=button class="btn btn-small btn-primary">create`);function Wt(e){let t=e.split(`/`).filter(Boolean),n=[{label:`/`,path:`/`}],r=``;for(let e of t)r+=`/${e}`,n.push({label:e,path:r});return n}function Gt(e){let[t,n]=k(e.initialPath??``),[r,i]=k(),[a,o]=k(!1),[s,c]=k(),[l,u]=k(!1),[d,f]=k(``),[p,m]=k(!1),[h]=F(async()=>{let{places:e}=await Q.places();return e}),[g,{mutate:_,refetch:v}]=F(()=>t(),async e=>{if(i(void 0),!e){let{places:e}=await Q.places(),t=e.find(e=>e.label===`home`)?.path??`/`;return n(t),Q.listFiles(t)}return Q.listFiles(e)});async function y(e,n){try{await Q.upload(t(),e,n),c(void 0),await v()}catch(t){t?.status===409&&!n?c(e):i(t instanceof Error?t.message:String(t))}}async function b(){try{let n=await Q.createRuntime(t());e.store.upsertRuntime(n),await e.store.refreshDiskSessions()}catch(e){i(e instanceof Error?e.message:String(e))}}async function x(e){let n=g();if(n){i(void 0),m(!0);try{let r=e===`trust`?await Q.trustContextFolder(n.path):await Q.untrustContextFolder(n.path),i=g();t()===n.path&&i?.path===n.path&&_({...i,contextTrust:r.evaluation})}catch(e){i(e instanceof Error?e.message:String(e))}finally{m(!1)}}}let S;return(()=>{var m=Ot(),_=m.firstChild,C=_.firstChild,w=C.firstChild,T=w.firstChild,E=w.nextSibling.firstChild,D=E.nextSibling,O=D.nextSibling,k=C.nextSibling,A=k.nextSibling;A.firstChild;var M=A.nextSibling,N=M.firstChild.nextSibling,P=M.nextSibling;P.firstChild;var F=P.nextSibling.nextSibling;X(m,W(ct,{get store(){return e.store},active:`files`}),_),X(T,W(G,{get each(){return Wt(t())},children:(e,t)=>[W(K,{get when(){return t()>1},get children(){return kt()}}),(()=>{var t=At();return t.$$click=t=>{t.preventDefault(),n(e.path)},X(t,()=>e.label),j(()=>Y(t,`href`,`#/files/${encodeURIComponent(e.path)}`)),t})()]})),E.$$click=()=>u(!0),D.$$click=()=>S?.click(),O.$$click=b,X(k,W(K,{get when(){return g()?.contextTrust},get fallback(){return jt()},children:e=>W(K,{get when(){return e().state===`untrusted`},get fallback(){return W(K,{get when(){return e().state===`trusted-root`},get fallback(){return Pt()},get children(){var t=Nt(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,X(n,()=>e().grantingRoot===e().canonicalTarget?`Nested context trusted for this folder`:`Nested context inherited from a trusted root`),X(r,(()=>{var t=q(()=>e().grantingRoot===e().canonicalTarget);return()=>t()?`${e().grantingRoot} and all descendants are trusted.`:`${e().canonicalTarget} is covered by ${e().grantingRoot} and its descendants.`})()),i.$$click=()=>void x(`untrust`),X(i,(()=>{var t=q(()=>!!p());return()=>t()?`removing trust…`:`untrust ${e().grantingRoot}`})()),X(a,()=>e().grantingRoot,o),j(()=>i.disabled=p()),t}})},get children(){var e=Mt(),t=e.firstChild.nextSibling.nextSibling;return t.$$click=()=>void x(`trust`),X(t,()=>p()?`trusting…`:`trust this folder and descendants`),j(()=>t.disabled=p()),e}})})),X(A,W(G,{get each(){return h()??[]},children:e=>(()=>{var t=Ft();return t.$$click=()=>n(e.path),X(t,()=>e.label),t})()}),null),X(_,W(K,{get when(){return r()},get children(){var e=Et();return X(e,r),e}}),M),X(N,W(G,{get each(){return g()?.entries??[]},children:e=>(()=>{var t=Rt(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.nextSibling;return X(r,W(K,{get when(){return e.type===`dir`},get fallback(){return(()=>{var t=zt();return t.firstChild.nextSibling,X(t,()=>e.name,null),t})()},get children(){var t=It(),r=t.firstChild.nextSibling.nextSibling;return r.nextSibling,t.$$click=()=>n(`${g().path}/${e.name}`.replace(`//`,`/`)),X(t,()=>e.name,r),t}})),X(i,(()=>{var t=q(()=>e.type===`dir`);return()=>t()?`—`:mt(e.size)})()),X(a,()=>pt(e.modified)),X(o,W(K,{get when(){return e.type===`file`},get children(){var t=Lt();return j(()=>Y(t,`href`,Q.downloadUrl(`${g().path}/${e.name}`.replace(`//`,`/`)))),t}})),t})()})),P.addEventListener(`drop`,e=>{e.preventDefault(),o(!1);let t=e.dataTransfer?.files[0];t&&y(t,!1)}),P.addEventListener(`dragleave`,()=>o(!1)),P.addEventListener(`dragover`,e=>{e.preventDefault(),o(!0)}),X(P,t,null),F.addEventListener(`change`,e=>{let t=e.currentTarget.files?.[0];t&&y(t,!1),e.currentTarget.value=``});var I=S;return typeof I==`function`?Le(I,F):S=F,X(m,W(K,{get when(){return s()},children:e=>W(ut,{title:`file exists`,onDismiss:()=>c(void 0),get actions(){return[(()=>{var e=Vt();return e.$$click=()=>c(void 0),e})(),(()=>{var t=Ht();return t.$$click=()=>y(e(),!0),t})()]},get children(){var n=Bt(),r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,X(n,()=>e().name,r),X(n,t,i),n}})}),null),X(m,W(K,{get when(){return l()},get children(){return W(ut,{title:`new folder`,onDismiss:()=>u(!1),get actions(){return[(()=>{var e=Vt();return e.$$click=()=>u(!1),e})(),(()=>{var e=Ut();return e.$$click=async()=>{try{await Q.mkdir(t(),d().trim()),u(!1),f(``),await v()}catch(e){i(e instanceof Error?e.message:String(e)),u(!1)}},j(()=>e.disabled=!d().trim()),e})()]},get children(){var e=Dt(),t=e.firstChild.nextSibling;return t.$$input=e=>f(e.currentTarget.value),j(()=>t.value=d()),e}})}}),null),j(()=>P.classList.toggle(`active`,!!a())),m})()}Me([`click`,`input`]);var Kt=3e4,qt=new WeakMap;function Jt(e,t){let n=N(t),r=qt.get(e)??{lastStarted:Date.now()};qt.set(e,r),M(()=>{if(!n())return;let t,i=()=>{Date.now()-r.lastStarted>=Kt&&(r.lastStarted=Date.now(),e.refreshFleetStats()),t=setTimeout(i,Math.max(1,Kt-(Date.now()-r.lastStarted)))};i(),z(()=>clearTimeout(t))})}var Yt=`dreb.dashboard.expandThinking`,Xt=`dreb.dashboard.imageDisplayMode`,Zt=`dreb.dashboard.sessionSidebarCollapsed`,Qt=`dreb.dashboard.sessionSidebarWidth`,$t=`dreb.dashboard.toolAutoExpand`,en=[`read`,`edit`,`write`,`suggest_next`,`bash`],tn=!0,nn=!1,rn=new Set(en),an=Object.fromEntries(en.map(e=>[e,!0]));function on(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n===null?t:n===`true`}catch{return t}}function sn(e,t){if(!(typeof window>`u`))try{window.localStorage.setItem(e,t?`true`:`false`)}catch{}}function cn(e){return Number.isFinite(e)?Math.min(560,Math.max(240,Math.round(e))):260}function ln(){if(typeof window>`u`)return 260;try{let e=window.localStorage.getItem(Qt);return e?.trim()?cn(Number(e)):260}catch{return 260}}function un(){if(typeof window>`u`)return`previews`;try{let e=window.localStorage.getItem(Xt);return e===`placeholders`||e===`previews`||e===`originals`?e:`previews`}catch{return`previews`}}function dn(e){if(!(typeof window>`u`))try{window.localStorage.setItem(Xt,e)}catch{}}function fn(){if(typeof window>`u`)return{...an};try{let e=window.localStorage.getItem($t);if(e===null)return{...an};let t=JSON.parse(e),n={...an};for(let e of en)typeof t[e]==`boolean`&&(n[e]=t[e]);return n}catch{return{...an}}}function pn(e){if(!(typeof window>`u`))try{window.localStorage.setItem($t,JSON.stringify(e))}catch{}}var[mn,hn]=k(on(Yt,tn)),[gn,_n]=k(un()),[vn,yn]=k(fn()),[bn,xn]=k(on(Zt,nn)),[Sn,Cn]=k(ln()),wn=Sn;function Tn(e){let t=cn(e);if(Cn(t),!(typeof window>`u`))try{window.localStorage.setItem(Qt,String(t))}catch{}}var En=mn,Dn=gn,On=bn;function kn(e){hn(e),sn(Yt,e)}function An(e){_n(e),dn(e)}function jn(e,t){let n={...vn(),[e]:t};yn(n),pn(n)}function Mn(e){xn(e),sn(Zt,e)}function Nn(e){return vn()[e]??rn.has(e)}var Pn=J(`<div class=fleet-sidebar-resize role=separator tabindex=0 aria-label="Fleet sidebar width"aria-orientation=vertical>`),Fn=360,In=6;function Ln(e,t){let n=N(e),[r,i]=k(window.innerWidth),[a,o]=k(),s,c=N(()=>Math.max(0,Math.min(560,r()-Fn-In))),l=N(()=>Math.min(240,c())),u=e=>Math.min(c(),Math.max(l(),e)),d=N(()=>u(a()??wn()));function f(e){let t=s;t&&(e&&d()!==t.startWidth&&Tn(d()),s=void 0,o(void 0),t.element.hasPointerCapture(t.pointerId)&&t.element.releasePointerCapture(t.pointerId))}M(()=>{if(!n()){f(!1);return}let e=t(),r=()=>i(e?.getBoundingClientRect().width||window.innerWidth);r();let a=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);e&&a?.observe(e),window.addEventListener(`resize`,r),z(()=>{a?.disconnect(),window.removeEventListener(`resize`,r),f(!1)})}),z(()=>f(!1));let p=t=>{!e()||t.button!==0||s||(t.preventDefault(),t.currentTarget.focus(),t.currentTarget.setPointerCapture(t.pointerId),s={element:t.currentTarget,pointerId:t.pointerId,startX:t.clientX,startWidth:d()},o(d()))},m=e=>{s?.pointerId===e.pointerId&&o(u(s.startWidth+e.clientX-s.startX))};return{width:d,min:l,max:c,dragging:()=>a()!==void 0,pointerDown:p,pointerMove:m,pointerUp:e=>{s?.pointerId===e.pointerId&&(m(e),f(!0))},pointerCancel:e=>{s?.pointerId===e.pointerId&&f(!1)},keyDown:t=>{if(!e())return;let n=t.key===`ArrowLeft`?d()-10:t.key===`ArrowRight`?d()+10:t.key===`Home`?l():t.key===`End`?c():void 0;n!==void 0&&(t.preventDefault(),t.stopPropagation(),f(!1),Tn(u(n)))}}}function Rn(e){return(()=>{var t=Pn();return Pe(t,`keydown`,e.resize.keyDown,!0),Pe(t,`lostpointercapture`,e.resize.pointerCancel),Pe(t,`pointercancel`,e.resize.pointerCancel),Pe(t,`pointerup`,e.resize.pointerUp,!0),Pe(t,`pointermove`,e.resize.pointerMove,!0),Pe(t,`pointerdown`,e.resize.pointerDown,!0),j(n=>{var r=!!e.resize.dragging(),i=e.id,a=Math.round(e.resize.min()),o=Math.round(e.resize.max()),s=Math.round(e.resize.width()),c=`${Math.round(e.resize.width())} pixels`;return r!==n.e&&t.classList.toggle(`dragging`,n.e=r),i!==n.t&&Y(t,`aria-controls`,n.t=i),a!==n.a&&Y(t,`aria-valuemin`,n.a=a),o!==n.o&&Y(t,`aria-valuemax`,n.o=o),s!==n.i&&Y(t,`aria-valuenow`,n.i=s),c!==n.n&&Y(t,`aria-valuetext`,n.n=c),n},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),t})()}Me([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var zn=19660800-768*1024;function Bn(e){let t=e?.method;if(t===`select`||t===`confirm`||t===`input`||t===`editor`)return{id:String(e.id),method:t,title:String(e.title??``),message:e.message,options:e.options,prefill:e.prefill,placeholder:e.placeholder};if(t===`ask`){let t=(Array.isArray(e.questions)?e.questions:[]).map(e=>({question:String(e?.question??``),title:typeof e?.title==`string`?e.title:void 0,options:Array.isArray(e?.options)?e.options.map(e=>String(e)):void 0,allowFreeText:typeof e?.allowFreeText==`boolean`?e.allowFreeText:void 0,multiSelect:typeof e?.multiSelect==`boolean`?e.multiSelect:void 0,multiline:typeof e?.multiline==`boolean`?e.multiline:void 0}));return{id:String(e.id),method:`ask`,title:String(e.title??`Question`),questions:t,timeout:typeof e.timeout==`number`?e.timeout:void 0,expiresAt:typeof e.expiresAt==`number`?e.expiresAt:void 0}}}function Vn(e){return{key:e,entries:[],streaming:!1,compacting:!1,statusEntries:[],tasks:[],backgroundAgents:{},uiRequests:[],toasts:[],widgets:{above:[],below:[]},needsAttention:!1,subagents:{}}}var Hn=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`]),Un=/^[0-9a-f]{64}$/;function Wn(e){if(typeof e==`string`)return{text:e,images:[]};if(!Array.isArray(e))return{text:``,images:[]};let t=[],n=[];for(let r of e){let e=r;typeof e?.text==`string`?t.push(e.text):e?.type===`image_reference`&&typeof e.id==`string`&&Un.test(e.id)&&typeof e.mimeType==`string`&&Hn.has(e.mimeType)&&typeof e.size==`number`&&Number.isSafeInteger(e.size)&&e.size>0&&n.push({id:e.id,mimeType:e.mimeType,size:e.size})}return{text:t.join(`
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return u(this.context.count)},getNextContextId(){return u(this.context.count++)}};function u(e){let t=String(e),n=t.length-1;return l.context.id+(n?String.fromCharCode(96+n):``)+t}function d(e){l.context=e}var f=(e,t)=>e===t,p=Symbol(`solid-proxy`),m=Symbol(`solid-track`),h={equals:f},g=null,_=fe,v=1,y=2,b={owned:null,cleanups:null,context:null,owner:null},x={},S=null,C=null,w=null,T=null,E=null,D=0;function O(e,t){let n=w,r=S,i=e.length===0,a=t===void 0?r:t,o=i?b:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(()=>L(()=>ge(o)));S=o,w=null;try{return ue(s,!0)}finally{w=n,S=r}}function k(e,t){t=t?Object.assign({},h,t):h;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[oe.bind(n),e=>(typeof e==`function`&&(e=C&&C.running&&C.sources.has(n)?e(n.tValue):e(n.value)),V(n,e))]}function A(e,t,n){se(ce(e,t,!0,v))}function j(e,t,n){se(ce(e,t,!1,v))}function M(e,t,n){_=pe;let r=ce(e,t,!1,v),i=B&&ie(B);i&&(r.suspense=i),(!n||!n.render)&&(r.user=!0),E?E.push(r):se(r)}function N(e,t,n){n=n?Object.assign({},h,n):h;let r=ce(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,se(r),oe.bind(r)}function P(e){return e&&typeof e==`object`&&`then`in e}function F(e,t,n){let r,i,a;typeof t==`function`?(r=e,i=t,a=n||{}):(r=!0,i=e,a=t||{});let o=null,s=x,c=null,u=!1,d=!1,f=`initialValue`in a,p=typeof r==`function`&&N(r),m=new Set,[h,g]=(a.storage||k)(a.initialValue),[_,v]=k(void 0),[y,b]=k(void 0,{equals:!1}),[T,E]=k(f?`ready`:`unresolved`);S&&z(()=>{for(let e of m.keys())e.decrement();m.clear(),C&&o&&C.promises.delete(o),o=null}),l.context&&(c=l.getNextContextId(),a.ssrLoadFrom===`initial`?s=a.initialValue:l.load&&l.has(c)&&(s=l.load(c)));function D(e,t,n,r){return o===e&&(o=null,r!==void 0&&(f=!0),(e===s||t===s)&&a.onHydrated&&queueMicrotask(()=>a.onHydrated(r,{value:t})),s=x,C&&e&&u?(C.promises.delete(e),u=!1,ue(()=>{C.running=!0,O(t,n)},!1)):O(t,n)),t}function O(e,t){ue(()=>{t===void 0&&g(()=>e),E(t===void 0?f?`ready`:`unresolved`:`errored`),v(t);for(let e of m.keys())e.decrement();m.clear()},!1)}function j(){let e=B&&ie(B),t=h(),n=_();if(n!==void 0&&!o)throw n;return w&&!w.user&&e&&A(()=>{y(),o&&(e.resolved&&C&&u?C.promises.add(o):m.has(e)||(e.increment(),m.add(e)))}),t}function M(e=!0){if(e!==!1&&d)return;d=!1;let t=p?p():r;if(u=C&&C.running,t==null||t===!1){D(o,L(h));return}C&&o&&C.promises.delete(o);let n,a=s===x?L(()=>{try{return i(t,{value:h(),refetching:e})}catch(e){n=e}}):s;if(n!==void 0){D(o,void 0,ve(n),t);return}else if(!P(a))return D(o,a,void 0,t),a;return o=a,`v`in a?(a.s===1?D(o,a.v,void 0,t):D(o,void 0,ve(a.v),t),a):(d=!0,queueMicrotask(()=>d=!1),ue(()=>{E(f?`refreshing`:`pending`),b()},!1),a.then(e=>D(a,e,void 0,t),e=>D(a,void 0,ve(e),t)))}Object.defineProperties(j,{state:{get:()=>T()},error:{get:()=>_()},loading:{get(){let e=T();return e===`pending`||e===`refreshing`}},latest:{get(){if(!f)return j();let e=_();if(e&&!o)throw e;return h()}}});let F=S;return p?A(()=>(F=S,M(!1))):M(!1),[j,{refetch:e=>te(F,()=>M(e)),mutate:g}]}function I(e){return ue(e,!1)}function L(e){if(w===null)return e();let t=w;w=null;try{return e()}finally{w=t}}function R(e){M(()=>L(e))}function z(e){return S===null||(S.cleanups===null?S.cleanups=[e]:S.cleanups.push(e)),e}function ee(){return w}function te(e,t){let n=S,r=w;S=e,w=null;try{return ue(t,!0)}catch(e){ye(e)}finally{S=n,w=r}}var[ne,re]=k(!1);function ie(e){let t;return S&&S.context&&(t=S.context[e.id])!==void 0?t:e.defaultValue}function ae(e){let t=N(e),n=N(()=>be(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}var B;function oe(){let e=C&&C.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===v)se(this);else{let e=T;T=null,ue(()=>me(this),!1),T=e}if(w){let e=this.observers;if(!e||e[e.length-1]!==w){let t=e?e.length:0;w.sources?(w.sources.push(this),w.sourceSlots.push(t)):(w.sources=[this],w.sourceSlots=[t]),e?(e.push(w),this.observerSlots.push(w.sources.length-1)):(this.observers=[w],this.observerSlots=[w.sources.length-1])}}return e&&C.sources.has(this)?this.tValue:this.value}function V(e,t,n){let r=C&&C.running&&C.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(C){let r=C.running;(r||!n&&C.sources.has(e))&&(C.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&ue(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=C&&C.running;r&&C.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?T.push(n):E.push(n),n.observers&&he(n)),r?n.tState=v:n.state=v)}if(T.length>1e6)throw T=[],Error()},!1)}return t}function se(e){if(!e.fn)return;ge(e);let t=D;H(e,C&&C.running&&C.sources.has(e)?e.tValue:e.value,t),C&&!C.running&&C.sources.has(e)&&queueMicrotask(()=>{ue(()=>{C&&(C.running=!0),w=S=e,H(e,e.tValue,t),w=S=null},!1)})}function H(e,t,n){let r,i=S,a=w;w=S=e;try{r=e.fn(t)}catch(t){return e.pure&&(C&&C.running?(e.tState=v,e.tOwned&&e.tOwned.forEach(ge),e.tOwned=void 0):(e.state=v,e.owned&&e.owned.forEach(ge),e.owned=null)),e.updatedAt=n+1,ye(t)}finally{w=a,S=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?V(e,r,!0):C&&C.running&&e.pure?(C.sources.has(e)||(e.value=r),C.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function ce(e,t,n,r=v,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:S,context:S?S.context:null,pure:n};return C&&C.running&&(a.state=0,a.tState=r),S===null||S!==b&&(C&&C.running&&S.pure?S.tOwned?S.tOwned.push(a):S.tOwned=[a]:S.owned?S.owned.push(a):S.owned=[a]),a}function le(e){let t=C&&C.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===y)return me(e);if(e.suspense&&L(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<D);){if(t&&C.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(C.disposed.has(t))return}if((t?e.tState:e.state)===v)se(e);else if((t?e.tState:e.state)===y){let t=T;T=null,ue(()=>me(e,n[0]),!1),T=t}}}function ue(e,t){if(T)return e();let n=!1;t||(T=[]),E?n=!0:E=[],D++;try{let t=e();return de(n),t}catch(e){n||(E=null),T=null,ye(e)}}function de(e){if(T&&=(fe(T),null),e)return;let t;if(C){if(!C.promises.size&&!C.queue.size){let e=C.sources,n=C.disposed;E.push.apply(E,C.effects),t=C.resolve;for(let e of E)`tState`in e&&(e.state=e.tState),delete e.tState;C=null,ue(()=>{for(let e of n)ge(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)ge(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}re(!1)},!1)}else if(C.running){C.running=!1,C.effects.push.apply(C.effects,E),E=null,re(!0);return}}let n=E;E=null,n.length&&ue(()=>_(n),!1),t&&t()}function fe(e){for(let t=0;t<e.length;t++)le(e[t])}function pe(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[n++]=r:le(r)}if(l.context){if(l.count){l.effects||=[],l.effects.push(...e.slice(0,n));return}d()}for(l.effects&&(l.done||!l.count)&&(e=[...l.effects,...e],n+=l.effects.length,delete l.effects),t=0;t<n;t++)le(e[t])}function me(e,t){let n=C&&C.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===v?i!==t&&(!i.updatedAt||i.updatedAt<D)&&le(i):e===y&&me(i,t)}}}function he(e){let t=C&&C.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=y:r.state=y,r.pure?T.push(r):E.push(r),r.observers&&he(r))}}function ge(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)ge(e.tOwned[t]);delete e.tOwned}if(C&&C.running&&e.pure)_e(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)ge(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}C&&C.running?e.tState=0:e.state=0}function _e(e,t){if(t||(e.tState=0,C.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)_e(e.owned[t])}function ve(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function U(e,t,n){try{for(let n of t)n(e)}catch(e){ye(e,n&&n.owner||null)}}function ye(e,t=S){let n=g&&t&&t.context&&t.context[g],r=ve(e);if(!n)throw r;E?E.push({fn(){U(r,n,t)},state:v}):U(r,n,t)}function be(e){if(typeof e==`function`&&!e.length)return be(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=be(e[n]);if(Array.isArray(r))if(r.length<32768)t.push.apply(t,r);else for(let e=0;e<r.length;e++)t.push(r[e]);else t.push(r)}return t}return e}var xe=Symbol(`fallback`);function Se(e){for(let t=0;t<e.length;t++)e[t]()}function Ce(e,t,n={}){let r=[],i=[],a=[],o=0,s=t.length>1?[]:null;return z(()=>Se(a)),()=>{let c=e()||[],l=c.length,u,d;return c[m],L(()=>{let e,t,p,m,h,g,_,v,y;if(l===0)o!==0&&(Se(a),a=[],r=[],i=[],o=0,s&&=[]),n.fallback&&(r=[xe],i[0]=O(e=>(a[0]=e,n.fallback())),o=1);else if(o===0){for(i=Array(l),d=0;d<l;d++)r[d]=c[d],i[d]=O(f);o=l}else{for(p=Array(l),m=Array(l),s&&(h=Array(l)),g=0,_=Math.min(o,l);g<_&&r[g]===c[g];g++);for(_=o-1,v=l-1;_>=g&&v>=g&&r[_]===c[v];_--,v--)p[v]=i[_],m[v]=a[_],s&&(h[v]=s[_]);for(e=new Map,t=Array(v+1),d=v;d>=g;d--)y=c[d],u=e.get(y),t[d]=u===void 0?-1:u,e.set(y,d);for(u=g;u<=_;u++)y=r[u],d=e.get(y),d!==void 0&&d!==-1?(p[d]=i[u],m[d]=a[u],s&&(h[d]=s[u]),d=t[d],e.set(y,d)):a[u]();for(d=g;d<l;d++)d in p?(i[d]=p[d],a[d]=m[d],s&&(s[d]=h[d],s[d](d))):i[d]=O(f);i=i.slice(0,o=l),r=c.slice(0)}return i});function f(e){if(a[d]=e,s){let[e,n]=k(d);return s[d]=n,t(c[d],e)}return t(c[d])}}}function W(e,t){return L(()=>e(t||{}))}var we=0;function Te(){return l.context?l.getNextContextId():`cl-${we++}`}var Ee=e=>`Stale read from <${e}>.`;function G(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return N(Ce(()=>e.each,e.children,t||void 0))}function K(e){let t=e.keyed,n=N(()=>e.when,void 0,void 0),r=t?n:N(n,void 0,{equals:(e,t)=>!e==!t});return N(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?L(()=>a(t?i:()=>{if(!L(r))throw Ee(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function De(e){let t=ae(()=>e.children),n=N(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=N(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:N(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return N(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?L(()=>o(a.keyed?i():()=>{if(L(n)()?.[0]!==r)throw Ee(`Match`);return i()})):o},void 0,void 0)}function Oe(e){return e}var q=e=>N(()=>e());function ke(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;){if(t[o]===n[s]){o++,s++;continue}for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)(!l||!l.has(t[o]))&&t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null)if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&!((d=l.get(t[c]))==null||d!==r+u);)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++;else t[o++].remove()}}}var Ae=`_$DX_DELEGATE`;function je(e,t,n,r={}){let i;return O(r=>{i=r,t===document?e():X(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function J(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>L(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function Me(e,t=window.document){let n=t[Ae]||(t[Ae]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,Be))}}function Y(e,t,n){Re(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function Ne(e,t){Re(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function Pe(e,t,n,r){if(r)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){let r=n[0];e.addEventListener(t,n[0]=t=>r.call(e,n[1],t))}else e.addEventListener(t,n,typeof n!=`function`&&n)}function Fe(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];!r||r===`undefined`||t[r]||(ze(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];!i||i===`undefined`||n[i]===o||!o||(ze(e,i,!0),n[i]=o)}return n}function Ie(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function Le(e,t,n){return L(()=>e(t,n))}function X(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return Ve(e,t,r,n);j(r=>Ve(e,t(),r,n),r)}function Re(e){return!!l.context&&!l.done&&(!e||e.isConnected)}function ze(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function Be(e){if(l.registry&&l.events&&l.events.find(([t,n])=>n===e))return;let t=e.target,n=`$$${e.type}`,r=e.target,i=e.currentTarget,a=t=>Object.defineProperty(e,"target",{configurable:!0,value:t}),o=()=>{let r=t[n];if(r&&!t.disabled){let i=t[`${n}Data`];if(i===void 0?r.call(t,e):r.call(t,i,e),e.cancelBubble)return}return t.host&&typeof t.host!=`string`&&!t.host._$host&&t.contains(e.target)&&a(t.host),!0},s=()=>{for(;o()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),l.registry&&!l.done&&(l.done=_$HY.done=!0),e.composedPath){let n=e.composedPath();a(n[0]);for(let e=0;e<n.length-2&&(t=n[e],o());e++){if(t._$host){t=t._$host,s();break}if(t.parentNode===i)break}}else s();a(r)}function Ve(e,t,n,r,i){let a=Re(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=We(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=We(e,n,r)}else if(o===`function`)return j(()=>{let i=t();for(;typeof i==`function`;)i=i();n=Ve(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(He(o,t,n,i))return j(()=>n=Ve(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=We(e,n,r),s)return n}else c?n.length===0?Ue(e,o,r):ke(e,n,o):(n&&We(e),Ue(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=We(e,n,r,t);We(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function He(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(!(o==null||o===!0||o===!1))if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=He(e,o,s)||i;else if(c===`function`)if(r){for(;typeof o==`function`;)o=o();i=He(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0;else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}return i}function Ue(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function We(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var Ge=J(`<span><span class=dot></span> `),Ke=J(`<span class="chip chip-plain">…`),qe=J(`<span class="chip chip-plain mode-badge"><span class=dot></span><span class=mode-badge-text>`),Je=J(`<header class=topbar><div class=topbar-inner><a class=wordmark href=#/>dreb</a><nav><a href=#/>fleet</a><a href=#/files>files</a><a href=#/memories>memories</a><a href=#/settings>settings</a></nav><span class=topbar-spacer>`),Ye=J(`<button type=button class="btn btn-small">recovery failed — retry`),Xe=J(`<span><output aria-live=polite><span class=dot></span> `),Ze=J(`<div class=modal-actions>`),Qe=J(`<div class=modal-backdrop role=presentation><div role=dialog><div class=modal-title></div><div class=modal-body>`),$e=J(`<div class="container banner-region"aria-live=polite>`),et=J(`<span class=banner-actions>`),tt=J(`<div><span class=banner-glyph aria-hidden=true>◆</span><span class=banner-text></span><button type=button class="btn btn-small banner-dismiss">dismiss`),nt=J(`<button type=button class="btn btn-small">`),rt=J(`<div class=toast-region>`),it=J(`<div><span></span><button type=button class="btn btn-small"style=margin-left:auto>✕`);function at(e){let t={running:`●`,attention:`◆`,idle:`○`,error:`✕`},n={running:`running`,attention:`needs attention`,idle:`idle`,error:`error`};return(()=>{var r=Ge(),i=r.firstChild;return i.nextSibling,X(i,()=>t[e.status]),X(r,()=>e.label??n[e.status],null),j(()=>Ne(r,`chip chip-${e.status}`)),r})()}function ot(e){return e.error?`error`:e.needsAttention?`attention`:e.state.isStreaming||e.state.isRetrying||e.state.isCompacting?`running`:`idle`}function st(e){let t=()=>e.store.auth();return W(K,{get when(){return t()},get fallback(){return Ke()},children:e=>{let t=()=>e().mode===`local`?`local · 127.0.0.1`:`remote · ${e().device??e().identity??`device`} via tailscale`;return(()=>{var n=qe(),r=n.firstChild,i=r.nextSibling;return X(r,()=>e().mode===`local`?`⌂`:`⇄`),X(i,t),j(()=>Y(n,`title`,t())),n})()}})}function ct(e){let t=()=>Object.values(e.store.sessions).filter(e=>e.needsAttention).length+e.store.fleet().runtimes.filter(e=>e.needsAttention).length;return(()=>{var n=Je(),r=n.firstChild,i=r.firstChild.nextSibling,a=i.firstChild;a.firstChild;var o=a.nextSibling,s=o.nextSibling,c=s.nextSibling;return i.nextSibling,X(a,()=>t()>0?` ◆`:``,null),X(r,W(lt,{get store(){return e.store}}),null),X(r,W(st,{get store(){return e.store}}),null),j(t=>{var n=e.active===`fleet`?`page`:void 0,r=e.active===`files`?`page`:void 0,i=e.active===`memories`?`page`:void 0,l=e.active===`settings`?`page`:void 0;return n!==t.e&&Y(a,`aria-current`,t.e=n),r!==t.t&&Y(o,`aria-current`,t.t=r),i!==t.a&&Y(s,`aria-current`,t.a=i),l!==t.o&&Y(c,`aria-current`,t.o=l),t},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}function lt(e){let t=()=>e.store.resyncing()?`resyncing`:e.store.connection().state,n=()=>{switch(t()){case`connected`:return{glyph:`●`,text:`live`,tone:`idle`};case`connecting`:return{glyph:`…`,text:`connecting`,tone:`attention`};case`retrying`:{let t=e.store.connection().retryDelayMs;return{glyph:`↻`,text:`retrying${t===void 0?``:` in ${Math.ceil(t/1e3)}s`}`,tone:`attention`}}case`resyncing`:return{glyph:`↻`,text:`recovering live state`,tone:`attention`};case`auth_failed`:return{glyph:`✕`,text:`live connection unauthorized`,tone:`error`};default:return{glyph:`✕`,text:`live connection disconnected`,tone:`error`}}};return(()=>{var t=Xe(),r=t.firstChild,i=r.firstChild;return i.nextSibling,X(i,()=>n().glyph),X(r,()=>n().text,null),X(t,W(K,{get when(){return e.store.resyncError()},get children(){var t=Ye();return t.$$click=()=>void e.store.retryResync(),j(()=>Y(t,`title`,e.store.resyncError())),t}}),null),j(i=>{var a=`connection-indicator ${e.class??``}`.trim(),o=`chip chip-${n().tone}`;return a!==i.e&&Ne(t,i.e=a),o!==i.t&&Ne(r,i.t=o),i},{e:void 0,t:void 0}),t})()}function ut(e){return(()=>{var t=Qe(),n=t.firstChild,r=n.firstChild,i=r.nextSibling;return t.$$keydown=t=>{t.key===`Escape`&&e.onDismiss()},t.$$click=t=>{t.target===t.currentTarget&&e.onDismiss()},X(r,()=>e.title),X(i,()=>e.children),X(n,W(K,{get when(){return e.actions},get children(){var t=Ze();return X(t,()=>e.actions),t}}),null),j(t=>{var r=`modal ${e.class??``}`,i=e.title;return r!==t.e&&Ne(n,t.e=r),i!==t.t&&Y(n,`aria-label`,t.t=i),t},{e:void 0,t:void 0}),t})()}function dt(e){return W(K,{get when(){return e.banners.length>0},get children(){var t=$e();return X(t,W(G,{get each(){return e.banners},children:e=>(()=>{var t=tt(),n=t.firstChild.nextSibling,r=n.nextSibling;return X(n,()=>e.text),X(t,W(K,{get when(){return(e.actions?.length??0)>0},get children(){var t=et();return X(t,W(G,{get each(){return e.actions},children:e=>(()=>{var t=nt();return t.$$click=()=>void e.run(),X(t,()=>e.label),j(()=>t.disabled=e.disabled),t})()})),t}}),r),Pe(r,`click`,e.onDismiss,!0),j(n=>{var r=`banner ${e.tone}`,i=e.key;return r!==n.e&&Ne(t,n.e=r),i!==n.t&&Y(t,`data-banner-key`,n.t=i),n},{e:void 0,t:void 0}),t})()})),t}})}function ft(e){return(()=>{var t=rt();return X(t,W(G,{get each(){return e.toasts},children:t=>(()=>{var n=it(),r=n.firstChild,i=r.nextSibling;return X(r,()=>t.text),i.$$click=()=>e.onDismiss(t.id),j(()=>Ne(n,`toast ${t.tone}`)),n})()})),t})()}function pt(e){if(!e)return``;let t=typeof e==`number`?e:Date.parse(e);if(Number.isNaN(t))return``;let n=Math.floor((Date.now()-t)/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:`${Math.floor(a/30)}mo ago`}function mt(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}Me([`click`,`keydown`]);function ht(e,t,n,r){if(typeof r==`object`&&r&&`error`in r)return String(r.error);let i=typeof r==`string`?r:String(r);return/^\s*<(?:!doctype|html)/i.test(i)?`${(t?.method??`GET`).toUpperCase()} ${e} → ${n} ${n===404?`Not Found`:`error`}`:i.trim()||`Request failed (${n})`}async function Z(e,t){let n=await fetch(e,t),r=(n.headers.get(`content-type`)??``).includes(`application/json`)?await n.json():await n.text();if(!n.ok){let i=ht(e,t,n.status,r);throw Object.assign(Error(i),{status:n.status,body:r})}return r}function gt(e){return{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}}function _t(e,t){return{method:e,headers:{"content-type":`application/json`},body:JSON.stringify(t)}}function vt(e,t){return t?`${e}?cwd=${encodeURIComponent(t)}`:e}var yt=/^[0-9a-f]{64}$/;function bt(e,t,n,r){if(!yt.test(t)||e.length===0)return;let i=encodeURIComponent(e);return`${r?`/api/runtimes/${i}/subagents/${encodeURIComponent(r)}/images`:`/api/runtimes/${i}/images`}/${t}/${n}`}var Q={auth:e=>Z(`/api/auth`,{signal:e}),connectionDiagnostic:e=>Z(`/api/events/diagnostic`,gt(e)),pair:e=>Z(`/api/pair`,gt({pin:e})),pairingCode:()=>Z(`/api/pairing-code`),pairingSettings:()=>Z(`/api/pairing-settings`),savePairingSettings:e=>Z(`/api/pairing-settings`,_t(`PUT`,{pairingTtlDays:e})),devices:()=>Z(`/api/devices`),unpair:e=>Z(`/api/devices/${encodeURIComponent(e)}`,{method:`DELETE`}),fleet:()=>Z(`/api/fleet/live`),sessions:()=>Z(`/api/sessions`),resync:(e,t,n)=>{let r=new URLSearchParams;return e&&r.set(`key`,e),t&&r.set(`agentId`,t),Z(`/api/resync${r.size?`?${r}`:``}`,{signal:n})},createRuntime:(e,t={})=>Z(`/api/runtimes`,gt({cwd:e,...t})),stopRuntime:e=>Z(`/api/runtimes/${e}`,{method:`DELETE`}),runtime:(e,t)=>Z(`/api/runtimes/${e}`,{signal:t}),hydrate:(e,t)=>Z(`/api/runtimes/${e}/hydrate`,{signal:t}),messages:(e,t)=>Z(`/api/runtimes/${e}/messages`,{signal:t}),pending:e=>Z(`/api/runtimes/${e}/pending`),dequeue:e=>Z(`/api/runtimes/${e}/dequeue`,{method:`POST`}),prompt:(e,t,n,r)=>Z(`/api/runtimes/${e}/prompt`,gt({message:t,mode:n,images:r})),abort:e=>Z(`/api/runtimes/${e}/abort`,{method:`POST`}),abortCompaction:e=>Z(`/api/runtimes/${e}/abort-compaction`,{method:`POST`}),abortRetry:e=>Z(`/api/runtimes/${e}/abort-retry`,{method:`POST`}),setModel:(e,t,n)=>Z(`/api/runtimes/${e}/model`,gt({provider:t,modelId:n})),models:e=>Z(`/api/runtimes/${e}/models`),setThinking:(e,t)=>Z(`/api/runtimes/${e}/thinking`,gt({level:t})),compact:(e,t)=>Z(`/api/runtimes/${e}/compact`,gt({instructions:t})),newSession:e=>Z(`/api/runtimes/${e}/new-session`,{method:`POST`}),reload:e=>Z(`/api/runtimes/${e}/reload`,{method:`POST`}),dream:(e,t)=>Z(`/api/runtimes/${e}/dream`,gt({args:t})),importJsonl:(e,t)=>Z(`/api/runtimes/${e}/import`,gt({inputPath:t})),rename:(e,t)=>Z(`/api/runtimes/${e}/name`,gt({name:t})),stats:(e,t)=>Z(`/api/runtimes/${e}/stats`,{signal:t}),performance:e=>Z(`/api/runtimes/${e}/performance`),resources:e=>Z(`/api/runtimes/${e}/resources`),commands:e=>Z(`/api/runtimes/${e}/commands`),branch:e=>Z(`/api/runtimes/${e}/branch`),forkMessages:e=>Z(`/api/runtimes/${e}/fork-messages`),fork:(e,t)=>Z(`/api/runtimes/${e}/fork`,gt({entryId:t})),tree:e=>Z(`/api/runtimes/${e}/tree`),navigateTree:(e,t)=>Z(`/api/runtimes/${e}/tree`,gt({targetId:t})),runtimeSessions:e=>Z(`/api/runtimes/${e}/sessions`),resume:(e,t)=>Z(`/api/runtimes/${e}/resume`,gt({sessionPath:t})),backgroundAgents:(e,t)=>Z(`/api/runtimes/${e}/background-agents`,{signal:t}),subagentMessages:(e,t,n)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/messages`,{signal:n}),subagentPending:(e,t)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/pending`),steerSubagent:(e,t,n)=>Z(`/api/runtimes/${e}/subagents/${encodeURIComponent(t)}/steer`,gt({message:n})),extensionUiResponse:(e,t)=>Z(`/api/runtimes/${e}/extension-ui-response`,gt(t)),exportHtmlUrl:e=>`/api/runtimes/${e}/export-html`,deleteSession:e=>Z(`/api/sessions`,{method:`DELETE`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}),settings:e=>Z(vt(`/api/settings`,e)),saveSettings:(e,t)=>Z(vt(`/api/settings`,t),{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}),settingsModels:e=>Z(vt(`/api/settings/models`,e)),agentTypes:e=>Z(e?`/api/settings/agent-types?cwd=${encodeURIComponent(e)}`:`/api/settings/agent-types`),version:()=>Z(`/api/version`),serverInfo:()=>Z(`/api/server/info`),restartServer:()=>Z(`/api/server/restart`,{method:`POST`}),dailyCost:()=>Z(`/api/daily-cost`),listFiles:e=>Z(`/api/files?path=${encodeURIComponent(e)}`),trustContextFolder:e=>Z(`/api/files/trust`,gt({path:e})),untrustContextFolder:e=>Z(`/api/files/untrust`,gt({path:e})),removeTrustedContextFolder:e=>Z(`/api/settings/remove-trusted`,gt({path:e})),places:()=>Z(`/api/files/places`),memoryScopes:()=>Z(`/api/memories/scopes`),memoryListing:e=>Z(`/api/memories/${encodeURIComponent(e)}`),memoryDocument:(e,t)=>Z(`/api/memories/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}`),saveMemoryDocument:(e,t,n,r)=>Z(`/api/memories/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}`,_t(`PUT`,{content:n,revision:r})),deleteMemoryEntry:(e,t,n,r)=>Z(`/api/memories/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}`,_t(`DELETE`,{revision:n,indexRevision:r})),downloadUrl:e=>`/api/files/download?path=${encodeURIComponent(e)}`,upload:async(e,t,n)=>{let r=await fetch(`/api/files/upload?dir=${encodeURIComponent(e)}&name=${encodeURIComponent(t.name)}&overwrite=${n}`,{method:`POST`,body:t}),i=await r.json();if(!r.ok)throw Object.assign(Error(String(i.error??r.statusText)),{status:r.status});return i},mkdir:(e,t)=>Z(`/api/files/mkdir`,gt({dir:e,name:t}))},$=1,xt=6e4,St=6e4,Ct=1e4;function wt(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Number.isSafeInteger(t.seq)&&t.seq>0&&typeof t.key==`string`&&!!t.event&&typeof t.event==`object`&&!Array.isArray(t.event)}function Tt(e,t={}){let n=t.EventSource??EventSource,r=t.now??Date.now,i=t.random??Math.random,a=t.setTimeout??setTimeout,o=t.clearTimeout??clearTimeout,s=t.setInterval??setInterval,c=t.clearInterval??clearInterval,l=t.visibility??document,u=t.status??Q.auth,d=t.diagnostic??(e=>Q.connectionDiagnostic(e)),f=t.baseDelayMs??1e3,p=t.maxDelayMs??3e4,m=t.healthyResetMs??xt,h=t.watchdogMs??St,g=t.statusTimeoutMs??Ct,_,v,y,b,x,S,C=0,w=!1,T=0,E,D=r(),O,k,A,j=0,M=0,N=0,P={state:`connecting`,attempt:0};function F(){return l.visibilityState!==`hidden`}function I(t){let n=P.state;if(P={...t,...E===void 0?{}:{lastAppliedSeq:E}},e.onStatusChange?.(P),!k)return;let i=Math.max((r()-(A??r()))/6e4,1/60);Promise.resolve(d({connectionId:k,state:P.state,...n===P.state?{}:{previousState:n},attempt:T,...P.retryDelayMs===void 0?{}:{delayMs:P.retryDelayMs},visibility:F()?`visible`:`hidden`,...E===void 0?{}:{lastAppliedSeq:E},heartbeatAgeMs:Math.max(0,r()-D),eventCount:j,eventRatePerMinute:j/i,processingLagTotalMs:M,processingLagMaxMs:N})).catch(()=>{})}function L(){b!==void 0&&o(b),b=void 0}function R(){_&&(v&&_.removeEventListener(`heartbeat`,v),y&&_.removeEventListener(`connection`,y),v=void 0,y=void 0,_.onopen=null,_.onmessage=null,_.onerror=null,_.close(),_=void 0,O=void 0,k=void 0,A=void 0,j=0,M=0,N=0)}function z(){let e=Math.min(p,f*2**Math.max(0,T-1));return Math.min(p,Math.max(0,Math.round(e*(.75+i()*.5))))}function ee(){if(w||b!==void 0||P.state===`auth_failed`)return;T+=1;let e=z(),t=r()+e;I({state:`retrying`,attempt:T,retryDelayMs:e,retryAt:t}),b=a(()=>{b=void 0,ae()},e)}function te(t){w||(I({state:`resyncing`,attempt:T}),R(),e.onRecovery?.(t),t===`watchdog`&&!S?ie():ee())}function ne(){S&&=(S.timeout!==void 0&&o(S.timeout),S.controller.abort(),void 0)}function re(t,n){if(S||w)return;let r={controller:new AbortController,timeout:void 0};S=r;let i=!1,s=e=>{i||(i=!0,r.timeout!==void 0&&o(r.timeout),!w&&S===r&&e(),S===r&&(S=void 0))};r.timeout=a(()=>{r.controller.abort(),s(()=>n(Object.assign(Error(`dashboard authentication validation timed out`),{status:void 0})))},g);try{Promise.resolve(u(r.controller.signal)).then(n=>s(()=>{e.onAuthStatus?.(n),t()}),e=>s(()=>n(e)))}catch(e){s(()=>n(e))}}function ie(){re(()=>ee(),e=>{if(e?.status===401||e?.status===403){L(),I({state:`auth_failed`,attempt:T});return}ee()})}function ae(){if(w||_)return;L();let t=++C;I({state:`connecting`,attempt:T});let i=E===void 0?`/api/events`:`/api/events?lastEventId=${E}`,a=new n(i);_=a,D=r(),O=void 0;let o=()=>{w||t!==C||_!==a||(D=r(),T>0&&O!==void 0&&D-O>=m&&(T=0,I({state:`connected`,attempt:T})))};a.onopen=()=>{w||t!==C||_!==a||(O=r(),o(),I({state:`connected`,attempt:T}))},v=()=>o(),a.addEventListener(`heartbeat`,v),y=n=>{if(!(w||t!==C||_!==a))try{let t=JSON.parse(n.data);if(typeof t.connectionId!=`string`)throw Error(`missing connection id`);k=t.connectionId,A=r(),j=0,M=0,N=0,e.onConnectionMetadata?.(k),o(),I(P)}catch{te(`protocol`)}},a.addEventListener(`connection`,y),a.onmessage=n=>{if(w||t!==C||_!==a)return;D=r();let i;try{if(i=JSON.parse(n.data),!wt(i))throw Error(`invalid dashboard SSE envelope`);let e=i.event.type===`dashboard_resync`;if(!e&&E!==void 0&&i.seq<=E)return;if(!e&&E!==void 0&&i.seq!==E+1)throw Error(`dashboard SSE sequence gap`)}catch{te(`protocol`);return}let s=r();try{e.onEnvelope(i)}catch{te(`handler`);return}E=i.seq,j+=1;let c=Math.max(0,r()-s);M+=c,N=Math.max(N,c),o()},a.onerror=()=>{w||t!==C||_!==a||(I({state:`disconnected`,attempt:T}),R(),ie())}}let B=()=>{w||!F()||S||re(()=>{(!_||_.readyState!==$||r()-D>h)&&te(`watchdog`)},e=>{if(e?.status===401||e?.status===403){L(),I({state:`auth_failed`,attempt:T}),R();return}te(`watchdog`)})};return l.addEventListener(`visibilitychange`,B),x=s(()=>{F()&&_&&r()-D>h&&te(`watchdog`)},Math.min(h,5e3)),ae(),()=>{w=!0,C+=1,ne(),L(),x!==void 0&&c(x),x=void 0,l.removeEventListener(`visibilitychange`,B),I({state:`disconnected`,attempt:T}),R()}}var Et=J(`<p class=settings-error>`),Dt=J(`<div class=field><label for=mkdir-name>folder name</label><input id=mkdir-name type=text>`),Ot=J(`<div class=screen-fill><main class=container><div class=files-head><div><nav class=crumbs aria-label=breadcrumb></nav><p class=scope-note>whole host filesystem — you can browse anywhere the dreb process can read</p></div><div class=head-actions><button type=button class=btn>+ new folder</button><button type=button class=btn>↑ upload here</button><button type=button class="btn btn-primary">▸ new session here</button></div></div><section class=context-trust aria-live=polite></section><div class=places><span class=label>places</span></div><table class="table file-table"><thead><tr><th>name</th><th class="meta cols">size</th><th class="meta cols">modified</th><th></th></tr></thead><tbody></tbody></table><section class=drop-zone aria-label="file upload drop zone">drop a file here to upload to </section><p class=upload-warning>Uploads land on the host machine and become visible to any agent working near this path. Existing files are never overwritten silently — you'll be asked first.</p><input type=file style=display:none>`),kt=J(`<span class=sep>/`),At=J(`<a>`),jt=J(`<span>nested context trust: checking…`),Mt=J(`<div><strong>Nested context is untrusted.</strong><p>This folder's nested instructions are not loaded automatically.</p><button type=button class="btn btn-small btn-primary"></button><p class=context-trust-impact>Trusting this folder trusts it and all descendants.`),Nt=J(`<div><strong></strong><p></p><button type=button class="btn btn-small btn-danger"></button><p class=context-trust-impact>This removes trust from <!> and all of its descendants.`),Pt=J(`<div class=context-trust-warning><strong>Global expert trust is ON.</strong> Nested instructions from any resolvable directory may load, including prompt-injection content. Folder trust cannot override this global setting. <a href=#/settings>Disable global expert trust in Settings.`),Ft=J(`<button type=button class=place-chip>`),It=J(`<button type=button class=name><span class=icon>▸</span> <!>/`),Lt=J(`<a class="btn btn-small">↓ download`),Rt=J(`<tr><td></td><td class="meta cols"></td><td class="meta cols"></td><td class=actions>`),zt=J(`<span class=name><span class=icon>·</span> `),Bt=J(`<p>“<!>” already exists in <!>. Overwrite it?`),Vt=J(`<button type=button class="btn btn-small">cancel`),Ht=J(`<button type=button class="btn btn-small btn-danger">overwrite`),Ut=J(`<button type=button class="btn btn-small btn-primary">create`);function Wt(e){let t=e.split(`/`).filter(Boolean),n=[{label:`/`,path:`/`}],r=``;for(let e of t)r+=`/${e}`,n.push({label:e,path:r});return n}function Gt(e){let[t,n]=k(e.initialPath??``),[r,i]=k(),[a,o]=k(!1),[s,c]=k(),[l,u]=k(!1),[d,f]=k(``),[p,m]=k(!1),[h]=F(async()=>{let{places:e}=await Q.places();return e}),[g,{mutate:_,refetch:v}]=F(()=>t(),async e=>{if(i(void 0),!e){let{places:e}=await Q.places(),t=e.find(e=>e.label===`home`)?.path??`/`;return n(t),Q.listFiles(t)}return Q.listFiles(e)});async function y(e,n){try{await Q.upload(t(),e,n),c(void 0),await v()}catch(t){t?.status===409&&!n?c(e):i(t instanceof Error?t.message:String(t))}}async function b(){try{let n=await Q.createRuntime(t());e.store.upsertRuntime(n),await e.store.refreshDiskSessions()}catch(e){i(e instanceof Error?e.message:String(e))}}async function x(e){let n=g();if(n){i(void 0),m(!0);try{let r=e===`trust`?await Q.trustContextFolder(n.path):await Q.untrustContextFolder(n.path),i=g();t()===n.path&&i?.path===n.path&&_({...i,contextTrust:r.evaluation})}catch(e){i(e instanceof Error?e.message:String(e))}finally{m(!1)}}}let S;return(()=>{var m=Ot(),_=m.firstChild,C=_.firstChild,w=C.firstChild,T=w.firstChild,E=w.nextSibling.firstChild,D=E.nextSibling,O=D.nextSibling,k=C.nextSibling,A=k.nextSibling;A.firstChild;var M=A.nextSibling,N=M.firstChild.nextSibling,P=M.nextSibling;P.firstChild;var F=P.nextSibling.nextSibling;X(m,W(ct,{get store(){return e.store},active:`files`}),_),X(T,W(G,{get each(){return Wt(t())},children:(e,t)=>[W(K,{get when(){return t()>1},get children(){return kt()}}),(()=>{var t=At();return t.$$click=t=>{t.preventDefault(),n(e.path)},X(t,()=>e.label),j(()=>Y(t,`href`,`#/files/${encodeURIComponent(e.path)}`)),t})()]})),E.$$click=()=>u(!0),D.$$click=()=>S?.click(),O.$$click=b,X(k,W(K,{get when(){return g()?.contextTrust},get fallback(){return jt()},children:e=>W(K,{get when(){return e().state===`untrusted`},get fallback(){return W(K,{get when(){return e().state===`trusted-root`},get fallback(){return Pt()},get children(){var t=Nt(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,X(n,()=>e().grantingRoot===e().canonicalTarget?`Nested context trusted for this folder`:`Nested context inherited from a trusted root`),X(r,(()=>{var t=q(()=>e().grantingRoot===e().canonicalTarget);return()=>t()?`${e().grantingRoot} and all descendants are trusted.`:`${e().canonicalTarget} is covered by ${e().grantingRoot} and its descendants.`})()),i.$$click=()=>void x(`untrust`),X(i,(()=>{var t=q(()=>!!p());return()=>t()?`removing trust…`:`untrust ${e().grantingRoot}`})()),X(a,()=>e().grantingRoot,o),j(()=>i.disabled=p()),t}})},get children(){var e=Mt(),t=e.firstChild.nextSibling.nextSibling;return t.$$click=()=>void x(`trust`),X(t,()=>p()?`trusting…`:`trust this folder and descendants`),j(()=>t.disabled=p()),e}})})),X(A,W(G,{get each(){return h()??[]},children:e=>(()=>{var t=Ft();return t.$$click=()=>n(e.path),X(t,()=>e.label),t})()}),null),X(_,W(K,{get when(){return r()},get children(){var e=Et();return X(e,r),e}}),M),X(N,W(G,{get each(){return g()?.entries??[]},children:e=>(()=>{var t=Rt(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.nextSibling;return X(r,W(K,{get when(){return e.type===`dir`},get fallback(){return(()=>{var t=zt();return t.firstChild.nextSibling,X(t,()=>e.name,null),t})()},get children(){var t=It(),r=t.firstChild.nextSibling.nextSibling;return r.nextSibling,t.$$click=()=>n(`${g().path}/${e.name}`.replace(`//`,`/`)),X(t,()=>e.name,r),t}})),X(i,(()=>{var t=q(()=>e.type===`dir`);return()=>t()?`—`:mt(e.size)})()),X(a,()=>pt(e.modified)),X(o,W(K,{get when(){return e.type===`file`},get children(){var t=Lt();return j(()=>Y(t,`href`,Q.downloadUrl(`${g().path}/${e.name}`.replace(`//`,`/`)))),t}})),t})()})),P.addEventListener(`drop`,e=>{e.preventDefault(),o(!1);let t=e.dataTransfer?.files[0];t&&y(t,!1)}),P.addEventListener(`dragleave`,()=>o(!1)),P.addEventListener(`dragover`,e=>{e.preventDefault(),o(!0)}),X(P,t,null),F.addEventListener(`change`,e=>{let t=e.currentTarget.files?.[0];t&&y(t,!1),e.currentTarget.value=``});var I=S;return typeof I==`function`?Le(I,F):S=F,X(m,W(K,{get when(){return s()},children:e=>W(ut,{title:`file exists`,onDismiss:()=>c(void 0),get actions(){return[(()=>{var e=Vt();return e.$$click=()=>c(void 0),e})(),(()=>{var t=Ht();return t.$$click=()=>y(e(),!0),t})()]},get children(){var n=Bt(),r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,X(n,()=>e().name,r),X(n,t,i),n}})}),null),X(m,W(K,{get when(){return l()},get children(){return W(ut,{title:`new folder`,onDismiss:()=>u(!1),get actions(){return[(()=>{var e=Vt();return e.$$click=()=>u(!1),e})(),(()=>{var e=Ut();return e.$$click=async()=>{try{await Q.mkdir(t(),d().trim()),u(!1),f(``),await v()}catch(e){i(e instanceof Error?e.message:String(e)),u(!1)}},j(()=>e.disabled=!d().trim()),e})()]},get children(){var e=Dt(),t=e.firstChild.nextSibling;return t.$$input=e=>f(e.currentTarget.value),j(()=>t.value=d()),e}})}}),null),j(()=>P.classList.toggle(`active`,!!a())),m})()}Me([`click`,`input`]);var Kt=3e4,qt=new WeakMap;function Jt(e,t){let n=N(t),r=qt.get(e)??{lastStarted:Date.now()};qt.set(e,r),M(()=>{if(!n())return;let t,i=()=>{Date.now()-r.lastStarted>=Kt&&(r.lastStarted=Date.now(),e.refreshFleetStats()),t=setTimeout(i,Math.max(1,Kt-(Date.now()-r.lastStarted)))};i(),z(()=>clearTimeout(t))})}var Yt=`dreb.dashboard.expandThinking`,Xt=`dreb.dashboard.imageDisplayMode`,Zt=`dreb.dashboard.sessionSidebarCollapsed`,Qt=`dreb.dashboard.sessionSidebarWidth`,$t=`dreb.dashboard.toolAutoExpand`,en=[`read`,`edit`,`write`,`suggest_next`,`bash`],tn=!0,nn=!1,rn=new Set(en),an=Object.fromEntries(en.map(e=>[e,!0]));function on(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n===null?t:n===`true`}catch{return t}}function sn(e,t){if(!(typeof window>`u`))try{window.localStorage.setItem(e,t?`true`:`false`)}catch{}}function cn(e){return Number.isFinite(e)?Math.min(560,Math.max(240,Math.round(e))):260}function ln(){if(typeof window>`u`)return 260;try{let e=window.localStorage.getItem(Qt);return e?.trim()?cn(Number(e)):260}catch{return 260}}function un(){if(typeof window>`u`)return`previews`;try{let e=window.localStorage.getItem(Xt);return e===`placeholders`||e===`previews`||e===`originals`?e:`previews`}catch{return`previews`}}function dn(e){if(!(typeof window>`u`))try{window.localStorage.setItem(Xt,e)}catch{}}function fn(){if(typeof window>`u`)return{...an};try{let e=window.localStorage.getItem($t);if(e===null)return{...an};let t=JSON.parse(e),n={...an};for(let e of en)typeof t[e]==`boolean`&&(n[e]=t[e]);return n}catch{return{...an}}}function pn(e){if(!(typeof window>`u`))try{window.localStorage.setItem($t,JSON.stringify(e))}catch{}}var[mn,hn]=k(on(Yt,tn)),[gn,_n]=k(un()),[vn,yn]=k(fn()),[bn,xn]=k(on(Zt,nn)),[Sn,Cn]=k(ln()),wn=Sn;function Tn(e){let t=cn(e);if(Cn(t),!(typeof window>`u`))try{window.localStorage.setItem(Qt,String(t))}catch{}}var En=mn,Dn=gn,On=bn;function kn(e){hn(e),sn(Yt,e)}function An(e){_n(e),dn(e)}function jn(e,t){let n={...vn(),[e]:t};yn(n),pn(n)}function Mn(e){xn(e),sn(Zt,e)}function Nn(e){return vn()[e]??rn.has(e)}var Pn=J(`<div class=fleet-sidebar-resize role=separator tabindex=0 aria-label="Fleet sidebar width"aria-orientation=vertical>`),Fn=360,In=6;function Ln(e,t){let n=N(e),[r,i]=k(window.innerWidth),[a,o]=k(),s,c=N(()=>Math.max(0,Math.min(560,r()-Fn-In))),l=N(()=>Math.min(240,c())),u=e=>Math.min(c(),Math.max(l(),e)),d=N(()=>u(a()??wn()));function f(e){let t=s;t&&(e&&d()!==t.startWidth&&Tn(d()),s=void 0,o(void 0),t.element.hasPointerCapture(t.pointerId)&&t.element.releasePointerCapture(t.pointerId))}M(()=>{if(!n()){f(!1);return}let e=t(),r=()=>i(e?.getBoundingClientRect().width||window.innerWidth);r();let a=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);e&&a?.observe(e),window.addEventListener(`resize`,r),z(()=>{a?.disconnect(),window.removeEventListener(`resize`,r),f(!1)})}),z(()=>f(!1));let p=t=>{!e()||t.button!==0||s||(t.preventDefault(),t.currentTarget.focus(),t.currentTarget.setPointerCapture(t.pointerId),s={element:t.currentTarget,pointerId:t.pointerId,startX:t.clientX,startWidth:d()},o(d()))},m=e=>{s?.pointerId===e.pointerId&&o(u(s.startWidth+e.clientX-s.startX))};return{width:d,min:l,max:c,dragging:()=>a()!==void 0,pointerDown:p,pointerMove:m,pointerUp:e=>{s?.pointerId===e.pointerId&&(m(e),f(!0))},pointerCancel:e=>{s?.pointerId===e.pointerId&&f(!1)},keyDown:t=>{if(!e())return;let n=t.key===`ArrowLeft`?d()-10:t.key===`ArrowRight`?d()+10:t.key===`Home`?l():t.key===`End`?c():void 0;n!==void 0&&(t.preventDefault(),t.stopPropagation(),f(!1),Tn(u(n)))}}}function Rn(e){return(()=>{var t=Pn();return Pe(t,`keydown`,e.resize.keyDown,!0),Pe(t,`lostpointercapture`,e.resize.pointerCancel),Pe(t,`pointercancel`,e.resize.pointerCancel),Pe(t,`pointerup`,e.resize.pointerUp,!0),Pe(t,`pointermove`,e.resize.pointerMove,!0),Pe(t,`pointerdown`,e.resize.pointerDown,!0),j(n=>{var r=!!e.resize.dragging(),i=e.id,a=Math.round(e.resize.min()),o=Math.round(e.resize.max()),s=Math.round(e.resize.width()),c=`${Math.round(e.resize.width())} pixels`;return r!==n.e&&t.classList.toggle(`dragging`,n.e=r),i!==n.t&&Y(t,`aria-controls`,n.t=i),a!==n.a&&Y(t,`aria-valuemin`,n.a=a),o!==n.o&&Y(t,`aria-valuemax`,n.o=o),s!==n.i&&Y(t,`aria-valuenow`,n.i=s),c!==n.n&&Y(t,`aria-valuetext`,n.n=c),n},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),t})()}Me([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var zn=19660800-768*1024;function Bn(e){let t=e?.method;if(t===`select`||t===`confirm`||t===`input`||t===`editor`)return{id:String(e.id),method:t,title:String(e.title??``),message:e.message,options:e.options,prefill:e.prefill,placeholder:e.placeholder};if(t===`ask`){let t=(Array.isArray(e.questions)?e.questions:[]).map(e=>({question:String(e?.question??``),title:typeof e?.title==`string`?e.title:void 0,options:Array.isArray(e?.options)?e.options.map(e=>String(e)):void 0,allowFreeText:typeof e?.allowFreeText==`boolean`?e.allowFreeText:void 0,multiSelect:typeof e?.multiSelect==`boolean`?e.multiSelect:void 0,multiline:typeof e?.multiline==`boolean`?e.multiline:void 0}));return{id:String(e.id),method:`ask`,title:String(e.title??`Question`),questions:t,timeout:typeof e.timeout==`number`?e.timeout:void 0,expiresAt:typeof e.expiresAt==`number`?e.expiresAt:void 0}}}function Vn(e){return{key:e,entries:[],streaming:!1,compacting:!1,statusEntries:[],tasks:[],backgroundAgents:{},uiRequests:[],toasts:[],widgets:{above:[],below:[]},needsAttention:!1,subagents:{}}}var Hn=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`]),Un=/^[0-9a-f]{64}$/;function Wn(e){if(typeof e==`string`)return{text:e,images:[]};if(!Array.isArray(e))return{text:``,images:[]};let t=[],n=[];for(let r of e){let e=r;typeof e?.text==`string`?t.push(e.text):e?.type===`image_reference`&&typeof e.id==`string`&&Un.test(e.id)&&typeof e.mimeType==`string`&&Hn.has(e.mimeType)&&typeof e.size==`number`&&Number.isSafeInteger(e.size)&&e.size>0&&n.push({id:e.id,mimeType:e.mimeType,size:e.size})}return{text:t.join(`
2
2
  `),images:n}}function Gn(e){return Wn(e).text}function Kn(e,t){let n=e.match(/<background-agent-complete>\n?([\s\S]*?)\n?<\/background-agent-complete>/)?.[1]?.trim();if(!n)return;let r=n.split(`
3
3
  `),i=r.findIndex(e=>e.trim().length>0),a,o=n;return i>=0&&/^Background agent .+\.$/.test(r[i]?.trim()??``)&&(a=r[i].trim(),o=r.slice(i+1).join(`
4
- `).trim()||a),{kind:`agent-result`,text:o,header:a,raw:e,timestamp:t}}function qn(e){let{text:t,images:n}=Wn(e.content);return Kn(t,e.timestamp)??{kind:`user`,text:t,images:n.length>0?n:void 0,timestamp:e.timestamp}}function Jn(e){if(!(e?.role!==`assistant`||e.stopReason!==`error`))return typeof e.errorMessage==`string`&&e.errorMessage.trim().length>0?e.errorMessage:`Unknown error`}function Yn(e){let t=[],n=new Map;for(let r of e)if(r.role===`user`)t.push(qn(r));else if(r.role===`assistant`){let e=[],i=[],a=()=>{if(e.length===0)return;let n={kind:`assistant`,blocks:e,model:r.model,streaming:!1,timestamp:r.timestamp};i.push(n),t.push(n),e=[]};if(Array.isArray(r.content)){for(let i of r.content)if(i.type===`text`&&typeof i.text==`string`)e.push({kind:`text`,text:i.text});else if(i.type===`thinking`&&typeof i.thinking==`string`)e.push({kind:`thinking`,text:i.thinking});else if(i.type===`toolCall`){a();let e=i,o={kind:`tool`,toolCallId:String(e.id??``),toolName:String(e.name??`tool`),args:e.arguments,status:`running`,resultText:``,startedAt:r.timestamp??Date.now()};n.set(o.toolCallId,o),t.push(o)}}a();let o=Jn(r);if(o&&i.length===0){let e={kind:`assistant`,blocks:[],model:r.model,streaming:!1,timestamp:r.timestamp};i.push(e),t.push(e)}let s=i.at(-1);s&&(s.stopReason=r.stopReason,s.errorMessage=o)}else if(r.role===`toolResult`){let e=n.get(String(r.toolCallId));if(e){e.status=r.isError?`error`:`done`;let t=Wn(r.content);e.resultText=t.text,t.images.length>0&&(e.images=t.images),e.details=r.details,e.endedAt=r.timestamp}}else if(r.role===`bashExecution`){let e=r;t.push({kind:`tool`,toolCallId:`bash-exec-${t.length}`,toolName:`bash (user)`,args:{command:e.command},status:`done`,resultText:e.output??``,startedAt:r.timestamp??Date.now()})}else if(r.role===`custom`){let e=r;t.push({kind:`custom`,tag:e.customType??`extension`,text:e.displayText??Gn(r.content)})}else if(r.role===`compactionSummary`){let e=r;t.push({kind:`summary`,label:`compaction`,text:e.summary??`context compacted`,tokensBefore:e.tokensBefore})}return t}var Xn=0,Zn=0;function Qn(e){return Zn+=1,{id:Zn,...e}}function $n(e){e.statusEntries=e.statusEntries.filter(e=>e.key!==`compaction`),e.compacting&&e.statusEntries.push(Qn({key:`compaction`,text:`compacting context…`,tone:`info`}))}var er=20;function tr(e){let t=e.toasts.length-er;t>0&&e.toasts.splice(0,t)}function nr(e){let t=Date.parse(e.startedAt);return Number.isFinite(t)?t:0}function rr(e){let t=Object.values(e.backgroundAgents).filter(e=>e.status!==`running`).sort((e,t)=>nr(e)-nr(t)||e.agentId.localeCompare(t.agentId)),n=t.length-20;if(!(n<=0))for(let r of t.slice(0,n))delete e.backgroundAgents[r.agentId],delete e.subagents[r.agentId]}function ir(e){e.needsAttention=e.uiRequests.length>0||e.statusEntries.some(e=>e.tone===`error`)||!!e.suggestedCommand}function ar(e){let t=e.reduce((e,t)=>e+(t.questions?.length??0),0);if(t!==0)return`waiting for input — ${t} question${t===1?``:`s`}`}var or=`provider-error`;function sr(e){e.statusEntries=e.statusEntries.filter(e=>e.key!==or),e.lastError=void 0}function cr(e,t){sr(e),e.statusEntries.push(Qn({key:or,text:t,tone:`error`})),e.lastError=t}function lr(e,t,n){if(sr(e),!n)for(let n=t.length-1;n>=0;--n){let r=t[n];if(r?.role!==`assistant`)continue;let i=Jn(r);i&&cr(e,i);break}ir(e)}function ur(e){for(let t=e.entries.length-1;t>=0;t--){let n=e.entries[t];if(n.kind===`assistant`)return n}}function dr(e,t){for(let n=e.entries.length-1;n>=0;n--){let r=e.entries[n];if(r.kind===`tool`&&r.toolCallId===t)return r}}function fr(e,t,n){let r=e.entries.indexOf(t);if(r<0)return;let i=new Set,a=n.map(t=>{if(t.kind!==`tool`)return t;let n=dr(e,t.toolCallId);return n?(i.add(n),n):t}),o=new Set([t,...i]),s=e.entries.slice(0,r).filter(e=>!o.has(e)).length,c=e.entries.filter(e=>!o.has(e));c.splice(s,0,...a),e.entries.splice(0,e.entries.length,...c)}function pr(e,t){switch(t.type){case`agent_start`:e.streaming=!0;break;case`agent_end`:{e.streaming=!1;let t=ur(e);t&&(t.streaming=!1);break}case`message_start`:{let n=t.message;n?.role===`user`?e.entries.push(qn(n)):n?.role===`assistant`&&e.entries.push({kind:`assistant`,blocks:[],model:n.model,streaming:!0,timestamp:n.timestamp});break}case`message_update`:{let n=t.assistantMessageEvent;if(!n)break;let r=ur(e);if((!r||!r.streaming)&&(r={kind:`assistant`,blocks:[],streaming:!0},e.entries.push(r)),n.type===`text_start`)r.blocks.push({kind:`text`,text:``});else if(n.type===`thinking_start`)r.blocks.push({kind:`thinking`,text:``});else if(n.type===`text_delta`||n.type===`thinking_delta`){let e=r.blocks[r.blocks.length-1];e&&(e.text+=n.delta??``)}else if(n.type===`text_end`||n.type===`thinking_end`){let e=r.blocks[r.blocks.length-1];e&&typeof n.content==`string`&&(e.text=n.content)}break}case`message_end`:{let n=t.message;if(n?.role===`assistant`){let t=ur(e),r=Yn([n]);t?.streaming?fr(e,t,r):e.entries.push(...r)}else if(n?.role===`user`){let t=e.entries[e.entries.length-1],r=qn(n);r.kind===`agent-result`?t?.kind===`agent-result`&&t.raw===r.raw||e.entries.push(r):t?.kind===`user`&&t.text===r.text?r.images&&(t.images=r.images):e.entries.push(r)}break}case`tool_execution_start`:{let n=String(t.toolCallId),r=dr(e,n);r?(r.toolName=String(t.toolName),r.args=t.args,r.status=`running`,r.resultText=``,r.images=void 0,r.details=void 0,r.startedAt=Date.now(),r.endedAt=void 0):e.entries.push({kind:`tool`,toolCallId:n,toolName:String(t.toolName),args:t.args,status:`running`,resultText:``,startedAt:Date.now()});break}case`tool_execution_update`:{let n=dr(e,String(t.toolCallId));if(n){let e=t.partialResult;if(typeof e==`string`)n.resultText=e,n.images=void 0;else if(e?.content){let t=Wn(e.content);n.resultText=t.text,n.images=t.images.length>0?t.images:void 0}}break}case`tool_execution_end`:{let n=dr(e,String(t.toolCallId));if(n){n.status=t.isError?`error`:`done`;let e=t.result;if(typeof e==`string`)n.resultText=e,n.images=void 0;else if(e?.content){let t=Wn(e.content);n.resultText=t.text,n.images=t.images.length>0?t.images:void 0}n.details=t.result?.details,n.endedAt=Date.now()}break}default:break}}function mr(e,t){switch(pr(e,t),t.type){case`agent_start`:e.workingText=`working`,e.workingSince=Date.now(),sr(e),e.suggestedCommand=void 0,e.uiRequests=[];break;case`agent_end`:e.workingText=void 0,e.workingSince=void 0,e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`&&e.key!==`paused`);break;case`message_end`:{let n=t.message;if(n?.role===`assistant`){let t=Jn(n);t?cr(e,t):sr(e)}break}case`tool_execution_start`:e.workingText=`${t.toolName}`;break;case`auto_compaction_start`:e.compacting=!0,t.reason===`overflow`&&sr(e),$n(e);break;case`auto_compaction_end`:{e.compacting=!1,$n(e);let n=t.result;if(n&&!t.aborted){let t=n.summary??`context compacted`;e.entries.some(e=>e.kind===`summary`&&e.label===`compaction`&&e.text===t&&e.tokensBefore===n.tokensBefore)||e.entries.push({kind:`summary`,label:`compaction`,text:t,tokensBefore:n.tokensBefore})}t.errorMessage&&e.statusEntries.push(Qn({key:`compaction-error`,text:String(t.errorMessage),tone:`error`}));break}case`auto_retry_start`:sr(e),e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`retrying (${t.attempt}/${t.maxAttempts}) — ${t.errorMessage}`,tone:`warning`}));break;case`auto_retry_end`:e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),!t.success&&t.finalError?cr(e,String(t.finalError)):t.success&&sr(e);break;case`stream_retry`:{e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`stream dropped, retrying (${t.attempt}/${t.maxAttempts})`,tone:`warning`}));let n=ur(e);n?.streaming&&e.entries.splice(e.entries.indexOf(n),1);break}case`length_retry`:{e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`response truncated, retrying at the configured output limit (${t.attempt}/${t.maxAttempts})`,tone:`warning`}));let n=ur(e);n?.streaming&&e.entries.splice(e.entries.indexOf(n),1);break}case`tasks_update`:e.tasks=t.tasks??[];break;case`suggest_next`:e.suggestedCommand=String(t.command);break;case`session_name_changed`:e.sessionName=String(t.name??``);break;case`background_agent_start`:e.backgroundAgents[String(t.agentId)]={agentId:String(t.agentId),agentType:String(t.agentType),taskSummary:String(t.taskSummary),startedAt:new Date().toISOString(),status:`running`,sessionDir:t.sessionDir};break;case`subagent_arbitration`:{let n=e.backgroundAgents[String(t.agentId)];if(n){let e={status:t.status,proposed:t.proposed,final:t.final??null,changed:t.changed??[],step:t.step,errorCode:t.errorCode,errorMessage:t.errorMessage};n.arbitrations=[...n.arbitrations??[],e],e.status===`success`&&e.final&&(n.agentType=e.final.agent)}break}case`background_agent_end`:{let n=e.backgroundAgents[String(t.agentId)];n&&(n.status=t.success?`completed`:`failed`,n.sessionFile=t.sessionFile??n.sessionFile);let r=e.subagents[String(t.agentId)];r&&(r.streaming=!1),rr(e);break}case`background_agent_event`:{let n=String(t.agentId),r=e.subagents[n];r||(r={agentId:n,entries:[],streaming:!0},e.subagents[n]=r);let i=t.event;if(i?.type===`session`)break;i?.type===`agent_start`&&i.model&&(r.model=i.model.id),pr(r,i);break}case`parent_paused_for_background_agents`:e.statusEntries=e.statusEntries.filter(e=>e.key!==`paused`),e.statusEntries.push(Qn({key:`paused`,text:`paused — waiting on ${t.runningAgentCount} background agent${t.runningAgentCount===1?``:`s`}`,tone:`warning`}));break;case`extension_ui_response_handled`:gr(e,String(t.id));break;case`extension_ui_request`:{let n=t.method,r=Bn(t);if(r)e.uiRequests.push(r);else if(n===`notify`){Xn+=1;let n=t.notifyType??`info`;e.toasts.push({id:Xn,text:String(t.message??``),tone:n}),tr(e)}else if(n===`setStatus`){let n=`ext:${t.statusKey??`default`}`;e.statusEntries=e.statusEntries.filter(e=>e.key!==n),t.statusText&&e.statusEntries.push(Qn({key:n,text:String(t.statusText),tone:`info`}))}else if(n===`setWidget`){let n=t.widgetPlacement===`belowEditor`?`below`:`above`;e.widgets[n]=Array.isArray(t.widgetLines)?t.widgetLines:[]}else n===`setTitle`?e.title=String(t.title??``):n===`set_editor_text`&&(e.composerPrefill=String(t.text??``));break}case`extension_error`:Xn+=1,e.toasts.push({id:Xn,text:`extension error: ${t.error}`,tone:`error`}),tr(e);break;default:break}ir(e)}function hr(e,t){e.toasts=e.toasts.filter(e=>e.id!==t)}function gr(e,t){e.uiRequests=e.uiRequests.filter(e=>e.id!==t),ir(e)}var _r=J(`<span class=session-title><span class=name>`),vr=J(`<span class=session-project>`),yr=J(`<span class=historical-cwd>originally `),br=J(`<span class=attention-reason>`),xr=J(`<span class=error-reason>`),Sr=J(`<span class=activity>`),Cr=J(`<span class=subagents><span>⚡ <!> running · <!> done`),wr=J(`<span>tasks <!>/`),Tr=J(`<span>·`),Er=J(`<span>/`),Dr=J(`<span>ctx <!>%`),Or=J(`<span>$`),kr=J(`<span class=session-meta><span> msgs</span><span>·</span><span>`),Ar=J(`<span class=agent-line><span class=live>●</span> <!> — `);function jr(e,t){return e.sessions[t.key]?.lastError?`error`:ot(t)}function Mr(e,t){let n=e.sessions[t.key]?.entries??[];for(let e=n.length-1;e>=0;--e){let t=n[e];if(t.kind!==`assistant`)continue;let r=t.blocks.filter(e=>e.kind===`text`).map(e=>e.text).join(``).trim();if(r)return r.slice(0,200)}return t.lastAssistantText?.slice(0,200)}function Nr(e){let t=()=>e.store.sessions[e.runtime.key],n=()=>jr(e.store,e.runtime),r=()=>e.runtime.backgroundAgents.filter(e=>e.status===`running`),i=()=>e.runtime.backgroundAgents.filter(e=>e.status!==`running`),a=()=>t()?.tasks??e.runtime.state.tasks??[],o=()=>a().filter(e=>e.status===`completed`).length,s=()=>e.runtime.state.contextUsage,c=()=>e.runtime.state.model,l=()=>e.store.fleet().diskSessions.find(t=>t.path===e.runtime.state.sessionFile),u=()=>{let t=l();if(!(!t||t.cwd===e.runtime.cwd))return t.cwd},d=()=>{let n=t();return n?.workingText?`▸ ${n.workingText}`:n?.suggestedCommand?`suggested next: ${n.suggestedCommand}`:Mr(e.store,e.runtime)};return[(()=>{var r=_r(),i=r.firstChild;return X(i,()=>t()?.sessionName??e.runtime.state.sessionName??e.runtime.state.sessionId.slice(0,8)),X(r,W(at,{get status(){return n()}}),null),r})(),(()=>{var t=vr();return X(t,()=>e.runtime.cwd.replace(/^\/home\/[^/]+/,`~`)),j(()=>Y(t,`title`,e.runtime.cwd)),t})(),W(K,{get when(){return u()},get children(){var e=yr();return e.firstChild,X(e,()=>u().replace(/^\/home\/[^/]+/,`~`),null),j(()=>Y(e,`title`,u())),e}}),W(K,{get when(){return ot(e.runtime)===`attention`},get children(){var e=br();return X(e,()=>ar(t()?.uiRequests??[])??`needs attention`),e}}),W(K,{get when(){return e.runtime.error??t()?.lastError},get children(){var n=xr();return X(n,()=>e.runtime.error??t()?.lastError),n}}),W(K,{get when(){return d()},get children(){var e=Sr();return X(e,d),e}}),W(K,{get when(){return e.runtime.backgroundAgents.length>0},get children(){var e=Cr(),t=e.firstChild,n=t.firstChild.nextSibling,a=n.nextSibling.nextSibling;return a.nextSibling,X(t,()=>r().length,n),X(t,()=>i().length,a),X(e,W(G,{get each(){return r().slice(0,3)},children:e=>(()=>{var t=Ar(),n=t.firstChild.nextSibling.nextSibling;return n.nextSibling,X(t,()=>e.agentType,n),X(t,()=>e.taskSummary,null),t})()}),null),e}}),(()=>{var t=kr(),n=t.firstChild,r=n.firstChild,i=n.nextSibling.nextSibling;return X(t,W(K,{get when(){return a().length>0},get children(){return[(()=>{var e=wr(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,o,t),X(e,()=>a().length,null),e})(),Tr()]}}),n),X(t,W(K,{get when(){return c()},get children(){return[(()=>{var e=Er(),t=e.firstChild;return X(e,()=>c().provider,t),X(e,()=>c().id,null),e})(),Tr()]}}),n),X(t,W(K,{get when(){return q(()=>!!s())()&&s().percent!==null},get children(){return[(()=>{var e=Dr(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,()=>s().percent.toFixed(0),t),e})(),Tr()]}}),n),X(t,W(K,{get when(){return e.runtime.stats},get children(){return[(()=>{var t=Or();return t.firstChild,X(t,()=>e.runtime.stats.cost.toFixed(2),null),t})(),Tr()]}}),n),X(n,()=>e.runtime.state.messageCount,r),X(i,()=>pt(e.runtime.lastActivity)),t})()]}var Pr=J(`<button type=button class="chrome-toggle fleet-sidebar-toggle">`),Fr=J(`<button type=button class="chrome-toggle fleet-sidebar-close">close fleet sidebar`),Ir=J(`<output class=error-reason>Stats refresh failed: `),Lr=J(`<aside aria-label="Other live sessions"class=fleet-sidebar>`),Rr=J(`<div class=fleet-sidebar-scrim aria-hidden=true>`),zr=J(`<button type=button class=fleet-sidebar-entry>`);function Br(e){let t=[...e];return t.sort((e,t)=>{let n=e.cwd.localeCompare(t.cwd);return n===0?new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime():n}),t}function Vr(){let[e,t]=k(!1),n=typeof window.matchMedia==`function`?window.matchMedia(`(max-width: 700px)`):void 0,[r,i]=k(n?.matches??!1),a=e=>{t(!1),i(e.matches)};return n?.addEventListener(`change`,a),z(()=>n?.removeEventListener(`change`,a)),{id:`fleet-sidebar-${Te()}`,mobile:r,open:e,collapsed:On,toggle:()=>{r()?t(e=>!e):Mn(!On())},close:()=>t(!1)}}function Hr(e){let t=N(()=>{let t={idle:0,running:1,attention:2,error:3};return e.runtimes.reduce((n,r)=>{let i=jr(e.store,r);return t[i]>t[n]?i:n},`idle`)}),n=()=>e.hidden?`show other sessions; highest priority: ${t()===`attention`?`needs attention`:t()}`:`hide other sessions`;return(()=>{var r=Pr();return r.$$click=()=>e.onToggle(),X(r,()=>e.hidden?`fleet ▸`:`fleet ◂`),j(i=>{var a=e.hidden?t():void 0,o=n(),s=n(),c=e.id,l=!e.hidden;return a!==i.e&&Y(r,`data-status`,i.e=a),o!==i.t&&Y(r,`title`,i.t=o),s!==i.a&&Y(r,`aria-label`,i.a=s),c!==i.o&&Y(r,`aria-controls`,i.o=c),l!==i.i&&Y(r,`aria-expanded`,i.i=l),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}function Ur(e){let t=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),n,r=N(()=>!e.mobile&&!e.collapsed&&t().length>0),i=Ln(r,()=>n?.parentElement??void 0),a=N(()=>e.mobile&&e.open&&t().length>0),o=()=>e.mobile?!e.open:e.collapsed;return Jt(e.store,()=>!o()&&t().length>0),M(()=>{if(!a())return;let t=document.activeElement;n?.querySelector(`.fleet-sidebar-close`)?.focus({preventScroll:!0});let r=t=>{let r=t.target instanceof Element?t.target:void 0;if(!(r?.closest(`[role="dialog"]`)&&!n?.contains(r))&&!t.defaultPrevented)if(t.key===`Escape`)t.preventDefault(),t.stopPropagation(),e.onClose();else if(t.key===`Tab`){t.stopPropagation();let e=n?.querySelectorAll(`button:not(:disabled)`),r=e?.[0],i=e?.[e.length-1];t.shiftKey&&(document.activeElement===r||!n?.contains(document.activeElement))?(t.preventDefault(),i?.focus()):!t.shiftKey&&(document.activeElement===i||!n?.contains(document.activeElement))&&(t.preventDefault(),r?.focus())}else r&&n?.contains(r)&&t.stopPropagation()};document.addEventListener(`keydown`,r),z(()=>{document.removeEventListener(`keydown`,r),n?.contains(document.activeElement)&&t instanceof HTMLElement&&t.isConnected&&t.focus({preventScroll:!0})})}),W(K,{get when(){return t().length>0},get children(){return[(()=>{var r=Lr(),s=n;return typeof s==`function`?Le(s,r):n=r,X(r,W(K,{get when(){return e.mobile},get children(){var t=Fr();return t.$$click=()=>e.onClose(),t}}),null),X(r,W(K,{get when(){return e.store.fleetStatsError()},get children(){var t=Ir();return t.firstChild,X(t,()=>e.store.fleetStatsError(),null),t}}),null),X(r,W(G,{get each(){return t()},children:t=>{let n=()=>jr(e.store,t);return(()=>{var r=zr();return r.$$click=()=>e.onNavigate(t.key),X(r,W(Nr,{get store(){return e.store},runtime:t})),j(e=>{var i=n()===`attention`,a=n()===`error`,o=t.cwd;return i!==e.e&&r.classList.toggle(`attention`,e.e=i),a!==e.t&&r.classList.toggle(`error`,e.t=a),o!==e.a&&Y(r,`title`,e.a=o),e},{e:void 0,t:void 0,a:void 0}),r})()}}),null),j(t=>{var n=e.id,s=e.mobile?`dialog`:`complementary`,c=a()?!0:void 0,l=o(),u=o(),d=`${i.width()}px`,f=!!(e.mobile&&e.open),p=!!(!e.mobile&&e.collapsed);return n!==t.e&&Y(r,`id`,t.e=n),s!==t.t&&Y(r,`role`,t.t=s),c!==t.a&&Y(r,`aria-modal`,t.a=c),l!==t.o&&Y(r,`aria-hidden`,t.o=l),u!==t.i&&(r.inert=t.i=u),d!==t.n&&Ie(r,`--fleet-sidebar-width`,t.n=d),f!==t.s&&r.classList.toggle(`open`,t.s=f),p!==t.h&&r.classList.toggle(`collapsed`,t.h=p),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})(),W(K,{get when(){return r()},get children(){return W(Rn,{resize:i,get id(){return e.id}})}}),W(K,{get when(){return q(()=>!!e.mobile)()&&e.open},get children(){var t=Rr();return t.$$click=()=>e.onClose(),t}})]}})}Me([`click`]);var Wr=J(`<p class=resume-cwd-warning>`),Gr=J(`<div class=field><span class=field-label>historical session path</span><code class=resume-historical-cwd>`),Kr=J(`<div class=field><label for=resume-runtime-cwd>runtime project path</label><input id=resume-runtime-cwd type=text placeholder=/path/to/project><p class="muted small">Tools and project context will use this directory. Session history stays unchanged.`),qr=J(`<div class=field><label for=resume-recent-projects>available projects</label><div class=recent-projects id=resume-recent-projects>`),Jr=J(`<p class=pair-error role=alert>`),Yr=J(`<button type=button class="btn btn-small">cancel`),Xr=J(`<button type=button class="btn btn-small btn-primary">`),Zr=J(`<button type=button>`);function Qr(e){return e.replace(/^\/home\/[^/]+/,`~`)}function $r(e){let t=new Set;for(let n of e.runtimes)t.add(n.cwd);for(let n of e.diskSessions)n.resolvedCwd&&t.add(n.resolvedCwd);return[...t].slice(0,8)}function ei(e){let[t,n]=k(e.initialCwd??``),[r,i]=k(),[a,o]=k(!1);async function s(){if(!(a()||!t().trim())){o(!0),i(void 0);try{await e.onResume(t())}catch(e){i(e instanceof Error?e.message:String(e))}finally{o(!1)}}}return W(ut,{title:`choose runtime directory`,onDismiss:()=>{a()||e.onClose()},class:`resume-session-modal`,get actions(){return[(()=>{var t=Yr();return Pe(t,`click`,e.onClose,!0),j(()=>t.disabled=a()),t})(),(()=>{var e=Xr();return e.$$click=()=>void s(),X(e,()=>a()?`resuming…`:`resume session`),j(()=>e.disabled=a()||!t().trim()),e})()]},get children(){return[(()=>{var t=Wr();return X(t,()=>e.historicalUnavailable?`The original working directory is unavailable on this host.`:`Choose the existing project directory this resumed runtime should use.`),t})(),(()=>{var t=Gr(),n=t.firstChild.nextSibling;return X(n,()=>e.historicalCwd||`(not recorded)`),t})(),(()=>{var e=Kr(),r=e.firstChild.nextSibling;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.disabled=a()),j(()=>r.value=t()),e})(),W(K,{get when(){return e.recentProjects.length>0},get children(){var t=qr(),r=t.firstChild.nextSibling;return X(r,W(G,{get each(){return e.recentProjects},children:e=>(()=>{var t=Zr();return t.$$click=()=>n(e),X(t,()=>Qr(e)),j(()=>t.disabled=a()),t})()})),t}}),W(K,{get when(){return r()},get children(){var e=Jr();return X(e,r),e}})]}})}Me([`input`,`click`]);var ti=J(`<article class=session-card><div class=session-actions><button type=button class="btn btn-small btn-primary">open</button><button type=button class="btn btn-small btn-danger">stop runtime`),ni=J(`<div class=field><label for=new-session-cwd>project path</label><input id=new-session-cwd type=text placeholder=/path/to/project>`),ri=J(`<div class=field><label for=recent-projects-list>recent projects</label><div class=recent-projects id=recent-projects-list>`),ii=J(`<div class=field><label for=new-session-prompt>first prompt (optional)</label><textarea id=new-session-prompt rows=3>`),ai=J(`<p class=pair-error>`),oi=J(`<button type=button class="btn btn-small">cancel`),si=J(`<button type=button class="btn btn-small btn-primary">`),ci=J(`<button type=button>`),li=J(`<div class=settings-error role=alert>Fleet could not be loaded: `),ui=J(`<div class=settings-error role=alert>Fleet stats could not be refreshed: `),di=J(`<section class=live-sessions><div class=session-grid>`),fi=J(`<section class=past-sessions><h2 class=past-sessions-head>past sessions`),pi=J(`<div class=screen-fill><main class=container><div class=fleet-head><div><h1>fleet</h1><p class="muted small"> live · <!> needs attention · <!> on disk</p></div><button type=button class="btn btn-primary">+ new session`),mi=J(`<div class=empty-state><p>No sessions yet.</p><p style=margin-top:8px><button type=button class="btn btn-primary">+ create your first session`),hi=J(`<button type=button class=disk-more>`),gi=J(`<section class=project-group><div class=group-head><h3></h3><span class="muted small"> on disk`),_i=J(`<button type=button class="btn btn-small">+ new`),vi=J(`<div class=disk-row><span class=name></span><span class=meta> msgs · </span><span class=actions><button type=button class="btn btn-small">resume</button><button type=button class="btn btn-small btn-danger">delete`),yi=J(`<p> — <!> messages. The session file is moved to trash where supported.`),bi=J(`<button type=button class="btn btn-small btn-danger">delete`);function xi(e){return e===`/tmp`||e.startsWith(`/tmp/`)?`/tmp`:e}function Si(e){return e.replace(/^\/home\/[^/]+/,`~`)}function Ci(e){let t=()=>jr(e.store,e.runtime);return(()=>{var n=ti(),r=n.firstChild,i=r.firstChild,a=i.nextSibling;return X(n,W(Nr,{get store(){return e.store},get runtime(){return e.runtime}}),r),i.$$click=()=>e.store.navigate({screen:`session`,key:e.runtime.key}),a.$$click=async()=>{await Q.stopRuntime(e.runtime.key),await e.store.removeRuntime(e.runtime.key)},j(e=>{var r=t()===`attention`,i=t()===`error`;return r!==e.e&&n.classList.toggle(`attention`,e.e=r),i!==e.t&&n.classList.toggle(`error`,e.t=i),e},{e:void 0,t:void 0}),n})()}function wi(e){let[t,n]=k(e.initialCwd??``),[r,i]=k(``),[a,o]=k(),[s,c]=k(!1);async function l(){c(!0),o(void 0);try{let n=await Q.createRuntime(t(),{firstPrompt:r()||void 0});e.store.upsertRuntime(n),await e.store.refreshDiskSessions(),e.onClose()}catch(e){o(e instanceof Error?e.message:String(e))}finally{c(!1)}}return W(ut,{title:`new session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=oi();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var e=si();return e.$$click=l,X(e,()=>s()?`starting…`:`start session`),j(()=>e.disabled=s()||!t()),e})()]},get children(){return[(()=>{var e=ni(),r=e.firstChild.nextSibling;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),W(K,{get when(){return e.recentProjects.length>0},get children(){var t=ri(),r=t.firstChild.nextSibling;return X(r,W(G,{get each(){return e.recentProjects},children:e=>(()=>{var t=ci();return t.$$click=()=>n(e),X(t,()=>Si(e)),t})()})),t}}),(()=>{var e=ii(),t=e.firstChild.nextSibling;return t.$$input=e=>i(e.currentTarget.value),j(()=>t.value=r()),e})(),W(K,{get when(){return a()},get children(){var e=ai();return X(e,a),e}})]}})}function Ti(e){let[t,n]=k(),[r,i]=k(!1),[a,o]=k(),[s,c]=k(),[l,u]=k({}),[d,f]=k(),p=new Map,m=N(()=>Br(e.store.fleet().runtimes)),h=N(()=>{let t=e.store.fleet(),n=new Set(t.runtimes.map(e=>e.state.sessionFile).filter(Boolean)),r=new Map;for(let e of t.diskSessions){if(n.has(e.path))continue;let t=xi(e.cwd),i=r.get(t)??[];i.push(e),r.set(t,i)}let i=[...r.entries()];return i.sort(([,e],[,t])=>new Date(t[0]?.modified??0).getTime()-new Date(e[0]?.modified??0).getTime()),i}),g=N(()=>{let t=e.store.fleet();return{live:t.runtimes.length,attention:t.runtimes.filter(e=>e.needsAttention).length,disk:t.diskSessions.length}}),_=N(()=>$r(e.store.fleet()));Jt(e.store,()=>!0);function v(t,n){let r=p.get(t.path);if(r)return r;let i=Promise.resolve().then(async()=>{f(void 0);let r=await Q.createRuntime(n,{sessionPath:t.path});e.store.upsertRuntime(r),e.store.refreshDiskSessions().catch(()=>{}),e.store.navigate({screen:`session`,key:r.key})}).finally(()=>p.delete(t.path));return p.set(t.path,i),i}async function y(e){if(e.cwdAvailable===!1){c(e);return}try{await v(e,e.cwd)}catch(t){let n=t?.status;if(n===400||n===404){c({...e,cwdAvailable:!1,resolvedCwd:void 0});return}f(`Failed to resume session: ${t instanceof Error?t.message:String(t)}`)}}return(()=>{var f=pi(),p=f.firstChild,b=p.firstChild.firstChild,x=b.firstChild.nextSibling,S=x.firstChild,C=S.nextSibling,w=C.nextSibling.nextSibling;w.nextSibling;var T=b.nextSibling;return X(f,W(ct,{get store(){return e.store},active:`fleet`}),p),X(x,()=>g().live,S),X(x,()=>g().attention,C),X(x,()=>g().disk,w),T.$$click=()=>{n(void 0),i(!0)},X(p,W(K,{get when(){return e.store.fleetError()},get children(){var t=li();return t.firstChild,X(t,()=>e.store.fleetError(),null),t}}),null),X(p,W(K,{get when(){return e.store.fleetStatsError()},get children(){var t=ui();return t.firstChild,X(t,()=>e.store.fleetStatsError(),null),t}}),null),X(p,W(K,{get when(){return m().length>0||h().length>0||e.store.fleetError()},get fallback(){return(()=>{var e=mi(),t=e.firstChild.nextSibling.firstChild;return t.$$click=()=>i(!0),e})()},get children(){return[W(K,{get when(){return m().length>0},get children(){var t=di(),n=t.firstChild;return X(n,W(G,{get each(){return m()},children:t=>W(Ci,{get store(){return e.store},runtime:t})})),t}}),W(K,{get when(){return h().length>0},get children(){var e=fi();return e.firstChild,X(e,W(K,{get when(){return d()},get children(){var e=ai();return X(e,d),e}}),null),X(e,W(G,{get each(){return h()},children:([e,t])=>{let r=()=>l()[e]??!1,a=()=>r()?t:t.slice(0,3),s=()=>{let n=t.find(e=>e.resolvedCwd||e.cwdAvailable!==!1);if(n)return e===`/tmp`?e:n.resolvedCwd??n.cwd},c=()=>t.every(e=>e.cwdAvailable===!1);return(()=>{var l=gi(),d=l.firstChild,f=d.firstChild,p=f.nextSibling,m=p.firstChild;return X(f,()=>e?Si(e):`(not recorded)`),X(p,()=>t.length,m),X(p,()=>c()?` · original path unavailable`:``,null),X(d,W(K,{get when(){return s()},children:e=>(()=>{var t=_i();return t.$$click=()=>{n(e()),i(!0)},t})()}),null),X(l,W(G,{get each(){return a()},children:e=>(()=>{var t=vi(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=r.nextSibling.firstChild,s=a.nextSibling;return X(n,()=>e.name??`“${e.firstMessage.slice(0,60)}…”`),X(r,()=>e.cwdAvailable===!1?`original path unavailable · `:``,i),X(r,()=>e.messageCount,i),X(r,()=>pt(e.modified),null),a.$$click=()=>y(e),s.$$click=()=>o(e),j(()=>n.classList.toggle(`muted`,!e.name)),t})()}),null),X(l,W(K,{get when(){return t.length>3},get children(){var n=hi();return n.$$click=()=>u(t=>({...t,[e]:!r()})),X(n,(()=>{var e=q(()=>!!r());return()=>e()?`show fewer ←`:`all ${t.length} on disk →`})()),n}}),null),l})()}}),null),e}})]}}),null),X(f,W(K,{get when(){return s()},children:e=>W(ei,{get historicalCwd(){return e().cwd},historicalUnavailable:!0,get recentProjects(){return _()},onClose:()=>c(void 0),onResume:async t=>{await v(e(),t),c(void 0)}})}),null),X(f,W(K,{get when(){return r()},get children(){return W(wi,{get store(){return e.store},get initialCwd(){return t()},get recentProjects(){return _()},onClose:()=>i(!1)})}}),null),X(f,W(K,{get when(){return a()},children:t=>W(ut,{title:`delete session?`,onDismiss:()=>o(void 0),get actions(){return[(()=>{var e=oi();return e.$$click=()=>o(void 0),e})(),(()=>{var n=bi();return n.$$click=async()=>{await Q.deleteSession(t().path),o(void 0),await e.store.refreshDiskSessions()},n})()]},get children(){var e=yi(),n=e.firstChild,r=n.nextSibling;return r.nextSibling,X(e,()=>t().name??t().firstMessage.slice(0,80),n),X(e,()=>t().messageCount,r),e}})}),null),f})()}Me([`click`,`input`]);function Ei(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Di(e){if(Array.isArray(e))return e}function Oi(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ki(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
4
+ `).trim()||a),{kind:`agent-result`,text:o,header:a,raw:e,timestamp:t}}function qn(e){let{text:t,images:n}=Wn(e.content);return Kn(t,e.timestamp)??{kind:`user`,text:t,images:n.length>0?n:void 0,timestamp:e.timestamp}}function Jn(e){if(!(e?.role!==`assistant`||e.stopReason!==`error`))return typeof e.errorMessage==`string`&&e.errorMessage.trim().length>0?e.errorMessage:`Unknown error`}function Yn(e){let t=[],n=new Map;for(let r of e)if(r.role===`user`)t.push(qn(r));else if(r.role===`assistant`){let e=[],i=[],a=()=>{if(e.length===0)return;let n={kind:`assistant`,blocks:e,model:r.model,streaming:!1,timestamp:r.timestamp};i.push(n),t.push(n),e=[]};if(Array.isArray(r.content)){for(let i of r.content)if(i.type===`text`&&typeof i.text==`string`)e.push({kind:`text`,text:i.text});else if(i.type===`thinking`&&typeof i.thinking==`string`)e.push({kind:`thinking`,text:i.thinking});else if(i.type===`toolCall`){a();let e=i,o={kind:`tool`,toolCallId:String(e.id??``),toolName:String(e.name??`tool`),args:e.arguments,status:`running`,resultText:``,startedAt:r.timestamp??Date.now()};n.set(o.toolCallId,o),t.push(o)}}a();let o=Jn(r);if(o&&i.length===0){let e={kind:`assistant`,blocks:[],model:r.model,streaming:!1,timestamp:r.timestamp};i.push(e),t.push(e)}let s=i.at(-1);s&&(s.stopReason=r.stopReason,s.errorMessage=o)}else if(r.role===`toolResult`){let e=n.get(String(r.toolCallId));if(e){e.status=r.isError?`error`:`done`;let t=Wn(r.content);e.resultText=t.text,t.images.length>0&&(e.images=t.images),e.details=r.details,e.endedAt=r.timestamp}}else if(r.role===`bashExecution`){let e=r;t.push({kind:`tool`,toolCallId:`bash-exec-${t.length}`,toolName:`bash (user)`,args:{command:e.command},status:`done`,resultText:e.output??``,startedAt:r.timestamp??Date.now()})}else if(r.role===`custom`){let e=r;t.push({kind:`custom`,tag:e.customType??`extension`,text:e.displayText??Gn(r.content)})}else if(r.role===`compactionSummary`){let e=r;t.push({kind:`summary`,label:`compaction`,text:e.summary??`context compacted`,tokensBefore:e.tokensBefore})}return t}var Xn=0,Zn=0;function Qn(e){return Zn+=1,{id:Zn,...e}}function $n(e){e.statusEntries=e.statusEntries.filter(e=>e.key!==`compaction`),e.compacting&&e.statusEntries.push(Qn({key:`compaction`,text:`compacting context…`,tone:`info`}))}var er=20;function tr(e){let t=e.toasts.length-er;t>0&&e.toasts.splice(0,t)}function nr(e){let t=Date.parse(e.startedAt);return Number.isFinite(t)?t:0}function rr(e){let t=Object.values(e.backgroundAgents).filter(e=>e.status!==`running`).sort((e,t)=>nr(e)-nr(t)||e.agentId.localeCompare(t.agentId)),n=t.length-20;if(!(n<=0))for(let r of t.slice(0,n))delete e.backgroundAgents[r.agentId],delete e.subagents[r.agentId]}function ir(e){e.needsAttention=e.uiRequests.length>0||e.statusEntries.some(e=>e.tone===`error`)||!!e.suggestedCommand}function ar(e){let t=e.reduce((e,t)=>e+(t.questions?.length??0),0);if(t!==0)return`waiting for input — ${t} question${t===1?``:`s`}`}var or=`provider-error`;function sr(e){e.statusEntries=e.statusEntries.filter(e=>e.key!==or),e.lastError=void 0}function cr(e,t){sr(e),e.statusEntries.push(Qn({key:or,text:t,tone:`error`})),e.lastError=t}function lr(e,t,n){if(sr(e),!n)for(let n=t.length-1;n>=0;--n){let r=t[n];if(r?.role!==`assistant`)continue;let i=Jn(r);i&&cr(e,i);break}ir(e)}function ur(e){for(let t=e.entries.length-1;t>=0;t--){let n=e.entries[t];if(n.kind===`assistant`)return n}}function dr(e,t){for(let n=e.entries.length-1;n>=0;n--){let r=e.entries[n];if(r.kind===`tool`&&r.toolCallId===t)return r}}function fr(e,t,n){let r=e.entries.indexOf(t);if(r<0)return;let i=new Set,a=n.map(t=>{if(t.kind!==`tool`)return t;let n=dr(e,t.toolCallId);return n?(i.add(n),n):t}),o=new Set([t,...i]),s=e.entries.slice(0,r).filter(e=>!o.has(e)).length,c=e.entries.filter(e=>!o.has(e));c.splice(s,0,...a),e.entries.splice(0,e.entries.length,...c)}function pr(e,t){switch(t.type){case`agent_start`:e.streaming=!0;break;case`agent_end`:{e.streaming=!1;let t=ur(e);t&&(t.streaming=!1);break}case`message_start`:{let n=t.message;n?.role===`user`?e.entries.push(qn(n)):n?.role===`assistant`&&e.entries.push({kind:`assistant`,blocks:[],model:n.model,streaming:!0,timestamp:n.timestamp});break}case`message_update`:{let n=t.assistantMessageEvent;if(!n)break;let r=ur(e);if((!r||!r.streaming)&&(r={kind:`assistant`,blocks:[],streaming:!0},e.entries.push(r)),n.type===`text_start`)r.blocks.push({kind:`text`,text:``});else if(n.type===`thinking_start`)r.blocks.push({kind:`thinking`,text:``});else if(n.type===`text_delta`||n.type===`thinking_delta`){let e=r.blocks[r.blocks.length-1];e&&(e.text+=n.delta??``)}else if(n.type===`text_end`||n.type===`thinking_end`){let e=r.blocks[r.blocks.length-1];e&&typeof n.content==`string`&&(e.text=n.content)}break}case`message_end`:{let n=t.message;if(n?.role===`assistant`){let t=ur(e),r=Yn([n]);t?.streaming?fr(e,t,r):e.entries.push(...r)}else if(n?.role===`user`){let t=e.entries[e.entries.length-1],r=qn(n);r.kind===`agent-result`?t?.kind===`agent-result`&&t.raw===r.raw||e.entries.push(r):t?.kind===`user`&&t.text===r.text?r.images&&(t.images=r.images):e.entries.push(r)}break}case`tool_execution_start`:{let n=String(t.toolCallId),r=dr(e,n);r?(r.toolName=String(t.toolName),r.args=t.args,r.status=`running`,r.resultText=``,r.images=void 0,r.details=void 0,r.startedAt=Date.now(),r.endedAt=void 0):e.entries.push({kind:`tool`,toolCallId:n,toolName:String(t.toolName),args:t.args,status:`running`,resultText:``,startedAt:Date.now()});break}case`tool_execution_update`:{let n=dr(e,String(t.toolCallId));if(n){let e=t.partialResult;if(typeof e==`string`)n.resultText=e,n.images=void 0;else if(e?.content){let t=Wn(e.content);n.resultText=t.text,n.images=t.images.length>0?t.images:void 0}}break}case`tool_execution_end`:{let n=dr(e,String(t.toolCallId));if(n){n.status=t.isError?`error`:`done`;let e=t.result;if(typeof e==`string`)n.resultText=e,n.images=void 0;else if(e?.content){let t=Wn(e.content);n.resultText=t.text,n.images=t.images.length>0?t.images:void 0}n.details=t.result?.details,n.endedAt=Date.now()}break}default:break}}function mr(e,t){switch(pr(e,t),t.type){case`agent_start`:e.workingText=`working`,e.workingSince=Date.now(),sr(e),e.suggestedCommand=void 0,e.uiRequests=[];break;case`agent_end`:e.workingText=void 0,e.workingSince=void 0,e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`&&e.key!==`paused`);break;case`message_end`:{let n=t.message;if(n?.role===`assistant`){let t=Jn(n);t?cr(e,t):sr(e)}break}case`tool_execution_start`:e.workingText=`${t.toolName}`;break;case`auto_compaction_start`:e.compacting=!0,t.reason===`overflow`&&sr(e),$n(e);break;case`auto_compaction_end`:{e.compacting=!1,$n(e);let n=t.result;if(n&&!t.aborted){let t=n.summary??`context compacted`;e.entries.some(e=>e.kind===`summary`&&e.label===`compaction`&&e.text===t&&e.tokensBefore===n.tokensBefore)||e.entries.push({kind:`summary`,label:`compaction`,text:t,tokensBefore:n.tokensBefore})}t.errorMessage&&e.statusEntries.push(Qn({key:`compaction-error`,text:String(t.errorMessage),tone:`error`}));break}case`auto_retry_start`:sr(e),e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`retrying (${t.attempt}/${t.maxAttempts}) — ${t.errorMessage}`,tone:`warning`}));break;case`auto_retry_end`:e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),!t.success&&t.finalError?cr(e,String(t.finalError)):t.success&&sr(e);break;case`stream_retry`:{e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`stream dropped, retrying (${t.attempt}/${t.maxAttempts})`,tone:`warning`}));let n=ur(e);n?.streaming&&e.entries.splice(e.entries.indexOf(n),1);break}case`length_retry`:{e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`),e.statusEntries.push(Qn({key:`retry`,text:`response truncated, retrying at the configured output limit (${t.attempt}/${t.maxAttempts})`,tone:`warning`}));let n=ur(e);n?.streaming&&e.entries.splice(e.entries.indexOf(n),1);break}case`tasks_update`:e.tasks=t.tasks??[];break;case`suggest_next`:e.suggestedCommand=String(t.command);break;case`session_name_changed`:e.sessionName=String(t.name??``);break;case`background_agent_start`:e.backgroundAgents[String(t.agentId)]={agentId:String(t.agentId),agentType:String(t.agentType),taskSummary:String(t.taskSummary),startedAt:new Date().toISOString(),status:`running`,sessionDir:t.sessionDir};break;case`subagent_arbitration`:{let n=e.backgroundAgents[String(t.agentId)];if(n){let e={status:t.status,proposed:t.proposed,final:t.final??null,changed:t.changed??[],step:t.step,errorCode:t.errorCode,errorMessage:t.errorMessage};n.arbitrations=[...n.arbitrations??[],e],e.status===`success`&&e.final&&(n.agentType=e.final.agent)}break}case`background_agent_end`:{let n=e.backgroundAgents[String(t.agentId)];n&&(n.status=t.success?`completed`:`failed`,n.sessionFile=t.sessionFile??n.sessionFile);let r=e.subagents[String(t.agentId)];r&&(r.streaming=!1),rr(e);break}case`background_agent_event`:{let n=String(t.agentId),r=e.subagents[n];r||(r={agentId:n,entries:[],streaming:!0},e.subagents[n]=r);let i=t.event;if(i?.type===`session`)break;i?.type===`agent_start`&&i.model&&(r.model=i.model.id),pr(r,i);break}case`parent_paused_for_background_agents`:e.statusEntries=e.statusEntries.filter(e=>e.key!==`paused`),e.statusEntries.push(Qn({key:`paused`,text:`paused — waiting on ${t.runningAgentCount} background agent${t.runningAgentCount===1?``:`s`}`,tone:`warning`}));break;case`extension_ui_response_handled`:gr(e,String(t.id));break;case`extension_ui_request`:{let n=t.method,r=Bn(t);if(r)e.uiRequests.push(r);else if(n===`notify`){Xn+=1;let n=t.notifyType??`info`;e.toasts.push({id:Xn,text:String(t.message??``),tone:n}),tr(e)}else if(n===`setStatus`){let n=`ext:${t.statusKey??`default`}`;e.statusEntries=e.statusEntries.filter(e=>e.key!==n),t.statusText&&e.statusEntries.push(Qn({key:n,text:String(t.statusText),tone:`info`}))}else if(n===`setWidget`){let n=t.widgetPlacement===`belowEditor`?`below`:`above`;e.widgets[n]=Array.isArray(t.widgetLines)?t.widgetLines:[]}else n===`setTitle`?e.title=String(t.title??``):n===`set_editor_text`&&(e.composerPrefill=String(t.text??``));break}case`extension_error`:Xn+=1,e.toasts.push({id:Xn,text:`extension error: ${t.error}`,tone:`error`}),tr(e);break;default:break}ir(e)}function hr(e,t){e.toasts=e.toasts.filter(e=>e.id!==t)}function gr(e,t){e.uiRequests=e.uiRequests.filter(e=>e.id!==t),ir(e)}var _r=J(`<span class=session-title><span class=name>`),vr=J(`<span class=session-project>`),yr=J(`<span class=historical-cwd>originally `),br=J(`<span class=attention-reason>`),xr=J(`<span class=error-reason>`),Sr=J(`<span class=activity>`),Cr=J(`<span class=subagents><span>⚡ <!> running · <!> done`),wr=J(`<span>tasks <!>/`),Tr=J(`<span>·`),Er=J(`<span>/`),Dr=J(`<span>ctx <!>%`),Or=J(`<span>$`),kr=J(`<span class=session-meta><span> msgs</span><span>·</span><span>`),Ar=J(`<span class=agent-line><span class=live>●</span> <!> — `);function jr(e,t){return e.sessions[t.key]?.lastError?`error`:ot(t)}function Mr(e,t){let n=e.sessions[t.key]?.entries??[];for(let e=n.length-1;e>=0;--e){let t=n[e];if(t.kind!==`assistant`)continue;let r=t.blocks.filter(e=>e.kind===`text`).map(e=>e.text).join(``).trim();if(r)return r.slice(0,200)}return t.lastAssistantText?.slice(0,200)}function Nr(e){let t=()=>e.store.sessions[e.runtime.key],n=()=>jr(e.store,e.runtime),r=()=>e.runtime.backgroundAgents.filter(e=>e.status===`running`),i=()=>e.runtime.backgroundAgents.filter(e=>e.status!==`running`),a=()=>t()?.tasks??e.runtime.state.tasks??[],o=()=>a().filter(e=>e.status===`completed`).length,s=()=>e.runtime.state.contextUsage,c=()=>e.runtime.state.model,l=()=>e.store.fleet().diskSessions.find(t=>t.path===e.runtime.state.sessionFile),u=()=>{let t=l();if(!(!t||t.cwd===e.runtime.cwd))return t.cwd},d=()=>{let n=t();return n?.workingText?`▸ ${n.workingText}`:n?.suggestedCommand?`suggested next: ${n.suggestedCommand}`:Mr(e.store,e.runtime)};return[(()=>{var r=_r(),i=r.firstChild;return X(i,()=>t()?.sessionName??e.runtime.state.sessionName??e.runtime.state.sessionId.slice(0,8)),X(r,W(at,{get status(){return n()}}),null),r})(),(()=>{var t=vr();return X(t,()=>e.runtime.cwd.replace(/^\/home\/[^/]+/,`~`)),j(()=>Y(t,`title`,e.runtime.cwd)),t})(),W(K,{get when(){return u()},get children(){var e=yr();return e.firstChild,X(e,()=>u().replace(/^\/home\/[^/]+/,`~`),null),j(()=>Y(e,`title`,u())),e}}),W(K,{get when(){return ot(e.runtime)===`attention`},get children(){var e=br();return X(e,()=>ar(t()?.uiRequests??[])??`needs attention`),e}}),W(K,{get when(){return e.runtime.error??t()?.lastError},get children(){var n=xr();return X(n,()=>e.runtime.error??t()?.lastError),n}}),W(K,{get when(){return d()},get children(){var e=Sr();return X(e,d),e}}),W(K,{get when(){return e.runtime.backgroundAgents.length>0},get children(){var e=Cr(),t=e.firstChild,n=t.firstChild.nextSibling,a=n.nextSibling.nextSibling;return a.nextSibling,X(t,()=>r().length,n),X(t,()=>i().length,a),X(e,W(G,{get each(){return r().slice(0,3)},children:e=>(()=>{var t=Ar(),n=t.firstChild.nextSibling.nextSibling;return n.nextSibling,X(t,()=>e.agentType,n),X(t,()=>e.taskSummary,null),t})()}),null),e}}),(()=>{var t=kr(),n=t.firstChild,r=n.firstChild,i=n.nextSibling.nextSibling;return X(t,W(K,{get when(){return a().length>0},get children(){return[(()=>{var e=wr(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,o,t),X(e,()=>a().length,null),e})(),Tr()]}}),n),X(t,W(K,{get when(){return c()},get children(){return[(()=>{var e=Er(),t=e.firstChild;return X(e,()=>c().provider,t),X(e,()=>c().id,null),e})(),Tr()]}}),n),X(t,W(K,{get when(){return q(()=>!!s())()&&s().percent!==null},get children(){return[(()=>{var e=Dr(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,()=>s().percent.toFixed(0),t),e})(),Tr()]}}),n),X(t,W(K,{get when(){return e.runtime.stats},get children(){return[(()=>{var t=Or();return t.firstChild,X(t,()=>e.runtime.stats.cost.toFixed(2),null),X(t,(()=>{var t=q(()=>!!e.runtime.stats.subagentCost);return()=>t()?` + $${e.runtime.stats.subagentCost.toFixed(2)} subs`:``})(),null),t})(),Tr()]}}),n),X(n,()=>e.runtime.state.messageCount,r),X(i,()=>pt(e.runtime.lastActivity)),t})()]}var Pr=J(`<button type=button class="chrome-toggle fleet-sidebar-toggle">`),Fr=J(`<button type=button class="chrome-toggle fleet-sidebar-close">close fleet sidebar`),Ir=J(`<output class=error-reason>Stats refresh failed: `),Lr=J(`<aside aria-label="Other live sessions"class=fleet-sidebar>`),Rr=J(`<div class=fleet-sidebar-scrim aria-hidden=true>`),zr=J(`<button type=button class=fleet-sidebar-entry>`);function Br(e){let t=[...e];return t.sort((e,t)=>{let n=e.cwd.localeCompare(t.cwd);return n===0?new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime():n}),t}function Vr(){let[e,t]=k(!1),n=typeof window.matchMedia==`function`?window.matchMedia(`(max-width: 700px)`):void 0,[r,i]=k(n?.matches??!1),a=e=>{t(!1),i(e.matches)};return n?.addEventListener(`change`,a),z(()=>n?.removeEventListener(`change`,a)),{id:`fleet-sidebar-${Te()}`,mobile:r,open:e,collapsed:On,toggle:()=>{r()?t(e=>!e):Mn(!On())},close:()=>t(!1)}}function Hr(e){let t=N(()=>{let t={idle:0,running:1,attention:2,error:3};return e.runtimes.reduce((n,r)=>{let i=jr(e.store,r);return t[i]>t[n]?i:n},`idle`)}),n=()=>e.hidden?`show other sessions; highest priority: ${t()===`attention`?`needs attention`:t()}`:`hide other sessions`;return(()=>{var r=Pr();return r.$$click=()=>e.onToggle(),X(r,()=>e.hidden?`fleet ▸`:`fleet ◂`),j(i=>{var a=e.hidden?t():void 0,o=n(),s=n(),c=e.id,l=!e.hidden;return a!==i.e&&Y(r,`data-status`,i.e=a),o!==i.t&&Y(r,`title`,i.t=o),s!==i.a&&Y(r,`aria-label`,i.a=s),c!==i.o&&Y(r,`aria-controls`,i.o=c),l!==i.i&&Y(r,`aria-expanded`,i.i=l),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}function Ur(e){let t=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),n,r=N(()=>!e.mobile&&!e.collapsed&&t().length>0),i=Ln(r,()=>n?.parentElement??void 0),a=N(()=>e.mobile&&e.open&&t().length>0),o=()=>e.mobile?!e.open:e.collapsed;return Jt(e.store,()=>!o()&&t().length>0),M(()=>{if(!a())return;let t=document.activeElement;n?.querySelector(`.fleet-sidebar-close`)?.focus({preventScroll:!0});let r=t=>{let r=t.target instanceof Element?t.target:void 0;if(!(r?.closest(`[role="dialog"]`)&&!n?.contains(r))&&!t.defaultPrevented)if(t.key===`Escape`)t.preventDefault(),t.stopPropagation(),e.onClose();else if(t.key===`Tab`){t.stopPropagation();let e=n?.querySelectorAll(`button:not(:disabled)`),r=e?.[0],i=e?.[e.length-1];t.shiftKey&&(document.activeElement===r||!n?.contains(document.activeElement))?(t.preventDefault(),i?.focus()):!t.shiftKey&&(document.activeElement===i||!n?.contains(document.activeElement))&&(t.preventDefault(),r?.focus())}else r&&n?.contains(r)&&t.stopPropagation()};document.addEventListener(`keydown`,r),z(()=>{document.removeEventListener(`keydown`,r),n?.contains(document.activeElement)&&t instanceof HTMLElement&&t.isConnected&&t.focus({preventScroll:!0})})}),W(K,{get when(){return t().length>0},get children(){return[(()=>{var r=Lr(),s=n;return typeof s==`function`?Le(s,r):n=r,X(r,W(K,{get when(){return e.mobile},get children(){var t=Fr();return t.$$click=()=>e.onClose(),t}}),null),X(r,W(K,{get when(){return e.store.fleetStatsError()},get children(){var t=Ir();return t.firstChild,X(t,()=>e.store.fleetStatsError(),null),t}}),null),X(r,W(G,{get each(){return t()},children:t=>{let n=()=>jr(e.store,t);return(()=>{var r=zr();return r.$$click=()=>e.onNavigate(t.key),X(r,W(Nr,{get store(){return e.store},runtime:t})),j(e=>{var i=n()===`attention`,a=n()===`error`,o=t.cwd;return i!==e.e&&r.classList.toggle(`attention`,e.e=i),a!==e.t&&r.classList.toggle(`error`,e.t=a),o!==e.a&&Y(r,`title`,e.a=o),e},{e:void 0,t:void 0,a:void 0}),r})()}}),null),j(t=>{var n=e.id,s=e.mobile?`dialog`:`complementary`,c=a()?!0:void 0,l=o(),u=o(),d=`${i.width()}px`,f=!!(e.mobile&&e.open),p=!!(!e.mobile&&e.collapsed);return n!==t.e&&Y(r,`id`,t.e=n),s!==t.t&&Y(r,`role`,t.t=s),c!==t.a&&Y(r,`aria-modal`,t.a=c),l!==t.o&&Y(r,`aria-hidden`,t.o=l),u!==t.i&&(r.inert=t.i=u),d!==t.n&&Ie(r,`--fleet-sidebar-width`,t.n=d),f!==t.s&&r.classList.toggle(`open`,t.s=f),p!==t.h&&r.classList.toggle(`collapsed`,t.h=p),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),r})(),W(K,{get when(){return r()},get children(){return W(Rn,{resize:i,get id(){return e.id}})}}),W(K,{get when(){return q(()=>!!e.mobile)()&&e.open},get children(){var t=Rr();return t.$$click=()=>e.onClose(),t}})]}})}Me([`click`]);var Wr=J(`<p class=resume-cwd-warning>`),Gr=J(`<div class=field><span class=field-label>historical session path</span><code class=resume-historical-cwd>`),Kr=J(`<div class=field><label for=resume-runtime-cwd>runtime project path</label><input id=resume-runtime-cwd type=text placeholder=/path/to/project><p class="muted small">Tools and project context will use this directory. Session history stays unchanged.`),qr=J(`<div class=field><label for=resume-recent-projects>available projects</label><div class=recent-projects id=resume-recent-projects>`),Jr=J(`<p class=pair-error role=alert>`),Yr=J(`<button type=button class="btn btn-small">cancel`),Xr=J(`<button type=button class="btn btn-small btn-primary">`),Zr=J(`<button type=button>`);function Qr(e){return e.replace(/^\/home\/[^/]+/,`~`)}function $r(e){let t=new Set;for(let n of e.runtimes)t.add(n.cwd);for(let n of e.diskSessions)n.resolvedCwd&&t.add(n.resolvedCwd);return[...t].slice(0,8)}function ei(e){let[t,n]=k(e.initialCwd??``),[r,i]=k(),[a,o]=k(!1);async function s(){if(!(a()||!t().trim())){o(!0),i(void 0);try{await e.onResume(t())}catch(e){i(e instanceof Error?e.message:String(e))}finally{o(!1)}}}return W(ut,{title:`choose runtime directory`,onDismiss:()=>{a()||e.onClose()},class:`resume-session-modal`,get actions(){return[(()=>{var t=Yr();return Pe(t,`click`,e.onClose,!0),j(()=>t.disabled=a()),t})(),(()=>{var e=Xr();return e.$$click=()=>void s(),X(e,()=>a()?`resuming…`:`resume session`),j(()=>e.disabled=a()||!t().trim()),e})()]},get children(){return[(()=>{var t=Wr();return X(t,()=>e.historicalUnavailable?`The original working directory is unavailable on this host.`:`Choose the existing project directory this resumed runtime should use.`),t})(),(()=>{var t=Gr(),n=t.firstChild.nextSibling;return X(n,()=>e.historicalCwd||`(not recorded)`),t})(),(()=>{var e=Kr(),r=e.firstChild.nextSibling;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.disabled=a()),j(()=>r.value=t()),e})(),W(K,{get when(){return e.recentProjects.length>0},get children(){var t=qr(),r=t.firstChild.nextSibling;return X(r,W(G,{get each(){return e.recentProjects},children:e=>(()=>{var t=Zr();return t.$$click=()=>n(e),X(t,()=>Qr(e)),j(()=>t.disabled=a()),t})()})),t}}),W(K,{get when(){return r()},get children(){var e=Jr();return X(e,r),e}})]}})}Me([`input`,`click`]);var ti=J(`<article class=session-card><div class=session-actions><button type=button class="btn btn-small btn-primary">open</button><button type=button class="btn btn-small btn-danger">stop runtime`),ni=J(`<div class=field><label for=new-session-cwd>project path</label><input id=new-session-cwd type=text placeholder=/path/to/project>`),ri=J(`<div class=field><label for=recent-projects-list>recent projects</label><div class=recent-projects id=recent-projects-list>`),ii=J(`<div class=field><label for=new-session-prompt>first prompt (optional)</label><textarea id=new-session-prompt rows=3>`),ai=J(`<p class=pair-error>`),oi=J(`<button type=button class="btn btn-small">cancel`),si=J(`<button type=button class="btn btn-small btn-primary">`),ci=J(`<button type=button>`),li=J(`<div class=settings-error role=alert>Fleet could not be loaded: `),ui=J(`<div class=settings-error role=alert>Fleet stats could not be refreshed: `),di=J(`<section class=live-sessions><div class=session-grid>`),fi=J(`<section class=past-sessions><h2 class=past-sessions-head>past sessions`),pi=J(`<div class=screen-fill><main class=container><div class=fleet-head><div><h1>fleet</h1><p class="muted small"> live · <!> needs attention · <!> on disk</p></div><button type=button class="btn btn-primary">+ new session`),mi=J(`<div class=empty-state><p>No sessions yet.</p><p style=margin-top:8px><button type=button class="btn btn-primary">+ create your first session`),hi=J(`<button type=button class=disk-more>`),gi=J(`<section class=project-group><div class=group-head><h3></h3><span class="muted small"> on disk`),_i=J(`<button type=button class="btn btn-small">+ new`),vi=J(`<div class=disk-row><span class=name></span><span class=meta> msgs · </span><span class=actions><button type=button class="btn btn-small">resume</button><button type=button class="btn btn-small btn-danger">delete`),yi=J(`<p> — <!> messages. The session file is moved to trash where supported.`),bi=J(`<button type=button class="btn btn-small btn-danger">delete`);function xi(e){return e===`/tmp`||e.startsWith(`/tmp/`)?`/tmp`:e}function Si(e){return e.replace(/^\/home\/[^/]+/,`~`)}function Ci(e){let t=()=>jr(e.store,e.runtime);return(()=>{var n=ti(),r=n.firstChild,i=r.firstChild,a=i.nextSibling;return X(n,W(Nr,{get store(){return e.store},get runtime(){return e.runtime}}),r),i.$$click=()=>e.store.navigate({screen:`session`,key:e.runtime.key}),a.$$click=async()=>{await Q.stopRuntime(e.runtime.key),await e.store.removeRuntime(e.runtime.key)},j(e=>{var r=t()===`attention`,i=t()===`error`;return r!==e.e&&n.classList.toggle(`attention`,e.e=r),i!==e.t&&n.classList.toggle(`error`,e.t=i),e},{e:void 0,t:void 0}),n})()}function wi(e){let[t,n]=k(e.initialCwd??``),[r,i]=k(``),[a,o]=k(),[s,c]=k(!1);async function l(){c(!0),o(void 0);try{let n=await Q.createRuntime(t(),{firstPrompt:r()||void 0});e.store.upsertRuntime(n),await e.store.refreshDiskSessions(),e.onClose()}catch(e){o(e instanceof Error?e.message:String(e))}finally{c(!1)}}return W(ut,{title:`new session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=oi();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var e=si();return e.$$click=l,X(e,()=>s()?`starting…`:`start session`),j(()=>e.disabled=s()||!t()),e})()]},get children(){return[(()=>{var e=ni(),r=e.firstChild.nextSibling;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),W(K,{get when(){return e.recentProjects.length>0},get children(){var t=ri(),r=t.firstChild.nextSibling;return X(r,W(G,{get each(){return e.recentProjects},children:e=>(()=>{var t=ci();return t.$$click=()=>n(e),X(t,()=>Si(e)),t})()})),t}}),(()=>{var e=ii(),t=e.firstChild.nextSibling;return t.$$input=e=>i(e.currentTarget.value),j(()=>t.value=r()),e})(),W(K,{get when(){return a()},get children(){var e=ai();return X(e,a),e}})]}})}function Ti(e){let[t,n]=k(),[r,i]=k(!1),[a,o]=k(),[s,c]=k(),[l,u]=k({}),[d,f]=k(),p=new Map,m=N(()=>Br(e.store.fleet().runtimes)),h=N(()=>{let t=e.store.fleet(),n=new Set(t.runtimes.map(e=>e.state.sessionFile).filter(Boolean)),r=new Map;for(let e of t.diskSessions){if(n.has(e.path))continue;let t=xi(e.cwd),i=r.get(t)??[];i.push(e),r.set(t,i)}let i=[...r.entries()];return i.sort(([,e],[,t])=>new Date(t[0]?.modified??0).getTime()-new Date(e[0]?.modified??0).getTime()),i}),g=N(()=>{let t=e.store.fleet();return{live:t.runtimes.length,attention:t.runtimes.filter(e=>e.needsAttention).length,disk:t.diskSessions.length}}),_=N(()=>$r(e.store.fleet()));Jt(e.store,()=>!0);function v(t,n){let r=p.get(t.path);if(r)return r;let i=Promise.resolve().then(async()=>{f(void 0);let r=await Q.createRuntime(n,{sessionPath:t.path});e.store.upsertRuntime(r),e.store.refreshDiskSessions().catch(()=>{}),e.store.navigate({screen:`session`,key:r.key})}).finally(()=>p.delete(t.path));return p.set(t.path,i),i}async function y(e){if(e.cwdAvailable===!1){c(e);return}try{await v(e,e.cwd)}catch(t){let n=t?.status;if(n===400||n===404){c({...e,cwdAvailable:!1,resolvedCwd:void 0});return}f(`Failed to resume session: ${t instanceof Error?t.message:String(t)}`)}}return(()=>{var f=pi(),p=f.firstChild,b=p.firstChild.firstChild,x=b.firstChild.nextSibling,S=x.firstChild,C=S.nextSibling,w=C.nextSibling.nextSibling;w.nextSibling;var T=b.nextSibling;return X(f,W(ct,{get store(){return e.store},active:`fleet`}),p),X(x,()=>g().live,S),X(x,()=>g().attention,C),X(x,()=>g().disk,w),T.$$click=()=>{n(void 0),i(!0)},X(p,W(K,{get when(){return e.store.fleetError()},get children(){var t=li();return t.firstChild,X(t,()=>e.store.fleetError(),null),t}}),null),X(p,W(K,{get when(){return e.store.fleetStatsError()},get children(){var t=ui();return t.firstChild,X(t,()=>e.store.fleetStatsError(),null),t}}),null),X(p,W(K,{get when(){return m().length>0||h().length>0||e.store.fleetError()},get fallback(){return(()=>{var e=mi(),t=e.firstChild.nextSibling.firstChild;return t.$$click=()=>i(!0),e})()},get children(){return[W(K,{get when(){return m().length>0},get children(){var t=di(),n=t.firstChild;return X(n,W(G,{get each(){return m()},children:t=>W(Ci,{get store(){return e.store},runtime:t})})),t}}),W(K,{get when(){return h().length>0},get children(){var e=fi();return e.firstChild,X(e,W(K,{get when(){return d()},get children(){var e=ai();return X(e,d),e}}),null),X(e,W(G,{get each(){return h()},children:([e,t])=>{let r=()=>l()[e]??!1,a=()=>r()?t:t.slice(0,3),s=()=>{let n=t.find(e=>e.resolvedCwd||e.cwdAvailable!==!1);if(n)return e===`/tmp`?e:n.resolvedCwd??n.cwd},c=()=>t.every(e=>e.cwdAvailable===!1);return(()=>{var l=gi(),d=l.firstChild,f=d.firstChild,p=f.nextSibling,m=p.firstChild;return X(f,()=>e?Si(e):`(not recorded)`),X(p,()=>t.length,m),X(p,()=>c()?` · original path unavailable`:``,null),X(d,W(K,{get when(){return s()},children:e=>(()=>{var t=_i();return t.$$click=()=>{n(e()),i(!0)},t})()}),null),X(l,W(G,{get each(){return a()},children:e=>(()=>{var t=vi(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=r.nextSibling.firstChild,s=a.nextSibling;return X(n,()=>e.name??`“${e.firstMessage.slice(0,60)}…”`),X(r,()=>e.cwdAvailable===!1?`original path unavailable · `:``,i),X(r,()=>e.messageCount,i),X(r,()=>pt(e.modified),null),a.$$click=()=>y(e),s.$$click=()=>o(e),j(()=>n.classList.toggle(`muted`,!e.name)),t})()}),null),X(l,W(K,{get when(){return t.length>3},get children(){var n=hi();return n.$$click=()=>u(t=>({...t,[e]:!r()})),X(n,(()=>{var e=q(()=>!!r());return()=>e()?`show fewer ←`:`all ${t.length} on disk →`})()),n}}),null),l})()}}),null),e}})]}}),null),X(f,W(K,{get when(){return s()},children:e=>W(ei,{get historicalCwd(){return e().cwd},historicalUnavailable:!0,get recentProjects(){return _()},onClose:()=>c(void 0),onResume:async t=>{await v(e(),t),c(void 0)}})}),null),X(f,W(K,{get when(){return r()},get children(){return W(wi,{get store(){return e.store},get initialCwd(){return t()},get recentProjects(){return _()},onClose:()=>i(!1)})}}),null),X(f,W(K,{get when(){return a()},children:t=>W(ut,{title:`delete session?`,onDismiss:()=>o(void 0),get actions(){return[(()=>{var e=oi();return e.$$click=()=>o(void 0),e})(),(()=>{var n=bi();return n.$$click=async()=>{await Q.deleteSession(t().path),o(void 0),await e.store.refreshDiskSessions()},n})()]},get children(){var e=yi(),n=e.firstChild,r=n.nextSibling;return r.nextSibling,X(e,()=>t().name??t().firstMessage.slice(0,80),n),X(e,()=>t().messageCount,r),e}})}),null),f})()}Me([`click`,`input`]);function Ei(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Di(e){if(Array.isArray(e))return e}function Oi(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ki(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
5
5
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ai(e,t){return Di(e)||Oi(e,t)||ji(e,t)||ki()}function ji(e,t){if(e){if(typeof e==`string`)return Ei(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ei(e,t):void 0}}var Mi=Object.entries,Ni=Object.setPrototypeOf,Pi=Object.isFrozen,Fi=Object.getPrototypeOf,Ii=Object.getOwnPropertyDescriptor,Li=Object.freeze,Ri=Object.seal,zi=Object.create,Bi=typeof Reflect<`u`&&Reflect,Vi=Bi.apply,Hi=Bi.construct;Li||=function(e){return e},Ri||=function(e){return e},Vi||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},Hi||=function(e){return new e(...[...arguments].slice(1))};var Ui=la(Array.prototype.forEach),Wi=la(Array.prototype.lastIndexOf),Gi=la(Array.prototype.pop),Ki=la(Array.prototype.push),qi=la(Array.prototype.splice),Ji=Array.isArray,Yi=la(String.prototype.toLowerCase),Xi=la(String.prototype.toString),Zi=la(String.prototype.match),Qi=la(String.prototype.replace),$i=la(String.prototype.indexOf),ea=la(String.prototype.trim),ta=la(Number.prototype.toString),na=la(Boolean.prototype.toString),ra=typeof BigInt>`u`?null:la(BigInt.prototype.toString),ia=typeof Symbol>`u`?null:la(Symbol.prototype.toString),aa=la(Object.prototype.hasOwnProperty),oa=la(Object.prototype.toString),sa=la(RegExp.prototype.test),ca=ua(TypeError);function la(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return Vi(e,t,n)}}function ua(e){return function(){return Hi(e,[...arguments])}}function da(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Yi;if(Ni&&Ni(e,null),!Ji(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Pi(t)||(t[r]=e),i=e)}e[i]=!0}return e}function fa(e){for(let t=0;t<e.length;t++)aa(e,t)||(e[t]=null);return e}function pa(e){let t=zi(null);for(let r of Mi(e)){var n=Ai(r,2);let i=n[0],a=n[1];aa(e,i)&&(Ji(a)?t[i]=fa(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=pa(a):t[i]=a)}return t}function ma(e){switch(typeof e){case`string`:return e;case`number`:return ta(e);case`boolean`:return na(e);case`bigint`:return ra?ra(e):`0`;case`symbol`:return ia?ia(e):`Symbol()`;case`undefined`:return oa(e);case`function`:case`object`:{if(e===null)return oa(e);let t=e,n=ha(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:oa(e)}return oa(e)}default:return oa(e)}}function ha(e,t){for(;e!==null;){let n=Ii(e,t);if(n){if(n.get)return la(n.get);if(typeof n.value==`function`)return la(n.value)}e=Fi(e)}function n(){return null}return n}function ga(e){try{return sa(e,``),!0}catch{return!1}}var _a=Li(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),va=Li(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),ya=Li([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),ba=Li([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),xa=Li(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Sa=Li([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Ca=Li([`#text`]),wa=Li(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Ta=Li(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Ea=Li(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Da=Li([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Oa=Ri(/{{[\w\W]*|^[\w\W]*}}/g),ka=Ri(/<%[\w\W]*|^[\w\W]*%>/g),Aa=Ri(/\${[\w\W]*/g),ja=Ri(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ma=Ri(/^aria-[\-\w]+$/),Na=Ri(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Pa=Ri(/^(?:\w+script|data):/i),Fa=Ri(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ia=Ri(/^html$/i),La=Ri(/^[a-z][.\w]*(-[.\w]+)+$/i),Ra=Ri(/<[/\w!]/g),za=Ri(/<[/\w]/g),Ba=Ri(/<\/no(script|embed|frames)/i),Va=Ri(/\/>/i),Ha={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ua=function(){return typeof window>`u`?null:window},Wa=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Ga=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ka=function(e,t,n,r){return aa(e,t)&&Ji(e[t])?da(r.base?pa(r.base):{},e[t],r.transform):n};function qa(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ua(),t=e=>qa(e);if(t.version=`3.4.11`,t.removed=[],!e||!e.document||e.document.nodeType!==Ha.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=ha(d,`cloneNode`),p=ha(d,`remove`),m=ha(d,`nextSibling`),h=ha(d,`childNodes`),g=ha(d,`parentNode`),_=ha(d,`shadowRoot`),v=ha(d,`attributes`),y=o&&o.prototype?ha(o.prototype,`nodeType`):null,b=o&&o.prototype?ha(o.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let x,S=``,C,w=!1,T=0,E=function(){if(T>0)throw ca(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},D=function(e){E(),T++;try{return x.createHTML(e)}finally{T--}},O=function(e){E(),T++;try{return x.createScriptURL(e)}finally{T--}},k=function(){return w||=(C=Wa(u,i),!0),C},A=n,j=A.implementation,M=A.createNodeIterator,N=A.createDocumentFragment,P=A.getElementsByTagName,F=r.importNode,I=Ga();t.isSupported=typeof Mi==`function`&&typeof g==`function`&&j&&j.createHTMLDocument!==void 0;let L=Oa,R=ka,z=Aa,ee=ja,te=Ma,ne=Pa,re=Fa,ie=La,ae=Na,B=null,oe=da({},[..._a,...va,...ya,...xa,...Ca]),V=null,se=da({},[...wa,...Ta,...Ea,...Da]),H=Object.seal(zi(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ce=null,le=null,ue=Object.seal(zi(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),de=!0,fe=!0,pe=!1,me=!0,he=!1,ge=!0,_e=!1,ve=!1,U=null,ye=null,be=!1,xe=!1,Se=!1,Ce=!1,W=!0,we=!1,Te=`user-content-`,Ee=!0,G=!1,K={},De=null,Oe=da({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),q=null,ke=da({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Ae=null,je=da({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),J=`http://www.w3.org/1998/Math/MathML`,Me=`http://www.w3.org/2000/svg`,Y=`http://www.w3.org/1999/xhtml`,Ne=Y,Pe=!1,Fe=null,Ie=da({},[J,Me,Y],Xi),Le=Li([`mi`,`mo`,`mn`,`ms`,`mtext`]),X=da({},Le),Re=Li([`annotation-xml`]),ze=da({},Re),Be=da({},[`title`,`style`,`font`,`a`,`script`]),Ve=null,He=[`application/xhtml+xml`,`text/html`],Ue=null,We=null,Ge=n.createElement(`form`),Ke=function(e){return e instanceof RegExp||e instanceof Function},qe=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(We&&We===e)return;(!e||typeof e!=`object`)&&(e={}),e=pa(e),Ve=He.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Ue=Ve===`application/xhtml+xml`?Xi:Yi,B=Ka(e,`ALLOWED_TAGS`,oe,{transform:Ue}),V=Ka(e,`ALLOWED_ATTR`,se,{transform:Ue}),Fe=Ka(e,`ALLOWED_NAMESPACES`,Ie,{transform:Xi}),Ae=Ka(e,`ADD_URI_SAFE_ATTR`,je,{transform:Ue,base:je}),q=Ka(e,`ADD_DATA_URI_TAGS`,ke,{transform:Ue,base:ke}),De=Ka(e,`FORBID_CONTENTS`,Oe,{transform:Ue}),ce=Ka(e,`FORBID_TAGS`,pa({}),{transform:Ue}),le=Ka(e,`FORBID_ATTR`,pa({}),{transform:Ue}),K=aa(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?pa(e.USE_PROFILES):e.USE_PROFILES:!1,de=e.ALLOW_ARIA_ATTR!==!1,fe=e.ALLOW_DATA_ATTR!==!1,pe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,me=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=e.SAFE_FOR_TEMPLATES||!1,ge=e.SAFE_FOR_XML!==!1,_e=e.WHOLE_DOCUMENT||!1,xe=e.RETURN_DOM||!1,Se=e.RETURN_DOM_FRAGMENT||!1,Ce=e.RETURN_TRUSTED_TYPE||!1,be=e.FORCE_BODY||!1,W=e.SANITIZE_DOM!==!1,we=e.SANITIZE_NAMED_PROPS||!1,Ee=e.KEEP_CONTENT!==!1,G=e.IN_PLACE||!1,ae=ga(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Na,Ne=typeof e.NAMESPACE==`string`?e.NAMESPACE:Y,X=aa(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?pa(e.MATHML_TEXT_INTEGRATION_POINTS):da({},Le),ze=aa(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?pa(e.HTML_INTEGRATION_POINTS):da({},Re);let t=aa(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?pa(e.CUSTOM_ELEMENT_HANDLING):zi(null);if(H=zi(null),aa(t,`tagNameCheck`)&&Ke(t.tagNameCheck)&&(H.tagNameCheck=t.tagNameCheck),aa(t,`attributeNameCheck`)&&Ke(t.attributeNameCheck)&&(H.attributeNameCheck=t.attributeNameCheck),aa(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(H.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),Ri(H),he&&(fe=!1),Se&&(xe=!0),K&&(B=da({},Ca),V=zi(null),K.html===!0&&(da(B,_a),da(V,wa)),K.svg===!0&&(da(B,va),da(V,Ta),da(V,Da)),K.svgFilters===!0&&(da(B,ya),da(V,Ta),da(V,Da)),K.mathMl===!0&&(da(B,xa),da(V,Ea),da(V,Da))),ue.tagCheck=null,ue.attributeCheck=null,aa(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?ue.tagCheck=e.ADD_TAGS:Ji(e.ADD_TAGS)&&(B===oe&&(B=pa(B)),da(B,e.ADD_TAGS,Ue))),aa(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?ue.attributeCheck=e.ADD_ATTR:Ji(e.ADD_ATTR)&&(V===se&&(V=pa(V)),da(V,e.ADD_ATTR,Ue))),aa(e,`ADD_URI_SAFE_ATTR`)&&Ji(e.ADD_URI_SAFE_ATTR)&&da(Ae,e.ADD_URI_SAFE_ATTR,Ue),aa(e,`FORBID_CONTENTS`)&&Ji(e.FORBID_CONTENTS)&&(De===Oe&&(De=pa(De)),da(De,e.FORBID_CONTENTS,Ue)),aa(e,`ADD_FORBID_CONTENTS`)&&Ji(e.ADD_FORBID_CONTENTS)&&(De===Oe&&(De=pa(De)),da(De,e.ADD_FORBID_CONTENTS,Ue)),Ee&&(B[`#text`]=!0),_e&&da(B,[`html`,`head`,`body`]),B.table&&(da(B,[`tbody`]),delete ce.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw ca(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw ca(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=x;x=e.TRUSTED_TYPES_POLICY;try{S=D(``)}catch(e){throw x=t,e}}else e.TRUSTED_TYPES_POLICY===null?(x=void 0,S=``):(x===void 0&&(x=k()),x&&typeof S==`string`&&(S=D(``)));Li&&Li(e),We=e},Je=da({},[...va,...ya,...ba]),Ye=da({},[...xa,...Sa]),Xe=function(e,t,n){return t.namespaceURI===Y?e===`svg`:t.namespaceURI===J?e===`svg`&&(n===`annotation-xml`||X[n]):!!Je[e]},Ze=function(e,t,n){return t.namespaceURI===Y?e===`math`:t.namespaceURI===Me?e===`math`&&ze[n]:!!Ye[e]},Qe=function(e,t,n){return t.namespaceURI===Me&&!ze[n]||t.namespaceURI===J&&!X[n]?!1:!Ye[e]&&(Be[e]||!Je[e])},$e=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:Ne,tagName:`template`});let n=Yi(e.tagName),r=Yi(t.tagName);return Fe[e.namespaceURI]?e.namespaceURI===Me?Xe(n,t,r):e.namespaceURI===J?Ze(n,t,r):e.namespaceURI===Y?Qe(n,t,r):!!(Ve===`application/xhtml+xml`&&Fe[e.namespaceURI]):!1},et=function(e){Ki(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw ca(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},tt=function(e){let t=h(e);if(t){let e=[];Ui(t,t=>{Ki(e,t)}),Ui(e,e=>{try{p(e)}catch{}})}let n=v(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},nt=function(e,n){try{Ki(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{Ki(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(xe||Se)try{et(n)}catch{}else try{n.setAttribute(e,``)}catch{}},rt=function(e){let t=v(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||V[Ue(i)]))try{e.removeAttribute(i)}catch{}}},it=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===Ha.element&&rt(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},at=function(e){let t=null,r=null;if(be)e=`<remove></remove>`+e;else{let t=Zi(e,/^[\r\n\t ]+/);r=t&&t[0]}Ve===`application/xhtml+xml`&&Ne===Y&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?D(e):e;if(Ne===Y)try{t=new l().parseFromString(i,Ve)}catch{}if(!t||!t.documentElement){t=j.createDocument(Ne,`template`,null);try{t.documentElement.innerHTML=Pe?S:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Ne===Y?P.call(t,_e?`html`:`body`)[0]:_e?t.documentElement:a},ot=function(e){return M.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},st=function(e){return e=Qi(e,L,` `),e=Qi(e,R,` `),e=Qi(e,z,` `),e},ct=function(e){e.normalize();let t=M.call(e.ownerDocument||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;)n.data=st(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&Ui(r,e=>{ut(e.content)&&ct(e.content)})},lt=function(e){let t=b?b(e):null;return typeof t!=`string`||Ue(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==v(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==y(e)||e.childNodes!==h(e)},ut=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===Ha.documentFragment}catch{return!1}},dt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function ft(e,n,r){e.length!==0&&Ui(e,e=>{e.call(t,n,r,We)})}let pt=function(e,t){return!!(ge&&e.hasChildNodes()&&!dt(e.firstElementChild)&&sa(Ra,e.textContent)&&sa(Ra,e.innerHTML)||ge&&e.namespaceURI===Y&&t===`style`&&dt(e.firstElementChild)||e.nodeType===Ha.processingInstruction||ge&&e.nodeType===Ha.comment&&sa(za,e.data))},mt=function(e,t){if(!ce[t]&&_t(t)&&(H.tagNameCheck instanceof RegExp&&sa(H.tagNameCheck,t)||H.tagNameCheck instanceof Function&&H.tagNameCheck(t)))return!1;if(Ee&&!De[t]){let t=g(e),n=h(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=G?n[i]:f(n[i],!0);t.insertBefore(r,m(e))}}}return et(e),!0},ht=function(e){if(ft(I.beforeSanitizeElements,e,null),lt(e))return et(e),!0;let n=Ue(b?b(e):e.nodeName);if(ft(I.uponSanitizeElement,e,{tagName:n,allowedTags:B}),pt(e,n))return et(e),!0;if(ce[n]||!(ue.tagCheck instanceof Function&&ue.tagCheck(n))&&!B[n])return mt(e,n);if((y?y(e):e.nodeType)===Ha.element&&!$e(e)||(n===`noscript`||n===`noembed`||n===`noframes`)&&sa(Ba,e.innerHTML))return et(e),!0;if(he&&e.nodeType===Ha.text){let n=st(e.textContent);e.textContent!==n&&(Ki(t.removed,{element:e.cloneNode()}),e.textContent=n)}return ft(I.afterSanitizeElements,e,null),!1},Z=function(e,t,r){if(le[t]||W&&(t===`id`||t===`name`)&&(r in n||r in Ge))return!1;let i=V[t]||ue.attributeCheck instanceof Function&&ue.attributeCheck(t,e);if(!(fe&&sa(ee,t))&&!(de&&sa(te,t))){if(!i){if(!(_t(e)&&(H.tagNameCheck instanceof RegExp&&sa(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&sa(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t,e))||t===`is`&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&sa(H.tagNameCheck,r)||H.tagNameCheck instanceof Function&&H.tagNameCheck(r))))return!1}else if(!Ae[t]&&!sa(ae,Qi(r,re,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&$i(r,`data:`)===0&&q[e])&&!(pe&&!sa(ne,Qi(r,re,``)))&&r)return!1}return!0},gt=da({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),_t=function(e){return!gt[Yi(e)]&&sa(ie,e)},vt=function(e,t,n,r){if(x&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return D(r);case`TrustedScriptURL`:return O(r)}return r},yt=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),lt(e)?et(e):Gi(t.removed)}catch{nt(n,e)}},bt=function(e){ft(I.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||lt(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:V,forceKeepAttr:void 0},r=t.length,i=Ue(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=Ue(o),u=c,d=o===`value`?u:ea(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,ft(I.uponSanitizeAttribute,e,n),d=n.attrValue,we&&(l===`id`||l===`name`)&&$i(d,Te)!==0&&(nt(o,e),d=Te+d),ge&&sa(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){nt(o,e);continue}if(l===`attributename`&&Zi(d,`href`)){nt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){nt(o,e);continue}if(!me&&sa(Va,d)){nt(o,e);continue}if(he&&(d=st(d)),!Z(i,l,d)){nt(o,e);continue}d=vt(i,l,s,d),d!==u&&yt(e,o,s,d)}}ft(I.afterSanitizeAttributes,e,null)},Q=function(e){let t=null,n=ot(e);for(ft(I.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(ft(I.uponSanitizeShadowNode,t,null),ht(t),bt(t),ut(t.content)&&Q(t.content),(y?y(t):t.nodeType)===Ha.element){let e=_(t);ut(e)&&($(e),Q(e))}ft(I.afterSanitizeShadowDOM,e,null)},$=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Q(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===Ha.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=b?b(n):null;if(typeof e==`string`&&Ue(e)===`template`){let e=n.content;ut(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);ut(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Pe=!e,Pe&&(e=`<!-->`),typeof e!=`string`&&!dt(e)&&(e=ma(e),typeof e!=`string`))throw ca(`dirty is not a string, aborting`);if(!t.isSupported)return e;ve?(B=U,V=ye):qe(n),(I.uponSanitizeElement.length>0||I.uponSanitizeAttribute.length>0)&&(B=pa(B)),I.uponSanitizeAttribute.length>0&&(V=pa(V)),t.removed=[];let c=G&&typeof e!=`string`&&dt(e);if(c){let t=b?b(e):e.nodeName;if(typeof t==`string`){let e=Ue(t);if(!B[e]||ce[e])throw ca(`root node is forbidden and cannot be sanitized in-place`)}if(lt(e))throw ca(`root node is clobbered and cannot be sanitized in-place`);try{$(e)}catch(t){throw tt(e),t}}else if(dt(e))i=at(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===Ha.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),$(a);else{if(!xe&&!he&&!_e&&e.indexOf(`<`)===-1)return x&&Ce?D(e):e;if(i=at(e),!i)return xe?null:Ce?S:``}i&&be&&et(i.firstChild);let l=ot(c?e:i);try{for(;o=l.nextNode();)ht(o),bt(o),ut(o.content)&&Q(o.content)}catch(t){throw c&&tt(e),t}if(c)return Ui(t.removed,e=>{e.element&&it(e.element)}),he&&ct(e),e;if(xe){if(he&&ct(i),Se)for(s=N.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(V.shadowroot||V.shadowrootmode)&&(s=F.call(r,s,!0)),s}let u=_e?i.outerHTML:i.innerHTML;return _e&&B[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&sa(Ia,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
6
6
  `+u),he&&(u=st(u)),x&&Ce?D(u):u},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qe(e),ve=!0,U=B,ye=V},t.clearConfig=function(){We=null,ve=!1,U=null,ye=null,x=C,S=``},t.isValidAttribute=function(e,t,n){We||qe({});let r=Ue(e),i=Ue(t);return Z(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&aa(I,e)&&Ki(I[e],t)},t.removeHook=function(e,t){if(aa(I,e)){if(t!==void 0){let n=Wi(I[e],t);return n===-1?void 0:qi(I[e],n,1)[0]}return Gi(I[e])}},t.removeHooks=function(e){aa(I,e)&&(I[e]=[])},t.removeAllHooks=function(){I=Ga()},t}var Ja=qa(),Ya=o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},F={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},L=I(`//`,`$`),R=I(`/\\*`,`\\*/`),z=I(`#`,`$`),ee=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:I,C_BLOCK_COMMENT_MODE:R,C_LINE_COMMENT_MODE:L,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:z,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:F,QUOTE_STRING_MODE:P,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function te(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function ne(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function re(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=te,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ie(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function ae(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function B(e,t){e.relevance===void 0&&(e.relevance=1)}var oe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},V=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],se=`keyword`;function H(e,t,n=se){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,H(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,ce(n[0],n[1])]})}}function ce(e,t){return t?Number(t):+!le(e)}function le(e){return V.includes(e.toLowerCase())}var ue={},de=e=>{console.error(e)},fe=(e,...t)=>{console.log(`WARN: ${e}`,...t)},pe=(e,t)=>{ue[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ue[`${e}/${t}`]=!0)},me=Error();function he(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function ge(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw de(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),me;if(typeof e.beginScope!=`object`||e.beginScope===null)throw de(`beginScope must be object`),me;he(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function _e(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw de(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),me;if(typeof e.endScope!=`object`||e.endScope===null)throw de(`endScope must be object`),me;he(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function ve(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function U(e){ve(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),ge(e),_e(e)}function ye(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[ne,ae,U,oe].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[re,ie,B].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=H(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return xe(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function be(e){return e?e.endsWithParent||be(e.starts):!1}function xe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:be(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var Se=`11.11.1`,Ce=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},W=i,we=a,Te=Symbol(`nomatch`),Ee=7,G=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(fe(s.replace(`{}`,n[1])),fe(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(pe(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),pe(`10.7.0`,`Please use highlight(code, options) instead.
7
7
  https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};z(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,z(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Ee&&(F+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(F+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(R=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return Te;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(F+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==Te)return e}if(r.type===`illegal`&&a===``)return P+=`
@@ -66,7 +66,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
66
66
  `).length}function el(e){if(e.kind===`user`)return e.text;if(e.kind===`assistant`)return e.blocks.filter(e=>e.kind===`text`).map(e=>e.text).join(`
67
67
  `)}function tl(e){return e.match(/^\/skill:([\w-]+)/)?.[1]}function nl(e){if(e.status===`running`){let t=Math.floor((Date.now()-e.startedAt)/1e3);return{text:`● running${t>2?` ${t}s`:``}`,cls:`running`}}return e.status===`error`?{text:`✕ error`,cls:`error`}:{text:`done`,cls:``}}var rl=new Set([`subagent`,`skill`,`web_fetch`]);function il(e){let t=e.args;if(!t||typeof t!=`object`)return[];switch(e.toolName){case`bash`:case`bash (user)`:return[];case`read`:case`ls`:case`edit`:return[];case`suggest_next`:return[];case`write`:return e.resultText&&typeof t.content==`string`?[{label:`content`,text:String(t.content),language:Jc(Yc(t))}]:[];case`subagent`:{let e=[];return typeof t.task==`string`&&e.push({label:`task`,text:t.task,markdown:!0}),Array.isArray(t.tasks)&&t.tasks.forEach((t,n)=>{typeof t?.task==`string`&&e.push({label:`task ${n+1}${t.agent?` (${t.agent})`:``}`,text:t.task,markdown:!0})}),Array.isArray(t.chain)&&t.chain.forEach((t,n)=>{typeof t?.task==`string`&&e.push({label:`step ${n+1}${t.agent?` (${t.agent})`:``}`,text:t.task,markdown:!0})}),e}default:{let e=[];for(let[n,r]of Object.entries(t)){let t=typeof r==`string`?r:JSON.stringify(r,null,2);t&&t.length>80&&e.push({label:n,text:t})}return e}}}function al(e){return(()=>{var t=fc();return X(t,W(G,{get each(){return e.text.split(`
68
68
  `)},children:e=>[(()=>{var t=pc();return X(t,e),j(n=>{var r=!!e.startsWith(`+`),i=!!e.startsWith(`-`);return r!==n.e&&t.classList.toggle(`diff-add`,n.e=r),i!==n.t&&t.classList.toggle(`diff-del`,n.t=i),n},{e:void 0,t:void 0}),t})(),`
69
- `]})),t})()}function ol(e){if(e.toolName!==`edit`)return;let t=e.details?.diff;return typeof t==`string`?t:void 0}var sl=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`]),cl=/^[0-9a-f]{64}$/,ll=1024*1024;function ul(e){return e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.ceil(e/1024)} KB`:`${e} B`}var dl={alt:`Tool result`,originalAriaLabel:`Original tool-result image`,enlargedAlt:`Enlarged tool-result preview`},fl={alt:`Uploaded image`,originalAriaLabel:`Original uploaded image`,enlargedAlt:`Enlarged uploaded-image preview`};function pl(e){let[t,n]=k(),[r,i]=k(),[a,o]=k(),[s,c]=k(!1),l=t=>bt(e.scope.runtimeKey,e.image.id,t,e.scope.agentId),u=e=>{let t=l(e);if(!t){o(`Invalid image reference`);return}o(void 0),i(e),n(t)};M(()=>{let e=Dn();c(!1),o(void 0),e===`previews`?u(`preview`):e===`originals`?u(`original`):(n(void 0),i(void 0))});let d=()=>{e.image.size>ll&&!window.confirm(`Load the ${ul(e.image.size)} original image? This may use significant data.`)||u(`original`)},f=e=>{e.key===`Escape`&&c(!1)};return R(()=>window.addEventListener(`keydown`,f)),z(()=>window.removeEventListener(`keydown`,f)),(()=>{var l=gc(),f=l.firstChild,p=f.firstChild,m=p.firstChild;return X(l,W(K,{get when(){return t()},get fallback(){return(()=>{var t=_c(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(n,()=>e.image.mimeType.replace(`image/`,``).toUpperCase(),r),X(n,()=>ul(e.image.size),null),i.$$click=()=>u(`preview`),X(i,()=>a()?`retry preview`:`load preview`),t})()},children:t=>(()=>{var a=vc(),s=a.firstChild;return a.$$click=()=>r()===`preview`&&c(!0),s.addEventListener(`error`,()=>{o(`Could not load ${r()??`image`}`),n(void 0),i(void 0)}),j(n=>{var i=r()!==`preview`,o=r()===`preview`?`Enlarge image preview`:e.labels.originalAriaLabel,c=e.labels.alt,l=t();return i!==n.e&&(a.disabled=n.e=i),o!==n.t&&Y(a,`aria-label`,n.t=o),c!==n.a&&Y(s,`alt`,n.a=c),l!==n.o&&Y(s,`src`,n.o=l),n},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),f),X(p,()=>e.image.mimeType.replace(`image/`,``).toUpperCase(),m),X(p,()=>ul(e.image.size),null),X(f,W(K,{get when(){return r()!==`original`},get children(){var t=mc();return t.firstChild,t.$$click=d,X(t,()=>ul(e.image.size),null),t}}),null),X(l,W(K,{get when(){return a()},children:e=>(()=>{var t=yc();return X(t,e),t})()}),null),X(l,W(K,{get when(){return q(()=>!!(s()&&r()===`preview`))()&&t()},get children(){var n=hc(),r=n.firstChild,i=r.nextSibling.firstChild,a=i.nextSibling;return r.$$click=()=>c(!1),a.$$click=()=>c(!1),j(n=>{var r=t(),a=e.labels.enlargedAlt;return r!==n.e&&Y(i,`src`,n.e=r),a!==n.t&&Y(i,`alt`,n.t=a),n},{e:void 0,t:void 0}),n}}),null),l})()}function ml(e){let t=()=>e.images.filter(e=>sl.has(e.mimeType)&&cl.test(e.id)&&Number.isSafeInteger(e.size)&&e.size>0);return W(K,{get when(){return t().length>0},get children(){var n=bc();return X(n,W(G,{get each(){return t()},children:t=>W(pl,{image:t,get scope(){return e.scope},get labels(){return e.labels}})})),n}})}function hl(e){let[t,n]=k(!1),r=()=>e.text.length>Uc;M(()=>{r()||n(!1)});let i=()=>r()&&!t()?e.text.slice(-204800):e.text;return[W(K,{get when(){return q(()=>!!r())()&&!t()},get children(){var t=xc(),r=t.firstChild.nextSibling,i=r.nextSibling.nextSibling,a=i.nextSibling.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,X(t,()=>Kc(Uc),r),X(t,()=>Kc(e.text.length),i),a.$$click=()=>n(!0),X(a,()=>Kc(e.text.length),o),t}}),W(K,{get when(){return e.markdown},get fallback(){return W(Zc,{get text(){return i()},get language(){return e.language},get autoScroll(){return e.autoScroll},get throttle(){return e.throttle}})},get children(){return W(qc,{get text(){return i()},get throttle(){return e.throttle}})}})]}function gl(e){let t=()=>nl(e.entry),n=()=>e.entry.args,r=()=>{if(e.entry.toolName===`suggest_next`)return e.entry.details},i=()=>ol(e.entry),a=()=>e.entry.toolName===`write`&&!e.entry.resultText&&typeof n()?.content==`string`?String(n()?.content):e.entry.resultText,o=()=>{if(e.entry.toolName===`read`||e.entry.toolName===`write`&&!e.entry.resultText)return Jc(Yc(n()))},s=()=>rl.has(e.entry.toolName)&&e.entry.status!==`error`,c=()=>e.entry.toolName===`bash`||e.entry.toolName===`bash (user)`,l=()=>il(e.entry),u=()=>Nn(e.entry.toolName),d=e.entry.toolName!==`ask_user`,[f,p]=k(u()||e.entry.status===`running`&&d),m=e.entry.status===`running`,h=!1,g=!1,_,v=e=>{f()!==e&&(g=!0,p(e),_&&clearTimeout(_),_=setTimeout(()=>{g=!1,_=void 0},0))};return M(()=>{let t=e.entry.status===`running`,n=u();t&&d?(h=!1,v(!0)):m?(h=!1,v(n)):h||v(n),m=t}),z(()=>{_&&clearTimeout(_)}),(()=>{var u=wc(),m=u.firstChild.firstChild,v=m.nextSibling,y=v.nextSibling;return u.addEventListener(`toggle`,t=>{let n=t.currentTarget.open;if(g){p(n);return}if(e.entry.status===`running`&&d&&!n){g=!0,t.currentTarget.open=!0,p(!0),_&&clearTimeout(_),_=setTimeout(()=>{g=!1,_=void 0},0);return}h=!0,p(n)}),X(m,()=>e.entry.toolName),X(v,()=>Qc(e.entry)),X(y,()=>t().text),X(u,W(K,{get when(){return f()},get children(){return[W(K,{get when(){return e.entry.toolName===`bash`||e.entry.toolName===`bash (user)`},get children(){var e=Sc(),t=e.firstChild;return X(t,()=>String(n()?.command??``)),e}}),W(G,{get each(){return l()},children:e=>(()=>{var t=Tc(),n=t.firstChild;return X(n,()=>e.label),X(t,W(K,{get when(){return e.markdown},get fallback(){return W(Zc,{get text(){return e.text},get language(){return e.language}})},get children(){return W(qc,{get text(){return e.text}})}}),null),t})()}),W(K,{get when(){return e.entry.images?.length},get children(){var t=Cc();return X(t,W(ml,{get images(){return e.entry.images},get scope(){return e.imageScope},labels:dl})),t}}),W(De,{get children(){return[W(Oe,{get when(){return r()},children:e=>(()=>{var t=Ec(),n=t.firstChild,r=n.firstChild.nextSibling;return X(t,W(K,{get when(){return e().summary},get children(){return W(qc,{get text(){return e().summary}})}}),n),X(r,()=>e().suggestion),t})()}),W(Oe,{get when(){return i()},children:e=>(()=>{var t=Cc();return X(t,W(al,{get text(){return e()}})),t})()}),W(Oe,{get when(){return a()},children:t=>(()=>{var n=Cc();return X(n,W(hl,{get text(){return t()},get language(){return o()},get markdown(){return s()},get autoScroll(){return c()},get throttle(){return e.entry.status===`running`}})),n})()})]}})]}}),null),j(e=>{var n=f(),r=`tool-status ${t().cls}`;return n!==e.e&&(u.open=e.e=n),r!==e.t&&Ne(y,e.t=r),e},{e:void 0,t:void 0}),u})()}function _l(e){let[t,n]=k(`idle`);async function r(){if(e.text){try{await navigator.clipboard.writeText(e.text),n(`copied`)}catch{n(`failed`)}setTimeout(()=>n(`idle`),1200)}}return(()=>{var n=Dc();return n.$$click=r,X(n,(()=>{var e=q(()=>t()===`copied`);return()=>e()?`copied`:t()===`failed`?`copy failed`:`copy`})()),j(()=>n.disabled=!e.text),n})()}function vl(e){let t=()=>e.entry.blocks.filter(t=>e.entry.streaming||e.entry.stopReason!==`error`||t.kind!==`thinking`||t.text.trim().length>0);return(()=>{var n=Ac(),r=n.firstChild,i=r.firstChild;return X(i,()=>e.who),X(r,W(K,{get when(){return e.entry.model},get children(){return[Oc(),(()=>{var t=pc();return X(t,()=>e.entry.model),t})()]}}),null),X(r,W(K,{get when(){return e.entry.streaming},get children(){return[Oc(),kc()]}}),null),X(r,W(_l,{get text(){return el(e.entry)}}),null),X(n,W(G,{get each(){return t()},children:(n,r)=>W(K,{get when(){return n.kind===`thinking`},get fallback(){return(()=>{var i=Mc();return X(i,W(qc,{get text(){return n.text},get classList(){return{"streaming-cursor":e.entry.streaming&&r()===t().length-1}},get throttle(){return e.entry.streaming}})),i})()},get children(){var t=jc();return t.firstChild,X(t,W(qc,{get text(){return n.text},class:`thinking-body markdown-body`,get throttle(){return e.entry.streaming}}),null),j(()=>t.open=En()),t}})}),null),X(n,W(K,{get when(){return q(()=>e.entry.stopReason===`error`)()&&e.entry.errorMessage},children:e=>(()=>{var t=Nc();return t.firstChild,X(t,e,null),t})()}),null),n})()}function yl(e,t){return e?.kind===`entry`&&e.entry===t}function bl(e){let[t,n]=k(e);return{kind:`assistant-turn`,lead:e[0],entries:t,setEntries:n}}function xl(e,t=[]){let n=[],r=0;for(;r<e.length;){let i=e[r];if(i?.kind===`assistant`){let a=[i];for(r+=1;e[r]?.kind===`tool`;)a.push(e[r]),r+=1;let o=t[n.length];if(o?.kind===`assistant-turn`&&o.lead===i){let e=L(o.entries);(e.length!==a.length||a.some((t,n)=>t!==e[n]))&&o.setEntries(a),n.push(o)}else n.push(bl(a));continue}if(i){let e=t[n.length];n.push(yl(e,i)?e:{kind:`entry`,entry:i})}r+=1}return n}function Sl(e){return W(De,{get children(){return[W(Oe,{get when(){return e.entry.kind===`user`},get children(){var t=Pc(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(n,W(K,{get when(){return tl(e.entry.text)},children:e=>(()=>{var t=Lc();return t.firstChild,X(t,e,null),t})()}),r),X(n,W(_l,{get text(){return el(e.entry)}}),r),X(r,()=>e.userLabel),X(i,()=>e.entry.text),X(t,W(K,{get when(){return e.entry.images?.length},get children(){return W(ml,{get images(){return e.entry.images},get scope(){return e.imageScope},labels:fl})}}),null),t}}),W(Oe,{get when(){return e.entry.kind===`agent-result`},get children(){return W(Cl,{get entry(){return e.entry}})}}),W(Oe,{get when(){return e.entry.kind===`assistant`},get children(){return W(vl,{get entry(){return e.entry},get who(){return e.who}})}}),W(Oe,{get when(){return e.entry.kind===`tool`},get children(){return W(gl,{get entry(){return e.entry},get imageScope(){return e.imageScope}})}}),W(Oe,{get when(){return e.entry.kind===`summary`},get children(){var t=Fc(),n=t.firstChild.firstChild,r=n.nextSibling;return X(n,()=>e.entry.label===`compaction`?`context compacted`:`branch summary`,null),X(n,W(K,{get when(){return e.entry.tokensBefore},get children(){return[` `,`— `,q(()=>e.entry.tokensBefore.toLocaleString()),` tokens summarized`]}}),null),X(r,()=>e.entry.text),t}}),W(Oe,{get when(){return e.entry.kind===`custom`},get children(){var t=Ic(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(r,()=>e.entry.tag),X(i,()=>e.entry.text),t}})]}})}function Cl(e){return(()=>{var t=zc(),n=t.firstChild,r=n.firstChild;return r.firstChild,X(r,W(K,{get when(){return e.entry.header},get children(){var t=Rc();return X(t,()=>e.entry.header),t}}),null),X(n,W(qc,{get text(){return e.entry.text},class:`entry-body markdown-body`}),null),t})()}function wl(e){let t=()=>e.who??`dreb`,n=()=>e.userLabel??`you`,r=()=>e.imageScope??{runtimeKey:``},i=N(t=>xl(e.entries,t)),[a,o]=k(150),s;M(()=>{let t=e.resetKey??e.entries;t!==s&&(s=t,o(150))});let c=N(()=>{let e=i(),t=a();return e.length>t?e.slice(-t):e}),l=()=>Math.max(0,i().length-c().length);return[W(K,{get when(){return l()>0},get children(){var e=Bc(),t=e.firstChild,n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling;return r.nextSibling,t.$$click=()=>o(Math.min(i().length,a()+150)),X(t,()=>Math.min(150,l()),n),X(t,l,r),e}}),W(G,{get each(){return c()},children:e=>W(De,{get children(){return[W(Oe,{get when(){return e.kind===`assistant-turn`},get children(){var i=Vc();return X(i,W(G,{get each(){return e.entries()},children:e=>W(Sl,{entry:e,get who(){return t()},get userLabel(){return n()},get imageScope(){return r()}})})),i}}),W(Oe,{get when(){return e.kind===`entry`},get children(){return W(Sl,{get entry(){return e.entry},get who(){return t()},get userLabel(){return n()},get imageScope(){return r()}})}})]}})})]}Me([`click`]);var Tl=J(`<p class=settings-error>`),El=J(`<p class=settings-success>`),Dl=J(`<button type=button class=memory-nav-item><span>MEMORY.md</span><small>complete editable index`),Ol=J(`<div class=context-trust-warning><strong>Complete index warning:</strong> MEMORY.md is over 200 lines. The dashboard shows the full file for repair, while the agent prompt may only load the indexed prefix.`),kl=J(`<div class=screen-fill><main class="container memories-screen"><div class=memories-head><div><h1>Memories</h1><p class=scope-note>Edit dreb memory only: global ~/.dreb/memory plus known project .dreb/memory scopes. Claude memory paths are never included.</p></div><button type=button class=btn>refresh</button></div><div class=memories-layout><aside class=memories-sidebar><section class=memory-panel><h2>Scopes</h2></section><section class=memory-panel><h2>Documents</h2></section></aside><section class=memory-editor>`),Al=J(`<p class=muted>loading scopes…`),jl=J(`<p class=muted>No active dreb memory scopes.`),Ml=J(`<button type=button class=memory-nav-item><span></span><small>`),Nl=J(`<p class=muted>loading documents…`),Pl=J(`<p class=muted>Memory directory is missing; nothing to edit.`),Fl=J(`<p class=muted>MEMORY.md index missing.`),Il=J(`<p class=muted>No memory entries.`),Ll=J(`<output class=memory-loading>loading selected memory…`),Rl=J(`<p class=muted>Select an existing memory document.`),zl=J(`<button type=button class="btn btn-danger">delete entry`),Bl=J(`<div class=memory-doc-head><div><h2></h2><p class=scope-note> · revision </p></div><div class=head-actions><button type=button class=btn>reload`),Vl=J(`<p class=settings-error>Metadata error: `),Hl=J(`<div class=memory-edit-actions><button type=button class="btn btn-primary"></button><button type=button class=btn>revert draft</button><span class=muted>`),Ul=J(`<textarea class=memory-textarea>`),Wl=J(`<details class=memory-preview open><summary>preview`),Gl=J(`<div class=memory-metadata><strong></strong><span></span><span>`),Kl=J(`<p>This deletes the entry file and first removes matching <code>[…](<!>)</code> or <code>[…](./<!>)</code> lines from MEMORY.md. If the index changed, deletion will fail with a conflict instead of leaving a dangling link.`),ql=J(`<button type=button class=btn>cancel`),Jl=J(`<button type=button class="btn btn-danger">`),Yl=`MEMORY.md`;function Xl(e){return e.metadata?`${e.metadata.name} · ${e.metadata.type}`:e.metadataError?`metadata error: ${e.metadataError}`:`metadata unavailable`}function Zl(e,t){return e?e.kind===`index`?`MEMORY.md index`:e.metadata?.name??e.file:t??`memory`}function Ql(e){if(e)return e.indexContent===null?e.entries[0]?.file:Yl}function $l(e,t){if(!e||!t)return;let n;try{n=decodeURIComponent(e)}catch{return}if(n.startsWith(`./`)&&(n=n.slice(2)),!(!n||n.includes(`/`)||n.includes(`\\`)||n.includes(`?`)||n.includes(`#`)))return t.entries.some(e=>e.file===n)?n:void 0}function eu(e){let[t,n]=k(),[r,i]=k(),[a,o]=k(),[s,c]=k(),[l,u]=k(``),[d,f]=k(!1),[p,m]=k(!1),[h,g]=k(),[_,{refetch:v}]=F(async()=>{try{return(await Q.memoryScopes()).scopes}catch(e){return o(e instanceof Error?e.message:String(e)),[]}});M(()=>{let e=_();if(!e?.length)return;let r=t();(!r||!e.some(e=>e.id===r))&&n(e[0].id)});let[y,{mutate:b,refetch:x}]=F(()=>t(),async e=>{o(void 0),c(void 0);try{return await Q.memoryListing(e)}catch(e){o(e instanceof Error?e.message:String(e));return}});M(()=>{let e=y();if(!e)return;let t=r(),n=new Set([...e.indexContent===null?[]:[Yl],...e.entries.map(e=>e.file)]);(!t||!n.has(t))&&i(Ql(e))});let[S,{mutate:C,refetch:w}]=F(()=>{let e=t(),n=r();return e&&n?{scopeId:e,file:n}:void 0},async e=>{o(void 0),c(void 0);try{return await Q.memoryDocument(e.scopeId,e.file)}catch(e){o(e instanceof Error?e.message:String(e));return}});M(()=>{let e=S();!e||d()||u(e.content)});function T(e){t()!==e.id&&I(()=>{i(void 0),n(e.id),C(void 0),f(!1),u(``)})}function E(e){r()!==e&&(i(e),C(void 0),f(!1),u(``))}function D(e){let t=e.target?.closest(`a`);if(!(t instanceof HTMLAnchorElement))return;let n=$l(t.getAttribute(`href`),y());n&&(e.preventDefault(),E(n))}async function O(){await v(),await x(),r()&&await w()}async function A(){let e=t(),n=S();if(!(!e||!n)){m(!0),o(void 0),c(void 0);try{let t=await Q.saveMemoryDocument(e,n.file,l(),n.revision);b(t.listing),t.document&&C(t.document),u(t.document?.content??l()),f(!1),c(`saved`)}catch(e){o(e?.status===409?`${e.message} Your draft is still here.`:e instanceof Error?e.message:String(e))}finally{m(!1)}}}async function N(){let e=t(),n=h(),r=y();if(!(!e||!n||n.kind!==`entry`||!r)){m(!0),o(void 0),c(void 0);try{let t=await Q.deleteMemoryEntry(e,n.file,n.revision,r.indexRevision);b(t.listing),C(void 0),g(void 0),i(Ql(t.listing)),f(!1),u(``),c(`deleted ${n.file}; index links cleaned up`)}catch(e){o(e instanceof Error?e.message:String(e))}finally{m(!1)}}}return(()=>{var n=kl(),i=n.firstChild,o=i.firstChild,c=o.firstChild.nextSibling,m=o.nextSibling,v=m.firstChild,b=v.firstChild;b.firstChild;var x=b.nextSibling;x.firstChild;var C=v.nextSibling;return X(n,W(ct,{get store(){return e.store},active:`memories`}),i),c.$$click=()=>void O(),X(i,W(K,{get when(){return a()},get children(){var e=Tl();return X(e,a),e}}),m),X(i,W(K,{get when(){return s()},get children(){var e=El();return X(e,s),e}}),m),X(b,W(K,{get when(){return!_.loading},get fallback(){return Al()},get children(){return W(K,{get when(){return(_()??[]).length>0},get fallback(){return jl()},get children(){return W(G,{get each(){return _()??[]},children:e=>(()=>{var n=Ml(),r=n.firstChild,i=r.nextSibling;return n.$$click=()=>T(e),X(r,(()=>{var t=q(()=>e.kind===`global`);return()=>t()?`global`:e.label})()),X(i,(()=>{var t=q(()=>!!e.exists);return()=>t()?e.memoryDir:`${e.memoryDir} (missing)`})()),j(()=>n.classList.toggle(`active`,t()===e.id)),n})()})}})}}),null),X(x,W(K,{get when(){return!y.loading},get fallback(){return Nl()},get children(){return W(K,{get when(){return y()?.scope.exists},get fallback(){return Pl()},get children(){return[W(K,{get when(){return y()?.indexContent!==null},get fallback(){return Fl()},get children(){var e=Dl();return e.$$click=()=>E(Yl),j(()=>e.classList.toggle(`active`,r()===Yl)),e}}),W(K,{get when(){return(y()?.entries.length??0)>0},get fallback(){return Il()},get children(){return W(G,{get each(){return y()?.entries??[]},children:e=>(()=>{var t=Ml(),n=t.firstChild,i=n.nextSibling;return t.$$click=()=>E(e.file),X(n,()=>e.file),X(i,()=>Xl(e)),j(n=>{var i=r()===e.file,a=!!e.metadataError;return i!==n.e&&t.classList.toggle(`active`,n.e=i),a!==n.t&&t.classList.toggle(`error`,n.t=a),n},{e:void 0,t:void 0}),t})()})}})]}})}}),null),X(C,W(K,{get when(){return q(()=>!y.loading)()&&!S.loading},get fallback(){return Ll()},get children(){return[W(K,{get when(){return y()?.indexOverLimit},get children(){return Ol()}}),W(K,{get when(){return S()},get fallback(){return Rl()},children:e=>[(()=>{var t=Bl(),n=t.firstChild,i=n.firstChild,a=i.nextSibling,o=a.firstChild,s=n.nextSibling,c=s.firstChild;return X(i,()=>Zl(e(),r())),X(a,()=>e().file,o),X(a,()=>e().revision.slice(0,12),null),c.$$click=()=>void w(),X(s,W(K,{get when(){return e().kind===`entry`},get children(){var t=zl();return t.$$click=()=>g(e()),t}}),null),j(()=>c.disabled=S.loading),t})(),W(K,{get when(){return e().metadata},children:e=>(()=>{var t=Gl(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return X(n,()=>e().name),X(r,()=>e().type),X(i,()=>e().description),t})()}),W(K,{get when(){return e().metadataError},get children(){var t=Vl();return t.firstChild,X(t,()=>e().metadataError,null),t}}),(()=>{var t=Hl(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return n.$$click=()=>void A(),X(n,()=>p()?`saving…`:`save`),r.$$click=()=>{u(e().content),f(!1)},X(i,()=>d()?`unsaved draft`:`saved revision loaded`),j(e=>{var t=!d()||p(),i=!d()||p();return t!==e.e&&(n.disabled=e.e=t),i!==e.t&&(r.disabled=e.t=i),e},{e:void 0,t:void 0}),t})(),(()=>{var t=Ul();return t.$$input=t=>{u(t.currentTarget.value),f(t.currentTarget.value!==e().content)},j(()=>t.value=l()),t})(),(()=>{var e=Wl();return e.firstChild,e.$$keydown=e=>{e.key===`Enter`&&D(e)},e.$$click=D,X(e,W(qc,{get text(){return l()},throttle:!0}),null),e})()]})]}})),X(i,W(K,{get when(){return h()},children:e=>W(ut,{get title(){return`Delete ${e().file}?`},onDismiss:()=>g(void 0),get actions(){return[(()=>{var e=ql();return e.$$click=()=>g(void 0),e})(),(()=>{var e=Jl();return e.$$click=()=>void N(),X(e,()=>p()?`deleting…`:`delete entry`),j(()=>e.disabled=p()),e})()]},get children(){var t=Kl(),n=t.firstChild.nextSibling,r=n.firstChild.nextSibling;r.nextSibling;var i=n.nextSibling.nextSibling,a=i.firstChild.nextSibling;return a.nextSibling,X(n,()=>e().file,r),X(i,()=>e().file,a),t}})}),null),j(e=>{var t=_.loading||y.loading,n=y.loading||S.loading;return t!==e.e&&(c.disabled=e.e=t),n!==e.t&&Y(C,`aria-busy`,e.t=n),e},{e:void 0,t:void 0}),n})()}Me([`click`,`input`,`keydown`]);var tu=J(`<p class=pair-error>`),nu=J(`<main class=pair-card><span class=wordmark>dreb</span><h1>pair this device</h1><p class=sub>First login from a new device needs the current pairing code.</p><div class=identity><span class=row-line><span class=k>tailscale identity</span><span></span></span><span class=row-line><span class=k>allowlist</span><span class="chip chip-running"style=align-self:flex-end><span class=dot>●</span> allowed</span></span></div><div class=field><label for=pairing-pin>6-digit code</label><input id=pairing-pin class=pin-input type=text inputmode=numeric maxlength=6 autocomplete=one-time-code></div><p class=pin-hint>The code is shown in the dashboard <strong>Settings tab on the host machine</strong>. It rotates every 30 seconds.</p><div class=pair-actions><button type=button class="btn btn-primary"></button></div><div class=security-note><p><strong>Why a PIN?</strong> Your network identity got you here, but identity alone doesn't grant control. The code proves you can see the host machine's local dashboard — so a stolen or shared allowlist entry can't quietly gain access.</p><p><strong>What pairing grants.</strong> This browser gets a signed cookie for this host. It can chat with agents, run commands through them, browse the host's files, and upload/download — the same power as sitting at the terminal. Unpair anytime from settings → devices.`),ru=J(`<div class=pair-wrap>`),iu=J(`<p class="muted small">rejected identity: `),au=J(`<main class=denied-card><span class=wordmark>dreb</span><h1>access denied</h1><p></p><p class="muted small">If this device should have access, add its Tailscale identity to the dashboard allowlist on the host and reload.`);function ou(e){let[t,n]=k(``),[r,i]=k(),[a,o]=k(!1),s=()=>e.store.auth(),c=()=>s()?.error&&!s()?.needsPairing,l=()=>typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 700px)`).matches;async function u(){o(!0),i(void 0);try{await Q.pair(t()),await e.store.start(),e.store.navigate({screen:`fleet`})}catch(e){i(e instanceof Error?e.message:String(e))}finally{o(!1)}}return(()=>{var e=ru();return X(e,W(K,{get when(){return!c()},get fallback(){return(()=>{var e=au(),t=e.firstChild.nextSibling.nextSibling,n=t.nextSibling;return X(t,()=>s()?.error),X(e,W(K,{get when(){return s()?.identity},get children(){var e=iu();return e.firstChild,X(e,()=>s().identity,null),e}}),n),e})()},get children(){var e=nu(),i=e.firstChild.nextSibling.nextSibling.nextSibling,o=i.firstChild,c=o.firstChild.nextSibling;o.nextSibling.firstChild.nextSibling;var d=i.nextSibling,f=d.firstChild.nextSibling,p=d.nextSibling.nextSibling,m=p.firstChild;return X(c,()=>s()?.identity??`unknown`),f.$$keydown=e=>{e.key===`Enter`&&t().length===6&&!l()&&u()},f.$$input=e=>n(e.currentTarget.value.replace(/\D/g,``).slice(0,6)),X(e,W(K,{get when(){return r()},get children(){var e=tu();return X(e,r),e}}),p),m.$$click=u,X(m,()=>a()?`pairing…`:`pair device`),j(()=>m.disabled=t().length!==6||a()),j(()=>f.value=t()),e}})),e})()}Me([`input`,`keydown`,`click`]);function su(e,t){let n=e.trim(),r=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(n);if(!r)return;let i=t.find(e=>e.source===`builtin`&&e.name===r[1]);if(i)return{command:i,args:(r[2]??``).trim()}}async function cu(e,t,n){let r=t[e.command.name];if(r){await r(e.args);return}if(e.command.dashboard===!1){n(`/${e.command.name} is available only in the terminal UI.`);return}n(`/${e.command.name} isn't implemented in the dashboard yet — use the terminal UI.`)}function lu(e,t,n=8){let r=new Map;for(let t of e)(!r.get(t.name)||t.source===`builtin`)&&r.set(t.name,t);return[...r.values()].filter(e=>e.source!==`builtin`||e.dashboard!==!1).filter(e=>{let n=e.name.toLowerCase();return!t||n.startsWith(t)||n.includes(t)}).sort((e,n)=>{let r=e.name.toLowerCase(),i=n.name.toLowerCase();return(t?+!r.startsWith(t):+(e.source===`builtin`))-(t?+!i.startsWith(t):+(n.source===`builtin`))||e.name.localeCompare(n.name)}).slice(0,n)}function uu(e,t){return Math.max(120,Math.floor((e||800)*(t?.26:.4)))}function du(e){return typeof DOMException<`u`&&e instanceof DOMException&&e.name===`AbortError`?!0:typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var fu=new Map,pu=new Map;function mu(e){return pu.get(e)}function hu(e,t){pu.set(e,t)}function gu(e){return fu.get(e)??[]}function _u(e,t){let n=fu.get(e)??[];n.push(t),fu.set(e,n.slice(-100))}function vu(e){fu.delete(e),pu.delete(e)}var yu=J(`<p style=margin-bottom:12px>`),bu=J(`<div class=recent-projects>`),xu=J(`<div class=field><input type=text>`),Su=J(`<div class=field><textarea rows=8>`),Cu=J(`<button type=button class="btn btn-small">cancel`),wu=J(`<button type=button class="btn btn-small btn-primary">confirm`),Tu=J(`<button type=button class="btn btn-small btn-primary">submit`),Eu=J(`<button type=button>`),Du=J(`<h4 class=ask-question-title>`),Ou=J(`<fieldset class=ask-options><legend class=ask-options-legend>Answer options`),ku=J(`<textarea rows=5>`),Au=J(`<div class="field ask-custom-field"><label class=ask-custom-label>`),ju=J(`<div class=ask-actions><button type=button class="btn btn-small btn-danger"></button><button type=button class="btn btn-small btn-primary">submit`),Mu=J(`<div class=ask-question role=tabpanel>`),Nu=J(`<span class=ask-option-check>✔`),Pu=J(`<label class=ask-option><span class=ask-option-index></span><input><span class=ask-option-label>`),Fu=J(`<input type=text placeholder="Type a different answer…">`),Iu=J(`<span class=ask-wizard-countdown> (auto-stops in <!>s)`),Lu=J(`<div class=ask-tab-strip role=tablist aria-label=questions><button type=button role=tab class="ask-tab ask-tab-submit">Submit`),Ru=J(`<div class=ask-tab-panel><div class=ask-review role=tabpanel><ul class=ask-review-list></ul><div class=ask-actions><button type=button class="btn btn-small btn-danger"></button><button type=button class="btn btn-small btn-primary">Submit all`),zu=J(`<section class=ask-wizard><header class=ask-wizard-header><span class=ask-wizard-title>`),Bu=J(`<span class=ask-tab-check role=img aria-label=answered>✓`),Vu=J(`<button type=button role=tab class=ask-tab>. `),Hu=J(`<div class=ask-tab-panel>`),Uu=J(`<li class=ask-review-item><span class=ask-review-question>`),Wu=J(`<span class="ask-review-answer muted">(unanswered)`),Gu=J(`<span class=ask-review-answer>`),Ku=J(`<ul>`),qu=J(`<section class=context-section><h3>`),Ju=J(`<p class="muted small">none`),Yu=J(`<p class=pair-error>`),Xu=J(`<p class="muted small">loading…`),Zu=J(`<p class="muted small">system prompt: custom`),Qu=J(`<div class=context-modal-body>`),$u=J(`<li>`),ed=J(`<span class=muted> — `),td=J(`<li><span>`),nd=J(`<li><span></span><span class=muted> — `),rd=J(`<div class=model-scope-tabs role=tablist aria-label="model scope"><button type=button role=tab>scoped</button><button type=button role=tab>all`),id=J(`<div class=field style=margin-bottom:8px><input type=text placeholder="search models…">`),ad=J(`<div class="model-list session-model-list"style=max-height:320px>`),od=J(`<p class="muted small">No matching models.`),sd=J(`<section class=model-provider-group><div class=model-provider-heading>`),cd=J(`<span class=model-name>`),ld=J(`<span class=model-reasoning>think`),ud=J(`<button type=button class=model-row><span class=model-current></span><span class=model-id></span><span class=model-provider-badge>`),dd=J(`<div class=fork-message-list>`),fd=J(`<p class="muted small">`),pd=J(`<span class="muted small">current`),md=J(`<button type=button class=fork-message><span class=fork-entry-id></span><span>`),hd=J(`<button type=button class=fork-message><span></span><span class="muted small"> messages`),gd=J(`<p class="muted small">Replace the current session with a JSONL session file.`),_d=J(`<div class=field><input type=text placeholder=/path/to/session.jsonl>`),vd=J(`<button type=button class="btn btn-small btn-primary">import and replace`),yd=J(`<output class=switcher><span class=label>ctx</span> `),bd=J(`<div class="session-bar-inner session-controls"><button type=button class="switcher optional model-switcher"><span class=label>model</span> <span class=value></span></button><button type=button class="switcher optional"><span class=label>think</span> </button><button type=button class=switcher>⋯`),xd=J(`<button type=button class="btn btn-small">model: `),Sd=J(`<button type=button class="btn btn-small">think: `),Cd=J(`<div class=session-bar-inner style=justify-content:flex-end;gap:8px><a class="btn btn-small">export HTML</a><button type=button class="btn btn-small">compact now</button><button type=button class="btn btn-small">expand tools</button><button type=button class="btn btn-small">collapse tools</button><button type=button class="btn btn-small">rename</button><button type=button class="btn btn-small">fork</button><button type=button class="btn btn-small">loaded context</button><button type=button class="btn btn-small btn-danger">`),wd=J(`<span class=session-info-left>`),Td=J(`<span class=historical-cwd>original session: `),Ed=J(`<button type=button class="session-info-right stats-trigger">`),Dd=J(`<div class=stats-popover>`),Od=J(`<div class="session-bar-inner session-info-bar"><div class=session-summary-row>`),kd=J(`<span class=dock-collapsed-hint>`),Ad=J(`<details class=tasks><summary>tasks — <!> of <!> done</summary><ul>`),jd=J(`<details class="tasks subagents"><summary>subagents — <!> running · <!> done</summary><ul class=subagent-list>`),Md=J(`<span class=working>● working`),Nd=J(`<button type=button class="btn btn-small btn-danger">`),Pd=J(`<div class=status-line>`),Fd=J(`<div class=dock-panels>`),Id=J(`<div class=queued-message-row><button type=button class="btn btn-small">restore to composer`),Ld=J(`<div class=attachment-strip>`),Rd=J(`<div class=command-popover role=listbox id=command-listbox aria-label="slash commands">`),zd=J(`<span class=mode-toggle role=radiogroup aria-label="send mode"><button type=button title="Deliver now — injected into the running turn">steer</button><button type=button title="Queue — delivered after the agent finishes">follow-up`),Bd=J(`<button type=button class=ghost-suggest>suggested: <code></code> <span class=key>tap`),Vd=J(`<div class=composer><textarea></textarea><div class=composer-row><input type=file multiple class=hidden-file-input><input type=file accept=image/* multiple class=hidden-file-input><button type=button class="btn btn-small"title="attach file (uploads to workspace and sends path)">📎 file</button><button type=button class="btn btn-small"title="attach image inline">🖼 photo</button><button type=button class="btn btn-primary btn-small send">send ↵`),Hd=J(`<div class=dock-inner>`),Ud=J(`<p>Summarize older context to free window space. The transcript keeps a summary card.`),Wd=J(`<div class=session-screen><header class=session-bar><div class="session-bar-inner session-bar-main"><div class=session-navigation><a class=back href=#/>← fleet</a></div><span class=title></span><div class=session-header-actions><button type=button class=chrome-toggle></button></div></div></header><div class=session-body><div class=session-main><main class=chat><div class=chat-inner></div></main><footer class=dock><div class=dock-collapse-row><button type=button class=chrome-toggle>`),Gd=J(`<span class=project>`),Kd=J(`<span> • `),qd=J(`<span>`),Jd=J(`<p class="muted small">loading stats…`),Yd=J(`<div class=stats-grid><span>user messages</span><strong></strong><span>assistant messages</span><strong></strong><span>tool calls/results</span><strong>/</strong><span>input/output</span><strong> / </strong><span>cache read/write</span><strong> / </strong><span>total tokens</span><strong></strong><span>cost</span><strong>$`),Xd=J(`<p class=muted>loading transcript…`),Zd=J(`<div class=widget-block>`),Qd=J(`<li> `),$d=J(`<li><button type=button class=agent-chip title="view this subagent's session"><span></span><span class=task> — `),ef=J(`<button type=button class="btn btn-small btn-danger inline-stop">stop `),tf=J(`<div class=readonly-note>This session is closed; its transcript is read-only.`),nf=J(`<span class=queued-chip><span class=queued-kind>`),rf=J(`<span class=attachment-file><span>📎 </span><span class=muted></span><button type=button aria-label="remove file attachment">×`),af=J(`<span class=attachment-thumb><img><button type=button aria-label="remove image">×`),of=J(`<span class=command-description>`),sf=J(`<button type=button role=option class=command-option><span class=command-name>/</span><span class=command-source>`),cf=J(`<button type=button class="btn btn-small btn-primary">compact`),lf=J(`<p class="muted small">loading forkable messages…`),uf=J(`<button type=button class=fork-message><span class=fork-role></span><span>`),df=J(`<button type=button class="btn btn-small btn-primary">rename`),ff=10*1024*1024,pf=`.dreb-dashboard-uploads`;function mf(e){return e?`${e.provider}/${e.id}`:`—`}function hf(e){if(!e)return`—`;let t=`${e.provider}/${e.id}`;return e.name?`${t} — ${e.name}`:t}function gf(e){return e<1e3?e.toString():e<1e4?`${(e/1e3).toFixed(1)}k`:e<1e6?`${Math.round(e/1e3)}k`:e<1e7?`${(e/1e6).toFixed(1)}M`:`${Math.round(e/1e6)}M`}function _f(e){if(!e||e.rolling.count<3)return;let t={above:`↑`,below:`↓`,stable:`→`},n=e.delta.direction===`stable`?0:Math.round(Math.abs(e.delta.percentDelta)),r=e.delta.recentCount>=3&&e.delta.baselineCount>=3?` · ${n}% ${t[e.delta.direction]} median [${e.delta.baselineCount}]`:``;return`~${Math.round(e.rolling.median)} tok/s [${e.rolling.count}]${r}`}function vf(e,t){if(!t)return;let n=e?.models.find(e=>e.provider===t.provider&&e.modelId===t.id);return _f(n)}function yf(e){return e.replace(/^\/home\/[^/]+/,`~`)}function bf(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function xf(e){let t=e.trim().replace(/[\\/\0]/g,`_`);return t&&t!==`.`&&t!==`..`?t:`upload.bin`}function Sf(e,t){return`${new Date().toISOString().replace(/[:.]/g,`-`)}-${t+1}-${xf(e.name||`upload.bin`)}`}function Cf(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function wf(e,t){return`${e.provider}/${e.id} ${e.name??``}`.toLowerCase().includes(t)}function Tf(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t.entries()].map(([e,t])=>({provider:e,models:t}))}function Ef(e){e.style.height=`auto`;let t=window.matchMedia?.(`(max-width: 700px)`)?.matches??!1,n=uu(window.innerHeight,t),r=Math.min(e.scrollHeight,n);r>0&&(e.style.height=`${r}px`),e.style.overflowY=e.scrollHeight>n?`auto`:`hidden`}function Df(e){let[t,n]=k(e.request.prefill??``),r=t=>e.onRespond({type:`extension_ui_response`,id:e.request.id,...t});return W(ut,{get title(){return e.request.title},onDismiss:()=>r({cancelled:!0}),get actions(){return W(K,{get when(){return e.request.method!==`select`},get children(){return[(()=>{var e=Cu();return e.$$click=()=>r({cancelled:!0}),e})(),W(K,{get when(){return e.request.method===`confirm`},get children(){var e=wu();return e.$$click=()=>r({confirmed:!0}),e}}),W(K,{get when(){return e.request.method===`input`||e.request.method===`editor`},get children(){var e=Tu();return e.$$click=()=>r({value:t()}),e}})]}})},get children(){return[W(K,{get when(){return e.request.message},get children(){var t=yu();return X(t,()=>e.request.message),t}}),W(K,{get when(){return e.request.method===`select`},get children(){var t=bu();return X(t,W(G,{get each(){return e.request.options??[]},children:e=>(()=>{var t=Eu();return t.$$click=()=>r({value:e}),X(t,e),t})()})),t}}),W(K,{get when(){return e.request.method===`input`},get children(){var r=xu(),i=r.firstChild;return i.$$input=e=>n(e.currentTarget.value),j(()=>Y(i,`placeholder`,e.request.placeholder)),j(()=>i.value=t()),r}}),W(K,{get when(){return e.request.method===`editor`},get children(){var e=Su(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e}})]}})}function Of(e){let t=e.target,n=t?.tagName;return n===`INPUT`||n===`TEXTAREA`||t?.isContentEditable===!0}function kf(e){let t=()=>e.request.questions??[],n=()=>t().length,r=()=>n()>=2,i,[a,o]=k(t().map(()=>({selected:[],customText:``})));M(()=>{let e=n();o(n=>n.length===e?n:t().map((e,t)=>n[t]??{selected:[],customText:``}))});let[s,c]=k(0),l=()=>r()&&s()===n(),u=t=>e.onRespond({type:`extension_ui_response`,id:e.request.id,...t}),d=e=>t()[e]?.options??[],f=e=>t()[e]?.allowFreeText!==!1,p=e=>t()[e]?.multiSelect===!0&&d(e).length>0,m=(e,t)=>o(n=>n.map((n,r)=>r===e?t(n):n)),h=(e,t)=>{m(e,n=>{if(p(e)){let e=n.selected.includes(t)?n.selected.filter(e=>e!==t):[...n.selected,t];return{...n,selected:e}}return{...n,selected:[t]}})},g=(e,t)=>m(e,e=>({...e,customText:t})),_=e=>{let t=a()[e];return t?t.selected.length>0||t.customText.trim().length>0:!1},v=e=>{let t=a()[e];if(!t)return;let n=[...t.selected],r=t.customText.trim();return r&&n.push(r),n.length>0?n.join(`, `):void 0},y=()=>{e.stopping||e.onStop()},b=()=>{let e=a().map(e=>{let t=e.selected,n=e.customText.trim()||void 0;return t.length>0||n?{selected:t,customText:n}:{selected:[],skipped:!0}});u({answers:e})},x=e=>{if(e.key===`Escape`){e.preventDefault(),y();return}if(e.key===`Enter`&&n()===1&&!l()){let t=e.target;t&&i?.contains(t)&&t.tagName!==`TEXTAREA`&&t.tagName!==`BUTTON`&&(e.preventDefault(),b());return}if(r()&&(e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`Tab`)){if(Of(e))return;let t=n(),r=e.key===`ArrowLeft`?-1:1;e.preventDefault(),c(e=>{let n=e+r;return n<0?t:n>t?0:n});return}if(!l()&&/^[1-9]$/.test(e.key)&&!Of(e)){let t=s(),n=d(t),r=Number(e.key)-1;r<n.length&&(e.preventDefault(),h(t,n[r]))}};R(()=>window.addEventListener(`keydown`,x)),z(()=>window.removeEventListener(`keydown`,x));let S=typeof e.request.expiresAt==`number`?e.request.expiresAt:e.request.timeout&&e.request.timeout>0?Date.now()+e.request.timeout:void 0,C=()=>S===void 0?0:Math.max(0,Math.ceil((S-Date.now())/1e3)),[w,T]=k(C());if(S!==void 0){let e,t=()=>{let t=C();T(t),t<=0&&(e!==void 0&&clearInterval(e),e=void 0,y())};R(()=>{t(),S>Date.now()&&(e=setInterval(t,1e3))}),z(()=>{e!==void 0&&clearInterval(e)})}let E=(t,r)=>(()=>{var i=Mu();return X(i,W(K,{get when(){return t.title},get children(){var e=Du();return X(e,()=>t.title),e}}),null),X(i,W(qc,{get text(){return t.question??``},class:`ask-question-body markdown-body`}),null),X(i,W(K,{get when(){return d(r).length>0},get children(){var t=Ou();return t.firstChild,X(t,W(G,{get each(){return d(r)},children:(t,n)=>(()=>{var i=Pu(),o=i.firstChild,s=o.nextSibling,c=s.nextSibling;return X(o,()=>n()+1),s.addEventListener(`change`,()=>h(r,t)),X(c,t),X(i,W(K,{get when(){return a()[r]?.selected.includes(t)},get children(){return Nu()}}),null),j(n=>{var o=!!a()[r]?.selected.includes(t),c=p(r)?`checkbox`:`radio`,l=p(r)?void 0:`ask-option-input--hidden`,u=`ask-${e.request.id}-${r}`;return o!==n.e&&i.classList.toggle(`selected`,n.e=o),c!==n.t&&Y(s,`type`,n.t=c),l!==n.a&&Ne(s,n.a=l),u!==n.o&&Y(s,`name`,n.o=u),n},{e:void 0,t:void 0,a:void 0,o:void 0}),j(()=>s.checked=a()[r]?.selected.includes(t)),i})()}),null),t}}),null),X(i,W(K,{get when(){return f(r)},get children(){var n=Au(),i=n.firstChild;return X(i,()=>d(r).length>0?`Or type your own answer`:`Your answer`),X(n,W(K,{get when(){return t.multiline},get fallback(){return(()=>{var t=Fu();return t.$$input=e=>g(r,e.currentTarget.value),j(()=>Y(t,`id`,`ask-custom-${e.request.id}-${r}`)),j(()=>t.value=a()[r]?.customText??``),t})()},get children(){var t=ku();return t.$$input=e=>g(r,e.currentTarget.value),j(()=>Y(t,`id`,`ask-custom-${e.request.id}-${r}`)),j(()=>t.value=a()[r]?.customText??``),t}}),null),j(()=>Y(i,`for`,`ask-custom-${e.request.id}-${r}`)),n}}),null),X(i,W(K,{get when(){return n()===1},get children(){var t=ju(),n=t.firstChild,r=n.nextSibling;return n.$$click=y,X(n,()=>e.stopping?`stopping…`:`■ stop agent`),r.$$click=b,j(()=>n.disabled=e.stopping),t}}),null),i})();return(()=>{var a=zu(),o=a.firstChild,u=o.firstChild,d=i;return typeof d==`function`?Le(d,a):i=a,X(u,()=>e.request.title),X(o,W(K,{when:S!==void 0,get children(){var e=Iu(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,w,t),e}}),null),X(a,W(K,{get when(){return r()},get children(){var e=Lu(),r=e.firstChild;return X(e,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Vu(),r=n.firstChild;return n.$$click=()=>c(t()),X(n,()=>t()+1,r),X(n,()=>e.title??e.question,null),X(n,W(K,{get when(){return _(t())},get children(){return Bu()}}),null),j(e=>{var r=s()===t(),i=s()===t(),a=!!_(t());return r!==e.e&&Y(n,`aria-selected`,e.e=r),i!==e.t&&n.classList.toggle(`selected`,e.t=i),a!==e.a&&n.classList.toggle(`answered`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),n})()}),r),r.$$click=()=>c(n()),j(e=>{var t=l(),n=!!l();return t!==e.e&&Y(r,`aria-selected`,e.e=t),n!==e.t&&r.classList.toggle(`selected`,e.t=n),e},{e:void 0,t:void 0}),e}}),null),X(a,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Hu();return X(n,()=>E(e,t())),j(()=>n.classList.toggle(`hidden`,s()!==t())),n})()}),null),X(a,W(K,{get when(){return r()},get children(){var n=Ru(),r=n.firstChild.firstChild,i=r.nextSibling.firstChild,a=i.nextSibling;return X(r,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Uu(),r=n.firstChild;return X(r,()=>e.title??e.question),X(n,W(K,{get when(){return v(t())},get fallback(){return Wu()},children:e=>(()=>{var t=Gu();return X(t,e),t})()}),null),n})()})),i.$$click=y,X(i,()=>e.stopping?`stopping…`:`cancel`),a.$$click=b,j(t=>{var r=!l(),a=e.stopping;return r!==t.e&&n.classList.toggle(`hidden`,t.e=r),a!==t.t&&(i.disabled=t.t=a),t},{e:void 0,t:void 0}),n}}),null),j(()=>Y(a,`aria-label`,e.request.title)),a})()}function Af(e){let t=(e,t)=>(()=>{var n=qu(),r=n.firstChild;return X(r,e),X(n,W(K,{get when(){return t.length>0},get fallback(){return Ju()},get children(){var e=Ku();return X(e,t),e}}),null),n})();return W(ut,{title:`loaded context`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.resources},get fallback(){return Xu()},children:e=>(()=>{var n=Qu();return X(n,()=>t(`context files`,e().contextFiles.map(e=>(()=>{var t=$u();return X(t,()=>yf(e.path)),j(()=>Y(t,`title`,e.path)),t})())),null),X(n,()=>t(`skills`,e().skills.map(e=>(()=>{var t=td(),n=t.firstChild;return X(n,()=>e.name),X(t,W(K,{get when(){return e.description},get children(){var t=ed();return t.firstChild,X(t,()=>e.description,null),t}}),null),t})())),null),X(n,()=>t(`extensions`,e().extensions.map(e=>(()=>{var t=nd(),n=t.firstChild,r=n.nextSibling;return r.firstChild,X(n,()=>e.name??`extension`),X(r,()=>yf(e.path),null),j(()=>Y(t,`title`,e.path)),t})())),null),X(n,()=>t(`prompt templates`,e().promptTemplates.map(e=>(()=>{var t=$u();return X(t,()=>e.name),t})())),null),X(n,W(K,{get when(){return e().systemPromptPresent},get children(){return Zu()}}),null),n})()})]}})}function jf(e){let[t,n]=k([]),[r,i]=k(e.initialFilter??``),[a,o]=k((e.state?.scopedModels?.length??0)>0?`scoped`:`all`),[s,c]=k();R(async()=>{try{let{models:t}=await Q.models(e.sessionKey);n(t)}catch(e){c(e instanceof Error?e.message:String(e))}});let l=N(()=>(e.state?.scopedModels??[]).map(e=>({provider:e.provider,id:e.id,name:e.name,reasoning:e.reasoning}))),u=()=>l().length>0,d=()=>a()===`scoped`&&u()?l():t(),f=N(()=>{let e=r().toLowerCase();return Tf(d().filter(t=>!e||wf(t,e)).slice(0,100))}),p=t=>e.state?.model?.provider===t.provider&&e.state?.model?.id===t.id;async function m(t){try{let n=await Q.setModel(e.sessionKey,t.provider,t.id);e.onSelected(n),e.onClose()}catch(e){c(e instanceof Error?e.message:String(e))}}return W(ut,{title:`select model`,get onDismiss(){return e.onClose},class:`model-picker-modal`,get children(){return[W(K,{get when(){return u()},get children(){var e=rd(),t=e.firstChild,n=t.nextSibling;return t.$$click=()=>o(`scoped`),n.$$click=()=>o(`all`),j(e=>{var r=a()===`scoped`,i=a()===`scoped`,o=a()===`all`,s=a()===`all`;return r!==e.e&&Y(t,`aria-selected`,e.e=r),i!==e.t&&t.classList.toggle(`selected`,e.t=i),o!==e.a&&Y(n,`aria-selected`,e.a=o),s!==e.o&&n.classList.toggle(`selected`,e.o=s),e},{e:void 0,t:void 0,a:void 0,o:void 0}),e}}),(()=>{var e=id(),t=e.firstChild;return t.$$input=e=>i(e.currentTarget.value),j(()=>t.value=r()),e})(),W(K,{get when(){return s()},get children(){var e=Yu();return X(e,s),e}}),(()=>{var e=ad();return X(e,W(K,{get when(){return f().length>0},get fallback(){return od()},get children(){return W(G,{get each(){return f()},children:e=>(()=>{var t=sd(),n=t.firstChild;return X(n,()=>e.provider),X(t,W(G,{get each(){return e.models},children:e=>(()=>{var t=ud(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return t.$$click=()=>m(e),X(n,()=>p(e)?`✓`:``),X(r,()=>e.id),X(t,W(K,{get when(){return e.name},get children(){var t=cd();return X(t,()=>e.name),t}}),i),X(i,()=>e.provider),X(t,W(K,{get when(){return e.reasoning},get children(){return ld()}}),null),j(n=>{var r=!!p(e),i=hf(e);return r!==n.e&&t.classList.toggle(`current`,n.e=r),i!==n.t&&Y(t,`title`,n.t=i),n},{e:void 0,t:void 0}),t})()}),null),t})()})}})),e})()]}})}function Mf(e){let t=[],n=[...e].reverse().map(e=>({node:e,depth:0}));for(;n.length>0;){let e=n.pop();if(!e)break;t.push(e);for(let t=e.node.children.length-1;t>=0;--t)n.push({node:e.node.children[t],depth:e.depth+1})}return t}function Nf(e){return W(ut,{title:`session tree`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.roots.length>0},get fallback(){return(()=>{var t=fd();return X(t,()=>e.loading?`loading tree…`:`No session entries yet.`),t})()},get children(){var t=dd();return X(t,W(G,{get each(){return Mf(e.roots)},children:({node:t,depth:n})=>(()=>{var r=md(),i=r.firstChild,a=i.nextSibling;return r.$$click=()=>e.onNavigate(t.id),Ie(r,`padding-left`,`${12+n*18}px`),X(i,()=>t.id.slice(0,8)),X(a,()=>t.label??(t.preview||t.type)),X(r,W(K,{get when(){return t.id===e.leafId},get children(){return pd()}}),null),j(()=>r.disabled=t.id===e.leafId),r})()})),t}})]}})}function Pf(e){return W(ut,{title:`resume session`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.sessions.length>0},get fallback(){return(()=>{var t=fd();return X(t,()=>e.loading?`loading sessions…`:`No other sessions found.`),t})()},get children(){var t=dd();return X(t,W(G,{get each(){return e.sessions},children:t=>(()=>{var n=hd(),r=n.firstChild,i=r.nextSibling,a=i.firstChild;return n.$$click=()=>e.onResume(t.path),X(r,()=>t.name??(t.firstMessage||t.path)),X(i,()=>t.messageCount,a),n})()})),t}})]}})}function Ff(e){let[t,n]=k(e.initialPath);return W(ut,{title:`import session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=Cu();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var n=vd();return n.$$click=()=>e.onImport(t().trim()),j(()=>n.disabled=!t().trim()),n})()]},get children(){return[gd(),(()=>{var e=_d(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}})]}})}function If(e){let t=()=>e.store.sessions[e.sessionKey],n=N(()=>e.store.fleet().runtimes.find(t=>t.key===e.sessionKey)),r=N(()=>n()?.state.availableThinkingLevels??[`off`]),[i,a]=k(mu(e.sessionKey)??``),[o,s]=k(`steer`),[c,l]=k(!1),[u,d]=k(!1),[f,p]=k(!1),[m,h]=k(``),[g,_]=k(!1),[v,y]=k(!1),[b,x]=k(!1),[S,C]=k(!1),[w,T]=k(!1),[E,D]=k(!1),[O,A]=k(!1),[P,F]=k(),[I,L]=k(),[ee,te]=k(0),[ne,re]=k(),[ie,ae]=k(),[B,oe]=k(),[V,se]=k(),[H,ce]=k([]),[le,ue]=k(!1),[de,fe]=k(0),[pe,me]=k(),[he,ge]=k(),[_e,ve]=k({steering:[],followUp:[]}),[U,ye]=k([]),[be,xe]=k([]),[Se,Ce]=k(),[we,Te]=k(!1),[Ee,De]=k([]),[Oe,ke]=k(),[Ae,je]=k(!1),[J,Me]=k([]),[Pe,Fe]=k(null),[Ie,Re]=k(!1),[ze,Be]=k(),[Ve,He]=k(!1),[Ue,We]=k(!1),[Ge,Ke]=k([]),[qe,Je]=k(!1),[Ye,Xe]=k(),[Ze,Qe]=k(!1),[$e,et]=k(``),[tt,nt]=k(),[rt,it]=k(!1),[at,ot]=k(),st=Vr(),ct=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),ft=()=>ct().length>0;M(()=>{ft()||st.close()});let pt,mt,ht,Z,gt,_t,vt=!1,yt=new AbortController;z(()=>{vt=!0,yt.abort()});let bt=0,$=()=>t()?.closed,xt=()=>!$()&&(t()?.streaming??!1),St=()=>!$()&&(t()?.compacting??!1),Ct=()=>(t()?.statusEntries??[]).some(e=>e.key===`paused`),wt=()=>Object.values(t()?.backgroundAgents??{}).some(e=>e.status===`running`),Tt=()=>!$()&&(xt()||St()||Ct()||wt()),Et=()=>$()?[]:(t()?.statusEntries??[]).filter(e=>e.key===`compaction`||e.key===`retry`),Dt=oc({scroller:()=>pt});async function Ot(t=!1){if(vt||$())return;let n=++bt,[r,i,a]=await Promise.allSettled([e.store.refreshRuntimeStats(e.sessionKey),Q.performance(e.sessionKey),Q.branch(e.sessionKey)]),o=t?await Promise.allSettled([Q.dailyCost()]):void 0;if(vt||$()||n!==bt)return;r.status===`fulfilled`&&re(r.value),i.status===`fulfilled`&&ae(i.value),a.status===`fulfilled`&&oe(a.value.branch),o?.[0]?.status===`fulfilled`&&se(o[0].value.cost);let s=[r,i,a,...o??[]].find(e=>e.status===`rejected`);s?.status===`rejected`&&F(s.reason instanceof Error?s.reason.message:String(s.reason))}async function kt(){if(!$())try{let{commands:t}=await Q.commands(e.sessionKey);vt||ce(t)}catch(e){!vt&&!$()&&F(e instanceof Error?e.message:String(e))}}async function At(){D(!0),ge(void 0);try{me(await Q.resources(e.sessionKey))}catch(e){ge(e instanceof Error?e.message:String(e))}}async function jt(){if(!(vt||$()))try{ve(await Q.pending(e.sessionKey))}catch(e){$()||F(e instanceof Error?e.message:String(e))}}let Mt=new Set,Nt=async t=>{let n=typeof t.id==`string`?t.id:void 0;if(!(n&&Mt.has(n))){n&&Mt.add(n);try{await Q.extensionUiResponse(e.sessionKey,t),n&&e.store.sessions[e.sessionKey]&&!$()&&e.store.resolveUiRequest(e.sessionKey,n)}catch(e){F(e instanceof Error?e.message:String(e))}finally{n&&Mt.delete(n)}}};function Pt(e){let t=atob(e);return Uint8Array.from(t,e=>e.charCodeAt(0))}function Ft(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}async function It(e){return Ft(new Uint8Array(await e.arrayBuffer()))}function Lt(e){URL.revokeObjectURL(e.previewUrl)}function Rt(){for(let e of U())Lt(e);ye([])}function zt(e){ye(t=>{let n=t[e];return n&&Lt(n),t.filter((t,n)=>n!==e)})}function Bt(e){if(U().reduce((e,t)=>e+t.size,0)+e>zn)throw Error(`Images too large: total inline images exceed ${Cf(zn)}`)}function Vt(e,t,n){return{blob:e,mimeType:t,fileName:n,size:e.size,previewUrl:URL.createObjectURL(e)}}function Ht(e,t,n){let r=Pt(e.data);return Vt(new Blob([r],{type:e.mimeType}),e.mimeType,`queued-image-${t+1}-${n+1}`)}function Ut(e){return[...e.steeringMessages??e.steering.map(e=>({text:e})),...e.followUpMessages??e.followUp.map(e=>({text:e}))]}function Wt(e){let t=[];for(let[n,r]of e.entries())for(let[e,i]of(r.images??[]).entries())t.push(Ht(i,n,e));return t}function Gt(e){for(let t of e)Lt(t)}function Kt(e){let t=e.map(e=>e.text).join(`
69
+ `]})),t})()}function ol(e){if(e.toolName!==`edit`)return;let t=e.details?.diff;return typeof t==`string`?t:void 0}var sl=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`]),cl=/^[0-9a-f]{64}$/,ll=1024*1024;function ul(e){return e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.ceil(e/1024)} KB`:`${e} B`}var dl={alt:`Tool result`,originalAriaLabel:`Original tool-result image`,enlargedAlt:`Enlarged tool-result preview`},fl={alt:`Uploaded image`,originalAriaLabel:`Original uploaded image`,enlargedAlt:`Enlarged uploaded-image preview`};function pl(e){let[t,n]=k(),[r,i]=k(),[a,o]=k(),[s,c]=k(!1),l=t=>bt(e.scope.runtimeKey,e.image.id,t,e.scope.agentId),u=e=>{let t=l(e);if(!t){o(`Invalid image reference`);return}o(void 0),i(e),n(t)};M(()=>{let e=Dn();c(!1),o(void 0),e===`previews`?u(`preview`):e===`originals`?u(`original`):(n(void 0),i(void 0))});let d=()=>{e.image.size>ll&&!window.confirm(`Load the ${ul(e.image.size)} original image? This may use significant data.`)||u(`original`)},f=e=>{e.key===`Escape`&&c(!1)};return R(()=>window.addEventListener(`keydown`,f)),z(()=>window.removeEventListener(`keydown`,f)),(()=>{var l=gc(),f=l.firstChild,p=f.firstChild,m=p.firstChild;return X(l,W(K,{get when(){return t()},get fallback(){return(()=>{var t=_c(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(n,()=>e.image.mimeType.replace(`image/`,``).toUpperCase(),r),X(n,()=>ul(e.image.size),null),i.$$click=()=>u(`preview`),X(i,()=>a()?`retry preview`:`load preview`),t})()},children:t=>(()=>{var a=vc(),s=a.firstChild;return a.$$click=()=>r()===`preview`&&c(!0),s.addEventListener(`error`,()=>{o(`Could not load ${r()??`image`}`),n(void 0),i(void 0)}),j(n=>{var i=r()!==`preview`,o=r()===`preview`?`Enlarge image preview`:e.labels.originalAriaLabel,c=e.labels.alt,l=t();return i!==n.e&&(a.disabled=n.e=i),o!==n.t&&Y(a,`aria-label`,n.t=o),c!==n.a&&Y(s,`alt`,n.a=c),l!==n.o&&Y(s,`src`,n.o=l),n},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}),f),X(p,()=>e.image.mimeType.replace(`image/`,``).toUpperCase(),m),X(p,()=>ul(e.image.size),null),X(f,W(K,{get when(){return r()!==`original`},get children(){var t=mc();return t.firstChild,t.$$click=d,X(t,()=>ul(e.image.size),null),t}}),null),X(l,W(K,{get when(){return a()},children:e=>(()=>{var t=yc();return X(t,e),t})()}),null),X(l,W(K,{get when(){return q(()=>!!(s()&&r()===`preview`))()&&t()},get children(){var n=hc(),r=n.firstChild,i=r.nextSibling.firstChild,a=i.nextSibling;return r.$$click=()=>c(!1),a.$$click=()=>c(!1),j(n=>{var r=t(),a=e.labels.enlargedAlt;return r!==n.e&&Y(i,`src`,n.e=r),a!==n.t&&Y(i,`alt`,n.t=a),n},{e:void 0,t:void 0}),n}}),null),l})()}function ml(e){let t=()=>e.images.filter(e=>sl.has(e.mimeType)&&cl.test(e.id)&&Number.isSafeInteger(e.size)&&e.size>0);return W(K,{get when(){return t().length>0},get children(){var n=bc();return X(n,W(G,{get each(){return t()},children:t=>W(pl,{image:t,get scope(){return e.scope},get labels(){return e.labels}})})),n}})}function hl(e){let[t,n]=k(!1),r=()=>e.text.length>Uc;M(()=>{r()||n(!1)});let i=()=>r()&&!t()?e.text.slice(-204800):e.text;return[W(K,{get when(){return q(()=>!!r())()&&!t()},get children(){var t=xc(),r=t.firstChild.nextSibling,i=r.nextSibling.nextSibling,a=i.nextSibling.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,X(t,()=>Kc(Uc),r),X(t,()=>Kc(e.text.length),i),a.$$click=()=>n(!0),X(a,()=>Kc(e.text.length),o),t}}),W(K,{get when(){return e.markdown},get fallback(){return W(Zc,{get text(){return i()},get language(){return e.language},get autoScroll(){return e.autoScroll},get throttle(){return e.throttle}})},get children(){return W(qc,{get text(){return i()},get throttle(){return e.throttle}})}})]}function gl(e){let t=()=>nl(e.entry),n=()=>e.entry.args,r=()=>{if(e.entry.toolName===`suggest_next`)return e.entry.details},i=()=>ol(e.entry),a=()=>e.entry.toolName===`write`&&!e.entry.resultText&&typeof n()?.content==`string`?String(n()?.content):e.entry.resultText,o=()=>{if(e.entry.toolName===`read`||e.entry.toolName===`write`&&!e.entry.resultText)return Jc(Yc(n()))},s=()=>rl.has(e.entry.toolName)&&e.entry.status!==`error`,c=()=>e.entry.toolName===`bash`||e.entry.toolName===`bash (user)`,l=()=>il(e.entry),u=()=>Nn(e.entry.toolName),d=e.entry.toolName!==`ask_user`,[f,p]=k(u()||e.entry.status===`running`&&d),m=e.entry.status===`running`,h=!1,g=!1,_,v=e=>{f()!==e&&(g=!0,p(e),_&&clearTimeout(_),_=setTimeout(()=>{g=!1,_=void 0},0))};return M(()=>{let t=e.entry.status===`running`,n=u();t&&d?(h=!1,v(!0)):m?(h=!1,v(n)):h||v(n),m=t}),z(()=>{_&&clearTimeout(_)}),(()=>{var u=wc(),m=u.firstChild.firstChild,v=m.nextSibling,y=v.nextSibling;return u.addEventListener(`toggle`,t=>{let n=t.currentTarget.open;if(g){p(n);return}if(e.entry.status===`running`&&d&&!n){g=!0,t.currentTarget.open=!0,p(!0),_&&clearTimeout(_),_=setTimeout(()=>{g=!1,_=void 0},0);return}h=!0,p(n)}),X(m,()=>e.entry.toolName),X(v,()=>Qc(e.entry)),X(y,()=>t().text),X(u,W(K,{get when(){return f()},get children(){return[W(K,{get when(){return e.entry.toolName===`bash`||e.entry.toolName===`bash (user)`},get children(){var e=Sc(),t=e.firstChild;return X(t,()=>String(n()?.command??``)),e}}),W(G,{get each(){return l()},children:e=>(()=>{var t=Tc(),n=t.firstChild;return X(n,()=>e.label),X(t,W(K,{get when(){return e.markdown},get fallback(){return W(Zc,{get text(){return e.text},get language(){return e.language}})},get children(){return W(qc,{get text(){return e.text}})}}),null),t})()}),W(K,{get when(){return e.entry.images?.length},get children(){var t=Cc();return X(t,W(ml,{get images(){return e.entry.images},get scope(){return e.imageScope},labels:dl})),t}}),W(De,{get children(){return[W(Oe,{get when(){return r()},children:e=>(()=>{var t=Ec(),n=t.firstChild,r=n.firstChild.nextSibling;return X(t,W(K,{get when(){return e().summary},get children(){return W(qc,{get text(){return e().summary}})}}),n),X(r,()=>e().suggestion),t})()}),W(Oe,{get when(){return i()},children:e=>(()=>{var t=Cc();return X(t,W(al,{get text(){return e()}})),t})()}),W(Oe,{get when(){return a()},children:t=>(()=>{var n=Cc();return X(n,W(hl,{get text(){return t()},get language(){return o()},get markdown(){return s()},get autoScroll(){return c()},get throttle(){return e.entry.status===`running`}})),n})()})]}})]}}),null),j(e=>{var n=f(),r=`tool-status ${t().cls}`;return n!==e.e&&(u.open=e.e=n),r!==e.t&&Ne(y,e.t=r),e},{e:void 0,t:void 0}),u})()}function _l(e){let[t,n]=k(`idle`);async function r(){if(e.text){try{await navigator.clipboard.writeText(e.text),n(`copied`)}catch{n(`failed`)}setTimeout(()=>n(`idle`),1200)}}return(()=>{var n=Dc();return n.$$click=r,X(n,(()=>{var e=q(()=>t()===`copied`);return()=>e()?`copied`:t()===`failed`?`copy failed`:`copy`})()),j(()=>n.disabled=!e.text),n})()}function vl(e){let t=()=>e.entry.blocks.filter(t=>e.entry.streaming||e.entry.stopReason!==`error`||t.kind!==`thinking`||t.text.trim().length>0);return(()=>{var n=Ac(),r=n.firstChild,i=r.firstChild;return X(i,()=>e.who),X(r,W(K,{get when(){return e.entry.model},get children(){return[Oc(),(()=>{var t=pc();return X(t,()=>e.entry.model),t})()]}}),null),X(r,W(K,{get when(){return e.entry.streaming},get children(){return[Oc(),kc()]}}),null),X(r,W(_l,{get text(){return el(e.entry)}}),null),X(n,W(G,{get each(){return t()},children:(n,r)=>W(K,{get when(){return n.kind===`thinking`},get fallback(){return(()=>{var i=Mc();return X(i,W(qc,{get text(){return n.text},get classList(){return{"streaming-cursor":e.entry.streaming&&r()===t().length-1}},get throttle(){return e.entry.streaming}})),i})()},get children(){var t=jc();return t.firstChild,X(t,W(qc,{get text(){return n.text},class:`thinking-body markdown-body`,get throttle(){return e.entry.streaming}}),null),j(()=>t.open=En()),t}})}),null),X(n,W(K,{get when(){return q(()=>e.entry.stopReason===`error`)()&&e.entry.errorMessage},children:e=>(()=>{var t=Nc();return t.firstChild,X(t,e,null),t})()}),null),n})()}function yl(e,t){return e?.kind===`entry`&&e.entry===t}function bl(e){let[t,n]=k(e);return{kind:`assistant-turn`,lead:e[0],entries:t,setEntries:n}}function xl(e,t=[]){let n=[],r=0;for(;r<e.length;){let i=e[r];if(i?.kind===`assistant`){let a=[i];for(r+=1;e[r]?.kind===`tool`;)a.push(e[r]),r+=1;let o=t[n.length];if(o?.kind===`assistant-turn`&&o.lead===i){let e=L(o.entries);(e.length!==a.length||a.some((t,n)=>t!==e[n]))&&o.setEntries(a),n.push(o)}else n.push(bl(a));continue}if(i){let e=t[n.length];n.push(yl(e,i)?e:{kind:`entry`,entry:i})}r+=1}return n}function Sl(e){return W(De,{get children(){return[W(Oe,{get when(){return e.entry.kind===`user`},get children(){var t=Pc(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(n,W(K,{get when(){return tl(e.entry.text)},children:e=>(()=>{var t=Lc();return t.firstChild,X(t,e,null),t})()}),r),X(n,W(_l,{get text(){return el(e.entry)}}),r),X(r,()=>e.userLabel),X(i,()=>e.entry.text),X(t,W(K,{get when(){return e.entry.images?.length},get children(){return W(ml,{get images(){return e.entry.images},get scope(){return e.imageScope},labels:fl})}}),null),t}}),W(Oe,{get when(){return e.entry.kind===`agent-result`},get children(){return W(Cl,{get entry(){return e.entry}})}}),W(Oe,{get when(){return e.entry.kind===`assistant`},get children(){return W(vl,{get entry(){return e.entry},get who(){return e.who}})}}),W(Oe,{get when(){return e.entry.kind===`tool`},get children(){return W(gl,{get entry(){return e.entry},get imageScope(){return e.imageScope}})}}),W(Oe,{get when(){return e.entry.kind===`summary`},get children(){var t=Fc(),n=t.firstChild.firstChild,r=n.nextSibling;return X(n,()=>e.entry.label===`compaction`?`context compacted`:`branch summary`,null),X(n,W(K,{get when(){return e.entry.tokensBefore},get children(){return[` `,`— `,q(()=>e.entry.tokensBefore.toLocaleString()),` tokens summarized`]}}),null),X(r,()=>e.entry.text),t}}),W(Oe,{get when(){return e.entry.kind===`custom`},get children(){var t=Ic(),n=t.firstChild,r=n.firstChild,i=n.nextSibling;return X(r,()=>e.entry.tag),X(i,()=>e.entry.text),t}})]}})}function Cl(e){return(()=>{var t=zc(),n=t.firstChild,r=n.firstChild;return r.firstChild,X(r,W(K,{get when(){return e.entry.header},get children(){var t=Rc();return X(t,()=>e.entry.header),t}}),null),X(n,W(qc,{get text(){return e.entry.text},class:`entry-body markdown-body`}),null),t})()}function wl(e){let t=()=>e.who??`dreb`,n=()=>e.userLabel??`you`,r=()=>e.imageScope??{runtimeKey:``},i=N(t=>xl(e.entries,t)),[a,o]=k(150),s;M(()=>{let t=e.resetKey??e.entries;t!==s&&(s=t,o(150))});let c=N(()=>{let e=i(),t=a();return e.length>t?e.slice(-t):e}),l=()=>Math.max(0,i().length-c().length);return[W(K,{get when(){return l()>0},get children(){var e=Bc(),t=e.firstChild,n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling;return r.nextSibling,t.$$click=()=>o(Math.min(i().length,a()+150)),X(t,()=>Math.min(150,l()),n),X(t,l,r),e}}),W(G,{get each(){return c()},children:e=>W(De,{get children(){return[W(Oe,{get when(){return e.kind===`assistant-turn`},get children(){var i=Vc();return X(i,W(G,{get each(){return e.entries()},children:e=>W(Sl,{entry:e,get who(){return t()},get userLabel(){return n()},get imageScope(){return r()}})})),i}}),W(Oe,{get when(){return e.kind===`entry`},get children(){return W(Sl,{get entry(){return e.entry},get who(){return t()},get userLabel(){return n()},get imageScope(){return r()}})}})]}})})]}Me([`click`]);var Tl=J(`<p class=settings-error>`),El=J(`<p class=settings-success>`),Dl=J(`<button type=button class=memory-nav-item><span>MEMORY.md</span><small>complete editable index`),Ol=J(`<div class=context-trust-warning><strong>Complete index warning:</strong> MEMORY.md is over 200 lines. The dashboard shows the full file for repair, while the agent prompt may only load the indexed prefix.`),kl=J(`<div class=screen-fill><main class="container memories-screen"><div class=memories-head><div><h1>Memories</h1><p class=scope-note>Edit dreb memory only: global ~/.dreb/memory plus known project .dreb/memory scopes. Claude memory paths are never included.</p></div><button type=button class=btn>refresh</button></div><div class=memories-layout><aside class=memories-sidebar><section class=memory-panel><h2>Scopes</h2></section><section class=memory-panel><h2>Documents</h2></section></aside><section class=memory-editor>`),Al=J(`<p class=muted>loading scopes…`),jl=J(`<p class=muted>No active dreb memory scopes.`),Ml=J(`<button type=button class=memory-nav-item><span></span><small>`),Nl=J(`<p class=muted>loading documents…`),Pl=J(`<p class=muted>Memory directory is missing; nothing to edit.`),Fl=J(`<p class=muted>MEMORY.md index missing.`),Il=J(`<p class=muted>No memory entries.`),Ll=J(`<output class=memory-loading>loading selected memory…`),Rl=J(`<p class=muted>Select an existing memory document.`),zl=J(`<button type=button class="btn btn-danger">delete entry`),Bl=J(`<div class=memory-doc-head><div><h2></h2><p class=scope-note> · revision </p></div><div class=head-actions><button type=button class=btn>reload`),Vl=J(`<p class=settings-error>Metadata error: `),Hl=J(`<div class=memory-edit-actions><button type=button class="btn btn-primary"></button><button type=button class=btn>revert draft</button><span class=muted>`),Ul=J(`<textarea class=memory-textarea>`),Wl=J(`<details class=memory-preview open><summary>preview`),Gl=J(`<div class=memory-metadata><strong></strong><span></span><span>`),Kl=J(`<p>This deletes the entry file and first removes matching <code>[…](<!>)</code> or <code>[…](./<!>)</code> lines from MEMORY.md. If the index changed, deletion will fail with a conflict instead of leaving a dangling link.`),ql=J(`<button type=button class=btn>cancel`),Jl=J(`<button type=button class="btn btn-danger">`),Yl=`MEMORY.md`;function Xl(e){return e.metadata?`${e.metadata.name} · ${e.metadata.type}`:e.metadataError?`metadata error: ${e.metadataError}`:`metadata unavailable`}function Zl(e,t){return e?e.kind===`index`?`MEMORY.md index`:e.metadata?.name??e.file:t??`memory`}function Ql(e){if(e)return e.indexContent===null?e.entries[0]?.file:Yl}function $l(e,t){if(!e||!t)return;let n;try{n=decodeURIComponent(e)}catch{return}if(n.startsWith(`./`)&&(n=n.slice(2)),!(!n||n.includes(`/`)||n.includes(`\\`)||n.includes(`?`)||n.includes(`#`)))return t.entries.some(e=>e.file===n)?n:void 0}function eu(e){let[t,n]=k(),[r,i]=k(),[a,o]=k(),[s,c]=k(),[l,u]=k(``),[d,f]=k(!1),[p,m]=k(!1),[h,g]=k(),[_,{refetch:v}]=F(async()=>{try{return(await Q.memoryScopes()).scopes}catch(e){return o(e instanceof Error?e.message:String(e)),[]}});M(()=>{let e=_();if(!e?.length)return;let r=t();(!r||!e.some(e=>e.id===r))&&n(e[0].id)});let[y,{mutate:b,refetch:x}]=F(()=>t(),async e=>{o(void 0),c(void 0);try{return await Q.memoryListing(e)}catch(e){o(e instanceof Error?e.message:String(e));return}});M(()=>{let e=y();if(!e)return;let t=r(),n=new Set([...e.indexContent===null?[]:[Yl],...e.entries.map(e=>e.file)]);(!t||!n.has(t))&&i(Ql(e))});let[S,{mutate:C,refetch:w}]=F(()=>{let e=t(),n=r();return e&&n?{scopeId:e,file:n}:void 0},async e=>{o(void 0),c(void 0);try{return await Q.memoryDocument(e.scopeId,e.file)}catch(e){o(e instanceof Error?e.message:String(e));return}});M(()=>{let e=S();!e||d()||u(e.content)});function T(e){t()!==e.id&&I(()=>{i(void 0),n(e.id),C(void 0),f(!1),u(``)})}function E(e){r()!==e&&(i(e),C(void 0),f(!1),u(``))}function D(e){let t=e.target?.closest(`a`);if(!(t instanceof HTMLAnchorElement))return;let n=$l(t.getAttribute(`href`),y());n&&(e.preventDefault(),E(n))}async function O(){await v(),await x(),r()&&await w()}async function A(){let e=t(),n=S();if(!(!e||!n)){m(!0),o(void 0),c(void 0);try{let t=await Q.saveMemoryDocument(e,n.file,l(),n.revision);b(t.listing),t.document&&C(t.document),u(t.document?.content??l()),f(!1),c(`saved`)}catch(e){o(e?.status===409?`${e.message} Your draft is still here.`:e instanceof Error?e.message:String(e))}finally{m(!1)}}}async function N(){let e=t(),n=h(),r=y();if(!(!e||!n||n.kind!==`entry`||!r)){m(!0),o(void 0),c(void 0);try{let t=await Q.deleteMemoryEntry(e,n.file,n.revision,r.indexRevision);b(t.listing),C(void 0),g(void 0),i(Ql(t.listing)),f(!1),u(``),c(`deleted ${n.file}; index links cleaned up`)}catch(e){o(e instanceof Error?e.message:String(e))}finally{m(!1)}}}return(()=>{var n=kl(),i=n.firstChild,o=i.firstChild,c=o.firstChild.nextSibling,m=o.nextSibling,v=m.firstChild,b=v.firstChild;b.firstChild;var x=b.nextSibling;x.firstChild;var C=v.nextSibling;return X(n,W(ct,{get store(){return e.store},active:`memories`}),i),c.$$click=()=>void O(),X(i,W(K,{get when(){return a()},get children(){var e=Tl();return X(e,a),e}}),m),X(i,W(K,{get when(){return s()},get children(){var e=El();return X(e,s),e}}),m),X(b,W(K,{get when(){return!_.loading},get fallback(){return Al()},get children(){return W(K,{get when(){return(_()??[]).length>0},get fallback(){return jl()},get children(){return W(G,{get each(){return _()??[]},children:e=>(()=>{var n=Ml(),r=n.firstChild,i=r.nextSibling;return n.$$click=()=>T(e),X(r,(()=>{var t=q(()=>e.kind===`global`);return()=>t()?`global`:e.label})()),X(i,(()=>{var t=q(()=>!!e.exists);return()=>t()?e.memoryDir:`${e.memoryDir} (missing)`})()),j(()=>n.classList.toggle(`active`,t()===e.id)),n})()})}})}}),null),X(x,W(K,{get when(){return!y.loading},get fallback(){return Nl()},get children(){return W(K,{get when(){return y()?.scope.exists},get fallback(){return Pl()},get children(){return[W(K,{get when(){return y()?.indexContent!==null},get fallback(){return Fl()},get children(){var e=Dl();return e.$$click=()=>E(Yl),j(()=>e.classList.toggle(`active`,r()===Yl)),e}}),W(K,{get when(){return(y()?.entries.length??0)>0},get fallback(){return Il()},get children(){return W(G,{get each(){return y()?.entries??[]},children:e=>(()=>{var t=Ml(),n=t.firstChild,i=n.nextSibling;return t.$$click=()=>E(e.file),X(n,()=>e.file),X(i,()=>Xl(e)),j(n=>{var i=r()===e.file,a=!!e.metadataError;return i!==n.e&&t.classList.toggle(`active`,n.e=i),a!==n.t&&t.classList.toggle(`error`,n.t=a),n},{e:void 0,t:void 0}),t})()})}})]}})}}),null),X(C,W(K,{get when(){return q(()=>!y.loading)()&&!S.loading},get fallback(){return Ll()},get children(){return[W(K,{get when(){return y()?.indexOverLimit},get children(){return Ol()}}),W(K,{get when(){return S()},get fallback(){return Rl()},children:e=>[(()=>{var t=Bl(),n=t.firstChild,i=n.firstChild,a=i.nextSibling,o=a.firstChild,s=n.nextSibling,c=s.firstChild;return X(i,()=>Zl(e(),r())),X(a,()=>e().file,o),X(a,()=>e().revision.slice(0,12),null),c.$$click=()=>void w(),X(s,W(K,{get when(){return e().kind===`entry`},get children(){var t=zl();return t.$$click=()=>g(e()),t}}),null),j(()=>c.disabled=S.loading),t})(),W(K,{get when(){return e().metadata},children:e=>(()=>{var t=Gl(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return X(n,()=>e().name),X(r,()=>e().type),X(i,()=>e().description),t})()}),W(K,{get when(){return e().metadataError},get children(){var t=Vl();return t.firstChild,X(t,()=>e().metadataError,null),t}}),(()=>{var t=Hl(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return n.$$click=()=>void A(),X(n,()=>p()?`saving…`:`save`),r.$$click=()=>{u(e().content),f(!1)},X(i,()=>d()?`unsaved draft`:`saved revision loaded`),j(e=>{var t=!d()||p(),i=!d()||p();return t!==e.e&&(n.disabled=e.e=t),i!==e.t&&(r.disabled=e.t=i),e},{e:void 0,t:void 0}),t})(),(()=>{var t=Ul();return t.$$input=t=>{u(t.currentTarget.value),f(t.currentTarget.value!==e().content)},j(()=>t.value=l()),t})(),(()=>{var e=Wl();return e.firstChild,e.$$keydown=e=>{e.key===`Enter`&&D(e)},e.$$click=D,X(e,W(qc,{get text(){return l()},throttle:!0}),null),e})()]})]}})),X(i,W(K,{get when(){return h()},children:e=>W(ut,{get title(){return`Delete ${e().file}?`},onDismiss:()=>g(void 0),get actions(){return[(()=>{var e=ql();return e.$$click=()=>g(void 0),e})(),(()=>{var e=Jl();return e.$$click=()=>void N(),X(e,()=>p()?`deleting…`:`delete entry`),j(()=>e.disabled=p()),e})()]},get children(){var t=Kl(),n=t.firstChild.nextSibling,r=n.firstChild.nextSibling;r.nextSibling;var i=n.nextSibling.nextSibling,a=i.firstChild.nextSibling;return a.nextSibling,X(n,()=>e().file,r),X(i,()=>e().file,a),t}})}),null),j(e=>{var t=_.loading||y.loading,n=y.loading||S.loading;return t!==e.e&&(c.disabled=e.e=t),n!==e.t&&Y(C,`aria-busy`,e.t=n),e},{e:void 0,t:void 0}),n})()}Me([`click`,`input`,`keydown`]);var tu=J(`<p class=pair-error>`),nu=J(`<main class=pair-card><span class=wordmark>dreb</span><h1>pair this device</h1><p class=sub>First login from a new device needs the current pairing code.</p><div class=identity><span class=row-line><span class=k>tailscale identity</span><span></span></span><span class=row-line><span class=k>allowlist</span><span class="chip chip-running"style=align-self:flex-end><span class=dot>●</span> allowed</span></span></div><div class=field><label for=pairing-pin>6-digit code</label><input id=pairing-pin class=pin-input type=text inputmode=numeric maxlength=6 autocomplete=one-time-code></div><p class=pin-hint>The code is shown in the dashboard <strong>Settings tab on the host machine</strong>. It rotates every 30 seconds.</p><div class=pair-actions><button type=button class="btn btn-primary"></button></div><div class=security-note><p><strong>Why a PIN?</strong> Your network identity got you here, but identity alone doesn't grant control. The code proves you can see the host machine's local dashboard — so a stolen or shared allowlist entry can't quietly gain access.</p><p><strong>What pairing grants.</strong> This browser gets a signed cookie for this host. It can chat with agents, run commands through them, browse the host's files, and upload/download — the same power as sitting at the terminal. Unpair anytime from settings → devices.`),ru=J(`<div class=pair-wrap>`),iu=J(`<p class="muted small">rejected identity: `),au=J(`<main class=denied-card><span class=wordmark>dreb</span><h1>access denied</h1><p></p><p class="muted small">If this device should have access, add its Tailscale identity to the dashboard allowlist on the host and reload.`);function ou(e){let[t,n]=k(``),[r,i]=k(),[a,o]=k(!1),s=()=>e.store.auth(),c=()=>s()?.error&&!s()?.needsPairing,l=()=>typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 700px)`).matches;async function u(){o(!0),i(void 0);try{await Q.pair(t()),await e.store.start(),e.store.navigate({screen:`fleet`})}catch(e){i(e instanceof Error?e.message:String(e))}finally{o(!1)}}return(()=>{var e=ru();return X(e,W(K,{get when(){return!c()},get fallback(){return(()=>{var e=au(),t=e.firstChild.nextSibling.nextSibling,n=t.nextSibling;return X(t,()=>s()?.error),X(e,W(K,{get when(){return s()?.identity},get children(){var e=iu();return e.firstChild,X(e,()=>s().identity,null),e}}),n),e})()},get children(){var e=nu(),i=e.firstChild.nextSibling.nextSibling.nextSibling,o=i.firstChild,c=o.firstChild.nextSibling;o.nextSibling.firstChild.nextSibling;var d=i.nextSibling,f=d.firstChild.nextSibling,p=d.nextSibling.nextSibling,m=p.firstChild;return X(c,()=>s()?.identity??`unknown`),f.$$keydown=e=>{e.key===`Enter`&&t().length===6&&!l()&&u()},f.$$input=e=>n(e.currentTarget.value.replace(/\D/g,``).slice(0,6)),X(e,W(K,{get when(){return r()},get children(){var e=tu();return X(e,r),e}}),p),m.$$click=u,X(m,()=>a()?`pairing…`:`pair device`),j(()=>m.disabled=t().length!==6||a()),j(()=>f.value=t()),e}})),e})()}Me([`input`,`keydown`,`click`]);function su(e,t){let n=e.trim(),r=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(n);if(!r)return;let i=t.find(e=>e.source===`builtin`&&e.name===r[1]);if(i)return{command:i,args:(r[2]??``).trim()}}async function cu(e,t,n){let r=t[e.command.name];if(r){await r(e.args);return}if(e.command.dashboard===!1){n(`/${e.command.name} is available only in the terminal UI.`);return}n(`/${e.command.name} isn't implemented in the dashboard yet — use the terminal UI.`)}function lu(e,t,n=8){let r=new Map;for(let t of e)(!r.get(t.name)||t.source===`builtin`)&&r.set(t.name,t);return[...r.values()].filter(e=>e.source!==`builtin`||e.dashboard!==!1).filter(e=>{let n=e.name.toLowerCase();return!t||n.startsWith(t)||n.includes(t)}).sort((e,n)=>{let r=e.name.toLowerCase(),i=n.name.toLowerCase();return(t?+!r.startsWith(t):+(e.source===`builtin`))-(t?+!i.startsWith(t):+(n.source===`builtin`))||e.name.localeCompare(n.name)}).slice(0,n)}function uu(e,t){return Math.max(120,Math.floor((e||800)*(t?.26:.4)))}function du(e){return typeof DOMException<`u`&&e instanceof DOMException&&e.name===`AbortError`?!0:typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var fu=new Map,pu=new Map;function mu(e){return pu.get(e)}function hu(e,t){pu.set(e,t)}function gu(e){return fu.get(e)??[]}function _u(e,t){let n=fu.get(e)??[];n.push(t),fu.set(e,n.slice(-100))}function vu(e){fu.delete(e),pu.delete(e)}var yu=J(`<p style=margin-bottom:12px>`),bu=J(`<div class=recent-projects>`),xu=J(`<div class=field><input type=text>`),Su=J(`<div class=field><textarea rows=8>`),Cu=J(`<button type=button class="btn btn-small">cancel`),wu=J(`<button type=button class="btn btn-small btn-primary">confirm`),Tu=J(`<button type=button class="btn btn-small btn-primary">submit`),Eu=J(`<button type=button>`),Du=J(`<h4 class=ask-question-title>`),Ou=J(`<fieldset class=ask-options><legend class=ask-options-legend>Answer options`),ku=J(`<textarea rows=5>`),Au=J(`<div class="field ask-custom-field"><label class=ask-custom-label>`),ju=J(`<div class=ask-actions><button type=button class="btn btn-small btn-danger"></button><button type=button class="btn btn-small btn-primary">submit`),Mu=J(`<div class=ask-question role=tabpanel>`),Nu=J(`<span class=ask-option-check>✔`),Pu=J(`<label class=ask-option><span class=ask-option-index></span><input><span class=ask-option-label>`),Fu=J(`<input type=text placeholder="Type a different answer…">`),Iu=J(`<span class=ask-wizard-countdown> (auto-stops in <!>s)`),Lu=J(`<div class=ask-tab-strip role=tablist aria-label=questions><button type=button role=tab class="ask-tab ask-tab-submit">Submit`),Ru=J(`<div class=ask-tab-panel><div class=ask-review role=tabpanel><ul class=ask-review-list></ul><div class=ask-actions><button type=button class="btn btn-small btn-danger"></button><button type=button class="btn btn-small btn-primary">Submit all`),zu=J(`<section class=ask-wizard><header class=ask-wizard-header><span class=ask-wizard-title>`),Bu=J(`<span class=ask-tab-check role=img aria-label=answered>✓`),Vu=J(`<button type=button role=tab class=ask-tab>. `),Hu=J(`<div class=ask-tab-panel>`),Uu=J(`<li class=ask-review-item><span class=ask-review-question>`),Wu=J(`<span class="ask-review-answer muted">(unanswered)`),Gu=J(`<span class=ask-review-answer>`),Ku=J(`<ul>`),qu=J(`<section class=context-section><h3>`),Ju=J(`<p class="muted small">none`),Yu=J(`<p class=pair-error>`),Xu=J(`<p class="muted small">loading…`),Zu=J(`<p class="muted small">system prompt: custom`),Qu=J(`<div class=context-modal-body>`),$u=J(`<li>`),ed=J(`<span class=muted> — `),td=J(`<li><span>`),nd=J(`<li><span></span><span class=muted> — `),rd=J(`<div class=model-scope-tabs role=tablist aria-label="model scope"><button type=button role=tab>scoped</button><button type=button role=tab>all`),id=J(`<div class=field style=margin-bottom:8px><input type=text placeholder="search models…">`),ad=J(`<div class="model-list session-model-list"style=max-height:320px>`),od=J(`<p class="muted small">No matching models.`),sd=J(`<section class=model-provider-group><div class=model-provider-heading>`),cd=J(`<span class=model-name>`),ld=J(`<span class=model-reasoning>think`),ud=J(`<button type=button class=model-row><span class=model-current></span><span class=model-id></span><span class=model-provider-badge>`),dd=J(`<div class=fork-message-list>`),fd=J(`<p class="muted small">`),pd=J(`<span class="muted small">current`),md=J(`<button type=button class=fork-message><span class=fork-entry-id></span><span>`),hd=J(`<button type=button class=fork-message><span></span><span class="muted small"> messages`),gd=J(`<p class="muted small">Replace the current session with a JSONL session file.`),_d=J(`<div class=field><input type=text placeholder=/path/to/session.jsonl>`),vd=J(`<button type=button class="btn btn-small btn-primary">import and replace`),yd=J(`<output class=switcher><span class=label>ctx</span> `),bd=J(`<div class="session-bar-inner session-controls"><button type=button class="switcher optional model-switcher"><span class=label>model</span> <span class=value></span></button><button type=button class="switcher optional"><span class=label>think</span> </button><button type=button class=switcher>⋯`),xd=J(`<button type=button class="btn btn-small">model: `),Sd=J(`<button type=button class="btn btn-small">think: `),Cd=J(`<div class=session-bar-inner style=justify-content:flex-end;gap:8px><a class="btn btn-small">export HTML</a><button type=button class="btn btn-small">compact now</button><button type=button class="btn btn-small">expand tools</button><button type=button class="btn btn-small">collapse tools</button><button type=button class="btn btn-small">rename</button><button type=button class="btn btn-small">fork</button><button type=button class="btn btn-small">loaded context</button><button type=button class="btn btn-small btn-danger">`),wd=J(`<span class=session-info-left>`),Td=J(`<span class=historical-cwd>original session: `),Ed=J(`<button type=button class="session-info-right stats-trigger">`),Dd=J(`<div class=stats-popover>`),Od=J(`<div class="session-bar-inner session-info-bar"><div class=session-summary-row>`),kd=J(`<span class=dock-collapsed-hint>`),Ad=J(`<details class=tasks><summary>tasks — <!> of <!> done</summary><ul>`),jd=J(`<details class="tasks subagents"><summary>subagents — <!> running · <!> done</summary><ul class=subagent-list>`),Md=J(`<span class=working>● working`),Nd=J(`<button type=button class="btn btn-small btn-danger">`),Pd=J(`<div class=status-line>`),Fd=J(`<div class=dock-panels>`),Id=J(`<div class=queued-message-row><button type=button class="btn btn-small">restore to composer`),Ld=J(`<div class=attachment-strip>`),Rd=J(`<div class=command-popover role=listbox id=command-listbox aria-label="slash commands">`),zd=J(`<span class=mode-toggle role=radiogroup aria-label="send mode"><button type=button title="Deliver now — injected into the running turn">steer</button><button type=button title="Queue — delivered after the agent finishes">follow-up`),Bd=J(`<button type=button class=ghost-suggest>suggested: <code></code> <span class=key>tap`),Vd=J(`<div class=composer><textarea></textarea><div class=composer-row><input type=file multiple class=hidden-file-input><input type=file accept=image/* multiple class=hidden-file-input><button type=button class="btn btn-small"title="attach file (uploads to workspace and sends path)">📎 file</button><button type=button class="btn btn-small"title="attach image inline">🖼 photo</button><button type=button class="btn btn-primary btn-small send">send ↵`),Hd=J(`<div class=dock-inner>`),Ud=J(`<p>Summarize older context to free window space. The transcript keeps a summary card.`),Wd=J(`<div class=session-screen><header class=session-bar><div class="session-bar-inner session-bar-main"><div class=session-navigation><a class=back href=#/>← fleet</a></div><span class=title></span><div class=session-header-actions><button type=button class=chrome-toggle></button></div></div></header><div class=session-body><div class=session-main><main class=chat><div class=chat-inner></div></main><footer class=dock><div class=dock-collapse-row><button type=button class=chrome-toggle>`),Gd=J(`<span class=project>`),Kd=J(`<span> • `),qd=J(`<span>`),Jd=J(`<p class="muted small">loading stats…`),Yd=J(`<div class=stats-grid><span>user messages</span><strong></strong><span>assistant messages</span><strong></strong><span>tool calls/results</span><strong>/</strong><span>input/output</span><strong> / </strong><span>cache read/write</span><strong> / </strong><span>total tokens</span><strong></strong><span>cost</span><strong>$`),Xd=J(`<p class=muted>loading transcript…`),Zd=J(`<div class=widget-block>`),Qd=J(`<li> `),$d=J(`<li><button type=button class=agent-chip title="view this subagent's session"><span></span><span class=task> — `),ef=J(`<button type=button class="btn btn-small btn-danger inline-stop">stop `),tf=J(`<div class=readonly-note>This session is closed; its transcript is read-only.`),nf=J(`<span class=queued-chip><span class=queued-kind>`),rf=J(`<span class=attachment-file><span>📎 </span><span class=muted></span><button type=button aria-label="remove file attachment">×`),af=J(`<span class=attachment-thumb><img><button type=button aria-label="remove image">×`),of=J(`<span class=command-description>`),sf=J(`<button type=button role=option class=command-option><span class=command-name>/</span><span class=command-source>`),cf=J(`<button type=button class="btn btn-small btn-primary">compact`),lf=J(`<p class="muted small">loading forkable messages…`),uf=J(`<button type=button class=fork-message><span class=fork-role></span><span>`),df=J(`<button type=button class="btn btn-small btn-primary">rename`),ff=10*1024*1024,pf=`.dreb-dashboard-uploads`;function mf(e){return e?`${e.provider}/${e.id}`:`—`}function hf(e){if(!e)return`—`;let t=`${e.provider}/${e.id}`;return e.name?`${t} — ${e.name}`:t}function gf(e){return e<1e3?e.toString():e<1e4?`${(e/1e3).toFixed(1)}k`:e<1e6?`${Math.round(e/1e3)}k`:e<1e7?`${(e/1e6).toFixed(1)}M`:`${Math.round(e/1e6)}M`}function _f(e){if(!e||e.rolling.count<3)return;let t={above:`↑`,below:`↓`,stable:`→`},n=e.delta.direction===`stable`?0:Math.round(Math.abs(e.delta.percentDelta)),r=e.delta.recentCount>=3&&e.delta.baselineCount>=3?` · ${n}% ${t[e.delta.direction]} median [${e.delta.baselineCount}]`:``;return`~${Math.round(e.rolling.median)} tok/s [${e.rolling.count}]${r}`}function vf(e,t){if(!t)return;let n=e?.models.find(e=>e.provider===t.provider&&e.modelId===t.id);return _f(n)}function yf(e){return e.replace(/^\/home\/[^/]+/,`~`)}function bf(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function xf(e){let t=e.trim().replace(/[\\/\0]/g,`_`);return t&&t!==`.`&&t!==`..`?t:`upload.bin`}function Sf(e,t){return`${new Date().toISOString().replace(/[:.]/g,`-`)}-${t+1}-${xf(e.name||`upload.bin`)}`}function Cf(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function wf(e,t){return`${e.provider}/${e.id} ${e.name??``}`.toLowerCase().includes(t)}function Tf(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t.entries()].map(([e,t])=>({provider:e,models:t}))}function Ef(e){e.style.height=`auto`;let t=window.matchMedia?.(`(max-width: 700px)`)?.matches??!1,n=uu(window.innerHeight,t),r=Math.min(e.scrollHeight,n);r>0&&(e.style.height=`${r}px`),e.style.overflowY=e.scrollHeight>n?`auto`:`hidden`}function Df(e){let[t,n]=k(e.request.prefill??``),r=t=>e.onRespond({type:`extension_ui_response`,id:e.request.id,...t});return W(ut,{get title(){return e.request.title},onDismiss:()=>r({cancelled:!0}),get actions(){return W(K,{get when(){return e.request.method!==`select`},get children(){return[(()=>{var e=Cu();return e.$$click=()=>r({cancelled:!0}),e})(),W(K,{get when(){return e.request.method===`confirm`},get children(){var e=wu();return e.$$click=()=>r({confirmed:!0}),e}}),W(K,{get when(){return e.request.method===`input`||e.request.method===`editor`},get children(){var e=Tu();return e.$$click=()=>r({value:t()}),e}})]}})},get children(){return[W(K,{get when(){return e.request.message},get children(){var t=yu();return X(t,()=>e.request.message),t}}),W(K,{get when(){return e.request.method===`select`},get children(){var t=bu();return X(t,W(G,{get each(){return e.request.options??[]},children:e=>(()=>{var t=Eu();return t.$$click=()=>r({value:e}),X(t,e),t})()})),t}}),W(K,{get when(){return e.request.method===`input`},get children(){var r=xu(),i=r.firstChild;return i.$$input=e=>n(e.currentTarget.value),j(()=>Y(i,`placeholder`,e.request.placeholder)),j(()=>i.value=t()),r}}),W(K,{get when(){return e.request.method===`editor`},get children(){var e=Su(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e}})]}})}function Of(e){let t=e.target,n=t?.tagName;return n===`INPUT`||n===`TEXTAREA`||t?.isContentEditable===!0}function kf(e){let t=()=>e.request.questions??[],n=()=>t().length,r=()=>n()>=2,i,[a,o]=k(t().map(()=>({selected:[],customText:``})));M(()=>{let e=n();o(n=>n.length===e?n:t().map((e,t)=>n[t]??{selected:[],customText:``}))});let[s,c]=k(0),l=()=>r()&&s()===n(),u=t=>e.onRespond({type:`extension_ui_response`,id:e.request.id,...t}),d=e=>t()[e]?.options??[],f=e=>t()[e]?.allowFreeText!==!1,p=e=>t()[e]?.multiSelect===!0&&d(e).length>0,m=(e,t)=>o(n=>n.map((n,r)=>r===e?t(n):n)),h=(e,t)=>{m(e,n=>{if(p(e)){let e=n.selected.includes(t)?n.selected.filter(e=>e!==t):[...n.selected,t];return{...n,selected:e}}return{...n,selected:[t]}})},g=(e,t)=>m(e,e=>({...e,customText:t})),_=e=>{let t=a()[e];return t?t.selected.length>0||t.customText.trim().length>0:!1},v=e=>{let t=a()[e];if(!t)return;let n=[...t.selected],r=t.customText.trim();return r&&n.push(r),n.length>0?n.join(`, `):void 0},y=()=>{e.stopping||e.onStop()},b=()=>{let e=a().map(e=>{let t=e.selected,n=e.customText.trim()||void 0;return t.length>0||n?{selected:t,customText:n}:{selected:[],skipped:!0}});u({answers:e})},x=e=>{if(e.key===`Escape`){e.preventDefault(),y();return}if(e.key===`Enter`&&n()===1&&!l()){let t=e.target;t&&i?.contains(t)&&t.tagName!==`TEXTAREA`&&t.tagName!==`BUTTON`&&(e.preventDefault(),b());return}if(r()&&(e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`Tab`)){if(Of(e))return;let t=n(),r=e.key===`ArrowLeft`?-1:1;e.preventDefault(),c(e=>{let n=e+r;return n<0?t:n>t?0:n});return}if(!l()&&/^[1-9]$/.test(e.key)&&!Of(e)){let t=s(),n=d(t),r=Number(e.key)-1;r<n.length&&(e.preventDefault(),h(t,n[r]))}};R(()=>window.addEventListener(`keydown`,x)),z(()=>window.removeEventListener(`keydown`,x));let S=typeof e.request.expiresAt==`number`?e.request.expiresAt:e.request.timeout&&e.request.timeout>0?Date.now()+e.request.timeout:void 0,C=()=>S===void 0?0:Math.max(0,Math.ceil((S-Date.now())/1e3)),[w,T]=k(C());if(S!==void 0){let e,t=()=>{let t=C();T(t),t<=0&&(e!==void 0&&clearInterval(e),e=void 0,y())};R(()=>{t(),S>Date.now()&&(e=setInterval(t,1e3))}),z(()=>{e!==void 0&&clearInterval(e)})}let E=(t,r)=>(()=>{var i=Mu();return X(i,W(K,{get when(){return t.title},get children(){var e=Du();return X(e,()=>t.title),e}}),null),X(i,W(qc,{get text(){return t.question??``},class:`ask-question-body markdown-body`}),null),X(i,W(K,{get when(){return d(r).length>0},get children(){var t=Ou();return t.firstChild,X(t,W(G,{get each(){return d(r)},children:(t,n)=>(()=>{var i=Pu(),o=i.firstChild,s=o.nextSibling,c=s.nextSibling;return X(o,()=>n()+1),s.addEventListener(`change`,()=>h(r,t)),X(c,t),X(i,W(K,{get when(){return a()[r]?.selected.includes(t)},get children(){return Nu()}}),null),j(n=>{var o=!!a()[r]?.selected.includes(t),c=p(r)?`checkbox`:`radio`,l=p(r)?void 0:`ask-option-input--hidden`,u=`ask-${e.request.id}-${r}`;return o!==n.e&&i.classList.toggle(`selected`,n.e=o),c!==n.t&&Y(s,`type`,n.t=c),l!==n.a&&Ne(s,n.a=l),u!==n.o&&Y(s,`name`,n.o=u),n},{e:void 0,t:void 0,a:void 0,o:void 0}),j(()=>s.checked=a()[r]?.selected.includes(t)),i})()}),null),t}}),null),X(i,W(K,{get when(){return f(r)},get children(){var n=Au(),i=n.firstChild;return X(i,()=>d(r).length>0?`Or type your own answer`:`Your answer`),X(n,W(K,{get when(){return t.multiline},get fallback(){return(()=>{var t=Fu();return t.$$input=e=>g(r,e.currentTarget.value),j(()=>Y(t,`id`,`ask-custom-${e.request.id}-${r}`)),j(()=>t.value=a()[r]?.customText??``),t})()},get children(){var t=ku();return t.$$input=e=>g(r,e.currentTarget.value),j(()=>Y(t,`id`,`ask-custom-${e.request.id}-${r}`)),j(()=>t.value=a()[r]?.customText??``),t}}),null),j(()=>Y(i,`for`,`ask-custom-${e.request.id}-${r}`)),n}}),null),X(i,W(K,{get when(){return n()===1},get children(){var t=ju(),n=t.firstChild,r=n.nextSibling;return n.$$click=y,X(n,()=>e.stopping?`stopping…`:`■ stop agent`),r.$$click=b,j(()=>n.disabled=e.stopping),t}}),null),i})();return(()=>{var a=zu(),o=a.firstChild,u=o.firstChild,d=i;return typeof d==`function`?Le(d,a):i=a,X(u,()=>e.request.title),X(o,W(K,{when:S!==void 0,get children(){var e=Iu(),t=e.firstChild.nextSibling;return t.nextSibling,X(e,w,t),e}}),null),X(a,W(K,{get when(){return r()},get children(){var e=Lu(),r=e.firstChild;return X(e,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Vu(),r=n.firstChild;return n.$$click=()=>c(t()),X(n,()=>t()+1,r),X(n,()=>e.title??e.question,null),X(n,W(K,{get when(){return _(t())},get children(){return Bu()}}),null),j(e=>{var r=s()===t(),i=s()===t(),a=!!_(t());return r!==e.e&&Y(n,`aria-selected`,e.e=r),i!==e.t&&n.classList.toggle(`selected`,e.t=i),a!==e.a&&n.classList.toggle(`answered`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),n})()}),r),r.$$click=()=>c(n()),j(e=>{var t=l(),n=!!l();return t!==e.e&&Y(r,`aria-selected`,e.e=t),n!==e.t&&r.classList.toggle(`selected`,e.t=n),e},{e:void 0,t:void 0}),e}}),null),X(a,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Hu();return X(n,()=>E(e,t())),j(()=>n.classList.toggle(`hidden`,s()!==t())),n})()}),null),X(a,W(K,{get when(){return r()},get children(){var n=Ru(),r=n.firstChild.firstChild,i=r.nextSibling.firstChild,a=i.nextSibling;return X(r,W(G,{get each(){return t()},children:(e,t)=>(()=>{var n=Uu(),r=n.firstChild;return X(r,()=>e.title??e.question),X(n,W(K,{get when(){return v(t())},get fallback(){return Wu()},children:e=>(()=>{var t=Gu();return X(t,e),t})()}),null),n})()})),i.$$click=y,X(i,()=>e.stopping?`stopping…`:`cancel`),a.$$click=b,j(t=>{var r=!l(),a=e.stopping;return r!==t.e&&n.classList.toggle(`hidden`,t.e=r),a!==t.t&&(i.disabled=t.t=a),t},{e:void 0,t:void 0}),n}}),null),j(()=>Y(a,`aria-label`,e.request.title)),a})()}function Af(e){let t=(e,t)=>(()=>{var n=qu(),r=n.firstChild;return X(r,e),X(n,W(K,{get when(){return t.length>0},get fallback(){return Ju()},get children(){var e=Ku();return X(e,t),e}}),null),n})();return W(ut,{title:`loaded context`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.resources},get fallback(){return Xu()},children:e=>(()=>{var n=Qu();return X(n,()=>t(`context files`,e().contextFiles.map(e=>(()=>{var t=$u();return X(t,()=>yf(e.path)),j(()=>Y(t,`title`,e.path)),t})())),null),X(n,()=>t(`skills`,e().skills.map(e=>(()=>{var t=td(),n=t.firstChild;return X(n,()=>e.name),X(t,W(K,{get when(){return e.description},get children(){var t=ed();return t.firstChild,X(t,()=>e.description,null),t}}),null),t})())),null),X(n,()=>t(`extensions`,e().extensions.map(e=>(()=>{var t=nd(),n=t.firstChild,r=n.nextSibling;return r.firstChild,X(n,()=>e.name??`extension`),X(r,()=>yf(e.path),null),j(()=>Y(t,`title`,e.path)),t})())),null),X(n,()=>t(`prompt templates`,e().promptTemplates.map(e=>(()=>{var t=$u();return X(t,()=>e.name),t})())),null),X(n,W(K,{get when(){return e().systemPromptPresent},get children(){return Zu()}}),null),n})()})]}})}function jf(e){let[t,n]=k([]),[r,i]=k(e.initialFilter??``),[a,o]=k((e.state?.scopedModels?.length??0)>0?`scoped`:`all`),[s,c]=k();R(async()=>{try{let{models:t}=await Q.models(e.sessionKey);n(t)}catch(e){c(e instanceof Error?e.message:String(e))}});let l=N(()=>(e.state?.scopedModels??[]).map(e=>({provider:e.provider,id:e.id,name:e.name,reasoning:e.reasoning}))),u=()=>l().length>0,d=()=>a()===`scoped`&&u()?l():t(),f=N(()=>{let e=r().toLowerCase();return Tf(d().filter(t=>!e||wf(t,e)).slice(0,100))}),p=t=>e.state?.model?.provider===t.provider&&e.state?.model?.id===t.id;async function m(t){try{let n=await Q.setModel(e.sessionKey,t.provider,t.id);e.onSelected(n),e.onClose()}catch(e){c(e instanceof Error?e.message:String(e))}}return W(ut,{title:`select model`,get onDismiss(){return e.onClose},class:`model-picker-modal`,get children(){return[W(K,{get when(){return u()},get children(){var e=rd(),t=e.firstChild,n=t.nextSibling;return t.$$click=()=>o(`scoped`),n.$$click=()=>o(`all`),j(e=>{var r=a()===`scoped`,i=a()===`scoped`,o=a()===`all`,s=a()===`all`;return r!==e.e&&Y(t,`aria-selected`,e.e=r),i!==e.t&&t.classList.toggle(`selected`,e.t=i),o!==e.a&&Y(n,`aria-selected`,e.a=o),s!==e.o&&n.classList.toggle(`selected`,e.o=s),e},{e:void 0,t:void 0,a:void 0,o:void 0}),e}}),(()=>{var e=id(),t=e.firstChild;return t.$$input=e=>i(e.currentTarget.value),j(()=>t.value=r()),e})(),W(K,{get when(){return s()},get children(){var e=Yu();return X(e,s),e}}),(()=>{var e=ad();return X(e,W(K,{get when(){return f().length>0},get fallback(){return od()},get children(){return W(G,{get each(){return f()},children:e=>(()=>{var t=sd(),n=t.firstChild;return X(n,()=>e.provider),X(t,W(G,{get each(){return e.models},children:e=>(()=>{var t=ud(),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return t.$$click=()=>m(e),X(n,()=>p(e)?`✓`:``),X(r,()=>e.id),X(t,W(K,{get when(){return e.name},get children(){var t=cd();return X(t,()=>e.name),t}}),i),X(i,()=>e.provider),X(t,W(K,{get when(){return e.reasoning},get children(){return ld()}}),null),j(n=>{var r=!!p(e),i=hf(e);return r!==n.e&&t.classList.toggle(`current`,n.e=r),i!==n.t&&Y(t,`title`,n.t=i),n},{e:void 0,t:void 0}),t})()}),null),t})()})}})),e})()]}})}function Mf(e){let t=[],n=[...e].reverse().map(e=>({node:e,depth:0}));for(;n.length>0;){let e=n.pop();if(!e)break;t.push(e);for(let t=e.node.children.length-1;t>=0;--t)n.push({node:e.node.children[t],depth:e.depth+1})}return t}function Nf(e){return W(ut,{title:`session tree`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.roots.length>0},get fallback(){return(()=>{var t=fd();return X(t,()=>e.loading?`loading tree…`:`No session entries yet.`),t})()},get children(){var t=dd();return X(t,W(G,{get each(){return Mf(e.roots)},children:({node:t,depth:n})=>(()=>{var r=md(),i=r.firstChild,a=i.nextSibling;return r.$$click=()=>e.onNavigate(t.id),Ie(r,`padding-left`,`${12+n*18}px`),X(i,()=>t.id.slice(0,8)),X(a,()=>t.label??(t.preview||t.type)),X(r,W(K,{get when(){return t.id===e.leafId},get children(){return pd()}}),null),j(()=>r.disabled=t.id===e.leafId),r})()})),t}})]}})}function Pf(e){return W(ut,{title:`resume session`,get onDismiss(){return e.onClose},get children(){return[W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}}),W(K,{get when(){return e.sessions.length>0},get fallback(){return(()=>{var t=fd();return X(t,()=>e.loading?`loading sessions…`:`No other sessions found.`),t})()},get children(){var t=dd();return X(t,W(G,{get each(){return e.sessions},children:t=>(()=>{var n=hd(),r=n.firstChild,i=r.nextSibling,a=i.firstChild;return n.$$click=()=>e.onResume(t.path),X(r,()=>t.name??(t.firstMessage||t.path)),X(i,()=>t.messageCount,a),n})()})),t}})]}})}function Ff(e){let[t,n]=k(e.initialPath);return W(ut,{title:`import session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=Cu();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var n=vd();return n.$$click=()=>e.onImport(t().trim()),j(()=>n.disabled=!t().trim()),n})()]},get children(){return[gd(),(()=>{var e=_d(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),W(K,{get when(){return e.error},get children(){var t=Yu();return X(t,()=>e.error),t}})]}})}function If(e){let t=()=>e.store.sessions[e.sessionKey],n=N(()=>e.store.fleet().runtimes.find(t=>t.key===e.sessionKey)),r=N(()=>n()?.state.availableThinkingLevels??[`off`]),[i,a]=k(mu(e.sessionKey)??``),[o,s]=k(`steer`),[c,l]=k(!1),[u,d]=k(!1),[f,p]=k(!1),[m,h]=k(``),[g,_]=k(!1),[v,y]=k(!1),[b,x]=k(!1),[S,C]=k(!1),[w,T]=k(!1),[E,D]=k(!1),[O,A]=k(!1),[P,F]=k(),[I,L]=k(),[ee,te]=k(0),[ne,re]=k(),[ie,ae]=k(),[B,oe]=k(),[V,se]=k(),[H,ce]=k([]),[le,ue]=k(!1),[de,fe]=k(0),[pe,me]=k(),[he,ge]=k(),[_e,ve]=k({steering:[],followUp:[]}),[U,ye]=k([]),[be,xe]=k([]),[Se,Ce]=k(),[we,Te]=k(!1),[Ee,De]=k([]),[Oe,ke]=k(),[Ae,je]=k(!1),[J,Me]=k([]),[Pe,Fe]=k(null),[Ie,Re]=k(!1),[ze,Be]=k(),[Ve,He]=k(!1),[Ue,We]=k(!1),[Ge,Ke]=k([]),[qe,Je]=k(!1),[Ye,Xe]=k(),[Ze,Qe]=k(!1),[$e,et]=k(``),[tt,nt]=k(),[rt,it]=k(!1),[at,ot]=k(),st=Vr(),ct=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),ft=()=>ct().length>0;M(()=>{ft()||st.close()});let pt,mt,ht,Z,gt,_t,vt=!1,yt=new AbortController;z(()=>{vt=!0,yt.abort()});let bt=0,$=()=>t()?.closed,xt=()=>!$()&&(t()?.streaming??!1),St=()=>!$()&&(t()?.compacting??!1),Ct=()=>(t()?.statusEntries??[]).some(e=>e.key===`paused`),wt=()=>Object.values(t()?.backgroundAgents??{}).some(e=>e.status===`running`),Tt=()=>!$()&&(xt()||St()||Ct()||wt()),Et=()=>$()?[]:(t()?.statusEntries??[]).filter(e=>e.key===`compaction`||e.key===`retry`),Dt=oc({scroller:()=>pt});async function Ot(t=!1){if(vt||$())return;let n=++bt,[r,i,a]=await Promise.allSettled([e.store.refreshRuntimeStats(e.sessionKey),Q.performance(e.sessionKey),Q.branch(e.sessionKey)]),o=t?await Promise.allSettled([Q.dailyCost()]):void 0;if(vt||$()||n!==bt)return;r.status===`fulfilled`&&re(r.value),i.status===`fulfilled`&&ae(i.value),a.status===`fulfilled`&&oe(a.value.branch),o?.[0]?.status===`fulfilled`&&se(o[0].value);let s=[r,i,a,...o??[]].find(e=>e.status===`rejected`);s?.status===`rejected`&&F(s.reason instanceof Error?s.reason.message:String(s.reason))}async function kt(){if(!$())try{let{commands:t}=await Q.commands(e.sessionKey);vt||ce(t)}catch(e){!vt&&!$()&&F(e instanceof Error?e.message:String(e))}}async function At(){D(!0),ge(void 0);try{me(await Q.resources(e.sessionKey))}catch(e){ge(e instanceof Error?e.message:String(e))}}async function jt(){if(!(vt||$()))try{ve(await Q.pending(e.sessionKey))}catch(e){$()||F(e instanceof Error?e.message:String(e))}}let Mt=new Set,Nt=async t=>{let n=typeof t.id==`string`?t.id:void 0;if(!(n&&Mt.has(n))){n&&Mt.add(n);try{await Q.extensionUiResponse(e.sessionKey,t),n&&e.store.sessions[e.sessionKey]&&!$()&&e.store.resolveUiRequest(e.sessionKey,n)}catch(e){F(e instanceof Error?e.message:String(e))}finally{n&&Mt.delete(n)}}};function Pt(e){let t=atob(e);return Uint8Array.from(t,e=>e.charCodeAt(0))}function Ft(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}async function It(e){return Ft(new Uint8Array(await e.arrayBuffer()))}function Lt(e){URL.revokeObjectURL(e.previewUrl)}function Rt(){for(let e of U())Lt(e);ye([])}function zt(e){ye(t=>{let n=t[e];return n&&Lt(n),t.filter((t,n)=>n!==e)})}function Bt(e){if(U().reduce((e,t)=>e+t.size,0)+e>zn)throw Error(`Images too large: total inline images exceed ${Cf(zn)}`)}function Vt(e,t,n){return{blob:e,mimeType:t,fileName:n,size:e.size,previewUrl:URL.createObjectURL(e)}}function Ht(e,t,n){let r=Pt(e.data);return Vt(new Blob([r],{type:e.mimeType}),e.mimeType,`queued-image-${t+1}-${n+1}`)}function Ut(e){return[...e.steeringMessages??e.steering.map(e=>({text:e})),...e.followUpMessages??e.followUp.map(e=>({text:e}))]}function Wt(e){let t=[];for(let[n,r]of e.entries())for(let[e,i]of(r.images??[]).entries())t.push(Ht(i,n,e));return t}function Gt(e){for(let t of e)Lt(t)}function Kt(e){let t=e.map(e=>e.text).join(`
70
70
 
71
71
  `),n=i();a([t,n].filter(e=>e.trim()).join(`
72
72
 
@@ -74,6 +74,6 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
74
74
  `)),U().length>0&&t.push([`Attached images included inline with this turn:`,...U().map((e,t)=>`- image ${t+1}: ${e.fileName} (${Cf(e.size)}, ${e.mimeType})`)].join(`
75
75
  `)),[e,...t].filter(e=>e.trim()).join(`
76
76
 
77
- `)}function mn(e,t,n=`/${e}`){return t?(L(`Usage: ${n}`),!0):!1}function hn(){let t=document.createElement(`a`);t.href=Q.exportHtmlUrl(e.sessionKey),t.download=``,document.body.append(t),t.click(),t.remove()}let gn={settings:async t=>{mn(`settings`,t)||e.store.navigate({screen:`settings`})},"scoped-models":async t=>{if(mn(`scoped-models`,t))return;let r=n()?.cwd;if(!r)throw Error(`Cannot open scoped models: the runtime project directory is unavailable`);e.store.navigate({screen:`settings`,target:`scoped-models`,cwd:r})},model:async e=>{h(e),p(!0)},export:async e=>{mn(`export`,e)||hn()},import:async e=>{et(e),nt(void 0),Qe(!0)},name:async t=>{t?await Q.rename(e.sessionKey,t):T(!0)},session:async e=>{mn(`session`,e)||(y(!1),await sn())},fork:async e=>{mn(`fork`,e)||await rn()},tree:async e=>{mn(`tree`,e)||await Qt()},new:async t=>{if(mn(`new`,t))return;if(xt()||St()){L(`Wait for the current operation to finish before starting a new session.`);return}let n=await Q.newSession(e.sessionKey);vt||$()||(n.cancelled?L(`New session cancelled.`):(await e.store.hydrateSession(e.sessionKey,yt.signal),await e.store.refreshDiskSessions()))},compact:async t=>{t?(await Q.compact(e.sessionKey,t),L(`Compaction started.`)):C(!0)},dream:async t=>{let n=await Q.dream(e.sessionKey,t||void 0);L(n.message)},resume:async e=>{mn(`resume`,e)||await en()},reload:async t=>{if(mn(`reload`,t))return;if(xt()||St()){L(`Wait for the current operation to finish before reloading.`);return}if(await Q.reload(e.sessionKey),vt||$())return;let[{commands:n}]=await Promise.all([Q.commands(e.sessionKey),e.store.hydrateSession(e.sessionKey,yt.signal)]);ce(n),L(`Reloaded extensions, skills, prompts, themes, and settings.`)},quit:async e=>{mn(`quit`,e)||await yn()}};async function _n(){let t=i().trim();if(!t&&be().length===0&&U().length===0)return;F(void 0),L(void 0);let n=su(t,H());if(n){if(be().length>0||U().length>0){L(`Remove attachments before running a built-in command; nothing was sent or discarded.`);return}try{await cu(n,gn,L),a(``),Ce(void 0)}catch(e){F(e instanceof Error?e.message:String(e))}return}let r=pn(t||`Please review the attached item(s). `);try{let t=U(),n=t.length>0?await Promise.all(t.map(async({blob:e,mimeType:t})=>({data:await It(e),mimeType:t}))):void 0;if(vt||$()||(xt()?await Q.prompt(e.sessionKey,r,o(),n):n?await Q.prompt(e.sessionKey,r,void 0,n):await Q.prompt(e.sessionKey,r),vt||$()))return;_u(e.sessionKey,r),Ce(void 0),a(``),Rt(),xe([]),jt()}catch(e){F(e instanceof Error?e.message:String(e))}}async function vn(){l(!0);try{if(await Q.abort(e.sessionKey),vt||$())return;await qt()}catch(e){F(e instanceof Error?e.message:String(e))}finally{l(!1)}}async function yn(){if(!u()){d(!0),F(void 0);try{await e.store.stopRuntime(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}finally{d(!1)}}}async function bn(t){try{t===`compaction`?await Q.abortCompaction(e.sessionKey):t===`retry`&&await Q.abortRetry(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}}function xn(e){pt?.querySelectorAll(`details.tool`).forEach(t=>{t.open=e})}let Sn=()=>$()?[]:Object.values(t()?.backgroundAgents??{}).filter(e=>e.status===`running`),Cn=()=>Object.values(t()?.backgroundAgents??{}).filter(e=>$()||e.status!==`running`),wn=()=>Object.values(t()?.backgroundAgents??{}).sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt)),Tn=()=>t()?.tasks??[],En=()=>Tn().filter(e=>e.status===`completed`).length,Dn=()=>ne()?.contextUsage??n()?.state.contextUsage,On=st.mobile,kn=()=>On()?!st.open():st.collapsed(),An=()=>t()?.sessionName??n()?.state.sessionName,jn=()=>An()??t()?.title??e.sessionKey,Mn=()=>n()?.cwd??$()?.cwd,Nn=()=>{let t=n()?.state.sessionFile??$()?.sessionFile;return t?e.store.fleet().diskSessions.find(e=>e.path===t):void 0},Pn=()=>Nn()?.cwd??$()?.historicalCwd,Fn=()=>{let e=Mn(),t=Pn();if(!(!e||!t))return t===e?void 0:t},In=()=>{let e=Mn();if(!e)return;let t=B();return`${yf(e)}${t?` (${t})`:``}`},Ln=()=>{let e=ne()?.tokens;if(!e)return;let t=[];return e.input&&t.push(`↑${gf(e.input)}`),e.output&&t.push(`↓${gf(e.output)}`),e.cacheRead&&t.push(`R${gf(e.cacheRead)}`),e.cacheWrite&&t.push(`W${gf(e.cacheWrite)}`),t.length>0?t.join(` `):void 0},Rn=()=>{let e=ne()?.cost??0,t=n()?.state.usingSubscription??!1;if(!e&&!t)return;let r=`$${e.toFixed(3)}${t?` (sub)`:``}`,i=V();return i!==void 0&&i>e&&(r+=`, today: $${i.toFixed(2)}`),r},Bn=()=>{let e=Dn();if(e)return`ctx ${e.percent===null?`?`:`${e.percent.toFixed(0)}%`}/${gf(e.contextWindow)}`},Vn=()=>vf(ie(),n()?.state.model),Hn=()=>[Ln(),Rn(),Bn(),Vn()].filter(Boolean),Un=()=>[...(_e().steeringMessages??_e().steering.map(e=>({text:e}))).map(e=>({kind:`steer`,text:e.images?.length?`${e.text} (${e.images.length} image(s))`:e.text})),...(_e().followUpMessages??_e().followUp.map(e=>({text:e}))).map(e=>({kind:`follow-up`,text:e.images?.length?`${e.text} (${e.images.length} image(s))`:e.text}))],Wn=()=>{let e=i();if(le()||!e.startsWith(`/`))return;let t=e.slice(1);if(!/\s/.test(t))return t.toLowerCase()},Gn=N(()=>{let e=Wn();return e===void 0?[]:lu(H(),e)}),Kn=()=>Gn().length>0,qn=e=>{a(`/${e.name} `),ue(!0),queueMicrotask(()=>ht?.focus())};M(()=>{let e=Gn().length;de()>=e&&fe(Math.max(0,e-1))});let Jn=N(()=>{let r=[],i=$();if(i&&!i.bannerDismissed){let t=i.resumeError?`\nResume failed: ${i.resumeError}`:``,n=[];i.cwd&&i.sessionFile&&n.push({label:i.resuming?`resuming…`:`Resume session`,run:()=>e.store.resumeClosedSession(e.sessionKey),disabled:i.resuming}),i.sessionFile&&n.push({label:`Choose directory…`,run:()=>We(!0),disabled:i.resuming}),n.push({label:`Return to fleet`,run:()=>e.store.navigate({screen:`fleet`}),disabled:i.resuming}),r.push({key:`closed`,text:`session ${e.sessionKey} was closed${t}`,tone:i.resumeError?`error`:`warning`,onDismiss:()=>e.store.dismissClosedBanner(e.sessionKey),actions:n})}let a=n()?.state.modelFallbackMessage;a&&!O()&&r.push({key:`fallback`,text:a,tone:`warning`,onDismiss:()=>A(!0)});for(let n of t()?.statusEntries??[])n.dismissed||r.push({key:`status:${n.id}`,text:n.text,tone:n.tone,onDismiss:()=>e.store.dismissStatusBanner(e.sessionKey,n.id)});for(let n of t()?.toasts??[])r.push({key:`toast:${n.id}`,text:n.text,tone:n.tone,onDismiss:()=>e.store.dismissToast(n.id)});return P()&&r.push({key:`action-error`,text:P(),tone:`error`,onDismiss:()=>F(void 0)}),I()&&r.push({key:`action-notice`,text:I(),tone:`info`,onDismiss:()=>L(void 0)}),r});return(()=>{var l=Wd(),d=l.firstChild,O=d.firstChild.firstChild.nextSibling,k=O.nextSibling,A=k.firstChild,M=d.nextSibling,N=M.firstChild,P=N.firstChild,I=P.firstChild,L=P.nextSibling,R=L.firstChild,z=R.firstChild;X(O,jn),X(k,W(lt,{get store(){return e.store},class:`session-connection-indicator`}),A),A.$$click=()=>y(!v()),X(A,()=>v()?`details ▾`:`details ▴`),X(d,W(K,{get when(){return q(()=>!v())()&&!$()},get children(){var t=bd(),i=t.firstChild,a=i.firstChild.nextSibling.nextSibling,o=i.nextSibling;o.firstChild.nextSibling;var s=o.nextSibling;return i.$$click=()=>p(!0),X(a,()=>mf(n()?.state.model)),o.$$click=async()=>{let t=n()?.state.thinkingLevel??`off`,i=r(),a=i[(i.indexOf(t)+1)%i.length];try{let t=await Q.setThinking(e.sessionKey,a);e.store.setRuntimeThinkingLevel(e.sessionKey,a,t.settingsRevision)}catch(e){F(e instanceof Error?e.message:String(e))}},X(o,()=>n()?.state.thinkingLevel??`—`,null),X(t,W(K,{get when(){return Dn()},get children(){var e=yd();return e.firstChild.nextSibling,X(e,(()=>{var e=q(()=>Dn().percent===null);return()=>e()?`?`:`${Dn().percent.toFixed(0)}%`})(),null),e}}),s),s.$$click=()=>_(!g()),j(()=>Y(i,`title`,hf(n()?.state.model))),t}}),null),X(d,W(K,{get when(){return!v()},get children(){return W(K,{get when(){return g()},get children(){var t=Cd(),i=t.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,d=l.nextSibling,f=d.nextSibling;return a.$$click=()=>C(!0),o.$$click=()=>xn(!0),s.$$click=()=>xn(!1),c.$$click=()=>T(!0),l.$$click=rn,d.$$click=At,X(t,W(K,{get when(){return On()},get children(){return[(()=>{var e=xd();return e.firstChild,e.$$click=()=>p(!0),X(e,()=>mf(n()?.state.model),null),e})(),(()=>{var t=Sd();return t.firstChild,t.$$click=async()=>{let t=n()?.state.thinkingLevel??`off`,i=r(),a=i[(i.indexOf(t)+1)%i.length];try{let t=await Q.setThinking(e.sessionKey,a);e.store.setRuntimeThinkingLevel(e.sessionKey,a,t.settingsRevision)}catch(e){F(e instanceof Error?e.message:String(e))}},X(t,()=>n()?.state.thinkingLevel??`—`,null),t})()]}}),f),f.$$click=yn,X(f,()=>u()?`stopping runtime…`:`stop runtime`),j(t=>{var n=Q.exportHtmlUrl(e.sessionKey),r=u();return n!==t.e&&Y(i,`href`,t.e=n),r!==t.t&&(f.disabled=t.t=r),t},{e:void 0,t:void 0}),t}})}}),null),X(d,W(K,{get when(){return!v()||ft()},get children(){var t=Od(),n=t.firstChild;return X(t,W(K,{get when(){return!v()},get children(){return[(()=>{var e=wd();return X(e,W(K,{get when(){return In()},get fallback(){return An()??`session`},children:e=>[(()=>{var t=Gd();return X(t,e),t})(),W(K,{get when(){return An()},children:e=>(()=>{var t=Kd();return t.firstChild,X(t,e,null),t})()})]})),e})(),W(K,{get when(){return Fn()},get children(){var e=Td();return e.firstChild,X(e,()=>yf(Fn()),null),j(()=>Y(e,`title`,Fn())),e}})]}}),n),X(n,W(K,{get when(){return ft()},get children(){return W(Hr,{get store(){return e.store},get runtimes(){return ct()},get id(){return st.id},get hidden(){return kn()},get onToggle(){return st.toggle}})}}),null),X(n,W(K,{get when(){return!v()},get children(){var e=Ed();return e.$$click=sn,X(e,W(G,{get each(){return Hn()},children:e=>(()=>{var t=qd();return X(t,e),t})()})),j(()=>e.disabled=!!$()),e}}),null),X(t,W(K,{get when(){return q(()=>!v())()&&rt()},get children(){var e=Dd(),t=_t;return typeof t==`function`?Le(t,e):_t=e,X(e,W(K,{get when(){return at()},get children(){var e=Yu();return X(e,at),e}}),null),X(e,W(K,{get when(){return ne()},get fallback(){return Jd()},children:e=>(()=>{var t=Yd(),n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling,a=i.firstChild,o=i.nextSibling.nextSibling,s=o.firstChild,c=o.nextSibling.nextSibling,l=c.firstChild,u=c.nextSibling.nextSibling,d=u.nextSibling.nextSibling;return d.firstChild,X(n,()=>e().userMessages),X(r,()=>e().assistantMessages),X(i,()=>e().toolCalls,a),X(i,()=>e().toolResults,null),X(o,()=>gf(e().tokens.input),s),X(o,()=>gf(e().tokens.output),null),X(c,()=>gf(e().tokens.cacheRead),l),X(c,()=>gf(e().tokens.cacheWrite),null),X(u,()=>gf(e().tokens.total)),X(d,()=>e().cost.toFixed(4),null),t})()}),null),e}}),null),t}}),null),X(M,W(K,{get when(){return ft()},get children(){return W(Ur,{get id(){return st.id},get store(){return e.store},get sessionKey(){return e.sessionKey},get mobile(){return On()},get open(){return st.open()},get collapsed(){return st.collapsed()},onNavigate:t=>{e.store.navigate({screen:`session`,key:t}),st.close()},onClose:()=>st.close()})}}),N),X(N,W(dt,{get banners(){return Jn()}}),P);var te=pt;typeof te==`function`?Le(te,P):pt=P;var re=mt;return typeof re==`function`?Le(re,I):mt=I,X(I,W(K,{get when(){return t()},get fallback(){return Xd()},get children(){return[W(G,{get each(){return t().widgets.above},children:e=>(()=>{var t=Zd();return X(t,e),t})()}),W(wl,{get entries(){return t().entries},get resetKey(){return e.sessionKey},get imageScope(){return{runtimeKey:e.sessionKey}}}),W(K,{get when(){return t().uiRequests.find(e=>e.method===`ask`)},children:e=>W(kf,{get request(){return e()},onRespond:Nt,onStop:()=>void vn(),get stopping(){return c()}})}),W(G,{get each(){return t().widgets.below},children:e=>(()=>{var t=Zd();return X(t,e),t})()})]}})),z.$$click=()=>x(!b()),X(z,(()=>{var e=q(()=>!!$());return()=>e()?`closed`:b()?`compose ▴`:`compose ▾`})()),X(R,W(K,{get when(){return b()},get children(){var e=kd();return X(e,(()=>{var e=q(()=>!!Tt());return()=>e()?`agent working — open controls to stop or steer`:q(()=>Un().length>0)()?`${Un().length} queued message(s)`:`composer hidden for transcript reading`})()),e}}),null),X(L,W(K,{get when(){return!b()},get children(){var n=Hd();return X(n,W(K,{get when(){return Tn().length>0||Sn().length+Cn().length>0||Tt()||Et().length>0},get children(){var n=Fd();return X(n,W(K,{get when(){return Tn().length>0},get children(){var e=Ad(),t=e.firstChild,n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling;r.nextSibling;var i=t.nextSibling;return X(t,En,n),X(t,()=>Tn().length,r),X(i,W(G,{get each(){return Tn()},children:e=>(()=>{var t=Qd(),n=t.firstChild;return X(t,(()=>{var t=q(()=>e.status===`completed`);return()=>t()?`☑`:e.status===`in_progress`?`⧖`:`☐`})(),n),X(t,()=>e.title,null),j(n=>{var r=e.status===`completed`,i=e.status===`in_progress`;return r!==n.e&&t.classList.toggle(`done`,n.e=r),i!==n.t&&t.classList.toggle(`active`,n.t=i),n},{e:void 0,t:void 0}),t})()})),j(()=>e.open=!On()),e}}),null),X(n,W(K,{get when(){return Sn().length+Cn().length>0},get children(){var t=jd(),n=t.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;i.nextSibling;var a=n.nextSibling;return X(n,()=>Sn().length,r),X(n,()=>Cn().length,i),X(a,W(G,{get each(){return wn()},children:t=>(()=>{var n=$d(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.firstChild;return r.$$click=()=>e.store.navigate({screen:`subagent`,key:e.sessionKey,agentId:t.agentId}),X(i,(()=>{var e=q(()=>t.status===`running`);return()=>e()?$()?`○`:`●`:t.status===`completed`?`✓`:`✕`})()),X(a,()=>t.agentType,o),X(a,()=>t.taskSummary,null),X(a,W(K,{get when(){return t.arbitrations?.at(-1)},children:e=>e().status===`failure`?` · arbitration failed`:` · ${e().final?.model??e().proposed.model} @ ${e().final?.thinking??e().proposed.thinking}`}),null),j(()=>Ne(i,t.status===`running`&&!$()?`live`:`done`)),n})()})),j(()=>t.open=!On()),t}}),null),X(n,W(K,{get when(){return Tt()||Et().length>0},get children(){var e=Pd();return X(e,W(K,{get when(){return xt()},get children(){var e=Md();return e.firstChild,X(e,(()=>{var e=q(()=>!!t()?.workingText);return()=>e()?` — ${t().workingText}`:``})(),null),X(e,(()=>{var e=q(()=>ee()>2);return()=>e()?` (${ee()}s)`:``})(),null),e}}),null),X(e,W(G,{get each(){return Et()},children:e=>(()=>{var t=ef();return t.firstChild,t.$$click=()=>bn(e.key),X(t,()=>e.key,null),t})()}),null),X(e,W(K,{get when(){return Tt()},get children(){var e=Nd();return e.$$click=vn,X(e,()=>c()?`stopping…`:`■ stop`),j(()=>e.disabled=c()),e}}),null),e}}),null),n}}),null),X(n,W(K,{get when(){return!$()},get fallback(){return tf()},get children(){var n=Vd(),r=n.firstChild,c=r.nextSibling,l=c.firstChild,u=l.nextSibling,d=u.nextSibling,f=d.nextSibling,p=f.nextSibling;X(n,W(K,{get when(){return Un().length>0},get children(){var e=Id(),t=e.firstChild;return X(e,W(G,{get each(){return Un()},children:e=>(()=>{var t=nf(),n=t.firstChild;return X(n,()=>e.kind),X(t,()=>e.text,null),j(()=>Y(t,`title`,e.text)),t})()}),t),t.$$click=qt,e}}),r),X(n,W(K,{get when(){return be().length>0||U().length>0},get children(){var e=Ld();return X(e,W(G,{get each(){return be()},children:(e,t)=>(()=>{var n=rf(),r=n.firstChild;r.firstChild;var i=r.nextSibling,a=i.nextSibling;return X(r,()=>e.fileName,null),X(i,()=>Cf(e.size)),a.$$click=()=>xe(e=>e.filter((e,n)=>n!==t())),j(()=>Y(n,`title`,e.path)),n})()}),null),X(e,W(G,{get each(){return U()},children:(e,t)=>(()=>{var n=af(),r=n.firstChild,i=r.nextSibling;return i.$$click=()=>zt(t()),j(t=>{var i=`${e.fileName} (${Cf(e.size)})`,a=e.previewUrl,o=e.fileName;return i!==t.e&&Y(n,`title`,t.e=i),a!==t.t&&Y(r,`src`,t.t=a),o!==t.a&&Y(r,`alt`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),n})()}),null),e}}),r),X(n,W(K,{get when(){return Kn()},get children(){var e=Rd();return X(e,W(G,{get each(){return Gn()},children:(e,t)=>(()=>{var n=sf(),r=n.firstChild;r.firstChild;var i=r.nextSibling;return n.$$click=()=>qn(e),n.addEventListener(`mouseenter`,()=>fe(t())),X(r,()=>e.name,null),X(n,W(K,{get when(){return e.description},get children(){var t=of();return X(t,()=>e.description),t}}),i),X(i,()=>e.source),j(e=>{var r=`command-option-${t()}`,i=de()===t(),a=de()===t();return r!==e.e&&Y(n,`id`,e.e=r),i!==e.t&&Y(n,`aria-selected`,e.t=i),a!==e.a&&n.classList.toggle(`selected`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),n})()})),e}}),r),r.$$keydown=t=>{if(Kn()){if(t.key===`ArrowDown`){t.preventDefault(),fe((de()+1)%Gn().length);return}if(t.key===`ArrowUp`){t.preventDefault(),fe((de()-1+Gn().length)%Gn().length);return}if(t.key===`Tab`||t.key===`Enter`&&!t.shiftKey&&!On()){t.preventDefault();let e=Gn()[de()];e&&t.key===`Enter`&&i()===`/${e.name}`?(ue(!0),_n()):e&&qn(e);return}if(t.key===`Escape`){t.preventDefault(),ue(!0);return}}if((t.key===`ArrowUp`||t.key===`ArrowDown`)&&(i()===``||Se()!==void 0)){let n=gu(e.sessionKey);if(n.length>0){if(t.preventDefault(),t.key===`ArrowUp`){let e=Se()===void 0?n.length-1:Math.max(0,Se()-1);Ce(e),a(n[e]??``)}else if(Se()!==void 0){let e=Se()+1;e>=n.length?(Ce(void 0),a(``)):(Ce(e),a(n[e]??``))}}return}t.key===`Enter`&&!t.shiftKey&&!On()&&(t.preventDefault(),_n())},r.$$input=e=>{ue(!1),fe(0),Ce(void 0),a(e.currentTarget.value),Ef(e.currentTarget)},r.addEventListener(`paste`,e=>{let t=[...e.clipboardData?.items??[]].filter(e=>e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>!!e);t.length>0&&(e.preventDefault(),Yt(t))});var m=ht;typeof m==`function`?Le(m,r):ht=r,l.addEventListener(`change`,e=>{Zt(e.currentTarget.files??[]),e.currentTarget.value=``});var h=Z;typeof h==`function`?Le(h,l):Z=l,u.addEventListener(`change`,e=>{Yt(e.currentTarget.files??[]),e.currentTarget.value=``});var g=gt;return typeof g==`function`?Le(g,u):gt=u,d.$$click=()=>Z?.click(),f.$$click=()=>gt?.click(),X(c,W(K,{get when(){return xt()},get children(){var e=zd(),t=e.firstChild,n=t.nextSibling;return t.$$click=()=>s(`steer`),n.$$click=()=>s(`follow_up`),j(e=>{var r=o()===`steer`,i=o()===`follow_up`;return r!==e.e&&t.classList.toggle(`selected`,e.e=r),i!==e.t&&n.classList.toggle(`selected`,e.t=i),e},{e:void 0,t:void 0}),e}}),p),X(c,W(K,{get when(){return t()?.suggestedCommand},get children(){var e=Bd(),n=e.firstChild.nextSibling;return e.$$click=()=>a(t().suggestedCommand),X(n,()=>t().suggestedCommand),e}}),p),p.$$click=_n,j(e=>{var t=xt()?`Message dreb — sends as steer while it works…`:`Message dreb…`,n=Kn()?`command-listbox`:void 0,i=Kn()?`command-option-${de()}`:void 0;return t!==e.e&&Y(r,`placeholder`,e.e=t),n!==e.t&&Y(r,`aria-controls`,e.t=n),i!==e.a&&Y(r,`aria-activedescendant`,e.a=i),e},{e:void 0,t:void 0,a:void 0}),j(()=>r.value=i()),n}}),null),n}}),null),X(l,W(K,{get when(){return t()?.uiRequests.find(e=>e.method!==`ask`)},keyed:!0,children:e=>W(Df,{request:e,onRespond:Nt})}),null),X(l,W(K,{get when(){return f()},get children(){return W(jf,{get sessionKey(){return e.sessionKey},get state(){return n()?.state},get initialFilter(){return m()},onClose:()=>{p(!1),h(``)},onSelected:t=>e.store.setRuntimeModel(e.sessionKey,t)})}}),null),X(l,W(K,{get when(){return S()},get children(){return W(ut,{title:`compact context`,onDismiss:()=>C(!1),get actions(){return[(()=>{var e=Cu();return e.$$click=()=>C(!1),e})(),(()=>{var t=cf();return t.$$click=async()=>{C(!1);try{await Q.compact(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}},t})()]},get children(){return Ud()}})}}),null),X(l,W(K,{get when(){return E()},get children(){return W(Af,{get resources(){return pe()},get error(){return he()},onClose:()=>D(!1)})}}),null),X(l,W(K,{get when(){return we()},get children(){return W(ut,{title:`fork from message`,onDismiss:()=>Te(!1),get children(){return[W(K,{get when(){return Oe()},get children(){var e=Yu();return X(e,Oe),e}}),W(K,{get when(){return Ee().length>0},get fallback(){return lf()},get children(){var e=dd();return X(e,W(G,{get each(){return Ee()},children:e=>(()=>{var t=uf(),n=t.firstChild,r=n.nextSibling;return t.$$click=()=>on(e.entryId),X(n,()=>e.role===`assistant`?`assistant`:`you`),X(r,()=>e.text),t})()})),e}})]}})}}),null),X(l,W(K,{get when(){return Ae()},get children(){return W(Nf,{get roots(){return J()},get leafId(){return Pe()},get loading(){return Ie()},get error(){return ze()},onClose:()=>je(!1),onNavigate:$t})}}),null),X(l,W(K,{get when(){return q(()=>!!Ue())()&&$()?.sessionFile},get children(){return W(ei,{get historicalCwd(){return Pn()??$()?.cwd??``},get initialCwd(){return $()?.cwd},get recentProjects(){return $r(e.store.fleet())},onClose:()=>We(!1),onResume:async t=>{await e.store.resumeClosedSession(e.sessionKey,t);let n=e.store.sessions[e.sessionKey]?.closed?.resumeError;if(n)throw Error(n);We(!1)}})}}),null),X(l,W(K,{get when(){return Ve()},get children(){return W(Pf,{get sessions(){return Ge()},get loading(){return qe()},get error(){return Ye()},onClose:()=>He(!1),onResume:tn})}}),null),X(l,W(K,{get when(){return Ze()},get children(){return W(Ff,{get initialPath(){return $e()},get error(){return tt()},onClose:()=>Qe(!1),onImport:nn})}}),null),X(l,W(K,{get when(){return w()},get children(){return W(Lf,{get current(){return An()??``},onClose:()=>T(!1),onRename:async t=>{try{await Q.rename(e.sessionKey,t),T(!1)}catch(e){F(e instanceof Error?e.message:String(e))}}})}}),null),j(e=>{var t=!!v(),n=v()?`show session details`:`hide session details`,r=!!b(),i=$()?`closed session transcript`:b()?`show composer and controls`:`hide composer and controls`,a=!!$();return t!==e.e&&d.classList.toggle(`collapsed`,e.e=t),n!==e.t&&Y(A,`title`,e.t=n),r!==e.a&&L.classList.toggle(`collapsed`,e.a=r),i!==e.o&&Y(z,`title`,e.o=i),a!==e.i&&(z.disabled=e.i=a),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),l})()}function Lf(e){let[t,n]=k(e.current);return W(ut,{title:`rename session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=Cu();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var n=df();return n.$$click=()=>e.onRename(t().trim()),j(()=>n.disabled=!t().trim()),n})()]},get children(){var e=xu(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e}})}Me([`input`,`click`,`keydown`]);var Rf=J(`<div class=settings-error>`),zf=J(`<p class=muted>Loading scoped models…`),Bf=J(`<section class="settings-section scoped-models-editor"tabindex=-1 aria-labelledby=scoped-models-heading><h2 id=scoped-models-heading>scoped models</h2><p class="muted small">Controls model cycling for new sessions only; running sessions are never changed. Writes always update global settings, while the selected context shows effective global-plus-project settings.</p><label class=scoped-models-context><span>project context</span><select><option value>global / home`),Vf=J(`<option>`),Hf=J(`<div class=settings-warning>This project defines enabledModels in .dreb/settings.json and shadows global writes.`),Uf=J(`<div class=scoped-models-toolbar><input type=search aria-label="Search available models"placeholder="search provider, model, or name…"><button type=button class="btn btn-small">enable all`),Wf=J(`<div class=scoped-models-grid><div class=scoped-models-order><h3>cycling order</h3><p class="muted small"></p></div><div class=scoped-models-available><h3>available models`),Gf=J(`<span class="muted small">unsaved changes`),Kf=J(`<span class="muted small">✓ saved`),qf=J(`<div class=scoped-models-actions><button type=button class="btn btn-small">reset</button><button type=button class="btn btn-primary btn-small">`),Jf=J(`<div class=settings-warning>`),Yf=J(`<div class=scoped-model-order-row><span></span><div class=scoped-model-move-controls><button type=button>↑</button><button type=button>↓`),Xf=J(`<p class="muted small">No matching models.`),Zf=J(`<section class=scoped-model-provider><label class=scoped-model-provider-heading><input type=checkbox><span>`),Qf=J(`<span class=model-name>`),$f=J(`<label class=scoped-model-choice><input type=checkbox><span class=model-id>`);function ep(e){return`${e.provider}/${e.id}`}function tp(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t].map(([e,t])=>({provider:e,models:t}))}function np(e){let[t,n]=k(``),[r,i]=k(!0),[a,o]=k([]),[s,c]=k(!1),[l,u]=k(!1),[d,f]=k(!1),[p,m]=k(),[h,g]=k([]),_,v,y,b=()=>e.cwd??``,[x,{mutate:S}]=F(b,async e=>{let t=e||void 0,[n,r]=await Promise.all([Q.settings(t),Q.settingsModels(t)]);return{cwd:e,settings:n,models:r.models}}),C=N(()=>{if(x.error)return;let e=x();return e?.cwd===b()?e:void 0});function w(e,t){let n=e.enabledModels===void 0;i(n),o(n?t.map(ep):e.resolvedScopedModels.map(e=>`${e.provider}/${e.id}`)),c(!1),f(!1),m(void 0),g([])}let T=b();M(()=>{let e=b();e!==T&&(T=e,v=void 0,y=void 0,c(!1),f(!1),m(void 0),g([]))}),M(()=>{let e=C();!e||e.cwd===v&&e.settings===y||(v=e.cwd,y=e.settings,w(e.settings,e.models))}),M(()=>{!e.focused||!_||(_.scrollIntoView({block:`start`}),_.focus({preventScroll:!0}))});let E=N(()=>new Set(a())),D=N(()=>{let t=new Set(e.projectRoots);return e.cwd&&t.add(e.cwd),[...t].sort((e,t)=>e.localeCompare(t))}),O=N(()=>{let e=t().trim().toLowerCase();return tp((C()?.models??[]).filter(t=>!e||`${t.provider}/${t.id} ${t.name??``}`.toLowerCase().includes(e)))}),A=N(()=>{if((C()?.models.length??0)===0)return`No available models were reported for this context.`;if(!r()&&a().length===0)return`At least one model must remain enabled.`}),P=N(()=>{let e=C()?.settings;if(!e?.enabledModels)return;let t=e.resolvedScopedModels.map(e=>`${e.provider}/${e.id}`);return e.enabledModels.length===t.length&&e.enabledModels.every((e,n)=>e===t[n])&&e.scopeWarnings.length===0?void 0:`Saving an edited legacy scope replaces patterns and per-pattern thinking suffixes with exact provider/model references.`});function I(e){let t=C()?.models.map(ep)??[],n=t.length>0&&t.every(t=>e.includes(t));i(n),o(n?t:e),c(!0),f(!1),m(void 0)}function L(e){let t=r()?C()?.models.map(ep)??[]:a();I(t.includes(e)?t.filter(t=>t!==e):[...t,e])}function R(e){let t=(C()?.models??[]).filter(t=>t.provider===e).map(ep),n=r()?C()?.models.map(ep)??[]:a();I(t.every(e=>n.includes(e))?n.filter(e=>!t.includes(e)):[...n,...t.filter(e=>!n.includes(e))])}function z(e,t){if(r())return;let n=e+t;if(n<0||n>=a().length)return;let i=[...a()];[i[e],i[n]]=[i[n],i[e]],o(i),c(!0),f(!1)}function ee(){let e=C();e&&w(e.settings,e.models)}async function te(){let e=C();if(!e||!s()||A())return;u(!0),m(void 0),g([]),f(!1);let t=e.cwd||void 0;try{let n=await Q.saveSettings({enabledModels:r()?null:a()},t);if(b()!==e.cwd)return;v=e.cwd,y=n,S({cwd:e.cwd,settings:n,models:e.models}),w(n,e.models),g(n.warnings??[]),f(!0)}catch(t){b()===e.cwd&&m(t instanceof Error?t.message:String(t))}finally{u(!1)}}return(()=>{var i=Bf(),o=i.firstChild.nextSibling.nextSibling.firstChild.nextSibling;o.firstChild;var c=_;return typeof c==`function`?Le(c,i):_=i,o.addEventListener(`change`,t=>e.onCwdChange(t.currentTarget.value||void 0)),X(o,W(G,{get each(){return D()},children:e=>(()=>{var t=Vf();return t.value=e,X(t,e),t})()}),null),X(i,W(K,{get when(){return x.error},get children(){var e=Rf();return X(e,(()=>{var e=q(()=>x.error instanceof Error);return()=>e()?x.error.message:String(x.error)})()),e}}),null),X(i,W(K,{get when(){return x.loading},get children(){return zf()}}),null),X(i,W(K,{get when(){return C()},children:e=>[W(K,{get when(){return e().settings.hasProjectEnabledModelsOverride},get children(){return Hf()}}),W(K,{get when(){return P()},children:e=>(()=>{var t=Jf();return X(t,e),t})()}),W(G,{get each(){return e().settings.scopeWarnings},children:e=>(()=>{var t=Jf();return X(t,()=>e.message),t})()}),W(G,{get each(){return h()},children:e=>(()=>{var t=Jf();return X(t,e),t})()}),W(K,{get when(){return p()},children:e=>(()=>{var t=Rf();return X(t,e),t})()}),W(K,{get when(){return A()},children:e=>(()=>{var t=Rf();return X(t,e),t})()}),(()=>{var i=Uf(),a=i.firstChild,o=a.nextSibling;return a.$$input=e=>n(e.currentTarget.value),o.$$click=()=>I(e().models.map(ep)),j(()=>o.disabled=r()),j(()=>a.value=t()),i})(),(()=>{var t=Wf(),n=t.firstChild,i=n.firstChild.nextSibling,o=n.nextSibling;return o.firstChild,X(i,(()=>{var e=q(()=>!!r());return()=>e()?`All available models, in registry order (future models included).`:`${a().length} enabled model${a().length===1?``:`s`}.`})()),X(n,W(G,{get each(){return a()},children:(e,t)=>(()=>{var n=Yf(),i=n.firstChild,o=i.nextSibling.firstChild,s=o.nextSibling;return Y(i,`title`,e),X(i,e),o.$$click=()=>z(t(),-1),Y(o,`aria-label`,`Move ${e} up`),s.$$click=()=>z(t(),1),Y(s,`aria-label`,`Move ${e} down`),j(e=>{var n=r()||t()===0,i=r()||t()===a().length-1;return n!==e.e&&(o.disabled=e.e=n),i!==e.t&&(s.disabled=e.t=i),e},{e:void 0,t:void 0}),n})()}),null),X(o,W(K,{get when(){return O().length>0},get fallback(){return Xf()},get children(){return W(G,{get each(){return O()},children:t=>(()=>{var n=Zf(),r=n.firstChild.firstChild,i=r.nextSibling;return r.addEventListener(`change`,()=>R(t.provider)),X(i,()=>t.provider),X(n,W(G,{get each(){return t.models},children:e=>{let t=ep(e);return(()=>{var n=$f(),r=n.firstChild,i=r.nextSibling;return Y(n,`title`,t),r.addEventListener(`change`,()=>L(t)),X(i,()=>e.id),X(n,W(K,{get when(){return e.name},get children(){var t=Qf();return X(t,()=>e.name),t}}),null),j(()=>r.checked=E().has(t)),n})()}}),null),j(()=>r.checked=e().models.filter(e=>e.provider===t.provider).every(e=>E().has(ep(e)))),n})()})}}),null),t})(),(()=>{var e=qf(),t=e.firstChild,n=t.nextSibling;return t.$$click=ee,n.$$click=()=>void te(),X(n,()=>l()?`saving…`:`save`),X(e,W(K,{get when(){return s()},get children(){return Gf()}}),null),X(e,W(K,{get when(){return d()},get children(){return Kf()}}),null),j(e=>{var r=!s()||l(),i=!s()||l()||!!A();return r!==e.e&&(t.disabled=e.e=r),i!==e.t&&(n.disabled=e.t=i),e},{e:void 0,t:void 0}),e})()]}),null),j(()=>o.value=e.cwd??``),i})()}Me([`input`,`click`]);var rp=[{id:`default`,label:`entropist.ca`},{id:`dim`,label:`Dim`},{id:`solarized`,label:`Solarized`},{id:`gruvbox`,label:`Gruvbox`},{id:`qud`,label:`Caves of Qud`},{id:`vangogh`,label:`Van Gogh`},{id:`okabe`,label:`Colorblind-safe (Okabe-Ito)`},{id:`tol`,label:`Colorblind-safe (Paul Tol)`}],ip=rp.map(e=>e.id),ap=[`system`,`light`,`dark`],op=[{id:`theme`,label:`Theme default`},{id:`ibm-plex-mono`,label:`IBM Plex Mono`},{id:`jetbrains-mono`,label:`JetBrains Mono`},{id:`fira-code`,label:`Fira Code`},{id:`iosevka`,label:`Iosevka`},{id:`opendyslexic`,label:`OpenDyslexic`},{id:`atkinson-hyperlegible`,label:`Atkinson Hyperlegible`}],sp=op.map(e=>e.id),cp=`dreb.dashboard.theme`,lp=`dreb.dashboard.colorMode`,up=`dreb.dashboard.font`,dp=`default`,fp=`system`,pp=`theme`;function mp(e){return typeof e==`string`&&ip.includes(e)}function hp(e){return typeof e==`string`&&ap.includes(e)}function gp(e){return typeof e==`string`&&sp.includes(e)}function _p(){if(typeof window>`u`)return dp;try{let e=window.localStorage.getItem(cp);return mp(e)?e:dp}catch{return dp}}function vp(){if(typeof window>`u`)return fp;try{let e=window.localStorage.getItem(lp);return hp(e)?e:fp}catch{return fp}}function yp(){if(typeof window>`u`)return pp;try{let e=window.localStorage.getItem(up);return gp(e)?e:pp}catch{return pp}}function bp(e,t,n){if(!(typeof window>`u`))try{t===n?window.localStorage.removeItem(e):window.localStorage.setItem(e,t)}catch{}}var[xp,Sp]=k(_p()),[Cp,wp]=k(vp()),[Tp,Ep]=k(yp()),Dp=xp,Op=Cp,kp=Tp;function Ap(e){let t=e.defaultView??(typeof window<`u`?window:void 0);return!t||typeof t.getComputedStyle!=`function`?``:t.getComputedStyle(e.documentElement).getPropertyValue(`--bg`).trim()}function jp(e){try{let t=e??(typeof document<`u`?document:void 0);if(!t)return;let n=t.documentElement;if(!n)return;let r=xp(),i=Cp(),a=Tp();if(r===dp?n.removeAttribute(`data-theme`):n.setAttribute(`data-theme`,r),i===fp?n.removeAttribute(`data-color-mode`):n.setAttribute(`data-color-mode`,i),a===pp?n.removeAttribute(`data-font`):n.setAttribute(`data-font`,a),!(r!==dp||i!==fp))n.style.removeProperty(`color-scheme`);else{let e=i===`light`?`light`:i===`dark`?`dark`:`light dark`;n.style.setProperty(`color-scheme`,e)}}catch{}}function Mp(e){try{let t=e??(typeof document<`u`?document:void 0);if(!t)return;let n=Ap(t);if(!n)return;let r=t.querySelector(`meta[name="theme-color"]:not([media])`);if(!r){r=t.createElement(`meta`),r.setAttribute(`name`,`theme-color`);let e=t.head??t.getElementsByTagName(`head`)[0];e&&e.insertBefore(r,e.firstChild)}r.setAttribute(`content`,n)}catch{}}function Np(e){let t=mp(e)?e:dp;Sp(t),bp(cp,t,dp),jp(),Mp()}function Pp(e){let t=hp(e)?e:fp;wp(t),bp(lp,t,fp),jp(),Mp()}function Fp(e){let t=gp(e)?e:pp;Ep(t),bp(up,t,pp),jp()}var Ip=null,Lp=!1;function Rp(){Cp()===fp&&Mp()}function zp(e){e.key!==null&&e.key!==`dreb.dashboard.theme`&&e.key!==`dreb.dashboard.colorMode`&&e.key!==`dreb.dashboard.font`||Bp()}function Bp(){Sp(_p()),wp(vp()),Ep(yp()),jp(),Mp()}function Vp(){if(!(typeof window>`u`)){try{typeof window.matchMedia==`function`&&(Ip=window.matchMedia(`(prefers-color-scheme: dark)`),typeof Ip.addEventListener==`function`?Ip.addEventListener(`change`,Rp):typeof Ip.addListener==`function`&&Ip.addListener(Rp))}catch{}try{window.addEventListener(`storage`,zp)}catch{}}}function Hp(){Bp(),!Lp&&(Lp=!0,Vp())}var Up=J(`<div class=appearance-controls><div class=setting-row><span class=setting-label><span class=name>color mode</span><span class=hint>this browser only — “system” follows your OS light/dark preference</span></span><span class=setting-control><select id=pref-color-mode></select></span></div><div class=setting-row><label class=setting-label for=pref-font><span class=name>font</span><span class=hint>this browser only — “theme default” keeps each theme’s built-in font</span></label><span class=setting-control><select id=pref-font></select></span></div><div class=theme-gallery>`),Wp=J(`<option>`),Gp=J(`<button type=button class=theme-card><div class=theme-card-preview><div class=theme-card-swatch><span class=theme-card-name></span><span class=theme-card-muted>The quick brown fox.</span></div><div class=theme-card-chips></div><pre class=theme-card-code><code class=hljs><span class=hljs-keyword>const</span> <span class=hljs-variable>count</span><span class=hljs-operator> = </span><span class=hljs-number>42</span><span class=hljs-punctuation>;</span>
77
+ `)}function mn(e,t,n=`/${e}`){return t?(L(`Usage: ${n}`),!0):!1}function hn(){let t=document.createElement(`a`);t.href=Q.exportHtmlUrl(e.sessionKey),t.download=``,document.body.append(t),t.click(),t.remove()}let gn={settings:async t=>{mn(`settings`,t)||e.store.navigate({screen:`settings`})},"scoped-models":async t=>{if(mn(`scoped-models`,t))return;let r=n()?.cwd;if(!r)throw Error(`Cannot open scoped models: the runtime project directory is unavailable`);e.store.navigate({screen:`settings`,target:`scoped-models`,cwd:r})},model:async e=>{h(e),p(!0)},export:async e=>{mn(`export`,e)||hn()},import:async e=>{et(e),nt(void 0),Qe(!0)},name:async t=>{t?await Q.rename(e.sessionKey,t):T(!0)},session:async e=>{mn(`session`,e)||(y(!1),await sn())},fork:async e=>{mn(`fork`,e)||await rn()},tree:async e=>{mn(`tree`,e)||await Qt()},new:async t=>{if(mn(`new`,t))return;if(xt()||St()){L(`Wait for the current operation to finish before starting a new session.`);return}let n=await Q.newSession(e.sessionKey);vt||$()||(n.cancelled?L(`New session cancelled.`):(await e.store.hydrateSession(e.sessionKey,yt.signal),await e.store.refreshDiskSessions()))},compact:async t=>{t?(await Q.compact(e.sessionKey,t),L(`Compaction started.`)):C(!0)},dream:async t=>{let n=await Q.dream(e.sessionKey,t||void 0);L(n.message)},resume:async e=>{mn(`resume`,e)||await en()},reload:async t=>{if(mn(`reload`,t))return;if(xt()||St()){L(`Wait for the current operation to finish before reloading.`);return}if(await Q.reload(e.sessionKey),vt||$())return;let[{commands:n}]=await Promise.all([Q.commands(e.sessionKey),e.store.hydrateSession(e.sessionKey,yt.signal)]);ce(n),L(`Reloaded extensions, skills, prompts, themes, and settings.`)},quit:async e=>{mn(`quit`,e)||await yn()}};async function _n(){let t=i().trim();if(!t&&be().length===0&&U().length===0)return;F(void 0),L(void 0);let n=su(t,H());if(n){if(be().length>0||U().length>0){L(`Remove attachments before running a built-in command; nothing was sent or discarded.`);return}try{await cu(n,gn,L),a(``),Ce(void 0)}catch(e){F(e instanceof Error?e.message:String(e))}return}let r=pn(t||`Please review the attached item(s). `);try{let t=U(),n=t.length>0?await Promise.all(t.map(async({blob:e,mimeType:t})=>({data:await It(e),mimeType:t}))):void 0;if(vt||$()||(xt()?await Q.prompt(e.sessionKey,r,o(),n):n?await Q.prompt(e.sessionKey,r,void 0,n):await Q.prompt(e.sessionKey,r),vt||$()))return;_u(e.sessionKey,r),Ce(void 0),a(``),Rt(),xe([]),jt()}catch(e){F(e instanceof Error?e.message:String(e))}}async function vn(){l(!0);try{if(await Q.abort(e.sessionKey),vt||$())return;await qt()}catch(e){F(e instanceof Error?e.message:String(e))}finally{l(!1)}}async function yn(){if(!u()){d(!0),F(void 0);try{await e.store.stopRuntime(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}finally{d(!1)}}}async function bn(t){try{t===`compaction`?await Q.abortCompaction(e.sessionKey):t===`retry`&&await Q.abortRetry(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}}function xn(e){pt?.querySelectorAll(`details.tool`).forEach(t=>{t.open=e})}let Sn=()=>$()?[]:Object.values(t()?.backgroundAgents??{}).filter(e=>e.status===`running`),Cn=()=>Object.values(t()?.backgroundAgents??{}).filter(e=>$()||e.status!==`running`),wn=()=>Object.values(t()?.backgroundAgents??{}).sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt)),Tn=()=>t()?.tasks??[],En=()=>Tn().filter(e=>e.status===`completed`).length,Dn=()=>ne()?.contextUsage??n()?.state.contextUsage,On=st.mobile,kn=()=>On()?!st.open():st.collapsed(),An=()=>t()?.sessionName??n()?.state.sessionName,jn=()=>An()??t()?.title??e.sessionKey,Mn=()=>n()?.cwd??$()?.cwd,Nn=()=>{let t=n()?.state.sessionFile??$()?.sessionFile;return t?e.store.fleet().diskSessions.find(e=>e.path===t):void 0},Pn=()=>Nn()?.cwd??$()?.historicalCwd,Fn=()=>{let e=Mn(),t=Pn();if(!(!e||!t))return t===e?void 0:t},In=()=>{let e=Mn();if(!e)return;let t=B();return`${yf(e)}${t?` (${t})`:``}`},Ln=()=>{let e=ne()?.tokens;if(!e)return;let t=[];return e.input&&t.push(`↑${gf(e.input)}`),e.output&&t.push(`↓${gf(e.output)}`),e.cacheRead&&t.push(`R${gf(e.cacheRead)}`),e.cacheWrite&&t.push(`W${gf(e.cacheWrite)}`),t.length>0?t.join(` `):void 0},Rn=()=>{let e=ne()?.cost??0,t=ne()?.subagentCost??0,r=n()?.state.usingSubscription??!1;if(!e&&!t&&!r)return;let i=`$${e.toFixed(3)}${r?` (sub)`:``}`;t>0&&(i+=` + $${t.toFixed(3)} subs`);let a=e+t,o=V();return o!==void 0&&o.cost>a&&(i+=`, today: $${o.cost.toFixed(2)}`),i},Bn=()=>{let e=Dn();if(e)return`ctx ${e.percent===null?`?`:`${e.percent.toFixed(0)}%`}/${gf(e.contextWindow)}`},Vn=()=>vf(ie(),n()?.state.model),Hn=()=>[Ln(),Rn(),Bn(),Vn()].filter(Boolean),Un=()=>[...(_e().steeringMessages??_e().steering.map(e=>({text:e}))).map(e=>({kind:`steer`,text:e.images?.length?`${e.text} (${e.images.length} image(s))`:e.text})),...(_e().followUpMessages??_e().followUp.map(e=>({text:e}))).map(e=>({kind:`follow-up`,text:e.images?.length?`${e.text} (${e.images.length} image(s))`:e.text}))],Wn=()=>{let e=i();if(le()||!e.startsWith(`/`))return;let t=e.slice(1);if(!/\s/.test(t))return t.toLowerCase()},Gn=N(()=>{let e=Wn();return e===void 0?[]:lu(H(),e)}),Kn=()=>Gn().length>0,qn=e=>{a(`/${e.name} `),ue(!0),queueMicrotask(()=>ht?.focus())};M(()=>{let e=Gn().length;de()>=e&&fe(Math.max(0,e-1))});let Jn=N(()=>{let r=[],i=$();if(i&&!i.bannerDismissed){let t=i.resumeError?`\nResume failed: ${i.resumeError}`:``,n=[];i.cwd&&i.sessionFile&&n.push({label:i.resuming?`resuming…`:`Resume session`,run:()=>e.store.resumeClosedSession(e.sessionKey),disabled:i.resuming}),i.sessionFile&&n.push({label:`Choose directory…`,run:()=>We(!0),disabled:i.resuming}),n.push({label:`Return to fleet`,run:()=>e.store.navigate({screen:`fleet`}),disabled:i.resuming}),r.push({key:`closed`,text:`session ${e.sessionKey} was closed${t}`,tone:i.resumeError?`error`:`warning`,onDismiss:()=>e.store.dismissClosedBanner(e.sessionKey),actions:n})}let a=n()?.state.modelFallbackMessage;a&&!O()&&r.push({key:`fallback`,text:a,tone:`warning`,onDismiss:()=>A(!0)});for(let n of t()?.statusEntries??[])n.dismissed||r.push({key:`status:${n.id}`,text:n.text,tone:n.tone,onDismiss:()=>e.store.dismissStatusBanner(e.sessionKey,n.id)});for(let n of t()?.toasts??[])r.push({key:`toast:${n.id}`,text:n.text,tone:n.tone,onDismiss:()=>e.store.dismissToast(n.id)});return P()&&r.push({key:`action-error`,text:P(),tone:`error`,onDismiss:()=>F(void 0)}),I()&&r.push({key:`action-notice`,text:I(),tone:`info`,onDismiss:()=>L(void 0)}),r});return(()=>{var l=Wd(),d=l.firstChild,O=d.firstChild.firstChild.nextSibling,k=O.nextSibling,A=k.firstChild,M=d.nextSibling,N=M.firstChild,P=N.firstChild,I=P.firstChild,L=P.nextSibling,R=L.firstChild,z=R.firstChild;X(O,jn),X(k,W(lt,{get store(){return e.store},class:`session-connection-indicator`}),A),A.$$click=()=>y(!v()),X(A,()=>v()?`details ▾`:`details ▴`),X(d,W(K,{get when(){return q(()=>!v())()&&!$()},get children(){var t=bd(),i=t.firstChild,a=i.firstChild.nextSibling.nextSibling,o=i.nextSibling;o.firstChild.nextSibling;var s=o.nextSibling;return i.$$click=()=>p(!0),X(a,()=>mf(n()?.state.model)),o.$$click=async()=>{let t=n()?.state.thinkingLevel??`off`,i=r(),a=i[(i.indexOf(t)+1)%i.length];try{let t=await Q.setThinking(e.sessionKey,a);e.store.setRuntimeThinkingLevel(e.sessionKey,a,t.settingsRevision)}catch(e){F(e instanceof Error?e.message:String(e))}},X(o,()=>n()?.state.thinkingLevel??`—`,null),X(t,W(K,{get when(){return Dn()},get children(){var e=yd();return e.firstChild.nextSibling,X(e,(()=>{var e=q(()=>Dn().percent===null);return()=>e()?`?`:`${Dn().percent.toFixed(0)}%`})(),null),e}}),s),s.$$click=()=>_(!g()),j(()=>Y(i,`title`,hf(n()?.state.model))),t}}),null),X(d,W(K,{get when(){return!v()},get children(){return W(K,{get when(){return g()},get children(){var t=Cd(),i=t.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,d=l.nextSibling,f=d.nextSibling;return a.$$click=()=>C(!0),o.$$click=()=>xn(!0),s.$$click=()=>xn(!1),c.$$click=()=>T(!0),l.$$click=rn,d.$$click=At,X(t,W(K,{get when(){return On()},get children(){return[(()=>{var e=xd();return e.firstChild,e.$$click=()=>p(!0),X(e,()=>mf(n()?.state.model),null),e})(),(()=>{var t=Sd();return t.firstChild,t.$$click=async()=>{let t=n()?.state.thinkingLevel??`off`,i=r(),a=i[(i.indexOf(t)+1)%i.length];try{let t=await Q.setThinking(e.sessionKey,a);e.store.setRuntimeThinkingLevel(e.sessionKey,a,t.settingsRevision)}catch(e){F(e instanceof Error?e.message:String(e))}},X(t,()=>n()?.state.thinkingLevel??`—`,null),t})()]}}),f),f.$$click=yn,X(f,()=>u()?`stopping runtime…`:`stop runtime`),j(t=>{var n=Q.exportHtmlUrl(e.sessionKey),r=u();return n!==t.e&&Y(i,`href`,t.e=n),r!==t.t&&(f.disabled=t.t=r),t},{e:void 0,t:void 0}),t}})}}),null),X(d,W(K,{get when(){return!v()||ft()},get children(){var t=Od(),n=t.firstChild;return X(t,W(K,{get when(){return!v()},get children(){return[(()=>{var e=wd();return X(e,W(K,{get when(){return In()},get fallback(){return An()??`session`},children:e=>[(()=>{var t=Gd();return X(t,e),t})(),W(K,{get when(){return An()},children:e=>(()=>{var t=Kd();return t.firstChild,X(t,e,null),t})()})]})),e})(),W(K,{get when(){return Fn()},get children(){var e=Td();return e.firstChild,X(e,()=>yf(Fn()),null),j(()=>Y(e,`title`,Fn())),e}})]}}),n),X(n,W(K,{get when(){return ft()},get children(){return W(Hr,{get store(){return e.store},get runtimes(){return ct()},get id(){return st.id},get hidden(){return kn()},get onToggle(){return st.toggle}})}}),null),X(n,W(K,{get when(){return!v()},get children(){var e=Ed();return e.$$click=sn,X(e,W(G,{get each(){return Hn()},children:e=>(()=>{var t=qd();return X(t,e),t})()})),j(()=>e.disabled=!!$()),e}}),null),X(t,W(K,{get when(){return q(()=>!v())()&&rt()},get children(){var e=Dd(),t=_t;return typeof t==`function`?Le(t,e):_t=e,X(e,W(K,{get when(){return at()},get children(){var e=Yu();return X(e,at),e}}),null),X(e,W(K,{get when(){return ne()},get fallback(){return Jd()},children:e=>(()=>{var t=Yd(),n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling,a=i.firstChild,o=i.nextSibling.nextSibling,s=o.firstChild,c=o.nextSibling.nextSibling,l=c.firstChild,u=c.nextSibling.nextSibling,d=u.nextSibling.nextSibling;return d.firstChild,X(n,()=>e().userMessages),X(r,()=>e().assistantMessages),X(i,()=>e().toolCalls,a),X(i,()=>e().toolResults,null),X(o,()=>gf(e().tokens.input),s),X(o,()=>gf(e().tokens.output),null),X(c,()=>gf(e().tokens.cacheRead),l),X(c,()=>gf(e().tokens.cacheWrite),null),X(u,()=>gf(e().tokens.total)),X(d,()=>e().cost.toFixed(4),null),t})()}),null),e}}),null),t}}),null),X(M,W(K,{get when(){return ft()},get children(){return W(Ur,{get id(){return st.id},get store(){return e.store},get sessionKey(){return e.sessionKey},get mobile(){return On()},get open(){return st.open()},get collapsed(){return st.collapsed()},onNavigate:t=>{e.store.navigate({screen:`session`,key:t}),st.close()},onClose:()=>st.close()})}}),N),X(N,W(dt,{get banners(){return Jn()}}),P);var te=pt;typeof te==`function`?Le(te,P):pt=P;var re=mt;return typeof re==`function`?Le(re,I):mt=I,X(I,W(K,{get when(){return t()},get fallback(){return Xd()},get children(){return[W(G,{get each(){return t().widgets.above},children:e=>(()=>{var t=Zd();return X(t,e),t})()}),W(wl,{get entries(){return t().entries},get resetKey(){return e.sessionKey},get imageScope(){return{runtimeKey:e.sessionKey}}}),W(K,{get when(){return t().uiRequests.find(e=>e.method===`ask`)},children:e=>W(kf,{get request(){return e()},onRespond:Nt,onStop:()=>void vn(),get stopping(){return c()}})}),W(G,{get each(){return t().widgets.below},children:e=>(()=>{var t=Zd();return X(t,e),t})()})]}})),z.$$click=()=>x(!b()),X(z,(()=>{var e=q(()=>!!$());return()=>e()?`closed`:b()?`compose ▴`:`compose ▾`})()),X(R,W(K,{get when(){return b()},get children(){var e=kd();return X(e,(()=>{var e=q(()=>!!Tt());return()=>e()?`agent working — open controls to stop or steer`:q(()=>Un().length>0)()?`${Un().length} queued message(s)`:`composer hidden for transcript reading`})()),e}}),null),X(L,W(K,{get when(){return!b()},get children(){var n=Hd();return X(n,W(K,{get when(){return Tn().length>0||Sn().length+Cn().length>0||Tt()||Et().length>0},get children(){var n=Fd();return X(n,W(K,{get when(){return Tn().length>0},get children(){var e=Ad(),t=e.firstChild,n=t.firstChild.nextSibling,r=n.nextSibling.nextSibling;r.nextSibling;var i=t.nextSibling;return X(t,En,n),X(t,()=>Tn().length,r),X(i,W(G,{get each(){return Tn()},children:e=>(()=>{var t=Qd(),n=t.firstChild;return X(t,(()=>{var t=q(()=>e.status===`completed`);return()=>t()?`☑`:e.status===`in_progress`?`⧖`:`☐`})(),n),X(t,()=>e.title,null),j(n=>{var r=e.status===`completed`,i=e.status===`in_progress`;return r!==n.e&&t.classList.toggle(`done`,n.e=r),i!==n.t&&t.classList.toggle(`active`,n.t=i),n},{e:void 0,t:void 0}),t})()})),j(()=>e.open=!On()),e}}),null),X(n,W(K,{get when(){return Sn().length+Cn().length>0},get children(){var t=jd(),n=t.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;i.nextSibling;var a=n.nextSibling;return X(n,()=>Sn().length,r),X(n,()=>Cn().length,i),X(a,W(G,{get each(){return wn()},children:t=>(()=>{var n=$d(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.firstChild;return r.$$click=()=>e.store.navigate({screen:`subagent`,key:e.sessionKey,agentId:t.agentId}),X(i,(()=>{var e=q(()=>t.status===`running`);return()=>e()?$()?`○`:`●`:t.status===`completed`?`✓`:`✕`})()),X(a,()=>t.agentType,o),X(a,()=>t.taskSummary,null),X(a,W(K,{get when(){return t.arbitrations?.at(-1)},children:e=>e().status===`failure`?` · arbitration failed`:` · ${e().final?.model??e().proposed.model} @ ${e().final?.thinking??e().proposed.thinking}`}),null),j(()=>Ne(i,t.status===`running`&&!$()?`live`:`done`)),n})()})),j(()=>t.open=!On()),t}}),null),X(n,W(K,{get when(){return Tt()||Et().length>0},get children(){var e=Pd();return X(e,W(K,{get when(){return xt()},get children(){var e=Md();return e.firstChild,X(e,(()=>{var e=q(()=>!!t()?.workingText);return()=>e()?` — ${t().workingText}`:``})(),null),X(e,(()=>{var e=q(()=>ee()>2);return()=>e()?` (${ee()}s)`:``})(),null),e}}),null),X(e,W(G,{get each(){return Et()},children:e=>(()=>{var t=ef();return t.firstChild,t.$$click=()=>bn(e.key),X(t,()=>e.key,null),t})()}),null),X(e,W(K,{get when(){return Tt()},get children(){var e=Nd();return e.$$click=vn,X(e,()=>c()?`stopping…`:`■ stop`),j(()=>e.disabled=c()),e}}),null),e}}),null),n}}),null),X(n,W(K,{get when(){return!$()},get fallback(){return tf()},get children(){var n=Vd(),r=n.firstChild,c=r.nextSibling,l=c.firstChild,u=l.nextSibling,d=u.nextSibling,f=d.nextSibling,p=f.nextSibling;X(n,W(K,{get when(){return Un().length>0},get children(){var e=Id(),t=e.firstChild;return X(e,W(G,{get each(){return Un()},children:e=>(()=>{var t=nf(),n=t.firstChild;return X(n,()=>e.kind),X(t,()=>e.text,null),j(()=>Y(t,`title`,e.text)),t})()}),t),t.$$click=qt,e}}),r),X(n,W(K,{get when(){return be().length>0||U().length>0},get children(){var e=Ld();return X(e,W(G,{get each(){return be()},children:(e,t)=>(()=>{var n=rf(),r=n.firstChild;r.firstChild;var i=r.nextSibling,a=i.nextSibling;return X(r,()=>e.fileName,null),X(i,()=>Cf(e.size)),a.$$click=()=>xe(e=>e.filter((e,n)=>n!==t())),j(()=>Y(n,`title`,e.path)),n})()}),null),X(e,W(G,{get each(){return U()},children:(e,t)=>(()=>{var n=af(),r=n.firstChild,i=r.nextSibling;return i.$$click=()=>zt(t()),j(t=>{var i=`${e.fileName} (${Cf(e.size)})`,a=e.previewUrl,o=e.fileName;return i!==t.e&&Y(n,`title`,t.e=i),a!==t.t&&Y(r,`src`,t.t=a),o!==t.a&&Y(r,`alt`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),n})()}),null),e}}),r),X(n,W(K,{get when(){return Kn()},get children(){var e=Rd();return X(e,W(G,{get each(){return Gn()},children:(e,t)=>(()=>{var n=sf(),r=n.firstChild;r.firstChild;var i=r.nextSibling;return n.$$click=()=>qn(e),n.addEventListener(`mouseenter`,()=>fe(t())),X(r,()=>e.name,null),X(n,W(K,{get when(){return e.description},get children(){var t=of();return X(t,()=>e.description),t}}),i),X(i,()=>e.source),j(e=>{var r=`command-option-${t()}`,i=de()===t(),a=de()===t();return r!==e.e&&Y(n,`id`,e.e=r),i!==e.t&&Y(n,`aria-selected`,e.t=i),a!==e.a&&n.classList.toggle(`selected`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),n})()})),e}}),r),r.$$keydown=t=>{if(Kn()){if(t.key===`ArrowDown`){t.preventDefault(),fe((de()+1)%Gn().length);return}if(t.key===`ArrowUp`){t.preventDefault(),fe((de()-1+Gn().length)%Gn().length);return}if(t.key===`Tab`||t.key===`Enter`&&!t.shiftKey&&!On()){t.preventDefault();let e=Gn()[de()];e&&t.key===`Enter`&&i()===`/${e.name}`?(ue(!0),_n()):e&&qn(e);return}if(t.key===`Escape`){t.preventDefault(),ue(!0);return}}if((t.key===`ArrowUp`||t.key===`ArrowDown`)&&(i()===``||Se()!==void 0)){let n=gu(e.sessionKey);if(n.length>0){if(t.preventDefault(),t.key===`ArrowUp`){let e=Se()===void 0?n.length-1:Math.max(0,Se()-1);Ce(e),a(n[e]??``)}else if(Se()!==void 0){let e=Se()+1;e>=n.length?(Ce(void 0),a(``)):(Ce(e),a(n[e]??``))}}return}t.key===`Enter`&&!t.shiftKey&&!On()&&(t.preventDefault(),_n())},r.$$input=e=>{ue(!1),fe(0),Ce(void 0),a(e.currentTarget.value),Ef(e.currentTarget)},r.addEventListener(`paste`,e=>{let t=[...e.clipboardData?.items??[]].filter(e=>e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>!!e);t.length>0&&(e.preventDefault(),Yt(t))});var m=ht;typeof m==`function`?Le(m,r):ht=r,l.addEventListener(`change`,e=>{Zt(e.currentTarget.files??[]),e.currentTarget.value=``});var h=Z;typeof h==`function`?Le(h,l):Z=l,u.addEventListener(`change`,e=>{Yt(e.currentTarget.files??[]),e.currentTarget.value=``});var g=gt;return typeof g==`function`?Le(g,u):gt=u,d.$$click=()=>Z?.click(),f.$$click=()=>gt?.click(),X(c,W(K,{get when(){return xt()},get children(){var e=zd(),t=e.firstChild,n=t.nextSibling;return t.$$click=()=>s(`steer`),n.$$click=()=>s(`follow_up`),j(e=>{var r=o()===`steer`,i=o()===`follow_up`;return r!==e.e&&t.classList.toggle(`selected`,e.e=r),i!==e.t&&n.classList.toggle(`selected`,e.t=i),e},{e:void 0,t:void 0}),e}}),p),X(c,W(K,{get when(){return t()?.suggestedCommand},get children(){var e=Bd(),n=e.firstChild.nextSibling;return e.$$click=()=>a(t().suggestedCommand),X(n,()=>t().suggestedCommand),e}}),p),p.$$click=_n,j(e=>{var t=xt()?`Message dreb — sends as steer while it works…`:`Message dreb…`,n=Kn()?`command-listbox`:void 0,i=Kn()?`command-option-${de()}`:void 0;return t!==e.e&&Y(r,`placeholder`,e.e=t),n!==e.t&&Y(r,`aria-controls`,e.t=n),i!==e.a&&Y(r,`aria-activedescendant`,e.a=i),e},{e:void 0,t:void 0,a:void 0}),j(()=>r.value=i()),n}}),null),n}}),null),X(l,W(K,{get when(){return t()?.uiRequests.find(e=>e.method!==`ask`)},keyed:!0,children:e=>W(Df,{request:e,onRespond:Nt})}),null),X(l,W(K,{get when(){return f()},get children(){return W(jf,{get sessionKey(){return e.sessionKey},get state(){return n()?.state},get initialFilter(){return m()},onClose:()=>{p(!1),h(``)},onSelected:t=>e.store.setRuntimeModel(e.sessionKey,t)})}}),null),X(l,W(K,{get when(){return S()},get children(){return W(ut,{title:`compact context`,onDismiss:()=>C(!1),get actions(){return[(()=>{var e=Cu();return e.$$click=()=>C(!1),e})(),(()=>{var t=cf();return t.$$click=async()=>{C(!1);try{await Q.compact(e.sessionKey)}catch(e){F(e instanceof Error?e.message:String(e))}},t})()]},get children(){return Ud()}})}}),null),X(l,W(K,{get when(){return E()},get children(){return W(Af,{get resources(){return pe()},get error(){return he()},onClose:()=>D(!1)})}}),null),X(l,W(K,{get when(){return we()},get children(){return W(ut,{title:`fork from message`,onDismiss:()=>Te(!1),get children(){return[W(K,{get when(){return Oe()},get children(){var e=Yu();return X(e,Oe),e}}),W(K,{get when(){return Ee().length>0},get fallback(){return lf()},get children(){var e=dd();return X(e,W(G,{get each(){return Ee()},children:e=>(()=>{var t=uf(),n=t.firstChild,r=n.nextSibling;return t.$$click=()=>on(e.entryId),X(n,()=>e.role===`assistant`?`assistant`:`you`),X(r,()=>e.text),t})()})),e}})]}})}}),null),X(l,W(K,{get when(){return Ae()},get children(){return W(Nf,{get roots(){return J()},get leafId(){return Pe()},get loading(){return Ie()},get error(){return ze()},onClose:()=>je(!1),onNavigate:$t})}}),null),X(l,W(K,{get when(){return q(()=>!!Ue())()&&$()?.sessionFile},get children(){return W(ei,{get historicalCwd(){return Pn()??$()?.cwd??``},get initialCwd(){return $()?.cwd},get recentProjects(){return $r(e.store.fleet())},onClose:()=>We(!1),onResume:async t=>{await e.store.resumeClosedSession(e.sessionKey,t);let n=e.store.sessions[e.sessionKey]?.closed?.resumeError;if(n)throw Error(n);We(!1)}})}}),null),X(l,W(K,{get when(){return Ve()},get children(){return W(Pf,{get sessions(){return Ge()},get loading(){return qe()},get error(){return Ye()},onClose:()=>He(!1),onResume:tn})}}),null),X(l,W(K,{get when(){return Ze()},get children(){return W(Ff,{get initialPath(){return $e()},get error(){return tt()},onClose:()=>Qe(!1),onImport:nn})}}),null),X(l,W(K,{get when(){return w()},get children(){return W(Lf,{get current(){return An()??``},onClose:()=>T(!1),onRename:async t=>{try{await Q.rename(e.sessionKey,t),T(!1)}catch(e){F(e instanceof Error?e.message:String(e))}}})}}),null),j(e=>{var t=!!v(),n=v()?`show session details`:`hide session details`,r=!!b(),i=$()?`closed session transcript`:b()?`show composer and controls`:`hide composer and controls`,a=!!$();return t!==e.e&&d.classList.toggle(`collapsed`,e.e=t),n!==e.t&&Y(A,`title`,e.t=n),r!==e.a&&L.classList.toggle(`collapsed`,e.a=r),i!==e.o&&Y(z,`title`,e.o=i),a!==e.i&&(z.disabled=e.i=a),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),l})()}function Lf(e){let[t,n]=k(e.current);return W(ut,{title:`rename session`,get onDismiss(){return e.onClose},get actions(){return[(()=>{var t=Cu();return Pe(t,`click`,e.onClose,!0),t})(),(()=>{var n=df();return n.$$click=()=>e.onRename(t().trim()),j(()=>n.disabled=!t().trim()),n})()]},get children(){var e=xu(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e}})}Me([`input`,`click`,`keydown`]);var Rf=J(`<div class=settings-error>`),zf=J(`<p class=muted>Loading scoped models…`),Bf=J(`<section class="settings-section scoped-models-editor"tabindex=-1 aria-labelledby=scoped-models-heading><h2 id=scoped-models-heading>scoped models</h2><p class="muted small">Controls model cycling for new sessions only; running sessions are never changed. Writes always update global settings, while the selected context shows effective global-plus-project settings.</p><label class=scoped-models-context><span>project context</span><select><option value>global / home`),Vf=J(`<option>`),Hf=J(`<div class=settings-warning>This project defines enabledModels in .dreb/settings.json and shadows global writes.`),Uf=J(`<div class=scoped-models-toolbar><input type=search aria-label="Search available models"placeholder="search provider, model, or name…"><button type=button class="btn btn-small">enable all`),Wf=J(`<div class=scoped-models-grid><div class=scoped-models-order><h3>cycling order</h3><p class="muted small"></p></div><div class=scoped-models-available><h3>available models`),Gf=J(`<span class="muted small">unsaved changes`),Kf=J(`<span class="muted small">✓ saved`),qf=J(`<div class=scoped-models-actions><button type=button class="btn btn-small">reset</button><button type=button class="btn btn-primary btn-small">`),Jf=J(`<div class=settings-warning>`),Yf=J(`<div class=scoped-model-order-row><span></span><div class=scoped-model-move-controls><button type=button>↑</button><button type=button>↓`),Xf=J(`<p class="muted small">No matching models.`),Zf=J(`<section class=scoped-model-provider><label class=scoped-model-provider-heading><input type=checkbox><span>`),Qf=J(`<span class=model-name>`),$f=J(`<label class=scoped-model-choice><input type=checkbox><span class=model-id>`);function ep(e){return`${e.provider}/${e.id}`}function tp(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t].map(([e,t])=>({provider:e,models:t}))}function np(e){let[t,n]=k(``),[r,i]=k(!0),[a,o]=k([]),[s,c]=k(!1),[l,u]=k(!1),[d,f]=k(!1),[p,m]=k(),[h,g]=k([]),_,v,y,b=()=>e.cwd??``,[x,{mutate:S}]=F(b,async e=>{let t=e||void 0,[n,r]=await Promise.all([Q.settings(t),Q.settingsModels(t)]);return{cwd:e,settings:n,models:r.models}}),C=N(()=>{if(x.error)return;let e=x();return e?.cwd===b()?e:void 0});function w(e,t){let n=e.enabledModels===void 0;i(n),o(n?t.map(ep):e.resolvedScopedModels.map(e=>`${e.provider}/${e.id}`)),c(!1),f(!1),m(void 0),g([])}let T=b();M(()=>{let e=b();e!==T&&(T=e,v=void 0,y=void 0,c(!1),f(!1),m(void 0),g([]))}),M(()=>{let e=C();!e||e.cwd===v&&e.settings===y||(v=e.cwd,y=e.settings,w(e.settings,e.models))}),M(()=>{!e.focused||!_||(_.scrollIntoView({block:`start`}),_.focus({preventScroll:!0}))});let E=N(()=>new Set(a())),D=N(()=>{let t=new Set(e.projectRoots);return e.cwd&&t.add(e.cwd),[...t].sort((e,t)=>e.localeCompare(t))}),O=N(()=>{let e=t().trim().toLowerCase();return tp((C()?.models??[]).filter(t=>!e||`${t.provider}/${t.id} ${t.name??``}`.toLowerCase().includes(e)))}),A=N(()=>{if((C()?.models.length??0)===0)return`No available models were reported for this context.`;if(!r()&&a().length===0)return`At least one model must remain enabled.`}),P=N(()=>{let e=C()?.settings;if(!e?.enabledModels)return;let t=e.resolvedScopedModels.map(e=>`${e.provider}/${e.id}`);return e.enabledModels.length===t.length&&e.enabledModels.every((e,n)=>e===t[n])&&e.scopeWarnings.length===0?void 0:`Saving an edited legacy scope replaces patterns and per-pattern thinking suffixes with exact provider/model references.`});function I(e){let t=C()?.models.map(ep)??[],n=t.length>0&&t.every(t=>e.includes(t));i(n),o(n?t:e),c(!0),f(!1),m(void 0)}function L(e){let t=r()?C()?.models.map(ep)??[]:a();I(t.includes(e)?t.filter(t=>t!==e):[...t,e])}function R(e){let t=(C()?.models??[]).filter(t=>t.provider===e).map(ep),n=r()?C()?.models.map(ep)??[]:a();I(t.every(e=>n.includes(e))?n.filter(e=>!t.includes(e)):[...n,...t.filter(e=>!n.includes(e))])}function z(e,t){if(r())return;let n=e+t;if(n<0||n>=a().length)return;let i=[...a()];[i[e],i[n]]=[i[n],i[e]],o(i),c(!0),f(!1)}function ee(){let e=C();e&&w(e.settings,e.models)}async function te(){let e=C();if(!e||!s()||A())return;u(!0),m(void 0),g([]),f(!1);let t=e.cwd||void 0;try{let n=await Q.saveSettings({enabledModels:r()?null:a()},t);if(b()!==e.cwd)return;v=e.cwd,y=n,S({cwd:e.cwd,settings:n,models:e.models}),w(n,e.models),g(n.warnings??[]),f(!0)}catch(t){b()===e.cwd&&m(t instanceof Error?t.message:String(t))}finally{u(!1)}}return(()=>{var i=Bf(),o=i.firstChild.nextSibling.nextSibling.firstChild.nextSibling;o.firstChild;var c=_;return typeof c==`function`?Le(c,i):_=i,o.addEventListener(`change`,t=>e.onCwdChange(t.currentTarget.value||void 0)),X(o,W(G,{get each(){return D()},children:e=>(()=>{var t=Vf();return t.value=e,X(t,e),t})()}),null),X(i,W(K,{get when(){return x.error},get children(){var e=Rf();return X(e,(()=>{var e=q(()=>x.error instanceof Error);return()=>e()?x.error.message:String(x.error)})()),e}}),null),X(i,W(K,{get when(){return x.loading},get children(){return zf()}}),null),X(i,W(K,{get when(){return C()},children:e=>[W(K,{get when(){return e().settings.hasProjectEnabledModelsOverride},get children(){return Hf()}}),W(K,{get when(){return P()},children:e=>(()=>{var t=Jf();return X(t,e),t})()}),W(G,{get each(){return e().settings.scopeWarnings},children:e=>(()=>{var t=Jf();return X(t,()=>e.message),t})()}),W(G,{get each(){return h()},children:e=>(()=>{var t=Jf();return X(t,e),t})()}),W(K,{get when(){return p()},children:e=>(()=>{var t=Rf();return X(t,e),t})()}),W(K,{get when(){return A()},children:e=>(()=>{var t=Rf();return X(t,e),t})()}),(()=>{var i=Uf(),a=i.firstChild,o=a.nextSibling;return a.$$input=e=>n(e.currentTarget.value),o.$$click=()=>I(e().models.map(ep)),j(()=>o.disabled=r()),j(()=>a.value=t()),i})(),(()=>{var t=Wf(),n=t.firstChild,i=n.firstChild.nextSibling,o=n.nextSibling;return o.firstChild,X(i,(()=>{var e=q(()=>!!r());return()=>e()?`All available models, in registry order (future models included).`:`${a().length} enabled model${a().length===1?``:`s`}.`})()),X(n,W(G,{get each(){return a()},children:(e,t)=>(()=>{var n=Yf(),i=n.firstChild,o=i.nextSibling.firstChild,s=o.nextSibling;return Y(i,`title`,e),X(i,e),o.$$click=()=>z(t(),-1),Y(o,`aria-label`,`Move ${e} up`),s.$$click=()=>z(t(),1),Y(s,`aria-label`,`Move ${e} down`),j(e=>{var n=r()||t()===0,i=r()||t()===a().length-1;return n!==e.e&&(o.disabled=e.e=n),i!==e.t&&(s.disabled=e.t=i),e},{e:void 0,t:void 0}),n})()}),null),X(o,W(K,{get when(){return O().length>0},get fallback(){return Xf()},get children(){return W(G,{get each(){return O()},children:t=>(()=>{var n=Zf(),r=n.firstChild.firstChild,i=r.nextSibling;return r.addEventListener(`change`,()=>R(t.provider)),X(i,()=>t.provider),X(n,W(G,{get each(){return t.models},children:e=>{let t=ep(e);return(()=>{var n=$f(),r=n.firstChild,i=r.nextSibling;return Y(n,`title`,t),r.addEventListener(`change`,()=>L(t)),X(i,()=>e.id),X(n,W(K,{get when(){return e.name},get children(){var t=Qf();return X(t,()=>e.name),t}}),null),j(()=>r.checked=E().has(t)),n})()}}),null),j(()=>r.checked=e().models.filter(e=>e.provider===t.provider).every(e=>E().has(ep(e)))),n})()})}}),null),t})(),(()=>{var e=qf(),t=e.firstChild,n=t.nextSibling;return t.$$click=ee,n.$$click=()=>void te(),X(n,()=>l()?`saving…`:`save`),X(e,W(K,{get when(){return s()},get children(){return Gf()}}),null),X(e,W(K,{get when(){return d()},get children(){return Kf()}}),null),j(e=>{var r=!s()||l(),i=!s()||l()||!!A();return r!==e.e&&(t.disabled=e.e=r),i!==e.t&&(n.disabled=e.t=i),e},{e:void 0,t:void 0}),e})()]}),null),j(()=>o.value=e.cwd??``),i})()}Me([`input`,`click`]);var rp=[{id:`default`,label:`entropist.ca`},{id:`dim`,label:`Dim`},{id:`solarized`,label:`Solarized`},{id:`gruvbox`,label:`Gruvbox`},{id:`qud`,label:`Caves of Qud`},{id:`vangogh`,label:`Van Gogh`},{id:`okabe`,label:`Colorblind-safe (Okabe-Ito)`},{id:`tol`,label:`Colorblind-safe (Paul Tol)`}],ip=rp.map(e=>e.id),ap=[`system`,`light`,`dark`],op=[{id:`theme`,label:`Theme default`},{id:`ibm-plex-mono`,label:`IBM Plex Mono`},{id:`jetbrains-mono`,label:`JetBrains Mono`},{id:`fira-code`,label:`Fira Code`},{id:`iosevka`,label:`Iosevka`},{id:`opendyslexic`,label:`OpenDyslexic`},{id:`atkinson-hyperlegible`,label:`Atkinson Hyperlegible`}],sp=op.map(e=>e.id),cp=`dreb.dashboard.theme`,lp=`dreb.dashboard.colorMode`,up=`dreb.dashboard.font`,dp=`default`,fp=`system`,pp=`theme`;function mp(e){return typeof e==`string`&&ip.includes(e)}function hp(e){return typeof e==`string`&&ap.includes(e)}function gp(e){return typeof e==`string`&&sp.includes(e)}function _p(){if(typeof window>`u`)return dp;try{let e=window.localStorage.getItem(cp);return mp(e)?e:dp}catch{return dp}}function vp(){if(typeof window>`u`)return fp;try{let e=window.localStorage.getItem(lp);return hp(e)?e:fp}catch{return fp}}function yp(){if(typeof window>`u`)return pp;try{let e=window.localStorage.getItem(up);return gp(e)?e:pp}catch{return pp}}function bp(e,t,n){if(!(typeof window>`u`))try{t===n?window.localStorage.removeItem(e):window.localStorage.setItem(e,t)}catch{}}var[xp,Sp]=k(_p()),[Cp,wp]=k(vp()),[Tp,Ep]=k(yp()),Dp=xp,Op=Cp,kp=Tp;function Ap(e){let t=e.defaultView??(typeof window<`u`?window:void 0);return!t||typeof t.getComputedStyle!=`function`?``:t.getComputedStyle(e.documentElement).getPropertyValue(`--bg`).trim()}function jp(e){try{let t=e??(typeof document<`u`?document:void 0);if(!t)return;let n=t.documentElement;if(!n)return;let r=xp(),i=Cp(),a=Tp();if(r===dp?n.removeAttribute(`data-theme`):n.setAttribute(`data-theme`,r),i===fp?n.removeAttribute(`data-color-mode`):n.setAttribute(`data-color-mode`,i),a===pp?n.removeAttribute(`data-font`):n.setAttribute(`data-font`,a),!(r!==dp||i!==fp))n.style.removeProperty(`color-scheme`);else{let e=i===`light`?`light`:i===`dark`?`dark`:`light dark`;n.style.setProperty(`color-scheme`,e)}}catch{}}function Mp(e){try{let t=e??(typeof document<`u`?document:void 0);if(!t)return;let n=Ap(t);if(!n)return;let r=t.querySelector(`meta[name="theme-color"]:not([media])`);if(!r){r=t.createElement(`meta`),r.setAttribute(`name`,`theme-color`);let e=t.head??t.getElementsByTagName(`head`)[0];e&&e.insertBefore(r,e.firstChild)}r.setAttribute(`content`,n)}catch{}}function Np(e){let t=mp(e)?e:dp;Sp(t),bp(cp,t,dp),jp(),Mp()}function Pp(e){let t=hp(e)?e:fp;wp(t),bp(lp,t,fp),jp(),Mp()}function Fp(e){let t=gp(e)?e:pp;Ep(t),bp(up,t,pp),jp()}var Ip=null,Lp=!1;function Rp(){Cp()===fp&&Mp()}function zp(e){e.key!==null&&e.key!==`dreb.dashboard.theme`&&e.key!==`dreb.dashboard.colorMode`&&e.key!==`dreb.dashboard.font`||Bp()}function Bp(){Sp(_p()),wp(vp()),Ep(yp()),jp(),Mp()}function Vp(){if(!(typeof window>`u`)){try{typeof window.matchMedia==`function`&&(Ip=window.matchMedia(`(prefers-color-scheme: dark)`),typeof Ip.addEventListener==`function`?Ip.addEventListener(`change`,Rp):typeof Ip.addListener==`function`&&Ip.addListener(Rp))}catch{}try{window.addEventListener(`storage`,zp)}catch{}}}function Hp(){Bp(),!Lp&&(Lp=!0,Vp())}var Up=J(`<div class=appearance-controls><div class=setting-row><span class=setting-label><span class=name>color mode</span><span class=hint>this browser only — “system” follows your OS light/dark preference</span></span><span class=setting-control><select id=pref-color-mode></select></span></div><div class=setting-row><label class=setting-label for=pref-font><span class=name>font</span><span class=hint>this browser only — “theme default” keeps each theme’s built-in font</span></label><span class=setting-control><select id=pref-font></select></span></div><div class=theme-gallery>`),Wp=J(`<option>`),Gp=J(`<button type=button class=theme-card><div class=theme-card-preview><div class=theme-card-swatch><span class=theme-card-name></span><span class=theme-card-muted>The quick brown fox.</span></div><div class=theme-card-chips></div><pre class=theme-card-code><code class=hljs><span class=hljs-keyword>const</span> <span class=hljs-variable>count</span><span class=hljs-operator> = </span><span class=hljs-number>42</span><span class=hljs-punctuation>;</span>
78
78
  <span class=hljs-comment>// preview</span>
79
- <span class=hljs-function>render</span><span class=hljs-punctuation>(</span><span class=hljs-string>"ok"</span><span class=hljs-punctuation>)</span><span class=hljs-punctuation>;</span></code></pre></div><span class=theme-card-footer><span class=theme-card-title></span><span class=theme-card-state>`),Kp=[`running`,`attention`,`idle`,`error`];function qp(){let e=()=>{let e=Op();return e===`system`?void 0:e},t=()=>{let e=kp();return e===`theme`?`ibm-plex-mono`:e};return(()=>{var n=Up(),r=n.firstChild,i=r.firstChild.nextSibling.firstChild,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling;return i.addEventListener(`change`,e=>Pp(e.currentTarget.value)),X(i,W(G,{each:ap,children:e=>(()=>{var t=Wp();return t.value=e,X(t,e),t})()})),o.addEventListener(`change`,e=>Fp(e.currentTarget.value)),X(o,W(G,{each:op,children:e=>(()=>{var t=Wp();return X(t,()=>e.label),j(()=>t.value=e.id),t})()})),X(s,W(G,{each:rp,children:n=>{let r=()=>Dp()===n.id;return(()=>{var i=Gp(),a=i.firstChild,o=a.firstChild,s=o.firstChild,c=o.nextSibling,l=a.nextSibling.firstChild,u=l.nextSibling;return i.$$click=()=>Np(n.id),X(s,()=>n.label),X(c,W(G,{each:Kp,children:e=>W(at,{status:e,label:``})})),X(l,()=>n.label),X(u,()=>r()?`✓ active`:`select`),j(a=>{var o=!!r(),s=n.id,c=n.id,l=e(),u=t(),d=r(),f=r()?`true`:void 0,p=`use the ${n.label} theme`;return o!==a.e&&i.classList.toggle(`active`,a.e=o),s!==a.t&&Y(i,`data-theme-card`,a.t=s),c!==a.a&&Y(i,`data-theme`,a.a=c),l!==a.o&&Y(i,`data-color-mode`,a.o=l),u!==a.i&&Y(i,`data-font`,a.i=u),d!==a.n&&Y(i,`aria-pressed`,a.n=d),f!==a.s&&Y(i,`aria-current`,a.s=f),p!==a.h&&Y(i,`title`,a.h=p),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),i})()}})),j(()=>i.value=Op()),j(()=>o.value=kp()),n})()}Me([`click`]);var Jp=J(`<select><option value=on>on</option><option value=off>off`),Yp=J(`<div class=field style=margin-bottom:8px><input type=text placeholder="search models…">`),Xp=J(`<button type=button class="model-row model-clear-row"><span class=model-current></span><span class=model-id>`),Zp=J(`<div class=model-list style=max-height:320px>`),Qp=J(`<p class="muted small">No matching models.`),$p=J(`<section class=model-provider-group><div class=model-provider-heading>`),em=J(`<span class=model-name>`),tm=J(`<span class=model-reasoning>think`),nm=J(`<button type=button class=model-row><span class=model-current></span><span class=model-id></span><span class=model-provider-badge>`),rm=J(`<div class=settings-error>`),im=J(`<div class=settings-warning>`),am=J(`<p class="muted small"style=margin-bottom:16px>✓ saved`),om=J(`<div class=settings-success>new pairing lifetime saved`),sm=J(`<div class=setting-row><span class=setting-label><span class=name>pairing code</span><span class=hint>new devices enter this in the pairing screen; it rotates every 30s</span></span><span class=setting-control><code style=font-size:var(--fs-h2);letter-spacing:0.08em>`),cm=J(`<p class="muted small"style=padding-top:8px>No remote devices paired. Launch with <code>--remote --allow &lt;identity&gt;</code> to enable Tailscale access.`),lm=J(`<p>This exits the dashboard server process and terminates <strong>all running sessions</strong>.`),um=J(`<div class=screen-fill><main class="container settings-wrap"><h1>settings</h1><p class=settings-intro>Ordinary defaults apply only to new sessions. Dispatch Arbiter changes apply to subsequent child spawns. Context trust changes apply to subsequent lazy loads in live sessions; already injected content cannot be retracted. Writes go to the global settings file on the host.</p><section class=settings-section><h2>dashboard</h2><div class=appearance-block><div class="setting-row appearance-heading-row"><span class=setting-label><span class=name>appearance</span><span class=hint>this browser only — theme, light/dark mode, and font are stored in localStorage and are independent of the TUI theme. Okabe-Ito and Paul Tol are colorblind-safe palettes.</span></span></div></div><div class=setting-row><label class=setting-label for=pref-image-display-mode><span class=name>tool-result images</span><span class=hint>this browser only — placeholders make no automatic request, previews are bounded to 1024 px and 256 KiB, and originals automatically transfer full files. Choosing originals is the informed network-data opt-in.</span></label><span class=setting-control><select id=pref-image-display-mode><option value=placeholders>placeholders</option><option value=previews>bounded previews</option><option value=originals>automatic originals</option></select></span></div><div class=setting-row><span class=setting-label><span class=name>always expand thinking</span><span class=hint>this browser only — stored in localStorage, not the host settings file</span></span><span class=setting-control><label class=checkbox-control><input id=pref-expand-thinking type=checkbox><span>open by default</span></label></span></div><div class=setting-row><span class=setting-label><span class=name>auto-expand tool cards</span><span class=hint>this browser only — stored in localStorage, not the host settings file</span></span><span class=setting-control style=display:grid;gap:6px></span></div><div class=setting-row><span class=setting-label><span class=name>needs-attention notifications</span><span class=hint></span></span><span class=setting-control><label class=checkbox-control><input id=pref-notifications type=checkbox><span></span></label></span></div><div class=setting-row><span class=setting-label><span class=name>restart dashboard service</span><span class=hint></span></span><span class=setting-control><button type=button class="btn btn-small btn-danger"></button></span></div></section><section class=settings-section><h2>devices</h2><div class=device-row><span>this machine <span class=this-device></span></span><span class=meta>local · always allowed</span></div><div class=setting-row><label class=setting-label for=pairing-ttl-days><span class=name>new pairing lifetime</span><span class=hint>applies only to devices paired after saving; existing expiry dates do not change</span></label><span class=setting-control><input id=pairing-ttl-days type=number min=1 max=3650 step=1><span>days</span><button type=button class="btn btn-small"></button></span></div></section><footer>dreb<!> · dashboard`),dm=J(`<div>`),fm=J(`<p class=muted>`),pm=J(`<section class=settings-section><h2>model</h2><div class=setting-row><span class=setting-label><span class=name>default model</span><span class=hint>used by new sessions; validated against configured providers</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button"></button></span></div><div class=setting-row><span class=setting-label><span class=name>default thinking level</span><span class=hint></span></span><span class=setting-control><select></select></span></div><div class=setting-row><span class=setting-label><span class=name>transport</span><span class=hint>preferred model transport for new sessions</span></span><span class=setting-control><select>`),mm=J(`<section class="settings-section tab-title-settings"><h2>tab title</h2><p class="muted small"style=margin-bottom:8px>Automatically names new, unnamed sessions after a few tool calls. Changes apply to new sessions.</p><div class=setting-row><span class=setting-label><span class=name>enabled</span><span class=hint>enabled by default; disabled sessions make no title model call</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>title model</span><span class=hint>exact authenticated provider/model; parent session model remains the retry</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button">`),hm=J(`<section class="settings-section dispatch-arbiter-settings"><h2>dispatch arbiter</h2><p class="muted small"style=margin-bottom:8px>Global-only, fully headless pre-spawn routing. Project settings cannot change it. When enabled, invalid model, scope, guide, inference, or output prevents the affected child from spawning.</p><div class=setting-row><span class=setting-label><span class=name>enabled</span><span class=hint>disabled by default; fail closed when enabled</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>arbiter model</span><span class=hint>exact authenticated provider/model; no fallback</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button"></button></span></div><div class=setting-row><span class=setting-label><span class=name>arbiter thinking</span><span class=hint>validated against the selected arbiter model</span></span><span class=setting-control><select></select></span></div><div class=setting-row><label class=setting-label for=dispatch-arbiter-guide-path><span class=name>routing guide path</span><span class=hint>blank uses ~/.dreb/agent/model-routing-guide.md</span></label><span class=setting-control><input id=dispatch-arbiter-guide-path type=text placeholder=~/.dreb/agent/model-routing-guide.md></span></div><div data-testid=dispatch-arbiter-readiness><strong>status:</strong> `),gm=J(`<div class="setting-row agent-context-row"><span class=setting-label><span class=name>agent definition context</span><span class=hint>choose a project to include its .dreb/agents definitions</span></span><span class=setting-control><select><option value>global/home only`),_m=J(`<section class=settings-section><h2>agent models</h2><p class="muted small"style=margin-bottom:8px>Per-agent fallback lists. First available model wins; empty lists revert to the default model. Agent definitions are loaded from an explicit project context so project-local agents do not depend on which runtime opened first.`),vm=J(`<section class=settings-section><h2>images</h2><div class=setting-row><span class=setting-label><span class=name>auto-resize images</span><span class=hint>resize image inputs before sending them to providers</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>block images</span><span class=hint>prevent image inputs from being sent to providers</span></span><span class=setting-control>`),ym=J(`<section class=settings-section><h2>queueing</h2><div class=setting-row><span class=setting-label><span class=name>steering delivery</span><span class=hint>deliver queued steers all at once, or one per turn</span></span><span class=setting-control><select></select></span></div><div class=setting-row><span class=setting-label><span class=name>follow-up delivery</span><span class=hint>deliver queued follow-ups all at once, or one per turn</span></span><span class=setting-control><select>`),bm=J(`<section class=settings-section><h2>behavior</h2><div class=setting-row><span class=setting-label><span class=name>skill slash commands</span><span class=hint>register skills as slash commands in new sessions</span></span><span class=setting-control></span></div><div class=setting-row><label class=setting-label for=max-concurrent-subagents><span class=name>max concurrent subagents</span><span class=hint>new parent sessions only; 0 removes the subagent tool (default 4)</span></label><span class=setting-control><input id=max-concurrent-subagents type=number min=0 step=1></span></div><div class=setting-row><span class=setting-label><span class=name>single model mode</span><span class=hint>all subagents run on this session's model; model overrides, per-agent model lists, and the dispatch arbiter are bypassed</span></span><span class=setting-control></span></div><div class=context-trust-subsection><h3>trusted context folders</h3><p class="muted small">Specific global roots that may lazy-load nested AGENTS.md/CLAUDE.md and all descendants.</p><div class="settings-warning context-trust-global-warning"><strong>Global-only policy.</strong> Project <code>.dreb/settings.json</code> cannot enable, disable, or extend nested-context trust. Only these global settings and the Files view can; a cloned repository cannot grant itself trust.</div><form class=trusted-context-folder-add><label for=trusted-context-folder-path>add folder by path</label><input id=trusted-context-folder-path type=text placeholder=/path/to/project><button type=submit class="btn btn-small"></button></form></div><div class=setting-row><span class=setting-label><span class=name>global expert nested-context trust</span><span class=hint>allow nested AGENTS.md/CLAUDE.md from any resolvable directory</span></span><span class=setting-control></span></div><div class="settings-warning context-expert-warning"><strong>Expert global override.</strong> Project <code>.dreb/settings.json</code> cannot enable, disable, or extend nested-context trust; a cloned repository cannot grant itself trust. When ON, nested instructions from any resolvable directory may load, including untrusted prompt-injection content. Leave this OFF and use trusted folders for projects you control.</div><div class=setting-row><span class=setting-label><span class=name>hide thinking blocks</span><span class=hint>hide raw thinking blocks in rendered transcripts</span></span><span class=setting-control>`),xm=J(`<section class=settings-section><h2>reliability</h2><div class=setting-row><span class=setting-label><span class=name>auto-compaction</span><span class=hint>summarize old context when the window fills</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>continue after auto-compaction</span><span class=hint>can run and incur cost indefinitely; manual compaction never continues</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>auto-retry</span><span class=hint>retry transient stream errors (rate limits, 5xx)</span></span><span class=setting-control>`),Sm=J(`<p class="muted small settings-footnote">TUI-only settings (cursor, editor) are managed in the terminal /settings menu. The dashboard appearance (theme + light/dark mode + font) is set here, per-browser, and is independent of the TUI theme.`),Cm=J(`<option>`),wm=J(`<p class="muted small">No agent definitions found.`),Tm=J(`<div class=agent-model-editor><button type=button class="btn btn-small">add model…`),Em=J(`<div class=agent-model-row><div class=agent-model-summary><span class=agent-model-name></span><span class=agent-model-description></span></div><div class=agent-model-fallbacks></div><button type=button class="btn btn-small agent-model-edit">`),Dm=J(`<span class="muted small">default`),Om=J(`<span class=agent-model-chip>. `),km=J(`<p class="muted small">Using the default model.`),Am=J(`<div class=agent-model-entry><span></span><div class=agent-model-entry-actions><button type=button class="btn btn-small">↑</button><button type=button class="btn btn-small">↓</button><button type=button class="btn btn-small">×`),jm=J(`<p class="muted small trusted-context-empty">No trusted folders. Use the Files view to trust a project folder and its descendants.`),Mm=J(`<div class=trusted-context-folder-row><code></code><span class=meta>and all descendants</span><button type=button class="btn btn-small btn-danger">`),Nm=J(`<label class=checkbox-control><input type=checkbox><span>`),Pm=J(`<div class=device-row><span></span><span class=meta> · paired <!> · expires </span><span class=actions><button type=button class="btn btn-small btn-danger">unpair`),Fm=J(`<button type=button class="btn btn-small">cancel`),Im=J(`<button type=button class="btn btn-small btn-danger">restart`),Lm=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Rm=[`all`,`one-at-a-time`],zm=[`sse`,`websocket`,`auto`];function Bm(e){return`${e.provider}/${e.id}`}function Vm(e){let t=Bm(e);return e.name?`${t} — ${e.name}`:t}function Hm(e){return e.defaultProvider&&e.defaultModel?`${e.defaultProvider}/${e.defaultModel}`:`choose model…`}function Um(e,t){return`${e.provider}/${e.id} ${e.name??``}`.toLowerCase().includes(t)}function Wm(){if(typeof Notification>`u`){if(window.isSecureContext===!1)return`insecure`;let e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=navigator.standalone===!0||window.matchMedia?.(`(display-mode: standalone)`)?.matches===!0;return e&&!t?`ios-install`:`unsupported`}return Notification.permission}function Gm(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t.entries()].map(([e,t])=>({provider:e,models:t}))}function Km(e,t,n){let r=t+n;if(r<0||r>=e.length)return e;let i=[...e];return[i[t],i[r]]=[i[r],i[t]],i}function qm(e){return(()=>{var t=Jp();return t.addEventListener(`change`,t=>{e.onChange(t.currentTarget.value===`on`)===!1&&(t.currentTarget.value=e.value?`on`:`off`)}),j(()=>t.value=e.value?`on`:`off`),t})()}function Jm(e){let[t,n]=k(``),r=()=>new Set(e.selected??[]),i=N(()=>{let n=t().toLowerCase();return Gm(e.models.filter(e=>!n||Um(e,n)).slice(0,100))}),a=e=>r().has(Bm(e));return W(ut,{get title(){return e.title},get onDismiss(){return e.onClose},class:`model-picker-modal`,get children(){return[(()=>{var e=Yp(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),(()=>{var t=Zp();return X(t,W(K,{get when(){return q(()=>!!e.onClear)()&&e.clearLabel},get children(){var t=Xp(),n=t.firstChild,i=n.nextSibling;return t.$$click=()=>e.onClear?.(),X(n,()=>r().size===0?`✓`:``),X(i,()=>e.clearLabel),j(()=>t.classList.toggle(`current`,r().size===0)),t}}),null),X(t,W(K,{get when(){return i().length>0},get fallback(){return Qp()},get children(){return W(G,{get each(){return i()},children:t=>(()=>{var n=$p(),r=n.firstChild;return X(r,()=>t.provider),X(n,W(G,{get each(){return t.models},children:t=>(()=>{var n=nm(),r=n.firstChild,i=r.nextSibling,o=i.nextSibling;return n.$$click=()=>e.onPick(t),X(r,()=>a(t)?`✓`:``),X(i,()=>t.id),X(n,W(K,{get when(){return t.name},get children(){var e=em();return X(e,()=>t.name),e}}),o),X(o,()=>t.provider),X(n,W(K,{get when(){return t.reasoning},get children(){return tm()}}),null),j(e=>{var r=!!a(t),i=Vm(t);return r!==e.e&&n.classList.toggle(`current`,e.e=r),i!==e.t&&Y(n,`title`,e.t=i),e},{e:void 0,t:void 0}),n})()}),null),n})()})}}),null),t})()]}})}function Ym(e){let[t,n]=k(),[r,i]=k([]),[a,o]=k(!1),[s,c]=k(),[l,u]=k(),[d,f]=k(),[p,m]=k(e.target===`scoped-models`?e.routeScopedModelsCwd:void 0);M(()=>{m(e.target===`scoped-models`?e.routeScopedModelsCwd:void 0)});let[h,g]=k(``),[_,v]=k(!1),[y,b]=k(Wm()),[x,{mutate:S,refetch:C}]=F(async()=>{n(void 0);try{return await Q.settings()}catch(e){n(e instanceof Error?e.message:String(e));return}}),[w]=F(x,async()=>{try{let{models:e}=await Q.settingsModels();return e}catch(e){return n(e instanceof Error?e.message:String(e)),[]}}),T=N(()=>{let t=new Set;for(let n of e.store.fleet().runtimes)t.add(n.cwd);for(let n of e.store.fleet().diskSessions)t.add(n.cwd);return[...t].sort((e,t)=>e.localeCompare(t))}),[E]=F(()=>({settings:x(),cwd:d()}),async({cwd:e})=>{if(!x())return[];try{let{agentTypes:t}=await Q.agentTypes(e);return t}catch(e){return n(e instanceof Error?e.message:String(e)),[]}}),[D,{refetch:O}]=F(async()=>{let{devices:e}=await Q.devices();return e}),[A,P]=k(),[I,L]=k(!1),[ee,te]=k(!1),[ne,re]=k(``),[ie,{mutate:ae}]=F(async()=>{try{return await Q.pairingSettings()}catch(e){P(e instanceof Error?e.message:String(e));return}});M(()=>{let e=ie();e&&re(String(e.pairingTtlDays))});async function B(){P(void 0),L(!1);let e=Number(ne());if(!Number.isSafeInteger(e)||e<1||e>3650){P(`pairing lifetime must be a whole number from 1 through 3650 days`);return}te(!0);try{let t=await Q.savePairingSettings(e);ae(t),L(!0)}catch(e){P(e instanceof Error?e.message:String(e))}finally{te(!1)}}let[oe,V]=k(),se;function H(){se&&clearTimeout(se),se=void 0}function ce(e){H();let t=Math.max(250,e??3e4)+100;se=setTimeout(()=>void le(),t)}async function le(){try{let e=await Q.pairingCode();if(!e.enabled||!e.code){V(void 0),H();return}V(e),ce(e.expiresInMs)}catch(e){console.warn(`pairing code unavailable`,e),V(void 0),H()}}let[ue]=F(async()=>{try{let{version:e}=await Q.version();return e}catch{return}}),[de]=F(async()=>{try{return await Q.serverInfo()}catch{return}}),[fe,pe]=k(!1),[me,he]=k(!1),[ge,_e]=k();async function ve(){_e(void 0),he(!0);try{await Q.restartServer()}catch(e){_e(e instanceof Error?e.message:String(e)),he(!1)}}async function U(e){n(void 0),i([]),o(!1);try{let t=await Q.saveSettings(e);S(t),i(t.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){n(e instanceof Error?e.message:String(e)),await C()}}let ye=Promise.resolve(),be;function xe(){return be??x()?.subagentArbiter??{}}function Se(e){let t={...xe(),...e};be=t;let r=x();r&&S({...r,subagentArbiter:t}),ye=ye.then(async()=>{n(void 0),i([]),o(!1);try{let e=await Q.saveSettings({subagentArbiter:t});i(e.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3),be===t?(be=e.subagentArbiter??void 0,S(e)):S({...e,subagentArbiter:be})}catch(e){let r=e instanceof Error?e.message:String(e),i=await C();n(r),be===t?be=i?.subagentArbiter??void 0:i&&S({...i,subagentArbiter:be})}})}let Ce=Promise.resolve(),we;function Te(){return we??x()?.tabTitle??{}}function Ee(e){let t={...Te(),...e},r={...t,model:t.model??void 0};we=r;let a=x();a&&S({...a,tabTitle:r}),Ce=Ce.then(async()=>{n(void 0),i([]),o(!1);try{let t=await Q.saveSettings({tabTitle:e});i(t.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3),we===r?(we=t.tabTitle??void 0,S(t)):S({...t,tabTitle:we})}catch(e){let t=e instanceof Error?e.message:String(e),i=await C();n(t),we===r?we=i?.tabTitle??void 0:i&&S({...i,tabTitle:we})}})}async function De(e,t){await U({agentModels:{[e]:t}})}async function Oe(e){n(void 0),v(!0);try{let t=await Q.trustContextFolder(e);S(t.settings),g(``)}catch(e){n(e instanceof Error?e.message:String(e))}finally{v(!1)}}async function ke(e){n(void 0),v(!0);try{let t=await Q.removeTrustedContextFolder(e);S(t.settings)}catch(e){n(e instanceof Error?e.message:String(e))}finally{v(!1)}}function Ae(e){return x()?.agentModels?.[e]??[]}function je(e){let t=e.subagentArbiter;return t?.enabled===!0?typeof t.model!=`string`||!t.model.trim()?{ready:!1,message:`not ready — choose an arbiter model`}:t.thinking!==void 0&&!Lm.some(e=>e===t.thinking)?{ready:!1,message:`not ready — arbiter thinking setting is invalid`}:t.guidePath!==void 0&&typeof t.guidePath!=`string`?{ready:!1,message:`not ready — routing guide path is invalid`}:t.guidePath?.trim()?{ready:!0,message:`enabled — live scope and guide are validated before every child spawn`}:{ready:!0,message:`enabled — using ~/.dreb/agent/model-routing-guide.md; live scope/guide checked at dispatch`}:{ready:!1,message:`disabled`}}async function J(){typeof Notification>`u`||b(await Notification.requestPermission())}R(()=>void le()),z(H);let Me=()=>e.store.auth();return(()=>{var i=um(),o=i.firstChild,v=o.firstChild.nextSibling.nextSibling,b=v.firstChild.nextSibling;b.firstChild;var S=b.nextSibling,C=S.firstChild.nextSibling.firstChild,k=S.nextSibling,M=k.firstChild.nextSibling.firstChild.firstChild,N=k.nextSibling,P=N.firstChild.nextSibling,F=N.nextSibling,R=F.firstChild,z=R.firstChild.nextSibling,te=R.nextSibling.firstChild.firstChild,ae=te.nextSibling,V=F.nextSibling.firstChild,se=V.firstChild.nextSibling,H=V.nextSibling.firstChild,ce=v.nextSibling,le=ce.firstChild.nextSibling,he=le.firstChild.firstChild.nextSibling,_e=le.nextSibling.firstChild.nextSibling.firstChild,ye=_e.nextSibling.nextSibling,be=ce.nextSibling,Ce=be.firstChild.nextSibling;return Ce.nextSibling,X(i,W(ct,{get store(){return e.store},active:`settings`}),o),X(o,W(K,{get when(){return t()},get children(){var e=rm();return X(e,t),e}}),v),X(o,W(K,{get when(){return r().length>0},get children(){var e=im();return X(e,W(G,{get each(){return r()},children:e=>(()=>{var t=dm();return X(t,e),t})()})),e}}),v),X(o,W(K,{get when(){return a()},get children(){return am()}}),v),X(o,W(K,{get when(){return x()},get fallback(){return(()=>{var e=fm();return X(e,()=>t()?`Settings could not be loaded — see the error above.`:`Loading settings…`),e})()},children:t=>[(()=>{var e=pm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling.firstChild,i=n.nextSibling,a=i.firstChild,o=a.firstChild.nextSibling,s=a.nextSibling.firstChild,l=i.nextSibling.firstChild.nextSibling.firstChild;return r.$$click=()=>c({kind:`default`}),X(r,()=>Hm(t())),X(o,()=>Lm.join(` · `)),s.addEventListener(`change`,e=>U({defaultThinkingLevel:e.currentTarget.value})),X(s,W(G,{each:Lm,children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),l.addEventListener(`change`,e=>U({transport:e.currentTarget.value})),X(l,W(G,{get each(){return[...zm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),j(()=>s.value=t().defaultThinkingLevel??`off`),j(()=>l.value=t().transport??`sse`),e})(),(()=>{var e=mm(),n=e.firstChild.nextSibling.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling.firstChild.nextSibling.firstChild;return X(r,W(qm,{get value(){return t().tabTitle?.enabled!==!1},onChange:e=>Ee({enabled:e})})),i.$$click=()=>c({kind:`tabTitle`}),X(i,(()=>{var e=q(()=>typeof t().tabTitle?.model==`string`);return()=>e()?t().tabTitle?.model:`automatic (Explore route)`})()),e})(),W(np,{get cwd(){return p()},get projectRoots(){return T()},get focused(){return e.target===`scoped-models`},onCwdChange:t=>{m(t),e.store.navigate({screen:`settings`,target:`scoped-models`,...t?{cwd:t}:{}})}}),(()=>{var e=hm(),r=e.firstChild.nextSibling.nextSibling,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling,l=s.firstChild.nextSibling.firstChild,u=s.nextSibling,d=u.firstChild.nextSibling.firstChild,f=u.nextSibling;return f.firstChild.nextSibling,X(i,W(qm,{get value(){return t().subagentArbiter?.enabled===!0},onChange:e=>{let t=xe();return e&&(typeof t.model!=`string`||!t.model.trim())?(n(`Choose an exact Dispatch Arbiter model before enabling it.`),c({kind:`arbiter`}),!1):(Se({enabled:e}),!0)}})),o.$$click=()=>c({kind:`arbiter`}),X(o,(()=>{var e=q(()=>typeof t().subagentArbiter?.model==`string`);return()=>e()?t().subagentArbiter?.model:`choose model…`})()),l.addEventListener(`change`,e=>Se({thinking:e.currentTarget.value})),X(l,W(G,{each:Lm,children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),d.addEventListener(`change`,e=>{Se({guidePath:e.currentTarget.value.trim()||void 0})}),X(f,()=>je(t()).message,null),j(()=>Ne(f,je(t()).ready?`settings-warning`:`muted small`)),j(()=>l.value=typeof t().subagentArbiter?.thinking==`string`&&Lm.some(e=>e===t().subagentArbiter?.thinking)?t().subagentArbiter?.thinking:`off`),j(()=>d.value=typeof t().subagentArbiter?.guidePath==`string`?t().subagentArbiter?.guidePath:``),e})(),(()=>{var e=_m();return e.firstChild.nextSibling,X(e,W(K,{get when(){return T().length>0},get children(){var e=gm(),t=e.firstChild.nextSibling.firstChild;return t.firstChild,t.addEventListener(`change`,e=>f(e.currentTarget.value||void 0)),X(t,W(G,{get each(){return T()},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()}),null),j(()=>Y(t,`title`,d()??`global/home only`)),j(()=>t.value=d()??``),e}}),null),X(e,W(K,{get when(){return(E()??[]).length>0},get fallback(){return wm()},get children(){return W(G,{get each(){return E()??[]},children:e=>{let n=()=>t().agentModels?.[e.name]??[];return(()=>{var t=Em(),r=t.firstChild,i=r.firstChild,a=i.nextSibling,o=r.nextSibling,s=o.nextSibling;return X(i,()=>e.name),X(a,()=>e.description),X(o,W(K,{get when(){return n().length>0},get fallback(){return Dm()},get children(){return W(G,{get each(){return n()},children:(e,t)=>(()=>{var n=Om(),r=n.firstChild;return X(n,()=>t()+1,r),X(n,e,null),n})()})}})),s.$$click=()=>u(l()===e.name?void 0:e.name),X(s,()=>l()===e.name?`done`:`edit`),X(t,W(K,{get when(){return l()===e.name},get children(){var t=Tm(),r=t.firstChild;return X(t,W(K,{get when(){return n().length>0},get fallback(){return km()},get children(){return W(G,{get each(){return n()},children:(t,r)=>(()=>{var i=Am(),a=i.firstChild,o=a.nextSibling.firstChild,s=o.nextSibling,c=s.nextSibling;return X(a,t),o.$$click=()=>void De(e.name,Km(n(),r(),-1)),s.$$click=()=>void De(e.name,Km(n(),r(),1)),c.$$click=()=>void De(e.name,n().filter((e,t)=>t!==r())),j(e=>{var t=r()===0,i=r()===n().length-1;return t!==e.e&&(o.disabled=e.e=t),i!==e.t&&(s.disabled=e.t=i),e},{e:void 0,t:void 0}),i})()})}}),r),r.$$click=()=>c({kind:`agent`,agentName:e.name}),t}}),null),t})()}})}}),null),e})(),(()=>{var e=vm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling.firstChild.nextSibling;return X(r,W(qm,{get value(){return t().imageAutoResize!==!1},onChange:e=>U({imageAutoResize:e})})),X(i,W(qm,{get value(){return t().blockImages===!0},onChange:e=>U({blockImages:e})})),e})(),(()=>{var e=ym(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling.firstChild,i=n.nextSibling.firstChild.nextSibling.firstChild;return r.addEventListener(`change`,e=>U({steeringMode:e.currentTarget.value})),X(r,W(G,{get each(){return[...Rm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),i.addEventListener(`change`,e=>U({followUpMode:e.currentTarget.value})),X(i,W(G,{get each(){return[...Rm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),j(()=>r.value=t().steeringMode??`all`),j(()=>i.value=t().followUpMode??`all`),e})(),(()=>{var e=bm(),r=e.firstChild.nextSibling,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling,c=s.firstChild.nextSibling,l=s.nextSibling,u=l.firstChild.nextSibling.nextSibling.nextSibling,d=u.firstChild.nextSibling,f=d.nextSibling,p=l.nextSibling,m=p.firstChild.nextSibling,v=p.nextSibling.nextSibling.firstChild.nextSibling;return X(i,W(qm,{get value(){return t().enableSkillCommands!==!1},onChange:e=>U({enableSkillCommands:e})})),o.addEventListener(`change`,e=>{let r=e.currentTarget.value.trim(),i=r.length>0?Number(r):NaN;if(!Number.isSafeInteger(i)||i<0){n(`Max concurrent subagents must be a non-negative whole number`),e.currentTarget.value=String(t().maxConcurrentSubagents??4);return}U({maxConcurrentSubagents:i})}),X(c,W(qm,{get value(){return t().singleModelMode===!0},onChange:e=>U({singleModelMode:e})})),X(l,W(K,{get when(){return(t().trustedContextFolders??[]).length>0},get fallback(){return jm()},get children(){return W(G,{get each(){return t().trustedContextFolders??[]},children:e=>(()=>{var t=Mm(),n=t.firstChild,r=n.nextSibling.nextSibling;return X(n,e),r.$$click=()=>void ke(e),X(r,()=>_()?`revoking…`:`revoke trust`),j(()=>r.disabled=_()),t})()})}}),u),u.addEventListener(`submit`,e=>{e.preventDefault();let t=h().trim();t&&Oe(t)}),d.$$input=e=>g(e.currentTarget.value),X(f,()=>_()?`trusting…`:`trust folder`),X(m,W(qm,{get value(){return t().autoLoadNestedContext===!0},onChange:e=>U({autoLoadNestedContext:e})})),X(v,W(qm,{get value(){return t().hideThinkingBlock===!0},onChange:e=>U({hideThinkingBlock:e})})),j(()=>f.disabled=_()||!h().trim()),j(()=>o.value=t().maxConcurrentSubagents??4),j(()=>d.value=h()),e})(),(()=>{var e=xm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling,a=i.firstChild.nextSibling,o=i.nextSibling.firstChild.nextSibling;return X(r,W(qm,{get value(){return t().compactionEnabled!==!1},onChange:e=>U({compactionEnabled:e})})),X(a,W(qm,{get value(){return t().continueAfterAutoCompaction===!0},onChange:e=>U({continueAfterAutoCompaction:e})})),X(o,W(qm,{get value(){return t().retryEnabled!==!1},onChange:e=>U({retryEnabled:e})})),e})(),Sm()]}),v),X(b,W(qp,{}),null),C.addEventListener(`change`,e=>An(e.currentTarget.value)),M.addEventListener(`change`,e=>kn(e.currentTarget.checked)),X(P,W(G,{each:en,children:e=>(()=>{var t=Nm(),n=t.firstChild,r=n.nextSibling;return n.addEventListener(`change`,t=>jn(e,t.currentTarget.checked)),Y(n,`id`,`pref-tool-expand-${e}`),X(r,e),j(()=>n.checked=Nn(e)),t})()})),X(z,(()=>{var e=q(()=>y()===`denied`);return()=>e()?`blocked by browser settings — re-enable notifications in site permissions`:q(()=>y()===`insecure`)()?`this page is not a secure context — notifications need HTTPS. Run the server with --https (tailscale cert <host>.<tailnet>.ts.net) and open it via the https:// hostname`:q(()=>y()===`ios-install`)()?`iOS notifications need the installed PWA — tap Share → Add to Home Screen, then open dreb from the home screen icon`:y()===`unsupported`?`browser notifications are unavailable in this environment`:`show a notification when the tab needs input (Android/desktop need the app installed on mobile; works over HTTPS or localhost)`})()),te.addEventListener(`change`,e=>{e.currentTarget.checked&&J()}),X(ae,()=>y()===`granted`?`enabled`:`enable notifications`),X(se,()=>de()?.supervised?`restarts the server process (a supervisor respawns it with the latest build) — kills all running sessions`:`exits the server process — only auto-restarts if run under a supervisor (systemd, pm2, …); otherwise the dashboard goes down. kills all running sessions`),H.$$click=()=>pe(!0),X(H,()=>me()?`restarting…`:`restart`),X(v,W(K,{get when(){return ge()},get children(){var e=rm();return X(e,ge),e}}),null),X(he,()=>Me()?.mode===`local`?`local`:`host`),_e.$$input=e=>{re(e.currentTarget.value),L(!1)},ye.$$click=()=>void B(),X(ye,()=>ee()?`saving…`:`save`),X(ce,W(K,{get when(){return I()},get children(){return om()}}),null),X(ce,W(K,{get when(){return A()},get children(){var e=rm();return X(e,A),e}}),null),X(ce,W(K,{get when(){return q(()=>!!oe()?.enabled)()&&oe()?.code},get children(){var e=sm(),t=e.firstChild.nextSibling.firstChild;return X(t,()=>oe().code),e}}),null),X(ce,W(G,{get each(){return D()??[]},children:e=>(()=>{var t=Pm(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=i.nextSibling;a.nextSibling;var o=r.nextSibling.firstChild;return X(n,()=>e.device??e.id),X(r,()=>e.identity,i),X(r,()=>pt(e.createdAt),a),X(r,()=>e.expiresAt.slice(0,10),null),o.$$click=async()=>{await Q.unpair(e.id),await O()},t})()}),null),X(ce,W(K,{get when(){return(D()??[]).length===0},get children(){return cm()}}),null),X(be,(()=>{var e=q(()=>!!de()?.version);return()=>e()?` v${de().version}`:q(()=>!!ue())()?` v${ue()}`:``})(),Ce),X(be,W(K,{get when(){return de()?.startedAt},get children(){return[` · server build, up `,q(()=>pt(de().startedAt))]}}),null),X(i,W(K,{get when(){return fe()},get children(){return W(ut,{title:`restart dashboard service?`,onDismiss:()=>pe(!1),get actions(){return[(()=>{var e=Fm();return e.$$click=()=>pe(!1),e})(),(()=>{var e=Im();return e.$$click=()=>{pe(!1),ve()},e})()]},get children(){var e=lm();return e.firstChild.nextSibling.nextSibling,X(e,()=>de()?.supervised?` A supervisor is detected — the server should respawn automatically with the latest build.`:` No supervisor was detected — the dashboard will NOT come back on its own; you'll need to relaunch it manually.`,null),e}})}}),null),X(i,W(K,{get when(){return s()},children:e=>{let t=()=>{let t=e();return t.kind==="default"?`select default model`:t.kind===`arbiter`?`select Dispatch Arbiter model`:t.kind===`tabTitle`?`select tab title model`:`add model for ${t.agentName}`},n=()=>{let t=e();return t.kind==="default"?x()?.defaultProvider&&x()?.defaultModel?[`${x().defaultProvider}/${x().defaultModel}`]:[]:t.kind===`arbiter`?x()?.subagentArbiter?.model?[x().subagentArbiter.model]:[]:t.kind===`tabTitle`?x()?.tabTitle?.model?[x().tabTitle.model]:[]:Ae(t.agentName)};return W(Jm,{get title(){return t()},get models(){return w()??[]},get selected(){return n()},get clearLabel(){return e().kind===`tabTitle`?`automatic (Explore route)`:void 0},get onClear(){return e().kind===`tabTitle`?()=>{c(void 0),Ee({model:null})}:void 0},onClose:()=>c(void 0),onPick:t=>{let n=e();if(c(void 0),n.kind==="default"){U({defaultProvider:t.provider,defaultModel:t.id});return}if(n.kind===`arbiter`){Se({model:Bm(t)});return}if(n.kind===`tabTitle`){Ee({model:Bm(t)});return}let r=Bm(t),i=Ae(n.agentName);i.includes(r)||De(n.agentName,[...i,r])}})}}),null),j(e=>{var t=y()===`denied`||y()===`unsupported`||y()===`ios-install`||y()===`insecure`,n=me(),r=ee()||ie.loading;return t!==e.e&&(te.disabled=e.e=t),n!==e.t&&(H.disabled=e.t=n),r!==e.a&&(ye.disabled=e.a=r),e},{e:void 0,t:void 0,a:void 0}),j(()=>C.value=Dn()),j(()=>M.checked=En()),j(()=>te.checked=y()===`granted`),j(()=>_e.value=ne()),i})()}Me([`input`,`click`]);var Xm=J(`<div class="session-bar-inner session-summary-row">`),Zm=J(`<div class="status-line arbitration-history">`),Qm=J(`<p class=pair-error>`),$m=J(`<div class=status-line><span class=working>● working`),eh=J(`<output class=pending-chips aria-label="pending subagent steering messages">`),th=J(`<div class=composer><textarea placeholder="Steer this subagent…"></textarea><div class=composer-row><span class=muted>steering delivery: </span><button type=button class="btn btn-primary btn-small send">`),nh=J(`<div class=session-screen><header class=session-bar><div class="session-bar-inner session-bar-main"><div class=session-navigation><a class=back>← </a></div><div class=session-heading><span class=agent-type>subagent · </span><span class=title></span></div><span class=session-header-actions></span></div></header><div class=session-body><div class=session-main><main class=chat><div class=chat-inner></div></main><footer class=dock><div class=dock-inner>`),rh=J(`<span>arbiter: `),ih=J(`<p class=muted>`),ah=J(`<div class=readonly-note>`),oh=J(`<span class=pending-chip>steer: `);function sh(e){let t=e.step===void 0?``:`step ${e.step}: `;return e.status===`failure`?`${t}failed — ${e.errorMessage??e.errorCode??`unknown error`}`:!e.final||e.changed.length===0?`${t}kept ${e.proposed.agent} · ${e.proposed.model} · ${e.proposed.thinking}`:`${t}${e.changed.join(`, `)} changed → ${e.final.agent} · ${e.final.model} · ${e.final.thinking}`}function ch(e){let t=()=>e.store.sessions[e.sessionKey],n=N(()=>t()?.backgroundAgents[e.agentId]),r=()=>t()?.subagents[e.agentId],i=N(()=>e.store.fleet().runtimes.find(t=>t.key===e.sessionKey)),a=()=>i()?.state.sessionName??e.sessionKey,[o,s]=k(),[c,l]=k(``),[u,d]=k(!1),[f,p]=k(),[m,h]=k(),[g,_]=k({steering:[],followUp:[]}),[v,y]=k(!1),b=!1;z(()=>{b=!0});let x=()=>t()?.closed,S=()=>{let t=x();if(t)return t.historicalCwd??e.store.fleet().diskSessions.find(e=>e.path===t.sessionFile)?.cwd},C=()=>!x()&&n()?.status===`running`,w=Vr(),T=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),E=()=>T().length>0,D=w.mobile;M(()=>{E()||w.close()});let O=()=>D()?!w.open():w.collapsed(),A,P,F,I=oc({scroller:()=>A});R(()=>{let t=new AbortController;x()||e.store.hydrateSubagent(e.sessionKey,e.agentId,t.signal).catch(e=>{t.signal.aborted&&du(e)||x()||s(e instanceof Error?e.message:String(e))}),z(()=>t.abort())}),M(()=>{e.store.revisions[e.sessionKey],I.notifyContentChanged()}),R(()=>{I.observeContent(F),I.observeViewport(A),A&&z(cc(I,A,{keyboard:`window`}))}),z(()=>I.dispose());async function L(){if(!(b||!C()))try{let t=await Q.subagentPending(e.sessionKey,e.agentId);if(b||!C())return;h(t.steeringMode),_(t.pending),p(void 0)}catch(e){x()||p(e instanceof Error?e.message:String(e))}}R(()=>{L();let e=window.setInterval(()=>{C()&&L()},1e3);z(()=>window.clearInterval(e))}),M(()=>{c(),P&&queueMicrotask(()=>P&&Ef(P))});async function ee(){let t=c();if(!(!t.trim()||u()||!C())){d(!0),p(void 0);try{await Q.steerSubagent(e.sessionKey,e.agentId,t),l(``),await L()}catch(e){x()||p(e instanceof Error?e.message:String(e))}finally{d(!1)}}}let te=N(()=>{let n=[],r=x();if(r&&!r.bannerDismissed){let t=[];r.cwd&&r.sessionFile&&t.push({label:r.resuming?`resuming…`:`Resume session`,run:()=>e.store.resumeClosedSession(e.sessionKey),disabled:r.resuming}),r.sessionFile&&t.push({label:`Choose directory…`,run:()=>y(!0),disabled:r.resuming}),t.push({label:`Return to fleet`,run:()=>e.store.navigate({screen:`fleet`}),disabled:r.resuming}),n.push({key:`closed`,text:`session ${e.sessionKey} was closed${r.resumeError?`\nResume failed: ${r.resumeError}`:``}`,tone:r.resumeError?`error`:`warning`,onDismiss:()=>e.store.dismissClosedBanner(e.sessionKey),actions:t})}for(let r of t()?.statusEntries??[])r.dismissed||n.push({key:`status:${r.id}`,text:r.text,tone:r.tone,onDismiss:()=>e.store.dismissStatusBanner(e.sessionKey,r.id)});for(let r of t()?.toasts??[])n.push({key:`toast:${r.id}`,text:r.text,tone:r.tone,onDismiss:()=>e.store.dismissToast(r.id)});return n});return(()=>{var t=nh(),i=t.firstChild,s=i.firstChild.firstChild,d=s.firstChild;d.firstChild;var p=s.nextSibling,h=p.firstChild;h.firstChild;var _=h.nextSibling,b=p.nextSibling,k=i.nextSibling,M=k.firstChild,N=M.firstChild,I=N.firstChild,L=N.nextSibling.firstChild;X(d,a,null),X(h,()=>n()?.agentType??`unknown`,null),X(_,()=>n()?.taskSummary??e.agentId),X(b,W(K,{get when(){return C()},get fallback(){return W(at,{get status(){return!x()&&n()?.status===`failed`?`error`:`idle`},get label(){return q(()=>!!x())()?`closed`:n()?.status}})},get children(){return W(at,{status:`running`})}})),X(i,W(K,{get when(){return E()},get children(){var t=Xm();return X(t,W(Hr,{get store(){return e.store},get runtimes(){return T()},get id(){return w.id},get hidden(){return O()},get onToggle(){return w.toggle}})),t}}),null),X(k,W(K,{get when(){return E()},get children(){return W(Ur,{get id(){return w.id},get store(){return e.store},get sessionKey(){return e.sessionKey},get mobile(){return D()},get open(){return w.open()},get collapsed(){return w.collapsed()},onNavigate:t=>{e.store.navigate({screen:`session`,key:t}),w.close()},onClose:()=>w.close()})}}),M),X(M,W(dt,{get banners(){return te()}}),N);var R=A;typeof R==`function`?Le(R,N):A=N;var z=F;return typeof z==`function`?Le(z,I):F=I,X(I,W(K,{get when(){return(n()?.arbitrations?.length??0)>0},get children(){var e=Zm();return X(e,W(G,{get each(){return n()?.arbitrations??[]},children:e=>(()=>{var t=rh();return t.firstChild,X(t,()=>sh(e),null),j(()=>Ne(t,e.status===`failure`?`error-reason`:`muted`)),t})()})),e}}),null),X(I,W(K,{get when(){return o()},get children(){var e=Qm();return X(e,o),e}}),null),X(I,W(K,{get when(){return q(()=>!!r())()&&r().entries.length>0},get fallback(){return(()=>{var e=ih();return X(e,()=>n()?`waiting for output from this agent…`:`no data for this agent — it may not have started writing its session log yet.`),e})()},get children(){return W(wl,{get entries(){return r().entries},get who(){return n()?.agentType??`agent`},userLabel:`task from parent`,get resetKey(){return`${e.sessionKey}:${e.agentId}`},get imageScope(){return{runtimeKey:e.sessionKey,agentId:e.agentId}}})}}),null),X(L,W(K,{get when(){return r()?.streaming},get children(){return $m()}}),null),X(L,W(K,{get when(){return C()},get fallback(){return(()=>{var e=ah();return X(e,()=>x()?`This session is closed; the subagent transcript is read-only.`:`This subagent is no longer running; its transcript is read-only.`),e})()},get children(){return[W(K,{get when(){return f()},get children(){var e=Qm();return X(e,f),e}}),W(K,{get when(){return g().steering.length>0},get children(){var e=eh();return X(e,W(G,{get each(){return g().steering},children:e=>(()=>{var t=oh();return t.firstChild,X(t,e,null),t})()})),e}}),(()=>{var e=th(),t=e.firstChild,n=t.nextSibling.firstChild;n.firstChild;var r=n.nextSibling;t.$$keydown=e=>{e.key===`Enter`&&!e.shiftKey&&!D()&&(e.preventDefault(),ee())},t.$$input=e=>{l(e.currentTarget.value),Ef(e.currentTarget)};var i=P;return typeof i==`function`?Le(i,t):P=t,X(n,()=>m()??`loading…`,null),r.$$click=()=>void ee(),X(r,()=>u()?`sending…`:`steer ↵`),j(e=>{var n=u(),i=u()||c().trim().length===0;return n!==e.e&&(t.disabled=e.e=n),i!==e.t&&(r.disabled=e.t=i),e},{e:void 0,t:void 0}),j(()=>t.value=c()),e})()]}}),null),X(t,W(K,{get when(){return q(()=>!!v())()&&x()?.sessionFile},get children(){return W(ei,{get historicalCwd(){return S()??x()?.cwd??``},get initialCwd(){return x()?.cwd},get recentProjects(){return $r(e.store.fleet())},onClose:()=>y(!1),onResume:async t=>{await e.store.resumeClosedSession(e.sessionKey,t);let n=e.store.sessions[e.sessionKey]?.closed?.resumeError;if(n)throw Error(n);y(!1)}})}}),null),j(()=>Y(d,`href`,`#/session/${e.sessionKey}`)),t})()}Me([`input`,`keydown`,`click`]);var lh=Symbol(`store-raw`),uh=Symbol(`store-node`),dh=Symbol(`store-has`),fh=Symbol(`store-self`);function ph(e){let t=e[p];if(!t&&(Object.defineProperty(e,p,{value:t=new Proxy(e,xh)}),!Array.isArray(e))){let n=Object.keys(e),r=Object.getOwnPropertyDescriptors(e),i=Object.getPrototypeOf(e),a=i!==null&&typeof e==`object`&&!!e&&!Array.isArray(e)&&i!==Object.prototype;if(a){let e=Object.getOwnPropertyDescriptors(i);n.push(...Object.keys(e)),Object.assign(r,e)}for(let i=0,o=n.length;i<o;i++){let o=n[i];a&&o===`constructor`||r[o].get&&Object.defineProperty(e,o,{configurable:!0,enumerable:r[o].enumerable,get:r[o].get.bind(t)})}}return t}function mh(e){let t;return typeof e==`object`&&!!e&&(e[p]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function hh(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[lh])return n;if(!mh(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let n=0,a=e.length;n<a;n++)i=e[n],(r=hh(i,t))!==i&&(e[n]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let s=0,c=n.length;s<c;s++)a=n[s],!o[a].get&&(i=e[a],(r=hh(i,t))!==i&&(e[a]=r))}return e}function gh(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function _h(e,t,n){if(e[t])return e[t];let[r,i]=k(n,{equals:!1,internal:!0});return r.$=i,e[t]=r}function vh(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===p||t===uh?n:(delete n.value,delete n.writable,n.get=()=>e[p][t],n)}function yh(e){ee()&&_h(gh(e,uh),fh)()}function bh(e){return yh(e),Reflect.ownKeys(e)}var xh={get(e,t,n){if(t===lh)return e;if(t===p)return n;if(t===m)return yh(e),n;let r=gh(e,uh),i=r[t],a=i?i():e[t];if(t===uh||t===dh||t===`__proto__`)return a;if(!i){let n=Object.getOwnPropertyDescriptor(e,t);ee()&&(typeof a!=`function`||Object.prototype.hasOwnProperty.call(e,t))&&!(n&&n.get)&&(a=_h(r,t,a)())}return mh(a)?ph(a):a},has(e,t){return t===lh||t===p||t===m||t===uh||t===dh||t===`__proto__`?!0:(ee()&&_h(gh(e,dh),t)(),t in e)},set(){return!0},deleteProperty(){return!0},ownKeys:bh,getOwnPropertyDescriptor:vh};function Sh(e,t,n,r=!1){if(t===`__proto__`||!r&&e[t]===n)return;let i=e[t],a=e.length;n===void 0?(delete e[t],e[dh]&&e[dh][t]&&i!==void 0&&e[dh][t].$()):(e[t]=n,e[dh]&&e[dh][t]&&i===void 0&&e[dh][t].$());let o=gh(e,uh),s;if((s=_h(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=_h(o,`length`,a))&&s.$(e.length)}(s=o[fh])&&s.$()}function Ch(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];wh(i)||Sh(e,i,t[i])}}function wh(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function Th(e,t){if(typeof t==`function`&&(t=t(e)),t=hh(t),Array.isArray(t)){if(e===t)return;let n=0,r=t.length;for(;n<r;n++){let r=t[n];e[n]!==r&&Sh(e,n,r)}Sh(e,`length`,r)}else Ch(e,t)}function Eh(e,t,n=[]){let r,i=e;if(t.length>1){r=t.shift();let a=typeof r,o=Array.isArray(e);if(a===`string`&&(r===`__proto__`||t.length>1&&wh(r)))return;if(Array.isArray(r)){for(let i=0;i<r.length;i++)Eh(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&Eh(e,[i].concat(t),n);return}else if(o&&a===`object`){let{from:i=0,to:a=e.length-1,by:o=1}=r;for(let r=i;r<=a;r+=o)Eh(e,[r].concat(t),n);return}else if(t.length>1){Eh(e[r],t,[r].concat(n));return}i=e[r],n=[r].concat(n)}let a=t[0];typeof a==`function`&&(a=a(i,n),a===i)||r===void 0&&a==null||(a=hh(a),r===void 0||mh(i)&&mh(a)&&!Array.isArray(a)?Ch(i,a):Sh(e,r,a))}function Dh(...[e,t]){let n=hh(e||{}),r=Array.isArray(n),i=ph(n);function a(...e){I(()=>{r&&e.length===1?Th(n,e[0]):Eh(n,e)})}return[i,a]}var Oh=new WeakMap,kh={get(e,t){if(t===lh)return e;let n=e[t];if(t===p||t===m||t===uh||t===dh||t===`__proto__`)return n;let r;return mh(n)?Oh.get(n)||(Oh.set(n,r=new Proxy(n,kh)),r):n},set(e,t,n){return Sh(e,t,hh(n)),!0},deleteProperty(e,t){return Sh(e,t,void 0,!0),!0}};function Ah(e){return t=>{if(mh(t)){let n;(n=Oh.get(t))||Oh.set(t,n=new Proxy(t,kh)),e(n)}return t}}function jh(){let[e,t=``]=window.location.hash.replace(/^#\/?/,``).split(`?`,2),[n,...r]=e.split(`/`);if(n===`session`&&r[0])return r[1]===`subagent`&&r[2]?{screen:`subagent`,key:r[0],agentId:r[2]}:{screen:`session`,key:r[0]};if(n===`files`)return{screen:`files`,path:r.length?decodeURIComponent(r.join(`/`)):void 0};if(n===`memories`)return{screen:`memories`};if(n===`settings`){if(r[0]===`scoped-models`){let e=new URLSearchParams(t).get(`cwd`)||void 0;return{screen:`settings`,target:`scoped-models`,...e?{cwd:e}:{}}}return{screen:`settings`}}return n===`pairing`?{screen:`pairing`}:{screen:`fleet`}}function Mh(e){return e.screen===`session`||e.screen===`subagent`?e.key:void 0}function Nh(e){switch(e.screen){case`fleet`:return`#/`;case`session`:return`#/session/${e.key}`;case`subagent`:return`#/session/${e.key}/subagent/${e.agentId}`;case`files`:return e.path?`#/files/${encodeURIComponent(e.path)}`:`#/files`;case`memories`:return`#/memories`;case`settings`:return e.target===`scoped-models`?`#/settings/scoped-models${e.cwd?`?cwd=${encodeURIComponent(e.cwd)}`:``}`:`#/settings`;case`pairing`:return`#/pairing`}}var Ph=2e3,Fh=3*1024*1024,Ih=Ph,Lh=Fh,Rh=3e4,zh=1e4,Bh=1e3,Vh=3e4,Hh=5e3,Uh=5*6e4,Wh=2147e6,Gh=new TextEncoder;function Kh(e,t,n){e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`);let r=n.retryAttempt??0;if(n.isRetrying&&r>0){let t=e.entries.findLast(e=>e.kind===`assistant`&&e.stopReason===`error`),n=t?.errorMessage?` — ${t.errorMessage}`:``;e.statusEntries.push(Qn({key:`retry`,text:`retrying (attempt ${r})${n}`,tone:`warning`}))}$n(e),lr(e,t,n.isStreaming||n.isRetrying||n.isCompacting)}function qh(){let[e,t]=Dh({}),[n,r]=Dh({}),[i,a]=k(jh()),[o,s]=k({runtimes:[],diskSessions:[]}),[c,l]=k(),[u,d]=k(),[f,p]=k(),[m,h]=k(!1),[g,_]=k(),[v,y]=k({state:`disconnected`,attempt:0}),b=()=>v().state===`connected`,[x,S]=k([]),C=new Map,w=new Map,T=new Map,E=0,D=0,O,A,j,M,N=!1,P=0,F=!1,I,L=0,R=new Map,z=new Map,ee=new Map,te=new Map,ne=new Map,re=0,ie=0,ae,B,oe,V=0,se=new Set,H=!1;function ce(t,n){let r=Mh(t);!r||r===Mh(n)||!e[r]?.closed||Se(r)}function le(){let e=jh();ce(i(),e),a(e)}window.addEventListener(`hashchange`,le);function ue(e){ce(i(),e),window.location.hash=Nh(e)}function de(e){return n[e]??0}function fe(e){return C.get(e)??0}function pe(e){return w.get(e)??0}function me(e){w.set(e,pe(e)+1)}function he(e){C.set(e,fe(e)+1)}function ge(e){return{revision:de(e),generation:fe(e),epoch:E}}function _e(e,t){return fe(e)===t.generation&&E===t.epoch}function ve(e,t){return de(e)===t.revision&&_e(e,t)}function U(e,t){t&&T.get(e)!==t||(T.delete(e),t&&(t.queued=[],t.queuedBytes=0))}function ye(e){r(e,de(e)+1)}function be(n){e[n]||t(n,Vn(n))}function xe(e,n){be(e),t(e,Ah(n)),ye(e)}function Se(e){U(e),he(e),w.delete(e),t(e,void 0),r(e,void 0),vu(e)}function Ce(){return Mh(jh())}function W(e,t=`info`){--D,S(n=>[...n,{id:D,text:e,tone:t}].slice(-20))}function we(){B!==void 0&&clearTimeout(B),B=void 0,oe=void 0,V=0}function Te(e){if(H||oe!==e)return;let t=e-Date.now();if(t<=0){B=void 0,Oe(e);return}B=setTimeout(()=>Te(e),Math.min(t,Wh))}function Ee(e){if(we(),!e)return;let t=Date.parse(e);if(!Number.isFinite(t)){W(`Dashboard returned an invalid pairing-expiry check time`,`error`);return}oe=t,Te(t)}function G(e){if(H||oe!==e)return;V+=1;let t=Math.min(10,V-1),n=Math.min(Uh,Hh*2**t);B=setTimeout(()=>{B=void 0,!H&&oe===e&&Oe(e)},n)}function K(e){e.pairingExpiryWarning&&W(`This device pairing expires on ${e.pairingExpiryWarning.expiresAt.slice(0,10)}. Re-pair before then to avoid losing remote access.`,`warning`)}function De(e){_(e),K(e),Ee(e.pairingExpiryCheckAt)}async function Oe(e){try{let t=await Q.auth();if(H)return;if(oe!==e){K(t);return}if((t.pairingExpiryCheckAt?Date.parse(t.pairingExpiryCheckAt):void 0)===e&&e<=Date.now()){_(t),K(t),G(e);return}De(t)}catch(t){if(H||oe!==e)return;if(t?.status===401||t?.status===403){we(),_({mode:`remote`,needsPairing:t?.body?.needsPairing??!1,identity:t?.body?.identity,error:t?.message}),ue({screen:`pairing`});return}V===0&&W(`Could not check pairing expiry: ${t instanceof Error?t.message:String(t)}`,`error`),G(e)}}function q(e){return R.get(e)??0}function ke(e,t,n){let r=new Map(e.map(e=>[e.key,JSON.stringify(e.state)])),i=new Map(t.map(e=>[e.key,JSON.stringify(e.state)]));for(let e of new Set([...r.keys(),...i.keys()])){if(r.get(e)===i.get(e))continue;let t=q(e)+1;R.set(e,t),n===void 0?z.set(e,t):ee.set(e,Math.max(ee.get(e)??-1,n))}}function Ae(e,t){s(n=>{let r=e(n);return L+=1,ke(n.runtimes,r.runtimes,t),r})}function je(e){se.clear(),te.clear(),ne.clear(),Ae(()=>e)}function J(e,t){let n=te.get(e.key);if(!n)return e.state;let r={...e.state},i=e.settingsRevision??0;return n.model&&(i>=n.model.settingsRevision?delete n.model:r.model=t?.state.model??n.model.value),n.thinkingLevel&&(i>=n.thinkingLevel.settingsRevision?delete n.thinkingLevel:r.thinkingLevel=t?.state.thinkingLevel??n.thinkingLevel.value),n.availableThinkingLevels&&(i>=n.availableThinkingLevels.settingsRevision?delete n.availableThinkingLevels:r.availableThinkingLevels=t?.state.availableThinkingLevels??n.availableThinkingLevels.value),n.model===void 0&&n.thinkingLevel===void 0&&n.availableThinkingLevels===void 0&&te.delete(e.key),r}function Me(e,t){let n=new Set(e.filter(e=>!se.has(e.key)).map(e=>e.key)),r=n.size!==o().runtimes.length||o().runtimes.some(e=>!n.has(e.key));Ae(t=>{let n=new Map(t.runtimes.map(e=>[e.key,e]));return{...t,runtimes:e.filter(e=>!se.has(e.key)).map(e=>{let t=n.get(e.key);return{...e,state:{...J(e,t),contextUsage:t?.state.contextUsage??e.state.contextUsage},...t?.stats===void 0?{}:{stats:t.stats},...t?.lastAssistantText===void 0?{}:{lastAssistantText:t.lastAssistantText}}})}},t),r&&Re().catch(()=>{})}function Y(e,t){U(e),he(e);let n=t?.state.sessionFile,r=n?o().diskSessions.find(e=>e.path===n)?.cwd:void 0;xe(e,e=>{let n=e.closed;e.closed={...t?.cwd||n?.cwd?{cwd:n?.cwd??t?.cwd}:{},...r||n?.historicalCwd?{historicalCwd:n?.historicalCwd??r}:{},...t?.state.sessionFile||n?.sessionFile?{sessionFile:n?.sessionFile??t?.state.sessionFile}:{},...n?.bannerDismissed?{bannerDismissed:!0}:{},...n?.resuming?{resuming:!0}:{},...n?.resumeError?{resumeError:n.resumeError}:{}},e.streaming=!1,e.compacting=!1,e.workingSince=void 0,e.workingText=void 0,e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`&&e.key!==`paused`&&e.key!==`compaction`),e.suggestedCommand=void 0,e.uiRequests=[];for(let t of Object.values(e.subagents))t.streaming=!1;ir(e)})}function Ne(e,t,n=!0){let r=t??o().runtimes.find(t=>t.key===e),i=se.has(e);return se.add(e),te.delete(e),ne.delete(e),i||Ae(t=>({...t,runtimes:t.runtimes.filter(t=>t.key!==e)})),Ce()===e?Y(e,r):Se(e),i||!n?Promise.resolve():Re()}async function Pe(e){let t=o().runtimes.find(t=>t.key===e);try{await Q.stopRuntime(e)}catch(t){if(se.has(e))return;throw t}await Ne(e,t)}function Fe(t,n){e[t]?.statusEntries.some(e=>e.id===n)&&xe(t,e=>{let t=e.statusEntries.find(e=>e.id===n);t&&(t.dismissed=!0)})}function Ie(t){e[t]?.closed&&xe(t,e=>{e.closed&&(e.closed.bannerDismissed=!0)})}async function Le(t,n){let r=e[t]?.closed;if(!r||r.resuming)return;let i=n??r.cwd;if(!i||!r.sessionFile){xe(t,e=>{e.closed&&(e.closed.resumeError=`This closed session has no captured resume path.`)});return}let a=r.sessionFile;xe(t,e=>{e.closed&&(e.closed.resuming=!0,e.closed.resumeError=void 0)});let o;try{o=await Q.createRuntime(i,{sessionPath:a})}catch(n){let r=n instanceof Error?n.message:String(n);if(!e[t]?.closed)return;xe(t,e=>{e.closed&&(e.closed.resuming=!1,e.closed.resumeError=r,e.closed.bannerDismissed=!1)});return}ze(o),Re().catch(()=>{}),ue({screen:`session`,key:o.key})}function X(){let e=++re,t=L;return Q.fleet().then(n=>{e!==re||t!==L||(je(n),l(void 0))},n=>{throw e===re&&t===L&&l(n instanceof Error?n.message:String(n)),n})}function Re(){let e=++ie;return Q.sessions().then(t=>{e===ie&&(Ae(e=>({...e,diskSessions:t.sessions})),l(void 0))},t=>{throw e===ie&&l(t instanceof Error?t.message:String(t)),t})}function ze(e){se.delete(e.key),Ae(t=>{let n=t.runtimes.findIndex(t=>t.key===e.key);if(n===-1)return{...t,runtimes:[...t.runtimes,e]};let r=[...t.runtimes];return r[n]=e,{...t,runtimes:r}})}function Be(e,t,n,r){if(o().runtimes.some(t=>t.key===e)){if(n!==void 0&&q(e)!==n){let t=z.get(e)??0,i=ee.get(e);if(t>n||i===void 0||i>r)return}Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:t}:n)}))}}function Ve(e,t){let n=o().runtimes.find(t=>t.key===e),r=te.get(e)??{};(n?.settingsRevision??0)>=t.settingsRevision?(delete r.model,delete r.thinkingLevel,delete r.availableThinkingLevels):(r.model={value:t.model,settingsRevision:t.settingsRevision},r.thinkingLevel={value:t.thinkingLevel,settingsRevision:t.settingsRevision},r.availableThinkingLevels={value:[...t.availableThinkingLevels],settingsRevision:t.settingsRevision}),r.model===void 0&&r.thinkingLevel===void 0&&r.availableThinkingLevels===void 0?te.delete(e):te.set(e,r),!((n?.settingsRevision??0)>=t.settingsRevision)&&Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:{...n.state,model:t.model,thinkingLevel:t.thinkingLevel,availableThinkingLevels:[...t.availableThinkingLevels]}}:n)}))}function He(e,t,n){let r=o().runtimes.find(t=>t.key===e),i=te.get(e)??{};(r?.settingsRevision??0)>=n?delete i.thinkingLevel:i.thinkingLevel={value:t,settingsRevision:n},i.model===void 0&&i.thinkingLevel===void 0&&i.availableThinkingLevels===void 0?te.delete(e):te.set(e,i),!((r?.settingsRevision??0)>=n)&&Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:{...n.state,thinkingLevel:t}}:n)}))}function Ue(e,t,n){return{...e,state:{...e.state,...t.contextUsage===void 0?{}:{contextUsage:t.contextUsage},messageCount:n?e.state.messageCount:t.totalMessages},stats:{tokensTotal:t.tokens.total,cost:t.cost}}}async function We(e,t){let n=(ne.get(e)??0)+1;ne.set(e,n);let r=q(e),i=await Q.stats(e,t);return ne.get(e)!==n||!o().runtimes.some(t=>t.key===e)||Ae(t=>({...t,runtimes:t.runtimes.map(t=>t.key===e?Ue(t,i,q(e)!==r):t)})),i}function Ge(e){let t=new AbortController,n,r=new Promise((r,i)=>{n=setTimeout(()=>{let n=Error(`Stats request for runtime ${e} timed out after ${zh} ms`);i(n),t.abort(n)},zh)});return Promise.race([Q.stats(e,t.signal),r]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Ke(){if(ae)return ae;let e=o().runtimes.map(e=>e.key),t=new Map(e.map(e=>[e,q(e)])),n=e.map(e=>Ge(e)),r=Promise.allSettled(n).then(n=>{let r=new Map,i=[];for(let[t,a]of n.entries())a.status===`fulfilled`?r.set(e[t],a.value):i.push(a.reason instanceof Error?a.reason.message:String(a.reason));r.size>0&&Ae(e=>({...e,runtimes:e.runtimes.map(e=>{let n=r.get(e.key),i=t.get(e.key),a=i===void 0||q(e.key)!==i;return n?Ue(e,n,a):e})})),d(i.length>0?i.join(`; `):void 0)}).finally(()=>{ae===r&&(ae=void 0)});return ae=r,r}function qe(e){return Gh.encode(JSON.stringify(e)).byteLength}function Je(e){e.queued=[],e.queuedBytes=0}function Ye(){j!==void 0&&clearTimeout(j),j=void 0}function Xe(){return Math.min(Vh,Bh*2**Math.max(0,P-1))}function Ze(){if(H||j!==void 0)return;P+=1;let e=Xe();h(!1),M||=v(),y(t=>t.state===`auth_failed`?t:(N=!0,{...t,state:`retrying`,attempt:Math.max(t.attempt,P),retryDelayMs:e,retryAt:Date.now()+e})),j=setTimeout(()=>{j=void 0,nt()},e)}function Qe(){let e=M,t=N;M=void 0,N=!1,!(!t||e?.state!==`connected`||v().state!==`retrying`)&&y({state:`connected`,attempt:e.attempt,lastAppliedSeq:e.lastAppliedSeq})}function $e(e){let t=e.event?.type;t===`fleet_snapshot`?Me(e.event.runtimes,e.seq):t===`disk_sessions_changed`?Re().catch(()=>{}):t===`runtime_removed`?e.key&&Ne(e.key).catch(()=>{}):e.key&&(xe(e.key,t=>mr(t,e.event)),t===`tasks_update`&&me(e.key))}function et(e){let t=e.subagent;xe(e.key,n=>{let r=e.messages;if(n.closed=void 0,n.entries=Yn(r),n.tasks=(e.state.tasks??[]).map(e=>({...e})),n.streaming=e.state.isStreaming,n.compacting=e.state.isCompacting,n.sessionName=e.state.sessionName,n.model=e.state.model?.id,n.contextUsage=e.state.contextUsage,n.uiRequests=(e.pendingExtensionUiRequests??[]).map(e=>Bn(e)).filter(e=>e!==void 0),n.statusEntries=[],n.suggestedCommand=void 0,n.lastError=void 0,n.widgets={above:[],below:[]},n.toasts=[],n.title=void 0,n.composerPrefill=void 0,Kh(n,r,e.state),n.streaming?(n.workingSince=Date.now(),n.workingText=`working`):(n.workingSince=void 0,n.workingText=void 0),n.backgroundAgents=Object.fromEntries(e.backgroundAgents.map(e=>[e.agentId,e])),rr(n),t){let r=e.backgroundAgents.find(e=>e.agentId===t.agentId)??t.agent;n.backgroundAgents[t.agentId]=r,n.subagents[t.agentId]={agentId:t.agentId,entries:Yn(t.messages),streaming:r.status===`running`}}ir(n)}),me(e.key)}function tt(e,t){if(A!==e||e.state!==`active`||e.barrierSeq===void 0)return;Ye(),P=0,Qe();let n=e.barrierSeq;I=n;let r=Ce(),i=r?o().runtimes.find(e=>e.key===r):void 0;je(t.fleet),l(void 0),t.active?et(t.active):r&&Ne(r,i,!1).catch(()=>{});let a=[...e.queued].sort((e,t)=>e.seq-t.seq),s=t.active?.subagent;if(s&&t.active)for(let e of a)e.seq>s.barrierSeq&&e.seq<=n&&e.key===t.active.key&&e.event.type===`background_agent_event`&&String(e.event.agentId)===s.agentId&&$e(e);for(let e of a)e.seq>n&&$e(e);Je(e),A=void 0,h(!1),p(void 0)}function nt(e=!1){if(H)return Promise.resolve();if(O)return(e||A?.state===`failed`)&&(F=!0),O;Ye();let t=i(),n=t.screen===`session`||t.screen===`subagent`?t.key:void 0,r=t.screen===`subagent`?t.agentId:void 0,a={queued:[],queuedBytes:0,state:`active`,controller:new AbortController};A=a,E+=1;for(let[e,t]of T)U(e,t);h(!0),p(void 0);let o=setTimeout(()=>a.controller.abort(`Dashboard recovery timed out`),Rh),s=Q.resync(n,r,a.controller.signal).then(e=>{a.barrierSeq=e.barrierSeq,tt(a,e)}).catch(e=>{if(A!==a)return;a.state=`failed`,Je(a);let t=a.controller.signal.reason;p(typeof t==`string`?t:e instanceof Error?e.message:String(e)),Ze(),j===void 0&&h(!1)}).finally(()=>{clearTimeout(o),O===s&&(O=void 0),!H&&F&&(F=!1,nt())});return O=s,s}function rt(){return nt(!0)}function it(e){if(e.event?.type===`dashboard_resync`){nt(!0);return}if(A){if(A.state===`failed`)throw Ze(),Error(`Dashboard recovery is failed; refusing to acknowledge live envelope before resync succeeds`);let t=qe(e);if(A.queued.length>=Ph||A.queuedBytes+t>Fh){Je(A),A.state=`failed`;let e=`Dashboard recovery queue overflowed; waiting for a newer authoritative snapshot`;throw p(e),A.controller.abort(e),Ze(),j===void 0&&h(!1),Error(e)}A.queued.push(e),A.queuedBytes+=t;return}if(I!==void 0&&e.seq<=I)return;let t=e.key?T.get(e.key):void 0;if(t){let n=qe(e);if(t.queued.length>=Ih||t.queuedBytes+n>Lh)throw U(e.key,t),Error(`Dashboard hydration queue overflowed for ${e.key}; refusing an incomplete snapshot replay`);t.queued.push(e),t.queuedBytes+=n}$e(e)}let at;async function ot(){H=!1;try{De(await Q.auth())}catch(e){_({mode:`remote`,needsPairing:e?.body?.needsPairing??!1,identity:e?.body?.identity,error:e?.message}),ue({screen:`pairing`});return}await X().catch(()=>{}),at=Tt({onEnvelope:it,onAuthStatus:De,onStatusChange:e=>{N=!1,M=e.state===`connected`?e:void 0,y(e)},onRecovery:()=>{nt()}})}function st(){H=!0,at?.(),we(),Ye(),M=void 0,N=!1,F=!1;let e=A;A=void 0,e&&Je(e),e?.controller.abort(`Dashboard stopped`);for(let[e,t]of T)U(e,t)}function ct(t){if(x().some(e=>e.id===t)){S(e=>e.filter(e=>e.id!==t));return}for(let[n,r]of Object.entries(e))if(r.toasts.some(e=>e.id===t)){xe(n,e=>hr(e,t));return}}async function lt(e,t){U(e);let n=q(e),r={guard:ge(e),queued:[],queuedBytes:0};T.set(e,r);let i=()=>U(e,r);t?.addEventListener(`abort`,i,{once:!0}),t?.aborted&&i();try{let i=await Q.hydrate(e,t);if(t?.aborted||T.get(e)!==r||!_e(e,r.guard))return;xe(e,e=>{let t=i.messages;e.closed=void 0,e.entries=Yn(t),e.backgroundAgents=Object.fromEntries(i.backgroundAgents.map(e=>[e.agentId,e])),rr(e),e.streaming=i.state.isStreaming,e.compacting=i.state.isCompacting,e.tasks=(i.state.tasks??[]).map(e=>({...e})),i.state.isStreaming?(e.workingSince=Date.now(),e.workingText=`working`):(e.workingSince=void 0,e.workingText=void 0),e.uiRequests=(i.pendingExtensionUiRequests??[]).map(e=>Bn(e)).filter(e=>e!==void 0),Kh(e,t,i.state),ir(e)}),me(e),Be(e,i.state,n,i.barrierSeq);for(let e of[...r.queued].sort((e,t)=>e.seq-t.seq))e.seq>i.barrierSeq&&$e(e)}finally{t?.removeEventListener(`abort`,i),U(e,r)}}async function ut(e,t,n){let r=ge(e),{agent:i,messages:a}=await Q.subagentMessages(e,t,n);n?.aborted||!ve(e,r)||xe(e,e=>{e.backgroundAgents[t]=i;let n=e.subagents[t];n||(n={agentId:t,entries:[],streaming:i.status===`running`},e.subagents[t]=n),a.length>0&&(n.entries=Yn(a)),n.streaming=i.status===`running`})}return{sessions:e,revisions:n,route:i,navigate:ue,fleet:o,fleetError:c,fleetStatsError:u,refreshFleet:X,refreshDiskSessions:Re,refreshFleetStats:Ke,refreshRuntimeStats:We,removeRuntime:Ne,stopRuntime:Pe,resumeClosedSession:Le,dismissClosedBanner:Ie,dismissStatusBanner:Fe,upsertRuntime:ze,setRuntimeModel:Ve,setRuntimeThinkingLevel:He,resyncing:m,resyncError:f,retryResync:rt,auth:g,connected:b,connection:v,notices:x,start:ot,stop:st,dismissToast:ct,resolveUiRequest(e,t){xe(e,e=>gr(e,t))},hydrateSession:lt,hydrateSubagent:ut}}var Jh=5e3;function Yh(e){let t;return Promise.race([e,new Promise((e,n)=>{t=setTimeout(()=>n(Error(`service worker not ready`)),Jh)})]).finally(()=>{t&&clearTimeout(t)})}function Xh(){let e=qh();R(()=>{e.start(),`serviceWorker`in navigator&&(navigator.serviceWorker.addEventListener(`message`,t=>{if(t.data?.type===`navigate-session`&&typeof t.data.sessionKey==`string`){let n=t.data.sessionKey,r=!!e.sessions[n]||e.fleet().runtimes.some(e=>e.key===n);e.navigate(r?{screen:`session`,key:n}:{screen:`fleet`})}}),navigator.serviceWorker.register(`./sw.js`).catch(e=>{console.warn(`dashboard: service worker registration failed`,e)}))}),z(()=>e.stop());let t=new Set,n=new Set,r=t=>!!(e.fleet().runtimes.find(e=>e.key===t)?.needsAttention||e.sessions[t]?.needsAttention);M(()=>{let i=new Map;for(let t of e.fleet().runtimes)t.needsAttention&&i.set(t.key,{name:t.state.sessionName??t.state.sessionId.slice(0,8),reason:`needs attention`});for(let t of Object.values(e.sessions))t.needsAttention&&i.set(t.key,{name:t.sessionName??t.title??t.key,reason:ar(t.uiRequests)??t.statusEntries.find(e=>e.tone===`error`)?.text??`needs attention`});let a=i.size>0,o=e.route(),s=o.screen===`session`||o.screen===`subagent`?o.key:void 0,c=s?e.sessions[s]:void 0,l=s?e.fleet().runtimes.find(e=>e.key===s):void 0,u=c?.title??c?.sessionName??l?.state.sessionName,d=u?`${u} — dreb`:`dreb`;document.title=a?`◆ ${d}`:d;for(let[e,a]of i)n.has(e)||t.has(e)||typeof Notification<`u`&&Notification.permission===`granted`&&document.visibilityState!==`visible`&&`serviceWorker`in navigator&&(t.add(e),Yh(navigator.serviceWorker.ready).then(t=>t.showNotification(`dreb — ${a.name}`,{body:a.reason,tag:e,data:{sessionKey:e}})).then(()=>{t.delete(e),r(e)?n.add(e):n.delete(e)}).catch(n=>{t.delete(e),console.warn(`dashboard: showNotification failed`,n)}));for(let e of[...n])i.has(e)||n.delete(e);for(let e of[...t])i.has(e)||t.delete(e)});let i=()=>{let t=e.route(),n=t.screen===`session`||t.screen===`subagent`?t.key:void 0;return[...Object.values(e.sessions).flatMap(e=>e.key===n?[]:e.toasts.map(t=>({...t,sessionKey:e.key}))),...e.notices()].slice(-5)},a=N(()=>{let t=e.route();return t.screen===`session`?t.key:void 0}),o=N(()=>{let t=e.route();return t.screen===`subagent`?t:void 0},void 0,{equals:(e,t)=>e?.key===t?.key&&e?.agentId===t?.agentId});return[W(De,{get fallback(){return W(Ti,{store:e})},get children(){return[W(Oe,{get when(){return a()},keyed:!0,children:t=>W(If,{store:e,sessionKey:t})}),W(Oe,{get when(){return o()},keyed:!0,children:t=>W(ch,{store:e,get sessionKey(){return t.key},get agentId(){return t.agentId}})}),W(Oe,{get when(){return e.route().screen===`files`},get children(){return W(Gt,{store:e,get initialPath(){return e.route().path}})}}),W(Oe,{get when(){return e.route().screen===`memories`},get children(){return W(eu,{store:e})}}),W(Oe,{get when(){return e.route().screen===`settings`},get children(){return W(Ym,{store:e,get target(){return e.route().target},get routeScopedModelsCwd(){return e.route().cwd}})}}),W(Oe,{get when(){return e.route().screen===`pairing`},get children(){return W(ou,{store:e})}})]}}),W(ft,{get toasts(){return i()},onDismiss:t=>e.dismissToast(t)})]}Hp();var Zh=document.getElementById(`root`);if(!Zh)throw Error(`dashboard: #root element missing from index.html`);je(()=>W(Xh,{}),Zh);
79
+ <span class=hljs-function>render</span><span class=hljs-punctuation>(</span><span class=hljs-string>"ok"</span><span class=hljs-punctuation>)</span><span class=hljs-punctuation>;</span></code></pre></div><span class=theme-card-footer><span class=theme-card-title></span><span class=theme-card-state>`),Kp=[`running`,`attention`,`idle`,`error`];function qp(){let e=()=>{let e=Op();return e===`system`?void 0:e},t=()=>{let e=kp();return e===`theme`?`ibm-plex-mono`:e};return(()=>{var n=Up(),r=n.firstChild,i=r.firstChild.nextSibling.firstChild,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling;return i.addEventListener(`change`,e=>Pp(e.currentTarget.value)),X(i,W(G,{each:ap,children:e=>(()=>{var t=Wp();return t.value=e,X(t,e),t})()})),o.addEventListener(`change`,e=>Fp(e.currentTarget.value)),X(o,W(G,{each:op,children:e=>(()=>{var t=Wp();return X(t,()=>e.label),j(()=>t.value=e.id),t})()})),X(s,W(G,{each:rp,children:n=>{let r=()=>Dp()===n.id;return(()=>{var i=Gp(),a=i.firstChild,o=a.firstChild,s=o.firstChild,c=o.nextSibling,l=a.nextSibling.firstChild,u=l.nextSibling;return i.$$click=()=>Np(n.id),X(s,()=>n.label),X(c,W(G,{each:Kp,children:e=>W(at,{status:e,label:``})})),X(l,()=>n.label),X(u,()=>r()?`✓ active`:`select`),j(a=>{var o=!!r(),s=n.id,c=n.id,l=e(),u=t(),d=r(),f=r()?`true`:void 0,p=`use the ${n.label} theme`;return o!==a.e&&i.classList.toggle(`active`,a.e=o),s!==a.t&&Y(i,`data-theme-card`,a.t=s),c!==a.a&&Y(i,`data-theme`,a.a=c),l!==a.o&&Y(i,`data-color-mode`,a.o=l),u!==a.i&&Y(i,`data-font`,a.i=u),d!==a.n&&Y(i,`aria-pressed`,a.n=d),f!==a.s&&Y(i,`aria-current`,a.s=f),p!==a.h&&Y(i,`title`,a.h=p),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),i})()}})),j(()=>i.value=Op()),j(()=>o.value=kp()),n})()}Me([`click`]);var Jp=J(`<select><option value=on>on</option><option value=off>off`),Yp=J(`<div class=field style=margin-bottom:8px><input type=text placeholder="search models…">`),Xp=J(`<button type=button class="model-row model-clear-row"><span class=model-current></span><span class=model-id>`),Zp=J(`<div class=model-list style=max-height:320px>`),Qp=J(`<p class="muted small">No matching models.`),$p=J(`<section class=model-provider-group><div class=model-provider-heading>`),em=J(`<span class=model-name>`),tm=J(`<span class=model-reasoning>think`),nm=J(`<button type=button class=model-row><span class=model-current></span><span class=model-id></span><span class=model-provider-badge>`),rm=J(`<div class=settings-error>`),im=J(`<div class=settings-warning>`),am=J(`<p class="muted small"style=margin-bottom:16px>✓ saved`),om=J(`<div class=settings-success>new pairing lifetime saved`),sm=J(`<div class=setting-row><span class=setting-label><span class=name>pairing code</span><span class=hint>new devices enter this in the pairing screen; it rotates every 30s</span></span><span class=setting-control><code style=font-size:var(--fs-h2);letter-spacing:0.08em>`),cm=J(`<p class="muted small"style=padding-top:8px>No remote devices paired. Launch with <code>--remote --allow &lt;identity&gt;</code> to enable Tailscale access.`),lm=J(`<p>This exits the dashboard server process and terminates <strong>all running sessions</strong>.`),um=J(`<div class=screen-fill><main class="container settings-wrap"><h1>settings</h1><p class=settings-intro>Ordinary defaults apply only to new sessions. Dispatch Arbiter changes apply to subsequent child spawns. Context trust changes apply to subsequent lazy loads in live sessions; already injected content cannot be retracted. Writes go to the global settings file on the host.</p><section class=settings-section><h2>dashboard</h2><div class=appearance-block><div class="setting-row appearance-heading-row"><span class=setting-label><span class=name>appearance</span><span class=hint>this browser only — theme, light/dark mode, and font are stored in localStorage and are independent of the TUI theme. Okabe-Ito and Paul Tol are colorblind-safe palettes.</span></span></div></div><div class=setting-row><label class=setting-label for=pref-image-display-mode><span class=name>tool-result images</span><span class=hint>this browser only — placeholders make no automatic request, previews are bounded to 1024 px and 256 KiB, and originals automatically transfer full files. Choosing originals is the informed network-data opt-in.</span></label><span class=setting-control><select id=pref-image-display-mode><option value=placeholders>placeholders</option><option value=previews>bounded previews</option><option value=originals>automatic originals</option></select></span></div><div class=setting-row><span class=setting-label><span class=name>always expand thinking</span><span class=hint>this browser only — stored in localStorage, not the host settings file</span></span><span class=setting-control><label class=checkbox-control><input id=pref-expand-thinking type=checkbox><span>open by default</span></label></span></div><div class=setting-row><span class=setting-label><span class=name>auto-expand tool cards</span><span class=hint>this browser only — stored in localStorage, not the host settings file</span></span><span class=setting-control style=display:grid;gap:6px></span></div><div class=setting-row><span class=setting-label><span class=name>needs-attention notifications</span><span class=hint></span></span><span class=setting-control><label class=checkbox-control><input id=pref-notifications type=checkbox><span></span></label></span></div><div class=setting-row><span class=setting-label><span class=name>restart dashboard service</span><span class=hint></span></span><span class=setting-control><button type=button class="btn btn-small btn-danger"></button></span></div></section><section class=settings-section><h2>devices</h2><div class=device-row><span>this machine <span class=this-device></span></span><span class=meta>local · always allowed</span></div><div class=setting-row><label class=setting-label for=pairing-ttl-days><span class=name>new pairing lifetime</span><span class=hint>applies only to devices paired after saving; existing expiry dates do not change</span></label><span class=setting-control><input id=pairing-ttl-days type=number min=1 max=3650 step=1><span>days</span><button type=button class="btn btn-small"></button></span></div></section><footer>dreb<!> · dashboard`),dm=J(`<div>`),fm=J(`<p class=muted>`),pm=J(`<section class=settings-section><h2>model</h2><div class=setting-row><span class=setting-label><span class=name>default model</span><span class=hint>used by new sessions; validated against configured providers</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button"></button></span></div><div class=setting-row><span class=setting-label><span class=name>default thinking level</span><span class=hint></span></span><span class=setting-control><select></select></span></div><div class=setting-row><span class=setting-label><span class=name>transport</span><span class=hint>preferred model transport for new sessions</span></span><span class=setting-control><select>`),mm=J(`<section class="settings-section tab-title-settings"><h2>tab title</h2><p class="muted small"style=margin-bottom:8px>Automatically names new, unnamed sessions after a few tool calls. Changes apply to new sessions.</p><div class=setting-row><span class=setting-label><span class=name>enabled</span><span class=hint>enabled by default; disabled sessions make no title model call</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>title model</span><span class=hint>exact authenticated provider/model; parent session model remains the retry</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button">`),hm=J(`<section class="settings-section dispatch-arbiter-settings"><h2>dispatch arbiter</h2><p class="muted small"style=margin-bottom:8px>Global-only, fully headless pre-spawn routing. Project settings cannot change it. When enabled, invalid model, scope, guide, inference, or output prevents the affected child from spawning.</p><div class=setting-row><span class=setting-label><span class=name>enabled</span><span class=hint>disabled by default; fail closed when enabled</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>arbiter model</span><span class=hint>exact authenticated provider/model; no fallback</span></span><span class=setting-control><button type=button class="btn btn-small model-picker-button"></button></span></div><div class=setting-row><span class=setting-label><span class=name>arbiter thinking</span><span class=hint>validated against the selected arbiter model</span></span><span class=setting-control><select></select></span></div><div class=setting-row><label class=setting-label for=dispatch-arbiter-guide-path><span class=name>routing guide path</span><span class=hint>blank uses ~/.dreb/agent/model-routing-guide.md</span></label><span class=setting-control><input id=dispatch-arbiter-guide-path type=text placeholder=~/.dreb/agent/model-routing-guide.md></span></div><div data-testid=dispatch-arbiter-readiness><strong>status:</strong> `),gm=J(`<div class="setting-row agent-context-row"><span class=setting-label><span class=name>agent definition context</span><span class=hint>choose a project to include its .dreb/agents definitions</span></span><span class=setting-control><select><option value>global/home only`),_m=J(`<section class=settings-section><h2>agent models</h2><p class="muted small"style=margin-bottom:8px>Per-agent fallback lists. First available model wins; empty lists revert to the default model. Agent definitions are loaded from an explicit project context so project-local agents do not depend on which runtime opened first.`),vm=J(`<section class=settings-section><h2>images</h2><div class=setting-row><span class=setting-label><span class=name>auto-resize images</span><span class=hint>resize image inputs before sending them to providers</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>block images</span><span class=hint>prevent image inputs from being sent to providers</span></span><span class=setting-control>`),ym=J(`<section class=settings-section><h2>queueing</h2><div class=setting-row><span class=setting-label><span class=name>steering delivery</span><span class=hint>deliver queued steers all at once, or one per turn</span></span><span class=setting-control><select></select></span></div><div class=setting-row><span class=setting-label><span class=name>follow-up delivery</span><span class=hint>deliver queued follow-ups all at once, or one per turn</span></span><span class=setting-control><select>`),bm=J(`<section class=settings-section><h2>behavior</h2><div class=setting-row><span class=setting-label><span class=name>skill slash commands</span><span class=hint>register skills as slash commands in new sessions</span></span><span class=setting-control></span></div><div class=setting-row><label class=setting-label for=max-concurrent-subagents><span class=name>max concurrent subagents</span><span class=hint>new parent sessions only; 0 removes the subagent tool (default 4)</span></label><span class=setting-control><input id=max-concurrent-subagents type=number min=0 step=1></span></div><div class=setting-row><span class=setting-label><span class=name>single model mode</span><span class=hint>all subagents run on this session's model; model overrides, per-agent model lists, and the dispatch arbiter are bypassed</span></span><span class=setting-control></span></div><div class=context-trust-subsection><h3>trusted context folders</h3><p class="muted small">Specific global roots that may lazy-load nested AGENTS.md/CLAUDE.md and all descendants.</p><div class="settings-warning context-trust-global-warning"><strong>Global-only policy.</strong> Project <code>.dreb/settings.json</code> cannot enable, disable, or extend nested-context trust. Only these global settings and the Files view can; a cloned repository cannot grant itself trust.</div><form class=trusted-context-folder-add><label for=trusted-context-folder-path>add folder by path</label><input id=trusted-context-folder-path type=text placeholder=/path/to/project><button type=submit class="btn btn-small"></button></form></div><div class=setting-row><span class=setting-label><span class=name>global expert nested-context trust</span><span class=hint>allow nested AGENTS.md/CLAUDE.md from any resolvable directory</span></span><span class=setting-control></span></div><div class="settings-warning context-expert-warning"><strong>Expert global override.</strong> Project <code>.dreb/settings.json</code> cannot enable, disable, or extend nested-context trust; a cloned repository cannot grant itself trust. When ON, nested instructions from any resolvable directory may load, including untrusted prompt-injection content. Leave this OFF and use trusted folders for projects you control.</div><div class=setting-row><span class=setting-label><span class=name>hide thinking blocks</span><span class=hint>hide raw thinking blocks in rendered transcripts</span></span><span class=setting-control>`),xm=J(`<section class=settings-section><h2>reliability</h2><div class=setting-row><span class=setting-label><span class=name>auto-compaction</span><span class=hint>summarize old context when the window fills</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>continue after auto-compaction</span><span class=hint>can run and incur cost indefinitely; manual compaction never continues</span></span><span class=setting-control></span></div><div class=setting-row><span class=setting-label><span class=name>auto-retry</span><span class=hint>retry transient stream errors (rate limits, 5xx)</span></span><span class=setting-control>`),Sm=J(`<p class="muted small settings-footnote">TUI-only settings (cursor, editor) are managed in the terminal /settings menu. The dashboard appearance (theme + light/dark mode + font) is set here, per-browser, and is independent of the TUI theme.`),Cm=J(`<option>`),wm=J(`<p class="muted small">No agent definitions found.`),Tm=J(`<div class=agent-model-editor><button type=button class="btn btn-small">add model…`),Em=J(`<div class=agent-model-row><div class=agent-model-summary><span class=agent-model-name></span><span class=agent-model-description></span></div><div class=agent-model-fallbacks></div><button type=button class="btn btn-small agent-model-edit">`),Dm=J(`<span class="muted small">default`),Om=J(`<span class=agent-model-chip>. `),km=J(`<p class="muted small">Using the default model.`),Am=J(`<div class=agent-model-entry><span></span><div class=agent-model-entry-actions><button type=button class="btn btn-small">↑</button><button type=button class="btn btn-small">↓</button><button type=button class="btn btn-small">×`),jm=J(`<p class="muted small trusted-context-empty">No trusted folders. Use the Files view to trust a project folder and its descendants.`),Mm=J(`<div class=trusted-context-folder-row><code></code><span class=meta>and all descendants</span><button type=button class="btn btn-small btn-danger">`),Nm=J(`<label class=checkbox-control><input type=checkbox><span>`),Pm=J(`<div class=device-row><span></span><span class=meta> · paired <!> · expires </span><span class=actions><button type=button class="btn btn-small btn-danger">unpair`),Fm=J(`<button type=button class="btn btn-small">cancel`),Im=J(`<button type=button class="btn btn-small btn-danger">restart`),Lm=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Rm=[`all`,`one-at-a-time`],zm=[`sse`,`websocket`,`auto`];function Bm(e){return`${e.provider}/${e.id}`}function Vm(e){let t=Bm(e);return e.name?`${t} — ${e.name}`:t}function Hm(e){return e.defaultProvider&&e.defaultModel?`${e.defaultProvider}/${e.defaultModel}`:`choose model…`}function Um(e,t){return`${e.provider}/${e.id} ${e.name??``}`.toLowerCase().includes(t)}function Wm(){if(typeof Notification>`u`){if(window.isSecureContext===!1)return`insecure`;let e=/iPad|iPhone|iPod/.test(navigator.userAgent),t=navigator.standalone===!0||window.matchMedia?.(`(display-mode: standalone)`)?.matches===!0;return e&&!t?`ios-install`:`unsupported`}return Notification.permission}function Gm(e){let t=new Map;for(let n of e){let e=t.get(n.provider)??[];e.push(n),t.set(n.provider,e)}return[...t.entries()].map(([e,t])=>({provider:e,models:t}))}function Km(e,t,n){let r=t+n;if(r<0||r>=e.length)return e;let i=[...e];return[i[t],i[r]]=[i[r],i[t]],i}function qm(e){return(()=>{var t=Jp();return t.addEventListener(`change`,t=>{e.onChange(t.currentTarget.value===`on`)===!1&&(t.currentTarget.value=e.value?`on`:`off`)}),j(()=>t.value=e.value?`on`:`off`),t})()}function Jm(e){let[t,n]=k(``),r=()=>new Set(e.selected??[]),i=N(()=>{let n=t().toLowerCase();return Gm(e.models.filter(e=>!n||Um(e,n)).slice(0,100))}),a=e=>r().has(Bm(e));return W(ut,{get title(){return e.title},get onDismiss(){return e.onClose},class:`model-picker-modal`,get children(){return[(()=>{var e=Yp(),r=e.firstChild;return r.$$input=e=>n(e.currentTarget.value),j(()=>r.value=t()),e})(),(()=>{var t=Zp();return X(t,W(K,{get when(){return q(()=>!!e.onClear)()&&e.clearLabel},get children(){var t=Xp(),n=t.firstChild,i=n.nextSibling;return t.$$click=()=>e.onClear?.(),X(n,()=>r().size===0?`✓`:``),X(i,()=>e.clearLabel),j(()=>t.classList.toggle(`current`,r().size===0)),t}}),null),X(t,W(K,{get when(){return i().length>0},get fallback(){return Qp()},get children(){return W(G,{get each(){return i()},children:t=>(()=>{var n=$p(),r=n.firstChild;return X(r,()=>t.provider),X(n,W(G,{get each(){return t.models},children:t=>(()=>{var n=nm(),r=n.firstChild,i=r.nextSibling,o=i.nextSibling;return n.$$click=()=>e.onPick(t),X(r,()=>a(t)?`✓`:``),X(i,()=>t.id),X(n,W(K,{get when(){return t.name},get children(){var e=em();return X(e,()=>t.name),e}}),o),X(o,()=>t.provider),X(n,W(K,{get when(){return t.reasoning},get children(){return tm()}}),null),j(e=>{var r=!!a(t),i=Vm(t);return r!==e.e&&n.classList.toggle(`current`,e.e=r),i!==e.t&&Y(n,`title`,e.t=i),e},{e:void 0,t:void 0}),n})()}),null),n})()})}}),null),t})()]}})}function Ym(e){let[t,n]=k(),[r,i]=k([]),[a,o]=k(!1),[s,c]=k(),[l,u]=k(),[d,f]=k(),[p,m]=k(e.target===`scoped-models`?e.routeScopedModelsCwd:void 0);M(()=>{m(e.target===`scoped-models`?e.routeScopedModelsCwd:void 0)});let[h,g]=k(``),[_,v]=k(!1),[y,b]=k(Wm()),[x,{mutate:S,refetch:C}]=F(async()=>{n(void 0);try{return await Q.settings()}catch(e){n(e instanceof Error?e.message:String(e));return}}),[w]=F(x,async()=>{try{let{models:e}=await Q.settingsModels();return e}catch(e){return n(e instanceof Error?e.message:String(e)),[]}}),T=N(()=>{let t=new Set;for(let n of e.store.fleet().runtimes)t.add(n.cwd);for(let n of e.store.fleet().diskSessions)t.add(n.cwd);return[...t].sort((e,t)=>e.localeCompare(t))}),[E]=F(()=>({settings:x(),cwd:d()}),async({cwd:e})=>{if(!x())return[];try{let{agentTypes:t}=await Q.agentTypes(e);return t}catch(e){return n(e instanceof Error?e.message:String(e)),[]}}),[D,{refetch:O}]=F(async()=>{let{devices:e}=await Q.devices();return e}),[A,P]=k(),[I,L]=k(!1),[ee,te]=k(!1),[ne,re]=k(``),[ie,{mutate:ae}]=F(async()=>{try{return await Q.pairingSettings()}catch(e){P(e instanceof Error?e.message:String(e));return}});M(()=>{let e=ie();e&&re(String(e.pairingTtlDays))});async function B(){P(void 0),L(!1);let e=Number(ne());if(!Number.isSafeInteger(e)||e<1||e>3650){P(`pairing lifetime must be a whole number from 1 through 3650 days`);return}te(!0);try{let t=await Q.savePairingSettings(e);ae(t),L(!0)}catch(e){P(e instanceof Error?e.message:String(e))}finally{te(!1)}}let[oe,V]=k(),se;function H(){se&&clearTimeout(se),se=void 0}function ce(e){H();let t=Math.max(250,e??3e4)+100;se=setTimeout(()=>void le(),t)}async function le(){try{let e=await Q.pairingCode();if(!e.enabled||!e.code){V(void 0),H();return}V(e),ce(e.expiresInMs)}catch(e){console.warn(`pairing code unavailable`,e),V(void 0),H()}}let[ue]=F(async()=>{try{let{version:e}=await Q.version();return e}catch{return}}),[de]=F(async()=>{try{return await Q.serverInfo()}catch{return}}),[fe,pe]=k(!1),[me,he]=k(!1),[ge,_e]=k();async function ve(){_e(void 0),he(!0);try{await Q.restartServer()}catch(e){_e(e instanceof Error?e.message:String(e)),he(!1)}}async function U(e){n(void 0),i([]),o(!1);try{let t=await Q.saveSettings(e);S(t),i(t.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){n(e instanceof Error?e.message:String(e)),await C()}}let ye=Promise.resolve(),be;function xe(){return be??x()?.subagentArbiter??{}}function Se(e){let t={...xe(),...e};be=t;let r=x();r&&S({...r,subagentArbiter:t}),ye=ye.then(async()=>{n(void 0),i([]),o(!1);try{let e=await Q.saveSettings({subagentArbiter:t});i(e.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3),be===t?(be=e.subagentArbiter??void 0,S(e)):S({...e,subagentArbiter:be})}catch(e){let r=e instanceof Error?e.message:String(e),i=await C();n(r),be===t?be=i?.subagentArbiter??void 0:i&&S({...i,subagentArbiter:be})}})}let Ce=Promise.resolve(),we;function Te(){return we??x()?.tabTitle??{}}function Ee(e){let t={...Te(),...e},r={...t,model:t.model??void 0};we=r;let a=x();a&&S({...a,tabTitle:r}),Ce=Ce.then(async()=>{n(void 0),i([]),o(!1);try{let t=await Q.saveSettings({tabTitle:e});i(t.warnings??[]),o(!0),setTimeout(()=>o(!1),2e3),we===r?(we=t.tabTitle??void 0,S(t)):S({...t,tabTitle:we})}catch(e){let t=e instanceof Error?e.message:String(e),i=await C();n(t),we===r?we=i?.tabTitle??void 0:i&&S({...i,tabTitle:we})}})}async function De(e,t){await U({agentModels:{[e]:t}})}async function Oe(e){n(void 0),v(!0);try{let t=await Q.trustContextFolder(e);S(t.settings),g(``)}catch(e){n(e instanceof Error?e.message:String(e))}finally{v(!1)}}async function ke(e){n(void 0),v(!0);try{let t=await Q.removeTrustedContextFolder(e);S(t.settings)}catch(e){n(e instanceof Error?e.message:String(e))}finally{v(!1)}}function Ae(e){return x()?.agentModels?.[e]??[]}function je(e){let t=e.subagentArbiter;return t?.enabled===!0?typeof t.model!=`string`||!t.model.trim()?{ready:!1,message:`not ready — choose an arbiter model`}:t.thinking!==void 0&&!Lm.some(e=>e===t.thinking)?{ready:!1,message:`not ready — arbiter thinking setting is invalid`}:t.guidePath!==void 0&&typeof t.guidePath!=`string`?{ready:!1,message:`not ready — routing guide path is invalid`}:t.guidePath?.trim()?{ready:!0,message:`enabled — live scope and guide are validated before every child spawn`}:{ready:!0,message:`enabled — using ~/.dreb/agent/model-routing-guide.md; live scope/guide checked at dispatch`}:{ready:!1,message:`disabled`}}async function J(){typeof Notification>`u`||b(await Notification.requestPermission())}R(()=>void le()),z(H);let Me=()=>e.store.auth();return(()=>{var i=um(),o=i.firstChild,v=o.firstChild.nextSibling.nextSibling,b=v.firstChild.nextSibling;b.firstChild;var S=b.nextSibling,C=S.firstChild.nextSibling.firstChild,k=S.nextSibling,M=k.firstChild.nextSibling.firstChild.firstChild,N=k.nextSibling,P=N.firstChild.nextSibling,F=N.nextSibling,R=F.firstChild,z=R.firstChild.nextSibling,te=R.nextSibling.firstChild.firstChild,ae=te.nextSibling,V=F.nextSibling.firstChild,se=V.firstChild.nextSibling,H=V.nextSibling.firstChild,ce=v.nextSibling,le=ce.firstChild.nextSibling,he=le.firstChild.firstChild.nextSibling,_e=le.nextSibling.firstChild.nextSibling.firstChild,ye=_e.nextSibling.nextSibling,be=ce.nextSibling,Ce=be.firstChild.nextSibling;return Ce.nextSibling,X(i,W(ct,{get store(){return e.store},active:`settings`}),o),X(o,W(K,{get when(){return t()},get children(){var e=rm();return X(e,t),e}}),v),X(o,W(K,{get when(){return r().length>0},get children(){var e=im();return X(e,W(G,{get each(){return r()},children:e=>(()=>{var t=dm();return X(t,e),t})()})),e}}),v),X(o,W(K,{get when(){return a()},get children(){return am()}}),v),X(o,W(K,{get when(){return x()},get fallback(){return(()=>{var e=fm();return X(e,()=>t()?`Settings could not be loaded — see the error above.`:`Loading settings…`),e})()},children:t=>[(()=>{var e=pm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling.firstChild,i=n.nextSibling,a=i.firstChild,o=a.firstChild.nextSibling,s=a.nextSibling.firstChild,l=i.nextSibling.firstChild.nextSibling.firstChild;return r.$$click=()=>c({kind:`default`}),X(r,()=>Hm(t())),X(o,()=>Lm.join(` · `)),s.addEventListener(`change`,e=>U({defaultThinkingLevel:e.currentTarget.value})),X(s,W(G,{each:Lm,children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),l.addEventListener(`change`,e=>U({transport:e.currentTarget.value})),X(l,W(G,{get each(){return[...zm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),j(()=>s.value=t().defaultThinkingLevel??`off`),j(()=>l.value=t().transport??`sse`),e})(),(()=>{var e=mm(),n=e.firstChild.nextSibling.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling.firstChild.nextSibling.firstChild;return X(r,W(qm,{get value(){return t().tabTitle?.enabled!==!1},onChange:e=>Ee({enabled:e})})),i.$$click=()=>c({kind:`tabTitle`}),X(i,(()=>{var e=q(()=>typeof t().tabTitle?.model==`string`);return()=>e()?t().tabTitle?.model:`automatic (Explore route)`})()),e})(),W(np,{get cwd(){return p()},get projectRoots(){return T()},get focused(){return e.target===`scoped-models`},onCwdChange:t=>{m(t),e.store.navigate({screen:`settings`,target:`scoped-models`,...t?{cwd:t}:{}})}}),(()=>{var e=hm(),r=e.firstChild.nextSibling.nextSibling,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling,l=s.firstChild.nextSibling.firstChild,u=s.nextSibling,d=u.firstChild.nextSibling.firstChild,f=u.nextSibling;return f.firstChild.nextSibling,X(i,W(qm,{get value(){return t().subagentArbiter?.enabled===!0},onChange:e=>{let t=xe();return e&&(typeof t.model!=`string`||!t.model.trim())?(n(`Choose an exact Dispatch Arbiter model before enabling it.`),c({kind:`arbiter`}),!1):(Se({enabled:e}),!0)}})),o.$$click=()=>c({kind:`arbiter`}),X(o,(()=>{var e=q(()=>typeof t().subagentArbiter?.model==`string`);return()=>e()?t().subagentArbiter?.model:`choose model…`})()),l.addEventListener(`change`,e=>Se({thinking:e.currentTarget.value})),X(l,W(G,{each:Lm,children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),d.addEventListener(`change`,e=>{Se({guidePath:e.currentTarget.value.trim()||void 0})}),X(f,()=>je(t()).message,null),j(()=>Ne(f,je(t()).ready?`settings-warning`:`muted small`)),j(()=>l.value=typeof t().subagentArbiter?.thinking==`string`&&Lm.some(e=>e===t().subagentArbiter?.thinking)?t().subagentArbiter?.thinking:`off`),j(()=>d.value=typeof t().subagentArbiter?.guidePath==`string`?t().subagentArbiter?.guidePath:``),e})(),(()=>{var e=_m();return e.firstChild.nextSibling,X(e,W(K,{get when(){return T().length>0},get children(){var e=gm(),t=e.firstChild.nextSibling.firstChild;return t.firstChild,t.addEventListener(`change`,e=>f(e.currentTarget.value||void 0)),X(t,W(G,{get each(){return T()},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()}),null),j(()=>Y(t,`title`,d()??`global/home only`)),j(()=>t.value=d()??``),e}}),null),X(e,W(K,{get when(){return(E()??[]).length>0},get fallback(){return wm()},get children(){return W(G,{get each(){return E()??[]},children:e=>{let n=()=>t().agentModels?.[e.name]??[];return(()=>{var t=Em(),r=t.firstChild,i=r.firstChild,a=i.nextSibling,o=r.nextSibling,s=o.nextSibling;return X(i,()=>e.name),X(a,()=>e.description),X(o,W(K,{get when(){return n().length>0},get fallback(){return Dm()},get children(){return W(G,{get each(){return n()},children:(e,t)=>(()=>{var n=Om(),r=n.firstChild;return X(n,()=>t()+1,r),X(n,e,null),n})()})}})),s.$$click=()=>u(l()===e.name?void 0:e.name),X(s,()=>l()===e.name?`done`:`edit`),X(t,W(K,{get when(){return l()===e.name},get children(){var t=Tm(),r=t.firstChild;return X(t,W(K,{get when(){return n().length>0},get fallback(){return km()},get children(){return W(G,{get each(){return n()},children:(t,r)=>(()=>{var i=Am(),a=i.firstChild,o=a.nextSibling.firstChild,s=o.nextSibling,c=s.nextSibling;return X(a,t),o.$$click=()=>void De(e.name,Km(n(),r(),-1)),s.$$click=()=>void De(e.name,Km(n(),r(),1)),c.$$click=()=>void De(e.name,n().filter((e,t)=>t!==r())),j(e=>{var t=r()===0,i=r()===n().length-1;return t!==e.e&&(o.disabled=e.e=t),i!==e.t&&(s.disabled=e.t=i),e},{e:void 0,t:void 0}),i})()})}}),r),r.$$click=()=>c({kind:`agent`,agentName:e.name}),t}}),null),t})()}})}}),null),e})(),(()=>{var e=vm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling.firstChild.nextSibling;return X(r,W(qm,{get value(){return t().imageAutoResize!==!1},onChange:e=>U({imageAutoResize:e})})),X(i,W(qm,{get value(){return t().blockImages===!0},onChange:e=>U({blockImages:e})})),e})(),(()=>{var e=ym(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling.firstChild,i=n.nextSibling.firstChild.nextSibling.firstChild;return r.addEventListener(`change`,e=>U({steeringMode:e.currentTarget.value})),X(r,W(G,{get each(){return[...Rm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),i.addEventListener(`change`,e=>U({followUpMode:e.currentTarget.value})),X(i,W(G,{get each(){return[...Rm]},children:e=>(()=>{var t=Cm();return t.value=e,X(t,e),t})()})),j(()=>r.value=t().steeringMode??`all`),j(()=>i.value=t().followUpMode??`all`),e})(),(()=>{var e=bm(),r=e.firstChild.nextSibling,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling.firstChild,s=a.nextSibling,c=s.firstChild.nextSibling,l=s.nextSibling,u=l.firstChild.nextSibling.nextSibling.nextSibling,d=u.firstChild.nextSibling,f=d.nextSibling,p=l.nextSibling,m=p.firstChild.nextSibling,v=p.nextSibling.nextSibling.firstChild.nextSibling;return X(i,W(qm,{get value(){return t().enableSkillCommands!==!1},onChange:e=>U({enableSkillCommands:e})})),o.addEventListener(`change`,e=>{let r=e.currentTarget.value.trim(),i=r.length>0?Number(r):NaN;if(!Number.isSafeInteger(i)||i<0){n(`Max concurrent subagents must be a non-negative whole number`),e.currentTarget.value=String(t().maxConcurrentSubagents??4);return}U({maxConcurrentSubagents:i})}),X(c,W(qm,{get value(){return t().singleModelMode===!0},onChange:e=>U({singleModelMode:e})})),X(l,W(K,{get when(){return(t().trustedContextFolders??[]).length>0},get fallback(){return jm()},get children(){return W(G,{get each(){return t().trustedContextFolders??[]},children:e=>(()=>{var t=Mm(),n=t.firstChild,r=n.nextSibling.nextSibling;return X(n,e),r.$$click=()=>void ke(e),X(r,()=>_()?`revoking…`:`revoke trust`),j(()=>r.disabled=_()),t})()})}}),u),u.addEventListener(`submit`,e=>{e.preventDefault();let t=h().trim();t&&Oe(t)}),d.$$input=e=>g(e.currentTarget.value),X(f,()=>_()?`trusting…`:`trust folder`),X(m,W(qm,{get value(){return t().autoLoadNestedContext===!0},onChange:e=>U({autoLoadNestedContext:e})})),X(v,W(qm,{get value(){return t().hideThinkingBlock===!0},onChange:e=>U({hideThinkingBlock:e})})),j(()=>f.disabled=_()||!h().trim()),j(()=>o.value=t().maxConcurrentSubagents??4),j(()=>d.value=h()),e})(),(()=>{var e=xm(),n=e.firstChild.nextSibling,r=n.firstChild.nextSibling,i=n.nextSibling,a=i.firstChild.nextSibling,o=i.nextSibling.firstChild.nextSibling;return X(r,W(qm,{get value(){return t().compactionEnabled!==!1},onChange:e=>U({compactionEnabled:e})})),X(a,W(qm,{get value(){return t().continueAfterAutoCompaction===!0},onChange:e=>U({continueAfterAutoCompaction:e})})),X(o,W(qm,{get value(){return t().retryEnabled!==!1},onChange:e=>U({retryEnabled:e})})),e})(),Sm()]}),v),X(b,W(qp,{}),null),C.addEventListener(`change`,e=>An(e.currentTarget.value)),M.addEventListener(`change`,e=>kn(e.currentTarget.checked)),X(P,W(G,{each:en,children:e=>(()=>{var t=Nm(),n=t.firstChild,r=n.nextSibling;return n.addEventListener(`change`,t=>jn(e,t.currentTarget.checked)),Y(n,`id`,`pref-tool-expand-${e}`),X(r,e),j(()=>n.checked=Nn(e)),t})()})),X(z,(()=>{var e=q(()=>y()===`denied`);return()=>e()?`blocked by browser settings — re-enable notifications in site permissions`:q(()=>y()===`insecure`)()?`this page is not a secure context — notifications need HTTPS. Run the server with --https (tailscale cert <host>.<tailnet>.ts.net) and open it via the https:// hostname`:q(()=>y()===`ios-install`)()?`iOS notifications need the installed PWA — tap Share → Add to Home Screen, then open dreb from the home screen icon`:y()===`unsupported`?`browser notifications are unavailable in this environment`:`show a notification when the tab needs input (Android/desktop need the app installed on mobile; works over HTTPS or localhost)`})()),te.addEventListener(`change`,e=>{e.currentTarget.checked&&J()}),X(ae,()=>y()===`granted`?`enabled`:`enable notifications`),X(se,()=>de()?.supervised?`restarts the server process (a supervisor respawns it with the latest build) — kills all running sessions`:`exits the server process — only auto-restarts if run under a supervisor (systemd, pm2, …); otherwise the dashboard goes down. kills all running sessions`),H.$$click=()=>pe(!0),X(H,()=>me()?`restarting…`:`restart`),X(v,W(K,{get when(){return ge()},get children(){var e=rm();return X(e,ge),e}}),null),X(he,()=>Me()?.mode===`local`?`local`:`host`),_e.$$input=e=>{re(e.currentTarget.value),L(!1)},ye.$$click=()=>void B(),X(ye,()=>ee()?`saving…`:`save`),X(ce,W(K,{get when(){return I()},get children(){return om()}}),null),X(ce,W(K,{get when(){return A()},get children(){var e=rm();return X(e,A),e}}),null),X(ce,W(K,{get when(){return q(()=>!!oe()?.enabled)()&&oe()?.code},get children(){var e=sm(),t=e.firstChild.nextSibling.firstChild;return X(t,()=>oe().code),e}}),null),X(ce,W(G,{get each(){return D()??[]},children:e=>(()=>{var t=Pm(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=i.nextSibling;a.nextSibling;var o=r.nextSibling.firstChild;return X(n,()=>e.device??e.id),X(r,()=>e.identity,i),X(r,()=>pt(e.createdAt),a),X(r,()=>e.expiresAt.slice(0,10),null),o.$$click=async()=>{await Q.unpair(e.id),await O()},t})()}),null),X(ce,W(K,{get when(){return(D()??[]).length===0},get children(){return cm()}}),null),X(be,(()=>{var e=q(()=>!!de()?.version);return()=>e()?` v${de().version}`:q(()=>!!ue())()?` v${ue()}`:``})(),Ce),X(be,W(K,{get when(){return de()?.startedAt},get children(){return[` · server build, up `,q(()=>pt(de().startedAt))]}}),null),X(i,W(K,{get when(){return fe()},get children(){return W(ut,{title:`restart dashboard service?`,onDismiss:()=>pe(!1),get actions(){return[(()=>{var e=Fm();return e.$$click=()=>pe(!1),e})(),(()=>{var e=Im();return e.$$click=()=>{pe(!1),ve()},e})()]},get children(){var e=lm();return e.firstChild.nextSibling.nextSibling,X(e,()=>de()?.supervised?` A supervisor is detected — the server should respawn automatically with the latest build.`:` No supervisor was detected — the dashboard will NOT come back on its own; you'll need to relaunch it manually.`,null),e}})}}),null),X(i,W(K,{get when(){return s()},children:e=>{let t=()=>{let t=e();return t.kind==="default"?`select default model`:t.kind===`arbiter`?`select Dispatch Arbiter model`:t.kind===`tabTitle`?`select tab title model`:`add model for ${t.agentName}`},n=()=>{let t=e();return t.kind==="default"?x()?.defaultProvider&&x()?.defaultModel?[`${x().defaultProvider}/${x().defaultModel}`]:[]:t.kind===`arbiter`?x()?.subagentArbiter?.model?[x().subagentArbiter.model]:[]:t.kind===`tabTitle`?x()?.tabTitle?.model?[x().tabTitle.model]:[]:Ae(t.agentName)};return W(Jm,{get title(){return t()},get models(){return w()??[]},get selected(){return n()},get clearLabel(){return e().kind===`tabTitle`?`automatic (Explore route)`:void 0},get onClear(){return e().kind===`tabTitle`?()=>{c(void 0),Ee({model:null})}:void 0},onClose:()=>c(void 0),onPick:t=>{let n=e();if(c(void 0),n.kind==="default"){U({defaultProvider:t.provider,defaultModel:t.id});return}if(n.kind===`arbiter`){Se({model:Bm(t)});return}if(n.kind===`tabTitle`){Ee({model:Bm(t)});return}let r=Bm(t),i=Ae(n.agentName);i.includes(r)||De(n.agentName,[...i,r])}})}}),null),j(e=>{var t=y()===`denied`||y()===`unsupported`||y()===`ios-install`||y()===`insecure`,n=me(),r=ee()||ie.loading;return t!==e.e&&(te.disabled=e.e=t),n!==e.t&&(H.disabled=e.t=n),r!==e.a&&(ye.disabled=e.a=r),e},{e:void 0,t:void 0,a:void 0}),j(()=>C.value=Dn()),j(()=>M.checked=En()),j(()=>te.checked=y()===`granted`),j(()=>_e.value=ne()),i})()}Me([`input`,`click`]);var Xm=J(`<div class="session-bar-inner session-summary-row">`),Zm=J(`<div class="status-line arbitration-history">`),Qm=J(`<p class=pair-error>`),$m=J(`<div class=status-line><span class=working>● working`),eh=J(`<output class=pending-chips aria-label="pending subagent steering messages">`),th=J(`<div class=composer><textarea placeholder="Steer this subagent…"></textarea><div class=composer-row><span class=muted>steering delivery: </span><button type=button class="btn btn-primary btn-small send">`),nh=J(`<div class=session-screen><header class=session-bar><div class="session-bar-inner session-bar-main"><div class=session-navigation><a class=back>← </a></div><div class=session-heading><span class=agent-type>subagent · </span><span class=title></span></div><span class=session-header-actions></span></div></header><div class=session-body><div class=session-main><main class=chat><div class=chat-inner></div></main><footer class=dock><div class=dock-inner>`),rh=J(`<span>arbiter: `),ih=J(`<p class=muted>`),ah=J(`<div class=readonly-note>`),oh=J(`<span class=pending-chip>steer: `);function sh(e){let t=e.step===void 0?``:`step ${e.step}: `;return e.status===`failure`?`${t}failed — ${e.errorMessage??e.errorCode??`unknown error`}`:!e.final||e.changed.length===0?`${t}kept ${e.proposed.agent} · ${e.proposed.model} · ${e.proposed.thinking}`:`${t}${e.changed.join(`, `)} changed → ${e.final.agent} · ${e.final.model} · ${e.final.thinking}`}function ch(e){let t=()=>e.store.sessions[e.sessionKey],n=N(()=>t()?.backgroundAgents[e.agentId]),r=()=>t()?.subagents[e.agentId],i=N(()=>e.store.fleet().runtimes.find(t=>t.key===e.sessionKey)),a=()=>i()?.state.sessionName??e.sessionKey,[o,s]=k(),[c,l]=k(``),[u,d]=k(!1),[f,p]=k(),[m,h]=k(),[g,_]=k({steering:[],followUp:[]}),[v,y]=k(!1),b=!1;z(()=>{b=!0});let x=()=>t()?.closed,S=()=>{let t=x();if(t)return t.historicalCwd??e.store.fleet().diskSessions.find(e=>e.path===t.sessionFile)?.cwd},C=()=>!x()&&n()?.status===`running`,w=Vr(),T=N(()=>Br(e.store.fleet().runtimes.filter(t=>t.key!==e.sessionKey))),E=()=>T().length>0,D=w.mobile;M(()=>{E()||w.close()});let O=()=>D()?!w.open():w.collapsed(),A,P,F,I=oc({scroller:()=>A});R(()=>{let t=new AbortController;x()||e.store.hydrateSubagent(e.sessionKey,e.agentId,t.signal).catch(e=>{t.signal.aborted&&du(e)||x()||s(e instanceof Error?e.message:String(e))}),z(()=>t.abort())}),M(()=>{e.store.revisions[e.sessionKey],I.notifyContentChanged()}),R(()=>{I.observeContent(F),I.observeViewport(A),A&&z(cc(I,A,{keyboard:`window`}))}),z(()=>I.dispose());async function L(){if(!(b||!C()))try{let t=await Q.subagentPending(e.sessionKey,e.agentId);if(b||!C())return;h(t.steeringMode),_(t.pending),p(void 0)}catch(e){x()||p(e instanceof Error?e.message:String(e))}}R(()=>{L();let e=window.setInterval(()=>{C()&&L()},1e3);z(()=>window.clearInterval(e))}),M(()=>{c(),P&&queueMicrotask(()=>P&&Ef(P))});async function ee(){let t=c();if(!(!t.trim()||u()||!C())){d(!0),p(void 0);try{await Q.steerSubagent(e.sessionKey,e.agentId,t),l(``),await L()}catch(e){x()||p(e instanceof Error?e.message:String(e))}finally{d(!1)}}}let te=N(()=>{let n=[],r=x();if(r&&!r.bannerDismissed){let t=[];r.cwd&&r.sessionFile&&t.push({label:r.resuming?`resuming…`:`Resume session`,run:()=>e.store.resumeClosedSession(e.sessionKey),disabled:r.resuming}),r.sessionFile&&t.push({label:`Choose directory…`,run:()=>y(!0),disabled:r.resuming}),t.push({label:`Return to fleet`,run:()=>e.store.navigate({screen:`fleet`}),disabled:r.resuming}),n.push({key:`closed`,text:`session ${e.sessionKey} was closed${r.resumeError?`\nResume failed: ${r.resumeError}`:``}`,tone:r.resumeError?`error`:`warning`,onDismiss:()=>e.store.dismissClosedBanner(e.sessionKey),actions:t})}for(let r of t()?.statusEntries??[])r.dismissed||n.push({key:`status:${r.id}`,text:r.text,tone:r.tone,onDismiss:()=>e.store.dismissStatusBanner(e.sessionKey,r.id)});for(let r of t()?.toasts??[])n.push({key:`toast:${r.id}`,text:r.text,tone:r.tone,onDismiss:()=>e.store.dismissToast(r.id)});return n});return(()=>{var t=nh(),i=t.firstChild,s=i.firstChild.firstChild,d=s.firstChild;d.firstChild;var p=s.nextSibling,h=p.firstChild;h.firstChild;var _=h.nextSibling,b=p.nextSibling,k=i.nextSibling,M=k.firstChild,N=M.firstChild,I=N.firstChild,L=N.nextSibling.firstChild;X(d,a,null),X(h,()=>n()?.agentType??`unknown`,null),X(_,()=>n()?.taskSummary??e.agentId),X(b,W(K,{get when(){return C()},get fallback(){return W(at,{get status(){return!x()&&n()?.status===`failed`?`error`:`idle`},get label(){return q(()=>!!x())()?`closed`:n()?.status}})},get children(){return W(at,{status:`running`})}})),X(i,W(K,{get when(){return E()},get children(){var t=Xm();return X(t,W(Hr,{get store(){return e.store},get runtimes(){return T()},get id(){return w.id},get hidden(){return O()},get onToggle(){return w.toggle}})),t}}),null),X(k,W(K,{get when(){return E()},get children(){return W(Ur,{get id(){return w.id},get store(){return e.store},get sessionKey(){return e.sessionKey},get mobile(){return D()},get open(){return w.open()},get collapsed(){return w.collapsed()},onNavigate:t=>{e.store.navigate({screen:`session`,key:t}),w.close()},onClose:()=>w.close()})}}),M),X(M,W(dt,{get banners(){return te()}}),N);var R=A;typeof R==`function`?Le(R,N):A=N;var z=F;return typeof z==`function`?Le(z,I):F=I,X(I,W(K,{get when(){return(n()?.arbitrations?.length??0)>0},get children(){var e=Zm();return X(e,W(G,{get each(){return n()?.arbitrations??[]},children:e=>(()=>{var t=rh();return t.firstChild,X(t,()=>sh(e),null),j(()=>Ne(t,e.status===`failure`?`error-reason`:`muted`)),t})()})),e}}),null),X(I,W(K,{get when(){return o()},get children(){var e=Qm();return X(e,o),e}}),null),X(I,W(K,{get when(){return q(()=>!!r())()&&r().entries.length>0},get fallback(){return(()=>{var e=ih();return X(e,()=>n()?`waiting for output from this agent…`:`no data for this agent — it may not have started writing its session log yet.`),e})()},get children(){return W(wl,{get entries(){return r().entries},get who(){return n()?.agentType??`agent`},userLabel:`task from parent`,get resetKey(){return`${e.sessionKey}:${e.agentId}`},get imageScope(){return{runtimeKey:e.sessionKey,agentId:e.agentId}}})}}),null),X(L,W(K,{get when(){return r()?.streaming},get children(){return $m()}}),null),X(L,W(K,{get when(){return C()},get fallback(){return(()=>{var e=ah();return X(e,()=>x()?`This session is closed; the subagent transcript is read-only.`:`This subagent is no longer running; its transcript is read-only.`),e})()},get children(){return[W(K,{get when(){return f()},get children(){var e=Qm();return X(e,f),e}}),W(K,{get when(){return g().steering.length>0},get children(){var e=eh();return X(e,W(G,{get each(){return g().steering},children:e=>(()=>{var t=oh();return t.firstChild,X(t,e,null),t})()})),e}}),(()=>{var e=th(),t=e.firstChild,n=t.nextSibling.firstChild;n.firstChild;var r=n.nextSibling;t.$$keydown=e=>{e.key===`Enter`&&!e.shiftKey&&!D()&&(e.preventDefault(),ee())},t.$$input=e=>{l(e.currentTarget.value),Ef(e.currentTarget)};var i=P;return typeof i==`function`?Le(i,t):P=t,X(n,()=>m()??`loading…`,null),r.$$click=()=>void ee(),X(r,()=>u()?`sending…`:`steer ↵`),j(e=>{var n=u(),i=u()||c().trim().length===0;return n!==e.e&&(t.disabled=e.e=n),i!==e.t&&(r.disabled=e.t=i),e},{e:void 0,t:void 0}),j(()=>t.value=c()),e})()]}}),null),X(t,W(K,{get when(){return q(()=>!!v())()&&x()?.sessionFile},get children(){return W(ei,{get historicalCwd(){return S()??x()?.cwd??``},get initialCwd(){return x()?.cwd},get recentProjects(){return $r(e.store.fleet())},onClose:()=>y(!1),onResume:async t=>{await e.store.resumeClosedSession(e.sessionKey,t);let n=e.store.sessions[e.sessionKey]?.closed?.resumeError;if(n)throw Error(n);y(!1)}})}}),null),j(()=>Y(d,`href`,`#/session/${e.sessionKey}`)),t})()}Me([`input`,`keydown`,`click`]);var lh=Symbol(`store-raw`),uh=Symbol(`store-node`),dh=Symbol(`store-has`),fh=Symbol(`store-self`);function ph(e){let t=e[p];if(!t&&(Object.defineProperty(e,p,{value:t=new Proxy(e,xh)}),!Array.isArray(e))){let n=Object.keys(e),r=Object.getOwnPropertyDescriptors(e),i=Object.getPrototypeOf(e),a=i!==null&&typeof e==`object`&&!!e&&!Array.isArray(e)&&i!==Object.prototype;if(a){let e=Object.getOwnPropertyDescriptors(i);n.push(...Object.keys(e)),Object.assign(r,e)}for(let i=0,o=n.length;i<o;i++){let o=n[i];a&&o===`constructor`||r[o].get&&Object.defineProperty(e,o,{configurable:!0,enumerable:r[o].enumerable,get:r[o].get.bind(t)})}}return t}function mh(e){let t;return typeof e==`object`&&!!e&&(e[p]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function hh(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[lh])return n;if(!mh(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let n=0,a=e.length;n<a;n++)i=e[n],(r=hh(i,t))!==i&&(e[n]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let s=0,c=n.length;s<c;s++)a=n[s],!o[a].get&&(i=e[a],(r=hh(i,t))!==i&&(e[a]=r))}return e}function gh(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function _h(e,t,n){if(e[t])return e[t];let[r,i]=k(n,{equals:!1,internal:!0});return r.$=i,e[t]=r}function vh(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===p||t===uh?n:(delete n.value,delete n.writable,n.get=()=>e[p][t],n)}function yh(e){ee()&&_h(gh(e,uh),fh)()}function bh(e){return yh(e),Reflect.ownKeys(e)}var xh={get(e,t,n){if(t===lh)return e;if(t===p)return n;if(t===m)return yh(e),n;let r=gh(e,uh),i=r[t],a=i?i():e[t];if(t===uh||t===dh||t===`__proto__`)return a;if(!i){let n=Object.getOwnPropertyDescriptor(e,t);ee()&&(typeof a!=`function`||Object.prototype.hasOwnProperty.call(e,t))&&!(n&&n.get)&&(a=_h(r,t,a)())}return mh(a)?ph(a):a},has(e,t){return t===lh||t===p||t===m||t===uh||t===dh||t===`__proto__`?!0:(ee()&&_h(gh(e,dh),t)(),t in e)},set(){return!0},deleteProperty(){return!0},ownKeys:bh,getOwnPropertyDescriptor:vh};function Sh(e,t,n,r=!1){if(t===`__proto__`||!r&&e[t]===n)return;let i=e[t],a=e.length;n===void 0?(delete e[t],e[dh]&&e[dh][t]&&i!==void 0&&e[dh][t].$()):(e[t]=n,e[dh]&&e[dh][t]&&i===void 0&&e[dh][t].$());let o=gh(e,uh),s;if((s=_h(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=_h(o,`length`,a))&&s.$(e.length)}(s=o[fh])&&s.$()}function Ch(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];wh(i)||Sh(e,i,t[i])}}function wh(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function Th(e,t){if(typeof t==`function`&&(t=t(e)),t=hh(t),Array.isArray(t)){if(e===t)return;let n=0,r=t.length;for(;n<r;n++){let r=t[n];e[n]!==r&&Sh(e,n,r)}Sh(e,`length`,r)}else Ch(e,t)}function Eh(e,t,n=[]){let r,i=e;if(t.length>1){r=t.shift();let a=typeof r,o=Array.isArray(e);if(a===`string`&&(r===`__proto__`||t.length>1&&wh(r)))return;if(Array.isArray(r)){for(let i=0;i<r.length;i++)Eh(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&Eh(e,[i].concat(t),n);return}else if(o&&a===`object`){let{from:i=0,to:a=e.length-1,by:o=1}=r;for(let r=i;r<=a;r+=o)Eh(e,[r].concat(t),n);return}else if(t.length>1){Eh(e[r],t,[r].concat(n));return}i=e[r],n=[r].concat(n)}let a=t[0];typeof a==`function`&&(a=a(i,n),a===i)||r===void 0&&a==null||(a=hh(a),r===void 0||mh(i)&&mh(a)&&!Array.isArray(a)?Ch(i,a):Sh(e,r,a))}function Dh(...[e,t]){let n=hh(e||{}),r=Array.isArray(n),i=ph(n);function a(...e){I(()=>{r&&e.length===1?Th(n,e[0]):Eh(n,e)})}return[i,a]}var Oh=new WeakMap,kh={get(e,t){if(t===lh)return e;let n=e[t];if(t===p||t===m||t===uh||t===dh||t===`__proto__`)return n;let r;return mh(n)?Oh.get(n)||(Oh.set(n,r=new Proxy(n,kh)),r):n},set(e,t,n){return Sh(e,t,hh(n)),!0},deleteProperty(e,t){return Sh(e,t,void 0,!0),!0}};function Ah(e){return t=>{if(mh(t)){let n;(n=Oh.get(t))||Oh.set(t,n=new Proxy(t,kh)),e(n)}return t}}function jh(){let[e,t=``]=window.location.hash.replace(/^#\/?/,``).split(`?`,2),[n,...r]=e.split(`/`);if(n===`session`&&r[0])return r[1]===`subagent`&&r[2]?{screen:`subagent`,key:r[0],agentId:r[2]}:{screen:`session`,key:r[0]};if(n===`files`)return{screen:`files`,path:r.length?decodeURIComponent(r.join(`/`)):void 0};if(n===`memories`)return{screen:`memories`};if(n===`settings`){if(r[0]===`scoped-models`){let e=new URLSearchParams(t).get(`cwd`)||void 0;return{screen:`settings`,target:`scoped-models`,...e?{cwd:e}:{}}}return{screen:`settings`}}return n===`pairing`?{screen:`pairing`}:{screen:`fleet`}}function Mh(e){return e.screen===`session`||e.screen===`subagent`?e.key:void 0}function Nh(e){switch(e.screen){case`fleet`:return`#/`;case`session`:return`#/session/${e.key}`;case`subagent`:return`#/session/${e.key}/subagent/${e.agentId}`;case`files`:return e.path?`#/files/${encodeURIComponent(e.path)}`:`#/files`;case`memories`:return`#/memories`;case`settings`:return e.target===`scoped-models`?`#/settings/scoped-models${e.cwd?`?cwd=${encodeURIComponent(e.cwd)}`:``}`:`#/settings`;case`pairing`:return`#/pairing`}}var Ph=2e3,Fh=3*1024*1024,Ih=Ph,Lh=Fh,Rh=3e4,zh=1e4,Bh=1e3,Vh=3e4,Hh=5e3,Uh=5*6e4,Wh=2147e6,Gh=new TextEncoder;function Kh(e,t,n){e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`);let r=n.retryAttempt??0;if(n.isRetrying&&r>0){let t=e.entries.findLast(e=>e.kind===`assistant`&&e.stopReason===`error`),n=t?.errorMessage?` — ${t.errorMessage}`:``;e.statusEntries.push(Qn({key:`retry`,text:`retrying (attempt ${r})${n}`,tone:`warning`}))}$n(e),lr(e,t,n.isStreaming||n.isRetrying||n.isCompacting)}function qh(){let[e,t]=Dh({}),[n,r]=Dh({}),[i,a]=k(jh()),[o,s]=k({runtimes:[],diskSessions:[]}),[c,l]=k(),[u,d]=k(),[f,p]=k(),[m,h]=k(!1),[g,_]=k(),[v,y]=k({state:`disconnected`,attempt:0}),b=()=>v().state===`connected`,[x,S]=k([]),C=new Map,w=new Map,T=new Map,E=0,D=0,O,A,j,M,N=!1,P=0,F=!1,I,L=0,R=new Map,z=new Map,ee=new Map,te=new Map,ne=new Map,re=0,ie=0,ae,B,oe,V=0,se=new Set,H=!1;function ce(t,n){let r=Mh(t);!r||r===Mh(n)||!e[r]?.closed||Se(r)}function le(){let e=jh();ce(i(),e),a(e)}window.addEventListener(`hashchange`,le);function ue(e){ce(i(),e),window.location.hash=Nh(e)}function de(e){return n[e]??0}function fe(e){return C.get(e)??0}function pe(e){return w.get(e)??0}function me(e){w.set(e,pe(e)+1)}function he(e){C.set(e,fe(e)+1)}function ge(e){return{revision:de(e),generation:fe(e),epoch:E}}function _e(e,t){return fe(e)===t.generation&&E===t.epoch}function ve(e,t){return de(e)===t.revision&&_e(e,t)}function U(e,t){t&&T.get(e)!==t||(T.delete(e),t&&(t.queued=[],t.queuedBytes=0))}function ye(e){r(e,de(e)+1)}function be(n){e[n]||t(n,Vn(n))}function xe(e,n){be(e),t(e,Ah(n)),ye(e)}function Se(e){U(e),he(e),w.delete(e),t(e,void 0),r(e,void 0),vu(e)}function Ce(){return Mh(jh())}function W(e,t=`info`){--D,S(n=>[...n,{id:D,text:e,tone:t}].slice(-20))}function we(){B!==void 0&&clearTimeout(B),B=void 0,oe=void 0,V=0}function Te(e){if(H||oe!==e)return;let t=e-Date.now();if(t<=0){B=void 0,Oe(e);return}B=setTimeout(()=>Te(e),Math.min(t,Wh))}function Ee(e){if(we(),!e)return;let t=Date.parse(e);if(!Number.isFinite(t)){W(`Dashboard returned an invalid pairing-expiry check time`,`error`);return}oe=t,Te(t)}function G(e){if(H||oe!==e)return;V+=1;let t=Math.min(10,V-1),n=Math.min(Uh,Hh*2**t);B=setTimeout(()=>{B=void 0,!H&&oe===e&&Oe(e)},n)}function K(e){e.pairingExpiryWarning&&W(`This device pairing expires on ${e.pairingExpiryWarning.expiresAt.slice(0,10)}. Re-pair before then to avoid losing remote access.`,`warning`)}function De(e){_(e),K(e),Ee(e.pairingExpiryCheckAt)}async function Oe(e){try{let t=await Q.auth();if(H)return;if(oe!==e){K(t);return}if((t.pairingExpiryCheckAt?Date.parse(t.pairingExpiryCheckAt):void 0)===e&&e<=Date.now()){_(t),K(t),G(e);return}De(t)}catch(t){if(H||oe!==e)return;if(t?.status===401||t?.status===403){we(),_({mode:`remote`,needsPairing:t?.body?.needsPairing??!1,identity:t?.body?.identity,error:t?.message}),ue({screen:`pairing`});return}V===0&&W(`Could not check pairing expiry: ${t instanceof Error?t.message:String(t)}`,`error`),G(e)}}function q(e){return R.get(e)??0}function ke(e,t,n){let r=new Map(e.map(e=>[e.key,JSON.stringify(e.state)])),i=new Map(t.map(e=>[e.key,JSON.stringify(e.state)]));for(let e of new Set([...r.keys(),...i.keys()])){if(r.get(e)===i.get(e))continue;let t=q(e)+1;R.set(e,t),n===void 0?z.set(e,t):ee.set(e,Math.max(ee.get(e)??-1,n))}}function Ae(e,t){s(n=>{let r=e(n);return L+=1,ke(n.runtimes,r.runtimes,t),r})}function je(e){se.clear(),te.clear(),ne.clear(),Ae(()=>e)}function J(e,t){let n=te.get(e.key);if(!n)return e.state;let r={...e.state},i=e.settingsRevision??0;return n.model&&(i>=n.model.settingsRevision?delete n.model:r.model=t?.state.model??n.model.value),n.thinkingLevel&&(i>=n.thinkingLevel.settingsRevision?delete n.thinkingLevel:r.thinkingLevel=t?.state.thinkingLevel??n.thinkingLevel.value),n.availableThinkingLevels&&(i>=n.availableThinkingLevels.settingsRevision?delete n.availableThinkingLevels:r.availableThinkingLevels=t?.state.availableThinkingLevels??n.availableThinkingLevels.value),n.model===void 0&&n.thinkingLevel===void 0&&n.availableThinkingLevels===void 0&&te.delete(e.key),r}function Me(e,t){let n=new Set(e.filter(e=>!se.has(e.key)).map(e=>e.key)),r=n.size!==o().runtimes.length||o().runtimes.some(e=>!n.has(e.key));Ae(t=>{let n=new Map(t.runtimes.map(e=>[e.key,e]));return{...t,runtimes:e.filter(e=>!se.has(e.key)).map(e=>{let t=n.get(e.key);return{...e,state:{...J(e,t),contextUsage:t?.state.contextUsage??e.state.contextUsage},...t?.stats===void 0?{}:{stats:t.stats},...t?.lastAssistantText===void 0?{}:{lastAssistantText:t.lastAssistantText}}})}},t),r&&Re().catch(()=>{})}function Y(e,t){U(e),he(e);let n=t?.state.sessionFile,r=n?o().diskSessions.find(e=>e.path===n)?.cwd:void 0;xe(e,e=>{let n=e.closed;e.closed={...t?.cwd||n?.cwd?{cwd:n?.cwd??t?.cwd}:{},...r||n?.historicalCwd?{historicalCwd:n?.historicalCwd??r}:{},...t?.state.sessionFile||n?.sessionFile?{sessionFile:n?.sessionFile??t?.state.sessionFile}:{},...n?.bannerDismissed?{bannerDismissed:!0}:{},...n?.resuming?{resuming:!0}:{},...n?.resumeError?{resumeError:n.resumeError}:{}},e.streaming=!1,e.compacting=!1,e.workingSince=void 0,e.workingText=void 0,e.statusEntries=e.statusEntries.filter(e=>e.key!==`retry`&&e.key!==`paused`&&e.key!==`compaction`),e.suggestedCommand=void 0,e.uiRequests=[];for(let t of Object.values(e.subagents))t.streaming=!1;ir(e)})}function Ne(e,t,n=!0){let r=t??o().runtimes.find(t=>t.key===e),i=se.has(e);return se.add(e),te.delete(e),ne.delete(e),i||Ae(t=>({...t,runtimes:t.runtimes.filter(t=>t.key!==e)})),Ce()===e?Y(e,r):Se(e),i||!n?Promise.resolve():Re()}async function Pe(e){let t=o().runtimes.find(t=>t.key===e);try{await Q.stopRuntime(e)}catch(t){if(se.has(e))return;throw t}await Ne(e,t)}function Fe(t,n){e[t]?.statusEntries.some(e=>e.id===n)&&xe(t,e=>{let t=e.statusEntries.find(e=>e.id===n);t&&(t.dismissed=!0)})}function Ie(t){e[t]?.closed&&xe(t,e=>{e.closed&&(e.closed.bannerDismissed=!0)})}async function Le(t,n){let r=e[t]?.closed;if(!r||r.resuming)return;let i=n??r.cwd;if(!i||!r.sessionFile){xe(t,e=>{e.closed&&(e.closed.resumeError=`This closed session has no captured resume path.`)});return}let a=r.sessionFile;xe(t,e=>{e.closed&&(e.closed.resuming=!0,e.closed.resumeError=void 0)});let o;try{o=await Q.createRuntime(i,{sessionPath:a})}catch(n){let r=n instanceof Error?n.message:String(n);if(!e[t]?.closed)return;xe(t,e=>{e.closed&&(e.closed.resuming=!1,e.closed.resumeError=r,e.closed.bannerDismissed=!1)});return}ze(o),Re().catch(()=>{}),ue({screen:`session`,key:o.key})}function X(){let e=++re,t=L;return Q.fleet().then(n=>e!==re||t!==L?n.diskSessionsComplete!==!1:(je(n),l(void 0),n.diskSessionsComplete!==!1),n=>{throw e===re&&t===L&&l(n instanceof Error?n.message:String(n)),n})}function Re(){let e=++ie;return Q.sessions().then(t=>{e===ie&&(Ae(e=>({...e,diskSessions:t.sessions})),l(void 0))},t=>{throw e===ie&&l(t instanceof Error?t.message:String(t)),t})}function ze(e){se.delete(e.key),Ae(t=>{let n=t.runtimes.findIndex(t=>t.key===e.key);if(n===-1)return{...t,runtimes:[...t.runtimes,e]};let r=[...t.runtimes];return r[n]=e,{...t,runtimes:r}})}function Be(e,t,n,r){if(o().runtimes.some(t=>t.key===e)){if(n!==void 0&&q(e)!==n){let t=z.get(e)??0,i=ee.get(e);if(t>n||i===void 0||i>r)return}Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:t}:n)}))}}function Ve(e,t){let n=o().runtimes.find(t=>t.key===e),r=te.get(e)??{};(n?.settingsRevision??0)>=t.settingsRevision?(delete r.model,delete r.thinkingLevel,delete r.availableThinkingLevels):(r.model={value:t.model,settingsRevision:t.settingsRevision},r.thinkingLevel={value:t.thinkingLevel,settingsRevision:t.settingsRevision},r.availableThinkingLevels={value:[...t.availableThinkingLevels],settingsRevision:t.settingsRevision}),r.model===void 0&&r.thinkingLevel===void 0&&r.availableThinkingLevels===void 0?te.delete(e):te.set(e,r),!((n?.settingsRevision??0)>=t.settingsRevision)&&Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:{...n.state,model:t.model,thinkingLevel:t.thinkingLevel,availableThinkingLevels:[...t.availableThinkingLevels]}}:n)}))}function He(e,t,n){let r=o().runtimes.find(t=>t.key===e),i=te.get(e)??{};(r?.settingsRevision??0)>=n?delete i.thinkingLevel:i.thinkingLevel={value:t,settingsRevision:n},i.model===void 0&&i.thinkingLevel===void 0&&i.availableThinkingLevels===void 0?te.delete(e):te.set(e,i),!((r?.settingsRevision??0)>=n)&&Ae(n=>({...n,runtimes:n.runtimes.map(n=>n.key===e?{...n,state:{...n.state,thinkingLevel:t}}:n)}))}function Ue(e,t,n){return{...e,state:{...e.state,...t.contextUsage===void 0?{}:{contextUsage:t.contextUsage},messageCount:n?e.state.messageCount:t.totalMessages},stats:{tokensTotal:t.tokens.total,cost:t.cost,subagentCost:t.subagentCost}}}async function We(e,t){let n=(ne.get(e)??0)+1;ne.set(e,n);let r=q(e),i=await Q.stats(e,t);return ne.get(e)!==n||!o().runtimes.some(t=>t.key===e)||Ae(t=>({...t,runtimes:t.runtimes.map(t=>t.key===e?Ue(t,i,q(e)!==r):t)})),i}function Ge(e){let t=new AbortController,n,r=new Promise((r,i)=>{n=setTimeout(()=>{let n=Error(`Stats request for runtime ${e} timed out after ${zh} ms`);i(n),t.abort(n)},zh)});return Promise.race([Q.stats(e,t.signal),r]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Ke(){if(ae)return ae;let e=o().runtimes.map(e=>e.key),t=new Map(e.map(e=>[e,q(e)])),n=e.map(e=>Ge(e)),r=Promise.allSettled(n).then(n=>{let r=new Map,i=[];for(let[t,a]of n.entries())a.status===`fulfilled`?r.set(e[t],a.value):i.push(a.reason instanceof Error?a.reason.message:String(a.reason));r.size>0&&Ae(e=>({...e,runtimes:e.runtimes.map(e=>{let n=r.get(e.key),i=t.get(e.key),a=i===void 0||q(e.key)!==i;return n?Ue(e,n,a):e})})),d(i.length>0?i.join(`; `):void 0)}).finally(()=>{ae===r&&(ae=void 0)});return ae=r,r}function qe(e){return Gh.encode(JSON.stringify(e)).byteLength}function Je(e){e.queued=[],e.queuedBytes=0}function Ye(){j!==void 0&&clearTimeout(j),j=void 0}function Xe(){return Math.min(Vh,Bh*2**Math.max(0,P-1))}function Ze(){if(H||j!==void 0)return;P+=1;let e=Xe();h(!1),M||=v(),y(t=>t.state===`auth_failed`?t:(N=!0,{...t,state:`retrying`,attempt:Math.max(t.attempt,P),retryDelayMs:e,retryAt:Date.now()+e})),j=setTimeout(()=>{j=void 0,nt()},e)}function Qe(){let e=M,t=N;M=void 0,N=!1,!(!t||e?.state!==`connected`||v().state!==`retrying`)&&y({state:`connected`,attempt:e.attempt,lastAppliedSeq:e.lastAppliedSeq})}function $e(e){let t=e.event?.type;t===`fleet_snapshot`?Me(e.event.runtimes,e.seq):t===`disk_sessions_changed`?Re().catch(()=>{}):t===`runtime_removed`?e.key&&Ne(e.key).catch(()=>{}):e.key&&(xe(e.key,t=>mr(t,e.event)),t===`tasks_update`&&me(e.key))}function et(e){let t=e.subagent;xe(e.key,n=>{let r=e.messages;if(n.closed=void 0,n.entries=Yn(r),n.tasks=(e.state.tasks??[]).map(e=>({...e})),n.streaming=e.state.isStreaming,n.compacting=e.state.isCompacting,n.sessionName=e.state.sessionName,n.model=e.state.model?.id,n.contextUsage=e.state.contextUsage,n.uiRequests=(e.pendingExtensionUiRequests??[]).map(e=>Bn(e)).filter(e=>e!==void 0),n.statusEntries=[],n.suggestedCommand=void 0,n.lastError=void 0,n.widgets={above:[],below:[]},n.toasts=[],n.title=void 0,n.composerPrefill=void 0,Kh(n,r,e.state),n.streaming?(n.workingSince=Date.now(),n.workingText=`working`):(n.workingSince=void 0,n.workingText=void 0),n.backgroundAgents=Object.fromEntries(e.backgroundAgents.map(e=>[e.agentId,e])),rr(n),t){let r=e.backgroundAgents.find(e=>e.agentId===t.agentId)??t.agent;n.backgroundAgents[t.agentId]=r,n.subagents[t.agentId]={agentId:t.agentId,entries:Yn(t.messages),streaming:r.status===`running`}}ir(n)}),me(e.key)}function tt(e,t){if(A!==e||e.state!==`active`||e.barrierSeq===void 0)return;Ye(),P=0,Qe();let n=e.barrierSeq;I=n;let r=Ce(),i=r?o().runtimes.find(e=>e.key===r):void 0;je(t.fleet),l(void 0),t.active?et(t.active):r&&Ne(r,i,!1).catch(()=>{});let a=[...e.queued].sort((e,t)=>e.seq-t.seq),s=t.active?.subagent;if(s&&t.active)for(let e of a)e.seq>s.barrierSeq&&e.seq<=n&&e.key===t.active.key&&e.event.type===`background_agent_event`&&String(e.event.agentId)===s.agentId&&$e(e);for(let e of a)e.seq>n&&$e(e);Je(e),A=void 0,h(!1),p(void 0)}function nt(e=!1){if(H)return Promise.resolve();if(O)return(e||A?.state===`failed`)&&(F=!0),O;Ye();let t=i(),n=t.screen===`session`||t.screen===`subagent`?t.key:void 0,r=t.screen===`subagent`?t.agentId:void 0,a={queued:[],queuedBytes:0,state:`active`,controller:new AbortController};A=a,E+=1;for(let[e,t]of T)U(e,t);h(!0),p(void 0);let o=setTimeout(()=>a.controller.abort(`Dashboard recovery timed out`),Rh),s=Q.resync(n,r,a.controller.signal).then(e=>{a.barrierSeq=e.barrierSeq,tt(a,e)}).catch(e=>{if(A!==a)return;a.state=`failed`,Je(a);let t=a.controller.signal.reason;p(typeof t==`string`?t:e instanceof Error?e.message:String(e)),Ze(),j===void 0&&h(!1)}).finally(()=>{clearTimeout(o),O===s&&(O=void 0),!H&&F&&(F=!1,nt())});return O=s,s}function rt(){return nt(!0)}function it(e){if(e.event?.type===`dashboard_resync`){nt(!0);return}if(A){if(A.state===`failed`)throw Ze(),Error(`Dashboard recovery is failed; refusing to acknowledge live envelope before resync succeeds`);let t=qe(e);if(A.queued.length>=Ph||A.queuedBytes+t>Fh){Je(A),A.state=`failed`;let e=`Dashboard recovery queue overflowed; waiting for a newer authoritative snapshot`;throw p(e),A.controller.abort(e),Ze(),j===void 0&&h(!1),Error(e)}A.queued.push(e),A.queuedBytes+=t;return}if(I!==void 0&&e.seq<=I)return;let t=e.key?T.get(e.key):void 0;if(t){let n=qe(e);if(t.queued.length>=Ih||t.queuedBytes+n>Lh)throw U(e.key,t),Error(`Dashboard hydration queue overflowed for ${e.key}; refusing an incomplete snapshot replay`);t.queued.push(e),t.queuedBytes+=n}$e(e)}let at;async function ot(){H=!1;try{De(await Q.auth())}catch(e){_({mode:`remote`,needsPairing:e?.body?.needsPairing??!1,identity:e?.body?.identity,error:e?.message}),ue({screen:`pairing`});return}let e=await X().catch(()=>!1);at=Tt({onEnvelope:it,onAuthStatus:De,onStatusChange:e=>{N=!1,M=e.state===`connected`?e:void 0,y(e)},onRecovery:()=>{nt()}}),e||Re().catch(()=>{})}function st(){H=!0,at?.(),we(),Ye(),M=void 0,N=!1,F=!1;let e=A;A=void 0,e&&Je(e),e?.controller.abort(`Dashboard stopped`);for(let[e,t]of T)U(e,t)}function ct(t){if(x().some(e=>e.id===t)){S(e=>e.filter(e=>e.id!==t));return}for(let[n,r]of Object.entries(e))if(r.toasts.some(e=>e.id===t)){xe(n,e=>hr(e,t));return}}async function lt(e,t){U(e);let n=q(e),r={guard:ge(e),queued:[],queuedBytes:0};T.set(e,r);let i=()=>U(e,r);t?.addEventListener(`abort`,i,{once:!0}),t?.aborted&&i();try{let i=await Q.hydrate(e,t);if(t?.aborted||T.get(e)!==r||!_e(e,r.guard))return;xe(e,e=>{let t=i.messages;e.closed=void 0,e.entries=Yn(t),e.backgroundAgents=Object.fromEntries(i.backgroundAgents.map(e=>[e.agentId,e])),rr(e),e.streaming=i.state.isStreaming,e.compacting=i.state.isCompacting,e.tasks=(i.state.tasks??[]).map(e=>({...e})),i.state.isStreaming?(e.workingSince=Date.now(),e.workingText=`working`):(e.workingSince=void 0,e.workingText=void 0),e.uiRequests=(i.pendingExtensionUiRequests??[]).map(e=>Bn(e)).filter(e=>e!==void 0),Kh(e,t,i.state),ir(e)}),me(e),Be(e,i.state,n,i.barrierSeq);for(let e of[...r.queued].sort((e,t)=>e.seq-t.seq))e.seq>i.barrierSeq&&$e(e)}finally{t?.removeEventListener(`abort`,i),U(e,r)}}async function ut(e,t,n){let r=ge(e),{agent:i,messages:a}=await Q.subagentMessages(e,t,n);n?.aborted||!ve(e,r)||xe(e,e=>{e.backgroundAgents[t]=i;let n=e.subagents[t];n||(n={agentId:t,entries:[],streaming:i.status===`running`},e.subagents[t]=n),a.length>0&&(n.entries=Yn(a)),n.streaming=i.status===`running`})}return{sessions:e,revisions:n,route:i,navigate:ue,fleet:o,fleetError:c,fleetStatsError:u,refreshFleet:X,refreshDiskSessions:Re,refreshFleetStats:Ke,refreshRuntimeStats:We,removeRuntime:Ne,stopRuntime:Pe,resumeClosedSession:Le,dismissClosedBanner:Ie,dismissStatusBanner:Fe,upsertRuntime:ze,setRuntimeModel:Ve,setRuntimeThinkingLevel:He,resyncing:m,resyncError:f,retryResync:rt,auth:g,connected:b,connection:v,notices:x,start:ot,stop:st,dismissToast:ct,resolveUiRequest(e,t){xe(e,e=>gr(e,t))},hydrateSession:lt,hydrateSubagent:ut}}var Jh=5e3;function Yh(e){let t;return Promise.race([e,new Promise((e,n)=>{t=setTimeout(()=>n(Error(`service worker not ready`)),Jh)})]).finally(()=>{t&&clearTimeout(t)})}function Xh(){let e=qh();R(()=>{e.start(),`serviceWorker`in navigator&&(navigator.serviceWorker.addEventListener(`message`,t=>{if(t.data?.type===`navigate-session`&&typeof t.data.sessionKey==`string`){let n=t.data.sessionKey,r=!!e.sessions[n]||e.fleet().runtimes.some(e=>e.key===n);e.navigate(r?{screen:`session`,key:n}:{screen:`fleet`})}}),navigator.serviceWorker.register(`./sw.js`).catch(e=>{console.warn(`dashboard: service worker registration failed`,e)}))}),z(()=>e.stop());let t=new Set,n=new Set,r=t=>!!(e.fleet().runtimes.find(e=>e.key===t)?.needsAttention||e.sessions[t]?.needsAttention);M(()=>{let i=new Map;for(let t of e.fleet().runtimes)t.needsAttention&&i.set(t.key,{name:t.state.sessionName??t.state.sessionId.slice(0,8),reason:`needs attention`});for(let t of Object.values(e.sessions))t.needsAttention&&i.set(t.key,{name:t.sessionName??t.title??t.key,reason:ar(t.uiRequests)??t.statusEntries.find(e=>e.tone===`error`)?.text??`needs attention`});let a=i.size>0,o=e.route(),s=o.screen===`session`||o.screen===`subagent`?o.key:void 0,c=s?e.sessions[s]:void 0,l=s?e.fleet().runtimes.find(e=>e.key===s):void 0,u=c?.title??c?.sessionName??l?.state.sessionName,d=u?`${u} — dreb`:`dreb`;document.title=a?`◆ ${d}`:d;for(let[e,a]of i)n.has(e)||t.has(e)||typeof Notification<`u`&&Notification.permission===`granted`&&document.visibilityState!==`visible`&&`serviceWorker`in navigator&&(t.add(e),Yh(navigator.serviceWorker.ready).then(t=>t.showNotification(`dreb — ${a.name}`,{body:a.reason,tag:e,data:{sessionKey:e}})).then(()=>{t.delete(e),r(e)?n.add(e):n.delete(e)}).catch(n=>{t.delete(e),console.warn(`dashboard: showNotification failed`,n)}));for(let e of[...n])i.has(e)||n.delete(e);for(let e of[...t])i.has(e)||t.delete(e)});let i=()=>{let t=e.route(),n=t.screen===`session`||t.screen===`subagent`?t.key:void 0;return[...Object.values(e.sessions).flatMap(e=>e.key===n?[]:e.toasts.map(t=>({...t,sessionKey:e.key}))),...e.notices()].slice(-5)},a=N(()=>{let t=e.route();return t.screen===`session`?t.key:void 0}),o=N(()=>{let t=e.route();return t.screen===`subagent`?t:void 0},void 0,{equals:(e,t)=>e?.key===t?.key&&e?.agentId===t?.agentId});return[W(De,{get fallback(){return W(Ti,{store:e})},get children(){return[W(Oe,{get when(){return a()},keyed:!0,children:t=>W(If,{store:e,sessionKey:t})}),W(Oe,{get when(){return o()},keyed:!0,children:t=>W(ch,{store:e,get sessionKey(){return t.key},get agentId(){return t.agentId}})}),W(Oe,{get when(){return e.route().screen===`files`},get children(){return W(Gt,{store:e,get initialPath(){return e.route().path}})}}),W(Oe,{get when(){return e.route().screen===`memories`},get children(){return W(eu,{store:e})}}),W(Oe,{get when(){return e.route().screen===`settings`},get children(){return W(Ym,{store:e,get target(){return e.route().target},get routeScopedModelsCwd(){return e.route().cwd}})}}),W(Oe,{get when(){return e.route().screen===`pairing`},get children(){return W(ou,{store:e})}})]}}),W(ft,{get toasts(){return i()},onDismiss:t=>e.dismissToast(t)})]}Hp();var Zh=document.getElementById(`root`);if(!Zh)throw Error(`dashboard: #root element missing from index.html`);je(()=>W(Xh,{}),Zh);