agent-skill-manager 2.14.0 → 2.17.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 +318 -121
- package/data/skill-index/Affitor_affiliate-skills.json +2375 -323
- package/data/skill-index/AvdLee_Core-Data-Agent-Skill.json +44 -6
- package/data/skill-index/AvdLee_Swift-Concurrency-Agent-Skill.json +49 -11
- package/data/skill-index/AvdLee_Swift-Testing-Agent-Skill.json +44 -6
- package/data/skill-index/AvdLee_SwiftUI-Agent-Skill.json +100 -24
- package/data/skill-index/AvdLee_Xcode-Build-Optimization-Agent-Skill.json +262 -34
- package/data/skill-index/Dimillian_Skills.json +699 -91
- package/data/skill-index/Egonex-AI_Understand-Anything.json +578 -81
- package/data/skill-index/Eronred_aso-skills.json +1729 -209
- package/data/skill-index/GPTomics_bioSkills.json +27195 -5839
- package/data/skill-index/Galaxy-Dawn_claude-scholar.json +1966 -256
- package/data/skill-index/Imbad0202_academic-research-skills.json +256 -98
- package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +13755 -5388
- package/data/skill-index/Leonxlnx_taste-skill.json +570 -76
- package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +44 -6
- package/data/skill-index/MiniMax-AI_skills.json +1007 -133
- package/data/skill-index/Paramchoudhary_ResumeSkills.json +960 -124
- package/data/skill-index/ParthJadhav_app-store-screenshots.json +185 -0
- package/data/skill-index/addyosmani_agent-skills.json +1127 -209
- package/data/skill-index/affaan-m_everything-claude-code.json +17427 -5038
- package/data/skill-index/alirezarezvani_claude-skills.json +20317 -3276
- package/data/skill-index/anthropics_skills.json +1256 -168
- package/data/skill-index/antithesishq_antithesis-skills.json +2567 -0
- package/data/skill-index/antonbabenko_terraform-skill.json +44 -6
- package/data/skill-index/badlogic_pi-skills.json +349 -45
- package/data/skill-index/briiirussell_cybersecurity-skills.json +1261 -159
- package/data/skill-index/bytedance_deer-flow.json +1572 -224
- package/data/skill-index/cloudai-x_threejs-skills.json +2007 -0
- package/data/skill-index/coreyhaines31_marketingskills.json +2846 -638
- package/data/skill-index/davidondrej_skills.json +6213 -783
- package/data/skill-index/emilkowalski_skills.json +2302 -0
- package/data/skill-index/entireio_skills.json +561 -63
- package/data/skill-index/garrytan_gstack.json +3023 -419
- package/data/skill-index/github_awesome-copilot.json +30442 -8371
- package/data/skill-index/google_skills.json +12472 -1527
- package/data/skill-index/heygen-com_hyperframes.json +2420 -454
- package/data/skill-index/himself65_finance-skills.json +1614 -254
- package/data/skill-index/ivan-magda_uikit-expert-skill.json +44 -6
- package/data/skill-index/kemiljk_fluid-design.json +44 -6
- package/data/skill-index/kepano_obsidian-skills.json +217 -27
- package/data/skill-index/luongnv89_asm.json +1887 -34
- package/data/skill-index/luongnv89_idd.json +369 -103
- package/data/skill-index/luongnv89_skills.json +2051 -900
- package/data/skill-index/mattpocock_skills.json +1910 -1027
- package/data/skill-index/mvanhorn_last30days-skill.json +50 -12
- package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +324 -64
- package/data/skill-index/obra_superpowers.json +651 -125
- package/data/skill-index/oliver-zehentleitner_keep-the-why.json +185 -0
- package/data/skill-index/romainsimon_paperasse.json +273 -45
- package/data/skill-index/rudrankriyam_app-store-connect-cli-skills.json +1539 -243
- package/data/skill-index/santifer_career-ops.json +44 -657
- package/data/skill-index/sickn33_antigravity-awesome-skills.json +123142 -36221
- package/data/skill-index/slavingia_skills.json +436 -56
- package/data/skill-index/twostraws_Swift-Concurrency-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_Swift-Testing-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_SwiftData-Agent-Skill.json +44 -6
- package/data/skill-index/twostraws_SwiftUI-Agent-Skill.json +44 -6
- package/data/skill-index/warpdotdev_oz-skills.json +651 -81
- package/data/skill-index/zarazhangrui_follow-builders.json +44 -6
- package/data/skill-index-resources.json +47 -2
- package/dist/agent-skill-manager.js +683 -603
- package/dist/chunk-BQ4RW237.js +20 -0
- package/dist/chunk-LH2C3PE7.js +3 -0
- package/dist/chunk-LS24FFOX.js +3 -0
- package/dist/chunk-RSVWCEZR.js +2 -0
- package/dist/config-AZYQEQOQ.js +2 -0
- package/dist/devtools-2L45W5A2.js +11 -0
- package/dist/lock-NN2MADX7.js +2 -0
- package/dist/src-BD3KFE5H.js +119 -0
- package/package.json +48 -22
- package/README.backup.md +0 -1237
- package/dist/chunk-7BMOBFGJ.js +0 -2
- package/dist/chunk-EOTW3XHQ.js +0 -3
- package/dist/chunk-P5N3FU3P.js +0 -3
- package/dist/chunk-UZ62MVXU.js +0 -19
- package/dist/config-KPT63KLE.js +0 -2
- package/dist/devtools-6JCLZ364.js +0 -8
- package/dist/lock-NOXBNSZW.js +0 -2
- package/dist/src-IHHUE6TP.js +0 -108
package/dist/chunk-7BMOBFGJ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d};
|
package/dist/chunk-EOTW3XHQ.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 n}from"./chunk-P5N3FU3P.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};
|
package/dist/chunk-P5N3FU3P.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{readFile as C,writeFile as S,mkdir as w,copyFile as I}from"fs/promises";import{join as n,resolve as g,dirname as _}from"path";import{fileURLToPath as y}from"url";import{homedir as A}from"os";var k=!1,x=0;function B(e){k=e,e&&(x=performance.now())}function i(e){if(!k)return;let r=Math.round(performance.now()-x),a=globalThis.__CLI_NO_COLOR?`[verbose] +${r}ms`:`\x1B[2m[verbose] +${r}ms\x1B[0m`;console.error(`${a} ${e}`)}var R=y(import.meta.url),v=_(R),h=A(),s=n(h,".config","agent-skill-manager"),t=n(s,"config.json"),L=n(s,".skill-lock.json"),O=n(s,"skill-state.json"),D=n(s,"skill-index"),f=n(s,"library"),N=n(f,"skills"),T=n(f,"library-lock.json"),$=[{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:$.map(e=>({...e})),customPaths:[],preferences:{defaultScope:"both",defaultSort:"name"}}}function V(){return t}function Y(){return L}function M(){return O}function X(){return D}function Z(){return f}function q(){return N}function Q(){return T}function ee(){return g(v,"..","data","skill-index")}function E(){return g(v,"..","data","skill-index-resources.json")}async function re(){let e=E(),r=await C(e,"utf-8");return JSON.parse(r)}function oe(e){return e.startsWith("~/")?n(h,e.slice(2)):e.startsWith("/")?e:g(e)}function H(e){let r=d(),o=e.providers||[],a=new Set(o.map(l=>l.name));for(let l=0;l<r.providers.length;l++){let c=r.providers[l];if(a.has(c.name))continue;let b=o.length;for(let u=l-1;u>=0;u--){let P=r.providers[u].name,m=o.findIndex(j=>j.name===P);if(m!==-1){b=m+1;break}}o.splice(b,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 F(){i(`config: checking ${t}`);let e;try{e=await C(t,"utf-8")}catch(r){if(r?.code==="ENOENT"){i("config: using defaults (file not found)");let o=d();return await p(o),o}throw r}try{let r=JSON.parse(e);return i(`config: loaded from ${t}`),H(r)}catch{let r=t+".bak";i(`config: parse error, backing up to ${r}`),await I(t,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(s,{recursive:!0}),await S(t,JSON.stringify(e,null,2)+`
|
|
3
|
-
`,"utf-8")}async function ne(e){let r=await F();r.preferences.selectedTools=e,await p(r)}export{B as a,i as b,d as c,V as d,Y as e,M as f,X as g,Z as h,q as i,Q as j,ee as k,E as l,re as m,oe as n,F as o,p,ne as q};
|
package/dist/chunk-UZ62MVXU.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{b as w,n as T}from"./chunk-P5N3FU3P.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.14.0";try{let e=at(lt(dt,"../../package.json"),"utf-8");ke=JSON.parse(e).version}catch{}var ie="127d29e";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};
|
package/dist/config-KPT63KLE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l,o as m,p as n,q as o}from"./chunk-P5N3FU3P.js";import"./chunk-7BMOBFGJ.js";export{i as getBundledIndexDir,b as getConfigPath,a as getDefaultConfig,e as getIndexDir,f as getLibraryDir,h as getLibraryLockPath,g as getLibrarySkillsDir,c as getLockPath,j as getSkillIndexResourcesPath,d as getSkillStatePath,m as loadConfig,k as loadSkillIndexResources,l as resolveProviderPath,n as saveConfig,o as saveSelectedTools};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createRequire as __asmCreateRequire } from 'node:module'; const require = __asmCreateRequire(import.meta.url);
|
|
2
|
-
import{a as p,b as S,d as N}from"./chunk-7BMOBFGJ.js";var O=S((ws,ze)=>{"use strict";var $e=["nodebuffer","arraybuffer","fragments"],je=typeof Blob<"u";je&&$e.push("blob");ze.exports={BINARY_TYPES:$e,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:je,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var X=S((Ts,se)=>{"use strict";var{EMPTY_BUFFER:Xt}=O(),Se=Buffer[Symbol.species];function Zt(t,e){if(t.length===0)return Xt;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let i=0;i<t.length;i++){let n=t[i];r.set(n,s),s+=n.length}return s<e?new Se(r.buffer,r.byteOffset,s):r}function He(t,e,r,s,i){for(let n=0;n<i;n++)r[s+n]=t[n]^e[n&3]}function Ye(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Qt(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Ee(t){if(Ee.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Se(t):ArrayBuffer.isView(t)?e=new Se(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Ee.readOnly=!1),e}se.exports={concat:Zt,mask:He,toArrayBuffer:Qt,toBuffer:Ee,unmask:Ye};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=p("bufferutil");se.exports.mask=function(e,r,s,i,n){n<48?He(e,r,s,i,n):t.mask(e,r,s,i,n)},se.exports.unmask=function(e,r){e.length<32?Ye(e,r):t.unmask(e,r)}}catch{}});var Ze=S((Os,Xe)=>{"use strict";var Ke=Symbol("kDone"),ve=Symbol("kRun"),be=class{constructor(e){this[Ke]=()=>{this.pending--,this[ve]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[ve]()}[ve](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Ke])}}};Xe.exports=be});var G=S((ks,tt)=>{"use strict";var Z=p("zlib"),Qe=X(),Jt=Ze(),{kStatusCode:Je}=O(),er=Buffer[Symbol.species],tr=Buffer.from([0,0,255,255]),ne=Symbol("permessage-deflate"),k=Symbol("total-length"),W=Symbol("callback"),P=Symbol("buffers"),q=Symbol("error"),ie,we=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!ie){let r=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ie=new Jt(r)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(i=>!(r.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>i.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let i=r[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=i})}),e}decompress(e,r,s){ie.add(i=>{this._decompress(e,r,(n,o)=>{i(),s(n,o)})})}compress(e,r,s){ie.add(i=>{this._compress(e,r,(n,o)=>{i(),s(n,o)})})}_decompress(e,r,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Z.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ne]=this,this._inflate[k]=0,this._inflate[P]=[],this._inflate.on("error",sr),this._inflate.on("data",et)}this._inflate[W]=s,this._inflate.write(e),r&&this._inflate.write(tr),this._inflate.flush(()=>{let n=this._inflate[q];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=Qe.concat(this._inflate[P],this._inflate[k]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[k]=0,this._inflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Z.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[k]=0,this._deflate[P]=[],this._deflate.on("data",rr)}this._deflate[W]=s,this._deflate.write(e),this._deflate.flush(Z.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=Qe.concat(this._deflate[P],this._deflate[k]);r&&(n=new er(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[k]=0,this._deflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};tt.exports=we;function rr(t){this[P].push(t),this[k]+=t.length}function et(t){if(this[k]+=t.length,this[ne]._maxPayload<1||this[k]<=this[ne]._maxPayload){this[P].push(t);return}this[q]=new RangeError("Max payload size exceeded"),this[q].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[q][Je]=1009,this.removeListener("data",et),this.reset()}function sr(t){if(this[ne]._inflate=null,this[q]){this[W](this[q]);return}t[Je]=1007,this[W](t)}});var V=S((Cs,oe)=>{"use strict";var{isUtf8:rt}=p("buffer"),{hasBlob:ir}=O(),nr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function or(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Te(t){let e=t.length,r=0;for(;r<e;)if(!(t[r]&128))r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function ar(t){return ir&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}oe.exports={isBlob:ar,isValidStatusCode:or,isValidUTF8:Te,tokenChars:nr};if(rt)oe.exports.isValidUTF8=function(t){return t.length<24?Te(t):rt(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=p("utf-8-validate");oe.exports.isValidUTF8=function(e){return e.length<32?Te(e):t(e)}}catch{}});var Ne=S((Ls,ft)=>{"use strict";var{Writable:lr}=p("stream"),st=G(),{BINARY_TYPES:fr,EMPTY_BUFFER:it,kStatusCode:hr,kWebSocket:cr}=O(),{concat:Oe,toArrayBuffer:ur,unmask:dr}=X(),{isValidStatusCode:_r,isValidUTF8:nt}=V(),ae=Buffer[Symbol.species],v=0,ot=1,at=2,lt=3,ke=4,Ce=5,le=6,Le=class extends lr{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||fr[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[cr]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=v}_write(e,r,s){if(this._opcode===8&&this._state==v)return s();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){s(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new ae(s.buffer,s.byteOffset+e,s.length-e),new ae(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=r.length-e;e>=s.length?r.set(this._buffers.shift(),i):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new ae(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case v:this.getInfo(e);break;case ot:this.getPayloadLength16(e);break;case at:this.getPayloadLength64(e);break;case lt:this.getMask();break;case ke:this.getData(e);break;case Ce:case le:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if(r[0]&48){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let s=(r[0]&64)===64;if(s&&!this._extensions[st.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=ot:this._payloadLength===127?this._state=at:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=lt:this._state=ke}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ke}getData(e){let r=it;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&dr(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Ce,this.decompress(r,e);return}if(r.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let s=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(s);return}this._messageLength=this._totalPayloadLength,this._fragments.push(r)}this.dataMessage(e)}decompress(e,r){this._extensions[st.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return r(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let o=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===v&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=v;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Oe(s,r):this._binaryType==="arraybuffer"?i=ur(Oe(s,r)):this._binaryType==="blob"?i=new Blob(s):i=s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=v):(this._state=le,setImmediate(()=>{this.emit("message",i,!0),this._state=v,this.startLoop(e)}))}else{let i=Oe(s,r);if(!this._skipUTF8Validation&&!nt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Ce||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=v):(this._state=le,setImmediate(()=>{this.emit("message",i,!1),this._state=v,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,it),this.end();else{let s=e.readUInt16BE(0);if(!_r(s)){let n=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let i=new ae(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!nt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=v;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=v):(this._state=le,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=v,this.startLoop(r)}))}createError(e,r,s,i,n){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[hr]=i,o}};ft.exports=Le});var Re=S((Ps,ut)=>{"use strict";var{Duplex:Ns}=p("stream"),{randomFillSync:mr}=p("crypto"),{types:{isUint8Array:pr}}=p("util"),ht=G(),{EMPTY_BUFFER:gr,kWebSocket:yr,NOOP:xr}=O(),{isBlob:$,isValidStatusCode:Sr}=V(),{mask:ct,toBuffer:R}=X(),b=Symbol("kByteLength"),Er=Buffer.alloc(4),fe=8*1024,U,j=fe,w=0,vr=1,br=2,Pe=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=w,this.onerror=xr,this[yr]=void 0}static frame(e,r){let s,i=!1,n=2,o=!1;r.mask&&(s=r.maskBuffer||Er,r.generateMask?r.generateMask(s):(j===fe&&(U===void 0&&(U=Buffer.alloc(fe)),mr(U,0,fe),j=0),s[0]=U[j++],s[1]=U[j++],s[2]=U[j++],s[3]=U[j++]),o=(s[0]|s[1]|s[2]|s[3])===0,n=6);let l;typeof e=="string"?(!r.mask||o)&&r[b]!==void 0?l=r[b]:(e=Buffer.from(e),l=e.length):(l=e.length,i=r.mask&&r.readOnly&&!o);let f=l;l>=65536?(n+=8,f=127):l>125&&(n+=2,f=126);let a=Buffer.allocUnsafe(i?l+n:n);return a[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(a[0]|=64),a[1]=f,f===126?a.writeUInt16BE(l,2):f===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),r.mask?(a[1]|=128,a[n-4]=s[0],a[n-3]=s[1],a[n-2]=s[2],a[n-1]=s[3],o?[a,e]:i?(ct(e,s,a,n,l),[a]):(ct(e,s,e,0,l),[a,e])):[a,e]}close(e,r,s,i){let n;if(e===void 0)n=gr;else{if(typeof e!="number"||!Sr(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");if(n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof r=="string")n.write(r,2);else if(pr(r))n.set(r,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let o={[b]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==w?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):$(e)?(i=e.size,n=!1):(e=R(e),i=e.length,n=R.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};$(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==w?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):$(e)?(i=e.size,n=!1):(e=R(e),i=e.length,n=R.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};$(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==w?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let i=this._extensions[ht.extensionName],n=r.binary?2:1,o=r.compress,l,f;typeof e=="string"?(l=Buffer.byteLength(e),f=!1):$(e)?(l=e.size,f=!1):(e=R(e),l=e.length,f=R.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=i._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let a={[b]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:f,rsv1:o};$(e)?this._state!==w?this.enqueue([this.getBlobData,e,this._compress,a,s]):this.getBlobData(e,this._compress,a,s):this._state!==w?this.enqueue([this.dispatch,e,this._compress,a,s]):this.dispatch(e,this._compress,a,s)}getBlobData(e,r,s,i){this._bufferedBytes+=s[b],this._state=br,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Be,this,l,i);return}this._bufferedBytes-=s[b];let o=R(n);r?this.dispatch(o,r,s,i):(this._state=w,this.sendFrame(t.frame(o,s),i),this.dequeue())}).catch(n=>{process.nextTick(wr,this,n,i)})}dispatch(e,r,s,i){if(!r){this.sendFrame(t.frame(e,s),i);return}let n=this._extensions[ht.extensionName];this._bufferedBytes+=s[b],this._state=vr,n.compress(e,s.fin,(o,l)=>{if(this._socket.destroyed){let f=new Error("The socket was closed while data was being compressed");Be(this,f,i);return}this._bufferedBytes-=s[b],this._state=w,s.readOnly=!1,this.sendFrame(t.frame(l,s),i),this.dequeue()})}dequeue(){for(;this._state===w&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][b],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][b],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};ut.exports=Pe;function Be(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let i=t._queue[s],n=i[i.length-1];typeof n=="function"&&n(e)}}function wr(t,e,r){Be(t,e,r),t.onerror(e)}});var Et=S((Bs,St)=>{"use strict";var{kForOnEventAttribute:Q,kListener:Ue}=O(),dt=Symbol("kCode"),_t=Symbol("kData"),mt=Symbol("kError"),pt=Symbol("kMessage"),gt=Symbol("kReason"),z=Symbol("kTarget"),yt=Symbol("kType"),xt=Symbol("kWasClean"),C=class{constructor(e){this[z]=null,this[yt]=e}get target(){return this[z]}get type(){return this[yt]}};Object.defineProperty(C.prototype,"target",{enumerable:!0});Object.defineProperty(C.prototype,"type",{enumerable:!0});var I=class extends C{constructor(e,r={}){super(e),this[dt]=r.code===void 0?0:r.code,this[gt]=r.reason===void 0?"":r.reason,this[xt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[dt]}get reason(){return this[gt]}get wasClean(){return this[xt]}};Object.defineProperty(I.prototype,"code",{enumerable:!0});Object.defineProperty(I.prototype,"reason",{enumerable:!0});Object.defineProperty(I.prototype,"wasClean",{enumerable:!0});var H=class extends C{constructor(e,r={}){super(e),this[mt]=r.error===void 0?null:r.error,this[pt]=r.message===void 0?"":r.message}get error(){return this[mt]}get message(){return this[pt]}};Object.defineProperty(H.prototype,"error",{enumerable:!0});Object.defineProperty(H.prototype,"message",{enumerable:!0});var J=class extends C{constructor(e,r={}){super(e),this[_t]=r.data===void 0?null:r.data}get data(){return this[_t]}};Object.defineProperty(J.prototype,"data",{enumerable:!0});var Tr={addEventListener(t,e,r={}){for(let i of this.listeners(t))if(!r[Q]&&i[Ue]===e&&!i[Q])return;let s;if(t==="message")s=function(n,o){let l=new J("message",{data:o?n:n.toString()});l[z]=this,he(e,this,l)};else if(t==="close")s=function(n,o){let l=new I("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[z]=this,he(e,this,l)};else if(t==="error")s=function(n){let o=new H("error",{error:n,message:n.message});o[z]=this,he(e,this,o)};else if(t==="open")s=function(){let n=new C("open");n[z]=this,he(e,this,n)};else return;s[Q]=!!r[Q],s[Ue]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Ue]===e&&!r[Q]){this.removeListener(t,r);break}}};St.exports={CloseEvent:I,ErrorEvent:H,Event:C,EventTarget:Tr,MessageEvent:J};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var ce=S((Rs,vt)=>{"use strict";var{tokenChars:ee}=V();function T(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Or(t){let e=Object.create(null),r=Object.create(null),s=!1,i=!1,n=!1,o,l,f=-1,a=-1,h=-1,c=0;for(;c<t.length;c++)if(a=t.charCodeAt(c),o===void 0)if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(c!==0&&(a===32||a===9))h===-1&&f!==-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(f,h);a===44?(T(e,g,r),r=Object.create(null)):o=g,f=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);else if(l===void 0)if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(a===32||a===9)h===-1&&f!==-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c),T(r,t.slice(f,h),!0),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),f=h=-1}else if(a===61&&f!==-1&&h===-1)l=t.slice(f,c),f=h=-1;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(i){if(ee[a]!==1)throw new SyntaxError(`Unexpected character at index ${c}`);f===-1?f=c:s||(s=!0),i=!1}else if(n)if(ee[a]===1)f===-1&&(f=c);else if(a===34&&f!==-1)n=!1,h=c;else if(a===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(a===34&&t.charCodeAt(c-1)===61)n=!0;else if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(f!==-1&&(a===32||a===9))h===-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(f,h);s&&(g=g.replace(/\\/g,""),s=!1),T(r,l,g),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),l=void 0,f=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);if(f===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");h===-1&&(h=c);let _=t.slice(f,h);return o===void 0?T(e,_,r):(l===void 0?T(r,_,!0):s?T(r,l,_.replace(/\\/g,"")):T(r,l,_),T(e,o,r)),e}function kr(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}vt.exports={format:kr,parse:Or}});var me=S((Ds,Ut)=>{"use strict";var Cr=p("events"),Lr=p("https"),Nr=p("http"),Tt=p("net"),Pr=p("tls"),{randomBytes:Br,createHash:Rr}=p("crypto"),{Duplex:Us,Readable:Is}=p("stream"),{URL:Ie}=p("url"),B=G(),Ur=Ne(),Ir=Re(),{isBlob:Dr}=V(),{BINARY_TYPES:bt,CLOSE_TIMEOUT:Fr,EMPTY_BUFFER:ue,GUID:Mr,kForOnEventAttribute:De,kListener:Ar,kStatusCode:Wr,kWebSocket:y,NOOP:Ot}=O(),{EventTarget:{addEventListener:qr,removeEventListener:Gr}}=Et(),{format:Vr,parse:$r}=ce(),{toBuffer:jr}=X(),kt=Symbol("kAborted"),Fe=[8,13],L=["CONNECTING","OPEN","CLOSING","CLOSED"],zr=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,d=class t extends Cr{constructor(e,r,s){super(),this._binaryType=bt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ue,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),Ct(this,e,r,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){bt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let i=new Ur({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:s.maxBufferedChunks,maxFragments:s.maxFragments,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),n=new Ir(e,this._extensions,s.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[y]=this,n[y]=this,e[y]=this,i.on("conclude",Kr),i.on("drain",Xr),i.on("error",Zr),i.on("message",Qr),i.on("ping",Jr),i.on("pong",es),n.onerror=ts,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",Pt),e.on("data",_e),e.on("end",Bt),e.on("error",Rt),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[B.extensionName]&&this._extensions[B.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Nt(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||ue,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||ue,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Me(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[B.extensionName]||(i.compress=!1),this._sender.send(e||ue,i,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(d,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d.prototype,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d.prototype,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d.prototype,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});Object.defineProperty(d.prototype,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(d.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(d.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[De])return e[Ar];return null},set(e){for(let r of this.listeners(t))if(r[De]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[De]:!0})}})});d.prototype.addEventListener=qr;d.prototype.removeEventListener=Gr;Ut.exports=d;function Ct(t,e,r,s){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Fr,protocolVersion:Fe[1],maxBufferedChunks:1048576,maxFragments:131072,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!Fe.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Fe.join(", ")})`);let n;if(e instanceof Ie)n=e;else try{n=new Ie(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",f;if(n.protocol!=="ws:"&&!o&&!l?f=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!n.pathname?f="The URL's pathname is empty":n.hash&&(f="The URL contains a fragment identifier"),f){let u=new SyntaxError(f);if(t._redirects===0)throw u;de(t,u);return}let a=o?443:80,h=Br(16).toString("base64"),c=o?Lr.request:Nr.request,_=new Set,g;if(i.createConnection=i.createConnection||(o?Yr:Hr),i.defaultPort=i.defaultPort||a,i.port=n.port||a,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":h,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(g=new B({...i.perMessageDeflate,isServer:!1,maxPayload:i.maxPayload}),i.headers["Sec-WebSocket-Extensions"]=Vr({[B.extensionName]:g.offer()})),r.length){for(let u of r){if(typeof u!="string"||!zr.test(u)||_.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");_.add(u)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),l){let u=i.path.split(":");i.socketPath=u[0],i.path=u[1]}let m;if(i.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?i.socketPath:n.host;let u=s&&s.headers;if(s={...s,headers:{}},u)for(let[x,M]of Object.entries(u))s.headers[x.toLowerCase()]=M}else if(t.listenerCount("redirect")===0){let u=l?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,u||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),m=t._req=c(i),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=c(i);i.timeout&&m.on("timeout",()=>{E(t,m,"Opening handshake has timed out")}),m.on("error",u=>{m===null||m[kt]||(m=t._req=null,de(t,u))}),m.on("response",u=>{let x=u.headers.location,M=u.statusCode;if(x&&i.followRedirects&&M>=300&&M<400){if(++t._redirects>i.maxRedirects){E(t,m,"Maximum redirects exceeded");return}m.abort();let Y;try{Y=new Ie(x,e)}catch{let A=new SyntaxError(`Invalid URL: ${x}`);de(t,A);return}Ct(t,Y,r,s)}else t.emit("unexpected-response",m,u)||E(t,m,`Unexpected server response: ${u.statusCode}`)}),m.on("upgrade",(u,x,M)=>{if(t.emit("upgrade",u),t.readyState!==d.CONNECTING)return;m=t._req=null;let Y=u.headers.upgrade;if(Y===void 0||Y.toLowerCase()!=="websocket"){E(t,x,"Invalid Upgrade header");return}let qe=Rr("sha1").update(h+Mr).digest("base64");if(u.headers["sec-websocket-accept"]!==qe){E(t,x,"Invalid Sec-WebSocket-Accept header");return}let A=u.headers["sec-websocket-protocol"],K;if(A!==void 0?_.size?_.has(A)||(K="Server sent an invalid subprotocol"):K="Server sent a subprotocol but none was requested":_.size&&(K="Server sent no subprotocol"),K){E(t,x,K);return}A&&(t._protocol=A);let Ge=u.headers["sec-websocket-extensions"];if(Ge!==void 0){if(!g){E(t,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ye;try{ye=$r(Ge)}catch{E(t,x,"Invalid Sec-WebSocket-Extensions header");return}let Ve=Object.keys(ye);if(Ve.length!==1||Ve[0]!==B.extensionName){E(t,x,"Server indicated an extension that was not requested");return}try{g.accept(ye[B.extensionName])}catch{E(t,x,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[B.extensionName]=g}t.setSocket(x,M,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(m,t):m.end()}function de(t,e){t._readyState=d.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Hr(t){return t.path=t.socketPath,Tt.connect(t)}function Yr(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Tt.isIP(t.host)?"":t.host),Pr.connect(t)}function E(t,e,r){t._readyState=d.CLOSING;let s=new Error(r);Error.captureStackTrace(s,E),e.setHeader?(e[kt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(de,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Me(t,e,r){if(e){let s=Dr(e)?e.size:jr(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${L[t.readyState]})`);process.nextTick(r,s)}}function Kr(t,e){let r=this[y];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[y]!==void 0&&(r._socket.removeListener("data",_e),process.nextTick(Lt,r._socket),t===1005?r.close():r.close(t,e))}function Xr(){let t=this[y];t.isPaused||t._socket.resume()}function Zr(t){let e=this[y];e._socket[y]!==void 0&&(e._socket.removeListener("data",_e),process.nextTick(Lt,e._socket),e.close(t[Wr])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function wt(){this[y].emitClose()}function Qr(t,e){this[y].emit("message",t,e)}function Jr(t){let e=this[y];e._autoPong&&e.pong(t,!this._isServer,Ot),e.emit("ping",t)}function es(t){this[y].emit("pong",t)}function Lt(t){t.resume()}function ts(t){let e=this[y];e.readyState!==d.CLOSED&&(e.readyState===d.OPEN&&(e._readyState=d.CLOSING,Nt(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Nt(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Pt(){let t=this[y];if(this.removeListener("close",Pt),this.removeListener("data",_e),this.removeListener("end",Bt),t._readyState=d.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[y]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",wt),t._receiver.on("finish",wt))}function _e(t){this[y]._receiver.write(t)||this.pause()}function Bt(){let t=this[y];t._readyState=d.CLOSING,t._receiver.end(),this.end()}function Rt(){let t=this[y];this.removeListener("error",Rt),this.on("error",Ot),t&&(t._readyState=d.CLOSING,this.destroy())}});var Mt=S((Ms,Ft)=>{"use strict";var Fs=me(),{Duplex:rs}=p("stream");function It(t){t.emit("close")}function ss(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Dt(t){this.removeListener("error",Dt),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function is(t,e){let r=!0,s=new rs({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&s._readableState.objectMode?n.toString():n;s.push(l)||t.pause()}),t.once("error",function(n){s.destroyed||(r=!1,s.destroy(n))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(It,s);return}let o=!1;t.once("error",function(f){o=!0,n(f)}),t.once("close",function(){o||n(i),process.nextTick(It,s)}),r&&t.terminate()},s._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(i,n,o)});return}t.send(i,o)},s.on("end",ss),s.on("error",Dt),s}Ft.exports=is});var Ae=S((As,At)=>{"use strict";var{tokenChars:ns}=V();function os(t){let e=new Set,r=-1,s=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(s===-1&&ns[o]===1)r===-1&&(r=i);else if(i!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=i);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${i}`);s===-1&&(s=i);let l=t.slice(r,s);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}At.exports={parse:os}});var zt=S((qs,jt)=>{"use strict";var as=p("events"),pe=p("http"),{Duplex:Ws}=p("stream"),{createHash:ls}=p("crypto"),Wt=ce(),D=G(),fs=Ae(),hs=me(),{CLOSE_TIMEOUT:cs,GUID:us,kWebSocket:ds}=O(),_s=/^[+/0-9A-Za-z]{22}==$/,qt=0,Gt=1,$t=2,We=class extends as{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:1024*1024,maxFragments:128*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:cs,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:hs,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=pe.createServer((s,i)=>{let n=pe.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=ms(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=qt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===$t){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(te,this);return}if(e&&this.once("close",e),this._state!==Gt)if(this._state=Gt,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(te,this):process.nextTick(te,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{te(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,i){r.on("error",Vt);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){F(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){F(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!_s.test(n)){F(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){F(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){re(r,400);return}let f=e.headers["sec-websocket-protocol"],a=new Set;if(f!==void 0)try{a=fs.parse(f)}catch{F(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let h=e.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&h!==void 0){let _=new D({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let g=Wt.parse(h);g[D.extensionName]&&(_.accept(g[D.extensionName]),c[D.extensionName]=_)}catch{F(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let _={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(_,(g,m,u,x)=>{if(!g)return re(r,m||401,u,x);this.completeUpgrade(c,n,a,e,r,s,i)});return}if(!this.options.verifyClient(_))return re(r,401)}this.completeUpgrade(c,n,a,e,r,s,i)}completeUpgrade(e,r,s,i,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[ds])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>qt)return re(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${ls("sha1").update(r+us).digest("base64")}`],h=new this.options.WebSocket(null,void 0,this.options);if(s.size){let c=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;c&&(a.push(`Sec-WebSocket-Protocol: ${c}`),h._protocol=c)}if(e[D.extensionName]){let c=e[D.extensionName].params,_=Wt.format({[D.extensionName]:[c]});a.push(`Sec-WebSocket-Extensions: ${_}`),h._extensions=e}this.emit("headers",a,i),n.write(a.concat(`\r
|
|
3
|
-
`).join(`\r
|
|
4
|
-
`)),n.removeListener("error",Vt),h.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(h),h.on("close",()=>{this.clients.delete(h),this._shouldEmitClose&&!this.clients.size&&process.nextTick(te,this)})),l(h,i)}};jt.exports=We;function ms(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function te(t){t._state=$t,t.emit("close")}function Vt(){this.destroy()}function re(t,e,r,s){r=r||pe.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${pe.STATUS_CODES[e]}\r
|
|
5
|
-
`+Object.keys(s).map(i=>`${i}: ${s[i]}`).join(`\r
|
|
6
|
-
`)+`\r
|
|
7
|
-
\r
|
|
8
|
-
`+r)}function F(t,e,r,s,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,F),t.emit("wsClientError",o,r,e)}else re(r,s,i,n)}});var ps=N(Mt(),1),gs=N(ce(),1),ys=N(G(),1),xs=N(Ne(),1),Ss=N(Re(),1),Es=N(Ae(),1),Ht=N(me(),1),vs=N(zt(),1);var Yt=Ht.default;var ge=global;ge.WebSocket||=Yt;ge.window||=global;ge.self||=global;ge.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];import bs from"react-devtools-core";bs.connectToDevTools();
|
package/dist/lock-NOXBNSZW.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,e}from"./chunk-EOTW3XHQ.js";import"./chunk-P5N3FU3P.js";import"./chunk-7BMOBFGJ.js";export{e as getCommitHash,a as readLock,c as removeLockEntry,d as setLockEntryProvider,b as writeLockEntry};
|