@easbot/skills 0.3.12 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.en.md +433 -126
  2. package/README.md +428 -126
  3. package/dist/chunks/blob-SCUVTYVE.cjs +1 -0
  4. package/dist/chunks/blob-WZAGX4RO.mjs +1 -0
  5. package/dist/chunks/chunk-2E6BHPFV.cjs +265 -0
  6. package/dist/chunks/chunk-5BDDXFOF.mjs +1 -0
  7. package/dist/chunks/chunk-5RWSXDNO.cjs +3 -0
  8. package/dist/chunks/chunk-6NTEYECA.mjs +22 -0
  9. package/dist/chunks/chunk-AQYRRXU5.mjs +5 -0
  10. package/dist/chunks/{chunk-2VZUPTI7.cjs → chunk-DFBKA5A6.cjs} +1 -1
  11. package/dist/chunks/chunk-DNE3XPCJ.cjs +2 -0
  12. package/dist/chunks/chunk-E7AHWFZN.cjs +2 -0
  13. package/dist/chunks/chunk-ISMGLHYS.cjs +1 -0
  14. package/dist/chunks/chunk-J6PRUXFG.mjs +265 -0
  15. package/dist/chunks/chunk-JCOXRETY.cjs +22 -0
  16. package/dist/chunks/chunk-ML6B4IQL.mjs +1 -0
  17. package/dist/chunks/chunk-NH4TYEPW.mjs +3 -0
  18. package/dist/chunks/{chunk-S6YNGR7S.cjs → chunk-Q2MOP5ZW.cjs} +2 -2
  19. package/dist/chunks/{chunk-OWG6N2K6.cjs → chunk-UGHF4GOW.cjs} +2 -2
  20. package/dist/chunks/chunk-ZJS7IO5V.mjs +2 -0
  21. package/dist/chunks/chunk-ZYDDQV73.mjs +2 -0
  22. package/dist/chunks/cli-handler-3FSM4C7L.mjs +1 -0
  23. package/dist/chunks/cli-handler-B6H4RZEM.cjs +1 -0
  24. package/dist/chunks/{installer-FB26E7JZ.mjs → installer-NJN3PT5F.mjs} +1 -1
  25. package/dist/chunks/installer-YDJBZTQ7.cjs +1 -0
  26. package/dist/chunks/{interfaces-UIS44Q7A.cjs → interfaces-5BH4K5TM.cjs} +1 -1
  27. package/dist/chunks/local-lock-SPZB3AB7.cjs +1 -0
  28. package/dist/chunks/local-lock-ZHTDWYXF.mjs +1 -0
  29. package/dist/chunks/scan-6W47D2KJ.mjs +1 -0
  30. package/dist/chunks/scan-L6UNVP3V.cjs +1 -0
  31. package/dist/chunks/skill-lock-MNRZ7TIX.mjs +1 -0
  32. package/dist/chunks/skill-lock-VX2HGPTY.cjs +1 -0
  33. package/dist/chunks/store-TSS4BMBF.cjs +1 -0
  34. package/dist/chunks/store-UJPPYDBG.mjs +1 -0
  35. package/dist/chunks/telemetry-B4PS27S5.cjs +1 -0
  36. package/dist/cli.cjs +1 -1
  37. package/dist/cli.mjs +1 -1
  38. package/dist/index.cjs +1 -1
  39. package/dist/index.d.cts +53 -9
  40. package/dist/index.d.ts +53 -9
  41. package/dist/index.mjs +1 -1
  42. package/package.json +5 -7
  43. package/dist/chunks/blob-DOVEGVIE.cjs +0 -1
  44. package/dist/chunks/blob-JSMTOYEN.mjs +0 -1
  45. package/dist/chunks/chunk-2YVJ7YP6.mjs +0 -22
  46. package/dist/chunks/chunk-4R6NKPNW.mjs +0 -3
  47. package/dist/chunks/chunk-676OG55M.mjs +0 -5
  48. package/dist/chunks/chunk-6PJ3YQA7.mjs +0 -2
  49. package/dist/chunks/chunk-72DXY4B7.mjs +0 -1
  50. package/dist/chunks/chunk-GR2NJUJ6.mjs +0 -255
  51. package/dist/chunks/chunk-JFEBB5CL.cjs +0 -22
  52. package/dist/chunks/chunk-KV7EP6AW.cjs +0 -255
  53. package/dist/chunks/chunk-RWSBKHQ2.cjs +0 -3
  54. package/dist/chunks/chunk-TCFGU43L.cjs +0 -2
  55. package/dist/chunks/cli-handler-RAJ42VDN.mjs +0 -1
  56. package/dist/chunks/cli-handler-YAJ5J5VA.cjs +0 -1
  57. package/dist/chunks/installer-GOQTCUJ4.cjs +0 -1
  58. package/dist/chunks/local-lock-4AA55ORE.cjs +0 -1
  59. package/dist/chunks/local-lock-LG5YL33V.mjs +0 -1
  60. package/dist/chunks/scan-QEVID2TF.mjs +0 -1
  61. package/dist/chunks/scan-XWU3FCE3.cjs +0 -1
  62. package/dist/chunks/skill-lock-KHPVP7AD.mjs +0 -1
  63. package/dist/chunks/skill-lock-LET33FVT.cjs +0 -1
  64. package/dist/chunks/store-3NRBE47N.mjs +0 -1
  65. package/dist/chunks/store-EHYH46YY.cjs +0 -1
  66. package/dist/chunks/telemetry-LCGTSJDM.cjs +0 -1
  67. /package/dist/chunks/{chunk-VRHWDHQV.cjs → chunk-GWUDKZEH.cjs} +0 -0
@@ -1,2 +0,0 @@
1
- import {l,k}from'./chunk-RWZ4LFSN.mjs';import {createHash}from'crypto';import {parse}from'yaml';import {existsSync,readdirSync,readFileSync}from'fs';import {join,resolve}from'path';import {homedir}from'os';import {xdgConfig}from'xdg-basedir';import {Wildcard}from'@easbot/utils';function T(s){let l=s.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);return l?{data:parse(l[1])??{},content:l[2]??""}:{data:{},content:s}}var Z=/\x1b\[[\x30-\x3f]*[\x20-\x2f]*[\x40-\x7e]/g,Q=/\x1b\][\s\S]*?(?:\x07|\x1b\\)/g,V=/\x1b[P^_][\s\S]*?(?:\x1b\\)/g,X=/\x1b[\x20-\x7e]/g,Y=/[\x80-\x9f]/g,ee=/[\x00-\x06\x07\x08\x0b\x0c\x0d-\x1a\x1c-\x1f\x7f]/g;function te(s){return s.replace(Q,"").replace(V,"").replace(Z,"").replace(X,"").replace(Y,"").replace(ee,"")}function A(s){return te(s).replace(/[\r\n]+/g," ").trim()}function t(){return k()}function y(){return xdgConfig??join(k(),".config")}function R(){return process.env.CODEX_HOME?.trim()||join(t(),".codex")}function j(){return process.env.CLAUDE_CONFIG_DIR?.trim()||join(t(),".claude")}function _(){return process.env.VIBE_HOME?.trim()||join(t(),".vibe")}function O(){return process.env.HERMES_HOME?.trim()||join(t(),".hermes")}function E(){return process.env.AUTOHAND_HOME?.trim()||join(t(),".autohand")}function z(){return process.env.APPDATA?.trim()}function H(){return process.env.FLATPAK_XDG_CONFIG_HOME?.trim()}function re(s,l){try{let r=JSON.parse(readFileSync(s,"utf-8"));return !!(r.dependencies?.[l]||r.devDependencies?.[l])}catch{return false}}function ie(s=t(),l=existsSync){return l(join(s,".openclaw"))?join(s,".openclaw/skills"):l(join(s,".clawdbot"))?join(s,".clawdbot/skills"):l(join(s,".moltbot"))?join(s,".moltbot/skills"):join(s,".openclaw/skills")}var m={easbot:{name:"easbot",displayName:"EASBot",skillsDir:".easbot/skills",get globalSkillsDir(){return join(l(),"easbot","skills")},detectInstalled:async()=>true},"aider-desk":{name:"aider-desk",displayName:"AiderDesk",skillsDir:".aider-desk/skills",get globalSkillsDir(){return join(t(),".aider-desk/skills")},detectInstalled:async()=>existsSync(join(t(),".aider-desk"))},amp:{name:"amp",displayName:"Amp",skillsDir:".agents/skills",get globalSkillsDir(){return join(y(),"agents/skills")},detectInstalled:async()=>existsSync(join(y(),"amp"))},antigravity:{name:"antigravity",displayName:"Antigravity",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".gemini/antigravity/skills")},detectInstalled:async()=>existsSync(join(t(),".gemini/antigravity"))},"antigravity-cli":{name:"antigravity-cli",displayName:"Antigravity CLI",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".gemini/antigravity-cli/skills")},detectInstalled:async()=>existsSync(join(t(),".gemini/antigravity-cli"))},astrbot:{name:"astrbot",displayName:"AstrBot",skillsDir:"data/skills",get globalSkillsDir(){return join(t(),".astrbot/data/skills")},detectInstalled:async()=>existsSync(join(process.cwd(),"data/skills"))||existsSync(join(t(),".astrbot"))},"autohand-code":{name:"autohand-code",displayName:"Autohand Code CLI",skillsDir:".autohand/skills",get globalSkillsDir(){return join(E(),"skills")},detectInstalled:async()=>existsSync(E())},augment:{name:"augment",displayName:"Augment",skillsDir:".augment/skills",get globalSkillsDir(){return join(t(),".augment/skills")},detectInstalled:async()=>existsSync(join(t(),".augment"))},bob:{name:"bob",displayName:"IBM Bob",skillsDir:".bob/skills",get globalSkillsDir(){return join(t(),".bob/skills")},detectInstalled:async()=>existsSync(join(t(),".bob"))},"claude-code":{name:"claude-code",displayName:"Claude Code",skillsDir:".claude/skills",get globalSkillsDir(){return join(j(),"skills")},detectInstalled:async()=>existsSync(j())},openclaw:{name:"openclaw",displayName:"OpenClaw",skillsDir:".openclaw/skills",get globalSkillsDir(){return ie()},detectInstalled:async()=>existsSync(join(t(),".openclaw"))||existsSync(join(t(),".clawdbot"))||existsSync(join(t(),".moltbot"))},cline:{name:"cline",displayName:"Cline",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents","skills")},detectInstalled:async()=>existsSync(join(t(),".cline"))},"codearts-agent":{name:"codearts-agent",displayName:"CodeArts Agent",skillsDir:".codeartsdoer/skills",get globalSkillsDir(){return join(t(),".codeartsdoer/skills")},detectInstalled:async()=>existsSync(join(t(),".codeartsdoer"))},codebuddy:{name:"codebuddy",displayName:"CodeBuddy",skillsDir:".codebuddy/skills",get globalSkillsDir(){return join(t(),".codebuddy/skills")},detectInstalled:async()=>existsSync(join(process.cwd(),".codebuddy"))||existsSync(join(t(),".codebuddy"))},codemaker:{name:"codemaker",displayName:"Codemaker",skillsDir:".codemaker/skills",get globalSkillsDir(){return join(t(),".codemaker/skills")},detectInstalled:async()=>existsSync(join(t(),".codemaker"))},codestudio:{name:"codestudio",displayName:"Code Studio",skillsDir:".codestudio/skills",get globalSkillsDir(){return join(t(),".codestudio/skills")},detectInstalled:async()=>existsSync(join(t(),".codestudio"))},codex:{name:"codex",displayName:"Codex",skillsDir:".agents/skills",get globalSkillsDir(){return join(R(),"skills")},detectInstalled:async()=>existsSync(R())||existsSync("/etc/codex")},"command-code":{name:"command-code",displayName:"Command Code",skillsDir:".commandcode/skills",get globalSkillsDir(){return join(t(),".commandcode/skills")},detectInstalled:async()=>existsSync(join(t(),".commandcode"))},continue:{name:"continue",displayName:"Continue",skillsDir:".continue/skills",get globalSkillsDir(){return join(t(),".continue/skills")},detectInstalled:async()=>existsSync(join(process.cwd(),".continue"))||existsSync(join(t(),".continue"))},cortex:{name:"cortex",displayName:"Cortex Code",skillsDir:".cortex/skills",get globalSkillsDir(){return join(t(),".snowflake/cortex/skills")},detectInstalled:async()=>existsSync(join(t(),".snowflake/cortex"))},crush:{name:"crush",displayName:"Crush",skillsDir:".crush/skills",get globalSkillsDir(){return join(t(),".config/crush/skills")},detectInstalled:async()=>existsSync(join(t(),".config/crush"))},cursor:{name:"cursor",displayName:"Cursor",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".cursor/skills")},detectInstalled:async()=>existsSync(join(t(),".cursor"))},deepagents:{name:"deepagents",displayName:"Deep Agents",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".deepagents/agent/skills")},detectInstalled:async()=>existsSync(join(t(),".deepagents"))},devin:{name:"devin",displayName:"Devin for Terminal",skillsDir:".devin/skills",get globalSkillsDir(){return join(y(),"devin/skills")},detectInstalled:async()=>existsSync(join(y(),"devin"))},dexto:{name:"dexto",displayName:"Dexto",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents/skills")},detectInstalled:async()=>existsSync(join(t(),".dexto"))},droid:{name:"droid",displayName:"Droid",skillsDir:".factory/skills",get globalSkillsDir(){return join(t(),".factory/skills")},detectInstalled:async()=>existsSync(join(t(),".factory"))},eve:{name:"eve",displayName:"Eve",skillsDir:"agent/skills",globalSkillsDir:void 0,detectInstalled:async()=>{let s=process.cwd();return existsSync(join(s,"agent"))&&re(join(s,"package.json"),"eve")}},firebender:{name:"firebender",displayName:"Firebender",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".firebender/skills")},detectInstalled:async()=>existsSync(join(t(),".firebender"))},forgecode:{name:"forgecode",displayName:"ForgeCode",skillsDir:".forge/skills",get globalSkillsDir(){return join(t(),".forge/skills")},detectInstalled:async()=>existsSync(join(t(),".forge"))},"gemini-cli":{name:"gemini-cli",displayName:"Gemini CLI",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".gemini/skills")},detectInstalled:async()=>existsSync(join(t(),".gemini"))},"github-copilot":{name:"github-copilot",displayName:"GitHub Copilot",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".copilot/skills")},detectInstalled:async()=>existsSync(join(t(),".copilot"))},goose:{name:"goose",displayName:"Goose",skillsDir:".goose/skills",get globalSkillsDir(){return join(y(),"goose/skills")},detectInstalled:async()=>existsSync(join(y(),"goose"))},"hermes-agent":{name:"hermes-agent",displayName:"Hermes Agent",skillsDir:".hermes/skills",get globalSkillsDir(){return join(O(),"skills")},detectInstalled:async()=>existsSync(O())},"inference-sh":{name:"inference-sh",displayName:"inference.sh",skillsDir:".inferencesh/skills",get globalSkillsDir(){return join(t(),".inferencesh/skills")},detectInstalled:async()=>existsSync(join(t(),".inferencesh"))},jazz:{name:"jazz",displayName:"Jazz",skillsDir:".jazz/skills",get globalSkillsDir(){return join(t(),".jazz/skills")},detectInstalled:async()=>existsSync(join(t(),".jazz"))||existsSync(join(process.cwd(),".jazz"))},junie:{name:"junie",displayName:"Junie",skillsDir:".junie/skills",get globalSkillsDir(){return join(t(),".junie/skills")},detectInstalled:async()=>existsSync(join(t(),".junie"))},"iflow-cli":{name:"iflow-cli",displayName:"iFlow CLI",skillsDir:".iflow/skills",get globalSkillsDir(){return join(t(),".iflow/skills")},detectInstalled:async()=>existsSync(join(t(),".iflow"))},kilo:{name:"kilo",displayName:"Kilo Code",skillsDir:".kilocode/skills",get globalSkillsDir(){return join(t(),".kilocode/skills")},detectInstalled:async()=>existsSync(join(t(),".kilocode"))},"kimi-code-cli":{name:"kimi-code-cli",displayName:"Kimi Code CLI",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents/skills")},detectInstalled:async()=>existsSync(join(t(),".kimi-code"))||existsSync(join(t(),".kimi"))},"kiro-cli":{name:"kiro-cli",displayName:"Kiro CLI",skillsDir:".kiro/skills",get globalSkillsDir(){return join(t(),".kiro/skills")},detectInstalled:async()=>existsSync(join(t(),".kiro"))},kode:{name:"kode",displayName:"Kode",skillsDir:".kode/skills",get globalSkillsDir(){return join(t(),".kode/skills")},detectInstalled:async()=>existsSync(join(t(),".kode"))},lingma:{name:"lingma",displayName:"Lingma",skillsDir:".lingma/skills",get globalSkillsDir(){return join(t(),".lingma/skills")},detectInstalled:async()=>existsSync(join(t(),".lingma"))},loaf:{name:"loaf",displayName:"Loaf",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents/skills")},detectInstalled:async()=>existsSync(join(t(),".loaf"))},mcpjam:{name:"mcpjam",displayName:"MCPJam",skillsDir:".mcpjam/skills",get globalSkillsDir(){return join(t(),".mcpjam/skills")},detectInstalled:async()=>existsSync(join(t(),".mcpjam"))},"mistral-vibe":{name:"mistral-vibe",displayName:"Mistral Vibe",skillsDir:".vibe/skills",get globalSkillsDir(){return join(_(),"skills")},detectInstalled:async()=>existsSync(_())},moxby:{name:"moxby",displayName:"Moxby",skillsDir:".moxby/skills",get globalSkillsDir(){return join(t(),".moxby/skills")},detectInstalled:async()=>existsSync(join(t(),".moxby"))},mux:{name:"mux",displayName:"Mux",skillsDir:".mux/skills",get globalSkillsDir(){return join(t(),".mux/skills")},detectInstalled:async()=>existsSync(join(t(),".mux"))},opencode:{name:"opencode",displayName:"OpenCode",skillsDir:".agents/skills",get globalSkillsDir(){return join(y(),"opencode/skills")},detectInstalled:async()=>existsSync(join(y(),"opencode"))},openhands:{name:"openhands",displayName:"OpenHands",skillsDir:".openhands/skills",get globalSkillsDir(){return join(t(),".openhands/skills")},detectInstalled:async()=>existsSync(join(t(),".openhands"))},ona:{name:"ona",displayName:"Ona",skillsDir:".ona/skills",get globalSkillsDir(){return join(t(),".ona/skills")},detectInstalled:async()=>existsSync(join(t(),".ona"))},pi:{name:"pi",displayName:"Pi",skillsDir:".pi/skills",get globalSkillsDir(){return join(t(),".pi/agent/skills")},detectInstalled:async()=>existsSync(join(t(),".pi/agent"))},qoder:{name:"qoder",displayName:"Qoder",skillsDir:".qoder/skills",get globalSkillsDir(){return join(t(),".qoder/skills")},detectInstalled:async()=>existsSync(join(t(),".qoder"))},"qoder-cn":{name:"qoder-cn",displayName:"Qoder CN",skillsDir:".qoder/skills",get globalSkillsDir(){return join(t(),".qoder-cn/skills")},detectInstalled:async()=>existsSync(join(t(),".qoder-cn"))},"qwen-code":{name:"qwen-code",displayName:"Qwen Code",skillsDir:".qwen/skills",get globalSkillsDir(){return join(t(),".qwen/skills")},detectInstalled:async()=>existsSync(join(t(),".qwen"))},replit:{name:"replit",displayName:"Replit",skillsDir:".agents/skills",get globalSkillsDir(){return join(y(),"agents/skills")},detectInstalled:async()=>existsSync(join(process.cwd(),".replit"))},reasonix:{name:"reasonix",displayName:"Reasonix",skillsDir:".reasonix/skills",get globalSkillsDir(){return join(t(),".reasonix/skills")},detectInstalled:async()=>existsSync(join(t(),".reasonix"))},rovodev:{name:"rovodev",displayName:"Rovo Dev",skillsDir:".rovodev/skills",get globalSkillsDir(){return join(t(),".rovodev/skills")},detectInstalled:async()=>existsSync(join(t(),".rovodev"))},roo:{name:"roo",displayName:"Roo Code",skillsDir:".roo/skills",get globalSkillsDir(){return join(t(),".roo/skills")},detectInstalled:async()=>existsSync(join(t(),".roo"))},"tabnine-cli":{name:"tabnine-cli",displayName:"Tabnine CLI",skillsDir:".tabnine/agent/skills",get globalSkillsDir(){return join(t(),".tabnine/agent/skills")},detectInstalled:async()=>existsSync(join(t(),".tabnine"))},terramind:{name:"terramind",displayName:"Terramind",skillsDir:".terramind/skills",get globalSkillsDir(){return join(t(),".terramind/skills")},detectInstalled:async()=>existsSync(join(t(),".terramind"))},tinycloud:{name:"tinycloud",displayName:"Tinycloud",skillsDir:".tinycloud/skills",get globalSkillsDir(){return join(t(),".tinycloud/skills")},detectInstalled:async()=>existsSync(join(t(),".tinycloud"))},trae:{name:"trae",displayName:"Trae",skillsDir:".trae/skills",get globalSkillsDir(){return join(t(),".trae/skills")},detectInstalled:async()=>existsSync(join(t(),".trae"))},"trae-cn":{name:"trae-cn",displayName:"Trae CN",skillsDir:".trae/skills",get globalSkillsDir(){return join(t(),".trae-cn/skills")},detectInstalled:async()=>existsSync(join(t(),".trae-cn"))},warp:{name:"warp",displayName:"Warp",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents/skills")},detectInstalled:async()=>existsSync(join(t(),".warp"))},windsurf:{name:"windsurf",displayName:"Windsurf",skillsDir:".windsurf/skills",get globalSkillsDir(){return join(t(),".codeium/windsurf/skills")},detectInstalled:async()=>existsSync(join(t(),".codeium/windsurf"))},zed:{name:"zed",displayName:"Zed",skillsDir:".agents/skills",get globalSkillsDir(){return join(t(),".agents/skills")},detectInstalled:async()=>existsSync(join(y(),"zed"))||!!z()&&existsSync(join(z(),"Zed"))||!!H()&&existsSync(join(H(),"zed"))},zencoder:{name:"zencoder",displayName:"Zencoder",skillsDir:".zencoder/skills",get globalSkillsDir(){return join(t(),".zencoder/skills")},detectInstalled:async()=>existsSync(join(t(),".zencoder"))},zenflow:{name:"zenflow",displayName:"Zenflow",skillsDir:".zencoder/skills",get globalSkillsDir(){return join(t(),".zencoder/skills")},detectInstalled:async()=>existsSync(join(t(),".zencoder"))},neovate:{name:"neovate",displayName:"Neovate",skillsDir:".neovate/skills",get globalSkillsDir(){return join(t(),".neovate/skills")},detectInstalled:async()=>existsSync(join(t(),".neovate"))},pochi:{name:"pochi",displayName:"Pochi",skillsDir:".pochi/skills",get globalSkillsDir(){return join(t(),".pochi/skills")},detectInstalled:async()=>existsSync(join(t(),".pochi"))},promptscript:{name:"promptscript",displayName:"PromptScript",skillsDir:".agents/skills",globalSkillsDir:void 0,detectInstalled:async()=>existsSync(join(process.cwd(),".promptscript"))||existsSync(join(process.cwd(),"promptscript.yaml"))},adal:{name:"adal",displayName:"AdaL",skillsDir:".adal/skills",get globalSkillsDir(){return join(t(),".adal/skills")},detectInstalled:async()=>existsSync(join(t(),".adal"))},universal:{name:"universal",displayName:"Universal",skillsDir:".agents/skills",get globalSkillsDir(){return join(y(),"agents/skills")},detectInstalled:async()=>false}};async function _e(){return (await Promise.all(Object.entries(m).map(async([l,r])=>({type:l,installed:await r.detectInstalled()})))).filter(l=>l.installed).map(l=>l.type)}function Oe(s){return m[s]}var M=join("agent","subagents");function ae(s=process.cwd()){let l=join(s,M);if(!existsSync(l))return [];try{return readdirSync(l,{withFileTypes:!0}).filter(r=>r.isDirectory()).map(r=>r.name).sort()}catch{return []}}function U(s,l){let r=m[s];if(l==="project")return r.skillsDir===".agents/skills";if(r.globalSkillsDir===void 0)return false;let i=resolve(k()||homedir(),".agents","skills");return resolve(r.globalSkillsDir)===i}function oe(s){return Object.entries(m).filter(([l])=>U(l,s)).map(([l])=>l)}function Ee(s){let l=new Set(oe(s));return Object.keys(m).filter(r=>!l.has(r))}var G=/^\.[^/]+\/skills$/;function $(){let s=new Set;for(let l of Object.values(m))l.skillsDir&&G.test(l.skillsDir)&&s.add(l.skillsDir);return Array.from(s).sort()}function ce(){let s=new Set;for(let l of Object.values(m))l.globalSkillsDir!==void 0&&s.add(l.globalSkillsDir);return Array.from(s).sort()}function ze(){let s=$(),l=ce(),r=Array.from(new Set([...s,...l])).sort();return {project:s,global:l,all:r}}function W(){return $().map(s=>`${s}/`)}function He(s,l){let r=m[s];return l==="global"?U(s,"global"):r.skillsDir===".agents/skills"}var q="*";function Fe(s){if(!s||s.length===0)return [];let l=Object.keys(m),r=[];for(let i of s)if(i!==q){if(i.includes("/")||i.includes("**")){r.push(i);continue}K.test(i)?l.some(a=>Wildcard.match(a,i))||r.push(i):l.includes(i)||r.push(i);}return r}function Be(s){if(!s||s.length===0)return [];let l=Object.keys(m);if(s.includes(q))return [...l];if(s.some(r=>K.test(r))){let r=new Set;for(let i of s)if(!(i.includes("/")||i.includes("**")))for(let a of l)Wildcard.match(a,i)&&r.add(a);return Array.from(r)}return Array.from(new Set(s.filter(r=>!r.includes("/")&&!r.includes("**"))))}var K=/[*?[{}]/;function de(s={}){let l=s.cwd??process.cwd(),r=s.agentFilter??Object.keys(m),i=new Set;for(let a of r){let o=m[a];if(!o.skillsDir||!G.test(o.skillsDir))continue;let u=o.skillsDir===".agents/skills"?join(l,".agents","skills"):join(l,o.skillsDir);if(a==="eve")for(let g of ae(l)){let b=join(l,M,g,"skills");i.add(h(`${b}/**/SKILL.md`));}i.add(h(`${u}/**/SKILL.md`));}return Array.from(i).sort()}function ge(s={}){let l=s.agentFilter??Object.keys(m),r=new Set;for(let i of l){let a=m[i];a.globalSkillsDir!==void 0&&r.add(h(`${a.globalSkillsDir}/**/SKILL.md`));}return Array.from(r).sort()}function Me(s={}){let l=de(s),r=ge(s),i=Array.from(new Set([...l,...r])).sort();return {project:l,global:r,all:i}}function h(s){return s.replace(/\\/g,"/")}function Ue(){let s=new Set;for(let r of Object.values(m)){if(r.globalSkillsDir===void 0)continue;let i=h(r.globalSkillsDir);i!==""&&s.add(i);}let l=h(join(k()||homedir(),".agents","skills"));return s.add(l),Array.from(s).sort()}var ke=process.env.SKILLS_DOWNLOAD_URL||"https://skills.sh",me={"zapier/connectors":{downloadUrl:s=>`https://connectors-skills.zapier.com/download/${encodeURIComponent(s)}/snapshot.json`}},Ze=["houjallen","vercel-labs","anthropics"],v=1e4;function pe(s){return s.toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"")}var C=false;function Qe(){C=false;}async function N(s,l,r){try{let i=`https://api.github.com/repos/${s}/git/trees/${encodeURIComponent(l)}?recursive=1`,a={Accept:"application/vnd.github.v3+json","User-Agent":"skills-cli"};r&&(a.Authorization=`Bearer ${r}`);let o=await fetch(i,{headers:a,signal:AbortSignal.timeout(v)});if(o.ok){let g=await o.json();return {tree:{sha:g.sha,branch:l,tree:g.tree},rateLimited:!1}}return {tree:null,rateLimited:o.status===403&&o.headers.get("x-ratelimit-remaining")==="0"}}catch{return {tree:null,rateLimited:false}}}async function fe(s,l,r){let i=l?[l]:["HEAD","main","master"];if(C&&r){let u=r();if(!u)return null;for(let g of i){let b=await N(s,g,u);if(b.tree)return b.tree}return null}let a=false;for(let u of i){let g=await N(s,u,null);if(g.tree)return g.tree;if(g.rateLimited){a=true;break}}if(!a||!r)return null;C=true;let o=r();if(!o)return null;for(let u of i){let g=await N(s,u,o);if(g.tree)return g.tree}return null}function Ve(s,l){let r=l.replace(/\\/g,"/");return r.toLowerCase().endsWith("/skill.md")?r=r.slice(0,-9):r.toLowerCase().endsWith("skill.md")&&(r=r.slice(0,-8)),r.endsWith("/")&&(r=r.slice(0,-1)),r?s.tree.find(a=>a.type==="tree"&&a.path===r)?.sha??null:s.sha}var ye=["","skills/","skills/.curated/","skills/.experimental/","skills/.system/"];function be(){let s=W();return Array.from(new Set([...ye,...s]))}function De(s,l){let r=s.tree.filter(k=>k.type==="blob"&&k.path.toLowerCase().endsWith("skill.md")).map(k=>k.path),i=l?l.endsWith("/")?l:l+"/":"",a=i?r.filter(k=>k.startsWith(i)||k===i+"SKILL.md"):r;if(a.length===0)return [];let o=[],u=new Set,g=new Set(["node_modules",".git","dist","build","__pycache__"]),b=new Set(a.map(k=>k.toLowerCase()));for(let k of be()){let c=i+k,p=k!=="";for(let d of a){if(!d.startsWith(c))continue;let x=d.slice(c.length);if(x.toLowerCase()==="skill.md"){u.has(d)||(o.push(d),u.add(d));continue}let f=x.split("/");if(f.length===2&&f[1].toLowerCase()==="skill.md"){u.has(d)||(o.push(d),u.add(d));continue}if(p&&f.length===3&&f[2].toLowerCase()==="skill.md"&&!g.has(f[0])&&!g.has(f[1])){let D=`${c}${f[0]}/SKILL.md`.toLowerCase();!b.has(D)&&!u.has(d)&&(o.push(d),u.add(d));}}}return o.length>0?o:a.filter(k=>k.split("/").length<=6)}async function Se(s,l,r){try{let i=`https://raw.githubusercontent.com/${s}/${l}/${r}`,a=await fetch(i,{signal:AbortSignal.timeout(v)});return a.ok?await a.text():null}catch{return null}}async function he(s,l){try{let[r,i]=s.split("/"),a=`${ke}/api/download/${encodeURIComponent(r)}/${encodeURIComponent(i)}/${encodeURIComponent(l)}`,u=me[s.toLowerCase()]?.downloadUrl(l)??a,g=await fetch(u,{signal:AbortSignal.timeout(v)});return g.ok?await g.json():null}catch{return null}}function xe(s){let l=createHash("sha256");for(let r of [...s].sort((i,a)=>i.path.localeCompare(a.path)))l.update(r.path),l.update(r.contents);return l.digest("hex")}async function Xe(s,l={}){let r=await fe(s,l.ref,l.getToken);if(!r)return null;let i=De(r,l.subpath);if(i.length===0)return null;let a=await Promise.all(i.map(async c=>{let p=await Se(s,r.branch,c);return {mdPath:c,content:p}})),o=[];for(let{mdPath:c,content:p}of a){if(!p)continue;let{data:d}=T(p);if(!d.name||!d.description||typeof d.name!="string"||typeof d.description!="string"||d.metadata?.internal===true&&!l.includeInternal)continue;let f=A(d.name),D=A(d.description);o.push({mdPath:c,name:f,description:D,content:p,slug:pe(f),metadata:d.metadata});}if(o.length===0)return null;let u=s.toLowerCase(),g=await Promise.all(o.map(async c=>{let p=await he(u,c.slug);return {skill:c,download:p}}));return g.every(c=>c.download!==null)?{skills:g.map(({skill:c,download:p})=>{let d=c.mdPath.toLowerCase(),f=(d.endsWith("/skill.md")?c.mdPath.slice(0,-9):d==="skill.md"?"":c.mdPath.slice(0,-9))?p.files:p.files.filter(D=>D.path.toLowerCase()==="skill.md");return {name:c.name,description:c.description,path:"",rawContent:c.content,metadata:c.metadata,files:f,snapshotHash:f.length===p.files.length?p.hash:xe(f),repoPath:c.mdPath}}),tree:r}:null}
2
- export{fe as A,Ve as B,De as C,Xe as D,te as a,A as b,T as c,ie as d,m as e,_e as f,Oe as g,M as h,ae as i,U as j,oe as k,Ee as l,G as m,$ as n,ce as o,ze as p,W as q,He as r,Fe as s,Be as t,Me as u,Ue as v,me as w,Ze as x,pe as y,Qe as z};
@@ -1 +0,0 @@
1
- import {g}from'./chunk-676OG55M.mjs';import {z}from'./chunk-2YVJ7YP6.mjs';import {u,v as v$1,e}from'./chunk-6PJ3YQA7.mjs';import {Glob}from'@easbot/utils';import {stat,realpath}from'fs/promises';import {dirname,join}from'path';async function v(i={}){let o=i.cwd??process.cwd(),e$1=i.scope??"project",r=u({cwd:o,agentFilter:i.agentFilter}),s;if(e$1==="project"?s=r.project:e$1==="global"?s=r.global:s=r.all,s.length===0)return [];let a=new Set,c=[],T=await Promise.all(s.map(n=>Glob.scan(n,{cwd:o,absolute:true,ignore:Glob.DEFAULT_IGNORE_PATTERNS,follow:true})));for(let n of T)for(let l of n)a.has(l)||(a.add(l),c.push(l));let $=Object.keys(e),G="/",m=[],F=o.replace(/\\/g,"/"),M=v$1();for(let n of c){let l=dirname(n),g$1=l.replace(/\\/g,"/"),p=g$1.split(G),B=p.length>=3?`${p[p.length-3]??""}/${p[p.length-2]??""}`:"",d=await z(n);if(!d)continue;let E=g$1.startsWith(`${F}/`),I=M.some(t=>t!==""&&g$1.startsWith(`${t}/`)),f=E&&!I?"project":"global",k=[],R=e$1==="both"?f==="project":e$1==="project",C=e$1==="both"?f==="global":e$1==="global",b=t=>t.replace(/\\/g,"/"),L=b(l).replace(/\/[^/]+\/?$/,"");for(let t of $){let P=e[t],S=[];R&&P.skillsDir!==void 0&&S.push(g(t,false,o)),C&&P.globalSkillsDir!==void 0&&S.push(g(t,true,o));for(let w of S)if(b(w).replace(/\/+$/,"")===L)try{let D=join(w,d.name);if(!(await stat(D)).isDirectory())continue;await realpath(D),k.includes(t)||k.push(t);break}catch{}}m.push({name:d.name,skillDir:l,skillMdPath:n,parentDir:B,scope:f,agents:k});}return m}async function Z(i={}){let o=await v(i),e=new Set,r=[];for(let s of o){let a=`${s.scope}:${s.name}`;if(e.has(a))continue;e.add(a);let c=await z(s.skillMdPath);c&&r.push(c);}return r}export{v as a,Z as b};