signetai 0.1.68 → 0.1.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{b8 as he,b9 as mt,aK as A,L as U,ay as T,aJ as te,ba as _t}from"./BgyhSYBR.js";import{o as qe}from"./CSXJCotK.js";const V=[];function Se(e,t=he){let n=null;const r=new Set;function a(o){if(mt(e,o)&&(e=o,n)){const l=!V.length;for(const c of r)c[1](),V.push(c,e);if(l){for(let c=0;c<V.length;c+=2)V[c][0](V[c+1]);V.length=0}}}function i(o){a(o(e))}function s(o,l=he){const c=[o,l];return r.add(c),r.size===1&&(n=t(a,i)||he),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:a,update:i,subscribe:s}}class Ee{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Re{constructor(t,n){this.status=t,this.location=n}}class xe extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function wt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function vt(e){return e.split("%25").map(decodeURI).join("%25")}function yt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function pe({href:e}){return e.split("#")[0]}function bt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(s,o){if(o==="get"||o==="getAll"||o==="has")return(c,...d)=>(n(c),s[o](c,...d));t();const l=Reflect.get(s,o);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const s of i)Object.defineProperty(a,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a}function kt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function St(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const Et=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&M.delete(Le(e)),Et(e,t));const M=new Map;function Rt(e,t){const n=Le(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...i}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&M.set(n,{body:a,init:i,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=St(a)),Promise.resolve(new Response(a,i))}return window.fetch(e,t)}function xt(e,t,n){if(M.size>0){const r=Le(e,n),a=M.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);M.delete(r)}}return window.fetch(t,n)}function Le(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${kt(...a)}"]`}return r}const Lt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function At(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Tt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return ge(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return ge(String.fromCharCode(...l.slice(2).split("-").map(w=>parseInt(w,16))));const d=Lt.exec(l),[,p,f,u,h]=d;return t.push({name:u,matcher:h,optional:!!p,rest:!!f,chained:f?c===1&&s[0]==="":!1}),f?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return ge(l)}).join("")}).join("")}/?$`),params:t}}function Ut(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Tt(e){return e.slice(1).split("/").filter(Ut)}function Pt(e,t,n){const r={},a=e.slice(1),i=a.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=a[o-s];if(l.chained&&l.rest&&s&&(c=a.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&l.chained&&(s=0),!d&&!p&&Object.keys(r).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function ge(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function It({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:p,params:f}=At(o),u={id:o,exec:h=>{const w=p.exec(h);if(w)return Pt(w,f,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...c||[]].map(s),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[a.has(o),e[o]]}}function He(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function De(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const x=globalThis.__sveltekit_1wgbgdw?.base??"",Ot=globalThis.__sveltekit_1wgbgdw?.assets??x??"",$t="1771689448718",Je="sveltekit:snapshot",We="sveltekit:scroll",Ye="sveltekit:states",Ct="sveltekit:pageurl",B="sveltekit:history",H="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ae=location.origin;function Xe(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function q(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Ve={...N,"":N.hover};function Qe(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ze(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Qe(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,i=!r||!!a||ue(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=r?.origin===Ae&&e.hasAttribute("download");return{url:r,external:i,target:a,download:s}}function ne(e){let t=null,n=null,r=null,a=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=K(o,"preload-code")),a===null&&(a=K(o,"preload-data")),t===null&&(t=K(o,"keepfocus")),n===null&&(n=K(o,"noscroll")),i===null&&(i=K(o,"reload")),s===null&&(s=K(o,"replacestate")),o=Qe(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ve[r??"off"],preload_data:Ve[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function Ke(e){const t=Se(e);let n=!0;function r(){n=!0,t.update(s=>s)}function a(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:r,set:a,subscribe:i}}const et={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Se(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Ot}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==$t;return s&&(e(!0),et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:r}}function ue(e,t,n){return e.origin!==Ae||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function fn(e){}const tt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...tt];const jt=new Set([...tt]);[...jt];function qt(e){return e.filter(t=>t!=null)}function Ue(e){return e instanceof Ee||e instanceof xe?e.status:500}function Dt(e){return e instanceof xe?e.text:"Internal Error"}let k,J,me;const Vt=qe.toString().includes("$$")||/function \w+\(\) \{\}/.test(qe.toString());Vt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},J={current:null},me={current:!1}):(k=new class{#e=A({});get data(){return U(this.#e)}set data(t){T(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){T(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){T(this.#n,t)}#r=A({});get params(){return U(this.#r)}set params(t){T(this.#r,t)}#a=A({id:null});get route(){return U(this.#a)}set route(t){T(this.#a,t)}#o=A({});get state(){return U(this.#o)}set state(t){T(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){T(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){T(this.#i,t)}},J=new class{#e=A(null);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},me=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},et.v=()=>me.current=!0);function Kt(e){Object.assign(k,e)}const Be={spanContext(){return Bt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Bt={traceId:"",spanId:"",traceFlags:0},Ft=new Set(["icon","shortcut icon","apple-touch-icon"]),C=He(We)??{},W=He(Je)??{},$={url:Ke({}),page:Ke({}),navigating:Se(null),updated:Nt()};function Te(e){C[e]=q()}function Gt(e,t){let n=e+1;for(;C[n];)delete C[n],n+=1;for(n=t+1;W[n];)delete W[n],n+=1}function Y(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Fe(){}let Pe,ve,re,P,ye,v;const ae=[],oe=[];let L=null;function be(){L?.fork?.then(e=>e?.discard()),L=null}const ee=new Map,rt=new Set,Mt=new Set,z=new Set;let _={branch:[],error:null,url:null},at=!1,se=!1,Ge=!0,X=!1,G=!1,ot=!1,Ie=!1,st,y,R,j;const ie=new Set,Me=new Map;async function gn(e,t,n){globalThis.__sveltekit_1wgbgdw?.data&&globalThis.__sveltekit_1wgbgdw.data,document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Pe=It(e),P=document.documentElement,ye=t,ve=e.nodes[0],re=e.nodes[1],ve(),re(),y=history.state?.[B],R=history.state?.[H],y||(y=R=Date.now(),history.replaceState({...history.state,[B]:y,[H]:R},""));const r=C[y];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await an(ye,n)):(await F({type:"enter",url:Xe(v.hash?ln(new URL(location.href)):location.href),replace_state:!0}),a()),rn()}function zt(){ae.length=0,Ie=!1}function it(e){oe.some(t=>t?.snapshot)&&(W[e]=oe.map(t=>t?.snapshot?.capture()))}function lt(e){W[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function ze(){Te(y),De(We,C),it(R),De(Je,W)}async function Ht(e,t,n,r){let a;t.invalidateAll&&be(),await F({type:"goto",url:Xe(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Ie=!0,a=[...Me.keys()]),t.invalidate&&t.invalidate.forEach(nn)}}),t.invalidateAll&&te().then(te).then(()=>{Me.forEach(({resource:i},s)=>{a?.includes(s)&&i.refresh?.()})})}async function Jt(e){if(e.id!==L?.id){be();const t={};ie.add(t),L={id:e.id,token:t,promise:ft({...e,preload:t}).then(n=>(ie.delete(t),n.type==="loaded"&&n.state.error&&be(),n)),fork:null}}return L.promise}async function _e(e){const t=(await fe(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function ct(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(k,e.props.page),st=new v.root({target:t,props:{...e.props,stores:$,components:oe},hydrate:n,sync:!1}),await Promise.resolve(),lt(R),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:C[y]??q()},willUnload:!1,type:"enter",complete:Promise.resolve()};z.forEach(i=>i(a))}se=!0}function le({url:e,params:t,branch:n,status:r,error:a,route:i,form:s}){let o="never";if(x&&(e.pathname===x||e.pathname===x+"/"))o="always";else for(const u of n)u?.slash!==void 0&&(o=u.slash);e.pathname=wt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:i},props:{constructors:qt(n).map(u=>u.node.component),page:je(k)}};s!==void 0&&(l.props.form=s);let c={},d=!k,p=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const h=n[u],w=_.branch[u];h?.data!==w?.data&&(d=!0),h&&(c={...c,...h.data},d&&(l.props[`data_${p}`]=c),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:i?.id??null},state:{},status:r,url:new URL(e),form:s??null,data:d?c:k.data}),l}async function Oe({loader:e,parent:t,url:n,params:r,route:a,server_data_node:i}){let s=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();if(c.universal?.load){let d=function(...f){for(const u of f){const{href:h}=new URL(u,n);l.dependencies.add(h)}};const p={tracing:{enabled:!1,root:Be,current:Be},route:new Proxy(a,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(r,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:i?.data??null,url:bt(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},v.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:h,promise:w}=ut(f,u,n);return o&&d(h.href),w},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(f){o=!1;try{return f()}finally{o=!0}}};s=await c.universal.load.call(null,p)??null}return{node:c,loader:e,server:i,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??i?.data??null,slash:c.universal?.trailingSlash??i?.slash}}function ut(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const i=se?xt(r,a.href,t):Rt(r,t);return{resolved:a,promise:i}}function Wt(e,t,n,r,a,i){if(Ie)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(i[s]!==_.params[s])return!0;for(const s of a.dependencies)if(ae.some(o=>o(new URL(s))))return!0;return!1}function $e(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Yt(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),i=t.searchParams.getAll(r);a.every(s=>i.includes(s))&&i.every(s=>a.includes(s))&&n.delete(r)}return n}function Xt({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:je(k),constructors:[]}}}async function ft({id:e,invalidating:t,url:n,params:r,route:a,preload:i}){if(L?.id===e)return ie.delete(L.token),L.promise;const{errors:s,layouts:o,leaf:l}=a,c=[...o,l];s.forEach(m=>m?.().catch(()=>{})),c.forEach(m=>m?.[1]().catch(()=>{}));const d=_.url?e!==ce(_.url):!1,p=_.route?a.id!==_.route.id:!1,f=Yt(_.url,n);let u=!1;const h=c.map(async(m,g)=>{if(!m)return;const S=_.branch[g];return m[1]===S?.loader&&!Wt(u,p,d,f,S.universal?.uses,r)?S:(u=!0,Oe({loader:m[1],url:n,params:r,route:a,parent:async()=>{const I={};for(let O=0;O<g;O+=1)Object.assign(I,(await h[O])?.data);return I},server_data_node:$e(m[0]?{type:"skip"}:null,m[0]?S?.server:void 0)}))});for(const m of h)m.catch(()=>{});const w=[];for(let m=0;m<c.length;m+=1)if(c[m])try{w.push(await h[m])}catch(g){if(g instanceof Re)return{type:"redirect",location:g.location};if(ie.has(i))return Xt({error:await Q(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let S=Ue(g),E;if(g instanceof Ee)E=g.body;else{if(await $.updated.check())return await nt(),await Y(n);E=await Q(g,{params:r,url:n,route:{id:a.id}})}const I=await Qt(m,w,s);return I?le({url:n,params:r,branch:w.slice(0,I.idx).concat(I.node),status:S,error:E,route:a}):await ht(n,{id:a.id},E,S)}else w.push(void 0);return le({url:n,params:r,branch:w,status:200,error:null,route:a,form:t?void 0:null})}async function Qt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ce({status:e,error:t,url:n,route:r}){const a={};let i=null;try{const s=await Oe({loader:ve,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:$e(i)}),o={node:await re(),loader:re,universal:null,server:null,data:null};return le({url:n,params:a,branch:[s,o],status:e,error:t,route:null})}catch(s){if(s instanceof Re)return Ht(new URL(s.location,location.href),{},0);throw s}}async function Zt(e){const t=e.href;if(ee.has(t))return ee.get(t);let n;try{const r=(async()=>{let a=await v.hooks.reroute({url:new URL(e),fetch:async(i,s)=>ut(i,s,e).promise})??e;if(typeof a=="string"){const i=new URL(e);v.hash?i.hash=a:i.pathname=a,a=i}return a})();ee.set(t,r),n=await r}catch{ee.delete(t);return}return n}async function fe(e,t){if(e&&!ue(e,x,v.hash)){const n=await Zt(e);if(!n)return;const r=en(n);for(const a of Pe){const i=a.exec(r);if(i)return{id:ce(e),invalidating:t,route:a,params:yt(i),url:e}}}}function en(e){return vt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function dt({url:e,type:t,intent:n,delta:r,event:a,scroll:i}){let s=!1;const o=Ne(_,n,e,t,i??null);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return X||rt.forEach(c=>c(l)),s?null:o}async function F({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=Fe,block:d=Fe,event:p}){const f=j;j=l;const u=await fe(t,!1),h=e==="enter"?Ne(_,u,t,e):dt({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:p});if(!h){d(),j===l&&(j=f);return}const w=y,m=R;c(),X=!0,se&&h.navigation.type!=="enter"&&$.navigating.set(J.current=h.navigation);let g=u&&await ft(u);if(!g){if(ue(t,x,v.hash))return await Y(t,i);g=await ht(t,{id:null},await Q(new xe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,j!==l)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),h.fulfil(void 0);return}g=await Ce({status:500,error:await Q(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await $.updated.check()&&(await nt(),await Y(t,i));if(zt(),Te(w),it(m),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const b=i?0:1,Z={[B]:y+=b,[H]:R+=b,[Ye]:s};(i?history.replaceState:history.pushState).call(history,Z,"",t),i||Gt(y,R)}const S=u&&L?.id===u.id?L.fork:null;L=null,g.props.page.state=s;let E;if(se){const b=(await Promise.all(Array.from(Mt,D=>D(h.navigation)))).filter(D=>typeof D=="function");if(b.length>0){let D=function(){b.forEach(de=>{z.delete(de)})};b.push(D),b.forEach(de=>{z.add(de)})}_=g.state,g.props.page&&(g.props.page.url=t);const Z=S&&await S;Z?E=Z.commit():(st.$set(g.props),Kt(g.props.page),E=_t?.()),ot=!0}else await ct(g,ye,!1);const{activeElement:I}=document;await E,await te(),await te();let O=null;if(Ge){const b=n?n.scroll:a?q():null;b?scrollTo(b.x,b.y):(O=t.hash&&document.getElementById(pt(t)))?O.scrollIntoView():scrollTo(0,0)}const gt=document.activeElement!==I&&document.activeElement!==document.body;!r&&!gt&&sn(t,!O),Ge=!0,g.props.page&&Object.assign(k,g.props.page),X=!1,e==="popstate"&&lt(R),h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=q()),z.forEach(b=>b(h.navigation)),$.navigating.set(J.current=null)}async function ht(e,t,n,r,a){return e.origin===Ae&&e.pathname===location.pathname&&!at?await Ce({status:r,error:n,url:e,route:t}):await Y(e,a)}function tn(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,N.hover)},20)});function r(o){o.defaultPrevented||i(o.composedPath()[0],N.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(_e(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function i(o,l){const c=Ze(o,P),d=c===t.element&&c?.href===t.href&&l>=n;if(!c||d)return;const{url:p,external:f,download:u}=we(c,x,v.hash);if(f||u)return;const h=ne(c),w=p&&ce(_.url)===ce(p);if(!(h.reload||w))if(l<=h.preload_data){t={element:c,href:c.href},n=N.tap;const m=await fe(p,!1);if(!m)return;Jt(m)}else l<=h.preload_code&&(t={element:c,href:c.href},n=l,_e(p))}function s(){a.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=we(o,x,v.hash);if(c||d)continue;const p=ne(o);p.reload||(p.preload_code===N.viewport&&a.observe(o),p.preload_code===N.eager&&_e(l))}}z.add(s),s()}function Q(e,t){if(e instanceof Ee)return e.body;const n=Ue(e),r=Dt(e);return v.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function nn(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function rn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(ze(),!X){const r=Ne(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};rt.forEach(i=>i(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ze()}),navigator.connection?.saveData||tn(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Ze(t.composedPath()[0],P);if(!n)return;const{url:r,external:a,target:i,download:s}=we(n,x,v.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const o=ne(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[c,d]=(v.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=c===pe(location);if(a||o.reload&&(!p||!d)){dt({url:r,type:"link",event:t})?X=!0:t.preventDefault();return}if(d!==void 0&&p){const[,f]=_.url.href.split("#");if(f===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(G=!0,Te(y),e(r),!o.replace_state)return;G=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await F({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const s=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ue(s,x,!1))return;const o=t.target,l=ne(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(o,r);s.search=new URLSearchParams(c).toString(),F({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[B]){const n=t.state[B];if(j={},n===y)return;const r=C[n],a=t.state[Ye]??{},i=new URL(t.state[Ct]??location.href),s=t.state[H],o=_.url?pe(location)===pe(_.url):!1;if(s===R&&(ot||o)){a!==k.state&&(k.state=a),e(i),C[y]=q(),r&&scrollTo(r.x,r.y),y=n;return}const c=n-y;await F({type:"popstate",url:i,popped:{state:a,scroll:r,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:j,event:t})}else if(!G){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[B]:++y,[H]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Ft.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(J.current=null)});function e(t){_.url=k.url=t,$.page.set(je(k)),$.page.notify()}}async function an(e,{status:t=200,error:n,node_ids:r,params:a,route:i,server_route:s,data:o,form:l}){at=!0;const c=new URL(location.href);let d;({params:a={},route:i={id:null}}=await fe(c,!1)||{}),d=Pe.find(({id:u})=>u===i.id);let p,f=!0;try{const u=r.map(async(w,m)=>{const g=o[m];return g?.uses&&(g.uses=on(g.uses)),Oe({loader:v.nodes[w],url:c,params:a,route:i,parent:async()=>{const S={};for(let E=0;E<m;E+=1)Object.assign(S,(await u[E]).data);return S},server_data_node:$e(g)})}),h=await Promise.all(u);if(d){const w=d.layouts;for(let m=0;m<w.length;m++)w[m]||h.splice(m,0,void 0)}p=le({url:c,params:a,branch:h,status:t,error:n,form:l,route:d??null})}catch(u){if(u instanceof Re){await Y(new URL(u.location,location.href));return}p=await Ce({status:Ue(u),error:await Q(u,{url:c,params:a,route:i}),url:c,route:i}),e.textContent="",f=!1}p.props.page&&(p.props.page.state={}),await ct(p,e,f)}function on(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function sn(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=pt(e);if(r&&document.getElementById(r)){const{x:i,y:s}=q();setTimeout(()=>{const o=history.state;ke=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),ke=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const i=[];for(let s=0;s<a.rangeCount;s+=1)i.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===i.length){for(let s=0;s<a.rangeCount;s+=1){const o=i[s],l=a.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function Ne(e,t,n,r,a=null){let i,s;const o=new Promise((c,d)=>{i=c,s=d});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:q()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:o},fulfil:i,reject:s}}function je(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function ln(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function pt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{gn as a,fn as l,k as p,$ as s};
1
+ import{b8 as he,b9 as mt,aK as A,L as U,ay as T,aJ as te,ba as _t}from"./BgyhSYBR.js";import{o as qe}from"./CSXJCotK.js";const V=[];function Se(e,t=he){let n=null;const r=new Set;function a(o){if(mt(e,o)&&(e=o,n)){const l=!V.length;for(const c of r)c[1](),V.push(c,e);if(l){for(let c=0;c<V.length;c+=2)V[c][0](V[c+1]);V.length=0}}}function i(o){a(o(e))}function s(o,l=he){const c=[o,l];return r.add(c),r.size===1&&(n=t(a,i)||he),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:a,update:i,subscribe:s}}class Ee{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Re{constructor(t,n){this.status=t,this.location=n}}class xe extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function wt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function vt(e){return e.split("%25").map(decodeURI).join("%25")}function yt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function pe({href:e}){return e.split("#")[0]}function bt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(s,o){if(o==="get"||o==="getAll"||o==="has")return(c,...d)=>(n(c),s[o](c,...d));t();const l=Reflect.get(s,o);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const s of i)Object.defineProperty(a,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a}function kt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function St(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const Et=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&M.delete(Le(e)),Et(e,t));const M=new Map;function Rt(e,t){const n=Le(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...i}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&M.set(n,{body:a,init:i,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=St(a)),Promise.resolve(new Response(a,i))}return window.fetch(e,t)}function xt(e,t,n){if(M.size>0){const r=Le(e,n),a=M.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);M.delete(r)}}return window.fetch(t,n)}function Le(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${kt(...a)}"]`}return r}const Lt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function At(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Tt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return ge(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return ge(String.fromCharCode(...l.slice(2).split("-").map(w=>parseInt(w,16))));const d=Lt.exec(l),[,p,f,u,h]=d;return t.push({name:u,matcher:h,optional:!!p,rest:!!f,chained:f?c===1&&s[0]==="":!1}),f?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return ge(l)}).join("")}).join("")}/?$`),params:t}}function Ut(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Tt(e){return e.slice(1).split("/").filter(Ut)}function Pt(e,t,n){const r={},a=e.slice(1),i=a.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=a[o-s];if(l.chained&&l.rest&&s&&(c=a.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&l.chained&&(s=0),!d&&!p&&Object.keys(r).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function ge(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function It({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:p,params:f}=At(o),u={id:o,exec:h=>{const w=p.exec(h);if(w)return Pt(w,f,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...c||[]].map(s),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[a.has(o),e[o]]}}function He(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function De(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const x=globalThis.__sveltekit_1x1eywq?.base??"",Ot=globalThis.__sveltekit_1x1eywq?.assets??x??"",$t="1771690878645",Je="sveltekit:snapshot",We="sveltekit:scroll",Ye="sveltekit:states",Ct="sveltekit:pageurl",B="sveltekit:history",H="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ae=location.origin;function Xe(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function q(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Ve={...N,"":N.hover};function Qe(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ze(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Qe(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,i=!r||!!a||ue(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=r?.origin===Ae&&e.hasAttribute("download");return{url:r,external:i,target:a,download:s}}function ne(e){let t=null,n=null,r=null,a=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=K(o,"preload-code")),a===null&&(a=K(o,"preload-data")),t===null&&(t=K(o,"keepfocus")),n===null&&(n=K(o,"noscroll")),i===null&&(i=K(o,"reload")),s===null&&(s=K(o,"replacestate")),o=Qe(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ve[r??"off"],preload_data:Ve[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function Ke(e){const t=Se(e);let n=!0;function r(){n=!0,t.update(s=>s)}function a(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:r,set:a,subscribe:i}}const et={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Se(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Ot}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==$t;return s&&(e(!0),et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:r}}function ue(e,t,n){return e.origin!==Ae||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function fn(e){}const tt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...tt];const jt=new Set([...tt]);[...jt];function qt(e){return e.filter(t=>t!=null)}function Ue(e){return e instanceof Ee||e instanceof xe?e.status:500}function Dt(e){return e instanceof xe?e.text:"Internal Error"}let k,J,me;const Vt=qe.toString().includes("$$")||/function \w+\(\) \{\}/.test(qe.toString());Vt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},J={current:null},me={current:!1}):(k=new class{#e=A({});get data(){return U(this.#e)}set data(t){T(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){T(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){T(this.#n,t)}#r=A({});get params(){return U(this.#r)}set params(t){T(this.#r,t)}#a=A({id:null});get route(){return U(this.#a)}set route(t){T(this.#a,t)}#o=A({});get state(){return U(this.#o)}set state(t){T(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){T(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){T(this.#i,t)}},J=new class{#e=A(null);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},me=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){T(this.#e,t)}},et.v=()=>me.current=!0);function Kt(e){Object.assign(k,e)}const Be={spanContext(){return Bt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Bt={traceId:"",spanId:"",traceFlags:0},Ft=new Set(["icon","shortcut icon","apple-touch-icon"]),C=He(We)??{},W=He(Je)??{},$={url:Ke({}),page:Ke({}),navigating:Se(null),updated:Nt()};function Te(e){C[e]=q()}function Gt(e,t){let n=e+1;for(;C[n];)delete C[n],n+=1;for(n=t+1;W[n];)delete W[n],n+=1}function Y(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Fe(){}let Pe,ve,re,P,ye,v;const ae=[],oe=[];let L=null;function be(){L?.fork?.then(e=>e?.discard()),L=null}const ee=new Map,rt=new Set,Mt=new Set,z=new Set;let _={branch:[],error:null,url:null},at=!1,se=!1,Ge=!0,X=!1,G=!1,ot=!1,Ie=!1,st,y,R,j;const ie=new Set,Me=new Map;async function gn(e,t,n){globalThis.__sveltekit_1x1eywq?.data&&globalThis.__sveltekit_1x1eywq.data,document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Pe=It(e),P=document.documentElement,ye=t,ve=e.nodes[0],re=e.nodes[1],ve(),re(),y=history.state?.[B],R=history.state?.[H],y||(y=R=Date.now(),history.replaceState({...history.state,[B]:y,[H]:R},""));const r=C[y];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await an(ye,n)):(await F({type:"enter",url:Xe(v.hash?ln(new URL(location.href)):location.href),replace_state:!0}),a()),rn()}function zt(){ae.length=0,Ie=!1}function it(e){oe.some(t=>t?.snapshot)&&(W[e]=oe.map(t=>t?.snapshot?.capture()))}function lt(e){W[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function ze(){Te(y),De(We,C),it(R),De(Je,W)}async function Ht(e,t,n,r){let a;t.invalidateAll&&be(),await F({type:"goto",url:Xe(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Ie=!0,a=[...Me.keys()]),t.invalidate&&t.invalidate.forEach(nn)}}),t.invalidateAll&&te().then(te).then(()=>{Me.forEach(({resource:i},s)=>{a?.includes(s)&&i.refresh?.()})})}async function Jt(e){if(e.id!==L?.id){be();const t={};ie.add(t),L={id:e.id,token:t,promise:ft({...e,preload:t}).then(n=>(ie.delete(t),n.type==="loaded"&&n.state.error&&be(),n)),fork:null}}return L.promise}async function _e(e){const t=(await fe(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function ct(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(k,e.props.page),st=new v.root({target:t,props:{...e.props,stores:$,components:oe},hydrate:n,sync:!1}),await Promise.resolve(),lt(R),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:C[y]??q()},willUnload:!1,type:"enter",complete:Promise.resolve()};z.forEach(i=>i(a))}se=!0}function le({url:e,params:t,branch:n,status:r,error:a,route:i,form:s}){let o="never";if(x&&(e.pathname===x||e.pathname===x+"/"))o="always";else for(const u of n)u?.slash!==void 0&&(o=u.slash);e.pathname=wt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:i},props:{constructors:qt(n).map(u=>u.node.component),page:je(k)}};s!==void 0&&(l.props.form=s);let c={},d=!k,p=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const h=n[u],w=_.branch[u];h?.data!==w?.data&&(d=!0),h&&(c={...c,...h.data},d&&(l.props[`data_${p}`]=c),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:i?.id??null},state:{},status:r,url:new URL(e),form:s??null,data:d?c:k.data}),l}async function Oe({loader:e,parent:t,url:n,params:r,route:a,server_data_node:i}){let s=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();if(c.universal?.load){let d=function(...f){for(const u of f){const{href:h}=new URL(u,n);l.dependencies.add(h)}};const p={tracing:{enabled:!1,root:Be,current:Be},route:new Proxy(a,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(r,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:i?.data??null,url:bt(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},v.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:h,promise:w}=ut(f,u,n);return o&&d(h.href),w},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(f){o=!1;try{return f()}finally{o=!0}}};s=await c.universal.load.call(null,p)??null}return{node:c,loader:e,server:i,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??i?.data??null,slash:c.universal?.trailingSlash??i?.slash}}function ut(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const i=se?xt(r,a.href,t):Rt(r,t);return{resolved:a,promise:i}}function Wt(e,t,n,r,a,i){if(Ie)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(i[s]!==_.params[s])return!0;for(const s of a.dependencies)if(ae.some(o=>o(new URL(s))))return!0;return!1}function $e(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Yt(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),i=t.searchParams.getAll(r);a.every(s=>i.includes(s))&&i.every(s=>a.includes(s))&&n.delete(r)}return n}function Xt({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:je(k),constructors:[]}}}async function ft({id:e,invalidating:t,url:n,params:r,route:a,preload:i}){if(L?.id===e)return ie.delete(L.token),L.promise;const{errors:s,layouts:o,leaf:l}=a,c=[...o,l];s.forEach(m=>m?.().catch(()=>{})),c.forEach(m=>m?.[1]().catch(()=>{}));const d=_.url?e!==ce(_.url):!1,p=_.route?a.id!==_.route.id:!1,f=Yt(_.url,n);let u=!1;const h=c.map(async(m,g)=>{if(!m)return;const S=_.branch[g];return m[1]===S?.loader&&!Wt(u,p,d,f,S.universal?.uses,r)?S:(u=!0,Oe({loader:m[1],url:n,params:r,route:a,parent:async()=>{const I={};for(let O=0;O<g;O+=1)Object.assign(I,(await h[O])?.data);return I},server_data_node:$e(m[0]?{type:"skip"}:null,m[0]?S?.server:void 0)}))});for(const m of h)m.catch(()=>{});const w=[];for(let m=0;m<c.length;m+=1)if(c[m])try{w.push(await h[m])}catch(g){if(g instanceof Re)return{type:"redirect",location:g.location};if(ie.has(i))return Xt({error:await Q(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let S=Ue(g),E;if(g instanceof Ee)E=g.body;else{if(await $.updated.check())return await nt(),await Y(n);E=await Q(g,{params:r,url:n,route:{id:a.id}})}const I=await Qt(m,w,s);return I?le({url:n,params:r,branch:w.slice(0,I.idx).concat(I.node),status:S,error:E,route:a}):await ht(n,{id:a.id},E,S)}else w.push(void 0);return le({url:n,params:r,branch:w,status:200,error:null,route:a,form:t?void 0:null})}async function Qt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ce({status:e,error:t,url:n,route:r}){const a={};let i=null;try{const s=await Oe({loader:ve,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:$e(i)}),o={node:await re(),loader:re,universal:null,server:null,data:null};return le({url:n,params:a,branch:[s,o],status:e,error:t,route:null})}catch(s){if(s instanceof Re)return Ht(new URL(s.location,location.href),{},0);throw s}}async function Zt(e){const t=e.href;if(ee.has(t))return ee.get(t);let n;try{const r=(async()=>{let a=await v.hooks.reroute({url:new URL(e),fetch:async(i,s)=>ut(i,s,e).promise})??e;if(typeof a=="string"){const i=new URL(e);v.hash?i.hash=a:i.pathname=a,a=i}return a})();ee.set(t,r),n=await r}catch{ee.delete(t);return}return n}async function fe(e,t){if(e&&!ue(e,x,v.hash)){const n=await Zt(e);if(!n)return;const r=en(n);for(const a of Pe){const i=a.exec(r);if(i)return{id:ce(e),invalidating:t,route:a,params:yt(i),url:e}}}}function en(e){return vt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function dt({url:e,type:t,intent:n,delta:r,event:a,scroll:i}){let s=!1;const o=Ne(_,n,e,t,i??null);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return X||rt.forEach(c=>c(l)),s?null:o}async function F({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=Fe,block:d=Fe,event:p}){const f=j;j=l;const u=await fe(t,!1),h=e==="enter"?Ne(_,u,t,e):dt({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:p});if(!h){d(),j===l&&(j=f);return}const w=y,m=R;c(),X=!0,se&&h.navigation.type!=="enter"&&$.navigating.set(J.current=h.navigation);let g=u&&await ft(u);if(!g){if(ue(t,x,v.hash))return await Y(t,i);g=await ht(t,{id:null},await Q(new xe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,j!==l)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),h.fulfil(void 0);return}g=await Ce({status:500,error:await Q(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await $.updated.check()&&(await nt(),await Y(t,i));if(zt(),Te(w),it(m),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const b=i?0:1,Z={[B]:y+=b,[H]:R+=b,[Ye]:s};(i?history.replaceState:history.pushState).call(history,Z,"",t),i||Gt(y,R)}const S=u&&L?.id===u.id?L.fork:null;L=null,g.props.page.state=s;let E;if(se){const b=(await Promise.all(Array.from(Mt,D=>D(h.navigation)))).filter(D=>typeof D=="function");if(b.length>0){let D=function(){b.forEach(de=>{z.delete(de)})};b.push(D),b.forEach(de=>{z.add(de)})}_=g.state,g.props.page&&(g.props.page.url=t);const Z=S&&await S;Z?E=Z.commit():(st.$set(g.props),Kt(g.props.page),E=_t?.()),ot=!0}else await ct(g,ye,!1);const{activeElement:I}=document;await E,await te(),await te();let O=null;if(Ge){const b=n?n.scroll:a?q():null;b?scrollTo(b.x,b.y):(O=t.hash&&document.getElementById(pt(t)))?O.scrollIntoView():scrollTo(0,0)}const gt=document.activeElement!==I&&document.activeElement!==document.body;!r&&!gt&&sn(t,!O),Ge=!0,g.props.page&&Object.assign(k,g.props.page),X=!1,e==="popstate"&&lt(R),h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=q()),z.forEach(b=>b(h.navigation)),$.navigating.set(J.current=null)}async function ht(e,t,n,r,a){return e.origin===Ae&&e.pathname===location.pathname&&!at?await Ce({status:r,error:n,url:e,route:t}):await Y(e,a)}function tn(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,N.hover)},20)});function r(o){o.defaultPrevented||i(o.composedPath()[0],N.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(_e(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function i(o,l){const c=Ze(o,P),d=c===t.element&&c?.href===t.href&&l>=n;if(!c||d)return;const{url:p,external:f,download:u}=we(c,x,v.hash);if(f||u)return;const h=ne(c),w=p&&ce(_.url)===ce(p);if(!(h.reload||w))if(l<=h.preload_data){t={element:c,href:c.href},n=N.tap;const m=await fe(p,!1);if(!m)return;Jt(m)}else l<=h.preload_code&&(t={element:c,href:c.href},n=l,_e(p))}function s(){a.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=we(o,x,v.hash);if(c||d)continue;const p=ne(o);p.reload||(p.preload_code===N.viewport&&a.observe(o),p.preload_code===N.eager&&_e(l))}}z.add(s),s()}function Q(e,t){if(e instanceof Ee)return e.body;const n=Ue(e),r=Dt(e);return v.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function nn(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function rn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(ze(),!X){const r=Ne(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};rt.forEach(i=>i(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ze()}),navigator.connection?.saveData||tn(),P.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Ze(t.composedPath()[0],P);if(!n)return;const{url:r,external:a,target:i,download:s}=we(n,x,v.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const o=ne(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[c,d]=(v.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=c===pe(location);if(a||o.reload&&(!p||!d)){dt({url:r,type:"link",event:t})?X=!0:t.preventDefault();return}if(d!==void 0&&p){const[,f]=_.url.href.split("#");if(f===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(G=!0,Te(y),e(r),!o.replace_state)return;G=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await F({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),P.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const s=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ue(s,x,!1))return;const o=t.target,l=ne(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(o,r);s.search=new URLSearchParams(c).toString(),F({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[B]){const n=t.state[B];if(j={},n===y)return;const r=C[n],a=t.state[Ye]??{},i=new URL(t.state[Ct]??location.href),s=t.state[H],o=_.url?pe(location)===pe(_.url):!1;if(s===R&&(ot||o)){a!==k.state&&(k.state=a),e(i),C[y]=q(),r&&scrollTo(r.x,r.y),y=n;return}const c=n-y;await F({type:"popstate",url:i,popped:{state:a,scroll:r,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:j,event:t})}else if(!G){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[B]:++y,[H]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Ft.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(J.current=null)});function e(t){_.url=k.url=t,$.page.set(je(k)),$.page.notify()}}async function an(e,{status:t=200,error:n,node_ids:r,params:a,route:i,server_route:s,data:o,form:l}){at=!0;const c=new URL(location.href);let d;({params:a={},route:i={id:null}}=await fe(c,!1)||{}),d=Pe.find(({id:u})=>u===i.id);let p,f=!0;try{const u=r.map(async(w,m)=>{const g=o[m];return g?.uses&&(g.uses=on(g.uses)),Oe({loader:v.nodes[w],url:c,params:a,route:i,parent:async()=>{const S={};for(let E=0;E<m;E+=1)Object.assign(S,(await u[E]).data);return S},server_data_node:$e(g)})}),h=await Promise.all(u);if(d){const w=d.layouts;for(let m=0;m<w.length;m++)w[m]||h.splice(m,0,void 0)}p=le({url:c,params:a,branch:h,status:t,error:n,form:l,route:d??null})}catch(u){if(u instanceof Re){await Y(new URL(u.location,location.href));return}p=await Ce({status:Ue(u),error:await Q(u,{url:c,params:a,route:i}),url:c,route:i}),e.textContent="",f=!1}p.props.page&&(p.props.page.state={}),await ct(p,e,f)}function on(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function sn(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=pt(e);if(r&&document.getElementById(r)){const{x:i,y:s}=q();setTimeout(()=>{const o=history.state;ke=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),ke=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const i=[];for(let s=0;s<a.rangeCount;s+=1)i.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===i.length){for(let s=0;s<a.rangeCount;s+=1){const o=i[s],l=a.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function Ne(e,t,n,r,a=null){let i,s;const o=new Promise((c,d)=>{i=c,s=d});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:q()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:o},fulfil:i,reject:s}}function je(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function ln(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function pt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{gn as a,fn as l,k as p,$ as s};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BZSViVUm.js","../chunks/BDTjsgX_.js","../chunks/BgyhSYBR.js","../chunks/LB_B8bnq.js","../assets/0.CHlQvdd5.css","../nodes/1.RXxywdn_.js","../chunks/BLwfUV_X.js","../chunks/AGb2L2ZT.js","../chunks/CSXJCotK.js","../nodes/2.4kZUm8L6.js","../chunks/CeI9go5C.js","../assets/2.Nit4L07m.css"])))=>i.map(i=>d[i]);
2
- import{h as G,g as W,f as H,E as J,au as K,av as Q,aw as X,L as v,ax as Z,ay as O,az as p,A as $,aA as ee,aB as te,u as re,x as ae,aC as ne,aD as se,N as ie,aE as oe,aF as ce,S as ue,aG as M,aH as le,ai as fe,aI as de,P as _e,I as me,v as ve,aJ as he,y as w,X as ge,U as ye,aK as I,V as Ee,W as be,Q as Pe,aL as L}from"../chunks/BgyhSYBR.js";import{h as Se,m as Re,u as Oe,s as we}from"../chunks/BLwfUV_X.js";import{a as R,c as x,f as U,t as Ae}from"../chunks/BDTjsgX_.js";import{o as Ie}from"../chunks/CSXJCotK.js";import{i as T,b as C}from"../chunks/CeI9go5C.js";import{B as Le}from"../chunks/LB_B8bnq.js";function D(r,e,n){G&&W();var c=new Le(r);H(()=>{var i=e()??null;c.ensure(i,i&&(t=>n(t,i)))},J)}let A=!1;function xe(r){var e=A;try{return A=!1,[r(),A]}finally{A=e}}function N(r,e,n,c){var i=!ae||(n&ne)!==0,t=(n&te)!==0,a=(n&ce)!==0,s=c,E=!0,P=()=>(E&&(E=!1,s=a?re(c):c),s),u;if(t){var h=ue in r||M in r;u=K(r,e)?.set??(h&&e in r?o=>r[e]=o:void 0)}var d,_=!1;t?[d,_]=xe(()=>r[e]):d=r[e],d===void 0&&c!==void 0&&(d=P(),u&&(i&&Q(),u(d)));var f;if(i?f=()=>{var o=r[e];return o===void 0?P():(E=!0,o)}:f=()=>{var o=r[e];return o!==void 0&&(s=void 0),o===void 0?s:o},i&&(n&X)===0)return f;if(u){var l=r.$$legacy;return(function(o,y){return arguments.length>0?((!i||!y||l||_)&&u(y?f():o),o):f()})}var g=!1,m=((n&se)!==0?ie:oe)(()=>(g=!1,f()));t&&v(m);var S=$;return(function(o,y){if(arguments.length>0){const b=y?v(m):i&&t?Z(o):o;return O(m,b),g=!0,s!==void 0&&(s=b),o}return p&&g||(S.f&ee)!==0?m.v:v(m)})}function Te(r){return class extends Ce{constructor(e){super({component:r,...e})}}}class Ce{#t;#e;constructor(e){var n=new Map,c=(t,a)=>{var s=de(a,!1,!1);return n.set(t,s),s};const i=new Proxy({...e.props||{},$$events:{}},{get(t,a){return v(n.get(a)??c(a,Reflect.get(t,a)))},has(t,a){return a===M?!0:(v(n.get(a)??c(a,Reflect.get(t,a))),Reflect.has(t,a))},set(t,a,s){return O(n.get(a)??c(a,s),s),Reflect.set(t,a,s)}});this.#e=(e.hydrate?Se:Re)(e.component,{target:e.target,anchor:e.anchor,props:i,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||e.sync===!1)&&le(),this.#t=i.$$events;for(const t of Object.keys(this.#e))t==="$set"||t==="$destroy"||t==="$on"||fe(this,t,{get(){return this.#e[t]},set(a){this.#e[t]=a},enumerable:!0});this.#e.$set=t=>{Object.assign(i,t)},this.#e.$destroy=()=>{Oe(this.#e)}}$set(e){this.#e.$set(e)}$on(e,n){this.#t[e]=this.#t[e]||[];const c=(...i)=>n.call(this,...i);return this.#t[e].push(c),()=>{this.#t[e]=this.#t[e].filter(i=>i!==c)}}$destroy(){this.#e.$destroy()}}const De="modulepreload",Ne=function(r,e){return new URL(r,e).href},k={},j=function(e,n,c){let i=Promise.resolve();if(n&&n.length>0){let P=function(u){return Promise.all(u.map(h=>Promise.resolve(h).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const a=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),E=s?.nonce||s?.getAttribute("nonce");i=P(n.map(u=>{if(u=Ne(u,c),u in k)return;k[u]=!0;const h=u.endsWith(".css"),d=h?'[rel="stylesheet"]':"";if(c)for(let f=a.length-1;f>=0;f--){const l=a[f];if(l.href===u&&(!h||l.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${d}`))return;const _=document.createElement("link");if(_.rel=h?"stylesheet":De,h||(_.as="script"),_.crossOrigin="",_.href=u,E&&_.setAttribute("nonce",E),document.head.appendChild(_),h)return new Promise((f,l)=>{_.addEventListener("load",f),_.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${u}`)))})}))}function t(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return i.then(a=>{for(const s of a||[])s.status==="rejected"&&t(s.reason);return e().catch(t)})},We={};var je=U('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),Be=U("<!> <!>",1);function ke(r,e){_e(e,!0);let n=N(e,"components",23,()=>[]),c=N(e,"data_0",3,null),i=N(e,"data_1",3,null);me(()=>e.stores.page.set(e.page)),ve(()=>{e.stores,e.page,e.constructors,n(),e.form,c(),i(),e.stores.page.notify()});let t=I(!1),a=I(!1),s=I(null);Ie(()=>{const l=e.stores.page.subscribe(()=>{v(t)&&(O(a,!0),he().then(()=>{O(s,document.title||"untitled page",!0)}))});return O(t,!0),l});const E=L(()=>e.constructors[1]);var P=Be(),u=w(P);{var h=l=>{const g=L(()=>e.constructors[0]);var m=x(),S=w(m);D(S,()=>v(g),(o,y)=>{C(y(o,{get data(){return c()},get form(){return e.form},get params(){return e.page.params},children:(b,Ue)=>{var B=x(),Y=w(B);D(Y,()=>v(E),(q,F)=>{C(F(q,{get data(){return i()},get form(){return e.form},get params(){return e.page.params}}),z=>n()[1]=z,()=>n()?.[1])}),R(b,B)},$$slots:{default:!0}}),b=>n()[0]=b,()=>n()?.[0])}),R(l,m)},d=l=>{const g=L(()=>e.constructors[0]);var m=x(),S=w(m);D(S,()=>v(g),(o,y)=>{C(y(o,{get data(){return c()},get form(){return e.form},get params(){return e.page.params}}),b=>n()[0]=b,()=>n()?.[0])}),R(l,m)};T(u,l=>{e.constructors[1]?l(h):l(d,!1)})}var _=ge(u,2);{var f=l=>{var g=je(),m=Ee(g);{var S=o=>{var y=Ae();Pe(()=>we(y,v(s))),R(o,y)};T(m,o=>{v(a)&&o(S)})}be(g),R(l,g)};T(_,l=>{v(t)&&l(f)})}R(r,P),ye()}const He=Te(ke),Je=[()=>j(()=>import("../nodes/0.BZSViVUm.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>j(()=>import("../nodes/1.RXxywdn_.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>j(()=>import("../nodes/2.4kZUm8L6.js"),__vite__mapDeps([9,1,2,8,6,10,3,11]),import.meta.url)],Ke=[],Qe={"/":[2]},V={handleError:(({error:r})=>{console.error(r)}),reroute:(()=>{}),transport:{}},Me=Object.fromEntries(Object.entries(V.transport).map(([r,e])=>[r,e.decode])),Xe=Object.fromEntries(Object.entries(V.transport).map(([r,e])=>[r,e.encode])),Ze=!1,pe=(r,e)=>Me[r](e);export{pe as decode,Me as decoders,Qe as dictionary,Xe as encoders,Ze as hash,V as hooks,We as matchers,Je as nodes,He as root,Ke as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BZSViVUm.js","../chunks/BDTjsgX_.js","../chunks/BgyhSYBR.js","../chunks/LB_B8bnq.js","../assets/0.CHlQvdd5.css","../nodes/1.hQijoxzB.js","../chunks/BLwfUV_X.js","../chunks/BzyW0-ih.js","../chunks/CSXJCotK.js","../nodes/2.4kZUm8L6.js","../chunks/CeI9go5C.js","../assets/2.Nit4L07m.css"])))=>i.map(i=>d[i]);
2
+ import{h as G,g as W,f as H,E as J,au as K,av as Q,aw as X,L as v,ax as Z,ay as O,az as p,A as $,aA as ee,aB as te,u as re,x as ae,aC as ne,aD as se,N as ie,aE as oe,aF as ce,S as ue,aG as M,aH as le,ai as fe,aI as de,P as _e,I as me,v as ve,aJ as he,y as w,X as ge,U as ye,aK as I,V as Ee,W as be,Q as Pe,aL as L}from"../chunks/BgyhSYBR.js";import{h as Se,m as Re,u as Oe,s as we}from"../chunks/BLwfUV_X.js";import{a as R,c as x,f as U,t as Ae}from"../chunks/BDTjsgX_.js";import{o as Ie}from"../chunks/CSXJCotK.js";import{i as T,b as C}from"../chunks/CeI9go5C.js";import{B as Le}from"../chunks/LB_B8bnq.js";function D(r,e,n){G&&W();var c=new Le(r);H(()=>{var i=e()??null;c.ensure(i,i&&(t=>n(t,i)))},J)}let A=!1;function xe(r){var e=A;try{return A=!1,[r(),A]}finally{A=e}}function N(r,e,n,c){var i=!ae||(n&ne)!==0,t=(n&te)!==0,a=(n&ce)!==0,s=c,E=!0,P=()=>(E&&(E=!1,s=a?re(c):c),s),u;if(t){var h=ue in r||M in r;u=K(r,e)?.set??(h&&e in r?o=>r[e]=o:void 0)}var d,_=!1;t?[d,_]=xe(()=>r[e]):d=r[e],d===void 0&&c!==void 0&&(d=P(),u&&(i&&Q(),u(d)));var f;if(i?f=()=>{var o=r[e];return o===void 0?P():(E=!0,o)}:f=()=>{var o=r[e];return o!==void 0&&(s=void 0),o===void 0?s:o},i&&(n&X)===0)return f;if(u){var l=r.$$legacy;return(function(o,y){return arguments.length>0?((!i||!y||l||_)&&u(y?f():o),o):f()})}var g=!1,m=((n&se)!==0?ie:oe)(()=>(g=!1,f()));t&&v(m);var S=$;return(function(o,y){if(arguments.length>0){const b=y?v(m):i&&t?Z(o):o;return O(m,b),g=!0,s!==void 0&&(s=b),o}return p&&g||(S.f&ee)!==0?m.v:v(m)})}function Te(r){return class extends Ce{constructor(e){super({component:r,...e})}}}class Ce{#t;#e;constructor(e){var n=new Map,c=(t,a)=>{var s=de(a,!1,!1);return n.set(t,s),s};const i=new Proxy({...e.props||{},$$events:{}},{get(t,a){return v(n.get(a)??c(a,Reflect.get(t,a)))},has(t,a){return a===M?!0:(v(n.get(a)??c(a,Reflect.get(t,a))),Reflect.has(t,a))},set(t,a,s){return O(n.get(a)??c(a,s),s),Reflect.set(t,a,s)}});this.#e=(e.hydrate?Se:Re)(e.component,{target:e.target,anchor:e.anchor,props:i,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||e.sync===!1)&&le(),this.#t=i.$$events;for(const t of Object.keys(this.#e))t==="$set"||t==="$destroy"||t==="$on"||fe(this,t,{get(){return this.#e[t]},set(a){this.#e[t]=a},enumerable:!0});this.#e.$set=t=>{Object.assign(i,t)},this.#e.$destroy=()=>{Oe(this.#e)}}$set(e){this.#e.$set(e)}$on(e,n){this.#t[e]=this.#t[e]||[];const c=(...i)=>n.call(this,...i);return this.#t[e].push(c),()=>{this.#t[e]=this.#t[e].filter(i=>i!==c)}}$destroy(){this.#e.$destroy()}}const De="modulepreload",Ne=function(r,e){return new URL(r,e).href},k={},j=function(e,n,c){let i=Promise.resolve();if(n&&n.length>0){let P=function(u){return Promise.all(u.map(h=>Promise.resolve(h).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const a=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),E=s?.nonce||s?.getAttribute("nonce");i=P(n.map(u=>{if(u=Ne(u,c),u in k)return;k[u]=!0;const h=u.endsWith(".css"),d=h?'[rel="stylesheet"]':"";if(c)for(let f=a.length-1;f>=0;f--){const l=a[f];if(l.href===u&&(!h||l.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${d}`))return;const _=document.createElement("link");if(_.rel=h?"stylesheet":De,h||(_.as="script"),_.crossOrigin="",_.href=u,E&&_.setAttribute("nonce",E),document.head.appendChild(_),h)return new Promise((f,l)=>{_.addEventListener("load",f),_.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${u}`)))})}))}function t(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return i.then(a=>{for(const s of a||[])s.status==="rejected"&&t(s.reason);return e().catch(t)})},We={};var je=U('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),Be=U("<!> <!>",1);function ke(r,e){_e(e,!0);let n=N(e,"components",23,()=>[]),c=N(e,"data_0",3,null),i=N(e,"data_1",3,null);me(()=>e.stores.page.set(e.page)),ve(()=>{e.stores,e.page,e.constructors,n(),e.form,c(),i(),e.stores.page.notify()});let t=I(!1),a=I(!1),s=I(null);Ie(()=>{const l=e.stores.page.subscribe(()=>{v(t)&&(O(a,!0),he().then(()=>{O(s,document.title||"untitled page",!0)}))});return O(t,!0),l});const E=L(()=>e.constructors[1]);var P=Be(),u=w(P);{var h=l=>{const g=L(()=>e.constructors[0]);var m=x(),S=w(m);D(S,()=>v(g),(o,y)=>{C(y(o,{get data(){return c()},get form(){return e.form},get params(){return e.page.params},children:(b,Ue)=>{var B=x(),Y=w(B);D(Y,()=>v(E),(q,F)=>{C(F(q,{get data(){return i()},get form(){return e.form},get params(){return e.page.params}}),z=>n()[1]=z,()=>n()?.[1])}),R(b,B)},$$slots:{default:!0}}),b=>n()[0]=b,()=>n()?.[0])}),R(l,m)},d=l=>{const g=L(()=>e.constructors[0]);var m=x(),S=w(m);D(S,()=>v(g),(o,y)=>{C(y(o,{get data(){return c()},get form(){return e.form},get params(){return e.page.params}}),b=>n()[0]=b,()=>n()?.[0])}),R(l,m)};T(u,l=>{e.constructors[1]?l(h):l(d,!1)})}var _=ge(u,2);{var f=l=>{var g=je(),m=Ee(g);{var S=o=>{var y=Ae();Pe(()=>we(y,v(s))),R(o,y)};T(m,o=>{v(a)&&o(S)})}be(g),R(l,g)};T(_,l=>{v(t)&&l(f)})}R(r,P),ye()}const He=Te(ke),Je=[()=>j(()=>import("../nodes/0.BZSViVUm.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>j(()=>import("../nodes/1.hQijoxzB.js"),__vite__mapDeps([5,1,2,6,7,8]),import.meta.url),()=>j(()=>import("../nodes/2.4kZUm8L6.js"),__vite__mapDeps([9,1,2,8,6,10,3,11]),import.meta.url)],Ke=[],Qe={"/":[2]},V={handleError:(({error:r})=>{console.error(r)}),reroute:(()=>{}),transport:{}},Me=Object.fromEntries(Object.entries(V.transport).map(([r,e])=>[r,e.decode])),Xe=Object.fromEntries(Object.entries(V.transport).map(([r,e])=>[r,e.encode])),Ze=!1,pe=(r,e)=>Me[r](e);export{pe as decode,Me as decoders,Qe as dictionary,Xe as encoders,Ze as hash,V as hooks,We as matchers,Je as nodes,He as root,Ke as server_loads};
@@ -0,0 +1 @@
1
+ import{l as o,a as r}from"../chunks/BzyW0-ih.js";export{o as load_css,r as start};
@@ -1 +1 @@
1
- import{a as b,f as k}from"../chunks/BDTjsgX_.js";import{w as x,I as y,v as i,u as $,J as l,K as w,L as v,M as E,N as I,O as J,P as K,y as L,Q as M,U as N,V as u,W as m,X as O}from"../chunks/BgyhSYBR.js";import{s as _}from"../chunks/BLwfUV_X.js";import{s as P,p as g}from"../chunks/AGb2L2ZT.js";function Q(a=!1){const t=x,e=t.l.u;if(!e)return;let r=()=>E(t.s);if(a){let o=0,s={};const f=I(()=>{let p=!1;const c=t.s;for(const n in c)c[n]!==s[n]&&(s[n]=c[n],p=!0);return p&&o++,o});r=()=>v(f)}e.b.length&&y(()=>{d(t,r),l(e.b)}),i(()=>{const o=$(()=>e.m.map(w));return()=>{for(const s of o)typeof s=="function"&&s()}}),e.a.length&&i(()=>{d(t,r),l(e.a)})}function d(a,t){if(a.l.s)for(const e of a.l.s)v(e);t()}J();const U={get error(){return g.error},get status(){return g.status}};P.updated.check;const h=U;var V=k("<h1> </h1> <p> </p>",1);function z(a,t){K(t,!1),Q();var e=V(),r=L(e),o=u(r,!0);m(r);var s=O(r,2),f=u(s,!0);m(s),M(()=>{_(o,h.status),_(f,h.error?.message)}),b(a,e),N()}export{z as component};
1
+ import{a as b,f as k}from"../chunks/BDTjsgX_.js";import{w as x,I as y,v as i,u as $,J as l,K as w,L as v,M as E,N as I,O as J,P as K,y as L,Q as M,U as N,V as u,W as m,X as O}from"../chunks/BgyhSYBR.js";import{s as _}from"../chunks/BLwfUV_X.js";import{s as P,p as g}from"../chunks/BzyW0-ih.js";function Q(a=!1){const t=x,e=t.l.u;if(!e)return;let r=()=>E(t.s);if(a){let o=0,s={};const f=I(()=>{let p=!1;const c=t.s;for(const n in c)c[n]!==s[n]&&(s[n]=c[n],p=!0);return p&&o++,o});r=()=>v(f)}e.b.length&&y(()=>{d(t,r),l(e.b)}),i(()=>{const o=$(()=>e.m.map(w));return()=>{for(const s of o)typeof s=="function"&&s()}}),e.a.length&&i(()=>{d(t,r),l(e.a)})}function d(a,t){if(a.l.s)for(const e of a.l.s)v(e);t()}J();const U={get error(){return g.error},get status(){return g.status}};P.updated.check;const h=U;var V=k("<h1> </h1> <p> </p>",1);function z(a,t){K(t,!1),Q();var e=V(),r=L(e),o=u(r,!0);m(r);var s=O(r,2),f=u(s,!0);m(s),M(()=>{_(o,h.status),_(f,h.error?.message)}),b(a,e),N()}export{z as component};
@@ -1 +1 @@
1
- {"version":"1771689448718"}
1
+ {"version":"1771690878645"}
@@ -17,11 +17,11 @@
17
17
  document.documentElement.dataset.theme = t;
18
18
  })();
19
19
  </script>
20
- <link href="/_app/immutable/entry/start.CpyzCF5b.js" rel="modulepreload">
21
- <link href="/_app/immutable/chunks/AGb2L2ZT.js" rel="modulepreload">
20
+ <link href="/_app/immutable/entry/start.ck8DWKuj.js" rel="modulepreload">
21
+ <link href="/_app/immutable/chunks/BzyW0-ih.js" rel="modulepreload">
22
22
  <link href="/_app/immutable/chunks/BgyhSYBR.js" rel="modulepreload">
23
23
  <link href="/_app/immutable/chunks/CSXJCotK.js" rel="modulepreload">
24
- <link href="/_app/immutable/entry/app.Cu_eXv80.js" rel="modulepreload">
24
+ <link href="/_app/immutable/entry/app.CuBZT9ME.js" rel="modulepreload">
25
25
  <link href="/_app/immutable/chunks/BLwfUV_X.js" rel="modulepreload">
26
26
  <link href="/_app/immutable/chunks/BDTjsgX_.js" rel="modulepreload">
27
27
  <link href="/_app/immutable/chunks/CeI9go5C.js" rel="modulepreload">
@@ -32,15 +32,15 @@
32
32
  <div style="display: contents">
33
33
  <script>
34
34
  {
35
- __sveltekit_1wgbgdw = {
35
+ __sveltekit_1x1eywq = {
36
36
  base: ""
37
37
  };
38
38
 
39
39
  const element = document.currentScript.parentElement;
40
40
 
41
41
  Promise.all([
42
- import("/_app/immutable/entry/start.CpyzCF5b.js"),
43
- import("/_app/immutable/entry/app.Cu_eXv80.js")
42
+ import("/_app/immutable/entry/start.ck8DWKuj.js"),
43
+ import("/_app/immutable/entry/app.CuBZT9ME.js")
44
44
  ]).then(([kit, app]) => {
45
45
  kit.start(app, element);
46
46
  });
package/dist/daemon.js CHANGED
@@ -21162,7 +21162,7 @@ function reapStaleLeases(accessor2, timeoutMs) {
21162
21162
  return countChanges(result);
21163
21163
  });
21164
21164
  }
21165
- function startWorker(accessor2, provider, pipelineCfg, decisionCfg) {
21165
+ function startWorker(accessor2, provider, pipelineCfg, decisionCfg, analytics) {
21166
21166
  let running = true;
21167
21167
  let inflight = null;
21168
21168
  let pollTimer = null;
@@ -21203,7 +21203,15 @@ function startWorker(accessor2, provider, pipelineCfg, decisionCfg) {
21203
21203
  embeddingByHash.set(contentHash, vector);
21204
21204
  }
21205
21205
  } catch (e) {
21206
- prefetchWarnings.push(`Embedding prefetch failed: ${e instanceof Error ? e.message : String(e)}`);
21206
+ const emsg = e instanceof Error ? e.message : String(e);
21207
+ prefetchWarnings.push(`Embedding prefetch failed: ${emsg}`);
21208
+ analytics?.recordError({
21209
+ timestamp: new Date().toISOString(),
21210
+ stage: "embedding",
21211
+ code: emsg.includes("timeout") ? "EMBEDDING_TIMEOUT" : "EMBEDDING_PROVIDER_DOWN",
21212
+ message: emsg,
21213
+ memoryId: job.memory_id
21214
+ });
21207
21215
  }
21208
21216
  }
21209
21217
  }
@@ -21283,9 +21291,11 @@ function startWorker(accessor2, provider, pipelineCfg, decisionCfg) {
21283
21291
  const job = accessor2.withWriteTx((db) => leaseJob(db, "extract", pipelineCfg.workerMaxRetries));
21284
21292
  if (!job)
21285
21293
  return;
21294
+ const jobStart = Date.now();
21286
21295
  try {
21287
21296
  await processExtractJob(job);
21288
21297
  consecutiveFailures = 0;
21298
+ analytics?.recordLatency("jobs", Date.now() - jobStart);
21289
21299
  } catch (e) {
21290
21300
  const msg = e instanceof Error ? e.message : String(e);
21291
21301
  logger.warn("pipeline", "Job failed", {
@@ -21293,6 +21303,14 @@ function startWorker(accessor2, provider, pipelineCfg, decisionCfg) {
21293
21303
  error: msg,
21294
21304
  attempt: job.attempts
21295
21305
  });
21306
+ analytics?.recordLatency("jobs", Date.now() - jobStart);
21307
+ analytics?.recordError({
21308
+ timestamp: new Date().toISOString(),
21309
+ stage: "extraction",
21310
+ code: msg.includes("timeout") ? "EXTRACTION_TIMEOUT" : "EXTRACTION_PARSE_FAIL",
21311
+ message: msg,
21312
+ memoryId: job.memory_id
21313
+ });
21296
21314
  accessor2.withWriteTx((db) => {
21297
21315
  failJob(db, job.id, msg, job.attempts, job.max_attempts);
21298
21316
  if (job.attempts >= job.max_attempts) {
@@ -22451,7 +22469,7 @@ var workerHandle = null;
22451
22469
  var retentionHandle = null;
22452
22470
  var maintenanceHandle = null;
22453
22471
  var documentWorkerHandle = null;
22454
- function startPipeline(accessor2, pipelineCfg, embeddingCfg, fetchEmbedding, searchCfg, providerTracker) {
22472
+ function startPipeline(accessor2, pipelineCfg, embeddingCfg, fetchEmbedding, searchCfg, providerTracker, analytics) {
22455
22473
  if (workerHandle) {
22456
22474
  logger.warn("pipeline", "Pipeline already running, skipping start");
22457
22475
  return;
@@ -22465,7 +22483,7 @@ function startPipeline(accessor2, pipelineCfg, embeddingCfg, fetchEmbedding, sea
22465
22483
  search: searchCfg,
22466
22484
  fetchEmbedding
22467
22485
  };
22468
- workerHandle = startWorker(accessor2, provider, pipelineCfg, decisionCfg);
22486
+ workerHandle = startWorker(accessor2, provider, pipelineCfg, decisionCfg, analytics);
22469
22487
  if (!retentionHandle) {
22470
22488
  retentionHandle = startRetentionWorker(accessor2, DEFAULT_RETENTION);
22471
22489
  }
@@ -22907,6 +22925,321 @@ async function rerank(query, candidates, provider, cfg) {
22907
22925
  clearTimeout(timerId);
22908
22926
  }
22909
22927
  }
22928
+
22929
+ // ../daemon/src/analytics.ts
22930
+ function createLatencyHistogram(capacity = 1000) {
22931
+ const samples = [];
22932
+ let sorted = true;
22933
+ function ensureSorted() {
22934
+ if (!sorted) {
22935
+ samples.sort((a2, b2) => a2 - b2);
22936
+ sorted = true;
22937
+ }
22938
+ }
22939
+ function percentile(p2) {
22940
+ ensureSorted();
22941
+ if (samples.length === 0)
22942
+ return 0;
22943
+ const idx = Math.ceil(p2 / 100 * samples.length) - 1;
22944
+ return samples[Math.max(0, idx)];
22945
+ }
22946
+ return {
22947
+ record(ms) {
22948
+ if (samples.length >= capacity) {
22949
+ samples.shift();
22950
+ }
22951
+ samples.push(ms);
22952
+ sorted = false;
22953
+ },
22954
+ snapshot() {
22955
+ if (samples.length === 0) {
22956
+ return { p50: 0, p95: 0, p99: 0, count: 0, mean: 0 };
22957
+ }
22958
+ let sum = 0;
22959
+ for (const s2 of samples)
22960
+ sum += s2;
22961
+ return {
22962
+ p50: percentile(50),
22963
+ p95: percentile(95),
22964
+ p99: percentile(99),
22965
+ count: samples.length,
22966
+ mean: Math.round(sum / samples.length)
22967
+ };
22968
+ },
22969
+ get count() {
22970
+ return samples.length;
22971
+ }
22972
+ };
22973
+ }
22974
+ function createAnalyticsCollector(errorCapacity = 500) {
22975
+ const endpoints = new Map;
22976
+ const actors = new Map;
22977
+ const providers = new Map;
22978
+ const connectors = new Map;
22979
+ const errorBuffer = [];
22980
+ const histograms = {
22981
+ remember: createLatencyHistogram(),
22982
+ recall: createLatencyHistogram(),
22983
+ mutate: createLatencyHistogram(),
22984
+ jobs: createLatencyHistogram()
22985
+ };
22986
+ function classifyActor(path) {
22987
+ if (path.includes("/remember") || path.includes("/save")) {
22988
+ return "remembers";
22989
+ }
22990
+ if (path.includes("/recall") || path.includes("/search") || path.includes("/similar")) {
22991
+ return "recalls";
22992
+ }
22993
+ if (path.includes("/modify") || path.includes("/forget") || path.includes("/recover")) {
22994
+ return "mutations";
22995
+ }
22996
+ return "requests";
22997
+ }
22998
+ return {
22999
+ recordRequest(method, path, status, durationMs, actor) {
23000
+ const key = `${method} ${path}`;
23001
+ let ep = endpoints.get(key);
23002
+ if (!ep) {
23003
+ ep = { count: 0, errors: 0, totalLatencyMs: 0 };
23004
+ endpoints.set(key, ep);
23005
+ }
23006
+ ep.count++;
23007
+ ep.totalLatencyMs += durationMs;
23008
+ if (status >= 400)
23009
+ ep.errors++;
23010
+ if (actor) {
23011
+ let a2 = actors.get(actor);
23012
+ if (!a2) {
23013
+ a2 = { requests: 0, remembers: 0, recalls: 0, mutations: 0 };
23014
+ actors.set(actor, a2);
23015
+ }
23016
+ const field = classifyActor(path);
23017
+ if (field === "requests")
23018
+ a2.requests++;
23019
+ else
23020
+ a2[field]++;
23021
+ }
23022
+ },
23023
+ recordProvider(provider, durationMs, success) {
23024
+ let p2 = providers.get(provider);
23025
+ if (!p2) {
23026
+ p2 = { calls: 0, failures: 0, totalLatencyMs: 0 };
23027
+ providers.set(provider, p2);
23028
+ }
23029
+ p2.calls++;
23030
+ p2.totalLatencyMs += durationMs;
23031
+ if (!success)
23032
+ p2.failures++;
23033
+ },
23034
+ recordConnector(connectorId, event, count = 1) {
23035
+ let cs = connectors.get(connectorId);
23036
+ if (!cs) {
23037
+ cs = { syncs: 0, errors: 0, documentsProcessed: 0 };
23038
+ connectors.set(connectorId, cs);
23039
+ }
23040
+ if (event === "sync")
23041
+ cs.syncs += count;
23042
+ else if (event === "error")
23043
+ cs.errors += count;
23044
+ else
23045
+ cs.documentsProcessed += count;
23046
+ },
23047
+ recordError(entry) {
23048
+ if (errorBuffer.length >= errorCapacity) {
23049
+ errorBuffer.shift();
23050
+ }
23051
+ errorBuffer.push(entry);
23052
+ },
23053
+ recordLatency(operation, ms) {
23054
+ histograms[operation].record(ms);
23055
+ },
23056
+ getUsage() {
23057
+ return {
23058
+ endpoints: Object.fromEntries(endpoints),
23059
+ actors: Object.fromEntries(actors),
23060
+ providers: Object.fromEntries(providers),
23061
+ connectors: Object.fromEntries(connectors)
23062
+ };
23063
+ },
23064
+ getErrors(opts) {
23065
+ const limit = opts?.limit ?? 50;
23066
+ const stage = opts?.stage;
23067
+ const since = opts?.since;
23068
+ let filtered = errorBuffer;
23069
+ if (stage) {
23070
+ filtered = filtered.filter((e) => e.stage === stage);
23071
+ }
23072
+ if (since) {
23073
+ filtered = filtered.filter((e) => e.timestamp >= since);
23074
+ }
23075
+ return filtered.slice(-limit);
23076
+ },
23077
+ getErrorSummary() {
23078
+ const counts = {};
23079
+ for (const e of errorBuffer) {
23080
+ counts[e.code] = (counts[e.code] ?? 0) + 1;
23081
+ }
23082
+ return counts;
23083
+ },
23084
+ getLatency() {
23085
+ return {
23086
+ remember: histograms.remember.snapshot(),
23087
+ recall: histograms.recall.snapshot(),
23088
+ mutate: histograms.mutate.snapshot(),
23089
+ jobs: histograms.jobs.snapshot()
23090
+ };
23091
+ },
23092
+ reset() {
23093
+ endpoints.clear();
23094
+ actors.clear();
23095
+ providers.clear();
23096
+ connectors.clear();
23097
+ errorBuffer.length = 0;
23098
+ for (const key of Object.keys(histograms)) {
23099
+ histograms[key] = createLatencyHistogram();
23100
+ }
23101
+ }
23102
+ };
23103
+ }
23104
+
23105
+ // ../daemon/src/timeline.ts
23106
+ function historyToEvents(rows) {
23107
+ return rows.map((r2) => ({
23108
+ timestamp: r2.created_at,
23109
+ source: "history",
23110
+ event: r2.event,
23111
+ details: {
23112
+ changedBy: r2.changed_by,
23113
+ reason: r2.reason,
23114
+ hasOldContent: r2.old_content !== null,
23115
+ hasNewContent: r2.new_content !== null,
23116
+ ...r2.metadata ? tryParseJson(r2.metadata) : {}
23117
+ }
23118
+ }));
23119
+ }
23120
+ function jobToEvents(rows) {
23121
+ const events = [];
23122
+ for (const j2 of rows) {
23123
+ events.push({
23124
+ timestamp: j2.created_at,
23125
+ source: "job",
23126
+ event: `job:${j2.job_type}:created`,
23127
+ details: { jobId: j2.id, status: j2.status }
23128
+ });
23129
+ if (j2.leased_at) {
23130
+ events.push({
23131
+ timestamp: j2.leased_at,
23132
+ source: "job",
23133
+ event: `job:${j2.job_type}:leased`,
23134
+ details: { jobId: j2.id, attempt: j2.attempts }
23135
+ });
23136
+ }
23137
+ if (j2.completed_at) {
23138
+ events.push({
23139
+ timestamp: j2.completed_at,
23140
+ source: "job",
23141
+ event: `job:${j2.job_type}:completed`,
23142
+ details: { jobId: j2.id }
23143
+ });
23144
+ }
23145
+ if (j2.failed_at) {
23146
+ events.push({
23147
+ timestamp: j2.failed_at,
23148
+ source: "job",
23149
+ event: `job:${j2.job_type}:failed`,
23150
+ details: { jobId: j2.id, error: j2.error, attempt: j2.attempts }
23151
+ });
23152
+ }
23153
+ }
23154
+ return events;
23155
+ }
23156
+ function logToEvents(entries) {
23157
+ return entries.map((e) => ({
23158
+ timestamp: e.timestamp,
23159
+ source: "log",
23160
+ event: `log:${e.level}:${e.category}`,
23161
+ details: {
23162
+ message: e.message,
23163
+ ...e.data ?? {},
23164
+ ...e.duration !== undefined ? { durationMs: e.duration } : {}
23165
+ }
23166
+ }));
23167
+ }
23168
+ function errorToEvents(entries) {
23169
+ return entries.map((e) => ({
23170
+ timestamp: e.timestamp,
23171
+ source: "error",
23172
+ event: `error:${e.stage}:${e.code}`,
23173
+ details: {
23174
+ message: e.message,
23175
+ ...e.requestId ? { requestId: e.requestId } : {},
23176
+ ...e.memoryId ? { memoryId: e.memoryId } : {},
23177
+ ...e.actor ? { actor: e.actor } : {}
23178
+ }
23179
+ }));
23180
+ }
23181
+ function tryParseJson(s2) {
23182
+ try {
23183
+ const parsed = JSON.parse(s2);
23184
+ if (typeof parsed === "object" && parsed !== null)
23185
+ return parsed;
23186
+ } catch {}
23187
+ return {};
23188
+ }
23189
+ function detectEntityType(db, id) {
23190
+ const historyHit = db.prepare("SELECT 1 FROM memory_history WHERE memory_id = ? LIMIT 1").get(id);
23191
+ if (historyHit)
23192
+ return { type: "memory", memoryId: id };
23193
+ const memoryHit = db.prepare("SELECT 1 FROM memories WHERE id = ? LIMIT 1").get(id);
23194
+ if (memoryHit)
23195
+ return { type: "memory", memoryId: id };
23196
+ const jobHit = db.prepare("SELECT memory_id FROM memory_jobs WHERE id = ? LIMIT 1").get(id);
23197
+ if (jobHit)
23198
+ return { type: "memory", memoryId: jobHit.memory_id };
23199
+ return { type: "unknown" };
23200
+ }
23201
+ function buildTimeline(sources, entityId) {
23202
+ const { db, getRecentLogs, getRecentErrors } = sources;
23203
+ const detection = detectEntityType(db, entityId);
23204
+ const allEvents = [];
23205
+ if (detection.memoryId) {
23206
+ const historyRows = db.prepare(`SELECT memory_id, event, old_content, new_content,
23207
+ changed_by, reason, metadata, created_at
23208
+ FROM memory_history
23209
+ WHERE memory_id = ?
23210
+ ORDER BY created_at ASC`).all(detection.memoryId);
23211
+ allEvents.push(...historyToEvents(historyRows));
23212
+ const jobRows = db.prepare(`SELECT id, memory_id, job_type, status, attempts,
23213
+ error, created_at, updated_at, leased_at,
23214
+ completed_at, failed_at
23215
+ FROM memory_jobs
23216
+ WHERE memory_id = ?
23217
+ ORDER BY created_at ASC`).all(detection.memoryId);
23218
+ allEvents.push(...jobToEvents(jobRows));
23219
+ }
23220
+ const logs = getRecentLogs({ limit: 500 });
23221
+ const matchingLogs = logs.filter((l2) => {
23222
+ if (l2.data) {
23223
+ const vals = Object.values(l2.data);
23224
+ for (const v2 of vals) {
23225
+ if (typeof v2 === "string" && v2.includes(entityId))
23226
+ return true;
23227
+ }
23228
+ }
23229
+ return l2.message.includes(entityId);
23230
+ });
23231
+ allEvents.push(...logToEvents(matchingLogs));
23232
+ const errors2 = getRecentErrors({ limit: 500 });
23233
+ const matchingErrors = errors2.filter((e) => e.memoryId === entityId || e.requestId === entityId || e.message.includes(entityId));
23234
+ allEvents.push(...errorToEvents(matchingErrors));
23235
+ allEvents.sort((a2, b2) => a2.timestamp.localeCompare(b2.timestamp));
23236
+ return {
23237
+ entityType: detection.type,
23238
+ entityId,
23239
+ events: allEvents,
23240
+ generatedAt: new Date().toISOString()
23241
+ };
23242
+ }
22910
23243
  // ../daemon/src/auth/tokens.ts
22911
23244
  import { readFileSync as readFileSync6, writeFileSync as writeFileSync2, existsSync as existsSync8, mkdirSync as mkdirSync4 } from "fs";
22912
23245
  import { dirname as dirname5 } from "path";
@@ -22989,7 +23322,8 @@ var PERMISSION_MATRIX = {
22989
23322
  "admin",
22990
23323
  "documents",
22991
23324
  "connectors",
22992
- "diagnostics"
23325
+ "diagnostics",
23326
+ "analytics"
22993
23327
  ],
22994
23328
  operator: [
22995
23329
  "remember",
@@ -22999,7 +23333,8 @@ var PERMISSION_MATRIX = {
22999
23333
  "recover",
23000
23334
  "documents",
23001
23335
  "connectors",
23002
- "diagnostics"
23336
+ "diagnostics",
23337
+ "analytics"
23003
23338
  ],
23004
23339
  agent: ["remember", "recall", "modify", "forget", "recover", "documents"],
23005
23340
  readonly: ["recall"]
@@ -23871,6 +24206,7 @@ var SCRIPTS_DIR = join13(AGENTS_DIR3, "scripts");
23871
24206
  var PORT = parseInt(process.env.SIGNET_PORT || "3850", 10);
23872
24207
  var HOST = process.env.SIGNET_HOST || "localhost";
23873
24208
  var providerTracker = createProviderTracker();
24209
+ var analyticsCollector = createAnalyticsCollector();
23874
24210
  var repairLimiter = createRateLimiter();
23875
24211
  var authConfig = parseAuthConfig(undefined, AGENTS_DIR3);
23876
24212
  var authSecret = null;
@@ -24240,6 +24576,16 @@ app.use("*", async (c2, next) => {
24240
24576
  await next();
24241
24577
  const duration = Date.now() - start;
24242
24578
  logger.api.request(c2.req.method, c2.req.path, c2.res.status, duration);
24579
+ const actor = c2.req.header("x-signet-actor");
24580
+ analyticsCollector.recordRequest(c2.req.method, c2.req.path, c2.res.status, duration, actor ?? undefined);
24581
+ const p2 = c2.req.path;
24582
+ if (p2.includes("/remember") || p2.includes("/save")) {
24583
+ analyticsCollector.recordLatency("remember", duration);
24584
+ } else if (p2.includes("/recall") || p2.includes("/search") || p2.includes("/similar")) {
24585
+ analyticsCollector.recordLatency("recall", duration);
24586
+ } else if (p2.includes("/modify") || p2.includes("/forget") || p2.includes("/recover")) {
24587
+ analyticsCollector.recordLatency("mutate", duration);
24588
+ }
24243
24589
  });
24244
24590
  app.get("/health", (c2) => {
24245
24591
  return c2.json({
@@ -24345,6 +24691,15 @@ app.use("/api/diagnostics", async (c2, next) => {
24345
24691
  app.use("/api/diagnostics/*", async (c2, next) => {
24346
24692
  return requirePermission("diagnostics", authConfig)(c2, next);
24347
24693
  });
24694
+ app.use("/api/analytics", async (c2, next) => {
24695
+ return requirePermission("analytics", authConfig)(c2, next);
24696
+ });
24697
+ app.use("/api/analytics/*", async (c2, next) => {
24698
+ return requirePermission("analytics", authConfig)(c2, next);
24699
+ });
24700
+ app.use("/api/timeline/*", async (c2, next) => {
24701
+ return requirePermission("analytics", authConfig)(c2, next);
24702
+ });
24348
24703
  app.use("/api/repair/*", async (c2, next) => {
24349
24704
  return requirePermission("admin", authConfig)(c2, next);
24350
24705
  });
@@ -27393,6 +27748,69 @@ app.post("/api/repair/retention-sweep", (c2) => {
27393
27748
  message: "Use the maintenance worker for automated sweeps; manual sweep via this endpoint is not yet wired"
27394
27749
  }, 501);
27395
27750
  });
27751
+ app.get("/api/analytics/usage", (c2) => {
27752
+ return c2.json(analyticsCollector.getUsage());
27753
+ });
27754
+ app.get("/api/analytics/errors", (c2) => {
27755
+ const stage = c2.req.query("stage");
27756
+ const since = c2.req.query("since") ?? undefined;
27757
+ const limit = c2.req.query("limit") ? parseInt(c2.req.query("limit"), 10) : undefined;
27758
+ return c2.json({
27759
+ errors: analyticsCollector.getErrors({ stage, since, limit }),
27760
+ summary: analyticsCollector.getErrorSummary()
27761
+ });
27762
+ });
27763
+ app.get("/api/analytics/latency", (c2) => {
27764
+ return c2.json(analyticsCollector.getLatency());
27765
+ });
27766
+ app.get("/api/analytics/logs", (c2) => {
27767
+ const limit = parseInt(c2.req.query("limit") || "100", 10);
27768
+ const level = c2.req.query("level");
27769
+ const category = c2.req.query("category");
27770
+ const since = c2.req.query("since") ? new Date(c2.req.query("since")) : undefined;
27771
+ const logs = logger.getRecent({ limit, level, category, since });
27772
+ return c2.json({ logs, count: logs.length });
27773
+ });
27774
+ app.get("/api/analytics/memory-safety", (c2) => {
27775
+ const mutationHealth = getDbAccessor().withReadDb((db) => getDiagnostics(db, providerTracker));
27776
+ const recentMutationErrors = analyticsCollector.getErrors({
27777
+ stage: "mutation",
27778
+ limit: 50
27779
+ });
27780
+ return c2.json({
27781
+ mutation: mutationHealth.mutation,
27782
+ recentErrors: recentMutationErrors,
27783
+ errorSummary: analyticsCollector.getErrorSummary()
27784
+ });
27785
+ });
27786
+ app.get("/api/timeline/:id", (c2) => {
27787
+ const entityId = c2.req.param("id");
27788
+ const timeline = getDbAccessor().withReadDb((db) => buildTimeline({
27789
+ db,
27790
+ getRecentLogs: (opts) => logger.getRecent({ limit: opts.limit }),
27791
+ getRecentErrors: (opts) => analyticsCollector.getErrors({ limit: opts?.limit })
27792
+ }, entityId));
27793
+ return c2.json(timeline);
27794
+ });
27795
+ app.get("/api/timeline/:id/export", (c2) => {
27796
+ const entityId = c2.req.param("id");
27797
+ const timeline = getDbAccessor().withReadDb((db) => {
27798
+ const sources = {
27799
+ db,
27800
+ getRecentLogs: (opts) => logger.getRecent({ limit: opts.limit }),
27801
+ getRecentErrors: (opts) => analyticsCollector.getErrors({ limit: opts?.limit })
27802
+ };
27803
+ return buildTimeline(sources, entityId);
27804
+ });
27805
+ return c2.json({
27806
+ meta: {
27807
+ version: CURRENT_VERSION,
27808
+ exportedAt: new Date().toISOString(),
27809
+ entityId
27810
+ },
27811
+ timeline
27812
+ });
27813
+ });
27396
27814
  var dashboardPath = getDashboardPath();
27397
27815
  function setupStaticServing() {
27398
27816
  if (dashboardPath) {
@@ -28376,7 +28794,7 @@ async function main() {
28376
28794
  if (rl.admin)
28377
28795
  authAdminLimiter = new AuthRateLimiter(rl.admin.windowMs, rl.admin.max);
28378
28796
  if (memoryCfg.pipelineV2.enabled || memoryCfg.pipelineV2.shadowMode) {
28379
- startPipeline(getDbAccessor(), memoryCfg.pipelineV2, memoryCfg.embedding, fetchEmbedding, memoryCfg.search, providerTracker);
28797
+ startPipeline(getDbAccessor(), memoryCfg.pipelineV2, memoryCfg.embedding, fetchEmbedding, memoryCfg.search, providerTracker, analyticsCollector);
28380
28798
  } else {
28381
28799
  startRetentionWorker(getDbAccessor(), DEFAULT_RETENTION);
28382
28800
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signetai",
3
- "version": "0.1.68",
3
+ "version": "0.1.69",
4
4
  "description": "Portable AI agent identity - own your agent, bring it anywhere",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/AGb2L2ZT.js";export{o as load_css,r as start};