@makerstufferupper/flypi 0.1.3 → 0.1.4

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.
@@ -0,0 +1,102 @@
1
+ (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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible,d=()=>{};function f(e){for(var t=0;t<e.length;t++)e[t]()}function p(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var m=1024,h=2048,g=4096,_=8192,v=16384,y=32768,b=1<<25,x=65536,S=1<<19,ee=1<<20,te=1<<25,C=1<<21,ne=1<<22,w=1<<23,re=Symbol(`$state`),ie=Symbol(`component`),ae=Symbol(``),oe=Symbol(`attributes`),se=Symbol(`class`),ce=Symbol(`style`),le=Symbol(`text`),ue=Symbol(`form reset`),de=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},fe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`),pe={},T=Symbol(`uninitialized`),me=`http://www.w3.org/1999/xhtml`,he=`http://www.w3.org/2000/svg`,ge=`http://www.w3.org/1998/Math/MathML`;function _e(){console.warn(`https://svelte.dev/e/derived_inert`)}function ve(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function ye(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function be(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var E=!1;function xe(e){E=e}var D;function O(e){if(e===null)throw ve(),pe;return D=e}function Se(){return O(nn(D))}function k(e){if(E){if(nn(D)!==null)throw ve(),pe;D=e}}function Ce(e=1){if(E){for(var t=e,n=D;t--;)n=nn(n);D=n}}function we(e=!0){for(var t=0,n=D;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=nn(n);e&&n.remove(),n=i}}function Te(e){if(!e||e.nodeType!==8)throw ve(),pe;return e.data}function Ee(e){return e===this.v}function De(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Oe(e){return!De(e,this.v)}function ke(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function Ae(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function je(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function Me(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Ne(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Pe(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Fe(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Ie(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Le(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Re(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ze(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Be=null;function Ve(e){Be=e}function He(e,t=!1,n){Be={p:Be,i:!1,c:null,e:null,s:e,x:null,r:V,l:null}}function Ue(e){var t=Be,n=t.e;if(n!==null){t.e=null;for(var r of n)gn(r)}return e!==void 0&&(t.x=e),t.i=!0,Be=t.p,We(e)}function We(e={}){return i(e,ie,{value:!0}),e}function Ge(){return!0}var Ke=[];function qe(){var e=Ke;Ke=[],f(e)}function Je(e){if(Ke.length===0&&!xt){var t=Ke;queueMicrotask(()=>{t===Ke&&qe()})}Ke.push(e)}function Ye(){for(;Ke.length>0;)qe()}var Xe=~(h|g|m);function A(e,t){e.f=e.f&Xe|t}function Ze(e){e.f&512||e.deps===null?A(e,m):A(e,g)}function Qe(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),A(e,m)}function $e(e){E&&tn(e)!==null&&rn(e)}var et=!1;function tt(){et||(et=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ue]?.()})},{capture:!0}))}function nt(e){var t=B,n=V;Rn(null),zn(null);try{return e()}finally{Rn(t),zn(n)}}function rt(e,t,n,r=n){e.addEventListener(t,()=>nt(n));let i=e[ue];e[ue]=i?()=>{i(),r(!0)}:()=>r(!0),tt()}function it(e,t,n,r){let i=Ge()?ct:dt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=V,c=at(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){ln(e,s)}ot()}}var d=st();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>ut(e))).then(u).catch(e=>ln(e,s)).finally(d)}l?l.then(()=>{if(s.f&16384){d();return}c(),f(),ot()}):f()}function at(){var e=V,t=B,n=Be,r=M;return function(i=!0){zn(e),Rn(t),Ve(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function ot(e=!0){zn(null),Rn(null),Ve(null),e&&M?.deactivate()}function st(){var e=V,t=e.b,n=M,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function ct(e){var t=2|h;return V!==null&&(V.f|=S),{ctx:Be,deps:null,effects:null,equals:Ee,f:t,fn:e,reactions:null,rv:0,v:T,wv:0,parent:V,ac:null}}var lt=Symbol(`obsolete`);function ut(e,t,n){let r=V;r===null&&Ae();var i=void 0,a=Rt(T),o=!B,s=new Set;return yn(()=>{var t=V,n=p();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==de&&n.reject(e)}).finally(ot)}catch(e){n.reject(e),ot()}var c=M;if(o){if(t.f&32768)var l=st();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(lt);else for(let e of s.values())e.reject(lt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==lt&&(c.activate(),t?(a.f|=w,Ht(a,t)):(a.f&8388608&&(a.f^=w),Ht(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),mn(()=>{for(let e of s)e.reject(lt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function j(e){let t=ct(e);return Vn(t),t}function dt(e){let t=ct(e);return t.equals=Oe,t}function ft(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)En(t[n])}}function pt(e){var t,n=V,r=e.parent;if(!Fn&&r!==null&&e.v!==T&&r.f&24576)return _e(),e.v;zn(r);try{ft(e),t=$n(e)}finally{zn(n)}return t}function mt(e){var t=pt(e);if(!e.equals(t)&&(e.wv=Xn(),(!M?.is_fork||e.deps===null)&&(M===null?e.v=t:(M.capture(e,t,!0),vt?.capture(e,t,!0)),e.deps===null))){A(e,m);return}Fn||(yt===null?Ze(e):(pn()||M?.is_fork)&&yt.set(e,t))}function ht(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&nt(()=>{t.ac.abort(de),t.ac=null}),t.fn!==null&&(t.teardown=d),nr(t,0),wn(t))}function gt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&rr(t)}var _t=null,M=null,vt=null,yt=null,bt=null,xt=!1,St=!1,Ct=null,wt=null,Tt=0,Et=1,Dt=class e{id=Et++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){_t===null?_t=this:(_t.#n=this,this.#t=_t),_t=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)A(r,h),t(r);for(r of n.m)A(r,g),t(r)}this.#p.add(e)}#g(){var e=[];for(let i of this.#c)if(!(i.f&16384||!(i.f&6144))){for(var t=i,n=!1;t.parent!==null;){t=t.parent;var r=t.f;if(r&96){if(!(r&1024)){n=!0;break}t.f^=m}}n||e.push(t)}return this.#c=[],e}#_(){this.#e=!0;for(let e of this.#u)this.#d.delete(e),A(e,h),this.schedule(e);for(let e of this.#d)A(e,g),this.schedule(e);this.apply();for(var t=Ct=[],n=[],r=wt=[];this.#c.length>0;){Tt++>1e3&&(this.#S(),kt());for(let e of this.#g())try{this.#v(e,t,n)}catch(t){throw Pt(e),this.#h()||this.discard(),t}}if(M=null,r.length>0){var i=e.ensure();for(let e of r)i.schedule(e)}if(Ct=null,wt=null,this.#h()){this.#x(n),this.#x(t);for(let[e,t]of this.#f)Nt(e,t);r.length>0&&M.#_();return}let a=this.#y();if(a){this.#x(n),this.#x(t),a.#b(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),vt=this,jt(n),jt(t),vt=null,this.#s?.resolve();var o=M;if(this.#a===0&&(this.#c.length===0||o!==null)&&this.#S(),this.#c.length>0){if(o!==null){for(let e of this.#c)o.#c.push(e);this.#c=[]}else o=this}o!==null&&(It.clear(),o.#_())}#v(e,t,n){e.f^=m;for(var r=e.first;r!==null;){var i=r.f,a=!!(i&96);if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=m:i&4?t.push(r):Zn(r)&&(i&16&&this.#d.add(r),rr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),A(i,h),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#S(),M=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)Qe(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==T&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),yt?.set(e,t)),this.is_fork||(e.v=t)}activate(){M=this}deactivate(){M=null,yt=null}flush(){try{St=!0,M=this,this.#_()}finally{Tt=0,bt=null,Ct=null,wt=null,St=!1,M=null,yt=null,It.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(lt);this.#S(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,Je(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=p()).promise}static ensure(){if(M===null){let t=M=new e;!St&&!xt&&Je(()=>{t.#e||t.flush()})}return M}apply(){yt=null}schedule(e){if(bt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}this.#c.push(e)}#S(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?_t=e:t.#t=e,this.linked=!1}}};function Ot(e){var t=xt,n=vt;vt=null,xt=!0;try{var r;for(e&&(Ot(),r=e());;){if(Ye(),M===null)return r;M.flush()}}finally{xt=t,vt=n}}function kt(){try{Fe()}catch(e){ln(e,bt)}}var At=null;function jt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Zn(r)&&(At=new Set,rr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&On(r),At?.size>0)){It.clear();for(let e of At){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)At.has(n)&&(At.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||rr(n)}}At.clear()}}At=null}}function Mt(e){M.schedule(e)}function Nt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),A(e,m);for(var n=e.first;n!==null;)Nt(n,t),n=n.next}}function Pt(e){A(e,m);for(var t=e.first;t!==null;)Pt(t),t=t.next}var Ft=new Set,It=new Map,Lt=!1;function Rt(e,t){return{f:0,v:e,reactions:null,equals:Ee,rv:0,wv:0}}function N(e,t){let n=Rt(e,t);return Vn(n),n}function zt(e,t=!1,n=!0){let r=Rt(e);return t||(r.equals=Oe),r}function P(e,t,n=!1){return B!==null&&(!Ln||B.f&131072)&&Ge()&&B.f&4325394&&(Bn===null||!Bn.has(e))&&Re(),Ht(e,n?Kt(t):t,wt)}var Bt=null,Vt=0;function Ht(e,t,n=null){if(!e.equals(t)){Fn?It.set(e,t):It.has(e)||It.set(e,e.v);var r=Dt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&pt(t),yt===null&&Ze(t)}e.wv=Xn(),Bt=null,Vt=0,Gt(e,h,n),Bt=null,Ge()&&V!==null&&V.f&1024&&!(V.f&96)&&(Wn===null?Gn([e]):Wn.push(e)),!r.is_fork&&Ft.size>0&&!Lt&&Ut()}return t}function Ut(){Lt=!1;for(let e of Ft){e.f&1024&&A(e,g);let t;try{t=Zn(e)}catch{t=!0}t&&rr(e)}Ft.clear()}function Wt(e){P(e,e.v+1)}function Gt(e,t,n){var r=e.reactions;if(r!==null){var i=Ge(),a=r.length;if(Vt+=a,Vt>1e5&&Bt===null&&(Bt=new Set),Bt!==null){if(Bt.has(e))return;Bt.add(e)}for(var o=0;o<a;o++){var s=r[o],c=s.f;if(i||s!==V){var l=(c&h)===0;if(l&&A(s,t),c&131072)Ft.add(s);else if(c&2){var u=s;yt?.delete(u),Gt(u,g,n)}else if(l){var d=s;c&16&&At!==null&&At.add(d),n===null?Mt(d):n.push(d)}}}}}function Kt(t){if(typeof t!=`object`||!t||re in t||ie in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=N(0),u=null,d=Jn,f=e=>{if(Jn===d)return e();var t=B,n=Jn;Rn(null),Yn(d);var r=e();return Rn(t),Yn(n),r};return i&&r.set(`length`,N(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ie();var i=r.get(t);return i===void 0?f(()=>{var e=N(n.value,u);return r.set(t,e),e}):P(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>N(T,u));r.set(t,e),Wt(o)}}else P(n,T),Wt(o);return!0},get(e,n,i){if(n===re)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>N(Kt(s?e[n]:T),u)),r.set(n,o)),o!==void 0){var c=H(o);return c===T?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){this.has?.(e,t);var n=Reflect.getOwnPropertyDescriptor(e,t),i=r.get(t);if(i!==void 0){var a=H(i);if(a===T)return;if(n&&`value`in n)n.value=a;else return{enumerable:!0,configurable:!0,value:a,writable:!0}}return n},has(e,t){if(t===re)return!0;var n=r.get(t),i=n!==void 0&&n.v!==T||Reflect.has(e,t);return(n!==void 0||V!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>N(i?Kt(e[t]):T,u)),r.set(t,n)),H(n)===T)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>N(T,u)),r.set(d+``,p)):P(p,T)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>N(void 0,u)),P(c,Kt(n)),r.set(t,c));else{l=c.v!==T;var m=f(()=>Kt(n));P(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&P(g,_+1)}Wt(o)}return!0},ownKeys(e){H(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==T});for(var[n,i]of r)i.v!==T&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Le()}})}function qt(e){try{if(typeof e==`object`&&e&&re in e)return e[re]}catch{}return e}function Jt(e,t){return Object.is(qt(e),qt(t))}var Yt,Xt,Zt,Qt;function $t(){if(Yt===void 0){Yt=window,Xt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Zt=a(t,`firstChild`).get,Qt=a(t,`nextSibling`).get,u(e)&&(e[se]=void 0,e[oe]=null,e[ce]=void 0,e.__e=void 0),u(n)&&(n[le]=void 0)}}function en(e=``){return document.createTextNode(e)}function tn(e){return Zt.call(e)}function nn(e){return Qt.call(e)}function F(e,t){if(!E)return tn(e);var n=tn(D);if(n===null)n=D.appendChild(en());else if(t&&n.nodeType!==3){var r=en();return n?.before(r),O(r),r}return t&&sn(n),O(n),n}function I(e,t=!1){if(!E){var n=tn(e);return n instanceof Comment&&n.data===``?nn(n):n}if(t){if(D?.nodeType!==3){var r=en();return D?.before(r),O(r),r}sn(D)}return D}function L(e,t=!1){if(!E)return tn(e);var n=F(e,t);return k(e),n}function R(e,t=1,n=!1){let r=E?D:e;for(var i;t--;)i=r,r=nn(r);if(!E)return r;if(n){if(r?.nodeType!==3){var a=en();return r===null?i?.after(a):r.before(a),O(a),a}sn(r)}return O(r),r}function rn(e){e.textContent=``}function an(){return!1}function on(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function sn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function cn(e){var t=V;if(t===null)return B.f|=w,e;if(!(t.f&32768)&&!(t.f&4))throw e;ln(e,t)}function ln(e,t){if(e===pe)throw e;if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128&&!(t.f&33570816)){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}function un(e){V===null&&(B===null&&Pe(e),Ne()),Fn&&Me(e)}function dn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function fn(e,t){var n=V;n!==null&&n.f&8192&&(e|=_);var r={ctx:Be,deps:null,nodes:null,f:e|h|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};M?.register_created_effect(r);var i=r;if(e&4)Ct===null?Dt.ensure().schedule(r):Ct.push(r);else if(t!==null){try{rr(r)}catch(e){throw En(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=x))}if(i!==null&&(i.parent=n,n!==null&&dn(i,n),B!==null&&B.f&2&&!(e&64))){var a=B;(a.effects??=[]).push(i)}return r}function pn(){return B!==null&&!Ln}function mn(e){let t=fn(8,null);return A(t,m),t.teardown=e,t}function hn(e){un(`$effect`);var t=V.f;if(!B&&t&32&&Be!==null&&!Be.i){var n=Be;(n.e??=[]).push(e)}else return gn(e)}function gn(e){return fn(4|ee,e)}function _n(e){Dt.ensure();let t=fn(64|S,e);return(e={})=>new Promise(n=>{e.outro?kn(t,()=>{En(t),n(void 0)}):(En(t),n(void 0))})}function vn(e){return fn(4,e)}function yn(e){return fn(ne|S,e)}function bn(e,t=0){return fn(8|t,e)}function z(e,t=[],n=[],r=[]){it(r,t,n,t=>{fn(8,()=>{e(...t.map(H))})})}function xn(e,t=0){return fn(16|t,e)}function Sn(e){return fn(32|S,e)}function Cn(e){var t=e.teardown;if(t!==null){let n=Fn,r=B;In(!0),Rn(null);try{t.call(null)}catch(t){ln(t,e.parent)}finally{In(n),Rn(r)}}}function wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&nt(()=>{e.abort(de)});var r=n.next;n.f&64?n.parent=null:En(n,t),n=r}}function Tn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||En(t),t=n}}function En(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Dn(e.nodes.start,e.nodes.end),n=!0),e.f|=b,wn(e,t&&!n),nr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Cn(e),e.f^=b,e.f|=v;var i=e.parent;i!==null&&i.first!==null&&On(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Dn(e,t){for(;e!==null;){var n=e===t?null:nn(e);e.remove(),e=n}}function On(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function kn(e,t,n=!0){var r=[];e.f|=256,An(e,r,!0);var i=()=>{n&&En(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function An(e,t,n){if(!(e.f&8192)){e.f^=_;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=!!(i.f&65536)||!!(i.f&32)&&!!(e.f&16);An(i,t,o?n:!1)}i=a}}}function jn(e){e.f&=-257,Mn(e,!0)}function Mn(e,t){if(!(e.f&256)&&e.f&8192){e.f^=_,e.f&1024||(A(e,h),Dt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=!!(n.f&65536)||!!(n.f&32);Mn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Nn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:nn(n);t.append(n),n=i}}var Pn=null,Fn=!1;function In(e){Fn=e}var B=null,Ln=!1;function Rn(e){B=e}var V=null;function zn(e){V=e}var Bn=null;function Vn(e){B!==null&&(B.f&2097152||B.f&2)&&(Bn??=new Set).add(e)}var Hn=null,Un=0,Wn=null;function Gn(e){Wn=e}var Kn=1,qn=0,Jn=qn;function Yn(e){Jn=e}function Xn(){return++Kn}function Zn(e){var t=e.f;if(t&2048)return!0;if(t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Zn(a)&&mt(a),a.wv>e.wv)return!0}t&512&&yt===null&&A(e,m)}return!1}function Qn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Bn!==null&&Bn.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Qn(a,t,!1):t===a&&(n?A(a,h):a.f&1024&&A(a,g),Mt(a))}}function $n(e){var t=Hn,n=Un,r=Wn,i=B,a=Bn,o=Be,s=Ln,c=Jn,l=e.f;Hn=null,Un=0,Wn=null,B=l&96?null:e,Bn=null,Ve(e.ctx),Ln=!1,Jn=++qn,e.ac!==null&&(nt(()=>{e.ac.abort(de)}),e.ac=null);try{e.f|=C;var u=e.fn,d=u();e.f|=y;var f=er(e);if(Ge()&&Wn!==null&&!Ln&&f!==null&&!(e.f&6146))for(var p=0;p<Wn.length;p++)Qn(Wn[p],e);if(i!==null&&i!==e){if(qn++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=qn;if(t!==null)for(let e of t)e.rv=qn;Wn!==null&&(r===null?r=Wn:r.push(...Wn))}return e.f&8388608&&(e.f^=w),d}catch(t){return er(e),cn(t)}finally{e.f^=C,Hn=t,Un=n,Wn=r,B=i,Bn=a,Ve(o),Ln=s,Jn=c}}function er(e){var t=e.deps,n=M?.is_fork;if(Hn!==null){var r;if(n||nr(e,Un),t!==null&&Un>0)for(t.length=Un+Hn.length,r=0;r<Hn.length;r++)t[Un+r]=Hn[r];else e.deps=t=Hn;if(pn()&&e.f&512)for(r=Un;r<t.length;r++)(t[r].reactions??=[]).push(e)}else!n&&t!==null&&Un<t.length&&(nr(e,Un),t.length=Un);return t}function tr(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(Hn===null||!n.call(Hn,r))){var s=r;s.f&512&&(s.f^=512),s.v!==T&&Ze(s),s.ac!==null&&nt(()=>{s.ac.abort(de),s.ac=null,A(s,h)}),ht(s),nr(s,0)}}function nr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)tr(e,n[r])}function rr(e){var t=e.f;if(!(t&16384)){A(e,m);var n=V;V=e;try{t&16777232?Tn(e):wn(e),Cn(e);var r=$n(e);e.teardown=typeof r==`function`?r:null,e.wv=Kn}finally{V=n}}}async function ir(){await Promise.resolve(),Ot()}function H(e){var t=!!(e.f&2);if(Pn?.add(e),B!==null&&!Ln&&!(V!==null&&V.f&16384)&&(Bn===null||!Bn.has(e))){var r=B.deps;if(B.f&2097152)e.rv<qn&&(e.rv=qn,Hn===null&&r!==null&&r[Un]===e?Un++:Hn===null?Hn=[e]:Hn.push(e));else{B.deps??=[],n.call(B.deps,e)||B.deps.push(e);var i=e.reactions;i===null?e.reactions=[B]:n.call(i,B)||i.push(B)}}if(Fn&&It.has(e))return It.get(e);if(t){var a=e;if(Fn){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||or(a))&&(o=pt(a)),It.set(a,o),o}var s=!(a.f&512)&&!Ln&&B!==null&&!!(B.f&512),c=(a.f&y)===0;Zn(a)&&(s&&(a.f|=512),mt(a)),s&&!c&&(gt(a),ar(a))}if(yt?.has(e))return yt.get(e);if(e.f&8388608)throw e.v;return e.v}function ar(e){if(e.f|=512,e.deps!==null)for(let r of e.deps){var t=r.reactions;t===null?r.reactions=[e]:n.call(t,e)||t.push(e),r.f&2&&!(r.f&512)&&(gt(r),ar(r))}}function or(e){if(e.v===T)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(It.has(t)||t.f&2&&or(t))return!0;return!1}function sr(e){var t=Ln;try{return Ln=!0,e()}finally{Ln=t}}function cr(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(re in e)lr(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&re in n&&lr(n)}}}function lr(e,t=new Set){if(typeof e==`object`&&e&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let n in e)try{lr(e[n],t)}catch{}let n=l(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){let t=o(n);for(let n in t){let r=t[n].get;if(r)try{r.call(e)}catch{}}}}}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var ur=[`touchstart`,`touchmove`];function dr(e){return ur.includes(e)}var fr=Symbol(`events`),pr=new Set,mr=new Set;function hr(e,t,n,r={}){function i(e){if(r.capture||br.call(t,e),!e.cancelBubble)return nt(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?(i.__removed=!1,Je(()=>{i.__removed||t.addEventListener(e,i,r)})):t.addEventListener(e,i,r),i}function gr(e,t,n,r,i){var a={capture:r,passive:i},o=hr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&mn(()=>{o.__removed=!0,t.removeEventListener(e,o,a)})}function U(e,t,n){(t[fr]??={})[e]=n}function _r(e){for(var t=0;t<e.length;t++)pr.add(e[t]);for(var n of mr)n(e)}var vr=null,yr=!1;function br(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;vr=e,yr||(yr=!0,setTimeout(()=>{yr=!1,vr=null}));var s=0,c=vr===e&&e[fr];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[fr]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=B,f=V;Rn(null),zn(null);try{for(var p,m=[];o!==null&&o!==t;){try{var h=o[fr]?.[r];h!=null&&(!o.disabled||e.target===o)&&h.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble)break;s++,o=s<a.length?a[s]:null}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[fr]=t,delete e.currentTarget,Rn(d),zn(f)}}}var xr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Sr(e){return xr?.createHTML(e)??e}function Cr(e){var t=on(`template`);return t.innerHTML=Sr(e.replaceAll(`<!>`,`<!---->`)),t.content}function wr(e,t){var n=V;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function W(e,t){var n=!!(t&1),r=!!(t&2),i,a=!e.startsWith(`<!>`);return()=>{if(E)return wr(D,null),D;i===void 0&&(i=Cr(a?e:`<!>`+e),n||(i=tn(i)));var t=r||Xt?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=tn(t),s=t.lastChild;wr(o,s)}else wr(t,t);return t}}function Tr(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=!!(t&1),a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(E)return wr(D,null),D;if(!o){var e=tn(Cr(a));if(i)for(o=document.createDocumentFragment();tn(e);)o.appendChild(tn(e));else o=tn(e)}var t=o.cloneNode(!0);if(i){var n=tn(t),r=t.lastChild;wr(n,r)}else wr(t,t);return t}}function Er(e,t){return Tr(e,t,`svg`)}function Dr(e=``){if(!E){var t=en(e+``);return wr(t,t),t}var n=D;return n.nodeType===3?sn(n):(n.before(n=en()),O(n)),wr(n,n),n}function Or(){if(E)return wr(D,null),D;var e=document.createDocumentFragment(),t=document.createComment(``),n=en();return e.append(t,n),wr(t,n),e}function G(e,t){if(E){var n=V;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=D),Se();return}e!==null&&e.before(t)}function kr(e){let t=0,n=Rt(0),r;return()=>{pn()&&(H(n),bn(()=>(t===0&&(r=sr(()=>e(()=>Wt(n)))),t+=1,()=>{Je(()=>{--t,t===0&&(r?.(),r=void 0,Wt(n))})})))}}var Ar=x|S;function jr(e,t,n,r){new Mr(e,t,n,r)}var Mr=class{parent;is_pending=!1;transform_error;#e;#t=E?D:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=kr(()=>(this.#m=Rt(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=V;t.b=this,t.f|=128,n(e)},this.parent=V.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=xn(()=>{if(E){let e=Te(this.#t);Se();let t=e===`[!`;if(e.startsWith(`[?`)){let t=JSON.parse(e.slice(2));this.#_(t)}else t?this.#b():this.#g()}else this.#x()},Ar),E&&(this.#e=D)}#g(){try{this.#a=Sn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed,{reset:n,invoke_onerror:r}=this.#v(e);Je(r),t&&(this.#s=Sn(()=>{t(this.#e,()=>e,()=>n)}))}#v(e){var t=!1,n=!1;let r=()=>{if(!this.#y()){if(t){be();return}t=!0,n&&ze(),this.#s!==null&&kn(this.#s,()=>{this.#s=null}),this.#C(()=>{this.#x()})}};return{reset:r,invoke_onerror:()=>{if(!this.#y())try{n=!0,this.#n.onerror?.(e,r),n=!1}catch(e){ln(e,this.#i&&this.#i.parent)}}}}#y(){return(this.#i.f&(v|b))!==0}#b(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Sn(()=>e(this.#e)),Je(()=>{if(!this.#y()){var e=this.#c=document.createDocumentFragment(),t=en(),n=!1;if(e.append(t),this.#a=this.#C(()=>{try{return Sn(()=>this.#r(t))}catch(e){try{this.error(e),n=!0}catch(e){ln(e,this.#i.parent)}return null}}),this.#a===null){this.#c=null,n&&this.#S(M);return}this.#u===0&&(this.#e.before(e),this.#c=null,kn(this.#o,()=>{this.#o=null}),this.#S(M))}}))}#x(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Sn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Nn(this.#a,e);let t=this.#n.pending;this.#o=Sn(()=>t(this.#e))}else this.#S(M)}catch(e){this.error(e)}}#S(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Qe(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#C(e){var t=V,n=B,r=Be;zn(this.#i),Rn(this.#i),Ve(this.#i.ctx);try{return Dt.ensure(),e()}finally{zn(t),Rn(n),Ve(r)}}#w(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#w(e,t);return}this.#u+=e,this.#u===0&&(this.#S(t),this.#o&&kn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#w(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Je(()=>{this.#d=!1,this.#m&&Ht(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),H(this.#m)}error(e){if(e===pe||!this.#n.onerror&&!this.#n.failed)throw e;M?.is_fork?(this.#a&&M.skip_effect(this.#a),this.#o&&M.skip_effect(this.#o),this.#s&&M.skip_effect(this.#s),M.oncommit(()=>{this.#y()||this.#T(e)})):this.#T(e)}#T(e){this.#a&&=(En(this.#a),null),this.#o&&=(En(this.#o),null),this.#s&&=(En(this.#s),null),E&&(O(this.#t),Ce(),O(we()));let t=this.#n.failed,n=e=>{if(this.#y())return;let{reset:n,invoke_onerror:r}=this.#v(e);r(),t&&!this.#y()&&(this.#s=this.#C(()=>{try{return Sn(()=>{var r=V;r.b=this,r.f|=128,t(this.#e,()=>e,()=>n)})}catch(e){return ln(e,this.#i.parent),null}}))};Je(()=>{if(!this.#y()){var t;try{t=this.transform_error(e)}catch(e){ln(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(n,e=>ln(e,this.#i&&this.#i.parent)):n(t)}})}};function K(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[le]??=e.nodeValue)&&(e[le]=n,e.nodeValue=`${n}`)}function Nr(e,t){return Fr(e,t)}var Pr=new Map;function Fr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){$t();var l=void 0,u=_n(()=>{var s=n??t.appendChild(en());jr(s,{pending:()=>{}},t=>{He({});var n=Be;if(o&&(n.c=o),a&&(i.$$events=a),E&&wr(t,null),l=e(t,i)||We(),E&&(V.nodes.end=D,D===null||D.nodeType!==8||D.data!==`]`))throw ve(),pe;Ue()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=dr(r);for(let e of[t,document]){var a=Pr.get(e);a===void 0&&(a=new Map,Pr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,br,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(r(pr)),mr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Pr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,br),r.delete(e),r.size===0&&Pr.delete(n)):r.set(e,i)}mr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Ir.set(l,u),l}var Ir=new WeakMap,Lr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)jn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(jn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(En(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Nn(r,t),t.append(en()),this.#n.set(e,{effect:r,fragment:t})}else En(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),kn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(En(n.effect),this.#n.delete(e))};ensure(e,t){var n=M,r=an();if(t&&!this.#t.has(e)&&!this.#n.has(e)){if(r){var i=document.createDocumentFragment(),a=en();i.append(a),this.#n.set(e,{effect:Sn(()=>t(a)),fragment:i})}else this.#t.set(e,Sn(()=>t(this.anchor)))}if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else E&&(this.anchor=D),this.#a(n)}};function q(e,t,n=!1){var r;E&&(r=D,Se());var i=new Lr(e),a=n?x:0;function o(e,t){if(E){var n=Te(r);if(e!==parseInt(n.substring(1))){var a=we();O(a),i.anchor=a,xe(!1),i.ensure(e,t),xe(!0);return}}i.ensure(e,t)}xn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Rr(e,t){return t}function zr(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];kn(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Br(e,r(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=i.length===0&&n!==null&&e.pending.size===0;if(l){var u=n,d=u.parentNode;rn(d),d.append(u),e.items.clear()}Br(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Br(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=te,Nn(a,document.createDocumentFragment())):En(t[i],n)}}var Vr;function J(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=E?O(tn(u)):u.appendChild(en())}E&&Se();var d=null,f=dt(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p=new Map,m=!0;function h(e){if(!(_.effect.f&16384)){_.pending.delete(e);var t=H(f);_.fallback=d,Ur(_,t,c,n,a),d!==null&&(t.length===0?d.f&33554432?(d.f^=te,Gr(d,null,c)):jn(d):kn(d,()=>{d=null}))}}function g(e){_.pending.delete(e)}var _={effect:xn(()=>{var e=H(f),t=e.length;let r=!1;E&&Te(c)===`[!`!=(t===0)&&(c=we(),O(c),xe(!1),r=!0);for(var u=new Set,_=M,v=an(),y=0;y<t;y+=1){E&&D.nodeType===8&&D.data===`]`&&(c=D,r=!0,xe(!1));var b=e[y],x=a(b,y),S=m?null:l.get(x);S?(S.v&&Ht(S.v,b),S.i&&Ht(S.i,y),v&&_.unskip_effect(S.e)):(S=Wr(l,m?c:Vr??=en(),b,x,y,o,n,i),m||(S.e.f|=te),l.set(x,S)),u.add(x)}if(t===0&&s&&!d&&(m?d=Sn(()=>s(c)):(d=Sn(()=>s(Vr??=en())),d.f|=te)),t>u.size&&je(``,``,``),E&&t>0&&O(we()),!m){if(p.set(_,u),v){for(let[e,t]of l)u.has(e)||_.skip_effect(t.e);_.oncommit(h),_.ondiscard(g)}else h(_)}r&&xe(!0),H(f)}),flags:n,items:l,pending:p,outrogroups:null,fallback:d};m=!1,E&&(c=D)}function Hr(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Ur(e,t,n,i,a){var o=!!(i&8),s=t.length,c=e.items,l=Hr(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=a(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=a(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(jn(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432){if(_.f^=te,_===l)Gr(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Kr(e,d,_),Kr(e,_,y),Gr(_,y,n),d=_,p=[],m=[],l=Hr(d.next);continue}}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)Gr(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Kr(e,S.prev,ee.next),Kr(e,d,S),Kr(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),Gr(_,l,n),Kr(e,_.prev,_.next),Kr(e,_,d===null?e.effect.first:d.next),Kr(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Hr(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Hr(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Br(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var C=[];if(u!==void 0)for(_ of u)_.f&8192||C.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&C.push(l),l=Hr(l.next);var ne=C.length;if(ne>0){var w=i&4&&s===0?n:null;if(o){for(v=0;v<ne;v+=1)C[v].nodes?.a?.measure();for(v=0;v<ne;v+=1)C[v].nodes?.a?.fix()}zr(e,C,w)}}o&&Je(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Wr(e,t,n,r,i,a,o,s){var c=o&1?o&16?Rt(n):zt(n,!1,!1):null,l=o&2?Rt(i):null;return{v:c,i:l,e:Sn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Gr(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=nn(r);if(a.before(r),r===i)return;r=o}}function Kr(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function qr(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;E&&(o=O(tn(c)))}z(()=>{var e=V;if(s===(s=t()??``)){E&&Se();return}if(n&&!E){e.nodes=null,c.innerHTML=s,s!==``&&wr(tn(c),c.lastChild);return}if(e.nodes!==null&&(Dn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(E){for(var a=D.data,l=Se(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=nn(l);if(l===null)throw ve(),pe;wr(D,u),o=O(l);return}var d=on(r?`svg`:i?`math`:`template`,r?he:i?ge:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(wr(tn(f),f.lastChild),r||i)for(;tn(f);)o.before(tn(f));else o.before(f)}})}function Jr(e,t,n){vn(()=>{var r=sr(()=>t(e,n?.())||{});if(n&&r?.update){var i=!1,a={};bn(()=>{var e=n();cr(e),i&&De(a,e)&&(a=e,r.update(e))}),i=!0}if(r?.destroy)return()=>r.destroy()})}var Yr=[...`
2
+ \r\f\xA0\v`];function Xr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Yr.includes(r[o-1]))&&(s===r.length||Yr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Zr(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Qr(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function $r(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\/\*.*?\*\//g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Qr)),i&&c.push(...Object.keys(i).map(Qr));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Qr(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Zr(r)),i&&(n+=Zr(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function ei(e,t,n,r,i,a){var o=e[se];if(E||o!==n||o===void 0){var s=Xr(n,r,a);(!E||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[se]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function ti(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function ni(e,t,n,r){var i=e[ce];if(E||i!==t){var a=$r(t,r);(!E||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[ce]=t}else r&&(Array.isArray(r)?(ti(e,n?.[0],r[0]),ti(e,n?.[1],r[1],`important`)):ti(e,n,r));return r}function ri(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function ii(t,n){var r=t.__defaultValue,i=t.multiple,a=i?r??[]:null;if(!i||e(a)){var o=t.selectedIndex,s=n&&i?new Set(t.selectedOptions):null;for(var c of t.options){var l=ci(c);ri(c,i?a.includes(l):Jt(l,r))}if(n){if(s!==null)for(c of t.options){var u=s.has(c);c.selected!==u&&(c.selected=u)}else t.selectedIndex!==o&&(t.selectedIndex=o)}}}function ai(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return ye();for(var i of t.options)i.selected=n.includes(ci(i));return}for(i of t.options)if(Jt(ci(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function oi(e){var t=new MutationObserver(t=>{t.every(li)||(`__defaultValue`in e&&ii(e,!1),`__value`in e&&ai(e,e.__value))});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),mn(()=>{t.disconnect()})}function si(e,t,n=t){var r=new WeakSet,i=!0;rt(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),ci);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&ci(o)}n(a),e.__value=a,M!==null&&r.add(M)}),vn(()=>{var a=t();if(e===document.activeElement){var o=M;if(r.has(o))return}if(ai(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=ci(s),n(a))}e.__value=a,i=!1})}function ci(e){return`__value`in e?e.__value:e.value}function li(e){if(e.target.closest(`selectedcontent`)!==null)return!0;if(e.type===`childList`){var t=[...e.addedNodes,...e.removedNodes];return t.length>0&&t.every(e=>e.nodeName===`SELECTEDCONTENT`)}return!1}var ui=Symbol(`is custom element`),di=Symbol(`is html`),fi=fe?`link`:`LINK`,pi=fe?`progress`:`PROGRESS`;function Y(e){if(E){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;X(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;X(e,`checked`,null),e.checked=r}}};e[ue]=n,Je(n),tt()}}function mi(e,t){var n=hi(e);n.value!==(n.value=t??void 0)&&(e.value!==t||t===0&&e.nodeName===pi)&&(e.value=t??``)}function X(e,t,n,r){var i=hi(e);E&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===fi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[ae]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&_i(e).has(t)?e[t]=n:e.setAttribute(t,n))}function hi(e){return e[oe]??={[ui]:e.nodeName.includes(`-`),[di]:e.namespaceURI===me}}var gi=new Map;function _i(e){var t=e.getAttribute(`is`)||e.nodeName,n=gi.get(t);if(n)return n;gi.set(t,n=new Set);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&s!==`innerHTML`&&s!==`textContent`&&s!==`innerText`&&n.add(s);i=l(i)}return n}function Z(e,t,n=t){var r=new WeakSet;rt(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=yi(e)?bi(a):a,n(a),M!==null&&r.add(M),await ir(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(E&&e.defaultValue!==e.value||sr(t)==null&&e.value)&&(n(yi(e)?bi(e.value):e.value),M!==null&&r.add(M)),bn(()=>{var n=t();if(e===document.activeElement){var i=M;if(r.has(i))return}yi(e)&&n===bi(e.value)||(e.type!==`date`||n||e.value)&&n!==e.value&&(e.value=n??``)})}function vi(e,t,n=t){rt(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(E&&e.defaultChecked!==e.checked||sr(t)==null)&&n(e.checked),bn(()=>{e.checked=!!t()})}function yi(e){var t=e.type;return t===`number`||t===`range`}function bi(e){return e===``?null:+e}function xi(e,t){return e===t||e?.[re]===t}function Si(e=We(),t,n,r){var i=Be.r,a=V;return vn(()=>{var o,s;return bn(()=>{o=s,s=r?.()||[],sr(()=>{xi(n(...s),e)||(t(e,...s),o&&xi(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&xi(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Ci(e){Be===null&&ke(`onMount`),hn(()=>{let t=sr(e);if(typeof t==`function`)return t})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);function wi(){return{messages:[],streaming:null,tools:{},queue:{steering:[],followUp:[]},running:!1,turn:Ti(),total:Ti()}}function Ti(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:0}}function Ei(e){let t=e,n=typeof t.role==`string`?t.role:`unknown`,r=[];if(n===`toolResult`)r.push({kind:`tool-result`,id:typeof t.toolCallId==`string`?t.toolCallId:``,name:typeof t.toolName==`string`?t.toolName:``,output:ji(t.content),isError:t.isError===!0});else{let e=t.content;if(typeof e==`string`)e&&r.push({kind:`text`,text:e});else if(Array.isArray(e))for(let t of e)r.push(...Di(t))}let i={role:n,blocks:r},a=Oi(t.usage);return a&&(i.usage=a),i}function Di(e){if(!e||typeof e!=`object`)return[];let t=e;switch(t.type){case`text`:return typeof t.text==`string`&&t.text?[{kind:`text`,text:t.text}]:[];case`image`:return typeof t.data==`string`&&typeof t.mimeType==`string`?[{kind:`image`,data:t.data,mimeType:t.mimeType}]:[];case`thinking`:return typeof t.thinking==`string`&&t.thinking?[{kind:`thinking`,text:t.thinking}]:[];case`toolCall`:return[{kind:`tool-call`,id:typeof t.id==`string`?t.id:``,name:typeof t.name==`string`?t.name:``,args:t.arguments}];default:return[]}}function Oi(e){if(!e||typeof e!=`object`)return;let t=e;return{input:ki(t.input),output:ki(t.output),cacheRead:ki(t.cacheRead),cacheWrite:ki(t.cacheWrite),totalTokens:ki(t.totalTokens),cost:Ai(t.cost)}}function ki(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function Ai(e){return typeof e==`number`?e:e&&typeof e==`object`?ki(e.total):0}function ji(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(ji).filter(Boolean).join(`
3
+ `);if(e&&typeof e==`object`){let t=e;return`content`in t?ji(t.content):`text`in t&&typeof t.text==`string`?t.text:JSON.stringify(e,null,2)}return``}function Mi(e,t){return{input:e.input+t.input,output:e.output+t.output,cacheRead:e.cacheRead+t.cacheRead,cacheWrite:e.cacheWrite+t.cacheWrite,totalTokens:e.totalTokens+t.totalTokens,cost:e.cost+t.cost}}function Ni(e,t,n=Date.now,r){switch(t.type){case`agent_start`:return{...e,running:!0,turn:Ti()};case`agent_settled`:return{...e,running:!1,streaming:null,queue:{steering:[],followUp:[]}};case`message_start`:return Pi(t.message)?{...e,streaming:Ei(t.message)}:e;case`message_update`:{let n=t.assistantMessageEvent;return n?.partial?{...e,streaming:Ei(n.partial)}:e}case`message_end`:{let n=Ei(t.message);if(n.role===`system`||n.role===`custom`)return e;if(n.role===`toolResult`){let t=n.blocks[0],r=e.tools[t.id];if(r)return{...e,tools:{...e.tools,[t.id]:{...r,output:t.output,state:t.isError?`error`:`done`}}}}r!==void 0&&(n.seq=r);let i=n.usage?Mi(e.turn,n.usage):e.turn,a={...e.tools};for(let e of n.blocks)e.kind===`tool-call`&&!a[e.id]&&(a[e.id]={id:e.id,name:e.name,args:e.args,output:``,state:`pending`});return{...e,messages:[...e.messages,n],streaming:null,tools:a,turn:i,total:n.usage?Mi(e.total,n.usage):e.total}}case`tool_execution_start`:{let r=t,i=e.tools[r.toolCallId];return{...e,tools:{...e.tools,[r.toolCallId]:{id:r.toolCallId,name:r.toolName,args:r.args,output:i?.output??``,state:`running`,startedAt:i?.startedAt??n()}}}}case`tool_execution_update`:{let n=t,r=e.tools[n.toolCallId];return r?{...e,tools:{...e.tools,[n.toolCallId]:{...r,output:ji(n.partialResult)}}}:e}case`tool_execution_end`:{let r=t,i=e.tools[r.toolCallId],a={id:r.toolCallId,name:r.toolName,args:i?.args,output:ji(r.result),state:r.isError?`error`:`done`,startedAt:i?.startedAt??n(),endedAt:n()};return{...e,tools:{...e.tools,[r.toolCallId]:a}}}case`queue_update`:{let n=t;return{...e,queue:{steering:[...n.steering],followUp:[...n.followUp]}}}default:return e}}function Pi(e){return e?.role===`assistant`}function Fi(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Ii(e){return`${`${Fi(e.input)} in / ${Fi(e.output)} out`}${e.cacheRead?` / ${Fi(e.cacheRead)} cached`:``} · $${e.cost.toFixed(4)}`}function Li(e){return e.input+e.cacheRead+e.cacheWrite}function Ri(e){let t=Li(e);return t?`${Fi(e.cacheRead)} read / ${Fi(e.cacheWrite)} write · ${Math.round(e.cacheRead/t*100)}% of the prompt from cache`:`the provider reported no usage`}var zi=new Set([`text_start`,`text_delta`,`thinking_start`,`thinking_delta`,`toolcall_start`,`toolcall_delta`]),Bi={promptTokens:0,outputTokens:0,prefillMs:0,decodeMs:0};function Vi(e){return e!==null&&(e.promptTokens>0||e.outputTokens>0)}function Hi(){return{live:null,last:null,run:{...Bi}}}function Ui(e,t,n=Date.now){switch(t.type){case`agent_start`:return{...e,pendingStart:void 0,live:null,run:{...Bi}};case`turn_start`:return{...e,pendingStart:n()};case`message_start`:return Pi(t.message)?{...e,pendingStart:void 0,live:{requestStart:e.pendingStart??n(),firstTokenAt:null,promptTokens:0,outputTokens:0}}:e;case`message_update`:{if(!e.live)return e;let r=t.assistantMessageEvent,i=Oi(r?.partial?.usage);return{...e,live:{...e.live,firstTokenAt:e.live.firstTokenAt??(zi.has(r?.type??``)?n():null),promptTokens:i?Li(i):e.live.promptTokens,outputTokens:i&&i.output>0?i.output:e.live.outputTokens}}}case`message_end`:{let r=t.message;if(!Pi(r)||!e.live)return e;let i=Oi(r.usage),a=e.live.firstTokenAt,o=i?Li(i):0,s=i?.output??0,c={promptTokens:o,outputTokens:s,prefillMs:a===null?0:Ki(o,a-e.live.requestStart),decodeMs:a===null?0:Ki(s,n()-a)};return{...e,pendingStart:void 0,live:null,last:Vi(c)?c:e.last,run:a===null?e.run:Gi(e.run,c)}}case`agent_settled`:return{...e,pendingStart:void 0,live:null};default:return e}}function Wi(e,t){let n=e.live,r=n?.firstTokenAt==null?e.run:Gi(e.run,{promptTokens:n.promptTokens,outputTokens:n.outputTokens,prefillMs:Ki(n.promptTokens,n.firstTokenAt-n.requestStart),decodeMs:Ki(n.outputTokens,t-n.firstTokenAt)});if(r.promptTokens===0&&r.outputTokens===0){let t=e.last;return t?{prefill:qi(t.promptTokens,t.prefillMs),decode:qi(t.outputTokens,t.decodeMs)}:{prefill:null,decode:null}}return{prefill:qi(r.promptTokens,r.prefillMs),decode:qi(r.outputTokens,r.decodeMs)}}function Gi(e,t){return{promptTokens:e.promptTokens+t.promptTokens,outputTokens:e.outputTokens+t.outputTokens,prefillMs:e.prefillMs+t.prefillMs,decodeMs:e.decodeMs+t.decodeMs}}function Ki(e,t){return e>0?t:0}function qi(e,t){return t>0&&e>0?e*1e3/t:null}function Ji(e){return e>=100?String(Math.round(e)):e.toFixed(1)}var Yi=`flypi.lastAnswers`;function Xi(e){return e.model?`${e.model.provider}/${e.model.modelId}`:null}function Zi(e){return ta()[e]??null}function Qi(e,t){let n=ta();n[e]=t,ea(n)}function $i(e){let t=ta();e in t&&(delete t[e],ea(t))}function ea(e){try{localStorage.setItem(Yi,JSON.stringify(e))}catch{}}function ta(){let e;try{e=JSON.parse(localStorage.getItem(Yi)??``)}catch{return{}}if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){let e=na(r);e&&(t[n]=e)}return t}function na(e){let t=e;if(!t||typeof t!=`object`)return null;let{promptTokens:n,outputTokens:r,prefillMs:i,decodeMs:a}=t;return ra(n)&&ra(r)&&ra(i)&&ra(a)?{promptTokens:n,outputTokens:r,prefillMs:i,decodeMs:a,model:typeof t.model==`string`?t.model:null}:null}function ra(e){return Number.isFinite(e)}var ia=class{#e=N(Kt(wi()));get transcript(){return H(this.#e)}set transcript(e){P(this.#e,e,!0)}#t=N(Kt(Hi()));get metrics(){return H(this.#t)}set metrics(e){P(this.#t,e,!0)}#n=N(null);get measuredOn(){return H(this.#n)}set measuredOn(e){P(this.#n,e,!0)}#r=N(void 0);get conversationId(){return H(this.#r)}set conversationId(e){P(this.#r,e,!0)}#i=N(void 0);get sessionPath(){return H(this.#i)}set sessionPath(e){P(this.#i,e,!0)}#a=N(Kt([]));get sessions(){return H(this.#a)}set sessions(e){P(this.#a,e,!0)}#o=N(void 0);get debug(){return H(this.#o)}set debug(e){P(this.#o,e,!0)}#s=N(void 0);get scheduler(){return H(this.#s)}set scheduler(e){P(this.#s,e,!0)}#c=N(void 0);get interruptedAt(){return H(this.#c)}set interruptedAt(e){P(this.#c,e,!0)}#l=N(void 0);get config(){return H(this.#l)}set config(e){P(this.#l,e,!0)}#u=N(`chat`);get view(){return H(this.#u)}set view(e){P(this.#u,e,!0)}#d=N(!1);get connected(){return H(this.#d)}set connected(e){P(this.#d,e,!0)}#f=N(void 0);get lastError(){return H(this.#f)}set lastError(e){P(this.#f,e,!0)}#p=N(void 0);get configError(){return H(this.#p)}set configError(e){P(this.#p,e,!0)}#m=N(void 0);get mcpStatus(){return H(this.#m)}set mcpStatus(e){P(this.#m,e,!0)}#h=N(!1);get mcpChecking(){return H(this.#h)}set mcpChecking(e){P(this.#h,e,!0)}#g=N(void 0);get mcpSignIn(){return H(this.#g)}set mcpSignIn(e){P(this.#g,e,!0)}#_=N(!1);get mcpSigningIn(){return H(this.#_)}set mcpSigningIn(e){P(this.#_,e,!0)}#v=N(void 0);get packages(){return H(this.#v)}set packages(e){P(this.#v,e,!0)}#y=N(!1);get packagesBusy(){return H(this.#y)}set packagesBusy(e){P(this.#y,e,!0)}#b=N(void 0);get schedulerError(){return H(this.#b)}set schedulerError(e){P(this.#b,e,!0)}#x=N(!1);get updateInstalling(){return H(this.#x)}set updateInstalling(e){P(this.#x,e,!0)}#S=N(void 0);get updateError(){return H(this.#S)}set updateError(e){P(this.#S,e,!0)}#C=N(void 0);get secrets(){return H(this.#C)}set secrets(e){P(this.#C,e,!0)}#w=N(void 0);get secretsError(){return H(this.#w)}set secretsError(e){P(this.#w,e,!0)}#T=N(void 0);get revealed(){return H(this.#T)}set revealed(e){P(this.#T,e,!0)}#E=N(void 0);get memories(){return H(this.#E)}set memories(e){P(this.#E,e,!0)}#D=N(void 0);get memoryError(){return H(this.#D)}set memoryError(e){P(this.#D,e,!0)}#O=N(Kt([]));get extensionNotes(){return H(this.#O)}set extensionNotes(e){P(this.#O,e,!0)}#k=N(void 0);get extensionDialog(){return H(this.#k)}set extensionDialog(e){P(this.#k,e,!0)}#A=N(void 0);get protocolMismatch(){return H(this.#A)}set protocolMismatch(e){P(this.#A,e,!0)}#j=N(void 0);get pi(){return H(this.#j)}set pi(e){P(this.#j,e,!0)}#M=N(void 0);get piVersions(){return H(this.#M)}set piVersions(e){P(this.#M,e,!0)}#N=N(!1);get piBusy(){return H(this.#N)}set piBusy(e){P(this.#N,e,!0)}#P;#F=0;#I=!1;#L=null;#R;#z=new Map;#B=new Set;constructor(e){this.#P=e}watch(){return this.#P.on(e=>{if(e.type===`connected`){this.connected=!0,this.conversationId?this.send({type:`resume`,conversationId:this.conversationId,afterSeq:this.#F}):this.newSession(),this.view===`chat`&&this.showConfig();return}if(e.type===`disconnected`){this.connected=!1;return}this.handleFrame(e)})}send(e){this.#P.send(e)}async request(e){return new Promise(t=>{this.#z.set(e.requestId,t),this.send(e)})}newSession(){this.request({type:`newSession`,requestId:oa()})}prompt(e,t=`steer`,n=[]){this.conversationId&&this.send({type:`prompt`,conversationId:this.conversationId,text:e,...n.length?{attachments:n}:{},mode:t})}abort(){this.conversationId&&this.send({type:`abort`,conversationId:this.conversationId})}fork(e){this.conversationId&&this.request({type:`fork`,conversationId:this.conversationId,messageSeq:e,requestId:oa()})}listSessions(){this.request({type:`listSessions`,requestId:oa()})}openSession(e){this.conversationId&&this.request({type:`switchSession`,conversationId:this.conversationId,sessionPath:e,requestId:oa()})}rename(e){this.conversationId&&this.send({type:`renameSession`,conversationId:this.conversationId,name:e})}deleteSession(e){let t=e===this.sessionPath;$i(e),this.request({type:`deleteSession`,sessionPath:e,requestId:oa()}).then(()=>{t&&this.newSession()})}setModel(e,t){this.conversationId&&(this.send({type:`setModel`,conversationId:this.conversationId,provider:e,modelId:t}),this.#V(`${e}/${t}`))}#V(e){if(!e||(this.#L=e,!this.sessionPath||this.measuredOn===e))return;if(!this.measuredOn&&(Vi(this.metrics.run)||Vi(this.metrics.last))){this.measuredOn=e,Vi(this.metrics.run)&&Qi(this.sessionPath,{...this.metrics.run,model:e});return}let t=Zi(this.sessionPath),n=t&&t.model===e?t:null;this.metrics={...Hi(),last:n},this.measuredOn=n?e:null}setThinkingLevel(e){this.conversationId&&this.send({type:`setThinkingLevel`,conversationId:this.conversationId,level:e})}answerExtension(e,t){this.conversationId&&(this.send({type:`extensionReply`,conversationId:this.conversationId,dialogId:e,value:t}),this.extensionDialog=void 0)}showDebug(){this.conversationId&&this.request({type:`debug`,conversationId:this.conversationId,requestId:oa()})}loadScheduler(){let e=oa();this.#G.add(e),this.request({type:`scheduler`,requestId:e})}installUpdate(){let e=oa();this.#B.add(e),this.updateError=void 0,this.updateInstalling=!0,this.request({type:`installUpdate`,requestId:e})}openChat(){this.revealed=void 0,this.view=`chat`,this.config||this.showConfig()}openSettings(){this.revealed=void 0,this.view=`settings`}openSecrets(){this.view=`secrets`}openMemory(){this.revealed=void 0,this.view=`memory`}toggleSettings(){this.view===`settings`?this.openChat():this.openSettings()}toggleSecrets(){this.view===`secrets`?this.openChat():this.openSecrets()}toggleMemory(){this.view===`memory`?this.openChat():this.openMemory()}showConfig(){this.request({type:`getConfig`,requestId:this.#K()})}saveConfig(e){this.request({type:`saveConfig`,...e,requestId:this.#K()})}showPackages(){this.request({type:`packages`,requestId:this.#K()})}savePackages(e){this.packagesBusy=!0,this.request({type:`savePackages`,...e,requestId:this.#K()})}showPiVersions(){this.request({type:`piVersions`,requestId:this.#K()})}checkPi(){this.request({type:`piCheck`,requestId:this.#K()})}usePi(e){this.piBusy=!0,this.request({type:`usePi`,version:e,requestId:this.#K()})}checkMcp(){this.mcpChecking=!0,this.request({type:`mcpStatus`,requestId:this.#K()})}signInMcp(e){this.mcpSigningIn=!0,this.request({type:`mcpSignIn`,name:e,requestId:this.#K()})}submitMcpRedirect(e,t){this.send({type:`mcpRedirect`,name:e,url:t})}showSecrets(){this.request({type:`secrets`,requestId:this.#q()})}saveSecrets(e){this.request({type:`saveSecrets`,secrets:e,requestId:this.#q()})}revealSecret(e){this.request({type:`revealSecret`,name:e,requestId:this.#q()})}showMemories(){this.request({type:`memory`,requestId:this.#J()})}saveMemories(e){this.request({type:`saveMemory`,memories:e,requestId:this.#J()})}hideSecret(){this.revealed=void 0}#H=new Set;#U=new Set;#W=new Set;#G=new Set;#K(){let e=oa();return this.#H.add(e),e}#q(){let e=oa();return this.#U.add(e),e}#J(){let e=oa();return this.#W.add(e),e}handleFrame(e){switch(e.type){case`hello`:e.protocolVersion!==1&&(this.protocolMismatch=`server speaks protocol v${e.protocolVersion}, this UI speaks v1`),this.pi=e.pi;return;case`event`:{this.#F=Math.max(this.#F,e.seq);let t=e.event;if(this.transcript=Ni(this.transcript,t,()=>Date.now(),e.seq),this.metrics=Ui(this.metrics,t,()=>Date.now()),t.type===`message_end`&&Vi(this.metrics.run)&&this.sessionPath){let e=this.#L;e&&(this.measuredOn=e),Qi(this.sessionPath,{...this.metrics.run,model:e})}t.type===`agent_settled`&&this.showDebug(),!this.#I&&this.transcript.messages.some(e=>e.role===`user`)&&(this.#I=!0,this.listSessions());return}case`extensionUi`:if(e.kind===`notify`){this.extensionNotes=[...this.extensionNotes.slice(-49),{message:e.message,level:e.level??`info`}];return}this.extensionDialog=e;return;case`mcpAuth`:this.mcpSignIn={name:e.name,url:e.url};return;case`result`:if(e.sessionPath){this.transcript=wi();let t=Zi(e.sessionPath);if(this.metrics={...Hi(),last:t},this.measuredOn=t?.model??null,this.#L=null,this.#F=0,this.conversationId=e.conversationId,this.sessionPath=e.sessionPath,this.extensionNotes=[],this.extensionDialog=void 0,this.interruptedAt=e.interrupted?.at,this.#I=this.sessions.some(t=>t.path===e.sessionPath),e.conversationId&&this.send({type:`resume`,conversationId:e.conversationId,afterSeq:0}),this.showDebug(),this.listSessions(),this.#R&&e.conversationId&&this.#R!==e.sessionPath){let t=this.#R;this.#R=void 0,this.request({type:`switchSession`,conversationId:e.conversationId,sessionPath:t,requestId:oa()})}}e.sessions&&(this.sessions=e.sessions),e.config&&(e.requestId&&this.#H.delete(e.requestId),this.config=e.config,this.configError=void 0,this.mcpStatus=void 0),e.debug&&(this.debug=e.debug,this.#V(Xi(e.debug))),e.scheduler&&(this.scheduler=e.scheduler),e.secrets&&(e.requestId&&this.#U.delete(e.requestId),this.secrets=e.secrets,this.secretsError=void 0),e.revealed&&(e.requestId&&this.#U.delete(e.requestId),this.revealed=e.revealed),e.memory&&(e.requestId&&this.#W.delete(e.requestId),this.memories=e.memory,this.memoryError=void 0),e.mcpStatus&&(e.requestId&&this.#H.delete(e.requestId),this.mcpStatus=e.mcpStatus,this.mcpChecking=!1,this.mcpSignIn=void 0,this.mcpSigningIn=!1),e.pi&&(e.requestId&&this.#H.delete(e.requestId),this.piVersions=e.pi,this.piBusy=!1),e.packages&&(e.requestId&&this.#H.delete(e.requestId),this.packages=e.packages,this.packagesBusy=!1,this.configError=void 0),this.#z.get(e.requestId)?.(e),this.#z.delete(e.requestId);return;case`error`:if(e.requestId&&this.#B.delete(e.requestId)){this.updateError=e.message,this.updateInstalling=!1;return}if(e.requestId&&this.#G.delete(e.requestId)){this.schedulerError=e.message;return}if(this.lastError=e.message,e.requestId&&this.#H.delete(e.requestId)){this.configError=e.message,this.mcpChecking=!1,this.mcpSignIn=void 0,this.mcpSigningIn=!1,this.packagesBusy=!1,this.piBusy=!1;return}e.requestId&&this.#U.delete(e.requestId)&&(this.secretsError=e.message,this.revealed=void 0),e.requestId&&this.#W.delete(e.requestId)&&(this.memoryError=e.message),this.conversationId&&e.conversationId===this.conversationId&&/^unknown conversation /.test(e.message)&&(this.#R=this.sessionPath,this.newSession());return}}},aa=0;function oa(){return`ui-${++aa}`}var sa=`flypi.theme`;function ca(){let e=document.documentElement.dataset.theme;return e===`light`||e===`dark`?e:null}function la(e){document.documentElement.dataset.theme=e;try{localStorage.setItem(sa,e)}catch{}}function ua(){let e=localStorage.getItem(sa);la(e===`light`||e===`dark`?e:matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`)}var da=W(`<span class="port">· new</span>`),fa=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2m0 16v2M2 12h2m16 0h2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4m0-14.2-1.4 1.4M6.3 17.7l-1.4 1.4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg>`),pa=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M21 13.1A8.5 8.5 0 1 1 10.9 3a7.5 7.5 0 0 0 10.1 10.1Z" fill="currentColor"></path></svg>`),ma=W(`<p class="update error" data-role="update-error"> </p>`),ha=W(`<p class="update" data-role="update"> <button type="button" class="icon" data-role="install-update"> </button></p> <!>`,1),ga=W(`<p class="update" data-role="pi-version"> </p>`),_a=W(`<input class="name current" placeholder="New session" aria-label="Session name"/>`),va=W(`<button type="button" class="session"> </button>`),ya=W(`<li><!> <button type="button" class="icon remove" title="Delete this session"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M9 7V4.5h6V7M6.5 7l.8 12.5h9.4L17.5 7M10.2 10.5v6m3.6-6v6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></li>`),ba=W(`<aside class="sidebar"><header class="panel-head"><img class="logo" alt=""/> <h1>flypi<!></h1></header> <div class="panel-actions"><button type="button" class="icon" aria-label="New session" title="New session"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></button> <button type="button" class="icon"><!></button> <button type="button" class="icon" data-role="memory" aria-label="Memory" title="Memory — what is remembered, and why"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4.5 6.2h6.2c1 0 1.8.8 1.8 1.8v9.6c0-1 .8-1.8 1.8-1.8h5.2V6.2H4.5Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path><path d="M12.5 17.6c0-1 .8-1.8 1.8-1.8h5.2" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path></svg></button> <button type="button" class="icon" data-role="secrets" aria-label="Secrets" title="Secrets — the encrypted vault"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="7.8" cy="7.8" r="3.6" fill="none" stroke="currentColor" stroke-width="1.8"></circle><path d="M10.4 10.4 19.5 19.5M15.4 15.4l2.4-2.4M12.9 12.9l2-2" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <button type="button" class="icon" data-role="settings" aria-label="Model endpoints and MCP servers" title="Model endpoints and MCP servers"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path><circle cx="9" cy="7" r="2" fill="currentColor"></circle><circle cx="15" cy="12" r="2" fill="currentColor"></circle><circle cx="11" cy="17" r="2" fill="currentColor"></circle></svg></button></div> <!> <!> <ul class="sessions"></ul></aside>`);function xa(e,t){He(t,!0);let n=N(Kt(ca()??`light`));function r(){P(n,H(n)===`dark`?`light`:`dark`,!0),la(H(n))}function i(e){return e.name||e.firstMessage}function a(e){return i(e)||e.path}function o(e,n){let r=n.currentTarget.value.trim();r&&r!==e.trim()&&t.app.rename(r)}function s(e){t.app.deleteSession(e.path)}var c=ba(),l=F(c),u=F(l),d=R(u,2),f=R(F(d)),p=e=>{G(e,da())};q(f,e=>{t.app.sessionPath||e(p)}),k(d),k(l);var m=R(l,2),h=F(m),g=R(h,2),_=F(g),v=e=>{G(e,fa())},y=e=>{G(e,pa())};q(_,e=>{H(n)===`dark`?e(v):e(y,-1)}),k(g);var b=R(g,2),x=R(b,2),S=R(x,2);k(m);var ee=R(m,2),te=e=>{var n=ha(),r=I(n),i=F(r),a=R(i),o=L(a,!0);k(r);var s=R(r,2),c=e=>{var n=ma(),r=L(n,!0);z(()=>K(r,t.app.updateError)),G(e,n)};q(s,e=>{t.app.updateError&&e(c)}),z(()=>{K(i,`flypi ${t.update.version??``} ${t.update.ready?`is downloaded — it installs when nothing is running`:`is available`} `),a.disabled=t.app.updateInstalling,X(a,`title`,`Install ${t.update.version??``} now — the daemon restarts to run it`),K(o,t.app.updateInstalling?`installing…`:`install now`)}),U(`click`,a,()=>t.app.installUpdate()),G(e,n)};q(ee,e=>{t.update&&e(te)});var C=R(ee,2),ne=e=>{var n=ga(),r=L(n,!0);z(()=>K(r,`pi ${t.app.pi.version}${t.app.pi.pinned?` (pinned)`:``}${t.app.pi.bundled?` · installed tree holds ${t.app.pi.bundled}`:``}`)),G(e,n)};q(C,e=>{t.app.pi&&e(ne)});var w=R(C,2);J(w,21,()=>t.app.sessions,e=>e.path,(e,n)=>{var r=ya(),c=F(r),l=e=>{var t=_a();Y(t),z(e=>mi(t,e),[()=>i(H(n))]),gr(`blur`,t,e=>o(i(H(n)),e)),U(`keydown`,t,e=>{e.key===`Enter`?o(i(H(n)),e):e.key===`Escape`&&(e.currentTarget.value=i(H(n)))}),G(e,t)},u=e=>{var r=va(),i=L(r,!0);z(e=>K(i,e),[()=>a(H(n))]),U(`click`,r,()=>{t.app.openChat(),t.app.openSession(H(n).path)}),G(e,r)};q(c,e=>{H(n).path===t.app.sessionPath?e(l):e(u,-1)});var d=R(c,2);k(r),z(e=>X(d,`aria-label`,`Delete ${e??``}`),[()=>a(H(n))]),U(`click`,d,()=>s(H(n))),G(e,r)}),k(w),k(c),z(()=>{X(u,`src`,H(n)===`dark`?`/flypi-logo-dark.jpeg`:`/flypi-logo-light.jpeg`),X(g,`aria-label`,`Switch to ${H(n)===`dark`?`light`:`dark`} theme`),X(g,`title`,`Switch to ${H(n)===`dark`?`light`:`dark`} theme`),X(b,`aria-pressed`,t.app.view===`memory`),X(x,`aria-pressed`,t.app.view===`secrets`),X(S,`aria-pressed`,t.app.view===`settings`)}),U(`click`,h,()=>{t.app.openChat(),t.app.newSession()}),U(`click`,g,r),U(`click`,b,()=>t.app.toggleMemory()),U(`click`,x,()=>t.app.toggleSecrets()),U(`click`,S,()=>t.app.toggleSettings()),G(e,c),Ue()}_r([`click`,`keydown`]);var Sa=4194304;function Ca(e){return e.mimeType.startsWith(`image/`)}function wa(e){let t=new Uint8Array(e),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)}function Ta(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ea=Ta();function Da(e){Ea=e}var Oa={exec:()=>null};function ka(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function Q(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(ja.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Aa=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),ja={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:ka(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:ka(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:ka(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:ka(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:ka(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:ka(e=>RegExp(`^ {0,${e}}>`))},Ma=/^(?:[ \t]*(?:\n|$))+/,Na=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Pa=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Fa=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ia=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,La=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Ra=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,za=Q(Ra).replace(/bull/g,La).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),Ba=Q(Ra).replace(/bull/g,La).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Va=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,Ha=/^[^\n]+/,Ua=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Wa=Q(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,Ua).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ga=Q(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,La).getRegex(),Ka=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,qa=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ja=Q(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,qa).replace(`tag`,Ka).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ya=e=>Q(Va).replace(`hr`,Fa).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ka).getRegex(),Xa=Ya(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),Za=Ya(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),Qa={blockquote:Q(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Za).getRegex(),code:Na,def:Wa,fences:Pa,heading:Ia,hr:Fa,html:Ja,lheading:za,list:Ga,newline:Ma,paragraph:Xa,table:Oa,text:Ha},$a=Q(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,Fa).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ka).getRegex(),eo={...Qa,lheading:Ba,table:$a,paragraph:Q(Va).replace(`hr`,Fa).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,$a).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ka).getRegex()},to={...Qa,html:Q(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,qa).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Oa,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Q(Va).replace(`hr`,Fa).replace(`heading`,` *#{1,6} *[^
4
+ ]`).replace(`lheading`,za).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},no=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ro=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,io=/^( {2,}|\\)\n(?!\s*$)/,ao=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,oo=/[\p{P}\p{S}]/u,so=/[\s\p{P}\p{S}]/u,co=/[^\s\p{P}\p{S}]/u,lo=Q(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,so).getRegex(),uo=/[\p{Pi}\p{Ps}"']/u,fo=/(?!~)[\p{P}\p{S}]/u,po=/(?!~)[\s\p{P}\p{S}]/u,mo=/(?:[^\s\p{P}\p{S}]|~)/u,ho=Q(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,Aa?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),go=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,_o=Q(go,`u`).replace(/punct/g,oo).getRegex(),vo=Q(go,`u`).replace(/punct/g,fo).getRegex(),yo=Q(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,uo).replace(/punct/g,oo).getRegex(),bo=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,xo=Q(bo,`gu`).replace(/notPunctSpace/g,co).replace(/punctSpace/g,so).replace(/punct/g,oo).getRegex(),So=Q(bo,`gu`).replace(/notPunctSpace/g,mo).replace(/punctSpace/g,po).replace(/punct/g,fo).getRegex(),Co=Q(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,co).replace(/punctSpace/g,so).replace(/punct/g,oo).getRegex(),wo=Q(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,co).replace(/punctSpace/g,so).replace(/punct/g,oo).getRegex(),To=Q(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,co).replace(/punctSpace/g,so).replace(/punct/g,oo).getRegex(),Eo=Q(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,oo).getRegex(),Do=Q(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,co).replace(/punctSpace/g,so).replace(/punct/g,oo).getRegex(),Oo=Q(/\\(punct)/,`gu`).replace(/punct/g,oo).getRegex(),ko=Q(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ao=Q(qa).replace(`(?:-->|$)`,`-->`).getRegex(),jo=Q(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,Ao).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Mo=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,No=Q(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Mo).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Po=Q(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Mo).replace(`ref`,Ua).getRegex(),Fo=Q(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,Ua).getRegex(),Io=Q(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Po).replace(`nolink`,Fo).getRegex(),Lo=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ro={_backpedal:Oa,anyPunctuation:Oo,autolink:ko,blockSkip:ho,br:io,code:ro,del:Oa,delLDelim:Oa,delRDelim:Oa,emStrongLDelim:_o,emStrongRDelimAst:xo,emStrongRDelimUnd:wo,escape:no,link:No,nolink:Fo,punctuation:lo,reflink:Po,reflinkSearch:Io,tag:jo,text:ao,url:Oa},zo={...Ro,emStrongLDelim:yo,emStrongRDelimAst:Co,emStrongRDelimUnd:To,link:Q(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Mo).getRegex(),reflink:Q(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Mo).getRegex()},Bo={...Ro,emStrongRDelimAst:So,emStrongLDelim:vo,delLDelim:Eo,delRDelim:Do,url:Q(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Lo).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Q(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Lo).getRegex()},Vo={...Bo,br:Q(io).replace(`{2,}`,`*`).getRegex(),text:Q(Bo.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Ho={normal:Qa,gfm:eo,pedantic:to},Uo={normal:Ro,gfm:Bo,breaks:Vo,pedantic:zo},Wo={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},Go=e=>Wo[e];function Ko(e,t){if(t){if(ja.escapeTest.test(e))return e.replace(ja.escapeReplace,Go)}else if(ja.escapeTestNoEncode.test(e))return e.replace(ja.escapeReplaceNoEncode,Go);return e}function qo(e){try{e=encodeURI(e).replace(ja.percentDecode,`%`)}catch{return null}return e}function Jo(e,t){let n=e.replace(ja.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(ja.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(ja.slashPipe,`|`);return n}function Yo(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function Xo(e){let t=e.split(`
5
+ `),n=t.length-1;for(;n>=0&&ja.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
6
+ `)}function Zo(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Qo(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function $o(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`),c=e[0].charAt(0)===`!`;r.state.inLink=!0;let l=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let d=r.inlineTokens(s),f=r.state.linkEmitted;if(r.state.linkEmitted=l,r.state.inLink=!1,!c){if(f){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:c?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:d}}function es(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
7
+ `).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
8
+ `)}var ts=class{options;rules;lexer;constructor(e){this.options=e||Ea}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:Xo(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=es(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=Yo(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:Yo(t[0],`
9
+ `),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:Yo(t[0],`
10
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=Yo(t[0],`
11
+ `).split(`
12
+ `),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o=0;for(;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
13
+ `),c=s.replace(this.rules.other.blockquoteSetextReplace,`
14
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
15
+ ${s}`:s,r=r?`${r}
16
+ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=e.join(`
17
+ `),o=t.raw+`
18
+ `+a.replace(this.rules.other.blockquoteSetextReplace2,``),s=this.blockquote(o);i[i.length-1]=s,n=`${n}
19
+ ${a}`,r=r.substring(0,r.length-t.text.length)+s.text;break}if(u?.type===`list`){let t=u,a=t.raw+`
20
+ `+e.join(`
21
+ `),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
22
+ `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Qo(t[2].split(`
23
+ `,1)[0],t[1].length),l=e.split(`
24
+ `,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
25
+ `,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
26
+ `,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
27
+ `+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
28
+ `+l}u=!l.trim(),r+=p+`
29
+ `,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=Xo(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:Yo(t[0],`
30
+ `),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Jo(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
31
+ `):[],a={type:`table`,raw:Yo(t[0],`
32
+ `),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Jo(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:Yo(t[0],`
33
+ `),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
34
+ `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=Yo(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Zo(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),$o(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return $o(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,a,o,s=i,c=0,l=r[0][0],u=n===l,d=l===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(r=d.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){s+=o;continue}if(r[5]||r[6]){if(i%3&&!((i+o)%3)){c+=o;continue}if(u)break}if(s-=o,s>0)continue;o=Math.min(o,o+s+c);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+o);if(Math.min(i,o)%2){let e=n.slice(1,-1);return{type:`em`,raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let l=n.slice(2,-2);return{type:`strong`,raw:n,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},ns=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Ea,this.options.tokenizer=this.options.tokenizer||new ts,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:ja,block:Ho.normal,inline:Uo.normal};this.options.pedantic?(t.block=Ho.pedantic,t.inline=Uo.pedantic):this.options.gfm&&(t.block=Ho.gfm,t.inline=this.options.breaks?Uo.breaks:Uo.gfm),this.tokenizer.rules=t}static get rules(){return{block:Ho,inline:Uo}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(ja.carriageReturn,`
35
+ `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(ja.tabCharGlobal,` `).replace(ja.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
36
+ `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
37
+ `)?``:`
38
+ `)+i.raw,n.text+=`
39
+ `+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
40
+ `)?``:`
41
+ `)+i.raw,n.text+=`
42
+ `+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(`
43
+ `)?``:`
44
+ `)+i.raw,r.text+=`
45
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
46
+ `)?``:`
47
+ `)+i.raw,n.text+=`
48
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,e.slice(n+1,-1))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes(`[`)){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,n.slice(r+1,-1)))return n;if(r>1&&n.charAt(0)!==`!`){let i=n.slice(1,r-1);if(this.linkInText(i))return`[`+i.replace(e,t)+`][`+`a`.repeat(n.length-r-2)+`]`}return`[`+`a`.repeat(n.length-2)+`]`};n=n.replace(e,t)}n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>`+`.repeat(e.length)),n=n.replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+`[`+`a`.repeat(e.length-r-2)+`]`}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i=``,a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=``),r=!1;let o;if(this.options.extensions?.inline?.some(n=>(o=n.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let n=t.at(-1);o.type===`text`&&n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),o.raw.slice(-1)!==`_`&&(i=o.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},rs=class{options;parser;constructor(e){this.options=e||Ea}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(ja.notSpaceStart)?.[0],i=e.replace(ja.endingNewline,``)+`
49
+ `;return r?`<pre><code class="language-`+Ko(r)+`">`+(n?i:Ko(i,!0))+`</code></pre>
50
+ `:`<pre><code>`+(n?i:Ko(i,!0))+`</code></pre>
51
+ `}blockquote({tokens:e}){return`<blockquote>
52
+ ${this.parser.parse(e)}</blockquote>
53
+ `}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
54
+ `}hr(e){return`<hr>
55
+ `}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
56
+ `+r+`</`+i+`>
57
+ `}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
58
+ `}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
59
+ `}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
60
+ <thead>
61
+ `+t+`</thead>
62
+ `+r+`</table>
63
+ `}tablerow({text:e}){return`<tr>
64
+ ${e}</tr>
65
+ `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
66
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Ko(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=qo(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+Ko(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=qo(e);if(i===null)return Ko(n);e=i;let a=`<img src="${e}" alt="${Ko(n)}"`;return t&&(a+=` title="${Ko(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:Ko(e.text)}},is=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},as=class e{options;renderer;textRenderer;constructor(e){this.options=e||Ea,this.options.renderer=this.options.renderer||new rs,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new is}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},os=class{options;block;constructor(e){this.options=e||Ea}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?ns.lex:ns.lexInline}provideParser(e=this.block){return e?as.parse:as.parseInline}},ss=new class{defaults=Ta();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=as;Renderer=rs;TextRenderer=is;Lexer=ns;Tokenizer=ts;Hooks=os;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new rs(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new ts(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new os;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=os.passThroughHooks.has(n)?e=>{if(this.defaults.async&&os.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ns.lex(e,t??this.defaults)}parser(e,t){return as.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?ns.lex:ns.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?as.parse:as.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?ns.lex:ns.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?as.parse:as.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
67
+ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Ko(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function $(e,t){return ss.parse(e,t)}$.options=$.setOptions=function(e){return ss.setOptions(e),$.defaults=ss.defaults,Da($.defaults),$},$.getDefaults=Ta,$.defaults=Ea;function cs(...e){return ss.use(...e),$.defaults=ss.defaults,Da($.defaults),$}$.use=cs,$.walkTokens=function(e,t){return ss.walkTokens(e,t)},$.parseInline=ss.parseInline,$.Parser=as,$.parser=as.parse,$.Renderer=rs,$.TextRenderer=is,$.Lexer=ns,$.lexer=ns.lex,$.Tokenizer=ts,$.Hooks=os,$.parse=$,$.options,$.setOptions,$.walkTokens,$.parseInline,as.parse,ns.lex,$.setOptions({gfm:!0,breaks:!1});function ls(e){return $.parse(e.replace(/</g,`&lt;`),{async:!1}).replace(/href=["']\s*(?:javascript|data|vbscript):/gi,`href="#blocked:`)}var us=(e,t=d)=>{var n=Or();J(I(n),17,t,Rr,(e,t)=>{var n=Or(),r=I(n),i=e=>{var n=ds();qr(n,()=>ls(H(t).text),!0),k(n),G(e,n)},a=e=>{var n=fs();z(()=>X(n,`src`,`data:${H(t).mimeType};base64,${H(t).data}`)),G(e,n)};q(r,e=>{H(t).kind===`text`?e(i):H(t).kind===`image`&&e(a,1)}),G(e,n)}),G(e,n)},ds=W(`<div class="markdown"></div>`),fs=W(`<img class="attachment-image" alt="attachment" loading="lazy"/>`),ps=W(`<p class="error" role="alert" data-role="protocol"> </p>`),ms=W(`<p class="error" role="alert"> </p>`),hs=W(`<p class="notice" role="status" data-role="interrupted"> </p>`),gs=W(`<span class="usage" data-role="usage"> </span>`),_s=W(`<button type="button" class="icon fork" aria-label="Fork from this answer" title="Fork this session from this answer"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 3v12m0 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm12-18a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 6a9 9 0 0 1-9 9" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></button>`),vs=W(`<li class="msg"><span class="role"> </span> <!> <!> <!></li>`),ys=W(`<li class="msg streaming"><span class="role"> </span> <!></li>`),bs=W(`<li class="queued"> </li>`),xs=W(`<ul class="queue" aria-label="Queued messages"></ul>`),Ss=W(`<li class="extension-note"> </li>`),Cs=W(`<ul class="extension-output" aria-label="Extension output" data-role="extension-output"></ul>`),ws=W(`<button type="button" class="choice" data-role="extension-choice"> </button>`),Ts=W(`<button type="button" class="choice" data-role="extension-yes">Yes</button>`),Es=W(`<form class="answer-input"><input aria-label="Answer"/> <button type="submit" data-role="extension-submit">Answer</button></form>`),Ds=W(`<div class="extension-dialog" role="group" data-role="extension-dialog"><p class="ask"> </p> <div class="answers"><!> <!> <!> <button type="button" class="cancel" data-role="extension-cancel">Cancel</button></div></div>`),Os=W(`<option selected=""> </option>`),ks=W(`<option> </option>`),As=W(`<img class="thumb" alt=""/>`),js=W(`<li class="attachment"><!> <span class="name"> </span> <button type="button" class="remove">✕</button></li>`),Ms=W(`<ul class="attachments" aria-label="Attached files"></ul>`),Ns=W(`<p class="error" role="alert" data-role="attachment"> </p>`),Ps=W(`<span class="desc"> </span>`),Fs=W(`<li><button type="button" class="command" data-role="command"> <!></button></li>`),Is=W(`<ul class="commands" aria-label="Slash commands" data-role="commands"></ul>`),Ls=W(`<label class="followup"><input type="checkbox"/> follow up</label> <button type="button" class="stop">Stop</button>`,1),Rs=W(`<span class="offline">reconnecting…</span>`),zs=W(`<dialog class="cfg-modal" data-role="no-endpoint" aria-label="No model endpoint configured"><h3>No model endpoint configured</h3> <p class="cfg-note">flypi has no built-in default model, so a new conversation cannot start yet.</p> <div class="cfg-actions"><a href="/settings" data-role="no-endpoint-settings">Open the settings page</a> <button type="button" data-role="no-endpoint-dismiss">Not now</button></div></dialog>`),Bs=W(`<section class="chat" aria-label="Chat"><!> <!> <!> <ol class="messages"><!> <!></ol> <!> <!> <!> <div class="picker"><label class="field">Model <select class="model"><!><!></select></label> <label class="field">Thinking <select class="thinking-level"></select></label></div> <form class="composer"><!> <!> <textarea rows="3" aria-label="Prompt"></textarea> <!> <div class="controls"><button type="submit">Send</button> <!> <!> <div class="metrics" role="group" aria-label="Live model metrics"><div class="gauge" role="meter" aria-label="Context window used"><svg viewBox="0 0 20 20" aria-hidden="true"><circle class="track" cx="10" cy="10" r="7" pathLength="100"></circle><circle class="fill" cx="10" cy="10" r="7" pathLength="100"></circle></svg></div> <span class="metric" data-role="context"> </span> <span class="metric" data-role="decode">decode <b> </b></span> <span class="metric" data-role="prefill">prefill <b> </b></span></div></div></form> <!></section>`);function Vs(e,t){He(t,!0);let n=N(``),r=N(!1),i=j(()=>[...t.app.transcript.queue.steering,...t.app.transcript.queue.followUp]),a=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`];function o(e){let[n=``,...r]=e.currentTarget.value.split(`/`);t.app.setModel(n,r.join(`/`))}function s(e){return e.blocks.filter(e=>e.kind===`text`||e.kind===`image`)}function c(){let e=H(n).trim();(e||H(l).length)&&(t.app.prompt(e,t.app.transcript.running&&H(r)?`followUp`:`steer`,H(l)),P(n,``),P(l,[],!0))}let l=N(Kt([])),u=N(``),d=j(()=>t.app.debug?.model?.input.includes(`image`)??!0);async function f(e){P(u,``);for(let n of e){if(H(l).length>=8){P(u,`at most 8 attachments`);return}if(n.size>4194304){P(u,`${n.name} is over ${Math.floor(Sa/1024/1024)} MB`);continue}if(!H(d)&&Ca({mimeType:n.type})){P(u,`${n.name}: ${t.app.debug?.model?.modelId??`this model`} has no image input`);continue}H(l).push({name:n.name||`pasted`,mimeType:n.type||`application/octet-stream`,data:wa(await n.arrayBuffer())})}}function p(e){let t=[...e.clipboardData?.files??[]];t.length&&(e.preventDefault(),f(t))}function m(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),c())}let h=N(void 0),g=N(!0),_=j(()=>H(n).startsWith(`/`)?(t.app.debug?.commands??[]).filter(e=>e.name.startsWith(H(n).slice(1).split(/\s/)[0])).slice(0,8):[]),v=N(``);function y(){H(h)&&P(g,H(h).scrollHeight-H(h).scrollTop-H(h).clientHeight<40)}hn(()=>{t.app.transcript,H(h)&&H(g)&&(H(h).scrollTop=H(h).scrollHeight)});let b=N(0);hn(()=>{if(!t.app.metrics.live)return;P(b,Date.now(),!0);let e=setInterval(()=>P(b,Date.now(),!0),500);return()=>clearInterval(e)});let x=j(()=>Wi(t.app.metrics,H(b))),S=j(()=>t.app.debug?.context),ee=j(()=>H(S)?.percent??null),te=j(()=>!H(S)||H(S).tokens===null?`context unknown`:`${Fi(H(S).tokens)} / ${Fi(H(S).contextWindow)} in context · ${Math.round(H(S).percent??0)}%`);function C(e){return e===null?`—`:`${Ji(e)} tok/s`}let ne=j(()=>t.app.measuredOn?`measured on ${t.app.measuredOn} in this chat`:`measured in this chat`),w=j(()=>!!t.app.config&&t.app.config.endpoints.length===0&&!t.app.config.defaults.provider),re=N(!1);function ie(e){return e.showModal(),{destroy:()=>e.close()}}var ae=Bs(),oe=F(ae),se=e=>{var n=ps(),r=L(n,!0);z(()=>K(r,t.app.protocolMismatch)),G(e,n)};q(oe,e=>{t.app.protocolMismatch&&e(se)});var ce=R(oe,2),le=e=>{var n=ms(),r=L(n,!0);z(()=>K(r,t.app.lastError)),G(e,n)};q(ce,e=>{t.app.lastError&&e(le)});var ue=R(ce,2),de=e=>{var n=hs(),r=L(n);z(()=>K(r,`The turn in this chat was interrupted when flypi stopped (${t.app.interruptedAt??``}). It is not re-run: its
68
+ tools may already have written to the world.`)),G(e,n)};q(ue,e=>{t.app.interruptedAt&&e(de)});var fe=R(ue,2),pe=F(fe);J(pe,17,()=>t.app.transcript.messages,Rr,(e,n)=>{var r=Or(),i=I(r),a=e=>{var r=vs(),i=F(r),a=L(i,!0),o=R(i,2),c=e=>{var t=gs(),r=L(t,!0);z(e=>K(r,e),[()=>Ii(H(n).usage)]),G(e,t)};q(o,e=>{H(n).usage&&e(c)});var l=R(o,2);{let e=j(()=>s(H(n)));us(l,()=>H(e))}var u=R(l,2),d=e=>{var r=_s();U(`click`,r,()=>t.app.fork(H(n).seq)),G(e,r)};q(u,e=>{H(n).role===`assistant`&&H(n).seq&&e(d)}),k(r),z(()=>{X(r,`data-role`,H(n).role),K(a,H(n).role)}),G(e,r)},o=j(()=>s(H(n)).length);q(i,e=>{H(o)&&e(a)}),G(e,r)});var T=R(pe,2),me=e=>{var n=ys(),r=F(n),i=L(r,!0),a=R(r,2);{let e=j(()=>s(t.app.transcript.streaming));us(a,()=>H(e))}k(n),z(()=>{X(n,`data-role`,t.app.transcript.streaming.role),K(i,t.app.transcript.streaming.role)}),G(e,n)},he=j(()=>t.app.transcript.streaming&&s(t.app.transcript.streaming).length);q(T,e=>{H(he)&&e(me)}),k(fe),Si(fe,e=>P(h,e),()=>H(h));var ge=R(fe,2),_e=e=>{var t=xs();J(t,21,()=>H(i),Rr,(e,t)=>{var n=bs(),r=L(n,!0);z(()=>K(r,H(t))),G(e,n)}),k(t),G(e,t)};q(ge,e=>{H(i).length&&e(_e)});var ve=R(ge,2),ye=e=>{var n=Cs();J(n,21,()=>t.app.extensionNotes,Rr,(e,t)=>{var n=Ss(),r=L(n,!0);z(()=>{X(n,`data-level`,H(t).level),K(r,H(t).message)}),G(e,n)}),k(n),G(e,n)};q(ve,e=>{t.app.extensionNotes.length&&e(ye)});var be=R(ve,2),E=e=>{let n=j(()=>t.app.extensionDialog);var r=Ds(),i=F(r),a=L(i,!0),o=R(i,2),s=F(o);J(s,17,()=>H(n).options??[],Rr,(e,r)=>{var i=ws(),a=L(i,!0);z(()=>K(a,H(r))),U(`click`,i,()=>t.app.answerExtension(H(n).dialogId,H(r))),G(e,i)});var c=R(s,2),l=e=>{var r=Ts();U(`click`,r,()=>t.app.answerExtension(H(n).dialogId,`yes`)),G(e,r)};q(c,e=>{H(n).kind===`confirm`&&e(l)});var u=R(c,2),d=e=>{var r=Es(),i=F(r);Y(i),Ce(2),k(r),z(()=>X(i,`placeholder`,H(n).message)),gr(`submit`,r,e=>{e.preventDefault(),t.app.answerExtension(H(n).dialogId,H(v)),P(v,``)}),Z(i,()=>H(v),e=>P(v,e)),G(e,r)};q(u,e=>{H(n).kind===`input`&&e(d)});var f=R(u,2);k(o),k(r),z(e=>{X(r,`aria-label`,H(n).title||`Extension question`),K(a,e)},[()=>[H(n).title,H(n).message].filter(Boolean).join(` — `)]),U(`click`,f,()=>t.app.answerExtension(H(n).dialogId,null)),G(e,r)};q(be,e=>{t.app.extensionDialog&&e(E)});var xe=R(be,2),D=F(xe),O=R(F(D)),Se=F(O),we=e=>{var n=Os(),r=L(n),i={};z(()=>{K(r,`${t.app.debug.model.modelId??``} (current)`),i!==(i=`${t.app.debug.model.provider}/${t.app.debug.model.modelId}`)&&(n.value=n.__value=i)}),G(e,n)};q(Se,e=>{t.app.debug?.model&&e(we)}),J(R(Se),17,()=>t.app.debug?.models??[],Rr,(e,t)=>{var n=ks(),r=L(n),i={};z(()=>{K(r,`${H(t).provider??``}/${H(t).modelId??``}`),i!==(i=`${H(t).provider}/${H(t).modelId}`)&&(n.value=n.__value=i)}),G(e,n)}),k(O),k(D);var Te=R(D,2),Ee=R(F(Te));J(Ee,21,()=>a,Rr,(e,n)=>{var r=ks(),i=L(r,!0),a={};z(()=>{ri(r,t.app.debug?.thinkingLevel===H(n)),K(i,H(n)),a!==(a=H(n))&&(r.value=(r.__value=a)??``)}),G(e,r)}),k(Ee),k(Te),k(xe);var De=R(xe,2),Oe=F(De),ke=e=>{var t=Ms();J(t,21,()=>H(l),Rr,(e,t,n)=>{var r=js(),i=F(r),a=e=>{var n=As();z(()=>X(n,`src`,`data:${H(t).mimeType};base64,${H(t).data}`)),G(e,n)},o=j(()=>Ca(H(t)));q(i,e=>{H(o)&&e(a)});var s=R(i,2),c=L(s,!0),u=R(s,2);k(r),z(()=>{K(c,H(t).name),X(u,`aria-label`,`Remove ${H(t).name}`)}),U(`click`,u,()=>H(l).splice(n,1)),G(e,r)}),k(t),G(e,t)};q(Oe,e=>{H(l).length&&e(ke)});var Ae=R(Oe,2),je=e=>{var t=Ns(),n=L(t,!0);z(()=>K(n,H(u))),G(e,t)};q(Ae,e=>{H(u)&&e(je)});var Me=R(Ae,2);$e(Me);var Ne=R(Me,2),Pe=e=>{var t=Is();J(t,21,()=>H(_),Rr,(e,t)=>{var r=Fs(),i=F(r),a=F(i),o=R(a),s=e=>{var n=Ps(),r=L(n,!0);z(()=>K(r,H(t).description)),G(e,n)};q(o,e=>{H(t).description&&e(s)}),k(i),k(r),z(()=>{X(i,`title`,H(t).source),K(a,`/${H(t).name??``} `)}),U(`click`,i,()=>P(n,`/${H(t).name} `)),G(e,r)}),k(t),G(e,t)};q(Ne,e=>{H(_).length&&e(Pe)});var Fe=R(Ne,2),Ie=R(F(Fe),2),Le=e=>{var n=Ls(),i=I(n),a=F(i);Y(a),Ce(),k(i);var o=R(i,2);vi(a,()=>H(r),e=>P(r,e)),U(`click`,o,()=>t.app.abort()),G(e,n)};q(Ie,e=>{t.app.transcript.running&&e(Le)});var Re=R(Ie,2),ze=e=>{G(e,Rs())};q(Re,e=>{t.app.connected||e(ze)});var Be=R(Re,2),Ve=F(Be);X(Ve,`aria-valuemin`,0),X(Ve,`aria-valuemax`,100);var We=F(Ve),Ge=R(F(We));k(We),k(Ve);var Ke=R(Ve,2),qe=L(Ke,!0),Je=R(Ke,2),Ye=L(R(F(Je)),!0);k(Je);var Xe=R(Je,2),A=L(R(F(Xe)),!0);k(Xe),k(Be),k(Fe),k(De);var Ze=R(De,2),Qe=e=>{var n=zs(),r=R(F(n),4),i=F(r),a=R(i,2);k(r),k(n),Jr(n,e=>ie?.(e)),gr(`close`,n,()=>P(re,!0)),U(`click`,i,e=>{e.preventDefault(),t.app.openSettings()}),U(`click`,a,()=>P(re,!0)),G(e,n)};q(Ze,e=>{H(w)&&!H(re)&&e(Qe)}),k(ae),z((e,n,r,i)=>{X(Me,`placeholder`,t.app.transcript.running?`steer the running turn…`:`what should flypi do?`),X(Ve,`aria-valuenow`,e),X(Ve,`aria-valuetext`,H(te)),X(Ve,`title`,H(te)),ni(Ge,`stroke-dasharray: ${n??``} 100`),K(qe,H(te)),X(Je,`title`,H(ne)),K(Ye,r),X(Xe,`title`,H(ne)),K(A,i)},[()=>Math.round(H(ee)??0),()=>Math.max(0,Math.min(100,H(ee)??0)),()=>C(H(x).decode),()=>C(H(x).prefill)]),gr(`scroll`,fe,y),U(`change`,O,o),U(`change`,Ee,e=>t.app.setThinkingLevel(e.currentTarget.value)),gr(`submit`,De,e=>{e.preventDefault(),c()}),U(`keydown`,Me,m),gr(`paste`,Me,p),Z(Me,()=>H(n),e=>P(n,e)),G(e,ae),Ue()}_r([`click`,`change`,`keydown`]);var Hs=W(`<p class="activity-empty">nothing yet — thinking and tool output land here</p>`),Us=W(`<details class="thinking" open=""><summary>thinking</summary><pre> </pre></details>`),Ws=W(`<code class="tool-args" data-role="args"> </code>`),Gs=W(`<pre class="tool-output" data-role="output"> </pre>`),Ks=W(`<article class="tool-card"><header><span class="tool-name"> </span> <!> <span class="tool-state"> </span></header> <!></article>`),qs=W(`<pre class="orphan-result"> </pre>`),Js=W(`<li><!></li>`),Ys=W(`<li> </li>`),Xs=W(`<h2>System prompt</h2> <pre class="system-prompt"> </pre> <h2>Active tools</h2> <ul class="active-tools"></ul> <h2>Injected memory</h2> <pre class="memory-block"> </pre>`,1),Zs=W(`<p class="debug-empty">no debug info yet</p>`),Qs=W(`<p class="scheduler-empty" data-role="scheduler-error"> </p>`),$s=W(`<p class="scheduler-empty">no scheduler info yet</p>`),ec=W(`<li class="muted">nothing queued</li>`),tc=W(`<li> <!></li>`),nc=W(`<li class="muted">no job has run yet</li>`),rc=W(`<ul class="scheduler-jobs" data-role="scheduler-jobs"></ul> <ul class="scheduler-runs" data-role="scheduler-runs"></ul>`,1),ic=W(`<h2>Prompt cache</h2> <pre class="cache-usage" data-role="cache"> </pre> <h2>Scheduler</h2> <!>`,1),ac=W(`<aside class="activity-panel" aria-label="Thinking and tool activity"><h2>Activity <span class="count" data-role="count"> </span></h2> <!> <ol class="activity"></ol> <footer><button type="button" class="debug-toggle"> </button> <!> <!></footer></aside>`);function oc(e,t){He(t,!0);let n=j(()=>{let e=[],n=t.app.transcript.streaming?[...t.app.transcript.messages,t.app.transcript.streaming]:t.app.transcript.messages;for(let r of n)for(let n of r.blocks)if(n.kind===`thinking`)e.push({kind:`thinking`,text:n.text});else if(n.kind===`tool-call`){let r=t.app.transcript.tools[n.id];r&&e.push({kind:`tool`,card:r})}else n.kind===`tool-result`&&e.push({kind:`orphan`,text:n.output,isError:n.isError});return e}),r=N(!1),i=N(void 0),a=N(!0);function o(){H(i)&&P(a,H(i).scrollHeight-H(i).scrollTop-H(i).clientHeight<40)}hn(()=>{H(n),H(i)&&H(a)&&(H(i).scrollTop=H(i).scrollHeight)});function s(){P(r,!H(r)),H(r)&&(t.app.showDebug(),t.app.loadScheduler())}function c(e){return e.startedAt===void 0||e.endedAt===void 0?``:` · ${((e.endedAt-e.startedAt)/1e3).toFixed(1)}s`}var l=ac(),u=F(l),d=L(R(F(u)),!0);k(u);var f=R(u,2),p=e=>{G(e,Hs())};q(f,e=>{H(n).length||e(p)});var m=R(f,2);J(m,21,()=>H(n),Rr,(e,t)=>{var n=Js(),r=F(n),i=e=>{var n=Us(),r=L(R(F(n)),!0);k(n),z(()=>K(r,H(t).text)),G(e,n)},a=e=>{var n=Ks(),r=F(n),i=F(r),a=L(i,!0),o=R(i,2),s=e=>{var n=Ws(),r=L(n,!0);z(e=>K(r,e),[()=>JSON.stringify(H(t).card.args)]),G(e,n)};q(o,e=>{H(t).card.args&&e(s)});var l=L(R(o,2));k(r);var u=R(r,2),d=e=>{var n=Gs(),r=L(n,!0);z(()=>K(r,H(t).card.output)),G(e,n)};q(u,e=>{H(t).card.output&&e(d)}),k(n),z(e=>{X(n,`data-tool`,H(t).card.name),X(n,`data-state`,H(t).card.state),K(a,H(t).card.name),K(l,`${H(t).card.state??``}${e??``}`)},[()=>c(H(t).card)]),G(e,n)},o=e=>{var n=qs(),r=L(n,!0);z(e=>{X(n,`data-error`,e),K(r,H(t).text)},[()=>String(H(t).isError)]),G(e,n)};q(r,e=>{H(t).kind===`thinking`?e(i):H(t).kind===`tool`?e(a,1):e(o,-1)}),k(n),G(e,n)}),k(m),Si(m,e=>P(i,e),()=>H(i));var h=R(m,2),g=F(h),_=L(g,!0),v=R(g,2),y=e=>{var n=Xs(),r=R(I(n),2),i=L(r,!0),a=R(r,4);J(a,21,()=>t.app.debug.activeTools,Rr,(e,t)=>{var n=Ys(),r=L(n,!0);z(()=>K(r,H(t))),G(e,n)}),k(a);var o=L(R(a,4),!0);z(()=>{K(i,t.app.debug.systemPrompt),K(o,t.app.debug.memoryBlock??`no memory block injected`)}),G(e,n)},b=e=>{G(e,Zs())};q(v,e=>{H(r)&&t.app.debug?e(y):H(r)&&e(b,1)});var x=R(v,2),S=e=>{var n=ic(),r=R(I(n),2),i=L(r),a=R(r,4),o=e=>{var n=Qs(),r=L(n,!0);z(()=>K(r,t.app.schedulerError)),G(e,n)},s=e=>{G(e,$s())},c=e=>{var n=rc(),r=I(n);J(r,21,()=>t.app.scheduler.jobs,Rr,(e,t)=>{var n=Ys(),r=L(n);z(()=>{X(n,`data-kind`,H(t).kind),K(r,`${H(t).kind??``} — ${H(t).running?`running`:`due ${H(t).nextRunAt}`}`)}),G(e,n)},e=>{G(e,ec())}),k(r);var i=R(r,2);J(i,21,()=>t.app.scheduler.jobRuns,Rr,(e,t)=>{var n=tc(),r=F(n),i=R(r),a=e=>{var n=Dr();z(()=>K(n,`— ${H(t).detail??``}`)),G(e,n)};q(i,e=>{H(t).detail&&e(a)}),k(n),z(()=>{X(n,`data-kind`,H(t).kind),X(n,`data-status`,H(t).status),K(r,`${H(t).kind??``} ${H(t).status??``}`)}),G(e,n)},e=>{G(e,nc())}),k(i),G(e,n)};q(a,e=>{t.app.schedulerError?e(o):t.app.scheduler?e(c,-1):e(s,1)}),z((e,n)=>K(i,`${t.app.transcript.running?`this turn`:`last turn`}: ${e??``}
69
+ this conversation: ${n??``}`),[()=>Ri(t.app.transcript.turn),()=>Ri(t.app.transcript.total)]),G(e,n)};q(x,e=>{H(r)&&e(S)}),k(h),k(l),z(()=>{K(d,H(n).length),K(_,H(r)?`Hide debug`:`Debug`)}),gr(`scroll`,m,o),U(`click`,g,s),G(e,l),Ue()}_r([`click`]);var sc=e=>{G(e,uc())},cc=e=>{G(e,dc())},lc=e=>{G(e,fc())},uc=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 20h4L20 8l-4-4L4 16v4Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path><path d="M14.2 5.8 18.2 9.8" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg>`),dc=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M9 7V4.5h6V7M6.5 7l.8 12.5h9.4L17.5 7M10.2 10.5v6m3.6-6v6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>`),fc=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 4.4l2.3 4.8 5.2.6-3.9 3.6 1 5.1-4.6-2.6-4.6 2.6 1-5.1L4.5 9.8l5.2-.6Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path></svg>`),pc=W(`<li class="error"> </li>`),mc=W(`<ul class="cfg-errors" role="alert" data-role="config-error"></ul>`),hc=W(`<ul class="cfg-errors" role="alert" data-role="save-error"><li class="error"> </li></ul>`),gc=W(`<option> </option>`),_c=W(`<label class="cfg-default">default <select data-role="default-model"></select></label>`),vc=W(`<button type="button" class="icon" data-role="endpoint-default"><!></button>`),yc=W(`<li data-role="endpoint"><button type="button" class="cfg-name"> </button> <code> </code> <!> <button type="button" class="icon" data-role="endpoint-edit" title="Edit this endpoint"><!></button> <button type="button" class="icon remove" data-role="endpoint-remove" title="Delete this endpoint"><!></button></li>`),bc=W(`<li class="cfg-none">none configured</li>`),xc=W(`<code> </code> <!>`,1),Sc=W(`<b>nothing set</b> — pick one below.`,1),Cc=W(`<span class="cfg-off">disabled</span>`),wc=W(`<code class="cfg-state-error" data-role="mcp-error"> </code>`),Tc=W(`<span data-role="mcp-state"> </span> <!>`,1),Ec=W(`<button type="button" data-role="mcp-signin"> </button>`),Dc=W(`<div class="cfg-signin" data-role="mcp-signin-box"><p class="cfg-note">If the browser cannot reach this machine, paste the redirect URL.</p> <p><a target="_blank" rel="noreferrer" data-role="mcp-auth-url"> </a></p> <form class="cfg-signin-form"><label class="field">Redirect URL <input name="redirect" placeholder="http://127.0.0.1:port/callback?code=…"/></label> <button type="submit" data-role="mcp-redirect">Finish sign-in</button> <button type="button" data-role="mcp-signin-cancel">Cancel</button></form></div>`),Oc=W(`<li data-role="mcp"><button type="button" class="cfg-name"> </button> <code> </code> <!> <!> <button type="button" class="icon" data-role="mcp-edit" title="Edit this server"><!></button> <button type="button" class="icon remove" data-role="mcp-remove" title="Delete this server"><!></button> <!></li>`),kc=W(`<pre class="cfg-log" data-role="mcp-log"> </pre>`),Ac=W(`<p class="cfg-note" data-role="mcp-log">nothing logged in <code>.flypi/agent/mcp.log</code></p>`),jc=W(`<button type="button" data-role="pi-check">Check for updates</button>`),Mc=W(`<span class="cfg-state" data-role="pi-confirm"> </span> <button type="button" data-role="pi-use-confirm"> </button> <button type="button" class="icon remove" data-role="pi-use-cancel" title="Do not switch"><!></button>`,1),Nc=W(`<button type="button" data-role="pi-use">Use this version</button>`),Pc=W(`<li data-role="pi-next"><code> </code> <span class="cfg-state">published</span> <!></li>`),Fc=W(`<li data-role="pi-tree"><code> </code> <span class="cfg-state">on disk</span> <button type="button" data-role="pi-rollback"> </button></li>`),Ic=W(`<ul class="cfg-list cfg-plain" data-role="pi-versions"><!> <!></ul>`),Lc=W(`<p class="cfg-note" data-role="pi-running"> </p> <!>`,1),Rc=W(`<p class="cfg-note" data-role="pi-none">which pi this process runs is shown in the sidebar; moving it is a CLI thing in a checkout.</p>`),zc=W(`<ul class="cfg-errors" role="alert" data-role="package-errors"></ul>`),Bc=W(`<span class="cfg-state" data-role="package-version"> </span>`),Vc=W(`<span class="cfg-state" data-role="package-update">update available</span> <button type="button" data-role="package-update-now">Update</button>`,1),Hc=W(`<span class="cfg-state" data-role="package-available"> </span> <label class="field">Version <select data-role="package-version-pick"></select></label> <button type="button" data-role="package-pin"> </button>`,1),Uc=W(`<span class="cfg-state" data-role="package-pinned">pinned</span>`),Wc=W(`<li data-role="package"><code> </code> <!> <span data-role="package-state"> </span> <!> <!> <!> <button type="button" class="icon remove" data-role="package-remove" title="Remove this package"><!></button></li>`),Gc=W(`<li class="cfg-none">none installed</li>`),Kc=W(`<label class="field"> <textarea class="cfg-raw" rows="14" spellcheck="false"></textarea></label> <button type="button"> </button>`,1),qc=W(`<form class="cfg-form" data-role="endpoint-form"><label class="field">Name <input name="name" placeholder="chatgml" required=""/></label> <label class="field">Base URL<input name="baseUrl" placeholder="https://chatgml.dev/v1" required=""/></label> <label class="field">API<input name="api" list="flypi-api-kinds" required=""/></label> <label class="field">Key<input name="apiKey"/></label> <label class="field">Add model ids<input name="models" placeholder="comma-separated; the models already there are kept"/></label> <p class="cfg-note"> </p> <div class="cfg-actions"><button type="submit">Save endpoint</button></div></form>`),Jc=W(`<p class="error" role="alert" data-role="form-error"> </p>`),Yc=W(`<form class="cfg-form" data-role="mcp-form"><div class="cfg-section"><span></span> <button type="button" class="linklike" data-role="memory-mcp">use flypi's memory MCP</button></div> <label class="field">Name<input name="name" placeholder="flypi-memory" required=""/></label> <label class="field">URL<input name="url" placeholder="http://127.0.0.1:8790/mcp"/></label> <label class="field">Command<input name="command" placeholder="npx (for a stdio server)"/></label> <label class="field">Arguments<input name="args" placeholder="-y @modelcontextprotocol/server-filesystem ."/></label> <label class="field">Authorization header<input name="authorization"/></label> <label class="field">Description<input name="description" placeholder="what this server offers"/></label> <div class="cfg-inline"><label class="field">Exposure<select name="exposure"></select></label> <label class="field cfg-enabled"><input type="checkbox" name="enabled"/> enabled</label></div> <details class="cfg-extra" data-role="mcp-extra"><summary>Environment, working directory, tool exceptions, OAuth</summary> <p class="cfg-note">One <code>name=value</code> per line; <code>NAME=</code> removes a key.</p> <label class="field">Working directory<input name="cwd" placeholder="relative to the session's working directory (stdio)"/></label> <label class="field">Environment<textarea name="env" rows="3" data-role="mcp-env"></textarea></label> <label class="field">Tool exceptions<textarea name="toolExposure" rows="3" data-role="mcp-tool-exposure" placeholder="memory_cite=hidden, or read_*=direct for a pattern"></textarea></label> <label class="field">OAuth client id<input name="oauthClientId" placeholder="for a server that does not register clients itself"/></label> <label class="field">OAuth client secret<input name="oauthClientSecret"/></label> <label class="field">OAuth redirect URI<input name="oauthCallbackUrl" placeholder="http://localhost:8080/oauth/callback"/></label> <label class="field">OAuth scopes<input name="oauthScope" placeholder="space-separated, as the server advertises them"/></label></details> <!> <div class="cfg-actions"><button type="submit">Save server</button></div></form>`),Xc=W(`<dialog class="cfg-modal" data-role="config-modal"><div class="cfg-section"><h3> </h3> <button type="button" class="linklike">Cancel</button></div> <!></dialog>`),Zc=W(`<option></option>`),Qc=W(`<section class="settings-view" aria-label="Settings" data-role="settings-view"><header class="panel-head"><h2>Settings</h2> <button type="button" data-role="back-to-chat">Back to chat</button></header> <!> <!> <div class="cfg-stack"><section><div class="cfg-section"><h3>Model endpoints</h3> <button type="button" data-role="endpoint-add">Add endpoint</button></div> <p class="cfg-note"><code>.flypi/agent/models.json</code> <code>!command</code>; a model's <code>input</code>, <code>contextWindow</code> and cost are edits to the file.</p> <ul class="cfg-list" data-role="endpoints"></ul> <p class="cfg-note" data-role="default-line">default for new conversations: <!></p></section> <section><div class="cfg-section"><h3>MCP servers</h3> <button type="button" data-role="mcp-check"> </button> <button type="button" data-role="mcp-add">Add server</button></div> <p class="cfg-note"><code>.flypi/agent/mcp.json</code> — a URL or a command, not both. An open conversation keeps its
70
+ connections.</p> <ul class="cfg-list" data-role="mcp-servers"></ul> <!></section> <section><div class="cfg-section"><h3>pi</h3> <!></div> <!> <p class="cfg-note" data-role="pi-checked"> </p></section> <section><div class="cfg-section"><h3>Extensions</h3></div> <p class="cfg-note"><code>packages</code> in <code>.flypi/agent/settings.json</code> — <code>npm:…</code>, a git URL or a
71
+ path. An extension runs as flypi runs, with your files and your keys.</p> <form class="cfg-install"><label class="field">Source <input name="source" placeholder="npm:pi-web-access" data-role="package-source"/></label> <button type="submit" data-role="package-install"> </button></form> <!> <ul class="cfg-list" data-role="packages"></ul></section> <section data-role="raw-files"><div class="cfg-section"><h3>The files as text</h3></div> <p class="cfg-note">Saving replaces the file. It must parse as JSON.</p> <!></section></div> <!> <datalist id="flypi-api-kinds"></datalist></section>`);function $c(e,t){He(t,!0),Ci(()=>{t.app.showConfig(),t.app.checkMcp(),t.app.showPackages(),t.app.showPiVersions()});let n=j(()=>t.app.config?.endpoints??[]),r=j(()=>t.app.config?.mcpServers??[]),i=j(()=>t.app.packages?.packages??[]),a=j(()=>t.app.piVersions?.checkedAt??t.app.packages?.checkedAt),o=j(()=>!!t.app.piVersions&&(t.app.piVersions.next!==void 0&&t.app.piVersions.next!==t.app.piVersions.running||t.app.piVersions.trees.some(e=>e!==t.app.piVersions.running))),s=N(``),c=N(void 0),l=Kt({}),u=(e,t)=>`npm:${e.name}@${t}`,d=e=>l[e.source]??e.versions?.at(-1)??``,f=e=>t.app.mcpStatus?.servers.find(t=>t.name===e),p={connected:`connected`,disabled:`off — disabled in the file`,failed:`not reachable`,"needs-auth":`needs authorisation`},m=e=>e.enabled&&!!e.url&&!e.authorization,h=Kt({}),g=[`openai-completions`,`openai-responses`,`azure-openai-responses`,`anthropic-messages`,`google-generative-ai`,`mistral-conversations`],_=[`direct`,`deferred`,`codemode`,`hidden`],v=N(null),y=N(``),b=()=>(P(y,``),{kind:`endpoint`,name:null,values:{name:``,baseUrl:``,api:`openai-completions`,apiKey:``,models:``}}),x=()=>(P(y,``),{kind:`mcp`,name:null,values:{name:``,url:``,command:``,args:``,authorization:``,env:``,cwd:``,description:``,exposure:`codemode`,toolExposure:``,oauthClientId:``,oauthClientSecret:``,oauthCallbackUrl:``,oauthScope:``,enabled:!0}});function S(e){P(y,``),P(v,{kind:`endpoint`,name:e.name,values:{name:e.name,baseUrl:e.baseUrl,api:e.api,apiKey:e.apiKey,models:``}},!0)}function ee(e){P(y,``),P(v,{kind:`mcp`,name:e.name,values:{name:e.name,url:e.url,command:e.command,args:e.args.join(` `),authorization:e.authorization,env:ne(e.env),cwd:e.cwd,description:e.description,exposure:e.exposure,toolExposure:ne(e.toolExposure),oauthClientId:e.oauth.clientId,oauthClientSecret:e.oauth.clientSecret,oauthCallbackUrl:e.oauth.callbackUrl,oauthScope:e.oauth.scope,enabled:e.enabled}},!0)}function te(){H(v)?.kind===`mcp`&&(H(v).values={...H(v).values,name:`flypi-memory`,url:`http://127.0.0.1:8790/mcp`,authorization:"Bearer ${FLYPI_MEMORY_TOKEN}",description:`flypi memory store: memory_search, memory_write, memory_read, memory_supersede, memory_forget, memory_media, memory_index_status`,exposure:`direct`,toolExposure:ne({memory_cite:`hidden`,memory_capture:`hidden`,memory_turn:`hidden`})})}let C=e=>e.split(/[\s,]+/).filter(Boolean),ne=e=>Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
72
+ `),w=e=>{let t=Object.keys(e.toolExposure).length;return t?` · ${t} tool exception${t===1?``:`s`}`:``};function re(e,t){let n={};for(let r of e.split(`
73
+ `)){if(!r.trim())continue;let e=r.indexOf(`=`),i=r.slice(0,e).trim(),a=r.slice(e+1).trim();if(e<0||!i)throw Error(`“${r.trim()}” is not a name=value line`);if(t&&a&&!_.includes(a))throw Error(`“${a}” is not an exposure: ${_.join(`, `)}`);n[i]=a}return n}function ie(e){if(e.preventDefault(),!H(v))return;let n=H(v).name??H(v).values.name;if(H(v).kind===`endpoint`){let{baseUrl:e,api:r,apiKey:i,models:a}=H(v).values,o={name:n,baseUrl:e,api:r,apiKey:i,models:C(a)};t.app.saveConfig({endpoints:[o]})}else{let e=H(v).values,r;try{r={name:n,url:e.url,command:e.command,args:C(e.args),authorization:e.authorization,env:re(e.env,!1),cwd:e.cwd,description:e.description,exposure:e.exposure,toolExposure:re(e.toolExposure,!0),oauth:{clientId:e.oauthClientId,clientSecret:e.oauthClientSecret,callbackUrl:e.oauthCallbackUrl,scope:e.oauthScope},enabled:e.enabled}}catch(e){P(y,e.message,!0);return}t.app.saveConfig({mcpServers:[r]})}P(y,``),P(v,null)}function ae(e,n){t.app.saveConfig(e===`endpoints`?{endpoints:[{name:n,remove:!0}]}:{mcpServers:[{name:n,remove:!0}]})}let oe=j(()=>t.app.config?.defaults??{provider:``,model:``});function se(e,n){e&&n&&t.app.saveConfig({defaults:{provider:e,model:n}})}let ce=Kt({}),le=Kt({}),ue=j(()=>t.app.config?.files??[]);hn(()=>{for(let e of H(ue)){let t=ce[e.name];(t===void 0||t===le[e.name]||t===e.text)&&(ce[e.name]=e.text,le[e.name]=e.text)}});function de(e){t.app.saveConfig({files:[{name:e,text:ce[e]??``,base:le[e]}]})}function fe(e){return e.showModal(),{destroy:()=>e.close()}}var pe=Qc(),T=F(pe),me=R(F(T),2);k(T);var he=R(T,2),ge=e=>{var n=mc();J(n,21,()=>t.app.config.errors,Rr,(e,t)=>{var n=pc(),r=L(n,!0);z(()=>K(r,H(t))),G(e,n)}),k(n),G(e,n)};q(he,e=>{t.app.config?.errors.length&&e(ge)});var _e=R(he,2),ve=e=>{var n=hc(),r=L(F(n),!0);k(n),z(()=>K(r,t.app.configError)),G(e,n)};q(_e,e=>{t.app.configError&&e(ve)});var ye=R(_e,2),be=F(ye),E=F(be),xe=R(F(E),2);k(E);var D=R(E,2),O=R(F(D));O.nodeValue=" — a key may be ${NAME} or ",Ce(6),k(D);var Se=R(D,2);J(Se,21,()=>H(n),e=>e.name,(e,t)=>{var n=yc(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2),c=e=>{var n=_c(),r=R(F(n));J(r,21,()=>[H(oe).model,...H(t).models.filter(e=>e!==H(oe).model)],Rr,(e,t)=>{var n=gc(),r=L(n,!0),i={};z(()=>{K(r,H(t)),i!==(i=H(t))&&(n.value=(n.__value=i)??``)}),G(e,n)}),k(r),k(n),z(()=>X(r,`aria-label`,`Default model for ${H(t).name??``}`)),U(`change`,r,e=>se(H(t).name,e.currentTarget.value)),G(e,n)},l=e=>{var n=vc();lc(F(n)),k(n),z(()=>{X(n,`aria-label`,`Set ${H(t).name??``} as default`),X(n,`title`,H(t).models.length?`Start new conversations on this endpoint`:`This endpoint defines no model id to start on`),n.disabled=!H(t).models.length}),U(`click`,n,()=>se(H(t).name,H(t).models[0])),G(e,n)};q(s,e=>{H(t).name===H(oe).provider?e(c):e(l,-1)});var u=R(s,2);sc(F(u)),k(u);var d=R(u,2);cc(F(d)),k(d),k(n),z(e=>{K(i,H(t).name),K(o,e),X(u,`aria-label`,`Edit ${H(t).name??``}`),X(d,`aria-label`,`Delete ${H(t).name??``}`)},[()=>`${H(t).baseUrl||`no base URL`} · ${H(t).models.length?H(t).models.join(`, `):`no models`}`]),U(`click`,r,()=>S(H(t))),U(`click`,u,()=>S(H(t))),U(`click`,d,()=>ae(`endpoints`,H(t).name)),G(e,n)},e=>{G(e,bc())}),k(Se);var we=R(Se,2),Te=R(F(we)),Ee=e=>{var t=xc(),r=I(t),i=L(r,!0),a=R(r,2),o=e=>{G(e,Dr(`— not one of these endpoints.`))},s=j(()=>!H(n).some(e=>e.name===H(oe).provider));q(a,e=>{H(s)&&e(o)}),z(()=>K(i,`${H(oe).provider}/${H(oe).model}`)),G(e,t)},De=e=>{var t=Sc();Ce(),G(e,t)};q(Te,e=>{H(oe).provider?e(Ee):e(De,-1)}),k(we),k(be);var Oe=R(be,2),ke=F(Oe),Ae=R(F(ke),2),je=L(Ae,!0),Me=R(Ae,2);k(ke);var Ne=R(ke,4);J(Ne,21,()=>H(r),e=>e.name,(e,n)=>{var r=Oc(),i=F(r),a=L(i,!0),o=R(i,2),s=L(o,!0),c=R(o,2),l=e=>{G(e,Cc())},u=e=>{let t=j(()=>f(H(n).name));var r=Tc(),i=I(r),a=L(i),o=R(i,2),s=e=>{var n=wc(),r=L(n,!0);z(()=>K(r,H(t).error)),G(e,n)};q(o,e=>{H(t)?.error&&e(s)}),z(()=>{ei(i,1,`cfg-state ${H(t)?.state??`unchecked`??``}`),K(a,`${(H(t)?p[H(t).state]:`not checked`)??``}${H(t)?.state===`connected`?` · ${H(t).tools.length} tools`:``}`)}),G(e,r)};q(c,e=>{H(n).enabled?e(u,-1):e(l)});var d=R(c,2),g=e=>{var r=Ec(),i=L(r,!0);z(()=>{r.disabled=t.app.mcpSigningIn,K(i,t.app.mcpSignIn?.name===H(n).name?`Sign-in waiting…`:`Sign in`)}),U(`click`,r,()=>t.app.signInMcp(H(n).name)),G(e,r)},_=j(()=>m(H(n)));q(d,e=>{H(_)&&e(g)});var v=R(d,2);sc(F(v)),k(v);var y=R(v,2);cc(F(y)),k(y);var b=R(y,2),x=e=>{var r=Dc(),i=R(F(r),2),a=F(i),o=L(a,!0);k(i);var s=R(i,2),c=F(s),l=R(F(c));Y(l),k(c);var u=R(c,4);k(s),k(r),z(()=>{X(a,`href`,t.app.mcpSignIn.url),K(o,t.app.mcpSignIn.url)}),gr(`submit`,s,e=>{e.preventDefault(),t.app.submitMcpRedirect(H(n).name,h[H(n).name]??``)}),Z(l,()=>h[H(n).name],e=>h[H(n).name]=e),U(`click`,u,()=>t.app.submitMcpRedirect(H(n).name,``)),G(e,r)};q(b,e=>{t.app.mcpSignIn?.name===H(n).name&&e(x)}),k(r),z(e=>{K(a,H(n).name),K(s,e),X(v,`aria-label`,`Edit ${H(n).name??``}`),X(y,`aria-label`,`Delete ${H(n).name??``}`)},[()=>`${H(n).url||`${H(n).command} ${H(n).args.join(` `)}`} · ${H(n).exposure}${w(H(n))}`]),U(`click`,i,()=>ee(H(n))),U(`click`,v,()=>ee(H(n))),U(`click`,y,()=>ae(`mcpServers`,H(n).name)),G(e,r)},e=>{G(e,bc())}),k(Ne);var Pe=R(Ne,2),Fe=e=>{var n=Or(),r=I(n),i=e=>{var n=kc(),r=L(n,!0);z(()=>K(r,t.app.mcpStatus.log)),G(e,n)},a=e=>{G(e,Ac())};q(r,e=>{t.app.mcpStatus.log?e(i):e(a,-1)}),G(e,n)};q(Pe,e=>{t.app.mcpStatus&&e(Fe)}),k(Oe);var Ie=R(Oe,2),Le=F(Ie),Re=R(F(Le),2),ze=e=>{var n=jc();U(`click`,n,()=>t.app.checkPi()),G(e,n)};q(Re,e=>{t.app.piVersions&&e(ze)}),k(Le);var Be=R(Le,2),Ve=e=>{var n=Lc(),r=I(n),i=L(r,!0),a=R(r,2),s=e=>{var n=Ic(),r=F(n),i=e=>{var n=Pc(),r=F(n),i=L(r,!0),a=R(r,4),o=e=>{var n=Mc(),r=I(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2);cc(F(s)),k(s),z(()=>{K(i,`this restarts the daemon${t.app.sessions.length?`; ${t.app.sessions.length} conversation(s) are listed`:``}`),a.disabled=t.app.piBusy,K(o,t.app.piBusy?`Restarting…`:`Confirm — use ${t.app.piVersions.next}`)}),U(`click`,a,()=>t.app.usePi(t.app.piVersions.next)),U(`click`,s,()=>P(c,void 0)),G(e,n)},s=e=>{var n=Nc();z(()=>n.disabled=t.app.piBusy),U(`click`,n,()=>P(c,t.app.piVersions.next,!0)),G(e,n)};q(a,e=>{H(c)===t.app.piVersions.next?e(o):e(s,-1)}),k(n),z(()=>K(i,`pi ${t.app.piVersions.next}`)),G(e,n)};q(r,e=>{t.app.piVersions.next&&t.app.piVersions.next!==t.app.piVersions.running&&e(i)}),J(R(r,2),16,()=>t.app.piVersions.trees.filter(e=>e!==t.app.piVersions.running),e=>e,(e,n)=>{var r=Fc(),i=F(r),a=L(i,!0),o=R(i,4),s=L(o,!0);k(r),z(()=>{K(a,`pi ${n}`),o.disabled=t.app.piBusy,K(s,t.app.piBusy?`Restarting…`:`Switch back to ${n}`)}),U(`click`,o,()=>t.app.usePi(n)),G(e,r)}),k(n),G(e,n)};q(a,e=>{H(o)&&e(s)}),z(()=>K(i,`running pi ${t.app.piVersions.running}${t.app.piVersions.pinned?` (pinned)`:``}`)),G(e,n)},We=e=>{G(e,Rc())};q(Be,e=>{t.app.piVersions?e(Ve):e(We,-1)});var Ge=L(R(Be,2),!0);k(Ie);var Ke=R(Ie,2),qe=R(F(Ke),4),Je=F(qe),Ye=R(F(Je));Y(Ye),k(Je);var Xe=R(Je,2),A=L(Xe,!0);k(qe);var Ze=R(qe,2),Qe=e=>{var n=zc();J(n,21,()=>t.app.packages.errors,Rr,(e,t)=>{var n=pc(),r=L(n,!0);z(()=>K(r,H(t))),G(e,n)}),k(n),G(e,n)};q(Ze,e=>{t.app.packages?.errors.length&&e(Qe)});var et=R(Ze,2);J(et,21,()=>H(i),e=>e.source,(e,n)=>{var r=Wc(),i=F(r),a=L(i,!0),o=R(i,2),s=e=>{var t=Bc(),r=L(t);z(()=>K(r,`pi sees ${H(n).version??``}`)),G(e,t)};q(o,e=>{H(n).version&&e(s)});var c=R(o,2),f=L(c,!0),p=R(c,2),m=e=>{var r=Vc(),i=R(I(r),2);z(()=>{X(i,`aria-label`,`Update ${H(n).source??``}`),i.disabled=t.app.packagesBusy}),U(`click`,i,()=>t.app.savePackages({update:[H(n).source]})),G(e,r)};q(p,e=>{H(n).update&&e(m)});var h=R(p,2),g=e=>{var r=Hc(),i=I(r),a=L(i,!0),o=R(i,2),s=R(F(o));J(s,20,()=>H(n).versions.slice().reverse(),e=>e,(e,t)=>{var r=gc(),i=L(r,!0),a={};z(()=>{K(i,t===H(n).version?`${t} — installed`:t),a!==(a=t)&&(r.value=(r.__value=a)??``)}),G(e,r)}),k(s),k(o);var c=R(o,2),f=L(c,!0);z((e,r)=>{K(a,H(n).available?`newest published ${H(n).available}`:`nothing newer published`),X(s,`aria-label`,`Version of ${H(n).source}`),X(c,`aria-label`,`Install ${e??``} of ${H(n).source??``}`),c.disabled=t.app.packagesBusy,K(f,r)},[()=>d(H(n)),()=>t.app.packagesBusy?`Working…`:`Install ${d(H(n))}`]),U(`change`,s,e=>l[H(n).source]=e.currentTarget.value),U(`click`,c,()=>{let e=d(H(n));e&&t.app.savePackages({install:[u(H(n),e)]})}),G(e,r)};q(h,e=>{H(n).name&&H(n).versions?.length&&e(g)});var _=R(h,2),v=e=>{G(e,Uc())};q(_,e=>{H(n).name&&H(n).source!==`npm:${H(n).name}`&&e(v)});var y=R(_,2);cc(F(y)),k(y),k(r),z(()=>{K(a,H(n).source),ei(c,1,`cfg-state ${H(n).installed?`connected`:`failed`}`),K(f,H(n).installed?`installed`:`not installed`),X(y,`aria-label`,`Remove ${H(n).source??``}`)}),U(`click`,y,()=>t.app.savePackages({remove:[H(n).source]})),G(e,r)},e=>{G(e,Gc())}),k(et),k(Ke);var tt=R(Ke,2);J(R(F(tt),4),17,()=>H(ue),e=>e.name,(e,t)=>{var n=Kc(),r=I(n),i=F(r),a=R(i);$e(a),k(r);var o=R(r,2),s=L(o);z(()=>{K(i,`${H(t).name??``}.json${H(t).text===``?` (not created yet)`:``} `),X(a,`data-role`,`raw-${H(t).name}`),X(o,`data-role`,`raw-save-${H(t).name}`),K(s,`Save ${H(t).name??``}.json`)}),Z(a,()=>ce[H(t).name],e=>ce[H(t).name]=e),U(`click`,o,()=>de(H(t).name)),G(e,n)}),k(tt),k(ye);var nt=R(ye,2),rt=e=>{var t=Xc(),r=F(t),i=F(r),a=L(i,!0),o=R(i,2);k(r);var s=R(r,2),c=e=>{var t=qc(),r=F(t),i=R(F(r));Y(i),k(r);var a=R(r,2),o=R(F(a));Y(o),k(a);var s=R(a,2),c=R(F(s));Y(c),k(s);var l=R(s,2),u=R(F(l));Y(u),X(u,`placeholder`,"${chatgml_API_KEY}"),k(l);var d=R(l,2),f=R(F(d));Y(f),k(d);var p=L(R(d,2),!0);Ce(2),k(t),z(e=>{i.disabled=H(v).name!==null,K(p,e)},[()=>H(v).name===null?``:`Already defines: ${H(n).find(e=>e.name===H(v)?.name)?.models.join(`, `)||`nothing`}`]),gr(`submit`,t,ie),Z(i,()=>H(v).values.name,e=>H(v).values.name=e),Z(o,()=>H(v).values.baseUrl,e=>H(v).values.baseUrl=e),Z(c,()=>H(v).values.api,e=>H(v).values.api=e),Z(u,()=>H(v).values.apiKey,e=>H(v).values.apiKey=e),Z(f,()=>H(v).values.models,e=>H(v).values.models=e),G(e,t)},l=e=>{var t=Yc(),n=F(t),r=R(F(n),2);k(n);var i=R(n,2),a=R(F(i));Y(a),k(i);var o=R(i,2),s=R(F(o));Y(s),k(o);var c=R(o,2),l=R(F(c));Y(l),k(c);var u=R(c,2),d=R(F(u));Y(d),k(u);var f=R(u,2),p=R(F(f));Y(p),X(p,`placeholder`,"Bearer ${FLYPI_MEMORY_TOKEN}"),k(f);var m=R(f,2),h=R(F(m));Y(h),k(m);var g=R(m,2),b=F(g),x=R(F(b));J(x,21,()=>_,Rr,(e,t)=>{var n=gc(),r=L(n,!0),i={};z(()=>{K(r,H(t)),i!==(i=H(t))&&(n.value=(n.__value=i)??``)}),G(e,n)}),k(x),oi(x),k(b);var S=R(b,2),ee=F(S);Y(ee),Ce(),k(S),k(g);var C=R(g,2),ne=R(F(C),4),w=R(F(ne));Y(w),k(ne);var re=R(ne,2),ae=R(F(re));$e(ae),X(ae,`placeholder`,"API_KEY=${OPENROUTER_API_KEY}"),k(re);var oe=R(re,2),se=R(F(oe));$e(se),k(oe);var ce=R(oe,2),le=R(F(ce));Y(le),k(ce);var ue=R(ce,2),de=R(F(ue));Y(de),X(de,`placeholder`,"${NAME} or !command, not a typed secret"),k(ue);var fe=R(ue,2),pe=R(F(fe));Y(pe),k(fe);var T=R(fe,2),me=R(F(T));Y(me),k(T),k(C);var he=R(C,2),ge=e=>{var t=Jc(),n=L(t,!0);z(()=>K(n,H(y))),G(e,t)};q(he,e=>{H(y)&&e(ge)}),Ce(2),k(t),z(()=>a.disabled=H(v).name!==null),gr(`submit`,t,ie),U(`click`,r,te),Z(a,()=>H(v).values.name,e=>H(v).values.name=e),Z(s,()=>H(v).values.url,e=>H(v).values.url=e),Z(l,()=>H(v).values.command,e=>H(v).values.command=e),Z(d,()=>H(v).values.args,e=>H(v).values.args=e),Z(p,()=>H(v).values.authorization,e=>H(v).values.authorization=e),Z(h,()=>H(v).values.description,e=>H(v).values.description=e),si(x,()=>H(v).values.exposure,e=>H(v).values.exposure=e),vi(ee,()=>H(v).values.enabled,e=>H(v).values.enabled=e),Z(w,()=>H(v).values.cwd,e=>H(v).values.cwd=e),Z(ae,()=>H(v).values.env,e=>H(v).values.env=e),Z(se,()=>H(v).values.toolExposure,e=>H(v).values.toolExposure=e),Z(le,()=>H(v).values.oauthClientId,e=>H(v).values.oauthClientId=e),Z(de,()=>H(v).values.oauthClientSecret,e=>H(v).values.oauthClientSecret=e),Z(pe,()=>H(v).values.oauthCallbackUrl,e=>H(v).values.oauthCallbackUrl=e),Z(me,()=>H(v).values.oauthScope,e=>H(v).values.oauthScope=e),G(e,t)};q(s,e=>{H(v).kind===`endpoint`?e(c):e(l,-1)}),k(t),Jr(t,e=>fe?.(e)),z(()=>{X(t,`aria-label`,H(v).kind===`endpoint`?`Model endpoint`:`MCP server`),K(a,H(v).name===null?H(v).kind===`endpoint`?`Add an endpoint`:`Add a server`:`Edit ${H(v).name}`)}),gr(`close`,t,()=>P(v,null)),U(`click`,o,()=>P(v,null)),G(e,t)};q(nt,e=>{H(v)&&e(rt)});var it=R(nt,2);J(it,21,()=>g,Rr,(e,t)=>{var n=Zc(),r={};z(()=>{r!==(r=H(t))&&(n.value=(n.__value=r)??``)}),G(e,n)}),k(it),k(pe),z(e=>{Ae.disabled=t.app.mcpChecking,K(je,t.app.mcpChecking?`Checking…`:`Check connections`),K(Ge,H(a)?`last checked ${H(a)}`:`not checked yet`),Xe.disabled=e,K(A,t.app.packagesBusy?`Working…`:`Install`)},[()=>t.app.packagesBusy||!H(s).trim()]),U(`click`,me,()=>t.app.openChat()),U(`click`,xe,()=>P(v,b(),!0)),U(`click`,Ae,()=>t.app.checkMcp()),U(`click`,Me,()=>P(v,x(),!0)),gr(`submit`,qe,e=>{e.preventDefault(),H(s).trim()&&(t.app.savePackages({install:[H(s).trim()]}),P(s,``))}),Z(Ye,()=>H(s),e=>P(s,e)),G(e,pe),Ue()}_r([`click`,`change`]);var el=e=>{G(e,rl())},tl=e=>{G(e,il())},nl=e=>{G(e,al())},rl=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 20h4L20 8l-4-4L4 16v4Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path><path d="M14.2 5.8 18.2 9.8" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg>`),il=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M2.5 12S6 6.5 12 6.5 21.5 12 21.5 12 18 17.5 12 17.5 2.5 12 2.5 12Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path><circle cx="12" cy="12" r="2.6" fill="none" stroke="currentColor" stroke-width="1.8"></circle></svg>`),al=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M9 7V4.5h6V7M6.5 7l.8 12.5h9.4L17.5 7M10.2 10.5v6m3.6-6v6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>`),ol=W(`<ul class="cfg-errors" role="alert" data-role="save-error"><li class="error"> </li></ul>`),sl=W(`(<code>.flypi/secret.key</code>, mode 0600)`,1),cl=W(`<b> </b> `,1),ll=W(`<code class="revealed svelte-19l53a6" data-role="revealed-value"> </code> <button type="button" data-role="secret-copy">Copy</button> <button type="button" data-role="secret-hide">Hide</button>`,1),ul=W(`<code> </code> <button type="button" class="icon" data-role="secret-reveal" title="Show this value here for a few seconds; the vault records that it was revealed"><!></button>`,1),dl=W(`<span class="cfg-state failed" data-role="key-drift"> </span>`),fl=W(`<span class="cfg-state" data-role="secret-meta"> </span>`),pl=W(`<li data-role="secret"><button type="button" class="cfg-name" data-role="secret-name"> </button> <!> <span class="cfg-state"> </span> <span class="cfg-state"> </span> <!> <!> <button type="button" class="icon" data-role="secret-edit" title="Store a new value under this name"><!></button> <button type="button" class="icon remove" data-role="secret-remove" title="Delete this secret"><!></button></li>`),ml=W(`<li class="cfg-none" data-role="no-secrets"> </li>`),hl=W(`<p class="cfg-note" data-role="short-warning"> </p>`),gl=W(`<li data-role="deleted-secret"><span class="cfg-name"> </span> <code> </code> <span class="cfg-state"> </span> <button type="button" data-role="secret-restore">Restore</button></li>`),_l=W(`<div class="cfg-section"><h3>Deleted</h3></div> <ul class="cfg-list" data-role="deleted-secrets"></ul>`,1),vl=W(`<li data-role="reference"><code> </code> <span class="cfg-state">→</span> <span class="cfg-name"> </span></li>`),yl=W(`<li class="cfg-none">no <code>auth.json</code> or <code>mcp.json</code> entry names a secret</li>`),bl=W(`<option> </option>`),xl=W(`<textarea name="value" rows="10" data-role="form-value" spellcheck="false"></textarea>`),Sl=W(`<input name="value" type="password" data-role="form-value" autocomplete="new-password"/>`),Cl=W(`<p class="error" role="alert" data-role="form-error"> </p>`),wl=W(`<dialog class="cfg-modal"><form class="secret-form" data-role="secret-form"><div class="cfg-section"><h3> </h3> <button type="button">Cancel</button></div> <div class="cfg-inline"><label class="field">Name <input name="name" data-role="form-name" placeholder="lowercase, dots, dashes — the handle config files will name" autocomplete="off"/></label> <label class="field">Kind <select name="kind" data-role="form-kind"></select></label></div> <label class="field">Value <!></label> <label class="field">Notes<textarea name="meta" rows="3" data-role="form-meta"></textarea></label> <p class="cfg-note">Non-secret notes only — host, port, username, the path of an SSH key. The same <code></code> the CLI takes. Notes written here are stored with the row; changing
74
+ them on an existing secret means storing its value again, because this page cannot read it back.</p> <!> <div class="cfg-actions"><button type="submit"> </button></div></form></dialog>`),Tl=W(`<section class="settings-view" aria-label="Secrets" data-role="secrets-view"><header class="panel-head"><h2>Secrets</h2> <button type="button" data-role="back-to-chat">Back to chat</button></header> <!> <div class="cfg-stack"><section><div class="cfg-section"><h3>The vault</h3> <button type="button" data-role="secret-add">Add secret</button></div> <p class="cfg-note" data-role="key-state"> <!> <!></p> <p class="cfg-note">Values are stored sealed (AES-256-GCM per row) and are never shown here unless asked for. The agent
75
+ uses them through <code>secret_env</code> / <code>secret_file</code> and never sees them in its
76
+ environment; anything it prints comes back with <code>[secret:NAME]</code> in place of the value
77
+ (docs/secrets.md). Only the process holding the vault's write lock — <code>flypi start</code> — takes a
78
+ new value: a second one (a <code>serve</code> or the dev server) reads and redacts, and says so here if
79
+ a write is refused.</p> <ul class="cfg-list" data-role="secrets"></ul> <!> <p class="cfg-note" data-role="stream-caveat">The live answer is redacted as it streams, which means a value is masked once its last piece has
80
+ arrived: the part of it still on its way can be on screen for a moment. That is the one place a
81
+ secret may briefly appear — the session file, the transcript table and any memory of the turn hold <code>[secret:NAME]</code>.</p> <!></section> <section><div class="cfg-section"><h3>Used by</h3></div> <p class="cfg-note"><code>auth.json</code> and <code>mcp.json</code> point at a name with <code></code>; pi runs that command once per process, so a rotated value
82
+ takes effect after <code>flypi restart</code>. A secret listed here as used N× says how often it was
83
+ read, not by which conversation — the vault keeps the audit rows, this page does not list them.</p> <ul class="cfg-list" data-role="references"></ul></section></div> <!></section>`);function El(e,t){He(t,!0),Ci(()=>t.app.showSecrets());let n=j(()=>t.app.secrets?.secrets??[]),r=j(()=>H(n).filter(e=>e.status===`active`)),i=j(()=>H(n).filter(e=>e.status===`deleted`)),a=j(()=>t.app.secrets?.references??[]),o=j(()=>t.app.secrets?.key),s=j(()=>t.app.secrets?.tooShortToRedact??[]),c=j(()=>(H(o)?.stale??0)>0),l=[`password`,`ssh_private_key`,`ssh_public_key`,`yaml`,`generic`],u=[`ssh_private_key`,`ssh_public_key`,`yaml`],d={password:`api key, token or password — whatever the service gave you`,ssh_private_key:`the whole key, header and footer included`,ssh_public_key:`the one line from the .pub file — type and key together`,yaml:`the whole document — it is stored as one value, and read back as one file`,generic:`anything else, stored exactly as written`},f;hn(()=>{let e=t.app.revealed;clearTimeout(f),e&&(f=setTimeout(()=>t.app.hideSecret(),3e4))}),Ci(()=>()=>clearTimeout(f));let p=N(null),m=j(()=>H(p)!==null&&u.includes(H(p).values.kind)),h=N(``),g=()=>(P(h,``),{name:null,values:{name:``,kind:`password`,value:``,meta:``}}),_=e=>Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
84
+ `);function v(e){P(h,``),P(p,{name:e.name,values:{name:e.name,kind:e.kind,value:``,meta:_(e.meta)}},!0)}function y(e){let t={};for(let n of e.split(`
85
+ `)){if(!n.trim())continue;let e=n.indexOf(`=`);if(e<1)throw Error(`"${n}" is not a name=value pair`);t[n.slice(0,e).trim()]=n.slice(e+1).trim()}return t}function b(){if(!H(p))return;let e=H(p).values.name.trim(),n=H(p).values.value;if(!e||!n){P(h,`a name and a value are both needed — a secret with no value is only a note`);return}let r;try{r=y(H(p).values.meta)}catch(e){P(h,e.message,!0);return}t.app.saveSecrets([{name:e,kind:H(p).values.kind,value:n,meta:r}]),P(h,``),P(p,null)}let x=e=>t.app.saveSecrets([{name:e.name,remove:!0}]),S=e=>t.app.saveSecrets([{name:e.name,restore:!0}]);function ee(){let e=t.app.revealed;e&&navigator.clipboard?.writeText(e.value)}function te(e){return e.showModal(),{destroy:()=>e.close()}}let C=e=>e.useCount===0?`never used`:`used ${e.useCount}×${e.lastUsedAt?`, last ${e.lastUsedAt.slice(0,10)}`:``}`;var ne=Tl(),w=F(ne),re=R(F(w),2);k(w);var ie=R(w,2),ae=e=>{var n=ol(),r=L(F(n),!0);k(n),z(()=>K(r,t.app.secretsError)),G(e,n)};q(ie,e=>{t.app.secretsError&&e(ae)});var oe=R(ie,2),se=F(oe),ce=F(se),le=R(F(ce),2);k(ce);var ue=R(ce,2),de=F(ue),fe=R(de),pe=e=>{var t=sl();Ce(2),G(e,t)};q(fe,e=>{H(o)?.provider===`keyfile`&&e(pe)});var T=R(fe),me=R(T),he=e=>{var t=cl(),n=I(t),r=L(n),i=R(n);z(()=>{K(r,`${H(o)?.stale??``} ${H(o)?.stale===1?`row is`:`rows are`}`),K(i,` still sealed under an older key —
86
+ ${H(o)?.reencryptQueued?`a re-encrypt is queued`:`they are re-sealed the next time each is used`}.`)}),G(e,t)};q(me,e=>{H(c)&&e(he)}),k(ue);var ge=R(ue,4);J(ge,21,()=>H(r),e=>e.id,(e,n)=>{var r=pl(),i=F(r),a=L(i,!0),s=R(i,2),c=e=>{var n=ll(),r=I(n),i=L(r,!0),a=R(r,2),o=R(a,2);z(()=>K(i,t.app.revealed.value)),U(`click`,a,()=>ee()),U(`click`,o,()=>t.app.hideSecret()),G(e,n)},l=e=>{var r=ul(),i=I(r),a=L(i,!0),o=R(i,2);tl(F(o)),k(o),z(()=>{K(a,H(n).mask),X(o,`aria-label`,`Reveal ${H(n).name??``}`)}),U(`click`,o,()=>t.app.revealSecret(H(n).name)),G(e,r)};q(s,e=>{t.app.revealed?.name===H(n).name?e(c):e(l,-1)});var u=R(s,2),d=L(u,!0),f=R(u,2),p=L(f,!0),m=R(f,2),h=e=>{var t=dl(),r=L(t);z(()=>K(r,`sealed under key v${H(n).keyVersion??``}`)),G(e,t)};q(m,e=>{H(o)&&H(n).keyVersion!==H(o).currentVersion&&e(h)});var g=R(m,2),y=e=>{var t=fl(),r=L(t,!0);z(e=>K(r,e),[()=>_(H(n).meta).replace(/\n/g,` `)]),G(e,t)},b=j(()=>Object.keys(H(n).meta).length);q(g,e=>{H(b)&&e(y)});var S=R(g,2);el(F(S)),k(S);var te=R(S,2);nl(F(te)),k(te),k(r),z((e,t)=>{X(r,`title`,e),K(a,H(n).name),K(d,H(n).kind),K(p,t),X(S,`aria-label`,`Rotate ${H(n).name??``}`),X(te,`aria-label`,`Delete ${H(n).name??``}`)},[()=>`stored ${H(n).createdAt.slice(0,10)} · fingerprint ${H(n).fingerprint.slice(0,12)}`,()=>C(H(n))]),U(`click`,i,()=>v(H(n))),U(`click`,S,()=>v(H(n))),U(`click`,te,()=>x(H(n))),G(e,r)},e=>{var n=ml(),r=L(n,!0);z(()=>K(r,t.app.secrets?`none stored`:`the vault has not answered yet`)),G(e,n)}),k(ge);var _e=R(ge,2),ve=e=>{var t=hl(),n=L(t);z(e=>K(n,`${e??``} ${H(s).length===1?`is`:`are`} shorter than the redaction floor, so a
87
+ transcript or a memory that repeats ${H(s).length===1?`it`:`them`} will not be rewritten.`),[()=>H(s).join(`, `)]),G(e,t)};q(_e,e=>{H(s).length&&e(ve)});var ye=R(_e,4),be=e=>{var t=_l(),n=R(I(t),2);J(n,21,()=>H(i),e=>e.id,(e,t)=>{var n=gl(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2),c=L(s),l=R(s,2);k(n),z(e=>{K(i,H(t).name),K(o,H(t).mask),K(c,`deleted ${e??``}`)},[()=>H(t).createdAt.slice(0,10)]),U(`click`,l,()=>S(H(t))),G(e,n)}),k(n),G(e,t)};q(ye,e=>{H(i).length&&e(be)}),k(se);var E=R(se,2),xe=R(F(E),2),D=R(F(xe),4);D.textContent=`!flypi secret print NAME`,Ce(3),k(xe);var O=R(xe,2);J(O,21,()=>H(a),e=>`${e.file}${e.path}`,(e,t)=>{var n=vl(),r=F(n),i=L(r),a=L(R(r,4),!0);k(n),z(()=>{K(i,`${H(t).file??``} · ${H(t).path??``}`),K(a,H(t).name)}),G(e,n)},e=>{G(e,yl())}),k(O),k(E),k(oe);var Se=R(oe,2),we=e=>{var t=wl(),n=F(t),r=F(n),i=F(r),a=L(i,!0),o=R(i,2);k(r);var s=R(r,2),c=F(s),u=R(F(c));Y(u),k(c);var f=R(c,2),g=R(F(f));J(g,21,()=>l,Rr,(e,t)=>{var n=bl(),r=L(n,!0),i={};z(()=>{K(r,H(t)),i!==(i=H(t))&&(n.value=(n.__value=i)??``)}),G(e,n)}),k(g),oi(g),k(f),k(s);var _=R(s,2),v=R(F(_)),y=e=>{var t=xl();$e(t),z(()=>X(t,`placeholder`,d[H(p).values.kind])),Z(t,()=>H(p).values.value,e=>H(p).values.value=e),G(e,t)},x=e=>{var t=Sl();Y(t),z(()=>X(t,`placeholder`,d[H(p).values.kind])),Z(t,()=>H(p).values.value,e=>H(p).values.value=e),G(e,t)};q(v,e=>{H(m)?e(y):e(x,-1)}),k(_);var S=R(_,2),ee=R(F(S));$e(ee),X(ee,`placeholder`,`host=192.168.1.1
88
+ username=admin`),k(S);var C=R(S,2),ne=R(F(C));ne.textContent=`--meta k=v`,Ce(),k(C);var w=R(C,2),re=e=>{var t=Cl(),n=L(t,!0);z(()=>K(n,H(h))),G(e,t)};q(w,e=>{H(h)&&e(re)});var ie=R(w,2),ae=L(F(ie),!0);k(ie),k(n),k(t),Jr(t,e=>te?.(e)),z(()=>{K(a,H(p).name===null?`Add a secret`:`Rotate ${H(p).name}`),u.disabled=H(p).name!==null,K(ae,H(p).name===null?`Store secret`:`Rotate secret`)}),gr(`submit`,n,e=>{e.preventDefault(),b()}),U(`click`,o,()=>P(p,null)),Z(u,()=>H(p).values.name,e=>H(p).values.name=e),si(g,()=>H(p).values.kind,e=>H(p).values.kind=e),Z(ee,()=>H(p).values.meta,e=>H(p).values.meta=e),G(e,t)};q(Se,e=>{H(p)&&e(we)}),k(ne),z(()=>{K(de,`sealed with ${H(o)?.provider===`keyfile`?`a keyring file`:`the ${H(o)?.provider??`unknown`} key provider`} `),K(T,`,
89
+ key v${H(o)?.currentVersion??`?`??``} · ${H(o)?.rows??0??``} rows. `)}),U(`click`,re,()=>t.app.openChat()),U(`click`,le,()=>P(p,g(),!0)),G(e,ne),Ue()}_r([`click`]);var Dl=e=>{G(e,kl())},Ol=e=>{G(e,Al())},kl=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 20h4L20 8l-4-4L4 16v4Z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"></path><path d="M14.2 5.8 18.2 9.8" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg>`),Al=Er(`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M9 7V4.5h6V7M6.5 7l.8 12.5h9.4L17.5 7M10.2 10.5v6m3.6-6v6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>`),jl=W(`<ul class="cfg-errors" role="alert" data-role="save-error"><li class="error"> </li></ul>`),Ml=W(` <b> </b> <!>.`,1),Nl=W(`<span class="cfg-state" data-role="merged-from"> </span>`),Pl=W(`<li data-role="memory-use" class="svelte-3w3u32"><q> </q> <span class="cfg-state"> </span> <span class="cfg-state"> </span> <span> </span></li>`),Fl=W(`<ul class="memory-uses svelte-3w3u32" data-role="memory-uses"></ul>`),Il=W(`<p class="cfg-note" data-role="memory-unused">No recorded turn fetched it — it has never been injected in the turns this
90
+ store still holds.</p>`),Ll=W(`<span class="cfg-state"> </span>`),Rl=W(`<button type="button" data-role="memory-undo">Undo</button>`),zl=W(`<li data-role="audit-entry" class="svelte-3w3u32"><span class="cfg-state"> </span> <span class="cfg-state"> </span> <!> <details class="preimage svelte-3w3u32"><summary class="svelte-3w3u32">pre-image</summary> <pre class="memory-block svelte-3w3u32" data-role="pre-image"> </pre></details> <!></li>`),Bl=W(`<div class="memory-why svelte-3w3u32" data-role="memory-why-panel"><!> <ul class="memory-history svelte-3w3u32" data-role="memory-history"></ul></div>`),Vl=W(`<li class="memory-row svelte-3w3u32" data-role="memory-entry"><code class="memory-body svelte-3w3u32" data-role="memory-body"> </code> <span class="cfg-state"> </span> <span class="cfg-state"> </span> <span class="cfg-state" title="How often recall fetched it, how often an answer cited it, and its rank weight"> </span> <!> <button type="button" data-role="memory-why"> </button> <button type="button" class="icon" data-role="memory-edit" title="Edit this memory"><!></button> <button type="button" class="icon remove" data-role="memory-remove" title="Delete this memory (undoable)"><!></button> <!></li>`),Hl=W(`<li class="cfg-none" data-role="no-memories"> </li>`),Ul=W(`<button type="button" data-role="memory-restore">Undo</button>`),Wl=W(`<li data-role="superseded-memory"><code class="memory-body svelte-3w3u32"> </code> <span class="cfg-state"> </span> <span class="cfg-state"> <!></span> <!></li>`),Gl=W(`<div class="cfg-section"><h3>Superseded</h3></div> <p class="cfg-note">A merge or a correction retires a row; it never removes it. These are the copies the sweep
91
+ folded away, each with the pre-image it had when it went and an undo that puts it back.</p> <ul class="cfg-list" data-role="superseded-list"></ul>`,1),Kl=W(`<button type="button" data-role="memory-restore">Restore</button>`),ql=W(`<li data-role="deleted-memory"><code class="memory-body svelte-3w3u32"> </code> <span class="cfg-state"> </span> <!></li>`),Jl=W(`<div class="cfg-section"><h3>Deleted</h3></div> <ul class="cfg-list" data-role="deleted-list"></ul>`,1),Yl=W(`<li data-role="turn-cost"><code class="memory-body svelte-3w3u32"> </code> <span class="cfg-state"> </span> <span class="cfg-state"> </span> <span class="cfg-state"> </span> <span class="cfg-state"> </span></li>`),Xl=W(`<li class="cfg-none">no turns recorded yet</li>`),Zl=W(`<div class="wiki-page svelte-3w3u32" data-role="wiki-page"><h4 class="svelte-3w3u32"> </h4> <p class="cfg-note"> </p> <pre class="memory-block" data-role="wiki-body"> </pre></div>`),Ql=W(`<p class="cfg-note" data-role="no-wiki">Nothing rendered yet — the wiki is rebuilt after a consolidation sweep, which runs when the
92
+ daemon is idle.</p>`),$l=W(`<p class="error" role="alert" data-role="form-error"> </p>`),eu=W(`<dialog class="cfg-modal"><form class="memory-form" data-role="memory-form"><div class="cfg-section"><h3> </h3> <button type="button">Cancel</button></div> <label class="field">Text <textarea name="body" rows="5" data-role="form-body" spellcheck="false"></textarea></label> <div class="cfg-inline"><label class="field">Kind <input name="kind" data-role="form-kind"/></label> <label class="field">Tags <input name="tags" data-role="form-tags" placeholder="comma, separated"/></label></div> <p class="cfg-note">What the row says, and how it is filed. Where the fact came from — the user's own words or the
93
+ agent's — is set by the code that wrote it and is not editable here, because a body claiming
94
+ "the user said so" carries no authority (docs/memory.md).</p> <!> <div class="cfg-actions"><button type="submit">Save memory</button></div></form></dialog>`),tu=W(`<section class="settings-view" aria-label="Memory" data-role="memory-view"><header class="panel-head"><h2>Memory</h2> <button type="button" data-role="back-to-chat">Back to chat</button></header> <!> <div class="cfg-stack"><section><div class="cfg-section"><h3>The store</h3> <input class="search svelte-3w3u32" data-role="memory-search" placeholder="filter by text, kind, tag or #id" aria-label="Filter memories"/></div> <p class="cfg-note" data-role="memory-stats"> <!></p> <p class="cfg-note">Nothing here is deleted automatically: a consolidation sweep may merge and supersede, and <code>deleted</code> takes a click on this page. Every change carries its pre-image, so each row of
95
+ the history below can be undone on its own.</p> <ul class="cfg-list" data-role="memory-list"></ul> <!> <!></section> <section><div class="cfg-section"><h3>What recall injected, per turn</h3></div> <p class="cfg-note">The question, how many rows it fetched, how many the answer cited, and what those rows would have
96
+ cost in prompt tokens — the same estimate the injection budget works against, so a turn that was
97
+ shown too much is visible as a number.</p> <ul class="cfg-list" data-role="turn-costs"></ul></section> <section><div class="cfg-section"><h3>The wiki</h3></div> <p class="cfg-note">A render of the active rows — one page per kind, sections by tag, every claim cited as <code>#id</code>. It is a view, not a second memory: nothing is injected from it, nothing here is
98
+ editable, and it is rebuilt whole after a consolidation sweep.</p> <!></section></div> <!></section>`);function nu(e,t){He(t,!0),Ci(()=>t.app.showMemories());let n=j(()=>t.app.memories?.memories??[]),r=j(()=>t.app.memories?.turns??[]),i=j(()=>t.app.memories?.wiki??[]),a=j(()=>t.app.memories?.stats),o=j(()=>H(n).filter(e=>e.status===`active`)),s=j(()=>H(n).filter(e=>e.status===`superseded`)),c=j(()=>H(n).filter(e=>e.status===`deleted`)),l=N(``),u=e=>{let t=H(l).trim().toLowerCase();return!t||`${e.body} ${e.kind} ${e.tags.join(` `)} #${e.id}`.toLowerCase().includes(t)},d=j(()=>H(o).filter(u)),f=j(()=>H(s).filter(u)),p=j(()=>H(c).filter(u)),m=j(()=>new Map(H(n).map(e=>[e.id,e]))),h=e=>H(r).filter(t=>t.retrieved.includes(e)),g=N(Kt(new Set));function _(e){let t=new Set(H(g));t.has(e)?t.delete(e):t.add(e),P(g,t,!0)}let v=N(null),y=N(``);function b(e){P(y,``),P(v,{id:e.id,values:{body:e.body,kind:e.kind,tags:e.tags.join(`, `)}},!0)}function x(){if(!H(v))return;let e=H(v).values.body.trim(),n=H(v).values.kind.trim();if(!e||!n){P(y,`a memory needs its text and its kind — an empty row is a fact nobody can retrieve`);return}t.app.saveMemories([{id:H(v).id,body:e,kind:n,tags:H(v).values.tags.split(`,`).map(e=>e.trim()).filter(Boolean)}]),P(y,``),P(v,null)}let S=e=>t.app.saveMemories([{id:e.id,remove:!0}]),ee=e=>e.history.filter(e=>e.action===`forget`).at(-1),te=e=>{let n=ee(e);n&&t.app.saveMemories([{id:e.id,undoAudit:n.id}])},C=(e,n)=>t.app.saveMemories([{id:e.id,undoAudit:n}]);function ne(e){return e.showModal(),{destroy:()=>e.close()}}let w=e=>e.slice(0,10),re=e=>`#${e.id} ${e.body}`,ie=e=>e.tags.length?`${e.kind} · ${e.tags.join(`, `)}`:e.kind,ae=e=>`fetched ${e.useCount}× · cited ${e.citedCount}× · strength ${e.strength.toFixed(2)}`;var oe=tu(),se=F(oe),ce=R(F(se),2);k(se);var le=R(se,2),ue=e=>{var n=jl(),r=L(F(n),!0);k(n),z(()=>K(r,t.app.memoryError)),G(e,n)};q(le,e=>{t.app.memoryError&&e(ue)});var de=R(le,2),fe=F(de),pe=F(fe),T=R(F(pe),2);Y(T),k(pe);var me=R(pe,2),he=F(me),ge=R(he),_e=e=>{var t=Ml(),n=I(t),r=R(n),i=L(r),o=R(r),s=R(o),c=e=>{var t=Dr();z(()=>K(t,`, ${H(a).indexStale??``} from another model`)),G(e,t)};q(s,e=>{H(a).indexStale&&e(c)}),Ce(),z(e=>{K(n,`Recall was shown a memory in ${H(a).turnsShownMemories??``} of ${H(a).turns??``} turns, and the answer
99
+ cited one in ${H(a).turnsCiting??``} — `),K(i,`${e??``}%`),K(o,` of the turns that were
100
+ shown something used it.
101
+ ${H(a).indexRows??``} rows have a vector${H(a).embedModel?` (${H(a).embedModel})`:` — none: search is keyword-only here`}`)},[()=>Math.round(H(a).rate*100)]),G(e,t)};q(ge,e=>{H(a)&&e(_e)}),k(me);var ve=R(me,4);J(ve,21,()=>H(d),e=>e.id,(e,t)=>{var n=Vl(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2),c=L(s,!0),l=R(s,2),u=L(l,!0),d=R(l,2),f=e=>{var n=Nl(),r=L(n);z(e=>K(r,`merged ${e??``}`),[()=>H(t).mergedFrom.map(e=>`#${e}`).join(` `)]),G(e,n)};q(d,e=>{H(t).mergedFrom.length&&e(f)});var p=R(d,2),m=L(p,!0),v=R(p,2);Dl(F(v)),k(v);var y=R(v,2);Ol(F(y)),k(y);var x=R(y,2),ee=e=>{var n=Bl(),r=F(n),i=e=>{var n=Fl();J(n,21,()=>h(H(t).id),e=>e.id,(e,n)=>{var r=Pl(),i=F(r),a=L(i,!0),o=R(i,2),s=L(o,!0),c=R(o,2),l=L(c),u=R(c,2),d=L(u,!0);k(r),z((e,t,r)=>{K(a,H(n).userText),K(s,e),K(l,`${H(n).injectedTokens??``} tokens injected`),ei(u,1,`cfg-state ${t??``}`),K(d,r)},[()=>w(H(n).createdAt),()=>H(n).cited.includes(H(t).id)?`connected`:``,()=>H(n).cited.includes(H(t).id)?`cited`:`not cited`]),G(e,r)}),k(n),G(e,n)},a=j(()=>h(H(t).id).length),o=e=>{G(e,Il())};q(r,e=>{H(a)?e(i):e(o,-1)});var s=R(r,2);J(s,21,()=>H(t).history,e=>e.id,(e,n)=>{var r=zl(),i=F(r),a=L(i),o=R(i,2),s=L(o,!0),c=R(o,2),l=e=>{var t=Ll(),r=L(t,!0);z(()=>K(r,H(n).reason)),G(e,t)};q(c,e=>{H(n).reason&&e(l)});var u=R(c,2),d=L(R(F(u),2),!0);k(u);var f=R(u,2),p=e=>{var r=Rl();U(`click`,r,()=>C(H(t),H(n).id)),G(e,r)};q(f,e=>{H(n).action!==`create`&&e(p)}),k(r),z(e=>{K(a,`${H(n).action??``} by ${H(n).actor??``}`),K(s,e),K(d,H(n).preImage)},[()=>w(H(n).createdAt)]),G(e,r)}),k(s),k(n),G(e,n)},te=j(()=>H(g).has(H(t).id));q(x,e=>{H(te)&&e(ee)}),k(n),z((e,n,r,a)=>{K(i,e),K(o,n),K(c,H(t).originClass),K(u,r),K(m,a),X(v,`aria-label`,`Edit memory ${H(t).id??``}`),X(y,`aria-label`,`Delete memory ${H(t).id??``}`)},[()=>re(H(t)),()=>ie(H(t)),()=>ae(H(t)),()=>H(g).has(H(t).id)?`Hide why`:`Why was this injected?`]),U(`click`,p,()=>_(H(t).id)),U(`click`,v,()=>b(H(t))),U(`click`,y,()=>S(H(t))),G(e,n)},e=>{var n=Hl(),r=L(n,!0);z(()=>K(r,t.app.memories?`nothing remembered`:`the store has not answered yet`)),G(e,n)}),k(ve);var ye=R(ve,2),be=e=>{var t=Gl(),n=R(I(t),4);J(n,21,()=>H(f),e=>e.id,(e,t)=>{var n=Wl(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2),c=F(s),l=R(c),u=e=>{G(e,Dr(`(that row is superseded too)`))},d=j(()=>H(t).supersededBy&&H(m).get(H(t).supersededBy)?.status===`superseded`);q(l,e=>{H(d)&&e(u)}),k(s),J(R(s,2),17,()=>H(t).history.filter(e=>e.action===`supersede`),e=>e.id,(e,n)=>{var r=Ul();U(`click`,r,()=>C(H(t),H(n).id)),G(e,r)}),k(n),z(e=>{K(i,e),K(o,H(t).kind),K(c,`→ ${H(t).supersededBy?`#${H(t).supersededBy}`:`nothing`} `)},[()=>re(H(t))]),G(e,n)}),k(n),G(e,t)};q(ye,e=>{H(f).length&&e(be)});var E=R(ye,2),xe=e=>{var t=Jl(),n=R(I(t),2);J(n,21,()=>H(p),e=>e.id,(e,t)=>{var n=ql(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a),s=R(a,2),c=e=>{var n=Kl();U(`click`,n,()=>te(H(t))),G(e,n)},l=j(()=>ee(H(t)));q(s,e=>{H(l)&&e(c)}),k(n),z((e,t)=>{K(i,e),K(o,`deleted ${t??``}`)},[()=>re(H(t)),()=>w(H(t).createdAt)]),G(e,n)}),k(n),G(e,t)};q(E,e=>{H(p).length&&e(xe)}),k(fe);var D=R(fe,2),O=R(F(D),4);J(O,21,()=>H(r),e=>e.id,(e,t)=>{var n=Yl(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a,!0),s=R(a,2),c=L(s),l=R(s,2),u=L(l),d=L(R(l,2));k(n),z(e=>{K(i,H(t).userText),K(o,e),K(c,`fetched ${H(t).retrieved.length??``}`),K(u,`cited ${H(t).cited.length??``}`),K(d,`${H(t).injectedTokens??``} tokens`)},[()=>w(H(t).createdAt)]),G(e,n)},e=>{G(e,Xl())}),k(O),k(D);var Se=R(D,2);J(R(F(Se),4),17,()=>H(i),e=>e.slug,(e,t)=>{var n=Zl(),r=F(n),i=L(r,!0),a=R(r,2),o=L(a),s=L(R(a,2),!0);k(n),z(e=>{K(i,H(t).title),K(o,`${H(t).sections.length??``} section${H(t).sections.length===1?``:`s`} · ${H(t).claimIds.length??``}
102
+ claim${H(t).claimIds.length===1?``:`s`} · rendered ${e??``}`),K(s,H(t).body)},[()=>w(H(t).generatedAt)]),G(e,n)},e=>{G(e,Ql())}),k(Se),k(de);var we=R(de,2),Te=e=>{var t=eu(),n=F(t),r=F(n),i=F(r),a=L(i),o=R(i,2);k(r);var s=R(r,2),c=R(F(s));$e(c),k(s);var l=R(s,2),u=F(l),d=R(F(u));Y(d),k(u);var f=R(u,2),p=R(F(f));Y(p),k(f),k(l);var m=R(l,4),h=e=>{var t=$l(),n=L(t,!0);z(()=>K(n,H(y))),G(e,t)};q(m,e=>{H(y)&&e(h)}),Ce(2),k(n),k(t),Jr(t,e=>ne?.(e)),z(()=>K(a,`Edit #${H(v).id??``}`)),gr(`submit`,n,e=>{e.preventDefault(),x()}),U(`click`,o,()=>P(v,null)),Z(c,()=>H(v).values.body,e=>H(v).values.body=e),Z(d,()=>H(v).values.kind,e=>H(v).values.kind=e),Z(p,()=>H(v).values.tags,e=>H(v).values.tags=e),G(e,t)};q(we,e=>{H(v)&&e(Te)}),k(oe),z(()=>K(he,`${H(n).length??``} rows · ${H(o).length??``} active. `)),U(`click`,ce,()=>t.app.openChat()),Z(T,()=>H(l),e=>P(l,e)),G(e,oe),Ue()}_r([`click`]);var ru={sidebar:{min:11,max:34,fallback:15},activity:{min:14,max:40,fallback:22}};function iu(e){return ru[e]}function au(e){let t=localStorage.getItem(`flypi.${e}Width`),n=t===null?NaN:Number(t);return Number.isFinite(n)?ou(e,n):ru[e].fallback}function ou(e,t){let{min:n,max:r}=ru[e];return Math.min(r,Math.max(n,Math.round(t*4)/4))}function su(e,t){try{localStorage.setItem(`flypi.${e}Width`,String(ou(e,t)))}catch{}}var cu=[`settings`,`secrets`,`memory`],lu=`sessions`;function uu(e){let t=e.split(`/`).filter(Boolean),n=t.lastIndexOf(lu),r=n>=0?t[n-1]??``:t.at(-1)??``;return{view:cu.includes(r)?r:`chat`,session:n>=0?t[n+1]??null:null}}function du(e){return e.split(`/`).pop()??e}function fu(){return uu(location.pathname)}function pu(e,t){let n=e===`chat`?t?`/${lu}/${du(t)}`:`/`:`/${e}`;n!==location.pathname&&history.replaceState(null,``,`${n}${location.hash}`)}var mu=W(`<section class="updating" data-role="updating" role="status" aria-live="polite"><h2>Updating flypi</h2> <p>The daemon is installing the new version and restarting to run it.</p> <p>This page goes back on its own once the new one answers.</p></section>`),hu=W(`<div class="gutter" role="slider" aria-orientation="vertical" tabindex="0"></div>`),gu=W(`<!> <!> <!>`,1),_u=W(`<div class="layout"><!> <!> <!></div>`);function vu(e,t){He(t,!0);let n=new ia(t.transport);n.watch();let r=Kt({sidebar:au(`sidebar`),activity:au(`activity`)});function i(){return parseFloat(getComputedStyle(document.documentElement).fontSize)||16}function a(e,t){e.preventDefault();let n=e.clientX,a=r[t],o=e=>{r[t]=ou(t,a+(e.clientX-n)*s(t)/i())},c=()=>{window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),su(t,r[t])};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,c),window.addEventListener(`pointercancel`,c)}function o(e,t){let n={ArrowLeft:-1,ArrowRight:1}[e.key];n!==void 0&&(e.preventDefault(),r[t]=ou(t,r[t]+s(t)*n),su(t,r[t]))}function s(e){return e===`sidebar`?1:-1}let c=fu(),l=c.session;c.view===`settings`&&n.openSettings(),c.view===`secrets`&&n.openSecrets(),c.view===`memory`&&n.openMemory(),hn(()=>pu(n.view,n.sessionPath??null)),hn(()=>{if(!l||!n.conversationId)return;let e=l;l=null,e!==du(n.sessionPath??``)&&n.openSession(e)});let u=Kt({available:null,ready:null}),f=j(()=>u.ready?{version:u.ready,ready:!0}:u.available?{version:u.available,ready:!1}:null),p={version:null,startedAt:null};async function m(){try{let e=await(await fetch(`/healthz`)).json();e.pi&&(n.pi=e.pi),u.available=e.updateAvailable??null,u.ready=e.updateReady??null,p={version:e.version??null,startedAt:e.startedAt??null}}catch{}}hn(()=>{m();let e=setInterval(()=>void m(),6e4);return()=>clearInterval(e)}),hn(()=>{if(!n.updateInstalling)return;let e=p,t=Date.now(),r=setInterval(()=>{m().then(()=>{if(p.version===e.version&&p.startedAt===e.startedAt){Date.now()-t>=12e4&&(n.updateError=`the daemon never restarted — the install may have failed`,n.updateInstalling=!1);return}e.version&&p.version!==e.version?location.reload():n.updateInstalling=!1})},1e3);return()=>clearInterval(r)});var h=Or(),g=I(h),_=e=>{G(e,mu())},v=e=>{var t=_u();{let e=(e,t=d)=>{var n=hu();z((e,i)=>{X(n,`aria-label`,`Resize the ${t()===`sidebar`?`sidebar`:`activity panel`}`),X(n,`aria-valuenow`,r[t()]),X(n,`aria-valuetext`,`${r[t()]} rem`),X(n,`aria-valuemin`,e),X(n,`aria-valuemax`,i)},[()=>iu(t()).min,()=>iu(t()).max]),U(`pointerdown`,n,e=>a(e,t())),U(`keydown`,n,e=>o(e,t())),G(e,n)};var i=F(t);xa(i,{get app(){return n},get update(){return H(f)}});var s=R(i,2);e(s,()=>`sidebar`);var c=R(s,2),l=e=>{$c(e,{get app(){return n}})},u=e=>{El(e,{get app(){return n}})},p=e=>{nu(e,{get app(){return n}})},m=t=>{var r=gu(),i=I(r);Vs(i,{get app(){return n}});var a=R(i,2);e(a,()=>`activity`),oc(R(a,2),{get app(){return n}}),G(t,r)};q(c,e=>{n.view===`settings`?e(l):n.view===`secrets`?e(u,1):n.view===`memory`?e(p,2):e(m,-1)}),k(t)}z(()=>ni(t,`--sidebar-w: ${r.sidebar??``}rem; --activity-w: ${r.activity??``}rem`)),G(e,t)};q(g,e=>{n.updateInstalling?e(_):e(v,-1)}),G(e,h),Ue()}_r([`pointerdown`,`keydown`]);async function yu(){let e=await fetch(`/__flypi.json`);if(!e.ok)throw Error(`flypi: /__flypi.json returned ${e.status} — is the agent server running?`);return await e.json()}var bu=class{#e;#t;#n=new Set;#r=[];#i=!1;constructor(e){this.#e=e}on(e){return this.#n.add(e),()=>this.#n.delete(e)}send(e){let t=JSON.stringify(e);this.#t?.readyState===WebSocket.OPEN?this.#t.send(t):this.#r.push(t)}connect(){let e=`${location.protocol===`https:`?`wss`:`ws`}://${location.host}${this.#e.wsPath}?token=${encodeURIComponent(this.#e.token)}`,t=new WebSocket(e);this.#t=t,t.addEventListener(`open`,()=>{for(let e of this.#r.splice(0))t.send(e);for(let e of this.#n)e({type:`connected`})}),t.addEventListener(`message`,e=>{let t;try{t=JSON.parse(String(e.data))}catch{return}if(t&&typeof t==`object`&&`type`in t)for(let e of this.#n)e(t)}),t.addEventListener(`close`,()=>{for(let e of this.#n)e({type:`disconnected`});this.#i||setTimeout(()=>{yu().then(e=>this.#e=e).catch(()=>{}).finally(()=>this.connect())},500)})}close(){this.#i=!0,this.#t?.close()}},xu=document.getElementById(`app`);if(!xu)throw Error(`flypi: #app is missing from index.html`);ua();var Su=await yu();if(Su.protocolVersion!==1)xu.textContent=`flypi UI speaks protocol v1, the server speaks v${Su.protocolVersion}`;else{let e=new bu(Su);Nr(vu,{target:xu,props:{transport:e}}),e.connect()}
@@ -8,8 +8,8 @@
8
8
  one of the two files and there is no script in this document to do anything else. -->
9
9
  <link rel="icon" href="/flypi-logo-light.jpeg" media="(prefers-color-scheme: light)" />
10
10
  <link rel="icon" href="/flypi-logo-dark.jpeg" media="(prefers-color-scheme: dark)" />
11
- <script type="module" crossorigin src="/assets/index-CG1CuGxu.js"></script>
12
- <link rel="stylesheet" crossorigin href="/assets/index-qaKjH5fH.css">
11
+ <script type="module" crossorigin src="/assets/index-Dv6ZykyY.js"></script>
12
+ <link rel="stylesheet" crossorigin href="/assets/index-CBuNmrDT.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="app"></div>