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.
- package/dashboard/_app/immutable/chunks/{AGb2L2ZT.js → BzyW0-ih.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.Cu_eXv80.js → app.CuBZT9ME.js} +2 -2
- package/dashboard/_app/immutable/entry/start.ck8DWKuj.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.RXxywdn_.js → 1.hQijoxzB.js} +1 -1
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/daemon.js +425 -7
- package/package.json +1 -1
- package/dashboard/_app/immutable/entry/start.CpyzCF5b.js +0 -1
|
@@ -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"&<(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"&<(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.
|
|
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.
|
|
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/
|
|
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":"
|
|
1
|
+
{"version":"1771690878645"}
|
package/dashboard/index.html
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
document.documentElement.dataset.theme = t;
|
|
18
18
|
})();
|
|
19
19
|
</script>
|
|
20
|
-
<link href="/_app/immutable/entry/start.
|
|
21
|
-
<link href="/_app/immutable/chunks/
|
|
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.
|
|
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
|
-
|
|
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.
|
|
43
|
-
import("/_app/immutable/entry/app.
|
|
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
|
-
|
|
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 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/AGb2L2ZT.js";export{o as load_css,r as start};
|