rssany 0.1.2 → 0.1.4

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.
Files changed (28) hide show
  1. package/README.md +28 -50
  2. package/dist/index.js +17 -5
  3. package/dist/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/webui/build/200.html +6 -6
  6. package/webui/build/_app/immutable/assets/0.DjU2hdCQ.css +1 -0
  7. package/webui/build/_app/immutable/chunks/{DcAshVxe.js → C85CNwD2.js} +1 -1
  8. package/webui/build/_app/immutable/chunks/{BXCWEhUd.js → CdMsRjxJ.js} +1 -1
  9. package/webui/build/_app/immutable/chunks/{EIZIMsXK.js → CllQAdvt.js} +1 -1
  10. package/webui/build/_app/immutable/chunks/{CkUAV0m0.js → Dv1VCsiB.js} +1 -1
  11. package/webui/build/_app/immutable/entry/{app.DdgnooOk.js → app.BcD2eSsQ.js} +2 -2
  12. package/webui/build/_app/immutable/entry/start.CbkdJdz1.js +1 -0
  13. package/webui/build/_app/immutable/nodes/{0.BE05Cuc4.js → 0.DSUDmOx2.js} +1 -1
  14. package/webui/build/_app/immutable/nodes/{1.5DFDaT4c.js → 1.DU9aYGAb.js} +1 -1
  15. package/webui/build/_app/immutable/nodes/{10.OVK4i9XE.js → 10.Db6vw7Ih.js} +1 -1
  16. package/webui/build/_app/immutable/nodes/{11.Dhn_rO4A.js → 11.BaAcorz3.js} +1 -1
  17. package/webui/build/_app/immutable/nodes/{14.B_KpJLxn.js → 14.DqT4pcrQ.js} +1 -1
  18. package/webui/build/_app/immutable/nodes/{15.RaWaA-0I.js → 15.CCLbjxnH.js} +1 -1
  19. package/webui/build/_app/immutable/nodes/{16.DSUgqolV.js → 16.DiigpVdP.js} +1 -1
  20. package/webui/build/_app/immutable/nodes/{3.wQvGs9w-.js → 3.DEcYOQc-.js} +1 -1
  21. package/webui/build/_app/immutable/nodes/{5.CCtn90c0.js → 5.CvM1TkLG.js} +1 -1
  22. package/webui/build/_app/immutable/nodes/{6.C2_mjW1u.js → 6.Dscr6LkS.js} +1 -1
  23. package/webui/build/_app/immutable/nodes/{7.Dwz6W7A1.js → 7.Bp60MobD.js} +1 -1
  24. package/webui/build/_app/immutable/nodes/{8.DzkEw6rx.js → 8.DwSg0MHh.js} +1 -1
  25. package/webui/build/_app/immutable/nodes/{9.DtlXEwe1.js → 9.BeYOUjxR.js} +1 -1
  26. package/webui/build/_app/version.json +1 -1
  27. package/webui/build/_app/immutable/assets/0.C6Q_nuW9.css +0 -1
  28. package/webui/build/_app/immutable/entry/start.DhJaJZhR.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BE05Cuc4.js","../chunks/BK3WtZwv.js","../chunks/BbWUOQ_m.js","../chunks/lk5LaiqA.js","../chunks/DjNLq3TF.js","../chunks/D5GvRCv7.js","../chunks/DMWEh-Ek.js","../chunks/Dt2CddFe.js","../chunks/B-OsL1Ct.js","../chunks/B2Q1a1-H.js","../chunks/CVzlFH44.js","../chunks/DcAshVxe.js","../chunks/BXCWEhUd.js","../chunks/BUApaBEI.js","../chunks/Bp63qm3L.js","../chunks/tB7QMF3U.js","../chunks/CtijX1u3.js","../chunks/xtNWTdbD.js","../chunks/mW5RwvnK.js","../chunks/BQqoDzLx.js","../chunks/Cihqbfi5.js","../chunks/DFuhmi31.js","../chunks/CBY2biv-.js","../assets/homeFeedPanelStore.BopJZtHu.css","../assets/0.C6Q_nuW9.css","../nodes/1.5DFDaT4c.js","../nodes/2.BYWOpaxy.js","../nodes/3.wQvGs9w-.js","../chunks/DEDI7Ecm.js","../chunks/CkUAV0m0.js","../chunks/Dw782Tjs.js","../chunks/CWNeClHp.js","../assets/SourcesList.yTBBi3_m.css","../nodes/4.DTSxpKm7.js","../assets/4.9wPHhVwv.css","../nodes/5.CCtn90c0.js","../chunks/EIZIMsXK.js","../assets/BackToParentRoute.DGk-X5ow.css","../assets/5.ClehBQ0g.css","../nodes/6.C2_mjW1u.js","../assets/6.DSJfjJwx.css","../nodes/7.Dwz6W7A1.js","../assets/7.CrNxmd8B.css","../nodes/8.DzkEw6rx.js","../chunks/Bfc47y5P.js","../assets/8.Ba5_jYIY.css","../nodes/9.DtlXEwe1.js","../assets/9.m-LCx_kl.css","../nodes/10.OVK4i9XE.js","../assets/10.Dj8_pmut.css","../nodes/11.Dhn_rO4A.js","../assets/11.qYZMiTb0.css","../nodes/12.Cg8AeCSH.js","../assets/12.Ct59LCqW.css","../nodes/13.nT3SOzEB.js","../assets/13.BhO9zvFi.css","../nodes/14.B_KpJLxn.js","../assets/14.CujIhjQK.css","../nodes/15.RaWaA-0I.js","../assets/15.nNGjXhCQ.css","../nodes/16.DSUgqolV.js","../chunks/Xy_fhzQq.js","../assets/16.PP9XLDf7.css","../nodes/17.BtYZF6FM.js","../chunks/hp4PFHFv.js","../nodes/18.Ba_qJjp6.js"])))=>i.map(i=>d[i]);
2
- var Z=r=>{throw TypeError(r)};var M=(r,t,e)=>t.has(r)||Z("Cannot "+e);var l=(r,t,e)=>(M(r,t,"read from private field"),e?e.call(r):t.get(r)),F=(r,t,e)=>t.has(r)?Z("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),H=(r,t,e,i)=>(M(r,t,"write to private field"),i?i.call(r,e):t.set(r,e),e);import{a5 as z,af as it,i as v,b3 as mt,ai as ut,z as ct,at as lt,am as _t,an as dt,T as ft,f as A,aw as vt,au as ht,b4 as J,av as gt,ax as Et,az as Pt,aA as x}from"../chunks/BbWUOQ_m.js";import{h as pt,m as Rt,u as yt,s as Ot}from"../chunks/DMWEh-Ek.js";import{a as E,c as I,f as $,t as bt}from"../chunks/BK3WtZwv.js";import{o as Lt}from"../chunks/Bp63qm3L.js";import{i as B}from"../chunks/Dt2CddFe.js";import{c as k}from"../chunks/DFuhmi31.js";import{b as S}from"../chunks/Xy_fhzQq.js";import{p as q}from"../chunks/xtNWTdbD.js";function At(r){return class extends Tt{constructor(t){super({component:r,...t})}}}var P,_;class Tt{constructor(t){F(this,P);F(this,_);var p;var e=new Map,i=(o,a)=>{var m=ct(a,!1,!1);return e.set(o,m),m};const u=new Proxy({...t.props||{},$$events:{}},{get(o,a){return v(e.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===it?!0:(v(e.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,m){return z(e.get(a)??i(a,m),m),Reflect.set(o,a,m)}});H(this,_,(t.hydrate?pt:Rt)(t.component,{target:t.target,anchor:t.anchor,props:u,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((p=t==null?void 0:t.props)!=null&&p.$$host)||t.sync===!1)&&mt(),H(this,P,u.$$events);for(const o of Object.keys(l(this,_)))o==="$set"||o==="$destroy"||o==="$on"||ut(this,o,{get(){return l(this,_)[o]},set(a){l(this,_)[o]=a},enumerable:!0});l(this,_).$set=o=>{Object.assign(u,o)},l(this,_).$destroy=()=>{yt(l(this,_))}}$set(t){l(this,_).$set(t)}$on(t,e){l(this,P)[t]=l(this,P)[t]||[];const i=(...u)=>e.call(this,...u);return l(this,P)[t].push(i),()=>{l(this,P)[t]=l(this,P)[t].filter(u=>u!==i)}}$destroy(){l(this,_).$destroy()}}P=new WeakMap,_=new WeakMap;const Dt="modulepreload",It=function(r,t){return new URL(r,t).href},N={},s=function(t,e,i){let u=Promise.resolve();if(e&&e.length>0){let o=function(c){return Promise.all(c.map(h=>Promise.resolve(h).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};const a=document.getElementsByTagName("link"),m=document.querySelector("meta[property=csp-nonce]"),j=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));u=o(e.map(c=>{if(c=It(c,i),c in N)return;N[c]=!0;const h=c.endsWith(".css"),R=h?'[rel="stylesheet"]':"";if(!!i)for(let y=a.length-1;y>=0;y--){const n=a[y];if(n.href===c&&(!h||n.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${R}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Dt,h||(g.as="script"),g.crossOrigin="",g.href=c,j&&g.setAttribute("nonce",j),document.head.appendChild(g),h)return new Promise((y,n)=>{g.addEventListener("load",y),g.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${c}`)))})}))}function p(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return u.then(o=>{for(const a of o||[])a.status==="rejected"&&p(a.reason);return t().catch(p)})},Ht={};var Vt=$('<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>'),wt=$("<!> <!>",1);function xt(r,t){lt(t,!0);let e=q(t,"components",23,()=>[]),i=q(t,"data_0",3,null),u=q(t,"data_1",3,null),p=q(t,"data_2",3,null);_t(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,e(),t.form,i(),u(),p(),t.stores.page.notify()});let o=J(!1),a=J(!1),m=J(null);Lt(()=>{const n=t.stores.page.subscribe(()=>{v(o)&&(z(a,!0),ft().then(()=>{z(m,document.title||"untitled page",!0)}))});return z(o,!0),n});const j=x(()=>t.constructors[2]);var c=wt(),h=A(c);{var R=n=>{const O=x(()=>t.constructors[0]);var b=I(),V=A(b);k(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(d,St)=>{var Q=I(),et=A(Q);{var rt=D=>{const U=x(()=>t.constructors[1]);var w=I(),G=A(w);k(G,()=>v(U),(W,Y)=>{S(Y(W,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(f,jt)=>{var X=I(),ot=A(X);k(ot,()=>v(j),(st,nt)=>{S(nt(st,{get data(){return p()},get form(){return t.form},get params(){return t.page.params}}),C=>e()[2]=C,()=>{var C;return(C=e())==null?void 0:C[2]})}),E(f,X)},$$slots:{default:!0}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)},at=D=>{const U=x(()=>t.constructors[1]);var w=I(),G=A(w);k(G,()=>v(U),(W,Y)=>{S(Y(W,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)};B(et,D=>{t.constructors[2]?D(rt):D(at,-1)})}E(d,Q)},$$slots:{default:!0}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)},K=n=>{const O=x(()=>t.constructors[0]);var b=I(),V=A(b);k(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)};B(h,n=>{t.constructors[1]?n(R):n(K,-1)})}var g=vt(h,2);{var y=n=>{var O=Vt(),b=gt(O);{var V=L=>{var T=bt();Pt(()=>Ot(T,v(m))),E(L,T)};B(b,L=>{v(a)&&L(V)})}Et(O),E(n,O)};B(g,n=>{v(o)&&n(y)})}E(r,c),ht()}const Jt=At(xt),Kt=[()=>s(()=>import("../nodes/0.BE05Cuc4.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url),()=>s(()=>import("../nodes/1.5DFDaT4c.js"),__vite__mapDeps([25,1,2,3,6,10,12,5,13,14]),import.meta.url),()=>s(()=>import("../nodes/2.BYWOpaxy.js"),__vite__mapDeps([26,1,2,3,8]),import.meta.url),()=>s(()=>import("../nodes/3.wQvGs9w-.js"),__vite__mapDeps([27,1,2,3,28,29,14,6,4,5,7,19,9,30,10,11,12,13,15,16,8,17,18,20,21,22,23,31,32]),import.meta.url),()=>s(()=>import("../nodes/4.DTSxpKm7.js"),__vite__mapDeps([33,1,2,3,14,6,7,19,28,9,10,22,34]),import.meta.url),()=>s(()=>import("../nodes/5.CCtn90c0.js"),__vite__mapDeps([35,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,38]),import.meta.url),()=>s(()=>import("../nodes/6.C2_mjW1u.js"),__vite__mapDeps([39,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,40]),import.meta.url),()=>s(()=>import("../nodes/7.Dwz6W7A1.js"),__vite__mapDeps([41,1,2,3,14,4,5,10,12,13,11,42]),import.meta.url),()=>s(()=>import("../nodes/8.DzkEw6rx.js"),__vite__mapDeps([43,1,2,3,6,7,28,9,30,44,10,36,4,5,11,12,13,14,37,45]),import.meta.url),()=>s(()=>import("../nodes/9.DtlXEwe1.js"),__vite__mapDeps([46,1,2,3,14,6,7,19,28,9,10,36,4,5,11,12,13,37,22,15,47]),import.meta.url),()=>s(()=>import("../nodes/10.OVK4i9XE.js"),__vite__mapDeps([48,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,49]),import.meta.url),()=>s(()=>import("../nodes/11.Dhn_rO4A.js"),__vite__mapDeps([50,1,2,3,28,29,14,6,4,5,7,19,9,30,10,11,12,13,15,16,8,17,18,20,21,22,23,31,32,36,37,51]),import.meta.url),()=>s(()=>import("../nodes/12.Cg8AeCSH.js"),__vite__mapDeps([52,1,2,3,14,6,7,19,28,9,30,44,10,22,15,5,53]),import.meta.url),()=>s(()=>import("../nodes/13.nT3SOzEB.js"),__vite__mapDeps([54,1,2,3,14,6,7,19,28,9,30,10,22,15,5,55]),import.meta.url),()=>s(()=>import("../nodes/14.B_KpJLxn.js"),__vite__mapDeps([56,1,2,3,14,6,5,7,19,28,9,30,10,22,11,12,13,15,31,8,17,4,18,20,57]),import.meta.url),()=>s(()=>import("../nodes/15.RaWaA-0I.js"),__vite__mapDeps([58,1,2,3,14,28,10,12,5,13,59]),import.meta.url),()=>s(()=>import("../nodes/16.DSUgqolV.js"),__vite__mapDeps([60,1,2,3,4,5,6,7,20,28,10,9,22,11,12,13,14,15,61,17,36,37,62]),import.meta.url),()=>s(()=>import("../nodes/17.BtYZF6FM.js"),__vite__mapDeps([63,64,13]),import.meta.url),()=>s(()=>import("../nodes/18.Ba_qJjp6.js"),__vite__mapDeps([65,64,13]),import.meta.url)],Qt=[],Xt={"/":[3],"/admin":[4,[2]],"/admin/deliver":[5,[2]],"/admin/llm":[6,[2]],"/admin/logs":[7,[2]],"/admin/parse":[8,[2]],"/admin/pipeline":[9,[2]],"/admin/proxy":[10,[2]],"/admin/sources":[11,[2]],"/admin/tags":[12,[2]],"/logs":[13],"/plugins":[14],"/plugins/new":[15],"/plugins/[id]":[16],"/tags":[17],"/[sub]":[18]},tt={handleError:(({error:r})=>{console.error(r)}),reroute:(()=>{}),transport:{}},kt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.decode])),Zt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.encode])),Mt=!1,Nt=(r,t)=>kt[r](t);export{Nt as decode,kt as decoders,Xt as dictionary,Zt as encoders,Mt as hash,tt as hooks,Ht as matchers,Kt as nodes,Jt as root,Qt as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DSUDmOx2.js","../chunks/BK3WtZwv.js","../chunks/BbWUOQ_m.js","../chunks/lk5LaiqA.js","../chunks/DjNLq3TF.js","../chunks/D5GvRCv7.js","../chunks/DMWEh-Ek.js","../chunks/Dt2CddFe.js","../chunks/B-OsL1Ct.js","../chunks/B2Q1a1-H.js","../chunks/CVzlFH44.js","../chunks/C85CNwD2.js","../chunks/CdMsRjxJ.js","../chunks/BUApaBEI.js","../chunks/Bp63qm3L.js","../chunks/tB7QMF3U.js","../chunks/CtijX1u3.js","../chunks/xtNWTdbD.js","../chunks/mW5RwvnK.js","../chunks/BQqoDzLx.js","../chunks/Cihqbfi5.js","../chunks/DFuhmi31.js","../chunks/CBY2biv-.js","../assets/homeFeedPanelStore.BopJZtHu.css","../assets/0.DjU2hdCQ.css","../nodes/1.DU9aYGAb.js","../nodes/2.BYWOpaxy.js","../nodes/3.DEcYOQc-.js","../chunks/DEDI7Ecm.js","../chunks/Dv1VCsiB.js","../chunks/Dw782Tjs.js","../chunks/CWNeClHp.js","../assets/SourcesList.yTBBi3_m.css","../nodes/4.DTSxpKm7.js","../assets/4.9wPHhVwv.css","../nodes/5.CvM1TkLG.js","../chunks/CllQAdvt.js","../assets/BackToParentRoute.DGk-X5ow.css","../assets/5.ClehBQ0g.css","../nodes/6.Dscr6LkS.js","../assets/6.DSJfjJwx.css","../nodes/7.Bp60MobD.js","../assets/7.CrNxmd8B.css","../nodes/8.DwSg0MHh.js","../chunks/Bfc47y5P.js","../assets/8.Ba5_jYIY.css","../nodes/9.BeYOUjxR.js","../assets/9.m-LCx_kl.css","../nodes/10.Db6vw7Ih.js","../assets/10.Dj8_pmut.css","../nodes/11.BaAcorz3.js","../assets/11.qYZMiTb0.css","../nodes/12.Cg8AeCSH.js","../assets/12.Ct59LCqW.css","../nodes/13.nT3SOzEB.js","../assets/13.BhO9zvFi.css","../nodes/14.DqT4pcrQ.js","../assets/14.CujIhjQK.css","../nodes/15.CCLbjxnH.js","../assets/15.nNGjXhCQ.css","../nodes/16.DiigpVdP.js","../chunks/Xy_fhzQq.js","../assets/16.PP9XLDf7.css","../nodes/17.BtYZF6FM.js","../chunks/hp4PFHFv.js","../nodes/18.Ba_qJjp6.js"])))=>i.map(i=>d[i]);
2
+ var Z=r=>{throw TypeError(r)};var M=(r,t,e)=>t.has(r)||Z("Cannot "+e);var l=(r,t,e)=>(M(r,t,"read from private field"),e?e.call(r):t.get(r)),F=(r,t,e)=>t.has(r)?Z("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),H=(r,t,e,i)=>(M(r,t,"write to private field"),i?i.call(r,e):t.set(r,e),e);import{a5 as z,af as it,i as v,b3 as mt,ai as ut,z as ct,at as lt,am as _t,an as dt,T as ft,f as A,aw as vt,au as ht,b4 as J,av as gt,ax as Et,az as Pt,aA as x}from"../chunks/BbWUOQ_m.js";import{h as pt,m as Rt,u as yt,s as Ot}from"../chunks/DMWEh-Ek.js";import{a as E,c as I,f as $,t as bt}from"../chunks/BK3WtZwv.js";import{o as Lt}from"../chunks/Bp63qm3L.js";import{i as B}from"../chunks/Dt2CddFe.js";import{c as k}from"../chunks/DFuhmi31.js";import{b as S}from"../chunks/Xy_fhzQq.js";import{p as q}from"../chunks/xtNWTdbD.js";function At(r){return class extends Tt{constructor(t){super({component:r,...t})}}}var P,_;class Tt{constructor(t){F(this,P);F(this,_);var p;var e=new Map,i=(o,a)=>{var m=ct(a,!1,!1);return e.set(o,m),m};const u=new Proxy({...t.props||{},$$events:{}},{get(o,a){return v(e.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===it?!0:(v(e.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,m){return z(e.get(a)??i(a,m),m),Reflect.set(o,a,m)}});H(this,_,(t.hydrate?pt:Rt)(t.component,{target:t.target,anchor:t.anchor,props:u,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((p=t==null?void 0:t.props)!=null&&p.$$host)||t.sync===!1)&&mt(),H(this,P,u.$$events);for(const o of Object.keys(l(this,_)))o==="$set"||o==="$destroy"||o==="$on"||ut(this,o,{get(){return l(this,_)[o]},set(a){l(this,_)[o]=a},enumerable:!0});l(this,_).$set=o=>{Object.assign(u,o)},l(this,_).$destroy=()=>{yt(l(this,_))}}$set(t){l(this,_).$set(t)}$on(t,e){l(this,P)[t]=l(this,P)[t]||[];const i=(...u)=>e.call(this,...u);return l(this,P)[t].push(i),()=>{l(this,P)[t]=l(this,P)[t].filter(u=>u!==i)}}$destroy(){l(this,_).$destroy()}}P=new WeakMap,_=new WeakMap;const Dt="modulepreload",It=function(r,t){return new URL(r,t).href},N={},s=function(t,e,i){let u=Promise.resolve();if(e&&e.length>0){let o=function(c){return Promise.all(c.map(h=>Promise.resolve(h).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};const a=document.getElementsByTagName("link"),m=document.querySelector("meta[property=csp-nonce]"),j=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));u=o(e.map(c=>{if(c=It(c,i),c in N)return;N[c]=!0;const h=c.endsWith(".css"),R=h?'[rel="stylesheet"]':"";if(!!i)for(let y=a.length-1;y>=0;y--){const n=a[y];if(n.href===c&&(!h||n.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${R}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Dt,h||(g.as="script"),g.crossOrigin="",g.href=c,j&&g.setAttribute("nonce",j),document.head.appendChild(g),h)return new Promise((y,n)=>{g.addEventListener("load",y),g.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${c}`)))})}))}function p(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return u.then(o=>{for(const a of o||[])a.status==="rejected"&&p(a.reason);return t().catch(p)})},Ht={};var Vt=$('<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>'),wt=$("<!> <!>",1);function xt(r,t){lt(t,!0);let e=q(t,"components",23,()=>[]),i=q(t,"data_0",3,null),u=q(t,"data_1",3,null),p=q(t,"data_2",3,null);_t(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,e(),t.form,i(),u(),p(),t.stores.page.notify()});let o=J(!1),a=J(!1),m=J(null);Lt(()=>{const n=t.stores.page.subscribe(()=>{v(o)&&(z(a,!0),ft().then(()=>{z(m,document.title||"untitled page",!0)}))});return z(o,!0),n});const j=x(()=>t.constructors[2]);var c=wt(),h=A(c);{var R=n=>{const O=x(()=>t.constructors[0]);var b=I(),V=A(b);k(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(d,St)=>{var Q=I(),et=A(Q);{var rt=D=>{const U=x(()=>t.constructors[1]);var w=I(),G=A(w);k(G,()=>v(U),(W,Y)=>{S(Y(W,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(f,jt)=>{var X=I(),ot=A(X);k(ot,()=>v(j),(st,nt)=>{S(nt(st,{get data(){return p()},get form(){return t.form},get params(){return t.page.params}}),C=>e()[2]=C,()=>{var C;return(C=e())==null?void 0:C[2]})}),E(f,X)},$$slots:{default:!0}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)},at=D=>{const U=x(()=>t.constructors[1]);var w=I(),G=A(w);k(G,()=>v(U),(W,Y)=>{S(Y(W,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),f=>e()[1]=f,()=>{var f;return(f=e())==null?void 0:f[1]})}),E(D,w)};B(et,D=>{t.constructors[2]?D(rt):D(at,-1)})}E(d,Q)},$$slots:{default:!0}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)},K=n=>{const O=x(()=>t.constructors[0]);var b=I(),V=A(b);k(V,()=>v(O),(L,T)=>{S(T(L,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),d=>e()[0]=d,()=>{var d;return(d=e())==null?void 0:d[0]})}),E(n,b)};B(h,n=>{t.constructors[1]?n(R):n(K,-1)})}var g=vt(h,2);{var y=n=>{var O=Vt(),b=gt(O);{var V=L=>{var T=bt();Pt(()=>Ot(T,v(m))),E(L,T)};B(b,L=>{v(a)&&L(V)})}Et(O),E(n,O)};B(g,n=>{v(o)&&n(y)})}E(r,c),ht()}const Jt=At(xt),Kt=[()=>s(()=>import("../nodes/0.DSUDmOx2.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url),()=>s(()=>import("../nodes/1.DU9aYGAb.js"),__vite__mapDeps([25,1,2,3,6,10,12,5,13,14]),import.meta.url),()=>s(()=>import("../nodes/2.BYWOpaxy.js"),__vite__mapDeps([26,1,2,3,8]),import.meta.url),()=>s(()=>import("../nodes/3.DEcYOQc-.js"),__vite__mapDeps([27,1,2,3,28,29,14,6,4,5,7,19,9,30,10,11,12,13,15,16,8,17,18,20,21,22,23,31,32]),import.meta.url),()=>s(()=>import("../nodes/4.DTSxpKm7.js"),__vite__mapDeps([33,1,2,3,14,6,7,19,28,9,10,22,34]),import.meta.url),()=>s(()=>import("../nodes/5.CvM1TkLG.js"),__vite__mapDeps([35,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,38]),import.meta.url),()=>s(()=>import("../nodes/6.Dscr6LkS.js"),__vite__mapDeps([39,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,40]),import.meta.url),()=>s(()=>import("../nodes/7.Bp60MobD.js"),__vite__mapDeps([41,1,2,3,14,4,5,10,12,13,11,42]),import.meta.url),()=>s(()=>import("../nodes/8.DwSg0MHh.js"),__vite__mapDeps([43,1,2,3,6,7,28,9,30,44,10,36,4,5,11,12,13,14,37,45]),import.meta.url),()=>s(()=>import("../nodes/9.BeYOUjxR.js"),__vite__mapDeps([46,1,2,3,14,6,7,19,28,9,10,36,4,5,11,12,13,37,22,15,47]),import.meta.url),()=>s(()=>import("../nodes/10.Db6vw7Ih.js"),__vite__mapDeps([48,1,2,3,14,6,7,28,9,30,10,36,4,5,11,12,13,37,22,15,49]),import.meta.url),()=>s(()=>import("../nodes/11.BaAcorz3.js"),__vite__mapDeps([50,1,2,3,28,29,14,6,4,5,7,19,9,30,10,11,12,13,15,16,8,17,18,20,21,22,23,31,32,36,37,51]),import.meta.url),()=>s(()=>import("../nodes/12.Cg8AeCSH.js"),__vite__mapDeps([52,1,2,3,14,6,7,19,28,9,30,44,10,22,15,5,53]),import.meta.url),()=>s(()=>import("../nodes/13.nT3SOzEB.js"),__vite__mapDeps([54,1,2,3,14,6,7,19,28,9,30,10,22,15,5,55]),import.meta.url),()=>s(()=>import("../nodes/14.DqT4pcrQ.js"),__vite__mapDeps([56,1,2,3,14,6,5,7,19,28,9,30,10,22,11,12,13,15,31,8,17,4,18,20,57]),import.meta.url),()=>s(()=>import("../nodes/15.CCLbjxnH.js"),__vite__mapDeps([58,1,2,3,14,28,10,12,5,13,59]),import.meta.url),()=>s(()=>import("../nodes/16.DiigpVdP.js"),__vite__mapDeps([60,1,2,3,4,5,6,7,20,28,10,9,22,11,12,13,14,15,61,17,36,37,62]),import.meta.url),()=>s(()=>import("../nodes/17.BtYZF6FM.js"),__vite__mapDeps([63,64,13]),import.meta.url),()=>s(()=>import("../nodes/18.Ba_qJjp6.js"),__vite__mapDeps([65,64,13]),import.meta.url)],Qt=[],Xt={"/":[3],"/admin":[4,[2]],"/admin/deliver":[5,[2]],"/admin/llm":[6,[2]],"/admin/logs":[7,[2]],"/admin/parse":[8,[2]],"/admin/pipeline":[9,[2]],"/admin/proxy":[10,[2]],"/admin/sources":[11,[2]],"/admin/tags":[12,[2]],"/logs":[13],"/plugins":[14],"/plugins/new":[15],"/plugins/[id]":[16],"/tags":[17],"/[sub]":[18]},tt={handleError:(({error:r})=>{console.error(r)}),reroute:(()=>{}),transport:{}},kt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.decode])),Zt=Object.fromEntries(Object.entries(tt.transport).map(([r,t])=>[r,t.encode])),Mt=!1,Nt=(r,t)=>kt[r](t);export{Nt as decode,kt as decoders,Xt as dictionary,Zt as encoders,Mt as hash,tt as hooks,Ht as matchers,Kt as nodes,Jt as root,Qt as server_loads};
@@ -0,0 +1 @@
1
+ import{l as o,a as r}from"../chunks/CdMsRjxJ.js";export{o as load_css,r as start};
@@ -1,4 +1,4 @@
1
- import{c as U,a as m,f as V}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{f as S,at as la,au as ra,av as t,ax as s,az as ia,aC as w,aD as Ha,a5 as O,i as a,aw as h,aq as Ga,U as _,z as W,u as $}from"../chunks/BbWUOQ_m.js";import{s as oa,a as T}from"../chunks/DjNLq3TF.js";import{s as na}from"../chunks/DMWEh-Ek.js";import{i as va}from"../chunks/Dt2CddFe.js";import{s as B}from"../chunks/B-OsL1Ct.js";import{a as p,s as I,G as Ra,P as ta}from"../chunks/B2Q1a1-H.js";import{i as ca}from"../chunks/CVzlFH44.js";import{p as Ca}from"../chunks/DcAshVxe.js";import{t as Fa}from"../chunks/tB7QMF3U.js";import{R as Na,P as Oa,h as P,S as Wa}from"../chunks/CtijX1u3.js";import{l as ua,s as da}from"../chunks/xtNWTdbD.js";import{I as ha}from"../chunks/mW5RwvnK.js";const Ia=!1,Ta=!1,ve=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ta,ssr:Ia},Symbol.toStringTag,{value:"Module"})),Ua='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',Va='</title><path d="',Ba='"/></svg>',sa={title:"GitHub",slug:"github",get svg(){return Ua+"GitHub"+Va+this.path+Ba},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};function Da(f,o){const n=ua(o,["children","$$slots","$$events","$$legacy"]);/**
1
+ import{c as U,a as m,f as V}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{f as S,at as la,au as ra,av as t,ax as s,az as ia,aC as w,aD as Ha,a5 as O,i as a,aw as h,aq as Ga,U as _,z as W,u as $}from"../chunks/BbWUOQ_m.js";import{s as oa,a as T}from"../chunks/DjNLq3TF.js";import{s as na}from"../chunks/DMWEh-Ek.js";import{i as va}from"../chunks/Dt2CddFe.js";import{s as B}from"../chunks/B-OsL1Ct.js";import{a as p,s as I,G as Ra,P as ta}from"../chunks/B2Q1a1-H.js";import{i as ca}from"../chunks/CVzlFH44.js";import{p as Ca}from"../chunks/C85CNwD2.js";import{t as Fa}from"../chunks/tB7QMF3U.js";import{R as Na,P as Oa,h as P,S as Wa}from"../chunks/CtijX1u3.js";import{l as ua,s as da}from"../chunks/xtNWTdbD.js";import{I as ha}from"../chunks/mW5RwvnK.js";const Ia=!1,Ta=!1,ve=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ta,ssr:Ia},Symbol.toStringTag,{value:"Module"})),Ua='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',Va='</title><path d="',Ba='"/></svg>',sa={title:"GitHub",slug:"github",get svg(){return Ua+"GitHub"+Va+this.path+Ba},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};function Da(f,o){const n=ua(o,["children","$$slots","$$events","$$legacy"]);/**
2
2
  * @license lucide-svelte v0.460.1 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{a as h,f as g}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as v,f as l,az as d,au as x,av as e,ax as o,aw as _}from"../chunks/BbWUOQ_m.js";import{s as p}from"../chunks/DMWEh-Ek.js";import{i as $}from"../chunks/CVzlFH44.js";import{s as k,p as m}from"../chunks/BXCWEhUd.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var w=g("<h1> </h1> <p> </p>",1);function B(f,n){v(n,!1),$();var t=w(),r=l(t),c=e(r,!0);o(r);var a=_(r,2),u=e(a,!0);o(a),d(()=>{var s;p(c,i.status),p(u,(s=i.error)==null?void 0:s.message)}),h(f,t),x()}export{B as component};
1
+ import{a as h,f as g}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as v,f as l,az as d,au as x,av as e,ax as o,aw as _}from"../chunks/BbWUOQ_m.js";import{s as p}from"../chunks/DMWEh-Ek.js";import{i as $}from"../chunks/CVzlFH44.js";import{s as k,p as m}from"../chunks/CdMsRjxJ.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var w=g("<h1> </h1> <p> </p>",1);function B(f,n){v(n,!1),$();var t=w(),r=l(t),c=e(r,!0);o(r);var a=_(r,2),u=e(a,!0);o(a),d(()=>{var s;p(c,i.status),p(u,(s=i.error)==null?void 0:s.message)}),h(f,t),x()}export{B as component};
@@ -1 +1 @@
1
- import{a as v,f as u}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as H}from"../chunks/Bp63qm3L.js";import{at as $,az as B,au as C,d as J,av as a,a5 as t,i as o,z as d,$ as M,aw as m,ax as r,f as N,ay as U}from"../chunks/BbWUOQ_m.js";import{d as X,a as Y,s as A}from"../chunks/DMWEh-Ek.js";import{i as D}from"../chunks/Dt2CddFe.js";import{h as F}from"../chunks/DEDI7Ecm.js";import{P as q,r as G}from"../chunks/B2Q1a1-H.js";import{b as I}from"../chunks/Dw782Tjs.js";import{i as K}from"../chunks/CVzlFH44.js";import{B as L}from"../chunks/EIZIMsXK.js";import{b as j}from"../chunks/CBY2biv-.js";import{s as z}from"../chunks/tB7QMF3U.js";var Q=u('<p class="hint svelte-1f24zj">加载中…</p>'),V=u('<input type="text" class="text-input svelte-1f24zj" placeholder="http://127.0.0.1:7890" autocomplete="off"/> <p class="hint svelte-1f24zj">留空表示不在配置中设置全局代理(可继续用环境变量)。支持带账号:<code>http://user:pass@host:port</code></p>',1),W=u('<div class="feed-wrap svelte-1f24zj"><div class="feed-col svelte-1f24zj"><div class="body svelte-1f24zj"><!> <p class="intro svelte-1f24zj">写入 <code class="svelte-1f24zj">.rssany/config.json</code> 的 <code class="svelte-1f24zj">globalProxy</code>。抓取与站点登录时,若未在 <code class="svelte-1f24zj">sources.json</code> 或插件中指定单源代理,则使用此处;未填写时仍可使用环境变量 <code class="svelte-1f24zj">HTTP_PROXY</code> / <code class="svelte-1f24zj">HTTPS_PROXY</code>。</p> <section class="form-section svelte-1f24zj"><h3 class="section-title svelte-1f24zj">全局 HTTP(S) 代理</h3> <!></section> <div class="btn-row svelte-1f24zj"><button type="button" class="btn btn-primary svelte-1f24zj"> </button></div></div></div></div>');function ve(x,P){$(P,!1);let s=d(""),l=d(!0),i=d(!1);async function T(){t(l,!0);try{const e=await j("/api/proxy");t(s,typeof(e==null?void 0:e.globalProxy)=="string"?e.globalProxy:"")}catch{t(s,"")}finally{t(l,!1)}}async function w(){t(i,!0);try{const e=await j("/api/proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({globalProxy:o(s).trim()})});if(!(e!=null&&e.ok))throw new Error("保存失败");t(s,typeof e.globalProxy=="string"?e.globalProxy:""),z("已保存","success")}catch(e){z("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{t(i,!1)}}H(T),K();var f=W();F("1f24zj",e=>{J(()=>{M.title=`代理 - ${q}`})});var y=a(f),b=a(y),h=a(b);L(h,{});var p=m(h,4),k=m(a(p),2);{var O=e=>{var n=Q();v(e,n)},R=e=>{var n=V(),_=N(n);G(_),U(2),I(_,()=>o(s),E=>t(s,E)),v(e,n)};D(k,e=>{o(l)?e(O):e(R,-1)})}r(p);var g=m(p,2),c=a(g),S=a(c,!0);r(c),r(g),r(b),r(y),r(f),B(()=>{c.disabled=o(l)||o(i),A(S,o(i)?"保存中…":"保存")}),Y("click",c,w),v(x,f),C()}X(["click"]);export{ve as component};
1
+ import{a as v,f as u}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as H}from"../chunks/Bp63qm3L.js";import{at as $,az as B,au as C,d as J,av as a,a5 as t,i as o,z as d,$ as M,aw as m,ax as r,f as N,ay as U}from"../chunks/BbWUOQ_m.js";import{d as X,a as Y,s as A}from"../chunks/DMWEh-Ek.js";import{i as D}from"../chunks/Dt2CddFe.js";import{h as F}from"../chunks/DEDI7Ecm.js";import{P as q,r as G}from"../chunks/B2Q1a1-H.js";import{b as I}from"../chunks/Dw782Tjs.js";import{i as K}from"../chunks/CVzlFH44.js";import{B as L}from"../chunks/CllQAdvt.js";import{b as j}from"../chunks/CBY2biv-.js";import{s as z}from"../chunks/tB7QMF3U.js";var Q=u('<p class="hint svelte-1f24zj">加载中…</p>'),V=u('<input type="text" class="text-input svelte-1f24zj" placeholder="http://127.0.0.1:7890" autocomplete="off"/> <p class="hint svelte-1f24zj">留空表示不在配置中设置全局代理(可继续用环境变量)。支持带账号:<code>http://user:pass@host:port</code></p>',1),W=u('<div class="feed-wrap svelte-1f24zj"><div class="feed-col svelte-1f24zj"><div class="body svelte-1f24zj"><!> <p class="intro svelte-1f24zj">写入 <code class="svelte-1f24zj">.rssany/config.json</code> 的 <code class="svelte-1f24zj">globalProxy</code>。抓取与站点登录时,若未在 <code class="svelte-1f24zj">sources.json</code> 或插件中指定单源代理,则使用此处;未填写时仍可使用环境变量 <code class="svelte-1f24zj">HTTP_PROXY</code> / <code class="svelte-1f24zj">HTTPS_PROXY</code>。</p> <section class="form-section svelte-1f24zj"><h3 class="section-title svelte-1f24zj">全局 HTTP(S) 代理</h3> <!></section> <div class="btn-row svelte-1f24zj"><button type="button" class="btn btn-primary svelte-1f24zj"> </button></div></div></div></div>');function ve(x,P){$(P,!1);let s=d(""),l=d(!0),i=d(!1);async function T(){t(l,!0);try{const e=await j("/api/proxy");t(s,typeof(e==null?void 0:e.globalProxy)=="string"?e.globalProxy:"")}catch{t(s,"")}finally{t(l,!1)}}async function w(){t(i,!0);try{const e=await j("/api/proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({globalProxy:o(s).trim()})});if(!(e!=null&&e.ok))throw new Error("保存失败");t(s,typeof e.globalProxy=="string"?e.globalProxy:""),z("已保存","success")}catch(e){z("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{t(i,!1)}}H(T),K();var f=W();F("1f24zj",e=>{J(()=>{M.title=`代理 - ${q}`})});var y=a(f),b=a(y),h=a(b);L(h,{});var p=m(h,4),k=m(a(p),2);{var O=e=>{var n=Q();v(e,n)},R=e=>{var n=V(),_=N(n);G(_),U(2),I(_,()=>o(s),E=>t(s,E)),v(e,n)};D(k,e=>{o(l)?e(O):e(R,-1)})}r(p);var g=m(p,2),c=a(g),S=a(c,!0);r(c),r(g),r(b),r(y),r(f),B(()=>{c.disabled=o(l)||o(i),A(S,o(i)?"保存中…":"保存")}),Y("click",c,w),v(x,f),C()}X(["click"]);export{ve as component};
@@ -1 +1 @@
1
- import{a as s,f as m}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{f as i,d as c,av as f,aw as d,$ as n,ax as p}from"../chunks/BbWUOQ_m.js";import{h as v}from"../chunks/DEDI7Ecm.js";import{S as l}from"../chunks/CkUAV0m0.js";import{B as _}from"../chunks/EIZIMsXK.js";import{P as h}from"../chunks/B2Q1a1-H.js";var u=m('<div class="admin-sources-back svelte-8cr5m9"><!></div> <!>',1);function R(o){var r=u();v("8cr5m9",$=>{c(()=>{n.title=`Sources — ${h}`})});var a=i(r),e=f(a);_(e,{}),p(a);var t=d(a,2);l(t,{}),s(o,r)}export{R as component};
1
+ import{a as s,f as m}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{f as i,d as c,av as f,aw as d,$ as n,ax as p}from"../chunks/BbWUOQ_m.js";import{h as v}from"../chunks/DEDI7Ecm.js";import{S as l}from"../chunks/Dv1VCsiB.js";import{B as _}from"../chunks/CllQAdvt.js";import{P as h}from"../chunks/B2Q1a1-H.js";var u=m('<div class="admin-sources-back svelte-8cr5m9"><!></div> <!>',1);function R(o){var r=u();v("8cr5m9",$=>{c(()=>{n.title=`Sources — ${h}`})});var a=i(r),e=f(a);_(e,{}),p(a);var t=d(a,2);l(t,{}),s(o,r)}export{R as component};
@@ -1 +1 @@
1
- import{a as u,t as rt,f as p}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as Et}from"../chunks/Bp63qm3L.js";import{at as Lt,aC as bt,aD as Ot,f as lt,i as t,au as Nt,d as zt,av as r,az as ot,a5 as o,aw as c,z as h,$ as Jt,ax as s,U as b,ay as H}from"../chunks/BbWUOQ_m.js";import{d as Mt,a as D,e as Bt,s as K}from"../chunks/DMWEh-Ek.js";import{g as Ft}from"../chunks/D5GvRCv7.js";import{i as Q}from"../chunks/Dt2CddFe.js";import{e as Ht}from"../chunks/BQqoDzLx.js";import{h as Kt}from"../chunks/DEDI7Ecm.js";import{s as O,P as Qt,r as it}from"../chunks/B2Q1a1-H.js";import{b as nt}from"../chunks/Dw782Tjs.js";import{i as qt}from"../chunks/CVzlFH44.js";import{a as q}from"../chunks/CBY2biv-.js";import{p as Gt}from"../chunks/DcAshVxe.js";import{g as dt}from"../chunks/BXCWEhUd.js";import{s as m}from"../chunks/tB7QMF3U.js";import{P as Vt}from"../chunks/CWNeClHp.js";import{D as Wt,P as Xt,a as Yt,b as Zt,c as te,d as gt}from"../chunks/mW5RwvnK.js";var ee=p('<div class="state svelte-1nj0iur">加载中…</div>'),ae=p('<div class="state error svelte-1nj0iur"> </div>'),se=p('<div class="state svelte-1nj0iur">暂无已加载插件。可 <button type="button" class="link-btn svelte-1nj0iur">添加插件</button> 从模板创建,或在 <code>app/plugins/builtin/</code>、<code>.rssany/plugins/</code> 放置 *.rssany.js / *.rssany.ts</div>'),re=p('<div class="state svelte-1nj0iur">无匹配结果</div>'),le=p('<span class="kind-badge svelte-1nj0iur">Source</span>'),oe=p('<button type="button" class="cell-btn cell-btn--primary svelte-1nj0iur">登录</button>'),ie=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),ne=p('<button type="button" class="cell-btn cell-btn--secondary svelte-1nj0iur">检查登录</button>'),de=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),ce=p('<tr class="plugin-row svelte-1nj0iur" tabindex="0"><td class="td-name svelte-1nj0iur"><div class="name-cell svelte-1nj0iur"><span class="plugin-id-text svelte-1nj0iur"> </span> <!></div></td><td class="td-pattern svelte-1nj0iur"><span class="pattern-text svelte-1nj0iur"> </span></td><td class="td-login svelte-1nj0iur"><!></td><td class="td-check svelte-1nj0iur"><!></td></tr>'),ve=p('<div class="plugin-table-wrap svelte-1nj0iur"><table class="plugin-table svelte-1nj0iur"><thead class="svelte-1nj0iur"><tr><th class="th-name svelte-1nj0iur" scope="col">插件名</th><th class="th-pattern svelte-1nj0iur" scope="col">匹配规则</th><th class="th-login svelte-1nj0iur" scope="col">登录</th><th class="th-check svelte-1nj0iur" scope="col">检查登录</th></tr></thead><tbody class="svelte-1nj0iur"></tbody></table></div>'),ue=p('<div class="modal-header svelte-1nj0iur"><!> <!></div> <form class="modal-body svelte-1nj0iur"><p class="add-hint svelte-1nj0iur">对于不支持RSS的站点,添加插件可以覆盖特定站点的解析规则</p> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">站点匹配规则</span> <input class="field-input svelte-1nj0iur" type="text" name="listUrlPattern" placeholder="例如 https://www.example.com/* 或 https://example.com/list/{segment}" autocomplete="off"/></div> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">插件 id</span> <input class="field-input svelte-1nj0iur" type="text" name="pluginId" placeholder="例如 my-site" autocomplete="off"/></div> <div class="modal-footer svelte-1nj0iur"><div class="modal-footer-right svelte-1nj0iur"><!> <button type="submit" class="btn-save svelte-1nj0iur"> </button></div></div></form>',1),pe=p("<!> <!>",1),fe=p('<div class="feed-wrap svelte-1nj0iur"><div class="feed-col svelte-1nj0iur"><div class="plugins-toolbar-block svelte-1nj0iur"><div class="feed-header svelte-1nj0iur"><div class="header-left svelte-1nj0iur"><input class="filter-input svelte-1nj0iur" type="search" placeholder="过滤…" autocomplete="off"/></div> <div class="header-right svelte-1nj0iur"><button type="button" class="btn-add svelte-1nj0iur" title="添加插件" aria-label="添加插件"><!></button></div></div></div> <div class="plugins-body-scroll svelte-1nj0iur"><!></div></div></div> <!>',1);function Re(jt,yt){Lt(yt,!1);const U=h(),N=h();let $=h([]),z=h(""),G=h(!0),C=h(!1),j=h(""),y=h(""),S=h(!1),J=h("");function ct(){o(j,""),o(y,""),o(C,!0)}function wt(e){o(C,e),e||(o(j,""),o(y,""))}async function Pt(e){e.preventDefault();const a=t(j).trim(),i=t(y).trim();if(!a){m("请填写插件 id","error");return}if(!i){m("请填写支持的站点(URL 或匹配规则)","error");return}o(S,!0);try{const n=await q("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,listUrlPattern:i})}),_=await n.text();let l={};try{l=_?JSON.parse(_):{}}catch{l={}}if(!n.ok){m(l.error||_||`HTTP ${n.status}`,"error");return}l.ok&&(m("已创建插件文件","success"),o(C,!1),o(j,""),o(y,""),await vt(),await dt("/plugins/"+encodeURIComponent(a)))}catch(n){m("请求失败: "+(n instanceof Error?n.message:String(n)),"error")}finally{o(S,!1)}}async function vt(){o(G,!0),o(z,"");try{const a=await(await q("/api/plugins")).json();o($,[...a].sort((i,n)=>(n.hasAuth?1:0)-(i.hasAuth?1:0)))}catch(e){o(z,"加载失败: "+(e instanceof Error?e.message:String(e)))}finally{o(G,!1)}}async function kt(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await q(`/auth/check?siteId=${encodeURIComponent(e.id)}`)).json();n.ok?m(`${e.id}:${n.authenticated?"✓ 已登录":"✗ 未登录"}`,n.authenticated?"success":"error"):m(n.message||"检查失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}function ut(e){dt("/plugins/"+encodeURIComponent(e.id))}function $t(e,a){(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),ut(e))}async function xt(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await q(`/auth/open?siteId=${encodeURIComponent(e.id)}`,{method:"POST"})).json();n.ok?m(n.message||"已打开登录页面","success"):m(n.message||"打开失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}Et(()=>{vt(),Ft(Gt).url.searchParams.get("openAdd")==="1"&&(o(j,""),o(y,""),o(C,!0),dt("/plugins",{replaceState:!0}))}),bt(()=>t(J),()=>{o(U,t(J).trim().toLowerCase())}),bt(()=>(t(U),t($)),()=>{o(N,t(U)?t($).filter(e=>e.id.toLowerCase().includes(t(U))||e.listUrlPattern.toLowerCase().includes(t(U))):t($))}),Ot(),qt();var pt=fe();Kt("1nj0iur",e=>{zt(()=>{Jt.title=`插件 - ${Qt}`})});var V=lt(pt),ft=r(V),W=r(ft),mt=r(W),X=r(mt),Y=r(X);it(Y),O(Y,"spellcheck",!1),s(X);var _t=c(X,2),Z=r(_t),Dt=r(Z);Vt(Dt,{size:16,"aria-hidden":"true"}),s(Z),s(_t),s(mt),s(W);var ht=c(W,2),Ut=r(ht);{var Ct=e=>{var a=ee();u(e,a)},St=e=>{var a=ae(),i=r(a,!0);s(a),ot(()=>K(i,t(z))),u(e,a)},At=e=>{var a=se(),i=c(r(a));H(5),s(a),D("click",i,ct),u(e,a)},It=e=>{var a=re();u(e,a)},Rt=e=>{var a=ve(),i=r(a),n=c(r(i));Ht(n,5,()=>t(N),_=>_.id,(_,l)=>{var g=ce(),A=r(g),tt=r(A),x=r(tt),I=r(x,!0);s(x);var M=c(x,2);{var et=d=>{var v=le();u(d,v)};Q(M,d=>{t(l),b(()=>t(l).kind==="source")&&d(et)})}s(tt),s(A);var w=c(A),P=r(w),R=r(P,!0);s(P),s(w);var k=c(w),T=r(k);{var B=d=>{var v=oe();D("click",v,st=>xt(t(l),st)),u(d,v)},F=d=>{var v=ie();u(d,v)};Q(T,d=>{t(l),b(()=>t(l).hasAuth)?d(B):d(F,-1)})}s(k);var E=c(k),L=r(E);{var at=d=>{var v=ne();D("click",v,st=>kt(t(l),st)),u(d,v)},f=d=>{var v=de();u(d,v)};Q(L,d=>{t(l),b(()=>t(l).hasAuth)?d(at):d(f,-1)})}s(E),s(g),ot(()=>{O(g,"aria-label",`打开插件 ${t(l),b(()=>t(l).id)??""}`),K(I,(t(l),b(()=>t(l).id))),O(P,"title",(t(l),b(()=>t(l).listUrlPattern))),K(R,(t(l),b(()=>t(l).listUrlPattern)))}),D("click",g,()=>ut(t(l))),D("keydown",g,d=>$t(t(l),d)),u(_,g)}),s(n),s(i),s(a),u(e,a)};Q(Ut,e=>{t(G)?e(Ct):t(z)?e(St,1):(t($),b(()=>t($).length===0)?e(At,2):(t(N),b(()=>t(N).length===0)?e(It,3):e(Rt,-1)))})}s(ht),s(ft),s(V);var Tt=c(V,2);Wt(Tt,{get open(){return t(C)},onOpenChange:wt,children:(e,a)=>{Xt(e,{children:(i,n)=>{var _=pe(),l=lt(_);Yt(l,{class:"modal-overlay"});var g=c(l,2);Zt(g,{class:"modal","aria-describedby":void 0,children:(A,tt)=>{var x=ue(),I=lt(x),M=r(I);te(M,{class:"modal-title",children:(f,d)=>{H();var v=rt("添加插件");u(f,v)},$$slots:{default:!0}});var et=c(M,2);gt(et,{class:"modal-close","aria-label":"关闭",children:(f,d)=>{H();var v=rt("✕");u(f,v)},$$slots:{default:!0}}),s(I);var w=c(I,2),P=c(r(w),2),R=c(r(P),2);it(R),O(R,"spellcheck",!1),s(P);var k=c(P,2),T=c(r(k),2);it(T),O(T,"spellcheck",!1),s(k);var B=c(k,2),F=r(B),E=r(F);gt(E,{class:"btn-cancel",get disabled(){return t(S)},type:"button",children:(f,d)=>{H();var v=rt("取消");u(f,v)},$$slots:{default:!0}});var L=c(E,2),at=r(L,!0);s(L),s(F),s(B),s(w),ot(()=>{L.disabled=t(S),K(at,t(S)?"创建中…":"创建并打开编辑")}),Bt("submit",w,Pt),nt(R,()=>t(y),f=>o(y,f)),nt(T,()=>t(j),f=>o(j,f)),u(A,x)},$$slots:{default:!0}}),u(i,_)},$$slots:{default:!0}})},$$slots:{default:!0}}),nt(Y,()=>t(J),e=>o(J,e)),D("click",Z,ct),u(jt,pt),Nt()}Mt(["click","keydown"]);export{Re as component};
1
+ import{a as u,t as rt,f as p}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as Et}from"../chunks/Bp63qm3L.js";import{at as Lt,aC as bt,aD as Ot,f as lt,i as t,au as Nt,d as zt,av as r,az as ot,a5 as o,aw as c,z as h,$ as Jt,ax as s,U as b,ay as H}from"../chunks/BbWUOQ_m.js";import{d as Mt,a as D,e as Bt,s as K}from"../chunks/DMWEh-Ek.js";import{g as Ft}from"../chunks/D5GvRCv7.js";import{i as Q}from"../chunks/Dt2CddFe.js";import{e as Ht}from"../chunks/BQqoDzLx.js";import{h as Kt}from"../chunks/DEDI7Ecm.js";import{s as O,P as Qt,r as it}from"../chunks/B2Q1a1-H.js";import{b as nt}from"../chunks/Dw782Tjs.js";import{i as qt}from"../chunks/CVzlFH44.js";import{a as q}from"../chunks/CBY2biv-.js";import{p as Gt}from"../chunks/C85CNwD2.js";import{g as dt}from"../chunks/CdMsRjxJ.js";import{s as m}from"../chunks/tB7QMF3U.js";import{P as Vt}from"../chunks/CWNeClHp.js";import{D as Wt,P as Xt,a as Yt,b as Zt,c as te,d as gt}from"../chunks/mW5RwvnK.js";var ee=p('<div class="state svelte-1nj0iur">加载中…</div>'),ae=p('<div class="state error svelte-1nj0iur"> </div>'),se=p('<div class="state svelte-1nj0iur">暂无已加载插件。可 <button type="button" class="link-btn svelte-1nj0iur">添加插件</button> 从模板创建,或在 <code>app/plugins/builtin/</code>、<code>.rssany/plugins/</code> 放置 *.rssany.js / *.rssany.ts</div>'),re=p('<div class="state svelte-1nj0iur">无匹配结果</div>'),le=p('<span class="kind-badge svelte-1nj0iur">Source</span>'),oe=p('<button type="button" class="cell-btn cell-btn--primary svelte-1nj0iur">登录</button>'),ie=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),ne=p('<button type="button" class="cell-btn cell-btn--secondary svelte-1nj0iur">检查登录</button>'),de=p('<span class="cell-dash svelte-1nj0iur" title="未声明站点登录">—</span>'),ce=p('<tr class="plugin-row svelte-1nj0iur" tabindex="0"><td class="td-name svelte-1nj0iur"><div class="name-cell svelte-1nj0iur"><span class="plugin-id-text svelte-1nj0iur"> </span> <!></div></td><td class="td-pattern svelte-1nj0iur"><span class="pattern-text svelte-1nj0iur"> </span></td><td class="td-login svelte-1nj0iur"><!></td><td class="td-check svelte-1nj0iur"><!></td></tr>'),ve=p('<div class="plugin-table-wrap svelte-1nj0iur"><table class="plugin-table svelte-1nj0iur"><thead class="svelte-1nj0iur"><tr><th class="th-name svelte-1nj0iur" scope="col">插件名</th><th class="th-pattern svelte-1nj0iur" scope="col">匹配规则</th><th class="th-login svelte-1nj0iur" scope="col">登录</th><th class="th-check svelte-1nj0iur" scope="col">检查登录</th></tr></thead><tbody class="svelte-1nj0iur"></tbody></table></div>'),ue=p('<div class="modal-header svelte-1nj0iur"><!> <!></div> <form class="modal-body svelte-1nj0iur"><p class="add-hint svelte-1nj0iur">对于不支持RSS的站点,添加插件可以覆盖特定站点的解析规则</p> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">站点匹配规则</span> <input class="field-input svelte-1nj0iur" type="text" name="listUrlPattern" placeholder="例如 https://www.example.com/* 或 https://example.com/list/{segment}" autocomplete="off"/></div> <div class="field svelte-1nj0iur"><span class="field-label svelte-1nj0iur">插件 id</span> <input class="field-input svelte-1nj0iur" type="text" name="pluginId" placeholder="例如 my-site" autocomplete="off"/></div> <div class="modal-footer svelte-1nj0iur"><div class="modal-footer-right svelte-1nj0iur"><!> <button type="submit" class="btn-save svelte-1nj0iur"> </button></div></div></form>',1),pe=p("<!> <!>",1),fe=p('<div class="feed-wrap svelte-1nj0iur"><div class="feed-col svelte-1nj0iur"><div class="plugins-toolbar-block svelte-1nj0iur"><div class="feed-header svelte-1nj0iur"><div class="header-left svelte-1nj0iur"><input class="filter-input svelte-1nj0iur" type="search" placeholder="过滤…" autocomplete="off"/></div> <div class="header-right svelte-1nj0iur"><button type="button" class="btn-add svelte-1nj0iur" title="添加插件" aria-label="添加插件"><!></button></div></div></div> <div class="plugins-body-scroll svelte-1nj0iur"><!></div></div></div> <!>',1);function Re(jt,yt){Lt(yt,!1);const U=h(),N=h();let $=h([]),z=h(""),G=h(!0),C=h(!1),j=h(""),y=h(""),S=h(!1),J=h("");function ct(){o(j,""),o(y,""),o(C,!0)}function wt(e){o(C,e),e||(o(j,""),o(y,""))}async function Pt(e){e.preventDefault();const a=t(j).trim(),i=t(y).trim();if(!a){m("请填写插件 id","error");return}if(!i){m("请填写支持的站点(URL 或匹配规则)","error");return}o(S,!0);try{const n=await q("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,listUrlPattern:i})}),_=await n.text();let l={};try{l=_?JSON.parse(_):{}}catch{l={}}if(!n.ok){m(l.error||_||`HTTP ${n.status}`,"error");return}l.ok&&(m("已创建插件文件","success"),o(C,!1),o(j,""),o(y,""),await vt(),await dt("/plugins/"+encodeURIComponent(a)))}catch(n){m("请求失败: "+(n instanceof Error?n.message:String(n)),"error")}finally{o(S,!1)}}async function vt(){o(G,!0),o(z,"");try{const a=await(await q("/api/plugins")).json();o($,[...a].sort((i,n)=>(n.hasAuth?1:0)-(i.hasAuth?1:0)))}catch(e){o(z,"加载失败: "+(e instanceof Error?e.message:String(e)))}finally{o(G,!1)}}async function kt(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await q(`/auth/check?siteId=${encodeURIComponent(e.id)}`)).json();n.ok?m(`${e.id}:${n.authenticated?"✓ 已登录":"✗ 未登录"}`,n.authenticated?"success":"error"):m(n.message||"检查失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}function ut(e){dt("/plugins/"+encodeURIComponent(e.id))}function $t(e,a){(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),ut(e))}async function xt(e,a){a.preventDefault(),a.stopPropagation();try{const n=await(await q(`/auth/open?siteId=${encodeURIComponent(e.id)}`,{method:"POST"})).json();n.ok?m(n.message||"已打开登录页面","success"):m(n.message||"打开失败","error")}catch(i){m("请求失败: "+(i instanceof Error?i.message:String(i)),"error")}}Et(()=>{vt(),Ft(Gt).url.searchParams.get("openAdd")==="1"&&(o(j,""),o(y,""),o(C,!0),dt("/plugins",{replaceState:!0}))}),bt(()=>t(J),()=>{o(U,t(J).trim().toLowerCase())}),bt(()=>(t(U),t($)),()=>{o(N,t(U)?t($).filter(e=>e.id.toLowerCase().includes(t(U))||e.listUrlPattern.toLowerCase().includes(t(U))):t($))}),Ot(),qt();var pt=fe();Kt("1nj0iur",e=>{zt(()=>{Jt.title=`插件 - ${Qt}`})});var V=lt(pt),ft=r(V),W=r(ft),mt=r(W),X=r(mt),Y=r(X);it(Y),O(Y,"spellcheck",!1),s(X);var _t=c(X,2),Z=r(_t),Dt=r(Z);Vt(Dt,{size:16,"aria-hidden":"true"}),s(Z),s(_t),s(mt),s(W);var ht=c(W,2),Ut=r(ht);{var Ct=e=>{var a=ee();u(e,a)},St=e=>{var a=ae(),i=r(a,!0);s(a),ot(()=>K(i,t(z))),u(e,a)},At=e=>{var a=se(),i=c(r(a));H(5),s(a),D("click",i,ct),u(e,a)},It=e=>{var a=re();u(e,a)},Rt=e=>{var a=ve(),i=r(a),n=c(r(i));Ht(n,5,()=>t(N),_=>_.id,(_,l)=>{var g=ce(),A=r(g),tt=r(A),x=r(tt),I=r(x,!0);s(x);var M=c(x,2);{var et=d=>{var v=le();u(d,v)};Q(M,d=>{t(l),b(()=>t(l).kind==="source")&&d(et)})}s(tt),s(A);var w=c(A),P=r(w),R=r(P,!0);s(P),s(w);var k=c(w),T=r(k);{var B=d=>{var v=oe();D("click",v,st=>xt(t(l),st)),u(d,v)},F=d=>{var v=ie();u(d,v)};Q(T,d=>{t(l),b(()=>t(l).hasAuth)?d(B):d(F,-1)})}s(k);var E=c(k),L=r(E);{var at=d=>{var v=ne();D("click",v,st=>kt(t(l),st)),u(d,v)},f=d=>{var v=de();u(d,v)};Q(L,d=>{t(l),b(()=>t(l).hasAuth)?d(at):d(f,-1)})}s(E),s(g),ot(()=>{O(g,"aria-label",`打开插件 ${t(l),b(()=>t(l).id)??""}`),K(I,(t(l),b(()=>t(l).id))),O(P,"title",(t(l),b(()=>t(l).listUrlPattern))),K(R,(t(l),b(()=>t(l).listUrlPattern)))}),D("click",g,()=>ut(t(l))),D("keydown",g,d=>$t(t(l),d)),u(_,g)}),s(n),s(i),s(a),u(e,a)};Q(Ut,e=>{t(G)?e(Ct):t(z)?e(St,1):(t($),b(()=>t($).length===0)?e(At,2):(t(N),b(()=>t(N).length===0)?e(It,3):e(Rt,-1)))})}s(ht),s(ft),s(V);var Tt=c(V,2);Wt(Tt,{get open(){return t(C)},onOpenChange:wt,children:(e,a)=>{Xt(e,{children:(i,n)=>{var _=pe(),l=lt(_);Yt(l,{class:"modal-overlay"});var g=c(l,2);Zt(g,{class:"modal","aria-describedby":void 0,children:(A,tt)=>{var x=ue(),I=lt(x),M=r(I);te(M,{class:"modal-title",children:(f,d)=>{H();var v=rt("添加插件");u(f,v)},$$slots:{default:!0}});var et=c(M,2);gt(et,{class:"modal-close","aria-label":"关闭",children:(f,d)=>{H();var v=rt("✕");u(f,v)},$$slots:{default:!0}}),s(I);var w=c(I,2),P=c(r(w),2),R=c(r(P),2);it(R),O(R,"spellcheck",!1),s(P);var k=c(P,2),T=c(r(k),2);it(T),O(T,"spellcheck",!1),s(k);var B=c(k,2),F=r(B),E=r(F);gt(E,{class:"btn-cancel",get disabled(){return t(S)},type:"button",children:(f,d)=>{H();var v=rt("取消");u(f,v)},$$slots:{default:!0}});var L=c(E,2),at=r(L,!0);s(L),s(F),s(B),s(w),ot(()=>{L.disabled=t(S),K(at,t(S)?"创建中…":"创建并打开编辑")}),Bt("submit",w,Pt),nt(R,()=>t(y),f=>o(y,f)),nt(T,()=>t(j),f=>o(j,f)),u(A,x)},$$slots:{default:!0}}),u(i,_)},$$slots:{default:!0}})},$$slots:{default:!0}}),nt(Y,()=>t(J),e=>o(J,e)),D("click",Z,ct),u(jt,pt),Nt()}Mt(["click","keydown"]);export{Re as component};
@@ -1 +1 @@
1
- import{a,f as p}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as m}from"../chunks/Bp63qm3L.js";import{at as e,au as s,X as i,$ as f}from"../chunks/BbWUOQ_m.js";import{h as n}from"../chunks/DEDI7Ecm.js";import{i as c}from"../chunks/CVzlFH44.js";import{g as d}from"../chunks/BXCWEhUd.js";var h=p('<p class="redirect-msg svelte-1b0rhdm">正在打开添加插件…</p>');function A(o,r){e(r,!1),m(()=>{d("/plugins?openAdd=1",{replaceState:!0})}),c();var t=h();n("1b0rhdm",l=>{i(()=>{f.title="插件"})}),a(o,t),s()}export{A as component};
1
+ import{a,f as p}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as m}from"../chunks/Bp63qm3L.js";import{at as e,au as s,X as i,$ as f}from"../chunks/BbWUOQ_m.js";import{h as n}from"../chunks/DEDI7Ecm.js";import{i as c}from"../chunks/CVzlFH44.js";import{g as d}from"../chunks/CdMsRjxJ.js";var h=p('<p class="redirect-msg svelte-1b0rhdm">正在打开添加插件…</p>');function A(o,r){e(r,!1),m(()=>{d("/plugins?openAdd=1",{replaceState:!0})}),c();var t=h();n("1b0rhdm",l=>{i(()=>{f.title="插件"})}),a(o,t),s()}export{A as component};
@@ -1,4 +1,4 @@
1
- import{a as Ye,f as Kt,t as wi}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as fh,au as uh,aC as al,aD as Qu,az as vi,i as B,d as ku,z as Dt,a5 as xe,$ as wu,av as Xe,ax as Le,aw as gn,u as vu,U as $u}from"../chunks/BbWUOQ_m.js";import{s as Pu,a as Tu}from"../chunks/DjNLq3TF.js";import{s as $i,e as Cu}from"../chunks/DMWEh-Ek.js";import{i as yn}from"../chunks/Dt2CddFe.js";import{k as Zu}from"../chunks/Cihqbfi5.js";import{h as Au}from"../chunks/DEDI7Ecm.js";import{i as Mu}from"../chunks/CVzlFH44.js";import{P as Ru}from"../chunks/B2Q1a1-H.js";import{a as hl}from"../chunks/CBY2biv-.js";import{p as Xu}from"../chunks/DcAshVxe.js";import{s as cl}from"../chunks/tB7QMF3U.js";import{o as Lu}from"../chunks/Bp63qm3L.js";import{b as Du}from"../chunks/Xy_fhzQq.js";import{p as fl}from"../chunks/xtNWTdbD.js";import{B as Wu}from"../chunks/EIZIMsXK.js";let kr=[],dh=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?dh:kr).push(t=t+n[e])})();function Eu(n){if(n<768)return!1;for(let e=0,t=kr.length;;){let i=e+t>>1;if(n<kr[i])t=i;else if(n>=dh[i])e=i+1;else return!0;if(e==t)return!1}}function ul(n){return n>=127462&&n<=127487}const dl=8205;function _u(n,e,t=!0,i=!0){return(t?Oh:zu)(n,e,i)}function Oh(n,e,t){if(e==n.length)return e;e&&ph(n.charCodeAt(e))&&mh(n.charCodeAt(e-1))&&e--;let i=qs(n,e);for(e+=Ol(i);e<n.length;){let s=qs(n,e);if(i==dl||s==dl||t&&Eu(s))e+=Ol(s),i=s;else if(ul(s)){let r=0,o=e-2;for(;o>=0&&ul(qs(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function zu(n,e,t){for(;e>0;){let i=Oh(n,e-2,t);if(i<e)return i;e--}return 0}function qs(n,e){let t=n.charCodeAt(e);if(!mh(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ph(i)?(t-55296<<10)+(i-56320)+65536:t}function ph(n){return n>=56320&&n<57344}function mh(n){return n>=55296&&n<56320}function Ol(n){return n<65536?1:2}class Y{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=di(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),rt.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=di(this,e,t);let i=[];return this.decompose(e,t,i,0),rt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new Wi(this),r=new Wi(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new gh(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new yh(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Y.empty:e.length<=32?new ee(e):rt.from(ee.split(e,[]))}}class ee extends Y{constructor(e,t=Yu(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new Bu(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new ee(pl(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=Bn(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new ee(l,o.length+r.length));else{let a=l.length>>1;i.push(new ee(l.slice(0,a)),new ee(l.slice(a)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof ee))return super.replace(e,t,i);[e,t]=di(this,e,t);let s=Bn(this.text,Bn(i.text,pl(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new ee(s,r):rt.from(ee.split(s,[]),r)}sliceString(e,t=this.length,i=`
1
+ import{a as Ye,f as Kt,t as wi}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as fh,au as uh,aC as al,aD as Qu,az as vi,i as B,d as ku,z as Dt,a5 as xe,$ as wu,av as Xe,ax as Le,aw as gn,u as vu,U as $u}from"../chunks/BbWUOQ_m.js";import{s as Pu,a as Tu}from"../chunks/DjNLq3TF.js";import{s as $i,e as Cu}from"../chunks/DMWEh-Ek.js";import{i as yn}from"../chunks/Dt2CddFe.js";import{k as Zu}from"../chunks/Cihqbfi5.js";import{h as Au}from"../chunks/DEDI7Ecm.js";import{i as Mu}from"../chunks/CVzlFH44.js";import{P as Ru}from"../chunks/B2Q1a1-H.js";import{a as hl}from"../chunks/CBY2biv-.js";import{p as Xu}from"../chunks/C85CNwD2.js";import{s as cl}from"../chunks/tB7QMF3U.js";import{o as Lu}from"../chunks/Bp63qm3L.js";import{b as Du}from"../chunks/Xy_fhzQq.js";import{p as fl}from"../chunks/xtNWTdbD.js";import{B as Wu}from"../chunks/CllQAdvt.js";let kr=[],dh=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?dh:kr).push(t=t+n[e])})();function Eu(n){if(n<768)return!1;for(let e=0,t=kr.length;;){let i=e+t>>1;if(n<kr[i])t=i;else if(n>=dh[i])e=i+1;else return!0;if(e==t)return!1}}function ul(n){return n>=127462&&n<=127487}const dl=8205;function _u(n,e,t=!0,i=!0){return(t?Oh:zu)(n,e,i)}function Oh(n,e,t){if(e==n.length)return e;e&&ph(n.charCodeAt(e))&&mh(n.charCodeAt(e-1))&&e--;let i=qs(n,e);for(e+=Ol(i);e<n.length;){let s=qs(n,e);if(i==dl||s==dl||t&&Eu(s))e+=Ol(s),i=s;else if(ul(s)){let r=0,o=e-2;for(;o>=0&&ul(qs(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function zu(n,e,t){for(;e>0;){let i=Oh(n,e-2,t);if(i<e)return i;e--}return 0}function qs(n,e){let t=n.charCodeAt(e);if(!mh(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ph(i)?(t-55296<<10)+(i-56320)+65536:t}function ph(n){return n>=56320&&n<57344}function mh(n){return n>=55296&&n<56320}function Ol(n){return n<65536?1:2}class Y{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=di(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),rt.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=di(this,e,t);let i=[];return this.decompose(e,t,i,0),rt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new Wi(this),r=new Wi(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new gh(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new yh(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Y.empty:e.length<=32?new ee(e):rt.from(ee.split(e,[]))}}class ee extends Y{constructor(e,t=Yu(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new Bu(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new ee(pl(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=Bn(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new ee(l,o.length+r.length));else{let a=l.length>>1;i.push(new ee(l.slice(0,a)),new ee(l.slice(a)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof ee))return super.replace(e,t,i);[e,t]=di(this,e,t);let s=Bn(this.text,Bn(i.text,pl(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new ee(s,r):rt.from(ee.split(s,[]),r)}sliceString(e,t=this.length,i=`
2
2
  `){[e,t]=di(this,e,t);let s="";for(let r=0,o=0;r<=t&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>e&&o&&(s+=i),e<a&&t>r&&(s+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let r of e)i.push(r),s+=r.length+1,i.length==32&&(t.push(new ee(i,s)),i=[],s=-1);return s>-1&&t.push(new ee(i,s)),t}}class rt extends Y{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=a+1}}decompose(e,t,i,s){for(let r=0,o=0;o<=t&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(e<=a&&t>=o){let h=s&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=di(this,e,t),i.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let o=this.children[s],l=r+o.length;if(e>=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let c=this.children.slice();return c[s]=a,new rt(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
3
3
  `){[e,t]=di(this,e,t);let s="";for(let r=0,o=0;r<this.children.length&&o<=t;r++){let l=this.children[r],a=o+l.length;o>e&&r&&(s+=i),e<a&&t>o&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof rt))return 0;let i=0,[s,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==l)return i;let a=this.children[s],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let O of e)O.flatten(d);return new ee(d,t)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(d){let O;if(d.lines>r&&d instanceof rt)for(let p of d.children)f(p);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof ee&&a&&(O=c[c.length-1])instanceof ee&&d.lines+O.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new ee(O.text.concat(d.text),O.length+1+d.length)):(a+d.lines>s&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:rt.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new rt(l,t)}}Y.empty=new ee([""],0);function Yu(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Bn(n,e,t=0,i=1e9){for(let s=0,r=0,o=!0;r<n.length&&s<=i;r++){let l=n[r],a=s+l.length;a>=t&&(a>i&&(l=l.slice(0,i-s)),s<t&&(l=l.slice(t-s)),o?(e[e.length-1]+=l,o=!1):e.push(l)),s=a+1}return e}function pl(n,e,t){return Bn(n,[""],e,t)}class Wi{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof ee?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof ee?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
4
4
  `,this;e--}else if(s instanceof ee){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof ee?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class gh{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Wi(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class yh{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},Wi.prototype[Symbol.iterator]=gh.prototype[Symbol.iterator]=yh.prototype[Symbol.iterator]=function(){return this});class Bu{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}function di(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function he(n,e,t=!0,i=!0){return _u(n,e,t,i)}function qu(n){return n>=56320&&n<57344}function Vu(n){return n>=55296&&n<56320}function ve(n,e){let t=n.charCodeAt(e);if(!Vu(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return qu(i)?(t-55296<<10)+(i-56320)+65536:t}function bo(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function ot(n){return n<65536?1:2}const wr=/\r\n?|\n/;var de=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(de||(de={}));class ut{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?(e(i,s,r),s+=r):s+=o,i+=r}}iterChangedRanges(e,t=!1){vr(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s,i)}return new ut(e)}composeDesc(e){return this.empty?e:e.empty?this:xh(this,e)}mapDesc(e,t=!1){return e.empty?this:$r(this,e,t)}mapPos(e,t=-1,i=de.Simple){let s=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=s+l;if(a<0){if(h>e)return r+(e-s);r+=l}else{if(i!=de.Simple&&h>=e&&(i==de.TrackDel&&s<e&&h>e||i==de.TrackBefore&&s<e||i==de.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!l)return e==s||t<0?r:r+a;r+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return r}touchesRange(e,t=e){for(let i=0,s=0;i<this.sections.length&&s<=t;){let r=this.sections[i++],o=this.sections[i++],l=s+r;if(o>=0&&s<=t&&l>=e)return s<e&&l>t?"cover":!0;s=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];e+=(e?" ":"")+i+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ut(e)}static create(e){return new ut(e)}}class oe extends ut{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return vr(this,(t,i,s,r,o)=>e=e.replace(s,s+(i-t),o),!1),e}mapDesc(e,t=!1){return $r(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,r=0;s<t.length;s+=2){let o=t[s],l=t[s+1];if(l>=0){t[s]=l,t[s+1]=o;let a=s>>1;for(;i.length<a;)i.push(Y.empty);i.push(o?e.slice(r,r+o):Y.empty)}r+=o}return new oe(t,i)}compose(e){return this.empty?e:e.empty?this:xh(this,e,!0)}map(e,t=!1){return e.empty?this:$r(this,e,t,!0)}iterChanges(e,t=!1){vr(this,e,t)}get desc(){return ut.create(this.sections)}filter(e){let t=[],i=[],s=[],r=new Vi(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++];for(;l<a||l==a&&r.len==0;){if(r.done)break e;let c=Math.min(r.len,a-l);me(s,c,-1);let f=r.ins==-1?-1:r.off==0?r.ins:0;me(t,c,f),f>0&&vt(i,t,r.text),r.forward(c),l+=c}let h=e[o++];for(;l<h;){if(r.done)break e;let c=Math.min(r.len,h-l);me(t,c,-1),me(s,c,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(c),l+=c}}return{changes:new oe(t,i),filtered:ut.create(s)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],s=this.sections[t+1];s<0?e.push(i):s==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let s=[],r=[],o=0,l=null;function a(c=!1){if(!c&&!s.length)return;o<t&&me(s,t-o,-1);let f=new oe(s,r);l=l?l.compose(f.map(l)):f,s=[],r=[],o=0}function h(c){if(Array.isArray(c))for(let f of c)h(f);else if(c instanceof oe){if(c.length!=t)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${t})`);a(),l=l?l.compose(c.map(l)):c}else{let{from:f,to:u=f,insert:d}=c;if(f>u||f<0||u>t)throw new RangeError(`Invalid change range ${f} to ${u} (in doc of length ${t})`);let O=d?typeof d=="string"?Y.of(d.split(i||wr)):d:Y.empty,p=O.length;if(f==u&&p==0)return;f<o&&a(),f>o&&me(s,f-o,-1),me(s,u-f,p),vt(r,s,O),o=u}}return h(e),a(!l),l}static empty(e){return new oe(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let s=0;s<e.length;s++){let r=e[s];if(typeof r=="number")t.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;i.length<s;)i.push(Y.empty);i[s]=Y.of(r.slice(1)),t.push(r[0],i[s].length)}}}return new oe(t,i)}static createSet(e,t){return new oe(e,t)}}function me(n,e,t,i=!1){if(e==0&&t<=0)return;let s=n.length-2;s>=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:i?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function vt(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(Y.empty);n.push(t)}}function vr(n,e,t){let i=n.inserted;for(let s=0,r=0,o=0;o<n.sections.length;){let l=n.sections[o++],a=n.sections[o++];if(a<0)s+=l,r+=l;else{let h=s,c=r,f=Y.empty;for(;h+=l,c+=a,a&&i&&(f=f.append(i[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)l=n.sections[o++],a=n.sections[o++];e(s,h,r,c,f),s=h,r=c}}}function $r(n,e,t,i=!1){let s=[],r=i?[]:null,o=new Vi(n),l=new Vi(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let h=Math.min(o.len,l.len);me(s,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!t))){let h=l.len;for(me(s,l.ins,-1);h;){let c=Math.min(o.len,h);o.ins>=0&&a<o.i&&o.len<=c&&(me(s,0,o.ins),r&&vt(r,s,o.text),a=o.i),o.forward(c),h-=c}l.next()}else if(o.ins>=0){let h=0,c=o.len;for(;c;)if(l.ins==-1){let f=Math.min(c,l.len);h+=f,c-=f,l.forward(f)}else if(l.ins==0&&l.len<c)c-=l.len,l.next();else break;me(s,h,a<o.i?o.ins:0),r&&a<o.i&&vt(r,s,o.text),a=o.i,o.forward(o.len-c)}else{if(o.done&&l.done)return r?oe.createSet(s,r):ut.create(s);throw new Error("Mismatched change set lengths")}}}function xh(n,e,t=!1){let i=[],s=t?[]:null,r=new Vi(n),o=new Vi(e);for(let l=!1;;){if(r.done&&o.done)return s?oe.createSet(i,s):ut.create(i);if(r.ins==0)me(i,r.len,0,l),r.next();else if(o.len==0&&!o.done)me(i,0,o.ins,l),s&&vt(s,i,o.text),o.next();else{if(r.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(r.len2,o.len),h=i.length;if(r.ins==-1){let c=o.ins==-1?-1:o.off?0:o.ins;me(i,a,c,l),s&&c&&vt(s,i,o.text)}else o.ins==-1?(me(i,r.off?0:r.len,a,l),s&&vt(s,i,r.textBit(a))):(me(i,r.off?0:r.len,o.off?0:o.ins,l),s&&!o.off&&vt(s,i,o.text));l=(r.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>h),r.forward2(a),o.forward(a)}}}}class Vi{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?Y.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?Y.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Yt{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,s;return this.empty?i=s=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new Yt(i,s,this.flags)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return x.range(e,t,void 0,void 0,i);let s=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return x.range(this.anchor,s,void 0,void 0,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return x.range(e.anchor,e.head)}static create(e,t,i){return new Yt(e,t,i)}}class x{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:x.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new x([this.main],0)}addRange(e,t=!0){return x.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,x.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new x(e.ranges.map(t=>Yt.fromJSON(t)),e.main)}static single(e,t=e){return new x([x.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;s<e.length;s++){let r=e[s];if(r.empty?r.from<=i:r.from<i)return x.normalized(e.slice(),t);i=r.to}return new x(e,t)}static cursor(e,t=0,i,s){return Yt.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i))|(s??16777215)<<6)}static range(e,t,i,s,r){let o=(i??16777215)<<6|(s==null?7:Math.min(6,s));return!r&&e!=t&&(r=t<e?1:-1),t<e?Yt.create(t,e,48|o):Yt.create(e,t,(r?r<0?8:16:0)|o)}static normalized(e,t=0){let i=e[t];e.sort((s,r)=>s.from-r.from),t=e.indexOf(i);for(let s=1;s<e.length;s++){let r=e[s],o=e[s-1];if(r.empty?r.from<=o.to:r.from<o.to){let l=o.from,a=Math.max(r.to,o.to);s<=t&&t--,e.splice(--s,2,r.anchor>r.head?x.range(a,l):x.range(l,a))}}return new x(e,t)}}function bh(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let So=0;class P{constructor(e,t,i,s,r){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=s,this.id=So++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new P(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Qo),!!e.static,e.enables)}of(e){return new qn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new qn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new qn(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Qo(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class qn{constructor(e,t,i,s){this.dependencies=e,this.facet=t,this.type=i,this.value=s,this.id=So++}dynamicSlot(e){var t;let i=this.value,s=this.facet.compareInput,r=this.id,o=e[r]>>1,l=this.type==2,a=!1,h=!1,c=[];for(let f of this.dependencies)f=="doc"?a=!0:f=="selection"?h=!0:(((t=e[f.id])!==null&&t!==void 0?t:1)&1)==0&&c.push(e[f.id]);return{create(f){return f.values[o]=i(f),1},update(f,u){if(a&&u.docChanged||h&&(u.docChanged||u.selection)||Pr(f,c)){let d=i(f);if(l?!ml(d,f.values[o],s):!s(d,f.values[o]))return f.values[o]=d,1}return 0},reconfigure:(f,u)=>{let d,O=u.config.address[r];if(O!=null){let p=Jn(u,O);if(this.dependencies.every(g=>g instanceof P?u.facet(g)===f.facet(g):g instanceof pe?u.field(g,!1)==f.field(g,!1):!0)||(l?ml(d=i(f),p,s):s(d=i(f),p)))return f.values[o]=p,0}else d=i(f);return f.values[o]=d,1}}}}function ml(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Pr(n,e){let t=!1;for(let i of e)Ei(n,i)&1&&(t=!0);return t}function Iu(n,e,t){let i=t.map(a=>n[a.id]),s=t.map(a=>a.type),r=i.filter(a=>!(a&1)),o=n[e.id]>>1;function l(a){let h=[];for(let c=0;c<i.length;c++){let f=Jn(a,i[c]);if(s[c]==2)for(let u of f)h.push(u);else h.push(f)}return e.combine(h)}return{create(a){for(let h of i)Ei(a,h);return a.values[o]=l(a),1},update(a,h){if(!Pr(a,r))return 0;let c=l(a);return e.compare(c,a.values[o])?0:(a.values[o]=c,1)},reconfigure(a,h){let c=Pr(a,i),f=h.config.facets[e.id],u=h.facet(e);if(f&&!c&&Qo(t,f))return a.values[o]=u,0;let d=l(a);return e.compare(d,u)?(a.values[o]=u,0):(a.values[o]=d,1)}}}const xn=P.define({static:!0});class pe{constructor(e,t,i,s,r){this.id=e,this.createF=t,this.updateF=i,this.compareF=s,this.spec=r,this.provides=void 0}static define(e){let t=new pe(So++,e.create,e.update,e.compare||((i,s)=>i===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(xn).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,s)=>{let r=i.values[t],o=this.updateF(r,s);return this.compareF(r,o)?0:(i.values[t]=o,1)},reconfigure:(i,s)=>{let r=i.facet(xn),o=s.facet(xn),l;return(l=r.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[t]=l.create(i),1):s.config.address[this.id]!=null?(i.values[t]=s.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,xn.of({field:this,create:e})]}get extension(){return this}}const _t={lowest:4,low:3,default:2,high:1,highest:0};function Pi(n){return e=>new Sh(e,n)}const Xt={highest:Pi(_t.highest),high:Pi(_t.high),default:Pi(_t.default),low:Pi(_t.low),lowest:Pi(_t.lowest)};class Sh{constructor(e,t){this.inner=e,this.prec=t}}class Ps{of(e){return new Tr(this,e)}reconfigure(e){return Ps.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Tr{constructor(e,t){this.compartment=e,this.inner=t}}class Kn{constructor(e,t,i,s,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=s,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let s=[],r=Object.create(null),o=new Map;for(let u of ju(e,t,o))u instanceof pe?s.push(u):(r[u.facet.id]||(r[u.facet.id]=[])).push(u);let l=Object.create(null),a=[],h=[];for(let u of s)l[u.id]=h.length<<1,h.push(d=>u.slot(d));let c=i==null?void 0:i.config.facets;for(let u in r){let d=r[u],O=d[0].facet,p=c&&c[u]||[];if(d.every(g=>g.type==0))if(l[O.id]=a.length<<1|1,Qo(p,d))a.push(i.facet(O));else{let g=O.combine(d.map(y=>y.value));a.push(i&&O.compare(g,i.facet(O))?i.facet(O):g)}else{for(let g of d)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=h.length<<1,h.push(y=>g.dynamicSlot(y)));l[O.id]=h.length<<1,h.push(g=>Iu(g,O,d))}}let f=h.map(u=>u(l));return new Kn(e,o,f,l,a,r)}}function ju(n,e,t){let i=[[],[],[],[],[]],s=new Map;function r(o,l){let a=s.get(o);if(a!=null){if(a<=l)return;let h=i[a].indexOf(o);h>-1&&i[a].splice(h,1),o instanceof Tr&&t.delete(o.compartment)}if(s.set(o,l),Array.isArray(o))for(let h of o)r(h,l);else if(o instanceof Tr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(o.compartment)||o.inner;t.set(o.compartment,h),r(h,l)}else if(o instanceof Sh)r(o.inner,o.prec);else if(o instanceof pe)i[l].push(o),o.provides&&r(o.provides,l);else if(o instanceof qn)i[l].push(o),o.facet.extensions&&r(o.facet.extensions,_t.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(h,l)}}return r(n,_t.default),i.reduce((o,l)=>o.concat(l))}function Ei(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function Jn(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Qh=P.define(),Cr=P.define({combine:n=>n.some(e=>e),static:!0}),kh=P.define({combine:n=>n.length?n[0]:void 0,static:!0}),wh=P.define(),vh=P.define(),$h=P.define(),Ph=P.define({combine:n=>n.length?n[0]:!1});class St{constructor(e,t){this.type=e,this.value=t}static define(){return new Nu}}class Nu{of(e){return new St(this,e)}}class Gu{constructor(e){this.map=e}of(e){return new R(this,e)}}class R{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new R(this.type,t)}is(e){return this.type==e}static define(e={}){return new Gu(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let s of e){let r=s.map(t);r&&i.push(r)}return i}}R.reconfigure=R.define();R.appendConfig=R.define();class ne{constructor(e,t,i,s,r,o){this.startState=e,this.changes=t,this.selection=i,this.effects=s,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i&&bh(i,t.newLength),r.some(l=>l.type==ne.time)||(this.annotations=r.concat(ne.time.of(Date.now())))}static create(e,t,i,s,r,o){return new ne(e,t,i,s,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(ne.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}ne.time=St.define();ne.userEvent=St.define();ne.addToHistory=St.define();ne.remote=St.define();function Uu(n,e){let t=[];for(let i=0,s=0;;){let r,o;if(i<n.length&&(s==e.length||e[s]>=n[i]))r=n[i++],o=n[i++];else if(s<e.length)r=e[s++],o=e[s++];else return t;!t.length||t[t.length-1]<r?t.push(r,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Th(n,e,t){var i;let s,r,o;return t?(s=e.changes,r=oe.empty(e.changes.length),o=n.changes.compose(e.changes)):(s=e.changes.map(n.changes),r=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(s)),{changes:o,selection:e.selection?e.selection.map(r):(i=n.selection)===null||i===void 0?void 0:i.map(s),effects:R.mapEffects(n.effects,s).concat(R.mapEffects(e.effects,r)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Zr(n,e,t){let i=e.selection,s=oi(e.annotations);return e.userEvent&&(s=s.concat(ne.userEvent.of(e.userEvent))),{changes:e.changes instanceof oe?e.changes:oe.of(e.changes||[],t,n.facet(kh)),selection:i&&(i instanceof x?i:x.single(i.anchor,i.head)),effects:oi(e.effects),annotations:s,scrollIntoView:!!e.scrollIntoView}}function Ch(n,e,t){let i=Zr(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let r=1;r<e.length;r++){e[r].filter===!1&&(t=!1);let o=!!e[r].sequential;i=Th(i,Zr(n,e[r],o?i.changes.newLength:n.doc.length),o)}let s=ne.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Hu(t?Fu(s):s)}function Fu(n){let e=n.startState,t=!0;for(let s of e.facet(wh)){let r=s(n);if(r===!1){t=!1;break}Array.isArray(r)&&(t=t===!0?r:Uu(t,r))}if(t!==!0){let s,r;if(t===!1)r=n.changes.invertedDesc,s=oe.empty(e.doc.length);else{let o=n.changes.filter(t);s=o.changes,r=o.filtered.mapDesc(o.changes).invertedDesc}n=ne.create(e,s,n.selection&&n.selection.map(r),R.mapEffects(n.effects,r),n.annotations,n.scrollIntoView)}let i=e.facet(vh);for(let s=i.length-1;s>=0;s--){let r=i[s](n);r instanceof ne?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof ne?n=r[0]:n=Ch(e,oi(r),!1)}return n}function Hu(n){let e=n.startState,t=e.facet($h),i=n;for(let s=t.length-1;s>=0;s--){let r=t[s](n);r&&Object.keys(r).length&&(i=Th(i,Zr(e,r,n.changes.newLength),!0))}return i==n?n:ne.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const Ku=[];function oi(n){return n==null?Ku:Array.isArray(n)?n:[n]}var H=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(H||(H={}));const Ju=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Ar;try{Ar=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ed(n){if(Ar)return Ar.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||Ju.test(t)))return!0}return!1}function td(n){return e=>{if(!/\S/.test(e))return H.Space;if(ed(e))return H.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return H.Word;return H.Other}}class q{constructor(e,t,i,s,r,o){this.config=e,this.doc=t,this.selection=i,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)Ei(this,l<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return Ei(this,i),Jn(this,i)}update(...e){return Ch(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:s}=t;for(let l of e.effects)l.is(Ps.reconfigure)?(t&&(s=new Map,t.compartments.forEach((a,h)=>s.set(h,a)),t=null),s.set(l.value.compartment,l.value.extension)):l.is(R.reconfigure)?(t=null,i=l.value):l.is(R.appendConfig)&&(t=null,i=oi(i).concat(l.value));let r;t?r=e.startState.values.slice():(t=Kn.resolve(i,s,this),r=new q(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=e.startState.facet(Cr)?e.newSelection:e.newSelection.asSingle();new q(t,e.newDoc,o,r,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:x.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),s=this.changes(i.changes),r=[i.range],o=oi(i.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),h=this.changes(a.changes),c=h.map(s);for(let u=0;u<l;u++)r[u]=r[u].map(c);let f=s.mapDesc(h,!0);r.push(a.range.map(f)),s=s.compose(c),o=R.mapEffects(o,c).concat(R.mapEffects(oi(a.effects),f))}return{changes:s,selection:x.create(r,t.mainIndex),effects:o}}changes(e=[]){return e instanceof oe?e:oe.of(e,this.doc.length,this.facet(q.lineSeparator))}toText(e){return Y.of(e.split(this.facet(q.lineSeparator)||wr))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Ei(this,t),Jn(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let s=e[i];s instanceof pe&&this.config.address[s.id]!=null&&(t[i]=s.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let s=[];if(i){for(let r in i)if(Object.prototype.hasOwnProperty.call(e,r)){let o=i[r],l=e[r];s.push(o.init(a=>o.spec.fromJSON(l,a)))}}return q.create({doc:e.doc,selection:x.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=Kn.resolve(e.extensions||[],new Map),i=e.doc instanceof Y?e.doc:Y.of((e.doc||"").split(t.staticFacet(q.lineSeparator)||wr)),s=e.selection?e.selection instanceof x?e.selection:x.single(e.selection.anchor,e.selection.head):x.single(0);return bh(s,i.length),t.staticFacet(Cr)||(s=s.asSingle()),new q(t,i,s,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(q.tabSize)}get lineBreak(){return this.facet(q.lineSeparator)||`
@@ -1 +1 @@
1
- import{a as t,f as r}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{d as m,$ as s}from"../chunks/BbWUOQ_m.js";import{h as p}from"../chunks/DEDI7Ecm.js";import{S as n}from"../chunks/CkUAV0m0.js";import{P as f}from"../chunks/B2Q1a1-H.js";var i=r('<meta name="description" content="Subscribed sources: labels, counts, pull and manage feeds."/>');function S(e){p("1uha8ag",o=>{var a=i();m(()=>{s.title=`Sources — ${f}`}),t(o,a)}),n(e,{})}export{S as component};
1
+ import{a as t,f as r}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{d as m,$ as s}from"../chunks/BbWUOQ_m.js";import{h as p}from"../chunks/DEDI7Ecm.js";import{S as n}from"../chunks/Dv1VCsiB.js";import{P as f}from"../chunks/B2Q1a1-H.js";var i=r('<meta name="description" content="Subscribed sources: labels, counts, pull and manage feeds."/>');function S(e){p("1uha8ag",o=>{var a=i();m(()=>{s.title=`Sources — ${f}`}),t(o,a)}),n(e,{})}export{S as component};
@@ -1 +1 @@
1
- import{a as p,f as u}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as V}from"../chunks/Bp63qm3L.js";import{at as W,az as X,au as Y,d as Z,i as s,z as h,av as r,aw as c,$ as ee,ax as i,a5 as a,f as U,ay as z}from"../chunks/BbWUOQ_m.js";import{e as A,s as B}from"../chunks/DMWEh-Ek.js";import{i as E}from"../chunks/Dt2CddFe.js";import{h as te}from"../chunks/DEDI7Ecm.js";import{P as se,r as J}from"../chunks/B2Q1a1-H.js";import{b as L}from"../chunks/Dw782Tjs.js";import{i as ae}from"../chunks/CVzlFH44.js";import{B as oe}from"../chunks/EIZIMsXK.js";import{b as x}from"../chunks/CBY2biv-.js";import{s as m}from"../chunks/tB7QMF3U.js";var re=u('<p class="hint svelte-bhaf7m">加载中…</p>'),ie=u('<input type="url" class="url-input svelte-bhaf7m" placeholder="https://downstream.example.com/ingest"/> <p class="hint svelte-bhaf7m">保存后生效;测试会发送一条示例条目,不写本地库。</p>',1),ne=u('<p class="hint svelte-bhaf7m">加载中…</p>'),le=u('<input type="password" class="url-input svelte-bhaf7m" placeholder="与下游 token.txt 内容一致,留空则不发送 Authorization" autocomplete="off"/> <p class="hint svelte-bhaf7m">非空时出站请求携带 Bearer;清空并保存可从配置中移除 token 字段。</p>',1),ce=u('<div class="feed-wrap svelte-bhaf7m"><div class="feed-col svelte-bhaf7m"><div class="body svelte-bhaf7m"><!> <p class="intro svelte-bhaf7m">非空时,在<strong>正常入库与 Pipeline 完成之后</strong>,会<strong>额外</strong>将本批条目以 JSON POST 到该 URL(请求体含 <code class="svelte-bhaf7m">sourceRef</code>、<code class="svelte-bhaf7m">items</code>)。下游若为 AGI Daily 等 Gateway(<code class="svelte-bhaf7m">POST /api/gateway/items</code>),可在下方填写与对端 <code class="svelte-bhaf7m">data/token.txt</code> 一致的令牌,请求将带 <code class="svelte-bhaf7m">Authorization: Bearer …</code>。留空 URL 则不投递;投递<strong>不改变</strong>本地是否写库。</p> <section class="form-section svelte-bhaf7m"><h3 class="section-title svelte-bhaf7m">投递目标 URL</h3> <!></section> <section class="form-section svelte-bhaf7m"><h3 class="section-title svelte-bhaf7m">Gateway 令牌(可选)</h3> <!></section> <section class="form-section svelte-bhaf7m"><div class="btn-row svelte-bhaf7m"><button type="button" class="btn btn-primary svelte-bhaf7m"> </button> <button type="button" class="btn btn-secondary svelte-bhaf7m"> </button></div></section></div></div></div>');function xe(N,C){W(C,!1);let o=h(""),n=h(""),l=h(!0),b=h(!1),d=h(!1);async function G(){a(l,!0);try{const e=await x("/api/deliver");a(o,(e==null?void 0:e.url)??""),a(n,(e==null?void 0:e.token)??"")}catch{a(o,""),a(n,"")}finally{a(l,!1)}}async function j(){a(b,!0);try{const e=await x("/api/deliver",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:s(o).trim(),token:s(n).trim()})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");a(o,(e==null?void 0:e.url)??s(o)),a(n,(e==null?void 0:e.token)??s(n)),m("已保存","success")}catch(e){m("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(b,!1)}}async function D(){const e=s(o).trim();if(!e){m("请先填写投递 URL","error");return}a(d,!0);try{const t=await x("/api/deliver/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e,token:s(n).trim()})});t!=null&&t.ok?m("投递测试成功","success"):m("投递测试失败: "+((t==null?void 0:t.message)??"未知错误"),"error")}catch(t){m("测试失败: "+(t instanceof Error?t.message:String(t)),"error")}finally{a(d,!1)}}V(G),ae();var y=ce();te("bhaf7m",e=>{Z(()=>{ee.title=`投递 - ${se}`})});var T=r(y),P=r(T),S=r(P);oe(S,{});var g=c(S,4),M=c(r(g),2);{var F=e=>{var t=re();p(e,t)},I=e=>{var t=ie(),v=U(t);J(v),z(2),L(v,()=>s(o),w=>a(o,w)),p(e,t)};E(M,e=>{s(l)?e(F):e(I,-1)})}i(g);var k=c(g,2),$=c(r(k),2);{var q=e=>{var t=ne();p(e,t)},H=e=>{var t=le(),v=U(t);J(v),z(2),L(v,()=>s(n),w=>a(n,w)),p(e,t)};E($,e=>{s(l)?e(q):e(H,-1)})}i(k);var O=c(k,2),R=r(O),f=r(R),K=r(f,!0);i(f);var _=c(f,2),Q=r(_,!0);i(_),i(R),i(O),i(P),i(T),i(y),X(e=>{f.disabled=s(b)||s(l),B(K,s(b)?"保存中…":"保存"),_.disabled=e,B(Q,s(d)?"测试中…":"测试投递")},[()=>s(d)||s(l)||!s(o).trim()]),A("click",f,j),A("click",_,D),p(N,y),Y()}export{xe as component};
1
+ import{a as p,f as u}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as V}from"../chunks/Bp63qm3L.js";import{at as W,az as X,au as Y,d as Z,i as s,z as h,av as r,aw as c,$ as ee,ax as i,a5 as a,f as U,ay as z}from"../chunks/BbWUOQ_m.js";import{e as A,s as B}from"../chunks/DMWEh-Ek.js";import{i as E}from"../chunks/Dt2CddFe.js";import{h as te}from"../chunks/DEDI7Ecm.js";import{P as se,r as J}from"../chunks/B2Q1a1-H.js";import{b as L}from"../chunks/Dw782Tjs.js";import{i as ae}from"../chunks/CVzlFH44.js";import{B as oe}from"../chunks/CllQAdvt.js";import{b as x}from"../chunks/CBY2biv-.js";import{s as m}from"../chunks/tB7QMF3U.js";var re=u('<p class="hint svelte-bhaf7m">加载中…</p>'),ie=u('<input type="url" class="url-input svelte-bhaf7m" placeholder="https://downstream.example.com/ingest"/> <p class="hint svelte-bhaf7m">保存后生效;测试会发送一条示例条目,不写本地库。</p>',1),ne=u('<p class="hint svelte-bhaf7m">加载中…</p>'),le=u('<input type="password" class="url-input svelte-bhaf7m" placeholder="与下游 token.txt 内容一致,留空则不发送 Authorization" autocomplete="off"/> <p class="hint svelte-bhaf7m">非空时出站请求携带 Bearer;清空并保存可从配置中移除 token 字段。</p>',1),ce=u('<div class="feed-wrap svelte-bhaf7m"><div class="feed-col svelte-bhaf7m"><div class="body svelte-bhaf7m"><!> <p class="intro svelte-bhaf7m">非空时,在<strong>正常入库与 Pipeline 完成之后</strong>,会<strong>额外</strong>将本批条目以 JSON POST 到该 URL(请求体含 <code class="svelte-bhaf7m">sourceRef</code>、<code class="svelte-bhaf7m">items</code>)。下游若为 AGI Daily 等 Gateway(<code class="svelte-bhaf7m">POST /api/gateway/items</code>),可在下方填写与对端 <code class="svelte-bhaf7m">data/token.txt</code> 一致的令牌,请求将带 <code class="svelte-bhaf7m">Authorization: Bearer …</code>。留空 URL 则不投递;投递<strong>不改变</strong>本地是否写库。</p> <section class="form-section svelte-bhaf7m"><h3 class="section-title svelte-bhaf7m">投递目标 URL</h3> <!></section> <section class="form-section svelte-bhaf7m"><h3 class="section-title svelte-bhaf7m">Gateway 令牌(可选)</h3> <!></section> <section class="form-section svelte-bhaf7m"><div class="btn-row svelte-bhaf7m"><button type="button" class="btn btn-primary svelte-bhaf7m"> </button> <button type="button" class="btn btn-secondary svelte-bhaf7m"> </button></div></section></div></div></div>');function xe(N,C){W(C,!1);let o=h(""),n=h(""),l=h(!0),b=h(!1),d=h(!1);async function G(){a(l,!0);try{const e=await x("/api/deliver");a(o,(e==null?void 0:e.url)??""),a(n,(e==null?void 0:e.token)??"")}catch{a(o,""),a(n,"")}finally{a(l,!1)}}async function j(){a(b,!0);try{const e=await x("/api/deliver",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:s(o).trim(),token:s(n).trim()})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");a(o,(e==null?void 0:e.url)??s(o)),a(n,(e==null?void 0:e.token)??s(n)),m("已保存","success")}catch(e){m("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{a(b,!1)}}async function D(){const e=s(o).trim();if(!e){m("请先填写投递 URL","error");return}a(d,!0);try{const t=await x("/api/deliver/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e,token:s(n).trim()})});t!=null&&t.ok?m("投递测试成功","success"):m("投递测试失败: "+((t==null?void 0:t.message)??"未知错误"),"error")}catch(t){m("测试失败: "+(t instanceof Error?t.message:String(t)),"error")}finally{a(d,!1)}}V(G),ae();var y=ce();te("bhaf7m",e=>{Z(()=>{ee.title=`投递 - ${se}`})});var T=r(y),P=r(T),S=r(P);oe(S,{});var g=c(S,4),M=c(r(g),2);{var F=e=>{var t=re();p(e,t)},I=e=>{var t=ie(),v=U(t);J(v),z(2),L(v,()=>s(o),w=>a(o,w)),p(e,t)};E(M,e=>{s(l)?e(F):e(I,-1)})}i(g);var k=c(g,2),$=c(r(k),2);{var q=e=>{var t=ne();p(e,t)},H=e=>{var t=le(),v=U(t);J(v),z(2),L(v,()=>s(n),w=>a(n,w)),p(e,t)};E($,e=>{s(l)?e(q):e(H,-1)})}i(k);var O=c(k,2),R=r(O),f=r(R),K=r(f,!0);i(f);var _=c(f,2),Q=r(_,!0);i(_),i(R),i(O),i(P),i(T),i(y),X(e=>{f.disabled=s(b)||s(l),B(K,s(b)?"保存中…":"保存"),_.disabled=e,B(Q,s(d)?"测试中…":"测试投递")},[()=>s(d)||s(l)||!s(o).trim()]),A("click",f,j),A("click",_,D),p(N,y),Y()}export{xe as component};
@@ -1 +1 @@
1
- import{a as v,f as p,t as ve}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as ce}from"../chunks/Bp63qm3L.js";import{at as pe,az as R,au as me,d as fe,av as i,aw as n,$ as de,i as o,ax as l,a5 as s,z as c,f as ue,ay as j}from"../chunks/BbWUOQ_m.js";import{e as z,s as $}from"../chunks/DMWEh-Ek.js";import{i as b}from"../chunks/Dt2CddFe.js";import{h as ge}from"../chunks/DEDI7Ecm.js";import{P as _e,r as U,s as E}from"../chunks/B2Q1a1-H.js";import{b as O}from"../chunks/Dw782Tjs.js";import{i as ye}from"../chunks/CVzlFH44.js";import{B as he}from"../chunks/EIZIMsXK.js";import{b as C}from"../chunks/CBY2biv-.js";import{s as w}from"../chunks/tB7QMF3U.js";var be=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),we=p('<input type="url" class="text-input svelte-1a0dvmg" placeholder="https://api.openai.com/v1" autocomplete="off"/>'),xe=p('<input type="text" class="text-input svelte-1a0dvmg" placeholder="gpt-4o-mini" autocomplete="off"/>'),Ke=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),Pe=p("当前<strong>可用</strong>(文件或环境变量)。",1),Ae=p("未检测到 Key,请填写或设置 <code>OPENAI_API_KEY</code>。",1),Ie=p('<input type="password" class="text-input svelte-1a0dvmg" autocomplete="new-password"/> <p class="hint svelte-1a0dvmg"><!> <!></p>',1),ke=p('<div class="feed-wrap svelte-1a0dvmg"><div class="feed-col svelte-1a0dvmg"><div class="body svelte-1a0dvmg"><!> <p class="intro svelte-1a0dvmg">与 OpenAI 兼容的 Chat Completions API,用于列表解析、正文提取、Pipeline 打标签与翻译等。</p> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Base URL</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">模型</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Key</h3> <!></section> <section class="form-section svelte-1a0dvmg"><div class="btn-row svelte-1a0dvmg"><button type="button" class="btn btn-primary svelte-1a0dvmg"> </button> <button type="button" class="btn btn-secondary svelte-1a0dvmg"> </button></div></section></div></div></div>');function je(D,Y){pe(Y,!1);let m=c(""),f=c(""),u=c(""),g=c(!1),_=c(!1),d=c(!0),x=c(!1),K=c(!1);async function q(){s(d,!0);try{const e=await C("/api/llm");s(m,(e==null?void 0:e.baseUrl)??""),s(f,(e==null?void 0:e.model)??""),s(g,!!(e!=null&&e.hasApiKey)),s(_,!!(e!=null&&e.apiKeyInFile)),s(u,"")}catch{s(m,""),s(f,""),s(g,!1),s(_,!1)}finally{s(d,!1)}}async function G(){s(x,!0);try{const e={baseUrl:o(m).trim(),model:o(f).trim()},a=o(u).trim();a&&(e.apiKey=a);const t=await C("/api/llm",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!(t!=null&&t.ok))throw new Error((t==null?void 0:t.message)??"保存失败");s(m,(t==null?void 0:t.baseUrl)??o(m)),s(f,(t==null?void 0:t.model)??o(f)),s(g,!!(t!=null&&t.hasApiKey)),s(_,!!(t!=null&&t.apiKeyInFile)),s(u,""),w("已保存","success")}catch(e){w("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(x,!1)}}async function H(){s(K,!0);try{const e=await C("/api/llm/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e!=null&&e.ok){const a=typeof e.reply=="string"?e.reply.trim():"";w(a?`连接成功:${a.slice(0,120)}${a.length>120?"…":""}`:"连接成功","success")}else w("测试失败: "+((e==null?void 0:e.message)??"未知错误"),"error")}catch(e){w("测试失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(K,!1)}}ce(q),ye();var A=ke();ge("1a0dvmg",e=>{fe(()=>{de.title=`LLM - ${_e}`})});var S=i(A),F=i(S),N=i(F);he(N,{});var I=n(N,4),Q=n(i(I),2);{var V=e=>{var a=be();v(e,a)},W=e=>{var a=we();U(a),O(a,()=>o(m),t=>s(m,t)),v(e,a)};b(Q,e=>{o(d)?e(V):e(W,-1)})}l(I);var k=n(I,2),X=n(i(k),2);{var Z=e=>{var a=xe();U(a),E(a,"spellcheck",!1),O(a,()=>o(f),t=>s(f,t)),v(e,a)};b(X,e=>{o(d)||e(Z)})}l(k);var T=n(k,2),ee=n(i(T),2);{var te=e=>{var a=Ke();v(e,a)},se=e=>{var a=Ie(),t=ue(a);U(t),E(t,"spellcheck",!1);var L=n(t,2),M=i(L);{var re=r=>{var h=Pe();j(2),v(r,h)},ie=r=>{var h=Ae();j(2),v(r,h)};b(M,r=>{o(g)?r(re):r(ie,-1)})}var le=n(M,2);{var ne=r=>{var h=ve("已写入配置文件。");v(r,h)};b(le,r=>{o(_)&&r(ne)})}l(L),R(()=>E(t,"placeholder",o(_)?"已保存在配置中,留空表示不修改":"sk-...")),O(t,()=>o(u),r=>s(u,r)),v(e,a)};b(ee,e=>{o(d)?e(te):e(se,-1)})}l(T);var B=n(T,2),J=i(B),y=i(J),ae=i(y,!0);l(y);var P=n(y,2),oe=i(P,!0);l(P),l(J),l(B),l(F),l(S),l(A),R(()=>{y.disabled=o(x)||o(d),$(ae,o(x)?"保存中…":"保存"),P.disabled=o(K)||o(d)||!o(g),$(oe,o(K)?"测试中…":"测试连接")}),z("click",y,G),z("click",P,H),v(D,A),me()}export{je as component};
1
+ import{a as v,f as p,t as ve}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as ce}from"../chunks/Bp63qm3L.js";import{at as pe,az as R,au as me,d as fe,av as i,aw as n,$ as de,i as o,ax as l,a5 as s,z as c,f as ue,ay as j}from"../chunks/BbWUOQ_m.js";import{e as z,s as $}from"../chunks/DMWEh-Ek.js";import{i as b}from"../chunks/Dt2CddFe.js";import{h as ge}from"../chunks/DEDI7Ecm.js";import{P as _e,r as U,s as E}from"../chunks/B2Q1a1-H.js";import{b as O}from"../chunks/Dw782Tjs.js";import{i as ye}from"../chunks/CVzlFH44.js";import{B as he}from"../chunks/CllQAdvt.js";import{b as C}from"../chunks/CBY2biv-.js";import{s as w}from"../chunks/tB7QMF3U.js";var be=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),we=p('<input type="url" class="text-input svelte-1a0dvmg" placeholder="https://api.openai.com/v1" autocomplete="off"/>'),xe=p('<input type="text" class="text-input svelte-1a0dvmg" placeholder="gpt-4o-mini" autocomplete="off"/>'),Ke=p('<p class="hint svelte-1a0dvmg">加载中…</p>'),Pe=p("当前<strong>可用</strong>(文件或环境变量)。",1),Ae=p("未检测到 Key,请填写或设置 <code>OPENAI_API_KEY</code>。",1),Ie=p('<input type="password" class="text-input svelte-1a0dvmg" autocomplete="new-password"/> <p class="hint svelte-1a0dvmg"><!> <!></p>',1),ke=p('<div class="feed-wrap svelte-1a0dvmg"><div class="feed-col svelte-1a0dvmg"><div class="body svelte-1a0dvmg"><!> <p class="intro svelte-1a0dvmg">与 OpenAI 兼容的 Chat Completions API,用于列表解析、正文提取、Pipeline 打标签与翻译等。</p> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Base URL</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">模型</h3> <!></section> <section class="form-section svelte-1a0dvmg"><h3 class="section-title svelte-1a0dvmg">API Key</h3> <!></section> <section class="form-section svelte-1a0dvmg"><div class="btn-row svelte-1a0dvmg"><button type="button" class="btn btn-primary svelte-1a0dvmg"> </button> <button type="button" class="btn btn-secondary svelte-1a0dvmg"> </button></div></section></div></div></div>');function je(D,Y){pe(Y,!1);let m=c(""),f=c(""),u=c(""),g=c(!1),_=c(!1),d=c(!0),x=c(!1),K=c(!1);async function q(){s(d,!0);try{const e=await C("/api/llm");s(m,(e==null?void 0:e.baseUrl)??""),s(f,(e==null?void 0:e.model)??""),s(g,!!(e!=null&&e.hasApiKey)),s(_,!!(e!=null&&e.apiKeyInFile)),s(u,"")}catch{s(m,""),s(f,""),s(g,!1),s(_,!1)}finally{s(d,!1)}}async function G(){s(x,!0);try{const e={baseUrl:o(m).trim(),model:o(f).trim()},a=o(u).trim();a&&(e.apiKey=a);const t=await C("/api/llm",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!(t!=null&&t.ok))throw new Error((t==null?void 0:t.message)??"保存失败");s(m,(t==null?void 0:t.baseUrl)??o(m)),s(f,(t==null?void 0:t.model)??o(f)),s(g,!!(t!=null&&t.hasApiKey)),s(_,!!(t!=null&&t.apiKeyInFile)),s(u,""),w("已保存","success")}catch(e){w("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(x,!1)}}async function H(){s(K,!0);try{const e=await C("/api/llm/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e!=null&&e.ok){const a=typeof e.reply=="string"?e.reply.trim():"";w(a?`连接成功:${a.slice(0,120)}${a.length>120?"…":""}`:"连接成功","success")}else w("测试失败: "+((e==null?void 0:e.message)??"未知错误"),"error")}catch(e){w("测试失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{s(K,!1)}}ce(q),ye();var A=ke();ge("1a0dvmg",e=>{fe(()=>{de.title=`LLM - ${_e}`})});var S=i(A),F=i(S),N=i(F);he(N,{});var I=n(N,4),Q=n(i(I),2);{var V=e=>{var a=be();v(e,a)},W=e=>{var a=we();U(a),O(a,()=>o(m),t=>s(m,t)),v(e,a)};b(Q,e=>{o(d)?e(V):e(W,-1)})}l(I);var k=n(I,2),X=n(i(k),2);{var Z=e=>{var a=xe();U(a),E(a,"spellcheck",!1),O(a,()=>o(f),t=>s(f,t)),v(e,a)};b(X,e=>{o(d)||e(Z)})}l(k);var T=n(k,2),ee=n(i(T),2);{var te=e=>{var a=Ke();v(e,a)},se=e=>{var a=Ie(),t=ue(a);U(t),E(t,"spellcheck",!1);var L=n(t,2),M=i(L);{var re=r=>{var h=Pe();j(2),v(r,h)},ie=r=>{var h=Ae();j(2),v(r,h)};b(M,r=>{o(g)?r(re):r(ie,-1)})}var le=n(M,2);{var ne=r=>{var h=ve("已写入配置文件。");v(r,h)};b(le,r=>{o(_)&&r(ne)})}l(L),R(()=>E(t,"placeholder",o(_)?"已保存在配置中,留空表示不修改":"sk-...")),O(t,()=>o(u),r=>s(u,r)),v(e,a)};b(ee,e=>{o(d)?e(te):e(se,-1)})}l(T);var B=n(T,2),J=i(B),y=i(J),ae=i(y,!0);l(y);var P=n(y,2),oe=i(P,!0);l(P),l(J),l(B),l(F),l(S),l(A),R(()=>{y.disabled=o(x)||o(d),$(ae,o(x)?"保存中…":"保存"),P.disabled=o(K)||o(d)||!o(g),$(oe,o(K)?"测试中…":"测试连接")}),z("click",y,G),z("click",P,H),v(D,A),me()}export{je as component};
@@ -1 +1 @@
1
- import{a as e,f as m}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as i}from"../chunks/Bp63qm3L.js";import{at as f,au as n}from"../chunks/BbWUOQ_m.js";import{s as l,a as u}from"../chunks/DjNLq3TF.js";import{i as c}from"../chunks/CVzlFH44.js";import{g}from"../chunks/BXCWEhUd.js";import{p as $}from"../chunks/DcAshVxe.js";var v=m('<p class="muted svelte-1w6l7vk">正在跳转…</p>');function b(o,t){f(t,!1);const a=()=>u($,"$page",r),[r,s]=l();i(()=>{g("/logs"+a().url.search,{replaceState:!0})}),c();var p=v();e(o,p),n(),s()}export{b as component};
1
+ import{a as e,f as m}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as i}from"../chunks/Bp63qm3L.js";import{at as f,au as n}from"../chunks/BbWUOQ_m.js";import{s as l,a as u}from"../chunks/DjNLq3TF.js";import{i as c}from"../chunks/CVzlFH44.js";import{g}from"../chunks/CdMsRjxJ.js";import{p as $}from"../chunks/C85CNwD2.js";var v=m('<p class="muted svelte-1w6l7vk">正在跳转…</p>');function b(o,t){f(t,!1);const a=()=>u($,"$page",r),[r,s]=l();i(()=>{g("/logs"+a().url.search,{replaceState:!0})}),c();var p=v();e(o,p),n(),s()}export{b as component};
@@ -1 +1 @@
1
- import{a as w,f as O}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as M,az as T,i as s,au as W,d as X,av as t,a5 as o,z as d,$ as Y,ay as I,ax as r,aw as v}from"../chunks/BbWUOQ_m.js";import{e as F,s as S}from"../chunks/DMWEh-Ek.js";import{i as J}from"../chunks/Dt2CddFe.js";import{h as G}from"../chunks/DEDI7Ecm.js";import{P as K,r as q}from"../chunks/B2Q1a1-H.js";import{b as C}from"../chunks/Dw782Tjs.js";import{p as Q}from"../chunks/Bfc47y5P.js";import{i as V}from"../chunks/CVzlFH44.js";import{B as Z}from"../chunks/EIZIMsXK.js";var ee=O('<div class="result-error svelte-1x680s0" role="alert"> </div>'),se=O('<div class="result-wrap svelte-1x680s0"><p class="result-label svelte-1x680s0">解析结果(与下方接口一致)</p> <pre class="result-json svelte-1x680s0"> </pre></div>'),te=O('<div class="feed-wrap svelte-1x680s0"><div class="feed-col svelte-1x680s0"><div class="feed-header svelte-1x680s0"><!> <h2 class="svelte-1x680s0">Parse</h2> <p class="page-desc svelte-1x680s0">从列表页解析条目结构,返回 JSON,用于调试插件 Parser 规则</p></div> <div class="body svelte-1x680s0"><form><div class="url-row svelte-1x680s0"><input type="url" placeholder="输入列表页地址…" required="" autocomplete="url" class="svelte-1x680s0"/> <button type="submit" class="svelte-1x680s0"> </button></div> <div class="proxy-row svelte-1x680s0"><input type="text" placeholder="代理(可选),如 http://127.0.0.1:7890 — 覆盖信源与 HTTP_PROXY" autocomplete="off" spellcheck="false" class="svelte-1x680s0"/></div></form> <!> <!> <div class="info-box svelte-1x680s0"><p class="svelte-1x680s0">抓取在<strong>服务端</strong>执行,默认<strong>有头</strong> Chrome(与信源同一套 Puppeteer),会弹出可见窗口;本页 <code class="svelte-1x680s0">fetch</code> 仅用于展示 JSON。需要无头时在 URL 加 <code class="svelte-1x680s0">?headless=true</code>。</p> <p class="info-note svelte-1x680s0">返回中的 <code class="svelte-1x680s0">effectiveProxy</code> 为本次抓取实际选用的代理。若需在看得到的窗口里验证出口 IP,请在该 Puppeteer 窗口内打开 <code class="svelte-1x680s0">api.ipify.org</code> 等(勿用本机普通浏览器标签测代理)。</p></div></div></div></div>');function ue(z,B){M(B,!1);let i=d(""),m=d(""),n=d(!1),c=d(""),p=d("");async function D(){if(s(i).trim()){o(n,!0),o(c,""),o(p,"");try{const e=s(i).startsWith("http")?s(i):"https://"+s(i),a=new URLSearchParams,l=s(m).trim();l&&a.set("proxy",l);const u=a.toString(),b=await fetch("/admin/parse/"+encodeURIComponent(e)+(u?"?"+u:""),{credentials:"include"}),P=await b.text();if(!b.ok){o(c,P||`HTTP ${b.status}`);return}try{o(p,JSON.stringify(JSON.parse(P),null,2))}catch{o(p,P)}}catch(e){o(c,e instanceof Error?e.message:String(e))}finally{o(n,!1)}}}V();var x=te();G("1x680s0",e=>{X(()=>{Y.title=`Parse - ${K}`})});var R=t(x),_=t(R),E=t(_);Z(E,{}),I(4),r(_);var $=v(_,2),f=t($),h=t(f),g=t(h);q(g);var y=v(g,2),H=t(y,!0);r(y),r(h);var N=v(h,2),U=t(N);q(U),r(N),r(f);var k=v(f,2);{var L=e=>{var a=ee(),l=t(a,!0);r(a),T(()=>S(l,s(c))),w(e,a)};J(k,e=>{s(c)&&e(L)})}var j=v(k,2);{var A=e=>{var a=se(),l=v(t(a),2),u=t(l,!0);r(l),r(a),T(()=>S(u,s(p))),w(e,a)};J(j,e=>{s(p)&&e(A)})}I(2),r($),r(R),r(x),T(()=>{y.disabled=s(n),S(H,s(n)?"解析中…":"解析")}),C(g,()=>s(i),e=>o(i,e)),C(U,()=>s(m),e=>o(m,e)),F("submit",f,Q(D)),w(z,x),W()}export{ue as component};
1
+ import{a as w,f as O}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{at as M,az as T,i as s,au as W,d as X,av as t,a5 as o,z as d,$ as Y,ay as I,ax as r,aw as v}from"../chunks/BbWUOQ_m.js";import{e as F,s as S}from"../chunks/DMWEh-Ek.js";import{i as J}from"../chunks/Dt2CddFe.js";import{h as G}from"../chunks/DEDI7Ecm.js";import{P as K,r as q}from"../chunks/B2Q1a1-H.js";import{b as C}from"../chunks/Dw782Tjs.js";import{p as Q}from"../chunks/Bfc47y5P.js";import{i as V}from"../chunks/CVzlFH44.js";import{B as Z}from"../chunks/CllQAdvt.js";var ee=O('<div class="result-error svelte-1x680s0" role="alert"> </div>'),se=O('<div class="result-wrap svelte-1x680s0"><p class="result-label svelte-1x680s0">解析结果(与下方接口一致)</p> <pre class="result-json svelte-1x680s0"> </pre></div>'),te=O('<div class="feed-wrap svelte-1x680s0"><div class="feed-col svelte-1x680s0"><div class="feed-header svelte-1x680s0"><!> <h2 class="svelte-1x680s0">Parse</h2> <p class="page-desc svelte-1x680s0">从列表页解析条目结构,返回 JSON,用于调试插件 Parser 规则</p></div> <div class="body svelte-1x680s0"><form><div class="url-row svelte-1x680s0"><input type="url" placeholder="输入列表页地址…" required="" autocomplete="url" class="svelte-1x680s0"/> <button type="submit" class="svelte-1x680s0"> </button></div> <div class="proxy-row svelte-1x680s0"><input type="text" placeholder="代理(可选),如 http://127.0.0.1:7890 — 覆盖信源与 HTTP_PROXY" autocomplete="off" spellcheck="false" class="svelte-1x680s0"/></div></form> <!> <!> <div class="info-box svelte-1x680s0"><p class="svelte-1x680s0">抓取在<strong>服务端</strong>执行,默认<strong>有头</strong> Chrome(与信源同一套 Puppeteer),会弹出可见窗口;本页 <code class="svelte-1x680s0">fetch</code> 仅用于展示 JSON。需要无头时在 URL 加 <code class="svelte-1x680s0">?headless=true</code>。</p> <p class="info-note svelte-1x680s0">返回中的 <code class="svelte-1x680s0">effectiveProxy</code> 为本次抓取实际选用的代理。若需在看得到的窗口里验证出口 IP,请在该 Puppeteer 窗口内打开 <code class="svelte-1x680s0">api.ipify.org</code> 等(勿用本机普通浏览器标签测代理)。</p></div></div></div></div>');function ue(z,B){M(B,!1);let i=d(""),m=d(""),n=d(!1),c=d(""),p=d("");async function D(){if(s(i).trim()){o(n,!0),o(c,""),o(p,"");try{const e=s(i).startsWith("http")?s(i):"https://"+s(i),a=new URLSearchParams,l=s(m).trim();l&&a.set("proxy",l);const u=a.toString(),b=await fetch("/admin/parse/"+encodeURIComponent(e)+(u?"?"+u:""),{credentials:"include"}),P=await b.text();if(!b.ok){o(c,P||`HTTP ${b.status}`);return}try{o(p,JSON.stringify(JSON.parse(P),null,2))}catch{o(p,P)}}catch(e){o(c,e instanceof Error?e.message:String(e))}finally{o(n,!1)}}}V();var x=te();G("1x680s0",e=>{X(()=>{Y.title=`Parse - ${K}`})});var R=t(x),_=t(R),E=t(_);Z(E,{}),I(4),r(_);var $=v(_,2),f=t($),h=t(f),g=t(h);q(g);var y=v(g,2),H=t(y,!0);r(y),r(h);var N=v(h,2),U=t(N);q(U),r(N),r(f);var k=v(f,2);{var L=e=>{var a=ee(),l=t(a,!0);r(a),T(()=>S(l,s(c))),w(e,a)};J(k,e=>{s(c)&&e(L)})}var j=v(k,2);{var A=e=>{var a=se(),l=v(t(a),2),u=t(l,!0);r(l),r(a),T(()=>S(u,s(p))),w(e,a)};J(j,e=>{s(p)&&e(A)})}I(2),r($),r(R),r(x),T(()=>{y.disabled=s(n),S(H,s(n)?"解析中…":"解析")}),C(g,()=>s(i),e=>o(i,e)),C(U,()=>s(m),e=>o(m,e)),F("submit",f,Q(D)),w(z,x),W()}export{ue as component};
@@ -1 +1 @@
1
- import{a as u,f as g}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as se}from"../chunks/Bp63qm3L.js";import{at as te,au as re,d as le,av as o,$ as ie,ay as B,ax as i,aw as c,i as a,a5 as r,z as b,az as T,aA as oe}from"../chunks/BbWUOQ_m.js";import{s as I,e as f}from"../chunks/DMWEh-Ek.js";import{i as O}from"../chunks/Dt2CddFe.js";import{e as ne,i as de}from"../chunks/BQqoDzLx.js";import{h as ve}from"../chunks/DEDI7Ecm.js";import{P as ce,r as fe,a as pe,b as me}from"../chunks/B2Q1a1-H.js";import{i as ue}from"../chunks/CVzlFH44.js";import{B as be}from"../chunks/EIZIMsXK.js";import{b as $}from"../chunks/CBY2biv-.js";import{s as z}from"../chunks/tB7QMF3U.js";var ge=g('<div class="state svelte-jqd85f">加载中…</div>'),_e=g('<div role="listitem" draggable="true"><span class="drag-handle svelte-jqd85f" title="拖拽排序">⋮⋮</span> <label class="toggle-wrap svelte-jqd85f"><input type="checkbox" class="svelte-jqd85f"/> <span class="toggle-slider svelte-jqd85f"></span></label> <span class="step-label svelte-jqd85f"> </span></div>'),he=g('<button type="button" class="btn-add svelte-jqd85f">+ 添加步骤</button>'),je=g('<div class="body svelte-jqd85f"><section class="pipeline-section svelte-jqd85f"><h3 class="section-title svelte-jqd85f">Pipeline(入库前)</h3> <p class="hint svelte-jqd85f">对每条新入库条目执行,顺序由上到下。</p> <div class="step-list svelte-jqd85f" role="list"></div> <!></section> <div class="save-row svelte-jqd85f"><button type="button" class="btn btn-primary svelte-jqd85f"> </button></div></div>'),qe=g('<div class="feed-wrap svelte-jqd85f"><div class="feed-col svelte-jqd85f"><div class="feed-header svelte-jqd85f"><!> <h2 class="svelte-jqd85f">Pipeline</h2> <p class="page-desc svelte-jqd85f">入库前处理(打标签、翻译),可调整顺序与开关。</p></div> <!></div></div>');function $e(C,F){te(F,!1);const J={qualityFilter:"质量过滤",tagger:"打标签",translator:"翻译"};let t=b([]),_=b([]),q=b(!0),p=b(!1),m=b(null);async function L(){r(q,!0);try{const e=await $("/api/pipeline");r(t,(e==null?void 0:e.steps)??[]),r(_,(e==null?void 0:e.availableIds)??[])}catch{r(t,[]),r(_,[])}finally{r(q,!1)}}async function M(){r(p,!0);try{const e=await $("/api/pipeline",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({steps:a(t)})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");r(t,(e==null?void 0:e.steps)??a(t)),z("已保存","success")}catch(e){z("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{r(p,!1)}}function N(e){r(t,a(t).map((s,l)=>l===e?{...s,enabled:!s.enabled}:s))}function R(e){r(m,e)}function U(e){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move")}function G(e){if(a(m)==null)return;const s=[...a(t)],[l]=s.splice(a(m),1);s.splice(e,0,l),r(t,s),r(m,null)}function H(){const e=new Set(a(t).map(l=>l.id)),s=a(_).find(l=>!e.has(l));s&&r(t,[...a(t),{id:s,enabled:!1}])}se(L),ue();var y=qe();ve("jqd85f",e=>{le(()=>{ie.title=`Pipeline - ${ce}`})});var k=o(y),w=o(k),K=o(w);be(K,{}),B(4),i(w);var Q=c(w,2);{var V=e=>{var s=ge();u(e,s)},W=e=>{var s=je(),l=o(s),x=c(o(l),4);ne(x,5,()=>a(t),de,(d,n,j)=>{var v=_e();let D;var P=c(o(v),2),S=o(P);fe(S),B(2),i(P);var A=c(P,2),ae=o(A,!0);i(A),i(v),T(()=>{D=pe(v,1,"step-row svelte-jqd85f",null,D,{dragging:a(m)===j}),me(S,a(n).enabled),I(ae,J[a(n).id]??a(n).id)}),f("change",S,()=>N(j)),f("dragstart",v,()=>R(j)),f("dragover",v,U),f("drop",v,()=>G(j)),u(d,v)}),i(x);var X=c(x,2);{var Y=d=>{var n=he();T(()=>n.disabled=a(p)),f("click",n,H),u(d,n)},Z=oe(()=>a(_).some(d=>!a(t).some(n=>n.id===d)));O(X,d=>{a(Z)&&d(Y)})}i(l);var E=c(l,2),h=o(E),ee=o(h,!0);i(h),i(E),i(s),T(()=>{h.disabled=a(p),I(ee,a(p)?"保存中…":"保存")}),f("click",h,M),u(e,s)};O(Q,e=>{a(q)?e(V):e(W,-1)})}i(k),i(y),u(C,y),re()}export{$e as component};
1
+ import{a as u,f as g}from"../chunks/BK3WtZwv.js";import"../chunks/lk5LaiqA.js";import{o as se}from"../chunks/Bp63qm3L.js";import{at as te,au as re,d as le,av as o,$ as ie,ay as B,ax as i,aw as c,i as a,a5 as r,z as b,az as T,aA as oe}from"../chunks/BbWUOQ_m.js";import{s as I,e as f}from"../chunks/DMWEh-Ek.js";import{i as O}from"../chunks/Dt2CddFe.js";import{e as ne,i as de}from"../chunks/BQqoDzLx.js";import{h as ve}from"../chunks/DEDI7Ecm.js";import{P as ce,r as fe,a as pe,b as me}from"../chunks/B2Q1a1-H.js";import{i as ue}from"../chunks/CVzlFH44.js";import{B as be}from"../chunks/CllQAdvt.js";import{b as $}from"../chunks/CBY2biv-.js";import{s as z}from"../chunks/tB7QMF3U.js";var ge=g('<div class="state svelte-jqd85f">加载中…</div>'),_e=g('<div role="listitem" draggable="true"><span class="drag-handle svelte-jqd85f" title="拖拽排序">⋮⋮</span> <label class="toggle-wrap svelte-jqd85f"><input type="checkbox" class="svelte-jqd85f"/> <span class="toggle-slider svelte-jqd85f"></span></label> <span class="step-label svelte-jqd85f"> </span></div>'),he=g('<button type="button" class="btn-add svelte-jqd85f">+ 添加步骤</button>'),je=g('<div class="body svelte-jqd85f"><section class="pipeline-section svelte-jqd85f"><h3 class="section-title svelte-jqd85f">Pipeline(入库前)</h3> <p class="hint svelte-jqd85f">对每条新入库条目执行,顺序由上到下。</p> <div class="step-list svelte-jqd85f" role="list"></div> <!></section> <div class="save-row svelte-jqd85f"><button type="button" class="btn btn-primary svelte-jqd85f"> </button></div></div>'),qe=g('<div class="feed-wrap svelte-jqd85f"><div class="feed-col svelte-jqd85f"><div class="feed-header svelte-jqd85f"><!> <h2 class="svelte-jqd85f">Pipeline</h2> <p class="page-desc svelte-jqd85f">入库前处理(打标签、翻译),可调整顺序与开关。</p></div> <!></div></div>');function $e(C,F){te(F,!1);const J={qualityFilter:"质量过滤",tagger:"打标签",translator:"翻译"};let t=b([]),_=b([]),q=b(!0),p=b(!1),m=b(null);async function L(){r(q,!0);try{const e=await $("/api/pipeline");r(t,(e==null?void 0:e.steps)??[]),r(_,(e==null?void 0:e.availableIds)??[])}catch{r(t,[]),r(_,[])}finally{r(q,!1)}}async function M(){r(p,!0);try{const e=await $("/api/pipeline",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({steps:a(t)})});if(!(e!=null&&e.ok))throw new Error((e==null?void 0:e.message)??"保存失败");r(t,(e==null?void 0:e.steps)??a(t)),z("已保存","success")}catch(e){z("保存失败: "+(e instanceof Error?e.message:String(e)),"error")}finally{r(p,!1)}}function N(e){r(t,a(t).map((s,l)=>l===e?{...s,enabled:!s.enabled}:s))}function R(e){r(m,e)}function U(e){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move")}function G(e){if(a(m)==null)return;const s=[...a(t)],[l]=s.splice(a(m),1);s.splice(e,0,l),r(t,s),r(m,null)}function H(){const e=new Set(a(t).map(l=>l.id)),s=a(_).find(l=>!e.has(l));s&&r(t,[...a(t),{id:s,enabled:!1}])}se(L),ue();var y=qe();ve("jqd85f",e=>{le(()=>{ie.title=`Pipeline - ${ce}`})});var k=o(y),w=o(k),K=o(w);be(K,{}),B(4),i(w);var Q=c(w,2);{var V=e=>{var s=ge();u(e,s)},W=e=>{var s=je(),l=o(s),x=c(o(l),4);ne(x,5,()=>a(t),de,(d,n,j)=>{var v=_e();let D;var P=c(o(v),2),S=o(P);fe(S),B(2),i(P);var A=c(P,2),ae=o(A,!0);i(A),i(v),T(()=>{D=pe(v,1,"step-row svelte-jqd85f",null,D,{dragging:a(m)===j}),me(S,a(n).enabled),I(ae,J[a(n).id]??a(n).id)}),f("change",S,()=>N(j)),f("dragstart",v,()=>R(j)),f("dragover",v,U),f("drop",v,()=>G(j)),u(d,v)}),i(x);var X=c(x,2);{var Y=d=>{var n=he();T(()=>n.disabled=a(p)),f("click",n,H),u(d,n)},Z=oe(()=>a(_).some(d=>!a(t).some(n=>n.id===d)));O(X,d=>{a(Z)&&d(Y)})}i(l);var E=c(l,2),h=o(E),ee=o(h,!0);i(h),i(E),i(s),T(()=>{h.disabled=a(p),I(ee,a(p)?"保存中…":"保存")}),f("click",h,M),u(e,s)};O(Q,e=>{a(q)?e(V):e(W,-1)})}i(k),i(y),u(C,y),re()}export{$e as component};
@@ -1 +1 @@
1
- {"version":"1775806756267"}
1
+ {"version":"1775930177938"}
@@ -1 +0,0 @@
1
- .toast.svelte-zemmny{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:#111;color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;z-index:100;white-space:nowrap;pointer-events:none}.toast.error.svelte-zemmny{background:#c0392b}.toast.success.svelte-zemmny{background:#1a7f37}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.flex{display:flex}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--primary:#5e6ad2;--primary-foreground:#fff;--color-primary:var(--primary);--color-primary-hover:#7c85e8;--color-primary-light:#5e6ad22e;--color-primary-foreground:var(--primary-foreground);--background:#f7f7f7;--foreground:#1f1f1f;--color-background:var(--background);--color-foreground:var(--foreground);--color-card:#fff;--color-card-elevated:#fcfcfc;--color-card-foreground:#2e2e2e;--color-muted:#0000000e;--color-muted-foreground:#737373;--color-muted-foreground-strong:#4a4a4a;--color-muted-foreground-soft:#787878;--color-accent:#0000000e;--color-accent-foreground:#2e2e2e;--color-border:#0000001c;--color-border-muted:#00000013;--color-hairline:#00000013;--color-input:#00000024;--color-destructive:#b12525;--color-destructive-foreground:#fff;--color-success:#207945;--color-success-foreground:#fff;--color-scrollbar-thumb:#00000038;--shadow-panel:0 12px 40px #00000014;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shell-gutter:clamp(.5rem, 1.8vw, 1rem);--layout-max-width:64rem;--content-max:64rem;--topbar-sticky-offset: 3.125rem ;--main-padding-top:1.5rem;--feed-sticky-gap-after:1rem}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{background:var(--color-background);height:100%;min-height:100%;color:var(--color-foreground);flex-direction:column;width:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}#svelte{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.options-menu-trigger{width:2rem;height:2rem;color:var(--color-muted-foreground);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.options-menu-trigger:hover:not(:disabled){color:var(--color-foreground);background:var(--color-muted);border-color:var(--color-border)}.options-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.options-menu-trigger:disabled{opacity:.45;cursor:not-allowed}.options-menu-panel{z-index:100;background:var(--color-card-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:9rem;box-shadow:var(--shadow-panel);padding:.35rem}.options-menu-item{box-sizing:border-box;text-align:left;width:100%;color:var(--color-foreground);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:.5rem .65rem;font-family:inherit;font-size:.8125rem;line-height:1.35;transition:background .12s;display:block}.options-menu-item:hover:not(:disabled){background:var(--color-muted)}.options-menu-item:disabled{opacity:.55;cursor:not-allowed}.options-menu-item-danger{color:var(--color-destructive)}.options-menu-item-danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.options-menu-item-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 12%,transparent)}}.page-header .options-menu-trigger{margin-top:.1rem}.admin-feed-header{border-bottom:1px solid var(--color-border-muted);flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.75rem 0;display:flex}.admin-feed-header__left{flex:1;min-width:0}.admin-feed-header__left>h2{color:var(--color-foreground);margin:0 0 .15rem;font-size:.9375rem;font-weight:600}.admin-feed-header__desc{color:var(--color-muted-foreground-soft);margin:0;font-size:.75rem;line-height:1.45}.admin-feed-header__actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;min-width:0;display:flex}.admin-toolbar-btn{box-sizing:border-box;white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.25;transition:opacity .15s,background .15s;display:inline-flex}.admin-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.admin-toolbar-btn--primary{color:var(--color-primary-foreground);background:var(--color-primary);border:none}.admin-toolbar-btn--primary:hover:not(:disabled){opacity:.9;background:var(--color-primary-hover,var(--color-primary))}.admin-toolbar-btn--secondary{color:var(--color-foreground);background:var(--color-muted);border:1px solid var(--color-border)}.admin-toolbar-btn--secondary:hover:not(:disabled){background:var(--color-accent)}.admin-toolbar-btn--danger{color:var(--color-destructive);background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{background:color-mix(in srgb,var(--color-destructive) 12%,var(--color-muted))}}.admin-toolbar-btn--danger{border:1px solid var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{border:1px solid color-mix(in srgb,var(--color-destructive) 35%,transparent)}}.admin-toolbar-btn--danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 18%,var(--color-muted))}}.admin-toolbar-input{box-sizing:border-box;border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-card-elevated);width:min(100%,18rem);min-width:10rem;height:2rem;min-height:2rem;color:var(--color-foreground);padding:.35rem .6rem;font-family:inherit;font-size:.8125rem}.admin-toolbar-input:focus{border-color:var(--color-primary);outline:none}.admin-toolbar-input::placeholder{color:var(--color-muted-foreground-soft)}@media(max-width:600px){.admin-feed-header{flex-direction:column;align-items:stretch}.admin-feed-header__actions{justify-content:flex-end}.admin-feed-header__actions .admin-toolbar-input{flex:1;width:auto;min-width:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button:not([class]),button[class=""]{font:inherit;cursor:pointer;padding:.35rem .75rem;border:1px solid var(--color-input);border-radius:var(--radius-sm, 6px);background:var(--color-card-elevated);color:var(--color-foreground)}button:not([class]):hover:not(:disabled),button[class=""]:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-border)}button:not([class]):disabled,button[class=""]:disabled{opacity:.45;cursor:not-allowed}.layout-outer.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden;--home-feed-rail-width: 36rem;--nav-rail-width: 3rem}.layout-app.svelte-12qhfyh{display:flex;flex-direction:row;justify-content:center;align-items:stretch;flex:1;min-height:0;width:100%;overflow:hidden;padding-inline:var(--shell-gutter)}.layout-merged-cluster.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:row;align-items:stretch;flex:0 1 var(--layout-max-width);align-self:stretch;min-width:0;min-height:0;width:min(100%,var(--layout-max-width));max-width:min(100%,var(--layout-max-width));margin-inline:auto;border:1px solid var(--color-border-muted);border-radius:0;overflow:hidden;background:var(--color-card);box-shadow:var(--shadow-panel)}.layout-nav-rail.svelte-12qhfyh{flex:0 0 var(--nav-rail-width);width:var(--nav-rail-width);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;flex-shrink:0;background:transparent;border-right:1px solid var(--color-border-muted);z-index:30}.nav-rail-links.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.75rem .35rem;flex:1;min-height:0}.nav-rail-cluster.svelte-12qhfyh{display:flex;flex-direction:column;gap:0;width:100%;max-width:2.35rem;border-radius:0;overflow:hidden;background:var(--color-muted)}.nav-rail-link.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.4rem .25rem;color:var(--color-muted-foreground-strong);text-decoration:none;border-radius:0;border-bottom:1px solid var(--color-border-muted);transition:color .15s ease,background .15s ease}.nav-rail-link.svelte-12qhfyh:last-child{border-bottom:none}.nav-rail-link.svelte-12qhfyh svg{flex-shrink:0}.nav-rail-link.svelte-12qhfyh:hover:not(.active){color:var(--color-foreground);background:var(--color-muted)}.nav-rail-link.active.svelte-12qhfyh{color:var(--color-primary);background:var(--color-primary-light)}.nav-rail-footer.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem .2rem .75rem;border-top:1px solid var(--color-border-muted);background:transparent}.nav-rail-github.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;color:var(--color-muted-foreground);border-radius:6px;transition:color .15s ease,background .15s ease}.nav-rail-github.svelte-12qhfyh:hover{color:var(--color-foreground);background:var(--color-muted)}.nav-rail-github-icon.svelte-12qhfyh{width:18px;height:18px;display:block}.nav-rail-brand.svelte-12qhfyh{font-size:.62rem;font-weight:600;line-height:1.15;color:var(--color-muted-foreground-soft);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;max-height:6.5rem;overflow:hidden;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;user-select:none}.shell.svelte-12qhfyh{box-sizing:border-box;width:100%;max-width:min(var(--content-max),100%);margin-left:auto;margin-right:auto;padding-inline:var(--shell-gutter)}.shell-frame.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;max-width:none;border:none;background:transparent}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{box-sizing:border-box;flex:0 0 var(--home-feed-rail-width);width:var(--home-feed-rail-width);display:flex;flex-direction:column;min-height:0;align-self:stretch;border-left:1px solid var(--color-border-muted);background:transparent}.layout-feed-rail--home.svelte-12qhfyh{padding-top:calc(var(--main-padding-top) + .75rem)}.layout-feed-rail.svelte-12qhfyh .source-feed-panel-inline{flex:1 1 auto;min-height:0;width:100%;max-width:none;height:100%}@media(max-width:720px){.layout-app.svelte-12qhfyh{padding-inline:0}.layout-merged-cluster.svelte-12qhfyh{flex-direction:column;width:100%!important;border-radius:0;border-left:none;border-right:none;box-shadow:none}.layout-nav-rail.svelte-12qhfyh{flex:0 0 auto;width:100%;flex-direction:row;align-items:center;justify-content:space-between;border-right:none;border-bottom:1px solid var(--color-border-muted)}.nav-rail-links.svelte-12qhfyh{flex-direction:row;justify-content:center;padding:.4rem .5rem}.nav-rail-cluster.svelte-12qhfyh{flex-direction:row;max-width:none;width:auto}.nav-rail-link.svelte-12qhfyh{min-height:0;min-width:2.65rem;padding:.45rem .5rem;border-bottom:none;border-right:1px solid var(--color-border-muted)}.nav-rail-link.svelte-12qhfyh:last-child{border-right:none}.nav-rail-footer.svelte-12qhfyh{flex-direction:row;border-top:none;padding:.35rem .5rem;gap:.5rem}.nav-rail-brand.svelte-12qhfyh{writing-mode:horizontal-tb;max-height:none;font-size:.65rem;max-width:5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{flex:1 1 auto;width:100%;max-width:none;max-height:min(42vh,22rem);min-height:12rem;border-left:none;border-top:1px solid var(--color-border-muted)}.layout-feed-rail--home.svelte-12qhfyh{padding-top:0}}.main.svelte-12qhfyh{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;padding-top:var(--main-padding-top);padding-bottom:1.5rem}.main.main-fill.svelte-12qhfyh{flex:1;min-height:0;overflow:hidden}
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/BXCWEhUd.js";export{o as load_css,r as start};