@thingd/cli 0.48.1 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
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),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var 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;function d(e){return typeof e==`function`}var f=()=>{};function p(e){return e()}function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=1024,_=2048,v=4096,y=8192,b=16384,x=32768,S=1<<25,C=65536,w=1<<19,ee=1<<20,T=1<<25,te=65536,ne=1<<21,re=1<<22,ie=1<<23,ae=Symbol(`$state`),oe=Symbol(`legacy props`),se=Symbol(``),E=Symbol(`attributes`),ce=Symbol(`class`),le=Symbol(`style`),ue=Symbol(`text`),de=Symbol(`form reset`),fe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},pe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function me(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function he(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ge(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function _e(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function ve(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ye(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function be(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function xe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Se(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ce(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function we(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Te(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ee={},D=Symbol(`uninitialized`),De=`http://www.w3.org/1999/xhtml`,Oe=`http://www.w3.org/2000/svg`,ke=`http://www.w3.org/1998/Math/MathML`;function Ae(){console.warn(`https://svelte.dev/e/derived_inert`)}function je(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Me(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Ne(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var O=!1;function Pe(e){O=e}var k;function A(e){if(e===null)throw je(),Ee;return k=e}function Fe(){return A(un(k))}function j(e){if(O){if(un(k)!==null)throw je(),Ee;k=e}}function M(e=1){if(O){for(var t=e,n=k;t--;)n=un(n);k=n}}function Ie(e=!0){for(var t=0,n=k;;){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=un(n);e&&n.remove(),n=i}}function Le(e){if(!e||e.nodeType!==8)throw je(),Ee;return e.data}function Re(e){return e===this.v}function N(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function ze(e){return!N(e,this.v)}var Be=!1,P=!1;function Ve(){P=!0}var F=null;function He(e){F=e}function Ue(e,t=!1,n){F={p:F,i:!1,c:null,e:null,s:e,x:null,r:W,l:P&&!t?{s:null,u:null,$:[]}:null}}function We(e){var t=F,n=t.e;if(n!==null){t.e=null;for(var r of n)Dn(r)}return e!==void 0&&(t.x=e),t.i=!0,F=t.p,e??{}}function Ge(){return!P||F!==null&&F.l===null}var Ke=[];function qe(){var e=Ke;Ke=[],m(e)}function Je(e){if(Ke.length===0&&!Ot){var t=Ke;queueMicrotask(()=>{t===Ke&&qe()})}Ke.push(e)}function Ye(){for(;Ke.length>0;)qe()}function Xe(e){var t=W;if(t===null)return U.f|=ie,e;if(!(t.f&32768)&&!(t.f&4))throw e;Ze(e,t)}function Ze(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var Qe=~(_|v|g);function I(e,t){e.f=e.f&Qe|t}function $e(e){e.f&512||e.deps===null?I(e,g):I(e,v)}function et(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=te,et(t.deps))}function tt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),et(e.deps),I(e,g)}var nt=!1,rt=!1;function it(e){var t=rt;try{return rt=!1,[e(),rt]}finally{rt=t}}function at(e){let t=0,n=qt(0),r;return()=>{wn()&&(G(n),Pn(()=>(t===0&&(r=Cr(()=>e(()=>Zt(n)))),t+=1,()=>{Je(()=>{--t,t===0&&(r?.(),r=void 0,Zt(n))})})))}}var ot=C|w;function st(e,t,n,r){new ct(e,t,n,r)}var ct=class{parent;is_pending=!1;transform_error;#e;#t=O?k: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=at(()=>(this.#m=qt(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=W;t.b=this,t.f|=128,n(e)},this.parent=W.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Fn(()=>{if(O){let e=this.#t;Fe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},ot),O&&(this.#e=k)}#g(){try{this.#a=In(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=In(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=In(()=>e(this.#e)),Je(()=>{var e=this.#c=document.createDocumentFragment(),t=cn();e.append(t),this.#a=this.#x(()=>In(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Un(this.#o,()=>{this.#o=null}),this.#b(L))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=In(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();qn(this.#a,e);let t=this.#n.pending;this.#o=In(()=>t(this.#e))}else this.#b(L)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){tt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=W,n=U,r=F;nr(this.#i),tr(this.#i),He(this.#i.ctx);try{return Pt.ensure(),e()}catch(e){return Xe(e),null}finally{nr(t),tr(n),He(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Un(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Je(()=>{this.#d=!1,this.#m&&Yt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),G(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;L?.is_fork?(this.#a&&L.skip_effect(this.#a),this.#o&&L.skip_effect(this.#o),this.#s&&L.skip_effect(this.#s),L.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Bn(this.#a),null),this.#o&&=(Bn(this.#o),null),this.#s&&=(Bn(this.#s),null),O&&(A(this.#t),M(),A(Ie()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Ne();return}r=!0,i&&Te(),this.#s!==null&&Un(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){Ze(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return In(()=>{var t=W;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return Ze(e,this.#i.parent),null}}))};Je(()=>{var t;try{t=this.transform_error(e)}catch(e){Ze(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>Ze(e,this.#i&&this.#i.parent)):o(t)})}};function lt(e,t,n,r){let i=Ge()?pt:_t;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=W,c=ut(),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){Ze(e,s)}dt()}}var d=ft();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>ht(e))).then(u).catch(e=>Ze(e,s)).finally(d)}l?l.then(()=>{c(),f(),dt()}):f()}function ut(){var e=W,t=U,n=F,r=L;return function(i=!0){nr(e),tr(t),He(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function dt(e=!0){nr(null),tr(null),He(null),e&&L?.deactivate()}function ft(){var e=W,t=e.b,n=L,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 pt(e){var t=2|_;return W!==null&&(W.f|=w),{ctx:F,deps:null,effects:null,equals:Re,f:t,fn:e,reactions:null,rv:0,v:D,wv:0,parent:W,ac:null}}var mt=Symbol(`obsolete`);function ht(e,t,n){let r=W;r===null&&he();var i=void 0,a=qt(D),o=!U,s=new Set;return Nn(()=>{var t=W,n=h();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==fe&&n.reject(e)}).finally(dt)}catch(e){n.reject(e),dt()}var c=L;if(o){if(t.f&32768)var l=ft();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(mt);else for(let e of s.values())e.reject(mt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==mt&&(c.activate(),t?(a.f|=ie,Yt(a,t)):(a.f&8388608&&(a.f^=ie),Yt(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Tn(()=>{for(let e of s)e.reject(mt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function gt(e){let t=pt(e);return Be||ir(t),t}function _t(e){let t=pt(e);return t.equals=ze,t}function vt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Bn(t[n])}}function yt(e){var t,n=W,r=e.parent;if(!Qn&&r!==null&&e.v!==D&&r.f&24576)return Ae(),e.v;nr(r);try{e.f&=~te,vt(e),t=gr(e)}finally{nr(n)}return t}function bt(e){var t=yt(e);if(!e.equals(t)&&(e.wv=pr(),(!L?.is_fork||e.deps===null)&&(L===null?e.v=t:(L.capture(e,t,!0),Tt?.capture(e,t,!0)),e.deps===null))){I(e,g);return}Qn||(Et===null?$e(e):(wn()||L?.is_fork)&&Et.set(e,t))}function xt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(fe),t.fn!==null&&(t.teardown=f),t.ac=null,vr(t,0),Rn(t))}function St(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&yr(t)}var Ct=null,wt=null,L=null,Tt=null,Et=null,Dt=null,Ot=!1,kt=!1,At=null,jt=null,Mt=0,Nt=1,Pt=class e{id=Nt++;#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(){wt===null?Ct=wt=this:(wt.#n=this,this.#t=wt),wt=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)I(r,_),t(r);for(r of n.m)I(r,v),t(r)}this.#p.add(e)}#g(){this.#e=!0,Mt++>1e3&&(this.#S(),It());for(let e of this.#u)this.#d.delete(e),I(e,_),this.schedule(e);for(let e of this.#d)I(e,v),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=At=[],r=[],i=jt=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw Ut(e),this.#h()||this.discard(),t}if(L=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(At=null,jt=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Ht(e,t);i.length>0&&L.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Tt=this,Rt(r),Rt(n),Tt=null,this.#s?.resolve();var s=L;if(this.#a===0&&(this.#c.length===0||s!==null)&&(this.#S(),Be&&(this.#x(),L=s)),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=g;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=g:i&4?t.push(r):Be&&i&16777224?n.push(r):mr(r)&&(i&16&&this.#d.add(r),yr(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}}}#v(){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}#y(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)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),I(i,_),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#S(),L=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)tt(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==D&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),Et?.set(e,t)),this.is_fork||(e.v=t)}activate(){L=this}deactivate(){L=null,Et=null}flush(){try{kt=!0,L=this,this.#g()}finally{Mt=0,Dt=null,At=null,jt=null,kt=!1,L=null,Et=null,Gt.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(mt);this.#S(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}#x(){for(let u=Ct;u!==null;u=u.#n){var e=u.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(u.current.has(r)){var n=u.current.get(r)[0];if(e&&i!==n)u.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=u.async_deriveds.get(e);n&&t.promise.then(n.resolve).catch(n.reject)}var r=[...u.current.keys()].filter(e=>!u.current.get(e)[1]);if(!(!u.#e||r.length===0)){var i=r.filter(e=>!this.current.has(e));if(i.length===0)e&&u.discard();else if(t.length>0){if(e)for(let e of this.#p)u.unskip_effect(e,e=>{e.f&4194320?u.schedule(e):u.#b([e])});u.activate();var a=new Set,o=new Map;for(var s of t)zt(s,i,a,o);o=new Map;var c=[...u.current].filter(([e,t])=>{let n=this.current.get(e);return n?n[0]!==t[0]||n[1]!==t[1]:!0}).map(([e])=>e);if(c.length>0)for(let e of this.#l)!(e.f&155648)&&Bt(e,c,o)&&(e.f&4194320?(I(e,_),u.schedule(e)):u.#u.add(e));if(u.#c.length>0&&!u.#m){u.apply();for(var l of u.#c)u.#_(l,[],[]);u.#c=[]}u.deactivate()}}}}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??=h()).promise}static ensure(){if(L===null){let t=L=new e;!kt&&!Ot&&Je(()=>{t.#e||t.flush()})}return L}apply(){if(!Be||!this.is_fork&&this.#t===null&&this.#n===null){Et=null;return}Et=new Map;for(let[e,[t]]of this.current)Et.set(e,t);for(let t=Ct;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)Et.has(e)||Et.set(e,n)}}schedule(e){if(Dt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(At!==null&&t===W&&(Be||(U===null||!(U.f&2))&&!nt))return;if(n&96){if(!(n&1024))return;t.f^=g}}this.#c.push(t)}#S(){if(this.linked){var e=this.#t,t=this.#n;e===null?Ct=t:e.#n=t,t===null?wt=e:t.#t=e,this.linked=!1}}};function Ft(e){var t=Ot;Ot=!0;try{var n;for(e&&(L!==null&&!L.is_fork&&L.flush(),n=e());;){if(Ye(),L===null)return n;L.flush()}}finally{Ot=t}}function It(){try{be()}catch(e){Ze(e,Dt)}}var Lt=null;function Rt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&mr(r)&&(Lt=new Set,yr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Hn(r),Lt?.size>0)){Gt.clear();for(let e of Lt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Lt.has(n)&&(Lt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||yr(n)}}Lt.clear()}}Lt=null}}function zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?zt(i,t,n,r):e&4194320&&!(e&2048)&&Bt(i,t,r)&&(I(i,_),Vt(i))}}function Bt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&Bt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function Vt(e){L.schedule(e)}function Ht(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),I(e,g);for(var n=e.first;n!==null;)Ht(n,t),n=n.next}}function Ut(e){I(e,g);for(var t=e.first;t!==null;)Ut(t),t=t.next}var Wt=new Set,Gt=new Map,Kt=!1;function qt(e,t){return{f:0,v:e,reactions:null,equals:Re,rv:0,wv:0}}function Jt(e,t){let n=qt(e,t);return ir(n),n}function R(e,t=!1,n=!0){let r=qt(e);return t||(r.equals=ze),P&&n&&F!==null&&F.l!==null&&(F.l.s??=[]).push(r),r}function z(e,t,n=!1){return U!==null&&(!er||U.f&131072)&&Ge()&&U.f&4325394&&(rr===null||!rr.has(e))&&we(),Yt(e,n?$t(t):t,jt)}function Yt(e,t,n=null){if(!e.equals(t)){Gt.set(e,Qn?t:e.v);var r=Pt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&yt(t),Et===null&&$e(t)}e.wv=pr(),Qt(e,_,n),Ge()&&W!==null&&W.f&1024&&!(W.f&96)&&(sr===null?cr([e]):sr.push(e)),!r.is_fork&&Wt.size>0&&!Kt&&Xt()}return t}function Xt(){Kt=!1;for(let e of Wt){e.f&1024&&I(e,v);let t;try{t=mr(e)}catch{t=!0}t&&yr(e)}Wt.clear()}function Zt(e){z(e,e.v+1)}function Qt(e,t,n){var r=e.reactions;if(r!==null)for(var i=Ge(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===W)){var l=(c&_)===0;if(l&&I(s,t),c&131072)Wt.add(s);else if(c&2){var u=s;Et?.delete(u),c&65536||(c&512&&(W===null||!(W.f&2097152))&&(s.f|=te),Qt(u,v,n))}else if(l){var d=s;c&16&&Lt!==null&&Lt.add(d),n===null?Vt(d):n.push(d)}}}}function $t(t){if(typeof t!=`object`||!t||ae in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=Jt(0),u=null,d=dr,f=e=>{if(dr===d)return e();var t=U,n=dr;tr(null),fr(d);var r=e();return tr(t),fr(n),r};return i&&r.set(`length`,Jt(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Se();var i=r.get(t);return i===void 0?f(()=>{var e=Jt(n.value,u);return r.set(t,e),e}):z(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>Jt(D,u));r.set(t,e),Zt(o)}}else z(n,D),Zt(o);return!0},get(e,n,i){if(n===ae)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>Jt($t(s?e[n]:D),u)),r.set(n,o)),o!==void 0){var c=G(o);return c===D?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=G(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==D)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===ae)return!0;var n=r.get(t),i=n!==void 0&&n.v!==D||Reflect.has(e,t);return(n!==void 0||W!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>Jt(i?$t(e[t]):D,u)),r.set(t,n)),G(n)===D)?!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(()=>Jt(D,u)),r.set(d+``,p)):z(p,D)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>Jt(void 0,u)),z(c,$t(n)),r.set(t,c));else{l=c.v!==D;var m=f(()=>$t(n));z(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&&z(g,_+1)}Zt(o)}return!0},ownKeys(e){G(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==D});for(var[n,i]of r)i.v!==D&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Ce()}})}function en(e){try{if(typeof e==`object`&&e&&ae in e)return e[ae]}catch{}return e}function tn(e,t){return Object.is(en(e),en(t))}new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);var nn,rn,an,on;function sn(){if(nn===void 0){nn=window,rn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;an=a(t,`firstChild`).get,on=a(t,`nextSibling`).get,u(e)&&(e[ce]=void 0,e[E]=null,e[le]=void 0,e.__e=void 0),u(n)&&(n[ue]=void 0)}}function cn(e=``){return document.createTextNode(e)}function ln(e){return an.call(e)}function un(e){return on.call(e)}function B(e,t){if(!O)return ln(e);var n=ln(k);if(n===null)n=k.appendChild(cn());else if(t&&n.nodeType!==3){var r=cn();return n?.before(r),A(r),r}return t&&hn(n),A(n),n}function dn(e,t=!1){if(!O){var n=ln(e);return n instanceof Comment&&n.data===``?un(n):n}if(t){if(k?.nodeType!==3){var r=cn();return k?.before(r),A(r),r}hn(k)}return k}function V(e,t=1,n=!1){let r=O?k:e;for(var i;t--;)i=r,r=un(r);if(!O)return r;if(n){if(r?.nodeType!==3){var a=cn();return r===null?i?.after(a):r.before(a),A(a),a}hn(r)}return A(r),r}function fn(e){e.textContent=``}function pn(){return!Be||Lt!==null?!1:(W.f&x)!==0}function mn(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 hn(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 gn(e){O&&ln(e)!==null&&fn(e)}var _n=!1;function vn(){_n||(_n=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[de]?.()})},{capture:!0}))}function yn(e){var t=U,n=W;tr(null),nr(null);try{return e()}finally{tr(t),nr(n)}}function bn(e,t,n,r=n){e.addEventListener(t,()=>yn(n));let i=e[de];i?e[de]=()=>{i(),r(!0)}:e[de]=()=>r(!0),vn()}function xn(e){W===null&&(U===null&&ye(e),ve()),Qn&&_e(e)}function Sn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Cn(e,t){var n=W;n!==null&&n.f&8192&&(e|=y);var r={ctx:F,deps:null,nodes:null,f:e|_|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};L?.register_created_effect(r);var i=r;if(e&4)At===null?Pt.ensure().schedule(r):At.push(r);else if(t!==null){try{yr(r)}catch(e){throw Bn(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|=C))}if(i!==null&&(i.parent=n,n!==null&&Sn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function wn(){return U!==null&&!er}function Tn(e){let t=Cn(8,null);return I(t,g),t.teardown=e,t}function En(e){xn(`$effect`);var t=W.f;if(!U&&t&32&&F!==null&&!F.i){var n=F;(n.e??=[]).push(e)}else return Dn(e)}function Dn(e){return Cn(4|ee,e)}function On(e){return xn(`$effect.pre`),Cn(8|ee,e)}function kn(e){Pt.ensure();let t=Cn(64|w,e);return(e={})=>new Promise(n=>{e.outro?Un(t,()=>{Bn(t),n(void 0)}):(Bn(t),n(void 0))})}function An(e){return Cn(4,e)}function jn(e,t){var n=F,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Pn(()=>{if(e(),!r.ran){r.ran=!0;var n=W;try{nr(n.parent),Cr(t)}finally{nr(n)}}})}function Mn(){var e=F;Pn(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&1024&&n.deps!==null&&I(n,v),mr(n)&&yr(n),t.ran=!1}})}function Nn(e){return Cn(re|w,e)}function Pn(e,t=0){return Cn(8|t,e)}function H(e,t=[],n=[],r=[]){lt(r,t,n,t=>{Cn(8,()=>{e(...t.map(G))})})}function Fn(e,t=0){return Cn(16|t,e)}function In(e){return Cn(32|w,e)}function Ln(e){var t=e.teardown;if(t!==null){let e=Qn,n=U;$n(!0),tr(null);try{t.call(null)}finally{$n(e),tr(n)}}}function Rn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&yn(()=>{e.abort(fe)});var r=n.next;n.f&64?n.parent=null:Bn(n,t),n=r}}function zn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Bn(t),t=n}}function Bn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Vn(e.nodes.start,e.nodes.end),n=!0),e.f|=S,Rn(e,t&&!n),vr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Ln(e),e.f^=S,e.f|=b;var i=e.parent;i!==null&&i.first!==null&&Hn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Vn(e,t){for(;e!==null;){var n=e===t?null:un(e);e.remove(),e=n}}function Hn(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 Un(e,t,n=!0){var r=[];Wn(e,r,!0);var i=()=>{n&&Bn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Wn(e,t,n){if(!(e.f&8192)){e.f^=y;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)!=0||(i.f&32)!=0&&(e.f&16)!=0;Wn(i,t,o?n:!1)}i=a}}}function Gn(e){Kn(e,!0)}function Kn(e,t){if(e.f&8192){e.f^=y,e.f&1024||(I(e,_),Pt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Kn(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 qn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:un(n);t.append(n),n=i}}var Jn=null;function Yn(e){var t=Jn;try{if(Jn=new Set,Cr(e),t!==null)for(var n of Jn)t.add(n);return Jn}finally{Jn=t}}function Xn(e){for(var t of Yn(e))Yt(t,t.v)}var Zn=!1,Qn=!1;function $n(e){Qn=e}var U=null,er=!1;function tr(e){U=e}var W=null;function nr(e){W=e}var rr=null;function ir(e){U!==null&&(!Be||U.f&2)&&(rr??=new Set).add(e)}var ar=null,or=0,sr=null;function cr(e){sr=e}var lr=1,ur=0,dr=ur;function fr(e){dr=e}function pr(){return++lr}function mr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~te),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(mr(a)&&bt(a),a.wv>e.wv)return!0}t&512&&Et===null&&I(e,g)}return!1}function hr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!Be&&rr!==null&&rr.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?hr(a,t,!1):t===a&&(n?I(a,_):a.f&1024&&I(a,v),Vt(a))}}function gr(e){var t=ar,n=or,r=sr,i=U,a=rr,o=F,s=er,c=dr,l=e.f;ar=null,or=0,sr=null,U=l&96?null:e,rr=null,He(e.ctx),er=!1,dr=++ur,e.ac!==null&&(yn(()=>{e.ac.abort(fe)}),e.ac=null);try{e.f|=ne;var u=e.fn,d=u();e.f|=x;var f=e.deps,p=L?.is_fork;if(ar!==null){var m;if(p||vr(e,or),f!==null&&or>0)for(f.length=or+ar.length,m=0;m<ar.length;m++)f[or+m]=ar[m];else e.deps=f=ar;if(wn()&&e.f&512)for(m=or;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&or<f.length&&(vr(e,or),f.length=or);if(Ge()&&sr!==null&&!er&&f!==null&&!(e.f&6146))for(m=0;m<sr.length;m++)hr(sr[m],e);if(i!==null&&i!==e){if(ur++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=ur;if(t!==null)for(let e of t)e.rv=ur;sr!==null&&(r===null?r=sr:r.push(...sr))}return e.f&8388608&&(e.f^=ie),d}catch(e){return Xe(e)}finally{e.f^=ne,ar=t,or=n,sr=r,U=i,rr=a,He(o),er=s,dr=c}}function _r(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&&(ar===null||!n.call(ar,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~te),s.v!==D&&$e(s),xt(s),vr(s,0)}}function vr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)_r(e,n[r])}function yr(e){var t=e.f;if(!(t&16384)){I(e,g);var n=W,r=Zn;W=e,Zn=!0;try{t&16777232?zn(e):Rn(e),Ln(e);var i=gr(e);e.teardown=typeof i==`function`?i:null,e.wv=lr}finally{Zn=r,W=n}}}async function br(){if(Be)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Ft()}function G(e){var t=(e.f&2)!=0;if(Jn?.add(e),U!==null&&!er&&!(W!==null&&W.f&16384)&&(rr===null||!rr.has(e))){var r=U.deps;if(U.f&2097152)e.rv<ur&&(e.rv=ur,ar===null&&r!==null&&r[or]===e?or++:ar===null?ar=[e]:ar.push(e));else{U.deps??=[],n.call(U.deps,e)||U.deps.push(e);var i=e.reactions;i===null?e.reactions=[U]:n.call(i,U)||i.push(U)}}if(Qn&&Gt.has(e))return Gt.get(e);if(t){var a=e;if(Qn){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Sr(a))&&(o=yt(a)),Gt.set(a,o),o}var s=(a.f&512)==0&&!er&&U!==null&&(Zn||(U.f&512)!=0),c=(a.f&x)===0;mr(a)&&(s&&(a.f|=512),bt(a)),s&&!c&&(St(a),xr(a))}if(Et?.has(e))return Et.get(e);if(e.f&8388608)throw e.v;return e.v}function xr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(St(t),xr(t))}function Sr(e){if(e.v===D)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Gt.has(t)||t.f&2&&Sr(t))return!0;return!1}function Cr(e){var t=er;try{return er=!0,e()}finally{er=t}}function wr(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(ae in e)Tr(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&ae in n&&Tr(n)}}}function Tr(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{Tr(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 Er=[`touchstart`,`touchmove`];function Dr(e){return Er.includes(e)}var Or=Symbol(`events`),kr=new Set,Ar=new Set;function jr(e,t,n,r={}){function i(e){if(r.capture||Nr.call(t,e),!e.cancelBubble)return yn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?Je(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function K(e,t,n,r,i){var a={capture:r,passive:i},o=jr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Tn(()=>{t.removeEventListener(e,o,a)})}var Mr=null;function Nr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;Mr=e;var s=0,c=Mr===e&&e[Or];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[Or]=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=U,f=W;tr(null),nr(null);try{for(var p,m=[];o!==null&&o!==t;){try{var h=o[Or]?.[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[Or]=t,delete e.currentTarget,tr(d),nr(f)}}}var Pr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Fr(e){return Pr?.createHTML(e)??e}function Ir(e){var t=mn(`template`);return t.innerHTML=Fr(e.replaceAll(`<!>`,`<!---->`)),t.content}function Lr(e,t){var n=W;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function q(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(O)return Lr(k,null),k;i===void 0&&(i=Ir(a?e:`<!>`+e),n||(i=ln(i)));var t=r||rn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=ln(t),s=t.lastChild;Lr(o,s)}else Lr(t,t);return t}}function Rr(e=``){if(!O){var t=cn(e+``);return Lr(t,t),t}var n=k;return n.nodeType===3?hn(n):(n.before(n=cn()),A(n)),Lr(n,n),n}function zr(){if(O)return Lr(k,null),k;var e=document.createDocumentFragment(),t=document.createComment(``),n=cn();return e.append(t,n),Lr(t,n),e}function J(e,t){if(O){var n=W;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=k),Fe();return}e!==null&&e.before(t)}var Br=!0;function Y(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[ue]??=e.nodeValue)&&(e[ue]=n,e.nodeValue=`${n}`)}function Vr(e,t){return Ur(e,t)}var Hr=new Map;function Ur(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){sn();var l=void 0,u=kn(()=>{var u=n??t.appendChild(cn());st(u,{pending:()=>{}},t=>{Ue({});var n=F;if(o&&(n.c=o),a&&(i.$$events=a),O&&Lr(t,null),Br=s,l=e(t,i)||{},Br=!0,O&&(W.nodes.end=k,k===null||k.nodeType!==8||k.data!==`]`))throw je(),Ee;We()},c);var d=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!d.has(r)){d.add(r);var i=Dr(r);for(let e of[t,document]){var a=Hr.get(e);a===void 0&&(a=new Map,Hr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Nr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(r(kr)),Ar.add(f),()=>{for(var e of d)for(let n of[t,document]){var r=Hr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Nr),r.delete(e),r.size===0&&Hr.delete(n)):r.set(e,i)}Ar.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return Wr.set(l,u),l}var Wr=new WeakMap,Gr=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)Gn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Gn(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&&(Bn(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();qn(r,t),t.append(cn()),this.#n.set(e,{effect:r,fragment:t})}else Bn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Un(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)||(Bn(n.effect),this.#n.delete(e))};ensure(e,t){var n=L,r=pn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=cn();i.append(a),this.#n.set(e,{effect:In(()=>t(a)),fragment:i})}else this.#t.set(e,In(()=>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 O&&(this.anchor=k),this.#a(n)}};function X(e,t,n=!1){var r;O&&(r=k,Fe());var i=new Gr(e),a=n?C:0;function o(e,t){if(O){var n=Le(r);if(e!==parseInt(n.substring(1))){var a=Ie();A(a),i.anchor=a,Pe(!1),i.ensure(e,t),Pe(!0);return}}i.ensure(e,t)}Fn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Kr(e,t){return t}function qr(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];Un(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Jr(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;if(l){var u=n,d=u.parentNode;fn(d),d.append(u),e.items.clear()}Jr(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Jr(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|=T,qn(a,document.createDocumentFragment())):Bn(t[i],n)}}var Yr;function Xr(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=O?A(ln(u)):u.appendChild(cn())}O&&Fe();var d=null,f=_t(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Qr(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=T,ei(d,null,c)):Gn(d):Un(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Fn(()=>{p=G(f);var e=p.length;let t=!1;O&&Le(c)===`[!`!=(e===0)&&(c=Ie(),A(c),Pe(!1),t=!0);for(var r=new Set,u=L,v=pn(),y=0;y<e;y+=1){O&&k.nodeType===8&&k.data===`]`&&(c=k,t=!0,Pe(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&Yt(S.v,b),S.i&&Yt(S.i,y),v&&u.unskip_effect(S.e)):(S=$r(l,h?c:Yr??=cn(),b,x,y,o,n,i),h||(S.e.f|=T),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=In(()=>s(c)):(d=In(()=>s(Yr??=cn())),d.f|=T)),e>r.size&&ge(``,``,``),O&&e>0&&A(Ie()),!h)if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);t&&Pe(!0),G(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,O&&(c=k)}function Zr(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Qr(e,t,n,i,a){var o=(i&8)!=0,s=t.length,c=e.items,l=Zr(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&&(Gn(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=T,_===l)ei(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),ti(e,d,_),ti(e,_,y),ei(_,y,n),d=_,p=[],m=[],l=Zr(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],C=p[p.length-1];for(x=0;x<p.length;x+=1)ei(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);ti(e,S.prev,C.next),ti(e,d,S),ti(e,C,b),l=b,d=C,--v,p=[],m=[]}else u.delete(_),ei(_,l,n),ti(e,_.prev,_.next),ti(e,_,d===null?e.effect.first:d.next),ti(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Zr(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Zr(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Jr(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var w=[];if(u!==void 0)for(_ of u)_.f&8192||w.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&w.push(l),l=Zr(l.next);var ee=w.length;if(ee>0){var te=i&4&&s===0?n:null;if(o){for(v=0;v<ee;v+=1)w[v].nodes?.a?.measure();for(v=0;v<ee;v+=1)w[v].nodes?.a?.fix()}qr(e,w,te)}}o&&Je(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function $r(e,t,n,r,i,a,o,s){var c=o&1?o&16?qt(n):R(n,!1,!1):null,l=o&2?qt(i):null;return{v:c,i:l,e:In(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function ei(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=un(r);if(a.before(r),r===i)return;r=o}}function ti(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function ni(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;O&&(o=A(ln(c)))}H(()=>{var e=W;if(s===(s=t()??``)){O&&Fe();return}if(n&&!O){e.nodes=null,c.innerHTML=s,s!==``&&Lr(ln(c),c.lastChild);return}if(e.nodes!==null&&(Vn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(O){for(var a=k.data,l=Fe(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=un(l);if(l===null)throw je(),Ee;Lr(k,u),o=A(l);return}var d=mn(r?`svg`:i?`math`:`template`,r?Oe:i?ke:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Lr(ln(f),f.lastChild),r||i)for(;ln(f);)o.before(ln(f));else o.before(f)}})}var ri=()=>performance.now(),ii={tick:e=>requestAnimationFrame(e),now:()=>ri(),tasks:new Set};function ai(){let e=ii.now();ii.tasks.forEach(t=>{t.c(e)||(ii.tasks.delete(t),t.f())}),ii.tasks.size!==0&&ii.tick(ai)}function oi(e){let t;return ii.tasks.size===0&&ii.tick(ai),{promise:new Promise(n=>{ii.tasks.add(t={c:e,f:n})}),abort(){ii.tasks.delete(t)}}}function si(e,t){yn(()=>{e.dispatchEvent(new CustomEvent(t))})}function ci(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function li(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=ci(n.trim());t[i]=r.trim()}return t}var ui=e=>e,di=null;function fi(e,t,n){var r=(di??W).nodes,i,a,o,s=null;r.a??={element:e,measure(){i=this.element.getBoundingClientRect()},apply(){if(o?.abort(),a=this.element.getBoundingClientRect(),i.left!==a.left||i.right!==a.right||i.top!==a.top||i.bottom!==a.bottom){let e=t()(this.element,{from:i,to:a},n?.());o=mi(this.element,e,void 0,1,()=>{},()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:t,width:n,height:r}=getComputedStyle(e);if(t!==`absolute`&&t!==`fixed`){var a=e.style;s={position:a.position,width:a.width,height:a.height,transform:a.transform},a.position=`absolute`,a.width=n,a.height=r;var o=e.getBoundingClientRect();if(i.left!==o.left||i.top!==o.top){var c=`translate(${i.left-o.left}px, ${i.top-o.top}px)`;a.transform=a.transform?`${a.transform} ${c}`:c}}}},unfix(){if(s){var t=e.style;t.position=s.position,t.width=s.width,t.height=s.height,t.transform=s.transform}}},r.a.element=e}function pi(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return yn(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=mi(t,m(),p,1,()=>{si(t,`introstart`)},()=>{si(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=mi(t,m(),f,0,()=>{si(t,`outrostart`)},()=>{si(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=W;if((g.nodes.t??=[]).push(h),i&&Br){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&An(()=>{Cr(()=>h.in())})}}function mi(e,t,n,r,i,a){var o=r===1;if(d(t)){var s,c=!1;return Je(()=>{c||(s=mi(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:f,deactivate:f,reset:f,t:()=>r};let{delay:l=0,css:u,tick:p,easing:m=ui}=t;var h=[];if(o&&n===void 0&&(p&&p(0,1),u)){var g=li(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var d=!1;if(u)for(var f=Math.ceil(c/(1e3/60)),h=0;h<=f;h+=1){var g=o+s*m(h/f),y=li(u(g,1-g));l.push(y),d||=y.overflow===`hidden`}d&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*m(e/c)},p&&oi(()=>{if(v.playState!==`running`)return!1;var e=_();return p(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,p?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=f)},deactivate:()=>{a=f},reset:()=>{r===0&&p?.(1,0)},t:()=>_()}}function hi(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=hi(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function gi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=hi(e))&&(r&&(r+=` `),r+=t);return r}function _i(e){return typeof e==`object`?gi(e):e??``}var vi=[...`
2
+ \r\f\xA0\v`];function yi(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||vi.includes(r[o-1]))&&(s===r.length||vi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Z(e,t,n,r,i,a){var o=e[ce];if(O||o!==n||o===void 0){var s=yi(n,r,a);(!O||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[ce]=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 bi(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Me();for(var i of t.options)i.selected=n.includes(Ci(i));return}for(i of t.options)if(tn(Ci(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function xi(e){var t=new MutationObserver(()=>{bi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Tn(()=>{t.disconnect()})}function Si(e,t,n=t){var r=new WeakSet,i=!0;bn(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,L!==null&&r.add(L)}),An(()=>{var a=t();if(e===document.activeElement){var o=Be?Tt:L;if(r.has(o))return}if(bi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Ci(s),n(a))}e.__value=a,i=!1}),xi(e)}function Ci(e){return`__value`in e?e.__value:e.value}var wi=Symbol(`is custom element`),Ti=Symbol(`is html`),Ei=pe?`link`:`LINK`;function Q(e){if(O){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Di(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Di(e,`checked`,null),e.checked=r}}};e[de]=n,Je(n),vn()}}function Di(e,t,n,r){var i=Oi(e);O&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ei)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[se]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ai(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Oi(e){return e[E]??={[wi]:e.nodeName.includes(`-`),[Ti]:e.namespaceURI===De}}var ki=new Map;function Ai(e){var t=e.getAttribute(`is`)||e.nodeName,n=ki.get(t);if(n)return n;ki.set(t,n=[]);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.push(s);i=l(i)}return n}function $(e,t,n=t){var r=new WeakSet;bn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ji(e)?Mi(a):a,n(a),L!==null&&r.add(L),await br(),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))}}}),(O&&e.defaultValue!==e.value||Cr(t)==null&&e.value)&&(n(ji(e)?Mi(e.value):e.value),L!==null&&r.add(L)),Pn(()=>{var n=t();if(e===document.activeElement){var i=Be?Tt:L;if(r.has(i))return}ji(e)&&n===Mi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ji(e){var t=e.type;return t===`number`||t===`range`}function Mi(e){return e===``?null:+e}function Ni(e=!1){let t=F,n=t.l.u;if(!n)return;let r=()=>wr(t.s);if(e){let e=0,n={},i=pt(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>G(i)}n.b.length&&On(()=>{Pi(t,r),m(n.b)}),En(()=>{let e=Cr(()=>n.m.map(p));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&En(()=>{Pi(t,r),m(n.a)})}function Pi(e,t){if(e.l.s)for(let t of e.l.s)G(t);t()}function Fi(e,t,n,r){var i=!P||(n&2)!=0,o=(n&8)!=0,s=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>s&&i?(u??=pt(r),G(u)):(l&&(l=!1,c=s?Cr(r):r),c);let f;if(o){var p=ae in e||oe in e;f=a(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;o?[m,h]=it(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&xe(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?pt:_t)(()=>(v=!1,g()));o&&G(y);var b=W;return(function(e,t){if(arguments.length>0){let n=t?G(y):i&&o?$t(e):e;return z(y,n),v=!0,c!==void 0&&(c=n),e}return Qn&&v||b.f&16384?y.v:G(y)})}function Ii(e){F===null&&me(`onMount`),P&&F.l!==null?Ri(F).m.push(e):En(()=>{let t=Cr(e);if(typeof t==`function`)return t})}function Li(e){F===null&&me(`onDestroy`),Ii(()=>()=>Cr(e))}function Ri(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Ve();function zi(e){let t=e-1;return t*t*t+1}function Bi(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=zi}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=Vi(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function Vi(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var Hi=e=>e;function Ui(e){let t=e-1;return t*t*t+1}function Wi(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function Gi(e,{delay:t=0,duration:n=400,easing:r=Hi}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function Ki(e,{delay:t=0,duration:n=400,easing:r=Ui,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=Wi(i),[p,m]=Wi(a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
3
+ transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m});
4
+ opacity: ${c-u*t}`}}var qi=q(`<span class="json-editor-label svelte-1w5oz74"> </span>`),Ji=q(`<div class="status-badge valid svelte-1w5oz74"><span class="status-dot svelte-1w5oz74"></span> Valid JSON</div>`),Yi=q(`<div class="status-badge invalid svelte-1w5oz74"><span class="status-dot svelte-1w5oz74"></span> Malformed JSON</div>`),Xi=q(`<div class="error-msg-banner svelte-1w5oz74"> </div>`),Zi=q(`<div class="raw-editor-view svelte-1w5oz74"><textarea rows="5"></textarea> <div class="json-editor-status-bar svelte-1w5oz74"><!> <div class="status-actions"><button type="button" class="btn btn-secondary btn-sm"><svg viewBox="0 0 24 24" width="12" height="12" style="fill: currentColor; margin-right: 4px;"><path d="M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z"></path></svg> Format</button></div></div> <!></div>`),Qi=q(`<div class="error-visual-fallback card svelte-1w5oz74"><div class="card-body text-center"><svg viewBox="0 0 24 24" width="32" height="32" class="text-danger" style="margin-bottom: 12px; fill: currentColor;"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg> <h4>Cannot Parse Object</h4> <p class="text-muted" style="font-size: 12px; margin: 8px 0 16px;">The current text has formatting errors or is not a valid JSON object. Please fix it in the Raw JSON tab or reset to an empty object.</p> <button type="button" class="btn btn-primary btn-sm">Reset to Empty Object</button></div></div>`),$i=q(`<div class="empty-rows-state svelte-1w5oz74">No custom key-value attributes defined. Click "Add Property" to build your JSON.</div>`),ea=q(`<select class="form-input value-select svelte-1w5oz74"><option>False</option><option>True</option></select>`),ta=q(`<div class="null-placeholder svelte-1w5oz74">null</div>`),na=q(`<input type="number" class="form-input val-input svelte-1w5oz74"/>`),ra=q(`<textarea rows="1" class="form-input val-textarea code svelte-1w5oz74" placeholder="e.g. {&quot;nested&quot;: 1}"></textarea>`),ia=q(`<input type="text" placeholder="value" class="form-input val-input svelte-1w5oz74"/>`),aa=q(`<div class="row-builder-item svelte-1w5oz74"><input type="text" placeholder="key" class="form-input key-input svelte-1w5oz74"/> <select class="form-input type-select svelte-1w5oz74"><option>String</option><option>Number</option><option>Boolean</option><option>Null</option><option>JSON / Object</option></select> <div class="value-input-wrapper svelte-1w5oz74"><!></div> <button type="button" class="btn btn-secondary btn-icon remove-row-btn svelte-1w5oz74" title="Remove Row"><svg viewBox="0 0 24 24" width="14" height="14" style="fill: currentColor;"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"></path></svg></button></div>`),oa=q(`<div class="rows-header-grid svelte-1w5oz74"><span class="header-col svelte-1w5oz74">Property Name</span> <span class="header-col svelte-1w5oz74">Type</span> <span class="header-col svelte-1w5oz74">Value</span> <span class="header-col action-col svelte-1w5oz74"></span></div> <div class="rows-list svelte-1w5oz74"></div>`,1),sa=q(`<div class="visual-rows-container svelte-1w5oz74"><!> <div class="visual-actions-footer svelte-1w5oz74"><button type="button" class="btn btn-secondary btn-sm"><svg viewBox="0 0 24 24" width="14" height="14" style="fill: currentColor; margin-right: 4px;"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path></svg> Add Property</button></div></div>`),ca=q(`<div class="visual-editor-view svelte-1w5oz74"><!></div>`),la=q(`<div class="json-editor-container svelte-1w5oz74"><div class="json-editor-header svelte-1w5oz74"><!> <div class="json-editor-tabs svelte-1w5oz74"><button type="button"><svg viewBox="0 0 24 24" class="tab-icon svelte-1w5oz74"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></svg> Raw JSON</button> <button type="button"><svg viewBox="0 0 24 24" class="tab-icon svelte-1w5oz74"><path d="M4 14h6v-4H4v4zm0 5h6v-4H4v4zM4 9h6V5H4v4zm10 5h6v-4h-6v4zm0 5h6v-4h-6v4zM14 5v4h6V5h-6z"></path></svg> Visual Builder</button></div></div> <div class="json-editor-content svelte-1w5oz74"><!></div></div>`);function ua(e,t){Ue(t,!1);let n=Fi(t,`value`,12,``),r=Fi(t,`placeholder`,8,`e.g. {"status": "active"}`),i=Fi(t,`label`,8,``),a=Fi(t,`required`,8,!1),o=R(`raw`),s=R(n()||``),c=R(!0),l=R(``),u=R([]);function d(){return Math.random().toString(36).substring(2,9)}function f(){if(!G(s).trim()){z(c,!0),z(l,``),z(u,[]);return}try{let e=JSON.parse(G(s));z(c,!0),z(l,``),e&&typeof e==`object`&&!Array.isArray(e)?z(u,Object.entries(e).map(([e,t])=>{let n=`string`,r=t;return t===null?(n=`null`,r=``):typeof t==`number`?n=`number`:typeof t==`boolean`?n=`boolean`:typeof t==`object`&&(n=`json`,r=JSON.stringify(t)),{id:d(),key:e,val:r,type:n}})):z(u,[])}catch(e){z(c,!1),z(l,e.message)}}function p(){n(G(s)),f()}function m(){if(G(s).trim())try{let e=JSON.parse(G(s));z(s,JSON.stringify(e,null,2)),n(G(s)),z(c,!0),z(l,``),f()}catch(e){z(c,!1),z(l,e.message)}}function h(){let e={};for(let t of G(u)){if(!t.key.trim())continue;let n;if(t.type===`number`)n=t.val===``?0:Number(t.val);else if(t.type===`boolean`)n=t.val===!0||t.val===`true`;else if(t.type===`null`)n=null;else if(t.type===`json`)try{n=JSON.parse(t.val)}catch{n=t.val}else n=t.val;e[t.key]=n}z(s,JSON.stringify(e,null,2)),n(G(s)),z(c,!0),z(l,``)}function g(){z(u,[...G(u),{id:d(),key:``,val:``,type:`string`}])}function _(e){z(u,G(u).filter(t=>t.id!==e)),h()}function v(){h()}function y(e,t){let n=t.target.value;e.type=n,n===`boolean`?e.val=!1:n===`null`?e.val=``:n===`number`?e.val=0:n===`json`?e.val=`{}`:e.val=``,h()}function b(e){z(o,e),e===`visual`&&f()}function x(){z(s,`{}`),n(`{}`),z(c,!0),z(l,``),z(u,[]),z(o,`visual`),f()}Ii(()=>{f()}),jn(()=>(wr(n()),G(s)),()=>{n()!==G(s)&&(z(s,n()||``),f())}),Mn(),Ni();var S=la(),C=B(S),w=B(C),ee=e=>{var t=qi(),n=B(t);j(t),H(()=>Y(n,`${i()??``} ${a()?`*`:``}`)),J(e,t)};X(w,e=>{i()&&e(ee)});var T=V(w,2),te=B(T),ne=V(te,2);j(T),j(C);var re=V(C,2),ie=B(re),ae=e=>{var t=Zi(),n=B(t);gn(n);var i=V(n,2),o=B(i),u=e=>{J(e,Ji())},d=e=>{var t=Yi();H(()=>Di(t,`title`,G(l))),J(e,t)};X(o,e=>{G(c)?e(u):e(d,-1)});var f=V(o,2),h=B(f);j(f),j(i);var g=V(i,2),_=e=>{var t=Xi(),n=B(t,!0);j(t),H(()=>Y(n,G(l))),J(e,t)};X(g,e=>{!G(c)&&G(l)&&e(_)}),j(t),H(()=>{Z(n,1,`form-input code raw-textarea ${G(c)?``:`invalid-border`}`,`svelte-1w5oz74`),Di(n,`placeholder`,r()),n.required=a()}),$(n,()=>G(s),e=>z(s,e)),K(`input`,n,p),K(`click`,h,m),J(e,t)},oe=e=>{var t=ca(),n=B(t),r=e=>{var t=Qi(),n=B(t),r=V(B(n),6);j(n),j(t),K(`click`,r,x),J(e,t)},i=e=>{var t=sa(),n=B(t),r=e=>{J(e,$i())},i=e=>{var t=oa(),n=V(dn(t),2);Xr(n,5,()=>G(u),e=>e.id,(e,t,n)=>{var r=aa(),i=B(r);Q(i);var a=V(i,2),o=B(a);o.value=o.__value=`string`;var s=V(o);s.value=s.__value=`number`;var c=V(s);c.value=c.__value=`boolean`;var l=V(c);l.value=l.__value=`null`;var d=V(l);d.value=d.__value=`json`,j(a);var f;xi(a);var p=V(a,2),m=B(p),h=e=>{var n=ea(),r=B(n);r.value=r.__value=!1;var i=V(r);i.value=i.__value=!0,j(n),Si(n,()=>G(t).val,e=>(G(t).val=e,Xn(()=>G(u)),Xn(()=>{}))),K(`change`,n,v),J(e,n)},g=e=>{J(e,ta())},b=e=>{var n=na();Q(n),$(n,()=>G(t).val,e=>(G(t).val=e,Xn(()=>G(u)),Xn(()=>{}))),K(`input`,n,v),J(e,n)},x=e=>{var n=ra();gn(n),$(n,()=>G(t).val,e=>(G(t).val=e,Xn(()=>G(u)),Xn(()=>{}))),K(`input`,n,v),J(e,n)},S=e=>{var n=ia();Q(n),$(n,()=>G(t).val,e=>(G(t).val=e,Xn(()=>G(u)),Xn(()=>{}))),K(`input`,n,v),J(e,n)};X(m,e=>{G(t),Cr(()=>G(t).type===`boolean`)?e(h):(G(t),Cr(()=>G(t).type===`null`)?e(g,1):(G(t),Cr(()=>G(t).type===`number`)?e(b,2):(G(t),Cr(()=>G(t).type===`json`)?e(x,3):e(S,-1))))}),j(p);var C=V(p,2);j(r),H(()=>{f!==(f=(G(t),Cr(()=>G(t).type)))&&(a.value=(a.__value=(G(t),Cr(()=>G(t).type)))??``,bi(a,(G(t),Cr(()=>G(t).type))))}),$(i,()=>G(t).key,e=>(G(t).key=e,Xn(()=>G(u)),Xn(()=>{}))),K(`input`,i,v),K(`change`,a,e=>y(G(t),e)),K(`click`,C,()=>_(G(t).id)),J(e,r)}),j(n),J(e,t)};X(n,e=>{G(u),Cr(()=>G(u).length===0)?e(r):e(i,-1)});var a=V(n,2),o=B(a);j(a),j(t),K(`click`,o,g),J(e,t)};X(n,e=>{G(c)?e(i,-1):e(r)}),j(t),J(e,t)};X(ie,e=>{G(o)===`raw`?e(ae):e(oe,-1)}),j(re),j(S),H(()=>{Z(te,1,`json-tab-btn ${G(o)===`raw`?`active`:``}`,`svelte-1w5oz74`),Z(ne,1,`json-tab-btn ${G(o)===`visual`?`active`:``}`,`svelte-1w5oz74`)}),K(`click`,te,()=>b(`raw`)),K(`click`,ne,()=>b(`visual`)),J(e,S),We()}var da=q(`<div class="modal-overlay active" style="z-index: 10000; background: rgba(5, 6, 12, 0.95);"><div class="modal-card" style="border-color: rgba(99, 102, 241, 0.3); box-shadow: 0 0 40px rgba(99, 102, 241, 0.25);"><div class="modal-header" style="justify-content: center; border-bottom: none; padding-top: 30px;"><span class="brand-logo" style="width: 44px; height: 44px; font-size: 18px;">tg</span></div> <div class="modal-body" style="padding-top: 10px;"><h2 class="text-center" style="font-size: 20px; font-weight: 700; margin-bottom: 8px;">thingd Security Shield</h2> <p class="text-muted text-center" style="font-size: 13.5px; margin-bottom: 24px;">This database instance is protected. Enter the authorization bearer token to gain access.</p> <form><div class="form-group"><label for="auth-key">Authorization Bearer Token *</label> <input type="password" id="auth-key" placeholder="Enter auth token..." class="form-input text-center" style="letter-spacing: 2px;" required=""/></div> <div class="modal-footer" style="justify-content: center; margin-top: 20px;"><button type="submit" class="btn btn-primary" style="width: 100%; height: 42px;">Unlock Dashboard</button></div></form></div></div></div>`),fa=q(`<button class="btn btn-sm btn-secondary" style="width: 100%;">Lock Session</button>`),pa=q(`<div class="log-line"><span class="text-muted"> </span> <span> </span></div>`),ma=q(`<div class="tab-panel active"><div class="metrics-grid"><div class="metric-card"><div class="metric-icon objects-icon"><svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H7c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.04-.42 1.99-1.07 2.75z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Total Memory Objects</span></div></div> <div class="metric-card"><div class="metric-icon events-icon"><svg viewBox="0 0 24 24"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Appended Events</span></div></div> <div class="metric-card"><div class="metric-icon queues-icon"><svg viewBox="0 0 24 24"><path d="M19 15v3H5v-3h14m2-2H3v7h18v-7zM19 5v3H5V5h14m2-2H3v7h18V3z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Active Queue Jobs</span></div></div> <div class="metric-card"><div class="metric-icon dead-icon"><svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Dead / Poison Jobs</span></div></div></div> <div class="row-flex"><div class="card glass flex-2"><div class="card-header"><h2>Memory Engine Overview</h2></div> <div class="card-body"><div class="info-table"><div class="info-row"><span class="info-label">Active Connection</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Storage Engine</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Database Disk Size</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Local Host Port</span> <span class="info-val">8758</span></div></div></div></div> <div class="card glass flex-1"><div class="card-header"><h2>Developer Console</h2></div> <div class="card-body terminal-panel"><div class="terminal-header"><span class="terminal-dot red"></span> <span class="terminal-dot yellow"></span> <span class="terminal-dot green"></span> <span class="terminal-title">quick diagnostics</span></div> <div class="terminal-body" style="max-height: 180px; overflow-y: auto;"></div></div></div></div></div>`),ha=q(`<div class="empty-state">No collections found.</div>`),ga=q(`<button><span class="item-name"> </span> <span class="item-count-badge">coll</span></button>`),_a=q(`<tr><td colspan="5" class="text-center text-muted">Please select a collection from the sidebar to inspect items.</td></tr>`),va=q(`<tr><td colspan="5" class="text-center text-muted">This collection is currently empty.</td></tr>`),ya=q(`<tr><td class="code-cell font-weight-bold"> </td><td class="text-cell"> </td><td class="code-cell"> </td><td class="text-muted" style="font-size: 11px;"> </td><td><div class="btn-group gap-sm"><button class="btn btn-sm btn-secondary">Edit</button> <button class="btn btn-sm btn-danger">Delete</button></div></td></tr>`),ba=q(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header side-header"><h3>Collections</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header"><h3> </h3> <div class="header-actions"><button class="btn btn-primary">Add Memory Object</button></div></div> <div class="card-body flex-column scroll-y"><div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Object ID</th><th>Text Content</th><th>Custom Data</th><th>Created At</th><th>Actions</th></tr></thead><tbody><!></tbody></table></div></div></div></div></div>`),xa=q(`<div class="empty-state">No event streams found.</div>`),Sa=q(`<button><span class="item-name"> </span> <span class="item-count-badge">stream</span></button>`),Ca=q(`<div class="timeline-empty">Please choose a stream from the sidebar.</div>`),wa=q(`<div class="timeline-empty">This stream has no logged events yet.</div>`),Ta=q(`<pre class="timeline-data scroll-x"> </pre>`),Ea=q(`<div><div class="timeline-marker"></div> <div class="timeline-card"><div class="timeline-header"><div class="timeline-title"><span class="timeline-badge"> </span> <span class="text-dark font-weight-bold" style="font-size: 11px;"> </span></div> <span class="timeline-time"> </span></div> <div class="timeline-text"> </div> <!></div></div>`),Da=q(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header"><h3>Event Streams</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header"><h3> </h3> <div class="header-actions"><button class="btn btn-primary">Append Event</button></div></div> <div class="card-body scroll-y timeline-viewport"><div class="timeline"><!></div></div></div></div></div>`),Oa=q(`<div class="empty-state">No active queues found.</div>`),ka=q(`<button><span class="item-name"> </span> <span class="item-count-badge">queue</span></button>`),Aa=q(`<div class="queue-stats-bar"><span class="badge badge-ready"> </span> <span class="badge badge-leased"> </span> <span class="badge badge-dead"> </span></div>`),ja=q(`<tr><td colspan="7" class="text-center text-muted">No queue selected.</td></tr>`),Ma=q(`<tr><td colspan="7" class="text-center text-muted">No active jobs in this queue.</td></tr>`),Na=q(`<tr><td class="code-cell font-weight-bold"> </td><td><span> </span></td><td class="text-center"> </td><td class="text-center"> </td><td class="code-cell"> </td><td class="text-muted" style="font-size: 11px;"> </td><td><button class="btn btn-sm btn-secondary">Inspect Ops</button></td></tr>`),Pa=q(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Job ID</th><th>Status</th><th>Attempts</th><th>Max Attempts</th><th>Payload</th><th>Available At</th><th>Actions</th></tr></thead><tbody><!></tbody></table></div>`),Fa=q(`<tr><td colspan="6" class="text-center text-muted">No queue selected.</td></tr>`),Ia=q(`<tr><td colspan="6" class="text-center text-muted">No poison or dead jobs reported.</td></tr>`),La=q(`<tr><td class="code-cell font-weight-bold"> </td><td class="text-center"> </td><td class="text-center"> </td><td class="text-muted" style="font-size: 11px;"> </td><td class="text-danger"> </td><td class="code-cell"> </td></tr>`),Ra=q(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Job ID</th><th>Attempts</th><th>Max Attempts</th><th>Dead At</th><th>Last Error</th><th>Payload</th></tr></thead><tbody><!></tbody></table></div>`),za=q(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header"><h3>Queues</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header flex-column-mobile"><div class="header-details"><h3> </h3> <!></div> <div class="header-actions gap-sm"><button class="btn btn-secondary">Push Job</button> <button class="btn btn-secondary">Claim Next</button></div></div> <div class="card-body flex-column scroll-y"><div class="tabs-subnav"><button> </button> <button> </button></div> <!></div></div></div></div>`),Ba=q(`<tr><td colspan="5" class="text-center text-muted">Enter a search query above and click 'Run Search' to inspect FTS5 matching.</td></tr>`),Va=q(`<tr><td><span class="badge badge-leased"> </span></td><td class="code-cell font-weight-bold"> </td><td style="font-size: 13px;"></td><td class="code-cell"> </td><td class="font-weight-bold text-success"> </td></tr>`),Ha=q(`<div class="tab-panel active"><div class="card glass fill-height flex-column"><div class="card-header"><h2>Stemming Search Tester (FTS5 Engine)</h2></div> <div class="card-body flex-column scroll-y"><div class="search-form-grid"><div class="form-group flex-3"><label for="search-query">Stemmed Search Query</label> <div class="search-input-group"><input type="text" id="search-query" placeholder="e.g. agent memory, scheduler OR heartbeat..." class="form-input search-input"/> <button class="btn btn-primary">Run Search</button></div></div> <div class="form-group flex-1"><label for="search-limit">Limit</label> <input type="number" id="search-limit" class="form-input" min="1"/></div></div> <div class="row-flex gap-lg"><div class="form-group flex-1"><label for="search-cols">Filter Collections (optional comma list)</label> <input type="text" id="search-cols" placeholder="e.g. system, schedules" class="form-input"/></div> <div class="form-group flex-1"><label for="search-meta">Metadata Filter JSON (optional)</label> <input type="text" id="search-meta" placeholder="e.g. {&quot;status&quot;:&quot;active&quot;}" class="form-input"/></div></div> <div class="search-results-section"><h4 class="section-title"> </h4> <div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Collection</th><th>Object ID</th><th>Stemmed / Highlighted Text Match</th><th>Custom Metadata</th><th>Score</th></tr></thead><tbody><!></tbody></table></div></div></div></div></div>`),Ua=q(`<div class="card glass" style="margin: 12px 0; padding: 16px;"><h4 style="margin: 0 0 12px 0;">LLM Configuration</h4> <div class="row-flex gap-lg"><div class="form-group flex-1"><label for="nlq-model">Model</label> <input type="text" id="nlq-model" placeholder="llama3" class="form-input"/></div> <div class="form-group flex-2"><label for="nlq-endpoint">Endpoint</label> <input type="text" id="nlq-endpoint" placeholder="http://localhost:11434/v1" class="form-input"/></div> <div class="form-group flex-1"><label for="nlq-apikey">API Key (optional)</label> <input type="password" id="nlq-apikey" placeholder="sk-..." class="form-input"/></div></div> <button class="btn btn-sm btn-primary" style="margin-top: 8px;">Save Settings</button></div>`),Wa=q(`<span class="badge badge-queued" style="margin: 2px;"> <span class="text-muted"> </span></span>`),Ga=q(`<div style="margin-bottom: 12px;"><strong style="color: var(--color-primary);"> </strong> <span class="text-muted" style="margin-left: 8px;"> </span> <div style="margin-top: 4px; font-size: 12px;"></div></div>`),Ka=q(`<div class="card glass" style="margin: 12px 0; padding: 16px;"><h4 style="margin: 0 0 12px 0;">Schema</h4> <!></div>`),qa=q(`<p class="text-muted" style="margin: 12px 0;">Click "Show Schema" to load schema.</p>`),Ja=q(`<div class="search-results-section"><p class="text-muted">Querying LLM and executing...</p></div>`),Ya=q(`<th>Group</th> <th>Value</th>`,1),Xa=q(`<td colspan="2"></td>`),Za=q(`<tr><td></td><td><span class="badge badge-leased"> </span></td><td class="font-weight-bold"> </td></tr>`),Qa=q(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Total</th><!></tr></thead><tbody><tr><td class="font-weight-bold text-success"> </td><!></tr><!></tbody></table></div>`),$a=q(`<tr><td> </td><td class="font-weight-bold"> </td></tr>`),eo=q(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Bucket</th><th>Value</th></tr></thead><tbody></tbody></table></div>`),to=q(`<tr><td><span class="badge badge-leased"> </span></td><td class="code-cell"> </td><td class="font-weight-bold text-success"> </td></tr>`),no=q(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Collection</th><th>ID</th><th>Score</th></tr></thead><tbody></tbody></table></div>`),ro=q(`<div class="search-results-section"><div class="card glass" style="margin-bottom: 12px; padding: 16px;"><h4 style="margin: 0 0 4px 0;">Answer</h4> <p style="font-size: 16px;"> </p></div> <!> <details style="margin-top: 12px;"><summary style="cursor: pointer; color: var(--text-muted); font-size: 12px;">Raw JSON</summary> <pre class="code-block" style="margin-top: 8px;"> </pre></details></div>`),io=q(`<div class="search-results-section"><p class="text-muted">Ask a question above to query your data using natural language.</p></div>`),ao=q(`<div class="tab-panel active"><div class="card glass fill-height flex-column"><div class="card-header" style="display: flex; justify-content: space-between; align-items: center;"><h2>Natural Language Query</h2> <div style="display: flex; gap: 8px;"><button class="btn btn-sm btn-secondary"> </button> <button class="btn btn-sm btn-secondary">⚙️ Settings</button></div></div> <div class="card-body flex-column scroll-y"><div class="search-form-grid"><div class="form-group flex-3"><label for="nlq-question">Ask a question about your data</label> <div class="search-input-group"><input type="text" id="nlq-question" placeholder="e.g. total revenue by region, most recent events, count of all objects..." class="form-input search-input"/> <button class="btn btn-primary"> </button></div></div> <div class="form-group flex-1"><label for="nlq-collection">Collection (optional)</label> <input type="text" id="nlq-collection" placeholder="e.g. orders" class="form-input"/></div></div> <!> <!> <!></div></div></div>`),oo=q(`<span> </span>`),so=q(`<div class="tab-panel active"><div class="card glass fill-height flex-column"><div class="card-header"><h2>Database Health</h2></div> <div class="card-body scroll-y"><div class="metrics-grid"><div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">Integrity Check</div> <div class="metric-detail"> </div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Run Check</button></div> <div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">WAL Mode</div> <div class="metric-detail"> </div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Run Checkpoint</button></div> <div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">Last Backup</div> <div class="metric-detail"><!></div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Create Backup</button></div></div></div></div></div>`),co=q(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3> </h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="obj-id">Object ID *</label> <input type="text" id="obj-id" placeholder="e.g. config-123" class="form-input" required=""/></div> <div class="form-group"><label for="obj-text">Text Content (indexed for stemming search)</label> <textarea id="obj-text" placeholder="Enter text..." class="form-input" rows="4"></textarea></div> <div class="form-group"><!></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Save Object</button></div></form></div></div></div>`),lo=q(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Append Memory Event</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="ev-stream">Stream Name *</label> <input type="text" id="ev-stream" placeholder="e.g. logs" class="form-input" required=""/></div> <div class="form-group"><label for="ev-type">Event Type *</label> <input type="text" id="ev-type" placeholder="e.g. decision" class="form-input" required=""/></div> <div class="form-group"><label for="ev-text">Event Text</label> <input type="text" id="ev-text" placeholder="Enter message..." class="form-input"/></div> <div class="form-group"><!></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Append Event</button></div></form></div></div></div>`),uo=q(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Push Job onto Queue</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><!></div> <div class="row-flex gap-md"><div class="form-group flex-1"><label for="job-delay">Delay (ms)</label> <input type="number" id="job-delay" placeholder="0" class="form-input" min="0"/></div> <div class="form-group flex-1"><label for="job-attempts">Max Attempts</label> <input type="number" id="job-attempts" class="form-input" min="1"/></div></div> <div class="form-group"><label for="job-idempotency">Idempotency Key (optional)</label> <input type="text" id="job-idempotency" placeholder="e.g. lock-1" class="form-input"/></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Push Job</button></div></form></div></div></div>`),fo=q(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Claim Next Queue Job</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="claim-lease">Lease Duration (ms)</label> <input type="number" id="claim-lease" placeholder="60000" class="form-input" min="1000"/> <span class="input-tip">Lock period in ms.</span></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Claim Job</button></div></form></div></div></div>`),po=q(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Connection Settings</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="conn-drv">Storage Driver *</label> <select id="conn-drv" class="form-input" style="background: rgba(0, 0, 0, 0.4);"><option>In-Memory Store</option><option>Native SQLite (FTS5)</option><option>Cloud Endpoint</option></select></div> <div class="form-group"><label for="conn-pth">Database Path / Endpoint URL *</label> <input type="text" id="conn-pth" placeholder="e.g. :memory: or database.db" class="form-input" required=""/></div> <div class="form-group"><label for="conn-tok">Bearer Security Token (optional)</label> <input type="password" id="conn-tok" placeholder="Security authorization key..." class="form-input"/></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Connect</button></div></form></div></div></div>`),mo=q(`<form class="nack-details-form form-group mt-md"><div class="form-group"><label for="nack-err">Error Message (optional)</label> <input type="text" id="nack-err" placeholder="e.g. failure..." class="form-input"/></div> <div class="form-group"><label for="nack-del">Retry Delay (ms)</label> <input type="number" id="nack-del" class="form-input"/></div> <button type="submit" class="btn btn-primary">Submit Nack</button></form>`),ho=q(`<div class="ops-controls"><h4 class="ops-section-title">Ack / Nack Supervisor (Resolve Job)</h4> <div class="btn-group gap-md" style="display: flex;"><button class="btn btn-success flex-1">Acknowledge Job (Ack)</button> <button class="btn btn-warning flex-1">Reject / Fail Job (Nack)</button></div> <!></div>`),go=q(`<div class="modal-overlay active"><div class="modal-card wide"><div class="modal-header"><h3>Queue Job Operations</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body flex-column"><div class="job-detail-card"><div class="info-row"><span class="info-label">Job ID</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Queue</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Status</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Attempts</span> <span class="info-val"> </span></div> <div class="info-group"><label for="payload-ops-view">Payload JSON</label> <pre id="payload-ops-view" class="code-view block scroll-x"> </pre></div></div> <!></div></div></div>`),_o=q(`<div><div class="toast-message"> </div></div>`),vo=q(`<!> <div class="app-container"><aside class="sidebar"><div class="sidebar-brand"><span class="brand-logo">tg</span> <span class="brand-text">thingd<span class="version-badge"> </span></span></div> <nav class="sidebar-nav"><button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"></path></svg> Dashboard Status</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0-2-.9-2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12z"></path></svg> Collections & Objects</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></svg> Event Log Stream</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M19 15v3H5v-3h14m2-2H3v7h18v-7zM19 5v3H5V5h14m2-2H3v7h18V3z"></path></svg> Queues & Background Jobs</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg> Stemming FTS5 Tester</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17L4 17.17V4h16v12z"></path></svg> NLQ Query</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path></svg> Database Health</button></nav> <div class="sidebar-footer" style="display: flex; flex-direction: column; gap: 10px;"><div class="status-indicator"><span class="pulse-dot"></span> <span class="status-text"> </span></div> <!></div></aside> <main class="main-panel"><header class="topbar"><div class="topbar-left"><h1><!> <!> <!> <!> <!> <!> <!></h1></div> <div class="topbar-right"><div class="connection-meta"><span class="meta-label">Driver:</span> <span class="meta-val"> </span> <span class="meta-sep">|</span> <span class="meta-label">Path:</span> <span class="meta-val path-val"> </span> <span class="meta-sep">|</span> <span class="meta-label">Size:</span> <span class="meta-val"> </span></div> <button class="btn btn-secondary btn-icon"><svg viewBox="0 0 24 24" width="16" height="16" style="fill: currentColor;"><path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87c-0.12,0.21-0.08,0.47,0.12,0.61l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12c0,0.31,0.04,0.64,0.09,0.94l-2.03,1.58c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6c0-1.98,1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6C15.6,13.98,13.98,15.6,12,15.6z"></path></svg> Settings</button> <button class="btn btn-secondary btn-icon"><svg viewBox="0 0 24 24" width="16" height="16" style="fill: currentColor;"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"></path></svg> Refresh</button></div></header> <div class="view-viewport"><!> <!> <!> <!> <!> <!> <!></div></main></div> <!> <!> <!> <!> <!> <!> <div class="toast-container" id="toast-container"></div>`,1);function yo(e,t){Ue(t,!1);let n=R(`metrics`),r=R(`Connecting...`),i=R(`-`),a=R(`-`),o=R(`N/A`),s=R({objects:0,events:0,activeJobs:0,deadJobs:0}),c=R({integrityOk:!1,integrityMessage:`Not checked`,walMode:`-`,walFrames:0,backupPath:``,backupSize:0}),l=R(``),u=R([{time:new Date().toLocaleTimeString(),text:`Svelte Dashboard loaded successfully.`,type:`muted`},{time:new Date().toLocaleTimeString(),text:`Establishing database connections...`,type:`info`}]),d=R(localStorage.getItem(`thingd_auth_token`)||``),f=R(!1),p=R(``),m=R([]),h=R(null),g=R([]),_=R([]),v=R(null),y=R([]),b=R([]),x=R(null),S=R({queue:``,totalActive:0,ready:0,leased:0,dead:0}),C=R([]),w=R([]),ee=R(`active`),T=R(null),te=R(``),ne=R(20),re=R(``),ie=R(``),ae=R([]),oe=R(``),se=R(``),E=R(null),ce=R(!1),le=R(null),ue=R(!1),de=R(localStorage.getItem(`thingd_nlq_model`)||`llama3`),fe=R(localStorage.getItem(`thingd_nlq_endpoint`)||`http://localhost:11434/v1`),pe=R(localStorage.getItem(`thingd_nlq_api_key`)||``),me=R(!1),he=R(new Set);function ge(e){G(he).add(e),z(he,G(he)),setTimeout(()=>{G(he).delete(e),z(he,G(he))},1500)}let _e=R(!1),ve=R(!1),ye=R(!1),be=R(!1),xe=R(!1),Se=R(!1),Ce=R(!1),we=R(!1),Te=R(``),Ee=R(``),D=R(``),De=R(``),Oe=R(``),ke=R(``),Ae=R(``),je=R(``),Me=R(0),Ne=R(5),O=R(``),Pe=R(6e4),k=R(``),A=R(0),Fe=R(`memory`),Ie=R(`:memory:`),Le=R(``),Re=R([]);function N(e,t=`info`){let n=Date.now()+Math.random();z(Re,[...G(Re),{id:n,message:e,type:t}]),setTimeout(()=>{z(Re,G(Re).filter(e=>e.id!==n))},4e3)}function ze(e,t=``){let n=new Date().toLocaleTimeString();z(u,[...G(u),{time:n,text:e,type:t}]),G(u).length>50&&z(u,G(u).slice(-50))}function Be(e){return e?e.toString().replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`):``}async function P(e,t={}){let n={"Content-Type":`application/json`};G(d)&&(n.Authorization=`Bearer ${G(d)}`);try{let r=await fetch(e,{headers:n,...t});if(r.status===401)throw z(f,!0),N(`Authentication token required.`,`warning`),Error(`Unauthorized`);let i=r.headers.get(`content-type`)?.includes(`application/json`)?await r.json():await r.text();if(!r.ok)throw Error(i?.error||`HTTP ${r.status}: ${r.statusText}`);return i}catch(t){throw console.error(`API Error on ${e}:`,t),t}}async function Ve(){try{let e=await P(`/api/status`);z(r,`Active (Localhost)`),z(i,e.driver===`memory`?`In-Memory Store`:e.driver===`native`?`Native SQLite (FTS5)`:`Cloud Endpoint`),z(a,e.path),z(o,e.metrics.dbSize||`N/A`),z(s,e.metrics),z(l,e.version||``),z(f,!1)}catch(e){e.message!==`Unauthorized`&&(z(r,`Disconnected`),z(i,`Disconnected`),z(a,`-`),z(o,`N/A`),ze(`Status synchronization failed: ${e.message}`,`danger`))}}function F(e){if(e.preventDefault(),!G(p).trim()){N(`Token is required.`,`warning`);return}z(d,G(p).trim()),localStorage.setItem(`thingd_auth_token`,G(d)),z(f,!1),N(`Token registered successfully.`,`success`),ze(`Custom security authorization key set.`),Ge()}function He(){z(d,``),localStorage.removeItem(`thingd_auth_token`),z(f,!0),N(`Secure session logged out.`,`info`)}function Ge(){Ve(),G(n)===`collections`&&qe(),G(n)===`events`&&$e(),G(n)===`queues`&&it()}function Ke(e){z(n,e),e===`collections`?qe():e===`events`?$e():e===`queues`&&it()}async function qe(){try{z(m,await P(`/api/collections`))}catch(e){e.message!==`Unauthorized`&&N(`Failed to fetch collections: ${e.message}`,`error`)}}async function Je(e){z(h,e),Ye()}async function Ye(){if(G(h))try{z(g,await P(`/api/objects?collection=${encodeURIComponent(G(h))}`))}catch(e){e.message!==`Unauthorized`&&N(`Failed to load objects: ${e.message}`,`error`)}}function Xe(){z(Ce,!1),z(Te,``),z(Ee,``),z(D,``),z(_e,!0)}function Ze(e){z(Ce,!0),z(Te,e.id),z(Ee,e.text||``);let t={...e};delete t.id,delete t.text,delete t.collection,delete t.createdAt,delete t.updatedAt,delete t.version,z(D,Object.keys(t).length>0?JSON.stringify(t,null,2):``),z(_e,!0)}async function Qe(e){e.preventDefault();let t={};if(G(D).trim())try{t=JSON.parse(G(D))}catch{N(`Custom data must be valid JSON.`,`error`);return}try{await P(`/api/objects`,{method:`POST`,body:JSON.stringify({collection:G(h),id:G(Te),text:G(Ee),data:t})}),N(`Object "${G(Te)}" saved successfully.`,`success`),ze(`Saved object "${G(Te)}" in collection "${G(h)}".`),z(_e,!1),ge(G(Te)),Ye(),Ve()}catch(e){N(`Save failed: ${e.message}`,`error`)}}async function I(e){if(confirm(`Are you sure you want to delete object "${e}"?`))try{await P(`/api/objects?collection=${encodeURIComponent(G(h))}&id=${encodeURIComponent(e)}`,{method:`DELETE`}),N(`Object "${e}" deleted.`,`success`),ze(`Deleted object "${e}" from collection "${G(h)}".`,`warning`),Ye(),Ve()}catch(e){N(`Deletion failed: ${e.message}`,`error`)}}async function $e(){try{z(_,await P(`/api/events/streams`))}catch(e){e.message!==`Unauthorized`&&N(`Failed to fetch event streams: ${e.message}`,`error`)}}function et(e){z(v,e),tt()}async function tt(){if(G(v))try{z(y,await P(`/api/events?stream=${encodeURIComponent(G(v))}`))}catch(e){e.message!==`Unauthorized`&&N(`Failed to load event timeline: ${e.message}`,`error`)}}function nt(){z(De,G(v)||``),z(Oe,``),z(ke,``),z(Ae,``),z(ve,!0)}async function rt(e){e.preventDefault();let t={};if(G(Ae).trim())try{t=JSON.parse(G(Ae))}catch{N(`Event payload must be valid JSON.`,`error`);return}try{await P(`/api/events`,{method:`POST`,body:JSON.stringify({stream:G(De),type:G(Oe),text:G(ke),data:t})}),N(`Event logged successfully.`,`success`),ze(`Appended event [${G(Oe)}] to stream "${G(De)}".`),z(ve,!1),ge(G(De)),$e(),G(v)===G(De)?tt():et(G(De)),Ve()}catch(e){N(`Failed to append event: ${e.message}`,`error`)}}async function it(){try{z(b,await P(`/api/queues`))}catch(e){e.message!==`Unauthorized`&&N(`Failed to fetch queues: ${e.message}`,`error`)}}async function at(e){z(x,e),ot(),st()}async function ot(){if(G(x))try{z(S,await P(`/api/queues/stats?queue=${encodeURIComponent(G(x))}`))}catch(e){console.error(e)}}async function st(){if(G(x))try{let[e,t]=await Promise.all([P(`/api/queues/jobs?queue=${encodeURIComponent(G(x))}&status=active`),P(`/api/queues/jobs?queue=${encodeURIComponent(G(x))}&status=dead`)]);z(C,e),z(w,t)}catch(e){e.message!==`Unauthorized`&&N(`Failed to load jobs list: ${e.message}`,`error`)}}function ct(){z(je,``),z(Me,0),z(Ne,5),z(O,``),z(ye,!0)}async function lt(e){e.preventDefault();let t={};try{t=JSON.parse(G(je))}catch{N(`Payload must be valid JSON object.`,`error`);return}try{let e=await P(`/api/queues/push`,{method:`POST`,body:JSON.stringify({queue:G(x),payload:t,delayMs:G(Me),maxAttempts:G(Ne),idempotencyKey:G(O)||void 0})});N(`Job "${e.id}" pushed onto queue.`,`success`),ze(`Pushed job ID "${e.id}" onto queue "${G(x)}".`),z(ye,!1),ge(e.id),ot(),st(),Ve()}catch(e){N(`Failed to push job: ${e.message}`,`error`)}}function ut(){z(Pe,6e4),z(be,!0)}async function dt(e){e.preventDefault();try{let e=await P(`/api/queues/claim`,{method:`POST`,body:JSON.stringify({queue:G(x),leaseMs:G(Pe)})});if(!e){N(`No ready jobs available in queue.`,`warning`),ze(`No ready jobs available in queue "${G(x)}".`,`warning`),z(be,!1);return}N(`Claimed job ID: "${e.id}"`,`success`),ze(`Claimed job ID "${e.id}" from queue "${G(x)}".`,`success`),z(be,!1),ot(),st(),Ve(),ft(e)}catch(e){N(`Claim failed: ${e.message}`,`error`)}}function ft(e){z(T,e),z(we,!1),z(k,``),z(A,0),z(xe,!0)}async function pt(){if(!G(T))return;let e=G(T).id;try{await P(`/api/queues/ack`,{method:`POST`,body:JSON.stringify({queue:G(x),jobId:e})}),N(`Job "${e}" acknowledged (ACK).`,`success`),ze(`Acknowledged (ACK) job "${e}" from queue "${G(x)}".`,`success`),z(xe,!1),ot(),st(),Ve()}catch(e){N(`ACK failed: ${e.message}`,`error`)}}async function mt(e){if(e.preventDefault(),!G(T))return;let t=G(T).id;try{await P(`/api/queues/nack`,{method:`POST`,body:JSON.stringify({queue:G(x),jobId:t,error:G(k)||void 0,delayMs:G(A)})}),N(`Job "${t}" rejected (NACK).`,`warning`),ze(`Rejected (NACK) job "${t}" from queue "${G(x)}".`,`warning`),z(xe,!1),ot(),st(),Ve()}catch(e){N(`NACK failed: ${e.message}`,`error`)}}async function ht(){let e=G(te).trim();if(!e){N(`Search query is required.`,`warning`);return}z(ae,[]);let t=`/api/search?query=${encodeURIComponent(e)}&limit=${G(ne)}`;if(G(re).trim()&&(t+=`&collections=${encodeURIComponent(G(re))}`),G(ie).trim())try{JSON.parse(G(ie)),t+=`&filter=${encodeURIComponent(G(ie))}`}catch{N(`Metadata filter must be a valid JSON.`,`error`);return}try{z(ae,await P(t))}catch(e){e.message!==`Unauthorized`&&N(`Search failed: ${e.message}`,`error`)}}async function _t(){let e=G(oe).trim();if(!e){N(`Please enter a question.`,`warning`);return}z(ce,!0),z(E,null),yt();try{let t=await fetch(`/api/nlq`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({question:e,collection:G(se)||void 0,model:G(de),endpoint:G(fe),apiKey:G(pe)})}),n=await t.json();if(!t.ok){N(n.error||`NLQ request failed`,`error`);return}z(E,n)}catch(e){N(`NLQ failed: ${e.message}`,`error`)}finally{z(ce,!1)}}async function vt(){try{z(le,await P(G(se)?`/api/schema?collection=${encodeURIComponent(G(se))}`:`/api/schema`))}catch(e){N(`Schema fetch failed: ${e.message}`,`error`)}}function yt(){localStorage.setItem(`thingd_nlq_model`,G(de)),localStorage.setItem(`thingd_nlq_endpoint`,G(fe)),localStorage.setItem(`thingd_nlq_api_key`,G(pe))}function bt(e){return typeof e==`number`?e.toLocaleString():String(e??``)}function xt(e,t){if(!e)return`-`;let n=Be(e);try{t.replace(/[^\w\s]/g,``).split(/\s+/).filter(e=>e.length>2).forEach(e=>{let t=RegExp(`(${e})`,`gi`);n=n.replace(t,`<span class="highlighted-match">$1</span>`)})}catch{}return n}async function St(){try{let e=await P(`/api/db/integrity`);z(c,{...G(c),integrityOk:e.ok,integrityMessage:e.message}),N(e.ok?`Integrity check passed`:`Integrity check failed: ${e.message}`,e.ok?`success`:`error`)}catch(e){N(`Integrity check failed: ${e.message}`,`error`)}}async function Ct(){try{let e=await P(`/api/db/checkpoint`);z(c,{...G(c),walFrames:e.framesAfter||0}),N(`WAL checkpoint complete (${e.framesBefore||0} frames before)`,`success`)}catch(e){N(`WAL checkpoint failed: ${e.message}`,`error`)}}async function wt(){let e=prompt(`Enter backup file path:`,`thingd-backup-${Date.now()}.db`);if(e)try{let t=await P(`/api/backup`,{method:`POST`,body:JSON.stringify({path:e})});z(c,{...G(c),backupPath:t.path,backupSize:t.sizeBytes}),N(`Backup created: ${t.path}`,`success`)}catch(e){N(`Backup failed: ${e.message}`,`error`)}}function L(){z(Fe,G(i).includes(`In-Memory`)?`memory`:G(i).includes(`FTS5`)?`native`:`cloud`),z(Ie,G(a)),z(Le,G(d)),z(Se,!0)}async function Tt(e){e.preventDefault();try{await P(`/api/connect`,{method:`POST`,body:JSON.stringify({path:G(Ie),driver:G(Fe),authToken:G(Le)||void 0})}),z(d,G(Le)),G(d)?localStorage.setItem(`thingd_auth_token`,G(d)):localStorage.removeItem(`thingd_auth_token`),N(`Database connection swapped successfully.`,`success`),ze(`Swapped database connection to: [${G(Fe)}] ${G(Ie)}`),z(Se,!1),z(h,null),z(v,null),z(x,null),Ge()}catch(e){N(`Connection failed: ${e.message}`,`error`)}}let Et=null,Dt=null;Ii(()=>{Ve(),ze(`DB Connection resolved: Active local SQLite stemming context.`,`success`),Et=setInterval(Ve,4e3),Dt=setInterval(()=>{G(n)===`events`&&G(v)&&tt(),G(n)===`queues`&&G(x)&&(ot(),st())},3e3)}),Li(()=>{Et&&clearInterval(Et),Dt&&clearInterval(Dt)}),Ni();var Ot=vo(),kt=dn(Ot),At=e=>{var t=da(),n=B(t),r=V(B(n),2),i=V(B(r),4),a=B(i),o=V(B(a),2);Q(o),j(a),M(2),j(i),j(r),j(n),j(t),$(o,()=>G(p),e=>z(p,e)),K(`submit`,i,F),J(e,t)};X(kt,e=>{G(f)&&e(At)});var jt=V(kt,2),Mt=B(jt),Nt=B(Mt),Pt=V(B(Nt),2),Ft=V(B(Pt)),It=B(Ft,!0);j(Ft),j(Pt),j(Nt);var Lt=V(Nt,2),Rt=B(Lt),zt=V(Rt,2),Bt=V(zt,2),Vt=V(Bt,2),Ht=V(Vt,2),Ut=V(Ht,2),Wt=V(Ut,2);j(Lt);var Gt=V(Lt,2),Kt=B(Gt),qt=V(B(Kt),2),Jt=B(qt,!0);j(qt),j(Kt);var Yt=V(Kt,2),Xt=e=>{var t=fa();K(`click`,t,He),J(e,t)};X(Yt,e=>{G(d)&&e(Xt)}),j(Gt),j(Mt);var Zt=V(Mt,2),Qt=B(Zt),$t=B(Qt),en=B($t),tn=B(en),nn=e=>{J(e,Rr(`Dashboard Status`))};X(tn,e=>{G(n)===`metrics`&&e(nn)});var rn=V(tn,2),an=e=>{J(e,Rr(`Collections & Objects`))};X(rn,e=>{G(n)===`collections`&&e(an)});var on=V(rn,2),sn=e=>{J(e,Rr(`Event Log Stream`))};X(on,e=>{G(n)===`events`&&e(sn)});var cn=V(on,2),ln=e=>{J(e,Rr(`Queues & Background Jobs`))};X(cn,e=>{G(n)===`queues`&&e(ln)});var un=V(cn,2),fn=e=>{J(e,Rr(`Stemming FTS5 Tester`))};X(un,e=>{G(n)===`search`&&e(fn)});var pn=V(un,2),mn=e=>{J(e,Rr(`NLQ Query`))};X(pn,e=>{G(n)===`nlq`&&e(mn)});var hn=V(pn,2),_n=e=>{J(e,Rr(`Database Health`))};X(hn,e=>{G(n)===`health`&&e(_n)}),j(en),j($t);var vn=V($t,2),yn=B(vn),bn=V(B(yn),2),xn=B(bn,!0);j(bn);var Sn=V(bn,6),Cn=B(Sn,!0);j(Sn);var wn=V(Sn,6),Tn=B(wn,!0);j(wn),j(yn);var En=V(yn,2),Dn=V(En,2);j(vn),j(Qt);var On=V(Qt,2),kn=B(On),An=e=>{var t=ma(),n=B(t),r=B(n),c=V(B(r),2),l=B(c),d=B(l,!0);j(l),M(2),j(c),j(r);var f=V(r,2),p=V(B(f),2),m=B(p),h=B(m,!0);j(m),M(2),j(p),j(f);var g=V(f,2),_=V(B(g),2),v=B(_),y=B(v,!0);j(v),M(2),j(_),j(g);var b=V(g,2),x=V(B(b),2),S=B(x),C=B(S,!0);j(S),M(2),j(x),j(b),j(n);var w=V(n,2),ee=B(w),T=V(B(ee),2),te=B(T),ne=B(te),re=V(B(ne),2),ie=B(re,!0);j(re),j(ne);var ae=V(ne,2),oe=V(B(ae),2),se=B(oe,!0);j(oe),j(ae);var E=V(ae,2),ce=V(B(E),2),le=B(ce,!0);j(ce),j(E),M(2),j(te),j(T),j(ee);var ue=V(ee,2),de=V(B(ue),2),fe=V(B(de),2);Xr(fe,5,()=>G(u),e=>e.time,(e,t)=>{var n=pa(),r=B(n),i=B(r);j(r);var a=V(r,2),o=B(a,!0);j(a),j(n),H(()=>{Y(i,`[${G(t).time??``}]`),Z(a,1,_i(G(t).type?`text-${G(t).type}`:``)),Y(o,G(t).text)}),pi(1,n,()=>Ki,()=>({y:10,duration:200})),J(e,n)}),j(fe),j(de),j(ue),j(w),j(t),H(()=>{Y(d,G(s).objects),Y(h,G(s).events),Y(y,G(s).activeJobs),Y(C,G(s).deadJobs),Di(re,`title`,G(a)),Y(ie,G(a)),Y(se,G(i)),Y(le,G(o))}),J(e,t)};X(kn,e=>{G(n)===`metrics`&&e(An)});var jn=V(kn,2),Mn=e=>{var t=ba(),n=B(t),r=B(n),i=V(B(r),2),a=B(i),o=e=>{J(e,ha())},s=e=>{var t=zr();Xr(dn(t),9,()=>G(m),e=>e,(e,t)=>{var n=ga(),r=B(n),i=B(r,!0);j(r),M(2),j(n),H(e=>{Z(n,1,`sidebar-list-item ${G(h)===G(t)?`active`:``} ${e??``}`),Y(i,G(t))},[()=>G(he).has(G(t))?`flash-highlight`:``]),K(`click`,n,()=>Je(G(t))),fi(n,()=>Bi,()=>({duration:250})),pi(1,n,()=>Ki,()=>({x:-20,duration:250})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(a,e=>{G(m).length===0?e(o):e(s,-1)}),j(i),j(r);var c=V(r,2),l=B(c),u=B(l),d=B(u,!0);j(u);var f=V(u,2),p=B(f);j(f),j(l);var _=V(l,2),v=B(_),y=B(v),b=V(B(y)),x=B(b),S=e=>{J(e,_a())},C=e=>{J(e,va())},w=e=>{var t=zr();Xr(dn(t),9,()=>G(g),e=>e.id,(e,t)=>{var n=ya(),r=B(n),i=B(r,!0);j(r);var a=V(r),o=B(a,!0);j(a);var s=V(a),c=B(s,!0);j(s);var l=V(s),u=B(l,!0);j(l);var d=V(l),f=B(d),p=B(f),m=V(p,2);j(f),j(d),j(n),H((e,l,d,f)=>{Z(n,1,e),Di(r,`title`,G(t).id),Y(i,G(t).id),Di(a,`title`,G(t).text||``),Y(o,G(t).text||`-`),Di(s,`title`,l),Y(c,d),Y(u,f)},[()=>G(he).has(G(t).id)?`flash-highlight`:``,()=>JSON.stringify(G(t)),()=>JSON.stringify(G(t)),()=>G(t).createdAt?new Date(G(t).createdAt).toLocaleString():`-`]),K(`click`,p,()=>Ze(G(t))),K(`click`,m,()=>I(G(t).id)),fi(n,()=>Bi,()=>({duration:300})),pi(1,n,()=>Ki,()=>({y:20,duration:300})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(x,e=>{G(h)?G(g).length===0?e(C,1):e(w,-1):e(S)}),j(b),j(y),j(v),j(_),j(c),j(n),j(t),H(()=>{Y(d,G(h)?G(h):`Select a collection`),p.disabled=!G(h)}),K(`click`,p,Xe),J(e,t)};X(jn,e=>{G(n)===`collections`&&e(Mn)});var Nn=V(jn,2),Pn=e=>{var t=Da(),n=B(t),r=B(n),i=V(B(r),2),a=B(i),o=e=>{J(e,xa())},s=e=>{var t=zr();Xr(dn(t),9,()=>G(_),e=>e,(e,t)=>{var n=Sa(),r=B(n),i=B(r,!0);j(r),M(2),j(n),H(e=>{Z(n,1,`sidebar-list-item ${G(v)===G(t)?`active`:``} ${e??``}`),Y(i,G(t))},[()=>G(he).has(G(t))?`flash-highlight`:``]),K(`click`,n,()=>et(G(t))),fi(n,()=>Bi,()=>({duration:250})),pi(1,n,()=>Ki,()=>({x:-20,duration:250})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(a,e=>{G(_).length===0?e(o):e(s,-1)}),j(i),j(r);var c=V(r,2),l=B(c),u=B(l),d=B(u,!0);j(u);var f=V(u,2),p=B(f);j(f),j(l);var m=V(l,2),h=B(m),g=B(h),b=e=>{J(e,Ca())},x=e=>{J(e,wa())},S=e=>{var t=zr();Xr(dn(t),9,()=>G(y),e=>e.id,(e,t)=>{var n=Ea(),r=V(B(n),2),i=B(r),a=B(i),o=B(a),s=B(o,!0);j(o);var c=V(o,2),l=B(c);j(c),j(a);var u=V(a,2),d=B(u,!0);j(u),j(i);var f=V(i,2),p=B(f,!0);j(f);var m=V(f,2),h=e=>{var n=Ta(),r=B(n,!0);j(n),H(e=>Y(r,e),[()=>JSON.stringify(Object.fromEntries(Object.entries(G(t)).filter(([e])=>![`id`,`type`,`text`,`createdAt`,`stream`].includes(e))),null,2)]),J(e,n)},g=gt(()=>Object.keys(G(t)).filter(e=>![`id`,`type`,`text`,`createdAt`,`stream`].includes(e)).length>0);X(m,e=>{G(g)&&e(h)}),j(r),j(n),H((e,r)=>{Z(n,1,`timeline-item ${e??``}`),Y(s,G(t).type),Y(l,`#${G(t).id??``}`),Y(d,r),Y(p,G(t).text||`Logged message.`)},[()=>G(he).has(G(t).id)?`flash-highlight`:``,()=>G(t).createdAt?new Date(G(t).createdAt).toLocaleString():``]),fi(n,()=>Bi,()=>({duration:300})),pi(1,n,()=>Ki,()=>({y:20,duration:300})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(g,e=>{G(v)?G(y).length===0?e(x,1):e(S,-1):e(b)}),j(h),j(m),j(c),j(n),j(t),H(()=>Y(d,G(v)?`Timeline: ${G(v)}`:`All Event Timelines`)),K(`click`,p,nt),J(e,t)};X(Nn,e=>{G(n)===`events`&&e(Pn)});var Fn=V(Nn,2),In=e=>{var t=za(),n=B(t),r=B(n),i=V(B(r),2),a=B(i),o=e=>{J(e,Oa())},s=e=>{var t=zr();Xr(dn(t),9,()=>G(b),e=>e,(e,t)=>{var n=ka(),r=B(n),i=B(r,!0);j(r),M(2),j(n),H(e=>{Z(n,1,`sidebar-list-item ${G(x)===G(t)?`active`:``} ${e??``}`),Y(i,G(t))},[()=>G(he).has(G(t))?`flash-highlight`:``]),K(`click`,n,()=>at(G(t))),fi(n,()=>Bi,()=>({duration:250})),pi(1,n,()=>Ki,()=>({x:-20,duration:250})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(a,e=>{G(b).length===0?e(o):e(s,-1)}),j(i),j(r);var c=V(r,2),l=B(c),u=B(l),d=B(u),f=B(d,!0);j(d);var p=V(d,2),m=e=>{var t=Aa(),n=B(t),r=B(n);j(n);var i=V(n,2),a=B(i);j(i);var o=V(i,2),s=B(o);j(o),j(t),H(()=>{Y(r,`Ready: ${G(S).ready??``}`),Y(a,`Leased: ${G(S).leased??``}`),Y(s,`Dead: ${G(S).dead??``}`)}),J(e,t)};X(p,e=>{G(x)&&e(m)}),j(u);var h=V(u,2),g=B(h),_=V(g,2);j(h),j(l);var v=V(l,2),y=B(v),T=B(y),te=B(T);j(T);var ne=V(T,2),re=B(ne);j(ne),j(y);var ie=V(y,2),ae=e=>{var t=Pa(),n=B(t),r=V(B(n)),i=B(r),a=e=>{J(e,ja())},o=e=>{J(e,Ma())},s=e=>{var t=zr();Xr(dn(t),9,()=>G(C),e=>e.id,(e,t)=>{var n=Na(),r=B(n),i=B(r,!0);j(r);var a=V(r),o=B(a),s=B(o,!0);j(o),j(a);var c=V(a),l=B(c,!0);j(c);var u=V(c),d=B(u,!0);j(u);var f=V(u),p=B(f,!0);j(f);var m=V(f),h=B(m,!0);j(m);var g=V(m),_=B(g);j(g),j(n),H((e,a,c,u)=>{Z(n,1,e),Di(r,`title`,G(t).id),Y(i,G(t).id),Z(o,1,`badge ${G(t).status===`leased`?`badge-leased`:`badge-ready`}`),Y(s,G(t).status),Y(l,G(t).attempts),Y(d,G(t).maxAttempts),Di(f,`title`,a),Y(p,c),Y(h,u)},[()=>G(he).has(G(t).id)?`flash-highlight`:``,()=>JSON.stringify(G(t).payload),()=>JSON.stringify(G(t).payload),()=>G(t).availableAt?new Date(G(t).availableAt).toLocaleString():`-`]),K(`click`,_,()=>ft(G(t))),fi(n,()=>Bi,()=>({duration:300})),pi(1,n,()=>Ki,()=>({y:20,duration:300})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(i,e=>{G(x)?G(C).length===0?e(o,1):e(s,-1):e(a)}),j(r),j(n),j(t),J(e,t)},oe=e=>{var t=Ra(),n=B(t),r=V(B(n)),i=B(r),a=e=>{J(e,Fa())},o=e=>{J(e,Ia())},s=e=>{var t=zr();Xr(dn(t),9,()=>G(w),e=>e.id,(e,t)=>{var n=La(),r=B(n),i=B(r,!0);j(r);var a=V(r),o=B(a,!0);j(a);var s=V(a),c=B(s,!0);j(s);var l=V(s),u=B(l,!0);j(l);var d=V(l),f=B(d,!0);j(d);var p=V(d),m=B(p,!0);j(p),j(n),H((e,n,a)=>{Di(r,`title`,G(t).id),Y(i,G(t).id),Y(o,G(t).attempts),Y(c,G(t).maxAttempts),Y(u,e),Di(d,`title`,G(t).lastError||``),Y(f,G(t).lastError||`None`),Di(p,`title`,n),Y(m,a)},[()=>G(t).deadAt?new Date(G(t).deadAt).toLocaleString():`-`,()=>JSON.stringify(G(t).payload),()=>JSON.stringify(G(t).payload)]),fi(n,()=>Bi,()=>({duration:300})),pi(1,n,()=>Ki,()=>({y:20,duration:300})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(i,e=>{G(x)?G(w).length===0?e(o,1):e(s,-1):e(a)}),j(r),j(n),j(t),J(e,t)};X(ie,e=>{G(ee)===`active`?e(ae):e(oe,-1)}),j(v),j(c),j(n),j(t),H(()=>{Y(f,G(x)?G(x):`Select a Queue`),g.disabled=!G(x),_.disabled=!G(x),Z(T,1,`subnav-item ${G(ee)===`active`?`active`:``}`),Y(te,`Active Jobs (${G(C).length??``})`),Z(ne,1,`subnav-item ${G(ee)===`dead`?`active`:``}`),Y(re,`Dead / Poison Jobs (${G(w).length??``})`)}),K(`click`,g,ct),K(`click`,_,ut),K(`click`,T,()=>z(ee,`active`)),K(`click`,ne,()=>z(ee,`dead`)),J(e,t)};X(Fn,e=>{G(n)===`queues`&&e(In)});var Ln=V(Fn,2),Rn=e=>{var t=Ha(),n=B(t),r=V(B(n),2),i=B(r),a=B(i),o=V(B(a),2),s=B(o);Q(s);var c=V(s,2);j(o),j(a);var l=V(a,2),u=V(B(l),2);Q(u),j(l),j(i);var d=V(i,2),f=B(d),p=V(B(f),2);Q(p),j(f);var m=V(f,2),h=V(B(m),2);Q(h),j(m),j(d);var g=V(d,2),_=B(g),v=B(_);j(_);var y=V(_,2),b=B(y),x=V(B(b)),S=B(x),C=e=>{J(e,Ba())},w=e=>{var t=zr();Xr(dn(t),9,()=>G(ae),e=>e.id,(e,t)=>{var n=Va(),r=B(n),i=B(r),a=B(i,!0);j(i),j(r);var o=V(r),s=B(o,!0);j(o);var c=V(o);ni(c,()=>xt(G(t).text,G(te)),!0),j(c);var l=V(c),u=B(l,!0);j(l);var d=V(l),f=B(d,!0);j(d),j(n),H((e,n,r)=>{Y(a,G(t).collection),Di(o,`title`,G(t).id),Y(s,G(t).id),Di(l,`title`,e),Y(u,n),Y(f,r)},[()=>JSON.stringify(G(t)),()=>JSON.stringify(G(t)),()=>G(t).score?G(t).score.toFixed(3):`1.000`]),fi(n,()=>Bi,()=>({duration:300})),pi(1,n,()=>Ki,()=>({y:20,duration:300})),pi(2,n,()=>Gi,()=>({duration:150})),J(e,n)}),J(e,t)};X(S,e=>{G(ae).length===0?e(C):e(w,-1)}),j(x),j(b),j(y),j(g),j(r),j(n),j(t),H(()=>Y(v,`Search Results (${G(ae).length??``} matching objects found)`)),$(s,()=>G(te),e=>z(te,e)),K(`keydown`,s,e=>e.key===`Enter`&&ht()),K(`click`,c,ht),$(u,()=>G(ne),e=>z(ne,e)),$(p,()=>G(re),e=>z(re,e)),$(h,()=>G(ie),e=>z(ie,e)),J(e,t)};X(Ln,e=>{G(n)===`search`&&e(Rn)});var zn=V(Ln,2),Bn=e=>{var t=ao(),n=B(t),r=B(n),i=V(B(r),2),a=B(i),o=B(a);j(a);var s=V(a,2);j(i),j(r);var c=V(r,2),l=B(c),u=B(l),d=V(B(u),2),f=B(d);Q(f);var p=V(f,2),m=B(p,!0);j(p),j(d),j(u);var h=V(u,2),g=V(B(h),2);Q(g),j(h),j(l);var _=V(l,2),v=e=>{var t=Ua(),n=V(B(t),2),r=B(n),i=V(B(r),2);Q(i),j(r);var a=V(r,2),o=V(B(a),2);Q(o),j(a);var s=V(a,2),c=V(B(s),2);Q(c),j(s),j(n);var l=V(n,2);j(t),$(i,()=>G(de),e=>z(de,e)),$(o,()=>G(fe),e=>z(fe,e)),$(c,()=>G(pe),e=>z(pe,e)),K(`click`,l,yt),J(e,t)};X(_,e=>{G(me)&&e(v)});var y=V(_,2),b=e=>{var t=Ka();Xr(V(B(t),2),1,()=>G(le),Kr,(e,t)=>{var n=Ga(),r=B(n),i=B(r,!0);j(r);var a=V(r,2),o=B(a);j(a);var s=V(a,2);Xr(s,5,()=>G(t).fields,Kr,(e,t)=>{var n=Wa(),r=B(n),i=V(r),a=B(i,!0);j(i),j(n),H(()=>{Y(r,`${G(t).name??``}: `),Y(a,G(t).type)}),J(e,n)}),j(s),j(n),H(()=>{Y(i,G(t).name),Y(o,`(${G(t).objectCount??``} objects)`)}),J(e,n)}),j(t),J(e,t)},x=e=>{J(e,qa())};X(y,e=>{G(ue)&&G(le)?e(b):G(ue)&&e(x,1)});var S=V(y,2),C=e=>{J(e,Ja())},w=e=>{var t=ro(),n=B(t),r=V(B(n),2),i=B(r,!0);j(r),j(n);var a=V(n,2),o=e=>{var t=Qa(),n=B(t),r=B(n),i=B(r),a=V(B(i)),o=e=>{var t=Ya();M(2),J(e,t)};X(a,e=>{G(E).data.groups&&G(E).data.groups.length>0&&e(o)}),j(i),j(r);var s=V(r),c=B(s),l=B(c),u=B(l,!0);j(l);var d=V(l),f=e=>{J(e,Xa())};X(d,e=>{G(E).data.groups&&G(E).data.groups.length>0&&e(f)}),j(c);var p=V(c),m=e=>{var t=zr();Xr(dn(t),1,()=>G(E).data.groups,Kr,(e,t)=>{var n=Za(),r=V(B(n)),i=B(r),a=B(i,!0);j(i),j(r);var o=V(r),s=B(o,!0);j(o),j(n),H(e=>{Y(a,G(t).key),Y(s,e)},[()=>bt(G(t).value)]),J(e,n)}),J(e,t)};X(p,e=>{G(E).data.groups&&e(m)}),j(s),j(n),j(t),H(e=>Y(u,e),[()=>bt(G(E).data.total)]),J(e,t)},s=e=>{var t=eo(),n=B(t),r=V(B(n));Xr(r,5,()=>G(E).data.buckets,Kr,(e,t)=>{var n=$a(),r=B(n),i=B(r,!0);j(r);var a=V(r),o=B(a,!0);j(a),j(n),H(e=>{Y(i,G(t).label),Y(o,e)},[()=>bt(G(t).value)]),J(e,n)}),j(r),j(n),j(t),J(e,t)},c=e=>{var t=no(),n=B(t),r=V(B(n));Xr(r,5,()=>G(E).data,Kr,(e,t)=>{var n=to(),r=B(n),i=B(r),a=B(i,!0);j(i),j(r);var o=V(r),s=B(o,!0);j(o);var c=V(o),l=B(c,!0);j(c),j(n),H(e=>{Y(a,G(t).collection||G(t).stream),Y(s,G(t).id),Y(l,e)},[()=>G(t).score?.toFixed(3)??`-`]),J(e,n)}),j(r),j(n),j(t),J(e,t)},l=gt(()=>G(E).data&&Array.isArray(G(E).data));X(a,e=>{G(E).data&&G(E).data.total!==void 0?e(o):G(E).data&&G(E).data.buckets?e(s,1):G(l)&&e(c,2)});var u=V(a,2),d=V(B(u),2),f=B(d,!0);j(d),j(u),j(t),H(e=>{Y(i,G(E).answer),Y(f,e)},[()=>JSON.stringify(G(E),null,2)]),J(e,t)},ee=e=>{J(e,io())};X(S,e=>{G(ce)?e(C):G(E)?e(w,1):e(ee,-1)}),j(c),j(n),j(t),H(()=>{Y(o,`${G(ue)?`Hide`:`Show`} Schema`),p.disabled=G(ce),Y(m,G(ce)?`Thinking...`:`Ask`)}),K(`click`,a,async()=>{await vt(),z(ue,!G(ue))}),K(`click`,s,()=>z(me,!G(me))),$(f,()=>G(oe),e=>z(oe,e)),K(`keydown`,f,e=>e.key===`Enter`&&_t()),K(`click`,p,_t),$(g,()=>G(se),e=>z(se,e)),J(e,t)};X(zn,e=>{G(n)===`nlq`&&e(Bn)});var Vn=V(zn,2),Hn=e=>{var t=so(),n=B(t),r=V(B(n),2),i=B(r),a=B(i),o=B(a),s=B(o,!0);j(o);var l=V(o,4),u=B(l,!0);j(l);var d=V(l,2);j(a);var f=V(a,2),p=B(f),m=B(p,!0);j(p);var h=V(p,4),g=B(h);j(h);var _=V(h,2);j(f);var v=V(f,2),y=B(v),b=B(y,!0);j(y);var x=V(y,4),S=B(x),C=e=>{var t=oo(),n=B(t);j(t),H(e=>Y(n,`${e??``} MB`),[()=>(G(c).backupSize/1024/1024).toFixed(2)]),J(e,t)};X(S,e=>{G(c).backupSize&&e(C)}),j(x);var w=V(x,2);j(v),j(i),j(r),j(n),j(t),H(()=>{Y(s,G(c).integrityOk?`✓`:`✗`),Y(u,G(c).integrityMessage),Y(m,G(c).walMode),Y(g,`Frames: ${G(c).walFrames??``}`),Y(b,G(c).backupPath||`N/A`)}),K(`click`,d,St),K(`click`,_,Ct),K(`click`,w,wt),J(e,t)};X(Vn,e=>{G(n)===`health`&&e(Hn)}),j(On),j(Zt),j(jt);var Un=V(jt,2),Wn=e=>{var t=co(),n=B(t),r=B(n),i=B(r),a=B(i,!0);j(i);var o=V(i,2);j(r);var s=V(r,2),c=B(s),l=B(c),u=V(B(l),2);Q(u),j(l);var d=V(l,2),f=V(B(d),2);gn(f),j(d);var p=V(d,2);ua(B(p),{label:`Custom Metadata`,placeholder:`{"status": "active"}`,get value(){return G(D)},set value(e){z(D,e)},$$legacy:!0}),j(p);var m=V(p,2),h=B(m);M(2),j(m),j(c),j(s),j(n),j(t),H(()=>{Y(a,G(Ce)?`Edit Memory Object`:`Add Memory Object`),u.disabled=G(Ce)}),K(`click`,o,()=>z(_e,!1)),$(u,()=>G(Te),e=>z(Te,e)),$(f,()=>G(Ee),e=>z(Ee,e)),K(`click`,h,()=>z(_e,!1)),K(`submit`,c,Qe),J(e,t)};X(Un,e=>{G(_e)&&e(Wn)});var Gn=V(Un,2),Kn=e=>{var t=lo(),n=B(t),r=B(n),i=V(B(r),2);j(r);var a=V(r,2),o=B(a),s=B(o),c=V(B(s),2);Q(c),j(s);var l=V(s,2),u=V(B(l),2);Q(u),j(l);var d=V(l,2),f=V(B(d),2);Q(f),j(d);var p=V(d,2);ua(B(p),{label:`Event Payload`,placeholder:`{"success": true}`,get value(){return G(Ae)},set value(e){z(Ae,e)},$$legacy:!0}),j(p);var m=V(p,2),h=B(m);M(2),j(m),j(o),j(a),j(n),j(t),K(`click`,i,()=>z(ve,!1)),$(c,()=>G(De),e=>z(De,e)),$(u,()=>G(Oe),e=>z(Oe,e)),$(f,()=>G(ke),e=>z(ke,e)),K(`click`,h,()=>z(ve,!1)),K(`submit`,o,rt),J(e,t)};X(Gn,e=>{G(ve)&&e(Kn)});var qn=V(Gn,2),Jn=e=>{var t=uo(),n=B(t),r=B(n),i=V(B(r),2);j(r);var a=V(r,2),o=B(a),s=B(o);ua(B(s),{label:`Payload`,placeholder:`{"action": "build"}`,required:!0,get value(){return G(je)},set value(e){z(je,e)},$$legacy:!0}),j(s);var c=V(s,2),l=B(c),u=V(B(l),2);Q(u),j(l);var d=V(l,2),f=V(B(d),2);Q(f),j(d),j(c);var p=V(c,2),m=V(B(p),2);Q(m),j(p);var h=V(p,2),g=B(h);M(2),j(h),j(o),j(a),j(n),j(t),K(`click`,i,()=>z(ye,!1)),$(u,()=>G(Me),e=>z(Me,e)),$(f,()=>G(Ne),e=>z(Ne,e)),$(m,()=>G(O),e=>z(O,e)),K(`click`,g,()=>z(ye,!1)),K(`submit`,o,lt),J(e,t)};X(qn,e=>{G(ye)&&e(Jn)});var Yn=V(qn,2),Xn=e=>{var t=fo(),n=B(t),r=B(n),i=V(B(r),2);j(r);var a=V(r,2),o=B(a),s=B(o),c=V(B(s),2);Q(c),M(2),j(s);var l=V(s,2),u=B(l);M(2),j(l),j(o),j(a),j(n),j(t),K(`click`,i,()=>z(be,!1)),$(c,()=>G(Pe),e=>z(Pe,e)),K(`click`,u,()=>z(be,!1)),K(`submit`,o,dt),J(e,t)};X(Yn,e=>{G(be)&&e(Xn)});var Zn=V(Yn,2),Qn=e=>{var t=po(),n=B(t),r=B(n),i=V(B(r),2);j(r);var a=V(r,2),o=B(a),s=B(o),c=V(B(s),2),l=B(c);l.value=l.__value=`memory`;var u=V(l);u.value=u.__value=`native`;var d=V(u);d.value=d.__value=`cloud`,j(c),j(s);var f=V(s,2),p=V(B(f),2);Q(p),j(f);var m=V(f,2),h=V(B(m),2);Q(h),j(m);var g=V(m,2),_=B(g);M(2),j(g),j(o),j(a),j(n),j(t),K(`click`,i,()=>z(Se,!1)),Si(c,()=>G(Fe),e=>z(Fe,e)),$(p,()=>G(Ie),e=>z(Ie,e)),$(h,()=>G(Le),e=>z(Le,e)),K(`click`,_,()=>z(Se,!1)),K(`submit`,o,Tt),J(e,t)};X(Zn,e=>{G(Se)&&e(Qn)});var $n=V(Zn,2),U=e=>{var t=go(),n=B(t),r=B(n),i=V(B(r),2);j(r);var a=V(r,2),o=B(a),s=B(o),c=V(B(s),2),l=B(c,!0);j(c),j(s);var u=V(s,2),d=V(B(u),2),f=B(d,!0);j(d),j(u);var p=V(u,2),m=V(B(p),2),h=B(m,!0);j(m),j(p);var g=V(p,2),_=V(B(g),2),v=B(_);j(_),j(g);var y=V(g,2),b=V(B(y),2),S=B(b,!0);j(b),j(y),j(o);var C=V(o,2),w=e=>{var t=ho(),n=V(B(t),2),r=B(n),i=V(r,2);j(n);var a=V(n,2),o=e=>{var t=mo(),n=B(t),r=V(B(n),2);Q(r),j(n);var i=V(n,2),a=V(B(i),2);Q(a),j(i),M(2),j(t),$(r,()=>G(k),e=>z(k,e)),$(a,()=>G(A),e=>z(A,e)),K(`submit`,t,mt),J(e,t)};X(a,e=>{G(we)&&e(o)}),j(t),K(`click`,r,pt),K(`click`,i,()=>z(we,!G(we))),J(e,t)};X(C,e=>{G(T).status===`leased`&&e(w)}),j(a),j(n),j(t),H(e=>{Y(l,G(T).id),Y(f,G(x)),Y(h,G(T).status),Y(v,`${G(T).attempts??``} of ${G(T).maxAttempts??``}`),Y(S,e)},[()=>JSON.stringify(G(T).payload,null,2)]),K(`click`,i,()=>z(xe,!1)),J(e,t)};X($n,e=>{G(xe)&&G(T)&&e(U)});var er=V($n,2);Xr(er,5,()=>G(Re),Kr,(e,t)=>{var n=_o(),r=B(n),i=B(r,!0);j(r),j(n),H(()=>{Z(n,1,`toast ${G(t).type??``}`),Y(i,G(t).message)}),J(e,n)}),j(er),H(()=>{Y(It,G(l)||`v0.3.0`),Z(Rt,1,`nav-item ${G(n)===`metrics`?`active`:``}`),Z(zt,1,`nav-item ${G(n)===`collections`?`active`:``}`),Z(Bt,1,`nav-item ${G(n)===`events`?`active`:``}`),Z(Vt,1,`nav-item ${G(n)===`queues`?`active`:``}`),Z(Ht,1,`nav-item ${G(n)===`search`?`active`:``}`),Z(Ut,1,`nav-item ${G(n)===`nlq`?`active`:``}`),Z(Wt,1,`nav-item ${G(n)===`health`?`active`:``}`),Y(Jt,G(r)),Y(xn,G(i)),Di(Sn,`title`,G(a)),Y(Cn,G(a)),Y(Tn,G(o))}),K(`click`,Rt,()=>Ke(`metrics`)),K(`click`,zt,()=>Ke(`collections`)),K(`click`,Bt,()=>Ke(`events`)),K(`click`,Vt,()=>Ke(`queues`)),K(`click`,Ht,()=>Ke(`search`)),K(`click`,Ut,()=>Ke(`nlq`)),K(`click`,Wt,()=>Ke(`health`)),K(`click`,En,L),K(`click`,Dn,Ge),J(e,Ot),We()}Vr(yo,{target:document.getElementById(`app`)});
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com">
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
9
  <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
10
- <script type="module" crossorigin src="/assets/index-CsajmtzO.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-CtIMsyl9.js"></script>
11
11
  <link rel="stylesheet" crossorigin href="/assets/index-C6PkDB7y.css">
12
12
  </head>
13
13
  <body>
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqErD,wBAAsB,oBAAoB,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA2c7E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqErD,wBAAsB,oBAAoB,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAunB7E"}
@@ -375,6 +375,157 @@ export async function startDashboardServer(connectionOptions, port) {
375
375
  res.end(JSON.stringify(results));
376
376
  return;
377
377
  }
378
+ // GET /api/schema
379
+ if (pathname === "/api/schema" && req.method === "GET") {
380
+ const collection = url.searchParams.get("collection") || undefined;
381
+ const schemas = await db.schema(collection);
382
+ res.writeHead(200, { "Content-Type": "application/json" });
383
+ res.end(JSON.stringify(schemas));
384
+ return;
385
+ }
386
+ // POST /api/nlq
387
+ if (pathname === "/api/nlq" && req.method === "POST") {
388
+ const bodyStr = await readBody(req);
389
+ const { question, collection, model, endpoint, apiKey } = JSON.parse(bodyStr);
390
+ if (!question) {
391
+ sendError(res, 400, "Field 'question' is required.");
392
+ return;
393
+ }
394
+ const llmModel = model || "llama3";
395
+ const llmEndpoint = (endpoint || "http://localhost:11434/v1").replace(/\/+$/, "");
396
+ const llmApiKey = apiKey || "";
397
+ // Step 1: Reflect schema
398
+ const schemas = await db.schema(collection || undefined);
399
+ if (!schemas || schemas.length === 0) {
400
+ sendError(res, 400, "No collections found. Add objects first or specify a valid collection.");
401
+ return;
402
+ }
403
+ // Step 2: Build prompt and call LLM
404
+ const systemPrompt = `You are a data analysis assistant. The user has a thingd database with these collections and inferred schemas:
405
+
406
+ ${JSON.stringify(schemas, null, 2)}
407
+
408
+ You can perform these operations on the data:
409
+ - "aggregate": count/sum/avg/min/max with optional groupBy
410
+ - "timeseries": time-bucketed aggregation by hour/day/week/month
411
+ - "search": full-text search across objects
412
+
413
+ Respond with ONLY a JSON object (no markdown, no explanation) matching this type:
414
+ {
415
+ "action": "aggregate" | "timeseries" | "search",
416
+ "collection": "string (collection name)",
417
+ "function": "count" | "sum" | "avg" | "min" | "max" (omit for search)",
418
+ "field": "string (field name for sum/avg/min/max, omit for count)",
419
+ "groupBy": "string (field name to group by, optional)",
420
+ "bucket": "hour" | "day" | "week" | "month" (only for timeseries)",
421
+ "query": "string (search query, only for search action)",
422
+ "limit": number (optional, max 100)
423
+ }}
424
+
425
+ Example: { "action": "aggregate", "collection": "orders", "function": "sum", "field": "revenue", "groupBy": "region" }`;
426
+ const llmResponse = await fetch(`${llmEndpoint}/chat/completions`, {
427
+ method: "POST",
428
+ headers: {
429
+ "Content-Type": "application/json",
430
+ ...(llmApiKey ? { Authorization: `Bearer ${llmApiKey}` } : {}),
431
+ },
432
+ body: JSON.stringify({
433
+ model: llmModel,
434
+ messages: [
435
+ { role: "system", content: systemPrompt },
436
+ { role: "user", content: question },
437
+ ],
438
+ max_tokens: 1024,
439
+ temperature: 0.1,
440
+ }),
441
+ });
442
+ if (!llmResponse.ok) {
443
+ const errText = await llmResponse.text();
444
+ sendError(res, 502, `LLM returned ${llmResponse.status}: ${errText}`);
445
+ return;
446
+ }
447
+ const llmData = await llmResponse.json();
448
+ const llmText = llmData.choices?.[0]?.message?.content;
449
+ if (!llmText) {
450
+ sendError(res, 502, "LLM returned no choices");
451
+ return;
452
+ }
453
+ // Step 3: Parse intent
454
+ const cleaned = llmText
455
+ .trim()
456
+ .replace(/^```(?:json)?\s*/, "")
457
+ .replace(/\s*```$/, "")
458
+ .trim();
459
+ let intent;
460
+ try {
461
+ intent = JSON.parse(cleaned);
462
+ }
463
+ catch {
464
+ sendError(res, 502, `Failed to parse LLM response as JSON: ${cleaned}`);
465
+ return;
466
+ }
467
+ // Step 4: Execute
468
+ let data;
469
+ switch (intent.action) {
470
+ case "aggregate": {
471
+ const fn = intent.function || "count";
472
+ const col = intent.collection;
473
+ if (fn === "count") {
474
+ data = await db.aggregate.count(col, {
475
+ groupBy: intent.groupBy,
476
+ });
477
+ }
478
+ else if (fn === "sum") {
479
+ data = await db.aggregate.sum(col, intent.field, {
480
+ groupBy: intent.groupBy,
481
+ });
482
+ }
483
+ else if (fn === "avg") {
484
+ data = await db.aggregate.avg(col, intent.field, {
485
+ groupBy: intent.groupBy,
486
+ });
487
+ }
488
+ else if (fn === "min") {
489
+ data = await db.aggregate.min(col, intent.field, {
490
+ groupBy: intent.groupBy,
491
+ });
492
+ }
493
+ else {
494
+ data = await db.aggregate.max(col, intent.field, {
495
+ groupBy: intent.groupBy,
496
+ });
497
+ }
498
+ break;
499
+ }
500
+ case "timeseries": {
501
+ const bucket = (intent.bucket || "day");
502
+ data = await db.timeseries(intent.collection, {
503
+ function: (intent.function || "count"),
504
+ bucket,
505
+ field: intent.field,
506
+ });
507
+ break;
508
+ }
509
+ case "search": {
510
+ data = await db.search(intent.query || question, {
511
+ collections: [intent.collection],
512
+ limit: intent.limit || 10,
513
+ });
514
+ break;
515
+ }
516
+ default:
517
+ sendError(res, 400, `Unknown action: ${intent.action}`);
518
+ return;
519
+ }
520
+ const result = {
521
+ answer: formatAnswer(intent, data),
522
+ data,
523
+ intent,
524
+ };
525
+ res.writeHead(200, { "Content-Type": "application/json" });
526
+ res.end(JSON.stringify(result));
527
+ return;
528
+ }
378
529
  // GET /api/db/checkpoint
379
530
  if (pathname === "/api/db/checkpoint" && req.method === "GET") {
380
531
  try {
@@ -478,3 +629,28 @@ export async function startDashboardServer(connectionOptions, port) {
478
629
  });
479
630
  });
480
631
  }
632
+ function formatAnswer(intent, data) {
633
+ const fnName = intent.function || "count";
634
+ const field = intent.field || "objects";
635
+ switch (intent.action) {
636
+ case "aggregate": {
637
+ const d = data;
638
+ const total = d?.total ?? 0;
639
+ const groups = d?.groups?.length ?? 0;
640
+ if (groups > 0) {
641
+ return `${fnName} of ${field} = ${total}, grouped by ${intent.groupBy} into ${groups} groups`;
642
+ }
643
+ return `${fnName} of ${field} = ${total}`;
644
+ }
645
+ case "timeseries": {
646
+ const d = data;
647
+ return `Time series with ${d?.buckets?.length ?? 0} buckets`;
648
+ }
649
+ case "search": {
650
+ const hits = data?.length ?? 0;
651
+ return `Found ${hits} results`;
652
+ }
653
+ default:
654
+ return "Query executed.";
655
+ }
656
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"data-movement.d.ts","sourceRoot":"","sources":["../src/data-movement.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAwD,MAAM,YAAY,CAAC;AA+DnG,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuElE;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHpE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClE"}
1
+ {"version":3,"file":"data-movement.d.ts","sourceRoot":"","sources":["../src/data-movement.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,UAAU,EAAwD,MAAM,YAAY,CAAC;AAwEnG,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFlE;AAoND,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHpE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClE"}
@@ -1,6 +1,7 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { resolve } from "node:path";
3
3
  import { hasFlag, requiredFlag, stringFlag, withDb, writeJson } from "./index.js";
4
+ const SIDECAR_DEFAULT_URL = "http://localhost:8757";
4
5
  const DEFAULT_REDACT_KEYS = [
5
6
  "password",
6
7
  "secret",
@@ -96,6 +97,18 @@ export async function runExport(context) {
96
97
  });
97
98
  }
98
99
  export async function runImport(context) {
100
+ const source = stringFlag(context.parsed, "source") ?? context.parsed.tokens[1] ?? "";
101
+ const type = stringFlag(context.parsed, "type");
102
+ const isDb = source.startsWith("postgresql://") ||
103
+ source.startsWith("postgres://") ||
104
+ source.startsWith("mysql://") ||
105
+ type === "postgres" ||
106
+ type === "mysql";
107
+ if (isDb) {
108
+ await runImportDb(context, source, type);
109
+ return;
110
+ }
111
+ // --- existing file import logic (unchanged) ---
99
112
  const collection = requiredFlag(context.parsed, "collection");
100
113
  const inPath = requiredFlag(context.parsed, "in");
101
114
  const resolvedPath = resolve(inPath);
@@ -162,6 +175,165 @@ export async function runImport(context) {
162
175
  writeJson(context.stdout, { success: true, count, collection, format: isCsv ? "csv" : "jsonl" }, context.pretty);
163
176
  });
164
177
  }
178
+ // ── DB import helpers ──────────────────────────────────────────────────
179
+ function resolveSidecarUrl(context) {
180
+ const flag = stringFlag(context.parsed, "sidecar");
181
+ if (flag) {
182
+ return flag.replace(/\/$/, "");
183
+ }
184
+ const envUrl = context.env.THINGD_URL;
185
+ if (envUrl) {
186
+ const normalized = envUrl.replace(/\/$/, "");
187
+ if (normalized.startsWith("http://") || normalized.startsWith("https://")) {
188
+ return normalized;
189
+ }
190
+ }
191
+ return SIDECAR_DEFAULT_URL;
192
+ }
193
+ function authHeaders(context) {
194
+ const token = stringFlag(context.parsed, "auth-token") ?? context.env.THINGD_AUTH_TOKEN;
195
+ return token ? { Authorization: `Bearer ${token}` } : {};
196
+ }
197
+ function detectConnectorType(source, explicitType) {
198
+ if (explicitType === "postgres" || explicitType === "mysql") {
199
+ return explicitType;
200
+ }
201
+ if (source.startsWith("postgresql://") || source.startsWith("postgres://")) {
202
+ return "postgres";
203
+ }
204
+ if (source.startsWith("mysql://")) {
205
+ return "mysql";
206
+ }
207
+ throw new Error(`Could not detect connector type from "${source.slice(0, 30)}...". Use --type postgres or --type mysql.`);
208
+ }
209
+ function parseConnectionString(source) {
210
+ const isUri = source.startsWith("postgresql://") ||
211
+ source.startsWith("postgres://") ||
212
+ source.startsWith("mysql://");
213
+ if (isUri) {
214
+ const url = new URL(source);
215
+ const defaultPort = source.startsWith("mysql://") ? 3306 : 5432;
216
+ return {
217
+ host: url.hostname,
218
+ port: url.port ? Number(url.port) : defaultPort,
219
+ database: decodeURIComponent(url.pathname.replace(/^\//, "")),
220
+ username: decodeURIComponent(url.username),
221
+ password: decodeURIComponent(url.password),
222
+ sslMode: url.searchParams.get("sslmode") ?? "prefer",
223
+ };
224
+ }
225
+ // Shorthand: host:port:database:username:password
226
+ const parts = source.split(":");
227
+ return {
228
+ host: parts[0] ?? "localhost",
229
+ port: Number(parts[1]) || 5432,
230
+ database: parts[2] ?? "",
231
+ username: parts[3] ?? "",
232
+ password: parts.slice(4).join(":"),
233
+ sslMode: "prefer",
234
+ };
235
+ }
236
+ function parseMappings(context) {
237
+ const maps = stringFlag(context.parsed, "map");
238
+ if (!maps) {
239
+ return [];
240
+ }
241
+ return maps.split(",").map((m) => {
242
+ const parts = m.split(":");
243
+ return [parts[0] ?? "", parts[1] ?? parts[0] ?? ""];
244
+ });
245
+ }
246
+ function buildColumnMapping(pairs) {
247
+ if (pairs.length === 0) {
248
+ return undefined;
249
+ }
250
+ return Object.fromEntries(pairs);
251
+ }
252
+ async function callConnectorSchema(url, type, auth, query, headers) {
253
+ const res = await fetch(`${url}/v1/connectors/${type}/schema`, {
254
+ method: "POST",
255
+ headers: { "Content-Type": "application/json", ...headers },
256
+ body: JSON.stringify({ auth, query }),
257
+ });
258
+ if (!res.ok) {
259
+ const err = await res.json().catch(() => null);
260
+ throw new Error(err?.error?.detail ?? `Schema discovery failed (HTTP ${res.status})`);
261
+ }
262
+ const json = await res.json();
263
+ return json.data;
264
+ }
265
+ async function callConnectorPull(url, type, auth, opts, headers) {
266
+ const res = await fetch(`${url}/v1/connectors/${type}/pull`, {
267
+ method: "POST",
268
+ headers: { "Content-Type": "application/json", ...headers },
269
+ body: JSON.stringify({
270
+ auth,
271
+ collection: opts.collection,
272
+ query: opts.query,
273
+ batchSize: opts.batchSize,
274
+ columnMapping: opts.columnMapping,
275
+ }),
276
+ });
277
+ if (!res.ok) {
278
+ const err = await res.json().catch(() => null);
279
+ throw new Error(err?.error?.detail ?? `Import failed (HTTP ${res.status})`);
280
+ }
281
+ const json = await res.json();
282
+ return json.data;
283
+ }
284
+ async function runImportDb(context, source, explicitType) {
285
+ const sidecarUrl = resolveSidecarUrl(context);
286
+ const headers = authHeaders(context);
287
+ const connectorType = detectConnectorType(source, explicitType);
288
+ const auth = parseConnectionString(source);
289
+ const collection = requiredFlag(context.parsed, "collection");
290
+ const batchSize = Number(stringFlag(context.parsed, "batch-size") ?? "1000");
291
+ const columnMapping = buildColumnMapping(parseMappings(context));
292
+ // Verify sidecar is reachable
293
+ try {
294
+ const healthRes = await fetch(`${sidecarUrl}/v1/health`, { headers });
295
+ if (!healthRes.ok) {
296
+ throw new Error(`Sidecar returned HTTP ${healthRes.status}`);
297
+ }
298
+ }
299
+ catch (err) {
300
+ const message = err instanceof Error ? err.message : String(err);
301
+ throw new Error(`Cannot reach sidecar at ${sidecarUrl}: ${message}. ` +
302
+ `Is thingd running? Try 'thingd mcp' first.`);
303
+ }
304
+ // --list-tables: show available tables
305
+ if (hasFlag(context.parsed, "list-tables")) {
306
+ const tables = await callConnectorSchema(sidecarUrl, connectorType, auth, "", headers);
307
+ writeJson(context.stdout, { tables }, context.pretty);
308
+ return;
309
+ }
310
+ // Resolve query from --tables or --query
311
+ const tablesFlag = stringFlag(context.parsed, "tables");
312
+ const queryFlag = stringFlag(context.parsed, "query");
313
+ if (!queryFlag && !tablesFlag) {
314
+ throw new Error("Must specify --tables (comma-separated) or --query for DB import.");
315
+ }
316
+ const queries = tablesFlag
317
+ ? tablesFlag.split(",").map((t) => `SELECT * FROM ${t.trim()}`)
318
+ : [queryFlag];
319
+ // --dry-run: show schema without importing
320
+ if (hasFlag(context.parsed, "dry-run")) {
321
+ const schemas = [];
322
+ for (const q of queries) {
323
+ const schema = await callConnectorSchema(sidecarUrl, connectorType, auth, q, headers);
324
+ schemas.push(schema);
325
+ }
326
+ writeJson(context.stdout, { dryRun: true, schemas }, context.pretty);
327
+ return;
328
+ }
329
+ // Execute imports for each query/table
330
+ let totalImported = 0;
331
+ for (const q of queries) {
332
+ const result = await callConnectorPull(sidecarUrl, connectorType, auth, { collection, query: q, batchSize, columnMapping }, headers);
333
+ totalImported += result.imported;
334
+ }
335
+ writeJson(context.stdout, { success: true, imported: totalImported, collection }, context.pretty);
336
+ }
165
337
  export async function runSnapshot(context) {
166
338
  const subCommand = context.parsed.tokens[1];
167
339
  if (subCommand === "create") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,OAAO,EASL,MAAM,EACN,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAQrB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAsCF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAwEF,wBAAsB,MAAM,CAC1B,IAAI,WAAwB,EAC5B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA6EjB;AAo0BD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAcf;AA4BD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAgCxE;AAiDD,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAGlF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrF;AAyFD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAEpF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,OAAO,EASL,MAAM,EACN,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAQrB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAsCF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAwFF,wBAAsB,MAAM,CAC1B,IAAI,WAAwB,EAC5B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA6EjB;AAk6BD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAcf;AA4BD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAgCxE;AAiDD,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAGlF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrF;AAyFD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAEpF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE"}
package/dist/index.js CHANGED
@@ -68,6 +68,15 @@ Usage:
68
68
  thingd queues nack <queue> <jobId> [--error <message>] [--delay-ms <ms>]
69
69
  thingd queues list <queue> [--limit <n>]
70
70
  thingd queues dead <queue> [--limit <n>]
71
+ thingd links create <fromRef> <linkType> <toRef> [--weight <n>] [--metadata <json>]
72
+ thingd links get <id>
73
+ thingd links delete <id>
74
+ thingd links neighbors <reference> [--direction Outgoing|Incoming|Both] [--type <linkType>] [--limit <n>]
75
+ thingd links count
76
+ thingd schema [--collection <name>]
77
+ thingd nlq <question> [--collection <name>]
78
+ thingd aggregate <function> <collection> [--field <name>] [--group-by <name>] [--filter <json>]
79
+ thingd timeseries <function> <collection> <bucket> [--field <name>] [--filter <json>] [--from <iso>] [--to <iso>]
71
80
  thingd bench rust --smoke
72
81
  thingd bench rust --count <n>
73
82
  thingd metrics
@@ -75,10 +84,17 @@ Usage:
75
84
  thingd export --collection <name> --out <path> [--redact [keys]]
76
85
  thingd export --events [--stream <name>] --out <path> [--redact [keys]]
77
86
  thingd import --collection <name> --in <path>
87
+ thingd import <connection-string> --collection <name> [--tables <names> | --query <sql>] [--sidecar <url>] [--dry-run] [--list-tables] [--batch-size <n>]
78
88
  thingd snapshot create --out <path>
79
89
  thingd snapshot restore --in <path>
80
90
  thingd backup --out <path>
81
91
  thingd backup --in <path>
92
+ thingd cloud login [--code <code> --token <token>]
93
+ thingd cloud logout
94
+ thingd cloud status
95
+ thingd cloud project list
96
+ thingd cloud instance list <project>
97
+ thingd cloud api-key create <project> <name>
82
98
  thingd db checkpoint [--path <path>]
83
99
  thingd db integrity [--path <path>]
84
100
 
@@ -228,6 +244,22 @@ async function runCommand(context) {
228
244
  await runLinks(context);
229
245
  return;
230
246
  }
247
+ if (command === "schema") {
248
+ await runSchema(context);
249
+ return;
250
+ }
251
+ if (command === "nlq") {
252
+ await runNlq(context);
253
+ return;
254
+ }
255
+ if (command === "aggregate") {
256
+ await runAggregate(context);
257
+ return;
258
+ }
259
+ if (command === "timeseries") {
260
+ await runTimeseries(context);
261
+ return;
262
+ }
231
263
  if (command === "metrics") {
232
264
  await runMetrics(context);
233
265
  return;
@@ -796,6 +828,74 @@ async function runLinks(context) {
796
828
  throw new Error(`Unknown links action: ${action}`);
797
829
  });
798
830
  }
831
+ async function runSchema(context) {
832
+ const collection = stringFlag(context.parsed, "collection");
833
+ await withDb(context, async (db) => {
834
+ const schemas = await db.schema(collection ?? undefined);
835
+ writeJson(context.stdout, schemas, context.pretty);
836
+ });
837
+ }
838
+ async function runNlq(context) {
839
+ const question = context.parsed.tokens.slice(1).join(" ").trim();
840
+ if (!question) {
841
+ throw new Error("nlq requires a question. Usage: thingd nlq <question>");
842
+ }
843
+ const collection = stringFlag(context.parsed, "collection");
844
+ await withDb(context, async (db) => {
845
+ const result = await db.nlq.query(question, { collection: collection ?? undefined });
846
+ writeJson(context.stdout, result, context.pretty);
847
+ });
848
+ }
849
+ async function runAggregate(context) {
850
+ const function_ = requiredToken(context.parsed, 1, "aggregate function (count|sum|avg|min|max)");
851
+ const collection = requiredToken(context.parsed, 2, "collection name");
852
+ const field = stringFlag(context.parsed, "field");
853
+ const groupBy = stringFlag(context.parsed, "group-by");
854
+ const filterRaw = stringFlag(context.parsed, "filter");
855
+ const filter = filterRaw ? JSON.parse(filterRaw) : undefined;
856
+ await withDb(context, async (db) => {
857
+ let result;
858
+ switch (function_) {
859
+ case "sum":
860
+ result = await db.aggregate.sum(collection, field ?? "", { groupBy, filter });
861
+ break;
862
+ case "avg":
863
+ result = await db.aggregate.avg(collection, field ?? "", { groupBy, filter });
864
+ break;
865
+ case "min":
866
+ result = await db.aggregate.min(collection, field ?? "", { groupBy, filter });
867
+ break;
868
+ case "max":
869
+ result = await db.aggregate.max(collection, field ?? "", { groupBy, filter });
870
+ break;
871
+ default:
872
+ result = await db.aggregate.count(collection, { groupBy, filter });
873
+ break;
874
+ }
875
+ writeJson(context.stdout, result, context.pretty);
876
+ });
877
+ }
878
+ async function runTimeseries(context) {
879
+ const function_ = requiredToken(context.parsed, 1, "aggregate function (count|sum|avg|min|max)");
880
+ const collection = requiredToken(context.parsed, 2, "collection name");
881
+ const bucket = requiredToken(context.parsed, 3, "time bucket (hour|day|week|month)");
882
+ const field = stringFlag(context.parsed, "field");
883
+ const filterRaw = stringFlag(context.parsed, "filter");
884
+ const filter = filterRaw ? JSON.parse(filterRaw) : undefined;
885
+ const from = stringFlag(context.parsed, "from");
886
+ const to = stringFlag(context.parsed, "to");
887
+ await withDb(context, async (db) => {
888
+ const result = await db.timeseries(collection, {
889
+ function: function_,
890
+ bucket: bucket,
891
+ field,
892
+ filter,
893
+ from,
894
+ to,
895
+ });
896
+ writeJson(context.stdout, result, context.pretty);
897
+ });
898
+ }
799
899
  export async function withDb(context, callback) {
800
900
  const connection = resolveConnection(context);
801
901
  const db = await ThingD.open({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thingd/cli",
3
- "version": "0.48.1",
3
+ "version": "0.49.0",
4
4
  "description": "CLI, Interactive TUI Dashboard, and MCP server for thingd — a fast object-first data engine for applications and AI agents.",
5
5
  "type": "module",
6
6
  "homepage": "https://engine.thingd.cloud",
@@ -45,7 +45,7 @@
45
45
  "cli-table3": "^0.6.5",
46
46
  "picocolors": "^1.1.1",
47
47
  "zod": "^4.4.3",
48
- "@thingd/sdk": "0.48.1"
48
+ "@thingd/sdk": "0.49.0"
49
49
  },
50
50
  "engines": {
51
51
  "node": ">=24.0.0"
@@ -1,4 +0,0 @@
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),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var 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;function d(e){return typeof e==`function`}var f=()=>{};function p(e){return e()}function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=1024,_=2048,v=4096,y=8192,b=16384,x=32768,S=1<<25,C=65536,w=1<<19,ee=1<<20,T=1<<25,te=65536,ne=1<<21,re=1<<22,ie=1<<23,E=Symbol(`$state`),ae=Symbol(`legacy props`),oe=Symbol(``),se=Symbol(`attributes`),ce=Symbol(`class`),le=Symbol(`style`),ue=Symbol(`text`),de=Symbol(`form reset`),fe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},pe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function me(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function he(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ge(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function _e(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function ve(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ye(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function be(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function xe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Se(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ce(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function we(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Te(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ee={},D=Symbol(`uninitialized`),De=`http://www.w3.org/1999/xhtml`,Oe=`http://www.w3.org/2000/svg`,ke=`http://www.w3.org/1998/Math/MathML`;function Ae(){console.warn(`https://svelte.dev/e/derived_inert`)}function je(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function O(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Me(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var k=!1;function A(e){k=e}var j;function Ne(e){if(e===null)throw je(),Ee;return j=e}function Pe(){return Ne(dn(j))}function M(e){if(k){if(dn(j)!==null)throw je(),Ee;j=e}}function Fe(e=1){if(k){for(var t=e,n=j;t--;)n=dn(n);j=n}}function Ie(e=!0){for(var t=0,n=j;;){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=dn(n);e&&n.remove(),n=i}}function Le(e){if(!e||e.nodeType!==8)throw je(),Ee;return e.data}function Re(e){return e===this.v}function ze(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Be(e){return!ze(e,this.v)}var Ve=!1,He=!1;function Ue(){He=!0}var N=null;function We(e){N=e}function Ge(e,t=!1,n){N={p:N,i:!1,c:null,e:null,s:e,x:null,r:U,l:He&&!t?{s:null,u:null,$:[]}:null}}function Ke(e){var t=N,n=t.e;if(n!==null){t.e=null;for(var r of n)On(r)}return e!==void 0&&(t.x=e),t.i=!0,N=t.p,e??{}}function qe(){return!He||N!==null&&N.l===null}var Je=[];function Ye(){var e=Je;Je=[],m(e)}function Xe(e){if(Je.length===0&&!kt){var t=Je;queueMicrotask(()=>{t===Je&&Ye()})}Je.push(e)}function Ze(){for(;Je.length>0;)Ye()}function Qe(e){var t=U;if(t===null)return H.f|=ie,e;if(!(t.f&32768)&&!(t.f&4))throw e;$e(e,t)}function $e(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var et=~(_|v|g);function P(e,t){e.f=e.f&et|t}function tt(e){e.f&512||e.deps===null?P(e,g):P(e,v)}function nt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=te,nt(t.deps))}function rt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),nt(e.deps),P(e,g)}var it=!1,at=!1;function ot(e){var t=at;try{return at=!1,[e(),at]}finally{at=t}}function st(e){let t=0,n=Jt(0),r;return()=>{Tn()&&(W(n),Fn(()=>(t===0&&(r=wr(()=>e(()=>Qt(n)))),t+=1,()=>{Xe(()=>{--t,t===0&&(r?.(),r=void 0,Qt(n))})})))}}var ct=C|w;function lt(e,t,n,r){new ut(e,t,n,r)}var ut=class{parent;is_pending=!1;transform_error;#e;#t=k?j: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=st(()=>(this.#m=Jt(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=U;t.b=this,t.f|=128,n(e)},this.parent=U.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=In(()=>{if(k){let e=this.#t;Pe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},ct),k&&(this.#e=j)}#g(){try{this.#a=Ln(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Ln(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Ln(()=>e(this.#e)),Xe(()=>{var e=this.#c=document.createDocumentFragment(),t=ln();e.append(t),this.#a=this.#x(()=>Ln(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Wn(this.#o,()=>{this.#o=null}),this.#b(F))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Ln(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Jn(this.#a,e);let t=this.#n.pending;this.#o=Ln(()=>t(this.#e))}else this.#b(F)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){rt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=U,n=H,r=N;rr(this.#i),nr(this.#i),We(this.#i.ctx);try{return Ft.ensure(),e()}catch(e){return Qe(e),null}finally{rr(t),nr(n),We(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Wn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Xe(()=>{this.#d=!1,this.#m&&Xt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),W(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;F?.is_fork?(this.#a&&F.skip_effect(this.#a),this.#o&&F.skip_effect(this.#o),this.#s&&F.skip_effect(this.#s),F.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Vn(this.#a),null),this.#o&&=(Vn(this.#o),null),this.#s&&=(Vn(this.#s),null),k&&(Ne(this.#t),Fe(),Ne(Ie()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Me();return}r=!0,i&&Te(),this.#s!==null&&Wn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){$e(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Ln(()=>{var t=U;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return $e(e,this.#i.parent),null}}))};Xe(()=>{var t;try{t=this.transform_error(e)}catch(e){$e(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>$e(e,this.#i&&this.#i.parent)):o(t)})}};function dt(e,t,n,r){let i=qe()?ht:yt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=U,c=ft(),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){$e(e,s)}pt()}}var d=mt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>_t(e))).then(u).catch(e=>$e(e,s)).finally(d)}l?l.then(()=>{c(),f(),pt()}):f()}function ft(){var e=U,t=H,n=N,r=F;return function(i=!0){rr(e),nr(t),We(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function pt(e=!0){rr(null),nr(null),We(null),e&&F?.deactivate()}function mt(){var e=U,t=e.b,n=F,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 ht(e){var t=2|_;return U!==null&&(U.f|=w),{ctx:N,deps:null,effects:null,equals:Re,f:t,fn:e,reactions:null,rv:0,v:D,wv:0,parent:U,ac:null}}var gt=Symbol(`obsolete`);function _t(e,t,n){let r=U;r===null&&he();var i=void 0,a=Jt(D),o=!H,s=new Set;return Pn(()=>{var t=U,n=h();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==fe&&n.reject(e)}).finally(pt)}catch(e){n.reject(e),pt()}var c=F;if(o){if(t.f&32768)var l=mt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(gt);else for(let e of s.values())e.reject(gt);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==gt&&(c.activate(),t?(a.f|=ie,Xt(a,t)):(a.f&8388608&&(a.f^=ie),Xt(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),En(()=>{for(let e of s)e.reject(gt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function vt(e){let t=ht(e);return Ve||ar(t),t}function yt(e){let t=ht(e);return t.equals=Be,t}function bt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Vn(t[n])}}function xt(e){var t,n=U,r=e.parent;if(!$n&&r!==null&&e.v!==D&&r.f&24576)return Ae(),e.v;rr(r);try{e.f&=~te,bt(e),t=_r(e)}finally{rr(n)}return t}function St(e){var t=xt(e);if(!e.equals(t)&&(e.wv=mr(),(!F?.is_fork||e.deps===null)&&(F===null?e.v=t:(F.capture(e,t,!0),Dt?.capture(e,t,!0)),e.deps===null))){P(e,g);return}$n||(I===null?tt(e):(Tn()||F?.is_fork)&&I.set(e,t))}function Ct(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(fe),t.fn!==null&&(t.teardown=f),t.ac=null,yr(t,0),zn(t))}function wt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&br(t)}var Tt=null,Et=null,F=null,Dt=null,I=null,Ot=null,kt=!1,At=!1,jt=null,Mt=null,Nt=0,Pt=1,Ft=class e{id=Pt++;#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(){Et===null?Tt=Et=this:(Et.#n=this,this.#t=Et),Et=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)P(r,_),t(r);for(r of n.m)P(r,v),t(r)}this.#p.add(e)}#g(){this.#e=!0,Nt++>1e3&&(this.#S(),Lt());for(let e of this.#u)this.#d.delete(e),P(e,_),this.schedule(e);for(let e of this.#d)P(e,v),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=jt=[],r=[],i=Mt=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw Wt(e),this.#h()||this.discard(),t}if(F=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(jt=null,Mt=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Ut(e,t);i.length>0&&F.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Dt=this,zt(r),zt(n),Dt=null,this.#s?.resolve();var s=F;if(this.#a===0&&(this.#c.length===0||s!==null)&&(this.#S(),Ve&&(this.#x(),F=s)),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=g;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=g:i&4?t.push(r):Ve&&i&16777224?n.push(r):hr(r)&&(i&16&&this.#d.add(r),br(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}}}#v(){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}#y(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)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),P(i,_),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#S(),F=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)rt(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==D&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),I?.set(e,t)),this.is_fork||(e.v=t)}activate(){F=this}deactivate(){F=null,I=null}flush(){try{At=!0,F=this,this.#g()}finally{Nt=0,Ot=null,jt=null,Mt=null,At=!1,F=null,I=null,Kt.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(gt);this.#S(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}#x(){for(let u=Tt;u!==null;u=u.#n){var e=u.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(u.current.has(r)){var n=u.current.get(r)[0];if(e&&i!==n)u.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=u.async_deriveds.get(e);n&&t.promise.then(n.resolve).catch(n.reject)}var r=[...u.current.keys()].filter(e=>!u.current.get(e)[1]);if(!(!u.#e||r.length===0)){var i=r.filter(e=>!this.current.has(e));if(i.length===0)e&&u.discard();else if(t.length>0){if(e)for(let e of this.#p)u.unskip_effect(e,e=>{e.f&4194320?u.schedule(e):u.#b([e])});u.activate();var a=new Set,o=new Map;for(var s of t)Bt(s,i,a,o);o=new Map;var c=[...u.current].filter(([e,t])=>{let n=this.current.get(e);return n?n[0]!==t[0]||n[1]!==t[1]:!0}).map(([e])=>e);if(c.length>0)for(let e of this.#l)!(e.f&155648)&&Vt(e,c,o)&&(e.f&4194320?(P(e,_),u.schedule(e)):u.#u.add(e));if(u.#c.length>0&&!u.#m){u.apply();for(var l of u.#c)u.#_(l,[],[]);u.#c=[]}u.deactivate()}}}}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,Xe(()=>{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??=h()).promise}static ensure(){if(F===null){let t=F=new e;!At&&!kt&&Xe(()=>{t.#e||t.flush()})}return F}apply(){if(!Ve||!this.is_fork&&this.#t===null&&this.#n===null){I=null;return}I=new Map;for(let[e,[t]]of this.current)I.set(e,t);for(let t=Tt;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)I.has(e)||I.set(e,n)}}schedule(e){if(Ot=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(jt!==null&&t===U&&(Ve||(H===null||!(H.f&2))&&!it))return;if(n&96){if(!(n&1024))return;t.f^=g}}this.#c.push(t)}#S(){if(this.linked){var e=this.#t,t=this.#n;e===null?Tt=t:e.#n=t,t===null?Et=e:t.#t=e,this.linked=!1}}};function It(e){var t=kt;kt=!0;try{var n;for(e&&(F!==null&&!F.is_fork&&F.flush(),n=e());;){if(Ze(),F===null)return n;F.flush()}}finally{kt=t}}function Lt(){try{be()}catch(e){$e(e,Ot)}}var Rt=null;function zt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&hr(r)&&(Rt=new Set,br(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Un(r),Rt?.size>0)){Kt.clear();for(let e of Rt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Rt.has(n)&&(Rt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||br(n)}}Rt.clear()}}Rt=null}}function Bt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Bt(i,t,n,r):e&4194320&&!(e&2048)&&Vt(i,t,r)&&(P(i,_),Ht(i))}}function Vt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&Vt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function Ht(e){F.schedule(e)}function Ut(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),P(e,g);for(var n=e.first;n!==null;)Ut(n,t),n=n.next}}function Wt(e){P(e,g);for(var t=e.first;t!==null;)Wt(t),t=t.next}var Gt=new Set,Kt=new Map,qt=!1;function Jt(e,t){return{f:0,v:e,reactions:null,equals:Re,rv:0,wv:0}}function Yt(e,t){let n=Jt(e,t);return ar(n),n}function L(e,t=!1,n=!0){let r=Jt(e);return t||(r.equals=Be),He&&n&&N!==null&&N.l!==null&&(N.l.s??=[]).push(r),r}function R(e,t,n=!1){return H!==null&&(!tr||H.f&131072)&&qe()&&H.f&4325394&&(ir===null||!ir.has(e))&&we(),Xt(e,n?en(t):t,Mt)}function Xt(e,t,n=null){if(!e.equals(t)){Kt.set(e,$n?t:e.v);var r=Ft.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&xt(t),I===null&&tt(t)}e.wv=mr(),$t(e,_,n),qe()&&U!==null&&U.f&1024&&!(U.f&96)&&(cr===null?lr([e]):cr.push(e)),!r.is_fork&&Gt.size>0&&!qt&&Zt()}return t}function Zt(){qt=!1;for(let e of Gt){e.f&1024&&P(e,v);let t;try{t=hr(e)}catch{t=!0}t&&br(e)}Gt.clear()}function Qt(e){R(e,e.v+1)}function $t(e,t,n){var r=e.reactions;if(r!==null)for(var i=qe(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===U)){var l=(c&_)===0;if(l&&P(s,t),c&131072)Gt.add(s);else if(c&2){var u=s;I?.delete(u),c&65536||(c&512&&(U===null||!(U.f&2097152))&&(s.f|=te),$t(u,v,n))}else if(l){var d=s;c&16&&Rt!==null&&Rt.add(d),n===null?Ht(d):n.push(d)}}}}function en(t){if(typeof t!=`object`||!t||E in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=Yt(0),u=null,d=fr,f=e=>{if(fr===d)return e();var t=H,n=fr;nr(null),pr(d);var r=e();return nr(t),pr(n),r};return i&&r.set(`length`,Yt(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Se();var i=r.get(t);return i===void 0?f(()=>{var e=Yt(n.value,u);return r.set(t,e),e}):R(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>Yt(D,u));r.set(t,e),Qt(o)}}else R(n,D),Qt(o);return!0},get(e,n,i){if(n===E)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>Yt(en(s?e[n]:D),u)),r.set(n,o)),o!==void 0){var c=W(o);return c===D?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=W(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==D)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===E)return!0;var n=r.get(t),i=n!==void 0&&n.v!==D||Reflect.has(e,t);return(n!==void 0||U!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>Yt(i?en(e[t]):D,u)),r.set(t,n)),W(n)===D)?!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(()=>Yt(D,u)),r.set(d+``,p)):R(p,D)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>Yt(void 0,u)),R(c,en(n)),r.set(t,c));else{l=c.v!==D;var m=f(()=>en(n));R(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&&R(g,_+1)}Qt(o)}return!0},ownKeys(e){W(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==D});for(var[n,i]of r)i.v!==D&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Ce()}})}function tn(e){try{if(typeof e==`object`&&e&&E in e)return e[E]}catch{}return e}function nn(e,t){return Object.is(tn(e),tn(t))}new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);var rn,an,on,sn;function cn(){if(rn===void 0){rn=window,an=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;on=a(t,`firstChild`).get,sn=a(t,`nextSibling`).get,u(e)&&(e[ce]=void 0,e[se]=null,e[le]=void 0,e.__e=void 0),u(n)&&(n[ue]=void 0)}}function ln(e=``){return document.createTextNode(e)}function un(e){return on.call(e)}function dn(e){return sn.call(e)}function z(e,t){if(!k)return un(e);var n=un(j);if(n===null)n=j.appendChild(ln());else if(t&&n.nodeType!==3){var r=ln();return n?.before(r),Ne(r),r}return t&&gn(n),Ne(n),n}function fn(e,t=!1){if(!k){var n=un(e);return n instanceof Comment&&n.data===``?dn(n):n}if(t){if(j?.nodeType!==3){var r=ln();return j?.before(r),Ne(r),r}gn(j)}return j}function B(e,t=1,n=!1){let r=k?j:e;for(var i;t--;)i=r,r=dn(r);if(!k)return r;if(n){if(r?.nodeType!==3){var a=ln();return r===null?i?.after(a):r.before(a),Ne(a),a}gn(r)}return Ne(r),r}function pn(e){e.textContent=``}function mn(){return!Ve||Rt!==null?!1:(U.f&x)!==0}function hn(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 gn(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 _n(e){k&&un(e)!==null&&pn(e)}var vn=!1;function yn(){vn||(vn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[de]?.()})},{capture:!0}))}function bn(e){var t=H,n=U;nr(null),rr(null);try{return e()}finally{nr(t),rr(n)}}function xn(e,t,n,r=n){e.addEventListener(t,()=>bn(n));let i=e[de];i?e[de]=()=>{i(),r(!0)}:e[de]=()=>r(!0),yn()}function Sn(e){U===null&&(H===null&&ye(e),ve()),$n&&_e(e)}function Cn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function wn(e,t){var n=U;n!==null&&n.f&8192&&(e|=y);var r={ctx:N,deps:null,nodes:null,f:e|_|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};F?.register_created_effect(r);var i=r;if(e&4)jt===null?Ft.ensure().schedule(r):jt.push(r);else if(t!==null){try{br(r)}catch(e){throw Vn(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|=C))}if(i!==null&&(i.parent=n,n!==null&&Cn(i,n),H!==null&&H.f&2&&!(e&64))){var a=H;(a.effects??=[]).push(i)}return r}function Tn(){return H!==null&&!tr}function En(e){let t=wn(8,null);return P(t,g),t.teardown=e,t}function Dn(e){Sn(`$effect`);var t=U.f;if(!H&&t&32&&N!==null&&!N.i){var n=N;(n.e??=[]).push(e)}else return On(e)}function On(e){return wn(4|ee,e)}function kn(e){return Sn(`$effect.pre`),wn(8|ee,e)}function An(e){Ft.ensure();let t=wn(64|w,e);return(e={})=>new Promise(n=>{e.outro?Wn(t,()=>{Vn(t),n(void 0)}):(Vn(t),n(void 0))})}function jn(e){return wn(4,e)}function Mn(e,t){var n=N,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Fn(()=>{if(e(),!r.ran){r.ran=!0;var n=U;try{rr(n.parent),wr(t)}finally{rr(n)}}})}function Nn(){var e=N;Fn(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&1024&&n.deps!==null&&P(n,v),hr(n)&&br(n),t.ran=!1}})}function Pn(e){return wn(re|w,e)}function Fn(e,t=0){return wn(8|t,e)}function V(e,t=[],n=[],r=[]){dt(r,t,n,t=>{wn(8,()=>{e(...t.map(W))})})}function In(e,t=0){return wn(16|t,e)}function Ln(e){return wn(32|w,e)}function Rn(e){var t=e.teardown;if(t!==null){let e=$n,n=H;er(!0),nr(null);try{t.call(null)}finally{er(e),nr(n)}}}function zn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&bn(()=>{e.abort(fe)});var r=n.next;n.f&64?n.parent=null:Vn(n,t),n=r}}function Bn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Vn(t),t=n}}function Vn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Hn(e.nodes.start,e.nodes.end),n=!0),e.f|=S,zn(e,t&&!n),yr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Rn(e),e.f^=S,e.f|=b;var i=e.parent;i!==null&&i.first!==null&&Un(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Hn(e,t){for(;e!==null;){var n=e===t?null:dn(e);e.remove(),e=n}}function Un(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 Wn(e,t,n=!0){var r=[];Gn(e,r,!0);var i=()=>{n&&Vn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Gn(e,t,n){if(!(e.f&8192)){e.f^=y;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)!=0||(i.f&32)!=0&&(e.f&16)!=0;Gn(i,t,o?n:!1)}i=a}}}function Kn(e){qn(e,!0)}function qn(e,t){if(e.f&8192){e.f^=y,e.f&1024||(P(e,_),Ft.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;qn(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 Jn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:dn(n);t.append(n),n=i}}var Yn=null;function Xn(e){var t=Yn;try{if(Yn=new Set,wr(e),t!==null)for(var n of Yn)t.add(n);return Yn}finally{Yn=t}}function Zn(e){for(var t of Xn(e))Xt(t,t.v)}var Qn=!1,$n=!1;function er(e){$n=e}var H=null,tr=!1;function nr(e){H=e}var U=null;function rr(e){U=e}var ir=null;function ar(e){H!==null&&(!Ve||H.f&2)&&(ir??=new Set).add(e)}var or=null,sr=0,cr=null;function lr(e){cr=e}var ur=1,dr=0,fr=dr;function pr(e){fr=e}function mr(){return++ur}function hr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~te),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(hr(a)&&St(a),a.wv>e.wv)return!0}t&512&&I===null&&P(e,g)}return!1}function gr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!Ve&&ir!==null&&ir.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?gr(a,t,!1):t===a&&(n?P(a,_):a.f&1024&&P(a,v),Ht(a))}}function _r(e){var t=or,n=sr,r=cr,i=H,a=ir,o=N,s=tr,c=fr,l=e.f;or=null,sr=0,cr=null,H=l&96?null:e,ir=null,We(e.ctx),tr=!1,fr=++dr,e.ac!==null&&(bn(()=>{e.ac.abort(fe)}),e.ac=null);try{e.f|=ne;var u=e.fn,d=u();e.f|=x;var f=e.deps,p=F?.is_fork;if(or!==null){var m;if(p||yr(e,sr),f!==null&&sr>0)for(f.length=sr+or.length,m=0;m<or.length;m++)f[sr+m]=or[m];else e.deps=f=or;if(Tn()&&e.f&512)for(m=sr;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&sr<f.length&&(yr(e,sr),f.length=sr);if(qe()&&cr!==null&&!tr&&f!==null&&!(e.f&6146))for(m=0;m<cr.length;m++)gr(cr[m],e);if(i!==null&&i!==e){if(dr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=dr;if(t!==null)for(let e of t)e.rv=dr;cr!==null&&(r===null?r=cr:r.push(...cr))}return e.f&8388608&&(e.f^=ie),d}catch(e){return Qe(e)}finally{e.f^=ne,or=t,sr=n,cr=r,H=i,ir=a,We(o),tr=s,fr=c}}function vr(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&&(or===null||!n.call(or,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~te),s.v!==D&&tt(s),Ct(s),yr(s,0)}}function yr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)vr(e,n[r])}function br(e){var t=e.f;if(!(t&16384)){P(e,g);var n=U,r=Qn;U=e,Qn=!0;try{t&16777232?Bn(e):zn(e),Rn(e);var i=_r(e);e.teardown=typeof i==`function`?i:null,e.wv=ur}finally{Qn=r,U=n}}}async function xr(){if(Ve)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),It()}function W(e){var t=(e.f&2)!=0;if(Yn?.add(e),H!==null&&!tr&&!(U!==null&&U.f&16384)&&(ir===null||!ir.has(e))){var r=H.deps;if(H.f&2097152)e.rv<dr&&(e.rv=dr,or===null&&r!==null&&r[sr]===e?sr++:or===null?or=[e]:or.push(e));else{H.deps??=[],n.call(H.deps,e)||H.deps.push(e);var i=e.reactions;i===null?e.reactions=[H]:n.call(i,H)||i.push(H)}}if($n&&Kt.has(e))return Kt.get(e);if(t){var a=e;if($n){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Cr(a))&&(o=xt(a)),Kt.set(a,o),o}var s=(a.f&512)==0&&!tr&&H!==null&&(Qn||(H.f&512)!=0),c=(a.f&x)===0;hr(a)&&(s&&(a.f|=512),St(a)),s&&!c&&(wt(a),Sr(a))}if(I?.has(e))return I.get(e);if(e.f&8388608)throw e.v;return e.v}function Sr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(wt(t),Sr(t))}function Cr(e){if(e.v===D)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Kt.has(t)||t.f&2&&Cr(t))return!0;return!1}function wr(e){var t=tr;try{return tr=!0,e()}finally{tr=t}}function Tr(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(E in e)Er(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&E in n&&Er(n)}}}function Er(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{Er(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 Dr=[`touchstart`,`touchmove`];function Or(e){return Dr.includes(e)}var kr=Symbol(`events`),Ar=new Set,jr=new Set;function Mr(e,t,n,r={}){function i(e){if(r.capture||Pr.call(t,e),!e.cancelBubble)return bn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?Xe(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function G(e,t,n,r,i){var a={capture:r,passive:i},o=Mr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&En(()=>{t.removeEventListener(e,o,a)})}var Nr=null;function Pr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;Nr=e;var s=0,c=Nr===e&&e[kr];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[kr]=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=H,f=U;nr(null),rr(null);try{for(var p,m=[];o!==null&&o!==t;){try{var h=o[kr]?.[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[kr]=t,delete e.currentTarget,nr(d),rr(f)}}}var Fr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Ir(e){return Fr?.createHTML(e)??e}function Lr(e){var t=hn(`template`);return t.innerHTML=Ir(e.replaceAll(`<!>`,`<!---->`)),t.content}function Rr(e,t){var n=U;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function K(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(k)return Rr(j,null),j;i===void 0&&(i=Lr(a?e:`<!>`+e),n||(i=un(i)));var t=r||an?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=un(t),s=t.lastChild;Rr(o,s)}else Rr(t,t);return t}}function zr(e=``){if(!k){var t=ln(e+``);return Rr(t,t),t}var n=j;return n.nodeType===3?gn(n):(n.before(n=ln()),Ne(n)),Rr(n,n),n}function Br(){if(k)return Rr(j,null),j;var e=document.createDocumentFragment(),t=document.createComment(``),n=ln();return e.append(t,n),Rr(t,n),e}function q(e,t){if(k){var n=U;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=j),Pe();return}e!==null&&e.before(t)}var Vr=!0;function J(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[ue]??=e.nodeValue)&&(e[ue]=n,e.nodeValue=`${n}`)}function Hr(e,t){return Wr(e,t)}var Ur=new Map;function Wr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){cn();var l=void 0,u=An(()=>{var u=n??t.appendChild(ln());lt(u,{pending:()=>{}},t=>{Ge({});var n=N;if(o&&(n.c=o),a&&(i.$$events=a),k&&Rr(t,null),Vr=s,l=e(t,i)||{},Vr=!0,k&&(U.nodes.end=j,j===null||j.nodeType!==8||j.data!==`]`))throw je(),Ee;Ke()},c);var d=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!d.has(r)){d.add(r);var i=Or(r);for(let e of[t,document]){var a=Ur.get(e);a===void 0&&(a=new Map,Ur.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Pr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(r(Ar)),jr.add(f),()=>{for(var e of d)for(let n of[t,document]){var r=Ur.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Pr),r.delete(e),r.size===0&&Ur.delete(n)):r.set(e,i)}jr.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return Gr.set(l,u),l}var Gr=new WeakMap,Kr=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)Kn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Kn(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&&(Vn(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();Jn(r,t),t.append(ln()),this.#n.set(e,{effect:r,fragment:t})}else Vn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Wn(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)||(Vn(n.effect),this.#n.delete(e))};ensure(e,t){var n=F,r=mn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=ln();i.append(a),this.#n.set(e,{effect:Ln(()=>t(a)),fragment:i})}else this.#t.set(e,Ln(()=>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 k&&(this.anchor=j),this.#a(n)}};function Y(e,t,n=!1){var r;k&&(r=j,Pe());var i=new Kr(e),a=n?C:0;function o(e,t){if(k){var n=Le(r);if(e!==parseInt(n.substring(1))){var a=Ie();Ne(a),i.anchor=a,A(!1),i.ensure(e,t),A(!0);return}}i.ensure(e,t)}In(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function qr(e,t){return t}function Jr(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];Wn(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Yr(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;if(l){var u=n,d=u.parentNode;pn(d),d.append(u),e.items.clear()}Yr(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Yr(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|=T,Jn(a,document.createDocumentFragment())):Vn(t[i],n)}}var Xr;function Zr(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=k?Ne(un(u)):u.appendChild(ln())}k&&Pe();var d=null,f=yt(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,$r(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=T,ti(d,null,c)):Kn(d):Wn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:In(()=>{p=W(f);var e=p.length;let t=!1;k&&Le(c)===`[!`!=(e===0)&&(c=Ie(),Ne(c),A(!1),t=!0);for(var r=new Set,u=F,v=mn(),y=0;y<e;y+=1){k&&j.nodeType===8&&j.data===`]`&&(c=j,t=!0,A(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&Xt(S.v,b),S.i&&Xt(S.i,y),v&&u.unskip_effect(S.e)):(S=ei(l,h?c:Xr??=ln(),b,x,y,o,n,i),h||(S.e.f|=T),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=Ln(()=>s(c)):(d=Ln(()=>s(Xr??=ln())),d.f|=T)),e>r.size&&ge(``,``,``),k&&e>0&&Ne(Ie()),!h)if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);t&&A(!0),W(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,k&&(c=j)}function Qr(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function $r(e,t,n,i,a){var o=(i&8)!=0,s=t.length,c=e.items,l=Qr(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&&(Kn(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=T,_===l)ti(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),ni(e,d,_),ni(e,_,y),ti(_,y,n),d=_,p=[],m=[],l=Qr(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],C=p[p.length-1];for(x=0;x<p.length;x+=1)ti(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);ni(e,S.prev,C.next),ni(e,d,S),ni(e,C,b),l=b,d=C,--v,p=[],m=[]}else u.delete(_),ti(_,l,n),ni(e,_.prev,_.next),ni(e,_,d===null?e.effect.first:d.next),ni(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Qr(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Qr(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Yr(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var w=[];if(u!==void 0)for(_ of u)_.f&8192||w.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&w.push(l),l=Qr(l.next);var ee=w.length;if(ee>0){var te=i&4&&s===0?n:null;if(o){for(v=0;v<ee;v+=1)w[v].nodes?.a?.measure();for(v=0;v<ee;v+=1)w[v].nodes?.a?.fix()}Jr(e,w,te)}}o&&Xe(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function ei(e,t,n,r,i,a,o,s){var c=o&1?o&16?Jt(n):L(n,!1,!1):null,l=o&2?Jt(i):null;return{v:c,i:l,e:Ln(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function ti(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=dn(r);if(a.before(r),r===i)return;r=o}}function ni(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function ri(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;k&&(o=Ne(un(c)))}V(()=>{var e=U;if(s===(s=t()??``)){k&&Pe();return}if(n&&!k){e.nodes=null,c.innerHTML=s,s!==``&&Rr(un(c),c.lastChild);return}if(e.nodes!==null&&(Hn(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(k){for(var a=j.data,l=Pe(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=dn(l);if(l===null)throw je(),Ee;Rr(j,u),o=Ne(l);return}var d=hn(r?`svg`:i?`math`:`template`,r?Oe:i?ke:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(Rr(un(f),f.lastChild),r||i)for(;un(f);)o.before(un(f));else o.before(f)}})}var ii=()=>performance.now(),ai={tick:e=>requestAnimationFrame(e),now:()=>ii(),tasks:new Set};function oi(){let e=ai.now();ai.tasks.forEach(t=>{t.c(e)||(ai.tasks.delete(t),t.f())}),ai.tasks.size!==0&&ai.tick(oi)}function si(e){let t;return ai.tasks.size===0&&ai.tick(oi),{promise:new Promise(n=>{ai.tasks.add(t={c:e,f:n})}),abort(){ai.tasks.delete(t)}}}function ci(e,t){bn(()=>{e.dispatchEvent(new CustomEvent(t))})}function li(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function ui(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=li(n.trim());t[i]=r.trim()}return t}var di=e=>e,fi=null;function pi(e,t,n){var r=(fi??U).nodes,i,a,o,s=null;r.a??={element:e,measure(){i=this.element.getBoundingClientRect()},apply(){if(o?.abort(),a=this.element.getBoundingClientRect(),i.left!==a.left||i.right!==a.right||i.top!==a.top||i.bottom!==a.bottom){let e=t()(this.element,{from:i,to:a},n?.());o=mi(this.element,e,void 0,1,()=>{},()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:t,width:n,height:r}=getComputedStyle(e);if(t!==`absolute`&&t!==`fixed`){var a=e.style;s={position:a.position,width:a.width,height:a.height,transform:a.transform},a.position=`absolute`,a.width=n,a.height=r;var o=e.getBoundingClientRect();if(i.left!==o.left||i.top!==o.top){var c=`translate(${i.left-o.left}px, ${i.top-o.top}px)`;a.transform=a.transform?`${a.transform} ${c}`:c}}}},unfix(){if(s){var t=e.style;t.position=s.position,t.width=s.width,t.height=s.height,t.transform=s.transform}}},r.a.element=e}function X(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return bn(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=mi(t,m(),p,1,()=>{ci(t,`introstart`)},()=>{ci(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=mi(t,m(),f,0,()=>{ci(t,`outrostart`)},()=>{ci(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=U;if((g.nodes.t??=[]).push(h),i&&Vr){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&jn(()=>{wr(()=>h.in())})}}function mi(e,t,n,r,i,a){var o=r===1;if(d(t)){var s,c=!1;return Xe(()=>{c||(s=mi(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:f,deactivate:f,reset:f,t:()=>r};let{delay:l=0,css:u,tick:p,easing:m=di}=t;var h=[];if(o&&n===void 0&&(p&&p(0,1),u)){var g=ui(u(0,1));h.push(g,g)}var _=()=>1-r,v=e.animate(h,{duration:l,fill:`forwards`});return v.onfinish=()=>{v.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var d=!1;if(u)for(var f=Math.ceil(c/(1e3/60)),h=0;h<=f;h+=1){var g=o+s*m(h/f),y=ui(u(g,1-g));l.push(y),d||=y.overflow===`hidden`}d&&(e.style.overflow=`hidden`),_=()=>{var e=v.currentTime;return o+s*m(e/c)},p&&si(()=>{if(v.playState!==`running`)return!1;var e=_();return p(e,1-e),!0})}v=e.animate(l,{duration:c,fill:`forwards`}),v.onfinish=()=>{_=()=>r,p?.(r,1-r),a()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=f)},deactivate:()=>{a=f},reset:()=>{r===0&&p?.(1,0)},t:()=>_()}}function hi(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=hi(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function gi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=hi(e))&&(r&&(r+=` `),r+=t);return r}function _i(e){return typeof e==`object`?gi(e):e??``}var vi=[...`
2
- \r\f\xA0\v`];function yi(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||vi.includes(r[o-1]))&&(s===r.length||vi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Z(e,t,n,r,i,a){var o=e[ce];if(k||o!==n||o===void 0){var s=yi(n,r,a);(!k||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[ce]=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 bi(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return O();for(var i of t.options)i.selected=n.includes(Ci(i));return}for(i of t.options)if(nn(Ci(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function xi(e){var t=new MutationObserver(()=>{bi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),En(()=>{t.disconnect()})}function Si(e,t,n=t){var r=new WeakSet,i=!0;xn(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,F!==null&&r.add(F)}),jn(()=>{var a=t();if(e===document.activeElement){var o=Ve?Dt:F;if(r.has(o))return}if(bi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Ci(s),n(a))}e.__value=a,i=!1}),xi(e)}function Ci(e){return`__value`in e?e.__value:e.value}var wi=Symbol(`is custom element`),Ti=Symbol(`is html`),Ei=pe?`link`:`LINK`;function Q(e){if(k){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Di(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Di(e,`checked`,null),e.checked=r}}};e[de]=n,Xe(n),yn()}}function Di(e,t,n,r){var i=Oi(e);k&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ei)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[oe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ai(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Oi(e){return e[se]??={[wi]:e.nodeName.includes(`-`),[Ti]:e.namespaceURI===De}}var ki=new Map;function Ai(e){var t=e.getAttribute(`is`)||e.nodeName,n=ki.get(t);if(n)return n;ki.set(t,n=[]);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.push(s);i=l(i)}return n}function $(e,t,n=t){var r=new WeakSet;xn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ji(e)?Mi(a):a,n(a),F!==null&&r.add(F),await xr(),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))}}}),(k&&e.defaultValue!==e.value||wr(t)==null&&e.value)&&(n(ji(e)?Mi(e.value):e.value),F!==null&&r.add(F)),Fn(()=>{var n=t();if(e===document.activeElement){var i=Ve?Dt:F;if(r.has(i))return}ji(e)&&n===Mi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ji(e){var t=e.type;return t===`number`||t===`range`}function Mi(e){return e===``?null:+e}function Ni(e=!1){let t=N,n=t.l.u;if(!n)return;let r=()=>Tr(t.s);if(e){let e=0,n={},i=ht(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>W(i)}n.b.length&&kn(()=>{Pi(t,r),m(n.b)}),Dn(()=>{let e=wr(()=>n.m.map(p));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&Dn(()=>{Pi(t,r),m(n.a)})}function Pi(e,t){if(e.l.s)for(let t of e.l.s)W(t);t()}function Fi(e,t,n,r){var i=!He||(n&2)!=0,o=(n&8)!=0,s=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>s&&i?(u??=ht(r),W(u)):(l&&(l=!1,c=s?wr(r):r),c);let f;if(o){var p=E in e||ae in e;f=a(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;o?[m,h]=ot(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&xe(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?ht:yt)(()=>(v=!1,g()));o&&W(y);var b=U;return(function(e,t){if(arguments.length>0){let n=t?W(y):i&&o?en(e):e;return R(y,n),v=!0,c!==void 0&&(c=n),e}return $n&&v||b.f&16384?y.v:W(y)})}function Ii(e){N===null&&me(`onMount`),He&&N.l!==null?Ri(N).m.push(e):Dn(()=>{let t=wr(e);if(typeof t==`function`)return t})}function Li(e){N===null&&me(`onDestroy`),Ii(()=>()=>wr(e))}function Ri(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Ue();function zi(e){let t=e-1;return t*t*t+1}function Bi(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=zi}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=Vi(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function Vi(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var Hi=e=>e;function Ui(e){let t=e-1;return t*t*t+1}function Wi(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function Gi(e,{delay:t=0,duration:n=400,easing:r=Hi}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function Ki(e,{delay:t=0,duration:n=400,easing:r=Ui,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=Wi(i),[p,m]=Wi(a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
3
- transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m});
4
- opacity: ${c-u*t}`}}var qi=K(`<span class="json-editor-label svelte-1w5oz74"> </span>`),Ji=K(`<div class="status-badge valid svelte-1w5oz74"><span class="status-dot svelte-1w5oz74"></span> Valid JSON</div>`),Yi=K(`<div class="status-badge invalid svelte-1w5oz74"><span class="status-dot svelte-1w5oz74"></span> Malformed JSON</div>`),Xi=K(`<div class="error-msg-banner svelte-1w5oz74"> </div>`),Zi=K(`<div class="raw-editor-view svelte-1w5oz74"><textarea rows="5"></textarea> <div class="json-editor-status-bar svelte-1w5oz74"><!> <div class="status-actions"><button type="button" class="btn btn-secondary btn-sm"><svg viewBox="0 0 24 24" width="12" height="12" style="fill: currentColor; margin-right: 4px;"><path d="M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z"></path></svg> Format</button></div></div> <!></div>`),Qi=K(`<div class="error-visual-fallback card svelte-1w5oz74"><div class="card-body text-center"><svg viewBox="0 0 24 24" width="32" height="32" class="text-danger" style="margin-bottom: 12px; fill: currentColor;"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg> <h4>Cannot Parse Object</h4> <p class="text-muted" style="font-size: 12px; margin: 8px 0 16px;">The current text has formatting errors or is not a valid JSON object. Please fix it in the Raw JSON tab or reset to an empty object.</p> <button type="button" class="btn btn-primary btn-sm">Reset to Empty Object</button></div></div>`),$i=K(`<div class="empty-rows-state svelte-1w5oz74">No custom key-value attributes defined. Click "Add Property" to build your JSON.</div>`),ea=K(`<select class="form-input value-select svelte-1w5oz74"><option>False</option><option>True</option></select>`),ta=K(`<div class="null-placeholder svelte-1w5oz74">null</div>`),na=K(`<input type="number" class="form-input val-input svelte-1w5oz74"/>`),ra=K(`<textarea rows="1" class="form-input val-textarea code svelte-1w5oz74" placeholder="e.g. {&quot;nested&quot;: 1}"></textarea>`),ia=K(`<input type="text" placeholder="value" class="form-input val-input svelte-1w5oz74"/>`),aa=K(`<div class="row-builder-item svelte-1w5oz74"><input type="text" placeholder="key" class="form-input key-input svelte-1w5oz74"/> <select class="form-input type-select svelte-1w5oz74"><option>String</option><option>Number</option><option>Boolean</option><option>Null</option><option>JSON / Object</option></select> <div class="value-input-wrapper svelte-1w5oz74"><!></div> <button type="button" class="btn btn-secondary btn-icon remove-row-btn svelte-1w5oz74" title="Remove Row"><svg viewBox="0 0 24 24" width="14" height="14" style="fill: currentColor;"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"></path></svg></button></div>`),oa=K(`<div class="rows-header-grid svelte-1w5oz74"><span class="header-col svelte-1w5oz74">Property Name</span> <span class="header-col svelte-1w5oz74">Type</span> <span class="header-col svelte-1w5oz74">Value</span> <span class="header-col action-col svelte-1w5oz74"></span></div> <div class="rows-list svelte-1w5oz74"></div>`,1),sa=K(`<div class="visual-rows-container svelte-1w5oz74"><!> <div class="visual-actions-footer svelte-1w5oz74"><button type="button" class="btn btn-secondary btn-sm"><svg viewBox="0 0 24 24" width="14" height="14" style="fill: currentColor; margin-right: 4px;"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path></svg> Add Property</button></div></div>`),ca=K(`<div class="visual-editor-view svelte-1w5oz74"><!></div>`),la=K(`<div class="json-editor-container svelte-1w5oz74"><div class="json-editor-header svelte-1w5oz74"><!> <div class="json-editor-tabs svelte-1w5oz74"><button type="button"><svg viewBox="0 0 24 24" class="tab-icon svelte-1w5oz74"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></svg> Raw JSON</button> <button type="button"><svg viewBox="0 0 24 24" class="tab-icon svelte-1w5oz74"><path d="M4 14h6v-4H4v4zm0 5h6v-4H4v4zM4 9h6V5H4v4zm10 5h6v-4h-6v4zm0 5h6v-4h-6v4zM14 5v4h6V5h-6z"></path></svg> Visual Builder</button></div></div> <div class="json-editor-content svelte-1w5oz74"><!></div></div>`);function ua(e,t){Ge(t,!1);let n=Fi(t,`value`,12,``),r=Fi(t,`placeholder`,8,`e.g. {"status": "active"}`),i=Fi(t,`label`,8,``),a=Fi(t,`required`,8,!1),o=L(`raw`),s=L(n()||``),c=L(!0),l=L(``),u=L([]);function d(){return Math.random().toString(36).substring(2,9)}function f(){if(!W(s).trim()){R(c,!0),R(l,``),R(u,[]);return}try{let e=JSON.parse(W(s));R(c,!0),R(l,``),e&&typeof e==`object`&&!Array.isArray(e)?R(u,Object.entries(e).map(([e,t])=>{let n=`string`,r=t;return t===null?(n=`null`,r=``):typeof t==`number`?n=`number`:typeof t==`boolean`?n=`boolean`:typeof t==`object`&&(n=`json`,r=JSON.stringify(t)),{id:d(),key:e,val:r,type:n}})):R(u,[])}catch(e){R(c,!1),R(l,e.message)}}function p(){n(W(s)),f()}function m(){if(W(s).trim())try{let e=JSON.parse(W(s));R(s,JSON.stringify(e,null,2)),n(W(s)),R(c,!0),R(l,``),f()}catch(e){R(c,!1),R(l,e.message)}}function h(){let e={};for(let t of W(u)){if(!t.key.trim())continue;let n;if(t.type===`number`)n=t.val===``?0:Number(t.val);else if(t.type===`boolean`)n=t.val===!0||t.val===`true`;else if(t.type===`null`)n=null;else if(t.type===`json`)try{n=JSON.parse(t.val)}catch{n=t.val}else n=t.val;e[t.key]=n}R(s,JSON.stringify(e,null,2)),n(W(s)),R(c,!0),R(l,``)}function g(){R(u,[...W(u),{id:d(),key:``,val:``,type:`string`}])}function _(e){R(u,W(u).filter(t=>t.id!==e)),h()}function v(){h()}function y(e,t){let n=t.target.value;e.type=n,n===`boolean`?e.val=!1:n===`null`?e.val=``:n===`number`?e.val=0:n===`json`?e.val=`{}`:e.val=``,h()}function b(e){R(o,e),e===`visual`&&f()}function x(){R(s,`{}`),n(`{}`),R(c,!0),R(l,``),R(u,[]),R(o,`visual`),f()}Ii(()=>{f()}),Mn(()=>(Tr(n()),W(s)),()=>{n()!==W(s)&&(R(s,n()||``),f())}),Nn(),Ni();var S=la(),C=z(S),w=z(C),ee=e=>{var t=qi(),n=z(t);M(t),V(()=>J(n,`${i()??``} ${a()?`*`:``}`)),q(e,t)};Y(w,e=>{i()&&e(ee)});var T=B(w,2),te=z(T),ne=B(te,2);M(T),M(C);var re=B(C,2),ie=z(re),E=e=>{var t=Zi(),n=z(t);_n(n);var i=B(n,2),o=z(i),u=e=>{q(e,Ji())},d=e=>{var t=Yi();V(()=>Di(t,`title`,W(l))),q(e,t)};Y(o,e=>{W(c)?e(u):e(d,-1)});var f=B(o,2),h=z(f);M(f),M(i);var g=B(i,2),_=e=>{var t=Xi(),n=z(t,!0);M(t),V(()=>J(n,W(l))),q(e,t)};Y(g,e=>{!W(c)&&W(l)&&e(_)}),M(t),V(()=>{Z(n,1,`form-input code raw-textarea ${W(c)?``:`invalid-border`}`,`svelte-1w5oz74`),Di(n,`placeholder`,r()),n.required=a()}),$(n,()=>W(s),e=>R(s,e)),G(`input`,n,p),G(`click`,h,m),q(e,t)},ae=e=>{var t=ca(),n=z(t),r=e=>{var t=Qi(),n=z(t),r=B(z(n),6);M(n),M(t),G(`click`,r,x),q(e,t)},i=e=>{var t=sa(),n=z(t),r=e=>{q(e,$i())},i=e=>{var t=oa(),n=B(fn(t),2);Zr(n,5,()=>W(u),e=>e.id,(e,t,n)=>{var r=aa(),i=z(r);Q(i);var a=B(i,2),o=z(a);o.value=o.__value=`string`;var s=B(o);s.value=s.__value=`number`;var c=B(s);c.value=c.__value=`boolean`;var l=B(c);l.value=l.__value=`null`;var d=B(l);d.value=d.__value=`json`,M(a);var f;xi(a);var p=B(a,2),m=z(p),h=e=>{var n=ea(),r=z(n);r.value=r.__value=!1;var i=B(r);i.value=i.__value=!0,M(n),Si(n,()=>W(t).val,e=>(W(t).val=e,Zn(()=>W(u)),Zn(()=>{}))),G(`change`,n,v),q(e,n)},g=e=>{q(e,ta())},b=e=>{var n=na();Q(n),$(n,()=>W(t).val,e=>(W(t).val=e,Zn(()=>W(u)),Zn(()=>{}))),G(`input`,n,v),q(e,n)},x=e=>{var n=ra();_n(n),$(n,()=>W(t).val,e=>(W(t).val=e,Zn(()=>W(u)),Zn(()=>{}))),G(`input`,n,v),q(e,n)},S=e=>{var n=ia();Q(n),$(n,()=>W(t).val,e=>(W(t).val=e,Zn(()=>W(u)),Zn(()=>{}))),G(`input`,n,v),q(e,n)};Y(m,e=>{W(t),wr(()=>W(t).type===`boolean`)?e(h):(W(t),wr(()=>W(t).type===`null`)?e(g,1):(W(t),wr(()=>W(t).type===`number`)?e(b,2):(W(t),wr(()=>W(t).type===`json`)?e(x,3):e(S,-1))))}),M(p);var C=B(p,2);M(r),V(()=>{f!==(f=(W(t),wr(()=>W(t).type)))&&(a.value=(a.__value=(W(t),wr(()=>W(t).type)))??``,bi(a,(W(t),wr(()=>W(t).type))))}),$(i,()=>W(t).key,e=>(W(t).key=e,Zn(()=>W(u)),Zn(()=>{}))),G(`input`,i,v),G(`change`,a,e=>y(W(t),e)),G(`click`,C,()=>_(W(t).id)),q(e,r)}),M(n),q(e,t)};Y(n,e=>{W(u),wr(()=>W(u).length===0)?e(r):e(i,-1)});var a=B(n,2),o=z(a);M(a),M(t),G(`click`,o,g),q(e,t)};Y(n,e=>{W(c)?e(i,-1):e(r)}),M(t),q(e,t)};Y(ie,e=>{W(o)===`raw`?e(E):e(ae,-1)}),M(re),M(S),V(()=>{Z(te,1,`json-tab-btn ${W(o)===`raw`?`active`:``}`,`svelte-1w5oz74`),Z(ne,1,`json-tab-btn ${W(o)===`visual`?`active`:``}`,`svelte-1w5oz74`)}),G(`click`,te,()=>b(`raw`)),G(`click`,ne,()=>b(`visual`)),q(e,S),Ke()}var da=K(`<div class="modal-overlay active" style="z-index: 10000; background: rgba(5, 6, 12, 0.95);"><div class="modal-card" style="border-color: rgba(99, 102, 241, 0.3); box-shadow: 0 0 40px rgba(99, 102, 241, 0.25);"><div class="modal-header" style="justify-content: center; border-bottom: none; padding-top: 30px;"><span class="brand-logo" style="width: 44px; height: 44px; font-size: 18px;">tg</span></div> <div class="modal-body" style="padding-top: 10px;"><h2 class="text-center" style="font-size: 20px; font-weight: 700; margin-bottom: 8px;">thingd Security Shield</h2> <p class="text-muted text-center" style="font-size: 13.5px; margin-bottom: 24px;">This database instance is protected. Enter the authorization bearer token to gain access.</p> <form><div class="form-group"><label for="auth-key">Authorization Bearer Token *</label> <input type="password" id="auth-key" placeholder="Enter auth token..." class="form-input text-center" style="letter-spacing: 2px;" required=""/></div> <div class="modal-footer" style="justify-content: center; margin-top: 20px;"><button type="submit" class="btn btn-primary" style="width: 100%; height: 42px;">Unlock Dashboard</button></div></form></div></div></div>`),fa=K(`<button class="btn btn-sm btn-secondary" style="width: 100%;">Lock Session</button>`),pa=K(`<div class="log-line"><span class="text-muted"> </span> <span> </span></div>`),ma=K(`<div class="tab-panel active"><div class="metrics-grid"><div class="metric-card"><div class="metric-icon objects-icon"><svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H7c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.04-.42 1.99-1.07 2.75z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Total Memory Objects</span></div></div> <div class="metric-card"><div class="metric-icon events-icon"><svg viewBox="0 0 24 24"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Appended Events</span></div></div> <div class="metric-card"><div class="metric-icon queues-icon"><svg viewBox="0 0 24 24"><path d="M19 15v3H5v-3h14m2-2H3v7h18v-7zM19 5v3H5V5h14m2-2H3v7h18V3z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Active Queue Jobs</span></div></div> <div class="metric-card"><div class="metric-icon dead-icon"><svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path></svg></div> <div class="metric-body"><span class="metric-num"> </span> <span class="metric-title">Dead / Poison Jobs</span></div></div></div> <div class="row-flex"><div class="card glass flex-2"><div class="card-header"><h2>Memory Engine Overview</h2></div> <div class="card-body"><div class="info-table"><div class="info-row"><span class="info-label">Active Connection</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Storage Engine</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Database Disk Size</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Local Host Port</span> <span class="info-val">8758</span></div></div></div></div> <div class="card glass flex-1"><div class="card-header"><h2>Developer Console</h2></div> <div class="card-body terminal-panel"><div class="terminal-header"><span class="terminal-dot red"></span> <span class="terminal-dot yellow"></span> <span class="terminal-dot green"></span> <span class="terminal-title">quick diagnostics</span></div> <div class="terminal-body" style="max-height: 180px; overflow-y: auto;"></div></div></div></div></div>`),ha=K(`<div class="empty-state">No collections found.</div>`),ga=K(`<button><span class="item-name"> </span> <span class="item-count-badge">coll</span></button>`),_a=K(`<tr><td colspan="5" class="text-center text-muted">Please select a collection from the sidebar to inspect items.</td></tr>`),va=K(`<tr><td colspan="5" class="text-center text-muted">This collection is currently empty.</td></tr>`),ya=K(`<tr><td class="code-cell font-weight-bold"> </td><td class="text-cell"> </td><td class="code-cell"> </td><td class="text-muted" style="font-size: 11px;"> </td><td><div class="btn-group gap-sm"><button class="btn btn-sm btn-secondary">Edit</button> <button class="btn btn-sm btn-danger">Delete</button></div></td></tr>`),ba=K(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header side-header"><h3>Collections</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header"><h3> </h3> <div class="header-actions"><button class="btn btn-primary">Add Memory Object</button></div></div> <div class="card-body flex-column scroll-y"><div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Object ID</th><th>Text Content</th><th>Custom Data</th><th>Created At</th><th>Actions</th></tr></thead><tbody><!></tbody></table></div></div></div></div></div>`),xa=K(`<div class="empty-state">No event streams found.</div>`),Sa=K(`<button><span class="item-name"> </span> <span class="item-count-badge">stream</span></button>`),Ca=K(`<div class="timeline-empty">Please choose a stream from the sidebar.</div>`),wa=K(`<div class="timeline-empty">This stream has no logged events yet.</div>`),Ta=K(`<pre class="timeline-data scroll-x"> </pre>`),Ea=K(`<div><div class="timeline-marker"></div> <div class="timeline-card"><div class="timeline-header"><div class="timeline-title"><span class="timeline-badge"> </span> <span class="text-dark font-weight-bold" style="font-size: 11px;"> </span></div> <span class="timeline-time"> </span></div> <div class="timeline-text"> </div> <!></div></div>`),Da=K(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header"><h3>Event Streams</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header"><h3> </h3> <div class="header-actions"><button class="btn btn-primary">Append Event</button></div></div> <div class="card-body scroll-y timeline-viewport"><div class="timeline"><!></div></div></div></div></div>`),Oa=K(`<div class="empty-state">No active queues found.</div>`),ka=K(`<button><span class="item-name"> </span> <span class="item-count-badge">queue</span></button>`),Aa=K(`<div class="queue-stats-bar"><span class="badge badge-ready"> </span> <span class="badge badge-leased"> </span> <span class="badge badge-dead"> </span></div>`),ja=K(`<tr><td colspan="7" class="text-center text-muted">No queue selected.</td></tr>`),Ma=K(`<tr><td colspan="7" class="text-center text-muted">No active jobs in this queue.</td></tr>`),Na=K(`<tr><td class="code-cell font-weight-bold"> </td><td><span> </span></td><td class="text-center"> </td><td class="text-center"> </td><td class="code-cell"> </td><td class="text-muted" style="font-size: 11px;"> </td><td><button class="btn btn-sm btn-secondary">Inspect Ops</button></td></tr>`),Pa=K(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Job ID</th><th>Status</th><th>Attempts</th><th>Max Attempts</th><th>Payload</th><th>Available At</th><th>Actions</th></tr></thead><tbody><!></tbody></table></div>`),Fa=K(`<tr><td colspan="6" class="text-center text-muted">No queue selected.</td></tr>`),Ia=K(`<tr><td colspan="6" class="text-center text-muted">No poison or dead jobs reported.</td></tr>`),La=K(`<tr><td class="code-cell font-weight-bold"> </td><td class="text-center"> </td><td class="text-center"> </td><td class="text-muted" style="font-size: 11px;"> </td><td class="text-danger"> </td><td class="code-cell"> </td></tr>`),Ra=K(`<div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Job ID</th><th>Attempts</th><th>Max Attempts</th><th>Dead At</th><th>Last Error</th><th>Payload</th></tr></thead><tbody><!></tbody></table></div>`),za=K(`<div class="tab-panel active"><div class="split-layout"><div class="list-side panel-sidebar card glass"><div class="card-header"><h3>Queues</h3></div> <div class="card-body scroll-y"><!></div></div> <div class="inspect-side panel-main card glass"><div class="card-header flex-header flex-column-mobile"><div class="header-details"><h3> </h3> <!></div> <div class="header-actions gap-sm"><button class="btn btn-secondary">Push Job</button> <button class="btn btn-secondary">Claim Next</button></div></div> <div class="card-body flex-column scroll-y"><div class="tabs-subnav"><button> </button> <button> </button></div> <!></div></div></div></div>`),Ba=K(`<tr><td colspan="5" class="text-center text-muted">Enter a search query above and click 'Run Search' to inspect FTS5 matching.</td></tr>`),Va=K(`<tr><td><span class="badge badge-leased"> </span></td><td class="code-cell font-weight-bold"> </td><td style="font-size: 13px;"></td><td class="code-cell"> </td><td class="font-weight-bold text-success"> </td></tr>`),Ha=K(`<div class="tab-panel active"><div class="card glass fill-height flex-column"><div class="card-header"><h2>Stemming Search Tester (FTS5 Engine)</h2></div> <div class="card-body flex-column scroll-y"><div class="search-form-grid"><div class="form-group flex-3"><label for="search-query">Stemmed Search Query</label> <div class="search-input-group"><input type="text" id="search-query" placeholder="e.g. agent memory, scheduler OR heartbeat..." class="form-input search-input"/> <button class="btn btn-primary">Run Search</button></div></div> <div class="form-group flex-1"><label for="search-limit">Limit</label> <input type="number" id="search-limit" class="form-input" min="1"/></div></div> <div class="row-flex gap-lg"><div class="form-group flex-1"><label for="search-cols">Filter Collections (optional comma list)</label> <input type="text" id="search-cols" placeholder="e.g. system, schedules" class="form-input"/></div> <div class="form-group flex-1"><label for="search-meta">Metadata Filter JSON (optional)</label> <input type="text" id="search-meta" placeholder="e.g. {&quot;status&quot;:&quot;active&quot;}" class="form-input"/></div></div> <div class="search-results-section"><h4 class="section-title"> </h4> <div class="scroll-table-wrapper"><table class="data-table"><thead><tr><th>Collection</th><th>Object ID</th><th>Stemmed / Highlighted Text Match</th><th>Custom Metadata</th><th>Score</th></tr></thead><tbody><!></tbody></table></div></div></div></div></div>`),Ua=K(`<span> </span>`),Wa=K(`<div class="tab-panel active"><div class="card glass fill-height flex-column"><div class="card-header"><h2>Database Health</h2></div> <div class="card-body scroll-y"><div class="metrics-grid"><div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">Integrity Check</div> <div class="metric-detail"> </div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Run Check</button></div> <div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">WAL Mode</div> <div class="metric-detail"> </div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Run Checkpoint</button></div> <div class="metric-card glass"><div class="metric-value"> </div> <div class="metric-label">Last Backup</div> <div class="metric-detail"><!></div> <button class="btn btn-sm btn-secondary" style="margin-top: 8px;">Create Backup</button></div></div></div></div></div>`),Ga=K(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3> </h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="obj-id">Object ID *</label> <input type="text" id="obj-id" placeholder="e.g. config-123" class="form-input" required=""/></div> <div class="form-group"><label for="obj-text">Text Content (indexed for stemming search)</label> <textarea id="obj-text" placeholder="Enter text..." class="form-input" rows="4"></textarea></div> <div class="form-group"><!></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Save Object</button></div></form></div></div></div>`),Ka=K(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Append Memory Event</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="ev-stream">Stream Name *</label> <input type="text" id="ev-stream" placeholder="e.g. logs" class="form-input" required=""/></div> <div class="form-group"><label for="ev-type">Event Type *</label> <input type="text" id="ev-type" placeholder="e.g. decision" class="form-input" required=""/></div> <div class="form-group"><label for="ev-text">Event Text</label> <input type="text" id="ev-text" placeholder="Enter message..." class="form-input"/></div> <div class="form-group"><!></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Append Event</button></div></form></div></div></div>`),qa=K(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Push Job onto Queue</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><!></div> <div class="row-flex gap-md"><div class="form-group flex-1"><label for="job-delay">Delay (ms)</label> <input type="number" id="job-delay" placeholder="0" class="form-input" min="0"/></div> <div class="form-group flex-1"><label for="job-attempts">Max Attempts</label> <input type="number" id="job-attempts" class="form-input" min="1"/></div></div> <div class="form-group"><label for="job-idempotency">Idempotency Key (optional)</label> <input type="text" id="job-idempotency" placeholder="e.g. lock-1" class="form-input"/></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Push Job</button></div></form></div></div></div>`),Ja=K(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Claim Next Queue Job</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="claim-lease">Lease Duration (ms)</label> <input type="number" id="claim-lease" placeholder="60000" class="form-input" min="1000"/> <span class="input-tip">Lock period in ms.</span></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Claim Job</button></div></form></div></div></div>`),Ya=K(`<div class="modal-overlay active"><div class="modal-card"><div class="modal-header"><h3>Connection Settings</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body"><form><div class="form-group"><label for="conn-drv">Storage Driver *</label> <select id="conn-drv" class="form-input" style="background: rgba(0, 0, 0, 0.4);"><option>In-Memory Store</option><option>Native SQLite (FTS5)</option><option>Cloud Endpoint</option></select></div> <div class="form-group"><label for="conn-pth">Database Path / Endpoint URL *</label> <input type="text" id="conn-pth" placeholder="e.g. :memory: or database.db" class="form-input" required=""/></div> <div class="form-group"><label for="conn-tok">Bearer Security Token (optional)</label> <input type="password" id="conn-tok" placeholder="Security authorization key..." class="form-input"/></div> <div class="modal-footer"><button type="button" class="btn btn-secondary">Cancel</button> <button type="submit" class="btn btn-primary">Connect</button></div></form></div></div></div>`),Xa=K(`<form class="nack-details-form form-group mt-md"><div class="form-group"><label for="nack-err">Error Message (optional)</label> <input type="text" id="nack-err" placeholder="e.g. failure..." class="form-input"/></div> <div class="form-group"><label for="nack-del">Retry Delay (ms)</label> <input type="number" id="nack-del" class="form-input"/></div> <button type="submit" class="btn btn-primary">Submit Nack</button></form>`),Za=K(`<div class="ops-controls"><h4 class="ops-section-title">Ack / Nack Supervisor (Resolve Job)</h4> <div class="btn-group gap-md" style="display: flex;"><button class="btn btn-success flex-1">Acknowledge Job (Ack)</button> <button class="btn btn-warning flex-1">Reject / Fail Job (Nack)</button></div> <!></div>`),Qa=K(`<div class="modal-overlay active"><div class="modal-card wide"><div class="modal-header"><h3>Queue Job Operations</h3> <button class="modal-close-btn">&times;</button></div> <div class="modal-body flex-column"><div class="job-detail-card"><div class="info-row"><span class="info-label">Job ID</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Queue</span> <span class="info-val code"> </span></div> <div class="info-row"><span class="info-label">Status</span> <span class="info-val"> </span></div> <div class="info-row"><span class="info-label">Attempts</span> <span class="info-val"> </span></div> <div class="info-group"><label for="payload-ops-view">Payload JSON</label> <pre id="payload-ops-view" class="code-view block scroll-x"> </pre></div></div> <!></div></div></div>`),$a=K(`<div><div class="toast-message"> </div></div>`),eo=K(`<!> <div class="app-container"><aside class="sidebar"><div class="sidebar-brand"><span class="brand-logo">tg</span> <span class="brand-text">thingd<span class="version-badge"> </span></span></div> <nav class="sidebar-nav"><button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"></path></svg> Dashboard Status</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0-2-.9-2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12z"></path></svg> Collections & Objects</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></svg> Event Log Stream</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M19 15v3H5v-3h14m2-2H3v7h18v-7zM19 5v3H5V5h14m2-2H3v7h18V3z"></path></svg> Queues & Background Jobs</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg> Stemming FTS5 Tester</button> <button><svg class="nav-icon" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path></svg> Database Health</button></nav> <div class="sidebar-footer" style="display: flex; flex-direction: column; gap: 10px;"><div class="status-indicator"><span class="pulse-dot"></span> <span class="status-text"> </span></div> <!></div></aside> <main class="main-panel"><header class="topbar"><div class="topbar-left"><h1><!> <!> <!> <!> <!> <!></h1></div> <div class="topbar-right"><div class="connection-meta"><span class="meta-label">Driver:</span> <span class="meta-val"> </span> <span class="meta-sep">|</span> <span class="meta-label">Path:</span> <span class="meta-val path-val"> </span> <span class="meta-sep">|</span> <span class="meta-label">Size:</span> <span class="meta-val"> </span></div> <button class="btn btn-secondary btn-icon"><svg viewBox="0 0 24 24" width="16" height="16" style="fill: currentColor;"><path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87c-0.12,0.21-0.08,0.47,0.12,0.61l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12c0,0.31,0.04,0.64,0.09,0.94l-2.03,1.58c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6c0-1.98,1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6C15.6,13.98,13.98,15.6,12,15.6z"></path></svg> Settings</button> <button class="btn btn-secondary btn-icon"><svg viewBox="0 0 24 24" width="16" height="16" style="fill: currentColor;"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"></path></svg> Refresh</button></div></header> <div class="view-viewport"><!> <!> <!> <!> <!> <!></div></main></div> <!> <!> <!> <!> <!> <!> <div class="toast-container" id="toast-container"></div>`,1);function to(e,t){Ge(t,!1);let n=L(`metrics`),r=L(`Connecting...`),i=L(`-`),a=L(`-`),o=L(`N/A`),s=L({objects:0,events:0,activeJobs:0,deadJobs:0}),c=L({integrityOk:!1,integrityMessage:`Not checked`,walMode:`-`,walFrames:0,backupPath:``,backupSize:0}),l=L(``),u=L([{time:new Date().toLocaleTimeString(),text:`Svelte Dashboard loaded successfully.`,type:`muted`},{time:new Date().toLocaleTimeString(),text:`Establishing database connections...`,type:`info`}]),d=L(localStorage.getItem(`thingd_auth_token`)||``),f=L(!1),p=L(``),m=L([]),h=L(null),g=L([]),_=L([]),v=L(null),y=L([]),b=L([]),x=L(null),S=L({queue:``,totalActive:0,ready:0,leased:0,dead:0}),C=L([]),w=L([]),ee=L(`active`),T=L(null),te=L(``),ne=L(20),re=L(``),ie=L(``),E=L([]),ae=L(new Set);function oe(e){W(ae).add(e),R(ae,W(ae)),setTimeout(()=>{W(ae).delete(e),R(ae,W(ae))},1500)}let se=L(!1),ce=L(!1),le=L(!1),ue=L(!1),de=L(!1),fe=L(!1),pe=L(!1),me=L(!1),he=L(``),ge=L(``),_e=L(``),ve=L(``),ye=L(``),be=L(``),xe=L(``),Se=L(``),Ce=L(0),we=L(5),Te=L(``),Ee=L(6e4),D=L(``),De=L(0),Oe=L(`memory`),ke=L(`:memory:`),Ae=L(``),je=L([]);function O(e,t=`info`){let n=Date.now()+Math.random();R(je,[...W(je),{id:n,message:e,type:t}]),setTimeout(()=>{R(je,W(je).filter(e=>e.id!==n))},4e3)}function Me(e,t=``){let n=new Date().toLocaleTimeString();R(u,[...W(u),{time:n,text:e,type:t}]),W(u).length>50&&R(u,W(u).slice(-50))}function k(e){return e?e.toString().replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`):``}async function A(e,t={}){let n={"Content-Type":`application/json`};W(d)&&(n.Authorization=`Bearer ${W(d)}`);try{let r=await fetch(e,{headers:n,...t});if(r.status===401)throw R(f,!0),O(`Authentication token required.`,`warning`),Error(`Unauthorized`);let i=r.headers.get(`content-type`)?.includes(`application/json`)?await r.json():await r.text();if(!r.ok)throw Error(i?.error||`HTTP ${r.status}: ${r.statusText}`);return i}catch(t){throw console.error(`API Error on ${e}:`,t),t}}async function j(){try{let e=await A(`/api/status`);R(r,`Active (Localhost)`),R(i,e.driver===`memory`?`In-Memory Store`:e.driver===`native`?`Native SQLite (FTS5)`:`Cloud Endpoint`),R(a,e.path),R(o,e.metrics.dbSize||`N/A`),R(s,e.metrics),R(l,e.version||``),R(f,!1)}catch(e){e.message!==`Unauthorized`&&(R(r,`Disconnected`),R(i,`Disconnected`),R(a,`-`),R(o,`N/A`),Me(`Status synchronization failed: ${e.message}`,`danger`))}}function Ne(e){if(e.preventDefault(),!W(p).trim()){O(`Token is required.`,`warning`);return}R(d,W(p).trim()),localStorage.setItem(`thingd_auth_token`,W(d)),R(f,!1),O(`Token registered successfully.`,`success`),Me(`Custom security authorization key set.`),Ie()}function Pe(){R(d,``),localStorage.removeItem(`thingd_auth_token`),R(f,!0),O(`Secure session logged out.`,`info`)}function Ie(){j(),W(n)===`collections`&&Re(),W(n)===`events`&&We(),W(n)===`queues`&&Ze()}function Le(e){R(n,e),e===`collections`?Re():e===`events`?We():e===`queues`&&Ze()}async function Re(){try{R(m,await A(`/api/collections`))}catch(e){e.message!==`Unauthorized`&&O(`Failed to fetch collections: ${e.message}`,`error`)}}async function ze(e){R(h,e),Be()}async function Be(){if(W(h))try{R(g,await A(`/api/objects?collection=${encodeURIComponent(W(h))}`))}catch(e){e.message!==`Unauthorized`&&O(`Failed to load objects: ${e.message}`,`error`)}}function Ve(){R(pe,!1),R(he,``),R(ge,``),R(_e,``),R(se,!0)}function He(e){R(pe,!0),R(he,e.id),R(ge,e.text||``);let t={...e};delete t.id,delete t.text,delete t.collection,delete t.createdAt,delete t.updatedAt,delete t.version,R(_e,Object.keys(t).length>0?JSON.stringify(t,null,2):``),R(se,!0)}async function Ue(e){e.preventDefault();let t={};if(W(_e).trim())try{t=JSON.parse(W(_e))}catch{O(`Custom data must be valid JSON.`,`error`);return}try{await A(`/api/objects`,{method:`POST`,body:JSON.stringify({collection:W(h),id:W(he),text:W(ge),data:t})}),O(`Object "${W(he)}" saved successfully.`,`success`),Me(`Saved object "${W(he)}" in collection "${W(h)}".`),R(se,!1),oe(W(he)),Be(),j()}catch(e){O(`Save failed: ${e.message}`,`error`)}}async function N(e){if(confirm(`Are you sure you want to delete object "${e}"?`))try{await A(`/api/objects?collection=${encodeURIComponent(W(h))}&id=${encodeURIComponent(e)}`,{method:`DELETE`}),O(`Object "${e}" deleted.`,`success`),Me(`Deleted object "${e}" from collection "${W(h)}".`,`warning`),Be(),j()}catch(e){O(`Deletion failed: ${e.message}`,`error`)}}async function We(){try{R(_,await A(`/api/events/streams`))}catch(e){e.message!==`Unauthorized`&&O(`Failed to fetch event streams: ${e.message}`,`error`)}}function qe(e){R(v,e),Je()}async function Je(){if(W(v))try{R(y,await A(`/api/events?stream=${encodeURIComponent(W(v))}`))}catch(e){e.message!==`Unauthorized`&&O(`Failed to load event timeline: ${e.message}`,`error`)}}function Ye(){R(ve,W(v)||``),R(ye,``),R(be,``),R(xe,``),R(ce,!0)}async function Xe(e){e.preventDefault();let t={};if(W(xe).trim())try{t=JSON.parse(W(xe))}catch{O(`Event payload must be valid JSON.`,`error`);return}try{await A(`/api/events`,{method:`POST`,body:JSON.stringify({stream:W(ve),type:W(ye),text:W(be),data:t})}),O(`Event logged successfully.`,`success`),Me(`Appended event [${W(ye)}] to stream "${W(ve)}".`),R(ce,!1),oe(W(ve)),We(),W(v)===W(ve)?Je():qe(W(ve)),j()}catch(e){O(`Failed to append event: ${e.message}`,`error`)}}async function Ze(){try{R(b,await A(`/api/queues`))}catch(e){e.message!==`Unauthorized`&&O(`Failed to fetch queues: ${e.message}`,`error`)}}async function Qe(e){R(x,e),$e(),et()}async function $e(){if(W(x))try{R(S,await A(`/api/queues/stats?queue=${encodeURIComponent(W(x))}`))}catch(e){console.error(e)}}async function et(){if(W(x))try{let[e,t]=await Promise.all([A(`/api/queues/jobs?queue=${encodeURIComponent(W(x))}&status=active`),A(`/api/queues/jobs?queue=${encodeURIComponent(W(x))}&status=dead`)]);R(C,e),R(w,t)}catch(e){e.message!==`Unauthorized`&&O(`Failed to load jobs list: ${e.message}`,`error`)}}function P(){R(Se,``),R(Ce,0),R(we,5),R(Te,``),R(le,!0)}async function tt(e){e.preventDefault();let t={};try{t=JSON.parse(W(Se))}catch{O(`Payload must be valid JSON object.`,`error`);return}try{let e=await A(`/api/queues/push`,{method:`POST`,body:JSON.stringify({queue:W(x),payload:t,delayMs:W(Ce),maxAttempts:W(we),idempotencyKey:W(Te)||void 0})});O(`Job "${e.id}" pushed onto queue.`,`success`),Me(`Pushed job ID "${e.id}" onto queue "${W(x)}".`),R(le,!1),oe(e.id),$e(),et(),j()}catch(e){O(`Failed to push job: ${e.message}`,`error`)}}function nt(){R(Ee,6e4),R(ue,!0)}async function rt(e){e.preventDefault();try{let e=await A(`/api/queues/claim`,{method:`POST`,body:JSON.stringify({queue:W(x),leaseMs:W(Ee)})});if(!e){O(`No ready jobs available in queue.`,`warning`),Me(`No ready jobs available in queue "${W(x)}".`,`warning`),R(ue,!1);return}O(`Claimed job ID: "${e.id}"`,`success`),Me(`Claimed job ID "${e.id}" from queue "${W(x)}".`,`success`),R(ue,!1),$e(),et(),j(),it(e)}catch(e){O(`Claim failed: ${e.message}`,`error`)}}function it(e){R(T,e),R(me,!1),R(D,``),R(De,0),R(de,!0)}async function at(){if(!W(T))return;let e=W(T).id;try{await A(`/api/queues/ack`,{method:`POST`,body:JSON.stringify({queue:W(x),jobId:e})}),O(`Job "${e}" acknowledged (ACK).`,`success`),Me(`Acknowledged (ACK) job "${e}" from queue "${W(x)}".`,`success`),R(de,!1),$e(),et(),j()}catch(e){O(`ACK failed: ${e.message}`,`error`)}}async function ot(e){if(e.preventDefault(),!W(T))return;let t=W(T).id;try{await A(`/api/queues/nack`,{method:`POST`,body:JSON.stringify({queue:W(x),jobId:t,error:W(D)||void 0,delayMs:W(De)})}),O(`Job "${t}" rejected (NACK).`,`warning`),Me(`Rejected (NACK) job "${t}" from queue "${W(x)}".`,`warning`),R(de,!1),$e(),et(),j()}catch(e){O(`NACK failed: ${e.message}`,`error`)}}async function st(){let e=W(te).trim();if(!e){O(`Search query is required.`,`warning`);return}R(E,[]);let t=`/api/search?query=${encodeURIComponent(e)}&limit=${W(ne)}`;if(W(re).trim()&&(t+=`&collections=${encodeURIComponent(W(re))}`),W(ie).trim())try{JSON.parse(W(ie)),t+=`&filter=${encodeURIComponent(W(ie))}`}catch{O(`Metadata filter must be a valid JSON.`,`error`);return}try{R(E,await A(t))}catch(e){e.message!==`Unauthorized`&&O(`Search failed: ${e.message}`,`error`)}}function ct(e,t){if(!e)return`-`;let n=k(e);try{t.replace(/[^\w\s]/g,``).split(/\s+/).filter(e=>e.length>2).forEach(e=>{let t=RegExp(`(${e})`,`gi`);n=n.replace(t,`<span class="highlighted-match">$1</span>`)})}catch{}return n}async function lt(){try{let e=await A(`/api/db/integrity`);R(c,{...W(c),integrityOk:e.ok,integrityMessage:e.message}),O(e.ok?`Integrity check passed`:`Integrity check failed: ${e.message}`,e.ok?`success`:`error`)}catch(e){O(`Integrity check failed: ${e.message}`,`error`)}}async function ut(){try{let e=await A(`/api/db/checkpoint`);R(c,{...W(c),walFrames:e.framesAfter||0}),O(`WAL checkpoint complete (${e.framesBefore||0} frames before)`,`success`)}catch(e){O(`WAL checkpoint failed: ${e.message}`,`error`)}}async function dt(){let e=prompt(`Enter backup file path:`,`thingd-backup-${Date.now()}.db`);if(e)try{let t=await A(`/api/backup`,{method:`POST`,body:JSON.stringify({path:e})});R(c,{...W(c),backupPath:t.path,backupSize:t.sizeBytes}),O(`Backup created: ${t.path}`,`success`)}catch(e){O(`Backup failed: ${e.message}`,`error`)}}function ft(){R(Oe,W(i).includes(`In-Memory`)?`memory`:W(i).includes(`FTS5`)?`native`:`cloud`),R(ke,W(a)),R(Ae,W(d)),R(fe,!0)}async function pt(e){e.preventDefault();try{await A(`/api/connect`,{method:`POST`,body:JSON.stringify({path:W(ke),driver:W(Oe),authToken:W(Ae)||void 0})}),R(d,W(Ae)),W(d)?localStorage.setItem(`thingd_auth_token`,W(d)):localStorage.removeItem(`thingd_auth_token`),O(`Database connection swapped successfully.`,`success`),Me(`Swapped database connection to: [${W(Oe)}] ${W(ke)}`),R(fe,!1),R(h,null),R(v,null),R(x,null),Ie()}catch(e){O(`Connection failed: ${e.message}`,`error`)}}let mt=null,ht=null;Ii(()=>{j(),Me(`DB Connection resolved: Active local SQLite stemming context.`,`success`),mt=setInterval(j,4e3),ht=setInterval(()=>{W(n)===`events`&&W(v)&&Je(),W(n)===`queues`&&W(x)&&($e(),et())},3e3)}),Li(()=>{mt&&clearInterval(mt),ht&&clearInterval(ht)}),Ni();var gt=eo(),_t=fn(gt),yt=e=>{var t=da(),n=z(t),r=B(z(n),2),i=B(z(r),4),a=z(i),o=B(z(a),2);Q(o),M(a),Fe(2),M(i),M(r),M(n),M(t),$(o,()=>W(p),e=>R(p,e)),G(`submit`,i,Ne),q(e,t)};Y(_t,e=>{W(f)&&e(yt)});var bt=B(_t,2),xt=z(bt),St=z(xt),Ct=B(z(St),2),wt=B(z(Ct)),Tt=z(wt,!0);M(wt),M(Ct),M(St);var Et=B(St,2),F=z(Et),Dt=B(F,2),I=B(Dt,2),Ot=B(I,2),kt=B(Ot,2),At=B(kt,2);M(Et);var jt=B(Et,2),Mt=z(jt),Nt=B(z(Mt),2),Pt=z(Nt,!0);M(Nt),M(Mt);var Ft=B(Mt,2),It=e=>{var t=fa();G(`click`,t,Pe),q(e,t)};Y(Ft,e=>{W(d)&&e(It)}),M(jt),M(xt);var Lt=B(xt,2),Rt=z(Lt),zt=z(Rt),Bt=z(zt),Vt=z(Bt),Ht=e=>{q(e,zr(`Dashboard Status`))};Y(Vt,e=>{W(n)===`metrics`&&e(Ht)});var Ut=B(Vt,2),Wt=e=>{q(e,zr(`Collections & Objects`))};Y(Ut,e=>{W(n)===`collections`&&e(Wt)});var Gt=B(Ut,2),Kt=e=>{q(e,zr(`Event Log Stream`))};Y(Gt,e=>{W(n)===`events`&&e(Kt)});var qt=B(Gt,2),Jt=e=>{q(e,zr(`Queues & Background Jobs`))};Y(qt,e=>{W(n)===`queues`&&e(Jt)});var Yt=B(qt,2),Xt=e=>{q(e,zr(`Stemming FTS5 Tester`))};Y(Yt,e=>{W(n)===`search`&&e(Xt)});var Zt=B(Yt,2),Qt=e=>{q(e,zr(`Database Health`))};Y(Zt,e=>{W(n)===`health`&&e(Qt)}),M(Bt),M(zt);var $t=B(zt,2),en=z($t),tn=B(z(en),2),nn=z(tn,!0);M(tn);var rn=B(tn,6),an=z(rn,!0);M(rn);var on=B(rn,6),sn=z(on,!0);M(on),M(en);var cn=B(en,2),ln=B(cn,2);M($t),M(Rt);var un=B(Rt,2),dn=z(un),pn=e=>{var t=ma(),n=z(t),r=z(n),c=B(z(r),2),l=z(c),d=z(l,!0);M(l),Fe(2),M(c),M(r);var f=B(r,2),p=B(z(f),2),m=z(p),h=z(m,!0);M(m),Fe(2),M(p),M(f);var g=B(f,2),_=B(z(g),2),v=z(_),y=z(v,!0);M(v),Fe(2),M(_),M(g);var b=B(g,2),x=B(z(b),2),S=z(x),C=z(S,!0);M(S),Fe(2),M(x),M(b),M(n);var w=B(n,2),ee=z(w),T=B(z(ee),2),te=z(T),ne=z(te),re=B(z(ne),2),ie=z(re,!0);M(re),M(ne);var E=B(ne,2),ae=B(z(E),2),oe=z(ae,!0);M(ae),M(E);var se=B(E,2),ce=B(z(se),2),le=z(ce,!0);M(ce),M(se),Fe(2),M(te),M(T),M(ee);var ue=B(ee,2),de=B(z(ue),2),fe=B(z(de),2);Zr(fe,5,()=>W(u),e=>e.time,(e,t)=>{var n=pa(),r=z(n),i=z(r);M(r);var a=B(r,2),o=z(a,!0);M(a),M(n),V(()=>{J(i,`[${W(t).time??``}]`),Z(a,1,_i(W(t).type?`text-${W(t).type}`:``)),J(o,W(t).text)}),X(1,n,()=>Ki,()=>({y:10,duration:200})),q(e,n)}),M(fe),M(de),M(ue),M(w),M(t),V(()=>{J(d,W(s).objects),J(h,W(s).events),J(y,W(s).activeJobs),J(C,W(s).deadJobs),Di(re,`title`,W(a)),J(ie,W(a)),J(oe,W(i)),J(le,W(o))}),q(e,t)};Y(dn,e=>{W(n)===`metrics`&&e(pn)});var mn=B(dn,2),hn=e=>{var t=ba(),n=z(t),r=z(n),i=B(z(r),2),a=z(i),o=e=>{q(e,ha())},s=e=>{var t=Br();Zr(fn(t),9,()=>W(m),e=>e,(e,t)=>{var n=ga(),r=z(n),i=z(r,!0);M(r),Fe(2),M(n),V(e=>{Z(n,1,`sidebar-list-item ${W(h)===W(t)?`active`:``} ${e??``}`),J(i,W(t))},[()=>W(ae).has(W(t))?`flash-highlight`:``]),G(`click`,n,()=>ze(W(t))),pi(n,()=>Bi,()=>({duration:250})),X(1,n,()=>Ki,()=>({x:-20,duration:250})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(a,e=>{W(m).length===0?e(o):e(s,-1)}),M(i),M(r);var c=B(r,2),l=z(c),u=z(l),d=z(u,!0);M(u);var f=B(u,2),p=z(f);M(f),M(l);var _=B(l,2),v=z(_),y=z(v),b=B(z(y)),x=z(b),S=e=>{q(e,_a())},C=e=>{q(e,va())},w=e=>{var t=Br();Zr(fn(t),9,()=>W(g),e=>e.id,(e,t)=>{var n=ya(),r=z(n),i=z(r,!0);M(r);var a=B(r),o=z(a,!0);M(a);var s=B(a),c=z(s,!0);M(s);var l=B(s),u=z(l,!0);M(l);var d=B(l),f=z(d),p=z(f),m=B(p,2);M(f),M(d),M(n),V((e,l,d,f)=>{Z(n,1,e),Di(r,`title`,W(t).id),J(i,W(t).id),Di(a,`title`,W(t).text||``),J(o,W(t).text||`-`),Di(s,`title`,l),J(c,d),J(u,f)},[()=>W(ae).has(W(t).id)?`flash-highlight`:``,()=>JSON.stringify(W(t)),()=>JSON.stringify(W(t)),()=>W(t).createdAt?new Date(W(t).createdAt).toLocaleString():`-`]),G(`click`,p,()=>He(W(t))),G(`click`,m,()=>N(W(t).id)),pi(n,()=>Bi,()=>({duration:300})),X(1,n,()=>Ki,()=>({y:20,duration:300})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(x,e=>{W(h)?W(g).length===0?e(C,1):e(w,-1):e(S)}),M(b),M(y),M(v),M(_),M(c),M(n),M(t),V(()=>{J(d,W(h)?W(h):`Select a collection`),p.disabled=!W(h)}),G(`click`,p,Ve),q(e,t)};Y(mn,e=>{W(n)===`collections`&&e(hn)});var gn=B(mn,2),vn=e=>{var t=Da(),n=z(t),r=z(n),i=B(z(r),2),a=z(i),o=e=>{q(e,xa())},s=e=>{var t=Br();Zr(fn(t),9,()=>W(_),e=>e,(e,t)=>{var n=Sa(),r=z(n),i=z(r,!0);M(r),Fe(2),M(n),V(e=>{Z(n,1,`sidebar-list-item ${W(v)===W(t)?`active`:``} ${e??``}`),J(i,W(t))},[()=>W(ae).has(W(t))?`flash-highlight`:``]),G(`click`,n,()=>qe(W(t))),pi(n,()=>Bi,()=>({duration:250})),X(1,n,()=>Ki,()=>({x:-20,duration:250})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(a,e=>{W(_).length===0?e(o):e(s,-1)}),M(i),M(r);var c=B(r,2),l=z(c),u=z(l),d=z(u,!0);M(u);var f=B(u,2),p=z(f);M(f),M(l);var m=B(l,2),h=z(m),g=z(h),b=e=>{q(e,Ca())},x=e=>{q(e,wa())},S=e=>{var t=Br();Zr(fn(t),9,()=>W(y),e=>e.id,(e,t)=>{var n=Ea(),r=B(z(n),2),i=z(r),a=z(i),o=z(a),s=z(o,!0);M(o);var c=B(o,2),l=z(c);M(c),M(a);var u=B(a,2),d=z(u,!0);M(u),M(i);var f=B(i,2),p=z(f,!0);M(f);var m=B(f,2),h=e=>{var n=Ta(),r=z(n,!0);M(n),V(e=>J(r,e),[()=>JSON.stringify(Object.fromEntries(Object.entries(W(t)).filter(([e])=>![`id`,`type`,`text`,`createdAt`,`stream`].includes(e))),null,2)]),q(e,n)},g=vt(()=>Object.keys(W(t)).filter(e=>![`id`,`type`,`text`,`createdAt`,`stream`].includes(e)).length>0);Y(m,e=>{W(g)&&e(h)}),M(r),M(n),V((e,r)=>{Z(n,1,`timeline-item ${e??``}`),J(s,W(t).type),J(l,`#${W(t).id??``}`),J(d,r),J(p,W(t).text||`Logged message.`)},[()=>W(ae).has(W(t).id)?`flash-highlight`:``,()=>W(t).createdAt?new Date(W(t).createdAt).toLocaleString():``]),pi(n,()=>Bi,()=>({duration:300})),X(1,n,()=>Ki,()=>({y:20,duration:300})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(g,e=>{W(v)?W(y).length===0?e(x,1):e(S,-1):e(b)}),M(h),M(m),M(c),M(n),M(t),V(()=>J(d,W(v)?`Timeline: ${W(v)}`:`All Event Timelines`)),G(`click`,p,Ye),q(e,t)};Y(gn,e=>{W(n)===`events`&&e(vn)});var yn=B(gn,2),bn=e=>{var t=za(),n=z(t),r=z(n),i=B(z(r),2),a=z(i),o=e=>{q(e,Oa())},s=e=>{var t=Br();Zr(fn(t),9,()=>W(b),e=>e,(e,t)=>{var n=ka(),r=z(n),i=z(r,!0);M(r),Fe(2),M(n),V(e=>{Z(n,1,`sidebar-list-item ${W(x)===W(t)?`active`:``} ${e??``}`),J(i,W(t))},[()=>W(ae).has(W(t))?`flash-highlight`:``]),G(`click`,n,()=>Qe(W(t))),pi(n,()=>Bi,()=>({duration:250})),X(1,n,()=>Ki,()=>({x:-20,duration:250})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(a,e=>{W(b).length===0?e(o):e(s,-1)}),M(i),M(r);var c=B(r,2),l=z(c),u=z(l),d=z(u),f=z(d,!0);M(d);var p=B(d,2),m=e=>{var t=Aa(),n=z(t),r=z(n);M(n);var i=B(n,2),a=z(i);M(i);var o=B(i,2),s=z(o);M(o),M(t),V(()=>{J(r,`Ready: ${W(S).ready??``}`),J(a,`Leased: ${W(S).leased??``}`),J(s,`Dead: ${W(S).dead??``}`)}),q(e,t)};Y(p,e=>{W(x)&&e(m)}),M(u);var h=B(u,2),g=z(h),_=B(g,2);M(h),M(l);var v=B(l,2),y=z(v),T=z(y),te=z(T);M(T);var ne=B(T,2),re=z(ne);M(ne),M(y);var ie=B(y,2),E=e=>{var t=Pa(),n=z(t),r=B(z(n)),i=z(r),a=e=>{q(e,ja())},o=e=>{q(e,Ma())},s=e=>{var t=Br();Zr(fn(t),9,()=>W(C),e=>e.id,(e,t)=>{var n=Na(),r=z(n),i=z(r,!0);M(r);var a=B(r),o=z(a),s=z(o,!0);M(o),M(a);var c=B(a),l=z(c,!0);M(c);var u=B(c),d=z(u,!0);M(u);var f=B(u),p=z(f,!0);M(f);var m=B(f),h=z(m,!0);M(m);var g=B(m),_=z(g);M(g),M(n),V((e,a,c,u)=>{Z(n,1,e),Di(r,`title`,W(t).id),J(i,W(t).id),Z(o,1,`badge ${W(t).status===`leased`?`badge-leased`:`badge-ready`}`),J(s,W(t).status),J(l,W(t).attempts),J(d,W(t).maxAttempts),Di(f,`title`,a),J(p,c),J(h,u)},[()=>W(ae).has(W(t).id)?`flash-highlight`:``,()=>JSON.stringify(W(t).payload),()=>JSON.stringify(W(t).payload),()=>W(t).availableAt?new Date(W(t).availableAt).toLocaleString():`-`]),G(`click`,_,()=>it(W(t))),pi(n,()=>Bi,()=>({duration:300})),X(1,n,()=>Ki,()=>({y:20,duration:300})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(i,e=>{W(x)?W(C).length===0?e(o,1):e(s,-1):e(a)}),M(r),M(n),M(t),q(e,t)},oe=e=>{var t=Ra(),n=z(t),r=B(z(n)),i=z(r),a=e=>{q(e,Fa())},o=e=>{q(e,Ia())},s=e=>{var t=Br();Zr(fn(t),9,()=>W(w),e=>e.id,(e,t)=>{var n=La(),r=z(n),i=z(r,!0);M(r);var a=B(r),o=z(a,!0);M(a);var s=B(a),c=z(s,!0);M(s);var l=B(s),u=z(l,!0);M(l);var d=B(l),f=z(d,!0);M(d);var p=B(d),m=z(p,!0);M(p),M(n),V((e,n,a)=>{Di(r,`title`,W(t).id),J(i,W(t).id),J(o,W(t).attempts),J(c,W(t).maxAttempts),J(u,e),Di(d,`title`,W(t).lastError||``),J(f,W(t).lastError||`None`),Di(p,`title`,n),J(m,a)},[()=>W(t).deadAt?new Date(W(t).deadAt).toLocaleString():`-`,()=>JSON.stringify(W(t).payload),()=>JSON.stringify(W(t).payload)]),pi(n,()=>Bi,()=>({duration:300})),X(1,n,()=>Ki,()=>({y:20,duration:300})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(i,e=>{W(x)?W(w).length===0?e(o,1):e(s,-1):e(a)}),M(r),M(n),M(t),q(e,t)};Y(ie,e=>{W(ee)===`active`?e(E):e(oe,-1)}),M(v),M(c),M(n),M(t),V(()=>{J(f,W(x)?W(x):`Select a Queue`),g.disabled=!W(x),_.disabled=!W(x),Z(T,1,`subnav-item ${W(ee)===`active`?`active`:``}`),J(te,`Active Jobs (${W(C).length??``})`),Z(ne,1,`subnav-item ${W(ee)===`dead`?`active`:``}`),J(re,`Dead / Poison Jobs (${W(w).length??``})`)}),G(`click`,g,P),G(`click`,_,nt),G(`click`,T,()=>R(ee,`active`)),G(`click`,ne,()=>R(ee,`dead`)),q(e,t)};Y(yn,e=>{W(n)===`queues`&&e(bn)});var xn=B(yn,2),Sn=e=>{var t=Ha(),n=z(t),r=B(z(n),2),i=z(r),a=z(i),o=B(z(a),2),s=z(o);Q(s);var c=B(s,2);M(o),M(a);var l=B(a,2),u=B(z(l),2);Q(u),M(l),M(i);var d=B(i,2),f=z(d),p=B(z(f),2);Q(p),M(f);var m=B(f,2),h=B(z(m),2);Q(h),M(m),M(d);var g=B(d,2),_=z(g),v=z(_);M(_);var y=B(_,2),b=z(y),x=B(z(b)),S=z(x),C=e=>{q(e,Ba())},w=e=>{var t=Br();Zr(fn(t),9,()=>W(E),e=>e.id,(e,t)=>{var n=Va(),r=z(n),i=z(r),a=z(i,!0);M(i),M(r);var o=B(r),s=z(o,!0);M(o);var c=B(o);ri(c,()=>ct(W(t).text,W(te)),!0),M(c);var l=B(c),u=z(l,!0);M(l);var d=B(l),f=z(d,!0);M(d),M(n),V((e,n,r)=>{J(a,W(t).collection),Di(o,`title`,W(t).id),J(s,W(t).id),Di(l,`title`,e),J(u,n),J(f,r)},[()=>JSON.stringify(W(t)),()=>JSON.stringify(W(t)),()=>W(t).score?W(t).score.toFixed(3):`1.000`]),pi(n,()=>Bi,()=>({duration:300})),X(1,n,()=>Ki,()=>({y:20,duration:300})),X(2,n,()=>Gi,()=>({duration:150})),q(e,n)}),q(e,t)};Y(S,e=>{W(E).length===0?e(C):e(w,-1)}),M(x),M(b),M(y),M(g),M(r),M(n),M(t),V(()=>J(v,`Search Results (${W(E).length??``} matching objects found)`)),$(s,()=>W(te),e=>R(te,e)),G(`keydown`,s,e=>e.key===`Enter`&&st()),G(`click`,c,st),$(u,()=>W(ne),e=>R(ne,e)),$(p,()=>W(re),e=>R(re,e)),$(h,()=>W(ie),e=>R(ie,e)),q(e,t)};Y(xn,e=>{W(n)===`search`&&e(Sn)});var Cn=B(xn,2),wn=e=>{var t=Wa(),n=z(t),r=B(z(n),2),i=z(r),a=z(i),o=z(a),s=z(o,!0);M(o);var l=B(o,4),u=z(l,!0);M(l);var d=B(l,2);M(a);var f=B(a,2),p=z(f),m=z(p,!0);M(p);var h=B(p,4),g=z(h);M(h);var _=B(h,2);M(f);var v=B(f,2),y=z(v),b=z(y,!0);M(y);var x=B(y,4),S=z(x),C=e=>{var t=Ua(),n=z(t);M(t),V(e=>J(n,`${e??``} MB`),[()=>(W(c).backupSize/1024/1024).toFixed(2)]),q(e,t)};Y(S,e=>{W(c).backupSize&&e(C)}),M(x);var w=B(x,2);M(v),M(i),M(r),M(n),M(t),V(()=>{J(s,W(c).integrityOk?`✓`:`✗`),J(u,W(c).integrityMessage),J(m,W(c).walMode),J(g,`Frames: ${W(c).walFrames??``}`),J(b,W(c).backupPath||`N/A`)}),G(`click`,d,lt),G(`click`,_,ut),G(`click`,w,dt),q(e,t)};Y(Cn,e=>{W(n)===`health`&&e(wn)}),M(un),M(Lt),M(bt);var Tn=B(bt,2),En=e=>{var t=Ga(),n=z(t),r=z(n),i=z(r),a=z(i,!0);M(i);var o=B(i,2);M(r);var s=B(r,2),c=z(s),l=z(c),u=B(z(l),2);Q(u),M(l);var d=B(l,2),f=B(z(d),2);_n(f),M(d);var p=B(d,2);ua(z(p),{label:`Custom Metadata`,placeholder:`{"status": "active"}`,get value(){return W(_e)},set value(e){R(_e,e)},$$legacy:!0}),M(p);var m=B(p,2),h=z(m);Fe(2),M(m),M(c),M(s),M(n),M(t),V(()=>{J(a,W(pe)?`Edit Memory Object`:`Add Memory Object`),u.disabled=W(pe)}),G(`click`,o,()=>R(se,!1)),$(u,()=>W(he),e=>R(he,e)),$(f,()=>W(ge),e=>R(ge,e)),G(`click`,h,()=>R(se,!1)),G(`submit`,c,Ue),q(e,t)};Y(Tn,e=>{W(se)&&e(En)});var Dn=B(Tn,2),On=e=>{var t=Ka(),n=z(t),r=z(n),i=B(z(r),2);M(r);var a=B(r,2),o=z(a),s=z(o),c=B(z(s),2);Q(c),M(s);var l=B(s,2),u=B(z(l),2);Q(u),M(l);var d=B(l,2),f=B(z(d),2);Q(f),M(d);var p=B(d,2);ua(z(p),{label:`Event Payload`,placeholder:`{"success": true}`,get value(){return W(xe)},set value(e){R(xe,e)},$$legacy:!0}),M(p);var m=B(p,2),h=z(m);Fe(2),M(m),M(o),M(a),M(n),M(t),G(`click`,i,()=>R(ce,!1)),$(c,()=>W(ve),e=>R(ve,e)),$(u,()=>W(ye),e=>R(ye,e)),$(f,()=>W(be),e=>R(be,e)),G(`click`,h,()=>R(ce,!1)),G(`submit`,o,Xe),q(e,t)};Y(Dn,e=>{W(ce)&&e(On)});var kn=B(Dn,2),An=e=>{var t=qa(),n=z(t),r=z(n),i=B(z(r),2);M(r);var a=B(r,2),o=z(a),s=z(o);ua(z(s),{label:`Payload`,placeholder:`{"action": "build"}`,required:!0,get value(){return W(Se)},set value(e){R(Se,e)},$$legacy:!0}),M(s);var c=B(s,2),l=z(c),u=B(z(l),2);Q(u),M(l);var d=B(l,2),f=B(z(d),2);Q(f),M(d),M(c);var p=B(c,2),m=B(z(p),2);Q(m),M(p);var h=B(p,2),g=z(h);Fe(2),M(h),M(o),M(a),M(n),M(t),G(`click`,i,()=>R(le,!1)),$(u,()=>W(Ce),e=>R(Ce,e)),$(f,()=>W(we),e=>R(we,e)),$(m,()=>W(Te),e=>R(Te,e)),G(`click`,g,()=>R(le,!1)),G(`submit`,o,tt),q(e,t)};Y(kn,e=>{W(le)&&e(An)});var jn=B(kn,2),Mn=e=>{var t=Ja(),n=z(t),r=z(n),i=B(z(r),2);M(r);var a=B(r,2),o=z(a),s=z(o),c=B(z(s),2);Q(c),Fe(2),M(s);var l=B(s,2),u=z(l);Fe(2),M(l),M(o),M(a),M(n),M(t),G(`click`,i,()=>R(ue,!1)),$(c,()=>W(Ee),e=>R(Ee,e)),G(`click`,u,()=>R(ue,!1)),G(`submit`,o,rt),q(e,t)};Y(jn,e=>{W(ue)&&e(Mn)});var Nn=B(jn,2),Pn=e=>{var t=Ya(),n=z(t),r=z(n),i=B(z(r),2);M(r);var a=B(r,2),o=z(a),s=z(o),c=B(z(s),2),l=z(c);l.value=l.__value=`memory`;var u=B(l);u.value=u.__value=`native`;var d=B(u);d.value=d.__value=`cloud`,M(c),M(s);var f=B(s,2),p=B(z(f),2);Q(p),M(f);var m=B(f,2),h=B(z(m),2);Q(h),M(m);var g=B(m,2),_=z(g);Fe(2),M(g),M(o),M(a),M(n),M(t),G(`click`,i,()=>R(fe,!1)),Si(c,()=>W(Oe),e=>R(Oe,e)),$(p,()=>W(ke),e=>R(ke,e)),$(h,()=>W(Ae),e=>R(Ae,e)),G(`click`,_,()=>R(fe,!1)),G(`submit`,o,pt),q(e,t)};Y(Nn,e=>{W(fe)&&e(Pn)});var Fn=B(Nn,2),In=e=>{var t=Qa(),n=z(t),r=z(n),i=B(z(r),2);M(r);var a=B(r,2),o=z(a),s=z(o),c=B(z(s),2),l=z(c,!0);M(c),M(s);var u=B(s,2),d=B(z(u),2),f=z(d,!0);M(d),M(u);var p=B(u,2),m=B(z(p),2),h=z(m,!0);M(m),M(p);var g=B(p,2),_=B(z(g),2),v=z(_);M(_),M(g);var y=B(g,2),b=B(z(y),2),S=z(b,!0);M(b),M(y),M(o);var C=B(o,2),w=e=>{var t=Za(),n=B(z(t),2),r=z(n),i=B(r,2);M(n);var a=B(n,2),o=e=>{var t=Xa(),n=z(t),r=B(z(n),2);Q(r),M(n);var i=B(n,2),a=B(z(i),2);Q(a),M(i),Fe(2),M(t),$(r,()=>W(D),e=>R(D,e)),$(a,()=>W(De),e=>R(De,e)),G(`submit`,t,ot),q(e,t)};Y(a,e=>{W(me)&&e(o)}),M(t),G(`click`,r,at),G(`click`,i,()=>R(me,!W(me))),q(e,t)};Y(C,e=>{W(T).status===`leased`&&e(w)}),M(a),M(n),M(t),V(e=>{J(l,W(T).id),J(f,W(x)),J(h,W(T).status),J(v,`${W(T).attempts??``} of ${W(T).maxAttempts??``}`),J(S,e)},[()=>JSON.stringify(W(T).payload,null,2)]),G(`click`,i,()=>R(de,!1)),q(e,t)};Y(Fn,e=>{W(de)&&W(T)&&e(In)});var Ln=B(Fn,2);Zr(Ln,5,()=>W(je),qr,(e,t)=>{var n=$a(),r=z(n),i=z(r,!0);M(r),M(n),V(()=>{Z(n,1,`toast ${W(t).type??``}`),J(i,W(t).message)}),q(e,n)}),M(Ln),V(()=>{J(Tt,W(l)||`v0.3.0`),Z(F,1,`nav-item ${W(n)===`metrics`?`active`:``}`),Z(Dt,1,`nav-item ${W(n)===`collections`?`active`:``}`),Z(I,1,`nav-item ${W(n)===`events`?`active`:``}`),Z(Ot,1,`nav-item ${W(n)===`queues`?`active`:``}`),Z(kt,1,`nav-item ${W(n)===`search`?`active`:``}`),Z(At,1,`nav-item ${W(n)===`health`?`active`:``}`),J(Pt,W(r)),J(nn,W(i)),Di(rn,`title`,W(a)),J(an,W(a)),J(sn,W(o))}),G(`click`,F,()=>Le(`metrics`)),G(`click`,Dt,()=>Le(`collections`)),G(`click`,I,()=>Le(`events`)),G(`click`,Ot,()=>Le(`queues`)),G(`click`,kt,()=>Le(`search`)),G(`click`,At,()=>Le(`health`)),G(`click`,cn,ft),G(`click`,ln,Ie),q(e,gt),Ke()}Hr(to,{target:document.getElementById(`app`)});