ezllm 0.0.47 → 0.0.49

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 (33) hide show
  1. package/dist/cli.js +24 -24
  2. package/dist/daemon.js +15 -14
  3. package/dist/plugin-host.js +3 -3
  4. package/dist/server.js +64 -63
  5. package/dist/web-ui/assets/{DashboardView-CqupMCmm.js → DashboardView--YRv0pdB.js} +1 -1
  6. package/dist/web-ui/assets/{LayoutView-CyOrx1rA.js → LayoutView-3OpEgcEH.js} +1 -1
  7. package/dist/web-ui/assets/{LoginView-YolyK2Q0.js → LoginView-DyiYIltJ.js} +1 -1
  8. package/dist/web-ui/assets/{LogsView-E64a6PIt.js → LogsView-BlO9eUXV.js} +2 -2
  9. package/dist/web-ui/assets/{ManagedServicesView-mk_mSWzE.js → ManagedServicesView-DalOm5fB.js} +1 -1
  10. package/dist/web-ui/assets/PluginsView-Bnwsd3-R.css +1 -0
  11. package/dist/web-ui/assets/PluginsView-CMjFrpCT.js +2 -0
  12. package/dist/web-ui/assets/{ProvidersView-BwX8Y3kP.css → ProvidersView-DZs-NofB.css} +1 -1
  13. package/dist/web-ui/assets/ProvidersView-PlwErhJU.js +14 -0
  14. package/dist/web-ui/assets/{SettingsView-p3uvWhGh.js → SettingsView-Dl-dHm8U.js} +1 -1
  15. package/dist/web-ui/assets/{SetupView-CGQibXHs.js → SetupView-BblW5D0m.js} +1 -1
  16. package/dist/web-ui/assets/{config-Dzo6AFZx.js → config-DRb_7Qvh.js} +1 -1
  17. package/dist/web-ui/assets/index-BviWrBv1.js +49 -0
  18. package/dist/web-ui/assets/{message-C8pR37GK.js → message-BgUNwRuF.js} +2 -2
  19. package/dist/web-ui/assets/pluginProviders-CMNUPYaO.js +1 -0
  20. package/dist/web-ui/assets/{providers-Dbg0NkwB.js → providers-fXKPM_nK.js} +1 -1
  21. package/dist/web-ui/assets/{router-JpU_7F6L.js → router-Cpy-sU_q.js} +2 -2
  22. package/dist/web-ui/assets/{useCopyToast-GaJ4QVNE.js → useCopyToast-DreqvPDI.js} +1 -1
  23. package/dist/web-ui/assets/{useManagerApi-DEPhOKWy.js → useManagerApi-DBsdJZgc.js} +1 -1
  24. package/dist/web-ui/assets/{useQuickRangeFilter-DeKORPZt.js → useQuickRangeFilter-D2Epk9Kj.js} +1 -1
  25. package/dist/web-ui/assets/useToast-BpZaUS2s.js +1 -0
  26. package/dist/web-ui/index.html +3 -3
  27. package/package.json +1 -1
  28. package/dist/web-ui/assets/PluginsView-DTJeufic.js +0 -2
  29. package/dist/web-ui/assets/PluginsView-DzHAW2gO.css +0 -1
  30. package/dist/web-ui/assets/ProvidersView-BrirhwQN.js +0 -14
  31. package/dist/web-ui/assets/index-wQG3qUgW.js +0 -49
  32. package/dist/web-ui/assets/pluginProviders-DeHPKGnd.js +0 -1
  33. package/dist/web-ui/assets/useToast-DVCDN-da.js +0 -1
@@ -1 +0,0 @@
1
- import{s as e}from"./router-JpU_7F6L.js";async function t(t,n={}){return await e.post(`/api/fetch`,{url:t,...n})}function n(e){if(e===null)return``;let t=e=>typeof e==`object`&&e?e:null;try{let n=t(JSON.parse(e)),r=(t(t(n?.detail)?.error)??t(n?.error))?.message;if(typeof r==`string`&&r.trim()!==``)return r.trim().slice(0,2e3)}catch{}return e.trim().slice(0,300)}var r=class extends Error{status;constructor(e,t){super(t),this.name=`UpstreamHttpError`,this.status=e}};function i(e){return e instanceof r?e.status:null}async function a(e,t){if(e.binary)throw Error(`${t} 返回二进制内容(${e.contentType||`无 content-type`}),不是 JSON`);let i=e.body;if(e.status<200||e.status>=300){let t=n(i);throw new r(e.status,`上游返回 HTTP ${String(e.status)}${t===``?``:`:${t}`}`)}if(i===null||i.trim()===``)throw Error(`上游返回空响应体(HTTP ${String(e.status)},${e.contentType||`无 content-type`})`);try{return JSON.parse(i)}catch{throw Error(`上游响应不是 JSON(HTTP ${String(e.status)},${e.contentType||`无 content-type`}):`+i.trim().slice(0,300))}}function o(e,t){return`http://127.0.0.1:${String(e)}${t.startsWith(`/`)?t:`/${t}`}`}async function s(e,n={}){return await a(await t(e,{method:`GET`,...n}),e)}async function c(e,n,r=`POST`){return await a(await t(e,{method:r,body:n}),e)}async function l(e){return await a(await t(e,{method:`DELETE`}),e)}var u=[`127.0.0.1`,`localhost`,`[::1]`,`::1`],d=`plugin-host`,f=[/deepseek/i,/glm/i,/free/i],p=5;function m(e){return f.findIndex(t=>t.test(e))}function h(e){let t=e.map((e,t)=>({model:e,index:t,rank:m(e)})).filter(e=>e.rank>=0).sort((e,t)=>e.rank-t.rank||e.index-t.index).slice(0,p).map(e=>e.model);return new Set(t)}var g=20;function _(e){if(e===void 0||e.trim()===``)return null;let t;try{t=new URL(e.trim())}catch{return null}if(!u.includes(t.hostname.toLowerCase()))return null;let n=/^\/p\/([^/]+)\/?$/.exec(t.pathname);if(n===null)return null;try{return decodeURIComponent(n[1]??``)||null}catch{return null}}function v(e,t){return`http://127.0.0.1:${String(e)}/p/${encodeURIComponent(t)}`}function y(e){return _(e.apiBase)!==null}function b(e){let t=[],n=[];for(let r of e)y(r)?n.push(r):t.push(r);return{manual:t,plugin:n}}function x(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t===``?`plugin`:t}function S(e,t){if(!t.has(e))return e;for(let n=2;;n+=1){let r=`${e}-${n}`;if(!t.has(r))return r}}function C(e){let t=new Set,n=[];for(let r of e.models){let e=r.trim();e===``||t.has(e)||(t.add(e),n.push(e))}return n}function w(e,t){if(e.length!==t.length)return!1;let n=new Set(e);return n.size===e.length&&t.every(e=>n.has(e))}function T(e){let t=e.info?.pluginHost;if(typeof t!=`object`||!t||Array.isArray(t))return;let n=t,r=Array.isArray(n.declared)?n.declared.filter(e=>typeof e==`string`):[],i=n.live,a=Array.isArray(i)?i.filter(e=>typeof e==`string`):void 0;return{declared:r,...a===void 0?{}:{live:a}}}function E(e,t){return e===void 0||!w(e.declared,t.declared)?!1:e.live===void 0||t.live===void 0?e.live===void 0&&t.live===void 0:w(e.live,t.live)}function D(e,t,n){let r=[...e],i=[],a=[],o=new Set(r.map(e=>e.name)),s=new Set(r.flatMap(e=>e.alias===void 0?[]:[e.alias])),c=new Set(r.flatMap(e=>(e.models??[]).map(e=>e.modelName)));for(let e of t){if(e.protocol===null)continue;let t=v(n,e.id),l=r.flatMap((t,n)=>_(t.apiBase)===e.id?[n]:[]);if(l.length>0){for(let n of l){let i=r[n];if(i===void 0)continue;let o={};i.apiBase!==t&&(o.apiBase=t),i.customLlmProvider!==e.protocol&&(o.customLlmProvider=e.protocol),(i.apiKey===void 0||i.apiKey.trim()===``)&&(o.apiKey=d),Object.keys(o).length!==0&&(r[n]={...i,...o},a.push(i.name))}continue}let u=S(x(e.id),s);s.add(u);let f=S(`${e.name||e.id}(插件)`,o);o.add(f);let p=C(e),m=h(p),g=p.map(e=>{let t=S(`${u}/${e}`,c);return c.add(t),{modelName:t,model:e,enabled:m.has(e)}});r.push({name:f,alias:u,customLlmProvider:e.protocol,apiKey:d,apiBase:t,info:{pluginHost:{declared:p}},models:g}),i.push(f)}return{providers:r,added:i,updated:a}}function O(e,t){let n=(e.models??[]).map(e=>e.model);if(w(n,C(t)))return!0;let r=T(e);return r===void 0?!1:w(n,r.declared)||r.live!==void 0&&w(n,r.live)}function k(e){for(let t of e.models??[]){let e=`/${t.model}`;if(t.modelName.length>e.length&&t.modelName.endsWith(e))return t.modelName.slice(0,-e.length)}let t=e.alias?.trim();return t!==void 0&&t!==``?t:e.name}function A(e,t,n){let r=new Map(t.map(e=>[e.id,e])),i=[...e],a=[];return e.forEach((e,t)=>{let o=_(e.apiBase);if(o===null)return;let s=r.get(o),c=n.get(o);if(s===void 0||c===void 0||!c.fromHook||!O(e,s))return;let l=[],u=new Set;for(let e of c.ids){let t=e.trim();t===``||u.has(t)||(u.add(t),l.push(t))}if(l.length===0)return;let d=e.models??[],f=Math.max(d.length,l.length)>g,p=h(l),m=new Map(d.map(e=>[e.model,e])),v=k(e),y=new Set(i.flatMap((e,n)=>n===t?[]:(e.models??[]).map(e=>e.modelName)));for(let e of l){let t=m.get(e);t!==void 0&&y.add(t.modelName)}let b=l.map(e=>{let t=m.get(e);if(t!==void 0)return t.enabled===void 0&&f?{...t,enabled:p.has(e)}:t;let n=S(`${v}/${e}`,y);return y.add(n),{modelName:n,model:e,enabled:p.has(e)}}),x={declared:C(s),live:l},D=w(d.map(e=>e.model),l),A=D&&f&&d.some(e=>e.enabled===void 0);if(D&&!A&&E(T(e),x))return;let j=D?d.map(e=>f&&e.enabled===void 0?{...e,enabled:p.has(e.model)}:e):b;i[t]={...e,...D&&!A?{}:{models:j},info:{...e.info??{},pluginHost:x}},a.push(e.name)}),{providers:i,refreshed:a}}function j(e,t){let n=new Set(t);return e.filter(e=>{let t=_(e.apiBase);return t!==null&&n.has(t)}).map(e=>e.name)}export{D as a,j as c,s as d,c as f,A as i,o as l,O as n,v as o,i as p,b as r,_ as s,y as t,l as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./message-C8pR37GK.js";function t(){function t(t,n=`success`){e({message:t,type:n,duration:n===`warning`?8e3:3e3})}return{toast:t}}export{t};