agent-skill-manager 2.7.0 → 2.9.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 +43 -5
- package/data/skill-index/Affitor_affiliate-skills.json +1764 -160
- package/data/skill-index/Eronred_aso-skills.json +1365 -121
- package/data/skill-index/GPTomics_bioSkills.json +22236 -10797
- package/data/skill-index/Galaxy-Dawn_claude-scholar.json +2346 -232
- package/data/skill-index/Imbad0202_academic-research-skills.json +314 -42
- package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +3634 -447
- package/data/skill-index/Leonxlnx_taste-skill.json +429 -37
- package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +6 -5
- package/data/skill-index/MiniMax-AI_skills.json +804 -70
- package/data/skill-index/Paramchoudhary_ResumeSkills.json +465 -61
- package/data/skill-index/affaan-m_everything-claude-code.json +13583 -3818
- package/data/skill-index/alirezarezvani_claude-skills.json +22302 -6760
- package/data/skill-index/anthropics_skills.json +531 -55
- package/data/skill-index/antonbabenko_terraform-skill.json +12 -11
- package/data/skill-index/bytedance_deer-flow.json +676 -68
- package/data/skill-index/coreyhaines31_marketingskills.json +2005 -760
- package/data/skill-index/entireio_skills.json +151 -23
- package/data/skill-index/github_awesome-copilot.json +7409 -3541
- package/data/skill-index/google_skills.json +1000 -149
- package/data/skill-index/heygen-com_hyperframes.json +743 -41
- package/data/skill-index/himself65_finance-skills.json +1169 -94
- package/data/skill-index/kemiljk_fluid-design.json +6 -5
- package/data/skill-index/kepano_obsidian-skills.json +126 -16
- package/data/skill-index/luongnv89_skills.json +1210 -94
- package/data/skill-index/mattpocock_skills.json +838 -105
- package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +414 -22
- package/data/skill-index/obra_superpowers.json +375 -43
- package/data/skill-index/romainsimon_paperasse.json +377 -21
- package/data/skill-index/sickn33_antigravity-awesome-skills.json +11342 -5578
- package/data/skill-index/slavingia_skills.json +387 -31
- package/data/skill-index/warpdotdev_oz-skills.json +474 -46
- package/dist/agent-skill-manager.js +279 -211
- package/dist/chunk-7DMA7RUC.js +19 -0
- package/dist/chunk-APSM2WG3.js +3 -0
- package/dist/chunk-GHPE6SB3.js +3 -0
- package/dist/config-FRM3YOMA.js +2 -0
- package/dist/lock-6S53S4SC.js +2 -0
- package/dist/{src-VA7JX53D.js → src-H2QOCGTV.js} +1 -1
- package/package.json +4 -2
- package/dist/chunk-GOI5LV72.js +0 -3
- package/dist/chunk-HG3RG5GM.js +0 -19
- package/dist/chunk-PVEAYTE2.js +0 -3
- package/dist/config-55HAAFSH.js +0 -2
- package/dist/lock-SOHBB4N3.js +0 -2
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
+
import{b as w,k as T}from"./chunk-GHPE6SB3.js";import{readdir as L,stat as E,lstat as ae,readlink as Re,readFile as B,realpath as te}from"fs/promises";import{join as x,resolve as ne,basename as Ae}from"path";import{homedir as V}from"os";function Y(e){let t={},n=e.split(`
|
|
3
|
+
`),o=!1,r=!1,i=null,s=[],c="none",a=-1,l=null;function d(){if(i){let p=s.join(" ").trim();p&&(t[i]=p),i=null,s=[],c="none",a=-1}}for(let p of n){if(p.trim()==="---")if(r){d();break}else{r=!0,o=!0;continue}if(!o)continue;if(c!=="none"&&i){let m=p.replace(/^\s*/,""),f=p.length-m.length;if(f>0&&m.length>0){a===-1&&(a=f),s.push(m);continue}else{if(m.length===0)continue;d()}}if(l!==null){let m=p.match(/^\s+(\w[\w-]*):\s*(.*?)\s*$/);if(m){let f=m[1],v=m[2].replace(/^["']|["']$/g,"");v&&(t[`${l}.${f}`]=v);continue}if(p.trim().length>0)l=null;else continue}let h=p.match(/^(\w[\w-]*):\s*(.*?)\s*$/);if(h){d();let m=h[1],f=h[2];if(f==="|"||f===">")i=m,s=[],c=f==="|"?"literal":"folded";else if(f==="|+"||f===">+"||f==="|-"||f===">-")i=m,s=[],c=f.startsWith("|")?"literal":"folded";else{let g=f.replace(/^["']|["']$/g,"");g?t[m]=g:l=m}}}return d(),t}function Q(e){return e["metadata.version"]||e.version||"0.0.0"}function Z(e){let t=e["allowed-tools"]||"";return t.trim()?t.split(/[\s,]+/).map(n=>n.trim()).filter(Boolean):[]}function ee(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 W(e){return!Number.isFinite(e)||e<0?"~0 tokens":e<1e3?`~${e} tokens`:e<1e4?`~${(e/1e3).toFixed(1).replace(/\.0$/,"")}k tokens`:`~${Math.round(e/1e3)}k tokens`}var Fe=x(V(),".claude","plugins","marketplaces"),De=x(V(),".codex","plugins","cache"),je=x(V(),".codex","config.toml"),xt=x(V(),".agents","plugins","marketplace.json");function Oe(e,t){let n=[];for(let o of e.providers){if(!o.enabled){w(`scan: skipping disabled provider "${o.name}"`);continue}if(t==="global"||t==="both"){let r=T(o.global);w(`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=T(o.project);w(`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=T(o.path);w(`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 oe(e){try{return(await L(e,{recursive:!0})).length}catch{return 0}}async function _e(e){let t=[];w(`scanning: ${e.dir} (${e.location})`);let n;try{n=await L(e.dir)}catch{return w(`scanning: ${e.dir} \u2014 not found, skipping`),t}for(let o of n){let r=x(e.dir,o);try{if(!(await E(r)).isDirectory()){w(` skip: "${o}" \u2014 not a directory`);continue}}catch{w(` skip: "${o}" \u2014 stat failed`);continue}let i=x(r,"SKILL.md"),s;try{s=await B(i,"utf-8")}catch{w(` skip: "${o}" \u2014 no SKILL.md`);continue}let c=Y(s),a=!1,l=null;try{(await ae(r)).isSymbolicLink()&&(a=!0,l=await Re(r))}catch{}let d=ne(r),p;try{p=await te(r)}catch{p=d}t.push({name:c.name||o,version:Q(c),description:(c.description||"").replace(/\s*\n\s*/g," ").trim(),creator:c["metadata.creator"]||"",license:(c.license||"").trim(),compatibility:(c.compatibility||"").trim(),allowedTools:Z(c),effort:c.effort||c["metadata.effort"]||void 0,dirName:o,path:d,originalPath:r,location:e.location,scope:e.scope,provider:e.providerName,providerLabel:e.providerLabel,isSymlink:a,symlinkTarget:l,realPath:p,tokenCount:ee(s)})}return w(`found ${t.length} skill(s) in ${e.dir}`),t}async function le(e){let t=[],n;try{n=await L(e)}catch{return t}for(let o of n){let r=x(e,o),i;try{i=await ae(r)}catch{continue}if(!i.isSymbolicLink()&&i.isDirectory()){let s=x(r,"SKILL.md");try{await E(s),t.push(r)}catch{let c=await le(r);t.push(...c)}}}return t}async function Ge(e){let t=e??Fe,n=[];w(`scan: checking plugin marketplaces at ${t}`);let o;try{o=await L(t)}catch{return w("scan: plugin marketplaces dir not found, skipping"),n}for(let r of o){let i=x(t,r),s;try{s=await E(i)}catch{continue}if(!s.isDirectory())continue;w(`scan: scanning marketplace "${r}"`);let c=await le(i);for(let a of c){let l=x(a,"SKILL.md"),d;try{d=await B(l,"utf-8")}catch{continue}let p=Y(d),h=Ae(a),m=ne(a),f;try{f=await te(a)}catch{f=m}n.push({name:p.name||h,version:Q(p),description:(p.description||"").replace(/\s*\n\s*/g," ").trim(),creator:p["metadata.creator"]||"",license:(p.license||"").trim(),compatibility:(p.compatibility||"").trim(),allowedTools:Z(p),effort:p.effort||p["metadata.effort"]||void 0,dirName:h,path:m,originalPath:a,location:`global-plugin-${r}`,scope:"global",provider:"plugin",providerLabel:`Plugin (${r})`,isSymlink:!1,symlinkTarget:null,realPath:f,marketplace:r,tokenCount:ee(d)})}}return w(`scan: found ${n.length} plugin marketplace skill(s)`),n}function We(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 s=r.match(/^enabled\s*=\s*(true|false)/i);s&&t.set(n,s[1].toLowerCase()==="true")}}return t}async function Be(e){let t=e??je;try{let n=await B(t,"utf-8");return We(n)}catch{return w(`codex: config.toml not found at ${t}, skipping enabled check`),new Map}}async function Ve(e,t){let n=e??De,o=[];w(`codex: checking plugin cache at ${n}`);let r;try{r=await L(n)}catch{return w("codex: plugin cache dir not found, skipping"),o}let i=await Be(t);for(let s of r){let c=x(n,s),a;try{a=await E(c)}catch{continue}if(!a.isDirectory())continue;let l;try{l=await L(c)}catch{continue}for(let d of l){let p=x(c,d),h;try{h=await E(p)}catch{continue}if(!h.isDirectory())continue;let m;try{m=await L(p)}catch{continue}let f=(await Promise.all(m.map(async y=>{try{return(await E(x(p,y))).isDirectory()?y:null}catch{return null}}))).filter(y=>y!==null);if(f.length===0)continue;let g=f.sort(ce).at(-1),v=x(p,g),S=x(v,".codex-plugin","plugin.json"),k;try{let y=await B(S,"utf-8");k=JSON.parse(y)}catch{w(`codex: no valid plugin.json at ${S}, skipping`);continue}let P=ne(v),C;try{C=await te(v)}catch{C=P}let A=k.interface?.displayName||k.name||d,F=k.version||g,D=(k.description||"").replace(/\s*\n\s*/g," ").trim(),b=i.has(d)?i.get(d):!0;o.push({name:A,version:F,description:D,creator:"",license:"",compatibility:"",allowedTools:[],dirName:d,path:P,originalPath:v,location:`global-codex-plugin-${s}`,scope:"global",provider:"codex-plugin",providerLabel:`Codex Plugin (${s})`,isSymlink:!1,symlinkTarget:null,realPath:C,marketplace:s,codexPlugin:{category:k.interface?.category,hasMcpConfig:k.mcp!=null&&Object.keys(k.mcp).length>0,pluginName:d,pluginVersion:g,enabled:b}})}}return w(`codex: found ${o.length} plugin(s) in cache`),o}async function Pt(e,t,n,o){let r=Oe(e,t),i=t==="global"||t==="both",[s,c,a]=await Promise.all([Promise.all(r.map(_e)),i?Ge(n):Promise.resolve([]),i?Ve(o):Promise.resolve([])]),l=s.flat(),d=new Set(l.map(h=>h.realPath)),p=new Set(l.map(h=>h.name.toLowerCase()));for(let h of c)!d.has(h.realPath)&&!p.has(h.name.toLowerCase())&&(l.push(h),d.add(h.realPath),p.add(h.name.toLowerCase()));for(let h of a)!d.has(h.realPath)&&!p.has(h.name.toLowerCase())&&(l.push(h),d.add(h.realPath),p.add(h.name.toLowerCase()));return l}function Ct(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 s=parseInt(n[i]??"0",10),c=parseInt(o[i]??"0",10);if(isNaN(s)||isNaN(c))return e.localeCompare(t);if(s!==c)return s-c}return 0}function Nt(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 I,readFile as me,writeFile as He,access as qe,lstat as Ke,symlink as pe,rename as ze,readdir as Je,mkdir as ue,unlink as de}from"fs/promises";import{join as H,resolve as N,dirname as M,relative as fe}from"path";import{homedir as Ue}from"os";var ge=Ue();function Xe(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(N(".cursor","rules",`${o}.mdc`),N(".windsurf","rules",`${o}.md`),N(".github","instructions",`${o}.instructions.md`)),n.agentsBlocks.push({file:N("AGENTS.md"),skillName:o})),e.scope==="global"){for(let s of t.providers){if(!s.enabled)continue;let c=T(s.global),a=H(M(c),"AGENTS.md");n.agentsBlocks.push({file:a,skillName:o})}let r=H(ge,".codex","AGENTS.md");n.agentsBlocks.some(s=>s.file===r)||n.agentsBlocks.push({file:r,skillName:o})}return n}function Rt(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 s=new Set(r.filter(h=>!i.includes(h)).map(h=>`${h.provider}::${h.scope}`));function c(h){if(h===N("AGENTS.md")){let m=Array.from(s).find(f=>f.endsWith("::project"));return m?{provider:m.split("::")[0],scope:"project"}:null}for(let m of n.providers){let f=T(m.global),g=H(M(f),"AGENTS.md");if(h===g)return{provider:m.name,scope:"global"}}return h===H(ge,".codex","AGENTS.md")?{provider:"codex",scope:"global"}:null}let a={directories:[],ruleFiles:[],agentsBlocks:[]},l=new Set,d=new Set,p=new Set;for(let h of i){let m=Xe(h,n);for(let f of m.directories)l.has(f.path)||(l.add(f.path),a.directories.push(f));for(let f of m.ruleFiles)d.has(f)||(d.add(f),a.ruleFiles.push(f));for(let f of m.agentsBlocks){let g=`${f.file}::${f.skillName}`;if(p.has(g))continue;let v=c(f.file);if(v){let S=`${v.provider}::${v.scope}`;if(s.has(S))continue}p.add(g),a.agentsBlocks.push(f)}}return a}async function j(e){try{return await qe(e),!0}catch{return!1}}async function Ye(e,t){if(!await j(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} -->`,s=`<!-- /${r}: ${t} -->`,c=n.indexOf(i),a=n.indexOf(s);if(c===-1||a===-1)continue;let l=c;l>0&&n[l-1]===`
|
|
5
|
+
`&&l--;let p=a+s.length;p<n.length&&n[p]===`
|
|
6
|
+
`&&p++,n=n.slice(0,l)+n.slice(p),o=!0}o&&await He(e,n,"utf-8")}function Qe(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 At(e,t,n){if(!e.directories.some(l=>!l.isSymlink))return null;let r=t.filter(l=>l.provider!==n);if(r.length===0)return null;let i=Qe(t,n);if(!i)return null;let s=e.directories.find(l=>!l.isSymlink),c=r.map(l=>l.originalPath).filter(l=>l!==i.path),a=r.find(l=>l.originalPath===i.path);return a&&!a.isSymlink?c.length===0?null:{needed:!0,fromProvider:n,fromPath:s?.path||"",toProvider:i.provider,toPath:i.path,repointPaths:c,repointOnly:!0}:{needed:!0,fromProvider:n,fromPath:s?.path||"",toProvider:i.provider,toPath:i.path,repointPaths:c}}async function Ze(e){let t=[],n=new Set;for(let o of e){let r=M(o);if(!n.has(r)){n.add(r);try{(await Je(r)).filter(c=>c!==".DS_Store").length===0&&(await I(r,{recursive:!0,force:!0}),t.push(r))}catch{}}}return t}async function Ft(e,t,n){let o=[];if(n?.needed){if(!n.repointOnly)try{let s=M(n.toPath);await ue(s,{recursive:!0});try{await de(n.toPath)}catch(c){c.code!=="ENOENT"&&await I(n.toPath,{recursive:!0,force:!0})}try{await ze(n.fromPath,n.toPath)}catch(c){if(c.code==="EXDEV"){let{cp:a}=await import("fs/promises");try{await a(n.fromPath,n.toPath,{recursive:!0,preserveTimestamps:!0})}catch(l){try{await I(n.toPath,{recursive:!0,force:!0})}catch(d){o.push(`Failed to clean up partial copy at ${n.toPath}: ${d.message}`)}throw l}await I(n.fromPath,{recursive:!0,force:!0})}else throw c}o.push(`Relocated real folder: ${n.fromPath} -> ${n.toPath}`)}catch(s){o.push(`Failed to relocate real folder: ${s.message}`);let c=new Error(`Failed to relocate real folder: ${s.message}`);throw c.log=o,c}for(let s of n.repointPaths||[]){let c=M(s),a=fe(c,n.toPath);try{try{await de(s)}catch(l){l.code!=="ENOENT"&&await I(s,{recursive:!0,force:!0})}await ue(c,{recursive:!0}),await pe(a,s,"dir"),o.push(`Repointed symlink: ${s} -> ${a}`)}catch(l){o.push(`Failed to repoint symlink ${s} -> ${a}: ${l.message}. To fix manually: ln -sfn ${n.toPath} ${s}`)}}}for(let s of e.directories)try{if(n?.needed&&!n.repointOnly&&N(s.path)===N(n.fromPath))continue;if(s.isSymlink?(await I(s.path),o.push(`Removed symlink: ${s.path}`)):(await I(s.path,{recursive:!0,force:!0}),o.push(`Removed directory: ${s.path}`)),!n?.needed&&t&&N(s.path)!==N(t)){let c=M(s.path),a=fe(c,t);await pe(a,s.path,"dir"),o.push(`Created symlink: ${s.path} -> ${a}`)}}catch(c){o.push(`Failed to remove ${s.path}: ${c.message}`)}let r=e.directories.map(s=>s.path),i=await Ze(r);for(let s of i)o.push(`Removed empty parent directory: ${s}`);for(let s of e.ruleFiles)if(await j(s))try{await I(s),o.push(`Removed rule file: ${s}`)}catch(c){o.push(`Failed to remove ${s}: ${c.message}`)}for(let s of e.agentsBlocks)try{await Ye(s.file,s.skillName),o.push(`Cleaned AGENTS.md block in: ${s.file}`)}catch(c){o.push(`Failed to clean AGENTS.md block: ${c.message}`)}return o}async function Dt(e){let t=[];for(let n of e.directories)if(await j(n.path)){let r=(await Ke(n.path)).isSymbolicLink()?"symlink":"directory";t.push(`${n.path} (${r})`)}for(let n of e.ruleFiles)await j(n)&&t.push(n);for(let n of e.agentsBlocks)if(await j(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 $=()=>!(process.env.NO_COLOR!==void 0||globalThis.__CLI_NO_COLOR||!process.stdout.isTTY),u={bold:e=>$()?`\x1B[1m${e}\x1B[0m`:e,cyan:e=>$()?`\x1B[36m${e}\x1B[0m`:e,green:e=>$()?`\x1B[32m${e}\x1B[0m`:e,yellow:e=>$()?`\x1B[33m${e}\x1B[0m`:e,dim:e=>$()?`\x1B[2m${e}\x1B[0m`:e,white:e=>$()?`\x1B[37m${e}\x1B[0m`:e,red:e=>$()?`\x1B[31m${e}\x1B[0m`:e,blue:e=>$()?`\x1B[34m${e}\x1B[0m`:e,blueBold:e=>$()?`\x1B[34;1m${e}\x1B[0m`:e,magenta:e=>$()?`\x1B[35m${e}\x1B[0m`:e,bgDim:e=>$()?`\x1B[48;5;236m${e}\x1B[0m`:e,bgRed:e=>$()?`\x1B[41m\x1B[37m\x1B[1m${e}\x1B[0m`:e,bgYellow:e=>$()?`\x1B[43m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgGreen:e=>$()?`\x1B[42m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgCyan:e=>$()?`\x1B[46m\x1B[30m\x1B[1m${e}\x1B[0m`:e};function O(e){if(!e)return"";switch(e.toLowerCase()){case"low":return u.green(e);case"medium":return u.yellow(e);case"high":return u.red(e);case"max":return u.magenta(e);default:return e}}var he={claude:u.blueBold,codex:u.cyan,"codex-plugin":u.cyan,openclaw:u.yellow,agents:u.green,custom:u.magenta,cursor:u.blue,windsurf:u.cyan,cline:u.green,roocode:u.magenta,continue:u.yellow,copilot:u.white,aider:u.red,opencode:u.cyan,zed:u.blue,augment:u.green,amp:u.yellow};function q(e,t){return(he[e]||u.dim)(t)}function K(e,t){return $()?(he[e]||u.dim)(`[${t}]`):`[${t}]`}function R(e){let t=process.env.HOME||process.env.USERPROFILE||"";return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function Gt(e){if(e.length===0)return"No skills found.";let t=["Name","Version","Creator","Effort","Tool","Scope","Type","Path"],n=e.map(a=>[a.disabled?`${a.name} [disabled]`:a.name,a.version,a.creator||"\u2014",a.effort||"\u2014",a.providerLabel,a.scope,a.isSymlink?"symlink":"directory",R(a.path)]),o=t.map((a,l)=>Math.max(a.length,...n.map(d=>d[l].length))),r=(a,l)=>a.padEnd(l),i=t.map((a,l)=>r(a,o[l])).join(" "),s=o.map(a=>"-".repeat(a)).join("--"),c=n.map((a,l)=>{let d=a.map((p,h)=>r(p,o[h])).join(" ");return e[l].disabled?u.dim(d):d});return[$()?u.bold(i):i,s,...c].join(`
|
|
7
|
+
`)}function _(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(c=>c.scope)),s=new Set(o.map(c=>c.isSymlink?"symlink":"directory"));n.push({name:r.name,version:r.version,creator:r.creator||"",effort:r.effort||"",tokens:typeof r.tokenCount=="number"?W(r.tokenCount):"",providers:o.map(c=>({provider:c.provider,label:c.providerLabel})),scope:i.size>1?"mixed":r.scope,type:s.size>1?"mixed":r.isSymlink?"symlink":"directory",path:R(r.path),warningCount:o.reduce((c,a)=>c+(a.warnings?.length??0),0),disabled:o.every(c=>c.disabled===!0)})}return n}function re(e){return e.disabled?`${e.name} [disabled]`:e.name}var Wt=50;function Bt(e,t={}){let n=t.topN??5,o=t.showHint??!0;if(e.length===0)return"No skills found.";let r=[],s=_(e).length,c=e.length,a=new Set(e.map(g=>g.provider)),l=e.filter(g=>g.scope==="global").length,d=e.filter(g=>g.scope==="project").length,p=`${c} skills (${s} unique) across ${a.size} tools | ${l} global, ${d} project`;r.push($()?u.bold(p):p),r.push("");let h=new Map;for(let g of e){let v=h.get(g.provider)??{label:g.providerLabel,count:0};v.count+=1,h.set(g.provider,v)}let m=[...h.entries()].sort((g,v)=>v[1].count-g[1].count).slice(0,n);r.push($()?u.bold("Top tools:"):"Top tools:");for(let[g,{label:v,count:S}]of m){let k=$()?q(g,`[${v}]`):`[${v}]`;r.push(` ${k} ${S} skill${S===1?"":"s"}`)}r.push(""),r.push($()?u.bold("Scopes:"):"Scopes:"),r.push(` global ${l} skill${l===1?"":"s"}`),r.push(` project ${d} skill${d===1?"":"s"}`);let f=new Map;for(let g of e)g.effort&&f.set(g.effort,(f.get(g.effort)??0)+1);if(f.size>0){let g=[...f.entries()].sort((v,S)=>S[1]-v[1]).slice(0,n);r.push(""),r.push($()?u.bold("Top efforts:"):"Top efforts:");for(let[v,S]of g){let k=O(v),P=Math.max(0,6-v.length);r.push(` ${k}${" ".repeat(P)} ${S} skill${S===1?"":"s"}`)}}if(o){r.push("");let g="Tip: refine with `asm list -p <tool>`, `asm search <query>`, or `asm list --compact`";r.push($()?u.dim(g):g)}return r.join(`
|
|
8
|
+
`)}function et(e){if(e.length===0)return"No skills found.";let t=_(e),n=[],o=Math.max(4,...t.map(m=>re(m).length)),r=Math.max(7,...t.map(m=>m.version.length)),i=t.map(m=>m.providers.map(f=>K(f.provider,f.label)).join(" ")),s=t.map(m=>m.providers.map(f=>`[${f.label}]`).join(" ")),c=Math.max(5,...s.map(m=>m.length)),a=7,l=(m,f)=>m.padEnd(f);for(let m=0;m<t.length;m++){let f=t[m],g=l(re(f),o),v=u.dim(l(f.version,r)),S=c-s[m].length,k=i[m]+" ".repeat(Math.max(0,S)),P=u.dim(l(f.scope,a)),C=`${g} ${v} ${k} ${P}`;n.push(f.disabled?u.dim(C):C)}n.push("");let d=e.length,p=t.length,h=`${d} skills (${p} unique)`;return n.push(u.dim(h)),n.join(`
|
|
9
|
+
`)}function Vt(e,t){if(e.length===0)return"No skills found.";let n=new Map,o=l=>{switch(t){case"tool":return[l.providerLabel];case"scope":return[l.scope];case"effort":return[l.effort&&l.effort.length>0?l.effort:"(unset)"]}};for(let l of e)for(let d of o(l)){let p=n.get(d)??[];p.push(l),n.set(d,p)}let r=[...n.entries()].sort((l,d)=>d[1].length!==l[1].length?d[1].length-l[1].length:l[0].localeCompare(d[0])),i=[];for(let[l,d]of r){let p=`${l} (${d.length})`;i.push($()?u.bold(p):p);let f=et(d).split(`
|
|
10
|
+
`).slice(0,-2).filter(g=>g.length>0).map(g=>` ${g}`);i.push(...f),i.push("")}let s=e.length,c=_(e).length,a=`${s} skills (${c} unique), grouped by ${t}`;return i.push(u.dim(a)),i.join(`
|
|
11
|
+
`)}function Ht(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=u.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 qt(e){if(e.length===0)return"No skills found.";let t=_(e),n=[],o=Math.max(4,...t.map(b=>b.name.length)),r=Math.max(7,...t.map(b=>b.version.length)),i=Math.max(7,...t.map(b=>Math.min((b.creator||"\u2014").length,15))),s=Math.max(6,...t.map(b=>(b.effort||"\u2014").length)),c=t.some(b=>b.tokens.length>0),a=c?Math.max(6,...t.map(b=>(b.tokens||"\u2014").length)):0,l=7,d=9,p=t.map(b=>b.providers.map(y=>K(y.provider,y.label)).join(" ")),h=t.map(b=>b.providers.map(y=>`[${y.label}]`).join(" ")),m=Math.max(9,...h.map(b=>b.length)),f=(b,y)=>b.padEnd(y),g=c?` ${f("Tokens",a)}`:"",v=`${f("Name",o)} ${f("Version",r)} ${f("Creator",i)} ${f("Effort",s)}${g} ${f("Tools",m)} ${f("Scope",l)} ${f("Type",d)}`;n.push($()?u.bold(v):v);let S=c?` ${"-".repeat(a)}`:"";n.push(`${"-".repeat(o)} ${"-".repeat(r)} ${"-".repeat(i)} ${"-".repeat(s)}${S} ${"-".repeat(m)} ${"-".repeat(l)} ${"-".repeat(d)}`);for(let b=0;b<t.length;b++){let y=t[b],G=f(re(y),o),z=f(y.version,r),J=(y.creator||"\u2014").slice(0,15),U=f(J,i),X=y.effort||"\u2014",xe=y.effort?O(y.effort):"\u2014",Pe=s-X.length,Ce=xe+" ".repeat(Math.max(0,Pe)),Ne=c?` ${f(y.tokens||"\u2014",a)}`:"",Ie=m-h[b].length,Te=p[b]+" ".repeat(Math.max(0,Ie)),Le=f(y.scope,l),Ee=f(y.type,d),Me=y.warningCount>0?` ${u.yellow(`(${y.warningCount} warning${y.warningCount>1?"s":""})`)}`:"",se=`${G} ${z} ${U} ${Ce}${Ne} ${Te} ${Le} ${Ee}${Me}`;n.push(y.disabled?u.dim(se):se)}let k=t.length,P=e.length,C=new Set(e.map(b=>b.provider)),A=e.filter(b=>b.scope==="global").length,F=e.filter(b=>b.scope==="project").length;n.push("");let D=`${P} skills (${k} unique) across ${C.size} tools | ${A} global, ${F} project`;return n.push(u.dim(D)),n.join(`
|
|
12
|
+
`)}function tt(e,t){if(!$()||!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}${u.bold(u.yellow(r))}${i}`}function Kt(e,t){if(e.length===0)return`No skills matching "${t}". Try ${u.bold("asm list")} to see all skills.`;let n=_(e),o=[];o.push(u.dim(`Found ${e.length} result${e.length===1?"":"s"} (${n.length} unique) matching "${t}"`)+`
|
|
13
|
+
`);let r=Math.max(4,...n.map(g=>g.name.length)),i=Math.max(7,...n.map(g=>g.version.length)),s=Math.max(7,...n.map(g=>Math.min((g.creator||"\u2014").length,15))),c=Math.max(6,...n.map(g=>(g.effort||"\u2014").length)),a=n.map(g=>g.providers.map(v=>K(v.provider,v.label)).join(" ")),l=n.map(g=>g.providers.map(v=>`[${v.label}]`).join(" ")),d=Math.max(9,...l.map(g=>g.length)),p=7,h=9,m=(g,v)=>g.padEnd(v),f=`${m("Name",r)} ${m("Version",i)} ${m("Creator",s)} ${m("Effort",c)} ${m("Tools",d)} ${m("Scope",p)} ${m("Type",h)}`;o.push($()?u.bold(f):f),o.push(`${"-".repeat(r)} ${"-".repeat(i)} ${"-".repeat(s)} ${"-".repeat(c)} ${"-".repeat(d)} ${"-".repeat(p)} ${"-".repeat(h)}`);for(let g=0;g<n.length;g++){let v=n[g],S=tt(v.name,t),k=r-v.name.length,P=S+" ".repeat(Math.max(0,k)),C=m(v.version,i),A=(v.creator||"\u2014").slice(0,15),F=m(A,s),D=v.effort||"\u2014",b=v.effort?O(v.effort):"\u2014",y=c-D.length,G=b+" ".repeat(Math.max(0,y)),z=d-l[g].length,J=a[g]+" ".repeat(Math.max(0,z)),U=m(v.scope,p),X=m(v.type,h);o.push(`${P} ${C} ${F} ${G} ${J} ${U} ${X}`)}return o.join(`
|
|
14
|
+
`)}function zt(e,t){if(e.length===0)return"";let n=[];n.push(u.dim(`Found ${e.length} available skill${e.length===1?"":"s"} matching "${t}"`)+`
|
|
15
|
+
`);for(let o of e){n.push(` ${u.dim("To install:")} ${u.green(`asm install ${o.installUrl}`)}`);let r=o.verified?u.blue(" [verified]"):"";n.push(` ${u.cyan(o.name)} ${u.dim(`v${o.version}`)}${r} ${u.dim(`[${o.repoLabel}]`)}`);for(let i of Se(o.description,76))n.push(` ${i}`);n.push("")}return n.join(`
|
|
16
|
+
`)}var $e=new Set(["Bash","Write","Edit","NotebookEdit"]),nt=new Set(["WebFetch","WebSearch"]);function ot(e){return $e.has(e)?u.red(e):nt.has(e)?u.yellow(e):u.green(e)}function ve(e){return e.length===0?"":e.map(ot).join(" ")}function be(e){let t=e.filter(o=>$e.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 ")}`}async function rt(e){let t=[],n=(i,s)=>`${$()?u.bold(i+":"):i+":"} ${s}`;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",O(e.effort))),t.push(n("Tool",e.providerLabel)),t.push(n("Scope",e.scope)),t.push(n("Location",e.location)),t.push(n("Path",R(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 oe(e.path);if(t.push(n("File Count",String(o))),typeof e.tokenCount=="number"&&t.push(n("Est. Tokens",W(e.tokenCount))),e.description&&(t.push(""),t.push(n("Description",e.description))),e.allowedTools&&e.allowedTools.length>0){t.push(""),t.push($()?u.bold("Allowed Tools:"):"Allowed Tools:"),t.push(` ${ve(e.allowedTools)}`);let i=be(e.allowedTools);i&&t.push(` ${$()?u.yellow("\u26A0"):"!"} ${i}`)}t.push(""),t.push($()?u.bold("Eval Score:"):"Eval Score:");let r=we(e);if(r.length>0){let i=r.length>1;for(let s of r){let c=ye(s.overallScore),a=s.providerId?`${s.providerId}@${s.providerVersion??"?"}`:"quality";i?t.push(` ${a}: ${c} / 100 (${s.grade})`):t.push(` Overall: ${c} / 100 (${s.grade})`);let l=s.evaluatedVersion?` \u2014 version ${s.evaluatedVersion}`:"";if(t.push(` ${$()?u.dim("Evaluated:"):"Evaluated:"} ${s.evaluatedAt}${l}`),s.categories.length>0){i?t.push($()?u.dim(` Categories (${a}):`):` Categories (${a}):`):t.push($()?u.dim(" Categories:"):" Categories:");for(let d of s.categories)t.push(` ${d.name.padEnd(28)} ${d.score}/${d.max}`)}}}else t.push($()?u.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($()?u.bold("Warnings:"):"Warnings:");for(let i of e.warnings)t.push(` ${$()?u.yellow("!"):"!"} [${i.category}] ${i.message}`)}return t.join(`
|
|
17
|
+
`)}function ye(e){let t=String(e);return $()?e>=90?u.green(t):e>=80?u.cyan(t):e>=65?u.yellow(t):u.red(t):t}function we(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 Jt(e){if(e.length===0)return"No skills found.";if(e.length===1)return rt(e[0]);let t=[],n=(d,p)=>`${$()?u.bold(d+":"):d+":"} ${p}`,o=e[0],r=o.name;t.push(""),t.push($()?u.blueBold(` ${r}`):` ${r}`),t.push($()?u.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",O(o.effort)));let i=o.fileCount??await oe(o.path);t.push(n(" File Count",String(i))),typeof o.tokenCount=="number"&&t.push(n(" Est. Tokens",W(o.tokenCount)));let s=e.map(d=>K(d.provider,d.providerLabel)).join(" ");t.push(n(" Installed in",s)),t.push(""),t.push($()?u.bold(" Eval Score:"):" Eval Score:");let c=we(o);if(c.length>0){let d=c.length>1;for(let p of c){let h=ye(p.overallScore),m=p.providerId?`${p.providerId}@${p.providerVersion??"?"}`:"quality";d?t.push(` ${m}: ${h} / 100 (${p.grade})`):t.push(` Overall: ${h} / 100 (${p.grade})`);let f=p.evaluatedVersion?` \u2014 version ${p.evaluatedVersion}`:"";if(t.push(` ${$()?u.dim("Evaluated:"):"Evaluated:"} ${p.evaluatedAt}${f}`),p.categories.length>0)for(let g of p.categories)t.push(` ${g.name.padEnd(28)} ${g.score}/${g.max}`)}}else t.push($()?u.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($()?u.bold(" Description:"):" Description:");let d=Se(o.description,72);for(let p of d)t.push(" "+p)}if(o.allowedTools&&o.allowedTools.length>0){t.push(""),t.push($()?u.bold(" Allowed Tools:"):" Allowed Tools:"),t.push(` ${ve(o.allowedTools)}`);let d=be(o.allowedTools);d&&t.push(` ${$()?u.yellow("\u26A0"):"!"} ${d}`)}t.push("");let a=` Installations (${e.length})`;t.push($()?u.bold(a):a);for(let d=0;d<e.length;d++){let p=e[d],h=q(p.provider,p.providerLabel),m=p.isSymlink?"symlink":"directory",f=u.dim(p.scope);t.push(` ${h} (${f}, ${m})`),t.push(` ${u.dim("Path:")} ${R(p.path)}`),p.isSymlink&&p.symlinkTarget&&t.push(` ${u.dim("Target:")} ${p.symlinkTarget}`)}let l=e.flatMap(d=>!d.warnings||d.warnings.length===0?[]:d.warnings.map(p=>({...p,provider:d.providerLabel})));if(l.length>0){t.push("");let d=` Warnings (${l.length})`;t.push($()?u.bold(d):d);for(let p of l){let h=$()?u.yellow("!"):"!";t.push(` ${h} [${p.category}] ${p.message}`)}}return t.push(""),t.join(`
|
|
18
|
+
`)}function Se(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 Ut(e){return JSON.stringify(e,null,2)}function Qt(e){let t=[],n=new Set,o=new Map,r=[];for(let a of e){let l=o.get(a.realPath);if(l){if(a.isSymlink)continue;l.isSymlink?(r[r.indexOf(l)]=a,o.set(a.realPath,a)):r.push(a)}else o.set(a.realPath,a),r.push(a)}let i=new Map;for(let a of r){let l=i.get(a.dirName)??[];l.push(a),i.set(a.dirName,l)}for(let[a,l]of i)if(new Set(l.map(p=>p.location)).size>=2){t.push({key:a,reason:"same-dirName",instances:l});for(let p of l)n.add(p.path)}let s=new Map;for(let a of r){if(!a.name)continue;let l=s.get(a.name)??[];l.push(a),s.set(a.name,l)}for(let[a,l]of s){if(new Set(l.map(m=>m.dirName)).size<2)continue;let p=l.filter(m=>!n.has(m.path));p.length<2||new Set(p.map(m=>m.dirName)).size<2||t.push({key:a,reason:"same-frontmatterName",instances:p})}t.sort((a,l)=>a.reason!==l.reason?a.reason==="same-dirName"?-1:1:a.key.localeCompare(l.key));let c=t.reduce((a,l)=>a+l.instances.length,0);return{scannedAt:new Date().toISOString(),totalSkills:e.length,duplicateGroups:t,totalDuplicateInstances:c}}function it(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 st(e){return e==="same-dirName"?"same dirName":"same name"}function Zt(e){if(e.duplicateGroups.length===0)return u.green("No duplicate skills found.");let t=[];t.push(""),t.push(u.bold(` Found ${e.duplicateGroups.length} duplicate group(s) (${e.totalDuplicateInstances} total instances):`)),t.push("");for(let n of e.duplicateGroups){t.push(` ${u.yellow(`"${n.key}"`)} ${u.dim(`(${st(n.reason)})`)}`);let o=it(n.instances);for(let r=0;r<o.length;r++){let i=o[r],s=q(i.provider,i.providerLabel),c=r===0?u.green(" [keep]"):u.dim(" "),a=u.dim(`(${i.scope})`);t.push(` ${c} ${s} ${a} ${u.dim(R(i.path))}`)}t.push("")}return t.push(u.dim(` Run ${u.bold("asm audit -y")} to auto-remove duplicates`)),t.push(""),t.join(`
|
|
19
|
+
`)}function en(e){return JSON.stringify(e,null,2)}function nn(e){let t=e.trim();if(!t)return["vi",[]];let n=[],o="",r=!1,i=0;for(;i<t.length;){let s=t[i];if(s==='"'){for(r=!0,i++;i<t.length&&t[i]!=='"';){if(t[i]==="\\"&&i+1<t.length){let c=t[i+1];if(c==='"'||c==="\\"){o+=c,i+=2;continue}}o+=t[i],i++}i++}else if(s==="'"){for(r=!0,i++;i<t.length&&t[i]!=="'";)o+=t[i],i++;i++}else s===" "||s===" "?((o.length>0||r)&&(n.push(o),o="",r=!1),i++):(o+=s,i++)}return(o.length>0||r)&&n.push(o),n.length===0?["vi",[]]:[n[0],n.slice(1)]}import{readFileSync as at}from"fs";import{resolve as lt,dirname as ct}from"path";import{fileURLToPath as pt}from"url";import{execSync as ut}from"child_process";var dt=ct(pt(import.meta.url)),ke="2.9.0";try{let e=at(lt(dt,"../../package.json"),"utf-8");ke=JSON.parse(e).version}catch{}var ie="533eb77";try{ie=ut("git rev-parse --short HEAD",{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()||ie}catch{}var ft=ke,mt=ie,cn=`v${ft} (${mt})`;export{Y as a,Q as b,Z as c,ee as d,W as e,oe as f,Pt as g,Ct as h,Nt as i,Xe as j,Rt as k,At as l,Ft as m,Dt as n,u as o,O as p,q,R as r,Gt as s,Wt as t,Bt as u,et as v,Vt as w,Ht as x,qt as y,Kt as z,zt as A,$e as B,nt as C,Jt as D,Se as E,Ut as F,Qt as G,it as H,st as I,Zt as J,en as K,ft as L,cn as M,nn as N};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
+
import{b as e,e as n}from"./chunk-GHPE6SB3.js";import{readFile as a,writeFile as k,mkdir as u,copyFile as f}from"fs/promises";import{execFile as y}from"child_process";import{promisify as p}from"util";import{dirname as d}from"path";var m=p(y);function l(){return{version:1,skills:{}}}async function c(){let t=n(),r;try{r=await a(t,"utf-8")}catch(o){if(o?.code==="ENOENT")return e("lock: file not found, returning empty lock"),l();throw o}try{let o=JSON.parse(r);if(o.version!==1||typeof o.skills!="object"||o.skills===null)throw new Error("invalid schema");return e(`lock: loaded ${Object.keys(o.skills).length} entries`),o}catch{let o=t+".bak";e(`lock: parse error, backing up to ${o}`);try{await f(t,o)}catch{}return console.error(`Warning: .skill-lock.json was corrupted. Backup saved to ${o}. Starting fresh.`),l()}}async function $(t,r){let o=await c();o.skills[t]=r,await s(o),e(`lock: wrote entry for "${t}"`)}async function E(t){let r=await c();if(!(t in r.skills)){e(`lock: no entry for "${t}", nothing to remove`);return}delete r.skills[t],await s(r),e(`lock: removed entry for "${t}"`)}async function F(t,r){let o=await c(),i=o.skills[t];if(!i){e(`lock: no entry for "${t}", cannot update provider`);return}if(i.provider===r){e(`lock: entry for "${t}" already points at "${r}"`);return}o.skills[t]={...i,provider:r},await s(o),e(`lock: updated provider for "${t}" -> "${r}"`)}async function s(t){let r=n();await u(d(r),{recursive:!0}),await k(r,JSON.stringify(t,null,2)+`
|
|
3
|
+
`,"utf-8")}async function x(t){try{let{stdout:r}=await m("git",["rev-parse","HEAD"],{cwd:t,timeout:5e3});return r.trim()||null}catch{return e("lock: could not read commit hash from cloned repo"),null}}export{c as a,$ as b,E as c,F as d,x as e};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
+
import{readFile as x,writeFile as P,mkdir as w,copyFile as S}from"fs/promises";import{join as l,resolve as f,dirname as I}from"path";import{fileURLToPath as _}from"url";import{homedir as A}from"os";var b=!1,k=0;function E(e){b=e,e&&(k=performance.now())}function s(e){if(!b)return;let r=Math.round(performance.now()-k),a=globalThis.__CLI_NO_COLOR?`[verbose] +${r}ms`:`\x1B[2m[verbose] +${r}ms\x1B[0m`;console.error(`${a} ${e}`)}var y=_(import.meta.url),v=I(y),C=A(),i=l(C,".config","agent-skill-manager"),n=l(i,"config.json"),O=l(i,".skill-lock.json"),R=l(i,"skill-state.json"),N=l(i,"skill-index"),D=[{name:"claude",label:"Claude Code",global:"~/.claude/skills",project:".claude/skills",enabled:!0},{name:"codex",label:"Codex",global:"~/.codex/skills",project:".codex/skills",enabled:!0},{name:"opencode",label:"OpenCode",global:"~/.config/opencode/skills",project:".opencode/skills",enabled:!0},{name:"pi",label:"Pi",global:"~/.pi/skills",project:".pi/skills",enabled:!0},{name:"hermes",label:"Hermes",global:"~/.hermes/skills",project:".hermes/skills",enabled:!0},{name:"openclaw",label:"OpenClaw",global:"~/.openclaw/skills",project:".openclaw/skills",enabled:!0},{name:"agents",label:"Agents",global:"~/.agents/skills",project:".agents/skills",enabled:!0},{name:"cursor",label:"Cursor",global:"~/.cursor/rules",project:".cursor/rules",enabled:!0},{name:"copilot",label:"GitHub Copilot",global:"~/.github/instructions",project:".github/instructions",enabled:!0},{name:"windsurf",label:"Windsurf",global:"~/.windsurf/rules",project:".windsurf/rules",enabled:!0},{name:"antigravity",label:"Google Antigravity",global:"~/.antigravity/skills",project:".antigravity/skills",enabled:!0},{name:"gemini",label:"Gemini CLI",global:"~/.gemini/skills",project:".gemini/skills",enabled:!0},{name:"cline",label:"Cline",global:"~/Documents/Cline/Rules",project:".clinerules",enabled:!0},{name:"roocode",label:"Roo Code",global:"~/.roo/rules",project:".roo/rules",enabled:!0},{name:"continue",label:"Continue",global:"~/.continue/rules",project:".continue/rules",enabled:!0},{name:"aider",label:"Aider",global:"~/.aider/skills",project:".aider/skills",enabled:!0},{name:"zed",label:"Zed",global:"~/.config/zed/prompt_overrides",project:".zed/rules",enabled:!0},{name:"augment",label:"Augment",global:"~/.augment/rules",project:".augment/rules",enabled:!0},{name:"amp",label:"Amp",global:"~/.amp/skills",project:".amp/skills",enabled:!0}];function d(){return{version:1,providers:D.map(e=>({...e})),customPaths:[],preferences:{defaultScope:"both",defaultSort:"name"}}}function U(){return n}function V(){return O}function B(){return R}function K(){return N}function M(){return f(v,"..","data","skill-index")}function T(){return f(v,"..","data","skill-index-resources.json")}async function X(){let e=T(),r=await x(e,"utf-8");return JSON.parse(r)}function Z(e){return e.startsWith("~/")?l(C,e.slice(2)):e.startsWith("/")?e:f(e)}function L(e){let r=d(),o=e.providers||[],a=new Set(o.map(t=>t.name));for(let t=0;t<r.providers.length;t++){let c=r.providers[t];if(a.has(c.name))continue;let g=o.length;for(let u=t-1;u>=0;u--){let h=r.providers[u].name,m=o.findIndex(j=>j.name===h);if(m!==-1){g=m+1;break}}o.splice(g,0,{...c}),a.add(c.name)}return{version:e.version??r.version,providers:o,customPaths:e.customPaths??[],preferences:{defaultScope:e.preferences?.defaultScope??r.preferences.defaultScope,defaultSort:e.preferences?.defaultSort??r.preferences.defaultSort,selectedTools:e.preferences?.selectedTools}}}async function $(){s(`config: checking ${n}`);let e;try{e=await x(n,"utf-8")}catch(r){if(r?.code==="ENOENT"){s("config: using defaults (file not found)");let o=d();return await p(o),o}throw r}try{let r=JSON.parse(e);return s(`config: loaded from ${n}`),L(r)}catch{let r=n+".bak";s(`config: parse error, backing up to ${r}`),await S(n,r),console.error(`Warning: Config file was corrupted. Backup saved to ${r}. Using defaults.`);let o=d();return await p(o),o}}async function p(e){await w(i,{recursive:!0}),await P(n,JSON.stringify(e,null,2)+`
|
|
3
|
+
`,"utf-8")}async function q(e){let r=await $();r.preferences.selectedTools=e,await p(r)}export{E as a,s as b,d as c,U as d,V as e,B as f,K as g,M as h,T as i,X as j,Z as k,$ as l,p as m,q as n};
|
|
@@ -0,0 +1,2 @@
|
|
|
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}from"./chunk-GHPE6SB3.js";import"./chunk-7BMOBFGJ.js";export{f as getBundledIndexDir,b as getConfigPath,a as getDefaultConfig,e as getIndexDir,c as getLockPath,g as getSkillIndexResourcesPath,d as getSkillStatePath,j as loadConfig,h as loadSkillIndexResources,i as resolveProviderPath,k as saveConfig,l as saveSelectedTools};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e}from"./chunk-APSM2WG3.js";import"./chunk-GHPE6SB3.js";import"./chunk-7BMOBFGJ.js";export{e as getCommitHash,a as readLock,c as removeLockEntry,d as setLockEntryProvider,b as writeLockEntry};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{A as Zl,B as ra,D as na,F as jl,G as $l,H as As,L as oa,M as ia,e as Ri,f as jI,g as ql,h as $I,i as Aa,j as ea,k as zl,l as Xl,m as ta}from"./chunk-HG3RG5GM.js";import{d as Si,k as XI,l as ZI}from"./chunk-GOI5LV72.js";import{a as _l,b as _A,c as yc,d as H}from"./chunk-7BMOBFGJ.js";var Qa=_A(lA=>{"use strict";var ro=Symbol.for("react.element"),wc=Symbol.for("react.portal"),xc=Symbol.for("react.fragment"),Sc=Symbol.for("react.strict_mode"),Rc=Symbol.for("react.profiler"),Nc=Symbol.for("react.provider"),vc=Symbol.for("react.context"),kc=Symbol.for("react.forward_ref"),Lc=Symbol.for("react.suspense"),Gc=Symbol.for("react.memo"),Mc=Symbol.for("react.lazy"),ua=Symbol.iterator;function Uc(t){return t===null||typeof t!="object"?null:(t=ua&&t[ua]||t["@@iterator"],typeof t=="function"?t:null)}var ga={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ia=Object.assign,aa={};function en(t,r,o){this.props=t,this.context=r,this.refs=aa,this.updater=o||ga}en.prototype.isReactComponent={};en.prototype.setState=function(t,r){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,r,"setState")};en.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Ba(){}Ba.prototype=en.prototype;function ts(t,r,o){this.props=t,this.context=r,this.refs=aa,this.updater=o||ga}var rs=ts.prototype=new Ba;rs.constructor=ts;Ia(rs,en.prototype);rs.isPureReactComponent=!0;var la=Array.isArray,Ea=Object.prototype.hasOwnProperty,ns={current:null},Ca={key:!0,ref:!0,__self:!0,__source:!0};function ca(t,r,o){var l,g={},E=null,I=null;if(r!=null)for(l in r.ref!==void 0&&(I=r.ref),r.key!==void 0&&(E=""+r.key),r)Ea.call(r,l)&&!Ca.hasOwnProperty(l)&&(g[l]=r[l]);var c=arguments.length-2;if(c===1)g.children=o;else if(1<c){for(var D=Array(c),y=0;y<c;y++)D[y]=arguments[y+2];g.children=D}if(t&&t.defaultProps)for(l in c=t.defaultProps,c)g[l]===void 0&&(g[l]=c[l]);return{$$typeof:ro,type:t,key:E,ref:I,props:g,_owner:ns.current}}function Hc(t,r){return{$$typeof:ro,type:t.type,key:r,ref:t.ref,props:t.props,_owner:t._owner}}function os(t){return typeof t=="object"&&t!==null&&t.$$typeof===ro}function Tc(t){var r={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(o){return r[o]})}var sa=/\/+/g;function es(t,r){return typeof t=="object"&&t!==null&&t.key!=null?Tc(""+t.key):r.toString(36)}function vi(t,r,o,l,g){var E=typeof t;(E==="undefined"||E==="boolean")&&(t=null);var I=!1;if(t===null)I=!0;else switch(E){case"string":case"number":I=!0;break;case"object":switch(t.$$typeof){case ro:case wc:I=!0}}if(I)return I=t,g=g(I),t=l===""?"."+es(I,0):l,la(g)?(o="",t!=null&&(o=t.replace(sa,"$&/")+"/"),vi(g,r,o,"",function(y){return y})):g!=null&&(os(g)&&(g=Hc(g,o+(!g.key||I&&I.key===g.key?"":(""+g.key).replace(sa,"$&/")+"/")+t)),r.push(g)),1;if(I=0,l=l===""?".":l+":",la(t))for(var c=0;c<t.length;c++){E=t[c];var D=l+es(E,c);I+=vi(E,r,o,D,g)}else if(D=Uc(t),typeof D=="function")for(t=D.call(t),c=0;!(E=t.next()).done;)E=E.value,D=l+es(E,c++),I+=vi(E,r,o,D,g);else if(E==="object")throw r=String(t),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return I}function Ni(t,r,o){if(t==null)return t;var l=[],g=0;return vi(t,l,"","",function(E){return r.call(o,E,g++)}),l}function Oc(t){if(t._status===-1){var r=t._result;r=r(),r.then(function(o){(t._status===0||t._status===-1)&&(t._status=1,t._result=o)},function(o){(t._status===0||t._status===-1)&&(t._status=2,t._result=o)}),t._status===-1&&(t._status=0,t._result=r)}if(t._status===1)return t._result.default;throw t._result}var me={current:null},ki={transition:null},Jc={ReactCurrentDispatcher:me,ReactCurrentBatchConfig:ki,ReactCurrentOwner:ns};function fa(){throw Error("act(...) is not supported in production builds of React.")}lA.Children={map:Ni,forEach:function(t,r,o){Ni(t,function(){r.apply(this,arguments)},o)},count:function(t){var r=0;return Ni(t,function(){r++}),r},toArray:function(t){return Ni(t,function(r){return r})||[]},only:function(t){if(!os(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};lA.Component=en;lA.Fragment=xc;lA.Profiler=Rc;lA.PureComponent=ts;lA.StrictMode=Sc;lA.Suspense=Lc;lA.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Jc;lA.act=fa;lA.cloneElement=function(t,r,o){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var l=Ia({},t.props),g=t.key,E=t.ref,I=t._owner;if(r!=null){if(r.ref!==void 0&&(E=r.ref,I=ns.current),r.key!==void 0&&(g=""+r.key),t.type&&t.type.defaultProps)var c=t.type.defaultProps;for(D in r)Ea.call(r,D)&&!Ca.hasOwnProperty(D)&&(l[D]=r[D]===void 0&&c!==void 0?c[D]:r[D])}var D=arguments.length-2;if(D===1)l.children=o;else if(1<D){c=Array(D);for(var y=0;y<D;y++)c[y]=arguments[y+2];l.children=c}return{$$typeof:ro,type:t.type,key:g,ref:E,props:l,_owner:I}};lA.createContext=function(t){return t={$$typeof:vc,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:Nc,_context:t},t.Consumer=t};lA.createElement=ca;lA.createFactory=function(t){var r=ca.bind(null,t);return r.type=t,r};lA.createRef=function(){return{current:null}};lA.forwardRef=function(t){return{$$typeof:kc,render:t}};lA.isValidElement=os;lA.lazy=function(t){return{$$typeof:Mc,_payload:{_status:-1,_result:t},_init:Oc}};lA.memo=function(t,r){return{$$typeof:Gc,type:t,compare:r===void 0?null:r}};lA.startTransition=function(t){var r=ki.transition;ki.transition={};try{t()}finally{ki.transition=r}};lA.unstable_act=fa;lA.useCallback=function(t,r){return me.current.useCallback(t,r)};lA.useContext=function(t){return me.current.useContext(t)};lA.useDebugValue=function(){};lA.useDeferredValue=function(t){return me.current.useDeferredValue(t)};lA.useEffect=function(t,r){return me.current.useEffect(t,r)};lA.useId=function(){return me.current.useId()};lA.useImperativeHandle=function(t,r,o){return me.current.useImperativeHandle(t,r,o)};lA.useInsertionEffect=function(t,r){return me.current.useInsertionEffect(t,r)};lA.useLayoutEffect=function(t,r){return me.current.useLayoutEffect(t,r)};lA.useMemo=function(t,r){return me.current.useMemo(t,r)};lA.useReducer=function(t,r,o){return me.current.useReducer(t,r,o)};lA.useRef=function(t){return me.current.useRef(t)};lA.useState=function(t){return me.current.useState(t)};lA.useSyncExternalStore=function(t,r,o){return me.current.useSyncExternalStore(t,r,o)};lA.useTransition=function(){return me.current.useTransition()};lA.version="18.3.1"});var Z=_A((ip,Da)=>{"use strict";Da.exports=Qa()});var Na=_A((Hp,Mi)=>{Mi.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Mi.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Mi.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var gs=_A((Tp,sn)=>{var kA=global.process,yr=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};yr(kA)?(va=_l("assert"),un=Na(),ka=/^win/i.test(kA.platform),uo=_l("events"),typeof uo!="function"&&(uo=uo.EventEmitter),kA.__signal_exit_emitter__?ie=kA.__signal_exit_emitter__:(ie=kA.__signal_exit_emitter__=new uo,ie.count=0,ie.emitted={}),ie.infinite||(ie.setMaxListeners(1/0),ie.infinite=!0),sn.exports=function(t,r){if(!yr(global.process))return function(){};va.equal(typeof t,"function","a callback must be provided for exit handler"),ln===!1&&ls();var o="exit";r&&r.alwaysLast&&(o="afterexit");var l=function(){ie.removeListener(o,t),ie.listeners("exit").length===0&&ie.listeners("afterexit").length===0&&Ui()};return ie.on(o,t),l},Ui=function(){!ln||!yr(global.process)||(ln=!1,un.forEach(function(r){try{kA.removeListener(r,Hi[r])}catch{}}),kA.emit=Ti,kA.reallyExit=ss,ie.count-=1)},sn.exports.unload=Ui,wr=function(r,o,l){ie.emitted[r]||(ie.emitted[r]=!0,ie.emit(r,o,l))},Hi={},un.forEach(function(t){Hi[t]=function(){if(yr(global.process)){var o=kA.listeners(t);o.length===ie.count&&(Ui(),wr("exit",null,t),wr("afterexit",null,t),ka&&t==="SIGHUP"&&(t="SIGINT"),kA.kill(kA.pid,t))}}}),sn.exports.signals=function(){return un},ln=!1,ls=function(){ln||!yr(global.process)||(ln=!0,ie.count+=1,un=un.filter(function(r){try{return kA.on(r,Hi[r]),!0}catch{return!1}}),kA.emit=Ga,kA.reallyExit=La)},sn.exports.load=ls,ss=kA.reallyExit,La=function(r){yr(global.process)&&(kA.exitCode=r||0,wr("exit",kA.exitCode,null),wr("afterexit",kA.exitCode,null),ss.call(kA,kA.exitCode))},Ti=kA.emit,Ga=function(r,o){if(r==="exit"&&yr(global.process)){o!==void 0&&(kA.exitCode=o);var l=Ti.apply(this,arguments);return wr("exit",kA.exitCode,null),wr("afterexit",kA.exitCode,null),l}else return Ti.apply(this,arguments)}):sn.exports=function(){return function(){}};var va,un,ka,uo,ie,Ui,wr,Hi,ln,ls,ss,La,Ti,Ga});var ja=_A(wA=>{"use strict";function ms(t,r){var o=t.length;t.push(r);A:for(;0<o;){var l=o-1>>>1,g=t[l];if(0<Ji(g,r))t[l]=r,t[o]=g,o=l;else break A}}function st(t){return t.length===0?null:t[0]}function Yi(t){if(t.length===0)return null;var r=t[0],o=t.pop();if(o!==r){t[0]=o;A:for(var l=0,g=t.length,E=g>>>1;l<E;){var I=2*(l+1)-1,c=t[I],D=I+1,y=t[D];if(0>Ji(c,o))D<g&&0>Ji(y,c)?(t[l]=y,t[D]=o,l=D):(t[l]=c,t[I]=o,l=I);else if(D<g&&0>Ji(y,o))t[l]=y,t[D]=o,l=D;else break A}}return r}function Ji(t,r){var o=t.sortIndex-r.sortIndex;return o!==0?o:t.id-r.id}typeof performance=="object"&&typeof performance.now=="function"?(Pa=performance,wA.unstable_now=function(){return Pa.now()}):(Ds=Date,Wa=Ds.now(),wA.unstable_now=function(){return Ds.now()-Wa});var Pa,Ds,Wa,ht=[],er=[],Sf=1,qe=null,Qe=3,Pi=!1,xr=!1,go=!1,_a=typeof setTimeout=="function"?setTimeout:null,qa=typeof clearTimeout=="function"?clearTimeout:null,ba=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function hs(t){for(var r=st(er);r!==null;){if(r.callback===null)Yi(er);else if(r.startTime<=t)Yi(er),r.sortIndex=r.expirationTime,ms(ht,r);else break;r=st(er)}}function Fs(t){if(go=!1,hs(t),!xr)if(st(ht)!==null)xr=!0,ws(ys);else{var r=st(er);r!==null&&xs(Fs,r.startTime-t)}}function ys(t,r){xr=!1,go&&(go=!1,qa(Io),Io=-1),Pi=!0;var o=Qe;try{for(hs(r),qe=st(ht);qe!==null&&(!(qe.expirationTime>r)||t&&!Za());){var l=qe.callback;if(typeof l=="function"){qe.callback=null,Qe=qe.priorityLevel;var g=l(qe.expirationTime<=r);r=wA.unstable_now(),typeof g=="function"?qe.callback=g:qe===st(ht)&&Yi(ht),hs(r)}else Yi(ht);qe=st(ht)}if(qe!==null)var E=!0;else{var I=st(er);I!==null&&xs(Fs,I.startTime-r),E=!1}return E}finally{qe=null,Qe=o,Pi=!1}}var Wi=!1,Ki=null,Io=-1,za=5,Xa=-1;function Za(){return!(wA.unstable_now()-Xa<za)}function ds(){if(Ki!==null){var t=wA.unstable_now();Xa=t;var r=!0;try{r=Ki(!0,t)}finally{r?so():(Wi=!1,Ki=null)}}else Wi=!1}var so;typeof ba=="function"?so=function(){ba(ds)}:typeof MessageChannel<"u"?(ps=new MessageChannel,Va=ps.port2,ps.port1.onmessage=ds,so=function(){Va.postMessage(null)}):so=function(){_a(ds,0)};var ps,Va;function ws(t){Ki=t,Wi||(Wi=!0,so())}function xs(t,r){Io=_a(function(){t(wA.unstable_now())},r)}wA.unstable_IdlePriority=5;wA.unstable_ImmediatePriority=1;wA.unstable_LowPriority=4;wA.unstable_NormalPriority=3;wA.unstable_Profiling=null;wA.unstable_UserBlockingPriority=2;wA.unstable_cancelCallback=function(t){t.callback=null};wA.unstable_continueExecution=function(){xr||Pi||(xr=!0,ws(ys))};wA.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):za=0<t?Math.floor(1e3/t):5};wA.unstable_getCurrentPriorityLevel=function(){return Qe};wA.unstable_getFirstCallbackNode=function(){return st(ht)};wA.unstable_next=function(t){switch(Qe){case 1:case 2:case 3:var r=3;break;default:r=Qe}var o=Qe;Qe=r;try{return t()}finally{Qe=o}};wA.unstable_pauseExecution=function(){};wA.unstable_requestPaint=function(){};wA.unstable_runWithPriority=function(t,r){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var o=Qe;Qe=t;try{return r()}finally{Qe=o}};wA.unstable_scheduleCallback=function(t,r,o){var l=wA.unstable_now();switch(typeof o=="object"&&o!==null?(o=o.delay,o=typeof o=="number"&&0<o?l+o:l):o=l,t){case 1:var g=-1;break;case 2:g=250;break;case 5:g=1073741823;break;case 4:g=1e4;break;default:g=5e3}return g=o+g,t={id:Sf++,callback:r,priorityLevel:t,startTime:o,expirationTime:g,sortIndex:-1},o>l?(t.sortIndex=o,ms(er,t),st(ht)===null&&t===st(er)&&(go?(qa(Io),Io=-1):go=!0,xs(Fs,o-l))):(t.sortIndex=g,ms(ht,t),xr||Pi||(xr=!0,ws(ys))),t};wA.unstable_shouldYield=Za;wA.unstable_wrapCallback=function(t){var r=Qe;return function(){var o=Qe;Qe=r;try{return t.apply(this,arguments)}finally{Qe=o}}}});var AB=_A((Zp,$a)=>{"use strict";$a.exports=ja()});var tB=_A((jp,eB)=>{eB.exports=function(r){var o={},l=Z(),g=AB(),E=Object.assign;function I(A){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+A,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+A+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var c=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,D=Symbol.for("react.element"),y=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),L=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),J=Symbol.for("react.provider"),X=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),oA=Symbol.for("react.memo"),gA=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var mA=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var FA=Symbol.iterator;function yA(A){return A===null||typeof A!="object"?null:(A=FA&&A[FA]||A["@@iterator"],typeof A=="function"?A:null)}function KA(A){if(A==null)return null;if(typeof A=="function")return A.displayName||A.name||null;if(typeof A=="string")return A;switch(A){case h:return"Fragment";case y:return"Portal";case T:return"Profiler";case L:return"StrictMode";case Y:return"Suspense";case z:return"SuspenseList"}if(typeof A=="object")switch(A.$$typeof){case X:return(A.displayName||"Context")+".Consumer";case J:return(A._context.displayName||"Context")+".Provider";case b:var e=A.render;return A=A.displayName,A||(A=e.displayName||e.name||"",A=A!==""?"ForwardRef("+A+")":"ForwardRef"),A;case oA:return e=A.displayName||null,e!==null?e:KA(A.type)||"Memo";case gA:e=A._payload,A=A._init;try{return KA(A(e))}catch{}}return null}function ue(A){var e=A.type;switch(A.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return A=e.render,A=A.displayName||A.name||"",e.displayName||(A!==""?"ForwardRef("+A+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return KA(e);case 8:return e===L?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function ae(A){var e=A,n=A;if(A.alternate)for(;e.return;)e=e.return;else{A=e;do e=A,e.flags&4098&&(n=e.return),A=e.return;while(A)}return e.tag===3?n:null}function Jt(A){if(ae(A)!==A)throw Error(I(188))}function Kt(A){var e=A.alternate;if(!e){if(e=ae(A),e===null)throw Error(I(188));return e!==A?null:A}for(var n=A,i=e;;){var u=n.return;if(u===null)break;var s=u.alternate;if(s===null){if(i=u.return,i!==null){n=i;continue}break}if(u.child===s.child){for(s=u.child;s;){if(s===n)return Jt(u),A;if(s===i)return Jt(u),e;s=s.sibling}throw Error(I(188))}if(n.return!==i.return)n=u,i=s;else{for(var C=!1,d=u.child;d;){if(d===n){C=!0,n=u,i=s;break}if(d===i){C=!0,i=u,n=s;break}d=d.sibling}if(!C){for(d=s.child;d;){if(d===n){C=!0,n=s,i=u;break}if(d===i){C=!0,i=s,n=u;break}d=d.sibling}if(!C)throw Error(I(189))}}if(n.alternate!==i)throw Error(I(190))}if(n.tag!==3)throw Error(I(188));return n.stateNode.current===n?A:e}function nr(A){return A=Kt(A),A!==null?WA(A):null}function WA(A){if(A.tag===5||A.tag===6)return A;for(A=A.child;A!==null;){var e=WA(A);if(e!==null)return e;A=A.sibling}return null}function ye(A){if(A.tag===5||A.tag===6)return A;for(A=A.child;A!==null;){if(A.tag!==4){var e=ye(A);if(e!==null)return e}A=A.sibling}return null}var He=Array.isArray,Te=r.getPublicInstance,or=r.getRootHostContext,de=r.getChildHostContext,vr=r.prepareForCommit,kr=r.resetAfterCommit,Fn=r.createInstance,yt=r.appendInitialChild,ir=r.finalizeInitialChildren,ur=r.prepareUpdate,le=r.shouldSetTextContent,AA=r.createTextInstance,CA=r.scheduleTimeout,cA=r.cancelTimeout,eA=r.noTimeout,Oe=r.isPrimaryRenderer,bA=r.supportsMutation,wt=r.supportsPersistence,ee=r.supportsHydration,zA=r.getInstanceFromNode,lr=r.preparePortalMount,yn=r.getCurrentEventPriority,sr=r.detachDeletedInstance,je=r.supportsMicrotasks,wn=r.scheduleMicrotask,ve=r.supportsTestSelectors,vo=r.findFiberRoot,ko=r.getBoundingRect,Lr=r.getTextContent,xt=r.isHiddenSubtree,Lo=r.matchAccessibilityRole,Go=r.setFocusIfFocusable,Mo=r.setupIntersectionObserver,xu=r.appendChild,Uo=r.appendChildToContainer,Gr=r.commitTextUpdate,Mr=r.commitMount,Yt=r.commitUpdate,Ur=r.insertBefore,xn=r.insertInContainerBefore,gr=r.removeChild,Pt=r.removeChildFromContainer,Ir=r.resetTextContent,Bt=r.hideInstance,Sn=r.hideTextInstance,$e=r.unhideInstance,Rn=r.unhideTextInstance,Et=r.clearContainer,Nn=r.cloneInstance,Ho=r.createContainerChildSet,To=r.appendChildToContainerChildSet,vn=r.finalizeContainerChildren,kn=r.replaceContainerChildren,Oo=r.cloneHiddenInstance,Jo=r.cloneHiddenTextInstance,At=r.canHydrateInstance,Su=r.canHydrateTextInstance,Ru=r.canHydrateSuspenseInstance,we=r.isSuspenseInstancePending,Hr=r.isSuspenseInstanceFallback,Tr=r.getSuspenseInstanceFallbackErrorDetails,Ln=r.registerSuspenseInstanceRetry,Wt=r.getNextHydratableSibling,Gn=r.getFirstHydratableChild,Mn=r.getFirstHydratableChildWithinContainer,Nu=r.getFirstHydratableChildWithinSuspenseInstance,vu=r.hydrateInstance,ku=r.hydrateTextInstance,Lu=r.hydrateSuspenseInstance,Gu=r.getNextHydratableInstanceAfterSuspenseInstance,Mu=r.commitHydratedContainer,Uu=r.commitHydratedSuspenseInstance,Hu=r.clearSuspenseBoundary,Tu=r.clearSuspenseBoundaryFromContainer,Ko=r.shouldDeleteUnhydratedTailInstances,Or=r.didNotMatchHydratedContainerTextInstance,Ou=r.didNotMatchHydratedTextInstance,Un;function bt(A){if(Un===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);Un=e&&e[1]||""}return`
|
|
2
|
+
import{B as Zl,C as ra,E as na,G as jl,H as $l,I as As,M as oa,N as ia,e as Ri,f as jI,g as ql,h as $I,i as Aa,j as ea,k as zl,m as Xl,n as ta}from"./chunk-7DMA7RUC.js";import{d as Si,l as XI,m as ZI}from"./chunk-GHPE6SB3.js";import{a as _l,b as _A,c as yc,d as H}from"./chunk-7BMOBFGJ.js";var Qa=_A(lA=>{"use strict";var ro=Symbol.for("react.element"),wc=Symbol.for("react.portal"),xc=Symbol.for("react.fragment"),Sc=Symbol.for("react.strict_mode"),Rc=Symbol.for("react.profiler"),Nc=Symbol.for("react.provider"),vc=Symbol.for("react.context"),kc=Symbol.for("react.forward_ref"),Lc=Symbol.for("react.suspense"),Gc=Symbol.for("react.memo"),Mc=Symbol.for("react.lazy"),ua=Symbol.iterator;function Uc(t){return t===null||typeof t!="object"?null:(t=ua&&t[ua]||t["@@iterator"],typeof t=="function"?t:null)}var ga={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ia=Object.assign,aa={};function en(t,r,o){this.props=t,this.context=r,this.refs=aa,this.updater=o||ga}en.prototype.isReactComponent={};en.prototype.setState=function(t,r){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,r,"setState")};en.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Ba(){}Ba.prototype=en.prototype;function ts(t,r,o){this.props=t,this.context=r,this.refs=aa,this.updater=o||ga}var rs=ts.prototype=new Ba;rs.constructor=ts;Ia(rs,en.prototype);rs.isPureReactComponent=!0;var la=Array.isArray,Ea=Object.prototype.hasOwnProperty,ns={current:null},Ca={key:!0,ref:!0,__self:!0,__source:!0};function ca(t,r,o){var l,g={},E=null,I=null;if(r!=null)for(l in r.ref!==void 0&&(I=r.ref),r.key!==void 0&&(E=""+r.key),r)Ea.call(r,l)&&!Ca.hasOwnProperty(l)&&(g[l]=r[l]);var c=arguments.length-2;if(c===1)g.children=o;else if(1<c){for(var D=Array(c),y=0;y<c;y++)D[y]=arguments[y+2];g.children=D}if(t&&t.defaultProps)for(l in c=t.defaultProps,c)g[l]===void 0&&(g[l]=c[l]);return{$$typeof:ro,type:t,key:E,ref:I,props:g,_owner:ns.current}}function Hc(t,r){return{$$typeof:ro,type:t.type,key:r,ref:t.ref,props:t.props,_owner:t._owner}}function os(t){return typeof t=="object"&&t!==null&&t.$$typeof===ro}function Tc(t){var r={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(o){return r[o]})}var sa=/\/+/g;function es(t,r){return typeof t=="object"&&t!==null&&t.key!=null?Tc(""+t.key):r.toString(36)}function vi(t,r,o,l,g){var E=typeof t;(E==="undefined"||E==="boolean")&&(t=null);var I=!1;if(t===null)I=!0;else switch(E){case"string":case"number":I=!0;break;case"object":switch(t.$$typeof){case ro:case wc:I=!0}}if(I)return I=t,g=g(I),t=l===""?"."+es(I,0):l,la(g)?(o="",t!=null&&(o=t.replace(sa,"$&/")+"/"),vi(g,r,o,"",function(y){return y})):g!=null&&(os(g)&&(g=Hc(g,o+(!g.key||I&&I.key===g.key?"":(""+g.key).replace(sa,"$&/")+"/")+t)),r.push(g)),1;if(I=0,l=l===""?".":l+":",la(t))for(var c=0;c<t.length;c++){E=t[c];var D=l+es(E,c);I+=vi(E,r,o,D,g)}else if(D=Uc(t),typeof D=="function")for(t=D.call(t),c=0;!(E=t.next()).done;)E=E.value,D=l+es(E,c++),I+=vi(E,r,o,D,g);else if(E==="object")throw r=String(t),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return I}function Ni(t,r,o){if(t==null)return t;var l=[],g=0;return vi(t,l,"","",function(E){return r.call(o,E,g++)}),l}function Oc(t){if(t._status===-1){var r=t._result;r=r(),r.then(function(o){(t._status===0||t._status===-1)&&(t._status=1,t._result=o)},function(o){(t._status===0||t._status===-1)&&(t._status=2,t._result=o)}),t._status===-1&&(t._status=0,t._result=r)}if(t._status===1)return t._result.default;throw t._result}var me={current:null},ki={transition:null},Jc={ReactCurrentDispatcher:me,ReactCurrentBatchConfig:ki,ReactCurrentOwner:ns};function fa(){throw Error("act(...) is not supported in production builds of React.")}lA.Children={map:Ni,forEach:function(t,r,o){Ni(t,function(){r.apply(this,arguments)},o)},count:function(t){var r=0;return Ni(t,function(){r++}),r},toArray:function(t){return Ni(t,function(r){return r})||[]},only:function(t){if(!os(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};lA.Component=en;lA.Fragment=xc;lA.Profiler=Rc;lA.PureComponent=ts;lA.StrictMode=Sc;lA.Suspense=Lc;lA.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Jc;lA.act=fa;lA.cloneElement=function(t,r,o){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var l=Ia({},t.props),g=t.key,E=t.ref,I=t._owner;if(r!=null){if(r.ref!==void 0&&(E=r.ref,I=ns.current),r.key!==void 0&&(g=""+r.key),t.type&&t.type.defaultProps)var c=t.type.defaultProps;for(D in r)Ea.call(r,D)&&!Ca.hasOwnProperty(D)&&(l[D]=r[D]===void 0&&c!==void 0?c[D]:r[D])}var D=arguments.length-2;if(D===1)l.children=o;else if(1<D){c=Array(D);for(var y=0;y<D;y++)c[y]=arguments[y+2];l.children=c}return{$$typeof:ro,type:t.type,key:g,ref:E,props:l,_owner:I}};lA.createContext=function(t){return t={$$typeof:vc,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:Nc,_context:t},t.Consumer=t};lA.createElement=ca;lA.createFactory=function(t){var r=ca.bind(null,t);return r.type=t,r};lA.createRef=function(){return{current:null}};lA.forwardRef=function(t){return{$$typeof:kc,render:t}};lA.isValidElement=os;lA.lazy=function(t){return{$$typeof:Mc,_payload:{_status:-1,_result:t},_init:Oc}};lA.memo=function(t,r){return{$$typeof:Gc,type:t,compare:r===void 0?null:r}};lA.startTransition=function(t){var r=ki.transition;ki.transition={};try{t()}finally{ki.transition=r}};lA.unstable_act=fa;lA.useCallback=function(t,r){return me.current.useCallback(t,r)};lA.useContext=function(t){return me.current.useContext(t)};lA.useDebugValue=function(){};lA.useDeferredValue=function(t){return me.current.useDeferredValue(t)};lA.useEffect=function(t,r){return me.current.useEffect(t,r)};lA.useId=function(){return me.current.useId()};lA.useImperativeHandle=function(t,r,o){return me.current.useImperativeHandle(t,r,o)};lA.useInsertionEffect=function(t,r){return me.current.useInsertionEffect(t,r)};lA.useLayoutEffect=function(t,r){return me.current.useLayoutEffect(t,r)};lA.useMemo=function(t,r){return me.current.useMemo(t,r)};lA.useReducer=function(t,r,o){return me.current.useReducer(t,r,o)};lA.useRef=function(t){return me.current.useRef(t)};lA.useState=function(t){return me.current.useState(t)};lA.useSyncExternalStore=function(t,r,o){return me.current.useSyncExternalStore(t,r,o)};lA.useTransition=function(){return me.current.useTransition()};lA.version="18.3.1"});var Z=_A((ip,Da)=>{"use strict";Da.exports=Qa()});var Na=_A((Hp,Mi)=>{Mi.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Mi.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Mi.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var gs=_A((Tp,sn)=>{var kA=global.process,yr=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};yr(kA)?(va=_l("assert"),un=Na(),ka=/^win/i.test(kA.platform),uo=_l("events"),typeof uo!="function"&&(uo=uo.EventEmitter),kA.__signal_exit_emitter__?ie=kA.__signal_exit_emitter__:(ie=kA.__signal_exit_emitter__=new uo,ie.count=0,ie.emitted={}),ie.infinite||(ie.setMaxListeners(1/0),ie.infinite=!0),sn.exports=function(t,r){if(!yr(global.process))return function(){};va.equal(typeof t,"function","a callback must be provided for exit handler"),ln===!1&&ls();var o="exit";r&&r.alwaysLast&&(o="afterexit");var l=function(){ie.removeListener(o,t),ie.listeners("exit").length===0&&ie.listeners("afterexit").length===0&&Ui()};return ie.on(o,t),l},Ui=function(){!ln||!yr(global.process)||(ln=!1,un.forEach(function(r){try{kA.removeListener(r,Hi[r])}catch{}}),kA.emit=Ti,kA.reallyExit=ss,ie.count-=1)},sn.exports.unload=Ui,wr=function(r,o,l){ie.emitted[r]||(ie.emitted[r]=!0,ie.emit(r,o,l))},Hi={},un.forEach(function(t){Hi[t]=function(){if(yr(global.process)){var o=kA.listeners(t);o.length===ie.count&&(Ui(),wr("exit",null,t),wr("afterexit",null,t),ka&&t==="SIGHUP"&&(t="SIGINT"),kA.kill(kA.pid,t))}}}),sn.exports.signals=function(){return un},ln=!1,ls=function(){ln||!yr(global.process)||(ln=!0,ie.count+=1,un=un.filter(function(r){try{return kA.on(r,Hi[r]),!0}catch{return!1}}),kA.emit=Ga,kA.reallyExit=La)},sn.exports.load=ls,ss=kA.reallyExit,La=function(r){yr(global.process)&&(kA.exitCode=r||0,wr("exit",kA.exitCode,null),wr("afterexit",kA.exitCode,null),ss.call(kA,kA.exitCode))},Ti=kA.emit,Ga=function(r,o){if(r==="exit"&&yr(global.process)){o!==void 0&&(kA.exitCode=o);var l=Ti.apply(this,arguments);return wr("exit",kA.exitCode,null),wr("afterexit",kA.exitCode,null),l}else return Ti.apply(this,arguments)}):sn.exports=function(){return function(){}};var va,un,ka,uo,ie,Ui,wr,Hi,ln,ls,ss,La,Ti,Ga});var ja=_A(wA=>{"use strict";function ms(t,r){var o=t.length;t.push(r);A:for(;0<o;){var l=o-1>>>1,g=t[l];if(0<Ji(g,r))t[l]=r,t[o]=g,o=l;else break A}}function st(t){return t.length===0?null:t[0]}function Yi(t){if(t.length===0)return null;var r=t[0],o=t.pop();if(o!==r){t[0]=o;A:for(var l=0,g=t.length,E=g>>>1;l<E;){var I=2*(l+1)-1,c=t[I],D=I+1,y=t[D];if(0>Ji(c,o))D<g&&0>Ji(y,c)?(t[l]=y,t[D]=o,l=D):(t[l]=c,t[I]=o,l=I);else if(D<g&&0>Ji(y,o))t[l]=y,t[D]=o,l=D;else break A}}return r}function Ji(t,r){var o=t.sortIndex-r.sortIndex;return o!==0?o:t.id-r.id}typeof performance=="object"&&typeof performance.now=="function"?(Pa=performance,wA.unstable_now=function(){return Pa.now()}):(Ds=Date,Wa=Ds.now(),wA.unstable_now=function(){return Ds.now()-Wa});var Pa,Ds,Wa,ht=[],er=[],Sf=1,qe=null,Qe=3,Pi=!1,xr=!1,go=!1,_a=typeof setTimeout=="function"?setTimeout:null,qa=typeof clearTimeout=="function"?clearTimeout:null,ba=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function hs(t){for(var r=st(er);r!==null;){if(r.callback===null)Yi(er);else if(r.startTime<=t)Yi(er),r.sortIndex=r.expirationTime,ms(ht,r);else break;r=st(er)}}function Fs(t){if(go=!1,hs(t),!xr)if(st(ht)!==null)xr=!0,ws(ys);else{var r=st(er);r!==null&&xs(Fs,r.startTime-t)}}function ys(t,r){xr=!1,go&&(go=!1,qa(Io),Io=-1),Pi=!0;var o=Qe;try{for(hs(r),qe=st(ht);qe!==null&&(!(qe.expirationTime>r)||t&&!Za());){var l=qe.callback;if(typeof l=="function"){qe.callback=null,Qe=qe.priorityLevel;var g=l(qe.expirationTime<=r);r=wA.unstable_now(),typeof g=="function"?qe.callback=g:qe===st(ht)&&Yi(ht),hs(r)}else Yi(ht);qe=st(ht)}if(qe!==null)var E=!0;else{var I=st(er);I!==null&&xs(Fs,I.startTime-r),E=!1}return E}finally{qe=null,Qe=o,Pi=!1}}var Wi=!1,Ki=null,Io=-1,za=5,Xa=-1;function Za(){return!(wA.unstable_now()-Xa<za)}function ds(){if(Ki!==null){var t=wA.unstable_now();Xa=t;var r=!0;try{r=Ki(!0,t)}finally{r?so():(Wi=!1,Ki=null)}}else Wi=!1}var so;typeof ba=="function"?so=function(){ba(ds)}:typeof MessageChannel<"u"?(ps=new MessageChannel,Va=ps.port2,ps.port1.onmessage=ds,so=function(){Va.postMessage(null)}):so=function(){_a(ds,0)};var ps,Va;function ws(t){Ki=t,Wi||(Wi=!0,so())}function xs(t,r){Io=_a(function(){t(wA.unstable_now())},r)}wA.unstable_IdlePriority=5;wA.unstable_ImmediatePriority=1;wA.unstable_LowPriority=4;wA.unstable_NormalPriority=3;wA.unstable_Profiling=null;wA.unstable_UserBlockingPriority=2;wA.unstable_cancelCallback=function(t){t.callback=null};wA.unstable_continueExecution=function(){xr||Pi||(xr=!0,ws(ys))};wA.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):za=0<t?Math.floor(1e3/t):5};wA.unstable_getCurrentPriorityLevel=function(){return Qe};wA.unstable_getFirstCallbackNode=function(){return st(ht)};wA.unstable_next=function(t){switch(Qe){case 1:case 2:case 3:var r=3;break;default:r=Qe}var o=Qe;Qe=r;try{return t()}finally{Qe=o}};wA.unstable_pauseExecution=function(){};wA.unstable_requestPaint=function(){};wA.unstable_runWithPriority=function(t,r){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var o=Qe;Qe=t;try{return r()}finally{Qe=o}};wA.unstable_scheduleCallback=function(t,r,o){var l=wA.unstable_now();switch(typeof o=="object"&&o!==null?(o=o.delay,o=typeof o=="number"&&0<o?l+o:l):o=l,t){case 1:var g=-1;break;case 2:g=250;break;case 5:g=1073741823;break;case 4:g=1e4;break;default:g=5e3}return g=o+g,t={id:Sf++,callback:r,priorityLevel:t,startTime:o,expirationTime:g,sortIndex:-1},o>l?(t.sortIndex=o,ms(er,t),st(ht)===null&&t===st(er)&&(go?(qa(Io),Io=-1):go=!0,xs(Fs,o-l))):(t.sortIndex=g,ms(ht,t),xr||Pi||(xr=!0,ws(ys))),t};wA.unstable_shouldYield=Za;wA.unstable_wrapCallback=function(t){var r=Qe;return function(){var o=Qe;Qe=r;try{return t.apply(this,arguments)}finally{Qe=o}}}});var AB=_A((Zp,$a)=>{"use strict";$a.exports=ja()});var tB=_A((jp,eB)=>{eB.exports=function(r){var o={},l=Z(),g=AB(),E=Object.assign;function I(A){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+A,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+A+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var c=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,D=Symbol.for("react.element"),y=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),L=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),J=Symbol.for("react.provider"),X=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),oA=Symbol.for("react.memo"),gA=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var mA=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var FA=Symbol.iterator;function yA(A){return A===null||typeof A!="object"?null:(A=FA&&A[FA]||A["@@iterator"],typeof A=="function"?A:null)}function KA(A){if(A==null)return null;if(typeof A=="function")return A.displayName||A.name||null;if(typeof A=="string")return A;switch(A){case h:return"Fragment";case y:return"Portal";case T:return"Profiler";case L:return"StrictMode";case Y:return"Suspense";case z:return"SuspenseList"}if(typeof A=="object")switch(A.$$typeof){case X:return(A.displayName||"Context")+".Consumer";case J:return(A._context.displayName||"Context")+".Provider";case b:var e=A.render;return A=A.displayName,A||(A=e.displayName||e.name||"",A=A!==""?"ForwardRef("+A+")":"ForwardRef"),A;case oA:return e=A.displayName||null,e!==null?e:KA(A.type)||"Memo";case gA:e=A._payload,A=A._init;try{return KA(A(e))}catch{}}return null}function ue(A){var e=A.type;switch(A.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return A=e.render,A=A.displayName||A.name||"",e.displayName||(A!==""?"ForwardRef("+A+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return KA(e);case 8:return e===L?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function ae(A){var e=A,n=A;if(A.alternate)for(;e.return;)e=e.return;else{A=e;do e=A,e.flags&4098&&(n=e.return),A=e.return;while(A)}return e.tag===3?n:null}function Jt(A){if(ae(A)!==A)throw Error(I(188))}function Kt(A){var e=A.alternate;if(!e){if(e=ae(A),e===null)throw Error(I(188));return e!==A?null:A}for(var n=A,i=e;;){var u=n.return;if(u===null)break;var s=u.alternate;if(s===null){if(i=u.return,i!==null){n=i;continue}break}if(u.child===s.child){for(s=u.child;s;){if(s===n)return Jt(u),A;if(s===i)return Jt(u),e;s=s.sibling}throw Error(I(188))}if(n.return!==i.return)n=u,i=s;else{for(var C=!1,d=u.child;d;){if(d===n){C=!0,n=u,i=s;break}if(d===i){C=!0,i=u,n=s;break}d=d.sibling}if(!C){for(d=s.child;d;){if(d===n){C=!0,n=s,i=u;break}if(d===i){C=!0,i=s,n=u;break}d=d.sibling}if(!C)throw Error(I(189))}}if(n.alternate!==i)throw Error(I(190))}if(n.tag!==3)throw Error(I(188));return n.stateNode.current===n?A:e}function nr(A){return A=Kt(A),A!==null?WA(A):null}function WA(A){if(A.tag===5||A.tag===6)return A;for(A=A.child;A!==null;){var e=WA(A);if(e!==null)return e;A=A.sibling}return null}function ye(A){if(A.tag===5||A.tag===6)return A;for(A=A.child;A!==null;){if(A.tag!==4){var e=ye(A);if(e!==null)return e}A=A.sibling}return null}var He=Array.isArray,Te=r.getPublicInstance,or=r.getRootHostContext,de=r.getChildHostContext,vr=r.prepareForCommit,kr=r.resetAfterCommit,Fn=r.createInstance,yt=r.appendInitialChild,ir=r.finalizeInitialChildren,ur=r.prepareUpdate,le=r.shouldSetTextContent,AA=r.createTextInstance,CA=r.scheduleTimeout,cA=r.cancelTimeout,eA=r.noTimeout,Oe=r.isPrimaryRenderer,bA=r.supportsMutation,wt=r.supportsPersistence,ee=r.supportsHydration,zA=r.getInstanceFromNode,lr=r.preparePortalMount,yn=r.getCurrentEventPriority,sr=r.detachDeletedInstance,je=r.supportsMicrotasks,wn=r.scheduleMicrotask,ve=r.supportsTestSelectors,vo=r.findFiberRoot,ko=r.getBoundingRect,Lr=r.getTextContent,xt=r.isHiddenSubtree,Lo=r.matchAccessibilityRole,Go=r.setFocusIfFocusable,Mo=r.setupIntersectionObserver,xu=r.appendChild,Uo=r.appendChildToContainer,Gr=r.commitTextUpdate,Mr=r.commitMount,Yt=r.commitUpdate,Ur=r.insertBefore,xn=r.insertInContainerBefore,gr=r.removeChild,Pt=r.removeChildFromContainer,Ir=r.resetTextContent,Bt=r.hideInstance,Sn=r.hideTextInstance,$e=r.unhideInstance,Rn=r.unhideTextInstance,Et=r.clearContainer,Nn=r.cloneInstance,Ho=r.createContainerChildSet,To=r.appendChildToContainerChildSet,vn=r.finalizeContainerChildren,kn=r.replaceContainerChildren,Oo=r.cloneHiddenInstance,Jo=r.cloneHiddenTextInstance,At=r.canHydrateInstance,Su=r.canHydrateTextInstance,Ru=r.canHydrateSuspenseInstance,we=r.isSuspenseInstancePending,Hr=r.isSuspenseInstanceFallback,Tr=r.getSuspenseInstanceFallbackErrorDetails,Ln=r.registerSuspenseInstanceRetry,Wt=r.getNextHydratableSibling,Gn=r.getFirstHydratableChild,Mn=r.getFirstHydratableChildWithinContainer,Nu=r.getFirstHydratableChildWithinSuspenseInstance,vu=r.hydrateInstance,ku=r.hydrateTextInstance,Lu=r.hydrateSuspenseInstance,Gu=r.getNextHydratableInstanceAfterSuspenseInstance,Mu=r.commitHydratedContainer,Uu=r.commitHydratedSuspenseInstance,Hu=r.clearSuspenseBoundary,Tu=r.clearSuspenseBoundaryFromContainer,Ko=r.shouldDeleteUnhydratedTailInstances,Or=r.didNotMatchHydratedContainerTextInstance,Ou=r.didNotMatchHydratedTextInstance,Un;function bt(A){if(Un===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);Un=e&&e[1]||""}return`
|
|
3
3
|
`+Un+A}var Hn=!1;function Jr(A,e){if(!A||Hn)return"";Hn=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(M){var i=M}Reflect.construct(A,[],e)}else{try{e.call()}catch(M){i=M}A.call(e.prototype)}else{try{throw Error()}catch(M){i=M}A()}}catch(M){if(M&&i&&typeof M.stack=="string"){for(var u=M.stack.split(`
|
|
4
4
|
`),s=i.stack.split(`
|
|
5
5
|
`),C=u.length-1,d=s.length-1;1<=C&&0<=d&&u[C]!==s[d];)d--;for(;1<=C&&0<=d;C--,d--)if(u[C]!==s[d]){if(C!==1||d!==1)do if(C--,d--,0>d||u[C]!==s[d]){var w=`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-skill-manager",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "Interactive TUI for managing installed skills for AI coding agents (Claude Code, Codex, OpenClaw, and more)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"build": "tsx scripts/build.ts",
|
|
23
23
|
"build:site": "vite build --config website-src/vite.config.js",
|
|
24
24
|
"preindex": "tsx scripts/preindex.ts",
|
|
25
|
+
"refresh:repo-bundles": "tsx scripts/refresh-repo-bundles.ts",
|
|
25
26
|
"build:website": "tsx scripts/build-catalog.ts && npm run build:site",
|
|
26
27
|
"lint:site": "eslint --config website-src/eslint.config.js 'website-src/src/**/*.{js,jsx}'",
|
|
27
28
|
"prepublishOnly": "npm run build",
|
|
@@ -43,7 +44,8 @@
|
|
|
43
44
|
"yaml": "^2.8.3"
|
|
44
45
|
},
|
|
45
46
|
"engines": {
|
|
46
|
-
"node": ">=18"
|
|
47
|
+
"node": ">=18 <23",
|
|
48
|
+
"npm": ">=9"
|
|
47
49
|
},
|
|
48
50
|
"keywords": [
|
|
49
51
|
"agent-skill-manager",
|
package/dist/chunk-GOI5LV72.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{readFile as g,writeFile as k,mkdir as x,copyFile as C}from"fs/promises";import{join as l,resolve as d,dirname as v}from"path";import{fileURLToPath as h}from"url";import{homedir as w}from"os";var p=!1,f=0;function O(e){p=e,e&&(f=performance.now())}function t(e){if(!p)return;let o=Math.round(performance.now()-f),a=globalThis.__CLI_NO_COLOR?`[verbose] +${o}ms`:`\x1B[2m[verbose] +${o}ms\x1B[0m`;console.error(`${a} ${e}`)}var j=h(import.meta.url),m=v(j),b=w(),i=l(b,".config","agent-skill-manager"),n=l(i,"config.json"),P=l(i,".skill-lock.json"),S=l(i,"skill-index"),y=[{name:"claude",label:"Claude Code",global:"~/.claude/skills",project:".claude/skills",enabled:!0},{name:"agents",label:"Agents",global:"~/.agents/skills",project:".agents/skills",enabled:!0},{name:"codex",label:"Codex",global:"~/.codex/skills",project:".codex/skills",enabled:!0},{name:"opencode",label:"OpenCode",global:"~/.config/opencode/skills",project:".opencode/skills",enabled:!0},{name:"openclaw",label:"OpenClaw",global:"~/.openclaw/skills",project:".openclaw/skills",enabled:!0},{name:"cursor",label:"Cursor",global:"~/.cursor/rules",project:".cursor/rules",enabled:!0},{name:"copilot",label:"GitHub Copilot",global:"~/.github/instructions",project:".github/instructions",enabled:!0},{name:"windsurf",label:"Windsurf",global:"~/.windsurf/rules",project:".windsurf/rules",enabled:!0},{name:"antigravity",label:"Google Antigravity",global:"~/.antigravity/skills",project:".antigravity/skills",enabled:!0},{name:"gemini",label:"Gemini CLI",global:"~/.gemini/skills",project:".gemini/skills",enabled:!0},{name:"hermes",label:"Hermes",global:"~/.hermes/skills",project:".hermes/skills",enabled:!0},{name:"cline",label:"Cline",global:"~/Documents/Cline/Rules",project:".clinerules",enabled:!0},{name:"roocode",label:"Roo Code",global:"~/.roo/rules",project:".roo/rules",enabled:!0},{name:"continue",label:"Continue",global:"~/.continue/rules",project:".continue/rules",enabled:!0},{name:"aider",label:"Aider",global:"~/.aider/skills",project:".aider/skills",enabled:!0},{name:"zed",label:"Zed",global:"~/.config/zed/prompt_overrides",project:".zed/rules",enabled:!0},{name:"augment",label:"Augment",global:"~/.augment/rules",project:".augment/rules",enabled:!0},{name:"amp",label:"Amp",global:"~/.amp/skills",project:".amp/skills",enabled:!0}];function c(){return{version:1,providers:y.map(e=>({...e})),customPaths:[],preferences:{defaultScope:"both",defaultSort:"name"}}}function E(){return n}function F(){return P}function G(){return S}function H(){return d(m,"..","data","skill-index")}function _(){return d(m,"..","data","skill-index-resources.json")}async function W(){let e=_(),o=await g(e,"utf-8");return JSON.parse(o)}function z(e){return e.startsWith("~/")?l(b,e.slice(2)):e.startsWith("/")?e:d(e)}function I(e){let o=c(),r=e.providers||[],a=new Set(r.map(s=>s.name));for(let s of o.providers)a.has(s.name)||r.push({...s});return{version:e.version??o.version,providers:r,customPaths:e.customPaths??[],preferences:{defaultScope:e.preferences?.defaultScope??o.preferences.defaultScope,defaultSort:e.preferences?.defaultSort??o.preferences.defaultSort,selectedTools:e.preferences?.selectedTools}}}async function A(){t(`config: checking ${n}`);let e;try{e=await g(n,"utf-8")}catch(o){if(o?.code==="ENOENT"){t("config: using defaults (file not found)");let r=c();return await u(r),r}throw o}try{let o=JSON.parse(e);return t(`config: loaded from ${n}`),I(o)}catch{let o=n+".bak";t(`config: parse error, backing up to ${o}`),await C(n,o),console.error(`Warning: Config file was corrupted. Backup saved to ${o}. Using defaults.`);let r=c();return await u(r),r}}async function u(e){await x(i,{recursive:!0}),await k(n,JSON.stringify(e,null,2)+`
|
|
3
|
-
`,"utf-8")}async function J(e){let o=await A();o.preferences.selectedTools=e,await u(o)}export{O as a,t as b,c,E as d,F as e,G as f,H as g,_ as h,W as i,z as j,A as k,u as l,J as m};
|
package/dist/chunk-HG3RG5GM.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{b as k,j as I}from"./chunk-GOI5LV72.js";import{readdir as N,stat as L,lstat as oe,readlink as Pe,readFile as W,realpath as Q}from"fs/promises";import{join as x,resolve as Z,basename as Ne}from"path";import{homedir as G}from"os";function J(e){let t={},o=e.split(`
|
|
3
|
-
`),n=!1,r=!1,s=null,u=[],f="none",i=-1,p=null;function a(){if(s){let c=u.join(" ").trim();c&&(t[s]=c),s=null,u=[],f="none",i=-1}}for(let c of o){if(c.trim()==="---")if(r){a();break}else{r=!0,n=!0;continue}if(!n)continue;if(f!=="none"&&s){let m=c.replace(/^\s*/,""),g=c.length-m.length;if(g>0&&m.length>0){i===-1&&(i=g),u.push(m);continue}else{if(m.length===0)continue;a()}}if(p!==null){let m=c.match(/^\s+(\w[\w-]*):\s*(.*?)\s*$/);if(m){let g=m[1],b=m[2].replace(/^["']|["']$/g,"");b&&(t[`${p}.${g}`]=b);continue}if(c.trim().length>0)p=null;else continue}let $=c.match(/^(\w[\w-]*):\s*(.*?)\s*$/);if($){a();let m=$[1],g=$[2];if(g==="|"||g===">")s=m,u=[],f=g==="|"?"literal":"folded";else if(g==="|+"||g===">+"||g==="|-"||g===">-")s=m,u=[],f=g.startsWith("|")?"literal":"folded";else{let d=g.replace(/^["']|["']$/g,"");d?t[m]=d:p=m}}}return a(),t}function U(e){return e["metadata.version"]||e.version||"0.0.0"}function X(e){let t=e["allowed-tools"]||"";return t.trim()?t.split(/[\s,]+/).map(o=>o.trim()).filter(Boolean):[]}function Y(e){if(!e)return 0;let t=e.split(/\s+/).map(n=>n.trim()).filter(Boolean).length,o=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===32&&o++;return t+o}function _(e){return!Number.isFinite(e)||e<0?"~0 tokens":e<1e3?`~${e} tokens`:e<1e4?`~${(e/1e3).toFixed(1).replace(/\.0$/,"")}k tokens`:`~${Math.round(e/1e3)}k tokens`}var Ie=x(G(),".claude","plugins","marketplaces"),Le=x(G(),".codex","plugins","cache"),Te=x(G(),".codex","config.toml"),ht=x(G(),".agents","plugins","marketplace.json");function Me(e,t){let o=[];for(let n of e.providers){if(!n.enabled){k(`scan: skipping disabled provider "${n.name}"`);continue}if(t==="global"||t==="both"){let r=I(n.global);k(`scan: adding location ${r} (${n.label}, global)`),o.push({dir:r,location:`global-${n.name}`,scope:"global",providerName:n.name,providerLabel:n.label})}if(t==="project"||t==="both"){let r=I(n.project);k(`scan: adding location ${r} (${n.label}, project)`),o.push({dir:r,location:`project-${n.name}`,scope:"project",providerName:n.name,providerLabel:n.label})}}for(let n of e.customPaths)if(t===n.scope||t==="both"){let r=I(n.path);k(`scan: adding custom location ${r} (${n.label}, ${n.scope})`),o.push({dir:r,location:`${n.scope}-custom`,scope:n.scope,providerName:"custom",providerLabel:n.label})}return o}async function ee(e){try{return(await N(e,{recursive:!0})).length}catch{return 0}}async function Ee(e){let t=[];k(`scanning: ${e.dir} (${e.location})`);let o;try{o=await N(e.dir)}catch{return k(`scanning: ${e.dir} \u2014 not found, skipping`),t}for(let n of o){let r=x(e.dir,n);try{if(!(await L(r)).isDirectory()){k(` skip: "${n}" \u2014 not a directory`);continue}}catch{k(` skip: "${n}" \u2014 stat failed`);continue}let s=x(r,"SKILL.md"),u;try{u=await W(s,"utf-8")}catch{k(` skip: "${n}" \u2014 no SKILL.md`);continue}let f=J(u),i=!1,p=null;try{(await oe(r)).isSymbolicLink()&&(i=!0,p=await Pe(r))}catch{}let a=Z(r),c;try{c=await Q(r)}catch{c=a}t.push({name:f.name||n,version:U(f),description:(f.description||"").replace(/\s*\n\s*/g," ").trim(),creator:f["metadata.creator"]||"",license:(f.license||"").trim(),compatibility:(f.compatibility||"").trim(),allowedTools:X(f),effort:f.effort||f["metadata.effort"]||void 0,dirName:n,path:a,originalPath:r,location:e.location,scope:e.scope,provider:e.providerName,providerLabel:e.providerLabel,isSymlink:i,symlinkTarget:p,realPath:c,tokenCount:Y(u)})}return k(`found ${t.length} skill(s) in ${e.dir}`),t}async function re(e){let t=[],o;try{o=await N(e)}catch{return t}for(let n of o){let r=x(e,n),s;try{s=await oe(r)}catch{continue}if(!s.isSymbolicLink()&&s.isDirectory()){let u=x(r,"SKILL.md");try{await L(u),t.push(r)}catch{let f=await re(r);t.push(...f)}}}return t}async function Re(e){let t=e??Ie,o=[];k(`scan: checking plugin marketplaces at ${t}`);let n;try{n=await N(t)}catch{return k("scan: plugin marketplaces dir not found, skipping"),o}for(let r of n){let s=x(t,r),u;try{u=await L(s)}catch{continue}if(!u.isDirectory())continue;k(`scan: scanning marketplace "${r}"`);let f=await re(s);for(let i of f){let p=x(i,"SKILL.md"),a;try{a=await W(p,"utf-8")}catch{continue}let c=J(a),$=Ne(i),m=Z(i),g;try{g=await Q(i)}catch{g=m}o.push({name:c.name||$,version:U(c),description:(c.description||"").replace(/\s*\n\s*/g," ").trim(),creator:c["metadata.creator"]||"",license:(c.license||"").trim(),compatibility:(c.compatibility||"").trim(),allowedTools:X(c),effort:c.effort||c["metadata.effort"]||void 0,dirName:$,path:m,originalPath:i,location:`global-plugin-${r}`,scope:"global",provider:"plugin",providerLabel:`Plugin (${r})`,isSymlink:!1,symlinkTarget:null,realPath:g,marketplace:r,tokenCount:Y(a)})}}return k(`scan: found ${o.length} plugin marketplace skill(s)`),o}function Ae(e){let t=new Map,o=null;for(let n of e.split(`
|
|
4
|
-
`)){let r=n.trim(),s=r.match(/^\[plugins\.([^\]]+)\]$/);if(s){o=s[1].trim().replace(/^["']|["']$/g,"");continue}if(r.startsWith("[")){o=null;continue}if(o&&r.startsWith("enabled")){let u=r.match(/^enabled\s*=\s*(true|false)/i);u&&t.set(o,u[1].toLowerCase()==="true")}}return t}async function je(e){let t=e??Te;try{let o=await W(t,"utf-8");return Ae(o)}catch{return k(`codex: config.toml not found at ${t}, skipping enabled check`),new Map}}async function De(e,t){let o=e??Le,n=[];k(`codex: checking plugin cache at ${o}`);let r;try{r=await N(o)}catch{return k("codex: plugin cache dir not found, skipping"),n}let s=await je(t);for(let u of r){let f=x(o,u),i;try{i=await L(f)}catch{continue}if(!i.isDirectory())continue;let p;try{p=await N(f)}catch{continue}for(let a of p){let c=x(f,a),$;try{$=await L(c)}catch{continue}if(!$.isDirectory())continue;let m;try{m=await N(c)}catch{continue}let g=(await Promise.all(m.map(async y=>{try{return(await L(x(c,y))).isDirectory()?y:null}catch{return null}}))).filter(y=>y!==null);if(g.length===0)continue;let d=g.sort(se).at(-1),b=x(c,d),w=x(b,".codex-plugin","plugin.json"),S;try{let y=await W(w,"utf-8");S=JSON.parse(y)}catch{k(`codex: no valid plugin.json at ${w}, skipping`);continue}let C=Z(b),P;try{P=await Q(b)}catch{P=C}let E=S.interface?.displayName||S.name||a,R=S.version||d,A=(S.description||"").replace(/\s*\n\s*/g," ").trim(),v=s.has(a)?s.get(a):!0;n.push({name:E,version:R,description:A,creator:"",license:"",compatibility:"",allowedTools:[],dirName:a,path:C,originalPath:b,location:`global-codex-plugin-${u}`,scope:"global",provider:"codex-plugin",providerLabel:`Codex Plugin (${u})`,isSymlink:!1,symlinkTarget:null,realPath:P,marketplace:u,codexPlugin:{category:S.interface?.category,hasMcpConfig:S.mcp!=null&&Object.keys(S.mcp).length>0,pluginName:a,pluginVersion:d,enabled:v}})}}return k(`codex: found ${n.length} plugin(s) in cache`),n}async function $t(e,t,o,n){let r=Me(e,t),s=t==="global"||t==="both",[u,f,i]=await Promise.all([Promise.all(r.map(Ee)),s?Re(o):Promise.resolve([]),s?De(n):Promise.resolve([])]),p=u.flat(),a=new Set(p.map($=>$.realPath)),c=new Set(p.map($=>$.name.toLowerCase()));for(let $ of f)!a.has($.realPath)&&!c.has($.name.toLowerCase())&&(p.push($),a.add($.realPath),c.add($.name.toLowerCase()));for(let $ of i)!a.has($.realPath)&&!c.has($.name.toLowerCase())&&(p.push($),a.add($.realPath),c.add($.name.toLowerCase()));return p}function bt(e,t){if(!t.trim())return e;let o=t.toLowerCase();return e.filter(n=>n.name.toLowerCase().includes(o)||n.description.toLowerCase().includes(o)||n.creator.toLowerCase().includes(o)||n.effort&&n.effort.toLowerCase().includes(o)||n.location.toLowerCase().includes(o)||n.providerLabel.toLowerCase().includes(o))}function se(e,t){let o=e.split("."),n=t.split("."),r=Math.max(o.length,n.length);for(let s=0;s<r;s++){let u=parseInt(o[s]??"0",10),f=parseInt(n[s]??"0",10);if(isNaN(u)||isNaN(f))return e.localeCompare(t);if(u!==f)return u-f}return 0}function vt(e,t){let o=[...e];switch(t){case"name":o.sort((n,r)=>n.name.localeCompare(r.name));break;case"version":o.sort((n,r)=>se(n.version,r.version));break;case"location":o.sort((n,r)=>n.location.localeCompare(r.location));break}return o}import{rm as te,readFile as ae,writeFile as Fe,access as Oe,lstat as _e,symlink as We}from"fs/promises";import{join as ie,resolve as T,dirname as le,relative as Ge}from"path";import{homedir as Be}from"os";var Ve=Be();function He(e,t){let o={directories:[],ruleFiles:[],agentsBlocks:[]};o.directories.push({path:e.originalPath,isSymlink:e.isSymlink});let n=e.dirName;if(e.scope==="project"&&(o.ruleFiles.push(T(".cursor","rules",`${n}.mdc`),T(".windsurf","rules",`${n}.md`),T(".github","instructions",`${n}.instructions.md`)),o.agentsBlocks.push({file:T("AGENTS.md"),skillName:n})),e.scope==="global"){for(let u of t.providers){if(!u.enabled)continue;let f=I(u.global),i=ie(le(f),"AGENTS.md");o.agentsBlocks.push({file:i,skillName:n})}let r=ie(Ve,".codex","AGENTS.md");o.agentsBlocks.some(u=>u.file===r)||o.agentsBlocks.push({file:r,skillName:n})}return o}function Ct(e,t,o){let n=t.filter(i=>i.dirName===e);if(n.length===0)return{directories:[],ruleFiles:[],agentsBlocks:[]};let r={directories:[],ruleFiles:[],agentsBlocks:[]},s=new Set,u=new Set,f=new Set;for(let i of n){let p=He(i,o);for(let a of p.directories)s.has(a.path)||(s.add(a.path),r.directories.push(a));for(let a of p.ruleFiles)u.has(a)||(u.add(a),r.ruleFiles.push(a));for(let a of p.agentsBlocks){let c=`${a.file}::${a.skillName}`;f.has(c)||(f.add(c),r.agentsBlocks.push(a))}}return r}async function j(e){try{return await Oe(e),!0}catch{return!1}}async function qe(e,t){if(!await j(e))return;let o=await ae(e,"utf-8");for(let n of["agent-skill-manager","skill-manager","pskills"]){let r=`<!-- ${n}: ${t} -->`,s=`<!-- /${n}: ${t} -->`,u=o.indexOf(r),f=o.indexOf(s);if(u===-1||f===-1)continue;let i=u;i>0&&o[i-1]===`
|
|
5
|
-
`&&i--;let a=f+s.length;a<o.length&&o[a]===`
|
|
6
|
-
`&&a++,o=o.slice(0,i)+o.slice(a)}await Fe(e,o,"utf-8")}async function Pt(e,t){let o=[];for(let n of e.directories)try{if(n.isSymlink?(await te(n.path),o.push(`Removed symlink: ${n.path}`)):(await te(n.path,{recursive:!0,force:!0}),o.push(`Removed directory: ${n.path}`)),t&&T(n.path)!==T(t)){let r=le(n.path),s=Ge(r,t);await We(s,n.path,"dir"),o.push(`Created symlink: ${n.path} -> ${s}`)}}catch(r){o.push(`Failed to remove ${n.path}: ${r.message}`)}for(let n of e.ruleFiles)if(await j(n))try{await te(n),o.push(`Removed rule file: ${n}`)}catch(r){o.push(`Failed to remove ${n}: ${r.message}`)}for(let n of e.agentsBlocks)try{await qe(n.file,n.skillName),o.push(`Cleaned AGENTS.md block in: ${n.file}`)}catch(r){o.push(`Failed to clean AGENTS.md block: ${r.message}`)}return o}async function Nt(e){let t=[];for(let o of e.directories)if(await j(o.path)){let r=(await _e(o.path)).isSymbolicLink()?"symlink":"directory";t.push(`${o.path} (${r})`)}for(let o of e.ruleFiles)await j(o)&&t.push(o);for(let o of e.agentsBlocks)if(await j(o.file)){let n=await ae(o.file,"utf-8");(n.includes(`<!-- agent-skill-manager: ${o.skillName} -->`)||n.includes(`<!-- skill-manager: ${o.skillName} -->`)||n.includes(`<!-- pskills: ${o.skillName} -->`))&&t.push(`${o.file} (AGENTS.md block)`)}return t}var h=()=>!(process.env.NO_COLOR!==void 0||globalThis.__CLI_NO_COLOR||!process.stdout.isTTY),l={bold:e=>h()?`\x1B[1m${e}\x1B[0m`:e,cyan:e=>h()?`\x1B[36m${e}\x1B[0m`:e,green:e=>h()?`\x1B[32m${e}\x1B[0m`:e,yellow:e=>h()?`\x1B[33m${e}\x1B[0m`:e,dim:e=>h()?`\x1B[2m${e}\x1B[0m`:e,white:e=>h()?`\x1B[37m${e}\x1B[0m`:e,red:e=>h()?`\x1B[31m${e}\x1B[0m`:e,blue:e=>h()?`\x1B[34m${e}\x1B[0m`:e,blueBold:e=>h()?`\x1B[34;1m${e}\x1B[0m`:e,magenta:e=>h()?`\x1B[35m${e}\x1B[0m`:e,bgDim:e=>h()?`\x1B[48;5;236m${e}\x1B[0m`:e,bgRed:e=>h()?`\x1B[41m\x1B[37m\x1B[1m${e}\x1B[0m`:e,bgYellow:e=>h()?`\x1B[43m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgGreen:e=>h()?`\x1B[42m\x1B[30m\x1B[1m${e}\x1B[0m`:e,bgCyan:e=>h()?`\x1B[46m\x1B[30m\x1B[1m${e}\x1B[0m`:e};function D(e){if(!e)return"";switch(e.toLowerCase()){case"low":return l.green(e);case"medium":return l.yellow(e);case"high":return l.red(e);case"max":return l.magenta(e);default:return e}}var ce={claude:l.blueBold,codex:l.cyan,"codex-plugin":l.cyan,openclaw:l.yellow,agents:l.green,custom:l.magenta,cursor:l.blue,windsurf:l.cyan,cline:l.green,roocode:l.magenta,continue:l.yellow,copilot:l.white,aider:l.red,opencode:l.cyan,zed:l.blue,augment:l.green,amp:l.yellow};function B(e,t){return(ce[e]||l.dim)(t)}function V(e,t){return h()?(ce[e]||l.dim)(`[${t}]`):`[${t}]`}function M(e){let t=process.env.HOME||process.env.USERPROFILE||"";return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function Mt(e){if(e.length===0)return"No skills found.";let t=["Name","Version","Creator","Effort","Tool","Scope","Type","Path"],o=e.map(i=>[i.name,i.version,i.creator||"\u2014",i.effort||"\u2014",i.providerLabel,i.scope,i.isSymlink?"symlink":"directory",M(i.path)]),n=t.map((i,p)=>Math.max(i.length,...o.map(a=>a[p].length))),r=(i,p)=>i.padEnd(p),s=t.map((i,p)=>r(i,n[p])).join(" "),u=n.map(i=>"-".repeat(i)).join("--"),f=o.map(i=>i.map((p,a)=>r(p,n[a])).join(" "));return[h()?l.bold(s):s,u,...f].join(`
|
|
7
|
-
`)}function F(e){let t=new Map;for(let n of e){let r=`${n.dirName}||${n.scope}`,s=t.get(r)??[];s.push(n),t.set(r,s)}let o=[];for(let[,n]of t){let r=n[0],s=new Set(n.map(f=>f.scope)),u=new Set(n.map(f=>f.isSymlink?"symlink":"directory"));o.push({name:r.name,version:r.version,creator:r.creator||"",effort:r.effort||"",tokens:typeof r.tokenCount=="number"?_(r.tokenCount):"",providers:n.map(f=>({provider:f.provider,label:f.providerLabel})),scope:s.size>1?"mixed":r.scope,type:u.size>1?"mixed":r.isSymlink?"symlink":"directory",path:M(r.path),warningCount:n.reduce((f,i)=>f+(i.warnings?.length??0),0)})}return o}var Et=50;function Rt(e,t={}){let o=t.topN??5,n=t.showHint??!0;if(e.length===0)return"No skills found.";let r=[],u=F(e).length,f=e.length,i=new Set(e.map(d=>d.provider)),p=e.filter(d=>d.scope==="global").length,a=e.filter(d=>d.scope==="project").length,c=`${f} skills (${u} unique) across ${i.size} tools | ${p} global, ${a} project`;r.push(h()?l.bold(c):c),r.push("");let $=new Map;for(let d of e){let b=$.get(d.provider)??{label:d.providerLabel,count:0};b.count+=1,$.set(d.provider,b)}let m=[...$.entries()].sort((d,b)=>b[1].count-d[1].count).slice(0,o);r.push(h()?l.bold("Top tools:"):"Top tools:");for(let[d,{label:b,count:w}]of m){let S=h()?B(d,`[${b}]`):`[${b}]`;r.push(` ${S} ${w} skill${w===1?"":"s"}`)}r.push(""),r.push(h()?l.bold("Scopes:"):"Scopes:"),r.push(` global ${p} skill${p===1?"":"s"}`),r.push(` project ${a} skill${a===1?"":"s"}`);let g=new Map;for(let d of e)d.effort&&g.set(d.effort,(g.get(d.effort)??0)+1);if(g.size>0){let d=[...g.entries()].sort((b,w)=>w[1]-b[1]).slice(0,o);r.push(""),r.push(h()?l.bold("Top efforts:"):"Top efforts:");for(let[b,w]of d){let S=D(b),C=Math.max(0,6-b.length);r.push(` ${S}${" ".repeat(C)} ${w} skill${w===1?"":"s"}`)}}if(n){r.push("");let d="Tip: refine with `asm list -p <tool>`, `asm search <query>`, or `asm list --compact`";r.push(h()?l.dim(d):d)}return r.join(`
|
|
8
|
-
`)}function Ke(e){if(e.length===0)return"No skills found.";let t=F(e),o=[],n=Math.max(4,...t.map(m=>m.name.length)),r=Math.max(7,...t.map(m=>m.version.length)),s=t.map(m=>m.providers.map(g=>V(g.provider,g.label)).join(" ")),u=t.map(m=>m.providers.map(g=>`[${g.label}]`).join(" ")),f=Math.max(5,...u.map(m=>m.length)),i=7,p=(m,g)=>m.padEnd(g);for(let m=0;m<t.length;m++){let g=t[m],d=p(g.name,n),b=l.dim(p(g.version,r)),w=f-u[m].length,S=s[m]+" ".repeat(Math.max(0,w)),C=l.dim(p(g.scope,i));o.push(`${d} ${b} ${S} ${C}`)}o.push("");let a=e.length,c=t.length,$=`${a} skills (${c} unique)`;return o.push(l.dim($)),o.join(`
|
|
9
|
-
`)}function At(e,t){if(e.length===0)return"No skills found.";let o=new Map,n=p=>{switch(t){case"tool":return[p.providerLabel];case"scope":return[p.scope];case"effort":return[p.effort&&p.effort.length>0?p.effort:"(unset)"]}};for(let p of e)for(let a of n(p)){let c=o.get(a)??[];c.push(p),o.set(a,c)}let r=[...o.entries()].sort((p,a)=>a[1].length!==p[1].length?a[1].length-p[1].length:p[0].localeCompare(a[0])),s=[];for(let[p,a]of r){let c=`${p} (${a.length})`;s.push(h()?l.bold(c):c);let g=Ke(a).split(`
|
|
10
|
-
`).slice(0,-2).filter(d=>d.length>0).map(d=>` ${d}`);s.push(...g),s.push("")}let u=e.length,f=F(e).length,i=`${u} skills (${f} unique), grouped by ${t}`;return s.push(l.dim(i)),s.join(`
|
|
11
|
-
`)}function jt(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return{skills:e,hint:""};let o=e.slice(0,t),n=e.length-t,r=l.dim(`... ${n} more not shown. Re-run with --limit ${e.length} (or 0) to see all, or refine with -p <tool>.`);return{skills:o,hint:r}}function Dt(e){if(e.length===0)return"No skills found.";let t=F(e),o=[],n=Math.max(4,...t.map(v=>v.name.length)),r=Math.max(7,...t.map(v=>v.version.length)),s=Math.max(7,...t.map(v=>Math.min((v.creator||"\u2014").length,15))),u=Math.max(6,...t.map(v=>(v.effort||"\u2014").length)),f=t.some(v=>v.tokens.length>0),i=f?Math.max(6,...t.map(v=>(v.tokens||"\u2014").length)):0,p=7,a=9,c=t.map(v=>v.providers.map(y=>V(y.provider,y.label)).join(" ")),$=t.map(v=>v.providers.map(y=>`[${y.label}]`).join(" ")),m=Math.max(9,...$.map(v=>v.length)),g=(v,y)=>v.padEnd(y),d=f?` ${g("Tokens",i)}`:"",b=`${g("Name",n)} ${g("Version",r)} ${g("Creator",s)} ${g("Effort",u)}${d} ${g("Tools",m)} ${g("Scope",p)} ${g("Type",a)}`;o.push(h()?l.bold(b):b);let w=f?` ${"-".repeat(i)}`:"";o.push(`${"-".repeat(n)} ${"-".repeat(r)} ${"-".repeat(s)} ${"-".repeat(u)}${w} ${"-".repeat(m)} ${"-".repeat(p)} ${"-".repeat(a)}`);for(let v=0;v<t.length;v++){let y=t[v],O=g(y.name,n),H=g(y.version,r),q=(y.creator||"\u2014").slice(0,15),K=g(q,s),z=y.effort||"\u2014",$e=y.effort?D(y.effort):"\u2014",be=u-z.length,ve=$e+" ".repeat(Math.max(0,be)),ye=f?` ${g(y.tokens||"\u2014",i)}`:"",ke=m-$[v].length,Se=c[v]+" ".repeat(Math.max(0,ke)),we=g(y.scope,p),xe=g(y.type,a),Ce=y.warningCount>0?` ${l.yellow(`(${y.warningCount} warning${y.warningCount>1?"s":""})`)}`:"";o.push(`${O} ${H} ${K} ${ve}${ye} ${Se} ${we} ${xe}${Ce}`)}let S=t.length,C=e.length,P=new Set(e.map(v=>v.provider)),E=e.filter(v=>v.scope==="global").length,R=e.filter(v=>v.scope==="project").length;o.push("");let A=`${C} skills (${S} unique) across ${P.size} tools | ${E} global, ${R} project`;return o.push(l.dim(A)),o.join(`
|
|
12
|
-
`)}function ze(e,t){if(!h()||!t)return e;let o=e.toLowerCase().indexOf(t.toLowerCase());if(o===-1)return e;let n=e.slice(0,o),r=e.slice(o,o+t.length),s=e.slice(o+t.length);return`${n}${l.bold(l.yellow(r))}${s}`}function Ft(e,t){if(e.length===0)return`No skills matching "${t}". Try ${l.bold("asm list")} to see all skills.`;let o=F(e),n=[];n.push(l.dim(`Found ${e.length} result${e.length===1?"":"s"} (${o.length} unique) matching "${t}"`)+`
|
|
13
|
-
`);let r=Math.max(4,...o.map(d=>d.name.length)),s=Math.max(7,...o.map(d=>d.version.length)),u=Math.max(7,...o.map(d=>Math.min((d.creator||"\u2014").length,15))),f=Math.max(6,...o.map(d=>(d.effort||"\u2014").length)),i=o.map(d=>d.providers.map(b=>V(b.provider,b.label)).join(" ")),p=o.map(d=>d.providers.map(b=>`[${b.label}]`).join(" ")),a=Math.max(9,...p.map(d=>d.length)),c=7,$=9,m=(d,b)=>d.padEnd(b),g=`${m("Name",r)} ${m("Version",s)} ${m("Creator",u)} ${m("Effort",f)} ${m("Tools",a)} ${m("Scope",c)} ${m("Type",$)}`;n.push(h()?l.bold(g):g),n.push(`${"-".repeat(r)} ${"-".repeat(s)} ${"-".repeat(u)} ${"-".repeat(f)} ${"-".repeat(a)} ${"-".repeat(c)} ${"-".repeat($)}`);for(let d=0;d<o.length;d++){let b=o[d],w=ze(b.name,t),S=r-b.name.length,C=w+" ".repeat(Math.max(0,S)),P=m(b.version,s),E=(b.creator||"\u2014").slice(0,15),R=m(E,u),A=b.effort||"\u2014",v=b.effort?D(b.effort):"\u2014",y=f-A.length,O=v+" ".repeat(Math.max(0,y)),H=a-p[d].length,q=i[d]+" ".repeat(Math.max(0,H)),K=m(b.scope,c),z=m(b.type,$);n.push(`${C} ${P} ${R} ${O} ${q} ${K} ${z}`)}return n.join(`
|
|
14
|
-
`)}function Ot(e,t){if(e.length===0)return"";let o=[];o.push(l.dim(`Found ${e.length} available skill${e.length===1?"":"s"} matching "${t}"`)+`
|
|
15
|
-
`);for(let n of e){o.push(` ${l.dim("To install:")} ${l.green(`asm install ${n.installUrl}`)}`);let r=n.verified?l.blue(" [verified]"):"";o.push(` ${l.cyan(n.name)} ${l.dim(`v${n.version}`)}${r} ${l.dim(`[${n.repoLabel}]`)}`);for(let s of ge(n.description,76))o.push(` ${s}`);o.push("")}return o.join(`
|
|
16
|
-
`)}var pe=new Set(["Bash","Write","Edit","NotebookEdit"]),Je=new Set(["WebFetch","WebSearch"]);function Ue(e){return pe.has(e)?l.red(e):Je.has(e)?l.yellow(e):l.green(e)}function ue(e){return e.length===0?"":e.map(Ue).join(" ")}function fe(e){let t=e.filter(n=>pe.has(n));if(t.length===0)return null;let o=[];return t.includes("Bash")&&o.push("execute shell commands"),(t.includes("Write")||t.includes("Edit")||t.includes("NotebookEdit"))&&o.push("modify files"),`This skill can ${o.join(" and ")}`}async function Xe(e){let t=[],o=(s,u)=>`${h()?l.bold(s+":"):s+":"} ${u}`;t.push(o("Name",e.name)),t.push(o("Version",e.version)),t.push(o("Creator",e.creator||"\u2014")),t.push(o("License",e.license||"\u2014")),e.compatibility&&t.push(o("Compatibility",e.compatibility)),e.effort&&t.push(o("Effort",D(e.effort))),t.push(o("Tool",e.providerLabel)),t.push(o("Scope",e.scope)),t.push(o("Location",e.location)),t.push(o("Path",M(e.path))),t.push(o("Type",e.isSymlink?"symlink":"directory")),e.isSymlink&&e.symlinkTarget&&t.push(o("Symlink Target",e.symlinkTarget));let n=e.fileCount??await ee(e.path);if(t.push(o("File Count",String(n))),typeof e.tokenCount=="number"&&t.push(o("Est. Tokens",_(e.tokenCount))),e.description&&(t.push(""),t.push(o("Description",e.description))),e.allowedTools&&e.allowedTools.length>0){t.push(""),t.push(h()?l.bold("Allowed Tools:"):"Allowed Tools:"),t.push(` ${ue(e.allowedTools)}`);let s=fe(e.allowedTools);s&&t.push(` ${h()?l.yellow("\u26A0"):"!"} ${s}`)}t.push(""),t.push(h()?l.bold("Eval Score:"):"Eval Score:");let r=de(e);if(r.length>0){let s=r.length>1;for(let u of r){let f=me(u.overallScore),i=u.providerId?`${u.providerId}@${u.providerVersion??"?"}`:"quality";s?t.push(` ${i}: ${f} / 100 (${u.grade})`):t.push(` Overall: ${f} / 100 (${u.grade})`);let p=u.evaluatedVersion?` \u2014 version ${u.evaluatedVersion}`:"";if(t.push(` ${h()?l.dim("Evaluated:"):"Evaluated:"} ${u.evaluatedAt}${p}`),u.categories.length>0){s?t.push(h()?l.dim(` Categories (${i}):`):` Categories (${i}):`):t.push(h()?l.dim(" Categories:"):" Categories:");for(let a of u.categories)t.push(` ${a.name.padEnd(28)} ${a.score}/${a.max}`)}}}else t.push(h()?l.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(h()?l.bold("Warnings:"):"Warnings:");for(let s of e.warnings)t.push(` ${h()?l.yellow("!"):"!"} [${s.category}] ${s.message}`)}return t.join(`
|
|
17
|
-
`)}function me(e){let t=String(e);return h()?e>=90?l.green(t):e>=80?l.cyan(t):e>=65?l.yellow(t):l.red(t):t}function de(e){return e.evalSummaries&&Object.keys(e.evalSummaries).length>0?Object.values(e.evalSummaries).sort((o,n)=>{let r=o.providerId??"quality",s=n.providerId??"quality";return r==="quality"&&s!=="quality"?-1:s==="quality"&&r!=="quality"?1:r.localeCompare(s)}):e.evalSummary?[e.evalSummary]:[]}async function _t(e){if(e.length===0)return"No skills found.";if(e.length===1)return Xe(e[0]);let t=[],o=(a,c)=>`${h()?l.bold(a+":"):a+":"} ${c}`,n=e[0],r=n.name;t.push(""),t.push(h()?l.blueBold(` ${r}`):` ${r}`),t.push(h()?l.dim(" "+"-".repeat(r.length+2)):" "+"-".repeat(r.length+2)),t.push(""),t.push(o(" Version",n.version)),t.push(o(" Creator",n.creator||"\u2014")),t.push(o(" License",n.license||"\u2014")),n.compatibility&&t.push(o(" Compatibility",n.compatibility)),n.effort&&t.push(o(" Effort",D(n.effort)));let s=n.fileCount??await ee(n.path);t.push(o(" File Count",String(s))),typeof n.tokenCount=="number"&&t.push(o(" Est. Tokens",_(n.tokenCount)));let u=e.map(a=>V(a.provider,a.providerLabel)).join(" ");t.push(o(" Installed in",u)),t.push(""),t.push(h()?l.bold(" Eval Score:"):" Eval Score:");let f=de(n);if(f.length>0){let a=f.length>1;for(let c of f){let $=me(c.overallScore),m=c.providerId?`${c.providerId}@${c.providerVersion??"?"}`:"quality";a?t.push(` ${m}: ${$} / 100 (${c.grade})`):t.push(` Overall: ${$} / 100 (${c.grade})`);let g=c.evaluatedVersion?` \u2014 version ${c.evaluatedVersion}`:"";if(t.push(` ${h()?l.dim("Evaluated:"):"Evaluated:"} ${c.evaluatedAt}${g}`),c.categories.length>0)for(let d of c.categories)t.push(` ${d.name.padEnd(28)} ${d.score}/${d.max}`)}}else t.push(h()?l.dim(` Not available \u2014 run \`asm eval ${n.path}\` to generate one.`):` Not available \u2014 run \`asm eval ${n.path}\` to generate one.`);if(n.description){t.push(""),t.push(h()?l.bold(" Description:"):" Description:");let a=ge(n.description,72);for(let c of a)t.push(" "+c)}if(n.allowedTools&&n.allowedTools.length>0){t.push(""),t.push(h()?l.bold(" Allowed Tools:"):" Allowed Tools:"),t.push(` ${ue(n.allowedTools)}`);let a=fe(n.allowedTools);a&&t.push(` ${h()?l.yellow("\u26A0"):"!"} ${a}`)}t.push("");let i=` Installations (${e.length})`;t.push(h()?l.bold(i):i);for(let a=0;a<e.length;a++){let c=e[a],$=B(c.provider,c.providerLabel),m=c.isSymlink?"symlink":"directory",g=l.dim(c.scope);t.push(` ${$} (${g}, ${m})`),t.push(` ${l.dim("Path:")} ${M(c.path)}`),c.isSymlink&&c.symlinkTarget&&t.push(` ${l.dim("Target:")} ${c.symlinkTarget}`)}let p=e.flatMap(a=>!a.warnings||a.warnings.length===0?[]:a.warnings.map(c=>({...c,provider:a.providerLabel})));if(p.length>0){t.push("");let a=` Warnings (${p.length})`;t.push(h()?l.bold(a):a);for(let c of p){let $=h()?l.yellow("!"):"!";t.push(` ${$} [${c.category}] ${c.message}`)}}return t.push(""),t.join(`
|
|
18
|
-
`)}function ge(e,t){let o=e.split(/\s+/),n=[],r="";for(let s of o)r.length+s.length+1>t&&r.length>0?(n.push(r),r=s):r=r?r+" "+s:s;return r&&n.push(r),n}function Wt(e){return JSON.stringify(e,null,2)}function Vt(e){let t=[],o=new Set,n=new Map,r=[];for(let i of e){let p=n.get(i.realPath);if(p){if(i.isSymlink)continue;p.isSymlink?(r[r.indexOf(p)]=i,n.set(i.realPath,i)):r.push(i)}else n.set(i.realPath,i),r.push(i)}let s=new Map;for(let i of r){let p=s.get(i.dirName)??[];p.push(i),s.set(i.dirName,p)}for(let[i,p]of s)if(new Set(p.map(c=>c.location)).size>=2){t.push({key:i,reason:"same-dirName",instances:p});for(let c of p)o.add(c.path)}let u=new Map;for(let i of r){if(!i.name)continue;let p=u.get(i.name)??[];p.push(i),u.set(i.name,p)}for(let[i,p]of u){if(new Set(p.map(m=>m.dirName)).size<2)continue;let c=p.filter(m=>!o.has(m.path));c.length<2||new Set(c.map(m=>m.dirName)).size<2||t.push({key:i,reason:"same-frontmatterName",instances:c})}t.sort((i,p)=>i.reason!==p.reason?i.reason==="same-dirName"?-1:1:i.key.localeCompare(p.key));let f=t.reduce((i,p)=>i+p.instances.length,0);return{scannedAt:new Date().toISOString(),totalSkills:e.length,duplicateGroups:t,totalDuplicateInstances:f}}function Ye(e){return[...e].sort((t,o)=>{if(t.scope!==o.scope)return t.scope==="global"?-1:1;let n=t.providerLabel.localeCompare(o.providerLabel);return n!==0?n:t.path.localeCompare(o.path)})}function Qe(e){return e==="same-dirName"?"same dirName":"same name"}function Ht(e){if(e.duplicateGroups.length===0)return l.green("No duplicate skills found.");let t=[];t.push(""),t.push(l.bold(` Found ${e.duplicateGroups.length} duplicate group(s) (${e.totalDuplicateInstances} total instances):`)),t.push("");for(let o of e.duplicateGroups){t.push(` ${l.yellow(`"${o.key}"`)} ${l.dim(`(${Qe(o.reason)})`)}`);let n=Ye(o.instances);for(let r=0;r<n.length;r++){let s=n[r],u=B(s.provider,s.providerLabel),f=r===0?l.green(" [keep]"):l.dim(" "),i=l.dim(`(${s.scope})`);t.push(` ${f} ${u} ${i} ${l.dim(M(s.path))}`)}t.push("")}return t.push(l.dim(` Run ${l.bold("asm audit -y")} to auto-remove duplicates`)),t.push(""),t.join(`
|
|
19
|
-
`)}function qt(e){return JSON.stringify(e,null,2)}function zt(e){let t=e.trim();if(!t)return["vi",[]];let o=[],n="",r=!1,s=0;for(;s<t.length;){let u=t[s];if(u==='"'){for(r=!0,s++;s<t.length&&t[s]!=='"';){if(t[s]==="\\"&&s+1<t.length){let f=t[s+1];if(f==='"'||f==="\\"){n+=f,s+=2;continue}}n+=t[s],s++}s++}else if(u==="'"){for(r=!0,s++;s<t.length&&t[s]!=="'";)n+=t[s],s++;s++}else u===" "||u===" "?((n.length>0||r)&&(o.push(n),n="",r=!1),s++):(n+=u,s++)}return(n.length>0||r)&&o.push(n),o.length===0?["vi",[]]:[o[0],o.slice(1)]}import{readFileSync as Ze}from"fs";import{resolve as et,dirname as tt}from"path";import{fileURLToPath as nt}from"url";import{execSync as ot}from"child_process";var rt=tt(nt(import.meta.url)),he="2.7.0";try{let e=Ze(et(rt,"../../package.json"),"utf-8");he=JSON.parse(e).version}catch{}var ne="f89af53";try{ne=ot("git rev-parse --short HEAD",{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()||ne}catch{}var st=he,it=ne,Zt=`v${st} (${it})`;export{J as a,U as b,X as c,Y as d,_ as e,ee as f,$t as g,bt as h,vt as i,He as j,Ct as k,Pt as l,Nt as m,l as n,D as o,B as p,M as q,Mt as r,Et as s,Rt as t,Ke as u,At as v,jt as w,Dt as x,Ft as y,Ot as z,pe as A,Je as B,_t as C,ge as D,Wt as E,Vt as F,Ye as G,Qe as H,Ht as I,qt as J,st as K,Zt as L,zt as M};
|
package/dist/chunk-PVEAYTE2.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{b as e,e as i}from"./chunk-GOI5LV72.js";import{readFile as l,writeFile as a,mkdir as k,copyFile as u}from"fs/promises";import{execFile as m}from"child_process";import{promisify as f}from"util";import{dirname as p}from"path";var y=f(m);function c(){return{version:1,skills:{}}}async function n(){let t=i(),r;try{r=await l(t,"utf-8")}catch(o){if(o?.code==="ENOENT")return e("lock: file not found, returning empty lock"),c();throw o}try{let o=JSON.parse(r);if(o.version!==1||typeof o.skills!="object"||o.skills===null)throw new Error("invalid schema");return e(`lock: loaded ${Object.keys(o.skills).length} entries`),o}catch{let o=t+".bak";e(`lock: parse error, backing up to ${o}`);try{await u(t,o)}catch{}return console.error(`Warning: .skill-lock.json was corrupted. Backup saved to ${o}. Starting fresh.`),c()}}async function F(t,r){let o=await n();o.skills[t]=r,await s(o),e(`lock: wrote entry for "${t}"`)}async function E(t){let r=await n();if(!(t in r.skills)){e(`lock: no entry for "${t}", nothing to remove`);return}delete r.skills[t],await s(r),e(`lock: removed entry for "${t}"`)}async function s(t){let r=i();await k(p(r),{recursive:!0}),await a(r,JSON.stringify(t,null,2)+`
|
|
3
|
-
`,"utf-8")}async function P(t){try{let{stdout:r}=await y("git",["rev-parse","HEAD"],{cwd:t,timeout:5e3});return r.trim()||null}catch{return e("lock: could not read commit hash from cloned repo"),null}}export{n as a,F as b,E as c,P as d};
|
package/dist/config-55HAAFSH.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}from"./chunk-GOI5LV72.js";import"./chunk-7BMOBFGJ.js";export{e as getBundledIndexDir,b as getConfigPath,a as getDefaultConfig,d as getIndexDir,c as getLockPath,f as getSkillIndexResourcesPath,i as loadConfig,g as loadSkillIndexResources,h as resolveProviderPath,j as saveConfig,k as saveSelectedTools};
|
package/dist/lock-SOHBB4N3.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{a,b,c,d}from"./chunk-PVEAYTE2.js";import"./chunk-GOI5LV72.js";import"./chunk-7BMOBFGJ.js";export{d as getCommitHash,a as readLock,c as removeLockEntry,b as writeLockEntry};
|