feat: Phase 1 — extract the client (web SPA + desktop) to dtoro/oikos-web
Some checks failed
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled

Problem: the hexagonal refactor churns the backend tree for nine more
phases; the UI delivery stack (web/ SPA, cmd/desktop Wails wrapper,
compose/web image) must move to its own repo first so doc/layout
rewrites land once on a backend-only tree.

Change:
- New repo git.hubris.network/dtoro/oikos-web (v0.33.0): web/, desktop/
  (updateURL repointed to oikos-web releases), compose/, own CI (web +
  desktop jobs), own deploy script (CI-green gate, TOCTOU guard,
  version-tagged images, prune-to-3), own webhook receiver on :9798 +
  launchd unit, own compose project publishing the same 8091:80.
- Cutover executed on mac-mini in order: oikos stack's web service
  stopped+removed, oikos-web project brought up on 8091; outer Caddy
  untouched (targets the published port) — serving + Authentik flow +
  /wails 404 quirk verified post-cutover.
- Stripped from oikos: web/, cmd/desktop/, compose/web/, desktop CI
  workflow, ci.yml web job, Makefile ui/desktop/desktop-package/install
  targets, the compose web service, oikos-web from deploy.sh's fallback
  prune list; wails + go-keyring dropped from go.mod, vendor synced.
- README / CONTRIBUTING / AGENTS.md / .agents dev+operations docs now
  point at the new repo; mbse + mascot design docs carry a path note.

Risk: production SPA serving depends on the new pipeline now; rollback
is versioned-image re-up of the old web service from a pre-split
checkout (port 8091). Desktop builds installed before the split still
check dtoro/oikos releases — one manual reinstall, noted in the
oikos-web release notes.

Verification: go vet, make test (race), make generate-check, golangci
(no new findings; baseline down 400→365); post-cutover curls —
localhost:8091 200, /wails/runtime.js 404, outer Caddy 302 Authentik.
This commit is contained in:
2026-08-15 22:27:52 +02:00
parent e074f04bdf
commit d4d99a7473
18854 changed files with 2615729 additions and 173735 deletions

View File

@@ -1,4 +0,0 @@
dist/
node_modules/
build/
package-lock.json

View File

@@ -1,10 +0,0 @@
{
"useTabs": false,
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte"],
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
}

View File

@@ -1,17 +0,0 @@
{
"$schema": "https://shadcn-svelte.com/schema.json",
"style": "vega",
"tailwind": {
"css": "src/app.css",
"baseColor": "zinc"
},
"aliases": {
"components": "$lib/components",
"utils": "$lib/utils",
"ui": "$lib/components/ui",
"hooks": "$lib/hooks",
"lib": "$lib"
},
"typescript": true,
"registry": "https://shadcn-svelte.com/registry"
}

3
web/dist/assets/AppStore-4AihCKA5.js vendored Normal file
View File

@@ -0,0 +1,3 @@
import{a3 as h,U as _,a2 as g,p as de,s as l,c as s,R as f,a as p,b as ie,m as le,f as v,x as pe,cz as U,i as ce,a7 as ve,g as a,t as $,e as m,u as y,a8 as j,C as H,cA as ue,cB as me,z as xe,cC as fe}from"./index-B5w8gw75.js";var he=new Set(["$$slots","$$events","$$legacy"]);function _e(o,n){let d=g(n,he);const i=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335"}],["path",{d:"m9 11 3 3L22 4"}]];h(o,_({name:"circle-check-big"},()=>d,{get iconNode(){return i}}))}var ge=new Set(["$$slots","$$events","$$legacy"]);function be(o,n){let d=g(n,ge);const i=[["path",{d:"M12 15V3"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}],["path",{d:"m7 10 5 5 5-5"}]];h(o,_({name:"download"},()=>d,{get iconNode(){return i}}))}var $e=new Set(["$$slots","$$events","$$legacy"]);function ye(o,n){let d=g(n,$e);const i=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}]];h(o,_({name:"shield"},()=>d,{get iconNode(){return i}}))}var ke=new Set(["$$slots","$$events","$$legacy"]);function we(o,n){let d=g(n,ke);const i=[["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];h(o,_({name:"trash"},()=>d,{get iconNode(){return i}}))}var Ae=v('<p class="text-sm text-muted-foreground">No apps available yet.</p>'),ze=v('<span class="shrink-0 text-[10px] text-muted-foreground"> </span>'),Ne=v('<button type="button" class="flex items-center gap-1.5 rounded-md border px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-destructive/10 hover:text-destructive hover:border-destructive/50"><!> Uninstall</button>'),Se=v('<button type="button" class="flex items-center gap-1.5 rounded-md bg-primary px-2.5 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90"><!> Install</button>'),Ie=v('<li class="flex items-start gap-3 rounded-lg border p-3"><div class="flex size-10 shrink-0 items-center justify-center rounded-md border bg-muted/40"><!></div> <div class="min-w-0 flex-1"><div class="flex items-center gap-2"><h2 class="truncate text-sm font-medium"> </h2> <span class="shrink-0 text-[10px] font-mono text-muted-foreground"> </span> <!></div> <p class="mt-0.5 line-clamp-2 text-xs text-muted-foreground"> </p> <div class="mt-1.5 flex items-center gap-1 text-[10px] text-muted-foreground"><!> <span><!></span></div></div> <div class="shrink-0"><!></div></li>'),Me=v('<ul class="flex flex-col gap-3"></ul>'),Ce=v(`<div class="flex h-full min-h-0 flex-col"><header class="shrink-0 border-b px-4 py-3"><h1 class="text-base font-semibold">App Store</h1> <p class="mt-0.5 text-xs text-muted-foreground">Installable apps. Local bundles for now — a remote catalog + sandboxing is Phase 4.</p></header> <div class="min-h-0 flex-1 overflow-auto p-4"><!> <div class="mt-6 rounded-md border border-dashed p-3 text-xs text-muted-foreground"><p class="flex items-center gap-1.5"><!> Installed apps appear on the desktop immediately. Uninstalling closes any open window for that
app.</p></div></div></div>`);function Le(o,n){de(n,!0);const d=()=>xe(fe,"$installedAppIds",i),[i,O]=le(),T=y(()=>new Set(d()));var k=Ce(),q=l(s(k),2),w=s(q);{var B=u=>{var x=Ae();p(u,x)},D=u=>{var x=Me();ce(x,21,()=>U,b=>b.manifest.id,(b,A)=>{const r=y(()=>a(A).manifest),E=y(()=>a(T).has(a(r).id));var z=Ie(),N=s(z),F=s(N);ve(F,()=>a(A).icon,(e,t)=>{t(e,{class:"size-5"})});var S=l(N,2),I=s(S),M=s(I),J=s(M),C=l(M,2),K=s(C),Q=l(C,2);{var W=e=>{var t=ze(),c=s(t);$(()=>m(c,`by ${a(r).author??""}`)),p(e,t)};f(Q,e=>{a(r).author&&e(W)})}var V=l(I,2),X=s(V),Y=l(V,2),L=s(Y);ye(L,{class:"size-3"});var Z=l(L,2),ee=s(Z);{var te=e=>{var t=j();$(c=>m(t,c),[()=>a(r).permissions.join(", ")]),p(e,t)},se=e=>{var t=j(`no permissions
requested`);p(e,t)};f(ee,e=>{a(r).permissions.length?e(te):e(se,-1)})}var ae=l(S,2),re=s(ae);{var oe=e=>{var t=Ne(),c=s(t);we(c,{class:"size-3.5"}),H("click",t,()=>ue(a(r).id)),p(e,t)},ne=e=>{var t=Se(),c=s(t);be(c,{class:"size-3.5"}),H("click",t,()=>me(a(r).id)),p(e,t)};f(re,e=>{a(E)?e(oe):e(ne,-1)})}$(()=>{m(J,a(r).title),m(K,`v${a(r).version??""}`),m(X,a(r).description)}),p(b,z)}),p(u,x)};f(w,u=>{U.length===0?u(B):u(D,-1)})}var G=l(w,2),P=s(G),R=s(P);_e(R,{class:"size-3.5"}),p(o,k),ie(),O()}pe(["click"]);export{Le as default};

2
web/dist/assets/DataTable-B-TAV_HV.js vendored Normal file

File diff suppressed because one or more lines are too long

6
web/dist/assets/Knowledge-D0UZIpsu.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
web/dist/assets/Learning-C0EP82zq.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.bubble-marquee.svelte-zc9y12{animation:svelte-zc9y12-bubble-marquee var(--marquee-duration, 4s) ease-in-out infinite}@keyframes svelte-zc9y12-bubble-marquee{0%,12%{transform:translate(0)}50%,62%{transform:translate(var(--marquee-distance, 0px))}to{transform:translate(0)}}.bubble-pop.svelte-zc9y12{animation:svelte-zc9y12-bubble-pop .34s cubic-bezier(.34,1.56,.64,1) both;transform-origin:bottom center}@keyframes svelte-zc9y12-bubble-pop{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.1);opacity:1}75%{transform:scale(.97)}to{transform:scale(1)}}.bubble-shake.svelte-zc9y12{animation:svelte-zc9y12-bubble-pop .34s cubic-bezier(.34,1.56,.64,1) both,svelte-zc9y12-bubble-shake .38s .36s ease-in-out}@keyframes svelte-zc9y12-bubble-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.bubble-cursor.svelte-zc9y12{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:text-bottom;background:currentColor;animation:svelte-zc9y12-bubble-caret .75s steps(1) infinite}@keyframes svelte-zc9y12-bubble-caret{50%{opacity:0}}

File diff suppressed because one or more lines are too long

2
web/dist/assets/Notes-zxrrML9t.js vendored Normal file
View File

@@ -0,0 +1,2 @@
import{W as T,D as s,af as A,R as I,t as D,C as N,cy as j,g as o,a as f,b as z,p as L,y as m,s as r,f as R,c as a,x as W,e as q,a8 as x}from"./index-B5w8gw75.js";var B=R(`<div class="flex h-full min-h-0 flex-col gap-2 p-4"><div class="flex shrink-0 items-center justify-between"><h2 class="text-sm font-medium">Notes</h2> <span class="text-xs text-muted-foreground"><!></span></div> <textarea placeholder="Type here. Auto-saves 2s after you stop, or Cmd/Ctrl+S." class="min-h-0 flex-1 resize-none rounded-md border bg-background p-3 font-mono text-sm leading-relaxed focus-visible:outline-2 focus-visible:outline-ring"></textarea> <p class="shrink-0 text-xs text-muted-foreground">A demo installable app — uninstall it from the App Store to remove its icon and window. Its
notes persist in localStorage under <code class="font-mono"> </code>.</p></div>`);function F(g,u){L(u,!0);let n=T(u,"storageKey",3,"oikos-app-notes"),t=m(""),l=m(!1);function y(){return typeof localStorage>"u"?"":localStorage.getItem(n())??""}function c(){typeof localStorage>"u"||(localStorage.setItem(n(),o(t)),s(l,!0),setTimeout(()=>s(l,!1),1500))}function h(e){(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="s"&&(e.preventDefault(),c())}s(t,y(),!0),A(()=>{if(!o(t))return;const e=setTimeout(()=>c(),2e3);return()=>clearTimeout(e)});var p=B(),v=a(p),b=r(a(v),2),_=a(b);{var k=e=>{var d=x("saved");f(e,d)},w=e=>{var d=x("unsaved");f(e,d)};I(_,e=>{o(l)?e(k):e(w,-1)})}var i=r(v,2),S=r(i,2),K=r(a(S)),C=a(K);D(()=>q(C,n())),N("keydown",i,h),j(i,()=>o(t),e=>s(t,e)),f(g,p),z()}W(["keydown"]);export{F as default};

1
web/dist/assets/Ops-DAOK5ZEQ.js vendored Normal file

File diff suppressed because one or more lines are too long

1
web/dist/assets/Overview-C_9Ji_NC.js vendored Normal file
View File

@@ -0,0 +1 @@
import{p as z,s as m,t as E,a as v,b as N,c as l,f as b,d as C,g as t,e as x,u as f,h as W,o as j,i as q,B as K,j as O,k as V,l as $,m as G,n as H,q as h,r as T,v as J,w as Q,T as U,F as S,x as X,y as Y,z as Z,A as ee,C as te,D as se,E as ae}from"./index-B5w8gw75.js";import{D as re}from"./DataTable-B-TAV_HV.js";import{P as oe}from"./plus-B9zN-7mU.js";import"./clone-bSRBQ4eT.js";import"./StatusBadgeRenderer-BEdJTFrn.js";import"./select-trigger-BFw7c3mx.js";import"./hidden-input-CbX2doyK.js";import"./on-mount-effect.svelte-Lpx0iWhb.js";var ne=b('<span class="flex items-center gap-1.5 text-xs font-medium text-muted-foreground"><span></span> </span>');function le(g,d){z(d,!0);const r=f(()=>W(d.row));var u=ne(),c=l(u),o=m(c);E(()=>{C(c,1,`size-2 rounded-full ${t(r).dot??""} ${t(r).pulse?"animate-pulse":""}`),x(o,` ${t(r).label??""}`)}),v(g,u),N()}var ie=b('<button type="button"> <span class="ml-1 opacity-60"> </span></button>'),de=b("<!> New task",1),ue=b('<div class="relative flex h-full flex-col gap-3 overflow-hidden p-2"><div class="relative z-10 flex flex-wrap items-center gap-1.5"><!> <div class="flex-1"></div> <!></div> <div class="relative z-10 min-h-0 flex-1 overflow-hidden rounded-xl border bg-card/70 backdrop-blur"><!></div></div>');function xe(g,d){z(d,!0);const r=()=>Z(ee,"$sessions",u),[u,c]=G();let o=Y("all");const D=f(()=>{const e={all:r().length,running:0,input:0,done:0,failed:0};for(const s of r())e[h(s)]++;return e}),I=f(()=>t(o)==="all"?r():r().filter(e=>h(e)===t(o)));function L(e){H(e.id,$(e))}j(()=>{T();const e=J();let s=0,a=null;const n=Q.subscribe(i=>{if(i.length===0)return;const p=i[0].id;if(p<=s)return;const F=i.some(w=>w.id>s&&U.has(w.type));s=p,F&&(a&&clearTimeout(a),a=setTimeout(()=>T(),400))});return()=>{n(),e()}});const M=[{key:"_status",header:"Status",render:le,sortable:!0,accessor:e=>h(e),width:"140px"},{key:"_heading",header:"Task",sortable:!0,accessor:$,truncate:!0},{key:"summary",header:"Summary",accessor:e=>e.summary||"—",truncate:!0,headerClass:"hidden md:table-cell",class:"hidden md:table-cell"},{key:"last_active_at",header:"Last active",render:"relative-time",sortable:!0,width:"112px",align:"right"}],P=f(()=>{var e;return t(o)==="all"?"No tasks yet. Start one and Nomos will plan it, execute it, and report the outcome.":`No ${(e=S.find(s=>s.id===t(o)))==null?void 0:e.label.toLowerCase()} tasks.`});var _=ue(),k=l(_),y=l(k);q(y,17,()=>S,ae,(e,s)=>{var a=ie(),n=l(a),i=m(n),p=l(i);E(()=>{C(a,1,`border px-2.5 py-1 text-xs transition-colors ${t(o)===t(s).id?"border-foreground bg-foreground text-background":"border-border text-muted-foreground hover:border-foreground hover:text-foreground"}`),x(n,`${t(s).label??""} `),x(p,t(D)[t(s).id]??0)}),te("click",a,()=>se(o,t(s).id,!0)),v(e,a)});var R=m(y,4);K(R,{size:"sm",class:"gap-1.5",get onclick(){return V},children:(e,s)=>{var a=de(),n=O(a);oe(n,{class:"size-4"}),v(e,a)},$$slots:{default:!0}});var A=m(k,2),B=l(A);re(B,{get columns(){return M},get data(){return t(I)},get emptyMessage(){return t(P)},bordered:!1,onRowClick:L}),v(g,_),N(),c()}X(["click"]);export{xe as default};

1
web/dist/assets/Settings-DIFH4bBX.js vendored Normal file

File diff suppressed because one or more lines are too long

1
web/dist/assets/Signals-C_6d4rqi.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{a3 as M,U as N,a2 as z,x as D,W as m,s as A,R as S,t as w,e as x,C as L,a as u,c as p,Q as B,j as H,f as k,aM as P,p as R,aI as Q,ac as j,d as C,b as E,g,u as h,aL as y,ab as T,a8 as U}from"./index-B5w8gw75.js";var V=new Set(["$$slots","$$events","$$legacy"]);function W(s,e){let r=z(e,V);const t=[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]];M(s,N({name:"arrow-down"},()=>r,{get iconNode(){return t}}))}var q=new Set(["$$slots","$$events","$$legacy"]);function F(s,e){let r=z(e,q);const t=[["path",{d:"m21 16-4 4-4-4"}],["path",{d:"M17 20V4"}],["path",{d:"m3 8 4-4 4 4"}],["path",{d:"M7 4v16"}]];M(s,N({name:"arrow-up-down"},()=>r,{get iconNode(){return t}}))}var G=k('<button type="button" class="flex items-center gap-1 hover:text-foreground"> <!></button>');function Y(s,e){let r=m(e,"sorted",3,!1),t=m(e,"direction",3,"asc");var n=G(),d=p(n),o=A(d);{var f=l=>{var a=B(),i=H(a);{var _=c=>{P(c,{class:"size-3"})},b=c=>{W(c,{class:"size-3"})};S(i,c=>{t()==="asc"?c(_):c(b,-1)})}u(l,a)},v=l=>{F(l,{class:"size-3 text-muted-foreground/50"})};S(o,l=>{r()?l(f):l(v,-1)})}w(()=>x(d,`${e.label??""} `)),L("click",n,function(...l){var a;(a=e.onclick)==null||a.apply(this,l)}),u(s,n)}D(["click"]);var J=k("<tr><td> </td></tr>");function Z(s,e){R(e,!0);let r=m(e,"message",3,"No items."),t=m(e,"colspan",3,999);var n=J(),d=p(n),o=p(d);w(f=>{j(d,"colspan",t()),C(d,1,f),x(o,r())},[()=>Q(["py-8 text-center text-muted-foreground",e.class].filter(Boolean).join(" "))]),u(s,n),E()}var K=k('<span class="flex items-center gap-1.5 text-xs"><span></span> <span class="text-muted-foreground"> </span></span>'),O=k('<span class="text-xs text-muted-foreground">—</span>');function $(s,e){R(e,!0);const r={healthy:"bg-success",degraded:"bg-warning",down:"bg-destructive",stale:"bg-warning/50",unknown:"bg-muted-foreground/40"},t=h(()=>e.row.health),n=h(()=>e.row.last_check_at),d=h(()=>e.row.health?e.row.health==="stale"?`stale — last checked ${y(e.row.last_check_at)}`:`${e.row.health} — checked ${y(e.row.last_check_at)}`:"not monitored");var o=B(),f=H(o);{var v=a=>{var i=K(),_=p(i),b=A(_,2),c=p(b);w(I=>{j(i,"title",g(d)),C(_,1,`size-2 shrink-0 rounded-full ${r[e.row.health??""]??""??""}`),x(c,I)},[()=>y(g(n))]),u(a,i)},l=a=>{var i=O();u(a,i)};S(f,a=>{g(t)?a(v):a(l,-1)})}u(s,o),E()}function ee(s,e){let r=m(e,"kind",3,"default");const t=h(()=>String(e.value??"")),n={risk:{destructive:"destructive",config_mutation:"secondary",default:"default"},severity:{critical:"destructive",warning:"secondary",info:"default",default:"default"},execution:{failed:"destructive",denied:"destructive",revoked:"destructive",cancelled:"destructive",completed:"default",running:"secondary",approved:"secondary",default:"outline"},state:{active:"default",healthy:"default",default:"outline"},type:{runbook:"secondary",investigation:"default",default:"outline"},default:{default:"default"}},d=h(()=>{const o=n[r()]??n.default;return o[g(t)]??o.default});T(s,{get variant(){return g(d)},children:(o,f)=>{var v=U();w(()=>x(v,g(t))),u(o,v)},$$slots:{default:!0}})}export{Z as E,$ as H,Y as S,ee as a};

1
web/dist/assets/clone-bSRBQ4eT.js vendored Normal file
View File

@@ -0,0 +1 @@
import{cu as g,cv as m,cw as M}from"./index-B5w8gw75.js";const O=[];function J(t,r=!1,f=!1){return i(t,new Map,"",O,null,f)}function i(t,r,f,o,e=null,c=!1){if(typeof t=="object"&&t!==null){var w=r.get(t);if(w!==void 0)return w;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(g(t)){var n=Array(t.length);r.set(t,n),e!==null&&r.set(e,n);for(var s=0;s<t.length;s+=1){var b=t[s];s in t&&(n[s]=i(b,r,f,o,null,c))}return n}if(m(t)===M){n={},r.set(t,n),e!==null&&r.set(e,n);for(var S of Object.keys(t))n[S]=i(t[S],r,f,o,null,c);return n}if(t instanceof Date)return structuredClone(t);if(typeof t.toJSON=="function"&&!c)return i(t.toJSON(),r,f,o,t)}if(t instanceof EventTarget)return t;try{return structuredClone(t)}catch{return t}}export{J as s};

View File

@@ -0,0 +1 @@
import{cx as m,p as g,W as _,Q as b,j as x,R as y,g as r,a as o,b as w,u as S,a1 as P,$ as n,cy as k,a2 as H,f as W}from"./index-B5w8gw75.js";const v={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",transform:"translateX(-100%)"};m(v);var j=new Set(["$$slots","$$events","$$legacy","value"]),p=W("<input/>");function Q(l,a){g(a,!0);let i=_(a,"value",15),u=H(a,j);const s=S(()=>P(u,{"aria-hidden":"true",tabindex:-1,style:{...v,position:"absolute",top:"0",left:"0"}}));var d=b(),c=x(d);{var f=e=>{var t=p();n(t,()=>({...r(s),value:i()}),void 0,void 0,void 0,void 0,!0),o(e,t)},h=e=>{var t=p();n(t,()=>({...r(s)}),void 0,void 0,void 0,void 0,!0),k(t,i),o(e,t)};y(c,e=>{r(s).type==="checkbox"?e(f):e(h,-1)})}o(l,d),w()}export{Q as H};

104
web/dist/assets/index-B5w8gw75.js vendored Normal file

File diff suppressed because one or more lines are too long

1
web/dist/assets/index-BrgfNNHo.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{af as t,ag as a}from"./index-B5w8gw75.js";function c(n){t(()=>a(()=>n()))}export{c as o};

1
web/dist/assets/plus-B9zN-7mU.js vendored Normal file
View File

@@ -0,0 +1 @@
import{a3 as a,U as p,a2 as r}from"./index-B5w8gw75.js";var n=new Set(["$$slots","$$events","$$legacy"]);function d(e,s){let o=r(s,n);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];a(e,p({name:"plus"},()=>o,{get iconNode(){return t}}))}export{d as P};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[data-select-viewport],[data-combobox-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-combobox-viewport]::-webkit-scrollbar{display:none!important}[data-select-viewport]::-webkit-scrollbar{display:none!important}

1
web/dist/assets/sparkles-DGJxKTzu.js vendored Normal file
View File

@@ -0,0 +1 @@
import{a3 as t,U as l,a2 as o}from"./index-B5w8gw75.js";var p=new Set(["$$slots","$$events","$$legacy"]);function n(a,e){let s=o(e,p);const r=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}],["path",{d:"M20 2v4"}],["path",{d:"M22 4h-4"}],["circle",{cx:"4",cy:"20",r:"2"}]];t(a,l({name:"sparkles"},()=>s,{get iconNode(){return r}}))}export{n as S};

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 666 B

After

Width:  |  Height:  |  Size: 666 B

View File

@@ -8,6 +8,8 @@
<link rel="apple-touch-icon" href="apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="192x192" href="android-chrome-192.png" />
<link rel="icon" type="image/png" sizes="512x512" href="android-chrome-512.png" />
<script type="module" crossorigin src="/assets/index-B5w8gw75.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-BrgfNNHo.css">
</head>
<body>
<div id="app"></div>
@@ -26,6 +28,5 @@
<script>
window.__OIKOS_CONFIG__ = {}
</script>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

View File

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 343 B

View File

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 167 B

View File

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 132 B

View File

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 112 B

View File

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 416 B

View File

Before

Width:  |  Height:  |  Size: 368 B

After

Width:  |  Height:  |  Size: 368 B

View File

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 335 B

View File

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 382 B

View File

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 295 B

View File

Before

Width:  |  Height:  |  Size: 330 B

After

Width:  |  Height:  |  Size: 330 B

View File

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 379 B

View File

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 365 B

View File

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 361 B

View File

Before

Width:  |  Height:  |  Size: 346 B

After

Width:  |  Height:  |  Size: 346 B

View File

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 331 B

View File

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 375 B

View File

Before

Width:  |  Height:  |  Size: 390 B

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -1,39 +0,0 @@
import js from '@eslint/js'
import ts from 'typescript-eslint'
import svelte from 'eslint-plugin-svelte'
import globals from 'globals'
export default ts.config(
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs['flat/recommended'],
{
files: ['**/*.{ts,js,svelte}'],
languageOptions: {
globals: {
...globals.browser,
...globals.node
}
}
},
{
files: ['**/*.svelte'],
languageOptions: {
parserOptions: {
parser: ts.parser
}
}
},
{
ignores: ['dist/', 'node_modules/', 'build/', '*.config.{ts,js}']
},
{
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', varsIgnorePattern: '^_' }
]
}
}
)

1
web/node_modules/.bin/acorn generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../acorn/bin/acorn

1
web/node_modules/.bin/cssesc generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../cssesc/bin/cssesc

1
web/node_modules/.bin/esbuild generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../esbuild/bin/esbuild

1
web/node_modules/.bin/eslint generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../eslint/bin/eslint.js

1
web/node_modules/.bin/jiti generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../jiti/lib/jiti-cli.mjs

1
web/node_modules/.bin/js-yaml generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../js-yaml/bin/js-yaml.js

1
web/node_modules/.bin/lz-string generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../lz-string/bin/bin.js

1
web/node_modules/.bin/marked generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../marked/bin/marked.js

1
web/node_modules/.bin/nanoid generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../nanoid/bin/nanoid.cjs

1
web/node_modules/.bin/node-which generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../which/bin/node-which

1
web/node_modules/.bin/prettier generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../prettier/bin/prettier.cjs

1
web/node_modules/.bin/rollup generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../rollup/dist/bin/rollup

1
web/node_modules/.bin/semver generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../semver/bin/semver.js

1
web/node_modules/.bin/svelte-check generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../svelte-check/bin/svelte-check

1
web/node_modules/.bin/tldts generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../tldts/bin/cli.js

1
web/node_modules/.bin/tsc generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../typescript/bin/tsc

1
web/node_modules/.bin/tsserver generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../typescript/bin/tsserver

1
web/node_modules/.bin/vite generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../vite/bin/vite.js

1
web/node_modules/.bin/vite-node generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../vite-node/vite-node.mjs

1
web/node_modules/.bin/vitest generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../vitest/vitest.mjs

1
web/node_modules/.bin/why-is-node-running generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../why-is-node-running/cli.js

1
web/node_modules/.bin/yaml generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../yaml/bin.mjs

4445
web/node_modules/.package-lock.json generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
declare namespace svelteNative.JSX {
// Every namespace eligible for use needs to implement the following two functions
function mapElementTag(
tag: string
): any;
function createElement<Elements extends IntrinsicElements, Key extends keyof Elements>(
element: Key | undefined | null, attrs: Elements[Key]
): any;
function createElement<Elements extends IntrinsicElements, Key extends keyof Elements, T>(
element: Key | undefined | null, attrEnhancers: T, attrs: Elements[Key] & T
): any;
/* svelte specific */
interface ElementClass {
$$prop_def: any;
}
interface ElementAttributesProperty {
$$prop_def: any; // specify the property name to use
}
// Add empty IntrinsicAttributes to prevent fallback to the one in the JSX namespace
interface IntrinsicAttributes {
}
interface IntrinsicElements {
[name: string]: { [name: string]: any };
}
}

View File

@@ -0,0 +1,290 @@
// Whenever a ambient declaration changes, its number should be increased
// This way, we avoid the situation where multiple ambient versions of svelte2tsx
// are loaded and their declarations conflict each other
// See https://github.com/sveltejs/language-tools/issues/1059 for an example bug that stems from it
// If you change anything in this file, think about whether or not it should be backported to svelte-shims.d.ts
type AConstructorTypeOf<T, U extends any[] = any[]> = new (...args: U) => T;
/** @internal PRIVATE API, DO NOT USE */
type SvelteActionReturnType = {
update?: (args: any) => void,
destroy?: () => void
} | void
/** @internal PRIVATE API, DO NOT USE */
type SvelteTransitionConfig = {
delay?: number,
duration?: number,
easing?: (t: number) => number,
css?: (t: number, u: number) => string,
tick?: (t: number, u: number) => void
}
/** @internal PRIVATE API, DO NOT USE */
type SvelteTransitionReturnType = SvelteTransitionConfig | (() => SvelteTransitionConfig)
/** @internal PRIVATE API, DO NOT USE */
type SvelteAnimationReturnType = {
delay?: number,
duration?: number,
easing?: (t: number) => number,
css?: (t: number, u: number) => string,
tick?: (t: number, u: number) => void
}
/** @internal PRIVATE API, DO NOT USE */
type SvelteWithOptionalProps<Props, Keys extends keyof Props> = Omit<Props, Keys> & Partial<Pick<Props, Keys>>;
/** @internal PRIVATE API, DO NOT USE */
type SvelteAllProps = { [index: string]: any }
/** @internal PRIVATE API, DO NOT USE */
type SveltePropsAnyFallback<Props> = {[K in keyof Props]: Props[K] extends never ? never : Props[K] extends undefined ? any : Props[K]}
/** @internal PRIVATE API, DO NOT USE */
type SvelteSlotsAnyFallback<Slots> = {[K in keyof Slots]: {[S in keyof Slots[K]]: Slots[K][S] extends undefined ? any : Slots[K][S]}}
/** @internal PRIVATE API, DO NOT USE */
type SvelteRestProps = { [index: string]: any }
/** @internal PRIVATE API, DO NOT USE */
type SvelteSlots = { [index: string]: any }
/** @internal PRIVATE API, DO NOT USE */
type SvelteStore<T> = { subscribe: (run: (value: T) => any, invalidate?: any) => any }
// Forces TypeScript to look into the type which results in a better representation of it
// which helps for error messages and is necessary for d.ts file transformation so that
// no ambient type references are left in the output
/** @internal PRIVATE API, DO NOT USE */
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
/** @internal PRIVATE API, DO NOT USE */
type KeysMatching<Obj, V> = {[K in keyof Obj]-?: Obj[K] extends V ? K : never}[keyof Obj]
/** @internal PRIVATE API, DO NOT USE */
declare type __sveltets_2_CustomEvents<T> = {[K in KeysMatching<T, CustomEvent>]: T[K] extends CustomEvent ? T[K]['detail']: T[K]}
declare function __sveltets_2_ensureRightProps<Props>(props: Props): {};
declare function __sveltets_2_instanceOf<T = any>(type: AConstructorTypeOf<T>): T;
declare function __sveltets_2_allPropsType(): SvelteAllProps
declare function __sveltets_2_restPropsType(): SvelteRestProps
declare function __sveltets_2_slotsType<Slots, Key extends keyof Slots>(slots: Slots): Record<Key, boolean>;
// Overload of the following two functions is necessary.
// An empty array of optionalProps makes OptionalProps type any, which means we lose the prop typing.
// optionalProps need to be first or its type cannot be infered correctly.
declare function __sveltets_2_partial<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string>(
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Expand<SveltePropsAnyFallback<Props>>, events: Events, slots: Expand<SvelteSlotsAnyFallback<Slots>>, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_partial<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string, OptionalProps extends keyof Props = any>(
optionalProps: OptionalProps[],
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Expand<SvelteWithOptionalProps<SveltePropsAnyFallback<Props>, OptionalProps>>, events: Events, slots: Expand<SvelteSlotsAnyFallback<Slots>>, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_partial_with_any<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string>(
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Expand<SveltePropsAnyFallback<Props> & SvelteAllProps>, events: Events, slots: Expand<SvelteSlotsAnyFallback<Slots>>, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_partial_with_any<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string, OptionalProps extends keyof Props = any>(
optionalProps: OptionalProps[],
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Expand<SvelteWithOptionalProps<SveltePropsAnyFallback<Props>, OptionalProps> & SvelteAllProps>, events: Events, slots: Expand<SvelteSlotsAnyFallback<Slots>>, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_with_any<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string>(
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Expand<Props & SvelteAllProps>, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_with_any_event<Props = {}, Events = {}, Slots = {}, Exports = {}, Bindings = string>(
render: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }
): {props: Props, events: Events & {[evt: string]: CustomEvent<any>;}, slots: Slots, exports?: Exports, bindings?: Bindings }
declare function __sveltets_2_store_get<T = any>(store: SvelteStore<T>): T
declare function __sveltets_2_store_get<Store extends SvelteStore<any> | undefined | null>(store: Store): Store extends SvelteStore<infer T> ? T : Store;
declare function __sveltets_2_any(dummy: any): any;
declare function __sveltets_2_invalidate<T>(getValue: () => T): T
declare function __sveltets_2_mapWindowEvent<K extends keyof HTMLBodyElementEventMap>(
event: K
): HTMLBodyElementEventMap[K];
declare function __sveltets_2_mapBodyEvent<K extends keyof WindowEventMap>(
event: K
): WindowEventMap[K];
declare function __sveltets_2_mapElementEvent<K extends keyof HTMLElementEventMap>(
event: K
): HTMLElementEventMap[K];
declare function __sveltets_2_bubbleEventDef<Events, K extends keyof Events>(
events: Events, eventKey: K
): Events[K];
declare function __sveltets_2_bubbleEventDef(
events: any, eventKey: string
): any;
declare const __sveltets_2_customEvent: CustomEvent<any>;
declare function __sveltets_2_toEventTypings<Typings>(): {[Key in keyof Typings]: CustomEvent<Typings[Key]>};
declare function __sveltets_2_unionType<T1, T2>(t1: T1, t2: T2): T1 | T2;
declare function __sveltets_2_unionType<T1, T2, T3>(t1: T1, t2: T2, t3: T3): T1 | T2 | T3;
declare function __sveltets_2_unionType<T1, T2, T3, T4>(t1: T1, t2: T2, t3: T3, t4: T4): T1 | T2 | T3 | T4;
declare function __sveltets_2_unionType(...types: any[]): any;
declare function __sveltets_2_createSvelte2TsxComponent<Props extends {}, Events extends {}, Slots extends {}>(
render: {props: Props, events: Events, slots: Slots }
): typeof import("svelte").SvelteComponent<Props, Events, Slots>;
declare function __sveltets_2_unwrapArr<T>(arr: ArrayLike<T>): T
declare function __sveltets_2_unwrapPromiseLike<T>(promise: PromiseLike<T> | T): T
// v2
declare function __sveltets_2_createCreateSlot<Slots = Record<string, Record<string, any>>>(): <SlotName extends keyof Slots>(slotName: SlotName, attrs: Slots[SlotName]) => Record<string, any>;
declare function __sveltets_2_createComponentAny(props: Record<string, any>): import("svelte").SvelteComponent<any, any, any>;
declare function __sveltets_2_any(...dummy: any[]): any;
declare function __sveltets_2_empty(...dummy: any[]): {};
declare function __sveltets_2_union<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>(t1:T1,t2?:T2,t3?:T3,t4?:T4,t5?:T5,t6?:T6,t7?:T7,t8?:T8,t9?:T9,t10?:T10): T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10;
declare function __sveltets_2_nonNullable<T>(type: T): NonNullable<T>;
declare function __sveltets_2_cssProp(prop: Record<string, any>): {};
// @ts-ignore Svelte v3/v4 don't have this
declare function __sveltets_2_ensureSnippet(val: ReturnType<import('svelte').Snippet> | undefined | null): any;
/** @internal PRIVATE API, DO NOT USE */
type __sveltets_2_SvelteAnimationReturnType = {
delay?: number,
duration?: number,
easing?: (t: number) => number,
css?: (t: number, u: number) => string,
tick?: (t: number, u: number) => void
}
declare var __sveltets_2_AnimationMove: { from: DOMRect, to: DOMRect }
declare function __sveltets_2_ensureAnimation(animationCall: __sveltets_2_SvelteAnimationReturnType): {};
/** @internal PRIVATE API, DO NOT USE */
type __sveltets_2_SvelteActionReturnType = {
update?: (args: any) => void,
destroy?: () => void,
$$_attributes?: Record<string, any>,
} | void
declare function __sveltets_2_ensureAction<T extends __sveltets_2_SvelteActionReturnType>(actionCall: T): T extends {$$_attributes?: any} ? T['$$_attributes'] : {};
/** @internal PRIVATE API, DO NOT USE */
type __sveltets_2_SvelteTransitionConfig = {
delay?: number,
duration?: number,
easing?: (t: number) => number,
css?: (t: number, u: number) => string,
tick?: (t: number, u: number) => void
}
/** @internal PRIVATE API, DO NOT USE */
type __sveltets_2_SvelteTransitionReturnType = __sveltets_2_SvelteTransitionConfig | (() => __sveltets_2_SvelteTransitionConfig)
declare function __sveltets_2_ensureTransition(transitionCall: __sveltets_2_SvelteTransitionReturnType): {};
// Includes undefined and null for all types as all usages also allow these
declare function __sveltets_2_ensureType<T>(type: AConstructorTypeOf<T>, el: T | undefined | null): {};
declare function __sveltets_2_ensureType<T1, T2>(type1: AConstructorTypeOf<T1>, type2: AConstructorTypeOf<T2>, el: T1 | T2 | undefined | null): {};
// The following is necessary because there are two clashing errors that can't be solved at the same time
// when using Svelte2TsxComponent, more precisely the event typings in
// __sveltets_2_ensureComponent<T extends new (..) => _SvelteComponent<any,||any||<-this,any>>(type: T): T;
// If we type it as "any", we have an error when using sth like {a: CustomEvent<any>}
// If we type it as "{}", we have an error when using sth like {[evt: string]: CustomEvent<any>}
// If we type it as "unknown", we get all kinds of follow up errors which we want to avoid
// Therefore introduce two more base classes just for this case.
/**
* Ambient type only used for intellisense, DO NOT USE IN YOUR PROJECT
*/
declare type ATypedSvelteComponent = {
/**
* @internal This is for type checking capabilities only
* and does not exist at runtime. Don't use this property.
*/
$$prop_def: any;
/**
* @internal This is for type checking capabilities only
* and does not exist at runtime. Don't use this property.
*/
$$events_def: any;
/**
* @internal This is for type checking capabilities only
* and does not exist at runtime. Don't use this property.
*/
$$slot_def: any;
$on(event: string, handler: any): () => void;
}
/**
* Ambient type only used for intellisense, DO NOT USE IN YOUR PROJECT.
*
* If you're looking for the type of a Svelte Component, use `SvelteComponent` and `ComponentType` instead:
*
* ```ts
* import type { ComponentType, SvelteComponent } from "svelte";
* let myComponentConstructor: ComponentType<SvelteComponent> = ..;
* ```
*/
declare type ConstructorOfATypedSvelteComponent = new (args: {target: any, props?: any}) => ATypedSvelteComponent
// Usage note: Cannot properly transform generic function components to class components due to TypeScript limitations
declare function __sveltets_2_ensureComponent<
T extends
| ConstructorOfATypedSvelteComponent
| (typeof import('svelte') extends { mount: any }
? // @ts-ignore svelte.Component doesn't exist in Svelte 4
import('svelte').Component<any, any, any>
: never)
| null
| undefined
>(
type: T
): NonNullable<
T extends ConstructorOfATypedSvelteComponent
? T
: typeof import('svelte') extends { mount: any }
? // @ts-ignore svelte.Component doesn't exist in Svelte 4
T extends import('svelte').Component<
infer Props extends Record<string, any>,
infer Exports extends Record<string, any>,
infer Bindings extends string
>
? new (
options: import('svelte').ComponentConstructorOptions<Props>
) => import('svelte').SvelteComponent<Props, Props['$$events'], Props['$$slots']> &
Exports & { $$bindings: Bindings }
: never
: never
>;
declare function __sveltets_2_ensureArray<T extends ArrayLike<unknown> | Iterable<unknown>>(
// Svelte 5 allows undefined or null here, Svelte 4 doesn't
array: T | (typeof import('svelte') extends { mount: any } ? (undefined | null) : never)
): T extends ArrayLike<infer U> ? U[] : T extends Iterable<infer U> ? Iterable<U> : any[];
type __sveltets_2_PropsWithChildren<Props, Slots> = Props &
(Slots extends { default: any }
// This is unfortunate because it means "accepts no props" turns into "accepts any prop"
// but the alternative is non-fixable type errors because of the way TypeScript index
// signatures work (they will always take precedence and make an impossible-to-satisfy children type).
? Props extends Record<string, never>
? any
: { children?: any }
: {});
declare function __sveltets_2_runes_constructor<Props extends {}>(render: {props: Props }): import("svelte").ComponentConstructorOptions<Props>;
declare function __sveltets_2_get_set_binding<T>(get: (() => T) | null | undefined, set: (t: T) => void): T;
declare function __sveltets_$$bindings<Bindings extends string[]>(...bindings: Bindings): Bindings[number];
declare function __sveltets_2_fn_component<
Props extends Record<string, any>, Exports extends Record<string, any>, Bindings extends string
// @ts-ignore Svelte 5 only
>(klass: {props: Props, exports?: Exports, bindings?: Bindings }): import('svelte').Component<Props, Exports, Bindings>;
interface __sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
(internal: unknown, props: Props extends Record<string, never> ? {$$events?: Events, $$slots?: Slots} : Props & {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
z_$$bindings?: Bindings;
}
declare function __sveltets_2_isomorphic_component<
Props extends Record<string, any>, Events extends Record<string, any>, Slots extends Record<string, any>, Exports extends Record<string, any>, Bindings extends string
>(klass: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }): __sveltets_2_IsomorphicComponent<Props, Events, Slots, Exports, Bindings>;
declare function __sveltets_2_isomorphic_component_slots<
Props extends Record<string, any>, Events extends Record<string, any>, Slots extends Record<string, any>, Exports extends Record<string, any>, Bindings extends string
>(klass: {props: Props, events: Events, slots: Slots, exports?: Exports, bindings?: Bindings }): __sveltets_2_IsomorphicComponent<__sveltets_2_PropsWithChildren<Props, Slots>, Events, Slots, Exports, Bindings>;

1
web/node_modules/.vite/_svelte_metadata.json generated vendored Normal file
View File

@@ -0,0 +1 @@
{"compilerOptions":{"css":"external","dev":true,"hmr":true},"extensions":[".svelte"]}

82939
web/node_modules/.vite/deps/@lucide_svelte.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
web/node_modules/.vite/deps/@lucide_svelte.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,17 @@
import "./chunk-47WNJCXC.js";
import {
triangle_alert_default
} from "./chunk-FGTR2NCN.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
triangle_alert_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
arrow_down_to_line_default
} from "./chunk-NB5G75FU.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
arrow_down_to_line_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
arrow_down_default
} from "./chunk-OA7K4NNF.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
arrow_down_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
arrow_up_down_default
} from "./chunk-6KFFEPNJ.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
arrow_up_down_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
arrow_up_default
} from "./chunk-QZYHQP2W.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
arrow_up_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
book_open_default
} from "./chunk-W2OL2SQI.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
book_open_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
bot_default
} from "./chunk-EVH3BRKO.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
bot_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -0,0 +1,16 @@
import {
boxes_default
} from "./chunk-RZYXHKFA.js";
import "./chunk-FDPVFO5P.js";
import "./chunk-CFGYIWW7.js";
import "./chunk-3SEKS52A.js";
import "./chunk-YWNCLLEK.js";
import "./chunk-U7P2NEEE.js";
import "./chunk-RK6BZSGT.js";
import "./chunk-IFIY7NGJ.js";
import "./chunk-QDDRZFWN.js";
import "./chunk-OHYQYV5R.js";
import "./chunk-KWPVD4H7.js";
export {
boxes_default as default
};

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

Some files were not shown because too many files have changed in this diff Show More