agent-skill-manager 2.15.0 → 2.18.0
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/README.md +21 -4
- package/data/skill-index/ComposioHQ_awesome-claude-skills.json +153443 -0
- package/data/skill-index/Egonex-AI_Understand-Anything.json +2 -2
- package/data/skill-index/JuliusBrussee_caveman.json +3985 -0
- package/data/skill-index/Leonxlnx_taste-skill.json +47 -47
- package/data/skill-index/Nutlope_hallmark.json +185 -0
- package/data/skill-index/addyosmani_agent-skills.json +81 -81
- package/data/skill-index/anthropics_skills.json +69 -69
- package/data/skill-index/antithesishq_antithesis-skills.json +2567 -0
- package/data/skill-index/ayghri_i-have-adhd.json +185 -0
- package/data/skill-index/blader_humanizer.json +185 -0
- package/data/skill-index/cathrynlavery_diagram-design.json +185 -0
- package/data/skill-index/charlie947_answer-first.json +185 -0
- package/data/skill-index/charlie947_voiceprint.json +185 -0
- package/data/skill-index/google-labs-code_design.md.json +891 -0
- package/data/skill-index/hardikpandya_stop-slop.json +185 -0
- package/data/skill-index/mattpocock_skills.json +482 -114
- package/data/skill-index/multica-ai_andrej-karpathy-skills.json +185 -0
- package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +44 -44
- package/data/skill-index/obra_superpowers.json +49 -49
- package/data/skill-index/pbakaus_impeccable.json +185 -0
- package/data/skill-index/tt-a1i_archify.json +185 -0
- package/data/skill-index/zarazhangrui_frontend-slides.json +185 -0
- package/data/skill-index-resources.json +145 -10
- package/dist/agent-skill-manager.js +283 -239
- package/dist/chunk-54VC5E5G.js +23 -0
- package/dist/chunk-ESKBKSXS.js +2 -0
- package/dist/{chunk-LS24FFOX.js → chunk-VGQYV246.js} +2 -2
- package/dist/{chunk-LH2C3PE7.js → chunk-ZAOVB3X2.js} +1 -1
- package/dist/config-PQRMSV7F.js +2 -0
- package/dist/{lock-NN2MADX7.js → lock-RVOMV2LT.js} +1 -1
- package/dist/spawn-JDSII5L3.js +2 -0
- package/dist/src-SP66WR5V.js +119 -0
- package/package.json +1 -1
- package/dist/chunk-BQ4RW237.js +0 -20
- package/dist/config-AZYQEQOQ.js +0 -2
- package/dist/src-BD3KFE5H.js +0 -119
package/package.json
CHANGED
package/dist/chunk-BQ4RW237.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{b as k,o as R}from"./chunk-LS24FFOX.js";import{readdir as A,stat as D,lstat as we,readlink as Qe,readFile as J,realpath as fe}from"fs/promises";import{join as x,resolve as de,basename as Ze}from"path";import{homedir as Y}from"os";function se(e){let t={},n=e.split(`
|
|
3
|
-
`),o=!1,r=!1,i=null,a=[],l="none",s=-1,c=null;function d(){if(i){let u=a.join(" ").trim();u&&(t[i]=u),i=null,a=[],l="none",s=-1}}for(let u of n){if(u.trim()==="---")if(r){d();break}else{r=!0,o=!0;continue}if(!o)continue;if(l!=="none"&&i){let f=u.replace(/^\s*/,""),m=u.length-f.length;if(m>0&&f.length>0){s===-1&&(s=m),a.push(f);continue}else{if(f.length===0)continue;d()}}if(c!==null){let f=u.match(/^\s+(\w[\w-]*):\s*(.*?)\s*$/);if(f){let m=f[1],b=f[2].replace(/^["']|["']$/g,"");b&&(t[`${c}.${m}`]=b);continue}if(u.trim().length>0)c=null;else continue}let h=u.match(/^(\w[\w-]*):\s*(.*?)\s*$/);if(h){d();let f=h[1],m=h[2];if(m==="|"||m===">")i=f,a=[],l=m==="|"?"literal":"folded";else if(m==="|+"||m===">+"||m==="|-"||m===">-")i=f,a=[],l=m.startsWith("|")?"literal":"folded";else{let g=m.replace(/^["']|["']$/g,"");g?t[f]=g:c=f}}}return d(),t}function ae(e){return e["metadata.version"]||e.version||"0.0.0"}function le(e){let t=e["allowed-tools"]||"";return t.trim()?t.split(/[\s,]+/).map(n=>n.trim()).filter(Boolean):[]}function Se(e){return(e||"").trim().toLowerCase()}function Ye(e){let t=Se(e);return t==="true"||t==="yes"||t==="1"}function Xe(e){let t=Se(e);return t==="false"||t==="no"||t==="0"}function ce(e){return!Ye(e["disable-model-invocation"])}function ue(e){return"user-invocable"in e?!Xe(e["user-invocable"]):!0}function O(e,t){let n=e!==!1,o=t!==!1;return n&&o?"both":n?"model":o?"user":"none"}function Xt(e,t){let n=e.modelInvocable!==!1,o=e.userInvocable!==!1;return!(t.modelInvocable&&!n||t.userInvocable&&!o)}function U(e){if(!e)return 0;let t=e.split(/\s+/).map(o=>o.trim()).filter(Boolean).length,n=0;for(let o=0;o<e.length;o++)e.charCodeAt(o)===32&&n++;return t+n}function H(e){return!Number.isFinite(e)||e<0?"~0 tokens":e<1e3?`~${e} tokens`:e<1e4?`~${(e/1e3).toFixed(1).replace(/\.0$/,"")}k tokens`:e<1e6?`~${Math.round(e/1e3)}k tokens`:`~${(e/1e6).toFixed(1).replace(/\.0$/,"")}M tokens`}function Zt(e){return U(e.description??"")}function en(e){let t=e.tokenCount;return typeof t=="number"&&Number.isFinite(t)&&t>0?t:0}var et=x(Y(),".claude","plugins","marketplaces"),tt=x(Y(),".codex","plugins","cache"),nt=x(Y(),".codex","config.toml"),un=x(Y(),".agents","plugins","marketplace.json"),xe=16,ot=xe-1,F=[],N=0,pe=0;function ke(){for(;pe<xe&&N<F.length;){let e=F[N++];pe++,e()}N===F.length?(F.length=0,N=0):N>=1024&&N*2>=F.length&&(F.splice(0,N),N=0)}function rt(e){return new Promise((t,n)=>{F.push(()=>{Promise.resolve().then(e).finally(()=>{pe--,ke()}).then(t,n)}),ke()})}function it(){let e=[],t=0,n=0,o=()=>{for(;t<ot;){let r;for(let l=0;l<e.length;l++){let s=e[n];if(n=(n+1)%e.length,s.nextIndex<s.entries.length){r=s;break}}if(!r)return;let i=r.nextIndex++,a=r.entries[i];r.inFlight++,t++,rt(()=>r.task(a,i)).then(l=>{l&&r.results.push([i,l])},()=>{}).finally(()=>{if(t--,r.inFlight--,r.nextIndex===r.entries.length&&r.inFlight===0){let l=e.indexOf(r);e.splice(l,1),e.length===0?n=0:(l<n&&n--,n%=e.length),r.results.sort(([s],[c])=>s-c),r.resolve(r.results.map(([,s])=>s))}o()})}};return{run(r,i){return r.length===0?Promise.resolve([]):new Promise(a=>{e.push({entries:r,nextIndex:0,inFlight:0,results:[],task:i,resolve:a}),o()})}}}function st(e,t){let n=[];for(let o of e.providers){if(!o.enabled){k(`scan: skipping disabled provider "${o.name}"`);continue}if(t==="global"||t==="both"){let r=R(o.global);k(`scan: adding location ${r} (${o.label}, global)`),n.push({dir:r,location:`global-${o.name}`,scope:"global",providerName:o.name,providerLabel:o.label})}if(t==="project"||t==="both"){let r=R(o.project);k(`scan: adding location ${r} (${o.label}, project)`),n.push({dir:r,location:`project-${o.name}`,scope:"project",providerName:o.name,providerLabel:o.label})}}for(let o of e.customPaths)if(t===o.scope||t==="both"){let r=R(o.path);k(`scan: adding custom location ${r} (${o.label}, ${o.scope})`),n.push({dir:r,location:`${o.scope}-custom`,scope:o.scope,providerName:"custom",providerLabel:o.label})}return n}async function me(e){try{return(await A(e,{recursive:!0})).length}catch{return 0}}function Pe(e,t){Object.defineProperty(e,"_skillMdContent",{value:t,writable:!0,configurable:!0})}async function at(e,t){k(`scanning: ${e.dir} (${e.location})`);let n;try{n=await A(e.dir)}catch{return k(`scanning: ${e.dir} \u2014 not found, skipping`),[]}let o=await t.run(n,async r=>{try{let i=x(e.dir,r);try{if(!(await D(i)).isDirectory()){k(` skip: "${r}" \u2014 not a directory`);return}}catch{k(` skip: "${r}" \u2014 stat failed`);return}let a=x(i,"SKILL.md"),l;try{l=await J(a,"utf-8")}catch{k(` skip: "${r}" \u2014 no SKILL.md`);return}let s=se(l),c=!1,d=null;try{(await we(i)).isSymbolicLink()&&(c=!0,d=await Qe(i))}catch{}let u=de(i),h;try{h=await fe(i)}catch{h=u}let f={name:s.name||r,version:ae(s),description:(s.description||"").replace(/\s*\n\s*/g," ").trim(),creator:s["metadata.creator"]||"",license:(s.license||"").trim(),compatibility:(s.compatibility||"").trim(),allowedTools:le(s),modelInvocable:ce(s),userInvocable:ue(s),effort:s.effort||s["metadata.effort"]||void 0,dirName:r,path:u,originalPath:i,location:e.location,scope:e.scope,provider:e.providerName,providerLabel:e.providerLabel,isSymlink:c,symlinkTarget:d,realPath:h,tokenCount:U(l)};return Pe(f,l),f}catch{k(` skip: "${r}" \u2014 scan failed`);return}});return k(`found ${o.length} skill(s) in ${e.dir}`),o}async function Ie(e){let t=[],n;try{n=await A(e)}catch{return t}for(let o of n){let r=x(e,o),i;try{i=await we(r)}catch{continue}if(!i.isSymbolicLink()&&i.isDirectory()){let a=x(r,"SKILL.md");try{await D(a),t.push(r)}catch{let l=await Ie(r);t.push(...l)}}}return t}async function lt(e){let t=e??et,n=[];k(`scan: checking plugin marketplaces at ${t}`);let o;try{o=await A(t)}catch{return k("scan: plugin marketplaces dir not found, skipping"),n}for(let r of o){let i=x(t,r),a;try{a=await D(i)}catch{continue}if(!a.isDirectory())continue;k(`scan: scanning marketplace "${r}"`);let l=await Ie(i);for(let s of l){let c=x(s,"SKILL.md"),d;try{d=await J(c,"utf-8")}catch{continue}let u=se(d),h=Ze(s),f=de(s),m;try{m=await fe(s)}catch{m=f}let g={name:u.name||h,version:ae(u),description:(u.description||"").replace(/\s*\n\s*/g," ").trim(),creator:u["metadata.creator"]||"",license:(u.license||"").trim(),compatibility:(u.compatibility||"").trim(),allowedTools:le(u),modelInvocable:ce(u),userInvocable:ue(u),effort:u.effort||u["metadata.effort"]||void 0,dirName:h,path:f,originalPath:s,location:`global-plugin-${r}`,scope:"global",provider:"plugin",providerLabel:`Plugin (${r})`,isSymlink:!1,symlinkTarget:null,realPath:m,marketplace:r,tokenCount:U(d)};Pe(g,d),n.push(g)}}return k(`scan: found ${n.length} plugin marketplace skill(s)`),n}function ct(e){let t=new Map,n=null;for(let o of e.split(`
|
|
4
|
-
`)){let r=o.trim(),i=r.match(/^\[plugins\.([^\]]+)\]$/);if(i){n=i[1].trim().replace(/^["']|["']$/g,"");continue}if(r.startsWith("[")){n=null;continue}if(n&&r.startsWith("enabled")){let a=r.match(/^enabled\s*=\s*(true|false)/i);a&&t.set(n,a[1].toLowerCase()==="true")}}return t}async function ut(e){let t=e??nt;try{let n=await J(t,"utf-8");return ct(n)}catch{return k(`codex: config.toml not found at ${t}, skipping enabled check`),new Map}}async function pt(e,t){let n=e??tt,o=[];k(`codex: checking plugin cache at ${n}`);let r;try{r=await A(n)}catch{return k("codex: plugin cache dir not found, skipping"),o}let i=await ut(t);for(let a of r){let l=x(n,a),s;try{s=await D(l)}catch{continue}if(!s.isDirectory())continue;let c;try{c=await A(l)}catch{continue}for(let d of c){let u=x(l,d),h;try{h=await D(u)}catch{continue}if(!h.isDirectory())continue;let f;try{f=await A(u)}catch{continue}let m=(await Promise.all(f.map(async $=>{try{return(await D(x(u,$))).isDirectory()?$:null}catch{return null}}))).filter($=>$!==null);if(m.length===0)continue;let g=m.sort(Ce).at(-1),b=x(u,g),y=x(b,".codex-plugin","plugin.json"),w;try{let $=await J(y,"utf-8");w=JSON.parse($)}catch{k(`codex: no valid plugin.json at ${y}, skipping`);continue}let I=de(b),C;try{C=await fe(b)}catch{C=I}let E=w.interface?.displayName||w.name||d,G=w.version||g,B=(w.description||"").replace(/\s*\n\s*/g," ").trim(),V=i.has(d)?i.get(d):!0;o.push({name:E,version:G,description:B,creator:"",license:"",compatibility:"",allowedTools:[],dirName:d,path:I,originalPath:b,location:`global-codex-plugin-${a}`,scope:"global",provider:"codex-plugin",providerLabel:`Codex Plugin (${a})`,isSymlink:!1,symlinkTarget:null,realPath:C,marketplace:a,codexPlugin:{category:w.interface?.category,hasMcpConfig:w.mcp!=null&&Object.keys(w.mcp).length>0,pluginName:d,pluginVersion:g,enabled:V}})}}return k(`codex: found ${o.length} plugin(s) in cache`),o}async function pn(e,t,n,o){let r=st(e,t),i=t==="global"||t==="both",a=it(),[l,s,c]=await Promise.all([Promise.all(r.map(f=>at(f,a))),i?lt(n):Promise.resolve([]),i?pt(o):Promise.resolve([])]),d=l.flat(),u=new Set(d.map(f=>f.realPath)),h=new Set(d.map(f=>f.name.toLowerCase()));for(let f of s)!u.has(f.realPath)&&!h.has(f.name.toLowerCase())&&(d.push(f),u.add(f.realPath),h.add(f.name.toLowerCase()));for(let f of c)!u.has(f.realPath)&&!h.has(f.name.toLowerCase())&&(d.push(f),u.add(f.realPath),h.add(f.name.toLowerCase()));return d}function fn(e,t){if(!t.trim())return e;let n=t.toLowerCase();return e.filter(o=>o.name.toLowerCase().includes(n)||o.description.toLowerCase().includes(n)||o.creator.toLowerCase().includes(n)||o.effort&&o.effort.toLowerCase().includes(n)||o.location.toLowerCase().includes(n)||o.providerLabel.toLowerCase().includes(n))}function Ce(e,t){let n=e.split("."),o=t.split("."),r=Math.max(n.length,o.length);for(let i=0;i<r;i++){let a=parseInt(n[i]??"0",10),l=parseInt(o[i]??"0",10);if(isNaN(a)||isNaN(l))return e.localeCompare(t);if(a!==l)return a-l}return 0}function dn(e,t){let n=[...e];switch(t){case"name":n.sort((o,r)=>o.name.localeCompare(r.name));break;case"version":n.sort((o,r)=>Ce(o.version,r.version));break;case"location":n.sort((o,r)=>o.location.localeCompare(r.location));break}return n}import{rm as T,readFile as Me,writeFile as yt,access as St,lstat as kt,rename as wt,readdir as xt,mkdir as Ne,unlink as Te}from"fs/promises";import{join as X,resolve as P,dirname as _,relative as Le}from"path";import{homedir as Pt}from"os";import{readdir as ft,readFile as dt,stat as mt,symlink as Ee}from"fs/promises";import{dirname as gt,join as ht,resolve as vt}from"path";async function ge(e,t){process.platform==="win32"?await Ee(vt(gt(t),e),t,"junction"):await Ee(e,t,"dir")}function vn(e){return e.split("\\").join("/")}var bt=new Set([".png",".jpg",".jpeg",".gif",".ico",".bmp",".webp",".mp3",".mp4",".wav",".avi",".mov",".zip",".tar",".gz",".bz2",".7z",".exe",".dll",".so",".dylib",".woff",".woff2",".ttf",".eot",".pdf",".doc",".docx"]),$t=512*1024;async function bn(e){let t=[];async function n(o,r){let i;try{i=await ft(o)}catch{return}for(let a of i){if(a===".git"||a==="node_modules")continue;let l=ht(o,a),s=r?`${r}/${a}`:a;try{let c=await mt(l);if(c.isDirectory())await n(l,s);else if(c.isFile()){let d=a.includes(".")?`.${a.split(".").pop().toLowerCase()}`:"";if(bt.has(d)||c.size>$t)continue;try{let u=await dt(l,"utf-8");t.push({relPath:s,content:u,lineCount:u.split(`
|
|
5
|
-
`).length})}catch{}}}catch{continue}}}return await n(e,""),t}var Re=Pt();function It(e,t){let n={directories:[],ruleFiles:[],agentsBlocks:[]};n.directories.push({path:e.originalPath,isSymlink:e.isSymlink});let o=e.dirName;if(e.scope==="project"&&(n.ruleFiles.push(P(".cursor","rules",`${o}.mdc`),P(".windsurf","rules",`${o}.md`),P(".github","instructions",`${o}.instructions.md`)),n.agentsBlocks.push({file:P("AGENTS.md"),skillName:o})),e.scope==="global"){for(let a of t.providers){if(!a.enabled)continue;let l=R(a.global),s=X(_(l),"AGENTS.md");n.agentsBlocks.push({file:s,skillName:o})}let r=X(Re,".codex","AGENTS.md");n.agentsBlocks.some(a=>a.file===r)||n.agentsBlocks.push({file:r,skillName:o})}return n}function Pn(e,t,n,o){let r=t.filter(h=>h.dirName===e),i=r;if(o?.providerFilter&&(i=i.filter(h=>h.provider===o.providerFilter)),o?.scopeFilter&&(i=i.filter(h=>h.scope===o.scopeFilter)),i.length===0)return{directories:[],ruleFiles:[],agentsBlocks:[]};let a=new Set(r.filter(h=>!i.includes(h)).map(h=>`${h.provider}::${h.scope}`));function l(h){if(h===P("AGENTS.md")){let f=Array.from(a).find(m=>m.endsWith("::project"));return f?{provider:f.split("::")[0],scope:"project"}:null}for(let f of n.providers){let m=R(f.global),g=X(_(m),"AGENTS.md");if(h===g)return{provider:f.name,scope:"global"}}return h===X(Re,".codex","AGENTS.md")?{provider:"codex",scope:"global"}:null}let s={directories:[],ruleFiles:[],agentsBlocks:[]},c=new Set,d=new Set,u=new Set;for(let h of i){let f=It(h,n);for(let m of f.directories)c.has(m.path)||(c.add(m.path),s.directories.push(m));for(let m of f.ruleFiles)d.has(m)||(d.add(m),s.ruleFiles.push(m));for(let m of f.agentsBlocks){let g=`${m.file}::${m.skillName}`;if(u.has(g))continue;let b=l(m.file);if(b){let y=`${b.provider}::${b.scope}`;if(a.has(y))continue}u.add(g),s.agentsBlocks.push(m)}}return s}async function q(e){try{return await St(e),!0}catch{return!1}}async function Ct(e,t){if(!await q(e))return;let n=await Me(e,"utf-8"),o=!1;for(let r of["agent-skill-manager","skill-manager","pskills"]){let i=`<!-- ${r}: ${t} -->`,a=`<!-- /${r}: ${t} -->`,l=n.indexOf(i),s=n.indexOf(a);if(l===-1||s===-1)continue;let c=l;c>0&&n[c-1]===`
|
|
6
|
-
`&&c--;let u=s+a.length;u<n.length&&n[u]===`
|
|
7
|
-
`&&u++,n=n.slice(0,c)+n.slice(u),o=!0}o&&await yt(e,n,"utf-8")}function Et(e,t){let n=e.filter(r=>r.provider!==t);if(n.length===0)return null;let o=n.find(r=>!r.isSymlink);return o?{path:o.originalPath,provider:o.provider}:{path:n[0].originalPath,provider:n[0].provider}}function In(e,t,n){if(!e.directories.some(c=>!c.isSymlink))return null;let r=t.filter(c=>c.provider!==n);if(r.length===0)return null;let i=Et(t,n);if(!i)return null;let a=e.directories.find(c=>!c.isSymlink),l=r.map(c=>c.originalPath).filter(c=>c!==i.path),s=r.find(c=>c.originalPath===i.path);return s&&!s.isSymlink?l.length===0?null:{needed:!0,fromProvider:n,fromPath:a?.path||"",toProvider:i.provider,toPath:i.path,repointPaths:l,repointOnly:!0}:{needed:!0,fromProvider:n,fromPath:a?.path||"",toProvider:i.provider,toPath:i.path,repointPaths:l}}async function Nt(e){let t=[],n=new Set;for(let o of e){let r=_(o);if(!n.has(r)){n.add(r);try{(await xt(r)).filter(l=>l!==".DS_Store").length===0&&(await T(r,{recursive:!0,force:!0}),t.push(r))}catch{}}}return t}async function Cn(e,t,n){let o=[];if(n?.needed){if(!n.repointOnly)try{let a=_(n.toPath);await Ne(a,{recursive:!0});try{await Te(n.toPath)}catch(l){(!(l instanceof Error)||!("code"in l)||l.code!=="ENOENT")&&await T(n.toPath,{recursive:!0,force:!0})}try{await wt(n.fromPath,n.toPath)}catch(l){if(l instanceof Error&&"code"in l&&l.code==="EXDEV"){let{cp:s}=await import("fs/promises");try{await s(n.fromPath,n.toPath,{recursive:!0,preserveTimestamps:!0})}catch(c){try{await T(n.toPath,{recursive:!0,force:!0})}catch(d){let u=d instanceof Error?d.message:String(d);o.push(`Failed to clean up partial copy at ${n.toPath}: ${u}`)}throw c}await T(n.fromPath,{recursive:!0,force:!0})}else throw l}o.push(`Relocated real folder: ${n.fromPath} -> ${n.toPath}`)}catch(a){let l=a instanceof Error?a.message:String(a);o.push(`Failed to relocate real folder: ${l}`);let s=new Error(`Failed to relocate real folder: ${l}`);throw s.log=o,s}for(let a of n.repointPaths||[]){let l=_(a),s=Le(l,n.toPath);try{try{await Te(a)}catch(c){(!(c instanceof Error)||!("code"in c)||c.code!=="ENOENT")&&await T(a,{recursive:!0,force:!0})}await Ne(l,{recursive:!0}),await ge(s,a),o.push(`Repointed symlink: ${a} -> ${s}`)}catch(c){let d=c instanceof Error?c.message:String(c);o.push(`Failed to repoint symlink ${a} -> ${s}: ${d}. To fix manually: ln -sfn ${n.toPath} ${a}`)}}}for(let a of e.directories)try{if(n?.needed&&!n.repointOnly&&P(a.path)===P(n.fromPath))continue;if(t&&P(a.path)===P(t)){o.push(`Skipped same-path removal: ${a.path}`);continue}if(a.isSymlink?(await T(a.path),o.push(`Removed symlink: ${a.path}`)):(await T(a.path,{recursive:!0,force:!0}),o.push(`Removed directory: ${a.path}`)),!n?.needed&&t&&P(a.path)!==P(t)){let l=_(a.path),s=Le(l,t);await ge(s,a.path),o.push(`Created symlink: ${a.path} -> ${s}`)}}catch(l){let s=l instanceof Error?l.message:String(l);o.push(`Failed to remove ${a.path}: ${s}`)}let r=e.directories.map(a=>a.path),i=await Nt(r);for(let a of i)o.push(`Removed empty parent directory: ${a}`);for(let a of e.ruleFiles)if(await q(a))try{await T(a),o.push(`Removed rule file: ${a}`)}catch(l){let s=l instanceof Error?l.message:String(l);o.push(`Failed to remove ${a}: ${s}`)}for(let a of e.agentsBlocks)try{await Ct(a.file,a.skillName),o.push(`Cleaned AGENTS.md block in: ${a.file}`)}catch(l){let s=l instanceof Error?l.message:String(l);o.push(`Failed to clean AGENTS.md block: ${s}`)}return o}async function En(e){let t=[];for(let n of e.directories)if(await q(n.path)){let r=(await kt(n.path)).isSymbolicLink()?"symlink":"directory";t.push(`${n.path} (${r})`)}for(let n of e.ruleFiles)await q(n)&&t.push(n);for(let n of e.agentsBlocks)if(await q(n.file)){let o=await Me(n.file,"utf-8");(o.includes(`<!-- agent-skill-manager: ${n.skillName} -->`)||o.includes(`<!-- skill-manager: ${n.skillName} -->`)||o.includes(`<!-- pskills: ${n.skillName} -->`))&&t.push(`${n.file} (AGENTS.md block)`)}return t}var v=()=>!(process.env.NO_COLOR!==void 0||globalThis.__CLI_NO_COLOR||!process.stdout.isTTY),p={bold:e=>v()?`\x1B[1m${e}\x1B[0m`:e,cyan:e=>v()?`\x1B[36m${e}\x1B[0m`:e,green:e=>v()?`\x1B[32m${e}\x1B[0m`:e,yellow:e=>v()?`\x1B[33m${e}\x1B[0m`:e,dim:e=>v()?`\x1B[2m${e}\x1B[0m`:e,white:e=>v()?`\x1B[37m${e}\x1B[0m`:e,red:e=>v()?`\x1B[31m${e}\x1B[0m`:e,blue:e=>v()?`\x1B[34m${e}\x1B[0m`:e,blueBold:e=>v()?`\x1B[34;1m${e}\x1B[0m`:e,magenta:e=>v()?`\x1B[35m${e}\x1B[0m`:e,bgDim:e=>v()?`\x1B[48;5;236m${e}\x1B[0m`:e,bgRed:e=>v()?`\x1B[41m\x1B[37m\x1B[1m${e}\x1B[0m`:e,bgYellow:e=>v()?`\x1B[43m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgGreen:e=>v()?`\x1B[42m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgCyan:e=>v()?`\x1B[46m\x1B[30m\x1B[1m${e}\x1B[0m`:e};function j(e){if(!e)return"";switch(e.toLowerCase()){case"low":return p.green(e);case"medium":return p.yellow(e);case"high":return p.red(e);case"max":return p.magenta(e);default:return e}}var Fe={claude:p.blueBold,codex:p.cyan,"codex-plugin":p.cyan,openclaw:p.yellow,agents:p.green,custom:p.magenta,cursor:p.blue,windsurf:p.cyan,cline:p.green,roocode:p.magenta,continue:p.yellow,copilot:p.white,aider:p.red,opencode:p.cyan,zed:p.blue,augment:p.green,amp:p.yellow};function W(e,t){return(Fe[e]||p.dim)(t)}function K(e,t){return v()?(Fe[e]||p.dim)(`[${t}]`):`[${t}]`}function L(e){let t=process.env.HOME||process.env.USERPROFILE||"";return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function Tt(e){if(e.length===0)return"No skills found.";let t=["Name","Version","Creator","Effort","Invoke","Tool","Scope","Type","Path"],n=e.map(s=>[s.disabled?`${s.name} [disabled]`:s.name,s.version,s.creator||"\u2014",s.effort||"\u2014",O(s.modelInvocable,s.userInvocable),s.providerLabel,s.scope,s.isSymlink?"symlink":"directory",L(s.path)]),o=t.map((s,c)=>Math.max(s.length,...n.map(d=>d[c].length))),r=(s,c)=>s.padEnd(c),i=t.map((s,c)=>r(s,o[c])).join(" "),a=o.map(s=>"-".repeat(s)).join("--"),l=n.map((s,c)=>{let d=s.map((u,h)=>r(u,o[h])).join(" ");return e[c].disabled?p.dim(d):d});return[v()?p.bold(i):i,a,...l].join(`
|
|
8
|
-
`)}function z(e){let t=new Map;for(let o of e){let r=`${o.dirName}||${o.scope}||${o.disabled?"off":"on"}`,i=t.get(r)??[];i.push(o),t.set(r,i)}let n=[];for(let[,o]of t){let r=o[0],i=new Set(o.map(l=>l.scope)),a=new Set(o.map(l=>l.isSymlink?"symlink":"directory"));n.push({name:r.name,version:r.version,creator:r.creator||"",effort:r.effort||"",invoke:O(r.modelInvocable,r.userInvocable),tokens:typeof r.tokenCount=="number"?H(r.tokenCount):"",providers:o.map(l=>({provider:l.provider,label:l.providerLabel})),scope:i.size>1?"mixed":r.scope,type:a.size>1?"mixed":r.isSymlink?"symlink":"directory",path:L(r.path),warningCount:o.reduce((l,s)=>l+(s.warnings?.length??0),0),disabled:o.every(l=>l.disabled===!0)})}return n}function he(e){return e.disabled?`${e.name} [disabled]`:e.name}var Lt=50;function Mt(e,t={}){let n=t.topN??5,o=t.showHint??!0;if(e.length===0)return"No skills found.";let r=[],a=z(e).length,l=e.length,s=new Set(e.map(g=>g.provider)),c=e.filter(g=>g.scope==="global").length,d=e.filter(g=>g.scope==="project").length,u=`${l} skills (${a} unique) across ${s.size} tools | ${c} global, ${d} project`;r.push(v()?p.bold(u):u),r.push("");let h=new Map;for(let g of e){let b=h.get(g.provider)??{label:g.providerLabel,count:0};b.count+=1,h.set(g.provider,b)}let f=[...h.entries()].sort((g,b)=>b[1].count-g[1].count).slice(0,n);r.push(v()?p.bold("Top tools:"):"Top tools:");for(let[g,{label:b,count:y}]of f){let w=v()?W(g,`[${b}]`):`[${b}]`;r.push(` ${w} ${y} skill${y===1?"":"s"}`)}r.push(""),r.push(v()?p.bold("Scopes:"):"Scopes:"),r.push(` global ${c} skill${c===1?"":"s"}`),r.push(` project ${d} skill${d===1?"":"s"}`);let m=new Map;for(let g of e)g.effort&&m.set(g.effort,(m.get(g.effort)??0)+1);if(m.size>0){let g=[...m.entries()].sort((b,y)=>y[1]-b[1]).slice(0,n);r.push(""),r.push(v()?p.bold("Top efforts:"):"Top efforts:");for(let[b,y]of g){let w=j(b),I=Math.max(0,6-b.length);r.push(` ${w}${" ".repeat(I)} ${y} skill${y===1?"":"s"}`)}}if(o){r.push("");let g="Tip: refine with `asm list -p <tool>`, `asm search <query>`, or `asm list --compact`";r.push(v()?p.dim(g):g)}return r.join(`
|
|
9
|
-
`)}function Ae(e){if(e.length===0)return"No skills found.";let t=z(e),n=[],o=Math.max(4,...t.map(f=>he(f).length)),r=Math.max(7,...t.map(f=>f.version.length)),i=t.map(f=>f.providers.map(m=>K(m.provider,m.label)).join(" ")),a=t.map(f=>f.providers.map(m=>`[${m.label}]`).join(" ")),l=Math.max(5,...a.map(f=>f.length)),s=7,c=(f,m)=>f.padEnd(m);for(let f=0;f<t.length;f++){let m=t[f],g=c(he(m),o),b=p.dim(c(m.version,r)),y=l-a[f].length,w=i[f]+" ".repeat(Math.max(0,y)),I=p.dim(c(m.scope,s)),C=c(m.invoke,5),E=`${g} ${b} ${C} ${w} ${I}`;n.push(m.disabled?p.dim(E):E)}n.push("");let d=e.length,u=t.length,h=`${d} skills (${u} unique)`;return n.push(p.dim(h)),n.join(`
|
|
10
|
-
`)}function Rt(e,t){if(e.length===0)return"No skills found.";let n=new Map,o=c=>{switch(t){case"tool":return[c.providerLabel];case"scope":return[c.scope];case"effort":return[c.effort&&c.effort.length>0?c.effort:"(unset)"]}};for(let c of e)for(let d of o(c)){let u=n.get(d)??[];u.push(c),n.set(d,u)}let r=[...n.entries()].sort((c,d)=>d[1].length!==c[1].length?d[1].length-c[1].length:c[0].localeCompare(d[0])),i=[];for(let[c,d]of r){let u=`${c} (${d.length})`;i.push(v()?p.bold(u):u);let m=Ae(d).split(`
|
|
11
|
-
`).slice(0,-2).filter(g=>g.length>0).map(g=>` ${g}`);i.push(...m),i.push("")}let a=e.length,l=z(e).length,s=`${a} skills (${l} unique), grouped by ${t}`;return i.push(p.dim(s)),i.join(`
|
|
12
|
-
`)}function Ft(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return{skills:e,hint:""};let n=e.slice(0,t),o=e.length-t,r=p.dim(`... ${o} more not shown. Re-run with --limit ${e.length} (or 0) to see all, or refine with -p <tool>.`);return{skills:n,hint:r}}function At(e){if(e.length===0)return"No skills found.";let t=z(e),n=[],o=Math.max(4,...t.map($=>$.name.length)),r=Math.max(7,...t.map($=>$.version.length)),i=Math.max(7,...t.map($=>Math.min(($.creator||"\u2014").length,15))),a=Math.max(6,...t.map($=>($.effort||"\u2014").length)),l=Math.max(6,...t.map($=>$.invoke.length)),s=t.some($=>$.tokens.length>0),c=s?Math.max(6,...t.map($=>($.tokens||"\u2014").length)):0,d=7,u=9,h=t.map($=>$.providers.map(S=>K(S.provider,S.label)).join(" ")),f=t.map($=>$.providers.map(S=>`[${S.label}]`).join(" ")),m=Math.max(9,...f.map($=>$.length)),g=($,S)=>$.padEnd(S),b=s?` ${g("Tokens",c)}`:"",y=`${g("Name",o)} ${g("Version",r)} ${g("Creator",i)} ${g("Effort",a)} ${g("Invoke",l)}${b} ${g("Tools",m)} ${g("Scope",d)} ${g("Type",u)}`;n.push(v()?p.bold(y):y);let w=s?` ${"-".repeat(c)}`:"";n.push(`${"-".repeat(o)} ${"-".repeat(r)} ${"-".repeat(i)} ${"-".repeat(a)} ${"-".repeat(l)}${w} ${"-".repeat(m)} ${"-".repeat(d)} ${"-".repeat(u)}`);for(let $=0;$<t.length;$++){let S=t[$],ee=g(he(S),o),te=g(S.version,r),ne=(S.creator||"\u2014").slice(0,15),oe=g(ne,i),re=S.effort||"\u2014",ie=S.effort?j(S.effort):"\u2014",Ge=a-re.length,Be=ie+" ".repeat(Math.max(0,Ge)),Ve=s?` ${g(S.tokens||"\u2014",c)}`:"",He=m-f[$].length,qe=h[$]+" ".repeat(Math.max(0,He)),Ke=g(S.scope,d),ze=g(S.type,u),Ue=S.warningCount>0?` ${p.yellow(`(${S.warningCount} warning${S.warningCount>1?"s":""})`)}`:"",Je=g(S.invoke,l),ye=`${ee} ${te} ${oe} ${Be} ${Je}${Ve} ${qe} ${Ke} ${ze}${Ue}`;n.push(S.disabled?p.dim(ye):ye)}let I=t.length,C=e.length,E=new Set(e.map($=>$.provider)),G=e.filter($=>$.scope==="global").length,B=e.filter($=>$.scope==="project").length;n.push("");let V=`${C} skills (${I} unique) across ${E.size} tools | ${G} global, ${B} project`;return n.push(p.dim(V)),n.join(`
|
|
13
|
-
`)}function jt(e,t){if(!v()||!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());if(n===-1)return e;let o=e.slice(0,n),r=e.slice(n,n+t.length),i=e.slice(n+t.length);return`${o}${p.bold(p.yellow(r))}${i}`}function Ot(e,t){if(e.length===0)return`No skills matching "${t}". Try ${p.bold("asm list")} to see all skills.`;let n=z(e),o=[];o.push(p.dim(`Found ${e.length} result${e.length===1?"":"s"} (${n.length} unique) matching "${t}"`)+`
|
|
14
|
-
`);let r=Math.max(4,...n.map(b=>b.name.length)),i=Math.max(7,...n.map(b=>b.version.length)),a=Math.max(7,...n.map(b=>Math.min((b.creator||"\u2014").length,15))),l=Math.max(6,...n.map(b=>(b.effort||"\u2014").length)),s=n.map(b=>b.providers.map(y=>K(y.provider,y.label)).join(" ")),c=n.map(b=>b.providers.map(y=>`[${y.label}]`).join(" ")),d=Math.max(9,...c.map(b=>b.length)),u=7,h=9,f=(b,y)=>b.padEnd(y),m=6,g=`${f("Name",r)} ${f("Version",i)} ${f("Creator",a)} ${f("Effort",l)} ${f("Invoke",m)} ${f("Tools",d)} ${f("Scope",u)} ${f("Type",h)}`;o.push(v()?p.bold(g):g),o.push(`${"-".repeat(r)} ${"-".repeat(i)} ${"-".repeat(a)} ${"-".repeat(l)} ${"-".repeat(m)} ${"-".repeat(d)} ${"-".repeat(u)} ${"-".repeat(h)}`);for(let b=0;b<n.length;b++){let y=n[b],w=jt(y.name,t),I=r-y.name.length,C=w+" ".repeat(Math.max(0,I)),E=f(y.version,i),G=(y.creator||"\u2014").slice(0,15),B=f(G,a),V=y.effort||"\u2014",$=y.effort?j(y.effort):"\u2014",S=l-V.length,ee=$+" ".repeat(Math.max(0,S)),te=d-c[b].length,ne=s[b]+" ".repeat(Math.max(0,te)),oe=f(y.scope,u),re=f(y.type,h),ie=f(y.invoke,m);o.push(`${C} ${E} ${B} ${ee} ${ie} ${ne} ${oe} ${re}`)}return o.join(`
|
|
15
|
-
`)}function Dt(e,t){if(e.length===0)return"";let n=[];n.push(p.dim(`Found ${e.length} available skill${e.length===1?"":"s"} matching "${t}"`)+`
|
|
16
|
-
`);for(let o of e){n.push(` ${p.dim("To install:")} ${p.green(`asm install ${o.installUrl}`)}`);let r=o.verified?p.blue(" [verified]"):"",i=o.invocability?p.dim(` [${o.invocability}]`):"";n.push(` ${p.cyan(o.name)} ${p.dim(`v${o.version}`)}${r}${i} ${p.dim(`[${o.repoLabel}]`)}`);for(let a of Z(o.description,76))n.push(` ${a}`);n.push("")}return n.join(`
|
|
17
|
-
`)}var ve=new Set(["Bash","Write","Edit","NotebookEdit"]),je=new Set(["WebFetch","WebSearch"]);function Oe(e){return ve.has(e)?p.red(e):je.has(e)?p.yellow(e):p.green(e)}function Q(e){return e.length===0?"":e.map(Oe).join(" ")}function be(e){let t=e.filter(o=>ve.has(o));if(t.length===0)return null;let n=[];return t.includes("Bash")&&n.push("execute shell commands"),(t.includes("Write")||t.includes("Edit")||t.includes("NotebookEdit"))&&n.push("modify files"),`This skill can ${n.join(" and ")}`}function Z(e,t){let n=e.split(/\s+/),o=[],r="";for(let i of n)r.length+i.length+1>t&&r.length>0?(o.push(r),r=i):r=r?r+" "+i:i;return r&&o.push(r),o}function _t(e){return JSON.stringify(e,null,2)}async function De(e){let t=[],n=(i,a)=>`${v()?p.bold(i+":"):i+":"} ${a}`;t.push(n("Name",e.name)),t.push(n("Version",e.version)),t.push(n("Creator",e.creator||"\u2014")),t.push(n("License",e.license||"\u2014")),e.compatibility&&t.push(n("Compatibility",e.compatibility)),e.effort&&t.push(n("Effort",j(e.effort))),t.push(n("Invocable",O(e.modelInvocable,e.userInvocable))),t.push(n("Tool",e.providerLabel)),t.push(n("Scope",e.scope)),t.push(n("Location",e.location)),t.push(n("Path",L(e.path))),t.push(n("Type",e.isSymlink?"symlink":"directory")),e.isSymlink&&e.symlinkTarget&&t.push(n("Symlink Target",e.symlinkTarget));let o=e.fileCount??await me(e.path);if(t.push(n("File Count",String(o))),typeof e.tokenCount=="number"&&t.push(n("Est. Tokens",H(e.tokenCount))),e.description&&(t.push(""),t.push(n("Description",e.description))),e.allowedTools&&e.allowedTools.length>0){t.push(""),t.push(v()?p.bold("Allowed Tools:"):"Allowed Tools:"),t.push(` ${Q(e.allowedTools)}`);let i=be(e.allowedTools);i&&t.push(` ${v()?p.yellow("\u26A0"):"!"} ${i}`)}t.push(""),t.push(v()?p.bold("Eval Score:"):"Eval Score:");let r=_e(e);if(r.length>0){let i=r.length>1;for(let a of r){let l=$e(a.overallScore),s=a.providerId?`${a.providerId}@${a.providerVersion??"?"}`:"quality";i?t.push(` ${s}: ${l} / 100 (${a.grade})`):t.push(` Overall: ${l} / 100 (${a.grade})`);let c=a.evaluatedVersion?` \u2014 version ${a.evaluatedVersion}`:"";if(t.push(` ${v()?p.dim("Evaluated:"):"Evaluated:"} ${a.evaluatedAt}${c}`),a.categories.length>0){i?t.push(v()?p.dim(` Categories (${s}):`):` Categories (${s}):`):t.push(v()?p.dim(" Categories:"):" Categories:");for(let d of a.categories)t.push(` ${d.name.padEnd(28)} ${d.score}/${d.max}`)}}}else t.push(v()?p.dim(" Not available \u2014 run `asm eval "+e.path+"` to generate one."):" Not available \u2014 run `asm eval "+e.path+"` to generate one.");if(e.warnings&&e.warnings.length>0){t.push(""),t.push(v()?p.bold("Warnings:"):"Warnings:");for(let i of e.warnings)t.push(` ${v()?p.yellow("!"):"!"} [${i.category}] ${i.message}`)}return t.join(`
|
|
18
|
-
`)}function $e(e){let t=String(e);return v()?e>=90?p.green(t):e>=80?p.cyan(t):e>=65?p.yellow(t):p.red(t):t}function _e(e){return e.evalSummaries&&Object.keys(e.evalSummaries).length>0?Object.values(e.evalSummaries).sort((n,o)=>{let r=n.providerId??"quality",i=o.providerId??"quality";return r==="quality"&&i!=="quality"?-1:i==="quality"&&r!=="quality"?1:r.localeCompare(i)}):e.evalSummary?[e.evalSummary]:[]}async function Wt(e){if(e.length===0)return"No skills found.";if(e.length===1)return De(e[0]);let t=[],n=(d,u)=>`${v()?p.bold(d+":"):d+":"} ${u}`,o=e[0],r=o.name;t.push(""),t.push(v()?p.blueBold(` ${r}`):` ${r}`),t.push(v()?p.dim(" "+"-".repeat(r.length+2)):" "+"-".repeat(r.length+2)),t.push(""),t.push(n(" Version",o.version)),t.push(n(" Creator",o.creator||"\u2014")),t.push(n(" License",o.license||"\u2014")),o.compatibility&&t.push(n(" Compatibility",o.compatibility)),o.effort&&t.push(n(" Effort",j(o.effort))),t.push(n(" Invocable",O(o.modelInvocable,o.userInvocable)));let i=o.fileCount??await me(o.path);t.push(n(" File Count",String(i))),typeof o.tokenCount=="number"&&t.push(n(" Est. Tokens",H(o.tokenCount)));let a=e.map(d=>K(d.provider,d.providerLabel)).join(" ");t.push(n(" Installed in",a)),t.push(""),t.push(v()?p.bold(" Eval Score:"):" Eval Score:");let l=_e(o);if(l.length>0){let d=l.length>1;for(let u of l){let h=$e(u.overallScore),f=u.providerId?`${u.providerId}@${u.providerVersion??"?"}`:"quality";d?t.push(` ${f}: ${h} / 100 (${u.grade})`):t.push(` Overall: ${h} / 100 (${u.grade})`);let m=u.evaluatedVersion?` \u2014 version ${u.evaluatedVersion}`:"";if(t.push(` ${v()?p.dim("Evaluated:"):"Evaluated:"} ${u.evaluatedAt}${m}`),u.categories.length>0)for(let g of u.categories)t.push(` ${g.name.padEnd(28)} ${g.score}/${g.max}`)}}else t.push(v()?p.dim(` Not available \u2014 run \`asm eval ${o.path}\` to generate one.`):` Not available \u2014 run \`asm eval ${o.path}\` to generate one.`);if(o.description){t.push(""),t.push(v()?p.bold(" Description:"):" Description:");let d=Z(o.description,72);for(let u of d)t.push(" "+u)}if(o.allowedTools&&o.allowedTools.length>0){t.push(""),t.push(v()?p.bold(" Allowed Tools:"):" Allowed Tools:"),t.push(` ${Q(o.allowedTools)}`);let d=be(o.allowedTools);d&&t.push(` ${v()?p.yellow("\u26A0"):"!"} ${d}`)}t.push("");let s=` Installations (${e.length})`;t.push(v()?p.bold(s):s);for(let d=0;d<e.length;d++){let u=e[d],h=W(u.provider,u.providerLabel),f=u.isSymlink?"symlink":"directory",m=p.dim(u.scope);t.push(` ${h} (${m}, ${f})`),t.push(` ${p.dim("Path:")} ${L(u.path)}`),u.isSymlink&&u.symlinkTarget&&t.push(` ${p.dim("Target:")} ${u.symlinkTarget}`)}let c=e.flatMap(d=>!d.warnings||d.warnings.length===0?[]:d.warnings.map(u=>({...u,provider:d.providerLabel})));if(c.length>0){t.push("");let d=` Warnings (${c.length})`;t.push(v()?p.bold(d):d);for(let u of c){let h=v()?p.yellow("!"):"!";t.push(` ${h} [${u.category}] ${u.message}`)}}return t.push(""),t.join(`
|
|
19
|
-
`)}function Bn(e){let t=[],n=new Set,o=new Map,r=[];for(let s of e){let c=o.get(s.realPath);if(c){if(s.isSymlink)continue;(c.isSymlink||s.scope==="global"&&c.scope!=="global")&&(r[r.indexOf(c)]=s,o.set(s.realPath,s))}else o.set(s.realPath,s),r.push(s)}let i=new Map;for(let s of r){let c=i.get(s.dirName)??[];c.push(s),i.set(s.dirName,c)}for(let[s,c]of i)if(new Set(c.map(u=>u.location)).size>=2){t.push({key:s,reason:"same-dirName",instances:c});for(let u of c)n.add(u.path)}let a=new Map;for(let s of r){if(!s.name)continue;let c=a.get(s.name)??[];c.push(s),a.set(s.name,c)}for(let[s,c]of a){if(new Set(c.map(f=>f.dirName)).size<2)continue;let u=c.filter(f=>!n.has(f.path));u.length<2||new Set(u.map(f=>f.dirName)).size<2||t.push({key:s,reason:"same-frontmatterName",instances:u})}t.sort((s,c)=>s.reason!==c.reason?s.reason==="same-dirName"?-1:1:s.key.localeCompare(c.key));let l=t.reduce((s,c)=>s+c.instances.length,0);return{scannedAt:new Date().toISOString(),totalSkills:e.length,duplicateGroups:t,totalDuplicateInstances:l}}function Gt(e){return[...e].sort((t,n)=>{if(t.scope!==n.scope)return t.scope==="global"?-1:1;let o=t.providerLabel.localeCompare(n.providerLabel);return o!==0?o:t.path.localeCompare(n.path)})}function Bt(e){return e==="same-dirName"?"same dirName":"same name"}function Vn(e){if(e.duplicateGroups.length===0)return p.green("No duplicate skills found.");let t=[];t.push(""),t.push(p.bold(` Found ${e.duplicateGroups.length} duplicate group(s) (${e.totalDuplicateInstances} total instances):`)),t.push("");for(let n of e.duplicateGroups){t.push(` ${p.yellow(`"${n.key}"`)} ${p.dim(`(${Bt(n.reason)})`)}`);let o=Gt(n.instances);for(let r=0;r<o.length;r++){let i=o[r],a=W(i.provider,i.providerLabel),l=r===0?p.green(" [keep]"):p.dim(" "),s=p.dim(`(${i.scope})`);t.push(` ${l} ${a} ${s} ${p.dim(L(i.path))}`)}t.push("")}return t.push(p.dim(` Run ${p.bold("asm audit -y")} to auto-remove duplicates`)),t.push(""),t.join(`
|
|
20
|
-
`)}function Hn(e){return JSON.stringify(e,null,2)}function Kn(e){let t=e.trim();if(!t)return["vi",[]];let n=[],o="",r=!1,i=0;for(;i<t.length;){let a=t[i];if(a==='"'){for(r=!0,i++;i<t.length&&t[i]!=='"';){if(t[i]==="\\"&&i+1<t.length){let l=t[i+1];if(l==='"'||l==="\\"){o+=l,i+=2;continue}}o+=t[i],i++}i++}else if(a==="'"){for(r=!0,i++;i<t.length&&t[i]!=="'";)o+=t[i],i++;i++}else a===" "||a===" "?((o.length>0||r)&&(n.push(o),o="",r=!1),i++):(o+=a,i++)}return(o.length>0||r)&&n.push(o),n.length===0?["vi",[]]:[n[0],n.slice(1)]}import{readFileSync as Vt}from"fs";import{resolve as Ht,dirname as qt}from"path";import{fileURLToPath as Kt}from"url";import{spawnSync as zt}from"child_process";var Ut=qt(Kt(import.meta.url)),We="2.15.0";try{let e=Vt(Ht(Ut,"../../package.json"),"utf-8");We=JSON.parse(e).version}catch{}var M,Jt=We;function Yt(){if(M!==void 0)return M;let e="844bc99";if(e!==void 0)return M=e,M;M="unknown";try{M=zt("git",["rev-parse","--short","HEAD"],{encoding:"utf-8",stdio:["pipe","pipe","ignore"],timeout:5e3}).stdout?.trim()||M}catch{}return M}function Qn(){return`v${Jt} (${Yt()})`}export{U as a,H as b,Zt as c,en as d,se as e,ae as f,le as g,ce as h,ue as i,O as j,Xt as k,p as l,j as m,W as n,L as o,Tt as p,Lt as q,Mt as r,Ae as s,Rt as t,Ft as u,At as v,Ot as w,Dt as x,ve as y,je as z,Z as A,_t as B,me as C,pn as D,fn as E,dn as F,Wt as G,Jt as H,Qn as I,ge as J,vn as K,bt as L,$t as M,bn as N,It as O,Pn as P,In as Q,Cn as R,En as S,Bn as T,Gt as U,Bt as V,Vn as W,Hn as X,Kn as Y};
|
package/dist/config-AZYQEQOQ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l,o as m,p as n,q as o,r as p}from"./chunk-LS24FFOX.js";import"./chunk-RSVWCEZR.js";export{j as getBundledIndexDir,a as getConfigDir,c as getConfigPath,b as getDefaultConfig,f as getIndexDir,g as getLibraryDir,i as getLibraryLockPath,h as getLibrarySkillsDir,d as getLockPath,k as getSkillIndexResourcesPath,e as getSkillStatePath,n as loadConfig,l as loadSkillIndexResources,m as resolveProviderPath,o as saveConfig,p as saveSelectedTools};
|