@shahmilsaari/memory-core 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-OHVCPFEY.js → chunk-23GUWJ6F.js} +12 -2
- package/dist/{chunk-M7NKSXFS.js → chunk-GIPKVQSA.js} +113 -1
- package/dist/cli.js +95 -6
- package/dist/dashboard/assets/index-BFwqVRYO.js +2 -0
- package/dist/dashboard/assets/index-y7eHWJtq.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/{dashboard-server-OHVL64F2.js → dashboard-server-MD6NVL2F.js} +375 -3
- package/dist/{db-PRDHI2CN.js → db-FLFZZXG3.js} +23 -1
- package/package.json +11 -7
- package/dist/dashboard/assets/index-B4vD0HC8.css +0 -1
- package/dist/dashboard/assets/index-CesnieMi.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Rc=Object.defineProperty;var $n=t=>{throw TypeError(t)};var Nc=(t,s,a)=>s in t?Rc(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a;var fs=(t,s,a)=>Nc(t,typeof s!="symbol"?s+"":s,a),ll=(t,s,a)=>s.has(t)||$n("Cannot "+a);var u=(t,s,a)=>(ll(t,s,"read from private field"),a?a.call(t):s.get(t)),ie=(t,s,a)=>s.has(t)?$n("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),fe=(t,s,a,r)=>(ll(t,s,"write to private field"),r?r.call(t,a):s.set(t,a),a),He=(t,s,a)=>(ll(t,s,"access private method"),a);(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const f of o.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).observe(document,{childList:!0,subtree:!0});function a(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=a(l);fetch(l.href,o)}})();const Dc=!1;var kl=Array.isArray,Ic=Array.prototype.indexOf,Ia=Array.prototype.includes,qr=Array.from,Pc=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyDescriptors,jc=Object.prototype,Fc=Array.prototype,El=Object.getPrototypeOf,Hn=Object.isExtensible;const $c=()=>{};function Hc(t){return t()}function vl(t){for(var s=0;s<t.length;s++)t[s]()}function ii(){var t,s,a=new Promise((r,l)=>{t=r,s=l});return{promise:a,resolve:t,reject:s}}const Rt=2,Pa=4,fr=8,oi=1<<24,Cs=16,bs=32,na=64,dl=128,rs=512,it=1024,At=2048,ms=4096,Pt=8192,ls=16384,Ta=32768,Bn=1<<25,ja=65536,ul=1<<17,Bc=1<<18,Ha=1<<19,ci=1<<20,Ls=1<<25,xa=65536,Hr=1<<21,lr=1<<22,ra=1<<23,ma=Symbol("$state"),Vc=Symbol(""),js=new class extends Error{constructor(){super(...arguments);fs(this,"name","StaleReactionError");fs(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Wc(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Uc(t,s,a){throw new Error("https://svelte.dev/e/each_key_duplicate")}function qc(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function zc(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Kc(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Gc(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Yc(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Jc(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Xc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Qc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Zc=1,ev=2,vi=4,tv=8,sv=16,di=1,av=2,wt=Symbol(),ui="http://www.w3.org/1999/xhtml";function rv(){console.warn("https://svelte.dev/e/derived_inert")}function lv(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function nv(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function fi(t){return t===this.v}function iv(t,s){return t!=t?s==s:t!==s||t!==null&&typeof t=="object"||typeof t=="function"}function pi(t){return!iv(t,this.v)}let zr=!1,ov=!1;function cv(){zr=!0}let ot=null;function Fa(t){ot=t}function hi(t,s=!1,a){ot={p:ot,i:!1,c:null,e:null,s:t,x:null,r:pe,l:zr&&!s?{s:null,u:null,$:[]}:null}}function _i(t){var s=ot,a=s.e;if(a!==null){s.e=null;for(var r of a)Ii(r)}return s.i=!0,ot=s.p,{}}function pr(){return!zr||ot!==null&&ot.l===null}let da=[];function bi(){var t=da;da=[],vl(t)}function la(t){if(da.length===0&&!sr){var s=da;queueMicrotask(()=>{s===da&&bi()})}da.push(t)}function vv(){for(;da.length>0;)bi()}function mi(t){var s=pe;if(s===null)return ge.f|=ra,t;if(!(s.f&Ta)&&!(s.f&Pa))throw t;aa(t,s)}function aa(t,s){for(;s!==null;){if(s.f&dl){if(!(s.f&Ta))throw t;try{s.b.error(t);return}catch(a){t=a}}s=s.parent}throw t}const dv=-7169;function Xe(t,s){t.f=t.f&dv|s}function Sl(t){t.f&rs||t.deps===null?Xe(t,it):Xe(t,ms)}function gi(t){if(t!==null)for(const s of t)!(s.f&Rt)||!(s.f&xa)||(s.f^=xa,gi(s.deps))}function yi(t,s,a){t.f&At?s.add(t):t.f&ms&&a.add(t),gi(t.deps),Xe(t,it)}const va=new Set;let B=null,St=null,fl=null,sr=!1,nl=!1,Ca=null,Nr=null;var Vn=0;let uv=1;var Ma,Oa,fa,Fs,Ss,ir,zt,or,ta,$s,As,Ra,Na,pa,ct,Dr,wi,Ir,pl,Pr,fv;const Vr=class Vr{constructor(){ie(this,ct);fs(this,"id",uv++);fs(this,"current",new Map);fs(this,"previous",new Map);ie(this,Ma,new Set);ie(this,Oa,new Set);ie(this,fa,new Set);ie(this,Fs,new Map);ie(this,Ss,new Map);ie(this,ir,null);ie(this,zt,[]);ie(this,or,[]);ie(this,ta,new Set);ie(this,$s,new Set);ie(this,As,new Map);ie(this,Ra,new Set);fs(this,"is_fork",!1);ie(this,Na,!1);ie(this,pa,new Set)}skip_effect(s){u(this,As).has(s)||u(this,As).set(s,{d:[],m:[]}),u(this,Ra).delete(s)}unskip_effect(s,a=r=>this.schedule(r)){var r=u(this,As).get(s);if(r){u(this,As).delete(s);for(var l of r.d)Xe(l,At),a(l);for(l of r.m)Xe(l,ms),a(l)}u(this,Ra).add(s)}capture(s,a,r=!1){s.v!==wt&&!this.previous.has(s)&&this.previous.set(s,s.v),s.f&ra||(this.current.set(s,[a,r]),St==null||St.set(s,a)),this.is_fork||(s.v=a)}activate(){B=this}deactivate(){B=null,St=null}flush(){try{nl=!0,B=this,He(this,ct,Ir).call(this)}finally{Vn=0,fl=null,Ca=null,Nr=null,nl=!1,B=null,St=null,ga.clear()}}discard(){for(const s of u(this,Oa))s(this);u(this,Oa).clear(),u(this,fa).clear(),va.delete(this)}register_created_effect(s){u(this,or).push(s)}increment(s,a){let r=u(this,Fs).get(a)??0;if(u(this,Fs).set(a,r+1),s){let l=u(this,Ss).get(a)??0;u(this,Ss).set(a,l+1)}}decrement(s,a,r){let l=u(this,Fs).get(a)??0;if(l===1?u(this,Fs).delete(a):u(this,Fs).set(a,l-1),s){let o=u(this,Ss).get(a)??0;o===1?u(this,Ss).delete(a):u(this,Ss).set(a,o-1)}u(this,Na)||r||(fe(this,Na,!0),la(()=>{fe(this,Na,!1),this.flush()}))}transfer_effects(s,a){for(const r of s)u(this,ta).add(r);for(const r of a)u(this,$s).add(r);s.clear(),a.clear()}oncommit(s){u(this,Ma).add(s)}ondiscard(s){u(this,Oa).add(s)}on_fork_commit(s){u(this,fa).add(s)}run_fork_commit_callbacks(){for(const s of u(this,fa))s(this);u(this,fa).clear()}settled(){return(u(this,ir)??fe(this,ir,ii())).promise}static ensure(){if(B===null){const s=B=new Vr;nl||(va.add(B),sr||la(()=>{B===s&&s.flush()}))}return B}apply(){{St=null;return}}schedule(s){var l;if(fl=s,(l=s.b)!=null&&l.is_pending&&s.f&(Pa|fr|oi)&&!(s.f&Ta)){s.b.defer_effect(s);return}for(var a=s;a.parent!==null;){a=a.parent;var r=a.f;if(Ca!==null&&a===pe&&(ge===null||!(ge.f&Rt)))return;if(r&(na|bs)){if(!(r&it))return;a.f^=it}}u(this,zt).push(a)}};Ma=new WeakMap,Oa=new WeakMap,fa=new WeakMap,Fs=new WeakMap,Ss=new WeakMap,ir=new WeakMap,zt=new WeakMap,or=new WeakMap,ta=new WeakMap,$s=new WeakMap,As=new WeakMap,Ra=new WeakMap,Na=new WeakMap,pa=new WeakMap,ct=new WeakSet,Dr=function(){return this.is_fork||u(this,Ss).size>0},wi=function(){for(const r of u(this,pa))for(const l of u(r,Ss).keys()){for(var s=!1,a=l;a.parent!==null;){if(u(this,As).has(a)){s=!0;break}a=a.parent}if(!s)return!0}return!1},Ir=function(){var _,d;if(Vn++>1e3&&(va.delete(this),hv()),!He(this,ct,Dr).call(this)){for(const p of u(this,ta))u(this,$s).delete(p),Xe(p,At),this.schedule(p);for(const p of u(this,$s))Xe(p,ms),this.schedule(p)}const s=u(this,zt);fe(this,zt,[]),this.apply();var a=Ca=[],r=[],l=Nr=[];for(const p of s)try{He(this,ct,pl).call(this,p,a,r)}catch(w){throw Ei(p),w}if(B=null,l.length>0){var o=Vr.ensure();for(const p of l)o.schedule(p)}if(Ca=null,Nr=null,He(this,ct,Dr).call(this)||He(this,ct,wi).call(this)){He(this,ct,Pr).call(this,r),He(this,ct,Pr).call(this,a);for(const[p,w]of u(this,As))ki(p,w)}else{u(this,Fs).size===0&&va.delete(this),u(this,ta).clear(),u(this,$s).clear();for(const p of u(this,Ma))p(this);u(this,Ma).clear(),Wn(r),Wn(a),(_=u(this,ir))==null||_.resolve()}var f=B;if(u(this,zt).length>0){const p=f??(f=this);u(p,zt).push(...u(this,zt).filter(w=>!u(p,zt).includes(w)))}f!==null&&(va.add(f),He(d=f,ct,Ir).call(d))},pl=function(s,a,r){s.f^=it;for(var l=s.first;l!==null;){var o=l.f,f=(o&(bs|na))!==0,_=f&&(o&it)!==0,d=_||(o&Pt)!==0||u(this,As).has(l);if(!d&&l.fn!==null){f?l.f^=it:o&Pa?a.push(l):Ba(l)&&(o&Cs&&u(this,$s).add(l),Aa(l));var p=l.first;if(p!==null){l=p;continue}}for(;l!==null;){var w=l.next;if(w!==null){l=w;break}l=l.parent}}},Pr=function(s){for(var a=0;a<s.length;a+=1)yi(s[a],u(this,ta),u(this,$s))},fv=function(){var w,I,T;for(const E of va){var s=E.id<this.id,a=[];for(const[x,[W,S]]of this.current){if(E.current.has(x)){var r=E.current.get(x)[0];if(s&&W!==r)E.current.set(x,[W,S]);else continue}a.push(x)}var l=[...E.current.keys()].filter(x=>!this.current.has(x));if(l.length===0)s&&E.discard();else if(a.length>0){if(s)for(const x of u(this,Ra))E.unskip_effect(x,W=>{var S;W.f&(Cs|lr)?E.schedule(W):He(S=E,ct,Pr).call(S,[W])});E.activate();var o=new Set,f=new Map;for(var _ of a)xi(_,l,o,f);f=new Map;var d=[...E.current.keys()].filter(x=>this.current.has(x)?this.current.get(x)[0]!==x:!0);for(const x of u(this,or))!(x.f&(ls|Pt|ul))&&Al(x,d,f)&&(x.f&(lr|Cs)?(Xe(x,At),E.schedule(x)):u(E,ta).add(x));if(u(E,zt).length>0){E.apply();for(var p of u(E,zt))He(w=E,ct,pl).call(w,p,[],[]);fe(E,zt,[])}E.deactivate()}}for(const E of va)u(E,pa).has(this)&&(u(E,pa).delete(this),u(E,pa).size===0&&!He(I=E,ct,Dr).call(I)&&(E.activate(),He(T=E,ct,Ir).call(T)))};let ka=Vr;function pv(t){var s=sr;sr=!0;try{for(var a;;){if(vv(),B===null)return a;B.flush()}}finally{sr=s}}function hv(){try{Gc()}catch(t){aa(t,fl)}}let ps=null;function Wn(t){var s=t.length;if(s!==0){for(var a=0;a<s;){var r=t[a++];if(!(r.f&(ls|Pt))&&Ba(r)&&(ps=new Set,Aa(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&ji(r),(ps==null?void 0:ps.size)>0)){ga.clear();for(const l of ps){if(l.f&(ls|Pt))continue;const o=[l];let f=l.parent;for(;f!==null;)ps.has(f)&&(ps.delete(f),o.push(f)),f=f.parent;for(let _=o.length-1;_>=0;_--){const d=o[_];d.f&(ls|Pt)||Aa(d)}}ps.clear()}}ps=null}}function xi(t,s,a,r){if(!a.has(t)&&(a.add(t),t.reactions!==null))for(const l of t.reactions){const o=l.f;o&Rt?xi(l,s,a,r):o&(lr|Cs)&&!(o&At)&&Al(l,s,r)&&(Xe(l,At),Tl(l))}}function Al(t,s,a){const r=a.get(t);if(r!==void 0)return r;if(t.deps!==null)for(const l of t.deps){if(Ia.call(s,l))return!0;if(l.f&Rt&&Al(l,s,a))return a.set(l,!0),!0}return a.set(t,!1),!1}function Tl(t){B.schedule(t)}function ki(t,s){if(!(t.f&bs&&t.f&it)){t.f&At?s.d.push(t):t.f&ms&&s.m.push(t),Xe(t,it);for(var a=t.first;a!==null;)ki(a,s),a=a.next}}function Ei(t){Xe(t,it);for(var s=t.first;s!==null;)Ei(s),s=s.next}function _v(t){let s=0,a=Ea(0),r;return()=>{Ol()&&(e(a),_r(()=>(s===0&&(r=c(()=>t(()=>ar(a)))),s+=1,()=>{la(()=>{s-=1,s===0&&(r==null||r(),r=void 0,ar(a))})})))}}var bv=ja|Ha;function mv(t,s,a,r){new gv(t,s,a,r)}var es,xl,ts,ha,$t,ss,It,Kt,Hs,_a,sa,Da,cr,vr,Bs,Wr,Qe,yv,wv,xv,hl,jr,Fr,_l,bl;class gv{constructor(s,a,r,l){ie(this,Qe);fs(this,"parent");fs(this,"is_pending",!1);fs(this,"transform_error");ie(this,es);ie(this,xl,null);ie(this,ts);ie(this,ha);ie(this,$t);ie(this,ss,null);ie(this,It,null);ie(this,Kt,null);ie(this,Hs,null);ie(this,_a,0);ie(this,sa,0);ie(this,Da,!1);ie(this,cr,new Set);ie(this,vr,new Set);ie(this,Bs,null);ie(this,Wr,_v(()=>(fe(this,Bs,Ea(u(this,_a))),()=>{fe(this,Bs,null)})));var o;fe(this,es,s),fe(this,ts,a),fe(this,ha,f=>{var _=pe;_.b=this,_.f|=dl,r(f)}),this.parent=pe.b,this.transform_error=l??((o=this.parent)==null?void 0:o.transform_error)??(f=>f),fe(this,$t,Nl(()=>{He(this,Qe,hl).call(this)},bv))}defer_effect(s){yi(s,u(this,cr),u(this,vr))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,ts).pending}update_pending_count(s,a){He(this,Qe,_l).call(this,s,a),fe(this,_a,u(this,_a)+s),!(!u(this,Bs)||u(this,Da))&&(fe(this,Da,!0),la(()=>{fe(this,Da,!1),u(this,Bs)&&Sa(u(this,Bs),u(this,_a))}))}get_effect_pending(){return u(this,Wr).call(this),e(u(this,Bs))}error(s){if(!u(this,ts).onerror&&!u(this,ts).failed)throw s;B!=null&&B.is_fork?(u(this,ss)&&B.skip_effect(u(this,ss)),u(this,It)&&B.skip_effect(u(this,It)),u(this,Kt)&&B.skip_effect(u(this,Kt)),B.on_fork_commit(()=>{He(this,Qe,bl).call(this,s)})):He(this,Qe,bl).call(this,s)}}es=new WeakMap,xl=new WeakMap,ts=new WeakMap,ha=new WeakMap,$t=new WeakMap,ss=new WeakMap,It=new WeakMap,Kt=new WeakMap,Hs=new WeakMap,_a=new WeakMap,sa=new WeakMap,Da=new WeakMap,cr=new WeakMap,vr=new WeakMap,Bs=new WeakMap,Wr=new WeakMap,Qe=new WeakSet,yv=function(){try{fe(this,ss,as(()=>u(this,ha).call(this,u(this,es))))}catch(s){this.error(s)}},wv=function(s){const a=u(this,ts).failed;a&&fe(this,Kt,as(()=>{a(u(this,es),()=>s,()=>()=>{})}))},xv=function(){const s=u(this,ts).pending;s&&(this.is_pending=!0,fe(this,It,as(()=>s(u(this,es)))),la(()=>{var a=fe(this,Hs,document.createDocumentFragment()),r=Ws();a.append(r),fe(this,ss,He(this,Qe,Fr).call(this,()=>as(()=>u(this,ha).call(this,r)))),u(this,sa)===0&&(u(this,es).before(a),fe(this,Hs,null),ya(u(this,It),()=>{fe(this,It,null)}),He(this,Qe,jr).call(this,B))}))},hl=function(){try{if(this.is_pending=this.has_pending_snippet(),fe(this,sa,0),fe(this,_a,0),fe(this,ss,as(()=>{u(this,ha).call(this,u(this,es))})),u(this,sa)>0){var s=fe(this,Hs,document.createDocumentFragment());Pl(u(this,ss),s);const a=u(this,ts).pending;fe(this,It,as(()=>a(u(this,es))))}else He(this,Qe,jr).call(this,B)}catch(a){this.error(a)}},jr=function(s){this.is_pending=!1,s.transfer_effects(u(this,cr),u(this,vr))},Fr=function(s){var a=pe,r=ge,l=ot;os(u(this,$t)),is(u(this,$t)),Fa(u(this,$t).ctx);try{return ka.ensure(),s()}catch(o){return mi(o),null}finally{os(a),is(r),Fa(l)}},_l=function(s,a){var r;if(!this.has_pending_snippet()){this.parent&&He(r=this.parent,Qe,_l).call(r,s,a);return}fe(this,sa,u(this,sa)+s),u(this,sa)===0&&(He(this,Qe,jr).call(this,a),u(this,It)&&ya(u(this,It),()=>{fe(this,It,null)}),u(this,Hs)&&(u(this,es).before(u(this,Hs)),fe(this,Hs,null)))},bl=function(s){u(this,ss)&&(Bt(u(this,ss)),fe(this,ss,null)),u(this,It)&&(Bt(u(this,It)),fe(this,It,null)),u(this,Kt)&&(Bt(u(this,Kt)),fe(this,Kt,null));var a=u(this,ts).onerror;let r=u(this,ts).failed;var l=!1,o=!1;const f=()=>{if(l){nv();return}l=!0,o&&Qc(),u(this,Kt)!==null&&ya(u(this,Kt),()=>{fe(this,Kt,null)}),He(this,Qe,Fr).call(this,()=>{He(this,Qe,hl).call(this)})},_=d=>{try{o=!0,a==null||a(d,f),o=!1}catch(p){aa(p,u(this,$t)&&u(this,$t).parent)}r&&fe(this,Kt,He(this,Qe,Fr).call(this,()=>{try{return as(()=>{var p=pe;p.b=this,p.f|=dl,r(u(this,es),()=>d,()=>f)})}catch(p){return aa(p,u(this,$t).parent),null}}))};la(()=>{var d;try{d=this.transform_error(s)}catch(p){aa(p,u(this,$t)&&u(this,$t).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(_,p=>aa(p,u(this,$t)&&u(this,$t).parent)):_(d)})};function kv(t,s,a,r){const l=pr()?Ll:Dt;var o=t.filter(T=>!T.settled);if(a.length===0&&o.length===0){r(s.map(l));return}var f=pe,_=Ev(),d=o.length===1?o[0].promise:o.length>1?Promise.all(o.map(T=>T.promise)):null;function p(T){_();try{r(T)}catch(E){f.f&ls||aa(E,f)}Br()}if(a.length===0){d.then(()=>p(s.map(l)));return}var w=Si();function I(){Promise.all(a.map(T=>Sv(T))).then(T=>p([...s.map(l),...T])).catch(T=>aa(T,f)).finally(()=>w())}d?d.then(()=>{_(),I(),Br()}):I()}function Ev(){var t=pe,s=ge,a=ot,r=B;return function(o=!0){os(t),is(s),Fa(a),o&&!(t.f&ls)&&(r==null||r.activate(),r==null||r.apply())}}function Br(t=!0){os(null),is(null),Fa(null),t&&(B==null||B.deactivate())}function Si(){var t=pe,s=t.b,a=B,r=s.is_rendered();return s.update_pending_count(1,a),a.increment(r,t),(l=!1)=>{s.update_pending_count(-1,a),a.decrement(r,t,l)}}function Ll(t){var s=Rt|At;return pe!==null&&(pe.f|=Ha),{ctx:ot,deps:null,effects:null,equals:fi,f:s,fn:t,reactions:null,rv:0,v:wt,wv:0,parent:pe,ac:null}}function Sv(t,s,a){let r=pe;r===null&&Wc();var l=void 0,o=Ea(wt),f=!ge,_=new Map;return $v(()=>{var E;var d=pe,p=ii();l=p.promise;try{Promise.resolve(t()).then(p.resolve,p.reject).finally(Br)}catch(x){p.reject(x),Br()}var w=B;if(f){if(d.f&Ta)var I=Si();if(r.b.is_rendered())(E=_.get(w))==null||E.reject(js),_.delete(w);else{for(const x of _.values())x.reject(js);_.clear()}_.set(w,p)}const T=(x,W=void 0)=>{if(I){var S=W===js;I(S)}if(!(W===js||d.f&ls)){if(w.activate(),W)o.f|=ra,Sa(o,W);else{o.f&ra&&(o.f^=ra),Sa(o,x);for(const[Y,Le]of _){if(_.delete(Y),Y===w)break;Le.reject(js)}}w.deactivate()}};p.promise.then(T,x=>T(null,x||"unknown"))}),Rl(()=>{for(const d of _.values())d.reject(js)}),new Promise(d=>{function p(w){function I(){w===l?d(o):p(l)}w.then(I,I)}p(l)})}function Dt(t){const s=Ll(t);return s.equals=pi,s}function Av(t){var s=t.effects;if(s!==null){t.effects=null;for(var a=0;a<s.length;a+=1)Bt(s[a])}}function Cl(t){var s,a=pe,r=t.parent;if(!ia&&r!==null&&r.f&(ls|Pt))return rv(),t.v;os(r);try{t.f&=~xa,Av(t),s=Wi(t)}finally{os(a)}return s}function Ai(t){var s=Cl(t);if(!t.equals(s)&&(t.wv=Bi(),(!(B!=null&&B.is_fork)||t.deps===null)&&(B!==null?B.capture(t,s,!0):t.v=s,t.deps===null))){Xe(t,it);return}ia||(St!==null?(Ol()||B!=null&&B.is_fork)&&St.set(t,s):Sl(t))}function Tv(t){var s,a;if(t.effects!==null)for(const r of t.effects)(r.teardown||r.ac)&&((s=r.teardown)==null||s.call(r),(a=r.ac)==null||a.abort(js),r.teardown=$c,r.ac=null,nr(r,0),Dl(r))}function Ti(t){if(t.effects!==null)for(const s of t.effects)s.teardown&&Aa(s)}let ml=new Set;const ga=new Map;let Li=!1;function Ea(t,s){var a={f:0,v:t,reactions:null,equals:fi,rv:0,wv:0};return a}function Xs(t,s){const a=Ea(t);return Wv(a),a}function j(t,s=!1,a=!0){var l;const r=Ea(t);return s||(r.equals=pi),zr&&a&&ot!==null&&ot.l!==null&&((l=ot.l).s??(l.s=[])).push(r),r}function gt(t,s){return h(t,c(()=>e(t))),s}function h(t,s,a=!1){ge!==null&&(!_s||ge.f&ul)&&pr()&&ge.f&(Rt|Cs|lr|ul)&&(ns===null||!Ia.call(ns,t))&&Xc();let r=a?Za(s):s;return Sa(t,r,Nr)}function Sa(t,s,a=null){if(!t.equals(s)){ga.set(t,ia?s:t.v);var r=ka.ensure();if(r.capture(t,s),t.f&Rt){const l=t;t.f&At&&Cl(l),St===null&&Sl(l)}t.wv=Bi(),Ci(t,At,a),pr()&&pe!==null&&pe.f&it&&!(pe.f&(bs|na))&&(Zt===null?Uv([t]):Zt.push(t)),!r.is_fork&&ml.size>0&&!Li&&Lv()}return s}function Lv(){Li=!1;for(const t of ml)t.f&it&&Xe(t,ms),Ba(t)&&Aa(t);ml.clear()}function ar(t){h(t,t.v+1)}function Ci(t,s,a){var r=t.reactions;if(r!==null)for(var l=pr(),o=r.length,f=0;f<o;f++){var _=r[f],d=_.f;if(!(!l&&_===pe)){var p=(d&At)===0;if(p&&Xe(_,s),d&Rt){var w=_;St==null||St.delete(w),d&xa||(d&rs&&(pe===null||!(pe.f&Hr))&&(_.f|=xa),Ci(w,ms,a))}else if(p){var I=_;d&Cs&&ps!==null&&ps.add(I),a!==null?a.push(I):Tl(I)}}}}function Za(t){if(typeof t!="object"||t===null||ma in t)return t;const s=El(t);if(s!==jc&&s!==Fc)return t;var a=new Map,r=kl(t),l=Xs(0),o=wa,f=_=>{if(wa===o)return _();var d=ge,p=wa;is(null),Yn(o);var w=_();return is(d),Yn(p),w};return r&&a.set("length",Xs(t.length)),new Proxy(t,{defineProperty(_,d,p){(!("value"in p)||p.configurable===!1||p.enumerable===!1||p.writable===!1)&&Yc();var w=a.get(d);return w===void 0?f(()=>{var I=Xs(p.value);return a.set(d,I),I}):h(w,p.value,!0),!0},deleteProperty(_,d){var p=a.get(d);if(p===void 0){if(d in _){const w=f(()=>Xs(wt));a.set(d,w),ar(l)}}else h(p,wt),ar(l);return!0},get(_,d,p){var E;if(d===ma)return t;var w=a.get(d),I=d in _;if(w===void 0&&(!I||(E=tr(_,d))!=null&&E.writable)&&(w=f(()=>{var x=Za(I?_[d]:wt),W=Xs(x);return W}),a.set(d,w)),w!==void 0){var T=e(w);return T===wt?void 0:T}return Reflect.get(_,d,p)},getOwnPropertyDescriptor(_,d){var p=Reflect.getOwnPropertyDescriptor(_,d);if(p&&"value"in p){var w=a.get(d);w&&(p.value=e(w))}else if(p===void 0){var I=a.get(d),T=I==null?void 0:I.v;if(I!==void 0&&T!==wt)return{enumerable:!0,configurable:!0,value:T,writable:!0}}return p},has(_,d){var T;if(d===ma)return!0;var p=a.get(d),w=p!==void 0&&p.v!==wt||Reflect.has(_,d);if(p!==void 0||pe!==null&&(!w||(T=tr(_,d))!=null&&T.writable)){p===void 0&&(p=f(()=>{var E=w?Za(_[d]):wt,x=Xs(E);return x}),a.set(d,p));var I=e(p);if(I===wt)return!1}return w},set(_,d,p,w){var Se;var I=a.get(d),T=d in _;if(r&&d==="length")for(var E=p;E<I.v;E+=1){var x=a.get(E+"");x!==void 0?h(x,wt):E in _&&(x=f(()=>Xs(wt)),a.set(E+"",x))}if(I===void 0)(!T||(Se=tr(_,d))!=null&&Se.writable)&&(I=f(()=>Xs(void 0)),h(I,Za(p)),a.set(d,I));else{T=I.v!==wt;var W=f(()=>Za(p));h(I,W)}var S=Reflect.getOwnPropertyDescriptor(_,d);if(S!=null&&S.set&&S.set.call(w,p),!T){if(r&&typeof d=="string"){var Y=a.get("length"),Le=Number(d);Number.isInteger(Le)&&Le>=Y.v&&h(Y,Le+1)}ar(l)}return!0},ownKeys(_){e(l);var d=Reflect.ownKeys(_).filter(I=>{var T=a.get(I);return T===void 0||T.v!==wt});for(var[p,w]of a)w.v!==wt&&!(p in _)&&d.push(p);return d},setPrototypeOf(){Jc()}})}function Un(t){try{if(t!==null&&typeof t=="object"&&ma in t)return t[ma]}catch{}return t}function Cv(t,s){return Object.is(Un(t),Un(s))}var qn,Mi,Oi,Ri;function Mv(){if(qn===void 0){qn=window,Mi=/Firefox/.test(navigator.userAgent);var t=Element.prototype,s=Node.prototype,a=Text.prototype;Oi=tr(s,"firstChild").get,Ri=tr(s,"nextSibling").get,Hn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Hn(a)&&(a.__t=void 0)}}function Ws(t=""){return document.createTextNode(t)}function Vs(t){return Oi.call(t)}function hr(t){return Ri.call(t)}function n(t,s){return Vs(t)}function Be(t,s=!1){{var a=Vs(t);return a instanceof Comment&&a.data===""?hr(a):a}}function i(t,s=1,a=!1){let r=t;for(;s--;)r=hr(r);return r}function Ov(t){t.textContent=""}function Ni(){return!1}function Rv(t,s,a){return document.createElementNS(ui,t,void 0)}let zn=!1;function Nv(){zn||(zn=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var s;if(!t.defaultPrevented)for(const a of t.target.elements)(s=a.__on_r)==null||s.call(a)})},{capture:!0}))}function Kr(t){var s=ge,a=pe;is(null),os(null);try{return t()}finally{is(s),os(a)}}function Ml(t,s,a,r=a){t.addEventListener(s,()=>Kr(a));const l=t.__on_r;l?t.__on_r=()=>{l(),r(!0)}:t.__on_r=()=>r(!0),Nv()}function Di(t){pe===null&&(ge===null&&Kc(),zc()),ia&&qc()}function Dv(t,s){var a=s.last;a===null?s.last=s.first=t:(a.next=t,t.prev=a,s.last=t)}function Ms(t,s){var a=pe;a!==null&&a.f&Pt&&(t|=Pt);var r={ctx:ot,deps:null,nodes:null,f:t|At|rs,first:null,fn:s,last:null,next:null,parent:a,b:a&&a.b,prev:null,teardown:null,wv:0,ac:null};B==null||B.register_created_effect(r);var l=r;if(t&Pa)Ca!==null?Ca.push(r):ka.ensure().schedule(r);else if(s!==null){try{Aa(r)}catch(f){throw Bt(r),f}l.deps===null&&l.teardown===null&&l.nodes===null&&l.first===l.last&&!(l.f&Ha)&&(l=l.first,t&Cs&&t&ja&&l!==null&&(l.f|=ja))}if(l!==null&&(l.parent=a,a!==null&&Dv(l,a),ge!==null&&ge.f&Rt&&!(t&na))){var o=ge;(o.effects??(o.effects=[])).push(l)}return r}function Ol(){return ge!==null&&!_s}function Rl(t){const s=Ms(fr,null);return Xe(s,it),s.teardown=t,s}function Kn(t){Di();var s=pe.f,a=!ge&&(s&bs)!==0&&(s&Ta)===0;if(a){var r=ot;(r.e??(r.e=[])).push(t)}else return Ii(t)}function Ii(t){return Ms(Pa|ci,t)}function Iv(t){return Di(),Ms(fr|ci,t)}function Pv(t){ka.ensure();const s=Ms(na|Ha,t);return(a={})=>new Promise(r=>{a.outro?ya(s,()=>{Bt(s),r(void 0)}):(Bt(s),r(void 0))})}function jv(t){return Ms(Pa,t)}function Je(t,s){var a=ot,r={effect:null,ran:!1,deps:t};a.l.$.push(r),r.effect=_r(()=>{if(t(),!r.ran){r.ran=!0;var l=pe;try{os(l.parent),c(s)}finally{os(l)}}})}function Fv(){var t=ot;_r(()=>{for(var s of t.l.$){s.deps();var a=s.effect;a.f&it&&a.deps!==null&&Xe(a,ms),Ba(a)&&Aa(a),s.ran=!1}})}function $v(t){return Ms(lr|Ha,t)}function _r(t,s=0){return Ms(fr|s,t)}function P(t,s=[],a=[],r=[]){kv(r,s,a,l=>{Ms(fr,()=>t(...l.map(e)))})}function Nl(t,s=0){var a=Ms(Cs|s,t);return a}function as(t){return Ms(bs|Ha,t)}function Pi(t){var s=t.teardown;if(s!==null){const a=ia,r=ge;Gn(!0),is(null);try{s.call(null)}finally{Gn(a),is(r)}}}function Dl(t,s=!1){var a=t.first;for(t.first=t.last=null;a!==null;){const l=a.ac;l!==null&&Kr(()=>{l.abort(js)});var r=a.next;a.f&na?a.parent=null:Bt(a,s),a=r}}function Hv(t){for(var s=t.first;s!==null;){var a=s.next;s.f&bs||Bt(s),s=a}}function Bt(t,s=!0){var a=!1;(s||t.f&Bc)&&t.nodes!==null&&t.nodes.end!==null&&(Bv(t.nodes.start,t.nodes.end),a=!0),Xe(t,Bn),Dl(t,s&&!a),nr(t,0);var r=t.nodes&&t.nodes.t;if(r!==null)for(const o of r)o.stop();Pi(t),t.f^=Bn,t.f|=ls;var l=t.parent;l!==null&&l.first!==null&&ji(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bv(t,s){for(;t!==null;){var a=t===s?null:hr(t);t.remove(),t=a}}function ji(t){var s=t.parent,a=t.prev,r=t.next;a!==null&&(a.next=r),r!==null&&(r.prev=a),s!==null&&(s.first===t&&(s.first=r),s.last===t&&(s.last=a))}function ya(t,s,a=!0){var r=[];Fi(t,r,!0);var l=()=>{a&&Bt(t),s&&s()},o=r.length;if(o>0){var f=()=>--o||l();for(var _ of r)_.out(f)}else l()}function Fi(t,s,a){if(!(t.f&Pt)){t.f^=Pt;var r=t.nodes&&t.nodes.t;if(r!==null)for(const _ of r)(_.is_global||a)&&s.push(_);for(var l=t.first;l!==null;){var o=l.next;if(!(l.f&na)){var f=(l.f&ja)!==0||(l.f&bs)!==0&&(t.f&Cs)!==0;Fi(l,s,f?a:!1)}l=o}}}function Il(t){$i(t,!0)}function $i(t,s){if(t.f&Pt){t.f^=Pt,t.f&it||(Xe(t,At),ka.ensure().schedule(t));for(var a=t.first;a!==null;){var r=a.next,l=(a.f&ja)!==0||(a.f&bs)!==0;$i(a,l?s:!1),a=r}var o=t.nodes&&t.nodes.t;if(o!==null)for(const f of o)(f.is_global||s)&&f.in()}}function Pl(t,s){if(t.nodes)for(var a=t.nodes.start,r=t.nodes.end;a!==null;){var l=a===r?null:hr(a);s.append(a),a=l}}let ea=null;function Vv(t){var s=ea;try{if(ea=new Set,c(t),s!==null)for(var a of ea)s.add(a);return ea}finally{ea=s}}function Xa(t){for(var s of Vv(t))Sa(s,s.v)}let $r=!1,ia=!1;function Gn(t){ia=t}let ge=null,_s=!1;function is(t){ge=t}let pe=null;function os(t){pe=t}let ns=null;function Wv(t){ge!==null&&(ns===null?ns=[t]:ns.push(t))}let Ht=null,qt=0,Zt=null;function Uv(t){Zt=t}let Hi=1,ua=0,wa=ua;function Yn(t){wa=t}function Bi(){return++Hi}function Ba(t){var s=t.f;if(s&At)return!0;if(s&Rt&&(t.f&=~xa),s&ms){for(var a=t.deps,r=a.length,l=0;l<r;l++){var o=a[l];if(Ba(o)&&Ai(o),o.wv>t.wv)return!0}s&rs&&St===null&&Xe(t,it)}return!1}function Vi(t,s,a=!0){var r=t.reactions;if(r!==null&&!(ns!==null&&Ia.call(ns,t)))for(var l=0;l<r.length;l++){var o=r[l];o.f&Rt?Vi(o,s,!1):s===o&&(a?Xe(o,At):o.f&it&&Xe(o,ms),Tl(o))}}function Wi(t){var W;var s=Ht,a=qt,r=Zt,l=ge,o=ns,f=ot,_=_s,d=wa,p=t.f;Ht=null,qt=0,Zt=null,ge=p&(bs|na)?null:t,ns=null,Fa(t.ctx),_s=!1,wa=++ua,t.ac!==null&&(Kr(()=>{t.ac.abort(js)}),t.ac=null);try{t.f|=Hr;var w=t.fn,I=w();t.f|=Ta;var T=t.deps,E=B==null?void 0:B.is_fork;if(Ht!==null){var x;if(E||nr(t,qt),T!==null&&qt>0)for(T.length=qt+Ht.length,x=0;x<Ht.length;x++)T[qt+x]=Ht[x];else t.deps=T=Ht;if(Ol()&&t.f&rs)for(x=qt;x<T.length;x++)((W=T[x]).reactions??(W.reactions=[])).push(t)}else!E&&T!==null&&qt<T.length&&(nr(t,qt),T.length=qt);if(pr()&&Zt!==null&&!_s&&T!==null&&!(t.f&(Rt|ms|At)))for(x=0;x<Zt.length;x++)Vi(Zt[x],t);if(l!==null&&l!==t){if(ua++,l.deps!==null)for(let S=0;S<a;S+=1)l.deps[S].rv=ua;if(s!==null)for(const S of s)S.rv=ua;Zt!==null&&(r===null?r=Zt:r.push(...Zt))}return t.f&ra&&(t.f^=ra),I}catch(S){return mi(S)}finally{t.f^=Hr,Ht=s,qt=a,Zt=r,ge=l,ns=o,Fa(f),_s=_,wa=d}}function qv(t,s){let a=s.reactions;if(a!==null){var r=Ic.call(a,t);if(r!==-1){var l=a.length-1;l===0?a=s.reactions=null:(a[r]=a[l],a.pop())}}if(a===null&&s.f&Rt&&(Ht===null||!Ia.call(Ht,s))){var o=s;o.f&rs&&(o.f^=rs,o.f&=~xa),o.v!==wt&&Sl(o),Tv(o),nr(o,0)}}function nr(t,s){var a=t.deps;if(a!==null)for(var r=s;r<a.length;r++)qv(t,a[r])}function Aa(t){var s=t.f;if(!(s&ls)){Xe(t,it);var a=pe,r=$r;pe=t,$r=!0;try{s&(Cs|oi)?Hv(t):Dl(t),Pi(t);var l=Wi(t);t.teardown=typeof l=="function"?l:null,t.wv=Hi;var o;Dc&&ov&&t.f&At&&t.deps}finally{$r=r,pe=a}}}async function zv(){await Promise.resolve(),pv()}function e(t){var s=t.f,a=(s&Rt)!==0;if(ea==null||ea.add(t),ge!==null&&!_s){var r=pe!==null&&(pe.f&ls)!==0;if(!r&&(ns===null||!Ia.call(ns,t))){var l=ge.deps;if(ge.f&Hr)t.rv<ua&&(t.rv=ua,Ht===null&&l!==null&&l[qt]===t?qt++:Ht===null?Ht=[t]:Ht.push(t));else{(ge.deps??(ge.deps=[])).push(t);var o=t.reactions;o===null?t.reactions=[ge]:Ia.call(o,ge)||o.push(ge)}}}if(ia&&ga.has(t))return ga.get(t);if(a){var f=t;if(ia){var _=f.v;return(!(f.f&it)&&f.reactions!==null||qi(f))&&(_=Cl(f)),ga.set(f,_),_}var d=(f.f&rs)===0&&!_s&&ge!==null&&($r||(ge.f&rs)!==0),p=(f.f&Ta)===0;Ba(f)&&(d&&(f.f|=rs),Ai(f)),d&&!p&&(Ti(f),Ui(f))}if(St!=null&&St.has(t))return St.get(t);if(t.f&ra)throw t.v;return t.v}function Ui(t){if(t.f|=rs,t.deps!==null)for(const s of t.deps)(s.reactions??(s.reactions=[])).push(t),s.f&Rt&&!(s.f&rs)&&(Ti(s),Ui(s))}function qi(t){if(t.v===wt)return!0;if(t.deps===null)return!1;for(const s of t.deps)if(ga.has(s)||s.f&Rt&&qi(s))return!0;return!1}function c(t){var s=_s;try{return _s=!0,t()}finally{_s=s}}function yt(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(ma in t)gl(t);else if(!Array.isArray(t))for(let s in t){const a=t[s];typeof a=="object"&&a&&ma in a&&gl(a)}}}function gl(t,s=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!s.has(t)){s.add(t),t instanceof Date&&t.getTime();for(let r in t)try{gl(t[r],s)}catch{}const a=El(t);if(a!==Object.prototype&&a!==Array.prototype&&a!==Map.prototype&&a!==Set.prototype&&a!==Date.prototype){const r=ni(a);for(let l in r){const o=r[l].get;if(o)try{o.call(t)}catch{}}}}}const Kv=["touchstart","touchmove"];function Gv(t){return Kv.includes(t)}const Cr=Symbol("events"),Yv=new Set,Jn=new Set;function Jv(t,s,a,r={}){function l(o){if(r.capture||yl.call(s,o),!o.cancelBubble)return Kr(()=>a==null?void 0:a.call(this,o))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?la(()=>{s.addEventListener(t,l,r)}):s.addEventListener(t,l,r),l}function V(t,s,a,r,l){var o={capture:r,passive:l},f=Jv(t,s,a,o);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&Rl(()=>{s.removeEventListener(t,f,o)})}let Xn=null;function yl(t){var S,Y;var s=this,a=s.ownerDocument,r=t.type,l=((S=t.composedPath)==null?void 0:S.call(t))||[],o=l[0]||t.target;Xn=t;var f=0,_=Xn===t&&t[Cr];if(_){var d=l.indexOf(_);if(d!==-1&&(s===document||s===window)){t[Cr]=s;return}var p=l.indexOf(s);if(p===-1)return;d<=p&&(f=d)}if(o=l[f]||t.target,o!==s){Pc(t,"currentTarget",{configurable:!0,get(){return o||a}});var w=ge,I=pe;is(null),os(null);try{for(var T,E=[];o!==null;){var x=o.assignedSlot||o.parentNode||o.host||null;try{var W=(Y=o[Cr])==null?void 0:Y[r];W!=null&&(!o.disabled||t.target===o)&&W.call(o,t)}catch(Le){T?E.push(Le):T=Le}if(t.cancelBubble||x===s||x===null)break;o=x}if(T){for(let Le of E)queueMicrotask(()=>{throw Le});throw T}}finally{t[Cr]=s,delete t.currentTarget,is(w),os(I)}}}var ri;const il=((ri=globalThis==null?void 0:globalThis.window)==null?void 0:ri.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Xv(t){return(il==null?void 0:il.createHTML(t))??t}function zi(t){var s=Rv("template");return s.innerHTML=Xv(t.replaceAll("<!>","<!---->")),s.content}function $a(t,s){var a=pe;a.nodes===null&&(a.nodes={start:t,end:s,a:null,t:null})}function C(t,s){var a=(s&di)!==0,r=(s&av)!==0,l,o=!t.startsWith("<!>");return()=>{l===void 0&&(l=zi(o?t:"<!>"+t),a||(l=Vs(l)));var f=r||Mi?document.importNode(l,!0):l.cloneNode(!0);if(a){var _=Vs(f),d=f.lastChild;$a(_,d)}else $a(f,f);return f}}function Qv(t,s,a="svg"){var r=!t.startsWith("<!>"),l=(s&di)!==0,o=`<${a}>${r?t:"<!>"+t}</${a}>`,f;return()=>{if(!f){var _=zi(o),d=Vs(_);if(l)for(f=document.createDocumentFragment();Vs(d);)f.appendChild(Vs(d));else f=Vs(d)}var p=f.cloneNode(!0);if(l){var w=Vs(p),I=p.lastChild;$a(w,I)}else $a(p,p);return p}}function Os(t,s){return Qv(t,s,"svg")}function ks(t=""){{var s=Ws(t+"");return $a(s,s),s}}function Es(){var t=document.createDocumentFragment(),s=document.createComment(""),a=Ws();return t.append(s,a),$a(s,a),t}function y(t,s){t!==null&&t.before(s)}function g(t,s){var a=s==null?"":typeof s=="object"?`${s}`:s;a!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=a,t.nodeValue=`${a}`)}function Zv(t,s){return ed(t,s)}const Mr=new Map;function ed(t,{target:s,anchor:a,props:r={},events:l,context:o,intro:f=!0,transformError:_}){Mv();var d=void 0,p=Pv(()=>{var w=a??s.appendChild(Ws());mv(w,{pending:()=>{}},E=>{hi({});var x=ot;o&&(x.c=o),l&&(r.$$events=l),d=t(E,r)||{},_i()},_);var I=new Set,T=E=>{for(var x=0;x<E.length;x++){var W=E[x];if(!I.has(W)){I.add(W);var S=Gv(W);for(const Se of[s,document]){var Y=Mr.get(Se);Y===void 0&&(Y=new Map,Mr.set(Se,Y));var Le=Y.get(W);Le===void 0?(Se.addEventListener(W,yl,{passive:S}),Y.set(W,1)):Y.set(W,Le+1)}}}};return T(qr(Yv)),Jn.add(T),()=>{var S;for(var E of I)for(const Y of[s,document]){var x=Mr.get(Y),W=x.get(E);--W==0?(Y.removeEventListener(E,yl),x.delete(E),x.size===0&&Mr.delete(Y)):x.set(E,W)}Jn.delete(T),w!==a&&((S=w.parentNode)==null||S.removeChild(w))}});return td.set(d,p),d}let td=new WeakMap;var hs,Ts,Gt,ba,dr,ur,Ur;class sd{constructor(s,a=!0){fs(this,"anchor");ie(this,hs,new Map);ie(this,Ts,new Map);ie(this,Gt,new Map);ie(this,ba,new Set);ie(this,dr,!0);ie(this,ur,s=>{if(u(this,hs).has(s)){var a=u(this,hs).get(s),r=u(this,Ts).get(a);if(r)Il(r),u(this,ba).delete(a);else{var l=u(this,Gt).get(a);l&&(u(this,Ts).set(a,l.effect),u(this,Gt).delete(a),l.fragment.lastChild.remove(),this.anchor.before(l.fragment),r=l.effect)}for(const[o,f]of u(this,hs)){if(u(this,hs).delete(o),o===s)break;const _=u(this,Gt).get(f);_&&(Bt(_.effect),u(this,Gt).delete(f))}for(const[o,f]of u(this,Ts)){if(o===a||u(this,ba).has(o))continue;const _=()=>{if(Array.from(u(this,hs).values()).includes(o)){var p=document.createDocumentFragment();Pl(f,p),p.append(Ws()),u(this,Gt).set(o,{effect:f,fragment:p})}else Bt(f);u(this,ba).delete(o),u(this,Ts).delete(o)};u(this,dr)||!r?(u(this,ba).add(o),ya(f,_,!1)):_()}}});ie(this,Ur,s=>{u(this,hs).delete(s);const a=Array.from(u(this,hs).values());for(const[r,l]of u(this,Gt))a.includes(r)||(Bt(l.effect),u(this,Gt).delete(r))});this.anchor=s,fe(this,dr,a)}ensure(s,a){var r=B,l=Ni();if(a&&!u(this,Ts).has(s)&&!u(this,Gt).has(s))if(l){var o=document.createDocumentFragment(),f=Ws();o.append(f),u(this,Gt).set(s,{effect:as(()=>a(f)),fragment:o})}else u(this,Ts).set(s,as(()=>a(this.anchor)));if(u(this,hs).set(r,s),l){for(const[_,d]of u(this,Ts))_===s?r.unskip_effect(d):r.skip_effect(d);for(const[_,d]of u(this,Gt))_===s?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(u(this,ur)),r.ondiscard(u(this,Ur))}else u(this,ur).call(this,r)}}hs=new WeakMap,Ts=new WeakMap,Gt=new WeakMap,ba=new WeakMap,dr=new WeakMap,ur=new WeakMap,Ur=new WeakMap;function H(t,s,a=!1){var r=new sd(t),l=a?ja:0;function o(f,_){r.ensure(f,_)}Nl(()=>{var f=!1;s((_,d=0)=>{f=!0,o(d,_)}),f||o(-1,null)},l)}function Et(t,s){return s}function ad(t,s,a){for(var r=[],l=s.length,o,f=s.length,_=0;_<l;_++){let I=s[_];ya(I,()=>{if(o){if(o.pending.delete(I),o.done.add(I),o.pending.size===0){var T=t.outrogroups;wl(t,qr(o.done)),T.delete(o),T.size===0&&(t.outrogroups=null)}}else f-=1},!1)}if(f===0){var d=r.length===0&&a!==null;if(d){var p=a,w=p.parentNode;Ov(w),w.append(p),t.items.clear()}wl(t,s,!d)}else o={pending:new Set(s),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(o)}function wl(t,s,a=!0){var r;if(t.pending.size>0){r=new Set;for(const f of t.pending.values())for(const _ of f)r.add(t.items.get(_).e)}for(var l=0;l<s.length;l++){var o=s[l];if(r!=null&&r.has(o)){o.f|=Ls;const f=document.createDocumentFragment();Pl(o,f)}else Bt(s[l],a)}}var Qn;function st(t,s,a,r,l,o=null){var f=t,_=new Map,d=(s&vi)!==0;if(d){var p=t;f=p.appendChild(Ws())}var w=null,I=Dt(()=>{var Se=a();return kl(Se)?Se:Se==null?[]:qr(Se)}),T,E=new Map,x=!0;function W(Se){Le.effect.f&ls||(Le.pending.delete(Se),Le.fallback=w,rd(Le,T,f,s,r),w!==null&&(T.length===0?w.f&Ls?(w.f^=Ls,er(w,null,f)):Il(w):ya(w,()=>{w=null})))}function S(Se){Le.pending.delete(Se)}var Y=Nl(()=>{T=e(I);for(var Se=T.length,Tt=new Set,dt=B,Vt=Ni(),b=0;b<Se;b+=1){var Lt=T[b],cs=r(Lt,b),ut=x?null:_.get(cs);ut?(ut.v&&Sa(ut.v,Lt),ut.i&&Sa(ut.i,b),Vt&&dt.unskip_effect(ut.e)):(ut=ld(_,x?f:Qn??(Qn=Ws()),Lt,cs,b,l,s,a),x||(ut.e.f|=Ls),_.set(cs,ut)),Tt.add(cs)}if(Se===0&&o&&!w&&(x?w=as(()=>o(f)):(w=as(()=>o(Qn??(Qn=Ws()))),w.f|=Ls)),Se>Tt.size&&Uc(),!x)if(E.set(dt,Tt),Vt){for(const[Rs,gs]of _)Tt.has(Rs)||dt.skip_effect(gs.e);dt.oncommit(W),dt.ondiscard(S)}else W(dt);e(I)}),Le={effect:Y,items:_,pending:E,outrogroups:null,fallback:w};x=!1}function Qa(t){for(;t!==null&&!(t.f&bs);)t=t.next;return t}function rd(t,s,a,r,l){var ut,Rs,gs,Yt,qe,Ze,ft,Ns,Va;var o=(r&tv)!==0,f=s.length,_=t.items,d=Qa(t.effect.first),p,w=null,I,T=[],E=[],x,W,S,Y;if(o)for(Y=0;Y<f;Y+=1)x=s[Y],W=l(x,Y),S=_.get(W).e,S.f&Ls||((Rs=(ut=S.nodes)==null?void 0:ut.a)==null||Rs.measure(),(I??(I=new Set)).add(S));for(Y=0;Y<f;Y+=1){if(x=s[Y],W=l(x,Y),S=_.get(W).e,t.outrogroups!==null)for(const Ct of t.outrogroups)Ct.pending.delete(S),Ct.done.delete(S);if(S.f&Pt&&(Il(S),o&&((Yt=(gs=S.nodes)==null?void 0:gs.a)==null||Yt.unfix(),(I??(I=new Set)).delete(S))),S.f&Ls)if(S.f^=Ls,S===d)er(S,null,a);else{var Le=w?w.next:d;S===t.effect.last&&(t.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Qs(t,w,S),Qs(t,S,Le),er(S,Le,a),w=S,T=[],E=[],d=Qa(w.next);continue}if(S!==d){if(p!==void 0&&p.has(S)){if(T.length<E.length){var Se=E[0],Tt;w=Se.prev;var dt=T[0],Vt=T[T.length-1];for(Tt=0;Tt<T.length;Tt+=1)er(T[Tt],Se,a);for(Tt=0;Tt<E.length;Tt+=1)p.delete(E[Tt]);Qs(t,dt.prev,Vt.next),Qs(t,w,dt),Qs(t,Vt,Se),d=Se,w=Vt,Y-=1,T=[],E=[]}else p.delete(S),er(S,d,a),Qs(t,S.prev,S.next),Qs(t,S,w===null?t.effect.first:w.next),Qs(t,w,S),w=S;continue}for(T=[],E=[];d!==null&&d!==S;)(p??(p=new Set)).add(d),E.push(d),d=Qa(d.next);if(d===null)continue}S.f&Ls||T.push(S),w=S,d=Qa(S.next)}if(t.outrogroups!==null){for(const Ct of t.outrogroups)Ct.pending.size===0&&(wl(t,qr(Ct.done)),(qe=t.outrogroups)==null||qe.delete(Ct));t.outrogroups.size===0&&(t.outrogroups=null)}if(d!==null||p!==void 0){var b=[];if(p!==void 0)for(S of p)S.f&Pt||b.push(S);for(;d!==null;)!(d.f&Pt)&&d!==t.fallback&&b.push(d),d=Qa(d.next);var Lt=b.length;if(Lt>0){var cs=r&vi&&f===0?a:null;if(o){for(Y=0;Y<Lt;Y+=1)(ft=(Ze=b[Y].nodes)==null?void 0:Ze.a)==null||ft.measure();for(Y=0;Y<Lt;Y+=1)(Va=(Ns=b[Y].nodes)==null?void 0:Ns.a)==null||Va.fix()}ad(t,b,cs)}}o&&la(()=>{var Ct,ze;if(I!==void 0)for(S of I)(ze=(Ct=S.nodes)==null?void 0:Ct.a)==null||ze.apply()})}function ld(t,s,a,r,l,o,f,_){var d=f&Zc?f&sv?Ea(a):j(a,!1,!1):null,p=f&ev?Ea(l):null;return{v:d,i:p,e:as(()=>(o(s,d??a,p??l,_),()=>{t.delete(r)}))}}function er(t,s,a){if(t.nodes)for(var r=t.nodes.start,l=t.nodes.end,o=s&&!(s.f&Ls)?s.nodes.start:a;r!==null;){var f=hr(r);if(o.before(r),r===l)return;r=f}}function Qs(t,s,a){s===null?t.effect.first=a:s.next=a,a===null?t.effect.last=s:a.prev=s}const Zn=[...`
|
|
2
|
+
\r\f \v\uFEFF`];function nd(t,s,a){var r=t==null?"":""+t;if(s&&(r=r?r+" "+s:s),a){for(var l of Object.keys(a))if(a[l])r=r?r+" "+l:l;else if(r.length)for(var o=l.length,f=0;(f=r.indexOf(l,f))>=0;){var _=f+o;(f===0||Zn.includes(r[f-1]))&&(_===r.length||Zn.includes(r[_]))?r=(f===0?"":r.substring(0,f))+r.substring(_+1):f=_}}return r===""?null:r}function id(t,s){return t==null?null:String(t)}function ye(t,s,a,r,l,o){var f=t.__className;if(f!==a||f===void 0){var _=nd(a,r,o);_==null?t.removeAttribute("class"):s?t.className=_:t.setAttribute("class",_),t.__className=a}else if(o&&l!==o)for(var d in o){var p=!!o[d];(l==null||p!==!!l[d])&&t.classList.toggle(d,p)}return o}function Or(t,s,a,r){var l=t.__style;if(l!==s){var o=id(s);o==null?t.removeAttribute("style"):t.style.cssText=o,t.__style=s}return r}function Ki(t,s,a=!1){if(t.multiple){if(s==null)return;if(!kl(s))return lv();for(var r of t.options)r.selected=s.includes(rr(r));return}for(r of t.options){var l=rr(r);if(Cv(l,s)){r.selected=!0;return}}(!a||s!==void 0)&&(t.selectedIndex=-1)}function od(t){var s=new MutationObserver(()=>{Ki(t,t.__value)});s.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Rl(()=>{s.disconnect()})}function Zs(t,s,a=s){var r=new WeakSet,l=!0;Ml(t,"change",o=>{var f=o?"[selected]":":checked",_;if(t.multiple)_=[].map.call(t.querySelectorAll(f),rr);else{var d=t.querySelector(f)??t.querySelector("option:not([disabled])");_=d&&rr(d)}a(_),t.__value=_,B!==null&&r.add(B)}),jv(()=>{var o=s();if(t===document.activeElement){var f=B;if(r.has(f))return}if(Ki(t,o,l),l&&o===void 0){var _=t.querySelector(":checked");_!==null&&(o=rr(_),a(o))}t.__value=o,l=!1}),od(t)}function rr(t){return"__value"in t?t.__value:t.value}const cd=Symbol("is custom element"),vd=Symbol("is html");function te(t,s,a,r){var l=dd(t);l[s]!==(l[s]=a)&&(s==="loading"&&(t[Vc]=a),a==null?t.removeAttribute(s):typeof a!="string"&&ud(t).includes(s)?t[s]=a:t.setAttribute(s,a))}function dd(t){return t.__attributes??(t.__attributes={[cd]:t.nodeName.includes("-"),[vd]:t.namespaceURI===ui})}var ei=new Map;function ud(t){var s=t.getAttribute("is")||t.nodeName,a=ei.get(s);if(a)return a;ei.set(s,a=[]);for(var r,l=t,o=Element.prototype;o!==l;){r=ni(l);for(var f in r)r[f].set&&a.push(f);l=El(l)}return a}function Ot(t,s,a=s){var r=new WeakSet;Ml(t,"input",async l=>{var o=l?t.defaultValue:t.value;if(o=ol(t)?cl(o):o,a(o),B!==null&&r.add(B),await zv(),o!==(o=s())){var f=t.selectionStart,_=t.selectionEnd,d=t.value.length;if(t.value=o??"",_!==null){var p=t.value.length;f===_&&_===d&&p>d?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=f,t.selectionEnd=Math.min(_,p))}}}),c(s)==null&&t.value&&(a(ol(t)?cl(t.value):t.value),B!==null&&r.add(B)),_r(()=>{var l=s();if(t===document.activeElement){var o=B;if(r.has(o))return}ol(t)&&l===cl(t.value)||t.type==="date"&&!l&&!t.value||l!==t.value&&(t.value=l??"")})}function ti(t,s,a=s){Ml(t,"change",r=>{var l=r?t.defaultChecked:t.checked;a(l)}),c(s)==null&&a(t.checked),_r(()=>{var r=s();t.checked=!!r})}function ol(t){var s=t.type;return s==="number"||s==="range"}function cl(t){return t===""?null:+t}function si(t){return function(...s){var a=s[0];a.target===this&&(t==null||t.apply(this,s))}}function fd(t){return function(...s){var a=s[0];return a.stopPropagation(),t==null?void 0:t.apply(this,s)}}function Rr(t){return function(...s){var a=s[0];return a.preventDefault(),t==null?void 0:t.apply(this,s)}}function pd(t=!1){const s=ot,a=s.l.u;if(!a)return;let r=()=>yt(s.s);if(t){let l=0,o={};const f=Ll(()=>{let _=!1;const d=s.s;for(const p in d)d[p]!==o[p]&&(o[p]=d[p],_=!0);return _&&l++,l});r=()=>e(f)}a.b.length&&Iv(()=>{ai(s,r),vl(a.b)}),Kn(()=>{const l=c(()=>a.m.map(Hc));return()=>{for(const o of l)typeof o=="function"&&o()}}),a.a.length&&Kn(()=>{ai(s,r),vl(a.a)})}function ai(t,s){if(t.l.s)for(const a of t.l.s)e(a);s()}const hd="5";var li;typeof window<"u"&&((li=window.__svelte??(window.__svelte={})).v??(li.v=new Set)).add(hd);cv();var _d=C('<p class="login-error svelte-d3ct2b"> </p>'),bd=C('<div class="login-screen svelte-d3ct2b"><div class="login-card svelte-d3ct2b"><div class="login-logo svelte-d3ct2b"><svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="var(--primary)" stroke-width="1.8" class="svelte-d3ct2b"><path d="M12 2L2 7l10 5 10-5-10-5z" class="svelte-d3ct2b"></path><path d="M2 17l10 5 10-5" class="svelte-d3ct2b"></path><path d="M2 12l10 5 10-5" class="svelte-d3ct2b"></path></svg></div> <h1 class="login-title svelte-d3ct2b">ArchMind</h1> <p class="login-sub svelte-d3ct2b">Sign in to your dashboard</p> <!> <form class="login-form svelte-d3ct2b"><label class="login-label svelte-d3ct2b" for="login-email">Email</label> <input id="login-email" type="email" class="login-input svelte-d3ct2b" placeholder="admin@example.com" autocomplete="email" required=""/> <label class="login-label svelte-d3ct2b" for="login-password">Password</label> <input id="login-password" type="password" class="login-input svelte-d3ct2b" placeholder="••••••••" autocomplete="current-password" required=""/> <button type="submit" class="login-btn svelte-d3ct2b"> </button></form> <p class="login-hint svelte-d3ct2b">First time? Run <code class="svelte-d3ct2b">memory-core auth setup</code> to create an admin account.</p></div></div>'),md=C('<span class="topbar-arch-pill svelte-d3ct2b"> </span>'),gd=Os('<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="5" class="svelte-d3ct2b"></circle><line x1="12" y1="1" x2="12" y2="3" class="svelte-d3ct2b"></line><line x1="12" y1="21" x2="12" y2="23" class="svelte-d3ct2b"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" class="svelte-d3ct2b"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" class="svelte-d3ct2b"></line><line x1="1" y1="12" x2="3" y2="12" class="svelte-d3ct2b"></line><line x1="21" y1="12" x2="23" y2="12" class="svelte-d3ct2b"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" class="svelte-d3ct2b"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" class="svelte-d3ct2b"></line></svg>'),yd=Os('<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" class="svelte-d3ct2b"></path></svg>'),wd=C('<span class="side-badge svelte-d3ct2b"> </span>'),xd=C('<span class="side-badge svelte-d3ct2b"> </span>'),kd=C('<div class="sidebar-user svelte-d3ct2b"><span class="sidebar-avatar svelte-d3ct2b"> </span> <span class="sidebar-username svelte-d3ct2b"> </span> <button class="sidebar-logout svelte-d3ct2b" title="Sign out"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-d3ct2b"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-d3ct2b"></path><polyline points="16 17 21 12 16 7" class="svelte-d3ct2b"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-d3ct2b"></line></svg></button></div>'),Ed=C('<div class="health-badge health-warn svelte-d3ct2b"><i class="dot dot-warn svelte-d3ct2b"></i> <span class="svelte-d3ct2b"> </span></div>'),Sd=C('<div><i></i> <span class="svelte-d3ct2b"> </span></div>'),Ad=C('<span class="health-error svelte-d3ct2b"> </span>'),Td=C('<span class="health-error svelte-d3ct2b"> </span>'),Ld=Os('<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" class="svelte-d3ct2b"><polygon points="5 3 19 12 5 21 5 3" class="svelte-d3ct2b"></polygon></svg>'),Cd=Os('<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" class="svelte-d3ct2b"><rect x="6" y="4" width="4" height="16" class="svelte-d3ct2b"></rect><rect x="14" y="4" width="4" height="16" class="svelte-d3ct2b"></rect></svg>'),Md=C('<div class="log-row log-row-warn svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-warn svelte-d3ct2b">ARCH</span> <span class="log-msg svelte-d3ct2b">Custom architecture — no profile rules loaded. Add rules: memory-core remember "..." --type rule</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Or load a profile when ready: memory-core seed --arch clean-architecture</span></div>',1),Od=C('<div class="log-row log-row-warn svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-warn svelte-d3ct2b">WARN</span> <span class="log-msg svelte-d3ct2b">No architecture rules configured in .memory-core.json — nothing to watch.</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Awaiting manual rule configuration...</span></div>',1),Rd=C('<div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-sys svelte-d3ct2b">SYS</span> <span class="log-msg svelte-d3ct2b">Initialization sequence started for memory-core...</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-ok svelte-d3ct2b">DB</span> <span class="log-msg svelte-d3ct2b">Waiting for PostgreSQL connection...</span></div> <!> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b"></span> <span class="log-label svelte-d3ct2b"></span> <span class="log-msg cursor-blink svelte-d3ct2b">_</span></div>',1),Nd=C('· <em class="svelte-d3ct2b"> </em>',1),Dd=C('<br class="svelte-d3ct2b"/><span class="detail-fix svelte-d3ct2b"> </span>',1),Id=C('<div class="log-detail svelte-d3ct2b"><span class="detail-index svelte-d3ct2b"> </span> <span class="detail-body svelte-d3ct2b"><strong class="svelte-d3ct2b"> </strong> <!> <!> <!></span></div>'),Pd=C('<div><span class="log-time svelte-d3ct2b"> </span> <span> </span> <span class="log-msg svelte-d3ct2b"><!></span> <button class="copy-btn svelte-d3ct2b" title="Copy">⎘</button></div> <!>',1),jd=C('<div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b">--:--:--</span> <span class="log-label label-ok svelte-d3ct2b">[OK]</span> <span class="log-msg svelte-d3ct2b">No commit hook violations in the last 24 hours.</span></div> <div class="log-row svelte-d3ct2b"><span class="log-time svelte-d3ct2b"></span> <span class="log-label svelte-d3ct2b"></span> <span class="log-msg cursor-blink svelte-d3ct2b">_</span></div>',1),Fd=C('<br class="svelte-d3ct2b"/><span class="detail-fix svelte-d3ct2b"> </span>',1),$d=C('<div class="log-detail svelte-d3ct2b"><span class="detail-index svelte-d3ct2b"></span> <span class="detail-body svelte-d3ct2b"><!> <!></span></div>'),Hd=C('<div class="log-row log-row-fail svelte-d3ct2b"><span class="log-time svelte-d3ct2b"> </span> <span class="log-label label-hook svelte-d3ct2b"> </span> <span class="log-msg svelte-d3ct2b"><strong class="svelte-d3ct2b"> </strong> <!></span></div> <!>',1),Bd=C('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Commit Hook</span> <span class="section-meta svelte-d3ct2b"> </span></div> <!>',1),Vd=C('<span class="rule-reason svelte-d3ct2b"> </span>'),Wd=C('<div class="rule-row svelte-d3ct2b"><span class="rule-badge svelte-d3ct2b"> </span> <span class="rule-scope svelte-d3ct2b"> </span> <span class="rule-content svelte-d3ct2b"> </span> <!> <button class="del-btn svelte-d3ct2b">✕</button></div>'),Ud=C('Custom architecture — no profile rules loaded. Add rules from the terminal: <code class="svelte-d3ct2b">memory-core remember "..." --type rule</code>',1),qd=C('<div class="log-row svelte-d3ct2b"><span class="log-msg svelte-d3ct2b" style="color: var(--outline)"><!></span></div>'),zd=C('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Rule Engine</span> <span class="section-meta svelte-d3ct2b"> </span></div> <div class="rules-toolbar svelte-d3ct2b"><select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">All types</option><option class="svelte-d3ct2b">Rules</option><option class="svelte-d3ct2b">Decisions</option><option class="svelte-d3ct2b">Patterns</option><option class="svelte-d3ct2b">Ignores</option></select> <input class="rules-search svelte-d3ct2b" placeholder="Search rules..."/></div> <div class="rule-form-wrap svelte-d3ct2b"><form class="rule-form svelte-d3ct2b"><div class="rule-form-row svelte-d3ct2b"><select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">Rule</option><option class="svelte-d3ct2b">Decision</option><option class="svelte-d3ct2b">Pattern</option><option class="svelte-d3ct2b">Ignore</option></select> <select class="rules-select svelte-d3ct2b"><option class="svelte-d3ct2b">Project</option><option class="svelte-d3ct2b">Global</option></select> <input class="rules-input svelte-d3ct2b" placeholder="Reason"/> <input class="rules-input svelte-d3ct2b" placeholder="Tags"/></div> <div class="rule-form-row svelte-d3ct2b"><textarea rows="2" class="rules-textarea svelte-d3ct2b" placeholder="Rule or decision content..."></textarea> <button class="add-btn svelte-d3ct2b"> </button></div></form></div> <div class="rule-list svelte-d3ct2b"></div>',1),Kd=C('<span class="profile-msg svelte-d3ct2b"> </span>'),Gd=C('<div class="profile-empty svelte-d3ct2b">No saved profiles yet.</div>'),Yd=C('<div class="profile-row svelte-d3ct2b"><span class="profile-name svelte-d3ct2b"> </span> <span class="profile-meta svelte-d3ct2b"> </span> <button class="arch-edit-btn svelte-d3ct2b">Apply</button> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b">✕</button></div>'),Jd=C('<div class="profile-list svelte-d3ct2b"></div>'),Xd=C('<div class="profile-panel svelte-d3ct2b"><div class="profile-save-row svelte-d3ct2b"><input class="profile-name-input svelte-d3ct2b" placeholder="Profile name…"/> <label class="profile-scope-label svelte-d3ct2b"><input type="checkbox" class="svelte-d3ct2b"/> project-scoped</label> <button class="arch-edit-btn svelte-d3ct2b"> </button> <!></div> <!></div>'),Qd=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-warn svelte-d3ct2b">[WARN]</span> <span class="log-msg svelte-d3ct2b">No .archmind/layers.json found. Run <code class="svelte-d3ct2b">memory-core init</code> or create the file manually.</span></div>'),Zd=Os('<line stroke-width="1.5" opacity="0.75" class="svelte-d3ct2b"></line>'),eu=Os('<circle r="8" fill="#ba1a1a" style="cursor:pointer" role="button" tabindex="0" class="svelte-d3ct2b"></circle><text text-anchor="middle" fill="#fff" font-size="10" font-weight="700" style="cursor:pointer;pointer-events:none" class="svelte-d3ct2b">✕</text>',1),tu=Os('<g role="button" tabindex="0"><rect rx="6"></rect><text text-anchor="middle" class="arch-node-label svelte-d3ct2b"> </text><text text-anchor="middle" class="arch-node-desc svelte-d3ct2b"> </text><!></g>'),su=C('<div class="arch-node-panel-path svelte-d3ct2b"> </div>'),au=C('<div class="arch-node-panel-paths svelte-d3ct2b"><div class="arch-node-panel-section svelte-d3ct2b">Glob patterns</div> <!></div>'),ru=C('<div class="arch-node-panel-rule svelte-d3ct2b"><span> </span> <span style="font-size:12px" class="svelte-d3ct2b"> </span></div>'),lu=C('<div class="arch-node-panel-paths svelte-d3ct2b"><div class="arch-node-panel-section svelte-d3ct2b">Rules involving this layer</div> <!></div>'),nu=C('<div class="arch-node-panel svelte-d3ct2b"><div class="arch-node-panel-header svelte-d3ct2b"><span class="arch-node-panel-name svelte-d3ct2b"> </span> <span class="arch-node-panel-meta svelte-d3ct2b"> </span> <button class="arch-node-panel-close svelte-d3ct2b" aria-label="Close">✕</button></div> <!> <!></div>'),iu=C('<button class="arch-rule-del svelte-d3ct2b" title="Delete rule">✕</button>'),ou=C('<div class="arch-rule-row svelte-d3ct2b"><span> </span> <span class="arch-rule-layers svelte-d3ct2b"> </span> <span class="arch-rule-name svelte-d3ct2b"> </span> <!></div>'),cu=C('<form class="arch-add-form svelte-d3ct2b"><div class="arch-add-form-title svelte-d3ct2b">Add Layer</div> <div class="arch-add-row svelte-d3ct2b"><div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Name</span> <input class="arch-add-input svelte-d3ct2b" placeholder="e.g. services" style="width:120px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Paths (comma-separated globs)</span> <input class="arch-add-input svelte-d3ct2b" placeholder="src/services/**" style="width:240px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Description</span> <input class="arch-add-input svelte-d3ct2b" placeholder="Service layer" style="width:160px"/></div> <button class="arch-add-submit svelte-d3ct2b" type="submit"> </button> <button class="arch-edit-btn svelte-d3ct2b" type="button">Cancel</button></div></form>'),vu=C('<button class="arch-edit-btn svelte-d3ct2b">+ Add Layer</button>'),du=C('<option class="svelte-d3ct2b"> </option>'),uu=C('<option class="svelte-d3ct2b"> </option>'),fu=C('<form class="arch-add-form svelte-d3ct2b"><div class="arch-add-form-title svelte-d3ct2b">Add Rule</div> <div class="arch-add-row svelte-d3ct2b"><div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">From</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">select…</option><!><option class="svelte-d3ct2b">* (any)</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">To</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">select…</option><!><option class="svelte-d3ct2b">* (any)</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Name</span> <input class="arch-add-input svelte-d3ct2b" placeholder="No direct DB access" style="width:180px"/></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Enforcement</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">block</option><option class="svelte-d3ct2b">warn</option></select></div> <div class="arch-add-field svelte-d3ct2b"><span class="arch-add-label svelte-d3ct2b">Allowed?</span> <select class="arch-add-select svelte-d3ct2b"><option class="svelte-d3ct2b">Deny</option><option class="svelte-d3ct2b">Allow</option></select></div> <button class="arch-add-submit svelte-d3ct2b" type="submit"> </button> <button class="arch-edit-btn svelte-d3ct2b" type="button">Cancel</button></div></form>'),pu=C('<button class="arch-edit-btn svelte-d3ct2b">+ Add Rule</button>'),hu=C("<!> <!>",1),_u=C('<div class="arch-graph-wrap svelte-d3ct2b"><svg class="arch-svg svelte-d3ct2b"><defs class="svelte-d3ct2b"><marker id="arrow-block" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="var(--error)" class="svelte-d3ct2b"></path></marker><marker id="arrow-warn" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="#f59e0b" class="svelte-d3ct2b"></path></marker><marker id="arrow-allow" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto" class="svelte-d3ct2b"><path d="M0,0 L0,6 L8,3 z" fill="var(--green)" class="svelte-d3ct2b"></path></marker></defs><!><!></svg> <div class="arch-legend svelte-d3ct2b"><div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="var(--error)" stroke-width="1.5" marker-end="url(#arrow-block)" class="svelte-d3ct2b"></line></svg> Block</div> <div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="4,3" class="svelte-d3ct2b"></line></svg> Warn</div> <div class="legend-item svelte-d3ct2b"><svg width="24" height="8" class="svelte-d3ct2b"><line x1="0" y1="4" x2="20" y2="4" stroke="var(--green)" stroke-width="1.5" stroke-dasharray="6,3" class="svelte-d3ct2b"></line></svg> Allow</div></div> <!> <div class="arch-rule-list svelte-d3ct2b"></div> <!></div>'),bu=C('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Layer Graph</span> <span class="section-meta svelte-d3ct2b"> </span> <button> </button> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b"> </button> <button> </button></div> <!> <!>',1),mu=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span> <span class="log-msg svelte-d3ct2b"> </span></div>'),gu=C('<span class="history-resolved-badge svelte-d3ct2b"> </span>'),yu=C('<span class="history-issue svelte-d3ct2b"> </span>'),wu=C('<div class="history-violation svelte-d3ct2b"><span class="history-badge svelte-d3ct2b"> </span> <span class="history-rule svelte-d3ct2b"> </span> <!></div>'),xu=C('<div><div class="history-header svelte-d3ct2b"><span class="history-file svelte-d3ct2b"> </span> <span class="history-time svelte-d3ct2b"> </span> <!> <button> </button></div> <!></div>'),ku=C('<div class="history-list svelte-d3ct2b"></div>'),Eu=C('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Violation History</span> <span class="section-meta svelte-d3ct2b"> </span> <label class="history-toggle-label svelte-d3ct2b"><input type="checkbox" class="svelte-d3ct2b"/> Show resolved</label> <button class="arch-edit-btn arch-reset-btn svelte-d3ct2b"> </button></div> <!>',1),Su=C('<span class="section-meta svelte-d3ct2b"> </span>'),Au=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[…]</span><span class="log-msg svelte-d3ct2b">Loading analytics…</span></div>'),Tu=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-warn svelte-d3ct2b">[WARN]</span><span class="log-msg svelte-d3ct2b">No analytics data. Need backend build with new endpoints.</span></div>'),Lu=Os('<line stroke="var(--outline-var)" stroke-width="0.5" class="svelte-d3ct2b"></line><text text-anchor="end" font-size="9" fill="var(--outline)" class="svelte-d3ct2b"> </text>',1),Cu=Os('<circle r="3" fill="var(--primary)" class="svelte-d3ct2b"><title class="svelte-d3ct2b"> </title></circle>'),Mu=Os('<text text-anchor="middle" font-size="9" fill="var(--outline)" class="svelte-d3ct2b"> </text>'),Ou=C('<div class="an-chart-wrap svelte-d3ct2b"><svg width="100%" class="an-chart-svg svelte-d3ct2b" preserveAspectRatio="none"><!><defs class="svelte-d3ct2b"><linearGradient id="trend-fill" x1="0" y1="0" x2="0" y2="1" class="svelte-d3ct2b"><stop offset="0%" stop-color="var(--primary)" stop-opacity="0.3" class="svelte-d3ct2b"></stop><stop offset="100%" stop-color="var(--primary)" stop-opacity="0.02" class="svelte-d3ct2b"></stop></linearGradient></defs><polygon fill="url(#trend-fill)" class="svelte-d3ct2b"></polygon><polyline fill="none" stroke="var(--primary)" stroke-width="2" stroke-linejoin="round" class="svelte-d3ct2b"></polyline><!><!></svg> <div class="an-chart-legend svelte-d3ct2b"><span class="an-legend-dot svelte-d3ct2b" style="background:var(--primary)"></span> Violations per day (last 30 days)</div></div>'),Ru=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span><span class="log-msg svelte-d3ct2b">No violations recorded yet.</span></div>'),Nu=C('<div class="an-heat-row svelte-d3ct2b"><span class="an-heat-file svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><span class="an-heat-bar svelte-d3ct2b"></span> <span class="an-heat-count svelte-d3ct2b"> </span></span> <span class="an-heat-resolved svelte-d3ct2b"> </span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),Du=C('<div class="an-heat-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">File</span><span class="svelte-d3ct2b">Violations</span><span class="svelte-d3ct2b">Resolved</span><span class="svelte-d3ct2b">Last seen</span></div> <!></div>'),Iu=C('<span class="an-heat-bar svelte-d3ct2b"></span>'),Pu=C('<div><span class="an-rule-name svelte-d3ct2b"> </span> <span class="an-rule-layers svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><!> <span> </span></span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),ju=C('<div class="an-rule-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">Rule</span><span class="svelte-d3ct2b">Layers</span><span class="svelte-d3ct2b">Hits</span><span class="svelte-d3ct2b">Last fired</span></div> <!></div>'),Fu=C('<div class="log-row svelte-d3ct2b"><span class="log-label label-ok svelte-d3ct2b">[OK]</span><span class="log-msg svelte-d3ct2b">No team data yet. Git author captured on next violation.</span></div>'),$u=C('<div class="an-heat-row svelte-d3ct2b"><span class="an-heat-file svelte-d3ct2b"> </span> <span class="an-heat-bar-wrap svelte-d3ct2b"><span class="an-heat-bar svelte-d3ct2b"></span> <span class="an-heat-count svelte-d3ct2b"> </span></span> <span class="an-heat-resolved svelte-d3ct2b"> </span> <span class="an-heat-time svelte-d3ct2b"> </span></div>'),Hu=C('<div class="an-heat-table svelte-d3ct2b"><div class="an-heat-header svelte-d3ct2b"><span class="svelte-d3ct2b">Author</span><span class="svelte-d3ct2b">Violations</span><span class="svelte-d3ct2b">Files</span><span class="svelte-d3ct2b">Last seen</span></div> <!></div>'),Bu=C('<div class="an-summary svelte-d3ct2b"><div class="an-card svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Total Violations</span></div> <div class="an-card an-card-warn svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Open</span></div> <div class="an-card an-card-green svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Resolved</span></div> <div class="an-card svelte-d3ct2b"><span class="an-card-val svelte-d3ct2b"> </span><span class="an-card-label svelte-d3ct2b">Affected Files</span></div></div> <div class="an-tabs svelte-d3ct2b"><button>Trend</button> <button>File Heatmap</button> <button>Rule Effectiveness</button> <button>Team Activity</button></div> <!>',1),Vu=C('<div class="section-header svelte-d3ct2b"><span class="section-title svelte-d3ct2b">Analytics</span> <!> <button class="arch-edit-btn svelte-d3ct2b"> </button></div> <!>',1),Wu=C('<div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-apikey">API Key</label> <input id="model-apikey" class="modal-input svelte-d3ct2b" type="password"/></div>'),Uu=C("<div> </div>"),qu=C('<div class="modal-backdrop svelte-d3ct2b" role="presentation"><div class="modal svelte-d3ct2b"><div class="modal-header svelte-d3ct2b"><span class="modal-title svelte-d3ct2b">Settings</span> <button class="modal-close svelte-d3ct2b">✕</button></div> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">AI Model</div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-provider">Provider</label> <select id="model-provider" class="modal-input svelte-d3ct2b"><option class="svelte-d3ct2b">Ollama (local)</option><option class="svelte-d3ct2b">OpenAI</option><option class="svelte-d3ct2b">Anthropic</option><option class="svelte-d3ct2b">MiniMax</option><option class="svelte-d3ct2b">OpenAI-compatible</option></select></div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="model-name">Model</label> <input id="model-name" class="modal-input svelte-d3ct2b" placeholder="e.g. llama3.2, gpt-4o, claude-sonnet-4-6"/></div> <!> <div class="modal-row svelte-d3ct2b"><div class="svelte-d3ct2b"></div> <div class="modal-row-actions svelte-d3ct2b"><button class="modal-btn modal-btn-primary svelte-d3ct2b"> </button> <button class="modal-btn svelte-d3ct2b">Refresh Config</button></div></div> <!></section> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">Timeouts</div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="chat-timeout">Chat Timeout (ms)</label> <input id="chat-timeout" class="modal-input svelte-d3ct2b" placeholder="60000" type="text" inputmode="numeric"/></div> <div class="modal-row svelte-d3ct2b"><label class="modal-label svelte-d3ct2b" for="check-timeout">Check Timeout (ms)</label> <input id="check-timeout" class="modal-input svelte-d3ct2b" placeholder="20000" type="text" inputmode="numeric"/></div></section> <section class="modal-section svelte-d3ct2b"><div class="modal-section-title svelte-d3ct2b">Current Status</div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Provider</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Model</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">API Key</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Embedding</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Chat timeout</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Check timeout</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">AI calls this session</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Total tokens</span><span class="modal-status-val svelte-d3ct2b"> </span></div> <div class="modal-status-row svelte-d3ct2b"><span class="modal-status-label svelte-d3ct2b">Input / Output</span><span class="modal-status-val svelte-d3ct2b"> </span></div></section></div></div>'),zu=C('<div class="shell svelte-d3ct2b"><header class="topbar svelte-d3ct2b"><div class="topbar-brand svelte-d3ct2b"><span class="topbar-project svelte-d3ct2b"> </span> <!></div> <div class="topbar-search svelte-d3ct2b"><span class="search-icon svelte-d3ct2b">⌕</span> <input class="search-input svelte-d3ct2b" placeholder="Search system logs, traces, and metrics..." type="text"/></div> <div class="topbar-actions svelte-d3ct2b"><button class="icon-btn svelte-d3ct2b" title="Settings"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14" class="svelte-d3ct2b"></path><path d="M12 2v2M12 20v2M2 12h2M20 12h2" class="svelte-d3ct2b"></path></svg></button> <button class="icon-btn svelte-d3ct2b"><!></button> <div class="avatar svelte-d3ct2b" title="System Administrator">S</div></div></header> <div class="body svelte-d3ct2b"><aside class="sidebar svelte-d3ct2b"><div class="sidebar-logo svelte-d3ct2b"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><path d="M12 1v4M12 19v4M4.22 4.22l2.83 2.83M16.95 16.95l2.83 2.83M1 12h4M19 12h4M4.22 19.78l2.83-2.83M16.95 7.05l2.83-2.83" class="svelte-d3ct2b"></path></svg> <span class="sidebar-brand-label svelte-d3ct2b">memory-core</span></div> <nav class="sidebar-nav svelte-d3ct2b"><button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="2" class="svelte-d3ct2b"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14" class="svelte-d3ct2b"></path></svg> <span class="svelte-d3ct2b">Live Feed</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="3" class="svelte-d3ct2b"></circle><line x1="3" y1="12" x2="9" y2="12" class="svelte-d3ct2b"></line><line x1="15" y1="12" x2="21" y2="12" class="svelte-d3ct2b"></line></svg> <span class="svelte-d3ct2b">Commit<!></span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><path d="M9 11l3 3L22 4" class="svelte-d3ct2b"></path><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" class="svelte-d3ct2b"></path></svg> <span class="svelte-d3ct2b">Rules</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><rect x="2" y="9" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="16" y="9" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="9" y="2" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><rect x="9" y="16" width="6" height="6" rx="1" class="svelte-d3ct2b"></rect><line x1="8" y1="12" x2="16" y2="12" class="svelte-d3ct2b"></line><line x1="12" y1="8" x2="12" y2="9" class="svelte-d3ct2b"></line><line x1="12" y1="15" x2="12" y2="16" class="svelte-d3ct2b"></line></svg> <span class="svelte-d3ct2b">Arch Graph</span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><circle cx="12" cy="12" r="10" class="svelte-d3ct2b"></circle><polyline points="12 6 12 12 16 14" class="svelte-d3ct2b"></polyline></svg> <span class="svelte-d3ct2b">History<!></span></button> <button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-d3ct2b"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12" class="svelte-d3ct2b"></polyline></svg> <span class="svelte-d3ct2b">Analytics</span></button></nav> <div class="sidebar-footer svelte-d3ct2b"><!> <div></div> <span class="sidebar-conn-label svelte-d3ct2b"> </span></div></aside> <main class="content svelte-d3ct2b"><div class="health-bar svelte-d3ct2b"><span class="health-label svelte-d3ct2b">System Health:</span> <div class="health-badge health-green svelte-d3ct2b"><i class="dot dot-green svelte-d3ct2b"></i> <span class="svelte-d3ct2b"> </span></div> <div><i></i> <span class="svelte-d3ct2b"> </span></div> <div><i></i> <span class="svelte-d3ct2b"> </span></div> <!> <!> <!> <!></div> <div class="filter-bar svelte-d3ct2b"><div class="filter-left svelte-d3ct2b"><div class="chip chip-primary svelte-d3ct2b"><span class="svelte-d3ct2b">LEVEL: ALL</span> <button class="chip-close svelte-d3ct2b" title="Clear cache">✕</button></div> <div class="divider-v svelte-d3ct2b"></div> <div class="metrics-strip svelte-d3ct2b"><div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">VIOLATIONS</span> <span> </span></div> <div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">FILES</span> <span class="metric-value svelte-d3ct2b"> </span></div> <div class="metric-item svelte-d3ct2b"><span class="metric-label svelte-d3ct2b">RULES</span> <span class="metric-value svelte-d3ct2b"> </span></div></div></div> <div class="filter-right svelte-d3ct2b"><div class="live-badge svelte-d3ct2b"><i></i> <span class="svelte-d3ct2b"> </span></div> <button><!></button> <button class="icon-btn svelte-d3ct2b" title="Download snapshot"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-d3ct2b"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" class="svelte-d3ct2b"></path><polyline points="7 10 12 15 17 10" class="svelte-d3ct2b"></polyline><line x1="12" y1="15" x2="12" y2="3" class="svelte-d3ct2b"></line></svg></button></div></div> <div class="feed-area svelte-d3ct2b"><!></div> <footer class="metrics-footer svelte-d3ct2b"><div class="footer-left svelte-d3ct2b"><div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Checks</span> <span class="footer-val svelte-d3ct2b"> </span> <span class="footer-unit svelte-d3ct2b">AI CALLS</span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Tokens</span> <span class="footer-val svelte-d3ct2b"> </span> <span class="footer-unit svelte-d3ct2b"> </span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Error Rate</span> <span class="footer-val footer-val-error svelte-d3ct2b"> </span></div> <div class="footer-metric svelte-d3ct2b"><span class="footer-label svelte-d3ct2b">Bypasses</span> <span> </span></div></div> <div class="footer-right svelte-d3ct2b"><div class="footer-actions svelte-d3ct2b"><button class="action-btn svelte-d3ct2b" title="Sync rules to all AI agent files"> </button> <button class="action-btn svelte-d3ct2b" title="Run full scan on all tracked files"> </button> <button class="action-btn action-btn-warn svelte-d3ct2b" title="Tune noisy rules"> </button></div> <div class="storage-bar-wrap svelte-d3ct2b"><div class="storage-bar svelte-d3ct2b"><div class="storage-fill svelte-d3ct2b"></div></div> <span class="footer-label svelte-d3ct2b"> </span></div></div></footer></main></div> <!></div>');function Ku(t,s){hi(s,!1);const a=j(),r=j(),l=j(),o=j(),f=j(),_=j(),d=j(),p=j(),w=j(),I=j(),T=j(),E=j(),x=j(),W=j(),S=j(),Y=j(),Le=j(),Se=j(),Tt=j(),dt=j(),Vt=j();let b=j({config:null,stats:{rules:{},files:{},topRules:[],topFiles:[]},files:[],memories:[]}),Lt=j([]),cs=j(!1),ut=j("all"),Rs=j(""),gs=j(!1),Yt=j(""),qe=j({type:"rule",scope:"project",content:"",reason:"",tags:"dashboard"}),Ze=j("live-feed"),ft=j(null),Ns=j(!1),Va=j(""),Ct=j(!1),ze=j({provider:"",model:"",apiKey:"",chatTimeoutMs:"",checkTimeoutMs:""}),br=j(!1),Us=j(""),qs=j(""),Jt=j(!1),zs=j(!1),Ks=j(!1),Mt=j({name:"",paths:"",description:""}),Ve=j({fromLayer:"",toLayer:"",name:"",allowed:!1,enforcement:"block"}),xt=j(!1),Gs=j([]),mr=j(!1),Wa=j(!1),oa=j(""),Gr=j(!1),La=j("");async function Ua(){try{const k=await(await pt("/api/arch/profiles")).json();h(Gs,k.profiles??[])}catch{h(Gs,[])}}async function jl(){if(e(oa).trim()){h(Wa,!0),h(La,"");try{const v=await pt("/api/arch/profiles",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e(oa).trim(),projectScoped:e(Gr)})});if(v.ok)h(oa,""),h(La,"Saved"),await Ua();else{const k=await v.json();h(La,k.error??"Error")}}finally{h(Wa,!1)}}}async function Gi(v){h(xt,!0);try{await pt(`/api/arch/profiles/${v}/apply`,{method:"POST"}),h(Jt,!1),h(zs,!1),h(Ks,!1),await jt()}finally{h(xt,!1)}}async function Yi(v){confirm("Delete this profile?")&&(await pt(`/api/arch/profiles/${v}`,{method:"DELETE"}),await Ua())}let ce=j(null),qa=j(!1),Xt=j("trends");async function Fl(){h(qa,!0);try{const v=await pt("/api/analytics");h(ce,await v.json())}catch{h(ce,null)}finally{h(qa,!1)}}let gr=j(!0),za=j(!1);async function Ji(){if(confirm("Clear all violation history? This cannot be undone.")){h(za,!0);try{await pt("/api/history",{method:"DELETE"}),await jt()}finally{h(za,!1)}}}async function Xi(v){await pt("/api/history/resolve",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({timestamp:v})}),await jt()}async function $l(v){await pt(`/api/arch/layers/${encodeURIComponent(v)}`,{method:"DELETE"}),await jt()}async function Qi(v){await pt(`/api/arch/rules/${encodeURIComponent(v)}`,{method:"DELETE"}),await jt()}async function Zi(){if(e(Mt).name.trim()){h(xt,!0);try{await pt("/api/arch/layers",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e(Mt).name.trim(),paths:e(Mt).paths.split(",").map(v=>v.trim()).filter(Boolean),description:e(Mt).description.trim()})}),h(Mt,{name:"",paths:"",description:""}),h(zs,!1),await jt()}finally{h(xt,!1)}}}async function eo(){if(confirm("Reset graph to architecture defaults? This will overwrite your current layers and rules.")){h(xt,!0);try{await pt("/api/arch/reset",{method:"POST"}),h(Jt,!1),h(zs,!1),h(Ks,!1),await jt()}finally{h(xt,!1)}}}async function to(){if(!(!e(Ve).fromLayer||!e(Ve).toLayer||!e(Ve).name.trim())){h(xt,!0);try{await pt("/api/arch/rules",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(Ve))}),h(Ve,{fromLayer:"",toLayer:"",name:"",allowed:!1,enforcement:"block"}),h(Ks,!1),await jt()}finally{h(xt,!1)}}}const so=24*60*60*1e3,Hl=640,Bl=380,vs=110,Ds=38,ao={nestjs:["controllers","services","repositories","modules","common"],mvc:["controllers","services","models","views","shared"],"laravel-service-repository":["controllers","services","repositories","models","shared"],"go-api":["handlers","services","repositories","models","shared"],react:["pages","components","hooks","store","services"],"react-native":["screens","components","hooks","store","services"],vue:["pages","components","composables","store","services"],svelte:["routes","components","stores","lib","utils"],nuxt:["pages","components","composables","server","utils"],angular:["modules","components","services","guards","shared"],hexagonal:["domain","ports","adapters","infrastructure","shared"],"modular-monolith":["modules","api","shared","infrastructure"],"clean-architecture":["api","application","domain","infrastructure","shared"]},ro=()=>{var X,ee;const v=(ee=(X=e(b).runtime)==null?void 0:X.project.name)==null?void 0:ee.trim();if(v)return v;const k=lo("projectName");return k||"memory-core"},lo=v=>{var X;const k=(X=e(b).config)==null?void 0:X[v];return typeof k=="string"&&k.trim().length>0?k.trim():void 0};function yr(v){e(Ns)||h(Lt,[{...v,id:crypto.randomUUID()},...e(Lt)].slice(0,80))}function Vl(v){return v.type==="saved"?{type:"saved",timestamp:v.timestamp,file:v.file}:v.type==="clean"?{type:"clean",timestamp:v.timestamp,file:v.file}:v.type==="skipped"?{type:"skipped",timestamp:v.timestamp,file:v.file,reason:v.reason}:v.type==="violations"?{type:"violations",timestamp:v.timestamp,file:v.file,violations:v.violations}:v.type==="log"?{type:"log",timestamp:v.timestamp,file:v.file,message:v.message}:v.type==="error"?{type:"error",timestamp:v.timestamp,message:v.message}:v.type==="ready"?{type:"system",timestamp:v.timestamp,message:`Watching ${v.path} | ${v.rules} rules | ${v.model}`}:{type:"system",timestamp:v.timestamp,message:"Watch stopped"}}function wr(v){const k=e(b).files??[],X=k.findIndex(Ke=>Ke.file===v.file),ee=k.slice();return X===-1?ee.push(v):ee[X]=v,ee.sort((Ke,Qt)=>Qt.lastSeen.localeCompare(Ke.lastSeen))}function no(v){const k=e(b).watcher??{enabled:!0,running:!1,path:void 0,model:void 0,rules:void 0,lastEventAt:void 0,error:void 0};let X=e(b).files,ee={...k,lastEventAt:v.timestamp,enabled:!0};v.type==="ready"&&(ee={...ee,running:!0,error:void 0,path:v.path,model:v.model,rules:v.rules}),v.type==="saved"&&(X=wr({file:v.file,status:"checking",lastSeen:v.timestamp,violations:[]})),v.type==="clean"&&(X=wr({file:v.file,status:"clean",lastSeen:v.timestamp,violations:[]})),v.type==="skipped"&&(X=wr({file:v.file,status:"skipped",lastSeen:v.timestamp,violations:[],message:v.reason})),v.type==="violations"&&(X=wr({file:v.file,status:"violations",lastSeen:v.timestamp,violations:v.violations})),v.type==="error"&&(ee={...ee,running:!1,error:v.message}),v.type==="stopped"&&(ee={...ee,running:!1});const Ke=[v,...e(b).events??[]].slice(0,100);h(b,{...e(b),files:X,events:Ke,watcher:ee})}function Yr(v=[]){h(Lt,v.map(Vl).map(k=>({...k,id:crypto.randomUUID()})).reverse().slice(0,80))}function Wl(v){return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(v))}function Ul(v,k){const X=v.file||k;return v.line?`${X}:${v.line}`:X}function io(v){return v.type==="saved"?"SAVE":v.type==="clean"?"OK":v.type==="skipped"?"SKIP":v.type==="violations"?"FAIL":v.type==="log"?"CHCK":v.type==="error"?"WARN":"SYS"}function oo(v){return v.type==="clean"?"label-ok":v.type==="violations"||v.type==="error"?"label-warn":v.type==="log"?"label-chck":v.type==="system"?"label-sys":"label-info"}async function jt(){const v=await pt(`/api/snapshot?t=${Date.now()}`,{cache:"no-store"});e(Js)||(h(b,await v.json()),Yr(e(b).events))}async function co(){h(Yt,"");try{const v=await pt("/api/refresh",{method:"POST",headers:{"content-type":"application/json"},cache:"no-store"});if(!v.ok)throw new Error((await v.json()).error??"Refresh failed");const k=await v.json();k.snapshot?(h(b,k.snapshot),Yr(e(b).events)):await jt()}catch(v){h(Yt,v.message)}}function vo(){try{localStorage.clear(),sessionStorage.clear()}finally{location.reload()}}async function uo(){h(br,!0),h(Us,"");try{const v=await pt("/api/config/model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(ze))}),k=await v.json().catch(()=>({}));if(!v.ok)throw new Error(k.error??"Save failed");const X=Array.isArray(k.warnings)&&k.warnings.length>0?" — "+k.warnings.join("; "):"";h(Us,`✓ ${k.message??"Settings updated"}${X}`),await jt()}catch(v){h(Us,`✗ ${v.message}`)}finally{h(br,!1)}}async function Jr(v){h(qs,v);try{await pt(`/api/actions/${v}`,{method:"POST"}),yr({type:"system",timestamp:new Date().toISOString(),message:`Action started: memory-core ${v==="check-all"?"check --all":v}`})}catch{}finally{h(qs,"")}}function ql(){const v=location.protocol==="https:"?"wss:":"ws:",k=new WebSocket(`${v}//${location.host}/ws`);k.addEventListener("open",()=>{h(cs,!0),yr({type:"system",timestamp:new Date().toISOString(),message:"Dashboard connected"})}),k.addEventListener("close",()=>{h(cs,!1),yr({type:"error",timestamp:new Date().toISOString(),message:"Dashboard disconnected"}),setTimeout(ql,1500)}),k.addEventListener("message",X=>{const ee=JSON.parse(X.data);if(ee.type==="snapshot"){h(b,ee.snapshot),e(Lt).length===0&&Yr(e(b).events);return}if(ee.type==="stats"){h(b,{...e(b),stats:ee.stats});return}ee.type==="watch"&&(no(ee.event),yr(Vl(ee.event)))})}async function fo(){if(e(qe).content.trim()){h(gs,!0),h(Yt,"");try{const v=await pt("/api/memories",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e(qe))});if(!v.ok)throw new Error((await v.json()).error??"Save failed");h(qe,{type:"rule",scope:"project",content:"",reason:"",tags:"dashboard"}),await jt()}catch(v){h(Yt,v.message)}finally{h(gs,!1)}}}async function po(v){h(Yt,"");const k=await pt(`/api/memories/${v}`,{method:"DELETE"});if(!k.ok){h(Yt,(await k.json()).error??"Delete failed");return}await jt()}let Ys=j(localStorage.getItem("mc-theme")!=="light");function ho(){h(Ys,!e(Ys)),localStorage.setItem("mc-theme",e(Ys)?"dark":"light")}document.documentElement.setAttribute("data-theme",e(Ys)?"dark":"light");let Is=localStorage.getItem("mc-auth-token"),xr=!1,Ft=j(null),Js=j(!1),Xr=j(""),Qr=j(""),kr=j(""),Er=j(!1);async function pt(v,k={}){const X=new Headers(k.headers);Is&&X.set("authorization",`Bearer ${Is}`);const ee=await fetch(v,{...k,headers:X});return ee.status===401&&xr&&(Is=null,localStorage.removeItem("mc-auth-token"),h(Ft,null),h(Js,!0)),ee}async function _o(){try{const v=await fetch("/api/auth/me",{headers:Is?{authorization:`Bearer ${Is}`}:{}}),k=await v.json();xr=k.authEnabled??!1,v.ok&&k.user?(h(Ft,k.user),h(Js,!1)):xr&&(h(Ft,null),h(Js,!0))}catch{}}async function bo(){h(Er,!0),h(kr,"");try{const v=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:e(Xr),password:e(Qr)})}),k=await v.json();if(!v.ok){h(kr,k.error??"Login failed");return}Is=k.token??null,Is&&localStorage.setItem("mc-auth-token",Is),h(Ft,k.user??null),h(Js,!1),await jt(),Ua().catch(()=>{})}finally{h(Er,!1)}}async function mo(){await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),Is=null,localStorage.removeItem("mc-auth-token"),h(Ft,null),xr&&h(Js,!0)}_o().then(()=>{e(Js)||(jt().catch(v=>{h(Yt,v.message)}),Ua().catch(()=>{}))}),ql(),Je(()=>(e(gr),e(b)),()=>{h(a,e(gr)?e(b).violationHistory??[]:(e(b).violationHistory??[]).filter(v=>!v.resolved))}),Je(()=>(e(b),e(ut),e(Rs)),()=>{h(r,e(b).memories.filter(v=>{const k=e(ut)==="all"||v.type===e(ut),X=`${v.type} ${v.scope} ${v.content} ${v.reason??""} ${v.tags.join(" ")}`.toLowerCase();return k&&X.includes(e(Rs).toLowerCase())}))}),Je(()=>e(b),()=>{h(l,e(b).files.reduce((v,k)=>v+k.violations.length,0))}),Je(()=>e(b),()=>{h(o,e(b).files.filter(v=>v.status==="clean").length)}),Je(()=>e(b),()=>{h(f,Object.values(e(b).stats.rules).reduce((v,k)=>v+k,0))}),Je(()=>e(b),()=>{h(_,e(b).stats.recentViolations??[])}),Je(()=>e(_),()=>{h(d,e(_).filter(v=>{if(!(v.source==="hook"||v.source==="ci"))return!1;const k=Date.parse(v.timestamp);return Number.isNaN(k)?!1:Date.now()-k<=so}))}),Je(()=>e(l),()=>{h(p,e(l))}),Je(()=>e(b),()=>{h(w,e(b).files.filter(v=>v.status!=="checking").length)}),Je(()=>e(b),()=>{h(I,e(b).memories.filter(v=>["rule","pattern","decision"].includes(v.type)).length)}),Je(()=>e(b),()=>{var v;h(T,((v=e(b).memoryCount)==null?void 0:v.total)??e(b).memories.length)}),Je(()=>(e(cs),e(b)),()=>{var v,k;h(E,e(cs)?((v=e(b).watcher)==null?void 0:v.enabled)===!1?{live:!1,label:"Watch off"}:(k=e(b).watcher)!=null&&k.running?{live:!0,label:"Watcher live"}:{live:!1,label:"Watcher idle"}:{live:!1,label:"Disconnected"})}),Je(()=>e(b),()=>{var v;h(x,((v=e(b).arch)==null?void 0:v.layers)??[])}),Je(()=>e(b),()=>{var v;h(W,((v=e(b).arch)==null?void 0:v.rules)??[])}),Je(()=>(e(x),e(b)),()=>{h(S,(()=>{var Wt,ds,kt,xs;const v=e(x);if(v.length===0)return[];const k=((Wt=e(b).runtime)==null?void 0:Wt.project.backendArchitecture)??((ds=e(b).runtime)==null?void 0:ds.project.frontendFramework)??((xs=(kt=e(b).runtime)==null?void 0:kt.project.activeArchitectures)==null?void 0:xs[0])??"",X=ao[k]??["api","application","domain","infrastructure","shared"],ee=[...v].sort((Ut,Ps)=>{const ca=X.indexOf(Ut.name)===-1?99:X.indexOf(Ut.name),Ka=X.indexOf(Ps.name)===-1?99:X.indexOf(Ps.name);return ca-Ka}),Ke=Math.min(ee.length,3),Qt=Math.ceil(ee.length/Ke),ys=(Hl-Ke*vs)/(Ke+1),ws=(Bl-Qt*Ds)/(Qt+1);return ee.map((Ut,Ps)=>{const ca=Ps%Ke,Ka=Math.floor(Ps/Ke);return{name:Ut.name,description:Ut.description,x:ys+ca*(vs+ys),y:ws+Ka*(Ds+ws)}})})())}),Je(()=>(e(S),e(W)),()=>{h(Y,(()=>{const v=new Map(e(S).map(k=>[k.name,k]));return e(W).filter(k=>k.fromLayer!=="*"&&k.toLayer!=="*").map(k=>{const X=v.get(k.fromLayer),ee=v.get(k.toLayer);if(!X||!ee)return null;const Ke=X.x+vs/2,Qt=X.y+Ds/2,ys=ee.x+vs/2,ws=ee.y+Ds/2,Wt=ys-Ke,ds=ws-Qt,kt=Math.sqrt(Wt*Wt+ds*ds)||1,xs=Ke+Wt/kt*(vs/2+4),Ut=Qt+ds/kt*(Ds/2+4),Ps=ys-Wt/kt*(vs/2+4),ca=ws-ds/kt*(Ds/2+4);return{r:k,sx:xs,sy:Ut,ex:Ps,ey:ca}}).filter(Boolean)})())}),Je(()=>e(b),()=>{var v;h(Le,((v=e(b).runtime)==null?void 0:v.postgres.connected)??!1)}),Je(()=>e(b),()=>{var v;h(Se,((v=e(b).runtime)==null?void 0:v.model.ollamaReachable)??!1)}),Je(()=>e(b),()=>{var v,k;h(Tt,(((v=e(b).runtime)==null?void 0:v.model.checkModelResolved)??((k=e(b).runtime)==null?void 0:k.model.chatModel)??"unknown").toUpperCase())}),Je(()=>e(b),()=>{var v,k;h(dt,((v=e(b).runtime)==null?void 0:v.project.backendArchitecture)==="custom"||((k=e(b).runtime)==null?void 0:k.project.frontendFramework)==="custom")}),Je(()=>e(b),()=>{h(Vt,(()=>{var ee,Ke;const v=(ee=e(b).runtime)==null?void 0:ee.project.backendArchitecture,k=(Ke=e(b).runtime)==null?void 0:Ke.project.frontendFramework,X=[v?v==="custom"?"Custom":v:null,k?k==="custom"?"Custom":k:null].filter(Boolean);return X.length>0?X.join(" / "):null})())}),Je(()=>e(Ys),()=>{document.documentElement.setAttribute("data-theme",e(Ys)?"dark":"light")}),Fv(),pd();var zl=Es(),go=Be(zl);{var yo=v=>{var k=bd(),X=n(k),ee=i(n(X),6);{var Ke=kt=>{var xs=_d(),Ut=n(xs);P(()=>g(Ut,e(kr))),y(kt,xs)};H(ee,kt=>{e(kr)&&kt(Ke)})}var Qt=i(ee,2),ys=i(n(Qt),2),ws=i(ys,4),Wt=i(ws,2),ds=n(Wt);P(()=>{Wt.disabled=e(Er),g(ds,e(Er)?"Signing in…":"Sign in")}),Ot(ys,()=>e(Xr),kt=>h(Xr,kt)),Ot(ws,()=>e(Qr),kt=>h(Qr,kt)),V("submit",Qt,Rr(bo)),y(v,k)},wo=v=>{var k=zu(),X=n(k),ee=n(X),Ke=n(ee),Qt=n(Ke),ys=i(Ke,2);{var ws=A=>{var M=md(),se=n(M);P(()=>g(se,e(Vt))),y(A,M)};H(ys,A=>{e(Vt)&&A(ws)})}var Wt=i(ee,2),ds=i(n(Wt),2),kt=i(Wt,2),xs=n(kt),Ut=i(xs,2),Ps=n(Ut);{var ca=A=>{var M=gd();y(A,M)},Ka=A=>{var M=yd();y(A,M)};H(Ps,A=>{e(Ys)?A(ca):A(Ka,-1)})}var Kl=i(X,2),Gl=n(Kl),Yl=i(n(Gl),2),Zr=n(Yl);let Jl;var Sr=i(Zr,2);let Xl;var xo=i(n(Sr),2),ko=i(n(xo));{var Eo=A=>{var M=wd(),se=n(M);P(()=>g(se,(e(d),c(()=>e(d).length)))),y(A,M)};H(ko,A=>{e(d),c(()=>e(d).length>0)&&A(Eo)})}var el=i(Sr,2);let Ql;var tl=i(el,2);let Zl;var Ar=i(tl,2);let en;var So=i(n(Ar),2),Ao=i(n(So));{var To=A=>{var M=xd(),se=n(M);P(()=>g(se,(e(b),c(()=>{var xe;return(xe=e(b).violationHistory)==null?void 0:xe.length})))),y(A,M)};H(Ao,A=>{e(b),c(()=>{var M;return(((M=e(b).violationHistory)==null?void 0:M.length)??0)>0})&&A(To)})}var tn=i(Ar,2);let sn;var Lo=i(Yl,2),an=n(Lo);{var Co=A=>{var M=kd(),se=n(M),xe=n(se),Oe=i(se,2),he=n(Oe),Re=i(Oe,2);P(Ne=>{te(M,"title",`${e(Ft),c(()=>e(Ft).email)??""} [${e(Ft),c(()=>e(Ft).role)??""}]`),g(xe,Ne),g(he,(e(Ft),c(()=>e(Ft).username)))},[()=>(e(Ft),c(()=>e(Ft).username.slice(0,1).toUpperCase()))]),V("click",Re,mo),y(A,M)};H(an,A=>{e(Ft)&&A(Co)})}var rn=i(an,2);let ln;var Mo=i(rn,2),Oo=n(Mo),Ro=i(Gl,2),nn=n(Ro),on=i(n(nn),2),No=i(n(on),2),Do=n(No),sl=i(on,2);let cn;var vn=n(sl);let dn;var Io=i(vn,2),Po=n(Io),al=i(sl,2);let un;var fn=n(al);let pn;var jo=i(fn,2),Fo=n(jo),hn=i(al,2);{var $o=A=>{var M=Ed(),se=i(n(M),2),xe=n(se);P(()=>g(xe,`${e(b),c(()=>{var Oe;return(Oe=e(b).arch)==null?void 0:Oe.pendingRules})??""} PENDING RULES`)),y(A,M)};H(hn,A=>{e(b),c(()=>{var M;return(((M=e(b).arch)==null?void 0:M.pendingRules)??0)>0})&&A($o)})}var _n=i(hn,2);{var Ho=A=>{var M=Sd();let se;var xe=n(M);let Oe;var he=i(xe,2),Re=n(he);P(Ne=>{se=ye(M,1,"health-badge svelte-d3ct2b",null,se,{"health-warn":e(dt),"health-green":!e(dt)}),Oe=ye(xe,1,"dot svelte-d3ct2b",null,Oe,{"dot-warn":e(dt),"dot-green":!e(dt)}),g(Re,`ARCH: ${Ne??""}${e(dt)?" — ADD RULES":""}`)},[()=>(e(Vt),c(()=>e(Vt).toUpperCase()))]),y(A,M)};H(_n,A=>{e(Vt)&&A(Ho)})}var bn=i(_n,2);{var Bo=A=>{var M=Ad(),se=n(M);P(()=>g(se,(e(b),c(()=>e(b).dbError)))),y(A,M)};H(bn,A=>{e(b),c(()=>e(b).dbError)&&A(Bo)})}var Vo=i(bn,2);{var Wo=A=>{var M=Td(),se=n(M);P(()=>g(se,e(Yt))),y(A,M)};H(Vo,A=>{e(Yt)&&A(Wo)})}var mn=i(nn,2),gn=n(mn),yn=n(gn),Uo=i(n(yn),2),qo=i(yn,4),wn=n(qo),xn=i(n(wn),2);let kn;var zo=n(xn),En=i(wn,2),Ko=i(n(En),2),Go=n(Ko),Yo=i(En,2),Jo=i(n(Yo),2),Xo=n(Jo),Qo=i(gn,2),Sn=n(Qo),An=n(Sn);let Tn;var Zo=i(An,2),ec=n(Zo),Ga=i(Sn,2);let Ln;var tc=n(Ga);{var sc=A=>{var M=Ld();y(A,M)},ac=A=>{var M=Cd();y(A,M)};H(tc,A=>{e(Ns)?A(sc):A(ac,-1)})}var rc=i(Ga,2),Cn=i(mn,2),lc=n(Cn);{var nc=A=>{var M=Es(),se=Be(M);{var xe=he=>{var Re=Rd(),Ne=i(Be(Re),4);{var ke=Ae=>{var le=Md();y(Ae,le)},L=Ae=>{var le=Od();y(Ae,le)};H(Ne,Ae=>{e(dt)?Ae(ke):Ae(L,-1)})}y(he,Re)},Oe=he=>{var Re=Es(),Ne=Be(Re);st(Ne,1,()=>(e(Lt),c(()=>[...e(Lt)].reverse())),ke=>ke.id,(ke,L)=>{var Ae=Pd(),le=Be(Ae);let N;var Ie=n(le),ht=n(Ie),ve=i(Ie,2),at=n(ve),rt=i(ve,2),Pe=n(rt);{var je=F=>{var m=ks();P(()=>g(m,(e(L),c(()=>e(L).message)))),y(F,m)},Ge=F=>{var m=ks();P(()=>g(m,`saved: ${e(L),c(()=>e(L).file)??""}`)),y(F,m)},et=F=>{var m=ks();P(()=>g(m,`${e(L),c(()=>e(L).file)??""} — no violations`)),y(F,m)},_t=F=>{var m=ks();P(()=>g(m,`${e(L),c(()=>e(L).file)??""} — skipped: ${e(L),c(()=>e(L).reason)??""}`)),y(F,m)},bt=F=>{var m=ks();P(()=>g(m,`${e(L),c(()=>e(L).file)??""} — ${e(L),c(()=>e(L).message)??""}`)),y(F,m)},lt=F=>{var m=ks();P(()=>g(m,`${e(L),c(()=>e(L).violations.length)??""} violation${e(L),c(()=>e(L).violations.length===1?"":"s")??""} in ${e(L),c(()=>e(L).file)??""}`)),y(F,m)};H(Pe,F=>{e(L),c(()=>e(L).type==="system"||e(L).type==="error")?F(je):(e(L),c(()=>e(L).type==="saved")?F(Ge,1):(e(L),c(()=>e(L).type==="clean")?F(et,2):(e(L),c(()=>e(L).type==="skipped")?F(_t,3):(e(L),c(()=>e(L).type==="log")?F(bt,4):F(lt,-1)))))})}var nt=i(rt,2),Fe=i(le,2);{var Ye=F=>{var m=Es(),K=Be(m);st(K,3,()=>(e(L),c(()=>e(L).violations)),(O,R)=>`${e(L).id}-${R}`,(O,R,ae)=>{var q=Id(),Te=n(q),re=n(Te),U=i(Te,2),_e=n(U),Ee=n(_e),$=i(_e,2);{var z=Q=>{var Ce=Nd(),Me=i(Be(Ce)),me=n(Me);P(()=>g(me,(e(R),c(()=>e(R).rule)))),y(Q,Ce)};H($,Q=>{e(R),c(()=>e(R).rule)&&Q(z)})}var be=i($,2);{var oe=Q=>{var Ce=ks();P(()=>g(Ce,`— ${e(R),c(()=>e(R).issue)??""}`)),y(Q,Ce)};H(be,Q=>{e(R),c(()=>e(R).issue)&&Q(oe)})}var ne=i(be,2);{var D=Q=>{var Ce=Dd(),Me=i(Be(Ce)),me=n(Me);P(()=>g(me,`→ ${e(R),c(()=>e(R).suggestion)??""}`)),y(Q,Ce)};H(ne,Q=>{e(R),c(()=>e(R).suggestion)&&Q(D)})}P(Q=>{g(re,`[${e(ae)+1}]`),g(Ee,Q)},[()=>(e(R),e(L),c(()=>Ul(e(R),e(L).file)))]),y(O,q)}),y(F,m)};H(Fe,F=>{e(L),c(()=>e(L).type==="violations")&&F(Ye)})}P((F,m,K)=>{N=ye(le,1,"log-row svelte-d3ct2b",null,N,{"log-row-warn":e(L).type==="error","log-row-ok":e(L).type==="clean","log-row-fail":e(L).type==="violations"}),g(ht,F),ye(ve,1,`log-label ${m??""}`,"svelte-d3ct2b"),g(at,`[${K??""}]`)},[()=>(e(L),c(()=>Wl(e(L).timestamp))),()=>(e(L),c(()=>oo(e(L)))),()=>(e(L),c(()=>io(e(L))))]),V("click",nt,()=>{var m;const F=e(L).type==="system"||e(L).type==="error"?e(L).message:e(L).type==="saved"?`saved: ${e(L).file}`:e(L).file;(m=navigator.clipboard)==null||m.writeText(F)}),y(ke,Ae)}),y(he,Re)};H(se,he=>{e(Lt),c(()=>e(Lt).length===0)?he(xe):he(Oe,-1)})}y(A,M)},ic=A=>{var M=Bd(),se=Be(M),xe=i(n(se),2),Oe=n(xe),he=i(se,2);{var Re=ke=>{var L=jd();y(ke,L)},Ne=ke=>{var L=Es(),Ae=Be(L);st(Ae,3,()=>(e(d),c(()=>e(d).slice(0,20))),(le,N)=>`${le.timestamp}-${N}`,(le,N)=>{var Ie=Hd(),ht=Be(Ie),ve=n(ht),at=n(ve),rt=i(ve,2),Pe=n(rt),je=i(rt,2),Ge=n(je),et=n(Ge),_t=i(Ge,2);{var bt=Fe=>{var Ye=ks();P(F=>g(Ye,`— ${F??""}`),[()=>(e(N),c(()=>Ul(e(N),e(N).file)))]),y(Fe,Ye)};H(_t,Fe=>{e(N),c(()=>e(N).file)&&Fe(bt)})}var lt=i(ht,2);{var nt=Fe=>{var Ye=$d(),F=i(n(Ye),2),m=n(F);{var K=ae=>{var q=ks();P(()=>g(q,(e(N),c(()=>e(N).issue)))),y(ae,q)};H(m,ae=>{e(N),c(()=>e(N).issue)&&ae(K)})}var O=i(m,2);{var R=ae=>{var q=Fd(),Te=i(Be(q)),re=n(Te);P(()=>g(re,`→ ${e(N),c(()=>e(N).suggestion)??""}`)),y(ae,q)};H(O,ae=>{e(N),c(()=>e(N).suggestion)&&ae(R)})}y(Fe,Ye)};H(lt,Fe=>{e(N),c(()=>e(N).issue||e(N).suggestion)&&Fe(nt)})}P(Fe=>{g(at,Fe),g(Pe,`[${e(N),c(()=>e(N).source==="ci"?"CI":"HOOK")??""}]`),g(et,(e(N),c(()=>e(N).rule)))},[()=>(e(N),c(()=>Wl(e(N).timestamp)))]),y(le,Ie)}),y(ke,L)};H(he,ke=>{e(d),c(()=>e(d).length===0)?ke(Re):ke(Ne,-1)})}P(()=>g(Oe,`${e(d),c(()=>e(d).length)??""} violation${e(d),c(()=>e(d).length===1?"":"s")??""} in last 24h`)),y(A,M)},oc=A=>{var M=zd(),se=Be(M),xe=i(n(se),2),Oe=n(xe),he=i(se,2),Re=n(he),Ne=n(Re);Ne.value=Ne.__value="all";var ke=i(Ne);ke.value=ke.__value="rule";var L=i(ke);L.value=L.__value="decision";var Ae=i(L);Ae.value=Ae.__value="pattern";var le=i(Ae);le.value=le.__value="ignore";var N=i(Re,2),Ie=i(he,2),ht=n(Ie),ve=n(ht),at=n(ve),rt=n(at);rt.value=rt.__value="rule";var Pe=i(rt);Pe.value=Pe.__value="decision";var je=i(Pe);je.value=je.__value="pattern";var Ge=i(je);Ge.value=Ge.__value="ignore";var et=i(at,2),_t=n(et);_t.value=_t.__value="project";var bt=i(_t);bt.value=bt.__value="global";var lt=i(et,2),nt=i(lt,2),Fe=i(ve,2),Ye=n(Fe),F=i(Ye,2),m=n(F),K=i(Ie,2);st(K,5,()=>e(r),O=>O.id,(O,R)=>{var ae=Wd(),q=n(ae),Te=n(q),re=i(q,2),U=n(re),_e=i(re,2),Ee=n(_e),$=i(_e,2);{var z=oe=>{var ne=Vd(),D=n(ne);P(()=>g(D,(e(R),c(()=>e(R).reason)))),y(oe,ne)};H($,oe=>{e(R),c(()=>e(R).reason)&&oe(z)})}var be=i($,2);P(()=>{g(Te,(e(R),c(()=>e(R).type))),g(U,(e(R),c(()=>e(R).scope))),g(Ee,(e(R),c(()=>e(R).content)))}),V("click",be,()=>po(e(R).id)),y(O,ae)},O=>{var R=qd(),ae=n(R),q=n(ae);{var Te=U=>{var _e=Ud();y(U,_e)},re=U=>{var _e=ks("No rules match the current filters.");y(U,_e)};H(q,U=>{e(dt)&&e(I)===0?U(Te):U(re,-1)})}y(O,R)}),P(O=>{g(Oe,`${e(I)??""} rules active`),F.disabled=O,g(m,e(gs)?"Saving…":"+ Add Rule")},[()=>(e(gs),e(qe),c(()=>e(gs)||!e(qe).content.trim()))]),Zs(Re,()=>e(ut),O=>h(ut,O)),Ot(N,()=>e(Rs),O=>h(Rs,O)),Zs(at,()=>e(qe).type,O=>gt(qe,e(qe).type=O)),Zs(et,()=>e(qe).scope,O=>gt(qe,e(qe).scope=O)),Ot(lt,()=>e(qe).reason,O=>gt(qe,e(qe).reason=O)),Ot(nt,()=>e(qe).tags,O=>gt(qe,e(qe).tags=O)),Ot(Ye,()=>e(qe).content,O=>gt(qe,e(qe).content=O)),V("submit",ht,Rr(fo)),y(A,M)},cc=A=>{var M=bu(),se=Be(M),xe=i(n(se),2),Oe=n(xe),he=i(xe,2);let Re;var Ne=n(he),ke=i(he,2),L=n(ke),Ae=i(ke,2);let le;var N=n(Ae),Ie=i(se,2);{var ht=Pe=>{var je=Xd(),Ge=n(je),et=n(Ge),_t=i(et,2),bt=n(_t),lt=i(_t,2),nt=n(lt),Fe=i(lt,2);{var Ye=O=>{var R=Kd(),ae=n(R);P(()=>g(ae,e(La))),y(O,R)};H(Fe,O=>{e(La)&&O(Ye)})}var F=i(Ge,2);{var m=O=>{var R=Gd();y(O,R)},K=O=>{var R=Jd();st(R,5,()=>e(Gs),Et,(ae,q)=>{var Te=Yd(),re=n(Te),U=n(re),_e=i(re,2),Ee=n(_e),$=i(_e,2),z=i($,2);P(()=>{g(U,(e(q),c(()=>e(q).name))),g(Ee,`${e(q),c(()=>e(q).arch_type)??""}${e(q),c(()=>e(q).project_name?` · ${e(q).project_name}`:" · global")??""} · ${e(q),c(()=>e(q).layers.length)??""} layers · ${e(q),c(()=>e(q).rules.length)??""} rules`),$.disabled=e(xt)}),V("click",$,()=>Gi(e(q).id)),V("click",z,()=>Yi(e(q).id)),y(ae,Te)}),y(O,R)};H(F,O=>{e(Gs),c(()=>e(Gs).length===0)?O(m):O(K,-1)})}P(O=>{lt.disabled=O,g(nt,e(Wa)?"…":"↑ Save current")},[()=>(e(Wa),e(oa),c(()=>e(Wa)||!e(oa).trim()))]),Ot(et,()=>e(oa),O=>h(oa,O)),V("keydown",et,O=>O.key==="Enter"&&jl()),ti(bt,()=>e(Gr),O=>h(Gr,O)),V("click",lt,jl),y(Pe,je)};H(Ie,Pe=>{e(mr)&&Pe(ht)})}var ve=i(Ie,2);{var at=Pe=>{var je=Qd();y(Pe,je)},rt=Pe=>{var je=_u(),Ge=n(je);te(Ge,"width",Hl),te(Ge,"height",Bl);var et=i(n(Ge));st(et,1,()=>e(Y),Et,(F,m)=>{var K=Es(),O=Be(K);{var R=ae=>{const q=Dt(()=>(e(m),c(()=>e(m).r.allowed?"var(--green)":e(m).r.enforcement==="warn"?"#f59e0b":"var(--error)"))),Te=Dt(()=>(e(m),c(()=>e(m).r.allowed?"arrow-allow":e(m).r.enforcement==="warn"?"arrow-warn":"arrow-block"))),re=Dt(()=>(e(m),c(()=>e(m).r.allowed?"6,3":e(m).r.enforcement==="warn"?"4,3":"none")));var U=Zd();P(()=>{te(U,"x1",(e(m),c(()=>e(m).sx))),te(U,"y1",(e(m),c(()=>e(m).sy))),te(U,"x2",(e(m),c(()=>e(m).ex))),te(U,"y2",(e(m),c(()=>e(m).ey))),te(U,"stroke",e(q)),te(U,"stroke-dasharray",e(re)),te(U,"marker-end",`url(#${e(Te)??""})`)}),y(ae,U)};H(O,ae=>{e(m)&&ae(R)})}y(F,K)});var _t=i(et);st(_t,1,()=>e(S),Et,(F,m)=>{var K=tu();let O;var R=n(K);te(R,"width",vs),te(R,"height",Ds);var ae=i(R),q=n(ae),Te=i(ae),re=n(Te),U=i(Te);{var _e=Ee=>{var $=eu(),z=Be($),be=i(z);P(()=>{te(z,"cx",(e(m),c(()=>e(m).x+vs-2))),te(z,"cy",(e(m),c(()=>e(m).y+2))),te(be,"x",(e(m),c(()=>e(m).x+vs-2))),te(be,"y",(e(m),c(()=>e(m).y+6)))}),V("click",z,fd(()=>$l(e(m).name))),V("keydown",z,oe=>{oe.key==="Enter"&&$l(e(m).name)}),y(Ee,$)};H(U,Ee=>{e(Jt)&&Ee(_e)})}P(Ee=>{O=ye(K,0,"arch-node arch-node-clickable svelte-d3ct2b",null,O,{"arch-node-selected":e(ft)===e(m).name}),te(K,"aria-label",`Show files in ${e(m),c(()=>e(m).name)??""} layer`),te(R,"x",(e(m),c(()=>e(m).x))),te(R,"y",(e(m),c(()=>e(m).y))),ye(R,0,`arch-node-rect arch-node-${e(m),c(()=>e(m).name)??""}`,"svelte-d3ct2b"),te(R,"stroke-width",(e(ft),e(m),c(()=>e(ft)===e(m).name?2.5:1.5))),te(ae,"x",(e(m),c(()=>e(m).x+vs/2))),te(ae,"y",(e(m),c(()=>e(m).y+Ds/2-5))),g(q,(e(m),c(()=>e(m).name))),te(Te,"x",(e(m),c(()=>e(m).x+vs/2))),te(Te,"y",(e(m),c(()=>e(m).y+Ds/2+9))),g(re,Ee)},[()=>(e(m),c(()=>e(m).description.length>18?e(m).description.slice(0,16)+"…":e(m).description))]),V("click",K,()=>{e(Jt)||h(ft,e(ft)===e(m).name?null:e(m).name)}),V("keydown",K,Ee=>{!e(Jt)&&(Ee.key==="Enter"||Ee.key===" ")&&h(ft,e(ft)===e(m).name?null:e(m).name)}),y(F,K)});var bt=i(Ge,4);{var lt=F=>{const m=Dt(()=>(e(x),e(ft),c(()=>e(x).find($=>$.name===e(ft)))));var K=nu(),O=n(K),R=n(O),ae=n(R),q=i(R,2),Te=n(q),re=i(q,2),U=i(O,2);{var _e=$=>{var z=au(),be=i(n(z),2);st(be,1,()=>(yt(e(m)),c(()=>e(m).paths)),Et,(oe,ne)=>{var D=su(),Q=n(D);P(()=>g(Q,e(ne))),y(oe,D)}),y($,z)};H(U,$=>{yt(e(m)),c(()=>{var z,be;return(be=(z=e(m))==null?void 0:z.paths)==null?void 0:be.length})&&$(_e)})}var Ee=i(U,2);st(Ee,1,()=>(e(W),e(ft),c(()=>[e(W).filter($=>$.fromLayer===e(ft)||$.toLayer===e(ft))])),Et,($,z)=>{var be=Es(),oe=Be(be);{var ne=D=>{var Q=lu(),Ce=i(n(Q),2);st(Ce,1,()=>e(z),Et,(Me,me)=>{var de=ru(),tt=n(de);let mt;var ue=n(tt),Z=i(tt,2),De=n(Z);P(We=>{mt=ye(tt,1,"arch-rule-badge svelte-d3ct2b",null,mt,{"badge-block":!e(me).allowed&&e(me).enforcement==="block","badge-warn":!e(me).allowed&&e(me).enforcement==="warn","badge-allow":e(me).allowed}),g(ue,We),g(De,`${e(me),c(()=>e(me).fromLayer)??""} → ${e(me),c(()=>e(me).toLayer)??""} — ${e(me),c(()=>e(me).name)??""}`)},[()=>(e(me),c(()=>e(me).enforcement.toUpperCase()))]),y(Me,de)}),y(D,Q)};H(oe,D=>{e(z),c(()=>e(z).length)&&D(ne)})}y($,be)}),P(()=>{g(ae,e(ft)),g(Te,(yt(e(m)),c(()=>{var $;return(($=e(m))==null?void 0:$.description)??""})))}),V("click",re,()=>h(ft,null)),y(F,K)};H(bt,F=>{e(ft)&&F(lt)})}var nt=i(bt,2);st(nt,5,()=>e(W),Et,(F,m)=>{var K=ou(),O=n(K);let R;var ae=n(O),q=i(O,2),Te=n(q),re=i(q,2),U=n(re),_e=i(re,2);{var Ee=$=>{var z=iu();V("click",z,()=>Qi(e(m).id)),y($,z)};H(_e,$=>{e(Jt)&&$(Ee)})}P($=>{R=ye(O,1,"arch-rule-badge svelte-d3ct2b",null,R,{"badge-block":!e(m).allowed&&e(m).enforcement==="block","badge-warn":!e(m).allowed&&e(m).enforcement==="warn","badge-allow":e(m).allowed}),g(ae,$),g(Te,`${e(m),c(()=>e(m).fromLayer)??""} → ${e(m),c(()=>e(m).toLayer)??""}`),g(U,(e(m),c(()=>e(m).name)))},[()=>(e(m),c(()=>e(m).enforcement.toUpperCase()))]),y(F,K)});var Fe=i(nt,2);{var Ye=F=>{var m=hu(),K=Be(m);{var O=re=>{var U=cu(),_e=i(n(U),2),Ee=n(_e),$=i(n(Ee),2),z=i(Ee,2),be=i(n(z),2),oe=i(z,2),ne=i(n(oe),2),D=i(oe,2),Q=n(D),Ce=i(D,2);P(Me=>{D.disabled=Me,g(Q,e(xt)?"…":"Add")},[()=>(e(xt),e(Mt),c(()=>e(xt)||!e(Mt).name.trim()))]),Ot($,()=>e(Mt).name,Me=>gt(Mt,e(Mt).name=Me)),Ot(be,()=>e(Mt).paths,Me=>gt(Mt,e(Mt).paths=Me)),Ot(ne,()=>e(Mt).description,Me=>gt(Mt,e(Mt).description=Me)),V("click",Ce,()=>h(zs,!1)),V("submit",U,Rr(Zi)),y(re,U)},R=re=>{var U=vu();V("click",U,()=>{h(zs,!0),h(Ks,!1)}),y(re,U)};H(K,re=>{e(zs)?re(O):re(R,-1)})}var ae=i(K,2);{var q=re=>{var U=fu(),_e=i(n(U),2),Ee=n(_e),$=i(n(Ee),2),z=n($);z.value=z.__value="";var be=i(z);st(be,1,()=>e(x),Et,(vt,Nt)=>{var us=du(),Ya=n(us),Ja={};P(()=>{g(Ya,(e(Nt),c(()=>e(Nt).name))),Ja!==(Ja=(e(Nt),c(()=>e(Nt).name)))&&(us.value=(us.__value=(e(Nt),c(()=>e(Nt).name)))??"")}),y(vt,us)});var oe=i(be);oe.value=oe.__value="*";var ne=i(Ee,2),D=i(n(ne),2),Q=n(D);Q.value=Q.__value="";var Ce=i(Q);st(Ce,1,()=>e(x),Et,(vt,Nt)=>{var us=uu(),Ya=n(us),Ja={};P(()=>{g(Ya,(e(Nt),c(()=>e(Nt).name))),Ja!==(Ja=(e(Nt),c(()=>e(Nt).name)))&&(us.value=(us.__value=(e(Nt),c(()=>e(Nt).name)))??"")}),y(vt,us)});var Me=i(Ce);Me.value=Me.__value="*";var me=i(ne,2),de=i(n(me),2),tt=i(me,2),mt=i(n(tt),2),ue=n(mt);ue.value=ue.__value="block";var Z=i(ue);Z.value=Z.__value="warn";var De=i(tt,2),We=i(n(De),2),G=n(We);G.value=G.__value=!1;var we=i(G);we.value=we.__value=!0;var $e=i(De,2),J=n($e),Ue=i($e,2);P(vt=>{$e.disabled=vt,g(J,e(xt)?"…":"Add")},[()=>(e(xt),e(Ve),c(()=>e(xt)||!e(Ve).fromLayer||!e(Ve).toLayer||!e(Ve).name.trim()))]),Zs($,()=>e(Ve).fromLayer,vt=>(gt(Ve,e(Ve).fromLayer=vt),Xa(()=>{e(x)}))),Zs(D,()=>e(Ve).toLayer,vt=>(gt(Ve,e(Ve).toLayer=vt),Xa(()=>{e(x)}))),Ot(de,()=>e(Ve).name,vt=>(gt(Ve,e(Ve).name=vt),Xa(()=>{e(x)}))),Zs(mt,()=>e(Ve).enforcement,vt=>(gt(Ve,e(Ve).enforcement=vt),Xa(()=>{e(x)}))),Zs(We,()=>e(Ve).allowed,vt=>(gt(Ve,e(Ve).allowed=vt),Xa(()=>{e(x)}))),V("click",Ue,()=>h(Ks,!1)),V("submit",U,Rr(to)),y(re,U)},Te=re=>{var U=pu();V("click",U,()=>{h(Ks,!0),h(zs,!1)}),y(re,U)};H(ae,re=>{e(Ks)?re(q):re(Te,-1)})}y(F,m)};H(Fe,F=>{e(Jt)&&F(Ye)})}y(Pe,je)};H(ve,Pe=>{e(x),c(()=>e(x).length===0)?Pe(at):Pe(rt,-1)})}P(()=>{g(Oe,`${e(x),c(()=>e(x).length)??""} layers · ${e(W),c(()=>e(W).length)??""} rules`),Re=ye(he,1,"arch-edit-btn svelte-d3ct2b",null,Re,{"arch-edit-btn-active":e(Jt)}),g(Ne,e(Jt)?"Done":"Edit Graph"),ke.disabled=e(xt),g(L,e(xt)?"…":"↺ Reset"),le=ye(Ae,1,"arch-edit-btn svelte-d3ct2b",null,le,{"arch-edit-btn-active":e(mr)}),g(N,`⊞ Profiles${e(Gs),c(()=>e(Gs).length>0?` (${e(Gs).length})`:"")??""}`)}),V("click",he,()=>{h(Jt,!e(Jt)),h(zs,!1),h(Ks,!1)}),V("click",ke,eo),V("click",Ae,()=>{h(mr,!e(mr)),h(La,"")}),y(A,M)},vc=A=>{var M=Eu(),se=Be(M),xe=i(n(se),2),Oe=n(xe),he=i(xe,2),Re=n(he),Ne=i(he,2),ke=n(Ne),L=i(se,2);{var Ae=N=>{var Ie=mu(),ht=i(n(Ie),2),ve=n(ht);P(()=>g(ve,(e(b),c(()=>{var at;return(at=e(b).violationHistory)!=null&&at.length?"All violations resolved.":"No violations recorded yet."})))),y(N,Ie)},le=N=>{var Ie=ku();st(Ie,5,()=>e(a),Et,(ht,ve)=>{var at=xu();let rt;var Pe=n(at),je=n(Pe),Ge=n(je),et=i(je,2),_t=n(et),bt=i(et,2);{var lt=m=>{var K=gu(),O=n(K);P(R=>g(O,`✓ Resolved${R??""}`),[()=>(e(ve),c(()=>e(ve).resolvedAt?" "+new Date(e(ve).resolvedAt).toLocaleTimeString():""))]),y(m,K)};H(bt,m=>{e(ve),c(()=>e(ve).resolved)&&m(lt)})}var nt=i(bt,2);let Fe;var Ye=n(nt),F=i(Pe,2);st(F,1,()=>(e(ve),c(()=>e(ve).violations)),Et,(m,K)=>{var O=wu(),R=n(O),ae=n(R),q=i(R,2),Te=n(q),re=i(q,2);{var U=_e=>{var Ee=yu(),$=n(Ee);P(()=>g($,`— ${e(K),c(()=>e(K).issue)??""}`)),y(_e,Ee)};H(re,_e=>{e(K),c(()=>e(K).issue)&&_e(U)})}P(_e=>{g(ae,_e),g(Te,(e(K),c(()=>e(K).rule)))},[()=>(e(K),c(()=>{var _e;return((_e=e(K).decision)==null?void 0:_e.toUpperCase())??"VIOLATION"}))]),y(m,O)}),P(m=>{rt=ye(at,1,"history-entry svelte-d3ct2b",null,rt,{"history-entry-resolved":e(ve).resolved}),g(Ge,(e(ve),c(()=>e(ve).file))),g(_t,m),Fe=ye(nt,1,"history-resolve-btn svelte-d3ct2b",null,Fe,{"history-resolve-btn-active":e(ve).resolved}),te(nt,"title",(e(ve),c(()=>e(ve).resolved?"Mark unresolved":"Mark as resolved"))),g(Ye,(e(ve),c(()=>e(ve).resolved?"↩ Unresolve":"✓ Resolve")))},[()=>(e(ve),c(()=>new Date(e(ve).timestamp).toLocaleString()))]),V("click",nt,()=>Xi(e(ve).timestamp)),y(ht,at)}),y(N,Ie)};H(L,N=>{e(a),c(()=>!e(a).length)?N(Ae):N(le,-1)})}P(()=>{g(Oe,`${e(b),c(()=>{var N;return((N=e(b).violationHistory)==null?void 0:N.length)??0})??""} entries`),Ne.disabled=(e(za),e(b),c(()=>{var N;return e(za)||!((N=e(b).violationHistory)!=null&&N.length)})),g(ke,e(za)?"…":"✕ Clear all")}),ti(Re,()=>e(gr),N=>h(gr,N)),V("click",Ne,Ji),y(A,M)},dc=A=>{var M=Vu(),se=Be(M),xe=i(n(se),2);{var Oe=le=>{var N=Su(),Ie=n(N);P(()=>g(Ie,`${e(ce),c(()=>e(ce).summary.total)??""} total violations · ${e(ce),c(()=>e(ce).summary.uniqueFiles)??""} files`)),y(le,N)};H(xe,le=>{e(ce)&&le(Oe)})}var he=i(xe,2),Re=n(he),Ne=i(se,2);{var ke=le=>{var N=Au();y(le,N)},L=le=>{var N=Tu();y(le,N)},Ae=le=>{var N=Bu(),Ie=Be(N),ht=n(Ie),ve=n(ht),at=n(ve),rt=i(ht,2),Pe=n(rt),je=n(Pe),Ge=i(rt,2),et=n(Ge),_t=n(et),bt=i(Ge,2),lt=n(bt),nt=n(lt),Fe=i(Ie,2),Ye=n(Fe);let F;var m=i(Ye,2);let K;var O=i(m,2);let R;var ae=i(O,2);let q;var Te=i(Fe,2);{var re=$=>{const z=Dt(()=>(e(ce),c(()=>Math.max(1,...e(ce).trends.map(ue=>ue.violations))))),be=Dt(()=>600),oe=Dt(()=>140),ne=Dt(()=>32),D=Dt(()=>(e(ce),yt(e(ne)),yt(e(be)),yt(e(oe)),yt(e(z)),c(()=>e(ce).trends.map((ue,Z)=>({x:e(ne)+Z/(e(ce).trends.length-1||1)*(e(be)-e(ne)*2),y:e(oe)-e(ne)-ue.violations/e(z)*(e(oe)-e(ne)*2),t:ue})))));var Q=Ou(),Ce=n(Q);te(Ce,"viewBox",`0 0 ${e(be)??""} ${e(oe)??""}`);var Me=n(Ce);st(Me,0,()=>[0,.25,.5,.75,1],Et,(ue,Z)=>{var De=Lu(),We=Be(De);te(We,"x1",e(ne)),te(We,"x2",e(be)-e(ne));var G=i(We);te(G,"x",e(ne)-4);var we=n(G);P($e=>{te(We,"y1",e(oe)-e(ne)-Z*(e(oe)-e(ne)*2)),te(We,"y2",e(oe)-e(ne)-Z*(e(oe)-e(ne)*2)),te(G,"y",e(oe)-e(ne)-Z*(e(oe)-e(ne)*2)+4),g(we,$e)},[()=>(yt(e(z)),c(()=>Math.round(e(z)*Z)))]),y(ue,De)});var me=i(Me,2),de=i(me),tt=i(de);st(tt,1,()=>e(D),Et,(ue,Z)=>{var De=Es(),We=Be(De);{var G=we=>{var $e=Cu(),J=n($e),Ue=n(J);P(()=>{te($e,"cx",(e(Z),c(()=>e(Z).x))),te($e,"cy",(e(Z),c(()=>e(Z).y))),g(Ue,`${e(Z),c(()=>e(Z).t.date)??""}: ${e(Z),c(()=>e(Z).t.violations)??""} violations, ${e(Z),c(()=>e(Z).t.files)??""} files`)}),y(we,$e)};H(We,we=>{e(Z),c(()=>e(Z).t.violations>0)&&we(G)})}y(ue,De)});var mt=i(tt);st(mt,1,()=>(yt(e(D)),c(()=>e(D).filter((ue,Z)=>Z%7===0||Z===e(D).length-1))),Et,(ue,Z)=>{var De=Mu();te(De,"y",e(oe)-4);var We=n(De);P(G=>{te(De,"x",(e(Z),c(()=>e(Z).x))),g(We,G)},[()=>(e(Z),c(()=>e(Z).t.date.slice(5)))]),y(ue,De)}),P((ue,Z)=>{te(me,"points",`${ue??""} ${yt(e(D)),c(()=>e(D)[e(D).length-1].x)??""},${e(oe)-e(ne)} ${yt(e(D)),c(()=>e(D)[0].x)??""},${e(oe)-e(ne)}`),te(de,"points",Z)},[()=>(yt(e(D)),c(()=>e(D).map(ue=>`${ue.x},${ue.y}`).join(" "))),()=>(yt(e(D)),c(()=>e(D).map(ue=>`${ue.x},${ue.y}`).join(" ")))]),y($,Q)},U=$=>{var z=Es(),be=Be(z);{var oe=D=>{var Q=Ru();y(D,Q)},ne=D=>{const Q=Dt(()=>(e(ce),c(()=>Math.max(1,...e(ce).fileHeat.map(me=>me.count)))));var Ce=Du(),Me=i(n(Ce),2);st(Me,1,()=>(e(ce),c(()=>e(ce).fileHeat)),Et,(me,de)=>{const tt=Dt(()=>(e(de),yt(e(Q)),c(()=>e(de).count/e(Q)*100)));var mt=Nu(),ue=n(mt),Z=n(ue),De=i(ue,2),We=n(De),G=i(We,2),we=n(G),$e=i(De,2),J=n($e),Ue=i($e,2),vt=n(Ue);P((Nt,us,Ya)=>{te(ue,"title",(e(de),c(()=>e(de).file))),g(Z,Nt),Or(We,`width:${e(tt)??""}%; background: hsl(${us??""},70%,45%)`),g(we,(e(de),c(()=>e(de).count))),g(J,(e(de),c(()=>e(de).resolved>0?`✓ ${e(de).resolved}`:"—"))),g(vt,Ya)},[()=>(e(de),c(()=>e(de).file.split("/").slice(-2).join("/"))),()=>(yt(e(tt)),c(()=>Math.round(120-e(tt)*1.2))),()=>(e(de),c(()=>new Date(e(de).lastViolation).toLocaleDateString()))]),y(me,mt)}),y(D,Ce)};H(be,D=>{e(ce),c(()=>e(ce).fileHeat.length===0)?D(oe):D(ne,-1)})}y($,z)},_e=$=>{const z=Dt(()=>(e(ce),c(()=>Math.max(1,...e(ce).ruleEffectiveness.map(ne=>ne.hitCount)))));var be=ju(),oe=i(n(be),2);st(oe,1,()=>(e(ce),c(()=>e(ce).ruleEffectiveness)),Et,(ne,D)=>{var Q=Pu();let Ce;var Me=n(Q),me=n(Me),de=i(Me,2),tt=n(de),mt=i(de,2),ue=n(mt);{var Z=J=>{var Ue=Iu();P(()=>Or(Ue,`width:${e(D),yt(e(z)),c(()=>e(D).hitCount/e(z)*100)??""}%; background:var(--error)`)),y(J,Ue)};H(ue,J=>{e(D),c(()=>e(D).hitCount>0)&&J(Z)})}var De=i(ue,2);let We;var G=n(De),we=i(mt,2),$e=n(we);P(J=>{Ce=ye(Q,1,"an-heat-row svelte-d3ct2b",null,Ce,{"an-row-dead":e(D).hitCount===0}),g(me,(e(D),c(()=>e(D).name))),g(tt,`${e(D),c(()=>e(D).fromLayer)??""} → ${e(D),c(()=>e(D).toLayer)??""}`),We=ye(De,1,"an-heat-count svelte-d3ct2b",null,We,{"an-dead-count":e(D).hitCount===0}),g(G,(e(D),c(()=>e(D).hitCount===0?"never fired":e(D).hitCount))),g($e,J)},[()=>(e(D),c(()=>e(D).lastFired?new Date(e(D).lastFired).toLocaleDateString():"—"))]),y(ne,Q)}),y($,be)},Ee=$=>{var z=Es(),be=Be(z);{var oe=D=>{var Q=Fu();y(D,Q)},ne=D=>{const Q=Dt(()=>(e(ce),c(()=>Math.max(1,...e(ce).teamActivity.map(me=>me.violations)))));var Ce=Hu(),Me=i(n(Ce),2);st(Me,1,()=>(e(ce),c(()=>e(ce).teamActivity)),Et,(me,de)=>{var tt=$u(),mt=n(tt),ue=n(mt),Z=i(mt,2),De=n(Z),We=i(De,2),G=n(We),we=i(Z,2),$e=n(we),J=i(we,2),Ue=n(J);P(vt=>{g(ue,(e(de),c(()=>e(de).author))),Or(De,`width:${e(de),yt(e(Q)),c(()=>e(de).violations/e(Q)*100)??""}%; background:var(--tertiary)`),g(G,(e(de),c(()=>e(de).violations))),g($e,(e(de),c(()=>e(de).files))),g(Ue,vt)},[()=>(e(de),c(()=>new Date(e(de).lastSeen).toLocaleDateString()))]),y(me,tt)}),y(D,Ce)};H(be,D=>{e(ce),c(()=>e(ce).teamActivity.length===0)?D(oe):D(ne,-1)})}y($,z)};H(Te,$=>{e(Xt)==="trends"?$(re):e(Xt)==="heatmap"?$(U,1):e(Xt)==="rules"?$(_e,2):e(Xt)==="team"&&$(Ee,3)})}P(()=>{g(at,(e(ce),c(()=>e(ce).summary.total))),g(je,(e(ce),c(()=>e(ce).summary.open))),g(_t,(e(ce),c(()=>e(ce).summary.resolved))),g(nt,(e(ce),c(()=>e(ce).summary.uniqueFiles))),F=ye(Ye,1,"an-tab svelte-d3ct2b",null,F,{"an-tab-active":e(Xt)==="trends"}),K=ye(m,1,"an-tab svelte-d3ct2b",null,K,{"an-tab-active":e(Xt)==="heatmap"}),R=ye(O,1,"an-tab svelte-d3ct2b",null,R,{"an-tab-active":e(Xt)==="rules"}),q=ye(ae,1,"an-tab svelte-d3ct2b",null,q,{"an-tab-active":e(Xt)==="team"})}),V("click",Ye,()=>h(Xt,"trends")),V("click",m,()=>h(Xt,"heatmap")),V("click",O,()=>h(Xt,"rules")),V("click",ae,()=>h(Xt,"team")),y(le,N)};H(Ne,le=>{e(qa)?le(ke):e(ce)?le(Ae,-1):le(L,1)})}P(()=>{he.disabled=e(qa),g(Re,e(qa)?"…":"⟳ Refresh")}),V("click",he,Fl),y(A,M)};H(lc,A=>{e(Ze)==="live-feed"?A(nc):e(Ze)==="commit-hook"?A(ic,1):e(Ze)==="rules"?A(oc,2):e(Ze)==="arch-graph"?A(cc,3):e(Ze)==="history"?A(vc,4):e(Ze)==="analytics"&&A(dc,5)})}var uc=i(Cn,2),Mn=n(uc),On=n(Mn),fc=i(n(On),2),pc=n(fc),Rn=i(On,2),Nn=i(n(Rn),2),hc=n(Nn),_c=i(Nn,2),bc=n(_c),Dn=i(Rn,2),mc=i(n(Dn),2),gc=n(mc),yc=i(Dn,2),In=i(n(yc),2);let Pn;var wc=n(In),xc=i(Mn,2),jn=n(xc),Tr=n(jn),kc=n(Tr),Lr=i(Tr,2),Ec=n(Lr),rl=i(Lr,2),Sc=n(rl),Ac=i(jn,2),Fn=n(Ac),Tc=n(Fn),Lc=i(Fn,2),Cc=n(Lc),Mc=i(Kl,2);{var Oc=A=>{var M=qu(),se=n(M),xe=n(se),Oe=i(n(xe),2),he=i(xe,2),Re=i(n(he),2),Ne=i(n(Re),2),ke=n(Ne);ke.value=ke.__value="ollama";var L=i(ke);L.value=L.__value="openai";var Ae=i(L);Ae.value=Ae.__value="anthropic";var le=i(Ae);le.value=le.__value="minimax";var N=i(le);N.value=N.__value="openai-compatible";var Ie=i(Re,2),ht=i(n(Ie),2),ve=i(Ie,2);{var at=G=>{var we=Wu(),$e=i(n(we),2);P(()=>te($e,"placeholder",(e(b),c(()=>{var J;return(J=e(b).runtime)!=null&&J.model.apiKeyConfigured?"(already set — leave blank to keep)":"sk-..."})))),Ot($e,()=>e(ze).apiKey,J=>gt(ze,e(ze).apiKey=J)),y(G,we)};H(ve,G=>{e(ze),c(()=>e(ze).provider&&e(ze).provider!=="ollama")&&G(at)})}var rt=i(ve,2),Pe=i(n(rt),2),je=n(Pe),Ge=n(je),et=i(je,2),_t=i(rt,2);{var bt=G=>{var we=Uu();let $e;var J=n(we);P(Ue=>{$e=ye(we,1,"modal-msg svelte-d3ct2b",null,$e,Ue),g(J,e(Us))},[()=>({"modal-msg-ok":e(Us).startsWith("✓"),"modal-msg-err":e(Us).startsWith("✗")})]),y(G,we)};H(_t,G=>{e(Us)&&G(bt)})}var lt=i(he,2),nt=i(n(lt),2),Fe=i(n(nt),2),Ye=i(nt,2),F=i(n(Ye),2),m=i(lt,2),K=i(n(m),2),O=i(n(K)),R=n(O),ae=i(K,2),q=i(n(ae)),Te=n(q),re=i(ae,2),U=i(n(re)),_e=n(U),Ee=i(re,2),$=i(n(Ee)),z=n($),be=i(Ee,2),oe=i(n(be)),ne=n(oe),D=i(be,2),Q=i(n(D)),Ce=n(Q),Me=i(D,2),me=i(n(Me)),de=n(me),tt=i(Me,2),mt=i(n(tt)),ue=n(mt),Z=i(tt,2),De=i(n(Z)),We=n(De);P((G,we,$e)=>{je.disabled=e(br),g(Ge,e(br)?"Saving…":"Apply"),g(R,(e(b),c(()=>{var J;return((J=e(b).runtime)==null?void 0:J.model.provider)??"—"}))),g(Te,(e(b),c(()=>{var J,Ue;return((J=e(b).runtime)==null?void 0:J.model.checkModelResolved)??((Ue=e(b).runtime)==null?void 0:Ue.model.chatModel)??"—"}))),g(_e,(e(b),c(()=>{var J;return(J=e(b).runtime)!=null&&J.model.apiKeyConfigured?"Configured":"Not set"}))),g(z,(e(b),c(()=>{var J,Ue;return((J=e(b).runtime)==null?void 0:J.model.embeddingModelResolved)??((Ue=e(b).runtime)==null?void 0:Ue.model.embeddingModel)??"—"}))),g(ne,`${e(b),c(()=>{var J,Ue;return((Ue=(J=e(b).runtime)==null?void 0:J.timeouts)==null?void 0:Ue.chatTimeoutMs)??"60000"})??""} ms`),g(Ce,`${e(b),c(()=>{var J,Ue;return((Ue=(J=e(b).runtime)==null?void 0:J.timeouts)==null?void 0:Ue.checkTimeoutMs)??"20000"})??""} ms`),g(de,(e(b),c(()=>{var J;return((J=e(b).stats.tokens)==null?void 0:J.calls)??0}))),g(ue,`${G??""} ${e(b),c(()=>{var J;return((J=e(b).runtime)==null?void 0:J.model.provider)==="ollama"?"(local — free)":""})??""}`),g(We,`${we??""} in / ${$e??""} out`)},[()=>(e(b),c(()=>{var G,we;return((we=(G=e(b).stats.tokens)==null?void 0:G.totalTokens)==null?void 0:we.toLocaleString())??"0"})),()=>(e(b),c(()=>{var G,we;return((we=(G=e(b).stats.tokens)==null?void 0:G.inputTokens)==null?void 0:we.toLocaleString())??"0"})),()=>(e(b),c(()=>{var G,we;return((we=(G=e(b).stats.tokens)==null?void 0:G.outputTokens)==null?void 0:we.toLocaleString())??"0"}))]),V("click",Oe,()=>h(Ct,!1)),Zs(Ne,()=>e(ze).provider,G=>gt(ze,e(ze).provider=G)),Ot(ht,()=>e(ze).model,G=>gt(ze,e(ze).model=G)),V("click",je,uo),V("click",et,co),Ot(Fe,()=>e(ze).chatTimeoutMs,G=>gt(ze,e(ze).chatTimeoutMs=G)),Ot(F,()=>e(ze).checkTimeoutMs,G=>gt(ze,e(ze).checkTimeoutMs=G)),V("click",M,si(()=>h(Ct,!1))),V("keydown",M,si(G=>{G.key==="Escape"&&h(Ct,!1)})),y(A,M)};H(Mc,A=>{e(Ct)&&A(Oc)})}P((A,M,se,xe,Oe,he,Re)=>{var Ne,ke,L,Ae,le;g(Qt,A),te(Ut,"title",e(Ys)?"Switch to light mode":"Switch to dark mode"),Jl=ye(Zr,1,"side-btn svelte-d3ct2b",null,Jl,{"side-btn-active":e(Ze)==="live-feed"}),Xl=ye(Sr,1,"side-btn svelte-d3ct2b",null,Xl,{"side-btn-active":e(Ze)==="commit-hook"}),Ql=ye(el,1,"side-btn svelte-d3ct2b",null,Ql,{"side-btn-active":e(Ze)==="rules"}),Zl=ye(tl,1,"side-btn svelte-d3ct2b",null,Zl,{"side-btn-active":e(Ze)==="arch-graph"}),en=ye(Ar,1,"side-btn svelte-d3ct2b",null,en,{"side-btn-active":e(Ze)==="history"}),sn=ye(tn,1,"side-btn svelte-d3ct2b",null,sn,{"side-btn-active":e(Ze)==="analytics"}),ln=ye(rn,1,"sidebar-conn-dot svelte-d3ct2b",null,ln,{"dot-live":e(E).live}),g(Oo,(e(E),c(()=>e(E).live?"Live":"Offline"))),g(Do,`CORE ${e(E),c(()=>e(E).live?"LIVE":"IDLE")??""}`),cn=ye(sl,1,"health-badge svelte-d3ct2b",null,cn,{"health-green":e(Le),"health-warn":!e(Le)}),dn=ye(vn,1,"dot svelte-d3ct2b",null,dn,{"dot-green":e(Le),"dot-warn":!e(Le)}),g(Po,`DB ${e(Le)?"CONNECTED":"DISCONNECTED"}`),un=ye(al,1,"health-badge svelte-d3ct2b",null,un,{"health-blue":e(Se)||((Ne=e(b).runtime)==null?void 0:Ne.model.provider)!=="ollama","health-warn":!e(Se)&&((ke=e(b).runtime)==null?void 0:ke.model.provider)==="ollama"}),pn=ye(fn,1,"dot svelte-d3ct2b",null,pn,{"dot-blue":e(Se)||((L=e(b).runtime)==null?void 0:L.model.provider)!=="ollama","dot-warn":!e(Se)&&((Ae=e(b).runtime)==null?void 0:Ae.model.provider)==="ollama"}),g(Fo,`MODEL: ${e(Tt)??""}`),kn=ye(xn,1,"metric-value svelte-d3ct2b",null,kn,{"metric-value-warn":e(p)>0}),g(zo,e(p)),g(Go,M),g(Xo,se),Tn=ye(An,1,"dot dot-green svelte-d3ct2b",null,Tn,{"dot-pulse":e(E).live}),g(ec,xe),Ln=ye(Ga,1,"icon-btn svelte-d3ct2b",null,Ln,{"icon-btn-active":e(Ns)}),te(Ga,"title",e(Ns)?"Resume":"Pause"),g(pc,(e(b),c(()=>{var N;return((N=e(b).stats.tokens)==null?void 0:N.calls)??0}))),g(hc,Oe),g(bc,(e(b),c(()=>{var N;return((N=e(b).runtime)==null?void 0:N.model.provider)==="ollama"?"LOCAL (FREE)":"USED"}))),g(gc,he),Pn=ye(In,1,"footer-val svelte-d3ct2b",null,Pn,{"footer-val-error":(((le=e(b).stats.bypasses)==null?void 0:le.withoutReason)??0)>0}),g(wc,`${e(b),c(()=>{var N;return((N=e(b).stats.bypasses)==null?void 0:N.withoutReason)??0})??""} unrecorded`),Tr.disabled=e(qs)==="sync",g(kc,`${e(qs)==="sync"?"…":"⟳"} Sync Agents`),Lr.disabled=e(qs)==="check-all",g(Ec,`${e(qs)==="check-all"?"…":"⊛"} Check All`),rl.disabled=e(qs)==="tune",g(Sc,`${e(qs)==="tune"?"…":"⚙"} Tune Rules`),Or(Tc,`width: ${Re??""}%`),g(Cc,`Storage: ${e(T)??""} memories`)},[()=>c(ro),()=>(e(w),c(()=>e(w).toLocaleString())),()=>(e(I),c(()=>e(I).toLocaleString())),()=>(e(E),c(()=>e(E).live?"LIVE STREAMING":e(E).label.toUpperCase())),()=>(e(b),c(()=>{var A;return(A=e(b).stats.tokens)!=null&&A.totalTokens?(e(b).stats.tokens.totalTokens/1e3).toFixed(1)+"K":"—"})),()=>(e(p),e(w),c(()=>e(p)===0?"0.00%":(e(p)/Math.max(1,e(w))*100).toFixed(2)+"%")),()=>(e(T),c(()=>Math.min(100,e(T)/Math.max(1,e(T)+100)*100+20)))]),Ot(ds,()=>e(Va),A=>h(Va,A)),V("click",xs,()=>{var A,M,se,xe,Oe,he;h(Ct,!e(Ct)),h(ze,{provider:((A=e(b).runtime)==null?void 0:A.model.provider)??"",model:((M=e(b).runtime)==null?void 0:M.model.chatModel)??"",apiKey:"",chatTimeoutMs:((xe=(se=e(b).runtime)==null?void 0:se.timeouts)==null?void 0:xe.chatTimeoutMs)??"",checkTimeoutMs:((he=(Oe=e(b).runtime)==null?void 0:Oe.timeouts)==null?void 0:he.checkTimeoutMs)??""}),h(Us,"")}),V("click",Ut,ho),V("click",Zr,()=>{h(Ze,"live-feed")}),V("click",Sr,()=>{h(Ze,"commit-hook")}),V("click",el,()=>{h(Ze,"rules")}),V("click",tl,()=>{h(Ze,"arch-graph"),h(Jt,!1),Ua().catch(()=>{})}),V("click",Ar,()=>{h(Ze,"history")}),V("click",tn,()=>{h(Ze,"analytics"),Fl()}),V("click",Uo,vo),V("click",Ga,()=>h(Ns,!e(Ns))),V("click",rc,()=>{const A=new Blob([JSON.stringify(e(b),null,2)],{type:"application/json"}),M=document.createElement("a");M.href=URL.createObjectURL(A),M.download="memory-core-snapshot.json",M.click()}),V("click",Tr,()=>Jr("sync")),V("click",Lr,()=>Jr("check-all")),V("click",rl,()=>Jr("tune")),y(v,k)};H(go,v=>{e(Js)?v(yo):v(wo,-1)})}y(t,zl),_i()}Zv(Ku,{target:document.getElementById("app")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}:root{--primary: #0040e0;--primary-dim: #2e5bff;--primary-container: #efefff;--on-primary: #ffffff;--surface: #f8f9fb;--surface-low: #f3f4f6;--surface-mid: #edeef0;--surface-high: #e7e8ea;--surface-highest: #e1e2e4;--on-surface: #191c1e;--on-surface-var: #434656;--outline: #747688;--outline-var: #c4c5d9;--error: #ba1a1a;--error-bg: #ffdad6;--tertiary: #993100;--green: #10b981;--green-bg: rgba(16,185,129,.1);--green-border: rgba(16,185,129,.3);--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--sans: "Hanken Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;--sidebar-bg: #f0f1f5;--sidebar-border: #e0e1e9;--sidebar-text: #191c1e;--sidebar-muted: #747688;--sidebar-hover: rgba(0,0,0,.05);--sidebar-active-bg: #e4e8ff}body{margin:0;background:var(--surface);color:var(--on-surface);font-family:var(--sans);font-size:14px;overflow:hidden;height:100vh}*{box-sizing:border-box}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--surface-low)}::-webkit-scrollbar-thumb{background:var(--outline-var);border-radius:4px}.shell.svelte-d3ct2b{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar.svelte-d3ct2b{display:flex;align-items:center;gap:12px;height:48px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--outline-var);flex-shrink:0;z-index:30}.topbar-brand.svelte-d3ct2b{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-project.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--on-surface);letter-spacing:.02em;text-transform:uppercase}.topbar-arch-pill.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--primary);background:var(--primary-container);border:1px solid var(--primary-dim);border-radius:4px;padding:2px 7px;letter-spacing:.04em;text-transform:uppercase}.topbar-search.svelte-d3ct2b{flex:1;max-width:480px;margin:0 auto;position:relative}.search-icon.svelte-d3ct2b{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--on-surface-var);font-size:18px;pointer-events:none;line-height:1}.search-input.svelte-d3ct2b{width:100%;height:36px;padding:0 12px 0 36px;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:8px;color:var(--on-surface);font-family:var(--sans);font-size:13px;outline:none;transition:border-color .15s}.search-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.topbar-actions.svelte-d3ct2b{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon-btn.svelte-d3ct2b{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--on-surface-var);cursor:pointer;transition:background .15s,color .15s}.icon-btn.svelte-d3ct2b:hover{background:var(--surface-low);color:var(--primary)}.icon-btn-active.svelte-d3ct2b{color:var(--primary)!important;background:var(--primary-container)!important}.avatar.svelte-d3ct2b{width:32px;height:32px;border-radius:50%;background:var(--primary-dim);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-left:8px;border:1px solid var(--outline-var);flex-shrink:0;cursor:default}.body.svelte-d3ct2b{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar.svelte-d3ct2b{width:188px;flex-shrink:0;display:flex;flex-direction:column;padding:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:20}.sidebar-logo.svelte-d3ct2b{display:flex;align-items:center;gap:10px;padding:0 16px;height:48px;border-bottom:1px solid var(--sidebar-border);color:var(--sidebar-text);flex-shrink:0}.sidebar-brand-label.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sidebar-text, #e2e2e8);text-transform:uppercase}.sidebar-nav.svelte-d3ct2b{display:flex;flex-direction:column;gap:2px;padding:12px 8px;flex:1}.side-btn.svelte-d3ct2b{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-left:2px solid transparent;border-radius:0 6px 6px 0;color:var(--sidebar-muted);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:color .12s,background .12s,border-color .12s;margin-left:-8px}.side-btn.svelte-d3ct2b:hover{color:var(--sidebar-text);background:var(--sidebar-hover)}.side-btn-active.svelte-d3ct2b{color:var(--sidebar-text)!important;background:var(--sidebar-active-bg)!important;border-left-color:var(--primary)!important}.side-badge.svelte-d3ct2b{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error);color:#fff;font-size:9px;font-weight:700;margin-left:2px}.sidebar-footer.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--sidebar-border)}.sidebar-conn-dot.svelte-d3ct2b{width:7px;height:7px;border-radius:50%;background:var(--outline);flex-shrink:0}.sidebar-conn-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.06em}.dot-live.svelte-d3ct2b{background:var(--green)!important;box-shadow:0 0 6px var(--green)}.sidebar-user.svelte-d3ct2b{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.sidebar-avatar.svelte-d3ct2b{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-username.svelte-d3ct2b{font-size:12px;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sidebar-logout.svelte-d3ct2b{background:none;border:none;cursor:pointer;padding:3px;color:var(--sidebar-muted);display:flex;align-items:center;border-radius:4px;flex-shrink:0}.sidebar-logout.svelte-d3ct2b:hover{color:var(--error)}.login-screen.svelte-d3ct2b{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface)}.login-card.svelte-d3ct2b{width:360px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:12px;padding:40px 36px 32px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 4px 24px #00000014}.login-logo.svelte-d3ct2b{margin-bottom:4px}.login-title.svelte-d3ct2b{font-family:var(--sans);font-size:22px;font-weight:700;color:var(--on-surface);margin:0}.login-sub.svelte-d3ct2b{font-size:13px;color:var(--on-surface-var);margin:0 0 8px}.login-error.svelte-d3ct2b{width:100%;background:var(--error-bg);color:var(--error);border-radius:6px;padding:8px 12px;font-size:13px;margin:0}.login-form.svelte-d3ct2b{width:100%;display:flex;flex-direction:column;gap:6px}.login-label.svelte-d3ct2b{font-size:12px;font-weight:600;color:var(--on-surface-var);margin-top:4px}.login-input.svelte-d3ct2b{width:100%;padding:9px 12px;border:1px solid var(--outline-var);border-radius:7px;background:var(--surface);color:var(--on-surface);font-size:14px;box-sizing:border-box;transition:border-color .15s}.login-input.svelte-d3ct2b:focus{outline:none;border-color:var(--primary)}.login-btn.svelte-d3ct2b{margin-top:10px;padding:10px;background:var(--primary);color:var(--on-primary);border:none;border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.login-btn.svelte-d3ct2b:disabled{opacity:.6;cursor:not-allowed}.login-btn.svelte-d3ct2b:not(:disabled):hover{opacity:.88}.login-hint.svelte-d3ct2b{font-size:12px;color:var(--on-surface-var);margin:8px 0 0;text-align:center}.login-hint.svelte-d3ct2b code:where(.svelte-d3ct2b){font-family:var(--mono);font-size:11px;background:var(--surface-mid);padding:1px 5px;border-radius:4px}.content.svelte-d3ct2b{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.health-bar.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 24px;border-bottom:1px solid var(--outline-var);background:#fff;flex-shrink:0;flex-wrap:wrap}.health-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}.health-badge.svelte-d3ct2b{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:700}.health-green.svelte-d3ct2b{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.health-blue.svelte-d3ct2b{background:#0040e014;color:var(--primary);border:1px solid rgba(0,64,224,.2)}.health-warn.svelte-d3ct2b{background:#ba1a1a14;color:var(--error);border:1px solid rgba(186,26,26,.25)}.health-error.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--error);font-weight:700}.dot.svelte-d3ct2b{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-green.svelte-d3ct2b{background:var(--green)}.dot-blue.svelte-d3ct2b{background:var(--primary)}.dot-warn.svelte-d3ct2b{background:var(--error)}.dot-pulse.svelte-d3ct2b{animation:svelte-d3ct2b-pulse 1.4s ease-in-out infinite}@keyframes svelte-d3ct2b-pulse{0%,to{opacity:1}50%{opacity:.35}}.filter-bar.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 24px;background:var(--surface-low);border-bottom:1px solid var(--outline-var);flex-shrink:0}.filter-left.svelte-d3ct2b,.filter-right.svelte-d3ct2b{display:flex;align-items:center;gap:8px}.chip.svelte-d3ct2b{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-family:var(--mono);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;border:none}.chip-primary.svelte-d3ct2b{background:var(--primary-dim);color:#fff}.chip-close.svelte-d3ct2b{background:transparent;border:none;color:#fffc;cursor:pointer;padding:0;font-size:10px;line-height:1}.chip-outline.svelte-d3ct2b{background:var(--surface);color:var(--on-surface-var);border:1px solid var(--outline-var);transition:border-color .15s}.chip-outline.svelte-d3ct2b:hover{border-color:var(--primary-dim)}.chevron.svelte-d3ct2b{transition:transform .2s}.chevron-open.svelte-d3ct2b{transform:rotate(180deg)}.service-dropdown-wrap.svelte-d3ct2b{position:relative}.dropdown.svelte-d3ct2b{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:#fff;border:1px solid var(--outline-var);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:100;overflow:hidden;animation:svelte-d3ct2b-dropIn .12s ease}@keyframes svelte-d3ct2b-dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item.svelte-d3ct2b{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--on-surface-var);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s;text-align:left}.dropdown-item.svelte-d3ct2b:hover{background:var(--surface-low)}.dropdown-item-active.svelte-d3ct2b{color:var(--primary);background:var(--primary-container)}.dropdown-item-active.svelte-d3ct2b:hover{background:var(--primary-container)}.dropdown-badge.svelte-d3ct2b{margin-left:auto;background:var(--error);color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.divider-v.svelte-d3ct2b{width:1px;height:28px;background:var(--outline-var);margin:0 4px}.metrics-strip.svelte-d3ct2b{display:flex;align-items:center;gap:24px}.metric-item.svelte-d3ct2b{display:flex;flex-direction:column;align-items:center}.metric-label.svelte-d3ct2b{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.05em;line-height:1}.metric-value.svelte-d3ct2b{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--on-surface);line-height:1.4}.metric-value-warn.svelte-d3ct2b{color:var(--error)}.live-badge.svelte-d3ct2b{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--outline-var);border-radius:8px;background:#fff;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--on-surface);white-space:nowrap}.feed-area.svelte-d3ct2b{flex:1;min-height:0;overflow-y:auto;padding:12px 24px;background:#fff;font-family:var(--mono);font-size:12px}.log-row.svelte-d3ct2b{display:flex;align-items:baseline;gap:12px;padding:3px 8px;border-radius:4px;transition:background .1s;min-height:22px}.log-row.svelte-d3ct2b:hover{background:var(--surface-low)}.log-row-warn.svelte-d3ct2b{background:#ba1a1a0a}.log-row-fail.svelte-d3ct2b{background:#9931000a}.log-time.svelte-d3ct2b{width:80px;flex-shrink:0;color:var(--outline)}.log-label.svelte-d3ct2b{width:56px;flex-shrink:0;font-weight:700}.label-sys.svelte-d3ct2b{color:var(--primary)}.label-ok.svelte-d3ct2b{color:var(--green)}.label-warn.svelte-d3ct2b{color:var(--tertiary)}.label-info.svelte-d3ct2b{color:var(--on-surface-var)}.label-hook.svelte-d3ct2b{color:var(--error)}.label-chck.svelte-d3ct2b{color:var(--outline)}.log-msg.svelte-d3ct2b{flex:1;min-width:0;color:var(--on-surface-var);word-break:break-all;line-height:1.5}.log-msg.svelte-d3ct2b strong:where(.svelte-d3ct2b){color:var(--on-surface);font-weight:600}.copy-btn.svelte-d3ct2b{opacity:0;background:transparent;border:none;color:var(--outline);cursor:pointer;font-size:14px;padding:0 4px;transition:opacity .15s,color .15s;flex-shrink:0}.log-row.svelte-d3ct2b:hover .copy-btn:where(.svelte-d3ct2b){opacity:1}.copy-btn.svelte-d3ct2b:hover{color:var(--primary)}.log-detail.svelte-d3ct2b{display:flex;gap:8px;padding:3px 8px 3px 148px;font-size:11px;border-left:2px solid rgba(153,49,0,.3);margin-left:8px;margin-bottom:2px}.detail-index.svelte-d3ct2b{color:var(--outline);flex-shrink:0;width:24px}.detail-body.svelte-d3ct2b{color:var(--on-surface-var);flex:1;min-width:0;line-height:1.5}.detail-fix.svelte-d3ct2b{color:var(--primary)}.cursor-blink.svelte-d3ct2b{animation:svelte-d3ct2b-blink 1s step-start infinite}@keyframes svelte-d3ct2b-blink{0%,to{opacity:1}50%{opacity:0}}.section-header.svelte-d3ct2b{display:flex;align-items:baseline;gap:12px;padding:8px 8px 10px;border-bottom:1px solid var(--outline-var);margin-bottom:8px}.section-title.svelte-d3ct2b{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--on-surface)}.section-meta.svelte-d3ct2b{font-size:11px;color:var(--outline);font-family:var(--mono)}.rules-toolbar.svelte-d3ct2b{display:flex;gap:8px;padding:8px;margin-bottom:4px}.rules-select.svelte-d3ct2b,.rules-input.svelte-d3ct2b,.rules-textarea.svelte-d3ct2b{padding:6px 10px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;color:var(--on-surface);font-family:var(--sans);font-size:13px;outline:none;transition:border-color .15s}.rules-select.svelte-d3ct2b:focus,.rules-input.svelte-d3ct2b:focus,.rules-textarea.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.rules-textarea.svelte-d3ct2b{resize:vertical;flex:1;min-width:0}.rule-form-wrap.svelte-d3ct2b{padding:0 8px 8px;border-bottom:1px solid var(--outline-var);margin-bottom:8px}.rule-form.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px}.rule-form-row.svelte-d3ct2b{display:flex;gap:8px;align-items:flex-start}.add-btn.svelte-d3ct2b{padding:8px 16px;background:var(--primary);color:var(--on-primary);border:none;border-radius:6px;font-family:var(--mono);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;align-self:flex-end}.add-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-dim)}.add-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.rule-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:400px;padding:0 8px}.rule-row.svelte-d3ct2b{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);font-size:12px;min-width:0;transition:background .1s}.rule-row.svelte-d3ct2b:hover{background:var(--surface-mid)}.rule-badge.svelte-d3ct2b{padding:2px 7px;background:var(--primary-container);color:var(--primary);border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;flex-shrink:0}.rule-scope.svelte-d3ct2b{color:var(--outline);font-family:var(--mono);font-size:10px;font-weight:600;flex-shrink:0}.rule-content.svelte-d3ct2b{flex:1;min-width:0;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-reason.svelte-d3ct2b{color:var(--on-surface-var);font-size:11px;flex-shrink:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.del-btn.svelte-d3ct2b{background:transparent;border:none;color:var(--outline);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:background .1s,color .1s}.del-btn.svelte-d3ct2b:hover{background:var(--error-bg);color:var(--error)}.metrics-footer.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 24px;border-top:1px solid var(--outline-var);background:var(--surface);flex-shrink:0}.footer-left.svelte-d3ct2b,.footer-right.svelte-d3ct2b{display:flex;align-items:center;gap:24px}.footer-metric.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.footer-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--outline);text-transform:uppercase;letter-spacing:.04em}.footer-val.svelte-d3ct2b{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--on-surface)}.footer-val-error.svelte-d3ct2b{color:var(--error)}.footer-unit.svelte-d3ct2b{font-family:var(--mono);font-size:9px;color:var(--outline);text-transform:uppercase}.storage-bar-wrap.svelte-d3ct2b{display:flex;align-items:center;gap:8px}.storage-bar.svelte-d3ct2b{width:96px;height:6px;background:var(--surface-mid);border-radius:999px;overflow:hidden}.storage-fill.svelte-d3ct2b{height:100%;background:var(--primary-dim);border-radius:999px;transition:width .6s ease}.cli-btn.svelte-d3ct2b{display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--surface-high);border:none;border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.cli-btn.svelte-d3ct2b:hover{background:var(--outline-var)}:root[data-theme=dark]{--primary: #4f9eff;--primary-dim: #3b82f6;--primary-container: #172036;--on-primary: #001b3e;--surface: #111318;--surface-low: #0c0e12;--surface-mid: #1e2128;--surface-high: #252930;--surface-highest: #2e3138;--on-surface: #e6edf3;--on-surface-var: #8b949e;--outline: #484f58;--outline-var: #30363d;--error: #f85149;--error-bg: rgba(248,81,73,.15);--tertiary: #f0883e;--green: #3fb950;--green-bg: rgba(63,185,80,.12);--green-border: rgba(63,185,80,.3);--sidebar-bg: #0d1117;--sidebar-border: #21262d;--sidebar-text: #e6edf3;--sidebar-muted: #6e7681;--sidebar-hover: rgba(255,255,255,.04);--sidebar-active-bg: rgba(79,158,255,.1)}html[data-theme=dark] .topbar.svelte-d3ct2b{background:#161b22;border-bottom-color:var(--outline-var)}html[data-theme=dark] .health-bar.svelte-d3ct2b{background:#1a1c20;border-bottom-color:var(--outline-var)}html[data-theme=dark] .filter-bar.svelte-d3ct2b{background:#111318;border-bottom-color:var(--outline-var)}html[data-theme=dark] .feed-area.svelte-d3ct2b{background:#0c0e12}html[data-theme=dark] .metrics-footer.svelte-d3ct2b{background:#111318;border-top-color:var(--outline-var)}html[data-theme=dark] .search-input.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .dropdown.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);box-shadow:0 8px 24px #00000073}html[data-theme=dark] .dropdown-item.svelte-d3ct2b:hover{background:#282a2e}html[data-theme=dark] .dropdown-item-active.svelte-d3ct2b{background:var(--primary-container);color:var(--primary)}html[data-theme=dark] .chip-outline.svelte-d3ct2b,html[data-theme=dark] .live-badge.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .rule-row.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var)}html[data-theme=dark] .rule-row.svelte-d3ct2b:hover{background:#282a2e}html[data-theme=dark] .rules-select.svelte-d3ct2b,html[data-theme=dark] .rules-input.svelte-d3ct2b,html[data-theme=dark] .rules-textarea.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .log-row.svelte-d3ct2b:hover{background:#1e2024}html[data-theme=dark] .log-row-warn.svelte-d3ct2b{background:#ffb4ab0d}html[data-theme=dark] .log-row-fail.svelte-d3ct2b{background:#ffba200a}html[data-theme=dark] .section-header.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .storage-bar.svelte-d3ct2b{background:#282a2e}html[data-theme=dark] .badge-warn.svelte-d3ct2b{background:#422006;color:#fbbf24}html[data-theme=dark] .log-detail.svelte-d3ct2b{border-left-color:#ffba204d}html[data-theme=dark] .history-entry.svelte-d3ct2b{border-color:var(--outline-var);background:#1a1c20}html[data-theme=dark] .history-header.svelte-d3ct2b{background:#1e2024;border-bottom-color:var(--outline-var)}html[data-theme=dark] .history-violation.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .arch-node-panel.svelte-d3ct2b{background:#1a1c20;border-color:var(--outline-var)}html[data-theme=dark] .arch-node-panel-path.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .arch-rule-row.svelte-d3ct2b{background:#1a1c20;border-color:var(--outline-var)}html[data-theme=dark] .arch-svg.svelte-d3ct2b{background:#0c0e12;border-color:var(--outline-var)}html[data-theme=dark] .footer-actions.svelte-d3ct2b .action-btn:where(.svelte-d3ct2b){background:#1e2024}html[data-theme=dark] .cli-btn.svelte-d3ct2b{background:#1e2024}html[data-theme=dark] .modal-status-row.svelte-d3ct2b{border-bottom-color:var(--outline-var)}html[data-theme=dark] .modal-input.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface)}html[data-theme=dark] .modal-btn.svelte-d3ct2b{background:#1e2024;border-color:var(--outline-var);color:var(--on-surface-var)}html[data-theme=dark] .modal-btn.svelte-d3ct2b:hover:not(:disabled){background:#282a2e}html[data-theme=dark] .rule-form-wrap.svelte-d3ct2b{border-bottom-color:var(--outline-var)}@media (max-width: 768px){.sidebar.svelte-d3ct2b{width:48px}.sidebar-brand-label.svelte-d3ct2b{display:none}.side-btn.svelte-d3ct2b span:where(.svelte-d3ct2b){display:none}.sidebar-conn-label.svelte-d3ct2b,.metrics-strip.svelte-d3ct2b{display:none}.filter-bar.svelte-d3ct2b,.feed-area.svelte-d3ct2b{padding:8px 12px}.metrics-footer.svelte-d3ct2b{padding:0 12px;gap:12px}.footer-metric.svelte-d3ct2b:nth-child(n+2){display:none}}.footer-actions.svelte-d3ct2b{display:flex;gap:6px;align-items:center;margin-right:12px}.action-btn.svelte-d3ct2b{font-size:11px;font-family:var(--mono);padding:4px 10px;border-radius:6px;border:1px solid var(--outline-var);background:var(--surface-low);color:var(--on-surface-var);cursor:pointer;transition:background .15s,border-color .15s}.action-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-container);border-color:var(--primary);color:var(--primary)}.action-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.action-btn-warn.svelte-d3ct2b:hover:not(:disabled){background:#fff3e0;border-color:#f59e0b;color:#b45309}.modal-backdrop.svelte-d3ct2b{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-d3ct2b{background:var(--surface);border:1px solid var(--outline-var);border-radius:12px;width:480px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0000002e;overflow:hidden}.modal-header.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--outline-var)}.modal-title.svelte-d3ct2b{font-size:14px;font-weight:600;color:var(--on-surface)}.modal-close.svelte-d3ct2b{background:none;border:none;cursor:pointer;color:var(--outline);font-size:16px;line-height:1}.modal-section.svelte-d3ct2b{padding:16px 20px;border-bottom:1px solid var(--outline-var)}.modal-section.svelte-d3ct2b:last-child{border-bottom:none}.modal-section-title.svelte-d3ct2b{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--outline);text-transform:uppercase;margin-bottom:12px}.modal-row.svelte-d3ct2b{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center;margin-bottom:10px}.modal-label.svelte-d3ct2b{font-size:12px;color:var(--on-surface-var)}.modal-input.svelte-d3ct2b{font-size:12px;font-family:var(--mono);padding:6px 10px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);color:var(--on-surface);outline:none;width:100%}.modal-input.svelte-d3ct2b:focus{border-color:var(--primary)}.modal-row-actions.svelte-d3ct2b{display:flex;gap:8px}.modal-btn.svelte-d3ct2b{font-size:12px;padding:6px 14px;border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);color:var(--on-surface-var);cursor:pointer}.modal-btn.svelte-d3ct2b:hover:not(:disabled){background:var(--surface-mid)}.modal-btn.svelte-d3ct2b:disabled{opacity:.5;cursor:not-allowed}.modal-btn-primary.svelte-d3ct2b{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.modal-btn-primary.svelte-d3ct2b:hover:not(:disabled){background:var(--primary-dim)}.modal-msg.svelte-d3ct2b{font-size:12px;margin-top:8px;padding:6px 10px;border-radius:6px}.modal-msg-ok.svelte-d3ct2b{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.modal-msg-err.svelte-d3ct2b{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.modal-status-row.svelte-d3ct2b{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--surface-mid)}.modal-status-row.svelte-d3ct2b:last-child{border-bottom:none}.modal-status-label.svelte-d3ct2b{font-size:11px;color:var(--outline)}.modal-status-val.svelte-d3ct2b{font-size:11px;font-family:var(--mono);color:var(--on-surface)}html[data-theme=dark] .modal.svelte-d3ct2b{background:var(--surface);border-color:var(--outline-var)}.arch-graph-wrap.svelte-d3ct2b{display:flex;flex-direction:column;gap:16px;padding:16px}.arch-svg.svelte-d3ct2b{display:block;border:1px solid var(--outline-var);border-radius:8px;background:var(--surface-low);width:100%;max-width:640px}.arch-node-rect.svelte-d3ct2b{fill:var(--surface-mid);stroke:var(--outline-var);stroke-width:1.5}.arch-node-domain.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-application.arch-node-rect.svelte-d3ct2b{fill:#f0fdf4;stroke:#22c55e}.arch-node-infrastructure.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-api.arch-node-rect.svelte-d3ct2b{fill:#faf5ff;stroke:#a855f7}.arch-node-shared.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-controllers.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-handlers.arch-node-rect.svelte-d3ct2b{fill:#faf5ff;stroke:#a855f7}.arch-node-services.arch-node-rect.svelte-d3ct2b{fill:#f0fdf4;stroke:#22c55e}.arch-node-repositories.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-modules.arch-node-rect.svelte-d3ct2b{fill:#eef2ff;stroke:#6366f1}.arch-node-common.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-models.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}.arch-node-views.arch-node-rect.svelte-d3ct2b{fill:#fefce8;stroke:#eab308}.arch-node-pages.arch-node-rect.svelte-d3ct2b,.arch-node-screens.arch-node-rect.svelte-d3ct2b,.arch-node-routes.arch-node-rect.svelte-d3ct2b{fill:#eff6ff;stroke:#3b82f6}.arch-node-components.arch-node-rect.svelte-d3ct2b{fill:#fdf2f8;stroke:#ec4899}.arch-node-hooks.arch-node-rect.svelte-d3ct2b{fill:#f5f3ff;stroke:#8b5cf6}.arch-node-composables.arch-node-rect.svelte-d3ct2b{fill:#ecfeff;stroke:#06b6d4}.arch-node-store.arch-node-rect.svelte-d3ct2b,.arch-node-stores.arch-node-rect.svelte-d3ct2b{fill:#fffbeb;stroke:#f59e0b}.arch-node-lib.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}.arch-node-utils.arch-node-rect.svelte-d3ct2b{fill:#f8fafc;stroke:#94a3b8}.arch-node-guards.arch-node-rect.svelte-d3ct2b{fill:#fff1f2;stroke:#f43f5e}.arch-node-server.arch-node-rect.svelte-d3ct2b{fill:#fff7ed;stroke:#f97316}.arch-node-ports.arch-node-rect.svelte-d3ct2b{fill:#ecfeff;stroke:#06b6d4}.arch-node-adapters.arch-node-rect.svelte-d3ct2b{fill:#f0fdfa;stroke:#14b8a6}html[data-theme=dark] .arch-node-domain.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-application.arch-node-rect.svelte-d3ct2b{fill:#14352a;stroke:#22c55e}html[data-theme=dark] .arch-node-infrastructure.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-api.arch-node-rect.svelte-d3ct2b{fill:#2e1a47;stroke:#a855f7}html[data-theme=dark] .arch-node-shared.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-controllers.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-handlers.arch-node-rect.svelte-d3ct2b{fill:#2e1a47;stroke:#a855f7}html[data-theme=dark] .arch-node-services.arch-node-rect.svelte-d3ct2b{fill:#14352a;stroke:#22c55e}html[data-theme=dark] .arch-node-repositories.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-modules.arch-node-rect.svelte-d3ct2b{fill:#1e1b4b;stroke:#6366f1}html[data-theme=dark] .arch-node-common.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-models.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}html[data-theme=dark] .arch-node-views.arch-node-rect.svelte-d3ct2b{fill:#29240a;stroke:#eab308}html[data-theme=dark] .arch-node-pages.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-screens.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-routes.arch-node-rect.svelte-d3ct2b{fill:#1e3a5f;stroke:#3b82f6}html[data-theme=dark] .arch-node-components.arch-node-rect.svelte-d3ct2b{fill:#3d0e2e;stroke:#ec4899}html[data-theme=dark] .arch-node-hooks.arch-node-rect.svelte-d3ct2b{fill:#1e1547;stroke:#8b5cf6}html[data-theme=dark] .arch-node-composables.arch-node-rect.svelte-d3ct2b{fill:#042934;stroke:#06b6d4}html[data-theme=dark] .arch-node-store.arch-node-rect.svelte-d3ct2b,html[data-theme=dark] .arch-node-stores.arch-node-rect.svelte-d3ct2b{fill:#2d200a;stroke:#f59e0b}html[data-theme=dark] .arch-node-lib.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}html[data-theme=dark] .arch-node-utils.arch-node-rect.svelte-d3ct2b{fill:#1e2535;stroke:#94a3b8}html[data-theme=dark] .arch-node-guards.arch-node-rect.svelte-d3ct2b{fill:#3d0a14;stroke:#f43f5e}html[data-theme=dark] .arch-node-server.arch-node-rect.svelte-d3ct2b{fill:#3d2006;stroke:#f97316}html[data-theme=dark] .arch-node-ports.arch-node-rect.svelte-d3ct2b{fill:#042934;stroke:#06b6d4}html[data-theme=dark] .arch-node-adapters.arch-node-rect.svelte-d3ct2b{fill:#0f2922;stroke:#14b8a6}.arch-node-label.svelte-d3ct2b{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--on-surface)}.arch-node-desc.svelte-d3ct2b{font-family:var(--sans);font-size:9px;fill:var(--outline)}.arch-node-clickable.svelte-d3ct2b{cursor:pointer}.arch-node-clickable.svelte-d3ct2b:hover .arch-node-rect:where(.svelte-d3ct2b){filter:brightness(.95)}html[data-theme=dark] .arch-node-clickable.svelte-d3ct2b:hover .arch-node-rect:where(.svelte-d3ct2b){filter:brightness(1.15)}.arch-node-panel.svelte-d3ct2b{border:1px solid var(--outline-var);border-radius:8px;background:var(--surface-low);padding:12px 16px;max-width:640px;display:flex;flex-direction:column;gap:10px}.arch-node-panel-header.svelte-d3ct2b{display:flex;align-items:center;gap:10px}.arch-node-panel-name.svelte-d3ct2b{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--on-surface)}.arch-node-panel-meta.svelte-d3ct2b{font-size:12px;color:var(--outline);flex:1}.arch-node-panel-close.svelte-d3ct2b{background:none;border:none;cursor:pointer;color:var(--outline);font-size:14px;padding:0;line-height:1}.arch-node-panel-close.svelte-d3ct2b:hover{color:var(--on-surface)}.arch-node-panel-paths.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px}.arch-node-panel-section.svelte-d3ct2b{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--outline);margin-bottom:2px}.arch-node-panel-path.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--cyan, #22d3ee);background:var(--surface-mid);padding:3px 8px;border-radius:4px}.arch-node-panel-rule.svelte-d3ct2b{display:flex;align-items:center;gap:8px;font-size:12px}.arch-legend.svelte-d3ct2b{display:flex;gap:16px;align-items:center;font-size:11px;color:var(--outline)}.legend-item.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.arch-rule-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px;max-width:640px}.arch-rule-row.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-low);border-radius:4px;border:1px solid var(--outline-var)}.tab-badge.svelte-d3ct2b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:8px;background:var(--error);color:#fff;font-size:10px;font-weight:700;margin-left:4px;vertical-align:middle}.history-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px;max-width:760px}.history-entry.svelte-d3ct2b{border:1px solid var(--outline-var);border-radius:6px;background:var(--surface-low);overflow:hidden}.history-header.svelte-d3ct2b{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--outline-var);background:var(--surface-mid)}.history-file.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--cyan, #22d3ee)}.history-time.svelte-d3ct2b{font-size:11px;color:var(--outline)}.history-violation.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--outline-var);flex-wrap:wrap}.history-violation.svelte-d3ct2b:last-child{border-bottom:none}.history-badge.svelte-d3ct2b{flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;background:var(--error-bg);color:var(--error);white-space:nowrap}.history-rule.svelte-d3ct2b{font-size:12px;font-weight:600;color:var(--on-surface)}.history-issue.svelte-d3ct2b{font-size:12px;color:var(--outline)}.history-entry-resolved.svelte-d3ct2b{opacity:.5}.history-entry-resolved.svelte-d3ct2b .history-file:where(.svelte-d3ct2b){text-decoration:line-through}.history-resolved-badge.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--green);letter-spacing:.04em}.history-resolve-btn.svelte-d3ct2b{margin-left:auto;padding:2px 8px;font-family:var(--mono);font-size:10px;font-weight:700;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px;color:var(--outline);cursor:pointer;transition:color .12s,border-color .12s,background .12s;white-space:nowrap}.history-resolve-btn.svelte-d3ct2b:hover{color:var(--green);border-color:var(--green);background:var(--green-bg)}.history-resolve-btn-active.svelte-d3ct2b{color:var(--green)!important;border-color:var(--green-border)!important;background:var(--green-bg)!important}.history-toggle-label.svelte-d3ct2b{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--outline);cursor:pointer;-webkit-user-select:none;user-select:none}.arch-rule-badge.svelte-d3ct2b{font-size:10px;font-family:var(--mono);font-weight:700;padding:2px 6px;border-radius:3px}.badge-block.svelte-d3ct2b{background:var(--error-bg);color:var(--error)}.badge-warn.svelte-d3ct2b{background:#fef3c7;color:#92400e}.badge-allow.svelte-d3ct2b{background:var(--green-bg);color:var(--green)}.arch-rule-layers.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);white-space:nowrap}.arch-rule-name.svelte-d3ct2b{font-size:11px;color:var(--outline);flex:1}.arch-edit-btn.svelte-d3ct2b{padding:4px 10px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface-var);cursor:pointer;transition:background .15s,color .15s}.arch-edit-btn.svelte-d3ct2b:hover{background:var(--primary-container);color:var(--primary);border-color:var(--primary-dim)}.arch-edit-btn-active.svelte-d3ct2b{background:var(--primary-container)!important;color:var(--primary)!important;border-color:var(--primary-dim)!important}.arch-reset-btn.svelte-d3ct2b{color:var(--tertiary)!important;border-color:var(--tertiary)!important}.arch-reset-btn.svelte-d3ct2b:hover{background:#fff3eb!important}html[data-theme=dark] .arch-reset-btn.svelte-d3ct2b:hover{background:#3d1a00!important}.arch-rule-del.svelte-d3ct2b{background:none;border:none;color:var(--outline);cursor:pointer;font-size:12px;padding:0 4px;line-height:1;transition:color .15s}.arch-rule-del.svelte-d3ct2b:hover{color:var(--error)}.arch-add-form.svelte-d3ct2b{display:flex;flex-direction:column;gap:8px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;padding:12px;max-width:640px}.arch-add-form-title.svelte-d3ct2b{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--outline)}.arch-add-row.svelte-d3ct2b{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.arch-add-input.svelte-d3ct2b{height:30px;padding:0 8px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none;min-width:80px}.arch-add-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.arch-add-select.svelte-d3ct2b{height:30px;padding:0 6px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none}.arch-add-submit.svelte-d3ct2b{height:30px;padding:0 12px;background:var(--primary);border:none;border-radius:4px;color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s}.arch-add-submit.svelte-d3ct2b:hover{background:var(--primary-dim)}.arch-add-submit.svelte-d3ct2b:disabled{opacity:.5;cursor:default}.arch-add-label.svelte-d3ct2b{font-size:10px;color:var(--outline);font-family:var(--mono)}.arch-add-field.svelte-d3ct2b{display:flex;flex-direction:column;gap:2px}.an-summary.svelte-d3ct2b{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.an-card.svelte-d3ct2b{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--surface-low);border:1px solid var(--outline-var);border-radius:8px;min-width:100px}.an-card-val.svelte-d3ct2b{font-family:var(--mono);font-size:24px;font-weight:700;color:var(--on-surface);line-height:1}.an-card-label.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--outline);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.an-card-warn.svelte-d3ct2b .an-card-val:where(.svelte-d3ct2b){color:var(--error)}.an-card-green.svelte-d3ct2b .an-card-val:where(.svelte-d3ct2b){color:var(--green)}.an-tabs.svelte-d3ct2b{display:flex;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--outline-var)}.an-tab.svelte-d3ct2b{padding:6px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--outline);font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.an-tab.svelte-d3ct2b:hover{color:var(--on-surface)}.an-tab-active.svelte-d3ct2b{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.an-chart-wrap.svelte-d3ct2b{background:var(--surface-low);border:1px solid var(--outline-var);border-radius:8px;padding:16px;max-width:760px}.an-chart-svg.svelte-d3ct2b{display:block;width:100%;height:160px}.an-chart-legend.svelte-d3ct2b{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--outline)}.an-legend-dot.svelte-d3ct2b{width:10px;height:10px;border-radius:50%;display:inline-block}.an-heat-table.svelte-d3ct2b,.an-rule-table.svelte-d3ct2b{display:flex;flex-direction:column;gap:3px;max-width:760px}.an-heat-header.svelte-d3ct2b{display:grid;grid-template-columns:2fr 2fr 80px 100px;gap:8px;padding:4px 10px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--outline)}.an-rule-table.svelte-d3ct2b .an-heat-header:where(.svelte-d3ct2b){grid-template-columns:2fr 1.5fr 2fr 100px}.an-heat-row.svelte-d3ct2b{display:grid;grid-template-columns:2fr 2fr 80px 100px;gap:8px;align-items:center;padding:6px 10px;background:var(--surface-low);border-radius:4px;border:1px solid var(--outline-var)}.an-rule-table.svelte-d3ct2b .an-heat-row:where(.svelte-d3ct2b){grid-template-columns:2fr 1.5fr 2fr 100px}.an-heat-file.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-heat-bar-wrap.svelte-d3ct2b{display:flex;align-items:center;gap:6px}.an-heat-bar.svelte-d3ct2b{height:8px;border-radius:4px;min-width:2px;flex-shrink:0}.an-heat-count.svelte-d3ct2b{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--on-surface);white-space:nowrap}.an-heat-resolved.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--green)}.an-heat-time.svelte-d3ct2b{font-size:11px;color:var(--outline);white-space:nowrap}.an-rule-name.svelte-d3ct2b{font-family:var(--mono);font-size:11px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-rule-layers.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--outline)}.an-row-dead.svelte-d3ct2b{opacity:.45}.an-dead-count.svelte-d3ct2b{color:var(--outline)!important;font-weight:400!important}.profile-panel.svelte-d3ct2b{background:var(--surface-low);border:1px solid var(--outline-var);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px;max-width:760px}.profile-save-row.svelte-d3ct2b{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-name-input.svelte-d3ct2b{height:30px;padding:0 8px;background:var(--surface);border:1px solid var(--outline-var);border-radius:4px;color:var(--on-surface);font-family:var(--mono);font-size:11px;outline:none;min-width:160px;flex:1}.profile-name-input.svelte-d3ct2b:focus{border-color:var(--primary-dim)}.profile-scope-label.svelte-d3ct2b{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;color:var(--outline);white-space:nowrap;cursor:pointer}.profile-msg.svelte-d3ct2b{font-family:var(--mono);font-size:10px;color:var(--green)}.profile-empty.svelte-d3ct2b{font-size:12px;color:var(--outline);font-style:italic}.profile-list.svelte-d3ct2b{display:flex;flex-direction:column;gap:4px}.profile-row.svelte-d3ct2b{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-mid);border:1px solid var(--outline-var);border-radius:4px}.profile-name.svelte-d3ct2b{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--on-surface)}.profile-meta.svelte-d3ct2b{font-size:11px;color:var(--outline);flex:1}
|
|
@@ -7,8 +7,8 @@
|
|
|
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=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-BFwqVRYO.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-y7eHWJtq.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="app"></div>
|