@evoscientist/webui 0.5.2 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-path-routes-manifest.json +2 -0
- package/dist/.next/build-manifest.json +3 -3
- package/dist/.next/prerender-manifest.json +3 -3
- package/dist/.next/required-server-files.json +6 -6
- package/dist/.next/routes-manifest.json +12 -0
- package/dist/.next/server/app/_global-error.html +1 -1
- package/dist/.next/server/app/_global-error.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +4 -4
- package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
- package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/api/autoskills/route/app-paths-manifest.json +3 -0
- package/dist/.next/server/app/api/autoskills/route/build-manifest.json +12 -0
- package/dist/.next/server/app/api/autoskills/route/server-reference-manifest.json +4 -0
- package/dist/.next/server/app/api/autoskills/route.js +11 -0
- package/dist/.next/server/app/api/autoskills/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/autoskills/route_client-reference-manifest.js +3 -0
- package/dist/.next/server/app/api/memory/executions/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/memory/observations/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/projects/move/route/app-paths-manifest.json +3 -0
- package/dist/.next/server/app/api/projects/move/route/build-manifest.json +12 -0
- package/dist/.next/server/app/api/projects/move/route/server-reference-manifest.json +4 -0
- package/dist/.next/server/app/api/projects/move/route.js +11 -0
- package/dist/.next/server/app/api/projects/move/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/projects/move/route_client-reference-manifest.js +3 -0
- package/dist/.next/server/app/api/projects/route.js +3 -2
- package/dist/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/settings/access/route.js +1 -1
- package/dist/.next/server/app/api/settings/access/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/settings/route.js +2 -2
- package/dist/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/settings/test-key/route.js +2 -2
- package/dist/.next/server/app/api/settings/test-key/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/skills/pinnable/route.js +2 -2
- package/dist/.next/server/app/api/skills/pinnable/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/skills/route.js +5 -3
- package/dist/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/workspace/download/route.js +1 -1
- package/dist/.next/server/app/api/workspace/download/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/workspace/file/route.js +1 -1
- package/dist/.next/server/app/api/workspace/file/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/workspace/instance/route.js +1 -1
- package/dist/.next/server/app/api/workspace/instance/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/workspace/route.js +1 -1
- package/dist/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/workspace/upload/route.js +1 -1
- package/dist/.next/server/app/api/workspace/upload/route.js.nft.json +1 -1
- package/dist/.next/server/app/index.html +1 -1
- package/dist/.next/server/app/index.rsc +6 -6
- package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/dist/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/page.js.nft.json +1 -1
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app-paths-manifest.json +2 -0
- package/dist/.next/server/chunks/[root-of-the-server]__197z7olrlwjt7._.js +3 -0
- package/dist/.next/server/chunks/_0_to5oq_tpf3j._.js +3 -0
- package/dist/.next/server/chunks/_0wwb7zpr0_tmw._.js +1 -1
- package/dist/.next/server/chunks/_13lro7dgq4zu7._.js +1 -1
- package/dist/.next/server/chunks/_1exh47auzh7rb._.js +3 -0
- package/dist/.next/server/chunks/_next-internal_server_app_api_autoskills_route_actions_07k2dj0m46g4o.js +3 -0
- package/dist/.next/server/chunks/_next-internal_server_app_api_projects_move_route_actions_0ej695h33ew97.js +3 -0
- package/dist/.next/server/chunks/src_lib_server_projects_ts_17uet62kvmv-y._.js +2 -2
- package/dist/.next/server/chunks/src_lib_server_skills_ts_1tyunpjo8yyyl._.js +1 -1
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0gd5uwon7u4co._.js +17 -12
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__1b8xga_sooh0t._.js → [root-of-the-server]__0yiuowqwrbei4._.js} +2 -2
- package/dist/.next/server/chunks/ssr/_1ghh45xlvrzrj._.js +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_0jcqbm494upxd._.js → node_modules_006sqa75fqv-t._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_06g3a24lpr6n8._.js → node_modules_01zh5jfi2bqns._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_0ve7f8q5uf_j1._.js → node_modules_0_9n2xxg15if0._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1vk157cphyxxy._.js → node_modules_0fiv6uny2xe3v._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_09ogkmlcgd2fm._.js → node_modules_0gf7i1vak6ma4._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1dcoq00s45kf7._.js → node_modules_0ity12w1xw4od._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_08yj6ntrtyeot._.js → node_modules_0mq_t8fw927ho._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_1v9salpvi3fr3._.js → node_modules_0tpk-4cls1wiu._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1_midf9hp9-3y._.js → node_modules_0uko2n16clzxw._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_03nxzi_osmojj._.js → node_modules_0vnziv0o_mhir._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_10elol9kw35pb._.js → node_modules_14cbh3iv4bnpw._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_0j7q_9bywwlyl._.js → node_modules_15uyrlzc8mlo_._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_12izfvr4x4kzb._.js → node_modules_1bggqgy3dh244._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1bahud4jwig7-._.js → node_modules_1c0frtz8hld_v._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1iwsrkftx3myk._.js → node_modules_1cj7vmigte3z4._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1epegdtcx6csb._.js → node_modules_1ddkhtzjx2orv._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_0ksr9b7neuo47._.js → node_modules_1fgvpf5wf3lmi._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_0brfu0su521bl._.js → node_modules_1fhyyc85wwe52._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1blp4-qtlsnto._.js → node_modules_1j0yot1xywgc-._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_219mq_fvk7e_m._.js → node_modules_1jk54mi6e6wl-._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_1523vb7w7tmdr._.js → node_modules_1jl44ikaj8mr2._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_1-ewb9c-a4ipq._.js → node_modules_1oi1r3nn84d1k._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_0geva3x15jrmq._.js → node_modules_1wr65r1wmsfs9._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{node_modules_1kzuyc931qqsg._.js → node_modules_1zh9ww6ako_-9._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1478cxq6099ba._.js → node_modules_katex_dist_katex_mjs_0exfhsxpud9ek._.js} +1 -1
- package/dist/.next/server/functions-config-manifest.json +2 -0
- package/dist/.next/server/middleware-build-manifest.js +3 -3
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/preview-props.json +3 -3
- package/dist/.next/server/server-reference-manifest.js +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/{4066km5sp95ql.js → 0c20_v_yfparp.js} +1 -1
- package/dist/.next/static/chunks/12byd1mpe1ves.css +3 -0
- package/dist/.next/static/chunks/2u189y0dptx9o.js +28 -0
- package/dist/.next/static/chunks/{2elulgd-058h9.js → 30apcgnpvjkm-.js} +1 -1
- package/dist/package.json +2 -2
- package/dist/server.js +1 -1
- package/package.json +2 -2
- package/dist/.next/server/chunks/src_lib_server_settingsRelay_ts_1wh3zms-82246._.js +0 -3
- package/dist/.next/static/chunks/0nes8asfi9cw8.css +0 -3
- package/dist/.next/static/chunks/42tm27w1hqki_.js +0 -23
- /package/dist/.next/static/{DIwmoFkz8ncAZtUNBJr7V → TD3UcmuJbgYUlejg1Z7v-}/_buildManifest.js +0 -0
- /package/dist/.next/static/{DIwmoFkz8ncAZtUNBJr7V → TD3UcmuJbgYUlejg1Z7v-}/_clientMiddlewareManifest.js +0 -0
- /package/dist/.next/static/{DIwmoFkz8ncAZtUNBJr7V → TD3UcmuJbgYUlejg1Z7v-}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports=[904937,t=>{"use strict";var e=t.i(446786),r=t.i(814747),i=t.i(522734),n=t.i(254799),a=t.i(304323),l=t.i(720150),s=t.i(300379);let o="EvoScientist/EvoSkills",c="main",u="skills/",f=(0,r.join)((0,l.g)(),"skills"),m=[f,(0,r.join)((0,e.homedir)(),".config","evoscientist","skills")],h={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"},p="EXPERT.md";async function d(t,e,n){try{let a=await i.promises.realpath((0,r.join)(t,e,n)),l=await i.promises.realpath(t);if(a!==l&&!a.startsWith(l+r.sep))return null;return await i.promises.readFile(a,"utf-8")}catch{return null}}function w(t){let e,{frontmatter:r}=g(t);if(!r)return!0;let i=r.match(/^metadata\s*:[ \t]*\n((?:[ \t]+.*(?:\n|$))*)/m);if(!i)return!0;let n=i[1],a=n.split("\n").find(t=>t.trim()),l=a?.match(/^[ \t]+/)?.[0]??" ",s=n.match(RegExp(`^${l}type\\s*:[ \\t]*(.*)$`,"m"));if(!s)return!0;let o=s[1].trim();if(""===o||"|"===o||">"===o)for(let t of(e=[],n.slice(n.indexOf(s[0])+s[0].length).split("\n"))){if(!t.trim())continue;let r=t.match(/^[ \t]+-[ \t]*(.+?)[ \t]*$/);if(!r||!t.startsWith(l))break;e.push(r[1])}else e=o.replace(/^\[|\]$/g,"").split(",");return e.map(t=>t.trim().replace(/^["']|["']$/g,"").toLowerCase()).filter(Boolean).includes("skill")}async function y(t){try{return(await i.promises.stat((0,r.join)(t,p))).isFile()}catch{return!1}}function $(t){return t.length<=128&&/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(t)&&!t.includes("..")}function g(t){let e=t.match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/);return e?{frontmatter:e[1],body:t.slice(e[0].length).trim()}:{frontmatter:null,body:t.trim()}}function v(t){let e=e=>{let r=t.match(RegExp(`^${e}\\s*:\\s*(.+?)\\s*$`,"m"));return r?r[1].replace(/^["']|["']$/g,"").trim():void 0};return{name:e("name"),description:e("description"),version:function(t){let e=t.match(/^metadata\s*:[ \t]*\n((?:[ \t]+.*(?:\n|$))*)/m);if(!e)return;let r=e[1].match(/^[ \t]+version\s*:\s*(.+?)\s*$/m);return r?r[1].replace(/^["']|["']$/g,"").trim():void 0}(t)}}function k(t){let{frontmatter:e}=g(t);return e?v(e):{}}let b=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,E=new Set(["model"]),j=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});async function x(t,e){let n;try{let a=await i.promises.realpath((0,r.join)(t,e,"SKILL.md")),l=await i.promises.realpath(t);if(!a.startsWith(l+r.sep))return null;n=await i.promises.open(a,i.constants.O_RDONLY|i.constants.O_NONBLOCK);let s=await n.stat();if(!s.isFile())return null;if(s.size>0xa00000)return"";let o=Buffer.alloc(s.size),c=0;for(;c<o.length;){let{bytesRead:t}=await n.read(o,c,o.length-c,c);if(0===t)break;c+=t}try{return j.decode(o.subarray(0,c))}catch{return""}}catch{return null}finally{await n?.close()}}async function S(t){let e=[["workspace",t.workspace],["global",t.global]],r=new Set;for(let[,t]of e)if(t)try{for(let e of(await i.promises.readdir(t)))r.add(e)}catch{}let n=new Map;for(let t of[...r].map(t=>`${t}/`).sort((t,e)=>Buffer.compare(Buffer.from(t),Buffer.from(e))))for(let[r,i]of e){if(!i)continue;let e=await x(i,t.slice(0,-1));if(null===e)continue;let l=function(t){let e,r=function(t){if(!t.startsWith("---"))return null;let e=-1;for(let r=3;r<t.length&&s.H.test(t[r]);r++)"\n"===t[r]&&(e=r+1);if(-1===e)return null;for(let r=t.indexOf("\n---",e);-1!==r;r=t.indexOf("\n---",r+1))for(let i=r+4;i<t.length&&s.H.test(t[i]);i++)if("\n"===t[i])return t.slice(e,r);return null}(t);if(null===r)return null;try{e=(0,a.z)(r,{schema:a.V,json:!0})}catch{return null}if("object"!=typeof e||null===e||Array.isArray(e))return null;let i=t=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,n=i("name"),l=i("description");if("string"!=typeof n||void 0===l)return null;let o="string"==typeof l?(0,s.a)(l):"";if("string"==typeof l&&!o)return null;let c=[...o.slice(0,2048)].slice(0,1024);return{name:(0,s.a)(n),description:c.join("")}}(e);l&&l.name.length<=64&&b.test(l.name)&&!E.has(l.name)&&n.set(l.name,{...l,source:r});break}return[...n.values()].sort((t,e)=>t.name.localeCompare(e.name))}async function I(t){for(let e of m)try{let n=await i.promises.readFile((0,r.join)(e,t,"SKILL.md"),"utf-8"),a=k(n).version;if(a)return a}catch{}}function O(t,e){return`https://raw.githubusercontent.com/${o}/${t}/${e}`}let L=/^[0-9a-f]{7,40}$/,B=null;async function F(){try{let t=await fetch(`https://api.github.com/repos/${o}/commits/${c}`,{headers:h});if(t.ok){let e=await t.json();if("string"==typeof e.sha&&L.test(e.sha))return e.sha}}catch{}return c}async function z(t=!1){if(!t&&B&&Date.now()-B.at<3e5)return{ref:B.ref,tree:B.tree};let e=await F(),r=await fetch(`https://api.github.com/repos/${o}/git/trees/${e}?recursive=1`,{headers:h});if(!r.ok)throw Error(403===r.status?"GitHub rate limit reached — try again in a minute.":`Couldn't reach the skills catalog (GitHub ${r.status}).`);let i=await r.json();if(!Array.isArray(i.tree))throw Error("Unexpected response from the skills catalog.");return B={at:Date.now(),ref:e,tree:i.tree},{ref:e,tree:i.tree}}function A(){return(0,r.join)(f,".installed.yaml")}async function N(){try{return function(t){let e={},r=null;for(let i of t.split("\n"))if(!(!i.trim()||i.trimStart().startsWith("#"))){if(/^\S/.test(i)){let t=i.match(/^(\S[^:]*?):\s*$/);(r=t?t[1].trim():null)&&(e[r]={source:""})}else if(r){let t=i.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(t){let i=t[2].replace(/^["']|["']$/g,"").trim();"source"===t[1]?e[r].source=i:"commit"===t[1]&&(e[r].commit=i)}}}for(let t of Object.keys(e))e[t].source||delete e[t];return e}(await i.promises.readFile(A(),"utf-8"))}catch{return{}}}async function W(t){let e=A(),r=`${e}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(f,{recursive:!0}),await i.promises.writeFile(r,function(t){let e=Object.keys(t).sort();if(0===e.length)return"{}\n";let r="";for(let i of e)r+=`${i}:
|
|
2
2
|
`,t[i].commit&&(r+=` commit: ${t[i].commit}
|
|
3
3
|
`),r+=` source: ${t[i].source}
|
|
4
|
-
`;return r}(t),{mode:384}),await i.promises.rename(r,e)}async function D(t,e){let r=await N(),i=`${o}@${u}${t}`;r[t]=e?{source:i,commit:e}:{source:i},await W(r)}async function C(t){let e=await N();t in e&&(delete e[t],await W(e))}async function K(){let t=new Set;for(let e of m)try{for(let r of(await i.promises.readdir(e,{withFileTypes:!0})))r.isDirectory()&&!r.name.startsWith(".")&&t.add(r.name)}catch{}return t}async function U(t=!1){let[{ref:e,tree:r},i]=await Promise.all([z(t),K()]),n=function(t){let e=new Map;for(let r of t){if("blob"!==r.type||!r.path.startsWith(u))continue;let t=r.path.slice(u.length),i=t.indexOf("/");if(i<=0)continue;let n=t.slice(0,i);(e.get(n)??e.set(n,[]).get(n)).push(r)}return e}(r);return(await Promise.all([...n.entries()].map(async([t,r])=>{let n,a,l=t,s="",o=!0,c=r.find(e=>e.path===`${u}${t}/SKILL.md`);if(c)try{let r=await fetch(O(e,c.path),{headers:h}).then(t=>t.ok?t.text():""),i=k(r);l=i.name||t,s=i.description||"",a=i.version,o=w(r)}catch{}let f=i.has(t),m=f?await I(t):void 0,d=f&&!!a&&!!m&&function(t,e){let r=t.split(".").map(t=>parseInt(t,10)),i=e.split(".").map(t=>parseInt(t,10)),n=Math.max(r.length,i.length);for(let t=0;t<n;t+=1){let e=r[t]??0,n=i[t]??0;if(Number.isNaN(e)||Number.isNaN(n))break;if(e!==n)return e>n?1:-1}return 0}(a,m)>0;return{name:t,title:l,description:s,fileCount:r.length,installed:f,latestVersion:a,installedVersion:m,updateAvailable:d,isExpert:(n=`${u}${t}/${p}`,r.some(t=>t.path===n)),isSkill:o}}))).sort((t,e)=>t.title.localeCompare(e.title))}async function
|
|
4
|
+
`;return r}(t),{mode:384}),await i.promises.rename(r,e)}async function D(t,e){let r=await N(),i=`${o}@${u}${t}`;r[t]=e?{source:i,commit:e}:{source:i},await W(r)}async function C(t){let e=await N();t in e&&(delete e[t],await W(e))}async function K(){let t=new Set;for(let e of m)try{for(let r of(await i.promises.readdir(e,{withFileTypes:!0})))r.isDirectory()&&!r.name.startsWith(".")&&t.add(r.name)}catch{}return t}async function U(t=!1){let[{ref:e,tree:r},i]=await Promise.all([z(t),K()]),n=function(t){let e=new Map;for(let r of t){if("blob"!==r.type||!r.path.startsWith(u))continue;let t=r.path.slice(u.length),i=t.indexOf("/");if(i<=0)continue;let n=t.slice(0,i);(e.get(n)??e.set(n,[]).get(n)).push(r)}return e}(r);return(await Promise.all([...n.entries()].map(async([t,r])=>{let n,a,l=t,s="",o=!0,c=r.find(e=>e.path===`${u}${t}/SKILL.md`);if(c)try{let r=await fetch(O(e,c.path),{headers:h}).then(t=>t.ok?t.text():""),i=k(r);l=i.name||t,s=i.description||"",a=i.version,o=w(r)}catch{}let f=i.has(t),m=f?await I(t):void 0,d=f&&!!a&&!!m&&function(t,e){let r=t.split(".").map(t=>parseInt(t,10)),i=e.split(".").map(t=>parseInt(t,10)),n=Math.max(r.length,i.length);for(let t=0;t<n;t+=1){let e=r[t]??0,n=i[t]??0;if(Number.isNaN(e)||Number.isNaN(n))break;if(e!==n)return e>n?1:-1}return 0}(a,m)>0;return{name:t,title:l,description:s,fileCount:r.length,installed:f,latestVersion:a,installedVersion:m,updateAvailable:d,isExpert:(n=`${u}${t}/${p}`,r.some(t=>t.path===n)),isSkill:o}}))).sort((t,e)=>t.title.localeCompare(e.title))}async function M(t){if(!$(t))throw Error("Invalid skill name.");let e=null,r=null,i=!1;for(let n of m){let a=await d(n,t,"SKILL.md");if(null!==a){e=a,i=!0,r=await d(n,t,p);break}}if(null===e){let{ref:i,tree:n}=await z(),a=async t=>{let e=await fetch(O(i,t),{headers:h});if(!e.ok)throw Error(`Failed to load skill (${e.status}).`);return e.text()},l=t=>n.some(e=>"blob"===e.type&&e.path===t),s=`${u}${t}/SKILL.md`;if(!l(s))throw Error(`Skill "${t}" was not found.`);e=await a(s);let o=`${u}${t}/${p}`;if(l(o))try{r=await a(o)}catch{}}let{frontmatter:n,body:a}=g(e),l=n?v(n):{},s=null!==n&&(null!=l.name||null!=l.description||null!=l.version);return{name:t,title:l.name||t,description:l.description||"",version:l.version,body:s?a:e.trim(),installed:i,expertBody:null===r?void 0:function(t){let{frontmatter:e,body:r}=g(t);return(null===e?t:r).trim()}(r)}}async function P(t){if(!$(t))throw Error("Invalid skill name.");let{ref:e,tree:a}=await z(),l=`${u}${t}/`,s=a.filter(t=>"blob"===t.type&&t.path.startsWith(l));if(0===s.length)throw Error(`Skill "${t}" was not found in the catalog.`);if(s.length>300)throw Error("This skill has too many files to install.");if(s.reduce((t,e)=>t+(e.size??0),0)>0x1900000)throw Error("This skill is too large to install.");let o=(0,r.resolve)(f),m=(0,r.resolve)(o,t);if(m!==(0,r.join)(o,t))throw Error("Invalid skill name.");let p=(0,r.join)(o,`.installing-${t}-${(0,n.randomUUID)()}`);try{for(let t of(await i.promises.mkdir(p,{recursive:!0}),s)){let n=t.path.slice(l.length),a=(0,r.resolve)(p,n);if(a!==p&&!a.startsWith(p+r.sep))throw Error("Invalid file path in skill.");let s=await fetch(O(e,t.path),{headers:h});if(!s.ok)throw Error(`Failed to download ${n} (${s.status}).`);let o=Buffer.from(await s.arrayBuffer());await i.promises.mkdir((0,r.dirname)(a),{recursive:!0}),await i.promises.writeFile(a,o)}await i.promises.rm(m,{recursive:!0,force:!0}),await i.promises.mkdir(o,{recursive:!0}),await i.promises.rename(p,m)}catch(t){throw await i.promises.rm(p,{recursive:!0,force:!0}).catch(()=>{}),t}try{await D(t,e!==c&&L.test(e)?e:null)}catch{}return{files:s.length}}t.s(["u",0,f,"$",0,m,"P",0,w,"v",0,U,"q",0,M,"p",0,P,"r",0,y,"l",0,$,"I",0,S,"M",0,d,"s",0,C])}];
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=src_lib_server_skills_ts_1tyunpjo8yyyl._.js.map
|