@ev-ai/agent-hook 1.3.4 → 1.3.6
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/COLLECTED-DATA.md +3 -3
- package/README.md +3 -3
- package/dist/cli.mjs +40 -40
- package/dist/hook.mjs +35 -35
- package/dist/launcher-update.mjs +4 -4
- package/dist/launcher.mjs +6 -3
- package/dist/managed-hooks-snippet.cjs +3 -15
- package/dist/managed-hooks-snippet.mjs +3 -15
- package/dist/plugin-hooks.mjs +35 -47
- package/package.json +2 -2
package/dist/hook.mjs
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from 'node:module';
|
|
2
2
|
const require = __createRequire(import.meta.url);
|
|
3
3
|
|
|
4
|
-
var mp=Object.create;var Ns=Object.defineProperty;var gp=Object.getOwnPropertyDescriptor;var _p=Object.getOwnPropertyNames;var hp=Object.getPrototypeOf,Sp=Object.prototype.hasOwnProperty;var $e=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ep=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _p(t))!Sp.call(e,o)&&o!==n&&Ns(e,o,{get:()=>t[o],enumerable:!(r=gp(t,o))||r.enumerable});return e};var je=(e,t,n)=>(n=e!=null?mp(hp(e)):{},Ep(t||!e||!e.__esModule?Ns(n,"default",{value:e,enumerable:!0}):n,e));var kn=W(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.MCP_MISSING_LAUNCH_SERIALIZED=q.MCP_LAUNCH_IDENTITY_ALGORITHM=void 0;q.foldMcpName=na;q.buildMcpFamilyCanonicalKey=am;q.launchContainsCredentials=um;q.serializeMcpLaunchIdentity=ra;q.hashMcpLaunchIdentity=Ht;q.projectMcpMissingLaunchIdentity=pm;q.projectMcpLaunchIdentity=dm;q.maskMcpLaunchForDisplay=gm;q.normalizeMcpToolNames=_m;var im=$e("node:crypto");q.MCP_LAUNCH_IDENTITY_ALGORITHM="mcp-launch-v1";q.MCP_MISSING_LAUNCH_SERIALIZED=`${q.MCP_LAUNCH_IDENTITY_ALGORITHM}|missing`;function Le(e){return e.toLocaleLowerCase("en-US")}function na(e){return Le(e)}function am(e){return`interface:${na(e)}`}var ta=new Set(["access_token","api_key","apikey","auth","authorization","key","password","secret","token"]),cm=/^(?:--?(?:token|api[-_]?key|password|secret|authorization)(?:=|\s+)|(?:sk-|ghp_|xox[baprs]-|Bearer\s+))/i;function mt(e){return`${Buffer.byteLength(e,"utf8")}:${e}`}function um(e){return e.kind==="url"?lm(e.url):e.kind==="command"?e.arguments.some(t=>cm.test(t)):!1}function lm(e){try{let t=new URL(e);if(t.username.length>0||t.password.length>0)return!0;for(let n of t.searchParams.keys())if(ta.has(Le(n)))return!0;return!1}catch{let t=e.split("://",2),n=t.length===2?t[1]:e,r=n.indexOf("@"),o=n.indexOf("/");if(r>0&&(o===-1||r<o))return!0;let s=e.split("?",2)[1];return s===void 0?!1:s.split("&").some(i=>{let a=Le(i.split("=",1)[0]??"");return ta.has(a)})}}function ra(e){if(e.kind==="url")return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"url",mt(Le(e.url))].join("|");if(e.kind==="command"){let t=[...e.arguments].map(n=>Le(n)).sort((n,r)=>n<r?-1:n>r?1:0);return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"command",mt(Le(e.command)),String(t.length),...t.map(mt)].join("|")}return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"unknown",mt(e.installationRootExternalKey),mt(e.sourcePath),mt(e.nativeKey)].join("|")}function Ht(e){return(0,im.createHash)("sha256").update(e).digest("hex")}var fm=Ht(q.MCP_MISSING_LAUNCH_SERIALIZED);function pm(){return{kind:"unknown",arguments:[],serialized:q.MCP_MISSING_LAUNCH_SERIALIZED,contentHash:fm}}function dm(e){let t=ra(e);return e.kind==="url"?{kind:"url",url:Le(e.url),arguments:[],serialized:t,contentHash:Ht(t)}:e.kind==="command"?{kind:"command",command:Le(e.command),arguments:[...e.arguments].map(n=>Le(n)).sort((n,r)=>n<r?-1:n>r?1:0),serialized:t,contentHash:Ht(t)}:{kind:"unknown",arguments:[],serialized:t,contentHash:Ht(t)}}var mm=/^(https?:\/\/)([^/?#]*@)/i;function gm(e){return e.replace(mm,"$1***@").replace(/([?&](?:access_token|api_key|apikey|auth|authorization|key|password|secret|token)=)([^&]*)/gi,"$1***")}function _m(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n.sort((r,o)=>r<o?-1:r>o?1:0),n}});var Nn=W(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.PACKAGE_FIELD_MAX=void 0;Oe.npxExecBin=oa;Oe.packageNameFromSpec=Pn;Oe.pinnedPackageVersionFromSpec=sa;Oe.pinnedPackageVersionFromNpx=bm;Oe.npxPackageSpecs=ia;Oe.PACKAGE_FIELD_MAX=128;var hm=/^(?:@[A-Za-z0-9~-][A-Za-z0-9._~-]*\/)?[A-Za-z0-9~-][A-Za-z0-9._~-]*$/,Sm=new Set(["-p","--package"]),Em=new Set(["-c","--call"]),ym=new Set(["--registry","--userconfig","--globalconfig","--prefix","--cache","--node-options","--workspace","-w","--loglevel"]),Rm=new Set(["-y","--yes","-n","--no","-q","-s","--quiet","--silent","--offline","--prefer-offline","--prefer-online","--ignore-existing","--ignore-scripts","--legacy-peer-deps","--foreground-scripts"]),Cm=/^--no-/;function Am(e){return Rm.has(e)||Cm.test(e)}function oa(e){let n=(e.replace(/\\/g,"/").split("/").pop()??"").replace(/\.(cmd|exe|bat|ps1)$/i,"").toLowerCase();return n==="npx"?"npx":n==="npm"?"npm":null}var Im=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;function Pn(e){if(e.length===0||e.length>Oe.PACKAGE_FIELD_MAX)return null;let t=e.lastIndexOf("@"),n=t>0?e.slice(0,t):e;return hm.test(n)?n:null}function sa(e){let t=Pn(e);if(t===null||!e.startsWith(`${t}@`))return;let n=e.slice(t.length+1);return Im.test(n)?n:void 0}function bm(e,t){for(let n of ia(e,t)){let r=sa(n);if(r!==void 0)return r}}function ia(e,t){let n=oa(e);if(n===null)return[];let r=[...t];if(n==="npm"){let i=r[0]?.toLowerCase();if(i!=="exec"&&i!=="x")return[];r=r.slice(1)}let o=[],s=null;for(let i=0;i<r.length;i+=1){let a=r[i]??"";if(a==="--"){s=r[i+1]??null;break}if(!a.startsWith("-")){s=a;break}let c=a.indexOf("="),u=c===-1?a:a.slice(0,c);if(Em.has(u))return[];if(Sm.has(u)){let l=c===-1?r[i+1]:a.slice(c+1);l!==void 0&&l.length>0&&o.push(l),c===-1&&(i+=1);continue}if(!(c!==-1||Am(u))){if(ym.has(u)){i+=1;continue}return[]}}return o.length>0?o.every(i=>Pn(i)!==null)?o:[]:s===null||Pn(s)===null?[]:[s]}});var aa=W(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.McpPackageEcosystem=void 0;et.resolveMcpPackageIdentity=Dm;var xm=kn(),Kr=Nn();et.McpPackageEcosystem={NPM:"npm",PYPI:"pypi"};var Om=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/,Tm=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/,km=/^(?:\d+!)?\d+(?:\.\d+)*(?:(?:a|b|rc)\d+)?(?:\.post\d+)?(?:\.dev\d+)?(?:\+[0-9A-Za-z]+(?:[.][0-9A-Za-z]+)*)?$/;function Pm(e){let n=(e.replaceAll("\\","/").split("/").pop()??"").replace(/\.(cmd|exe|bat|ps1)$/i,"").toLowerCase();return n==="uvx"||n==="uv"||n==="pipx"?n:null}var Nm=new Set(["--from","--spec"]),wm=new Set(["--python","-p","--with","--with-editable","--with-requirements","--index","--index-url","--default-index","--extra-index-url","--find-links","-f","--constraint","-c","--override","--refresh-package","--cache-dir","--directory","--project","--config-file","--color","--exclude-newer","--pip-args","--verbose-pip"]),Mm=new Set(["-q","--quiet","-v","--verbose","-n","--native-tls","--offline","--isolated","--preview","--refresh","--reinstall","--upgrade","-U","--force","--system","--system-site-packages","--path","--managed-python","--progress"]),Lm=/^--no-/;function vm(e,t){let n=Pm(e);if(n===null)return null;let r=[...t];if(n==="uv"){if(r[0]?.toLowerCase()!=="tool"||r[1]?.toLowerCase()!=="run")return null;r=r.slice(2)}else if(n==="pipx"){if(r[0]?.toLowerCase()!=="run")return null;r=r.slice(1)}let o=null,s=null;for(let i=0;i<r.length;i+=1){let a=r[i]??"";if(a==="--"){s=r[i+1]??null;break}if(!a.startsWith("-")){s=a;break}let c=a.indexOf("="),u=c===-1?a:a.slice(0,c);if(Nm.has(u)){let l=c===-1?r[i+1]:a.slice(c+1);l!==void 0&&l.length>0&&(o=l),c===-1&&(i+=1);continue}if(!(c!==-1||Mm.has(u)||Lm.test(u))){if(wm.has(u)){i+=1;continue}return null}}return o??s}function Hm(e){if(e.length===0||e.length>Kr.PACKAGE_FIELD_MAX)return null;let t=e.includes("==")?"==":e.includes("@")?"@":null;if(t===null)return null;let n=e.indexOf(t),r=e.slice(0,n),o=e.slice(n+t.length);return!Tm.test(r)||!km.test(o)?null:{ecosystem:et.McpPackageEcosystem.PYPI,packageName:r,version:o}}function Um(e){let t=(0,Kr.packageNameFromSpec)(e);if(t===null||!e.startsWith(`${t}@`))return null;let n=e.slice(t.length+1);return Om.test(n)?{ecosystem:et.McpPackageEcosystem.NPM,packageName:t,version:n}:null}function Dm(e){if(e?.kind!=="command"||(0,xm.launchContainsCredentials)(e))return;for(let n of(0,Kr.npxPackageSpecs)(e.command,e.arguments)){let r=Um(n);if(r!==null)return r}let t=vm(e.command,e.arguments);if(t!==null)return Hm(t)??void 0}});var da=W(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.EMPTY_NPM_PUBLISHER=void 0;ve.isNpmRegistryPublisher=$m;ve.displayPublisherName=jm;ve.classifyMcpProvenance=Xm;var la=kn(),Gr=Nn();ve.EMPTY_NPM_PUBLISHER="npm:";var ca="npm:",Fm=/^[A-Za-z0-9._-]+$/;function $m(e){return e.startsWith(ca)&&e!==ve.EMPTY_NPM_PUBLISHER&&Fm.test(e.slice(ca.length))}function jm(e){if(!(e==null||e===""||e===ve.EMPTY_NPM_PUBLISHER))return e}function ua(e){let t=e.split(".").map(Number);return t.length!==4||t.some(n=>!Number.isInteger(n)||n<0||n>255)?!1:t[0]===0||t[0]===10||t[0]===127||t[0]===169&&t[1]===254||t[0]===172&&(t[1]??0)>=16&&(t[1]??0)<=31||t[0]===192&&t[1]===168}function Bm(e){let t=/^::ffff:(\d{1,3}(?:\.\d{1,3}){3})$/i.exec(e);if(t?.[1])return t[1];let n=/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i.exec(e);if(!n)return;let r=Number.parseInt(n[1],16),o=Number.parseInt(n[2],16);return`${r>>8&255}.${r&255}.${o>>8&255}.${o&255}`}function zr(e){return e.toLowerCase().replace(/^\[|\]$/g,"").replace(/\.$/,"")}function Km(e){let t=zr(e),n=Bm(t);return t==="localhost"||t.endsWith(".localhost")||t==="::1"||t.endsWith(".local")||!t.includes(".")&&!t.includes(":")||ua(t)||n!==void 0&&ua(n)||/^(?:fc|fd)[0-9a-f]{2}:/i.test(t)||/^fe[89ab][0-9a-f]:/i.test(t)}function Gm(e){let t=zr(e);return t.includes(":")||/^[0-9.]+$/.test(t)||t.split(".").filter(Boolean).length<2?null:t}function zm(e){let t=zr(e.hostname),n=t.includes(":")?`[${t}]`:t,r=e.port?`:${e.port}`:"";return`${e.protocol}//${n}${r}`}function fa(e){let t={kind:"url",url:e};if((0,la.launchContainsCredentials)(t))return{origin:"UNKNOWN"};try{let n=new URL(e);if(!["http:","https:"].includes(n.protocol)||Km(n.hostname))return{origin:"UNKNOWN"};let r=Gm(n.hostname);return{origin:"THIRD_PARTY",...r===null?{}:{publisherName:r},packageSourceUrl:zm(n)}}catch{return{origin:"UNKNOWN"}}}var pa="mcp-remote";function Wm(e,t){if(e===pa)return t.find(n=>/^https?:\/\//i.test(n))}function Vm(e,t){return{origin:"THIRD_PARTY",...t?{publisherName:t}:{},packageName:e,packageKey:e}}function Jm(e,t,n){let r=Wm(e,t);return r!==void 0?fa(r):e===pa?{origin:"UNKNOWN"}:Vm(e,n)}function Ym(e){let t=e.replaceAll("\\","/");return t.startsWith("~/")||t.startsWith("/")||/^[A-Za-z]:\//.test(t)?!1:t.startsWith("./")||t.startsWith("../")||t==="scripts"||t.startsWith("scripts/")}function Xm(e){let t=e.launch;if(t===void 0||t.kind==="unknown")return{origin:"UNKNOWN"};if((0,la.launchContainsCredentials)(t))return{origin:"UNKNOWN"};if(t.kind==="url")return fa(t.url);let r=(0,Gr.npxPackageSpecs)(t.command,t.arguments)[0];if(r!==void 0){let o=(0,Gr.packageNameFromSpec)(r);if(o===null)return{origin:"UNKNOWN"};let s=Jm(o,t.arguments,e.publisherName),i=typeof e.packageName=="string"?(0,Gr.packageNameFromSpec)(e.packageName):null;return i!==null&&i===o&&s.packageName!==void 0?{...s,packageName:i,packageKey:i}:s}return Ym(t.command)?{origin:"INTERNAL"}:{origin:"UNKNOWN"}}});var ga=W(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.mcpServerToolSegmentForms=ma;wn.mcpServerNameMatchesToolSegment=qm;function ma(e){return[...new Set([e,e.replaceAll(/[^A-Za-z0-9_-]/g,"_"),e.replaceAll(/[^A-Za-z0-9_-]+/g,"_")])]}function qm(e,t){let n=t.toLowerCase();return ma(e).some(r=>r.toLowerCase()===n)}});var _a=W(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.parseFrontmatterField=ye.parseFrontmatterDescription=ye.usableCatalogText=void 0;var Zm=/^(?:>|\|)[-+]?$/,Qm=/^(?:>|\|)[-+]?(?:\s+(.*))?$/,eg=e=>{let t=e?.trim()??"";if(!(t.length===0||Zm.test(t)))return t};ye.usableCatalogText=eg;var tg=e=>(0,ye.parseFrontmatterField)(e,"description");ye.parseFrontmatterDescription=tg;var ng=(e,t)=>{let n=/^---\s*\n([\s\S]*?)\n---/.exec(e);if(n)return og(n[1],t)};ye.parseFrontmatterField=ng;var rg=e=>e.replace(/^["']|["']$/g,"");function og(e,t){let n=e.split(`
|
|
5
|
-
`),r=`${t}:`,o=n.findIndex(m=>m===r||m.startsWith(`${r} `)||m.startsWith(`${r} `));if(o<0)return;let s=(n[o]??"").slice(r.length).trim(),i=
|
|
4
|
+
var Pd=Object.create;var zs=Object.defineProperty;var Nd=Object.getOwnPropertyDescriptor;var wd=Object.getOwnPropertyNames;var Md=Object.getPrototypeOf,Ld=Object.prototype.hasOwnProperty;var $e=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var vd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wd(t))!Ld.call(e,o)&&o!==n&&zs(e,o,{get:()=>t[o],enumerable:!(r=Nd(t,o))||r.enumerable});return e};var je=(e,t,n)=>(n=e!=null?Pd(Md(e)):{},vd(t||!e||!e.__esModule?zs(n,"default",{value:e,enumerable:!0}):n,e));var Un=W(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.MCP_MISSING_LAUNCH_SERIALIZED=q.MCP_LAUNCH_IDENTITY_ALGORITHM=void 0;q.foldMcpName=Ia;q.buildMcpFamilyCanonicalKey=Om;q.launchContainsCredentials=xm;q.serializeMcpLaunchIdentity=Oa;q.hashMcpLaunchIdentity=$t;q.projectMcpMissingLaunchIdentity=Pm;q.projectMcpLaunchIdentity=Nm;q.maskMcpLaunchForDisplay=Mm;q.normalizeMcpToolNames=Lm;var Im=$e("node:crypto");q.MCP_LAUNCH_IDENTITY_ALGORITHM="mcp-launch-v1";q.MCP_MISSING_LAUNCH_SERIALIZED=`${q.MCP_LAUNCH_IDENTITY_ALGORITHM}|missing`;function Le(e){return e.toLocaleLowerCase("en-US")}function Ia(e){return Le(e)}function Om(e){return`interface:${Ia(e)}`}var Aa=new Set(["access_token","api_key","apikey","auth","authorization","key","password","secret","token"]),bm=/^(?:--?(?:token|api[-_]?key|password|secret|authorization)(?:=|\s+)|(?:sk-|ghp_|xox[baprs]-|Bearer\s+))/i;function ht(e){return`${Buffer.byteLength(e,"utf8")}:${e}`}function xm(e){return e.kind==="url"?Tm(e.url):e.kind==="command"?e.arguments.some(t=>bm.test(t)):!1}function Tm(e){try{let t=new URL(e);if(t.username.length>0||t.password.length>0)return!0;for(let n of t.searchParams.keys())if(Aa.has(Le(n)))return!0;return!1}catch{let t=e.split("://",2),n=t.length===2?t[1]:e,r=n.indexOf("@"),o=n.indexOf("/");if(r>0&&(o===-1||r<o))return!0;let s=e.split("?",2)[1];return s===void 0?!1:s.split("&").some(i=>{let a=Le(i.split("=",1)[0]??"");return Aa.has(a)})}}function Oa(e){if(e.kind==="url")return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"url",ht(Le(e.url))].join("|");if(e.kind==="command"){let t=[...e.arguments].map(n=>Le(n)).sort((n,r)=>n<r?-1:n>r?1:0);return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"command",ht(Le(e.command)),String(t.length),...t.map(ht)].join("|")}return[q.MCP_LAUNCH_IDENTITY_ALGORITHM,"unknown",ht(e.installationRootExternalKey),ht(e.sourcePath),ht(e.nativeKey)].join("|")}function $t(e){return(0,Im.createHash)("sha256").update(e).digest("hex")}var km=$t(q.MCP_MISSING_LAUNCH_SERIALIZED);function Pm(){return{kind:"unknown",arguments:[],serialized:q.MCP_MISSING_LAUNCH_SERIALIZED,contentHash:km}}function Nm(e){let t=Oa(e);return e.kind==="url"?{kind:"url",url:Le(e.url),arguments:[],serialized:t,contentHash:$t(t)}:e.kind==="command"?{kind:"command",command:Le(e.command),arguments:[...e.arguments].map(n=>Le(n)).sort((n,r)=>n<r?-1:n>r?1:0),serialized:t,contentHash:$t(t)}:{kind:"unknown",arguments:[],serialized:t,contentHash:$t(t)}}var wm=/^(https?:\/\/)([^/?#]*@)/i;function Mm(e){return e.replace(wm,"$1***@").replace(/([?&](?:access_token|api_key|apikey|auth|authorization|key|password|secret|token)=)([^&]*)/gi,"$1***")}function Lm(e){let t=new Set,n=[];for(let r of e)r.length===0||t.has(r)||(t.add(r),n.push(r));return n.sort((r,o)=>r<o?-1:r>o?1:0),n}});var Fn=W(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.PACKAGE_FIELD_MAX=void 0;xe.npxExecBin=ba;xe.packageNameFromSpec=Dn;xe.pinnedPackageVersionFromSpec=xa;xe.pinnedPackageVersionFromNpx=Km;xe.npxPackageSpecs=Ta;xe.PACKAGE_FIELD_MAX=128;var vm=/^(?:@[A-Za-z0-9~-][A-Za-z0-9._~-]*\/)?[A-Za-z0-9~-][A-Za-z0-9._~-]*$/,Hm=new Set(["-p","--package"]),Um=new Set(["-c","--call"]),Dm=new Set(["--registry","--userconfig","--globalconfig","--prefix","--cache","--node-options","--workspace","-w","--loglevel"]),Fm=new Set(["-y","--yes","-n","--no","-q","-s","--quiet","--silent","--offline","--prefer-offline","--prefer-online","--ignore-existing","--ignore-scripts","--legacy-peer-deps","--foreground-scripts"]),$m=/^--no-/;function jm(e){return Fm.has(e)||$m.test(e)}function ba(e){let n=(e.replace(/\\/g,"/").split("/").pop()??"").replace(/\.(cmd|exe|bat|ps1)$/i,"").toLowerCase();return n==="npx"?"npx":n==="npm"?"npm":null}var Bm=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;function Dn(e){if(e.length===0||e.length>xe.PACKAGE_FIELD_MAX)return null;let t=e.lastIndexOf("@"),n=t>0?e.slice(0,t):e;return vm.test(n)?n:null}function xa(e){let t=Dn(e);if(t===null||!e.startsWith(`${t}@`))return;let n=e.slice(t.length+1);return Bm.test(n)?n:void 0}function Km(e,t){for(let n of Ta(e,t)){let r=xa(n);if(r!==void 0)return r}}function Ta(e,t){let n=ba(e);if(n===null)return[];let r=[...t];if(n==="npm"){let i=r[0]?.toLowerCase();if(i!=="exec"&&i!=="x")return[];r=r.slice(1)}let o=[],s=null;for(let i=0;i<r.length;i+=1){let a=r[i]??"";if(a==="--"){s=r[i+1]??null;break}if(!a.startsWith("-")){s=a;break}let c=a.indexOf("="),l=c===-1?a:a.slice(0,c);if(Um.has(l))return[];if(Hm.has(l)){let u=c===-1?r[i+1]:a.slice(c+1);u!==void 0&&u.length>0&&o.push(u),c===-1&&(i+=1);continue}if(!(c!==-1||jm(l))){if(Dm.has(l)){i+=1;continue}return[]}}return o.length>0?o.every(i=>Dn(i)!==null)?o:[]:s===null||Dn(s)===null?[]:[s]}});var ka=W(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.McpPackageEcosystem=void 0;et.resolveMcpPackageIdentity=ng;var Gm=Un(),oo=Fn();et.McpPackageEcosystem={NPM:"npm",PYPI:"pypi"};var zm=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/,Wm=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/,Vm=/^(?:\d+!)?\d+(?:\.\d+)*(?:(?:a|b|rc)\d+)?(?:\.post\d+)?(?:\.dev\d+)?(?:\+[0-9A-Za-z]+(?:[.][0-9A-Za-z]+)*)?$/;function Jm(e){let n=(e.replaceAll("\\","/").split("/").pop()??"").replace(/\.(cmd|exe|bat|ps1)$/i,"").toLowerCase();return n==="uvx"||n==="uv"||n==="pipx"?n:null}var Ym=new Set(["--from","--spec"]),Xm=new Set(["--python","-p","--with","--with-editable","--with-requirements","--index","--index-url","--default-index","--extra-index-url","--find-links","-f","--constraint","-c","--override","--refresh-package","--cache-dir","--directory","--project","--config-file","--color","--exclude-newer","--pip-args","--verbose-pip"]),qm=new Set(["-q","--quiet","-v","--verbose","-n","--native-tls","--offline","--isolated","--preview","--refresh","--reinstall","--upgrade","-U","--force","--system","--system-site-packages","--path","--managed-python","--progress"]),Zm=/^--no-/;function Qm(e,t){let n=Jm(e);if(n===null)return null;let r=[...t];if(n==="uv"){if(r[0]?.toLowerCase()!=="tool"||r[1]?.toLowerCase()!=="run")return null;r=r.slice(2)}else if(n==="pipx"){if(r[0]?.toLowerCase()!=="run")return null;r=r.slice(1)}let o=null,s=null;for(let i=0;i<r.length;i+=1){let a=r[i]??"";if(a==="--"){s=r[i+1]??null;break}if(!a.startsWith("-")){s=a;break}let c=a.indexOf("="),l=c===-1?a:a.slice(0,c);if(Ym.has(l)){let u=c===-1?r[i+1]:a.slice(c+1);u!==void 0&&u.length>0&&(o=u),c===-1&&(i+=1);continue}if(!(c!==-1||qm.has(l)||Zm.test(l))){if(Xm.has(l)){i+=1;continue}return null}}return o??s}function eg(e){if(e.length===0||e.length>oo.PACKAGE_FIELD_MAX)return null;let t=e.includes("==")?"==":e.includes("@")?"@":null;if(t===null)return null;let n=e.indexOf(t),r=e.slice(0,n),o=e.slice(n+t.length);return!Wm.test(r)||!Vm.test(o)?null:{ecosystem:et.McpPackageEcosystem.PYPI,packageName:r,version:o}}function tg(e){let t=(0,oo.packageNameFromSpec)(e);if(t===null||!e.startsWith(`${t}@`))return null;let n=e.slice(t.length+1);return zm.test(n)?{ecosystem:et.McpPackageEcosystem.NPM,packageName:t,version:n}:null}function ng(e){if(e?.kind!=="command"||(0,Gm.launchContainsCredentials)(e))return;for(let n of(0,oo.npxPackageSpecs)(e.command,e.arguments)){let r=tg(n);if(r!==null)return r}let t=Qm(e.command,e.arguments);if(t!==null)return eg(t)??void 0}});var va=W(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.EMPTY_NPM_PUBLISHER=void 0;ve.isNpmRegistryPublisher=og;ve.displayPublisherName=sg;ve.classifyMcpProvenance=mg;var wa=Un(),so=Fn();ve.EMPTY_NPM_PUBLISHER="npm:";var Pa="npm:",rg=/^[A-Za-z0-9._-]+$/;function og(e){return e.startsWith(Pa)&&e!==ve.EMPTY_NPM_PUBLISHER&&rg.test(e.slice(Pa.length))}function sg(e){if(!(e==null||e===""||e===ve.EMPTY_NPM_PUBLISHER))return e}function Na(e){let t=e.split(".").map(Number);return t.length!==4||t.some(n=>!Number.isInteger(n)||n<0||n>255)?!1:t[0]===0||t[0]===10||t[0]===127||t[0]===169&&t[1]===254||t[0]===172&&(t[1]??0)>=16&&(t[1]??0)<=31||t[0]===192&&t[1]===168}function ig(e){let t=/^::ffff:(\d{1,3}(?:\.\d{1,3}){3})$/i.exec(e);if(t?.[1])return t[1];let n=/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i.exec(e);if(!n)return;let r=Number.parseInt(n[1],16),o=Number.parseInt(n[2],16);return`${r>>8&255}.${r&255}.${o>>8&255}.${o&255}`}function io(e){return e.toLowerCase().replace(/^\[|\]$/g,"").replace(/\.$/,"")}function ag(e){let t=io(e),n=ig(t);return t==="localhost"||t.endsWith(".localhost")||t==="::1"||t.endsWith(".local")||!t.includes(".")&&!t.includes(":")||Na(t)||n!==void 0&&Na(n)||/^(?:fc|fd)[0-9a-f]{2}:/i.test(t)||/^fe[89ab][0-9a-f]:/i.test(t)}function cg(e){let t=io(e);return t.includes(":")||/^[0-9.]+$/.test(t)||t.split(".").filter(Boolean).length<2?null:t}function ug(e){let t=io(e.hostname),n=t.includes(":")?`[${t}]`:t,r=e.port?`:${e.port}`:"";return`${e.protocol}//${n}${r}`}function Ma(e){let t={kind:"url",url:e};if((0,wa.launchContainsCredentials)(t))return{origin:"UNKNOWN"};try{let n=new URL(e);if(!["http:","https:"].includes(n.protocol)||ag(n.hostname))return{origin:"UNKNOWN"};let r=cg(n.hostname);return{origin:"THIRD_PARTY",...r===null?{}:{publisherName:r},packageSourceUrl:ug(n)}}catch{return{origin:"UNKNOWN"}}}var La="mcp-remote";function lg(e,t){if(e===La)return t.find(n=>/^https?:\/\//i.test(n))}function fg(e,t){return{origin:"THIRD_PARTY",...t?{publisherName:t}:{},packageName:e,packageKey:e}}function dg(e,t,n){let r=lg(e,t);return r!==void 0?Ma(r):e===La?{origin:"UNKNOWN"}:fg(e,n)}function pg(e){let t=e.replaceAll("\\","/");return t.startsWith("~/")||t.startsWith("/")||/^[A-Za-z]:\//.test(t)?!1:t.startsWith("./")||t.startsWith("../")||t==="scripts"||t.startsWith("scripts/")}function mg(e){let t=e.launch;if(t===void 0||t.kind==="unknown")return{origin:"UNKNOWN"};if((0,wa.launchContainsCredentials)(t))return{origin:"UNKNOWN"};if(t.kind==="url")return Ma(t.url);let r=(0,so.npxPackageSpecs)(t.command,t.arguments)[0];if(r!==void 0){let o=(0,so.packageNameFromSpec)(r);if(o===null)return{origin:"UNKNOWN"};let s=dg(o,t.arguments,e.publisherName),i=typeof e.packageName=="string"?(0,so.packageNameFromSpec)(e.packageName):null;return i!==null&&i===o&&s.packageName!==void 0?{...s,packageName:i,packageKey:i}:s}return pg(t.command)?{origin:"INTERNAL"}:{origin:"UNKNOWN"}}});var Ua=W($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.mcpServerToolSegmentForms=Ha;$n.mcpServerNameMatchesToolSegment=gg;function Ha(e){return[...new Set([e,e.replaceAll(/[^A-Za-z0-9_-]/g,"_"),e.replaceAll(/[^A-Za-z0-9_-]+/g,"_")])]}function gg(e,t){let n=t.toLowerCase();return Ha(e).some(r=>r.toLowerCase()===n)}});var Da=W(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.parseFrontmatterField=ye.parseFrontmatterDescription=ye.usableCatalogText=void 0;var _g=/^(?:>|\|)[-+]?$/,hg=/^(?:>|\|)[-+]?(?:\s+(.*))?$/,Sg=e=>{let t=e?.trim()??"";if(!(t.length===0||_g.test(t)))return t};ye.usableCatalogText=Sg;var Eg=e=>(0,ye.parseFrontmatterField)(e,"description");ye.parseFrontmatterDescription=Eg;var yg=(e,t)=>{let n=/^---\s*\n([\s\S]*?)\n---/.exec(e);if(n)return Cg(n[1],t)};ye.parseFrontmatterField=yg;var Rg=e=>e.replace(/^["']|["']$/g,"");function Cg(e,t){let n=e.split(`
|
|
5
|
+
`),r=`${t}:`,o=n.findIndex(m=>m===r||m.startsWith(`${r} `)||m.startsWith(`${r} `));if(o<0)return;let s=(n[o]??"").slice(r.length).trim(),i=hg.exec(s);if(!i){let m=Rg(s).trim();return(0,ye.usableCatalogText)(m)}let a=[];for(let m=o+1;m<n.length;m+=1){let g=n[m]??"";if(g.trim()===""){a.push("");continue}if(g.length===g.trimStart().length)break;a.push(g)}let c=a.reduce((m,g)=>g.trim()===""?m:Math.min(m,g.length-g.trimStart().length),Number.POSITIVE_INFINITY),l=[],u=i[1]?.trim();u&&l.push(u);for(let m of a)l.push(m.trim()===""?"":m.slice(c));for(;l.length>0&&l[l.length-1]==="";)l.pop();let f=s.startsWith(">")?l.join(`
|
|
6
6
|
`).split(/\n{2,}/).map(m=>m.split(`
|
|
7
7
|
`).map(g=>g.trim()).filter(Boolean).join(" ")).filter(m=>m.length>0).join(`
|
|
8
8
|
|
|
9
|
-
`):
|
|
10
|
-
`).trimEnd();return(0,ye.usableCatalogText)(f)}});var
|
|
11
|
-
`),n=!1;return t.map(o=>n?
|
|
12
|
-
`)}function dg(e){return Wr(e)!==e}});var Je=W(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.redactComponentSource=E.prepareComponentInspectionText=E.fitSnapshotInspectionTextBudget=E.componentSourceContainsRedactableSecret=E.capComponentTextBytes=E.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES=E.COMPONENT_SOURCE_REDACTION_PLACEHOLDER=E.COMPONENT_INSPECTION_TEXT_MAX_BYTES=E.usableCatalogText=E.parseFrontmatterField=E.parseFrontmatterDescription=E.mcpServerToolSegmentForms=E.mcpServerNameMatchesToolSegment=E.isNpmRegistryPublisher=E.EMPTY_NPM_PUBLISHER=E.displayPublisherName=E.classifyMcpProvenance=E.resolveMcpPackageIdentity=E.McpPackageEcosystem=E.pinnedPackageVersionFromSpec=E.pinnedPackageVersionFromNpx=E.packageNameFromSpec=E.npxPackageSpecs=E.npxExecBin=E.PACKAGE_FIELD_MAX=E.serializeMcpLaunchIdentity=E.projectMcpMissingLaunchIdentity=E.projectMcpLaunchIdentity=E.normalizeMcpToolNames=E.MCP_MISSING_LAUNCH_SERIALIZED=E.MCP_LAUNCH_IDENTITY_ALGORITHM=E.maskMcpLaunchForDisplay=E.launchContainsCredentials=E.hashMcpLaunchIdentity=E.foldMcpName=E.buildMcpFamilyCanonicalKey=E.ComponentKind=void 0;E.userConfigRootFromPath=Ag;E.installationRootExternalKey=Ig;E.normalizeRepositoryRelativePath=ya;E.nativeKeyForSkillPath=bg;E.nativeKeyForRulePath=xg;E.nativeKeyForCommandPath=Og;E.serializeComponentIdentity=Ca;E.buildComponentReference=kg;E.validateComponentReference=Pg;var mg=$e("node:crypto"),gg=$e("node:path"),_g="cmp1_",hg=/^cmp1_[A-Za-z0-9_-]{43}$/,Sg=["/skills/","/skills-cursor/"],Eg=/(?:^|\/)\.(?:cursor|claude|codex)\/rules\/(.+)$/i,yg=/(?:^|\/)\.(?:cursor|claude|codex)\/(?:commands|prompts)\/(.+)$/i,Rg=[".cursor",".claude",".codex"],Cg={".claude.json":".claude",".agents":".codex"};E.ComponentKind={SKILL:"SKILL",INTERFACE:"INTERFACE",RULE:"RULE",COMMAND:"COMMAND"};function Ag(e){let t=e.replaceAll("\\","/").split("/").filter(Boolean),n=t.find(o=>Rg.includes(o));return n||(t.map(o=>Cg[o]).find(o=>o!==void 0)??"unknown")}function Ig(e,t){return`runtime-install:${e}/${t}`}function Mn(e,t){if(e.length===0)throw new Error(`${t} is required`);return e}function ya(e){let t=e.replaceAll("\\","/");if(t.startsWith("/")||/^[A-Za-z]:\//.test(t))throw new Error("sourcePath must be repository-relative");let n=gg.posix.normalize(t).replace(/^\.\//,"");if(n==="."||n===".."||n.startsWith("../"))throw new Error("sourcePath must be repository-relative");return Mn(n,"sourcePath")}function bg(e){let t=e.replaceAll("\\","/");for(let n of Sg){let r=t.split(n)[1]?.split("/")[0];if(r&&r.length>0)return r}return null}function Ra(e,t,n){let r=e.replaceAll("\\","/"),s=t.exec(r)?.[1];if(!s||s.split("/").includes(".."))return null;let i=s.replace(n,"");return i.length>0?i:null}function xg(e){return Ra(e,Eg,/\.(mdc|md|rules)$/i)}function Og(e){return Ra(e,yg,/\.(md|mdc|toml)$/i)}function Tg(e){return`${Buffer.byteLength(e,"utf8")}:${e}`}function Ca(e){let t=[Mn(e.installationRootExternalKey,"installationRootExternalKey"),Mn(e.installableKind,"installableKind"),ya(e.sourcePath),Mn(e.nativeKey,"nativeKey")];return Buffer.from(`1|${t.map(Tg).join("|")}`,"utf8")}function kg(e){let t=(0,mg.createHash)("sha256").update(Ca(e)).digest("base64url");return`${_g}${t}`}function Pg(e){return hg.test(e)}var Re=kn();Object.defineProperty(E,"buildMcpFamilyCanonicalKey",{enumerable:!0,get:function(){return Re.buildMcpFamilyCanonicalKey}});Object.defineProperty(E,"foldMcpName",{enumerable:!0,get:function(){return Re.foldMcpName}});Object.defineProperty(E,"hashMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.hashMcpLaunchIdentity}});Object.defineProperty(E,"launchContainsCredentials",{enumerable:!0,get:function(){return Re.launchContainsCredentials}});Object.defineProperty(E,"maskMcpLaunchForDisplay",{enumerable:!0,get:function(){return Re.maskMcpLaunchForDisplay}});Object.defineProperty(E,"MCP_LAUNCH_IDENTITY_ALGORITHM",{enumerable:!0,get:function(){return Re.MCP_LAUNCH_IDENTITY_ALGORITHM}});Object.defineProperty(E,"MCP_MISSING_LAUNCH_SERIALIZED",{enumerable:!0,get:function(){return Re.MCP_MISSING_LAUNCH_SERIALIZED}});Object.defineProperty(E,"normalizeMcpToolNames",{enumerable:!0,get:function(){return Re.normalizeMcpToolNames}});Object.defineProperty(E,"projectMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.projectMcpLaunchIdentity}});Object.defineProperty(E,"projectMcpMissingLaunchIdentity",{enumerable:!0,get:function(){return Re.projectMcpMissingLaunchIdentity}});Object.defineProperty(E,"serializeMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.serializeMcpLaunchIdentity}});var gt=Nn();Object.defineProperty(E,"PACKAGE_FIELD_MAX",{enumerable:!0,get:function(){return gt.PACKAGE_FIELD_MAX}});Object.defineProperty(E,"npxExecBin",{enumerable:!0,get:function(){return gt.npxExecBin}});Object.defineProperty(E,"npxPackageSpecs",{enumerable:!0,get:function(){return gt.npxPackageSpecs}});Object.defineProperty(E,"packageNameFromSpec",{enumerable:!0,get:function(){return gt.packageNameFromSpec}});Object.defineProperty(E,"pinnedPackageVersionFromNpx",{enumerable:!0,get:function(){return gt.pinnedPackageVersionFromNpx}});Object.defineProperty(E,"pinnedPackageVersionFromSpec",{enumerable:!0,get:function(){return gt.pinnedPackageVersionFromSpec}});var Aa=aa();Object.defineProperty(E,"McpPackageEcosystem",{enumerable:!0,get:function(){return Aa.McpPackageEcosystem}});Object.defineProperty(E,"resolveMcpPackageIdentity",{enumerable:!0,get:function(){return Aa.resolveMcpPackageIdentity}});var Ln=da();Object.defineProperty(E,"classifyMcpProvenance",{enumerable:!0,get:function(){return Ln.classifyMcpProvenance}});Object.defineProperty(E,"displayPublisherName",{enumerable:!0,get:function(){return Ln.displayPublisherName}});Object.defineProperty(E,"EMPTY_NPM_PUBLISHER",{enumerable:!0,get:function(){return Ln.EMPTY_NPM_PUBLISHER}});Object.defineProperty(E,"isNpmRegistryPublisher",{enumerable:!0,get:function(){return Ln.isNpmRegistryPublisher}});var Ia=ga();Object.defineProperty(E,"mcpServerNameMatchesToolSegment",{enumerable:!0,get:function(){return Ia.mcpServerNameMatchesToolSegment}});Object.defineProperty(E,"mcpServerToolSegmentForms",{enumerable:!0,get:function(){return Ia.mcpServerToolSegmentForms}});var Vr=_a();Object.defineProperty(E,"parseFrontmatterDescription",{enumerable:!0,get:function(){return Vr.parseFrontmatterDescription}});Object.defineProperty(E,"parseFrontmatterField",{enumerable:!0,get:function(){return Vr.parseFrontmatterField}});Object.defineProperty(E,"usableCatalogText",{enumerable:!0,get:function(){return Vr.usableCatalogText}});var Ve=Ea();Object.defineProperty(E,"COMPONENT_INSPECTION_TEXT_MAX_BYTES",{enumerable:!0,get:function(){return Ve.COMPONENT_INSPECTION_TEXT_MAX_BYTES}});Object.defineProperty(E,"COMPONENT_SOURCE_REDACTION_PLACEHOLDER",{enumerable:!0,get:function(){return Ve.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}});Object.defineProperty(E,"SNAPSHOT_INSPECTION_TEXT_MAX_BYTES",{enumerable:!0,get:function(){return Ve.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES}});Object.defineProperty(E,"capComponentTextBytes",{enumerable:!0,get:function(){return Ve.capComponentTextBytes}});Object.defineProperty(E,"componentSourceContainsRedactableSecret",{enumerable:!0,get:function(){return Ve.componentSourceContainsRedactableSecret}});Object.defineProperty(E,"fitSnapshotInspectionTextBudget",{enumerable:!0,get:function(){return Ve.fitSnapshotInspectionTextBudget}});Object.defineProperty(E,"prepareComponentInspectionText",{enumerable:!0,get:function(){return Ve.prepareComponentInspectionText}});Object.defineProperty(E,"redactComponentSource",{enumerable:!0,get:function(){return Ve.redactComponentSource}})});var Jn=W(Se=>{"use strict";Se.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Se.find=(e,t)=>e.nodes.find(n=>n.type===t);Se.exceedsLimit=(e,t,n=1,r)=>r===!1||!Se.isInteger(e)||!Se.isInteger(t)?!1:(Number(t)-Number(e))/Number(n)>=r;Se.escapeNode=(e,t=0,n)=>{let r=e.nodes[t];r&&(n&&r.type===n||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};Se.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;Se.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Se.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Se.reduce=e=>e.reduce((t,n)=>(n.type==="text"&&t.push(n.value),n.type==="range"&&(n.type="text"),t),[]);Se.flatten=(...e)=>{let t=[],n=r=>{for(let o=0;o<r.length;o++){let s=r[o];if(Array.isArray(s)){n(s);continue}s!==void 0&&t.push(s)}return t};return n(e),t}});var Yn=W((ux,su)=>{"use strict";var ou=Jn();su.exports=(e,t={})=>{let n=(r,o={})=>{let s=t.escapeInvalid&&ou.isInvalidBrace(o),i=r.invalid===!0&&t.escapeInvalid===!0,a="";if(r.value)return(s||i)&&ou.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=n(c);return a};return n(e)}});var au=W((lx,iu)=>{"use strict";iu.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var _u=W((fx,gu)=>{"use strict";var cu=au(),nt=(e,t,n)=>{if(cu(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(cu(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...n};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let o=String(r.relaxZeros),s=String(r.shorthand),i=String(r.capture),a=String(r.wrap),c=e+":"+t+"="+o+s+i+a;if(nt.cache.hasOwnProperty(c))return nt.cache[c].result;let u=Math.min(e,t),l=Math.max(e,t);if(Math.abs(u-l)===1){let S=e+"|"+t;return r.capture?`(${S})`:r.wrap===!1?S:`(?:${S})`}let p=mu(e)||mu(t),f={min:e,max:t,a:u,b:l},m=[],g=[];if(p&&(f.isPadded=p,f.maxLen=String(f.max).length),u<0){let S=l<0?Math.abs(l):1;g=uu(S,Math.abs(u),f,r),u=f.a=0}return l>=0&&(m=uu(u,l,f,r)),f.negatives=g,f.positives=m,f.result=cS(g,m,r),r.capture===!0?f.result=`(${f.result})`:r.wrap!==!1&&m.length+g.length>1&&(f.result=`(?:${f.result})`),nt.cache[c]=f,f.result};function cS(e,t,n){let r=Oo(e,t,"-",!1,n)||[],o=Oo(t,e,"",!1,n)||[],s=Oo(e,t,"-?",!0,n)||[];return r.concat(s).concat(o).join("|")}function uS(e,t){let n=1,r=1,o=fu(e,n),s=new Set([t]);for(;e<=o&&o<=t;)s.add(o),n+=1,o=fu(e,n);for(o=pu(t+1,r)-1;e<o&&o<=t;)s.add(o),r+=1,o=pu(t+1,r)-1;return s=[...s],s.sort(pS),s}function lS(e,t,n){if(e===t)return{pattern:e,count:[],digits:0};let r=fS(e,t),o=r.length,s="",i=0;for(let a=0;a<o;a++){let[c,u]=r[a];c===u?s+=c:c!=="0"||u!=="9"?s+=dS(c,u,n):i++}return i&&(s+=n.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[i],digits:o}}function uu(e,t,n,r){let o=uS(e,t),s=[],i=e,a;for(let c=0;c<o.length;c++){let u=o[c],l=lS(String(i),String(u),r),p="";if(!n.isPadded&&a&&a.pattern===l.pattern){a.count.length>1&&a.count.pop(),a.count.push(l.count[0]),a.string=a.pattern+du(a.count),i=u+1;continue}n.isPadded&&(p=mS(u,n,r)),l.string=p+l.pattern+du(l.count),s.push(l),i=u+1,a=l}return s}function Oo(e,t,n,r,o){let s=[];for(let i of e){let{string:a}=i;!r&&!lu(t,"string",a)&&s.push(n+a),r&&lu(t,"string",a)&&s.push(n+a)}return s}function fS(e,t){let n=[];for(let r=0;r<e.length;r++)n.push([e[r],t[r]]);return n}function pS(e,t){return e>t?1:t>e?-1:0}function lu(e,t,n){return e.some(r=>r[t]===n)}function fu(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function pu(e,t){return e-e%Math.pow(10,t)}function du(e){let[t=0,n=""]=e;return n||t>1?`{${t+(n?","+n:"")}}`:""}function dS(e,t,n){return`[${e}${t-e===1?"":"-"}${t}]`}function mu(e){return/^-?(0+)\d/.test(e)}function mS(e,t,n){if(!t.isPadded)return e;let r=Math.abs(t.maxLen-String(e).length),o=n.relaxZeros!==!1;switch(r){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${r}}`:`0{${r}}`}}nt.cache={};nt.clearCache=()=>nt.cache={};gu.exports=nt});var Po=W((px,Au)=>{"use strict";var gS=$e("util"),Su=_u(),hu=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),_S=e=>t=>e===!0?Number(t):String(t),To=e=>typeof e=="number"||typeof e=="string"&&e!=="",zt=e=>Number.isInteger(+e),ko=e=>{let t=`${e}`,n=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++n]==="0";);return n>0},hS=(e,t,n)=>typeof e=="string"||typeof t=="string"?!0:n.stringify===!0,SS=(e,t,n)=>{if(t>0){let r=e[0]==="-"?"-":"";r&&(e=e.slice(1)),e=r+e.padStart(r?t-1:t,"0")}return n===!1?String(e):e},qn=(e,t)=>{let n=e[0]==="-"?"-":"";for(n&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return n?"-"+e:e},ES=(e,t,n)=>{e.negatives.sort((a,c)=>a<c?-1:a>c?1:0),e.positives.sort((a,c)=>a<c?-1:a>c?1:0);let r=t.capture?"":"?:",o="",s="",i;return e.positives.length&&(o=e.positives.map(a=>qn(String(a),n)).join("|")),e.negatives.length&&(s=`-(${r}${e.negatives.map(a=>qn(String(a),n)).join("|")})`),o&&s?i=`${o}|${s}`:i=o||s,t.wrap?`(${r}${i})`:i},Eu=(e,t,n,r)=>{if(n)return Su(e,t,{wrap:!1,...r});let o=String.fromCharCode(e);if(e===t)return o;let s=String.fromCharCode(t);return`[${o}-${s}]`},yu=(e,t,n)=>{if(Array.isArray(e)){let r=n.wrap===!0,o=n.capture?"":"?:";return r?`(${o}${e.join("|")})`:e.join("|")}return Su(e,t,n)},Ru=(...e)=>new RangeError("Invalid range arguments: "+gS.inspect(...e)),Cu=(e,t,n)=>{if(n.strictRanges===!0)throw Ru([e,t]);return[]},yS=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},RS=(e,t,n=1,r={})=>{let o=Number(e),s=Number(t);if(!Number.isInteger(o)||!Number.isInteger(s)){if(r.strictRanges===!0)throw Ru([e,t]);return[]}o===0&&(o=0),s===0&&(s=0);let i=o>s,a=String(e),c=String(t),u=String(n);n=Math.max(Math.abs(n),1);let l=ko(a)||ko(c)||ko(u),p=l?Math.max(a.length,c.length,u.length):0,f=l===!1&&hS(e,t,r)===!1,m=r.transform||_S(f);if(r.toRegex&&n===1)return Eu(qn(e,p),qn(t,p),!0,r);let g={negatives:[],positives:[]},S=T=>g[T<0?"negatives":"positives"].push(Math.abs(T)),C=[],A=0;for(;i?o>=s:o<=s;)r.toRegex===!0&&n>1?S(o):C.push(SS(m(o,A),p,f)),o=i?o-n:o+n,A++;return r.toRegex===!0?n>1?ES(g,r,p):yu(C,null,{wrap:!1,...r}):C},CS=(e,t,n=1,r={})=>{if(!zt(e)&&e.length>1||!zt(t)&&t.length>1)return Cu(e,t,r);let o=r.transform||(f=>String.fromCharCode(f)),s=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),a=s>i,c=Math.min(s,i),u=Math.max(s,i);if(r.toRegex&&n===1)return Eu(c,u,!1,r);let l=[],p=0;for(;a?s>=i:s<=i;)l.push(o(s,p)),s=a?s-n:s+n,p++;return r.toRegex===!0?yu(l,null,{wrap:!1,options:r}):l},Xn=(e,t,n,r={})=>{if(t==null&&To(e))return[e];if(!To(e)||!To(t))return Cu(e,t,r);if(typeof n=="function")return Xn(e,t,1,{transform:n});if(hu(n))return Xn(e,t,0,n);let o={...r};return o.capture===!0&&(o.wrap=!0),n=n||o.step||1,zt(n)?zt(e)&&zt(t)?RS(e,t,n,o):CS(e,t,Math.max(Math.abs(n),1),o):n!=null&&!hu(n)?yS(n,o):Xn(e,t,1,n)};Au.exports=Xn});var xu=W((dx,bu)=>{"use strict";var AS=Po(),Iu=Jn(),IS=(e,t={})=>{let n=(r,o={})=>{let s=Iu.isInvalidBrace(o),i=r.invalid===!0&&t.escapeInvalid===!0,a=s===!0||i===!0,c=t.escapeInvalid===!0?"\\":"",u="";if(r.isOpen===!0)return c+r.value;if(r.isClose===!0)return console.log("node.isClose",c,r.value),c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let l=Iu.reduce(r.nodes),p=AS(...l,{...t,wrap:!1,toRegex:!0,strictZeros:!0});if(p.length!==0)return l.length>1&&p.length>1?`(${p})`:p}if(r.nodes)for(let l of r.nodes)u+=n(l,r);return u};return n(e)};bu.exports=IS});var ku=W((mx,Tu)=>{"use strict";var bS=Po(),Ou=Yn(),ht=Jn(),rt=(e="",t="",n=!1)=>{let r=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return n?ht.flatten(t).map(o=>`{${o}}`):t;for(let o of e)if(Array.isArray(o))for(let s of o)r.push(rt(s,t,n));else for(let s of t)n===!0&&typeof s=="string"&&(s=`{${s}}`),r.push(Array.isArray(s)?rt(o,s,n):o+s);return ht.flatten(r)},xS=(e,t={})=>{let n=t.rangeLimit===void 0?1e3:t.rangeLimit,r=(o,s={})=>{o.queue=[];let i=s,a=s.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,a=i.queue;if(o.invalid||o.dollar){a.push(rt(a.pop(),Ou(o,t)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){a.push(rt(a.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let p=ht.reduce(o.nodes);if(ht.exceedsLimit(...p,t.step,n))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=bS(...p,t);f.length===0&&(f=Ou(o,t)),a.push(rt(a.pop(),f)),o.nodes=[];return}let c=ht.encloseBrace(o),u=o.queue,l=o;for(;l.type!=="brace"&&l.type!=="root"&&l.parent;)l=l.parent,u=l.queue;for(let p=0;p<o.nodes.length;p++){let f=o.nodes[p];if(f.type==="comma"&&o.type==="brace"){p===1&&u.push(""),u.push("");continue}if(f.type==="close"){a.push(rt(a.pop(),u,c));continue}if(f.value&&f.type!=="open"){u.push(rt(u.pop(),f.value));continue}f.nodes&&r(f,o)}return u};return ht.flatten(r(e))};Tu.exports=xS});var Nu=W((gx,Pu)=>{"use strict";Pu.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
13
|
-
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Hu=W((_x,vu)=>{"use strict";var OS=Yn(),{MAX_LENGTH:wu,CHAR_BACKSLASH:No,CHAR_BACKTICK:TS,CHAR_COMMA:kS,CHAR_DOT:PS,CHAR_LEFT_PARENTHESES:NS,CHAR_RIGHT_PARENTHESES:wS,CHAR_LEFT_CURLY_BRACE:MS,CHAR_RIGHT_CURLY_BRACE:LS,CHAR_LEFT_SQUARE_BRACKET:Mu,CHAR_RIGHT_SQUARE_BRACKET:Lu,CHAR_DOUBLE_QUOTE:vS,CHAR_SINGLE_QUOTE:HS,CHAR_NO_BREAK_SPACE:US,CHAR_ZERO_WIDTH_NOBREAK_SPACE:DS}=Nu(),FS=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let n=t||{},r=typeof n.maxLength=="number"?Math.min(wu,n.maxLength):wu;if(e.length>r)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${r})`);let o={type:"root",input:e,nodes:[]},s=[o],i=o,a=o,c=0,u=e.length,l=0,p=0,f,m=()=>e[l++],g=S=>{if(S.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&S.type==="text"){a.value+=S.value;return}return i.nodes.push(S),S.parent=i,S.prev=a,a=S,S};for(g({type:"bos"});l<u;)if(i=s[s.length-1],f=m(),!(f===DS||f===US)){if(f===No){g({type:"text",value:(t.keepEscaping?f:"")+m()});continue}if(f===Lu){g({type:"text",value:"\\"+f});continue}if(f===Mu){c++;let S;for(;l<u&&(S=m());){if(f+=S,S===Mu){c++;continue}if(S===No){f+=m();continue}if(S===Lu&&(c--,c===0))break}g({type:"text",value:f});continue}if(f===NS){i=g({type:"paren",nodes:[]}),s.push(i),g({type:"text",value:f});continue}if(f===wS){if(i.type!=="paren"){g({type:"text",value:f});continue}i=s.pop(),g({type:"text",value:f}),i=s[s.length-1];continue}if(f===vS||f===HS||f===TS){let S=f,C;for(t.keepQuotes!==!0&&(f="");l<u&&(C=m());){if(C===No){f+=C+m();continue}if(C===S){t.keepQuotes===!0&&(f+=C);break}f+=C}g({type:"text",value:f});continue}if(f===MS){p++;let C={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||i.dollar===!0,depth:p,commas:0,ranges:0,nodes:[]};i=g(C),s.push(i),g({type:"open",value:f});continue}if(f===LS){if(i.type!=="brace"){g({type:"text",value:f});continue}let S="close";i=s.pop(),i.close=!0,g({type:S,value:f}),p--,i=s[s.length-1];continue}if(f===kS&&p>0){if(i.ranges>0){i.ranges=0;let S=i.nodes.shift();i.nodes=[S,{type:"text",value:OS(i)}]}g({type:"comma",value:f}),i.commas++;continue}if(f===PS&&p>0&&i.commas===0){let S=i.nodes;if(p===0||S.length===0){g({type:"text",value:f});continue}if(a.type==="dot"){if(i.range=[],a.value+=f,a.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,a.type="text";continue}i.ranges++,i.args=[];continue}if(a.type==="range"){S.pop();let C=S[S.length-1];C.value+=a.value+f,a=C,i.ranges--;continue}g({type:"dot",value:f});continue}g({type:"text",value:f})}do if(i=s.pop(),i.type!=="root"){i.nodes.forEach(A=>{A.nodes||(A.type==="open"&&(A.isOpen=!0),A.type==="close"&&(A.isClose=!0),A.nodes||(A.type="text"),A.invalid=!0)});let S=s[s.length-1],C=S.nodes.indexOf(i);S.nodes.splice(C,1,...i.nodes)}while(s.length>0);return g({type:"eos"}),o};vu.exports=FS});var Fu=W((hx,Du)=>{"use strict";var Uu=Yn(),$S=xu(),jS=ku(),BS=Hu(),de=(e,t={})=>{let n=[];if(Array.isArray(e))for(let r of e){let o=de.create(r,t);Array.isArray(o)?n.push(...o):n.push(o)}else n=[].concat(de.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(n=[...new Set(n)]),n};de.parse=(e,t={})=>BS(e,t);de.stringify=(e,t={})=>Uu(typeof e=="string"?de.parse(e,t):e,t);de.compile=(e,t={})=>(typeof e=="string"&&(e=de.parse(e,t)),$S(e,t));de.expand=(e,t={})=>{typeof e=="string"&&(e=de.parse(e,t));let n=jS(e,t);return t.noempty===!0&&(n=n.filter(Boolean)),t.nodupes===!0&&(n=[...new Set(n)]),n};de.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?de.compile(e,t):de.expand(e,t);Du.exports=de});var Wt=W((Sx,Gu)=>{"use strict";var KS=$e("path"),ke="\\\\/",$u=`[^${ke}]`,GS=0,De="\\.",zS="\\+",WS="\\?",Zn="\\/",VS="(?=.)",ju="[^/]",wo=`(?:${Zn}|$)`,Bu=`(?:^|${Zn})`,Mo=`${De}{1,2}${wo}`,JS=`(?!${De})`,YS=`(?!${Bu}${Mo})`,XS=`(?!${De}{0,1}${wo})`,qS=`(?!${Mo})`,ZS=`[^.${Zn}]`,QS=`${ju}*?`,Ku={DOT_LITERAL:De,PLUS_LITERAL:zS,QMARK_LITERAL:WS,SLASH_LITERAL:Zn,ONE_CHAR:VS,QMARK:ju,END_ANCHOR:wo,DOTS_SLASH:Mo,NO_DOT:JS,NO_DOTS:YS,NO_DOT_SLASH:XS,NO_DOTS_SLASH:qS,QMARK_NO_DOT:ZS,STAR:QS,START_ANCHOR:Bu},eE={...Ku,SLASH_LITERAL:`[${ke}]`,QMARK:$u,STAR:`${$u}*?`,DOTS_SLASH:`${De}{1,2}(?:[${ke}]|$)`,NO_DOT:`(?!${De})`,NO_DOTS:`(?!(?:^|[${ke}])${De}{1,2}(?:[${ke}]|$))`,NO_DOT_SLASH:`(?!${De}{0,1}(?:[${ke}]|$))`,NO_DOTS_SLASH:`(?!${De}{1,2}(?:[${ke}]|$))`,QMARK_NO_DOT:`[^.${ke}]`,START_ANCHOR:`(?:^|[${ke}])`,END_ANCHOR:`(?:[${ke}]|$)`},tE={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Gu.exports={DEFAULT_MAX_EXTGLOB_RECURSION:GS,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:tE,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:KS.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?eE:Ku}}});var Vt=W(ae=>{"use strict";var nE=$e("path"),rE=process.platform==="win32",{REGEX_BACKSLASH:oE,REGEX_REMOVE_BACKSLASH:sE,REGEX_SPECIAL_CHARS:iE,REGEX_SPECIAL_CHARS_GLOBAL:aE}=Wt();ae.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);ae.hasRegexChars=e=>iE.test(e);ae.isRegexChar=e=>e.length===1&&ae.hasRegexChars(e);ae.escapeRegex=e=>e.replace(aE,"\\$1");ae.toPosixSlashes=e=>e.replace(oE,"/");ae.removeBackslashes=e=>e.replace(sE,t=>t==="\\"?"":t);ae.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};ae.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:rE===!0||nE.sep==="\\";ae.escapeLast=(e,t,n)=>{let r=e.lastIndexOf(t,n);return r===-1?e:e[r-1]==="\\"?ae.escapeLast(e,t,r-1):`${e.slice(0,r)}\\${e.slice(r)}`};ae.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n};ae.wrapOutput=(e,t={},n={})=>{let r=n.contains?"":"^",o=n.contains?"":"$",s=`${r}(?:${e})${o}`;return t.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Zu=W((yx,qu)=>{"use strict";var zu=Vt(),{CHAR_ASTERISK:Lo,CHAR_AT:cE,CHAR_BACKWARD_SLASH:Jt,CHAR_COMMA:uE,CHAR_DOT:vo,CHAR_EXCLAMATION_MARK:Ho,CHAR_FORWARD_SLASH:Xu,CHAR_LEFT_CURLY_BRACE:Uo,CHAR_LEFT_PARENTHESES:Do,CHAR_LEFT_SQUARE_BRACKET:lE,CHAR_PLUS:fE,CHAR_QUESTION_MARK:Wu,CHAR_RIGHT_CURLY_BRACE:pE,CHAR_RIGHT_PARENTHESES:Vu,CHAR_RIGHT_SQUARE_BRACKET:dE}=Wt(),Ju=e=>e===Xu||e===Jt,Yu=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},mE=(e,t)=>{let n=t||{},r=e.length-1,o=n.parts===!0||n.scanToEnd===!0,s=[],i=[],a=[],c=e,u=-1,l=0,p=0,f=!1,m=!1,g=!1,S=!1,C=!1,A=!1,T=!1,x=!1,M=!1,k=!1,K=0,D,b,N={value:"",depth:0,isGlob:!1},H=()=>u>=r,d=()=>c.charCodeAt(u+1),I=()=>(D=b,c.charCodeAt(++u));for(;u<r;){b=I();let se;if(b===Jt){T=N.backslashes=!0,b=I(),b===Uo&&(A=!0);continue}if(A===!0||b===Uo){for(K++;H()!==!0&&(b=I());){if(b===Jt){T=N.backslashes=!0,I();continue}if(b===Uo){K++;continue}if(A!==!0&&b===vo&&(b=I())===vo){if(f=N.isBrace=!0,g=N.isGlob=!0,k=!0,o===!0)continue;break}if(A!==!0&&b===uE){if(f=N.isBrace=!0,g=N.isGlob=!0,k=!0,o===!0)continue;break}if(b===pE&&(K--,K===0)){A=!1,f=N.isBrace=!0,k=!0;break}}if(o===!0)continue;break}if(b===Xu){if(s.push(u),i.push(N),N={value:"",depth:0,isGlob:!1},k===!0)continue;if(D===vo&&u===l+1){l+=2;continue}p=u+1;continue}if(n.noext!==!0&&(b===fE||b===cE||b===Lo||b===Wu||b===Ho)===!0&&d()===Do){if(g=N.isGlob=!0,S=N.isExtglob=!0,k=!0,b===Ho&&u===l&&(M=!0),o===!0){for(;H()!==!0&&(b=I());){if(b===Jt){T=N.backslashes=!0,b=I();continue}if(b===Vu){g=N.isGlob=!0,k=!0;break}}continue}break}if(b===Lo){if(D===Lo&&(C=N.isGlobstar=!0),g=N.isGlob=!0,k=!0,o===!0)continue;break}if(b===Wu){if(g=N.isGlob=!0,k=!0,o===!0)continue;break}if(b===lE){for(;H()!==!0&&(se=I());){if(se===Jt){T=N.backslashes=!0,I();continue}if(se===dE){m=N.isBracket=!0,g=N.isGlob=!0,k=!0;break}}if(o===!0)continue;break}if(n.nonegate!==!0&&b===Ho&&u===l){x=N.negated=!0,l++;continue}if(n.noparen!==!0&&b===Do){if(g=N.isGlob=!0,o===!0){for(;H()!==!0&&(b=I());){if(b===Do){T=N.backslashes=!0,b=I();continue}if(b===Vu){k=!0;break}}continue}break}if(g===!0){if(k=!0,o===!0)continue;break}}n.noext===!0&&(S=!1,g=!1);let U=c,ue="",_="";l>0&&(ue=c.slice(0,l),c=c.slice(l),p-=l),U&&g===!0&&p>0?(U=c.slice(0,p),_=c.slice(p)):g===!0?(U="",_=c):U=c,U&&U!==""&&U!=="/"&&U!==c&&Ju(U.charCodeAt(U.length-1))&&(U=U.slice(0,-1)),n.unescape===!0&&(_&&(_=zu.removeBackslashes(_)),U&&T===!0&&(U=zu.removeBackslashes(U)));let h={prefix:ue,input:e,start:l,base:U,glob:_,isBrace:f,isBracket:m,isGlob:g,isExtglob:S,isGlobstar:C,negated:x,negatedExtglob:M};if(n.tokens===!0&&(h.maxDepth=0,Ju(b)||i.push(N),h.tokens=i),n.parts===!0||n.tokens===!0){let se;for(let F=0;F<s.length;F++){let Ce=se?se+1:l,Ae=s[F],le=e.slice(Ce,Ae);n.tokens&&(F===0&&l!==0?(i[F].isPrefix=!0,i[F].value=ue):i[F].value=le,Yu(i[F]),h.maxDepth+=i[F].depth),(F!==0||le!=="")&&a.push(le),se=Ae}if(se&&se+1<e.length){let F=e.slice(se+1);a.push(F),n.tokens&&(i[i.length-1].value=F,Yu(i[i.length-1]),h.maxDepth+=i[i.length-1].depth)}h.slashes=s,h.parts=a}return h};qu.exports=mE});var rl=W((Rx,nl)=>{"use strict";var Yt=Wt(),oe=Vt(),{MAX_LENGTH:Qn,POSIX_REGEX_SOURCE:gE,REGEX_NON_SPECIAL_CHARS:_E,REGEX_SPECIAL_CHARS_BACKREF:hE,REPLACEMENTS:Qu}=Yt,SE=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n)}catch{return e.map(o=>oe.escapeRegex(o)).join("..")}return n},St=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,el=e=>{let t=[],n=0,r=0,o=0,s="",i=!1;for(let a of e){if(i===!0){s+=a,i=!1;continue}if(a==="\\"){s+=a,i=!0;continue}if(a==='"'){o=o===1?0:1,s+=a;continue}if(o===0){if(a==="[")n++;else if(a==="]"&&n>0)n--;else if(n===0){if(a==="(")r++;else if(a===")"&&r>0)r--;else if(a==="|"&&r===0){t.push(s),s="";continue}}}s+=a}return t.push(s),t},EE=e=>{let t=!1;for(let n of e){if(t===!0){t=!1;continue}if(n==="\\"){t=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},tl=e=>{let t=e.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(t)&&(t=t.slice(2,-1),n=!0);if(EE(t))return t.replace(/\\(.)/g,"$1")},yE=e=>{let t=e.map(tl).filter(Boolean);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let o=t[n],s=t[r],i=o[0];if(!(!i||o!==i.repeat(o.length)||s!==i.repeat(s.length))&&(o===s||o.startsWith(s)||s.startsWith(o)))return!0}return!1},Fo=(e,t=!0)=>{if(e[0]!=="+"&&e[0]!=="*"||e[1]!=="(")return;let n=0,r=0,o=0,s=!1;for(let i=1;i<e.length;i++){let a=e[i];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){o=o===1?0:1;continue}if(o!==1){if(a==="["){n++;continue}if(a==="]"&&n>0){n--;continue}if(!(n>0)){if(a==="("){r++;continue}if(a===")"&&(r--,r===0))return t===!0&&i!==e.length-1?void 0:{type:e[0],body:e.slice(2,i),end:i}}}}},RE=e=>{let t=0,n=[];for(;t<e.length;){let o=Fo(e.slice(t),!1);if(!o||o.type!=="*")return;let s=el(o.body).map(a=>a.trim());if(s.length!==1)return;let i=tl(s[0]);if(!i||i.length!==1)return;n.push(i),t+=o.end+1}return n.length<1?void 0:`${n.length===1?oe.escapeRegex(n[0]):`[${n.map(o=>oe.escapeRegex(o)).join("")}]`}*`},CE=e=>{let t=0,n=e.trim(),r=Fo(n);for(;r;)t++,n=r.body.trim(),r=Fo(n);return t},AE=(e,t)=>{if(t.maxExtglobRecursion===!1)return{risky:!1};let n=typeof t.maxExtglobRecursion=="number"?t.maxExtglobRecursion:Yt.DEFAULT_MAX_EXTGLOB_RECURSION,r=el(e).map(o=>o.trim());if(r.length>1&&(r.some(o=>o==="")||r.some(o=>/^[*?]+$/.test(o))||yE(r)))return{risky:!0};for(let o of r){let s=RE(o);if(s)return{risky:!0,safeOutput:s};if(CE(o)>n)return{risky:!0}}return{risky:!1}},$o=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=Qu[e]||e;let n={...t},r=typeof n.maxLength=="number"?Math.min(Qn,n.maxLength):Qn,o=e.length;if(o>r)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},i=[s],a=n.capture?"":"?:",c=oe.isWindows(t),u=Yt.globChars(c),l=Yt.extglobChars(u),{DOT_LITERAL:p,PLUS_LITERAL:f,SLASH_LITERAL:m,ONE_CHAR:g,DOTS_SLASH:S,NO_DOT:C,NO_DOT_SLASH:A,NO_DOTS_SLASH:T,QMARK:x,QMARK_NO_DOT:M,STAR:k,START_ANCHOR:K}=u,D=R=>`(${a}(?:(?!${K}${R.dot?S:p}).)*?)`,b=n.dot?"":C,N=n.dot?x:M,H=n.bash===!0?D(n):k;n.capture&&(H=`(${H})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let d={input:e,index:-1,start:0,dot:n.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};e=oe.removePrefix(e,d),o=e.length;let I=[],U=[],ue=[],_=s,h,se=()=>d.index===o-1,F=d.peek=(R=1)=>e[d.index+R],Ce=d.advance=()=>e[++d.index]||"",Ae=()=>e.slice(d.index+1),le=(R="",J=0)=>{d.consumed+=R,d.index+=J},an=R=>{d.output+=R.output!=null?R.output:R.value,le(R.value)},pp=()=>{let R=1;for(;F()==="!"&&(F(2)!=="("||F(3)==="?");)Ce(),d.start++,R++;return R%2===0?!1:(d.negated=!0,d.start++,!0)},cn=R=>{d[R]++,ue.push(R)},Fe=R=>{d[R]--,ue.pop()},w=R=>{if(_.type==="globstar"){let J=d.braces>0&&(R.type==="comma"||R.type==="brace"),y=R.extglob===!0||I.length&&(R.type==="pipe"||R.type==="paren");R.type!=="slash"&&R.type!=="paren"&&!J&&!y&&(d.output=d.output.slice(0,-_.output.length),_.type="star",_.value="*",_.output=H,d.output+=_.output)}if(I.length&&R.type!=="paren"&&(I[I.length-1].inner+=R.value),(R.value||R.output)&&an(R),_&&_.type==="text"&&R.type==="text"){_.value+=R.value,_.output=(_.output||"")+R.value;return}R.prev=_,i.push(R),_=R},un=(R,J)=>{let y={...l[J],conditions:1,inner:""};y.prev=_,y.parens=d.parens,y.output=d.output,y.startIndex=d.index,y.tokensIndex=i.length;let P=(n.capture?"(":"")+y.open;cn("parens"),w({type:R,value:J,output:d.output?"":g}),w({type:"paren",extglob:!0,value:Ce(),output:P}),I.push(y)},dp=R=>{let J=e.slice(R.startIndex,d.index+1),y=e.slice(R.startIndex+2,d.index),P=AE(y,n);if((R.type==="plus"||R.type==="star")&&P.risky){let G=P.safeOutput?(R.output?"":g)+(n.capture?`(${P.safeOutput})`:P.safeOutput):void 0,Ie=i[R.tokensIndex];Ie.type="text",Ie.value=J,Ie.output=G||oe.escapeRegex(J);for(let be=R.tokensIndex+1;be<i.length;be++)i[be].value="",i[be].output="",delete i[be].suffix;d.output=R.output+Ie.output,d.backtrack=!0,w({type:"paren",extglob:!0,value:h,output:""}),Fe("parens");return}let z=R.close+(n.capture?")":""),re;if(R.type==="negate"){let G=H;if(R.inner&&R.inner.length>1&&R.inner.includes("/")&&(G=D(n)),(G!==H||se()||/^\)+$/.test(Ae()))&&(z=R.close=`)$))${G}`),R.inner.includes("*")&&(re=Ae())&&/^\.[^\\/.]+$/.test(re)){let Ie=$o(re,{...t,fastpaths:!1}).output;z=R.close=`)${Ie})${G})`}R.prev.type==="bos"&&(d.negatedExtglob=!0)}w({type:"paren",extglob:!0,value:h,output:z}),Fe("parens")};if(n.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let R=!1,J=e.replace(hE,(y,P,z,re,G,Ie)=>re==="\\"?(R=!0,y):re==="?"?P?P+re+(G?x.repeat(G.length):""):Ie===0?N+(G?x.repeat(G.length):""):x.repeat(z.length):re==="."?p.repeat(z.length):re==="*"?P?P+re+(G?H:""):H:P?y:`\\${y}`);return R===!0&&(n.unescape===!0?J=J.replace(/\\/g,""):J=J.replace(/\\+/g,y=>y.length%2===0?"\\\\":y?"\\":"")),J===e&&n.contains===!0?(d.output=e,d):(d.output=oe.wrapOutput(J,d,t),d)}for(;!se();){if(h=Ce(),h==="\0")continue;if(h==="\\"){let y=F();if(y==="/"&&n.bash!==!0||y==="."||y===";")continue;if(!y){h+="\\",w({type:"text",value:h});continue}let P=/^\\+/.exec(Ae()),z=0;if(P&&P[0].length>2&&(z=P[0].length,d.index+=z,z%2!==0&&(h+="\\")),n.unescape===!0?h=Ce():h+=Ce(),d.brackets===0){w({type:"text",value:h});continue}}if(d.brackets>0&&(h!=="]"||_.value==="["||_.value==="[^")){if(n.posix!==!1&&h===":"){let y=_.value.slice(1);if(y.includes("[")&&(_.posix=!0,y.includes(":"))){let P=_.value.lastIndexOf("["),z=_.value.slice(0,P),re=_.value.slice(P+2),G=gE[re];if(G){_.value=z+G,d.backtrack=!0,Ce(),!s.output&&i.indexOf(_)===1&&(s.output=g);continue}}}(h==="["&&F()!==":"||h==="-"&&F()==="]")&&(h=`\\${h}`),h==="]"&&(_.value==="["||_.value==="[^")&&(h=`\\${h}`),n.posix===!0&&h==="!"&&_.value==="["&&(h="^"),_.value+=h,an({value:h});continue}if(d.quotes===1&&h!=='"'){h=oe.escapeRegex(h),_.value+=h,an({value:h});continue}if(h==='"'){d.quotes=d.quotes===1?0:1,n.keepQuotes===!0&&w({type:"text",value:h});continue}if(h==="("){cn("parens"),w({type:"paren",value:h});continue}if(h===")"){if(d.parens===0&&n.strictBrackets===!0)throw new SyntaxError(St("opening","("));let y=I[I.length-1];if(y&&d.parens===y.parens+1){dp(I.pop());continue}w({type:"paren",value:h,output:d.parens?")":"\\)"}),Fe("parens");continue}if(h==="["){if(n.nobracket===!0||!Ae().includes("]")){if(n.nobracket!==!0&&n.strictBrackets===!0)throw new SyntaxError(St("closing","]"));h=`\\${h}`}else cn("brackets");w({type:"bracket",value:h});continue}if(h==="]"){if(n.nobracket===!0||_&&_.type==="bracket"&&_.value.length===1){w({type:"text",value:h,output:`\\${h}`});continue}if(d.brackets===0){if(n.strictBrackets===!0)throw new SyntaxError(St("opening","["));w({type:"text",value:h,output:`\\${h}`});continue}Fe("brackets");let y=_.value.slice(1);if(_.posix!==!0&&y[0]==="^"&&!y.includes("/")&&(h=`/${h}`),_.value+=h,an({value:h}),n.literalBrackets===!1||oe.hasRegexChars(y))continue;let P=oe.escapeRegex(_.value);if(d.output=d.output.slice(0,-_.value.length),n.literalBrackets===!0){d.output+=P,_.value=P;continue}_.value=`(${a}${P}|${_.value})`,d.output+=_.value;continue}if(h==="{"&&n.nobrace!==!0){cn("braces");let y={type:"brace",value:h,output:"(",outputIndex:d.output.length,tokensIndex:d.tokens.length};U.push(y),w(y);continue}if(h==="}"){let y=U[U.length-1];if(n.nobrace===!0||!y){w({type:"text",value:h,output:h});continue}let P=")";if(y.dots===!0){let z=i.slice(),re=[];for(let G=z.length-1;G>=0&&(i.pop(),z[G].type!=="brace");G--)z[G].type!=="dots"&&re.unshift(z[G].value);P=SE(re,n),d.backtrack=!0}if(y.comma!==!0&&y.dots!==!0){let z=d.output.slice(0,y.outputIndex),re=d.tokens.slice(y.tokensIndex);y.value=y.output="\\{",h=P="\\}",d.output=z;for(let G of re)d.output+=G.output||G.value}w({type:"brace",value:h,output:P}),Fe("braces"),U.pop();continue}if(h==="|"){I.length>0&&I[I.length-1].conditions++,w({type:"text",value:h});continue}if(h===","){let y=h,P=U[U.length-1];P&&ue[ue.length-1]==="braces"&&(P.comma=!0,y="|"),w({type:"comma",value:h,output:y});continue}if(h==="/"){if(_.type==="dot"&&d.index===d.start+1){d.start=d.index+1,d.consumed="",d.output="",i.pop(),_=s;continue}w({type:"slash",value:h,output:m});continue}if(h==="."){if(d.braces>0&&_.type==="dot"){_.value==="."&&(_.output=p);let y=U[U.length-1];_.type="dots",_.output+=h,_.value+=h,y.dots=!0;continue}if(d.braces+d.parens===0&&_.type!=="bos"&&_.type!=="slash"){w({type:"text",value:h,output:p});continue}w({type:"dot",value:h,output:p});continue}if(h==="?"){if(!(_&&_.value==="(")&&n.noextglob!==!0&&F()==="("&&F(2)!=="?"){un("qmark",h);continue}if(_&&_.type==="paren"){let P=F(),z=h;if(P==="<"&&!oe.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(_.value==="("&&!/[!=<:]/.test(P)||P==="<"&&!/<([!=]|\w+>)/.test(Ae()))&&(z=`\\${h}`),w({type:"text",value:h,output:z});continue}if(n.dot!==!0&&(_.type==="slash"||_.type==="bos")){w({type:"qmark",value:h,output:M});continue}w({type:"qmark",value:h,output:x});continue}if(h==="!"){if(n.noextglob!==!0&&F()==="("&&(F(2)!=="?"||!/[!=<:]/.test(F(3)))){un("negate",h);continue}if(n.nonegate!==!0&&d.index===0){pp();continue}}if(h==="+"){if(n.noextglob!==!0&&F()==="("&&F(2)!=="?"){un("plus",h);continue}if(_&&_.value==="("||n.regex===!1){w({type:"plus",value:h,output:f});continue}if(_&&(_.type==="bracket"||_.type==="paren"||_.type==="brace")||d.parens>0){w({type:"plus",value:h});continue}w({type:"plus",value:f});continue}if(h==="@"){if(n.noextglob!==!0&&F()==="("&&F(2)!=="?"){w({type:"at",extglob:!0,value:h,output:""});continue}w({type:"text",value:h});continue}if(h!=="*"){(h==="$"||h==="^")&&(h=`\\${h}`);let y=_E.exec(Ae());y&&(h+=y[0],d.index+=y[0].length),w({type:"text",value:h});continue}if(_&&(_.type==="globstar"||_.star===!0)){_.type="star",_.star=!0,_.value+=h,_.output=H,d.backtrack=!0,d.globstar=!0,le(h);continue}let R=Ae();if(n.noextglob!==!0&&/^\([^?]/.test(R)){un("star",h);continue}if(_.type==="star"){if(n.noglobstar===!0){le(h);continue}let y=_.prev,P=y.prev,z=y.type==="slash"||y.type==="bos",re=P&&(P.type==="star"||P.type==="globstar");if(n.bash===!0&&(!z||R[0]&&R[0]!=="/")){w({type:"star",value:h,output:""});continue}let G=d.braces>0&&(y.type==="comma"||y.type==="brace"),Ie=I.length&&(y.type==="pipe"||y.type==="paren");if(!z&&y.type!=="paren"&&!G&&!Ie){w({type:"star",value:h,output:""});continue}for(;R.slice(0,3)==="/**";){let be=e[d.index+4];if(be&&be!=="/")break;R=R.slice(3),le("/**",3)}if(y.type==="bos"&&se()){_.type="globstar",_.value+=h,_.output=D(n),d.output=_.output,d.globstar=!0,le(h);continue}if(y.type==="slash"&&y.prev.type!=="bos"&&!re&&se()){d.output=d.output.slice(0,-(y.output+_.output).length),y.output=`(?:${y.output}`,_.type="globstar",_.output=D(n)+(n.strictSlashes?")":"|$)"),_.value+=h,d.globstar=!0,d.output+=y.output+_.output,le(h);continue}if(y.type==="slash"&&y.prev.type!=="bos"&&R[0]==="/"){let be=R[1]!==void 0?"|$":"";d.output=d.output.slice(0,-(y.output+_.output).length),y.output=`(?:${y.output}`,_.type="globstar",_.output=`${D(n)}${m}|${m}${be})`,_.value+=h,d.output+=y.output+_.output,d.globstar=!0,le(h+Ce()),w({type:"slash",value:"/",output:""});continue}if(y.type==="bos"&&R[0]==="/"){_.type="globstar",_.value+=h,_.output=`(?:^|${m}|${D(n)}${m})`,d.output=_.output,d.globstar=!0,le(h+Ce()),w({type:"slash",value:"/",output:""});continue}d.output=d.output.slice(0,-_.output.length),_.type="globstar",_.output=D(n),_.value+=h,d.output+=_.output,d.globstar=!0,le(h);continue}let J={type:"star",value:h,output:H};if(n.bash===!0){J.output=".*?",(_.type==="bos"||_.type==="slash")&&(J.output=b+J.output),w(J);continue}if(_&&(_.type==="bracket"||_.type==="paren")&&n.regex===!0){J.output=h,w(J);continue}(d.index===d.start||_.type==="slash"||_.type==="dot")&&(_.type==="dot"?(d.output+=A,_.output+=A):n.dot===!0?(d.output+=T,_.output+=T):(d.output+=b,_.output+=b),F()!=="*"&&(d.output+=g,_.output+=g)),w(J)}for(;d.brackets>0;){if(n.strictBrackets===!0)throw new SyntaxError(St("closing","]"));d.output=oe.escapeLast(d.output,"["),Fe("brackets")}for(;d.parens>0;){if(n.strictBrackets===!0)throw new SyntaxError(St("closing",")"));d.output=oe.escapeLast(d.output,"("),Fe("parens")}for(;d.braces>0;){if(n.strictBrackets===!0)throw new SyntaxError(St("closing","}"));d.output=oe.escapeLast(d.output,"{"),Fe("braces")}if(n.strictSlashes!==!0&&(_.type==="star"||_.type==="bracket")&&w({type:"maybe_slash",value:"",output:`${m}?`}),d.backtrack===!0){d.output="";for(let R of d.tokens)d.output+=R.output!=null?R.output:R.value,R.suffix&&(d.output+=R.suffix)}return d};$o.fastpaths=(e,t)=>{let n={...t},r=typeof n.maxLength=="number"?Math.min(Qn,n.maxLength):Qn,o=e.length;if(o>r)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${r}`);e=Qu[e]||e;let s=oe.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:u,NO_DOT:l,NO_DOTS:p,NO_DOTS_SLASH:f,STAR:m,START_ANCHOR:g}=Yt.globChars(s),S=n.dot?p:l,C=n.dot?f:l,A=n.capture?"":"?:",T={negated:!1,prefix:""},x=n.bash===!0?".*?":m;n.capture&&(x=`(${x})`);let M=b=>b.noglobstar===!0?x:`(${A}(?:(?!${g}${b.dot?u:i}).)*?)`,k=b=>{switch(b){case"*":return`${S}${c}${x}`;case".*":return`${i}${c}${x}`;case"*.*":return`${S}${x}${i}${c}${x}`;case"*/*":return`${S}${x}${a}${c}${C}${x}`;case"**":return S+M(n);case"**/*":return`(?:${S}${M(n)}${a})?${C}${c}${x}`;case"**/*.*":return`(?:${S}${M(n)}${a})?${C}${x}${i}${c}${x}`;case"**/.*":return`(?:${S}${M(n)}${a})?${i}${c}${x}`;default:{let N=/^(.*?)\.(\w+)$/.exec(b);if(!N)return;let H=k(N[1]);return H?H+i+N[2]:void 0}}},K=oe.removePrefix(e,T),D=k(K);return D&&n.strictSlashes!==!0&&(D+=`${a}?`),D};nl.exports=$o});var sl=W((Cx,ol)=>{"use strict";var IE=$e("path"),bE=Zu(),jo=rl(),Bo=Vt(),xE=Wt(),OE=e=>e&&typeof e=="object"&&!Array.isArray(e),Q=(e,t,n=!1)=>{if(Array.isArray(e)){let l=e.map(f=>Q(f,t,n));return f=>{for(let m of l){let g=m(f);if(g)return g}return!1}}let r=OE(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let o=t||{},s=Bo.isWindows(t),i=r?Q.compileRe(e,t):Q.makeRe(e,t,!1,!0),a=i.state;delete i.state;let c=()=>!1;if(o.ignore){let l={...t,ignore:null,onMatch:null,onResult:null};c=Q(o.ignore,l,n)}let u=(l,p=!1)=>{let{isMatch:f,match:m,output:g}=Q.test(l,i,t,{glob:e,posix:s}),S={glob:e,state:a,regex:i,posix:s,input:l,output:g,match:m,isMatch:f};return typeof o.onResult=="function"&&o.onResult(S),f===!1?(S.isMatch=!1,p?S:!1):c(l)?(typeof o.onIgnore=="function"&&o.onIgnore(S),S.isMatch=!1,p?S:!1):(typeof o.onMatch=="function"&&o.onMatch(S),p?S:!0)};return n&&(u.state=a),u};Q.test=(e,t,n,{glob:r,posix:o}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let s=n||{},i=s.format||(o?Bo.toPosixSlashes:null),a=e===r,c=a&&i?i(e):e;return a===!1&&(c=i?i(e):e,a=c===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Q.matchBase(e,t,n,o):a=t.exec(c)),{isMatch:!!a,match:a,output:c}};Q.matchBase=(e,t,n,r=Bo.isWindows(n))=>(t instanceof RegExp?t:Q.makeRe(t,n)).test(IE.basename(e));Q.isMatch=(e,t,n)=>Q(t,n)(e);Q.parse=(e,t)=>Array.isArray(e)?e.map(n=>Q.parse(n,t)):jo(e,{...t,fastpaths:!1});Q.scan=(e,t)=>bE(e,t);Q.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let o=t||{},s=o.contains?"":"^",i=o.contains?"":"$",a=`${s}(?:${e.output})${i}`;e&&e.negated===!0&&(a=`^(?!${a}).*$`);let c=Q.toRegex(a,t);return r===!0&&(c.state=e),c};Q.makeRe=(e,t={},n=!1,r=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(o.output=jo.fastpaths(e,t)),o.output||(o=jo(e,t)),Q.compileRe(o,t,n,r)};Q.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(n){if(t&&t.debug===!0)throw n;return/$^/}};Q.constants=xE;ol.exports=Q});var al=W((Ax,il)=>{"use strict";il.exports=sl()});var dl=W((Ix,pl)=>{"use strict";var ul=$e("util"),ll=Fu(),Pe=al(),Ko=Vt(),cl=e=>e===""||e==="./",fl=e=>{let t=e.indexOf("{");return t>-1&&e.indexOf("}",t)>-1},V=(e,t,n)=>{t=[].concat(t),e=[].concat(e);let r=new Set,o=new Set,s=new Set,i=0,a=l=>{s.add(l.output),n&&n.onResult&&n.onResult(l)};for(let l=0;l<t.length;l++){let p=Pe(String(t[l]),{...n,onResult:a},!0),f=p.state.negated||p.state.negatedExtglob;f&&i++;for(let m of e){let g=p(m,!0);(f?!g.isMatch:g.isMatch)&&(f?r.add(g.output):(r.delete(g.output),o.add(g.output)))}}let u=(i===t.length?[...s]:[...o]).filter(l=>!r.has(l));if(n&&u.length===0){if(n.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(n.nonull===!0||n.nullglob===!0)return n.unescape?t.map(l=>l.replace(/\\/g,"")):t}return u};V.match=V;V.matcher=(e,t)=>Pe(e,t);V.isMatch=(e,t,n)=>Pe(t,n)(e);V.any=V.isMatch;V.not=(e,t,n={})=>{t=[].concat(t).map(String);let r=new Set,o=[],s=a=>{n.onResult&&n.onResult(a),o.push(a.output)},i=new Set(V(e,t,{...n,onResult:s}));for(let a of o)i.has(a)||r.add(a);return[...r]};V.contains=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${ul.inspect(e)}"`);if(Array.isArray(t))return t.some(r=>V.contains(e,r,n));if(typeof t=="string"){if(cl(e)||cl(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return V.isMatch(e,t,{...n,contains:!0})};V.matchKeys=(e,t,n)=>{if(!Ko.isObject(e))throw new TypeError("Expected the first argument to be an object");let r=V(Object.keys(e),t,n),o={};for(let s of r)o[s]=e[s];return o};V.some=(e,t,n)=>{let r=[].concat(e);for(let o of[].concat(t)){let s=Pe(String(o),n);if(r.some(i=>s(i)))return!0}return!1};V.every=(e,t,n)=>{let r=[].concat(e);for(let o of[].concat(t)){let s=Pe(String(o),n);if(!r.every(i=>s(i)))return!1}return!0};V.all=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${ul.inspect(e)}"`);return[].concat(t).every(r=>Pe(r,n)(e))};V.capture=(e,t,n)=>{let r=Ko.isWindows(n),s=Pe.makeRe(String(e),{...n,capture:!0}).exec(r?Ko.toPosixSlashes(t):t);if(s)return s.slice(1).map(i=>i===void 0?"":i)};V.makeRe=(...e)=>Pe.makeRe(...e);V.scan=(...e)=>Pe.scan(...e);V.parse=(e,t)=>{let n=[];for(let r of[].concat(e||[]))for(let o of ll(String(r),t))n.push(Pe.parse(o,t));return n};V.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!fl(e)?[e]:ll(e,t)};V.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return V.braces(e,{...t,expand:!0})};V.hasBraces=fl;pl.exports=V});import{existsSync as kp,readFileSync as Pp}from"node:fs";import{hostname as js,userInfo as Np}from"node:os";import{createHash as yp,randomBytes as Rp}from"node:crypto";import{existsSync as hr,mkdirSync as Cp,readdirSync as Ap,readFileSync as Ip,renameSync as ws,statSync as Hs,unlinkSync as Ms,writeFileSync as bp}from"node:fs";import{basename as xp,dirname as Ls,join as Us,relative as Op}from"node:path";function O(e){process.stderr.write(`[ev-ai-agent-hook] ${e}
|
|
14
|
-
`)}function Ot(e){return e.replace(/^([a-z]+:\/\/)[^/@]+@/i,"$1")}function Tt(e){return yp("sha256").update(e).digest("hex").slice(0,32)}function me(e,t){Cp(Ls(e),{recursive:!0});let n=Us(Ls(e),`.${xp(e)}.${process.pid}.${Rp(4).toString("hex")}.tmp`);try{bp(n,t,"utf8");try{ws(n,e)}catch(r){let o=r instanceof Error&&"code"in r?r.code:void 0;if(o==="EEXIST"||o==="EPERM"||o==="EACCES"){Ms(e),ws(n,e);return}throw r}}catch(r){try{Ms(n)}catch{}throw r}}function ln(){return new Date().toISOString().replace(/\.\d{3}Z$/,"Z")}function Sr(){process.stdout.write('{"continue":true}')}function L(e){let t=process.env[e];return t===void 0||t===""?void 0:t}async function Er(){return new Promise(e=>{let t="";if(process.stdin.isTTY){e("");return}process.stdin.setEncoding("utf8"),process.stdin.on("data",n=>{t+=n}),process.stdin.on("end",()=>{e(t)}),process.stdin.on("error",()=>{e(t)}),process.stdin.resume()})}async function fn(e){return new Promise(t=>{let n="",r=!1,o=i=>{r||(r=!0,clearTimeout(s),t(i||"{}"))},s=setTimeout(()=>{o(n)},e);if(process.stdin.isTTY){o("{}");return}process.stdin.setEncoding("utf8"),process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>{o(n)}),process.stdin.on("error",()=>{o(n)}),process.stdin.resume()})}async function Ee(e,t,n=3e3,r={}){let{execFile:o}=await import("node:child_process"),{promisify:s}=await import("node:util"),i=s(o);try{let{stdout:a}=await i(e,t,{timeout:n,windowsHide:!0,maxBuffer:1048576,cwd:r.cwd});return{ok:!0,stdout:a.trim()}}catch(a){let c=a,u=typeof c.code=="number"?c.code:typeof c.status=="number"?c.status:void 0;return{ok:!1,code:u,spawnFailed:u===void 0}}}async function ee(e,t,n=3e3,r={}){let o=await Ee(e,t,n,r);return o.ok?o.stdout:""}async function yr(e=process.cwd()){let t=await Ee("git",["rev-parse","--show-toplevel"],2e3,{cwd:e});if(t.ok&&t.stdout)return{root:t.stdout,inGitRepo:!0};if(L("EV_AI_HOOK_DEBUG")){let r=t.ok?"empty stdout":t.spawnFailed?"spawn failed":`exit ${String(t.code??"unknown")}`;O(`DEBUG: git rev-parse --show-toplevel failed (${r}) cwd=${e}`)}let n=L("CURSOR_PROJECT_DIR")??L("CLAUDE_PROJECT_DIR");if(n&&hr(n)){let r=await Ee("git",["rev-parse","--show-toplevel"],2e3,{cwd:n});return r.ok&&r.stdout?{root:r.stdout,inGitRepo:!0}:{root:n,inGitRepo:!1}}return{root:e,inGitRepo:!1}}async function Rr(e=process.cwd()){return(await yr(e)).root}function ge(e,t){try{return JSON.parse(e)}catch{return t}}var vs=new Map;function pn(e){return e.charCodeAt(0)===65279?e.slice(1):e}function Tp(e){let t;try{t=Ip(e,"utf8")}catch{return{ok:!1,reason:"read"}}try{return{ok:!0,value:JSON.parse(pn(t))}}catch{return{ok:!1,reason:"parse"}}}function Ds(e){let t=vs.get(e);if(t!==void 0)return t;let n=Tp(e);return vs.set(e,n),n}function Fs(e){return Ds(e)}function te(e,t){let n=Ds(e);return n.ok?n.value:t}function qe(e){return typeof e=="string"?e:""}function Me(e,t){let n=e[t];if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return n;if(!t.includes("."))return;let r=t.split("."),o=e;for(let s of r){if(o===null||typeof o!="object"||Array.isArray(o))return;o=o[s]}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean")return o}function v(e,t){let n=Me(e,t);return typeof n=="string"?n:""}var Be=500;function $s(e,t=2){if(!hr(e))return{entries:[],truncated:!1};let n=[],r=!1,o=(s,i)=>{if(i>t||r)return;let a;try{a=Ap(s,{withFileTypes:!0})}catch{return}for(let c of a){if(r)return;let u=Us(s,c.name);if(c.isDirectory()){o(u,i+1);continue}if(c.isFile()){try{n.push({name:Op(e,u),size:Hs(u).size})}catch{continue}if(n.length>=Be){r=!0;return}}}};return o(e,1),{entries:n,truncated:r}}function Cr(e){return hr(e)?{present:!0,size:Hs(e).size}:{present:!1,size:0}}function lt(e){if(e===void 0||e==="")return!1;let t=e.trim().toLowerCase();return t!=="0"&&t!=="false"&&t!=="no"}function Bs(e=process.env){return lt(Y("CURSOR_SANDBOX",e))}var wp=["CIRCLECI","BUILDKITE","TF_BUILD","JENKINS_URL","JENKINS_HOME","CODEBUILD_BUILD_ID","DRONE","DRONE_BUILD_NUMBER","TEAMCITY_VERSION","TRAVIS","APPVEYOR","BITBUCKET_BUILD_NUMBER"];function Mp(e){return wp.some(t=>!!Y(t,e))}function Lp(e){if(Y("KUBERNETES_SERVICE_HOST",e)||lt(Y("REMOTE_CONTAINERS",e))||lt(Y("DEVCONTAINER",e)))return!0;try{if(kp("/.dockerenv")||Pp("/proc/1/environ","utf8").includes("container="))return!0}catch{}return!1}function Ks(e){return["VSCODE_PID","VSCODE_IPC_HOOK","CURSOR_EXTENSION_HOST_ROLE","CURSOR_WORKSPACE_LABEL"].some(t=>!!Y(t,e))}function vp(e,t=process.platform){return Ks(e)?t==="darwin"||t==="win32"?!0:["__CFBundleIdentifier","DISPLAY","WAYLAND_DISPLAY","SESSIONNAME"].some(n=>!!Y(n,e)):!1}function Hp(e){return e===void 0?!1:e.trim().toLowerCase().startsWith("bc-")}function Up(e){return e==="linux"}function Y(e,t){if(t){let n=t[e];return n===void 0||n===""?void 0:n}return L(e)}function Dp(e,t,n){return e.trim().toLowerCase()==="cursor"&&t.trim().toLowerCase()==="ubuntu"&&!!Fp(Y("CURSOR_VERSION",n))}function Fp(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function Ar(e){if(Hp(e.sessionId))return!0;let t=e.hostname??js(),n=e.osUser??zs(e.env);return Dp(t,n,e.env)}function $p(e){return lt(Y("CURSOR_AGENT",e.env))?!0:Ar(e)}function jp(e){return!!(process.stdin.isTTY||process.stdout.isTTY||(Y("TERM",e)??Y("TERM_PROGRAM",e))||(Y("SSH_TTY",e)??Y("SSH_CONNECTION",e))||(Y("__CFBundleIdentifier",e)??Y("XPC_SERVICE_NAME",e))||Ks(e)||["DISPLAY","WAYLAND_DISPLAY","XDG_SESSION_TYPE","DBUS_SESSION_BUS_ADDRESS"].some(t=>!!Y(t,e))||Y("SESSIONNAME",e))}function kt(e={}){let t=e.env;if(Y("GITHUB_ACTIONS",t))return"github_actions";if(lt(Y("CLAUDE_CODE_REMOTE",t)))return"claude_remote";let n=e.platform??process.platform;if(!vp(t,n)&&$p(e)&&(lt(Y("CURSOR_AGENT",t))||Up(n)))return"cursor_cloud";if(Y("CODESPACES",t)||Y("CODESPACE_NAME",t))return"codespaces";if(Y("GITLAB_CI",t))return"gitlab_ci";if(Mp(t))return"managed";let r=Y("CI",t);return r&&r!=="false"&&r!=="0"?"managed":Lp(t)?"container":jp(t)?"interactive":"unknown"}async function Gs(){return await ee("systemd-detect-virt",[],1e3)}function zs(e=process.env,t=Np){for(let n of["USER","LOGNAME","USERNAME"]){let r=e[n];if(typeof r=="string"){let o=r.trim();if(o.length>0)return o}}try{return t().username??""}catch{return""}}async function Ws(){let e=process.platform==="darwin"?"Darwin":process.platform==="win32"?"Windows_NT":"Linux",t="";if(process.platform==="darwin")t=await ee("sw_vers",["-productVersion"],1e3);else if(process.platform==="linux"){try{let{readFileSync:s}=await import("node:fs"),i=s("/etc/os-release","utf8"),a=i.match(/^PRETTY_NAME="?([^"\n]+)"?/m)?.[1],c=i.match(/^VERSION_ID="?([^"\n]+)"?/m)?.[1];t=a??c??""}catch{t=await ee("lsb_release",["-sd"],1e3).then(s=>s.replace(/^"|"$/g,""))}t||(t=await ee("uname",["-r"],1e3))}else t=await ee("ver",[],1e3);let n=zs(),r=(process.env.SHELL??"").split(/[/\\]/).pop()??"",o="";try{o=await ee("tty",[],500),o.includes("not a tty")&&(o="")}catch{o=""}return{os:e,os_version:t||null,user:n||null,shell:r||null,tty:o||null}}function dn(){return js()}import{createHash as Bp}from"node:crypto";import{homedir as Kp}from"node:os";import{dirname as pA,join as Gp,parse as dA,resolve as mA}from"node:path";var Vs="EV_AI_LAUNCHER_VERSION";var Js="EV_AI_HOOK_SOURCE",Ys="EV_AI_HOOK_FALLBACK_REASON",Xs="EV_AI_LAUNCHER_SCOPE",Ir="EV_AI_LAUNCHER_READY_FD";var qs="--defer-user-spec",mn="--cap",Zs=Buffer.from([1]);var nA=1024*1024,rA=4*1024*1024,oA=64*1024,sA=64*1024,iA=64*1024;var br=4096,aA=4*1024*1024;var ti="https://hooks.ev-ai.ai",ni=".claude/ev-ai-runtime-report.json",ri="config.json",zp="max_concurrent_hooks",hA=1024*1024,Wp=new Set(["localhost","127.0.0.1","[::1]","::1"]),Vp=["claude","cursor","codex"],oi=[ni,".cursor/ev-ai-runtime-report.json",".codex/ev-ai-runtime-report.json"],xr=/^[A-Za-z0-9._~-]+$/;function gn(e){return e!==void 0&&Vp.includes(e)}function si(e){if(!e||typeof e!="object")return;let t=e[zp];return typeof t=="number"&&Number.isSafeInteger(t)&&t>0?t:void 0}function Qs(e){if(e===void 0||!/^\d+$/.test(e))return;let t=Number(e);return Number.isSafeInteger(t)?t:void 0}function Pt(e,t){let n=e[t+1];return n&&!n.startsWith("--")?{value:n,next:t+1}:{next:t}}function Or(e){let t,n,r,o,s,i;for(let a=0;a<e.length;a++){let c=e[a];if(c!==void 0){if(c==="--runner"){let u=Pt(e,a);t=u.value,a=u.next;continue}if(c.startsWith("--runner=")){t=c.slice(9);continue}if(c==="--url"){let u=Pt(e,a);u.value&&(r=u.value),a=u.next;continue}if(c.startsWith("--url=")){r=c.slice(6);continue}if(c==="--token"){let u=Pt(e,a);u.value&&(o=u.value),a=u.next;continue}if(c.startsWith("--token=")){o=c.slice(8);continue}if(c==="--base-url"){let u=Pt(e,a);u.value&&(s=u.value),a=u.next;continue}if(c.startsWith("--base-url=")){s=c.slice(11);continue}if(c===mn){let u=Pt(e,a);i=Qs(u.value)??i,a=u.next;continue}if(c.startsWith(`${mn}=`)){i=Qs(c.slice(mn.length+1))??i;continue}c!==qs&&!c.startsWith("-")&&n===void 0&&(n=c)}}return{runner:gn(t)?t:void 0,event:n,collectorUrl:r,orgToken:o,baseUrl:s,...i!==void 0?{cap:i}:{}}}function _n(e,t=ti){let n=t.replace(/\/+$/,""),r=e.trim();return`${n}/${r}/hook`}function Nt(e=Kp()){return Gp(e,".ev-ai",ri)}function ii(e,t){return{...e,...t}}function ei(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<=32||n===127||n===39)return!0}return!1}function hn(e){try{let t=new URL(e);return t.protocol==="https:"?!0:t.protocol==="http:"?Wp.has(t.hostname):!1}catch{return!1}}function Tr(e){try{let n=new URL(e).pathname.split("/").filter(r=>r.length>0);if(n.length>=2&&n[n.length-1]==="hook"){let r=n[n.length-2];return r&&r.length>0?r:void 0}return}catch{return}}function kr(e){let t;try{t=new URL(e)}catch{return`invalid URL (got: ${e})`}if(!hn(e))return`must be https (or http on localhost / 127.0.0.1 / ::1) (got: ${e})`;let n=Tr(e);if(!n)return`must end with /{orgToken}/hook (got: ${e})`;if(!xr.test(n))return`org token must match ${xr.source} (got: ${n})`;if(ei(e))return`must not contain whitespace, control characters, or single quotes (got: ${e})`;if(ei(t.pathname))return`pathname must not contain whitespace, control characters, or single quotes (got: ${e})`}function ai(e){return new URL(e).toString()}function Pr(e){if(e.collector_url)return e.collector_url;let t=e.repo_ingest_token,n=typeof t=="string"?t.trim():void 0;return n?_n(n):""}function Sn(e){try{let t=new URL(e),n=t.pathname.split("/").filter(r=>r.length>0);return n.length>=2&&n[n.length-1]==="hook"&&(n[n.length-2]="***",t.pathname=`/${n.join("/")}`),t.toString()}catch{return"<invalid-url>"}}function ci(e){let t=e.collectorUrl?.trim(),n;if(t)n=t;else{let o=e.orgToken?.trim();o&&(n=_n(o,e.baseUrl?.trim()??void 0))}if(!n)return{};let r=kr(n);return r?{problem:r}:{url:ai(n)}}function wt(e){if(kr(e))return;let t;try{t=new URL(e)}catch{return}let n=Tr(e);if(!n)return;let o=t.pathname.split("/").filter(a=>a.length>0).slice(0,-2),s=o.length>0?`/${o.join("/")}`:"",i=`${t.origin}${s}/${n}`;return Bp("sha256").update(i).digest("hex").slice(0,32)}var yn=2;var En="ev-ai-agent-hook";function Jp(e){let t=e.split(/[/\\]/).pop();return t&&t.length>0?t:e}function ui(e){let t=Jp(e);return t===En||t===`${En}.exe`}var EA=`current/${En}`,yA=`.ev-ai/agent-hook/${En}`,li=5e3,fi=5e3,Nr=3e3;var Rn=3e3,pi=1500,di=4*1024,wr=256*1024,Yp=4*1024,mi=32*1024,Mr="1.3.4",RA=`@ev-ai/agent-hook@${Mr}`;import{existsSync as a_,mkdirSync as c_,readdirSync as u_,readFileSync as l_,unlinkSync as Ga,writeFileSync as f_}from"node:fs";import{homedir as za}from"node:os";import{join as eo}from"node:path";import{createHash as Ei,randomBytes as Zp}from"node:crypto";import{existsSync as yi,mkdirSync as Lr,readFileSync as Ri,unlinkSync as Ci,writeFileSync as Ai}from"node:fs";import{homedir as vr}from"node:os";import{dirname as Cn,join as Hr,resolve as Qp}from"node:path";var Xp=new Set(["action@github.com","noreply@github.com","noreply@anthropic.com","cursoragent@cursor.com"]),qp=new Set(["github-actions","github actions","dependabot","renovate","cursoragent","cursor agent"]);function fe(e,t){let n=(e??"").trim().toLowerCase(),r=(t??"").trim().toLowerCase();if(!n&&!r)return!1;if(n.includes("[bot]")||qp.has(n)||r.includes("[bot]")||Xp.has(r))return!0;if(r.endsWith("@users.noreply.github.com")){let o=r.slice(0,r.indexOf("@")),s=o.includes("+")?o.slice(o.indexOf("+")+1):o;if(s.endsWith("bot")||s.includes("[bot]"))return!0}return!1}var ed="installation.json",td="cloud-bootstrap.lock",nd=6e4;function Ii(e,t,n){let r=`${e}:${t??""}`;return n?`${n}:${r}`:r}function pe(e=vr()){return Hr(e,".ev-ai","agent-hook")}function rd(e=vr()){return Hr(pe(e),ed)}function bi(e){return Hr(Cn(e),td)}function xi(){return Zp(8).toString("hex")}function ft(e){return Ei("sha256").update(e).digest("hex").slice(0,16)}function $(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function Oi(e){return/^[A-Za-z0-9._-]{8,64}$/.test(e)}function od(e=process.env){let t=$(e.EV_AI_HOOK_INSTALLATION_ID);if(t){if(!Oi(t)){O(`WARN: ignoring EV_AI_HOOK_INSTALLATION_ID (expected 8\u201364 chars [A-Za-z0-9._-], got length ${t.length})`);return}return t}}function Ti(e,t){return e&&Oi(e)?e:(e&&O(`WARN: ignoring installation id override (expected 8\u201364 chars [A-Za-z0-9._-], got length ${e.length})`),od(t))}function sd(e){return/^[0-9a-f]{16}$/.test(e)}function id(e=process.env){if($(e.GITHUB_ACTIONS)){let t=$(e.GITHUB_REPOSITORY_ID)??$(e.GITHUB_REPOSITORY),n=$(e.GITHUB_ACTOR)??$(e.GITHUB_TRIGGERING_ACTOR)??$(e.GITHUB_USER);if(t&&n)return ft(`github_actions|${t}|${n}`)}if($(e.CODESPACES)||$(e.CODESPACE_NAME)){let t=$(e.CODESPACE_NAME);if(t)return ft(`codespaces|${t}`);let n=$(e.GITHUB_REPOSITORY_ID)??$(e.GITHUB_REPOSITORY),r=$(e.GITHUB_USER)??$(e.GITHUB_ACTOR);if(n&&r)return ft(`codespaces|${n}|${r}`)}if($(e.GITLAB_CI)){let t=$(e.CI_PROJECT_ID)??$(e.CI_PROJECT_PATH),n=$(e.GITLAB_USER_LOGIN)??$(e.GITLAB_USER_EMAIL)??$(e.GITLAB_USER_NAME);if(t&&n)return ft(`gitlab|${t}|${n}`)}return null}var ad="cursoragent@cursor.com";function cd(e){let t=$(e.CURSOR_USER_EMAIL);return!t||t.toLowerCase()===ad?null:t}function ud(e,t){return $(e.CURSOR_PROJECT_DIR)??$(e.CLAUDE_PROJECT_DIR)??t}function ld(e){return Ot(e).replace(/\.git$/i,"").toLowerCase()}async function fd(e){let t=await ee("git",["config","--get","remote.origin.url"],2e3,{cwd:e});return t?ld(t):e}async function pd(e){let t=$(await ee("git",["config","--local","--get","user.email"],2e3,{cwd:e})||void 0);if(t&&!fe(null,t))return t;let n=$(await ee("git",["log","-1","--format=%ae"],2e3,{cwd:e})||void 0);return n&&!fe(null,n)?n:null}function dd(e,t){let n=ud(e,t);return n?ft(`cursor_cloud|${n}|${cd(e)??""}`):null}async function md(e,t){let n=$(e.CLAUDE_PROJECT_DIR)??t;if(!n)return null;let r=await fd(n),o=await pd(n);return ft(`claude_remote|${r}|${o??""}`)}function gi(e,t){let n=Ti(e,t);if(n)return n;let r=id(t);return r||xi()}async function gd(e){let n=await ee("git",["config","--get","remote.origin.url"],2e3,{cwd:e})||Qp(e);return Ei("sha256").update(n).digest("hex").slice(0,16)}function _d(e){if(!e||typeof e!="object"||Array.isArray(e))return;let t={};for(let[n,r]of Object.entries(e))typeof r=="string"&&r.length>0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function hd(e){try{let t=JSON.parse(e);if(typeof t.installation_id!="string"||t.installation_id.length===0)return;let n=_d(t.platform_agent_ids);return{installation_id:t.installation_id,...t.pinned===!0?{pinned:!0}:{},...n?{platform_agent_ids:n}:{},...typeof t.operator_identity_hash=="string"?{operator_identity_hash:t.operator_identity_hash}:{},...typeof t.operator_identity_sent_at=="string"?{operator_identity_sent_at:t.operator_identity_sent_at}:{}}}catch{return}}function Ze(e){if(yi(e))try{return hd(Ri(e,"utf8"))}catch{}}function Ur(e){return Ze(e)}function ki(e,t,n){let r=Ze(e);if(!r||r.operator_identity_hash===t&&r.operator_identity_sent_at===n)return;let o={...r,operator_identity_hash:t,operator_identity_sent_at:n};try{me(e,`${JSON.stringify(o,null,2)}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
`)}catch(s){let i=s instanceof Error?s.message:String(s);
|
|
18
|
-
`,{encoding:"utf8",flag:"wx"})}function
|
|
19
|
-
`)}function Si(e,t){return{installation_id:e,...t&&t===e?{pinned:!0}:{}}}async function vi(e,t={}){let n=t.home??vr(),r=t.env??process.env,o=await gd(e),s=rd(n),i={sessionId:t.sessionId,hostname:$(r.HOSTNAME)??void 0,osUser:$(r.USER)??$(r.LOGNAME)??$(r.USERNAME)??void 0,env:r},a=kt(i),c=Ti(t.overrideId,r),u=a==="cursor_cloud"&&Ar(i)?dd(r,e):a==="claude_remote"?await md(r,e):null,l=Ze(s);if(l){let S=l;if(c&&c===l.installation_id&&l.pinned!==!0&&(S={...l,pinned:!0},hi(s,S)),!!u&&u!==S.installation_id&&!c&&S.pinned!==!0&&sd(S.installation_id)&&u){let A={installation_id:u,...S.platform_agent_ids?{platform_agent_ids:S.platform_agent_ids}:{}};return hi(s,A),{installationId:u,storePath:s,repoKey:o}}return{installationId:S.installation_id,storePath:s,repoKey:o}}let p=c??u??gi(void 0,r),f=_i(s,Si(p,c));if(f)return{installationId:f.installation_id,storePath:s,repoKey:o};let m=c??u??gi(void 0,r),g=_i(s,Si(m===p?xi():m,c));if(g)return{installationId:g.installation_id,storePath:s,repoKey:o};throw new Error(`Failed to create installation record at ${s}`)}import{open as Hi,mkdir as Ed,readFile as yd,readdir as Rd,rename as Cd,stat as Ad,rmdir as Id,unlink as bd,utimes as xd}from"node:fs/promises";var An=new WeakMap;function Di(e){if(e&&typeof e=="object"&&"code"in e)return e}function Mt(e){return Di(e)?.code==="ENOENT"}function In(e){return Di(e)?.code==="EEXIST"}async function Fi(e,t){try{return await e.readdir(t)}catch(n){if(Mt(n))return[];throw n}}function $i(){return{async open(e,t){let n=await Hi(e,t),r={path:e};return An.set(r,n),r},async write(e,t){let n=Ui(e),r=typeof t=="string"?Buffer.from(t,"utf8"):t;await n.write(r)},async fsync(e){await Ui(e).sync()},async close(e){let t=An.get(e);An.delete(e),t&&await t.close()},rename:Cd,async readdir(e){return Rd(e)},readFile:yd,async stat(e){let t=await Ad(e);return{mtimeMs:t.mtimeMs,size:t.size,isDirectory:()=>t.isDirectory()}},async mkdir(e,t){await Ed(e,t)},unlink:bd,rmdir:Id,utimes:xd,async fsyncDir(e){if(process.platform==="win32")return;let t=await Hi(e,"r");try{await t.sync()}finally{await t.close()}}}}function Ui(e){let t=An.get(e);if(!t)throw new Error("closed");return t}import{existsSync as Kd}from"node:fs";import{existsSync as Md}from"node:fs";import{homedir as Ki}from"node:os";import{join as Ld}from"node:path";import{existsSync as Od,readdirSync as ji}from"node:fs";import{homedir as bn}from"node:os";import{join as ie}from"node:path";function Td(e=process.platform){switch(e){case"darwin":return"/Library/Application Support/ClaudeCode";case"win32":return ie(process.env.ProgramFiles??"C:\\Program Files","ClaudeCode");default:return"/etc/claude-code"}}function kd(e=process.platform){let t=Td(e),n=[ie(t,"managed-settings.json")],r=ie(t,"managed-settings.d");try{if(!Od(r))return n;let o=ji(r).filter(s=>s.endsWith(".json")&&!s.startsWith(".")).sort().map(s=>ie(r,s));n.push(...o)}catch{}return n}function Dr(e=process.platform,t=bn()){return{serverManaged:ie(t,".claude","remote-settings.json"),fileBased:kd(e)}}function Pd(e=process.platform){switch(e){case"darwin":return"/Library/Application Support/Cursor";case"win32":return ie(process.env.ProgramData??"C:\\ProgramData","Cursor");default:return"/etc/cursor"}}function Nd(e=process.platform,t=bn()){let n=[ie(Pd(e),"hooks.json")],r=ie(t,".cursor","managed");try{for(let o of ji(r,{withFileTypes:!0}))!o.isDirectory()||o.name.startsWith(".")||n.push(ie(r,o.name,"hooks.json"))}catch{}return n}function wd(e=process.platform,t=bn()){let n=e==="win32"?ie(process.env.ProgramData??"C:\\ProgramData","OpenAI","Codex"):"/etc/codex",r=[ie(n,"requirements.toml")];return e!=="win32"&&r.push(ie(n,"managed_config.toml")),r.push(ie(t,".codex","managed_config.toml"),ie(n,"config.toml")),r}function xn(e,t=process.platform,n=bn()){switch(e){case"claude":{let{serverManaged:r,fileBased:o}=Dr(t,n);return[r,...o]}case"cursor":return Nd(t,n);default:return wd(t,n)}}function Gi(e){return e.settings.filter(t=>t.toLowerCase().endsWith(".json"))}var vd={claude:{shared:{skillRoots:[".claude/skills"],dirs:[{dir:".claude/agents",kind:"SUBAGENT",extensions:[".md"]},{dir:".claude/commands",kind:"COMMAND",extensions:[".md"]},{dir:".claude/rules",kind:"RULE",extensions:[".mdc",".md"]}],memory:[["CLAUDE.md"],["CLAUDE.local.md"],[".claude/CLAUDE.md"]],settings:[".claude/settings.json",".claude/settings.local.json",".claude/hooks.json"]},homeOnly:{mcpJson:[".claude.json"],plugins:"claude",managed:"claude"},projectOnly:{mcpJson:[".mcp.json","mcp.json"]}},cursor:{shared:{skillRoots:[".cursor/skills"],dirs:[{dir:".cursor/agents",kind:"SUBAGENT",extensions:[".md"]},{dir:".cursor/commands",kind:"COMMAND",extensions:[".md"]},{dir:".cursor/rules",kind:"RULE",extensions:[".mdc",".md"]}],memory:[["AGENTS.md"]],settings:[".cursor/hooks.json",".cursor/sandbox.json",".cursor/permissions.json"],mcpJson:[".cursor/mcp.json"]},homeOnly:{skillRoots:[".cursor/skills-cursor"],memory:[[".cursor/AGENTS.md"]],settings:[".cursor/cli-config.json"],plugins:"cursor",managed:"cursor"},projectOnly:{skillRoots:[".agents/skills"],settings:[".cursor/cli.json"]}},codex:{shared:{skillRoots:[".agents/skills",".codex/skills"],dirs:[{dir:".codex/agents",kind:"SUBAGENT",extensions:[".toml",".md"]},{dir:".codex/prompts",kind:"COMMAND",extensions:[".md"]},{dir:".codex/rules",kind:"RULE",extensions:[".md",".rules"]}],memory:[["AGENTS.override.md","AGENTS.md"]],settings:[".codex/hooks.json",".codex/config.toml"],mcpToml:[".codex/config.toml"]},homeOnly:{memory:[[".codex/AGENTS.override.md",".codex/AGENTS.md"]],managed:"codex"}}};function Bi(e,t){if(!(!e&&!t))return[...e??[],...t??[]]}function Hd(e,t={}){let{shared:n}=e;return{skillRoots:[...n.skillRoots,...t.skillRoots??[]],dirs:n.dirs,memory:[...n.memory,...t.memory??[]],settings:[...n.settings,...t.settings??[]],mcpJson:Bi(n.mcpJson,t.mcpJson),mcpToml:Bi(n.mcpToml,t.mcpToml),plugins:t.plugins??n.plugins,managed:t.managed??n.managed}}function zi(e){return Object.fromEntries(Object.entries(vd).map(([t,n])=>[t,Hd(n,n[e])]))}var pt=zi("homeOnly"),Ge=zi("projectOnly");function Ud(e){return[...e.skillRoots,...e.dirs.map(t=>t.dir),...e.memory.flat(),...e.settings,...e.mcpJson??[],...e.mcpToml??[]]}function Dd(e,t){return Ud(e).some(n=>Md(Ld(t,n)))}function Wi(e,t){for(let n of e)if(Dd(n,t))return!0;return!1}function Ke(e){return[...new Set(e)]}function ze(e){let t=[],n=[],r=[],o=[],s=[],i=[],a=[];for(let c of e){t.push(...c.skillRoots);for(let u of c.dirs)u.kind==="SUBAGENT"?n.push(u.dir):u.kind==="COMMAND"?r.push(u.dir):o.push(u.dir);s.push(...c.memory.flat()),i.push(...c.settings),a.push(...c.mcpJson??[],...c.mcpToml??[])}return{skills:Ke(t),subagents:Ke(n),commands:Ke(r),rules:Ke(o),memory:Ke(s),settings:Ke(i),mcp:Ke(a)}}function Fd(e,t=Ki(),n=process.platform){let r=[];for(let o of e)o.managed&&r.push(...xn(o.managed,n,t));return Ke(r)}var We=ze(Object.values(pt));function Vi(e=Ki(),t=process.platform){return Fd(Object.values(pt),e,t)}import{existsSync as $d}from"node:fs";import{resolve as Fr}from"node:path";function _e(e){return Fr(e).replaceAll("\\","/").replace(/\/$/,"")}function Qe(e,t){let n=new Set(t),r=[];for(let o of e)n.delete(o)&&r.push(o);for(let o of[...n].sort())r.push(o);return r}function On(e,t){if(!e)return t;let n=`${e}/`,r=[],o=[];for(let s of t)s===e||s.startsWith(n)?r.push(s):o.push(s);return r.length===0?t:[...r,...o]}var jd=/^(?!\.)[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/;function Lt(e){let t=e.replaceAll("\\","/").replace(/^\.\//,"");return!t||t.startsWith("/")||/^[A-Za-z]:\//.test(t)||t.split("/").includes("..")||!jd.test(t)?null:t}function dt(e,t){let n=new Set,r=[];for(let o of[e,t]){if(!o)continue;let s=_e(o);n.has(s)||(n.add(s),r.push(s))}return r}function Bd(e,t){let n=`${e}/`;return t===e||t.startsWith(n)}function xe(e,t,n,r=$d){for(let o of e)for(let s of t){let i=_e(Fr(o,s)),a=Fr(o,s,n).replaceAll("\\","/");if(Bd(i,a)&&r(a))return a}return null}var Yi=/(?:^|\/|[\s"'=(])(?:\.cursor\/|\.claude\/|\.agents\/)skills(?:-cursor)?\/([^/]+)\/SKILL\.md/i,Xi=/(?:^|\/|[\s"'=(])\.codex\/commands\/([^/]+)\.md\b/i,Gd=/(?:^|\s)\/([a-z][a-z0-9-]{1,63}(?:\/[a-z][a-z0-9-]{1,63}){0,5})\b/gi,Ji=new Set(["applications","app","bin","boot","data","dev","etc","home","lib","media","mnt","node_modules","opt","pkg","private","proc","projects","repos","run","sbin","src","srv","sys","tmp","usr","users","var","volumes","workspace","workspaces"]),zd=/^[a-z][a-z0-9-]{1,63}$/,Wd=[".cursor/skills",".claude/skills",".agents/skills"],Vd=[".cursor/skills",".cursor/skills-cursor",".claude/skills",".agents/skills"],Jd=Qe(Wd,ze(Object.values(Ge)).skills),Yd=Qe(Vd,ze(Object.values(pt)).skills),Xd=new Set(["read","read_file","view"]),qd=new Set(["bash","shell","zsh"]);function $r(e){let t=e.replace(/\\/g,"/");return Yi.exec(t)?.[1]??null}function Zd(e){let t=e.replace(/\\/g,"/"),r=Xi.exec(t)?.[1];return r?r.toLowerCase():null}function Qd(e){return $r(e)??Zd(e)}function em(e){for(let t of["path","file_path","target_file"]){let n=e[t];if(typeof n=="string"&&n.length>0)return n}return null}function Tn(e){return typeof e=="string"?Tn(ge(e,null)):!e||typeof e!="object"?null:em(e)}function qi(e){if(typeof e=="string")return qi(ge(e,null));if(!e||typeof e!="object")return null;let t=e.command;return typeof t=="string"&&t.length>0?t:null}function jr(e){let t=qi(e.tool_input);if(t)return t;let n=qe(e.command);return n.length>0?n:null}function tm(e){let t=e.replace(/\\/g,"/"),n=Yi.exec(t);if(n?.[1])return n[1];let o=Xi.exec(t)?.[1];return o?o.toLowerCase():null}function nm(e){return typeof e.tool_name=="string"?e.tool_name:typeof e.tool=="string"?e.tool:""}function Br(e){let t=Tn(e.tool_input)??qe(e.file_path);return t.length>0?t:null}function vt(e,t,n){let r=nm(e).toLowerCase();if(Xd.has(r)){let o=Br(e);return o?t(o):null}if(qd.has(r)){let o=jr(e);return o?n(o):null}return null}function Zi(e){return vt(e,Qd,tm)}function rm(e){let t=new Set,n=[];for(let r of e.matchAll(Gd)){let o=r[1]?.toLowerCase();!o||t.has(o)||om(o)||(t.add(o),n.push(o))}return n}function om(e){let t=e.split("/")[0];return Ji.has(e)||t!==void 0&&Ji.has(t)}function Qi(e){let t=e.skillId.toLowerCase();if(!zd.test(t))return null;let n=e.exists??Kd,r=`${t}/SKILL.md`,o=xe(dt(e.launchCwd,e.gitRoot),Jd,r,n);return o!==null?o:e.home?xe([_e(e.home)],Yd,r,n):null}function sm(e){return qe(e.prompt)}function ea(e){let t=v(e,"command_name");if(t){let r=v(e,"expansion_type");if(r&&r!=="slash_command")return[];let o=t.replace(/^\//,"").toLowerCase();return o?[o]:[]}let n=sm(e);return n?rm(n):[]}var Jr=je(Je(),1);import{existsSync as wg}from"node:fs";var tt={claude:".claude",cursor:".cursor",codex:".codex",opencode:".opencode"};function Ut(e){let n=e.replace(/^\/+|\/+$/g,"").toLowerCase().split("/").filter(Boolean);return n.length<2?"":n.join("/")}function Ng(e){if(!e)return"";let t=Ot(e).replace(/\.git$/i,""),n=t.match(/^git@[^:]+:(.+)$/);if(n?.[1])return Ut(n[1]);let r=t.match(/^ssh:\/\/[^/]+\/(.+)$/i);if(r?.[1])return Ut(r[1]);t=t.replace(/^https:\/\//i,""),t=t.replace(/^http:\/\//i,""),t=t.replace(/^ssh:\/\//i,"");let o=t.match(/^[^/]+\/(.+)$/);return o?.[1]?Ut(o[1]):Ut(t)}async function vn(e=process.cwd()){let t=await Ee("git",["rev-parse","--is-inside-work-tree"],2e3,{cwd:e});if(!t.ok||t.stdout!=="true")return null;let[n,r,o,s]=await Promise.all([Ee("git",["remote","get-url","origin"],2e3,{cwd:e}),Ee("git",["branch","--show-current"],2e3,{cwd:e}),Ee("git",["rev-parse","HEAD"],2e3,{cwd:e}),Ee("git",["status","--porcelain"],2e3,{cwd:e})]);return{remote:n.ok?Ot(n.stdout):null,branch:r.ok?r.stdout:null,head:o.ok?o.stdout:null,dirty:s.ok?s.stdout.length>0:null}}async function ba(e,t,n,r=process.cwd(),o,s,i){if(t)return t;let a=tt[n];if(!a)return"";let c=Ii(n,e.scope_path,i);if(s){let g=wi(s,c);if(g)return g}let u=o??await vn(r),l=u?.remote?Ng(u.remote):"";if(l||(l=Ut(process.env.GITHUB_REPOSITORY??"")),!l)return"";let p=e.scope_path??"",f=p?`${p}/`:"",m=`${l}:${f}${a}`;return s&&Mi(s,c,m),m}var Mg=[".cursor/rules",".claude/rules",".codex/rules"],Lg=ze(Object.values(Ge)).rules;function vg(e){return Qe(On(e?tt[e]:void 0,Mg),Lg)}var Hg=/(?:^|\/|[\s"'=(])((?:\.cursor|\.claude|\.codex)\/rules\/[^'"\s]+?\.(?:mdc|md|rules))\b/i;function xa(e){let t=Lt(e.relativePath);if(!t)return null;let n=e.exists??wg,r=dt(e.launchCwd,e.gitRoot),o=vg(e.runnerPlatform),s=xe(r,o,t,n);if(s!==null)return s;if(!t.includes("/")){let i=xe(r,["."],t,n);if(i!==null)return i}return e.home?xe([_e(e.home)],o,t,n):null}function Ug(e){let t=e.replace(/\\/g,"/"),r=Hg.exec(t)?.[1];return r?(0,Jr.nativeKeyForRulePath)(r):null}function Oa(e){return vt(e,Jr.nativeKeyForRulePath,Ug)}function Ta(e){return e.replace(/\.(mdc|md|rules)$/i,"")}function ka(e){let t=e.attachments;if(!Array.isArray(t))return[];let n=new Set,r=[];for(let o of t){if(!o||typeof o!="object"||Array.isArray(o))continue;let s=o;if(s.type!=="rule")continue;let i=typeof s.file_path=="string"?s.file_path:"",a=Lt(i);!a||n.has(a)||(n.add(a),r.push(a))}return r}var Yr=je(Je(),1);import{existsSync as Dg}from"node:fs";var Fg=[".cursor/commands",".claude/commands",".codex/prompts"],$g=ze(Object.values(Ge)).commands;function jg(e){return Qe(On(e?tt[e]:void 0,Fg),$g)}var Bg=/(?:^|\/|[\s"'=(])((?:\.cursor|\.claude|\.codex)\/(?:commands|prompts)\/[^'"\s]+?\.(?:md|mdc))\b/i;function Pa(e){let t=Lt(e.commandId);if(!t)return null;let n=e.exists??Dg,r=`${t}.md`,o=jg(e.runnerPlatform),s=xe(dt(e.launchCwd,e.gitRoot),o,r,n);return s!==null?s:e.home?xe([_e(e.home)],o,r,n):null}function Kg(e){let t=e.replace(/\\/g,"/"),r=Bg.exec(t)?.[1];return r?(0,Yr.nativeKeyForCommandPath)(r):null}function Na(e){return vt(e,Yr.nativeKeyForCommandPath,Kg)}var Hn=je(Je(),1);function Xr(e){let t=ci(e);if(t.problem){O(`WARN: ignoring --url/--token collector override: ${t.problem}`);return}return t.url}function wa(e,t){if(v(e,"conversation_id"))return!0;if(t==="")return!1;let n=t[0];return n?.toLowerCase()===n}function Gg(){return!!(L("CURSOR_VERSION")??L("CURSOR_PROJECT_DIR"))}function Ma(e,t,n){return e!=="claude"&&e!=="codex"?!1:wa(t,n)?!0:Gg()}var zg=new Set(["sessionstart","sessionend","stop","stopfailure","pretooluse","posttooluse","posttoolusefailure","permissiondenied","subagentstart","subagentstop","userpromptexpansion","userpromptsubmit"]);function Dt(e,t,n,r){return wa(e,t)?"cursor":gn(r)?r:gn(n)?n:v(e,"turn_id")?"codex":v(e,"session_id")||zg.has(t.toLowerCase())?"claude":"unknown"}function Un(e,t){let n=e.toLowerCase();return n==="sessionend"||n==="stopfailure"||n==="subagentstop"?!0:n==="stop"&&t==="codex"}function Wg(e){switch(e){case"sessionstart":return"session_start";case"stop":case"sessionend":case"stopfailure":return"session_end";case"pretooluse":case"posttooluse":case"posttoolusefailure":case"permissiondenied":case"beforemcpexecution":case"beforeshellexecution":case"aftershellexecution":case"beforereadfile":case"afterfileedit":case"subagentstart":case"subagentstop":return"tool_invoked";case"beforesubmitprompt":case"userpromptexpansion":case"userpromptsubmit":return"skill_invoked";default:return""}}function La(e){let t=e.toLowerCase();return t==="userpromptsubmit"||t==="beforesubmitprompt"}function va(e,t){return e.toLowerCase()==="userpromptsubmit"&&t==="claude"}function Ha(e){let t=e.toLowerCase();return t==="posttooluse"?!0:t==="posttoolusefailure"||t==="permissiondenied"?!1:null}function Ft(e){return v(e,"session_id")||v(e,"conversation_id")}function qr(e){return v(e,"prompt.id")||v(e,"prompt_id")||v(e,"generation_id")||v(e,"turn_id")}function Zr(e){return v(e,"hook_event_name")||v(e,"event")}function Ua(e,t,n){let r=Ft(e),o=qr(e),s=Zr(e),i=v(e,"source"),a=Dt(e,s,t,n);return{sessionId:r,turnId:o,runnerEvent:s,hookSource:i,runnerPlatform:a}}var Vg=["session_start","session_end","tool_invoked","skill_invoked"];function Jg(e){return Vg.includes(e)}function Qr(e,t){return e&&Jg(e)?e:Wg(t.toLowerCase())}var Yg={beforeshellexecution:"Shell",aftershellexecution:"Shell",beforereadfile:"Read",afterfileedit:"Write"};function Dn(e){return/^mcp__/i.test(e)||/^MCP:/i.test(e)}function Da(e,t=""){let n=v(e,"tool_name")||v(e,"tool")||null,r=t.toLowerCase();n?r==="beforemcpexecution"&&!Dn(n)&&(n=`MCP:${n}`):n=Yg[r]??null;let o=e.tool_input,i=(o&&typeof o=="object"?qe(o.skill)||qe(o.skill_name):"")||v(e,"skill_name")||null,a=n&&e.tool_name!==n&&e.tool!==n?{...e,tool_name:n}:e;i??=Zi(a);let c=Oa(a),u=Na(a);return{toolName:n,skillName:i,ruleName:c,commandName:u}}var Xg=/^[A-Za-z][A-Za-z0-9_.:-]{0,63}$/;function Fa(e){for(let t of["subagent_type","agent_type"]){let n=v(e,t);if(n&&Xg.test(n))return n}return null}function $a(e){let t=Me(e,"duration_ms");if(typeof t=="number")return t;let n=Me(e,"duration");return typeof n=="number"?n:null}var qg="error",Zg="interrupted",Qg="permission_denied",e_=/^[A-Za-z][A-Za-z0-9_.-]{0,63}$/;function $t(e){return e_.test(e)?e:null}function t_(e){for(let t of["failure_type","error_type"]){let n=$t(v(e,t));if(n)return n}return null}function ja(e,t){return Me(e,"is_interrupt")===!0?Zg:t.toLowerCase()==="permissiondenied"?Qg:t_(e)??qg}function Ba(e,t){let n=null;for(let r of e)r&&t(r)&&(n===null||r.length>n.length)&&(n=r);return n}function n_(e,t){return Ba(t,n=>e===n||e.startsWith(`${n}_`)||e.startsWith(`${n}-`))}function r_(e,t){return Ba(t,n=>(0,Hn.mcpServerNameMatchesToolSegment)(n,e))}function o_(e,t){let n=null,r=0;for(let s of t)if(s)for(let i of(0,Hn.mcpServerToolSegmentForms)(s)){let a=`${i}__`;e.length>a.length&&e.slice(0,a.length).toLowerCase()===a.toLowerCase()&&i.length>r&&(n={mcpServer:s,mcpTool:e.slice(a.length)},r=i.length)}if(n!==null)return n;let o=/^(.+?)__(.+)$/.exec(e);return!o?.[1]||!o[2]?{mcpServer:null,mcpTool:null}:{mcpServer:r_(o[1],t)??o[1],mcpTool:o[2]}}function s_(e,t){if(/^mcp__/i.test(e))return o_(e.slice(5),t);if(/^MCP:/i.test(e)){let n=e.slice(4);if(!n)return{mcpServer:null,mcpTool:null};let r=n.indexOf(":");if(r>0)return{mcpServer:n.slice(0,r),mcpTool:n.slice(r+1)||null};let o=n.indexOf("__");return o>0?{mcpServer:n.slice(0,o),mcpTool:n.slice(o+2)||null}:{mcpServer:n_(n,t),mcpTool:n}}return{mcpServer:null,mcpTool:null}}function i_(e,t){let n=`${t}__`;return e.length>n.length&&e.toLowerCase().startsWith(n.toLowerCase())?e.slice(n.length):e}function Ka(e,t=[],n=""){let r=e?s_(e,t):{mcpServer:null,mcpTool:null},o=$t(n.trim());if(!o)return r;let s=r.mcpTool;return!s&&e&&!Dn(e)&&(s=e),s&&(s=i_(s,o)),{mcpServer:o,mcpTool:s}}var Wa=3e4,p_="claims",d_=!0,m_=100,g_=new Set(["sessionstart","sessionend","stopfailure"]),__=["tool_name","tool","command","file_path","url"];function h_(e=za()){return eo(pe(e),p_)}function Va(e,t){try{let n=l_(e,"utf8").split(`
|
|
20
|
-
`,
|
|
21
|
-
`,{encoding:"utf8",flag:"wx"})}catch(o){if(In(o))return!1;let s=o instanceof Error?o.message:String(o);return O(`WARN: event claim failed open: ${s}`),!0}return y_(t,n),!0}function C_(e,t,n){let r=Ft(e),o=qr(e),s=v(e,"tool_use_id"),i=v(e,"subagent_id")||v(e,"agent_id"),a=Dt(e,t,void 0,n),c=S_(e);return{runnerPlatform:a,sessionId:r,runnerEvent:t,turnId:o,toolUseId:s,subagentId:i,callFingerprint:c}}function Ja(e,t,n,r=za(),o=Date.now()){if(!d_)return!0;let s=E_(C_(e,t,n));if(!s)return!0;let i=R_(s,h_(r),o);return!i&&L("EV_AI_HOOK_DEBUG")&&O(`DEBUG: duplicate hook event suppressed (claim ${s.slice(0,8)}\u2026)`),i}import{mkdirSync as A_,readFileSync as ec,statSync as I_,unlinkSync as tc,writeFileSync as b_}from"node:fs";import{homedir as nc}from"node:os";import{join as rc}from"node:path";var x_=4,O_=10;function Ya(e=process.platform){return e==="win32"?x_:O_}function oc(e){return e==="session_start"||e==="session_end"}var sc=6e4,to=2e3,T_="slots",no=new Set,Xa=!1;function ic(e=nc()){return rc(pe(e),T_)}function ro(e,t=nc(),n=process.platform){if(e!==void 0)return e>0?e:Ya(n);let r=te(Nt(t),{});return si(r)??Ya(n)}function k_(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function ac(e,t){return rc(e,`slot-${t}`)}function cc(e){return`${e.pid}
|
|
22
|
-
|
|
23
|
-
`}
|
|
24
|
-
`)}catch(n){let r=n instanceof Error?n.message:String(n);
|
|
25
|
-
`)}catch(n){let r=n instanceof Error?n.message:String(n);
|
|
9
|
+
`):l.join(`
|
|
10
|
+
`).trimEnd();return(0,ye.usableCatalogText)(f)}});var ja=W(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES=Z.COMPONENT_INSPECTION_TEXT_MAX_BYTES=Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER=void 0;Z.fitSnapshotInspectionTextBudget=Ag;Z.capComponentTextBytes=$a;Z.prepareComponentInspectionText=Ig;Z.redactComponentSource=ao;Z.componentSourceContainsRedactableSecret=Ng;Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER="[REDACTED]";Z.COMPONENT_INSPECTION_TEXT_MAX_BYTES=256*1024;Z.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES=3*1024*1024;function Ag(e){let t=0;return e.map(n=>{let r=n,o=r.skill?.inspectionText;if(o===void 0)return n;let s=Buffer.byteLength(o,"utf8");return t+s<=Z.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES?(t+=s,n):{...n,skill:{...r.skill,inspectionText:void 0}}})}function $a(e,t){if(e==null||e.length===0)return;let n=Buffer.from(e,"utf8");if(n.byteLength<=t)return e;let r=new TextDecoder("utf-8",{fatal:!0});for(let o=t;o>0;o-=1)try{return r.decode(n.subarray(0,o))}catch{}}function Ig(e){if(!(e==null||e.length===0))return $a(ao(e),Z.COMPONENT_INSPECTION_TEXT_MAX_BYTES)}var Og=[/\bsk-(?:proj-)?[A-Za-z0-9_-]{16,}/g,/\b(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{20,}/g,/\bgithub_pat_[A-Za-z0-9_]{20,}/g,/\bxox[baprs]-[A-Za-z0-9-]{10,}/g,/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,/\bAIza[0-9A-Za-z_-]{35}\b/g,/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g],bg=/\b(Bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,xg=/\b([a-z][a-z0-9+.-]*:\/\/)([^\s/@:]+):([^\s/@]*)@/gi,Tg=/([?&](?:access_token|api_key|apikey|auth|authorization|client_secret|key|password|secret|token)=)[^&\s"'<>]+/gi,kg=/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/,Fa=/-----END [A-Z0-9 ]*PRIVATE KEY-----/;function Pg(e){let t=e.replace(xg,(n,r)=>`${r}${Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}:${Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}@`);t=t.replace(Tg,(n,r)=>`${r}${Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}`),t=t.replace(bg,(n,r)=>`${r}${Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}`);for(let n of Og)t=t.replace(n,Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER);return t}function ao(e){if(e.length===0)return e;let t=e.split(`
|
|
11
|
+
`),n=!1;return t.map(o=>n?Fa.test(o)?(n=!1,o):o.trim().length===0?o:Z.COMPONENT_SOURCE_REDACTION_PLACEHOLDER:kg.test(o)&&!Fa.test(o)?(n=!0,o):Pg(o)).join(`
|
|
12
|
+
`)}function Ng(e){return ao(e)!==e}});var Je=W(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.redactComponentSource=E.prepareComponentInspectionText=E.fitSnapshotInspectionTextBudget=E.componentSourceContainsRedactableSecret=E.capComponentTextBytes=E.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES=E.COMPONENT_SOURCE_REDACTION_PLACEHOLDER=E.COMPONENT_INSPECTION_TEXT_MAX_BYTES=E.usableCatalogText=E.parseFrontmatterField=E.parseFrontmatterDescription=E.mcpServerToolSegmentForms=E.mcpServerNameMatchesToolSegment=E.isNpmRegistryPublisher=E.EMPTY_NPM_PUBLISHER=E.displayPublisherName=E.classifyMcpProvenance=E.resolveMcpPackageIdentity=E.McpPackageEcosystem=E.pinnedPackageVersionFromSpec=E.pinnedPackageVersionFromNpx=E.packageNameFromSpec=E.npxPackageSpecs=E.npxExecBin=E.PACKAGE_FIELD_MAX=E.serializeMcpLaunchIdentity=E.projectMcpMissingLaunchIdentity=E.projectMcpLaunchIdentity=E.normalizeMcpToolNames=E.MCP_MISSING_LAUNCH_SERIALIZED=E.MCP_LAUNCH_IDENTITY_ALGORITHM=E.maskMcpLaunchForDisplay=E.launchContainsCredentials=E.hashMcpLaunchIdentity=E.foldMcpName=E.buildMcpFamilyCanonicalKey=E.ComponentKind=void 0;E.userConfigRootFromPath=jg;E.installationRootExternalKey=Bg;E.normalizeRepositoryRelativePath=Ba;E.nativeKeyForSkillPath=Kg;E.nativeKeyForRulePath=Gg;E.nativeKeyForCommandPath=zg;E.serializeComponentIdentity=Ga;E.buildComponentReference=Vg;E.validateComponentReference=Jg;var wg=$e("node:crypto"),Mg=$e("node:path"),Lg="cmp1_",vg=/^cmp1_[A-Za-z0-9_-]{43}$/,Hg=["/skills/","/skills-cursor/"],Ug=/(?:^|\/)\.(?:cursor|claude|codex)\/rules\/(.+)$/i,Dg=/(?:^|\/)\.(?:cursor|claude|codex)\/(?:commands|prompts)\/(.+)$/i,Fg=[".cursor",".claude",".codex"],$g={".claude.json":".claude",".agents":".codex"};E.ComponentKind={SKILL:"SKILL",INTERFACE:"INTERFACE",RULE:"RULE",COMMAND:"COMMAND"};function jg(e){let t=e.replaceAll("\\","/").split("/").filter(Boolean),n=t.find(o=>Fg.includes(o));return n||(t.map(o=>$g[o]).find(o=>o!==void 0)??"unknown")}function Bg(e,t){return`runtime-install:${e}/${t}`}function jn(e,t){if(e.length===0)throw new Error(`${t} is required`);return e}function Ba(e){let t=e.replaceAll("\\","/");if(t.startsWith("/")||/^[A-Za-z]:\//.test(t))throw new Error("sourcePath must be repository-relative");let n=Mg.posix.normalize(t).replace(/^\.\//,"");if(n==="."||n===".."||n.startsWith("../"))throw new Error("sourcePath must be repository-relative");return jn(n,"sourcePath")}function Kg(e){let t=e.replaceAll("\\","/");for(let n of Hg){let r=t.split(n)[1]?.split("/")[0];if(r&&r.length>0)return r}return null}function Ka(e,t,n){let r=e.replaceAll("\\","/"),s=t.exec(r)?.[1];if(!s||s.split("/").includes(".."))return null;let i=s.replace(n,"");return i.length>0?i:null}function Gg(e){return Ka(e,Ug,/\.(mdc|md|rules)$/i)}function zg(e){return Ka(e,Dg,/\.(md|mdc|toml)$/i)}function Wg(e){return`${Buffer.byteLength(e,"utf8")}:${e}`}function Ga(e){let t=[jn(e.installationRootExternalKey,"installationRootExternalKey"),jn(e.installableKind,"installableKind"),Ba(e.sourcePath),jn(e.nativeKey,"nativeKey")];return Buffer.from(`1|${t.map(Wg).join("|")}`,"utf8")}function Vg(e){let t=(0,wg.createHash)("sha256").update(Ga(e)).digest("base64url");return`${Lg}${t}`}function Jg(e){return vg.test(e)}var Re=Un();Object.defineProperty(E,"buildMcpFamilyCanonicalKey",{enumerable:!0,get:function(){return Re.buildMcpFamilyCanonicalKey}});Object.defineProperty(E,"foldMcpName",{enumerable:!0,get:function(){return Re.foldMcpName}});Object.defineProperty(E,"hashMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.hashMcpLaunchIdentity}});Object.defineProperty(E,"launchContainsCredentials",{enumerable:!0,get:function(){return Re.launchContainsCredentials}});Object.defineProperty(E,"maskMcpLaunchForDisplay",{enumerable:!0,get:function(){return Re.maskMcpLaunchForDisplay}});Object.defineProperty(E,"MCP_LAUNCH_IDENTITY_ALGORITHM",{enumerable:!0,get:function(){return Re.MCP_LAUNCH_IDENTITY_ALGORITHM}});Object.defineProperty(E,"MCP_MISSING_LAUNCH_SERIALIZED",{enumerable:!0,get:function(){return Re.MCP_MISSING_LAUNCH_SERIALIZED}});Object.defineProperty(E,"normalizeMcpToolNames",{enumerable:!0,get:function(){return Re.normalizeMcpToolNames}});Object.defineProperty(E,"projectMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.projectMcpLaunchIdentity}});Object.defineProperty(E,"projectMcpMissingLaunchIdentity",{enumerable:!0,get:function(){return Re.projectMcpMissingLaunchIdentity}});Object.defineProperty(E,"serializeMcpLaunchIdentity",{enumerable:!0,get:function(){return Re.serializeMcpLaunchIdentity}});var St=Fn();Object.defineProperty(E,"PACKAGE_FIELD_MAX",{enumerable:!0,get:function(){return St.PACKAGE_FIELD_MAX}});Object.defineProperty(E,"npxExecBin",{enumerable:!0,get:function(){return St.npxExecBin}});Object.defineProperty(E,"npxPackageSpecs",{enumerable:!0,get:function(){return St.npxPackageSpecs}});Object.defineProperty(E,"packageNameFromSpec",{enumerable:!0,get:function(){return St.packageNameFromSpec}});Object.defineProperty(E,"pinnedPackageVersionFromNpx",{enumerable:!0,get:function(){return St.pinnedPackageVersionFromNpx}});Object.defineProperty(E,"pinnedPackageVersionFromSpec",{enumerable:!0,get:function(){return St.pinnedPackageVersionFromSpec}});var za=ka();Object.defineProperty(E,"McpPackageEcosystem",{enumerable:!0,get:function(){return za.McpPackageEcosystem}});Object.defineProperty(E,"resolveMcpPackageIdentity",{enumerable:!0,get:function(){return za.resolveMcpPackageIdentity}});var Bn=va();Object.defineProperty(E,"classifyMcpProvenance",{enumerable:!0,get:function(){return Bn.classifyMcpProvenance}});Object.defineProperty(E,"displayPublisherName",{enumerable:!0,get:function(){return Bn.displayPublisherName}});Object.defineProperty(E,"EMPTY_NPM_PUBLISHER",{enumerable:!0,get:function(){return Bn.EMPTY_NPM_PUBLISHER}});Object.defineProperty(E,"isNpmRegistryPublisher",{enumerable:!0,get:function(){return Bn.isNpmRegistryPublisher}});var Wa=Ua();Object.defineProperty(E,"mcpServerNameMatchesToolSegment",{enumerable:!0,get:function(){return Wa.mcpServerNameMatchesToolSegment}});Object.defineProperty(E,"mcpServerToolSegmentForms",{enumerable:!0,get:function(){return Wa.mcpServerToolSegmentForms}});var co=Da();Object.defineProperty(E,"parseFrontmatterDescription",{enumerable:!0,get:function(){return co.parseFrontmatterDescription}});Object.defineProperty(E,"parseFrontmatterField",{enumerable:!0,get:function(){return co.parseFrontmatterField}});Object.defineProperty(E,"usableCatalogText",{enumerable:!0,get:function(){return co.usableCatalogText}});var Ve=ja();Object.defineProperty(E,"COMPONENT_INSPECTION_TEXT_MAX_BYTES",{enumerable:!0,get:function(){return Ve.COMPONENT_INSPECTION_TEXT_MAX_BYTES}});Object.defineProperty(E,"COMPONENT_SOURCE_REDACTION_PLACEHOLDER",{enumerable:!0,get:function(){return Ve.COMPONENT_SOURCE_REDACTION_PLACEHOLDER}});Object.defineProperty(E,"SNAPSHOT_INSPECTION_TEXT_MAX_BYTES",{enumerable:!0,get:function(){return Ve.SNAPSHOT_INSPECTION_TEXT_MAX_BYTES}});Object.defineProperty(E,"capComponentTextBytes",{enumerable:!0,get:function(){return Ve.capComponentTextBytes}});Object.defineProperty(E,"componentSourceContainsRedactableSecret",{enumerable:!0,get:function(){return Ve.componentSourceContainsRedactableSecret}});Object.defineProperty(E,"fitSnapshotInspectionTextBudget",{enumerable:!0,get:function(){return Ve.fitSnapshotInspectionTextBudget}});Object.defineProperty(E,"prepareComponentInspectionText",{enumerable:!0,get:function(){return Ve.prepareComponentInspectionText}});Object.defineProperty(E,"redactComponentSource",{enumerable:!0,get:function(){return Ve.redactComponentSource}})});var ir=W(he=>{"use strict";he.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;he.find=(e,t)=>e.nodes.find(n=>n.type===t);he.exceedsLimit=(e,t,n=1,r)=>r===!1||!he.isInteger(e)||!he.isInteger(t)?!1:(Number(t)-Number(e))/Number(n)>=r;he.escapeNode=(e,t=0,n)=>{let r=e.nodes[t];r&&(n&&r.type===n||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};he.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;he.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;he.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;he.reduce=e=>e.reduce((t,n)=>(n.type==="text"&&t.push(n.value),n.type==="range"&&(n.type="text"),t),[]);he.flatten=(...e)=>{let t=[],n=r=>{for(let o=0;o<r.length;o++){let s=r[o];if(Array.isArray(s)){n(s);continue}s!==void 0&&t.push(s)}return t};return n(e),t}});var ar=W((bb,Cu)=>{"use strict";var Ru=ir();Cu.exports=(e,t={})=>{let n=(r,o={})=>{let s=t.escapeInvalid&&Ru.isInvalidBrace(o),i=r.invalid===!0&&t.escapeInvalid===!0,a="";if(r.value)return(s||i)&&Ru.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=n(c);return a};return n(e)}});var Iu=W((xb,Au)=>{"use strict";Au.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var Mu=W((Tb,wu)=>{"use strict";var Ou=Iu(),nt=(e,t,n)=>{if(Ou(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(Ou(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...n};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let o=String(r.relaxZeros),s=String(r.shorthand),i=String(r.capture),a=String(r.wrap),c=e+":"+t+"="+o+s+i+a;if(nt.cache.hasOwnProperty(c))return nt.cache[c].result;let l=Math.min(e,t),u=Math.max(e,t);if(Math.abs(l-u)===1){let S=e+"|"+t;return r.capture?`(${S})`:r.wrap===!1?S:`(?:${S})`}let d=Nu(e)||Nu(t),f={min:e,max:t,a:l,b:u},m=[],g=[];if(d&&(f.isPadded=d,f.maxLen=String(f.max).length),l<0){let S=u<0?Math.abs(u):1;g=bu(S,Math.abs(l),f,r),l=f.a=0}return u>=0&&(m=bu(l,u,f,r)),f.negatives=g,f.positives=m,f.result=hS(g,m,r),r.capture===!0?f.result=`(${f.result})`:r.wrap!==!1&&m.length+g.length>1&&(f.result=`(?:${f.result})`),nt.cache[c]=f,f.result};function hS(e,t,n){let r=jo(e,t,"-",!1,n)||[],o=jo(t,e,"",!1,n)||[],s=jo(e,t,"-?",!0,n)||[];return r.concat(s).concat(o).join("|")}function SS(e,t){let n=1,r=1,o=Tu(e,n),s=new Set([t]);for(;e<=o&&o<=t;)s.add(o),n+=1,o=Tu(e,n);for(o=ku(t+1,r)-1;e<o&&o<=t;)s.add(o),r+=1,o=ku(t+1,r)-1;return s=[...s],s.sort(RS),s}function ES(e,t,n){if(e===t)return{pattern:e,count:[],digits:0};let r=yS(e,t),o=r.length,s="",i=0;for(let a=0;a<o;a++){let[c,l]=r[a];c===l?s+=c:c!=="0"||l!=="9"?s+=CS(c,l,n):i++}return i&&(s+=n.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[i],digits:o}}function bu(e,t,n,r){let o=SS(e,t),s=[],i=e,a;for(let c=0;c<o.length;c++){let l=o[c],u=ES(String(i),String(l),r),d="";if(!n.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+Pu(a.count),i=l+1;continue}n.isPadded&&(d=AS(l,n,r)),u.string=d+u.pattern+Pu(u.count),s.push(u),i=l+1,a=u}return s}function jo(e,t,n,r,o){let s=[];for(let i of e){let{string:a}=i;!r&&!xu(t,"string",a)&&s.push(n+a),r&&xu(t,"string",a)&&s.push(n+a)}return s}function yS(e,t){let n=[];for(let r=0;r<e.length;r++)n.push([e[r],t[r]]);return n}function RS(e,t){return e>t?1:t>e?-1:0}function xu(e,t,n){return e.some(r=>r[t]===n)}function Tu(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function ku(e,t){return e-e%Math.pow(10,t)}function Pu(e){let[t=0,n=""]=e;return n||t>1?`{${t+(n?","+n:"")}}`:""}function CS(e,t,n){return`[${e}${t-e===1?"":"-"}${t}]`}function Nu(e){return/^-?(0+)\d/.test(e)}function AS(e,t,n){if(!t.isPadded)return e;let r=Math.abs(t.maxLen-String(e).length),o=n.relaxZeros!==!1;switch(r){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${r}}`:`0{${r}}`}}nt.cache={};nt.clearCache=()=>nt.cache={};wu.exports=nt});var Go=W((kb,$u)=>{"use strict";var IS=$e("util"),vu=Mu(),Lu=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),OS=e=>t=>e===!0?Number(t):String(t),Bo=e=>typeof e=="number"||typeof e=="string"&&e!=="",Xt=e=>Number.isInteger(+e),Ko=e=>{let t=`${e}`,n=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++n]==="0";);return n>0},bS=(e,t,n)=>typeof e=="string"||typeof t=="string"?!0:n.stringify===!0,xS=(e,t,n)=>{if(t>0){let r=e[0]==="-"?"-":"";r&&(e=e.slice(1)),e=r+e.padStart(r?t-1:t,"0")}return n===!1?String(e):e},ur=(e,t)=>{let n=e[0]==="-"?"-":"";for(n&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return n?"-"+e:e},TS=(e,t,n)=>{e.negatives.sort((a,c)=>a<c?-1:a>c?1:0),e.positives.sort((a,c)=>a<c?-1:a>c?1:0);let r=t.capture?"":"?:",o="",s="",i;return e.positives.length&&(o=e.positives.map(a=>ur(String(a),n)).join("|")),e.negatives.length&&(s=`-(${r}${e.negatives.map(a=>ur(String(a),n)).join("|")})`),o&&s?i=`${o}|${s}`:i=o||s,t.wrap?`(${r}${i})`:i},Hu=(e,t,n,r)=>{if(n)return vu(e,t,{wrap:!1,...r});let o=String.fromCharCode(e);if(e===t)return o;let s=String.fromCharCode(t);return`[${o}-${s}]`},Uu=(e,t,n)=>{if(Array.isArray(e)){let r=n.wrap===!0,o=n.capture?"":"?:";return r?`(${o}${e.join("|")})`:e.join("|")}return vu(e,t,n)},Du=(...e)=>new RangeError("Invalid range arguments: "+IS.inspect(...e)),Fu=(e,t,n)=>{if(n.strictRanges===!0)throw Du([e,t]);return[]},kS=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},PS=(e,t,n=1,r={})=>{let o=Number(e),s=Number(t);if(!Number.isInteger(o)||!Number.isInteger(s)){if(r.strictRanges===!0)throw Du([e,t]);return[]}o===0&&(o=0),s===0&&(s=0);let i=o>s,a=String(e),c=String(t),l=String(n);n=Math.max(Math.abs(n),1);let u=Ko(a)||Ko(c)||Ko(l),d=u?Math.max(a.length,c.length,l.length):0,f=u===!1&&bS(e,t,r)===!1,m=r.transform||OS(f);if(r.toRegex&&n===1)return Hu(ur(e,d),ur(t,d),!0,r);let g={negatives:[],positives:[]},S=T=>g[T<0?"negatives":"positives"].push(Math.abs(T)),C=[],A=0;for(;i?o>=s:o<=s;)r.toRegex===!0&&n>1?S(o):C.push(xS(m(o,A),d,f)),o=i?o-n:o+n,A++;return r.toRegex===!0?n>1?TS(g,r,d):Uu(C,null,{wrap:!1,...r}):C},NS=(e,t,n=1,r={})=>{if(!Xt(e)&&e.length>1||!Xt(t)&&t.length>1)return Fu(e,t,r);let o=r.transform||(f=>String.fromCharCode(f)),s=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),a=s>i,c=Math.min(s,i),l=Math.max(s,i);if(r.toRegex&&n===1)return Hu(c,l,!1,r);let u=[],d=0;for(;a?s>=i:s<=i;)u.push(o(s,d)),s=a?s-n:s+n,d++;return r.toRegex===!0?Uu(u,null,{wrap:!1,options:r}):u},cr=(e,t,n,r={})=>{if(t==null&&Bo(e))return[e];if(!Bo(e)||!Bo(t))return Fu(e,t,r);if(typeof n=="function")return cr(e,t,1,{transform:n});if(Lu(n))return cr(e,t,0,n);let o={...r};return o.capture===!0&&(o.wrap=!0),n=n||o.step||1,Xt(n)?Xt(e)&&Xt(t)?PS(e,t,n,o):NS(e,t,Math.max(Math.abs(n),1),o):n!=null&&!Lu(n)?kS(n,o):cr(e,t,1,n)};$u.exports=cr});var Ku=W((Pb,Bu)=>{"use strict";var wS=Go(),ju=ir(),MS=(e,t={})=>{let n=(r,o={})=>{let s=ju.isInvalidBrace(o),i=r.invalid===!0&&t.escapeInvalid===!0,a=s===!0||i===!0,c=t.escapeInvalid===!0?"\\":"",l="";if(r.isOpen===!0)return c+r.value;if(r.isClose===!0)return console.log("node.isClose",c,r.value),c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let u=ju.reduce(r.nodes),d=wS(...u,{...t,wrap:!1,toRegex:!0,strictZeros:!0});if(d.length!==0)return u.length>1&&d.length>1?`(${d})`:d}if(r.nodes)for(let u of r.nodes)l+=n(u,r);return l};return n(e)};Bu.exports=MS});var Wu=W((Nb,zu)=>{"use strict";var LS=Go(),Gu=ar(),yt=ir(),rt=(e="",t="",n=!1)=>{let r=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return n?yt.flatten(t).map(o=>`{${o}}`):t;for(let o of e)if(Array.isArray(o))for(let s of o)r.push(rt(s,t,n));else for(let s of t)n===!0&&typeof s=="string"&&(s=`{${s}}`),r.push(Array.isArray(s)?rt(o,s,n):o+s);return yt.flatten(r)},vS=(e,t={})=>{let n=t.rangeLimit===void 0?1e3:t.rangeLimit,r=(o,s={})=>{o.queue=[];let i=s,a=s.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,a=i.queue;if(o.invalid||o.dollar){a.push(rt(a.pop(),Gu(o,t)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){a.push(rt(a.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let d=yt.reduce(o.nodes);if(yt.exceedsLimit(...d,t.step,n))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=LS(...d,t);f.length===0&&(f=Gu(o,t)),a.push(rt(a.pop(),f)),o.nodes=[];return}let c=yt.encloseBrace(o),l=o.queue,u=o;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,l=u.queue;for(let d=0;d<o.nodes.length;d++){let f=o.nodes[d];if(f.type==="comma"&&o.type==="brace"){d===1&&l.push(""),l.push("");continue}if(f.type==="close"){a.push(rt(a.pop(),l,c));continue}if(f.value&&f.type!=="open"){l.push(rt(l.pop(),f.value));continue}f.nodes&&r(f,o)}return l};return yt.flatten(r(e))};zu.exports=vS});var Ju=W((wb,Vu)=>{"use strict";Vu.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
13
|
+
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Qu=W((Mb,Zu)=>{"use strict";var HS=ar(),{MAX_LENGTH:Yu,CHAR_BACKSLASH:zo,CHAR_BACKTICK:US,CHAR_COMMA:DS,CHAR_DOT:FS,CHAR_LEFT_PARENTHESES:$S,CHAR_RIGHT_PARENTHESES:jS,CHAR_LEFT_CURLY_BRACE:BS,CHAR_RIGHT_CURLY_BRACE:KS,CHAR_LEFT_SQUARE_BRACKET:Xu,CHAR_RIGHT_SQUARE_BRACKET:qu,CHAR_DOUBLE_QUOTE:GS,CHAR_SINGLE_QUOTE:zS,CHAR_NO_BREAK_SPACE:WS,CHAR_ZERO_WIDTH_NOBREAK_SPACE:VS}=Ju(),JS=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let n=t||{},r=typeof n.maxLength=="number"?Math.min(Yu,n.maxLength):Yu;if(e.length>r)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${r})`);let o={type:"root",input:e,nodes:[]},s=[o],i=o,a=o,c=0,l=e.length,u=0,d=0,f,m=()=>e[u++],g=S=>{if(S.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&S.type==="text"){a.value+=S.value;return}return i.nodes.push(S),S.parent=i,S.prev=a,a=S,S};for(g({type:"bos"});u<l;)if(i=s[s.length-1],f=m(),!(f===VS||f===WS)){if(f===zo){g({type:"text",value:(t.keepEscaping?f:"")+m()});continue}if(f===qu){g({type:"text",value:"\\"+f});continue}if(f===Xu){c++;let S;for(;u<l&&(S=m());){if(f+=S,S===Xu){c++;continue}if(S===zo){f+=m();continue}if(S===qu&&(c--,c===0))break}g({type:"text",value:f});continue}if(f===$S){i=g({type:"paren",nodes:[]}),s.push(i),g({type:"text",value:f});continue}if(f===jS){if(i.type!=="paren"){g({type:"text",value:f});continue}i=s.pop(),g({type:"text",value:f}),i=s[s.length-1];continue}if(f===GS||f===zS||f===US){let S=f,C;for(t.keepQuotes!==!0&&(f="");u<l&&(C=m());){if(C===zo){f+=C+m();continue}if(C===S){t.keepQuotes===!0&&(f+=C);break}f+=C}g({type:"text",value:f});continue}if(f===BS){d++;let C={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||i.dollar===!0,depth:d,commas:0,ranges:0,nodes:[]};i=g(C),s.push(i),g({type:"open",value:f});continue}if(f===KS){if(i.type!=="brace"){g({type:"text",value:f});continue}let S="close";i=s.pop(),i.close=!0,g({type:S,value:f}),d--,i=s[s.length-1];continue}if(f===DS&&d>0){if(i.ranges>0){i.ranges=0;let S=i.nodes.shift();i.nodes=[S,{type:"text",value:HS(i)}]}g({type:"comma",value:f}),i.commas++;continue}if(f===FS&&d>0&&i.commas===0){let S=i.nodes;if(d===0||S.length===0){g({type:"text",value:f});continue}if(a.type==="dot"){if(i.range=[],a.value+=f,a.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,a.type="text";continue}i.ranges++,i.args=[];continue}if(a.type==="range"){S.pop();let C=S[S.length-1];C.value+=a.value+f,a=C,i.ranges--;continue}g({type:"dot",value:f});continue}g({type:"text",value:f})}do if(i=s.pop(),i.type!=="root"){i.nodes.forEach(A=>{A.nodes||(A.type==="open"&&(A.isOpen=!0),A.type==="close"&&(A.isClose=!0),A.nodes||(A.type="text"),A.invalid=!0)});let S=s[s.length-1],C=S.nodes.indexOf(i);S.nodes.splice(C,1,...i.nodes)}while(s.length>0);return g({type:"eos"}),o};Zu.exports=JS});var nl=W((Lb,tl)=>{"use strict";var el=ar(),YS=Ku(),XS=Wu(),qS=Qu(),de=(e,t={})=>{let n=[];if(Array.isArray(e))for(let r of e){let o=de.create(r,t);Array.isArray(o)?n.push(...o):n.push(o)}else n=[].concat(de.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(n=[...new Set(n)]),n};de.parse=(e,t={})=>qS(e,t);de.stringify=(e,t={})=>el(typeof e=="string"?de.parse(e,t):e,t);de.compile=(e,t={})=>(typeof e=="string"&&(e=de.parse(e,t)),YS(e,t));de.expand=(e,t={})=>{typeof e=="string"&&(e=de.parse(e,t));let n=XS(e,t);return t.noempty===!0&&(n=n.filter(Boolean)),t.nodupes===!0&&(n=[...new Set(n)]),n};de.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?de.compile(e,t):de.expand(e,t);tl.exports=de});var qt=W((vb,al)=>{"use strict";var ZS=$e("path"),ke="\\\\/",rl=`[^${ke}]`,QS=0,De="\\.",eE="\\+",tE="\\?",lr="\\/",nE="(?=.)",ol="[^/]",Wo=`(?:${lr}|$)`,sl=`(?:^|${lr})`,Vo=`${De}{1,2}${Wo}`,rE=`(?!${De})`,oE=`(?!${sl}${Vo})`,sE=`(?!${De}{0,1}${Wo})`,iE=`(?!${Vo})`,aE=`[^.${lr}]`,cE=`${ol}*?`,il={DOT_LITERAL:De,PLUS_LITERAL:eE,QMARK_LITERAL:tE,SLASH_LITERAL:lr,ONE_CHAR:nE,QMARK:ol,END_ANCHOR:Wo,DOTS_SLASH:Vo,NO_DOT:rE,NO_DOTS:oE,NO_DOT_SLASH:sE,NO_DOTS_SLASH:iE,QMARK_NO_DOT:aE,STAR:cE,START_ANCHOR:sl},uE={...il,SLASH_LITERAL:`[${ke}]`,QMARK:rl,STAR:`${rl}*?`,DOTS_SLASH:`${De}{1,2}(?:[${ke}]|$)`,NO_DOT:`(?!${De})`,NO_DOTS:`(?!(?:^|[${ke}])${De}{1,2}(?:[${ke}]|$))`,NO_DOT_SLASH:`(?!${De}{0,1}(?:[${ke}]|$))`,NO_DOTS_SLASH:`(?!${De}{1,2}(?:[${ke}]|$))`,QMARK_NO_DOT:`[^.${ke}]`,START_ANCHOR:`(?:^|[${ke}])`,END_ANCHOR:`(?:[${ke}]|$)`},lE={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};al.exports={DEFAULT_MAX_EXTGLOB_RECURSION:QS,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:lE,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:ZS.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?uE:il}}});var Zt=W(ae=>{"use strict";var fE=$e("path"),dE=process.platform==="win32",{REGEX_BACKSLASH:pE,REGEX_REMOVE_BACKSLASH:mE,REGEX_SPECIAL_CHARS:gE,REGEX_SPECIAL_CHARS_GLOBAL:_E}=qt();ae.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);ae.hasRegexChars=e=>gE.test(e);ae.isRegexChar=e=>e.length===1&&ae.hasRegexChars(e);ae.escapeRegex=e=>e.replace(_E,"\\$1");ae.toPosixSlashes=e=>e.replace(pE,"/");ae.removeBackslashes=e=>e.replace(mE,t=>t==="\\"?"":t);ae.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};ae.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:dE===!0||fE.sep==="\\";ae.escapeLast=(e,t,n)=>{let r=e.lastIndexOf(t,n);return r===-1?e:e[r-1]==="\\"?ae.escapeLast(e,t,r-1):`${e.slice(0,r)}\\${e.slice(r)}`};ae.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n};ae.wrapOutput=(e,t={},n={})=>{let r=n.contains?"":"^",o=n.contains?"":"$",s=`${r}(?:${e})${o}`;return t.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var gl=W((Ub,ml)=>{"use strict";var cl=Zt(),{CHAR_ASTERISK:Jo,CHAR_AT:hE,CHAR_BACKWARD_SLASH:Qt,CHAR_COMMA:SE,CHAR_DOT:Yo,CHAR_EXCLAMATION_MARK:Xo,CHAR_FORWARD_SLASH:pl,CHAR_LEFT_CURLY_BRACE:qo,CHAR_LEFT_PARENTHESES:Zo,CHAR_LEFT_SQUARE_BRACKET:EE,CHAR_PLUS:yE,CHAR_QUESTION_MARK:ul,CHAR_RIGHT_CURLY_BRACE:RE,CHAR_RIGHT_PARENTHESES:ll,CHAR_RIGHT_SQUARE_BRACKET:CE}=qt(),fl=e=>e===pl||e===Qt,dl=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},AE=(e,t)=>{let n=t||{},r=e.length-1,o=n.parts===!0||n.scanToEnd===!0,s=[],i=[],a=[],c=e,l=-1,u=0,d=0,f=!1,m=!1,g=!1,S=!1,C=!1,A=!1,T=!1,x=!1,M=!1,k=!1,K=0,D,O,N={value:"",depth:0,isGlob:!1},H=()=>l>=r,p=()=>c.charCodeAt(l+1),I=()=>(D=O,c.charCodeAt(++l));for(;l<r;){O=I();let se;if(O===Qt){T=N.backslashes=!0,O=I(),O===qo&&(A=!0);continue}if(A===!0||O===qo){for(K++;H()!==!0&&(O=I());){if(O===Qt){T=N.backslashes=!0,I();continue}if(O===qo){K++;continue}if(A!==!0&&O===Yo&&(O=I())===Yo){if(f=N.isBrace=!0,g=N.isGlob=!0,k=!0,o===!0)continue;break}if(A!==!0&&O===SE){if(f=N.isBrace=!0,g=N.isGlob=!0,k=!0,o===!0)continue;break}if(O===RE&&(K--,K===0)){A=!1,f=N.isBrace=!0,k=!0;break}}if(o===!0)continue;break}if(O===pl){if(s.push(l),i.push(N),N={value:"",depth:0,isGlob:!1},k===!0)continue;if(D===Yo&&l===u+1){u+=2;continue}d=l+1;continue}if(n.noext!==!0&&(O===yE||O===hE||O===Jo||O===ul||O===Xo)===!0&&p()===Zo){if(g=N.isGlob=!0,S=N.isExtglob=!0,k=!0,O===Xo&&l===u&&(M=!0),o===!0){for(;H()!==!0&&(O=I());){if(O===Qt){T=N.backslashes=!0,O=I();continue}if(O===ll){g=N.isGlob=!0,k=!0;break}}continue}break}if(O===Jo){if(D===Jo&&(C=N.isGlobstar=!0),g=N.isGlob=!0,k=!0,o===!0)continue;break}if(O===ul){if(g=N.isGlob=!0,k=!0,o===!0)continue;break}if(O===EE){for(;H()!==!0&&(se=I());){if(se===Qt){T=N.backslashes=!0,I();continue}if(se===CE){m=N.isBracket=!0,g=N.isGlob=!0,k=!0;break}}if(o===!0)continue;break}if(n.nonegate!==!0&&O===Xo&&l===u){x=N.negated=!0,u++;continue}if(n.noparen!==!0&&O===Zo){if(g=N.isGlob=!0,o===!0){for(;H()!==!0&&(O=I());){if(O===Zo){T=N.backslashes=!0,O=I();continue}if(O===ll){k=!0;break}}continue}break}if(g===!0){if(k=!0,o===!0)continue;break}}n.noext===!0&&(S=!1,g=!1);let U=c,ue="",_="";u>0&&(ue=c.slice(0,u),c=c.slice(u),d-=u),U&&g===!0&&d>0?(U=c.slice(0,d),_=c.slice(d)):g===!0?(U="",_=c):U=c,U&&U!==""&&U!=="/"&&U!==c&&fl(U.charCodeAt(U.length-1))&&(U=U.slice(0,-1)),n.unescape===!0&&(_&&(_=cl.removeBackslashes(_)),U&&T===!0&&(U=cl.removeBackslashes(U)));let h={prefix:ue,input:e,start:u,base:U,glob:_,isBrace:f,isBracket:m,isGlob:g,isExtglob:S,isGlobstar:C,negated:x,negatedExtglob:M};if(n.tokens===!0&&(h.maxDepth=0,fl(O)||i.push(N),h.tokens=i),n.parts===!0||n.tokens===!0){let se;for(let F=0;F<s.length;F++){let Ce=se?se+1:u,Ae=s[F],le=e.slice(Ce,Ae);n.tokens&&(F===0&&u!==0?(i[F].isPrefix=!0,i[F].value=ue):i[F].value=le,dl(i[F]),h.maxDepth+=i[F].depth),(F!==0||le!=="")&&a.push(le),se=Ae}if(se&&se+1<e.length){let F=e.slice(se+1);a.push(F),n.tokens&&(i[i.length-1].value=F,dl(i[i.length-1]),h.maxDepth+=i[i.length-1].depth)}h.slashes=s,h.parts=a}return h};ml.exports=AE});var yl=W((Db,El)=>{"use strict";var en=qt(),oe=Zt(),{MAX_LENGTH:fr,POSIX_REGEX_SOURCE:IE,REGEX_NON_SPECIAL_CHARS:OE,REGEX_SPECIAL_CHARS_BACKREF:bE,REPLACEMENTS:_l}=en,xE=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n)}catch{return e.map(o=>oe.escapeRegex(o)).join("..")}return n},Rt=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,hl=e=>{let t=[],n=0,r=0,o=0,s="",i=!1;for(let a of e){if(i===!0){s+=a,i=!1;continue}if(a==="\\"){s+=a,i=!0;continue}if(a==='"'){o=o===1?0:1,s+=a;continue}if(o===0){if(a==="[")n++;else if(a==="]"&&n>0)n--;else if(n===0){if(a==="(")r++;else if(a===")"&&r>0)r--;else if(a==="|"&&r===0){t.push(s),s="";continue}}}s+=a}return t.push(s),t},TE=e=>{let t=!1;for(let n of e){if(t===!0){t=!1;continue}if(n==="\\"){t=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},Sl=e=>{let t=e.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(t)&&(t=t.slice(2,-1),n=!0);if(TE(t))return t.replace(/\\(.)/g,"$1")},kE=e=>{let t=e.map(Sl).filter(Boolean);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let o=t[n],s=t[r],i=o[0];if(!(!i||o!==i.repeat(o.length)||s!==i.repeat(s.length))&&(o===s||o.startsWith(s)||s.startsWith(o)))return!0}return!1},Qo=(e,t=!0)=>{if(e[0]!=="+"&&e[0]!=="*"||e[1]!=="(")return;let n=0,r=0,o=0,s=!1;for(let i=1;i<e.length;i++){let a=e[i];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){o=o===1?0:1;continue}if(o!==1){if(a==="["){n++;continue}if(a==="]"&&n>0){n--;continue}if(!(n>0)){if(a==="("){r++;continue}if(a===")"&&(r--,r===0))return t===!0&&i!==e.length-1?void 0:{type:e[0],body:e.slice(2,i),end:i}}}}},PE=e=>{let t=0,n=[];for(;t<e.length;){let o=Qo(e.slice(t),!1);if(!o||o.type!=="*")return;let s=hl(o.body).map(a=>a.trim());if(s.length!==1)return;let i=Sl(s[0]);if(!i||i.length!==1)return;n.push(i),t+=o.end+1}return n.length<1?void 0:`${n.length===1?oe.escapeRegex(n[0]):`[${n.map(o=>oe.escapeRegex(o)).join("")}]`}*`},NE=e=>{let t=0,n=e.trim(),r=Qo(n);for(;r;)t++,n=r.body.trim(),r=Qo(n);return t},wE=(e,t)=>{if(t.maxExtglobRecursion===!1)return{risky:!1};let n=typeof t.maxExtglobRecursion=="number"?t.maxExtglobRecursion:en.DEFAULT_MAX_EXTGLOB_RECURSION,r=hl(e).map(o=>o.trim());if(r.length>1&&(r.some(o=>o==="")||r.some(o=>/^[*?]+$/.test(o))||kE(r)))return{risky:!0};for(let o of r){let s=PE(o);if(s)return{risky:!0,safeOutput:s};if(NE(o)>n)return{risky:!0}}return{risky:!1}},es=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=_l[e]||e;let n={...t},r=typeof n.maxLength=="number"?Math.min(fr,n.maxLength):fr,o=e.length;if(o>r)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},i=[s],a=n.capture?"":"?:",c=oe.isWindows(t),l=en.globChars(c),u=en.extglobChars(l),{DOT_LITERAL:d,PLUS_LITERAL:f,SLASH_LITERAL:m,ONE_CHAR:g,DOTS_SLASH:S,NO_DOT:C,NO_DOT_SLASH:A,NO_DOTS_SLASH:T,QMARK:x,QMARK_NO_DOT:M,STAR:k,START_ANCHOR:K}=l,D=R=>`(${a}(?:(?!${K}${R.dot?S:d}).)*?)`,O=n.dot?"":C,N=n.dot?x:M,H=n.bash===!0?D(n):k;n.capture&&(H=`(${H})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let p={input:e,index:-1,start:0,dot:n.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};e=oe.removePrefix(e,p),o=e.length;let I=[],U=[],ue=[],_=s,h,se=()=>p.index===o-1,F=p.peek=(R=1)=>e[p.index+R],Ce=p.advance=()=>e[++p.index]||"",Ae=()=>e.slice(p.index+1),le=(R="",J=0)=>{p.consumed+=R,p.index+=J},dn=R=>{p.output+=R.output!=null?R.output:R.value,le(R.value)},Td=()=>{let R=1;for(;F()==="!"&&(F(2)!=="("||F(3)==="?");)Ce(),p.start++,R++;return R%2===0?!1:(p.negated=!0,p.start++,!0)},pn=R=>{p[R]++,ue.push(R)},Fe=R=>{p[R]--,ue.pop()},w=R=>{if(_.type==="globstar"){let J=p.braces>0&&(R.type==="comma"||R.type==="brace"),y=R.extglob===!0||I.length&&(R.type==="pipe"||R.type==="paren");R.type!=="slash"&&R.type!=="paren"&&!J&&!y&&(p.output=p.output.slice(0,-_.output.length),_.type="star",_.value="*",_.output=H,p.output+=_.output)}if(I.length&&R.type!=="paren"&&(I[I.length-1].inner+=R.value),(R.value||R.output)&&dn(R),_&&_.type==="text"&&R.type==="text"){_.value+=R.value,_.output=(_.output||"")+R.value;return}R.prev=_,i.push(R),_=R},mn=(R,J)=>{let y={...u[J],conditions:1,inner:""};y.prev=_,y.parens=p.parens,y.output=p.output,y.startIndex=p.index,y.tokensIndex=i.length;let P=(n.capture?"(":"")+y.open;pn("parens"),w({type:R,value:J,output:p.output?"":g}),w({type:"paren",extglob:!0,value:Ce(),output:P}),I.push(y)},kd=R=>{let J=e.slice(R.startIndex,p.index+1),y=e.slice(R.startIndex+2,p.index),P=wE(y,n);if((R.type==="plus"||R.type==="star")&&P.risky){let G=P.safeOutput?(R.output?"":g)+(n.capture?`(${P.safeOutput})`:P.safeOutput):void 0,Ie=i[R.tokensIndex];Ie.type="text",Ie.value=J,Ie.output=G||oe.escapeRegex(J);for(let Oe=R.tokensIndex+1;Oe<i.length;Oe++)i[Oe].value="",i[Oe].output="",delete i[Oe].suffix;p.output=R.output+Ie.output,p.backtrack=!0,w({type:"paren",extglob:!0,value:h,output:""}),Fe("parens");return}let z=R.close+(n.capture?")":""),re;if(R.type==="negate"){let G=H;if(R.inner&&R.inner.length>1&&R.inner.includes("/")&&(G=D(n)),(G!==H||se()||/^\)+$/.test(Ae()))&&(z=R.close=`)$))${G}`),R.inner.includes("*")&&(re=Ae())&&/^\.[^\\/.]+$/.test(re)){let Ie=es(re,{...t,fastpaths:!1}).output;z=R.close=`)${Ie})${G})`}R.prev.type==="bos"&&(p.negatedExtglob=!0)}w({type:"paren",extglob:!0,value:h,output:z}),Fe("parens")};if(n.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let R=!1,J=e.replace(bE,(y,P,z,re,G,Ie)=>re==="\\"?(R=!0,y):re==="?"?P?P+re+(G?x.repeat(G.length):""):Ie===0?N+(G?x.repeat(G.length):""):x.repeat(z.length):re==="."?d.repeat(z.length):re==="*"?P?P+re+(G?H:""):H:P?y:`\\${y}`);return R===!0&&(n.unescape===!0?J=J.replace(/\\/g,""):J=J.replace(/\\+/g,y=>y.length%2===0?"\\\\":y?"\\":"")),J===e&&n.contains===!0?(p.output=e,p):(p.output=oe.wrapOutput(J,p,t),p)}for(;!se();){if(h=Ce(),h==="\0")continue;if(h==="\\"){let y=F();if(y==="/"&&n.bash!==!0||y==="."||y===";")continue;if(!y){h+="\\",w({type:"text",value:h});continue}let P=/^\\+/.exec(Ae()),z=0;if(P&&P[0].length>2&&(z=P[0].length,p.index+=z,z%2!==0&&(h+="\\")),n.unescape===!0?h=Ce():h+=Ce(),p.brackets===0){w({type:"text",value:h});continue}}if(p.brackets>0&&(h!=="]"||_.value==="["||_.value==="[^")){if(n.posix!==!1&&h===":"){let y=_.value.slice(1);if(y.includes("[")&&(_.posix=!0,y.includes(":"))){let P=_.value.lastIndexOf("["),z=_.value.slice(0,P),re=_.value.slice(P+2),G=IE[re];if(G){_.value=z+G,p.backtrack=!0,Ce(),!s.output&&i.indexOf(_)===1&&(s.output=g);continue}}}(h==="["&&F()!==":"||h==="-"&&F()==="]")&&(h=`\\${h}`),h==="]"&&(_.value==="["||_.value==="[^")&&(h=`\\${h}`),n.posix===!0&&h==="!"&&_.value==="["&&(h="^"),_.value+=h,dn({value:h});continue}if(p.quotes===1&&h!=='"'){h=oe.escapeRegex(h),_.value+=h,dn({value:h});continue}if(h==='"'){p.quotes=p.quotes===1?0:1,n.keepQuotes===!0&&w({type:"text",value:h});continue}if(h==="("){pn("parens"),w({type:"paren",value:h});continue}if(h===")"){if(p.parens===0&&n.strictBrackets===!0)throw new SyntaxError(Rt("opening","("));let y=I[I.length-1];if(y&&p.parens===y.parens+1){kd(I.pop());continue}w({type:"paren",value:h,output:p.parens?")":"\\)"}),Fe("parens");continue}if(h==="["){if(n.nobracket===!0||!Ae().includes("]")){if(n.nobracket!==!0&&n.strictBrackets===!0)throw new SyntaxError(Rt("closing","]"));h=`\\${h}`}else pn("brackets");w({type:"bracket",value:h});continue}if(h==="]"){if(n.nobracket===!0||_&&_.type==="bracket"&&_.value.length===1){w({type:"text",value:h,output:`\\${h}`});continue}if(p.brackets===0){if(n.strictBrackets===!0)throw new SyntaxError(Rt("opening","["));w({type:"text",value:h,output:`\\${h}`});continue}Fe("brackets");let y=_.value.slice(1);if(_.posix!==!0&&y[0]==="^"&&!y.includes("/")&&(h=`/${h}`),_.value+=h,dn({value:h}),n.literalBrackets===!1||oe.hasRegexChars(y))continue;let P=oe.escapeRegex(_.value);if(p.output=p.output.slice(0,-_.value.length),n.literalBrackets===!0){p.output+=P,_.value=P;continue}_.value=`(${a}${P}|${_.value})`,p.output+=_.value;continue}if(h==="{"&&n.nobrace!==!0){pn("braces");let y={type:"brace",value:h,output:"(",outputIndex:p.output.length,tokensIndex:p.tokens.length};U.push(y),w(y);continue}if(h==="}"){let y=U[U.length-1];if(n.nobrace===!0||!y){w({type:"text",value:h,output:h});continue}let P=")";if(y.dots===!0){let z=i.slice(),re=[];for(let G=z.length-1;G>=0&&(i.pop(),z[G].type!=="brace");G--)z[G].type!=="dots"&&re.unshift(z[G].value);P=xE(re,n),p.backtrack=!0}if(y.comma!==!0&&y.dots!==!0){let z=p.output.slice(0,y.outputIndex),re=p.tokens.slice(y.tokensIndex);y.value=y.output="\\{",h=P="\\}",p.output=z;for(let G of re)p.output+=G.output||G.value}w({type:"brace",value:h,output:P}),Fe("braces"),U.pop();continue}if(h==="|"){I.length>0&&I[I.length-1].conditions++,w({type:"text",value:h});continue}if(h===","){let y=h,P=U[U.length-1];P&&ue[ue.length-1]==="braces"&&(P.comma=!0,y="|"),w({type:"comma",value:h,output:y});continue}if(h==="/"){if(_.type==="dot"&&p.index===p.start+1){p.start=p.index+1,p.consumed="",p.output="",i.pop(),_=s;continue}w({type:"slash",value:h,output:m});continue}if(h==="."){if(p.braces>0&&_.type==="dot"){_.value==="."&&(_.output=d);let y=U[U.length-1];_.type="dots",_.output+=h,_.value+=h,y.dots=!0;continue}if(p.braces+p.parens===0&&_.type!=="bos"&&_.type!=="slash"){w({type:"text",value:h,output:d});continue}w({type:"dot",value:h,output:d});continue}if(h==="?"){if(!(_&&_.value==="(")&&n.noextglob!==!0&&F()==="("&&F(2)!=="?"){mn("qmark",h);continue}if(_&&_.type==="paren"){let P=F(),z=h;if(P==="<"&&!oe.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(_.value==="("&&!/[!=<:]/.test(P)||P==="<"&&!/<([!=]|\w+>)/.test(Ae()))&&(z=`\\${h}`),w({type:"text",value:h,output:z});continue}if(n.dot!==!0&&(_.type==="slash"||_.type==="bos")){w({type:"qmark",value:h,output:M});continue}w({type:"qmark",value:h,output:x});continue}if(h==="!"){if(n.noextglob!==!0&&F()==="("&&(F(2)!=="?"||!/[!=<:]/.test(F(3)))){mn("negate",h);continue}if(n.nonegate!==!0&&p.index===0){Td();continue}}if(h==="+"){if(n.noextglob!==!0&&F()==="("&&F(2)!=="?"){mn("plus",h);continue}if(_&&_.value==="("||n.regex===!1){w({type:"plus",value:h,output:f});continue}if(_&&(_.type==="bracket"||_.type==="paren"||_.type==="brace")||p.parens>0){w({type:"plus",value:h});continue}w({type:"plus",value:f});continue}if(h==="@"){if(n.noextglob!==!0&&F()==="("&&F(2)!=="?"){w({type:"at",extglob:!0,value:h,output:""});continue}w({type:"text",value:h});continue}if(h!=="*"){(h==="$"||h==="^")&&(h=`\\${h}`);let y=OE.exec(Ae());y&&(h+=y[0],p.index+=y[0].length),w({type:"text",value:h});continue}if(_&&(_.type==="globstar"||_.star===!0)){_.type="star",_.star=!0,_.value+=h,_.output=H,p.backtrack=!0,p.globstar=!0,le(h);continue}let R=Ae();if(n.noextglob!==!0&&/^\([^?]/.test(R)){mn("star",h);continue}if(_.type==="star"){if(n.noglobstar===!0){le(h);continue}let y=_.prev,P=y.prev,z=y.type==="slash"||y.type==="bos",re=P&&(P.type==="star"||P.type==="globstar");if(n.bash===!0&&(!z||R[0]&&R[0]!=="/")){w({type:"star",value:h,output:""});continue}let G=p.braces>0&&(y.type==="comma"||y.type==="brace"),Ie=I.length&&(y.type==="pipe"||y.type==="paren");if(!z&&y.type!=="paren"&&!G&&!Ie){w({type:"star",value:h,output:""});continue}for(;R.slice(0,3)==="/**";){let Oe=e[p.index+4];if(Oe&&Oe!=="/")break;R=R.slice(3),le("/**",3)}if(y.type==="bos"&&se()){_.type="globstar",_.value+=h,_.output=D(n),p.output=_.output,p.globstar=!0,le(h);continue}if(y.type==="slash"&&y.prev.type!=="bos"&&!re&&se()){p.output=p.output.slice(0,-(y.output+_.output).length),y.output=`(?:${y.output}`,_.type="globstar",_.output=D(n)+(n.strictSlashes?")":"|$)"),_.value+=h,p.globstar=!0,p.output+=y.output+_.output,le(h);continue}if(y.type==="slash"&&y.prev.type!=="bos"&&R[0]==="/"){let Oe=R[1]!==void 0?"|$":"";p.output=p.output.slice(0,-(y.output+_.output).length),y.output=`(?:${y.output}`,_.type="globstar",_.output=`${D(n)}${m}|${m}${Oe})`,_.value+=h,p.output+=y.output+_.output,p.globstar=!0,le(h+Ce()),w({type:"slash",value:"/",output:""});continue}if(y.type==="bos"&&R[0]==="/"){_.type="globstar",_.value+=h,_.output=`(?:^|${m}|${D(n)}${m})`,p.output=_.output,p.globstar=!0,le(h+Ce()),w({type:"slash",value:"/",output:""});continue}p.output=p.output.slice(0,-_.output.length),_.type="globstar",_.output=D(n),_.value+=h,p.output+=_.output,p.globstar=!0,le(h);continue}let J={type:"star",value:h,output:H};if(n.bash===!0){J.output=".*?",(_.type==="bos"||_.type==="slash")&&(J.output=O+J.output),w(J);continue}if(_&&(_.type==="bracket"||_.type==="paren")&&n.regex===!0){J.output=h,w(J);continue}(p.index===p.start||_.type==="slash"||_.type==="dot")&&(_.type==="dot"?(p.output+=A,_.output+=A):n.dot===!0?(p.output+=T,_.output+=T):(p.output+=O,_.output+=O),F()!=="*"&&(p.output+=g,_.output+=g)),w(J)}for(;p.brackets>0;){if(n.strictBrackets===!0)throw new SyntaxError(Rt("closing","]"));p.output=oe.escapeLast(p.output,"["),Fe("brackets")}for(;p.parens>0;){if(n.strictBrackets===!0)throw new SyntaxError(Rt("closing",")"));p.output=oe.escapeLast(p.output,"("),Fe("parens")}for(;p.braces>0;){if(n.strictBrackets===!0)throw new SyntaxError(Rt("closing","}"));p.output=oe.escapeLast(p.output,"{"),Fe("braces")}if(n.strictSlashes!==!0&&(_.type==="star"||_.type==="bracket")&&w({type:"maybe_slash",value:"",output:`${m}?`}),p.backtrack===!0){p.output="";for(let R of p.tokens)p.output+=R.output!=null?R.output:R.value,R.suffix&&(p.output+=R.suffix)}return p};es.fastpaths=(e,t)=>{let n={...t},r=typeof n.maxLength=="number"?Math.min(fr,n.maxLength):fr,o=e.length;if(o>r)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${r}`);e=_l[e]||e;let s=oe.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:d,NO_DOTS_SLASH:f,STAR:m,START_ANCHOR:g}=en.globChars(s),S=n.dot?d:u,C=n.dot?f:u,A=n.capture?"":"?:",T={negated:!1,prefix:""},x=n.bash===!0?".*?":m;n.capture&&(x=`(${x})`);let M=O=>O.noglobstar===!0?x:`(${A}(?:(?!${g}${O.dot?l:i}).)*?)`,k=O=>{switch(O){case"*":return`${S}${c}${x}`;case".*":return`${i}${c}${x}`;case"*.*":return`${S}${x}${i}${c}${x}`;case"*/*":return`${S}${x}${a}${c}${C}${x}`;case"**":return S+M(n);case"**/*":return`(?:${S}${M(n)}${a})?${C}${c}${x}`;case"**/*.*":return`(?:${S}${M(n)}${a})?${C}${x}${i}${c}${x}`;case"**/.*":return`(?:${S}${M(n)}${a})?${i}${c}${x}`;default:{let N=/^(.*?)\.(\w+)$/.exec(O);if(!N)return;let H=k(N[1]);return H?H+i+N[2]:void 0}}},K=oe.removePrefix(e,T),D=k(K);return D&&n.strictSlashes!==!0&&(D+=`${a}?`),D};El.exports=es});var Cl=W((Fb,Rl)=>{"use strict";var ME=$e("path"),LE=gl(),ts=yl(),ns=Zt(),vE=qt(),HE=e=>e&&typeof e=="object"&&!Array.isArray(e),Q=(e,t,n=!1)=>{if(Array.isArray(e)){let u=e.map(f=>Q(f,t,n));return f=>{for(let m of u){let g=m(f);if(g)return g}return!1}}let r=HE(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let o=t||{},s=ns.isWindows(t),i=r?Q.compileRe(e,t):Q.makeRe(e,t,!1,!0),a=i.state;delete i.state;let c=()=>!1;if(o.ignore){let u={...t,ignore:null,onMatch:null,onResult:null};c=Q(o.ignore,u,n)}let l=(u,d=!1)=>{let{isMatch:f,match:m,output:g}=Q.test(u,i,t,{glob:e,posix:s}),S={glob:e,state:a,regex:i,posix:s,input:u,output:g,match:m,isMatch:f};return typeof o.onResult=="function"&&o.onResult(S),f===!1?(S.isMatch=!1,d?S:!1):c(u)?(typeof o.onIgnore=="function"&&o.onIgnore(S),S.isMatch=!1,d?S:!1):(typeof o.onMatch=="function"&&o.onMatch(S),d?S:!0)};return n&&(l.state=a),l};Q.test=(e,t,n,{glob:r,posix:o}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let s=n||{},i=s.format||(o?ns.toPosixSlashes:null),a=e===r,c=a&&i?i(e):e;return a===!1&&(c=i?i(e):e,a=c===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Q.matchBase(e,t,n,o):a=t.exec(c)),{isMatch:!!a,match:a,output:c}};Q.matchBase=(e,t,n,r=ns.isWindows(n))=>(t instanceof RegExp?t:Q.makeRe(t,n)).test(ME.basename(e));Q.isMatch=(e,t,n)=>Q(t,n)(e);Q.parse=(e,t)=>Array.isArray(e)?e.map(n=>Q.parse(n,t)):ts(e,{...t,fastpaths:!1});Q.scan=(e,t)=>LE(e,t);Q.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let o=t||{},s=o.contains?"":"^",i=o.contains?"":"$",a=`${s}(?:${e.output})${i}`;e&&e.negated===!0&&(a=`^(?!${a}).*$`);let c=Q.toRegex(a,t);return r===!0&&(c.state=e),c};Q.makeRe=(e,t={},n=!1,r=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(o.output=ts.fastpaths(e,t)),o.output||(o=ts(e,t)),Q.compileRe(o,t,n,r)};Q.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(n){if(t&&t.debug===!0)throw n;return/$^/}};Q.constants=vE;Rl.exports=Q});var Il=W(($b,Al)=>{"use strict";Al.exports=Cl()});var Pl=W((jb,kl)=>{"use strict";var bl=$e("util"),xl=nl(),Pe=Il(),rs=Zt(),Ol=e=>e===""||e==="./",Tl=e=>{let t=e.indexOf("{");return t>-1&&e.indexOf("}",t)>-1},V=(e,t,n)=>{t=[].concat(t),e=[].concat(e);let r=new Set,o=new Set,s=new Set,i=0,a=u=>{s.add(u.output),n&&n.onResult&&n.onResult(u)};for(let u=0;u<t.length;u++){let d=Pe(String(t[u]),{...n,onResult:a},!0),f=d.state.negated||d.state.negatedExtglob;f&&i++;for(let m of e){let g=d(m,!0);(f?!g.isMatch:g.isMatch)&&(f?r.add(g.output):(r.delete(g.output),o.add(g.output)))}}let l=(i===t.length?[...s]:[...o]).filter(u=>!r.has(u));if(n&&l.length===0){if(n.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(n.nonull===!0||n.nullglob===!0)return n.unescape?t.map(u=>u.replace(/\\/g,"")):t}return l};V.match=V;V.matcher=(e,t)=>Pe(e,t);V.isMatch=(e,t,n)=>Pe(t,n)(e);V.any=V.isMatch;V.not=(e,t,n={})=>{t=[].concat(t).map(String);let r=new Set,o=[],s=a=>{n.onResult&&n.onResult(a),o.push(a.output)},i=new Set(V(e,t,{...n,onResult:s}));for(let a of o)i.has(a)||r.add(a);return[...r]};V.contains=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${bl.inspect(e)}"`);if(Array.isArray(t))return t.some(r=>V.contains(e,r,n));if(typeof t=="string"){if(Ol(e)||Ol(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return V.isMatch(e,t,{...n,contains:!0})};V.matchKeys=(e,t,n)=>{if(!rs.isObject(e))throw new TypeError("Expected the first argument to be an object");let r=V(Object.keys(e),t,n),o={};for(let s of r)o[s]=e[s];return o};V.some=(e,t,n)=>{let r=[].concat(e);for(let o of[].concat(t)){let s=Pe(String(o),n);if(r.some(i=>s(i)))return!0}return!1};V.every=(e,t,n)=>{let r=[].concat(e);for(let o of[].concat(t)){let s=Pe(String(o),n);if(!r.every(i=>s(i)))return!1}return!0};V.all=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${bl.inspect(e)}"`);return[].concat(t).every(r=>Pe(r,n)(e))};V.capture=(e,t,n)=>{let r=rs.isWindows(n),s=Pe.makeRe(String(e),{...n,capture:!0}).exec(r?rs.toPosixSlashes(t):t);if(s)return s.slice(1).map(i=>i===void 0?"":i)};V.makeRe=(...e)=>Pe.makeRe(...e);V.scan=(...e)=>Pe.scan(...e);V.parse=(e,t)=>{let n=[];for(let r of[].concat(e||[]))for(let o of xl(String(r),t))n.push(Pe.parse(o,t));return n};V.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!Tl(e)?[e]:xl(e,t)};V.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return V.braces(e,{...t,expand:!0})};V.hasBraces=Tl;kl.exports=V});import{existsSync as zd,readFileSync as Wd}from"node:fs";import{hostname as ti,userInfo as Vd}from"node:os";import{createHash as Hd,randomBytes as Ud}from"node:crypto";import{existsSync as kr,mkdirSync as Dd,readdirSync as Fd,readFileSync as $d,renameSync as Ws,statSync as Xs,unlinkSync as Vs,writeFileSync as jd}from"node:fs";import{basename as Bd,dirname as Js,join as qs,relative as Kd}from"node:path";function b(e){process.stderr.write(`[ev-ai-agent-hook] ${e}
|
|
14
|
+
`)}function Pt(e){return e.replace(/^([a-z]+:\/\/)[^/@]+@/i,"$1")}function Nt(e){return Hd("sha256").update(e).digest("hex").slice(0,32)}function pe(e,t){Dd(Js(e),{recursive:!0});let n=qs(Js(e),`.${Bd(e)}.${process.pid}.${Ud(4).toString("hex")}.tmp`);try{jd(n,t,"utf8");try{Ws(n,e)}catch(r){let o=r instanceof Error&&"code"in r?r.code:void 0;if(o==="EEXIST"||o==="EPERM"||o==="EACCES"){Vs(e),Ws(n,e);return}throw r}}catch(r){try{Vs(n)}catch{}throw r}}function gn(){return new Date().toISOString().replace(/\.\d{3}Z$/,"Z")}function Pr(){process.stdout.write('{"continue":true}')}function L(e){let t=process.env[e];return t===void 0||t===""?void 0:t}async function Nr(){return new Promise(e=>{let t="";if(process.stdin.isTTY){e("");return}process.stdin.setEncoding("utf8"),process.stdin.on("data",n=>{t+=n}),process.stdin.on("end",()=>{e(t)}),process.stdin.on("error",()=>{e(t)}),process.stdin.resume()})}async function _n(e){return new Promise(t=>{let n="",r=!1,o=i=>{r||(r=!0,clearTimeout(s),t(i||"{}"))},s=setTimeout(()=>{o(n)},e);if(process.stdin.isTTY){o("{}");return}process.stdin.setEncoding("utf8"),process.stdin.on("data",i=>{n+=i}),process.stdin.on("end",()=>{o(n)}),process.stdin.on("error",()=>{o(n)}),process.stdin.resume()})}async function Se(e,t,n=3e3,r={}){let{execFile:o}=await import("node:child_process"),{promisify:s}=await import("node:util"),i=s(o);try{let{stdout:a}=await i(e,t,{timeout:n,windowsHide:!0,maxBuffer:1048576,cwd:r.cwd});return{ok:!0,stdout:a.trim()}}catch(a){let c=a,l=typeof c.code=="number"?c.code:typeof c.status=="number"?c.status:void 0;return{ok:!1,code:l,spawnFailed:l===void 0}}}async function ee(e,t,n=3e3,r={}){let o=await Se(e,t,n,r);return o.ok?o.stdout:""}async function wr(e=process.cwd()){let t=await Se("git",["rev-parse","--show-toplevel"],2e3,{cwd:e});if(t.ok&&t.stdout)return{root:t.stdout,inGitRepo:!0};if(L("EV_AI_HOOK_DEBUG")){let r=t.ok?"empty stdout":t.spawnFailed?"spawn failed":`exit ${String(t.code??"unknown")}`;b(`DEBUG: git rev-parse --show-toplevel failed (${r}) cwd=${e}`)}let n=L("CURSOR_PROJECT_DIR")??L("CLAUDE_PROJECT_DIR");if(n&&kr(n)){let r=await Se("git",["rev-parse","--show-toplevel"],2e3,{cwd:n});return r.ok&&r.stdout?{root:r.stdout,inGitRepo:!0}:{root:n,inGitRepo:!1}}return{root:e,inGitRepo:!1}}async function Mr(e=process.cwd()){return(await wr(e)).root}function me(e,t){try{return JSON.parse(e)}catch{return t}}var Ys=new Map;function hn(e){return e.charCodeAt(0)===65279?e.slice(1):e}function Gd(e){let t;try{t=$d(e,"utf8")}catch{return{ok:!1,reason:"read"}}try{return{ok:!0,value:JSON.parse(hn(t))}}catch{return{ok:!1,reason:"parse"}}}function Zs(e){let t=Ys.get(e);if(t!==void 0)return t;let n=Gd(e);return Ys.set(e,n),n}function Qs(e){return Zs(e)}function te(e,t){let n=Zs(e);return n.ok?n.value:t}function qe(e){return typeof e=="string"?e:""}function Me(e,t){let n=e[t];if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return n;if(!t.includes("."))return;let r=t.split("."),o=e;for(let s of r){if(o===null||typeof o!="object"||Array.isArray(o))return;o=o[s]}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean")return o}function v(e,t){let n=Me(e,t);return typeof n=="string"?n:""}var Be=500;function ei(e,t=2){if(!kr(e))return{entries:[],truncated:!1};let n=[],r=!1,o=(s,i)=>{if(i>t||r)return;let a;try{a=Fd(s,{withFileTypes:!0})}catch{return}for(let c of a){if(r)return;let l=qs(s,c.name);if(c.isDirectory()){o(l,i+1);continue}if(c.isFile()){try{n.push({name:Kd(e,l),size:Xs(l).size})}catch{continue}if(n.length>=Be){r=!0;return}}}};return o(e,1),{entries:n,truncated:r}}function Lr(e){return kr(e)?{present:!0,size:Xs(e).size}:{present:!1,size:0}}function lt(e){if(e===void 0||e==="")return!1;let t=e.trim().toLowerCase();return t!=="0"&&t!=="false"&&t!=="no"}function ni(e=process.env){return lt(Y("CURSOR_SANDBOX",e))}var Jd=["CIRCLECI","BUILDKITE","TF_BUILD","JENKINS_URL","JENKINS_HOME","CODEBUILD_BUILD_ID","DRONE","DRONE_BUILD_NUMBER","TEAMCITY_VERSION","TRAVIS","APPVEYOR","BITBUCKET_BUILD_NUMBER"];function Yd(e){return Jd.some(t=>!!Y(t,e))}function Xd(e){if(Y("KUBERNETES_SERVICE_HOST",e)||lt(Y("REMOTE_CONTAINERS",e))||lt(Y("DEVCONTAINER",e)))return!0;try{if(zd("/.dockerenv")||Wd("/proc/1/environ","utf8").includes("container="))return!0}catch{}return!1}function ri(e){return["VSCODE_PID","VSCODE_IPC_HOOK","CURSOR_EXTENSION_HOST_ROLE","CURSOR_WORKSPACE_LABEL"].some(t=>!!Y(t,e))}function qd(e,t=process.platform){return ri(e)?t==="darwin"||t==="win32"?!0:["__CFBundleIdentifier","DISPLAY","WAYLAND_DISPLAY","SESSIONNAME"].some(n=>!!Y(n,e)):!1}function Zd(e){return e===void 0?!1:e.trim().toLowerCase().startsWith("bc-")}function Qd(e){return e==="linux"}function Y(e,t){if(t){let n=t[e];return n===void 0||n===""?void 0:n}return L(e)}function ep(e,t,n){return e.trim().toLowerCase()==="cursor"&&t.trim().toLowerCase()==="ubuntu"&&!!tp(Y("CURSOR_VERSION",n))}function tp(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function vr(e){if(Zd(e.sessionId))return!0;let t=e.hostname??ti(),n=e.osUser??si(e.env);return ep(t,n,e.env)}function np(e){return lt(Y("CURSOR_AGENT",e.env))?!0:vr(e)}function rp(e){return!!(process.stdin.isTTY||process.stdout.isTTY||(Y("TERM",e)??Y("TERM_PROGRAM",e))||(Y("SSH_TTY",e)??Y("SSH_CONNECTION",e))||(Y("__CFBundleIdentifier",e)??Y("XPC_SERVICE_NAME",e))||ri(e)||["DISPLAY","WAYLAND_DISPLAY","XDG_SESSION_TYPE","DBUS_SESSION_BUS_ADDRESS"].some(t=>!!Y(t,e))||Y("SESSIONNAME",e))}function wt(e={}){let t=e.env;if(Y("GITHUB_ACTIONS",t))return"github_actions";if(lt(Y("CLAUDE_CODE_REMOTE",t)))return"claude_remote";let n=e.platform??process.platform;if(!qd(t,n)&&np(e)&&(lt(Y("CURSOR_AGENT",t))||Qd(n)))return"cursor_cloud";if(Y("CODESPACES",t)||Y("CODESPACE_NAME",t))return"codespaces";if(Y("GITLAB_CI",t))return"gitlab_ci";if(Yd(t))return"managed";let r=Y("CI",t);return r&&r!=="false"&&r!=="0"?"managed":Xd(t)?"container":rp(t)?"interactive":"unknown"}async function oi(){return await ee("systemd-detect-virt",[],1e3)}function si(e=process.env,t=Vd){for(let n of["USER","LOGNAME","USERNAME"]){let r=e[n];if(typeof r=="string"){let o=r.trim();if(o.length>0)return o}}try{return t().username??""}catch{return""}}async function ii(){let e=process.platform==="darwin"?"Darwin":process.platform==="win32"?"Windows_NT":"Linux",t="";if(process.platform==="darwin")t=await ee("sw_vers",["-productVersion"],1e3);else if(process.platform==="linux"){try{let{readFileSync:s}=await import("node:fs"),i=s("/etc/os-release","utf8"),a=i.match(/^PRETTY_NAME="?([^"\n]+)"?/m)?.[1],c=i.match(/^VERSION_ID="?([^"\n]+)"?/m)?.[1];t=a??c??""}catch{t=await ee("lsb_release",["-sd"],1e3).then(s=>s.replace(/^"|"$/g,""))}t||(t=await ee("uname",["-r"],1e3))}else t=await ee("ver",[],1e3);let n=si(),r=(process.env.SHELL??"").split(/[/\\]/).pop()??"",o="";try{o=await ee("tty",[],500),o.includes("not a tty")&&(o="")}catch{o=""}return{os:e,os_version:t||null,user:n||null,shell:r||null,tty:o||null}}function Sn(){return ti()}import{createHash as mp}from"node:crypto";import{homedir as gp}from"node:os";import{dirname as MA,join as _p,parse as LA,resolve as vA}from"node:path";var ai="EV_AI_LAUNCHER_VERSION";var ci="EV_AI_HOOK_SOURCE",ui="EV_AI_HOOK_FALLBACK_REASON",li="EV_AI_LAUNCHER_SCOPE",Hr="EV_AI_LAUNCHER_READY_FD";var fi="--defer-user-spec",En="--cap",Mt="--slot";var di=Buffer.from([1]);var mA=1024*1024,gA=4*1024*1024,_A=64*1024,hA=64*1024,SA=64*1024;var Ur=4096,EA=4*1024*1024;import{join as Si}from"node:path";import{open as pi,mkdir as op,readFile as sp,readdir as ip,rename as ap,stat as cp,rmdir as up,unlink as lp,utimes as fp}from"node:fs/promises";var yn=new WeakMap;function gi(e){if(e&&typeof e=="object"&&"code"in e)return e}function ft(e){return gi(e)?.code==="ENOENT"}function Lt(e){return gi(e)?.code==="EEXIST"}async function _i(e,t){try{return await e.readdir(t)}catch(n){if(ft(n))return[];throw n}}function hi(){return{async open(e,t){let n=await pi(e,t),r={path:e};return yn.set(r,n),r},async write(e,t){let n=mi(e),r=typeof t=="string"?Buffer.from(t,"utf8"):t;await n.write(r)},async fsync(e){await mi(e).sync()},async close(e){let t=yn.get(e);yn.delete(e),t&&await t.close()},rename:ap,async readdir(e){return ip(e)},readFile:sp,async stat(e){let t=await cp(e);return{mtimeMs:t.mtimeMs,size:t.size,isDirectory:()=>t.isDirectory()}},async mkdir(e,t){await op(e,t)},unlink:lp,rmdir:up,utimes:fp,async fsyncDir(e){if(process.platform==="win32")return;let t=await pi(e,"r");try{await t.sync()}finally{await t.close()}}}}function mi(e){let t=yn.get(e);if(!t)throw new Error("closed");return t}var Ei=4,yi=10;function Rn(e=process.platform){return e==="win32"?Ei:yi}var Cn=6e4,vt=2e3,Ri="slots",Dr=64;function Ci(e){return Si(e,".ev-ai","agent-hook",Ri)}function An(e,t){return Si(e,`slot-${t}`)}function In(e,t){return`${e}
|
|
15
|
+
${t}
|
|
16
|
+
`}function Fr(e){let t=e===void 0?null:/^(\d+):(\d+)$/.exec(e);if(!t)return;let n=Number(t[1]),r=Number(t[2]);return Number.isSafeInteger(n)&&Number.isSafeInteger(r)?{index:n,acquiredAtMs:r}:void 0}function Ai(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}var dp=/^(\d+)\n(\d+)\n$/;function pp(e){let t=dp.exec(e);if(!t)return;let n=Number(t[1]),r=Number(t[2]);return Number.isSafeInteger(n)&&n>0&&Number.isSafeInteger(r)?{pid:n,acquiredAtMs:r}:void 0}function Ii(e,t,n){let r=pp(e);if(!r)return Math.abs(n-t)<vt;let o=n-r.acquiredAtMs;return o<-vt||o>=Cn?!1:Ai(r.pid)}var xi="https://hooks.ev-ai.ai",Ti=".claude/ev-ai-runtime-report.json",ki="config.json",hp="max_concurrent_hooks",FA=1024*1024,Sp=new Set(["localhost","127.0.0.1","[::1]","::1"]),Ep=["claude","cursor","codex"],Pi=[Ti,".cursor/ev-ai-runtime-report.json",".codex/ev-ai-runtime-report.json"],$r=/^[A-Za-z0-9._~-]+$/;function On(e){return e!==void 0&&Ep.includes(e)}function Ni(e){if(!e||typeof e!="object")return;let t=e[hp];return typeof t=="number"&&Number.isSafeInteger(t)&&t>0?t:void 0}function Oi(e){if(e===void 0||!/^\d+$/.test(e))return;let t=Number(e);return Number.isSafeInteger(t)?t:void 0}function dt(e,t){let n=e[t+1];return n&&!n.startsWith("--")?{value:n,next:t+1}:{next:t}}function jr(e){let t,n,r,o,s,i,a;for(let c=0;c<e.length;c++){let l=e[c];if(l!==void 0){if(l==="--runner"){let u=dt(e,c);t=u.value,c=u.next;continue}if(l.startsWith("--runner=")){t=l.slice(9);continue}if(l==="--url"){let u=dt(e,c);u.value&&(r=u.value),c=u.next;continue}if(l.startsWith("--url=")){r=l.slice(6);continue}if(l==="--token"){let u=dt(e,c);u.value&&(o=u.value),c=u.next;continue}if(l.startsWith("--token=")){o=l.slice(8);continue}if(l==="--base-url"){let u=dt(e,c);u.value&&(s=u.value),c=u.next;continue}if(l.startsWith("--base-url=")){s=l.slice(11);continue}if(l===En){let u=dt(e,c);i=Oi(u.value)??i,c=u.next;continue}if(l.startsWith(`${En}=`)){i=Oi(l.slice(En.length+1))??i;continue}if(l===Mt){let u=dt(e,c);a=Fr(u.value)??a,c=u.next;continue}if(l.startsWith(`${Mt}=`)){a=Fr(l.slice(Mt.length+1))??a;continue}l!==fi&&!l.startsWith("-")&&n===void 0&&(n=l)}}return{runner:On(t)?t:void 0,event:n,collectorUrl:r,orgToken:o,baseUrl:s,...i!==void 0?{cap:i}:{},...a!==void 0?{slot:a}:{}}}function bn(e,t=xi){let n=t.replace(/\/+$/,""),r=e.trim();return`${n}/${r}/hook`}function Ht(e=gp()){return _p(e,".ev-ai",ki)}function wi(e,t){return{...e,...t}}function bi(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<=32||n===127||n===39)return!0}return!1}function xn(e){try{let t=new URL(e);return t.protocol==="https:"?!0:t.protocol==="http:"?Sp.has(t.hostname):!1}catch{return!1}}function Br(e){try{let n=new URL(e).pathname.split("/").filter(r=>r.length>0);if(n.length>=2&&n[n.length-1]==="hook"){let r=n[n.length-2];return r&&r.length>0?r:void 0}return}catch{return}}function Tn(e){let t;try{t=new URL(e)}catch{return`invalid URL (got: ${e})`}if(!xn(e))return`must be https (or http on localhost / 127.0.0.1 / ::1) (got: ${e})`;let n=Br(e);if(!n)return`must end with /{orgToken}/hook (got: ${e})`;if(!$r.test(n))return`org token must match ${$r.source} (got: ${n})`;if(bi(e))return`must not contain whitespace, control characters, or single quotes (got: ${e})`;if(bi(t.pathname))return`pathname must not contain whitespace, control characters, or single quotes (got: ${e})`}function Kr(e){return new URL(e).toString()}function Gr(e){if(e.collector_url)return e.collector_url;let t=e.repo_ingest_token,n=typeof t=="string"?t.trim():void 0;return n?bn(n):""}function kn(e){try{let t=new URL(e),n=t.pathname.split("/").filter(r=>r.length>0);return n.length>=2&&n[n.length-1]==="hook"&&(n[n.length-2]="***",t.pathname=`/${n.join("/")}`),t.toString()}catch{return"<invalid-url>"}}function Mi(e){let t=e.collectorUrl?.trim(),n;if(t)n=t;else{let o=e.orgToken?.trim();o&&(n=bn(o,e.baseUrl?.trim()??void 0))}if(!n)return{};let r=Tn(n);return r?{problem:r}:{url:Kr(n)}}var zr="CLAUDE_PLUGIN_OPTION_COLLECTOR_URL";function Li(e){let t=e[zr]?.trim();if(!t)return{};let n=Tn(t);return n?{problem:n}:{url:Kr(t)}}function Ut(e){if(Tn(e))return;let t;try{t=new URL(e)}catch{return}let n=Br(e);if(!n)return;let o=t.pathname.split("/").filter(a=>a.length>0).slice(0,-2),s=o.length>0?`/${o.join("/")}`:"",i=`${t.origin}${s}/${n}`;return mp("sha256").update(i).digest("hex").slice(0,32)}var Pn=2;var pt="ev-ai-agent-hook";function yp(e){let t=e.split(/[/\\]/).pop();return t&&t.length>0?t:e}function vi(e){let t=yp(e);return t===pt||t===`${pt}.exe`}var jA=`current/${pt}`,BA=`.ev-ai/agent-hook/${pt}`,Hi=5e3,Ui=5e3,Wr=3e3;var Nn=3e3,Di=1500,Fi=4*1024,Vr=256*1024,Rp=4*1024,$i=32*1024,Jr="1.3.6",KA=`@ev-ai/agent-hook@${Jr}`;var ji={claude:"CLAUDE_PLUGIN_ROOT",cursor:"CURSOR_PLUGIN_ROOT",codex:"PLUGIN_ROOT"};import{existsSync as O_,mkdirSync as b_,readdirSync as x_,readFileSync as T_,unlinkSync as pc,writeFileSync as k_}from"node:fs";import{homedir as mc}from"node:os";import{join as go}from"node:path";import{createHash as Wi,randomBytes as Ip}from"node:crypto";import{existsSync as Vi,mkdirSync as Yr,readFileSync as Ji,unlinkSync as Yi,writeFileSync as Xi}from"node:fs";import{homedir as Xr}from"node:os";import{dirname as wn,join as qr,resolve as Op}from"node:path";var Cp=new Set(["action@github.com","noreply@github.com","noreply@anthropic.com","cursoragent@cursor.com"]),Ap=new Set(["github-actions","github actions","dependabot","renovate","cursoragent","cursor agent"]);function fe(e,t){let n=(e??"").trim().toLowerCase(),r=(t??"").trim().toLowerCase();if(!n&&!r)return!1;if(n.includes("[bot]")||Ap.has(n)||r.includes("[bot]")||Cp.has(r))return!0;if(r.endsWith("@users.noreply.github.com")){let o=r.slice(0,r.indexOf("@")),s=o.includes("+")?o.slice(o.indexOf("+")+1):o;if(s.endsWith("bot")||s.includes("[bot]"))return!0}return!1}var bp="installation.json",xp="cloud-bootstrap.lock",Tp=6e4;function qi(e,t,n){let r=`${e}:${t??""}`;return n?`${n}:${r}`:r}function Ee(e=Xr()){return qr(e,".ev-ai","agent-hook")}function kp(e=Xr()){return qr(Ee(e),bp)}function Zi(e){return qr(wn(e),xp)}function Qi(){return Ip(8).toString("hex")}function mt(e){return Wi("sha256").update(e).digest("hex").slice(0,16)}function $(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function ea(e){return/^[A-Za-z0-9._-]{8,64}$/.test(e)}function Pp(e=process.env){let t=$(e.EV_AI_HOOK_INSTALLATION_ID);if(t){if(!ea(t)){b(`WARN: ignoring EV_AI_HOOK_INSTALLATION_ID (expected 8\u201364 chars [A-Za-z0-9._-], got length ${t.length})`);return}return t}}function ta(e,t){return e&&ea(e)?e:(e&&b(`WARN: ignoring installation id override (expected 8\u201364 chars [A-Za-z0-9._-], got length ${e.length})`),Pp(t))}function Np(e){return/^[0-9a-f]{16}$/.test(e)}function wp(e=process.env){if($(e.GITHUB_ACTIONS)){let t=$(e.GITHUB_REPOSITORY_ID)??$(e.GITHUB_REPOSITORY),n=$(e.GITHUB_ACTOR)??$(e.GITHUB_TRIGGERING_ACTOR)??$(e.GITHUB_USER);if(t&&n)return mt(`github_actions|${t}|${n}`)}if($(e.CODESPACES)||$(e.CODESPACE_NAME)){let t=$(e.CODESPACE_NAME);if(t)return mt(`codespaces|${t}`);let n=$(e.GITHUB_REPOSITORY_ID)??$(e.GITHUB_REPOSITORY),r=$(e.GITHUB_USER)??$(e.GITHUB_ACTOR);if(n&&r)return mt(`codespaces|${n}|${r}`)}if($(e.GITLAB_CI)){let t=$(e.CI_PROJECT_ID)??$(e.CI_PROJECT_PATH),n=$(e.GITLAB_USER_LOGIN)??$(e.GITLAB_USER_EMAIL)??$(e.GITLAB_USER_NAME);if(t&&n)return mt(`gitlab|${t}|${n}`)}return null}var Mp="cursoragent@cursor.com";function Lp(e){let t=$(e.CURSOR_USER_EMAIL);return!t||t.toLowerCase()===Mp?null:t}function vp(e,t){return $(e.CURSOR_PROJECT_DIR)??$(e.CLAUDE_PROJECT_DIR)??t}function Hp(e){return Pt(e).replace(/\.git$/i,"").toLowerCase()}async function Up(e){let t=await ee("git",["config","--get","remote.origin.url"],2e3,{cwd:e});return t?Hp(t):e}async function Dp(e){let t=$(await ee("git",["config","--local","--get","user.email"],2e3,{cwd:e})||void 0);if(t&&!fe(null,t))return t;let n=$(await ee("git",["log","-1","--format=%ae"],2e3,{cwd:e})||void 0);return n&&!fe(null,n)?n:null}function Fp(e,t){let n=vp(e,t);return n?mt(`cursor_cloud|${n}|${Lp(e)??""}`):null}async function $p(e,t){let n=$(e.CLAUDE_PROJECT_DIR)??t;if(!n)return null;let r=await Up(n),o=await Dp(n);return mt(`claude_remote|${r}|${o??""}`)}function Bi(e,t){let n=ta(e,t);if(n)return n;let r=wp(t);return r||Qi()}async function jp(e){let n=await ee("git",["config","--get","remote.origin.url"],2e3,{cwd:e})||Op(e);return Wi("sha256").update(n).digest("hex").slice(0,16)}function Bp(e){if(!e||typeof e!="object"||Array.isArray(e))return;let t={};for(let[n,r]of Object.entries(e))typeof r=="string"&&r.length>0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function Kp(e){try{let t=JSON.parse(e);if(typeof t.installation_id!="string"||t.installation_id.length===0)return;let n=Bp(t.platform_agent_ids);return{installation_id:t.installation_id,...t.pinned===!0?{pinned:!0}:{},...n?{platform_agent_ids:n}:{},...typeof t.operator_identity_hash=="string"?{operator_identity_hash:t.operator_identity_hash}:{},...typeof t.operator_identity_sent_at=="string"?{operator_identity_sent_at:t.operator_identity_sent_at}:{}}}catch{return}}function Ze(e){if(Vi(e))try{return Kp(Ji(e,"utf8"))}catch{}}function Zr(e){return Ze(e)}function na(e,t,n){let r=Ze(e);if(!r||r.operator_identity_hash===t&&r.operator_identity_sent_at===n)return;let o={...r,operator_identity_hash:t,operator_identity_sent_at:n};try{pe(e,`${JSON.stringify(o,null,2)}
|
|
17
|
+
`)}catch(s){let i=s instanceof Error?s.message:String(s);b(`WARN: operator identity cache write failed open: ${i}`)}}function ra(e,t=Date.now()){if(!e)return!0;if(Ze(e)?.operator_identity_hash)return!1;let n=Zi(e);try{if(Vi(n)){let r=Number.NaN;try{r=Number(Ji(n,"utf8").trim())}catch{}let o=t-r;if(Number.isFinite(o)&&o>=0&&o<Tp)return!1;try{Yi(n)}catch{}}}catch{}try{return Yr(wn(n),{recursive:!0}),Xi(n,`${t}
|
|
18
|
+
`,{encoding:"utf8",flag:"wx"}),!0}catch(r){if(aa(r))return!1;let o=r instanceof Error?r.message:String(r);return b(`WARN: cloud bootstrap claim failed open: ${o}`),!0}}function oa(e){if(e)try{Yi(Zi(e))}catch{}}function sa(e,t){let r=Ze(e)?.platform_agent_ids?.[t];return typeof r=="string"&&r.length>0?r:void 0}function ia(e,t,n){if(!n)return;let r=Ze(e);if(!r||r.platform_agent_ids?.[t]===n)return;let o={installation_id:r.installation_id,platform_agent_ids:{...r.platform_agent_ids,[t]:n},...r.operator_identity_hash?{operator_identity_hash:r.operator_identity_hash}:{},...r.operator_identity_sent_at?{operator_identity_sent_at:r.operator_identity_sent_at}:{}};try{pe(e,`${JSON.stringify(o,null,2)}
|
|
19
|
+
`)}catch(s){let i=s instanceof Error?s.message:String(s);b(`WARN: platform_agent_id cache write failed open: ${i}`)}}function aa(e){return e instanceof Error&&"code"in e&&e.code==="EEXIST"}function Gp(e,t){Yr(wn(e),{recursive:!0}),Xi(e,`${JSON.stringify(t,null,2)}
|
|
20
|
+
`,{encoding:"utf8",flag:"wx"})}function Ki(e,t){try{return Gp(e,t),t}catch(n){if(!aa(n))throw n;return Ze(e)}}function Gi(e,t){Yr(wn(e),{recursive:!0}),pe(e,`${JSON.stringify(t,null,2)}
|
|
21
|
+
`)}function zi(e,t){return{installation_id:e,...t&&t===e?{pinned:!0}:{}}}async function ca(e,t={}){let n=t.home??Xr(),r=t.env??process.env,o=await jp(e),s=kp(n),i={sessionId:t.sessionId,hostname:$(r.HOSTNAME)??void 0,osUser:$(r.USER)??$(r.LOGNAME)??$(r.USERNAME)??void 0,env:r},a=wt(i),c=ta(t.overrideId,r),l=a==="cursor_cloud"&&vr(i)?Fp(r,e):a==="claude_remote"?await $p(r,e):null,u=Ze(s);if(u){let S=u;if(c&&c===u.installation_id&&u.pinned!==!0&&(S={...u,pinned:!0},Gi(s,S)),!!l&&l!==S.installation_id&&!c&&S.pinned!==!0&&Np(S.installation_id)&&l){let A={installation_id:l,...S.platform_agent_ids?{platform_agent_ids:S.platform_agent_ids}:{}};return Gi(s,A),{installationId:l,storePath:s,repoKey:o}}return{installationId:S.installation_id,storePath:s,repoKey:o}}let d=c??l??Bi(void 0,r),f=Ki(s,zi(d,c));if(f)return{installationId:f.installation_id,storePath:s,repoKey:o};let m=c??l??Bi(void 0,r),g=Ki(s,zi(m===d?Qi():m,c));if(g)return{installationId:g.installation_id,storePath:s,repoKey:o};throw new Error(`Failed to create installation record at ${s}`)}import{existsSync as am}from"node:fs";import{existsSync as qp}from"node:fs";import{homedir as fa}from"node:os";import{join as Zp}from"node:path";import{existsSync as zp,readdirSync as ua}from"node:fs";import{homedir as Mn}from"node:os";import{join as ie}from"node:path";function Wp(e=process.platform){switch(e){case"darwin":return"/Library/Application Support/ClaudeCode";case"win32":return ie(process.env.ProgramFiles??"C:\\Program Files","ClaudeCode");default:return"/etc/claude-code"}}function Vp(e=process.platform){let t=Wp(e),n=[ie(t,"managed-settings.json")],r=ie(t,"managed-settings.d");try{if(!zp(r))return n;let o=ua(r).filter(s=>s.endsWith(".json")&&!s.startsWith(".")).sort().map(s=>ie(r,s));n.push(...o)}catch{}return n}function Qr(e=process.platform,t=Mn()){return{serverManaged:ie(t,".claude","remote-settings.json"),fileBased:Vp(e)}}function Jp(e=process.platform){switch(e){case"darwin":return"/Library/Application Support/Cursor";case"win32":return ie(process.env.ProgramData??"C:\\ProgramData","Cursor");default:return"/etc/cursor"}}function Yp(e=process.platform,t=Mn()){let n=[ie(Jp(e),"hooks.json")],r=ie(t,".cursor","managed");try{for(let o of ua(r,{withFileTypes:!0}))!o.isDirectory()||o.name.startsWith(".")||n.push(ie(r,o.name,"hooks.json"))}catch{}return n}function Xp(e=process.platform,t=Mn()){let n=e==="win32"?ie(process.env.ProgramData??"C:\\ProgramData","OpenAI","Codex"):"/etc/codex",r=[ie(n,"requirements.toml")];return e!=="win32"&&r.push(ie(n,"managed_config.toml")),r.push(ie(t,".codex","managed_config.toml"),ie(n,"config.toml")),r}function Ln(e,t=process.platform,n=Mn()){switch(e){case"claude":{let{serverManaged:r,fileBased:o}=Qr(t,n);return[r,...o]}case"cursor":return Yp(t,n);default:return Xp(t,n)}}function da(e){return e.settings.filter(t=>t.toLowerCase().endsWith(".json"))}var Qp={claude:{shared:{skillRoots:[".claude/skills"],dirs:[{dir:".claude/agents",kind:"SUBAGENT",extensions:[".md"]},{dir:".claude/commands",kind:"COMMAND",extensions:[".md"]},{dir:".claude/rules",kind:"RULE",extensions:[".mdc",".md"]}],memory:[["CLAUDE.md"],["CLAUDE.local.md"],[".claude/CLAUDE.md"]],settings:[".claude/settings.json",".claude/settings.local.json",".claude/hooks.json"]},homeOnly:{mcpJson:[".claude.json"],plugins:"claude",managed:"claude"},projectOnly:{mcpJson:[".mcp.json","mcp.json"]}},cursor:{shared:{skillRoots:[".cursor/skills"],dirs:[{dir:".cursor/agents",kind:"SUBAGENT",extensions:[".md"]},{dir:".cursor/commands",kind:"COMMAND",extensions:[".md"]},{dir:".cursor/rules",kind:"RULE",extensions:[".mdc",".md"]}],memory:[["AGENTS.md"]],settings:[".cursor/hooks.json",".cursor/sandbox.json",".cursor/permissions.json"],mcpJson:[".cursor/mcp.json"]},homeOnly:{skillRoots:[".cursor/skills-cursor"],memory:[[".cursor/AGENTS.md"]],settings:[".cursor/cli-config.json"],plugins:"cursor",managed:"cursor"},projectOnly:{skillRoots:[".agents/skills"],settings:[".cursor/cli.json"]}},codex:{shared:{skillRoots:[".agents/skills",".codex/skills"],dirs:[{dir:".codex/agents",kind:"SUBAGENT",extensions:[".toml",".md"]},{dir:".codex/prompts",kind:"COMMAND",extensions:[".md"]},{dir:".codex/rules",kind:"RULE",extensions:[".md",".rules"]}],memory:[["AGENTS.override.md","AGENTS.md"]],settings:[".codex/hooks.json",".codex/config.toml"],mcpToml:[".codex/config.toml"]},homeOnly:{memory:[[".codex/AGENTS.override.md",".codex/AGENTS.md"]],managed:"codex"}}};function la(e,t){if(!(!e&&!t))return[...e??[],...t??[]]}function em(e,t={}){let{shared:n}=e;return{skillRoots:[...n.skillRoots,...t.skillRoots??[]],dirs:n.dirs,memory:[...n.memory,...t.memory??[]],settings:[...n.settings,...t.settings??[]],mcpJson:la(n.mcpJson,t.mcpJson),mcpToml:la(n.mcpToml,t.mcpToml),plugins:t.plugins??n.plugins,managed:t.managed??n.managed}}function pa(e){return Object.fromEntries(Object.entries(Qp).map(([t,n])=>[t,em(n,n[e])]))}var gt=pa("homeOnly"),Ge=pa("projectOnly");function tm(e){return[...e.skillRoots,...e.dirs.map(t=>t.dir),...e.memory.flat(),...e.settings,...e.mcpJson??[],...e.mcpToml??[]]}function nm(e,t){return tm(e).some(n=>qp(Zp(t,n)))}function ma(e,t){for(let n of e)if(nm(n,t))return!0;return!1}function Ke(e){return[...new Set(e)]}function ze(e){let t=[],n=[],r=[],o=[],s=[],i=[],a=[];for(let c of e){t.push(...c.skillRoots);for(let l of c.dirs)l.kind==="SUBAGENT"?n.push(l.dir):l.kind==="COMMAND"?r.push(l.dir):o.push(l.dir);s.push(...c.memory.flat()),i.push(...c.settings),a.push(...c.mcpJson??[],...c.mcpToml??[])}return{skills:Ke(t),subagents:Ke(n),commands:Ke(r),rules:Ke(o),memory:Ke(s),settings:Ke(i),mcp:Ke(a)}}function rm(e,t=fa(),n=process.platform){let r=[];for(let o of e)o.managed&&r.push(...Ln(o.managed,n,t));return Ke(r)}var We=ze(Object.values(gt));function ga(e=fa(),t=process.platform){return rm(Object.values(gt),e,t)}import{existsSync as om}from"node:fs";import{resolve as eo}from"node:path";function ge(e){return eo(e).replaceAll("\\","/").replace(/\/$/,"")}function Qe(e,t){let n=new Set(t),r=[];for(let o of e)n.delete(o)&&r.push(o);for(let o of[...n].sort())r.push(o);return r}function vn(e,t){if(!e)return t;let n=`${e}/`,r=[],o=[];for(let s of t)s===e||s.startsWith(n)?r.push(s):o.push(s);return r.length===0?t:[...r,...o]}var sm=/^(?!\.)[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/;function Dt(e){let t=e.replaceAll("\\","/").replace(/^\.\//,"");return!t||t.startsWith("/")||/^[A-Za-z]:\//.test(t)||t.split("/").includes("..")||!sm.test(t)?null:t}function _t(e,t){let n=new Set,r=[];for(let o of[e,t]){if(!o)continue;let s=ge(o);n.has(s)||(n.add(s),r.push(s))}return r}function im(e,t){let n=`${e}/`;return t===e||t.startsWith(n)}function be(e,t,n,r=om){for(let o of e)for(let s of t){let i=ge(eo(o,s)),a=eo(o,s,n).replaceAll("\\","/");if(im(i,a)&&r(a))return a}return null}var ha=/(?:^|\/|[\s"'=(])(?:\.cursor\/|\.claude\/|\.agents\/)skills(?:-cursor)?\/([^/]+)\/SKILL\.md/i,Sa=/(?:^|\/|[\s"'=(])\.codex\/commands\/([^/]+)\.md\b/i,cm=/(?:^|\s)\/([a-z][a-z0-9-]{1,63}(?:\/[a-z][a-z0-9-]{1,63}){0,5})\b/gi,_a=new Set(["applications","app","bin","boot","data","dev","etc","home","lib","media","mnt","node_modules","opt","pkg","private","proc","projects","repos","run","sbin","src","srv","sys","tmp","usr","users","var","volumes","workspace","workspaces"]),um=/^[a-z][a-z0-9-]{1,63}$/,lm=[".cursor/skills",".claude/skills",".agents/skills"],fm=[".cursor/skills",".cursor/skills-cursor",".claude/skills",".agents/skills"],dm=Qe(lm,ze(Object.values(Ge)).skills),pm=Qe(fm,ze(Object.values(gt)).skills),mm=new Set(["read","read_file","view"]),gm=new Set(["bash","shell","zsh"]);function to(e){let t=e.replace(/\\/g,"/");return ha.exec(t)?.[1]??null}function _m(e){let t=e.replace(/\\/g,"/"),r=Sa.exec(t)?.[1];return r?r.toLowerCase():null}function hm(e){return to(e)??_m(e)}function Sm(e){for(let t of["path","file_path","target_file"]){let n=e[t];if(typeof n=="string"&&n.length>0)return n}return null}function Hn(e){return typeof e=="string"?Hn(me(e,null)):!e||typeof e!="object"?null:Sm(e)}function Ea(e){if(typeof e=="string")return Ea(me(e,null));if(!e||typeof e!="object")return null;let t=e.command;return typeof t=="string"&&t.length>0?t:null}function no(e){let t=Ea(e.tool_input);if(t)return t;let n=qe(e.command);return n.length>0?n:null}function Em(e){let t=e.replace(/\\/g,"/"),n=ha.exec(t);if(n?.[1])return n[1];let o=Sa.exec(t)?.[1];return o?o.toLowerCase():null}function ym(e){return typeof e.tool_name=="string"?e.tool_name:typeof e.tool=="string"?e.tool:""}function ro(e){let t=Hn(e.tool_input)??qe(e.file_path);return t.length>0?t:null}function Ft(e,t,n){let r=ym(e).toLowerCase();if(mm.has(r)){let o=ro(e);return o?t(o):null}if(gm.has(r)){let o=no(e);return o?n(o):null}return null}function ya(e){return Ft(e,hm,Em)}function Rm(e){let t=new Set,n=[];for(let r of e.matchAll(cm)){let o=r[1]?.toLowerCase();!o||t.has(o)||Cm(o)||(t.add(o),n.push(o))}return n}function Cm(e){let t=e.split("/")[0];return _a.has(e)||t!==void 0&&_a.has(t)}function Ra(e){let t=e.skillId.toLowerCase();if(!um.test(t))return null;let n=e.exists??am,r=`${t}/SKILL.md`,o=be(_t(e.launchCwd,e.gitRoot),dm,r,n);return o!==null?o:e.home?be([ge(e.home)],pm,r,n):null}function Am(e){return qe(e.prompt)}function Ca(e){let t=v(e,"command_name");if(t){let r=v(e,"expansion_type");if(r&&r!=="slash_command")return[];let o=t.replace(/^\//,"").toLowerCase();return o?[o]:[]}let n=Am(e);return n?Rm(n):[]}var uo=je(Je(),1);import{existsSync as Xg}from"node:fs";var tt={claude:".claude",cursor:".cursor",codex:".codex",opencode:".opencode"};function jt(e){let n=e.replace(/^\/+|\/+$/g,"").toLowerCase().split("/").filter(Boolean);return n.length<2?"":n.join("/")}function Yg(e){if(!e)return"";let t=Pt(e).replace(/\.git$/i,""),n=t.match(/^git@[^:]+:(.+)$/);if(n?.[1])return jt(n[1]);let r=t.match(/^ssh:\/\/[^/]+\/(.+)$/i);if(r?.[1])return jt(r[1]);t=t.replace(/^https:\/\//i,""),t=t.replace(/^http:\/\//i,""),t=t.replace(/^ssh:\/\//i,"");let o=t.match(/^[^/]+\/(.+)$/);return o?.[1]?jt(o[1]):jt(t)}async function Kn(e=process.cwd()){let t=await Se("git",["rev-parse","--is-inside-work-tree"],2e3,{cwd:e});if(!t.ok||t.stdout!=="true")return null;let[n,r,o,s]=await Promise.all([Se("git",["remote","get-url","origin"],2e3,{cwd:e}),Se("git",["branch","--show-current"],2e3,{cwd:e}),Se("git",["rev-parse","HEAD"],2e3,{cwd:e}),Se("git",["status","--porcelain"],2e3,{cwd:e})]);return{remote:n.ok?Pt(n.stdout):null,branch:r.ok?r.stdout:null,head:o.ok?o.stdout:null,dirty:s.ok?s.stdout.length>0:null}}async function Va(e,t,n,r=process.cwd(),o,s,i){if(t)return t;let a=tt[n];if(!a)return"";let c=qi(n,e.scope_path,i);if(s){let g=sa(s,c);if(g)return g}let l=o??await Kn(r),u=l?.remote?Yg(l.remote):"";if(u||(u=jt(process.env.GITHUB_REPOSITORY??"")),!u)return"";let d=e.scope_path??"",f=d?`${d}/`:"",m=`${u}:${f}${a}`;return s&&ia(s,c,m),m}var qg=[".cursor/rules",".claude/rules",".codex/rules"],Zg=ze(Object.values(Ge)).rules;function Qg(e){return Qe(vn(e?tt[e]:void 0,qg),Zg)}var e_=/(?:^|\/|[\s"'=(])((?:\.cursor|\.claude|\.codex)\/rules\/[^'"\s]+?\.(?:mdc|md|rules))\b/i;function Ja(e){let t=Dt(e.relativePath);if(!t)return null;let n=e.exists??Xg,r=_t(e.launchCwd,e.gitRoot),o=Qg(e.runnerPlatform),s=be(r,o,t,n);if(s!==null)return s;if(!t.includes("/")){let i=be(r,["."],t,n);if(i!==null)return i}return e.home?be([ge(e.home)],o,t,n):null}function t_(e){let t=e.replace(/\\/g,"/"),r=e_.exec(t)?.[1];return r?(0,uo.nativeKeyForRulePath)(r):null}function Ya(e){return Ft(e,uo.nativeKeyForRulePath,t_)}function Xa(e){return e.replace(/\.(mdc|md|rules)$/i,"")}function qa(e){let t=e.attachments;if(!Array.isArray(t))return[];let n=new Set,r=[];for(let o of t){if(!o||typeof o!="object"||Array.isArray(o))continue;let s=o;if(s.type!=="rule")continue;let i=typeof s.file_path=="string"?s.file_path:"",a=Dt(i);!a||n.has(a)||(n.add(a),r.push(a))}return r}var lo=je(Je(),1);import{existsSync as n_}from"node:fs";var r_=[".cursor/commands",".claude/commands",".codex/prompts"],o_=ze(Object.values(Ge)).commands;function s_(e){return Qe(vn(e?tt[e]:void 0,r_),o_)}var i_=/(?:^|\/|[\s"'=(])((?:\.cursor|\.claude|\.codex)\/(?:commands|prompts)\/[^'"\s]+?\.(?:md|mdc))\b/i;function Za(e){let t=Dt(e.commandId);if(!t)return null;let n=e.exists??n_,r=`${t}.md`,o=s_(e.runnerPlatform),s=be(_t(e.launchCwd,e.gitRoot),o,r,n);return s!==null?s:e.home?be([ge(e.home)],o,r,n):null}function a_(e){let t=e.replace(/\\/g,"/"),r=i_.exec(t)?.[1];return r?(0,lo.nativeKeyForCommandPath)(r):null}function Qa(e){return Ft(e,lo.nativeKeyForCommandPath,a_)}var Gn=je(Je(),1);function ec(e){let t=Mi(e);if(t.problem){b(`WARN: ignoring --url/--token collector override: ${t.problem}`);return}return t.url}function tc(e,t){if(v(e,"conversation_id"))return!0;if(t==="")return!1;let n=t[0];return n?.toLowerCase()===n}function c_(){return!!(L("CURSOR_VERSION")??L("CURSOR_PROJECT_DIR"))}function nc(e,t,n){return e!=="claude"&&e!=="codex"?!1:tc(t,n)?!0:c_()}var u_=new Set(["sessionstart","sessionend","stop","stopfailure","pretooluse","posttooluse","posttoolusefailure","permissiondenied","subagentstart","subagentstop","userpromptexpansion","userpromptsubmit"]);function Bt(e,t,n,r){return tc(e,t)?"cursor":On(r)?r:On(n)?n:v(e,"turn_id")?"codex":v(e,"session_id")||u_.has(t.toLowerCase())?"claude":"unknown"}function zn(e,t){let n=e.toLowerCase();return n==="sessionend"||n==="stopfailure"||n==="subagentstop"?!0:n==="stop"&&t==="codex"}function l_(e){switch(e){case"sessionstart":return"session_start";case"stop":case"sessionend":case"stopfailure":return"session_end";case"pretooluse":case"posttooluse":case"posttoolusefailure":case"permissiondenied":case"beforemcpexecution":case"beforeshellexecution":case"aftershellexecution":case"beforereadfile":case"afterfileedit":case"subagentstart":case"subagentstop":return"tool_invoked";case"beforesubmitprompt":case"userpromptexpansion":case"userpromptsubmit":return"skill_invoked";default:return""}}function rc(e){let t=e.toLowerCase();return t==="userpromptsubmit"||t==="beforesubmitprompt"}function oc(e,t){return e.toLowerCase()==="userpromptsubmit"&&t==="claude"}function sc(e){let t=e.toLowerCase();return t==="posttooluse"?!0:t==="posttoolusefailure"||t==="permissiondenied"?!1:null}function Kt(e){return v(e,"session_id")||v(e,"conversation_id")}function fo(e){return v(e,"prompt.id")||v(e,"prompt_id")||v(e,"generation_id")||v(e,"turn_id")}function po(e){return v(e,"hook_event_name")||v(e,"event")}function ic(e,t,n){let r=Kt(e),o=fo(e),s=po(e),i=v(e,"source"),a=Bt(e,s,t,n);return{sessionId:r,turnId:o,runnerEvent:s,hookSource:i,runnerPlatform:a}}var f_=["session_start","session_end","tool_invoked","skill_invoked"];function d_(e){return f_.includes(e)}function mo(e,t){return e&&d_(e)?e:l_(t.toLowerCase())}var p_={beforeshellexecution:"Shell",aftershellexecution:"Shell",beforereadfile:"Read",afterfileedit:"Write"};function Wn(e){return/^mcp__/i.test(e)||/^MCP:/i.test(e)}function ac(e,t=""){let n=v(e,"tool_name")||v(e,"tool")||null,r=t.toLowerCase();n?r==="beforemcpexecution"&&!Wn(n)&&(n=`MCP:${n}`):n=p_[r]??null;let o=e.tool_input,i=(o&&typeof o=="object"?qe(o.skill)||qe(o.skill_name):"")||v(e,"skill_name")||null,a=n&&e.tool_name!==n&&e.tool!==n?{...e,tool_name:n}:e;i??=ya(a);let c=Ya(a),l=Qa(a);return{toolName:n,skillName:i,ruleName:c,commandName:l}}var m_=/^[A-Za-z][A-Za-z0-9_.:-]{0,63}$/;function cc(e){for(let t of["subagent_type","agent_type"]){let n=v(e,t);if(n&&m_.test(n))return n}return null}function uc(e){let t=Me(e,"duration_ms");if(typeof t=="number")return t;let n=Me(e,"duration");return typeof n=="number"?n:null}var g_="error",__="interrupted",h_="permission_denied",S_=/^[A-Za-z][A-Za-z0-9_.-]{0,63}$/;function Gt(e){return S_.test(e)?e:null}function E_(e){for(let t of["failure_type","error_type"]){let n=Gt(v(e,t));if(n)return n}return null}function lc(e,t){return Me(e,"is_interrupt")===!0?__:t.toLowerCase()==="permissiondenied"?h_:E_(e)??g_}function fc(e,t){let n=null;for(let r of e)r&&t(r)&&(n===null||r.length>n.length)&&(n=r);return n}function y_(e,t){return fc(t,n=>e===n||e.startsWith(`${n}_`)||e.startsWith(`${n}-`))}function R_(e,t){return fc(t,n=>(0,Gn.mcpServerNameMatchesToolSegment)(n,e))}function C_(e,t){let n=null,r=0;for(let s of t)if(s)for(let i of(0,Gn.mcpServerToolSegmentForms)(s)){let a=`${i}__`;e.length>a.length&&e.slice(0,a.length).toLowerCase()===a.toLowerCase()&&i.length>r&&(n={mcpServer:s,mcpTool:e.slice(a.length)},r=i.length)}if(n!==null)return n;let o=/^(.+?)__(.+)$/.exec(e);return!o?.[1]||!o[2]?{mcpServer:null,mcpTool:null}:{mcpServer:R_(o[1],t)??o[1],mcpTool:o[2]}}function A_(e,t){if(/^mcp__/i.test(e))return C_(e.slice(5),t);if(/^MCP:/i.test(e)){let n=e.slice(4);if(!n)return{mcpServer:null,mcpTool:null};let r=n.indexOf(":");if(r>0)return{mcpServer:n.slice(0,r),mcpTool:n.slice(r+1)||null};let o=n.indexOf("__");return o>0?{mcpServer:n.slice(0,o),mcpTool:n.slice(o+2)||null}:{mcpServer:y_(n,t),mcpTool:n}}return{mcpServer:null,mcpTool:null}}function I_(e,t){let n=`${t}__`;return e.length>n.length&&e.toLowerCase().startsWith(n.toLowerCase())?e.slice(n.length):e}function dc(e,t=[],n=""){let r=e?A_(e,t):{mcpServer:null,mcpTool:null},o=Gt(n.trim());if(!o)return r;let s=r.mcpTool;return!s&&e&&!Wn(e)&&(s=e),s&&(s=I_(s,o)),{mcpServer:o,mcpTool:s}}var gc=3e4,P_="claims",N_=!0,w_=100,M_=new Set(["sessionstart","sessionend","stopfailure"]),L_=["tool_name","tool","command","file_path","url"];function v_(e=mc()){return go(Ee(e),P_)}function _c(e,t){try{let n=T_(e,"utf8").split(`
|
|
22
|
+
`,1)[0]??"";return t-Number(n.trim())}catch{return Number.NaN}}function H_(e){let t=[];for(let n of L_){let r=v(e,n).trim();r&&t.push(`${n}=${r}`)}return t.length===0?"":Nt(t.join("\0"))}function U_(e){let t=e.sessionId.trim();if(!t)return;let n=e.runnerEvent.trim().toLowerCase(),r=e.turnId.trim(),o=e.toolUseId.trim(),s=e.subagentId?.trim()??"",i=e.callFingerprint?.trim()??"",a=!!(o||r||s),c=M_.has(n);if(!a&&!c)return;let l=e.runnerPlatform.trim()||"unknown";return Nt(`${l}|${t}|${n}|${r}|${o}|${i}|${s}`)}function D_(e,t=Date.now()){let n;try{n=x_(e)}catch{return}let r=0;for(let o of n){if(r>=w_)break;r+=1;let s=go(e,o),i=_c(s,t);if(!(!Number.isFinite(i)||i<gc))try{pc(s)}catch{}}}function F_(e,t,n=Date.now()){let r=go(t,e);try{if(O_(r)){let o=_c(r,n);if(Number.isFinite(o)&&o>=0&&o<gc)return!1;try{pc(r)}catch{}}}catch{}try{b_(t,{recursive:!0}),k_(r,`${n}
|
|
23
|
+
`,{encoding:"utf8",flag:"wx"})}catch(o){if(Lt(o))return!1;let s=o instanceof Error?o.message:String(o);return b(`WARN: event claim failed open: ${s}`),!0}return D_(t,n),!0}function $_(e,t,n){let r=Kt(e),o=fo(e),s=v(e,"tool_use_id"),i=v(e,"subagent_id")||v(e,"agent_id"),a=Bt(e,t,void 0,n),c=H_(e);return{runnerPlatform:a,sessionId:r,runnerEvent:t,turnId:o,toolUseId:s,subagentId:i,callFingerprint:c}}function hc(e,t,n,r=mc(),o=Date.now()){if(!N_)return!0;let s=U_($_(e,t,n));if(!s)return!0;let i=F_(s,v_(r),o);return!i&&L("EV_AI_HOOK_DEBUG")&&b(`DEBUG: duplicate hook event suppressed (claim ${s.slice(0,8)}\u2026)`),i}import{mkdirSync as j_,readFileSync as _o,statSync as Rc,unlinkSync as Cc,writeFileSync as ho}from"node:fs";import{homedir as Ac}from"node:os";function Ic(e){return e==="session_start"||e==="session_end"}var Vn=new Set,Sc=!1;function So(e=Ac()){return Ci(e)}function Eo(e,t=Ac(),n=process.platform){if(e!==void 0)return e>0?e:Rn(n);let r=te(Ht(t),{});return Ni(r)??Rn(n)}function zt(e){return In(e.pid,e.acquiredAtMs)}function Oc(e){try{let t=Rc(e);return t.isFile()&&t.size<=Dr?_o(e,"utf8"):void 0}catch{return}}function yo(e,t=So()){if(!e)return;let n=An(t,e.index),r={path:n,pid:process.pid,acquiredAtMs:e.acquiredAtMs},o=Oc(n);if(o===zt(r))return Jn(r);if(o===In(process.ppid,e.acquiredAtMs))try{return ho(n,zt(r),{encoding:"utf8",mode:384}),Jn(r)}catch{return}}function bc(e,t){if(e.path){Vn.delete(e);try{Oc(e.path)===zt(e)&&ho(e.path,In(t,e.acquiredAtMs),{encoding:"utf8",mode:384})}catch{}}}function xc(e,t=Date.now()){let n,r;try{let o=Rc(e);if(!o.isFile())return!1;r=o.mtimeMs,n=o.size<=Dr?_o(e,"utf8"):""}catch{return!1}return Ii(n,r,t)}function Tc(e,t=So(),n=Date.now){for(let r=0;r<e;r+=1)if(!xc(An(t,r),n()))return!0;return e<=0}function kc(e){return{pid:process.pid,acquiredAtMs:e}}function Ec(e,t){let n=e instanceof Error?e.message:String(e);return b(`WARN: hook process slot failed open: ${n}`),kc(t)}function Jn(e){return Vn.add(e),Sc||(Sc=!0,process.once("exit",()=>{for(let t of[...Vn])Yn(t)})),e}function yc(e){try{return ho(e.path,zt(e),{encoding:"utf8",flag:"wx",mode:384}),!0}catch(t){if(Lt(t))return!1;throw t}}function Pc(e,t=So(),n=Date.now){if(e<=0)return kc(n());try{j_(t,{recursive:!0})}catch(s){return Ec(s,n())}let r,o=0;for(let s=0;s<e;s+=1)try{let i={path:An(t,s),pid:process.pid,acquiredAtMs:n()};if(yc(i))return Jn(i);if(xc(i.path,n())){o+=1;continue}try{Cc(i.path)}catch(a){if(!ft(a))throw a}if(i.acquiredAtMs=n(),yc(i))return Jn(i);o+=1}catch(i){r??=i}return r===void 0||o>0?null:Ec(r,n())}function Yn(e,t=Date.now()){if(Vn.delete(e),!(!e.path||t-e.acquiredAtMs>=Cn-vt))try{_o(e.path,"utf8")===zt(e)&&Cc(e.path)}catch{}}function Ro(e){L("EV_AI_HOOK_DEBUG")&&b(`DEBUG: hook process cap reached (${e}/${e}); event dropped`)}import{closeSync as B_,writeSync as K_}from"node:fs";function Nc(e=process.env){let t=e[Hr];if(delete e[Hr],t===void 0)return;let n=Number.parseInt(t,10);if(!(!Number.isInteger(n)||n<3)){try{K_(n,di)}catch{}try{B_(n)}catch{}}}function Co(e=process.env){let t=e[ai];if(t)return{launcherVersion:t,hookSource:e[ci]??"",fallbackReason:e[ui],launcherScope:e[li]}}function wc(e,t){return(e?Ut(e):void 0)===t}import{realpathSync as mC}from"node:fs";import{homedir as gC}from"node:os";var B=je(Je(),1);import{existsSync as G_,readFileSync as z_}from"node:fs";import{homedir as Mc}from"node:os";import{join as W_}from"node:path";var V_="cloud-cache.json",J_=1440*60*1e3,Y_=900*1e3;function X_(e=Mc()){return W_(Ee(e),V_)}function q_(e){if(!G_(e))return;let t=me(z_(e,"utf8"),{});if(!(typeof t.context!="string"||typeof t.probed_at!="number"||t.result!==null&&t.result!==void 0&&typeof t.result!="object"))return{context:t.context,probed_at:t.probed_at,result:t.result??null}}function Z_(e,t){try{pe(e,`${JSON.stringify(t)}
|
|
24
|
+
`)}catch(n){let r=n instanceof Error?n.message:String(n);b(`WARN: cloud cache write failed open: ${r}`)}}function Q_(e,t,n){if(!e||e.context!==t)return!1;let r=e.result===null?Y_:J_;return n-e.probed_at<r}async function eh(e){let t=await fetch("http://169.254.169.254/latest/api/token",{method:"PUT",headers:{"X-aws-ec2-metadata-token-ttl-seconds":"60"},signal:AbortSignal.timeout(e)}).catch(()=>{});if(!t?.ok)return;let n=(await t.text()).trim();if(!n)return;let r={"X-aws-ec2-metadata-token":n},[o,s]=await Promise.all([fetch("http://169.254.169.254/latest/meta-data/placement/region",{headers:r,signal:AbortSignal.timeout(e)}).catch(()=>{}),fetch("http://169.254.169.254/latest/meta-data/instance-id",{headers:r,signal:AbortSignal.timeout(e)}).catch(()=>{})]);if(!o?.ok&&!s?.ok)return;let i=o?.ok?(await o.text()).trim():"",a=s?.ok?(await s.text()).trim():"";if(!(!i&&!a))return{provider:"aws",region:i,instance_id:a}}async function th(e){let t=await fetch("http://metadata.google.internal/computeMetadata/v1/instance/?recursive=true",{headers:{"Metadata-Flavor":"Google"},signal:AbortSignal.timeout(e)}).catch(()=>{});if(!t?.ok)return;let n=await t.json(),r=typeof n.zone=="string"?n.zone.split("/").pop()??"":"",o=n.id===void 0?"":String(n.id);if(!(!r&&!o))return{provider:"gcp",region:r,instance_id:o}}async function nh(e){let t=await fetch("http://169.254.169.254/metadata/instance?api-version=2021-02-01",{headers:{Metadata:"true"},signal:AbortSignal.timeout(e)}).catch(()=>{});if(!t?.ok)return;let n=await t.json(),r=n.compute?.location??"",o=n.compute?.vmId??"";if(!(!r&&!o))return{provider:"azure",region:r,instance_id:o}}async function rh(e){let t=await Promise.allSettled([eh(e),th(e),nh(e)]);for(let n of t)if(n.status==="fulfilled"&&n.value)return n.value;return null}async function Lc(e,t){if(e==="interactive")return null;let n=t?.home??Mc(),r=t?.timeoutMs??1e3,o=t?.nowMs??Date.now(),s=X_(n),i=q_(s);if(Q_(i,e,o))return i.result;let a=await rh(r);return Z_(s,{context:e,probed_at:o,result:a}),a}var Dc=je(Je(),1);import{existsSync as Hc}from"node:fs";import{homedir as Uc}from"node:os";import{join as Wt,resolve as Ao,sep as vc}from"node:path";function Xn(e,t,n){if(!Hc(e))return;let r=te(e,{});for(let[o,s]of Object.entries(r.mcpServers??{}))n.set(o,{declared:{name:o,...t},config:s})}function oh(e,t,n){if(!Hc(e))return;let r=te(e,{}),o=Ao(t),s=null;for(let a of Object.keys(r.projects??{})){let c=Ao(a);(o===c||o.startsWith(c.endsWith(vc)?c:c+vc))&&(s===null||c.length>Ao(s).length)&&(s=a)}if(s===null)return;let i=r.projects?.[s]?.mcpServers??{};for(let[a,c]of Object.entries(i))n.set(a,{declared:{name:a,source:"claude_json_project",sourcePath:".claude.json",scope:"user"},config:c})}function Fc(e,t,n,r){let o=new Map;for(let s of e.mcp_servers??[])s.name&&o.set(s.name,{declared:{name:s.name,source:"manifest"}});return n==="claude"?(Xn(Wt(r,".claude.json"),{source:"claude_json_user"},o),oh(Wt(r,".claude.json"),t,o)):n==="cursor"&&Xn(Wt(r,".cursor/mcp.json"),{source:"cursor_mcp_user"},o),Xn(Wt(t,".mcp.json"),{source:"mcp_json"},o),Xn(Wt(t,".cursor/mcp.json"),{source:"cursor_mcp"},o),o}async function Io(e,t=process.cwd(),n="claude",r=Uc()){return[...Fc(e,t,n,r).values()].map(o=>o.declared)}function $c(e,t,n=process.cwd(),r="claude",o=Uc()){let s=Fc(t,n,r,o),i=s.get(e);if(i!==void 0)return i.config??null;for(let[a,c]of s)if((0,Dc.mcpServerNameMatchesToolSegment)(a,e))return c.config??null;return null}var sh=["CI","GITHUB_ACTIONS","GITLAB_CI","CIRCLECI","BUILDKITE","TF_BUILD","JENKINS_URL","JENKINS_HOME","CODEBUILD_BUILD_ID","DRONE","DRONE_BUILD_NUMBER","TEAMCITY_VERSION","TRAVIS","APPVEYOR","BITBUCKET_BUILD_NUMBER","KUBERNETES_SERVICE_HOST","REMOTE_CONTAINERS","DEVCONTAINER","GITHUB_REPOSITORY","GITHUB_REPOSITORY_ID","GITHUB_REF","GITHUB_SHA","GITHUB_RUN_ID","GITHUB_WORKFLOW","GITHUB_ACTOR","GITHUB_TRIGGERING_ACTOR","GITHUB_ACTOR_ID","GITHUB_USER","GITLAB_USER_LOGIN","GITLAB_USER_NAME","GITLAB_USER_EMAIL","BUILD_REQUESTEDFOR","BUILD_REQUESTEDFOREMAIL","BUILD_REQUESTEDFORID","BUILDKITE_BUILD_CREATOR","BUILDKITE_BUILD_CREATOR_EMAIL","BUILD_USER","BUILD_USER_ID","BUILD_USER_EMAIL","CHANGE_AUTHOR","CHANGE_AUTHOR_EMAIL","CIRCLE_USERNAME","CODEBUILD_INITIATOR","DRONE_COMMIT_AUTHOR","DRONE_COMMIT_AUTHOR_NAME","DRONE_COMMIT_AUTHOR_EMAIL","EV_AI_HOOK_OPERATOR_NAME","EV_AI_HOOK_OPERATOR_EMAIL","EV_AI_HOOK_OPERATOR_LOGIN","GIT_AUTHOR_NAME","GIT_AUTHOR_EMAIL","GIT_COMMITTER_NAME","GIT_COMMITTER_EMAIL","EMAIL","RUNNER_OS","RUNNER_ARCH","NODE_ENV","TERM_PROGRAM","CLAUDE_CODE_REMOTE","CLAUDE_CODE_REMOTE_SESSION_ID","CURSOR_AGENT","CURSOR_VERSION","CURSOR_CODE_REMOTE","CURSOR_USER_EMAIL","CODESPACES","CODESPACE_NAME","ANTHROPIC_BASE_URL","OPENAI_BASE_URL","OPENAI_API_BASE","AZURE_OPENAI_ENDPOINT","GOOGLE_GEMINI_BASE_URL","GEMINI_API_BASE","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX"],ih=["CURSOR_PROJECT_DIR"],ah=new Set(["key","api-key","api_key","apikey","token","sig","signature","access_token","password","pwd","secret","client_secret"]);function ch(e){try{let t=new URL(e);(t.username||t.password)&&(t.username="",t.password="");for(let[n]of t.searchParams)ah.has(n.toLowerCase())&&t.searchParams.set(n,"[redacted]");return t.toString()}catch{return e}}function jc(e=process.env){let t=sh.map(r=>Object.prototype.hasOwnProperty.call(e,r)?{name:r,present:!0,value:ch(e[r]??"")}:{name:r,present:!1}),n=ih.map(r=>({name:r,present:Object.prototype.hasOwnProperty.call(e,r)&&!!e[r]}));return[...t,...n]}import{homedir as Dh}from"node:os";import{homedir as Bc}from"node:os";import{join as uh}from"node:path";function lh(e=Bc()){return uh(e,".claude.json")}function qn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Kc(e=Bc()){let n=te(lh(e),{}).oauthAccount;if(!n||typeof n!="object")return null;let r=qn(n.emailAddress),o=qn(n.fullName)??qn(n.displayName),s=qn(n.accountUuid),i=r??s;return!i||fe(o,r)?null:{git_user_name:null,git_user_email:null,platform_login:i,identity_source:"claude_oauth"}}import{homedir as Wc}from"node:os";import{join as Gc}from"node:path";var fh="https://api.openai.com/auth";function Et(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Vc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function dh(e){let t=e.split(".");if(t.length!==3||t.some(r=>r.length===0))return null;let n=t[1];if(!n)return null;try{let r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"));return Vc(r)}catch{return null}}function zc(e,t,n){return Et(e[n])??Et(t?.[n])}function ph(e=process.env,t=Wc()){let n=Et(e.CODEX_HOME)??Gc(t,".codex");return Gc(n,"auth.json")}function Jc(e=process.env,t=Wc()){let n=te(ph(e,t),{}),r=Et(n.auth_mode);if(r!==null&&r!=="chatgpt"||r===null&&Et(n.OPENAI_API_KEY))return null;let o=Et(n.tokens?.id_token);if(!o)return null;let s=dh(o);if(!s)return null;let i=Vc(s[fh]),a=zc(s,i,"name"),c=zc(s,i,"email");return!c||fe(a,c)?null:{git_user_name:null,git_user_email:null,platform_login:c,identity_source:"codex_oauth"}}import{homedir as er}from"node:os";import{join as He}from"node:path";import{join as mh}from"node:path";var gh="cursor-ide-identity.json",_h=840*60*1e3;function Xc(e){return mh(Ee(e),gh)}function Yc(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function qc(e){let t=te(e,{}),n=t.read_at_ms,r=t.db_path;if(!(typeof n!="number"||!Number.isFinite(n)||typeof r!="string"))return{read_at_ms:n,db_path:r,email:Yc(t.email),auth_id:Yc(t.auth_id)}}function Zc(e,t,n){if(e?.db_path!==t)return!1;let r=n-e.read_at_ms;return r>=0&&r<_h}function Qc(e,t){try{pe(e,`${JSON.stringify(t)}
|
|
25
|
+
`)}catch(n){let r=n instanceof Error?n.message:String(n);b(`WARN: cursor IDE identity cache write failed open: ${r}`)}}import{execFileSync as hh}from"node:child_process";import{existsSync as Sh}from"node:fs";import{createRequire as Eh}from"node:module";import{pathToFileURL as yh}from"node:url";var tu=Eh(import.meta.url),Zn=`
|
|
26
26
|
SELECT key, value
|
|
27
27
|
FROM ItemTable
|
|
28
28
|
WHERE key LIKE 'cursorAuth/%'
|
|
29
29
|
AND key NOT LIKE '%Token%'
|
|
30
30
|
AND key NOT LIKE '%token%'
|
|
31
31
|
ORDER BY key
|
|
32
|
-
`.trim(),
|
|
33
|
-
`)){let r=n.trimEnd();if(!r)continue;let o=r.indexOf(" ");if(o<=0)continue;let s=r.slice(0,o).trim(),i=r.slice(o+1).trim();s&&i&&!
|
|
34
|
-
`);return X(n)}function
|
|
35
|
-
`)){let o=r.trim();if(!o)continue;let s=o.indexOf(" ");if(s<=0)continue;let i=o.slice(0,s).toLowerCase(),a=o.slice(s+1).trim();a&&(i==="user.name"?t=a:i==="user.email"&&(n=a))}return{git_user_name:t,git_user_email:n,platform_login:null}}async function wh(e,t=ee){let n=await t("git",["config","--get-regexp","^user\\.(name|email)$"],2e3,{cwd:e});return Nh(n)}function Mh(e=process.env){let t=j(e.GIT_AUTHOR_NAME),n=j(e.GIT_AUTHOR_EMAIL);if(t||n)return{git_user_name:t,git_user_email:n,platform_login:null,identity_source:"git_env"};let r=j(e.GIT_COMMITTER_NAME),o=j(e.GIT_COMMITTER_EMAIL);if(r||o)return{git_user_name:r,git_user_email:o,platform_login:null,identity_source:"git_env"};let s=j(e.EMAIL);return s?{git_user_name:null,git_user_email:s,platform_login:null,identity_source:"git_env"}:null}function Ue(e,t,n,r=null){return!e&&!t&&!r?null:{git_user_name:e,git_user_email:t,platform_login:r,identity_source:n}}function Lh(e=process.env){let t=j(e.EV_AI_HOOK_OPERATOR_EMAIL),n=j(e.EV_AI_HOOK_OPERATOR_LOGIN),r=Ue(j(e.EV_AI_HOOK_OPERATOR_NAME),t,"configured",t??n);if(r)return r;let o=j(e.GITHUB_ACTOR)??j(e.GITHUB_TRIGGERING_ACTOR)??j(e.GITHUB_USER),s=Ue(o,null,"github",o);if(s)return s;let i=j(e.GITLAB_USER_LOGIN),a=j(e.GITLAB_USER_EMAIL),c=Ue(j(e.GITLAB_USER_NAME)??i,a,"gitlab",a??i);if(c)return c;let u=j(e.BUILD_REQUESTEDFOREMAIL),l=Ue(j(e.BUILD_REQUESTEDFOR),u,"azure_devops",u??j(e.BUILD_REQUESTEDFORID));if(l)return l;let p=j(e.BUILDKITE_BUILD_CREATOR_EMAIL),f=Ue(j(e.BUILDKITE_BUILD_CREATOR),p,"buildkite",p);if(f)return f;let m=j(e.BUILD_USER_EMAIL)??j(e.CHANGE_AUTHOR_EMAIL),g=Ue(j(e.BUILD_USER)??j(e.CHANGE_AUTHOR),m,"jenkins",m??j(e.BUILD_USER_ID));if(g)return g;let S=j(e.CIRCLE_USERNAME),C=Ue(S,null,"circleci",S);if(C)return C;let A=j(e.CODEBUILD_INITIATOR),T=Ue(A,null,"codebuild",A);if(T)return T;let x=j(e.DRONE_COMMIT_AUTHOR_EMAIL),M=j(e.DRONE_COMMIT_AUTHOR),k=Ue(M??j(e.DRONE_COMMIT_AUTHOR_NAME),x,"drone",x??M);if(k)return k;if(Kc(e.CLAUDE_CODE_REMOTE)||Kc(e.CURSOR_AGENT)){let K=j(e.CURSOR_USER_EMAIL);return{git_user_name:null,git_user_email:null,platform_login:K&&!fe(null,K)?K:null,identity_source:"cloud"}}return null}function po(e){return!!((e.git_user_name??e.git_user_email)&&!fe(e.git_user_name,e.git_user_email))}function j(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function Kc(e){if(e===void 0||e==="")return!1;let t=e.trim().toLowerCase();return t!=="0"&&t!=="false"&&t!=="no"}function vh(e,t,n){return e==="claude"?bc(t):e==="cursor"?jc(t,n):e==="codex"?Pc(n,t):null}async function mo(e,t=ee,n=process.env,r={}){let o=await wh(e,t),s=Mh(n),i=po(o)?o:s&&po(s)?s:null,a=vh(r.runnerPlatform,r.home??kh(),n);if(a)return{git_user_name:i?.git_user_name??null,git_user_email:i?.git_user_email??null,platform_login:a.platform_login,identity_source:a.identity_source};let c=Lh(n);return c?.platform_login?{git_user_name:i?.git_user_name??null,git_user_email:i?.git_user_email??null,platform_login:c.platform_login,identity_source:c.identity_source}:i?{...i,platform_login:null,identity_source:po(o)?"git_config":"git_env"}:c||(o.git_user_name||o.git_user_email?{...o,identity_source:"git_config"}:s||{git_user_name:null,git_user_email:null,platform_login:null,identity_source:"git_config"})}async function go(e){let{gitRoot:t,installationStorePath:n,forceResend:r}=e,o=e.exec??ee,s=e.env??process.env,i=await mo(t,o,s,{runnerPlatform:e.runnerPlatform,home:e.home}),a=Ph(i.git_user_name,i.git_user_email,i.identity_source,i.platform_login),u=(n?Ur(n):void 0)?.operator_identity_hash;if(!(r||u!==void 0&&u!==a||!u))return{commit:()=>{}};let m=n;return{operator:i,commit:()=>{m&&ki(m,a,ln())}}}function _o(e){return e?!Ur(e)?.operator_identity_hash:!0}function Gc(e){return!0}import{existsSync as Xy,readFileSync as qy}from"node:fs";import{homedir as hf}from"node:os";import{join as Ct,resolve as Zy}from"node:path";import{basename as By,join as Rt}from"node:path";import{dirname as nu,resolve as Wn}from"node:path";import{existsSync as Hh}from"node:fs";import{homedir as Vc}from"node:os";import{relative as Jc,resolve as Te,sep as Ye}from"node:path";var Uh=["session_id","conversation_id","turn_id","generation_id","prompt.id","prompt_id","hook_event_name","event","source","status","stop_reason","reason","tool_name","tool","tool_use_id","skill_name","command_name","expansion_type","command_source","permission_mode","model","model_id","agent_id","agent_type","subagent_id","subagent_type","subagent_model","is_parallel_worker","effort","effort.level","duration_ms","duration","sandbox","failure_type","is_interrupt"],Dh=["prompt","tool_input","tool_response","last_assistant_message","command"],Fh=new Set;function $h(e){switch(e?.toLowerCase()){case"beforemcpexecution":return new Set(["command"]);case"stopfailure":return new Set(["last_assistant_message"]);default:return Fh}}var Yc=new Set(["on","1","true"]);function Ro(e){let t=L("EV_AI_HOOK_CAPTURE_PROMPT")?.trim();return t!==void 0&&t!==""?Yc.has(t.toLowerCase()):e?.collect_prompt===!0}function Xc(e,t){let n=Co(e);if(n==="allowlist")return"off";if(n==="full")return"full";let r=L("EV_AI_HOOK_CAPTURE_PROMPT")?.trim();return r!==void 0&&r!==""?Yc.has(r.toLowerCase())?"env":"off":t?.collect_prompt===!0?"config":"off"}function qc(e){return Co(e)==="allowlist"}function Co(e){return L("EV_AI_HOOK_CAPTURE_CONTENT")?.toLowerCase()==="off"||e.capture_hook_input==="allowlist"?"allowlist":e.capture_hook_input==="full"||e.debug===!0||L("EV_AI_HOOK_CAPTURE_FULL_INPUT")==="1"?"full":"content"}function jh(e){let t={};for(let n of Uh){let r=Me(e,n);r!==void 0&&(t[n]=r)}return t}function Gn(e,t){if(typeof e!="string"||e.length===0||!t)return null;let n=Te(e),r=Te(t),o=Jc(r,n);return!o||o==="."?".":o.startsWith(`..${Ye}`)||o===".."||Te(r,o)!==n?null:o.split(Ye).join("/")}function Zc(e,t){let n=Jc(Te(t),Te(e)).split(Ye).join("/");return!n||n==="."?null:n===".."||n.startsWith("../")&&n.split("/").every(r=>r==="..")?n:null}function Qc(e){return typeof e!="string"||e.length===0?null:Te(e).split(Ye).join("/")}function Bh(){let e=L("CURSOR_PROJECT_DIR");if(!e)return null;let t=Te(e);return Hh(t)?t.split(Ye).join("/"):null}function So(e,t){return Gn(e,t)!==null}function Kh(e,t){let n=Te(t??Vc(),".cursor").split(Ye).join("/");return So(e,n)}function Gh(e,t,n){return t!==null&&So(e,t)?!0:t!==null&&Kh(e,n.home)?!1:n.inGitRepo===!0&&n.gitRoot!==void 0&&So(e,n.gitRoot)?!0:t===null}function eu(e,t){let n=Qc(e.cwd);if(n!==null)return n;let r=Te(process.cwd()).split(Ye).join("/"),o=Bh();return Gh(r,o,t)?r:o??r}function Ao(e,t={}){return eu(e,t)}function Io(e,t=Vc()){let n=Te(t).split(Ye).join("/").replace(/\/$/,"");return n.length<=1?e:e===n?"~":e.startsWith(`${n}/`)?`~${e.slice(n.length)}`:e}function zc(e,t,n){let r=Qc(n.launchCwd)??eu(t,n);e.cwd=Io(r,n.home);let o=n.inGitRepo===!0&&n.gitRoot!==void 0?Gn(r,n.gitRoot):null;o!==null&&(e.cwd_relative=o)}var tu="\u2026[truncated]\u2026",Eo=Buffer.byteLength(tu,"utf8"),zh=8;function Gt(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function Wc(e,t){if(t<=0)return"";let n=Buffer.from(e,"utf8");return n.length<=t?e:n.subarray(0,t).toString("utf8")}function Wh(e,t){if(t<=0)return"";let n=Buffer.from(e,"utf8");return n.length<=t?e:n.subarray(n.length-t).toString("utf8")}function Vh(e,t){if(Buffer.byteLength(e,"utf8")<=t)return e;if(t<=Eo)return Wc(e,t);let r=t-Eo,o=Math.ceil(r/2),s=Math.floor(r/2);return`${Wc(e,o)}${tu}${Wh(e,s)}`}function yo(e,t,n){if(typeof e=="string"){n.push({path:t,value:e,bytes:Buffer.byteLength(e,"utf8")});return}if(Array.isArray(e)){e.forEach((r,o)=>{yo(r,[...t,o],n)});return}if(e!==null&&typeof e=="object")for(let[r,o]of Object.entries(e))t.length===0&&r.startsWith("_")||yo(o,[...t,r],n)}function Jh(e,t,n){let r=e;for(let s=0;s<t.length-1;s++){let i=t[s];if(i===void 0)return;r=(Array.isArray(r),r[i])}let o=t[t.length-1];if(!(o===void 0||r===null||typeof r!="object")){if(Array.isArray(r)){r[o]=n;return}r[o]=n}}var Yh=256;function Xh(e,t,n){let r=n,o=Math.max(n,e[0]?.bytes??n);for(;r<o;){let s=Math.ceil((r+o)/2),i=0;for(let a of e)a.bytes>s&&(i+=a.bytes-s);i>=t?r=s:o=s-1}return r}function qh(e,t,n){let r=Number.POSITIVE_INFINITY;for(let o=0;o<6;o++){let s=Gt(e);if(s<=t)return;let i=[];yo(e,[],i),i.sort((l,p)=>p.bytes-l.bytes);let a=i.filter(l=>l.bytes>n);if(a.length===0)return;let c=Xh(a,s-t,n),u=Math.max(n,Math.min(c,r-1));if(u>=r)return;r=u;for(let l of a)l.bytes>r&&Jh(e,l.path,Vh(l.value,r))}}function Zh(e,t){let n=Math.max(0,t-Yh),r=Object.keys(e).filter(s=>!s.startsWith("_")).map(s=>({key:s,bytes:Gt(e[s])})).sort((s,i)=>i.bytes-s.bytes),o=[];for(let{key:s}of r){if(Gt(e)<=n)break;delete e[s],o.push(s)}o.length>0&&(e._dropped_keys=o.slice(0,10))}function ho(e,t){let n=Gt(e);if(n<=t)return e;let r=structuredClone(e);return r._truncated=!0,r._original_bytes=n,qh(r,t,Eo+zh),Gt(r)>t&&Zh(r,t),r}function Qh(e,t,n){if(!(n.promptCapture??Ro()))return;let r=$h(n.runnerEvent);for(let o of Dh){if(r.has(o))continue;let s=t[o];s!==void 0&&(e[o]=s)}}function zn(e,t,n={}){let r=Co(t);if(r==="full"){let s={...e};return delete s.cwd,delete s.transcript_path,zc(s,e,n),ho(s,wr)}let o=jh(e);return zc(o,e,n),r==="content"?(Qh(o,e,n),ho(o,wr)):ho(o,di)}function eS(e){return typeof e=="string"&&e.length>0}function bo(e){let t=Wn(e.home),n=Wn(e.launchCwd),r=e.gitRoot?Wn(e.gitRoot):null,o=new Set,s=[],i=null;e.inGitRepo&&eS(e.remote)&&r!==null&&r!==t&&(i=r,o.add(r)),n!==t&&!o.has(n)&&(s.push({scope:"cwd",dir:n}),o.add(n)),i!==null&&s.push({scope:"repo",dir:i});let a=null,c=r!==null&&Gn(n,r)!==null;if(e.inGitRepo&&r!==null&&r!==t&&c){let u=nu(r);for(;;){let l=Wn(u);if(l===t)break;let p=nu(l);if(p===l)break;if(e.hasProjectSpec(l)){s.push({scope:"parent",dir:l}),a=Zc(l,n);break}u=p}}return{anchors:s,parentRel:a}}import{existsSync as ru,readdirSync as tS,realpathSync as nS}from"node:fs";import{basename as rS,dirname as oS,relative as sS,resolve as iS,sep as aS}from"node:path";var xo=400,Vn=class{constructor(t,n={}){this.home=t;this.pathMode=n.pathMode??"home-relative",this.maxEntries=n.maxEntries??Be}components=[];truncated=!1;pathMode;maxEntries;pluginExpandRemaining;seenRealpaths=new Set;componentPath(t){if(this.pathMode==="tilde"){let r=iS(t).split(aS).join("/");return Io(r,this.home)}let n=sS(this.home,t).replace(/\\/g,"/");return!n||n.startsWith("..")?`external/${X(oS(t))}/${rS(t)}`:n}claimFile(t){try{let n=nS(t);return this.seenRealpaths.has(n)?!1:(this.seenRealpaths.add(n),!0)}catch{return this.seenRealpaths.has(t)?!1:(this.seenRealpaths.add(t),!0)}}get atGlobalCap(){return this.truncated||this.components.length>=this.maxEntries}get pluginBudgetSpent(){return this.pluginExpandRemaining!==void 0&&this.pluginExpandRemaining<=0}readEntries(t){if(!ru(t))return[];try{return tS(t,{withFileTypes:!0})}catch{return[]}}readJson(t,n){if(ru(t))return te(t,n)}push(t){return this.components.length>=this.maxEntries?(this.truncated=!0,!1):this.pluginExpandRemaining!==void 0&&this.pluginExpandRemaining<=0?!1:(this.pluginExpandRemaining!==void 0&&(this.pluginExpandRemaining-=1),this.components.push(t),!0)}withPluginExpandCap(t,n){let r=this.pluginExpandRemaining;this.pluginExpandRemaining=t;try{let o=n(),s=t-(this.pluginExpandRemaining??0);return{result:o,expanded:s}}finally{this.pluginExpandRemaining=r}}};import{existsSync as Go,readFileSync as PE,statSync as NE}from"node:fs";import{basename as Sl,join as ot,relative as zo}from"node:path";var ml=je(dl());var TE=["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/.trash/**","**/.claude/cache/**","**/.codex/skills/.system/**","**/vendor/**","**/.yarn/**","**/coverage/**","**/.next/**"],gl=TE.map(e=>ml.default.matcher(e,{dot:!0}));function kE(e){return e===""?!1:gl.some(t=>t(`${e}/`))}function _l(e,t){if(t==="")return!1;if(e==="")return kE(t);let n=e.replace(/\/+$/,"");return gl.some(r=>r(`${n}/${t}/`)&&!r(`${n}/`))}var Wo=100*1024,wE=4;function ME(e){return e.length<=Wo?e:`${e.slice(0,Wo-1)}\u2026`}function LE(e){try{let t=PE(e),n=t.toString("utf8");return{hash:X(t),length:t.length,text:ME(n)}}catch{return null}}var hl={HOOK:"EVENT",COMMAND:"EXPLICIT_INVOCATION",MEMORY:void 0,MCP_SERVER:void 0,PLUGIN:void 0,SKILL:"UNSPECIFIED",RULE:"UNSPECIFIED",SUBAGENT:"UNSPECIFIED"};function vE(e){return e in hl?hl[e]:"UNSPECIFIED"}function Et(e,t){if(!e.claimFile(t.absolutePath))return!1;let n=LE(t.absolutePath);if(!n)return!1;let r=t.name??Sl(t.absolutePath).replace(/\.(md|mdc|toml)$/i,""),o={kind:t.kind,name:r,path:e.componentPath(t.absolutePath),text:n.text,content_hash:n.hash,content_length:n.length,origin:t.origin,enabled:t.enabled},s=vE(t.kind);return s&&(o.trigger=s),t.attributes&&(o.attributes=t.attributes),e.push(o)}function HE(e,t,n){let r=zo(e,t).replace(/\\/g,"/");return!r||r.startsWith("..")?Sl(t).replace(/\.(md|mdc|toml)$/i,""):n?r.replace(/\.(md|mdc|toml)$/i,""):r}function st(e,t){let{dir:n,kind:r,origin:o,enabled:s,nested:i,extensions:a,skipDirs:c}=t;Vo(e,{walkRoot:n,currentDir:n,depth:0,kind:r,origin:o,enabled:s,nested:i,extensions:a,skipDirs:c})}function Vo(e,t){let{walkRoot:n,currentDir:r,depth:o,kind:s,origin:i,enabled:a,nested:c,extensions:u,skipDirs:l}=t;if(!(o>wE))for(let p of e.readEntries(r)){if(e.atGlobalCap){e.truncated=!0;return}if(e.pluginBudgetSpent)return;if(p.isDirectory()&&_l(n.replace(/\\/g,"/"),zo(n,ot(r,p.name)).replace(/\\/g,"/"))||p.isDirectory()&&l?.includes(ot(r,p.name)))continue;if(c){if(!p.isDirectory())continue;let g=ot(r,p.name,c);if(Go(g)){let S=zo(n,ot(r,p.name)).replace(/\\/g,"/");Et(e,{absolutePath:g,kind:s,origin:i,enabled:a,name:S||p.name});continue}Vo(e,{walkRoot:n,currentDir:ot(r,p.name),depth:o+1,kind:s,origin:i,enabled:a,nested:c,extensions:u,skipDirs:l});continue}if(p.isDirectory()){Vo(e,{walkRoot:n,currentDir:ot(r,p.name),depth:o+1,kind:s,origin:i,enabled:a,nested:c,extensions:u,skipDirs:l});continue}if(!p.isFile()||!u)continue;let f=p.name.toLowerCase();if(!u.some(g=>f.endsWith(g)))continue;let m=ot(r,p.name);Et(e,{absolutePath:m,kind:s,origin:i,enabled:a,name:HE(n,m,!0)})}}function El(e){for(let t of e)if(Go(t))try{if(NE(t).size>0)return t}catch{continue}return e.find(t=>Go(t))}import{existsSync as py,readFileSync as dy}from"node:fs";var er=je(Je(),1);var UE="<omitted>",DE=["package_name","package_spec","package_version","package_version_source"],yl=100,Rl=120,tr=[{raw:"tools",attr:"tools"},{raw:"autoApprove",attr:"auto_approve"},{raw:"auto_approve",attr:"auto_approve"},{raw:"alwaysAllow",attr:"always_allow"},{raw:"always_allow",attr:"always_allow"},{raw:"enabledTools",attr:"enabled_tools"},{raw:"enabled_tools",attr:"enabled_tools"},{raw:"disabledTools",attr:"disabled_tools"},{raw:"disabled_tools",attr:"disabled_tools"}],Cl=new Set(tr.map(e=>e.attr)),FE=["enabled","disabled"],$E=["serverUrl","auth","bearer_token_env_var","default_tools_approval_mode","defaultToolsApprovalMode","env_vars","env_http_headers","http_headers"],jE=new Set(["type","command","url","args","env","envVars","headers",...FE,...$E,...tr.map(e=>e.raw)]),BE=new Set(["transport","command_or_url","args","env_var_names","headers_present","auth","bearer_token_env_var","default_tools_approval_mode","env_http_header_names",...DE,...Cl,...[...Cl].map(e=>`${e}_truncated`)]);function Al(e,t){for(let n of t)jE.has(n)||BE.has(n)||(e[n]=UE)}var KE=/^(authorization|auth|api[-_]?key|access[-_]?token|refresh[-_]?token|secret|password|passwd|token|bearer|client[-_]?secret|client[-_]?id|private[-_]?key|signing[-_]?key)$/i,GE=/(?:^|[-_])(secret|password|passwd|token|api[-_]?key|private[-_]?key|signing[-_]?key|client[-_]?secret|client[-_]?id)(?:[-_]|$)/i,zE=/^(sk-|ghp_|gho_|github_pat_|xox[baprs]-|AKIA|ASIA|AIza|ya29\.)/,WE=/^bearer(?:\s+|$)/i;function nr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Il(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function Jo(e){if(Array.isArray(e)){let n=[];for(let r of e){if(typeof r!="string"||r.length===0)continue;let o=r.split("=",1)[0]?.trim();o&&n.push(o)}return n}let t=nr(e);return t?Object.keys(t).filter(n=>n.length>0):[]}function it(e){try{let t=new URL(e);return`${t.origin}${t.pathname}`}catch{return e}}function VE(e,t){if(e!==void 0&&/^https?:\/\//i.test(e)&&(0,er.launchContainsCredentials)({kind:"url",url:e})||(0,er.launchContainsCredentials)({kind:"command",command:e??"",arguments:t}))return!0;let n=qt([...t]);return t.some((r,o)=>n[o]===r?!1:/^https?:\/\//i.test(r)?(0,er.launchContainsCredentials)({kind:"url",url:r}):!0)}function bl(e,t,n){VE(t,n)&&(e.launch_had_credentials=!0)}function JE(e){return zE.test(e)||WE.test(e)?"<redacted>":e.includes("://")?it(e):e}function xl(e){if(/^https?:\/\//i.test(e))return it(e);let t=e.indexOf("=");return t>0?`${e.slice(0,t+1)}${xl(e.slice(t+1))}`:JE(e)}function YE(e){let t=e.replace(/^-+/,"").split("=",1)[0]??"";return KE.test(t)||GE.test(t)}function qt(e){let t=[],n=!1;for(let r of e){if(n){t.push("<redacted>"),n=!1;continue}if(YE(r)){t.push("<redacted>"),n=!r.includes("=");continue}t.push(xl(r))}return t}function XE(e){let t=Il(e);if(t.length===0)return;let n=[...new Set(t.map(r=>r.length>Rl?r.slice(0,Rl):r))].sort();if(n.length!==0)return n.length>yl?{names:n.slice(0,yl),truncated:!0}:{names:n,truncated:!1}}function qE(e){let t=nr(e);if(!t)return{headers:[],envVars:[]};let n=[],r=[];for(let[o,s]of Object.entries(t))o.length>0&&n.push(o),typeof s=="string"&&s.length>0&&r.push(s);return{headers:n,envVars:r}}function Ol(e,t){let n=new Set;for(let{raw:r,attr:o}of tr){if(n.has(o)||!(r in t))continue;let s=t[r];if(o==="auto_approve"&&typeof s=="boolean"){e.auto_approve=s,n.add(o);continue}let i=XE(s);i&&(e[o]=i.names,i.truncated&&(e[`${o}_truncated`]=!0),n.add(o))}}function Tl(e,t){let n=nr(e),r={transport:t};if(!n)return r;Al(r,Object.keys(n));let o=typeof n.command=="string"?n.command:void 0,s=typeof n.url=="string"?n.url:void 0,i=typeof n.serverUrl=="string"?n.serverUrl:void 0,a=o??s??i,c=Il(n.args);a&&(r.command_or_url=it(a));let u=qt(c);u.length>0&&(r.args=u),bl(r,a,c);let l=qE(n.env_http_headers),p=[...new Set([...Jo(n.env),...Jo(n.envVars),...Jo(n.env_vars),...l.envVars,...typeof n.bearer_token_env_var=="string"&&n.bearer_token_env_var.length>0?[n.bearer_token_env_var]:[]])].sort();p.length>0&&(r.env_var_names=p),l.headers.length>0&&(r.env_http_header_names=[...new Set(l.headers)].sort());for(let S of["headers","http_headers","env_http_headers"])if(n[S]!==void 0&&n[S]!==null){r.headers_present=!0;break}let f=typeof n.auth=="string"?n.auth:void 0;f&&(r.auth=f);let m=typeof n.bearer_token_env_var=="string"?n.bearer_token_env_var:void 0;m&&(r.bearer_token_env_var=m);let g=typeof n.default_tools_approval_mode=="string"?n.default_tools_approval_mode:typeof n.defaultToolsApprovalMode=="string"?n.defaultToolsApprovalMode:void 0;return g&&(r.default_tools_approval_mode=g),Ol(r,n),r}function kl(e){let t=nr(e);return t?t.enabled===!1?!1:t.disabled!==!0:!0}function qo(e,t,n=!0){let r=Object.keys(t).sort().map(o=>[o,t[o]??null]);return X(JSON.stringify({name:e,attributes:r,enabled:n}))}function yt(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}function Xt(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*\\[([^\\]]*)\\]`,"m").exec(e);return n?.[1]?[...n[1].matchAll(/"([^"]*)"|'([^']*)'/g)].map(r=>r[1]??r[2]??"").filter(r=>r.length>0):[]}function Xo(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*(true|false)\\s*$`,"m").exec(e);if(n?.[1])return n[1]==="true"}function Yo(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*(.+)$`,"m").exec(e);if(!n?.[1])return;let r=yt(n[1]);return r.length>0?r:void 0}function ZE(e,t){let n=[],r=i=>{for(let a of i.split(/[,\n]/)){let c=/^\s*"?([A-Za-z_][A-Za-z0-9_-]*)"?\s*=\s*(.+?)\s*$/.exec(a);c?.[1]&&n.push([c[1],yt(c[2]??"")])}},o=new RegExp(`^\\s*${t}\\s*=\\s*\\{([^}]*)\\}`,"m").exec(e);o?.[1]&&r(o[1]);let s=new RegExp(`(?:^|\\n)\\[[^\\]]*\\.${t}\\]\\s*\\n([\\s\\S]*?)(?=\\n\\[|$)`).exec(`
|
|
36
|
-
${e}`);return s?.[1]&&r(s[1]),n}function
|
|
37
|
-
`)){let s=
|
|
38
|
-
`)){let T=/^\s*env\.([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(A);T?.[1]&&
|
|
32
|
+
`.trim(),Oo=new Map;function eu(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:null}if(e instanceof Uint8Array){let t=Buffer.from(e).toString("utf8").trim();return t.length>0?t:null}return null}function nu(e){return e.toLowerCase().includes("token")}function ru(e){let t=new Map;if(!Array.isArray(e))return t;for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=eu(r.key),s=eu(r.value);o&&s&&!nu(o)&&t.set(o,s)}return t}function Rh(e){let t=yh(e);return t.search="mode=ro&immutable=1",t.href}function Ch(e){try{let t=tu("bun:sqlite");if(typeof t.Database!="function")return null;let n=new t.Database(e,{readonly:!0,create:!1});try{let r=n.query?.(Zn)??n.prepare(Zn);return ru(r.all?.())}finally{n.close?.()}}catch{return null}}function Ah(e){let t=process.emitWarning.bind(process);process.emitWarning=((n,...r)=>{(typeof n=="string"?n:n instanceof Error?n.message:"").includes("SQLite is an experimental feature")||t(n,...r)});try{return e()}finally{process.emitWarning=t}}function Ih(e){try{return Ah(()=>{let t=tu("node:sqlite");if(typeof t.DatabaseSync!="function")return null;let n=new t.DatabaseSync(e,{readOnly:!0});try{return ru(n.prepare(Zn).all?.())}finally{n.close?.()}})}catch{return null}}function Oh(e){let t=new Map;for(let n of e.split(`
|
|
33
|
+
`)){let r=n.trimEnd();if(!r)continue;let o=r.indexOf(" ");if(o<=0)continue;let s=r.slice(0,o).trim(),i=r.slice(o+1).trim();s&&i&&!nu(s)&&t.set(s,i)}return t}function bh(e){try{let t=hh("sqlite3",["-noheader","-batch","-separator"," ",e,Zn],{encoding:"utf8",timeout:2e3,maxBuffer:65536,windowsHide:!0,stdio:["ignore","pipe","ignore"]});return Oh(t)}catch{return null}}function ou(e){let t=Oo.get(e);if(t)return t;if(!Sh(e)){let o=new Map;return Oo.set(e,o),o}let n=Rh(e),r=Ch(n)??bh(n)??Ih(n)??new Map;return Oo.set(e,r),r}var xh="cursorAuth/cachedEmail",Th="cursorAuth/stripeMembershipAuthId";function Qn(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function kh(e=er(),t=process.platform,n=process.env){let r=Qn(n.VSCODE_PORTABLE);if(r)return He(r,"user-data");let o=Qn(n.VSCODE_APPDATA);if(o)return He(o,"Cursor");switch(t){case"darwin":return He(e,"Library","Application Support","Cursor");case"win32":return He(Qn(n.APPDATA)??He(e,"AppData","Roaming"),"Cursor");default:return He(Qn(n.XDG_CONFIG_HOME)??He(e,".config"),"Cursor")}}function Ph(e=er()){return He(e,".cursor","cli-config.json")}function Nh(e=er(),t=process.platform,n=process.env){return He(kh(e,t,n),"User","globalStorage","state.vscdb")}function Vt(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function wh(e){return typeof e.userId=="number"&&Number.isFinite(e.userId)?String(e.userId):Vt(e.userId)}function Mh(e){return Vt(e.email)??Vt(e.authId)??wh(e)}function bo(e){let t=Vt(e.email),n=Vt(e.displayName),r=Mh(e);return!r||fe(n,t)?null:{git_user_name:null,git_user_email:null,platform_login:r,identity_source:"cursor_oauth"}}function Lh(e){let n=te(Ph(e),{}).authInfo;return!n||typeof n!="object"?null:bo(n)}function vh(e,t,n){let r=Nh(e,process.platform,t),o=Xc(e),s=qc(o);if(Zc(s,r,n))return bo({email:s?.email,authId:s?.auth_id});let i=ou(r),a=i.get(xh)??null,c=i.get(Th)??null;return Qc(o,{read_at_ms:n,db_path:r,email:a,auth_id:c}),bo({email:a,authId:c})}function su(e=er(),t=process.env,n=Date.now()){return Lh(e)??vh(e,t,n)}import{createHash as Hh}from"node:crypto";import{resolve as Uh}from"node:path";function X(e){return Hh("sha256").update(e).digest("hex").slice(0,16)}function xo(e){return X(Uh(e))}function _e(e,t){return`${e}\0${t}`}function iu(e){let t=e.indexOf("\0");return t<=0?null:{path:e.slice(0,t),name:e.slice(t+1)}}function Jt(e){let n=[...e].sort((r,o)=>{let s=r.path.localeCompare(o.path);return s!==0?s:r.name.localeCompare(o.name)}).map(r=>`${r.path}|${r.name}|${r.content_hash}`).join(`
|
|
34
|
+
`);return X(n)}function Fh(e,t,n="git_config",r=null){return X(`${e??""}|${t??""}|${r??""}|${n}`)}function $h(e){let t=null,n=null;for(let r of e.split(`
|
|
35
|
+
`)){let o=r.trim();if(!o)continue;let s=o.indexOf(" ");if(s<=0)continue;let i=o.slice(0,s).toLowerCase(),a=o.slice(s+1).trim();a&&(i==="user.name"?t=a:i==="user.email"&&(n=a))}return{git_user_name:t,git_user_email:n,platform_login:null}}async function jh(e,t=ee){let n=await t("git",["config","--get-regexp","^user\\.(name|email)$"],2e3,{cwd:e});return $h(n)}function Bh(e=process.env){let t=j(e.GIT_AUTHOR_NAME),n=j(e.GIT_AUTHOR_EMAIL);if(t||n)return{git_user_name:t,git_user_email:n,platform_login:null,identity_source:"git_env"};let r=j(e.GIT_COMMITTER_NAME),o=j(e.GIT_COMMITTER_EMAIL);if(r||o)return{git_user_name:r,git_user_email:o,platform_login:null,identity_source:"git_env"};let s=j(e.EMAIL);return s?{git_user_name:null,git_user_email:s,platform_login:null,identity_source:"git_env"}:null}function Ue(e,t,n,r=null){return!e&&!t&&!r?null:{git_user_name:e,git_user_email:t,platform_login:r,identity_source:n}}function Kh(e=process.env){let t=j(e.EV_AI_HOOK_OPERATOR_EMAIL),n=j(e.EV_AI_HOOK_OPERATOR_LOGIN),r=Ue(j(e.EV_AI_HOOK_OPERATOR_NAME),t,"configured",t??n);if(r)return r;let o=j(e.GITHUB_ACTOR)??j(e.GITHUB_TRIGGERING_ACTOR)??j(e.GITHUB_USER),s=Ue(o,null,"github",o);if(s)return s;let i=j(e.GITLAB_USER_LOGIN),a=j(e.GITLAB_USER_EMAIL),c=Ue(j(e.GITLAB_USER_NAME)??i,a,"gitlab",a??i);if(c)return c;let l=j(e.BUILD_REQUESTEDFOREMAIL),u=Ue(j(e.BUILD_REQUESTEDFOR),l,"azure_devops",l??j(e.BUILD_REQUESTEDFORID));if(u)return u;let d=j(e.BUILDKITE_BUILD_CREATOR_EMAIL),f=Ue(j(e.BUILDKITE_BUILD_CREATOR),d,"buildkite",d);if(f)return f;let m=j(e.BUILD_USER_EMAIL)??j(e.CHANGE_AUTHOR_EMAIL),g=Ue(j(e.BUILD_USER)??j(e.CHANGE_AUTHOR),m,"jenkins",m??j(e.BUILD_USER_ID));if(g)return g;let S=j(e.CIRCLE_USERNAME),C=Ue(S,null,"circleci",S);if(C)return C;let A=j(e.CODEBUILD_INITIATOR),T=Ue(A,null,"codebuild",A);if(T)return T;let x=j(e.DRONE_COMMIT_AUTHOR_EMAIL),M=j(e.DRONE_COMMIT_AUTHOR),k=Ue(M??j(e.DRONE_COMMIT_AUTHOR_NAME),x,"drone",x??M);if(k)return k;if(au(e.CLAUDE_CODE_REMOTE)||au(e.CURSOR_AGENT)){let K=j(e.CURSOR_USER_EMAIL);return{git_user_name:null,git_user_email:null,platform_login:K&&!fe(null,K)?K:null,identity_source:"cloud"}}return null}function To(e){return!!((e.git_user_name??e.git_user_email)&&!fe(e.git_user_name,e.git_user_email))}function j(e){if(e===void 0)return null;let t=e.trim();return t.length>0?t:null}function au(e){if(e===void 0||e==="")return!1;let t=e.trim().toLowerCase();return t!=="0"&&t!=="false"&&t!=="no"}function Gh(e,t,n){return e==="claude"?Kc(t):e==="cursor"?su(t,n):e==="codex"?Jc(n,t):null}async function ko(e,t=ee,n=process.env,r={}){let o=await jh(e,t),s=Bh(n),i=To(o)?o:s&&To(s)?s:null,a=Gh(r.runnerPlatform,r.home??Dh(),n);if(a)return{git_user_name:i?.git_user_name??null,git_user_email:i?.git_user_email??null,platform_login:a.platform_login,identity_source:a.identity_source};let c=Kh(n);return c?.platform_login?{git_user_name:i?.git_user_name??null,git_user_email:i?.git_user_email??null,platform_login:c.platform_login,identity_source:c.identity_source}:i?{...i,platform_login:null,identity_source:To(o)?"git_config":"git_env"}:c||(o.git_user_name||o.git_user_email?{...o,identity_source:"git_config"}:s||{git_user_name:null,git_user_email:null,platform_login:null,identity_source:"git_config"})}async function Po(e){let{gitRoot:t,installationStorePath:n,forceResend:r}=e,o=e.exec??ee,s=e.env??process.env,i=await ko(t,o,s,{runnerPlatform:e.runnerPlatform,home:e.home}),a=Fh(i.git_user_name,i.git_user_email,i.identity_source,i.platform_login),l=(n?Zr(n):void 0)?.operator_identity_hash;if(!(r||l!==void 0&&l!==a||!l))return{commit:()=>{}};let m=n;return{operator:i,commit:()=>{m&&na(m,a,gn())}}}function No(e){return e?!Zr(e)?.operator_identity_hash:!0}function cu(e){return!0}import{existsSync as sR,readFileSync as iR}from"node:fs";import{homedir as Lf}from"node:os";import{join as Ot,resolve as aR}from"node:path";import{basename as qy,join as It}from"node:path";import{dirname as Eu,resolve as or}from"node:path";import{existsSync as zh}from"node:fs";import{homedir as fu}from"node:os";import{relative as du,resolve as Te,sep as Ye}from"node:path";var Wh=["session_id","conversation_id","turn_id","generation_id","prompt.id","prompt_id","hook_event_name","event","source","status","stop_reason","reason","tool_name","tool","tool_use_id","skill_name","command_name","expansion_type","command_source","permission_mode","model","model_id","agent_id","agent_type","subagent_id","subagent_type","subagent_model","is_parallel_worker","effort","effort.level","duration_ms","duration","sandbox","failure_type","is_interrupt"],Vh=["prompt","tool_input","tool_response","last_assistant_message","command"],Jh=new Set;function Yh(e){switch(e?.toLowerCase()){case"beforemcpexecution":return new Set(["command"]);case"stopfailure":return new Set(["last_assistant_message"]);default:return Jh}}var pu=new Set(["on","1","true"]);function Ho(e){let t=L("EV_AI_HOOK_CAPTURE_PROMPT")?.trim();return t!==void 0&&t!==""?pu.has(t.toLowerCase()):e?.collect_prompt===!0}function tr(e,t){let n=mu(e);if(n==="allowlist")return"off";if(n==="full")return"full";let r=L("EV_AI_HOOK_CAPTURE_PROMPT")?.trim();return r!==void 0&&r!==""?pu.has(r.toLowerCase())?"env":"off":t?.collect_prompt===!0?"config":"off"}function mu(e){return L("EV_AI_HOOK_CAPTURE_CONTENT")?.toLowerCase()==="off"||e.capture_hook_input==="allowlist"?"allowlist":e.capture_hook_input==="full"||e.debug===!0||L("EV_AI_HOOK_CAPTURE_FULL_INPUT")==="1"?"full":"content"}function Xh(e){let t={};for(let n of Wh){let r=Me(e,n);r!==void 0&&(t[n]=r)}return t}function nr(e,t){if(typeof e!="string"||e.length===0||!t)return null;let n=Te(e),r=Te(t),o=du(r,n);return!o||o==="."?".":o.startsWith(`..${Ye}`)||o===".."||Te(r,o)!==n?null:o.split(Ye).join("/")}function gu(e,t){let n=du(Te(t),Te(e)).split(Ye).join("/");return!n||n==="."?null:n===".."||n.startsWith("../")&&n.split("/").every(r=>r==="..")?n:null}function _u(e){return typeof e!="string"||e.length===0?null:Te(e).split(Ye).join("/")}function qh(){let e=L("CURSOR_PROJECT_DIR");if(!e)return null;let t=Te(e);return zh(t)?t.split(Ye).join("/"):null}function Mo(e,t){return nr(e,t)!==null}function Zh(e,t){let n=Te(t??fu(),".cursor").split(Ye).join("/");return Mo(e,n)}function Qh(e,t,n){return t!==null&&Mo(e,t)?!0:t!==null&&Zh(e,n.home)?!1:n.inGitRepo===!0&&n.gitRoot!==void 0&&Mo(e,n.gitRoot)?!0:t===null}function hu(e,t){let n=_u(e.cwd);if(n!==null)return n;let r=Te(process.cwd()).split(Ye).join("/"),o=qh();return Qh(r,o,t)?r:o??r}function Uo(e,t={}){return hu(e,t)}function Do(e,t=fu()){let n=Te(t).split(Ye).join("/").replace(/\/$/,"");return n.length<=1?e:e===n?"~":e.startsWith(`${n}/`)?`~${e.slice(n.length)}`:e}function uu(e,t,n){let r=_u(n.launchCwd)??hu(t,n);e.cwd=Do(r,n.home);let o=n.inGitRepo===!0&&n.gitRoot!==void 0?nr(r,n.gitRoot):null;o!==null&&(e.cwd_relative=o)}var Su="\u2026[truncated]\u2026",Lo=Buffer.byteLength(Su,"utf8"),eS=8;function Yt(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function lu(e,t){if(t<=0)return"";let n=Buffer.from(e,"utf8");return n.length<=t?e:n.subarray(0,t).toString("utf8")}function tS(e,t){if(t<=0)return"";let n=Buffer.from(e,"utf8");return n.length<=t?e:n.subarray(n.length-t).toString("utf8")}function nS(e,t){if(Buffer.byteLength(e,"utf8")<=t)return e;if(t<=Lo)return lu(e,t);let r=t-Lo,o=Math.ceil(r/2),s=Math.floor(r/2);return`${lu(e,o)}${Su}${tS(e,s)}`}function vo(e,t,n){if(typeof e=="string"){n.push({path:t,value:e,bytes:Buffer.byteLength(e,"utf8")});return}if(Array.isArray(e)){e.forEach((r,o)=>{vo(r,[...t,o],n)});return}if(e!==null&&typeof e=="object")for(let[r,o]of Object.entries(e))t.length===0&&r.startsWith("_")||vo(o,[...t,r],n)}function rS(e,t,n){let r=e;for(let s=0;s<t.length-1;s++){let i=t[s];if(i===void 0)return;r=(Array.isArray(r),r[i])}let o=t[t.length-1];if(!(o===void 0||r===null||typeof r!="object")){if(Array.isArray(r)){r[o]=n;return}r[o]=n}}var oS=256;function sS(e,t,n){let r=n,o=Math.max(n,e[0]?.bytes??n);for(;r<o;){let s=Math.ceil((r+o)/2),i=0;for(let a of e)a.bytes>s&&(i+=a.bytes-s);i>=t?r=s:o=s-1}return r}function iS(e,t,n){let r=Number.POSITIVE_INFINITY;for(let o=0;o<6;o++){let s=Yt(e);if(s<=t)return;let i=[];vo(e,[],i),i.sort((u,d)=>d.bytes-u.bytes);let a=i.filter(u=>u.bytes>n);if(a.length===0)return;let c=sS(a,s-t,n),l=Math.max(n,Math.min(c,r-1));if(l>=r)return;r=l;for(let u of a)u.bytes>r&&rS(e,u.path,nS(u.value,r))}}function aS(e,t){let n=Math.max(0,t-oS),r=Object.keys(e).filter(s=>!s.startsWith("_")).map(s=>({key:s,bytes:Yt(e[s])})).sort((s,i)=>i.bytes-s.bytes),o=[];for(let{key:s}of r){if(Yt(e)<=n)break;delete e[s],o.push(s)}o.length>0&&(e._dropped_keys=o.slice(0,10))}function wo(e,t){let n=Yt(e);if(n<=t)return e;let r=structuredClone(e);return r._truncated=!0,r._original_bytes=n,iS(r,t,Lo+eS),Yt(r)>t&&aS(r,t),r}function cS(e,t,n){if(!(n.promptCapture??Ho()))return;let r=Yh(n.runnerEvent);for(let o of Vh){if(r.has(o))continue;let s=t[o];s!==void 0&&(e[o]=s)}}function rr(e,t,n={}){let r=mu(t);if(r==="full"){let s={...e};return delete s.cwd,delete s.transcript_path,uu(s,e,n),wo(s,Vr)}let o=Xh(e);return uu(o,e,n),r==="content"?(cS(o,e,n),wo(o,Vr)):wo(o,Fi)}function uS(e){return typeof e=="string"&&e.length>0}function Fo(e){let t=or(e.home),n=or(e.launchCwd),r=e.gitRoot?or(e.gitRoot):null,o=new Set,s=[],i=null;e.inGitRepo&&uS(e.remote)&&r!==null&&r!==t&&(i=r,o.add(r)),n!==t&&!o.has(n)&&(s.push({scope:"cwd",dir:n}),o.add(n)),i!==null&&s.push({scope:"repo",dir:i});let a=null,c=r!==null&&nr(n,r)!==null;if(e.inGitRepo&&r!==null&&r!==t&&c){let l=Eu(r);for(;;){let u=or(l);if(u===t)break;let d=Eu(u);if(d===u)break;if(e.hasProjectSpec(u)){s.push({scope:"parent",dir:u}),a=gu(u,n);break}l=d}}return{anchors:s,parentRel:a}}import{existsSync as yu,readdirSync as lS,realpathSync as fS}from"node:fs";import{basename as dS,dirname as pS,relative as mS,resolve as gS,sep as _S}from"node:path";var $o=400,sr=class{constructor(t,n={}){this.home=t;this.pathMode=n.pathMode??"home-relative",this.maxEntries=n.maxEntries??Be}components=[];truncated=!1;pathMode;maxEntries;pluginExpandRemaining;seenRealpaths=new Set;componentPath(t){if(this.pathMode==="tilde"){let r=gS(t).split(_S).join("/");return Do(r,this.home)}let n=mS(this.home,t).replace(/\\/g,"/");return!n||n.startsWith("..")?`external/${X(pS(t))}/${dS(t)}`:n}claimFile(t){try{let n=fS(t);return this.seenRealpaths.has(n)?!1:(this.seenRealpaths.add(n),!0)}catch{return this.seenRealpaths.has(t)?!1:(this.seenRealpaths.add(t),!0)}}get atGlobalCap(){return this.truncated||this.components.length>=this.maxEntries}get pluginBudgetSpent(){return this.pluginExpandRemaining!==void 0&&this.pluginExpandRemaining<=0}readEntries(t){if(!yu(t))return[];try{return lS(t,{withFileTypes:!0})}catch{return[]}}readJson(t,n){if(yu(t))return te(t,n)}push(t){return this.components.length>=this.maxEntries?(this.truncated=!0,!1):this.pluginExpandRemaining!==void 0&&this.pluginExpandRemaining<=0?!1:(this.pluginExpandRemaining!==void 0&&(this.pluginExpandRemaining-=1),this.components.push(t),!0)}withPluginExpandCap(t,n){let r=this.pluginExpandRemaining;this.pluginExpandRemaining=t;try{let o=n(),s=t-(this.pluginExpandRemaining??0);return{result:o,expanded:s}}finally{this.pluginExpandRemaining=r}}};import{existsSync as os,readFileSync as FE,statSync as $E}from"node:fs";import{basename as vl,join as ot,relative as ss}from"node:path";var Nl=je(Pl());var UE=["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/.trash/**","**/.claude/cache/**","**/.codex/skills/.system/**","**/vendor/**","**/.yarn/**","**/coverage/**","**/.next/**"],wl=UE.map(e=>Nl.default.matcher(e,{dot:!0}));function DE(e){return e===""?!1:wl.some(t=>t(`${e}/`))}function Ml(e,t){if(t==="")return!1;if(e==="")return DE(t);let n=e.replace(/\/+$/,"");return wl.some(r=>r(`${n}/${t}/`)&&!r(`${n}/`))}var is=100*1024,jE=4;function BE(e){return e.length<=is?e:`${e.slice(0,is-1)}\u2026`}function KE(e){try{let t=FE(e),n=t.toString("utf8");return{hash:X(t),length:t.length,text:BE(n)}}catch{return null}}var Ll={HOOK:"EVENT",COMMAND:"EXPLICIT_INVOCATION",MEMORY:void 0,MCP_SERVER:void 0,PLUGIN:void 0,SKILL:"UNSPECIFIED",RULE:"UNSPECIFIED",SUBAGENT:"UNSPECIFIED"};function GE(e){return e in Ll?Ll[e]:"UNSPECIFIED"}function Ct(e,t){if(!e.claimFile(t.absolutePath))return!1;let n=KE(t.absolutePath);if(!n)return!1;let r=t.name??vl(t.absolutePath).replace(/\.(md|mdc|toml)$/i,""),o={kind:t.kind,name:r,path:e.componentPath(t.absolutePath),text:n.text,content_hash:n.hash,content_length:n.length,origin:t.origin,enabled:t.enabled},s=GE(t.kind);return s&&(o.trigger=s),t.attributes&&(o.attributes=t.attributes),e.push(o)}function zE(e,t,n){let r=ss(e,t).replace(/\\/g,"/");return!r||r.startsWith("..")?vl(t).replace(/\.(md|mdc|toml)$/i,""):n?r.replace(/\.(md|mdc|toml)$/i,""):r}function st(e,t){let{dir:n,kind:r,origin:o,enabled:s,nested:i,extensions:a,skipDirs:c}=t;as(e,{walkRoot:n,currentDir:n,depth:0,kind:r,origin:o,enabled:s,nested:i,extensions:a,skipDirs:c})}function as(e,t){let{walkRoot:n,currentDir:r,depth:o,kind:s,origin:i,enabled:a,nested:c,extensions:l,skipDirs:u}=t;if(!(o>jE))for(let d of e.readEntries(r)){if(e.atGlobalCap){e.truncated=!0;return}if(e.pluginBudgetSpent)return;if(d.isDirectory()&&Ml(n.replace(/\\/g,"/"),ss(n,ot(r,d.name)).replace(/\\/g,"/"))||d.isDirectory()&&u?.includes(ot(r,d.name)))continue;if(c){if(!d.isDirectory())continue;let g=ot(r,d.name,c);if(os(g)){let S=ss(n,ot(r,d.name)).replace(/\\/g,"/");Ct(e,{absolutePath:g,kind:s,origin:i,enabled:a,name:S||d.name});continue}as(e,{walkRoot:n,currentDir:ot(r,d.name),depth:o+1,kind:s,origin:i,enabled:a,nested:c,extensions:l,skipDirs:u});continue}if(d.isDirectory()){as(e,{walkRoot:n,currentDir:ot(r,d.name),depth:o+1,kind:s,origin:i,enabled:a,nested:c,extensions:l,skipDirs:u});continue}if(!d.isFile()||!l)continue;let f=d.name.toLowerCase();if(!l.some(g=>f.endsWith(g)))continue;let m=ot(r,d.name);Ct(e,{absolutePath:m,kind:s,origin:i,enabled:a,name:zE(n,m,!0)})}}function Hl(e){for(let t of e)if(os(t))try{if($E(t).size>0)return t}catch{continue}return e.find(t=>os(t))}import{existsSync as Ry,readFileSync as Cy}from"node:fs";var dr=je(Je(),1);var WE="<omitted>",VE=["package_name","package_spec","package_version","package_version_source"],Ul=100,Dl=120,pr=[{raw:"tools",attr:"tools"},{raw:"autoApprove",attr:"auto_approve"},{raw:"auto_approve",attr:"auto_approve"},{raw:"alwaysAllow",attr:"always_allow"},{raw:"always_allow",attr:"always_allow"},{raw:"enabledTools",attr:"enabled_tools"},{raw:"enabled_tools",attr:"enabled_tools"},{raw:"disabledTools",attr:"disabled_tools"},{raw:"disabled_tools",attr:"disabled_tools"}],Fl=new Set(pr.map(e=>e.attr)),JE=["enabled","disabled"],YE=["serverUrl","auth","bearer_token_env_var","default_tools_approval_mode","defaultToolsApprovalMode","env_vars","env_http_headers","http_headers"],XE=new Set(["type","command","url","args","env","envVars","headers",...JE,...YE,...pr.map(e=>e.raw)]),qE=new Set(["transport","command_or_url","args","env_var_names","headers_present","auth","bearer_token_env_var","default_tools_approval_mode","env_http_header_names",...VE,...Fl,...[...Fl].map(e=>`${e}_truncated`)]);function $l(e,t){for(let n of t)XE.has(n)||qE.has(n)||(e[n]=WE)}var ZE=/^(authorization|auth|api[-_]?key|access[-_]?token|refresh[-_]?token|secret|password|passwd|token|bearer|client[-_]?secret|client[-_]?id|private[-_]?key|signing[-_]?key)$/i,QE=/(?:^|[-_])(secret|password|passwd|token|api[-_]?key|private[-_]?key|signing[-_]?key|client[-_]?secret|client[-_]?id)(?:[-_]|$)/i,ey=/^(sk-|ghp_|gho_|github_pat_|xox[baprs]-|AKIA|ASIA|AIza|ya29\.)/,ty=/^bearer(?:\s+|$)/i;function mr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function jl(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function cs(e){if(Array.isArray(e)){let n=[];for(let r of e){if(typeof r!="string"||r.length===0)continue;let o=r.split("=",1)[0]?.trim();o&&n.push(o)}return n}let t=mr(e);return t?Object.keys(t).filter(n=>n.length>0):[]}function it(e){try{let t=new URL(e);return`${t.origin}${t.pathname}`}catch{return e}}function ny(e,t){if(e!==void 0&&/^https?:\/\//i.test(e)&&(0,dr.launchContainsCredentials)({kind:"url",url:e})||(0,dr.launchContainsCredentials)({kind:"command",command:e??"",arguments:t}))return!0;let n=nn([...t]);return t.some((r,o)=>n[o]===r?!1:/^https?:\/\//i.test(r)?(0,dr.launchContainsCredentials)({kind:"url",url:r}):!0)}function Bl(e,t,n){ny(t,n)&&(e.launch_had_credentials=!0)}function ry(e){return ey.test(e)||ty.test(e)?"<redacted>":e.includes("://")?it(e):e}function Kl(e){if(/^https?:\/\//i.test(e))return it(e);let t=e.indexOf("=");return t>0?`${e.slice(0,t+1)}${Kl(e.slice(t+1))}`:ry(e)}function oy(e){let t=e.replace(/^-+/,"").split("=",1)[0]??"";return ZE.test(t)||QE.test(t)}function nn(e){let t=[],n=!1;for(let r of e){if(n){t.push("<redacted>"),n=!1;continue}if(oy(r)){t.push("<redacted>"),n=!r.includes("=");continue}t.push(Kl(r))}return t}function sy(e){let t=jl(e);if(t.length===0)return;let n=[...new Set(t.map(r=>r.length>Dl?r.slice(0,Dl):r))].sort();if(n.length!==0)return n.length>Ul?{names:n.slice(0,Ul),truncated:!0}:{names:n,truncated:!1}}function iy(e){let t=mr(e);if(!t)return{headers:[],envVars:[]};let n=[],r=[];for(let[o,s]of Object.entries(t))o.length>0&&n.push(o),typeof s=="string"&&s.length>0&&r.push(s);return{headers:n,envVars:r}}function Gl(e,t){let n=new Set;for(let{raw:r,attr:o}of pr){if(n.has(o)||!(r in t))continue;let s=t[r];if(o==="auto_approve"&&typeof s=="boolean"){e.auto_approve=s,n.add(o);continue}let i=sy(s);i&&(e[o]=i.names,i.truncated&&(e[`${o}_truncated`]=!0),n.add(o))}}function zl(e,t){let n=mr(e),r={transport:t};if(!n)return r;$l(r,Object.keys(n));let o=typeof n.command=="string"?n.command:void 0,s=typeof n.url=="string"?n.url:void 0,i=typeof n.serverUrl=="string"?n.serverUrl:void 0,a=o??s??i,c=jl(n.args);a&&(r.command_or_url=it(a));let l=nn(c);l.length>0&&(r.args=l),Bl(r,a,c);let u=iy(n.env_http_headers),d=[...new Set([...cs(n.env),...cs(n.envVars),...cs(n.env_vars),...u.envVars,...typeof n.bearer_token_env_var=="string"&&n.bearer_token_env_var.length>0?[n.bearer_token_env_var]:[]])].sort();d.length>0&&(r.env_var_names=d),u.headers.length>0&&(r.env_http_header_names=[...new Set(u.headers)].sort());for(let S of["headers","http_headers","env_http_headers"])if(n[S]!==void 0&&n[S]!==null){r.headers_present=!0;break}let f=typeof n.auth=="string"?n.auth:void 0;f&&(r.auth=f);let m=typeof n.bearer_token_env_var=="string"?n.bearer_token_env_var:void 0;m&&(r.bearer_token_env_var=m);let g=typeof n.default_tools_approval_mode=="string"?n.default_tools_approval_mode:typeof n.defaultToolsApprovalMode=="string"?n.defaultToolsApprovalMode:void 0;return g&&(r.default_tools_approval_mode=g),Gl(r,n),r}function Wl(e){let t=mr(e);return t?t.enabled===!1?!1:t.disabled!==!0:!0}function fs(e,t,n=!0){let r=Object.keys(t).sort().map(o=>[o,t[o]??null]);return X(JSON.stringify({name:e,attributes:r,enabled:n}))}function At(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}function tn(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*\\[([^\\]]*)\\]`,"m").exec(e);return n?.[1]?[...n[1].matchAll(/"([^"]*)"|'([^']*)'/g)].map(r=>r[1]??r[2]??"").filter(r=>r.length>0):[]}function ls(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*(true|false)\\s*$`,"m").exec(e);if(n?.[1])return n[1]==="true"}function us(e,t){let n=new RegExp(`^\\s*${t}\\s*=\\s*(.+)$`,"m").exec(e);if(!n?.[1])return;let r=At(n[1]);return r.length>0?r:void 0}function ay(e,t){let n=[],r=i=>{for(let a of i.split(/[,\n]/)){let c=/^\s*"?([A-Za-z_][A-Za-z0-9_-]*)"?\s*=\s*(.+?)\s*$/.exec(a);c?.[1]&&n.push([c[1],At(c[2]??"")])}},o=new RegExp(`^\\s*${t}\\s*=\\s*\\{([^}]*)\\}`,"m").exec(e);o?.[1]&&r(o[1]);let s=new RegExp(`(?:^|\\n)\\[[^\\]]*\\.${t}\\]\\s*\\n([\\s\\S]*?)(?=\\n\\[|$)`).exec(`
|
|
36
|
+
${e}`);return s?.[1]&&r(s[1]),n}function Vl(e){return ls(e,"enabled")===!1?!1:ls(e,"disabled")!==!0}function cy(e,t){let n={};for(let{raw:r,attr:o}of pr){if(o==="auto_approve"){let i=ls(t,r);if(i!==void 0){n[r]=i;continue}}let s=tn(t,r);s.length>0&&(n[r]=s)}Gl(e,n)}var uy=/^\s*([A-Za-z_][A-Za-z0-9_-]*)\s*[.=]/,ly=/^\[[^\]]*\.([A-Za-z_][A-Za-z0-9_-]*)\]\s*$/gm;function fy(e){let t=new Set,n=e.search(/^\[/m),r=n===-1?e:e.slice(0,n);for(let o of r.split(`
|
|
37
|
+
`)){let s=uy.exec(o);s?.[1]&&t.add(s[1])}for(let o of e.matchAll(ly))o[1]&&t.add(o[1]);return[...t]}function Jl(e,t){let n={transport:t};$l(n,fy(e));let r=/^\s*command\s*=\s*(.+)$/m.exec(e),o=/^\s*url\s*=\s*(.+)$/m.exec(e),s=r?At(r[1]??""):void 0,i=o?At(o[1]??""):void 0,a=s!==void 0&&s.length>0?s:i,c=tn(e,"args");a&&(n.command_or_url=it(a));let l=nn(c);l.length>0&&(n.args=l),Bl(n,a,c);let u=new Set;for(let A of e.split(`
|
|
38
|
+
`)){let T=/^\s*env\.([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(A);T?.[1]&&u.add(T[1])}let d=/^\s*env\s*=\s*\{([^}]*)\}/m.exec(e);if(d?.[1])for(let A of d[1].split(",")){let T=/^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(A);T?.[1]&&u.add(T[1])}let f=/(?:^|\n)\[[^\]]*env\]\s*\n([\s\S]*?)(?=\n\[|$)/.exec(`
|
|
39
39
|
${e}`);if(f?.[1])for(let A of f[1].split(`
|
|
40
|
-
`)){let T=/^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(A);T?.[1]&&
|
|
41
|
-
`);return iy("sha512").update(t).digest("hex").slice(0,16)}function uy(e){let t=process.platform==="win32"?Zt(L("LOCALAPPDATA")??e,"npm-cache"):Zt(e,".npm"),n=L("npm_config_cache")??L("NPM_CONFIG_CACHE");return n===void 0||n===t?[t]:[n,t]}function Hl(e){return typeof e=="string"&&e.length>0&&e.length<=Ne.PACKAGE_FIELD_MAX?e:null}function ly(e,t,n){let r=cy(e);for(let o of uy(n)){let s=Zt(o,"_npx",r),i=te(Zt(s,"node_modules",...t.split("/"),"package.json"),{}),a=Hl(i.version);if(a!==null)return a;let c=te(Zt(s,"package-lock.json"),{}),u=Hl(c.packages?.[`node_modules/${t}`]?.version);if(u!==null)return u}return null}function fy(e){return e.length<=Ne.PACKAGE_FIELD_MAX?e:`${e.slice(0,Ne.PACKAGE_FIELD_MAX-1)}\u2026`}function Zo(e,t,n){if(typeof e!="string"||e.length===0)return null;let r=(0,Ne.npxPackageSpecs)(e,t??[]),o=r[0];if(o===void 0)return null;let s=(0,Ne.packageNameFromSpec)(o);return s===null?null:{package_name:s,package_spec:fy(o),...ay(o,ly(r,s,n))}}function Ul(e,t){if(typeof e!="string"||e.length===0)return null;let[n,...r]=rr(e.trim());return n===void 0?null:Zo(n,r,t)}function or(e,t){if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e,r=Array.isArray(n.args)?n.args.filter(o=>typeof o=="string"):[];return Zo(typeof n.command=="string"?n.command:null,r,t)}function Dl(e,t){let n=/^\s*command\s*=\s*(.+)$/m.exec(e);return n===null?null:Zo(yt(n[1]??""),Xt(e,"args"),t)}function my(e){if(!e||typeof e!="object"||Array.isArray(e))return"unknown";let t=e;return typeof t.type=="string"&&t.type.length>0?t.type:typeof t.url=="string"?"http":typeof t.command=="string"?"stdio":"unknown"}function Fl(e,t,n){if(!e.claimFile(t))return;let o=e.readJson(t,{})?.mcpServers;if(!o||typeof o!="object")return;let s=e.componentPath(t);for(let[i,a]of Object.entries(o)){if(e.truncated)return;let c=my(a),u=Tl(a,c);Object.assign(u,or(a,e.home)??{});let l=kl(a);e.push({kind:"MCP_SERVER",name:i,path:s,content_hash:qo(i,u,l),origin:n,enabled:l,attributes:u})}}function $l(e,t,n){if(!py(t)||!e.claimFile(t))return;let r;try{r=dy(t,"utf8")}catch{return}let o=e.componentPath(t),s=/^\[mcp_servers(?:\.(\w+)|\."([^"]+)"|\.'([^']+)')\]\s*$/gm,i;for(;(i=s.exec(r))!==null;){if(e.truncated)return;let a=i[1]??i[2]??i[3];if(!a)continue;let c=r.slice(i.index+i[0].length),u=c.search(/^\[mcp_servers(?:\.(?:\w+|"[^"]+"|'[^']+'))\]\s*$/m),l=u===-1?c:c.slice(0,u),p="unknown";/^\s*url\s*=/m.test(l)?p="http":/^\s*command\s*=/m.test(l)&&(p="stdio");let f=Nl(l,p);Object.assign(f,Dl(l,e.home)??{});let m=Pl(l);e.push({kind:"MCP_SERVER",name:a,path:o,content_hash:qo(a,f,m),origin:n,enabled:m,attributes:f})}}import{existsSync as hy,readdirSync as Sy}from"node:fs";import{join as ce}from"node:path";function gy(e){if(e.prompt||e.type==="prompt")return"prompt";let t=e.command??e.bash??e.powershell??"";return/\bnpx\b/i.test(t)?"npx":/\.(sh|bash|zsh|js|mjs|cjs|ts|py)(\s|$|"|')/i.test(t)||/^(\.\/|~\/|\/|[A-Za-z]:[\\/])/.test(t.trim())?"script":"inline"}function _y(e){return Array.isArray(e.hooks)&&e.hooks.length>0?e.hooks:[{type:e.type,command:e.command,bash:e.bash,powershell:e.powershell,prompt:e.prompt}]}function Qo(e,t,n,r){let o=e.componentPath(t);for(let[s,i]of Object.entries(n))if(!(!Array.isArray(i)||e.truncated))for(let a of i){if(!a||typeof a!="object"||e.truncated)continue;let c=a;for(let u of _y(c)){if(e.truncated)return;let l=u.command??u.bash??u.prompt??u.powershell??c.powershell??"",p=gy({type:u.type??c.type,command:u.command??c.command,bash:u.bash??c.bash,powershell:u.powershell??c.powershell,prompt:u.prompt??c.prompt}),f=typeof c.matcher=="string"?c.matcher:"",m=X(l),g=f?`${s}:${f}:${p}:${m}`:`${s}:${p}:${m}`,S=`${s}|${f}|${p}|${l}|attrs2`;e.push({kind:"HOOK",name:g,path:o,content_hash:X(S),origin:r,enabled:!0,trigger:"EVENT",attributes:{event:s,...f?{matcher:f}:{},action_kind:p,action_hash:m,...p!=="prompt"&&l.trim()?{command:Ll(l,e.home)}:{}}})}}}function es(e,t,n){if(!e.claimFile(t))return;let r=e.readJson(t,{});!r?.hooks||typeof r.hooks!="object"||Qo(e,t,r.hooks,n)}var jl=50;function Qt(e,t,n,r){if(!hy(t))return{componentCount:0,expandTruncated:!1};let o=e.components.length,{expanded:s}=e.withPluginExpandCap(jl,()=>{st(e,{dir:ce(t,"skills"),kind:"SKILL",origin:n,enabled:r,nested:"SKILL.md"}),st(e,{dir:ce(t,"commands"),kind:"COMMAND",origin:n,enabled:r,extensions:[".md"]}),st(e,{dir:ce(t,"agents"),kind:"SUBAGENT",origin:n,enabled:r,extensions:[".md"]})});es(e,ce(t,"hooks","hooks.json"),n),es(e,ce(t,"hooks.json"),n);let i=e.components.length-o,a=s>=jl;return{componentCount:i,expandTruncated:a}}function en(e,t){e.push({kind:"PLUGIN",name:t.pluginKey,path:t.rowPath,content_hash:t.contentHash,origin:"user",enabled:t.enabled,attributes:{...t.marketplace?{marketplace:t.marketplace}:{},...t.version?{version:t.version}:{},scope:t.scope,component_count:t.componentCount,...t.expandTruncated?{expand_truncated:!0}:{}}})}function Bl(e){let t=ce(e.home,".claude/plugins/installed_plugins.json"),n=e.readJson(t,{});if(!n)return;let r=n.plugins??{},s=e.readJson(ce(e.home,".claude/settings.json"),{})?.enabledPlugins??{},i=e.componentPath(t);for(let[a,c]of Object.entries(r)){if(e.truncated)return;let u=Array.isArray(c)?c:[c],l=u[0]??{},p=s[a]===!0,f=a.includes("@")?a.split("@").slice(1).join("@"):"",m=typeof l.version=="string"?l.version:"",g=typeof l.scope=="string"?l.scope:"user",S=`plugin:${a}`,C=0,A=!1;for(let T of u)if(typeof T.installPath=="string"&&T.installPath.length>0){let x=Qt(e,T.installPath,S,p);C+=x.componentCount,A=A||x.expandTruncated}en(e,{pluginKey:a,rowPath:i,enabled:p,scope:g,version:m||void 0,marketplace:f||void 0,componentCount:C,expandTruncated:A,contentHash:X(`${a}|${m}|${g}|${p}|${C}`)})}}function Ey(e){let t=e,n="";try{let r=Sy(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).map(o=>o.name);if(r.length===1&&r[0])t=ce(e,r[0]),n=r[0];else if(r.length>1){let o=[...r].sort(),s=o[o.length-1];s&&(t=ce(e,s),n=s)}}catch{}return{installPath:t,version:n}}var yy=/^\d+$/;function Ry(e){let t=e.filter(n=>!yy.test(n.pluginId));return t.length>0?t:e}function Kl(e){let t=[{base:ce(e.home,".cursor/plugins/local"),scope:"local"},{base:ce(e.home,".cursor/plugins/cache"),scope:"cache"}];for(let{base:n,scope:r}of t)if(!e.truncated)for(let o of e.readEntries(n)){if(!o.isDirectory()||e.truncated)continue;if(r==="local"){let a=o.name,c=ce(n,o.name),u=`plugin:${a}`,{componentCount:l,expandTruncated:p}=Qt(e,c,u,!0);en(e,{pluginKey:a,rowPath:e.componentPath(c),enabled:!0,scope:"local",componentCount:l,expandTruncated:p,contentHash:X(`${a}|local|${l}`)});continue}let s=o.name,i=[];for(let a of e.readEntries(ce(n,s))){if(!a.isDirectory())continue;let c=ce(n,s,a.name),{installPath:u,version:l}=Ey(c);i.push({pluginId:a.name,installPath:u,version:l})}for(let a of Ry(i)){if(e.truncated)break;let c=`${a.pluginId}@${s}`,u=`plugin:${c}`,{componentCount:l,expandTruncated:p}=Qt(e,a.installPath,u,!0);en(e,{pluginKey:c,rowPath:e.componentPath(a.installPath),enabled:!0,scope:"cache",version:a.version||void 0,marketplace:s,componentCount:l,expandTruncated:p,contentHash:X(`${c}|${a.version}|${l}`)})}}}import{existsSync as Iy}from"node:fs";var Cy=/(?<=^|[\s(,=:])(?:~|[A-Za-z]:)?[\\/][^\s,)]+/g,ts="<path>",Ay=new RegExp(`${ts}(?:\\s+[A-Za-z.][^\\s,)]*[\\\\/][^\\s,)]*)+`,"g");function sr(e){let t=e.replace(Cy,ts).replace(Ay,ts);return t.length>200?`${t.slice(0,200)}...`:t}var Gl=200,zl=200,ns=16*1024,Wl=6,by=new Set(["permissions","sandbox","enableAllProjectMcpServers","enabledMcpjsonServers","disabledMcpjsonServers","disableAllHooks","disableAutoMode","allowManagedHooksOnly","allowManagedPermissionRulesOnly","allowManagedMcpServersOnly","strictKnownMarketplaces","strictPluginOnlyCustomization","disableSideloadFlags","forceLoginMethod","forceLoginOrgUUID"]),xy=new Set(["type","additionalReadwritePaths","additionalReadonlyPaths","disableTmpWrite","enableSharedBuildCache","networkPolicy"]),Oy=new Set(["terminalAllowlist","mcpAllowlist","autoRun"]),Ty=new Set(["permissions"]),ky={claude:by,cursor_sandbox:xy,cursor_permissions:Oy,cursor_cli:Ty},Py=new Set(["allow","deny","ask"]);function Xe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ir(e){return e.replace(/\\/g,"/")}function rs(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(r=>rs(r)).join(",")}]`;let t=e;return`{${Object.keys(t).filter(r=>t[r]!==void 0).sort().map(r=>`${JSON.stringify(r)}:${rs(t[r])}`).join(",")}}`}function Ny(e){return X(`${rs(e)}|settings1`)}function ql(e){let t=ir(e);if(t.endsWith(".claude/settings.json")||t.endsWith(".claude/settings.local.json"))return"claude";if(t.endsWith(".cursor/sandbox.json"))return"cursor_sandbox";if(t.endsWith(".cursor/permissions.json"))return"cursor_permissions";if(t.endsWith(".cursor/cli-config.json")||t.endsWith(".cursor/cli.json"))return"cursor_cli"}function Zl(e,t){if(e!=="claude")return{};let n=ir(t);return n.endsWith("/.claude/remote-settings.json")?{profile:"claude",managedSource:"server"}:n.includes("/managed-settings.d/")&&n.endsWith(".json")?{profile:"claude",managedSource:"file_dropin"}:n.endsWith("/managed-settings.json")?{profile:"claude",managedSource:"file"}:{profile:"claude"}}function Ql(e){let t=ir(e).replace(/\/+$/,"");return t.length<=1?"":t}function ef(e){return/^[A-Za-z]:/.test(e)||e.includes("\\")}function wy(e,t){let n=ir(e);if(n==="~"||n.startsWith("~/"))return n;let r=Ql(t);if(!r)return n;let o=n.slice(0,r.length);if(!(ef(t)?o.toLowerCase()===r.toLowerCase():o===r))return n;let i=n.slice(r.length);return i===""?"~":i.startsWith("/")?`~${i}`:n}var Vl=new Map;function My(e){let t=Vl.get(e);if(t!==void 0)return t;let n=Ql(e),r=null;if(n){let o=n.split("/").map(s=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\\\/]+");r=new RegExp(`(?<![\\w.-])${o}(?![\\w.-])`,ef(e)?"gi":"g")}return Vl.set(e,r),r}function Ly(e,t){let n=My(t);return n?e.replace(n,"~"):e}function Jl(e,t){return e.length<=zl?e:(t.truncated=!0,e.slice(0,zl))}function tf(e,t){return e.length<=Gl?e:(t.truncated=!0,e.slice(0,Gl))}function ne(e,t,n,r){if(typeof e=="string"){if(t==="path")return Jl(wy(e,n),r);let o=t==="rule"?sr(e):e;return Jl(Ly(o,n),r)}if(typeof e=="number"||typeof e=="boolean"||e===null)return typeof e=="number"&&!Number.isFinite(e)?void 0:e;if(Array.isArray(e)){let o=tf(e,r),s=[];for(let i of o){let a=ne(i,t,n,r);a!==void 0&&s.push(a)}return s}if(Xe(e)){let o={};for(let[s,i]of Object.entries(e)){let a=ne(i,t,n,r);a!==void 0&&(o[s]=a)}return o}}function Yl(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let i="plain";Py.has(o)?i="rule":o==="additionalDirectories"&&(i="path");let a=ne(s,i,t,n);a!==void 0&&(r[o]=a)}return r}function vy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){if(o==="files"&&Array.isArray(s)){let a=tf(s,n);r[o]=a.map(c=>{if(!Xe(c))return ne(c,"plain",t,n);let u={};for(let[l,p]of Object.entries(c)){let m=ne(p,l==="path"?"path":"plain",t,n);m!==void 0&&(u[l]=m)}return u});continue}let i=ne(s,"plain",t,n);i!==void 0&&(r[o]=i)}return r}function Hy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let a=ne(s,o==="allowUnixSockets"?"path":"plain",t,n);a!==void 0&&(r[o]=a)}return r}function Uy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let i;o==="excludedCommands"?i=ne(s,"rule",t,n):o==="filesystem"?i=ne(s,"path",t,n):o==="network"?i=Hy(s,t,n):o==="credentials"?i=vy(s,t,n):i=ne(s,"plain",t,n),i!==void 0&&(r[o]=i)}return r}function Dy(e,t,n,r,o){return n==="claude"?e==="permissions"?Yl(t,r,o):e==="sandbox"?Uy(t,r,o):ne(t,"plain",r,o):n==="cursor_sandbox"?e==="additionalReadwritePaths"||e==="additionalReadonlyPaths"?ne(t,"path",r,o):ne(t,"plain",r,o):n==="cursor_permissions"?e==="terminalAllowlist"||e==="mcpAllowlist"?ne(t,"rule",r,o):ne(t,"plain",r,o):e==="permissions"?Yl(t,r,o):ne(t,"plain",r,o)}function tn(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function os(e,t){return e?`${e}.${t}`:t}function ss(e,t,n,r){if(Array.isArray(e)){for(let o=e.length-1;o>=0;o-=1){let s=e[o];s!==null&&typeof s=="object"&&(t+1>=Wl?(e.splice(o,1),r.add(n)):ss(s,t+1,n,r))}return}if(!(e===null||typeof e!="object"))for(let[o,s]of Object.entries(e))s!==null&&typeof s=="object"&&(t+1>=Wl?(delete e[o],r.add(os(n,o))):ss(s,t+1,os(n,o),r))}function nf(e,t,n){if(Array.isArray(e)){e.length>0&&n.push({path:t,items:e,bytes:tn(e)});return}if(!(e===null||typeof e!="object"))for(let[r,o]of Object.entries(e))nf(o,os(t,r),n)}function Fy(e,t,n){let r=tn(e);if(r<=ns)return;t.truncated=!0;let o=[];for(nf(e,"",o);r>ns;){let s;for(let c of o)c.items.length>0&&(!s||c.bytes>s.bytes)&&(s=c);if(!s)break;let i=s.items.pop(),a=tn(i)+(s.items.length>0?1:0);s.bytes-=a,r-=a,n.add(s.path)}for(;tn(e)>ns;){let s,i=-1;for(let[a,c]of Object.entries(e)){let u=tn(c);u>i&&(s=a,i=u)}if(s===void 0)break;delete e[s],n.add(s)}}function $y(e,t,n){let r=ky[t],o={truncated:!1},s={},i=[];for(let c of Object.keys(e)){if(!r.has(c)){i.push(c);continue}let u=Dy(c,e[c],t,n,o);u!==void 0&&(s[c]=u)}i.sort();let a=new Set;return ss(s,1,"",a),a.size>0&&(o.truncated=!0),Fy(s,o,a),{settings:s,keys_omitted:i,truncated:o.truncated,trimmed_paths:[...a].sort()}}function Xl(e,t){let n={kind:t.kind,name:"settings",path:e.componentPath(t.absPath),origin:t.origin,enabled:!0,content_hash:Ny(t.attributes),attributes:t.attributes};e.push(n)}function is(e,t,n,r){if(!e.claimFile(t)||!Iy(t))return;let o=Fs(t);if(!o.ok||!Xe(o.value)){if(r.profile){let u=!o.ok&&o.reason==="read"?"read_error":"parse_error",l={profile:r.profile,[u]:!0};r.managedSource&&(l.managed_source=r.managedSource),Xl(e,{kind:r.kind,absPath:t,origin:n,attributes:l})}return}let s=o.value,i=s.hooks;if(Xe(i)&&Qo(e,t,i,n),!r.profile)return;let a=$y(s,r.profile,e.home),c={profile:r.profile,settings:a.settings,keys_omitted:a.keys_omitted};a.truncated&&(c.truncated=!0),a.trimmed_paths.length>0&&(c.trimmed_paths=a.trimmed_paths),r.managedSource&&(c.managed_source=r.managedSource),Xl(e,{kind:r.kind,absPath:t,origin:n,attributes:c})}import{existsSync as jy}from"node:fs";import{join as we}from"node:path";var rf=".claude/skills/synced",of=".claude/plugins/synced";function sf(e){return[we(e,rf),we(e,of)]}function ar(e){return typeof e=="string"&&e.length>0?e:void 0}function af(e){let t=we(e.home,rf);for(let n of e.readEntries(t)){if(!n.isDirectory()||n.name.startsWith("."))continue;let r=we(t,n.name),o=e.readJson(we(r,"manifest.json"),{}),s=new Map((o?.skills??[]).flatMap(i=>i.name?[[i.name,i]]:[]));for(let i of e.readEntries(r)){if(e.atGlobalCap){e.truncated=!0;return}let a=we(r,i.name,"SKILL.md");if(!i.isDirectory()||!jy(a))continue;let c=s.get(i.name),u=ar(c?.source),l=ar(c?.creatorType);Et(e,{absolutePath:a,kind:"SKILL",origin:"user",enabled:!0,name:i.name,attributes:{scope:"synced",...u?{source:u}:{},...l?{creator_type:l}:{}}})}}}function cf(e){let t=we(e.home,of);for(let n of e.readEntries(t)){if(!n.isDirectory()||n.name.startsWith("."))continue;let r=we(t,n.name),o=e.readJson(we(r,"manifest.json"),{}),s=new Map((o?.plugins??[]).flatMap(i=>i.name?[[i.name,i]]:[]));for(let i of e.readEntries(r)){if(e.truncated)return;if(!i.isDirectory()||i.name.startsWith("."))continue;let a=s.get(i.name),c=ar(a?.marketplaceName),u=ar(a?.version),l=c?`${i.name}@${c}`:i.name,p=we(r,i.name),{componentCount:f,expandTruncated:m}=Qt(e,p,`plugin:${l}`,!0);en(e,{pluginKey:l,rowPath:e.componentPath(p),enabled:!0,scope:"synced",version:u,marketplace:c,componentCount:f,expandTruncated:m,contentHash:X(`${l}|${u??""}|synced|${f}`)})}}}function Ky(e,t){let{layout:n,levelDir:r,origin:o,includeMachineWide:s}=t;for(let i of n.skillRoots)st(e,{dir:Rt(r,i),kind:"SKILL",origin:o,enabled:!0,nested:"SKILL.md",skipDirs:sf(e.home)});for(let i of n.dirs)st(e,{dir:Rt(r,i.dir),kind:i.kind,origin:o,enabled:!0,extensions:i.extensions});for(let i of n.memory){let a=El(i.map(c=>Rt(r,c)));a&&Et(e,{absolutePath:a,kind:"MEMORY",origin:o,enabled:!0,name:By(a)})}for(let i of Gi(n))is(e,Rt(r,i),o,{kind:"SETTINGS",profile:ql(i)});for(let i of n.mcpJson??[])Fl(e,Rt(r,i),o);for(let i of n.mcpToml??[])$l(e,Rt(r,i),o);if(s){if(n.managed){for(let i of xn(n.managed,process.platform,e.home))if(i.toLowerCase().endsWith(".json")){let a=Zl(n.managed,i);is(e,i,o,{kind:"MANAGED_SETTINGS",...a})}}n.plugins==="claude"?(Bl(e),cf(e),af(e)):n.plugins==="cursor"&&Kl(e)}}function uf(e,t){try{let n=new Vn(e,{pathMode:t.pathMode,maxEntries:t.maxEntries});for(let r of t.layouts)Ky(n,{layout:r,levelDir:t.levelDir,origin:t.origin,includeMachineWide:t.includeMachineWide});return{scopeRef:t.scopeRef,anchor:t.levelDir,components:n.components,truncated:n.truncated}}catch{return}}function as(e,t,n={}){let r={},o=n.shouldWalk;if(o===void 0||o("user","")){let c=uf(t,{layouts:Object.values(pt),levelDir:t,origin:"user",includeMachineWide:!0,pathMode:"home-relative",maxEntries:Be,scopeRef:""});c&&(r.user=c)}let s=n.inGitRepo===!0,i=null,a=n.launchCwd;if(a!==void 0){let c=Object.values(Ge),u=bo({launchCwd:a,gitRoot:n.gitRoot,inGitRepo:s,remote:n.remote,home:t,hasProjectSpec:l=>Wi(c,l)});i=u.parentRel;for(let l of u.anchors){let p=fo(l.dir);if(o!==void 0&&!o(l.scope,p))continue;let f=uf(t,{layouts:c,levelDir:l.dir,origin:l.scope,includeMachineWide:!1,pathMode:"tilde",maxEntries:xo,scopeRef:p});f&&(r[l.scope]=f)}r.parent||(i=null)}return{scopes:r,parentRel:i,cwdInGitRepo:s}}function cs(e,t,n={}){let r=n.truncated===!0,o=Kt(e),s=new Set(e.map(l=>he(l.path,l.name)));if(n.forceFull===!0||t===void 0)return{hash:o,count:e.length,truncated:r,full:!0,upserts:e,removed:[],unchanged:!1};let a=[],c=t;for(let l of e){let p=he(l.path,l.name);c[p]!==l.content_hash&&a.push(l)}let u=[];if(!r){for(let l of Object.keys(c))if(!s.has(l)){let p=Bc(l);p&&u.push(p)}}return{hash:o,count:e.length,truncated:r,full:!1,upserts:a,removed:u,unchanged:a.length===0&&u.length===0}}var ff=2*1024*1024,Gy=new Set(["HOOK","MCP_SERVER","PLUGIN","SETTINGS","MANAGED_SETTINGS"]);function us(e,t,n){let r=new Set(t.map(s=>he(s.path,s.name))),o=[];for(let s of e)s.text!==void 0&&(n.has(s.content_hash)||r.has(he(s.path,s.name))||o.push(s));return o}function ls(e,t,n){let r=new Set(e);for(let s of t)r.add(s);let o=new Set(n.map(s=>s.content_hash));return[...r].filter(s=>o.has(s))}function lf(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function pf(e){if(e.text===void 0)return e;let{text:t,...n}=e;return n}function fs(e,t=ff){let n=[],r=[];for(let l of e)Gy.has(l.kind)?n.push(l):r.push(l);r.sort((l,p)=>(l.text?.length??0)-(p.text?.length??0));let o=[...n,...r],s=[],i=2,a=0,c=0,u=[];for(let l of o){let p=s.length>0?1:0,f=lf(l)+p;if(i+f<=t){s.push(l),i+=f,l.text!==void 0&&u.push(l.content_hash);continue}if(l.text!==void 0){let m=pf(l),g=lf(m)+p;if(i+g<=t){s.push(m),i+=g,a+=1;continue}}c+=1}return{components:s,textDeferredCount:a,droppedCount:c,textHashesSent:u}}function ps(e,t){return t.size===0?e:e.map(n=>n.text===void 0||!t.has(n.content_hash)?n:pf(n))}var zy=["user","cwd","repo","parent"];function ds(e){let{collected:t,cacheFor:n,nowMs:r,maxBytes:o}=e,s=[];for(let M of zy){let k=t.scopes[M];if(!k)continue;let K=n(M,k.scopeRef),D=K.components,b=cs(k.components,D,{forceFull:D===void 0,truncated:k.truncated}),N=new Set(K.textHashes),H=us(k.components,b.upserts,N),d=ps([...b.upserts,...H],N);s.push({scope:M,walk:k,delta:b,outgoing:d,outgoingKeys:new Set(d.map(I=>he(I.path,I.name))),deliveredTextHashes:N,cachedComponents:D})}let i=s.flatMap(M=>M.outgoing),a=fs(i,o),c=new Set(a.components.map(M=>he(M.path,M.name))),u=[],l=[],p=[],f=[],m=[],g=[],S=[];for(let M of s){let{scope:k,walk:K,delta:D}=M;g.push(...K.components),u.push(k);let b=a.components.filter(I=>M.outgoingKeys.has(he(I.path,I.name))),N=[...M.outgoingKeys].some(I=>!c.has(I)),H=D.truncated||N;H?p.push(k):D.full&&l.push(k),f.push(...b),!D.full&&!H&&m.push(...D.removed);let d=D.full?{}:{...M.cachedComponents??{}};if(!H)for(let I of D.removed)delete d[he(I.path,I.name)];for(let I of b)d[he(I.path,I.name)]=I.content_hash;S.push({scope:k,scopeRef:K.scopeRef,components:d,textHashes:ls(M.deliveredTextHashes,b.filter(I=>I.text!==void 0).map(I=>I.content_hash),K.components),collectedAtMs:r,included:b.length>0||D.removed.length>0&&!H||D.full})}let C={user_spec_hash:Kt(g),user_spec_count:g.length,user_spec_truncated:p.length>0};u.length>0&&(C.user_spec_scopes=u,C.user_spec_full_scopes=l,C.user_spec_truncated_scopes=p,C.user_spec_cwd_in_git_repo=t.cwdInGitRepo),l.length>0&&l.length===u.length&&(C.user_spec_full=!0),f.length>0&&(C.user_spec=f),m.length>0&&(C.user_spec_removed=m),a.textDeferredCount>0&&(C.user_spec_text_deferred=a.textDeferredCount);let A=t.scopes.cwd;A&&(C.user_spec_cwd_scope_ref=A.scopeRef);let T=t.scopes.repo;T&&(C.user_spec_repo_scope_ref=T.scopeRef);let x=t.scopes.parent;return x&&(C.user_spec_parent_scope_ref=x.scopeRef,t.parentRel&&(C.user_spec_parent_rel=t.parentRel)),{fields:C,scopes:S}}var cr={cwd:"cwd_spec",repo:"repo_spec",parent:"parent_spec"};function ms(e){return e==="cwd"||e==="repo"||e==="parent"}function nn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gs(e){return!nn(e)||!nn(e.components)||!Object.values(e.components).every(t=>typeof t=="string")||!Array.isArray(e.text_hashes)||!e.text_hashes.every(t=>typeof t=="string")?!1:typeof e.collected_at_ms=="number"&&Number.isFinite(e.collected_at_ms)}function df(e){return Wy(e)}function mf(e){return Vy(e)}function gf(e){return Jy(e)}function Wy(e){if(!nn(e))return;let t={};for(let[n,r]of Object.entries(e))typeof r=="string"&&(t[n]=r);return t}function Vy(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function _f(e,t){if(!nn(e))return;let n=e[t];return gs(n)?n:void 0}function Jy(e){if(!nn(e))return{};let t={};for(let[n,r]of Object.entries(e))gs(r)&&(t[n]=r);return t}function _s(e,t=20){let n=[];for(let[r,o]of Object.entries(e))gs(o)&&n.push([r,o]);return n.sort((r,o)=>o[1].collected_at_ms-r[1].collected_at_ms),Object.fromEntries(n.slice(0,t))}var Qy=["allow","deny","ask"];function lr(e){let t=te(e,{}),n=[];for(let r of Qy)for(let o of t.permissions?.[r]??[])typeof o=="string"&&o.length>0&&n.push({key:sr(o),mode:r});return{model:t.model??"",permissionKeys:n}}function eR(e){let{serverManaged:t,fileBased:n}=Dr(process.platform,e),r=lr(t);if(r.model||r.permissionKeys.length>0)return r;let o="",s=[];for(let i of n){let a=lr(i);a.model&&(o=a.model),s.push(...a.permissionKeys)}return{model:o,permissionKeys:s}}function tR(e){let t=new Set,n=[];for(let r of e){let o=`${r.mode}\0${r.key}`;t.has(o)||(t.add(o),n.push(r))}return n}var nR=10,rR="self-config-cache.json",Sf=4;function At(){return L("EV_AI_HOOK_USER_SPEC")?.toLowerCase()==="off"}function oR(){return L("EV_AI_HOOK_CWD_SPEC")?.toLowerCase()==="off"}var sR={claude:["claude"],cursor:["agent","cursor-agent"],codex:["codex"]};async function iR(e,t=ee){let n=sR[e];if(!n||n.length===0)return null;let r=async o=>{let s=n[o];if(s===void 0)return null;let a=((await t(s,["--version"],2e3)).split(`
|
|
42
|
-
`)[0]??"").trim();return a||r(o+1)};return r(0)}function
|
|
43
|
-
`);return X(n)}function
|
|
44
|
-
`)}catch(n){let r=n instanceof Error?n.message:String(n);
|
|
45
|
-
`),Object.keys(o).length===0?"cleared":"written"):"unchanged"}catch(i){let a=i instanceof Error?i.message:String(i);return
|
|
46
|
-
${n}`}function
|
|
47
|
-
`);if(t<0)return null;let n;try{n=JSON.parse(e.slice(0,t))}catch{return null}return{meta:n,body:e.slice(t+1)}}async function
|
|
48
|
-
`,p=L("EV_AI_HOOK_DEBUG");p==="full"?O(`DEBUG envelope=${u}`):p==="1"&&O(`DEBUG summary=${zR(c,ys(l))}`);let f=process.argv.includes(mr),m=L("EV_AI_HOOK_SYNC")==="1";return Un(n.runnerEvent,n.runnerPlatform)||f||m?YR(e,l,o):(await XR(e,l,o),!1)}import{createReadStream as qR}from"node:fs";import{stat as ZR}from"node:fs/promises";import{basename as QR,resolve as eC}from"node:path";import{createInterface as tC}from"node:readline";var nC=1024*1024;function rC(e){let t=e.replace(/\\/g,"/");return t.includes("/.claude/projects/")&&QR(t).endsWith(".jsonl")}async function Bf(e){if(!e||!rC(e))return null;try{let t=eC(e),n=await ZR(t);if(!n.isFile())return null;let r=Math.max(0,n.size-nC),o=[],s=tC({input:qR(t,{encoding:"utf8",start:r}),crlfDelay:1/0});for await(let i of s)i.length!==0&&o.push(i);r>0&&o.length>0&&o.shift();for(let i=o.length-1;i>=0;i--){let a=o[i];if(a)try{let c=JSON.parse(a);if(c.type!=="assistant")continue;let u=c.message;if(!u||typeof u!="object")continue;let l=u.model;if(typeof l=="string"&&l.length>0)return l}catch{continue}}return null}catch{return null}}function gr(e){return{sessionId:e.sessionId,turnId:e.turnId,installationId:e.manifest.installationId,runnerPlatform:e.runnerPlatform,platformAgentId:e.platformAgentId,runnerEvent:e.runnerEvent,promptCaptureSource:Xc(e.manifest.manifest,e.manifest.hookConfig)}}function sn(e,t){return{gitRoot:e.manifest.gitRoot,...t?{home:t}:{}}}function Is(e){return{gitRoot:e.manifest.gitRoot,inGitRepo:e.manifest.inGitRepo,runnerEvent:e.runnerEvent,promptCapture:Ro(e.manifest.hookConfig)}}async function zf(e){let t=Date.now();await gC(e);let{gitRoot:n}=e.manifest;await xs(e,n);let r=Is(e);return{buildStartedAtMs:t,gitRoot:n,hookInput:zn(e.hookInput,e.manifest.manifest,r),envelopeFields:gr(e),launchCwd:Ao(e.hookInput,r),home:sC()}}function Kf(e){try{return _e(oC(e))}catch{return null}}function Wf(e){return e.startsWith("/")||/^[A-Za-z]:\//.test(e)}function Gf(e,t){let n=e.replaceAll("\\","/");if(!Wf(n))return null;let r=_e(e),o=_e(t),s=Kf(e)??r,i=Kf(t)??o;return s.startsWith(`${i}/`)?s.slice(i.length+1):r.startsWith(`${o}/`)?r.slice(o.length+1):null}function Vf(e,t,n){if(!e)return{repositorySourcePath:null,userSourcePath:null};let r=e.replaceAll("\\","/"),s=Gf(e,t)??(Wf(r)?null:r),i=Gf(e,n);return{repositorySourcePath:s,userSourcePath:i}}function As(e,t,n,r,o){return Jf(e,Vf(n,t.gitRoot,t.home),r,o)}function Jf(e,{repositorySourcePath:t,userSourcePath:n},r,o){let s=t??n,i=s===null?null:o(s),a=i!==null&&s!==null?iC({installableKind:r,sourcePath:s,nativeKey:i,inRepository:t!==null,platformAgentId:e.platformAgentId,installationId:e.manifest.installationId}):void 0;return{sourcePath:s,nativeKey:i,componentReference:a}}function iC(e){try{let t=e.inRepository?uC(e.platformAgentId,e.sourcePath):(0,B.installationRootExternalKey)(e.installationId,(0,B.userConfigRootFromPath)(e.sourcePath));return t?(0,B.buildComponentReference)({installationRootExternalKey:t,installableKind:e.installableKind,sourcePath:e.sourcePath,nativeKey:e.nativeKey}):void 0}catch{return}}function Yf(e){let t=e.policyFindings;return t===void 0||t.length===0?{}:{policy_findings:t,...e.policyJudgeSpawnMs!==void 0?{policy_judge_spawn_ms:e.policyJudgeSpawnMs}:{}}}function bs(e,t,n){return xt("tool_invoked",{...n,...Yf(e),success:null,duration_ms:null,hook_input:t.hookInput},t.envelopeFields,It,e.manifest.collectorUrl,t.buildStartedAtMs,sn(e,t.home))}function aC(e){return va(e.runnerEvent,e.runnerPlatform)?[]:ea(e.hookInput)}function cC(e,t){return bs(e,t,{})}var Xf=new Set([...Object.values(tt),".github"]);function uC(e,t){let n=e.indexOf(":");if(n<=0)return null;let r=e.slice(0,n),o=t.replaceAll("\\","/").split("/").filter(Boolean),s=o.findIndex(i=>Xf.has(i));return s<0?null:`${r}:${o.slice(0,s+1).join("/")}`}var qf=".codex/config.toml",lC=new Map([["claude_json_user",".claude.json"],["cursor_mcp_user",".cursor/mcp.json"],["codex_toml_user",qf]]);function fC(e,t,n,r,o,s,i){if(e===null||t===null||!(i!==null||/^mcp__.+?__.+$/i.test(e)||/^MCP:[^:]+:.+$/i.test(e)||/^MCP:.+__.+$/i.test(e)||e.toLowerCase()===`mcp:${t.toLowerCase()}`))return;let c=s.find(S=>S.name.toLowerCase()===t.toLowerCase()),u=c?lC.get(c.source):o==="codex"?qf:void 0,l=c?.sourcePath??u;if((c?.scope==="user"||u!==void 0)&&l)try{let S=(0,B.userConfigRootFromPath)(l);return(0,B.buildComponentReference)({installationRootExternalKey:(0,B.installationRootExternalKey)(r,S),installableKind:B.ComponentKind.INTERFACE,sourcePath:l,nativeKey:c?.name??t})}catch{return}if(n===null)return;let f=n.indexOf(":");if(f<=0||f===n.length-1)return;let m=n.slice(f+1),g=m.replaceAll("\\","/").split("/").at(-1);if(!(g===void 0||!Xf.has(g)))try{return(0,B.buildComponentReference)({installationRootExternalKey:n,installableKind:B.ComponentKind.INTERFACE,sourcePath:m,nativeKey:t})}catch{return}}function pC(...e){for(let t of e)if(t)return t;return null}function ut(e,t,n){if(e.status==="fulfilled")return e.value;let r=e.reason instanceof Error?e.reason.message:String(e.reason);return O(`WARN: ${n} failed open: ${r}`),t}function dC(e){let t={present:!1,size:0},n={hash:"",count:0};return{config:{runner_platform:e,config_scope:"user",cli_version:null,claude_version:null,model:null,permission_keys:[],user_scope:{skills:n,subagents:n,commands:n,rules:n,memory:t,settings:t,mcp:t},local_settings:t},commit:()=>{}}}function mC(e,t){return{runner_platform:e,config_scope:"user",...t?{operator:t}:{}}}var ct=new Set,on=null;async function gC(e){if(At())return;let t=e.manifest.installationId,n=e.manifest.installationStorePath;if(ct.has(t))return;if(!_o(n)){ct.add(t);return}let r=kt({sessionId:e.sessionId,hostname:dn()});if(Gc(r)){if(on){await on;return}on=(async()=>{if(ct.has(t)||!_o(n)){ct.add(t);return}if(!Pi(n)){ct.add(t);return}let o=!1;try{let s=Date.now(),{gitRoot:i}=e.manifest,a=String(e.runnerPlatform),{operatorResolved:c,fields:u}=await Zf(e,r,vn(i),go({gitRoot:i,installationStorePath:n,forceResend:!1,runnerPlatform:a})),l={...u,self_config:mC(a,c.operator),run_meta:{trigger:"cloud_identity_bootstrap"}};o=!!await xt("session_start",l,gr(e),It,e.manifest.collectorUrl,s,sn(e)),o&&(c.commit(),ct.add(t))}finally{Ni(n)}})().finally(()=>{on=null}),await on}}async function xs(e,t,n){try{e.platformAgentId=await ba(e.manifest.manifest,e.platformAgentId,String(e.runnerPlatform),t,n,e.manifest.installationStorePath,e.manifest.repoKey)}catch(r){let o=r instanceof Error?r.message:String(r);O(`WARN: derivePlatformAgentId failed open: ${o}`)}}async function Zf(e,t,n,r){let[o,s,i,a,c]=await Promise.allSettled([n,Gs(),_c(t),Ws(),r]),u=ut(o,null,"gitSnapshot"),l=ut(s,"","detectVirt"),p=ut(i,null,"probeCloud"),f=ut(a,{},"hostEnv"),m=ut(c,{commit:()=>{}},"resolveOperatorForSend");return await xs(e,e.manifest.gitRoot,u),{operatorResolved:m,fields:{identity:{host:dn(),context:t,virt:l||null,cloud:p,git:u},host_env:f,env_vars:Ac()}}}async function _C(e){let t=Date.now(),{gitRoot:n}=e.manifest,r=kt({sessionId:e.sessionId,hostname:dn()}),o=String(e.runnerPlatform),s=Is(e),i=Ao(e.hookInput,s),a=vn(n),c=Pf().catch(()=>({})),u=At()?Promise.resolve({commit:()=>{}}):go({gitRoot:n,installationStorePath:e.manifest.installationStorePath,forceResend:!1,runnerPlatform:o}),l=Zf(e,r,a,u),[p,f]=await Promise.allSettled([co(e.manifest.manifest,n,o),a.catch(()=>null).then(K=>Ef(o,n,void 0,{installationStorePath:e.manifest.installationStorePath,gitRoot:n,launchCwd:i,inGitRepo:e.manifest.inGitRepo,remote:K?.remote??null}))]),{operatorResolved:m,fields:g}=await l,S=ut(p,[],"mcpDeclared"),C=ut(f,dC(o),"selfConfig"),A=C.config,T=v(e.hookInput,"model");T&&(A.model=T);let x={...g,mcp:{declared:S},self_config:A,run_meta:{trigger:e.hookSource||"startup"},hook_input:zn(e.hookInput,e.manifest.manifest,{...s,launchCwd:i})},M=await c;await xt("session_start",x,{...gr(e),...M},It,e.manifest.collectorUrl,t,sn(e))&&(C.commit(),m.commit(),ct.add(e.manifest.installationId))}async function hC(e){let t=Date.now(),[,n]=await Promise.all([xs(e,e.manifest.gitRoot),e.runnerPlatform==="claude"?Bf(v(e.hookInput,"transcript_path")):null]),r=e.runnerEvent.toLowerCase(),o=pC(v(e.hookInput,"status"),v(e.hookInput,"stop_reason"),v(e.hookInput,"reason"),$t(v(e.hookInput,"error")),r==="stop"?Me(e.hookInput,"is_interrupt")===!0?"interrupted":"completed":""),s=zn(e.hookInput,e.manifest.manifest,Is(e));n&&(s.model=n),r!=="stopfailure"&&!qc(e.manifest.manifest)&&s.last_assistant_message===void 0&&(s.last_assistant_message=""),await xt("session_end",{status:o,...n?{model:n}:{},hook_input:s},gr(e),It,e.manifest.collectorUrl,t,sn(e))}async function SC(e){let t=aC(e),n=ka(e.hookInput),r=La(e.runnerEvent),o=r&&t.length===0&&n.length===0;if(t.length===0&&n.length===0&&!r)return;let s=await zf(e);await Promise.all([o?cC(e,s):void 0,t.length===0?void 0:EC(e,s,t),n.length===0?void 0:yC(e,s,n)])}function Qf(e,t,n,r){let o=r??Qi({skillId:n,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home}),s=As(e,t,o,B.ComponentKind.SKILL,B.nativeKeyForSkillPath);if(s.sourcePath!==null&&$r(s.sourcePath)?.toLowerCase()===n.toLowerCase())return s.componentReference===void 0?{}:{componentReference:s.componentReference};let i=r??Pa({commandId:n,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home,runnerPlatform:e.runnerPlatform}),a=As(e,t,i,B.ComponentKind.COMMAND,B.nativeKeyForCommandPath);return a.nativeKey?.toLowerCase()!==n.toLowerCase()?{}:{commandName:a.nativeKey,...a.componentReference===void 0?{}:{componentReference:a.componentReference}}}function EC(e,t,n){let r=Tn(e.hookInput.tool_input);return Promise.all(n.map(o=>{let s=Qf(e,t,o,r);return bs(e,t,{tool_name:"Skill",skill_name:o,...s.commandName===void 0?{}:{command_name:s.commandName},...s.componentReference===void 0?{}:{component_reference:s.componentReference}})}))}function yC(e,t,n){return Promise.all(n.map(r=>{let o=xa({relativePath:r,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home,runnerPlatform:e.runnerPlatform}),s=As(e,t,o,B.ComponentKind.RULE,B.nativeKeyForRulePath),i=s.nativeKey??Ta(r);return bs(e,t,{tool_name:"Rule",rule_name:i,...s.componentReference===void 0?{}:{component_reference:s.componentReference}})}))}var RC=[{kind:B.ComponentKind.SKILL,nativeKeyFn:B.nativeKeyForSkillPath},{kind:B.ComponentKind.RULE,nativeKeyFn:B.nativeKeyForRulePath},{kind:B.ComponentKind.COMMAND,nativeKeyFn:B.nativeKeyForCommandPath}];function CC(e,t,n){if(n.skillName===null&&n.ruleName===null&&n.commandName===null)return{};let r=Br(e.hookInput);if(r===null)return n.skillName===null?{}:Qf(e,t,n.skillName,null);let o=Vf(r,t.gitRoot,t.home);for(let s of RC){let i=Jf(e,o,s.kind,s.nativeKeyFn);if(i.nativeKey!==null)return{...i.componentReference===void 0?{}:{componentReference:i.componentReference},...s.kind===B.ComponentKind.RULE?{ruleName:i.nativeKey}:{},...s.kind===B.ComponentKind.COMMAND?{commandName:i.nativeKey}:{}}}return{}}var AC=/mcp/i;function IC(e,t,n,r){let o=AC.test(e.runnerEvent);if(!r.hasMcpIdentity&&!o)return{};let s=o?Ul(t,n):or(r.declaredConfig,n);return s===null?{}:Object.fromEntries(Object.entries(s).filter(i=>typeof i[1]=="string").map(([i,a])=>[`mcp_${i}`,a]))}async function bC(e){let t=await zf(e),n=Da(e.hookInput,e.runnerEvent),{toolName:r,skillName:o}=n,s=jr(e.hookInput),i=vl(s,t.home),a=$a(e.hookInput),c=Ha(e.runnerEvent),u=c===!1?ja(e.hookInput,e.runnerEvent):null,l=$t(v(e.hookInput,"mcp_server_name")),p=l!==null||r!==null&&Dn(r)?await co(e.manifest.manifest,e.manifest.gitRoot,String(e.runnerPlatform),t.home).catch(()=>[]):[],{mcpServer:f,mcpTool:m}=Ka(r,p.map(K=>K.name),l??""),g=fC(r,f,e.platformAgentId,e.manifest.installationId,String(e.runnerPlatform),p,l),S=g===void 0?CC(e,t,n):{},C=f===null?null:Cc(f,e.manifest.manifest,e.manifest.gitRoot,String(e.runnerPlatform),t.home),A=IC(e,s,t.home,{hasMcpIdentity:!!f||!!m,declaredConfig:C}),T=g??S.componentReference,x=S.ruleName??n.ruleName,M=S.commandName??n.commandName,k=Fa(e.hookInput);await xt("tool_invoked",{tool_name:r,skill_name:o,...x?{rule_name:x}:{},...M?{command_name:M}:{},success:c,duration_ms:a,...i?{executable:i}:{},...u?{failure_reason:u}:{},...f?{mcp_server:f}:{},...m?{mcp_tool:m}:{},...A,...T?{component_reference:T}:{},...k?{subagent_type:k}:{},...Yf(e),hook_input:t.hookInput},t.envelopeFields,It,e.manifest.collectorUrl,t.buildStartedAtMs,sn(e,t.home))}async function ep(e){switch(e.internalEvent){case"session_start":await _C(e);return;case"session_end":await hC(e);return;case"skill_invoked":await SC(e);return;case"tool_invoked":await bC(e);return;default:return}}import{existsSync as Ts,readFileSync as xC}from"node:fs";import{dirname as OC,isAbsolute as TC,join as kC,relative as PC}from"node:path";function tp(e){for(let t of oi){let n=kC(e,t);if(Ts(n))return n}}async function NC(e=process.cwd(),t){let n=t??await Rr(e);return tp(n)??tp(e)}async function wC(e,t){let n=t??await Rr(OC(e)),r=PC(n,e);if(r.startsWith("..")||TC(r))return!1;let o=await Ee("git",["ls-files","--error-unmatch",r],2e3,{cwd:n});return o.ok?!0:o.code===1?!1:(O(`WARN: git ls-files failed for manifest ${e} (code=${String(o.code)}); treating as tracked`),!0)}function Os(e){let t=xC(e,"utf8");return ge(pn(t),{})}function MC(){return{schema_version:yn,mcp_servers:[]}}function LC(e,t,n,r){!t||!n||(e.capture_hook_input==="full"&&r.has("capture_hook_input")&&(O(`WARN: ignoring capture_hook_input=full in git-tracked manifest ${t}; use EV_AI_HOOK_CAPTURE_FULL_INPUT=1 or an untracked operator manifest`),delete e.capture_hook_input),e.debug===!0&&r.has("debug")&&(O(`WARN: ignoring debug=true in git-tracked manifest ${t}; set debug on ~/.ev-ai/config.json`),delete e.debug))}async function np(e=process.cwd(),t={}){let{root:n,inGitRepo:r}=await yr(e),o=L("EV_AI_HOOK_MANIFEST"),s=o&&Ts(o)?o:void 0,i=s?void 0:Ts(Nt())?Nt():void 0,a=s?void 0:await NC(e,n),c=i?Os(i):void 0,u=a?Os(a):void 0,l,p,f,m=new Set;if(s){l=Os(s),p=s,f=s;for(let x of Object.keys(l))m.add(x)}else if(c&&u){l=ii(u,c),p=i,f=a;for(let x of Object.keys(u))x in c||m.add(x)}else if(c)l=c,p=i;else if(u){l=u,p=a,f=a;for(let x of Object.keys(u))m.add(x)}else l=MC();delete l.installation_id;let g=f?await wC(f,n):!1;LC(l,f,g,m);let{installationId:S,storePath:C,repoKey:A}=await vi(n,{sessionId:t.sessionId}),T=Pr(l);return{manifestPath:p??C,manifest:l,installationId:S,installationStorePath:C,repoKey:A,collectorUrl:T,hookConfig:dr(T),platformAgentId:l.platform_agent_id??"",gitRoot:n,inGitRepo:r}}import{mkdirSync as vC,readdirSync as HC,readFileSync as UC,statSync as rp,unlinkSync as DC,writeFileSync as FC}from"node:fs";import{homedir as _r}from"node:os";import{join as ks}from"node:path";var $C="turns",op=1440*60*1e3,jC=100,BC=new Set(["stop","stopfailure","sessionend"]);function Ps(e=_r()){return ks(pe(e),$C)}function sp(e,t){return ks(e,Tt(t))}function KC(e,t=Date.now()){let n;try{n=HC(e)}catch{return}let r=0;for(let o of n){if(r>=jC)return;r+=1;try{let s=ks(e,o);t-rp(s).mtimeMs>op&&DC(s)}catch{}}}function GC(e,t,n=_r()){let r=e.trim(),o=t.trim();if(!(!r||!o))try{let s=Ps(n);vC(s,{recursive:!0}),FC(sp(s,r),o,"utf8")}catch{}}function zC(e,t=_r()){let n=e.trim();if(!n)return"";try{let r=sp(Ps(t),n);return Date.now()-rp(r).mtimeMs>op?"":UC(r,"utf8").trim()}catch{return""}}function ip(e,t,n,r=_r()){let o=t.trim(),s=BC.has(n.trim().toLowerCase());return s&&KC(Ps(r)),o?(GC(e,o,r),o):s?zC(e,r):""}async function ap(e,t,n,r){let o=t??await fn(Rn),s=ge(o,{}),i=await np(process.cwd(),{sessionId:Ft(s)});if(!i)return;r&&(i.collectorUrl=r,i.hookConfig=dr(r));let a=Ua(s,i.manifest.platform,n),c=Qr(e,a.runnerEvent);if(!c){O(`WARN: unknown hook event '${a.runnerEvent}'; skipping telemetry`);return}let u={hookInput:s,sessionId:a.sessionId,turnId:ip(a.sessionId,a.turnId,a.runnerEvent),runnerEvent:a.runnerEvent,runnerPlatform:a.runnerPlatform,hookSource:a.hookSource,internalEvent:c,manifest:i,platformAgentId:i.platformAgentId};await ep(u)}function WC(e,t=!1){if(L("EV_AI_HOOK_SYNC")==="1")return!0;let{parsed:n,hookInput:r,runnerEvent:o}=e,s=Dt(r,o,void 0,n.runner);return Un(o,s)?!0:t}function cp(e,t){let n=Or(e),r=ge(t,{}),o=n.event??Zr(r);return Bs()||Ma(n.runner,r,o)?null:{parsed:n,hookInput:r,runnerEvent:o}}function lp(e){return oc(Qr(e.parsed.event,e.runnerEvent))}async function up(e,t){let{parsed:n}=e;if(lp(e)){await ap(n.event,t,n.runner,Xr(n));return}let r=ro(n.cap),o=pc(r);if(!o){so(r);return}try{await ap(n.event,t,n.runner,Xr(n))}finally{oo(o)}}async function fp(e=process.argv.slice(2)){if(dc(),L("EV_AI_HOOK_JUDGE")==="1"){try{await fn(Rn)}catch{}return Sr(),0}if(e[0]===Cs){try{await Ff(Er)}catch{}return 0}if(e[0]===mr){try{let t=await Er(),n=cp(e.slice(1),t);if(!n)return 0;await up(n,t)}catch(t){let n=t instanceof Error?t.message:String(t);O(`WARN: detached work failed open: ${n}`)}return 0}try{let t=await fn(Rn),n=cp(e,t);if(!n)return 0;let{parsed:r,hookInput:o,runnerEvent:s}=n;if(!Ja(o,s,r.runner))return 0;if(WC(n))await up(n,t);else{let i=lp(n)?void 0:ro(r.cap);i===void 0||lc(i)?await jf(t,e):so(i)}}catch(t){let n=t instanceof Error?t.message:String(t);O(`WARN: hook failed open: ${n}`)}finally{Sr()}return 0}fp().then(e=>{process.exit(e)}).catch(e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[ev-ai-agent-hook] ${t}
|
|
40
|
+
`)){let T=/^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(A);T?.[1]&&u.add(T[1])}for(let A of tn(e,"env_vars"))u.add(A);let m=ay(e,"env_http_headers");for(let[,A]of m)A.length>0&&u.add(A);let g=us(e,"bearer_token_env_var");g&&(u.add(g),n.bearer_token_env_var=g),u.size>0&&(n.env_var_names=[...u].sort()),m.length>0&&(n.env_http_header_names=[...new Set(m.map(([A])=>A))].sort()),(/^\s*(?:http_|env_http_)?headers\s*=/m.test(e)||/(?:^|\n)\[[^\]]*headers\]\s*(?:\n|$)/.test(e))&&(n.headers_present=!0);let S=us(e,"auth");S&&(n.auth=S);let C=us(e,"default_tools_approval_mode");return C&&(n.default_tools_approval_mode=C),cy(n,e),n}var Ne=je(Je(),1);import{createHash as gy}from"node:crypto";import{join as rn}from"node:path";var dy=300,py=256;function Yl(e,t){if(!t)return e;let n=[...new Set([t,t.replace(/\\/g,"/")])].filter(o=>o.length>1),r=e;for(let o of n)r=r.split(o).join("~");return r}function gr(e){let t=[],n="",r=null;for(let o of e){if(r){o===r?r=null:n+=o;continue}if(o==='"'||o==="'"){r=o;continue}if(/\s/.test(o)){n.length>0&&(t.push(n),n="");continue}n+=o}return n.length>0&&t.push(n),t}function Xl(e,t){return e.length<=t?e:`${e.slice(0,t-1)}\u2026`}function my(e){return Xl(e,dy)}function ql(e,t){let n=Yl(e.trim(),t),r=gr(n);if(r.length===0)return"";let[o,...s]=r,i=it(o),a=nn(s);return my([i,...a].join(" "))}function Zl(e,t){if(typeof e!="string")return null;let n=Yl(e.trim(),t),r=gr(n)[0];if(!r)return null;let o=it(r);return o.length===0?null:Xl(o,py)}function _y(e,t){if(t!==null)return{package_version:t,package_version_source:"npx_cache"};let n=(0,Ne.pinnedPackageVersionFromSpec)(e);return n===void 0?{}:{package_version:n,package_version_source:"declared_pin"}}function hy(e){let t=[...e].sort((n,r)=>n.localeCompare(r,"en")).join(`
|
|
41
|
+
`);return gy("sha512").update(t).digest("hex").slice(0,16)}function Sy(e){let t=process.platform==="win32"?rn(L("LOCALAPPDATA")??e,"npm-cache"):rn(e,".npm"),n=L("npm_config_cache")??L("NPM_CONFIG_CACHE");return n===void 0||n===t?[t]:[n,t]}function Ql(e){return typeof e=="string"&&e.length>0&&e.length<=Ne.PACKAGE_FIELD_MAX?e:null}function Ey(e,t,n){let r=hy(e);for(let o of Sy(n)){let s=rn(o,"_npx",r),i=te(rn(s,"node_modules",...t.split("/"),"package.json"),{}),a=Ql(i.version);if(a!==null)return a;let c=te(rn(s,"package-lock.json"),{}),l=Ql(c.packages?.[`node_modules/${t}`]?.version);if(l!==null)return l}return null}function yy(e){return e.length<=Ne.PACKAGE_FIELD_MAX?e:`${e.slice(0,Ne.PACKAGE_FIELD_MAX-1)}\u2026`}function ds(e,t,n){if(typeof e!="string"||e.length===0)return null;let r=(0,Ne.npxPackageSpecs)(e,t??[]),o=r[0];if(o===void 0)return null;let s=(0,Ne.packageNameFromSpec)(o);return s===null?null:{package_name:s,package_spec:yy(o),..._y(o,Ey(r,s,n))}}function ef(e,t){if(typeof e!="string"||e.length===0)return null;let[n,...r]=gr(e.trim());return n===void 0?null:ds(n,r,t)}function _r(e,t){if(!e||typeof e!="object"||Array.isArray(e))return null;let n=e,r=Array.isArray(n.args)?n.args.filter(o=>typeof o=="string"):[];return ds(typeof n.command=="string"?n.command:null,r,t)}function tf(e,t){let n=/^\s*command\s*=\s*(.+)$/m.exec(e);return n===null?null:ds(At(n[1]??""),tn(e,"args"),t)}function Ay(e){if(!e||typeof e!="object"||Array.isArray(e))return"unknown";let t=e;return typeof t.type=="string"&&t.type.length>0?t.type:typeof t.url=="string"?"http":typeof t.command=="string"?"stdio":"unknown"}function nf(e,t,n){if(!e.claimFile(t))return;let o=e.readJson(t,{})?.mcpServers;if(!o||typeof o!="object")return;let s=e.componentPath(t);for(let[i,a]of Object.entries(o)){if(e.truncated)return;let c=Ay(a),l=zl(a,c);Object.assign(l,_r(a,e.home)??{});let u=Wl(a);e.push({kind:"MCP_SERVER",name:i,path:s,content_hash:fs(i,l,u),origin:n,enabled:u,attributes:l})}}function rf(e,t,n){if(!Ry(t)||!e.claimFile(t))return;let r;try{r=Cy(t,"utf8")}catch{return}let o=e.componentPath(t),s=/^\[mcp_servers(?:\.(\w+)|\."([^"]+)"|\.'([^']+)')\]\s*$/gm,i;for(;(i=s.exec(r))!==null;){if(e.truncated)return;let a=i[1]??i[2]??i[3];if(!a)continue;let c=r.slice(i.index+i[0].length),l=c.search(/^\[mcp_servers(?:\.(?:\w+|"[^"]+"|'[^']+'))\]\s*$/m),u=l===-1?c:c.slice(0,l),d="unknown";/^\s*url\s*=/m.test(u)?d="http":/^\s*command\s*=/m.test(u)&&(d="stdio");let f=Jl(u,d);Object.assign(f,tf(u,e.home)??{});let m=Vl(u);e.push({kind:"MCP_SERVER",name:a,path:o,content_hash:fs(a,f,m),origin:n,enabled:m,attributes:f})}}import{existsSync as by,readdirSync as xy}from"node:fs";import{join as ce}from"node:path";function Iy(e){if(e.prompt||e.type==="prompt")return"prompt";let t=e.command??e.bash??e.powershell??"";return/\bnpx\b/i.test(t)?"npx":/\.(sh|bash|zsh|js|mjs|cjs|ts|py)(\s|$|"|')/i.test(t)||/^(\.\/|~\/|\/|[A-Za-z]:[\\/])/.test(t.trim())?"script":"inline"}function Oy(e){return Array.isArray(e.hooks)&&e.hooks.length>0?e.hooks:[{type:e.type,command:e.command,bash:e.bash,powershell:e.powershell,prompt:e.prompt}]}function ps(e,t,n,r){let o=e.componentPath(t);for(let[s,i]of Object.entries(n))if(!(!Array.isArray(i)||e.truncated))for(let a of i){if(!a||typeof a!="object"||e.truncated)continue;let c=a;for(let l of Oy(c)){if(e.truncated)return;let u=l.command??l.bash??l.prompt??l.powershell??c.powershell??"",d=Iy({type:l.type??c.type,command:l.command??c.command,bash:l.bash??c.bash,powershell:l.powershell??c.powershell,prompt:l.prompt??c.prompt}),f=typeof c.matcher=="string"?c.matcher:"",m=X(u),g=f?`${s}:${f}:${d}:${m}`:`${s}:${d}:${m}`,S=`${s}|${f}|${d}|${u}|attrs2`;e.push({kind:"HOOK",name:g,path:o,content_hash:X(S),origin:r,enabled:!0,trigger:"EVENT",attributes:{event:s,...f?{matcher:f}:{},action_kind:d,action_hash:m,...d!=="prompt"&&u.trim()?{command:ql(u,e.home)}:{}}})}}}function ms(e,t,n){if(!e.claimFile(t))return;let r=e.readJson(t,{});!r?.hooks||typeof r.hooks!="object"||ps(e,t,r.hooks,n)}var of=50;function on(e,t,n,r){if(!by(t))return{componentCount:0,expandTruncated:!1};let o=e.components.length,{expanded:s}=e.withPluginExpandCap(of,()=>{st(e,{dir:ce(t,"skills"),kind:"SKILL",origin:n,enabled:r,nested:"SKILL.md"}),st(e,{dir:ce(t,"commands"),kind:"COMMAND",origin:n,enabled:r,extensions:[".md"]}),st(e,{dir:ce(t,"agents"),kind:"SUBAGENT",origin:n,enabled:r,extensions:[".md"]})});ms(e,ce(t,"hooks","hooks.json"),n),ms(e,ce(t,"hooks.json"),n);let i=e.components.length-o,a=s>=of;return{componentCount:i,expandTruncated:a}}function sn(e,t){e.push({kind:"PLUGIN",name:t.pluginKey,path:t.rowPath,content_hash:t.contentHash,origin:"user",enabled:t.enabled,attributes:{...t.marketplace?{marketplace:t.marketplace}:{},...t.version?{version:t.version}:{},scope:t.scope,component_count:t.componentCount,...t.expandTruncated?{expand_truncated:!0}:{}}})}function sf(e){let t=ce(e.home,".claude/plugins/installed_plugins.json"),n=e.readJson(t,{});if(!n)return;let r=n.plugins??{},s=e.readJson(ce(e.home,".claude/settings.json"),{})?.enabledPlugins??{},i=e.componentPath(t);for(let[a,c]of Object.entries(r)){if(e.truncated)return;let l=Array.isArray(c)?c:[c],u=l[0]??{},d=s[a]===!0,f=a.includes("@")?a.split("@").slice(1).join("@"):"",m=typeof u.version=="string"?u.version:"",g=typeof u.scope=="string"?u.scope:"user",S=`plugin:${a}`,C=0,A=!1;for(let T of l)if(typeof T.installPath=="string"&&T.installPath.length>0){let x=on(e,T.installPath,S,d);C+=x.componentCount,A=A||x.expandTruncated}sn(e,{pluginKey:a,rowPath:i,enabled:d,scope:g,version:m||void 0,marketplace:f||void 0,componentCount:C,expandTruncated:A,contentHash:X(`${a}|${m}|${g}|${d}|${C}`)})}}function Ty(e){let t=e,n="";try{let r=xy(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).map(o=>o.name);if(r.length===1&&r[0])t=ce(e,r[0]),n=r[0];else if(r.length>1){let o=[...r].sort(),s=o[o.length-1];s&&(t=ce(e,s),n=s)}}catch{}return{installPath:t,version:n}}var ky=/^\d+$/;function Py(e){let t=e.filter(n=>!ky.test(n.pluginId));return t.length>0?t:e}function af(e){let t=[{base:ce(e.home,".cursor/plugins/local"),scope:"local"},{base:ce(e.home,".cursor/plugins/cache"),scope:"cache"}];for(let{base:n,scope:r}of t)if(!e.truncated)for(let o of e.readEntries(n)){if(!o.isDirectory()||e.truncated)continue;if(r==="local"){let a=o.name,c=ce(n,o.name),l=`plugin:${a}`,{componentCount:u,expandTruncated:d}=on(e,c,l,!0);sn(e,{pluginKey:a,rowPath:e.componentPath(c),enabled:!0,scope:"local",componentCount:u,expandTruncated:d,contentHash:X(`${a}|local|${u}`)});continue}let s=o.name,i=[];for(let a of e.readEntries(ce(n,s))){if(!a.isDirectory())continue;let c=ce(n,s,a.name),{installPath:l,version:u}=Ty(c);i.push({pluginId:a.name,installPath:l,version:u})}for(let a of Py(i)){if(e.truncated)break;let c=`${a.pluginId}@${s}`,l=`plugin:${c}`,{componentCount:u,expandTruncated:d}=on(e,a.installPath,l,!0);sn(e,{pluginKey:c,rowPath:e.componentPath(a.installPath),enabled:!0,scope:"cache",version:a.version||void 0,marketplace:s,componentCount:u,expandTruncated:d,contentHash:X(`${c}|${a.version}|${u}`)})}}}import{existsSync as My}from"node:fs";var Ny=/(?<=^|[\s(,=:])(?:~|[A-Za-z]:)?[\\/][^\s,)]+/g,gs="<path>",wy=new RegExp(`${gs}(?:\\s+[A-Za-z.][^\\s,)]*[\\\\/][^\\s,)]*)+`,"g");function hr(e){let t=e.replace(Ny,gs).replace(wy,gs);return t.length>200?`${t.slice(0,200)}...`:t}var cf=200,uf=200,_s=16*1024,lf=6,Ly=new Set(["permissions","sandbox","enableAllProjectMcpServers","enabledMcpjsonServers","disabledMcpjsonServers","disableAllHooks","disableAutoMode","allowManagedHooksOnly","allowManagedPermissionRulesOnly","allowManagedMcpServersOnly","strictKnownMarketplaces","strictPluginOnlyCustomization","disableSideloadFlags","forceLoginMethod","forceLoginOrgUUID"]),vy=new Set(["type","additionalReadwritePaths","additionalReadonlyPaths","disableTmpWrite","enableSharedBuildCache","networkPolicy"]),Hy=new Set(["terminalAllowlist","mcpAllowlist","autoRun"]),Uy=new Set(["permissions"]),Dy={claude:Ly,cursor_sandbox:vy,cursor_permissions:Hy,cursor_cli:Uy},Fy=new Set(["allow","deny","ask"]);function Xe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sr(e){return e.replace(/\\/g,"/")}function hs(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(r=>hs(r)).join(",")}]`;let t=e;return`{${Object.keys(t).filter(r=>t[r]!==void 0).sort().map(r=>`${JSON.stringify(r)}:${hs(t[r])}`).join(",")}}`}function $y(e){return X(`${hs(e)}|settings1`)}function gf(e){let t=Sr(e);if(t.endsWith(".claude/settings.json")||t.endsWith(".claude/settings.local.json"))return"claude";if(t.endsWith(".cursor/sandbox.json"))return"cursor_sandbox";if(t.endsWith(".cursor/permissions.json"))return"cursor_permissions";if(t.endsWith(".cursor/cli-config.json")||t.endsWith(".cursor/cli.json"))return"cursor_cli"}function _f(e,t){if(e!=="claude")return{};let n=Sr(t);return n.endsWith("/.claude/remote-settings.json")?{profile:"claude",managedSource:"server"}:n.includes("/managed-settings.d/")&&n.endsWith(".json")?{profile:"claude",managedSource:"file_dropin"}:n.endsWith("/managed-settings.json")?{profile:"claude",managedSource:"file"}:{profile:"claude"}}function hf(e){let t=Sr(e).replace(/\/+$/,"");return t.length<=1?"":t}function Sf(e){return/^[A-Za-z]:/.test(e)||e.includes("\\")}function jy(e,t){let n=Sr(e);if(n==="~"||n.startsWith("~/"))return n;let r=hf(t);if(!r)return n;let o=n.slice(0,r.length);if(!(Sf(t)?o.toLowerCase()===r.toLowerCase():o===r))return n;let i=n.slice(r.length);return i===""?"~":i.startsWith("/")?`~${i}`:n}var ff=new Map;function By(e){let t=ff.get(e);if(t!==void 0)return t;let n=hf(e),r=null;if(n){let o=n.split("/").map(s=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\\\/]+");r=new RegExp(`(?<![\\w.-])${o}(?![\\w.-])`,Sf(e)?"gi":"g")}return ff.set(e,r),r}function Ky(e,t){let n=By(t);return n?e.replace(n,"~"):e}function df(e,t){return e.length<=uf?e:(t.truncated=!0,e.slice(0,uf))}function Ef(e,t){return e.length<=cf?e:(t.truncated=!0,e.slice(0,cf))}function ne(e,t,n,r){if(typeof e=="string"){if(t==="path")return df(jy(e,n),r);let o=t==="rule"?hr(e):e;return df(Ky(o,n),r)}if(typeof e=="number"||typeof e=="boolean"||e===null)return typeof e=="number"&&!Number.isFinite(e)?void 0:e;if(Array.isArray(e)){let o=Ef(e,r),s=[];for(let i of o){let a=ne(i,t,n,r);a!==void 0&&s.push(a)}return s}if(Xe(e)){let o={};for(let[s,i]of Object.entries(e)){let a=ne(i,t,n,r);a!==void 0&&(o[s]=a)}return o}}function pf(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let i="plain";Fy.has(o)?i="rule":o==="additionalDirectories"&&(i="path");let a=ne(s,i,t,n);a!==void 0&&(r[o]=a)}return r}function Gy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){if(o==="files"&&Array.isArray(s)){let a=Ef(s,n);r[o]=a.map(c=>{if(!Xe(c))return ne(c,"plain",t,n);let l={};for(let[u,d]of Object.entries(c)){let m=ne(d,u==="path"?"path":"plain",t,n);m!==void 0&&(l[u]=m)}return l});continue}let i=ne(s,"plain",t,n);i!==void 0&&(r[o]=i)}return r}function zy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let a=ne(s,o==="allowUnixSockets"?"path":"plain",t,n);a!==void 0&&(r[o]=a)}return r}function Wy(e,t,n){if(!Xe(e))return ne(e,"plain",t,n);let r={};for(let[o,s]of Object.entries(e)){let i;o==="excludedCommands"?i=ne(s,"rule",t,n):o==="filesystem"?i=ne(s,"path",t,n):o==="network"?i=zy(s,t,n):o==="credentials"?i=Gy(s,t,n):i=ne(s,"plain",t,n),i!==void 0&&(r[o]=i)}return r}function Vy(e,t,n,r,o){return n==="claude"?e==="permissions"?pf(t,r,o):e==="sandbox"?Wy(t,r,o):ne(t,"plain",r,o):n==="cursor_sandbox"?e==="additionalReadwritePaths"||e==="additionalReadonlyPaths"?ne(t,"path",r,o):ne(t,"plain",r,o):n==="cursor_permissions"?e==="terminalAllowlist"||e==="mcpAllowlist"?ne(t,"rule",r,o):ne(t,"plain",r,o):e==="permissions"?pf(t,r,o):ne(t,"plain",r,o)}function an(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function Ss(e,t){return e?`${e}.${t}`:t}function Es(e,t,n,r){if(Array.isArray(e)){for(let o=e.length-1;o>=0;o-=1){let s=e[o];s!==null&&typeof s=="object"&&(t+1>=lf?(e.splice(o,1),r.add(n)):Es(s,t+1,n,r))}return}if(!(e===null||typeof e!="object"))for(let[o,s]of Object.entries(e))s!==null&&typeof s=="object"&&(t+1>=lf?(delete e[o],r.add(Ss(n,o))):Es(s,t+1,Ss(n,o),r))}function yf(e,t,n){if(Array.isArray(e)){e.length>0&&n.push({path:t,items:e,bytes:an(e)});return}if(!(e===null||typeof e!="object"))for(let[r,o]of Object.entries(e))yf(o,Ss(t,r),n)}function Jy(e,t,n){let r=an(e);if(r<=_s)return;t.truncated=!0;let o=[];for(yf(e,"",o);r>_s;){let s;for(let c of o)c.items.length>0&&(!s||c.bytes>s.bytes)&&(s=c);if(!s)break;let i=s.items.pop(),a=an(i)+(s.items.length>0?1:0);s.bytes-=a,r-=a,n.add(s.path)}for(;an(e)>_s;){let s,i=-1;for(let[a,c]of Object.entries(e)){let l=an(c);l>i&&(s=a,i=l)}if(s===void 0)break;delete e[s],n.add(s)}}function Yy(e,t,n){let r=Dy[t],o={truncated:!1},s={},i=[];for(let c of Object.keys(e)){if(!r.has(c)){i.push(c);continue}let l=Vy(c,e[c],t,n,o);l!==void 0&&(s[c]=l)}i.sort();let a=new Set;return Es(s,1,"",a),a.size>0&&(o.truncated=!0),Jy(s,o,a),{settings:s,keys_omitted:i,truncated:o.truncated,trimmed_paths:[...a].sort()}}function mf(e,t){let n={kind:t.kind,name:"settings",path:e.componentPath(t.absPath),origin:t.origin,enabled:!0,content_hash:$y(t.attributes),attributes:t.attributes};e.push(n)}function ys(e,t,n,r){if(!e.claimFile(t)||!My(t))return;let o=Qs(t);if(!o.ok||!Xe(o.value)){if(r.profile){let l=!o.ok&&o.reason==="read"?"read_error":"parse_error",u={profile:r.profile,[l]:!0};r.managedSource&&(u.managed_source=r.managedSource),mf(e,{kind:r.kind,absPath:t,origin:n,attributes:u})}return}let s=o.value,i=s.hooks;if(Xe(i)&&ps(e,t,i,n),!r.profile)return;let a=Yy(s,r.profile,e.home),c={profile:r.profile,settings:a.settings,keys_omitted:a.keys_omitted};a.truncated&&(c.truncated=!0),a.trimmed_paths.length>0&&(c.trimmed_paths=a.trimmed_paths),r.managedSource&&(c.managed_source=r.managedSource),mf(e,{kind:r.kind,absPath:t,origin:n,attributes:c})}import{existsSync as Xy}from"node:fs";import{join as we}from"node:path";var Rf=".claude/skills/synced",Cf=".claude/plugins/synced";function Af(e){return[we(e,Rf),we(e,Cf)]}function Er(e){return typeof e=="string"&&e.length>0?e:void 0}function If(e){let t=we(e.home,Rf);for(let n of e.readEntries(t)){if(!n.isDirectory()||n.name.startsWith("."))continue;let r=we(t,n.name),o=e.readJson(we(r,"manifest.json"),{}),s=new Map((o?.skills??[]).flatMap(i=>i.name?[[i.name,i]]:[]));for(let i of e.readEntries(r)){if(e.atGlobalCap){e.truncated=!0;return}let a=we(r,i.name,"SKILL.md");if(!i.isDirectory()||!Xy(a))continue;let c=s.get(i.name),l=Er(c?.source),u=Er(c?.creatorType);Ct(e,{absolutePath:a,kind:"SKILL",origin:"user",enabled:!0,name:i.name,attributes:{scope:"synced",...l?{source:l}:{},...u?{creator_type:u}:{}}})}}}function Of(e){let t=we(e.home,Cf);for(let n of e.readEntries(t)){if(!n.isDirectory()||n.name.startsWith("."))continue;let r=we(t,n.name),o=e.readJson(we(r,"manifest.json"),{}),s=new Map((o?.plugins??[]).flatMap(i=>i.name?[[i.name,i]]:[]));for(let i of e.readEntries(r)){if(e.truncated)return;if(!i.isDirectory()||i.name.startsWith("."))continue;let a=s.get(i.name),c=Er(a?.marketplaceName),l=Er(a?.version),u=c?`${i.name}@${c}`:i.name,d=we(r,i.name),{componentCount:f,expandTruncated:m}=on(e,d,`plugin:${u}`,!0);sn(e,{pluginKey:u,rowPath:e.componentPath(d),enabled:!0,scope:"synced",version:l,marketplace:c,componentCount:f,expandTruncated:m,contentHash:X(`${u}|${l??""}|synced|${f}`)})}}}function Zy(e,t){let{layout:n,levelDir:r,origin:o,includeMachineWide:s}=t;for(let i of n.skillRoots)st(e,{dir:It(r,i),kind:"SKILL",origin:o,enabled:!0,nested:"SKILL.md",skipDirs:Af(e.home)});for(let i of n.dirs)st(e,{dir:It(r,i.dir),kind:i.kind,origin:o,enabled:!0,extensions:i.extensions});for(let i of n.memory){let a=Hl(i.map(c=>It(r,c)));a&&Ct(e,{absolutePath:a,kind:"MEMORY",origin:o,enabled:!0,name:qy(a)})}for(let i of da(n))ys(e,It(r,i),o,{kind:"SETTINGS",profile:gf(i)});for(let i of n.mcpJson??[])nf(e,It(r,i),o);for(let i of n.mcpToml??[])rf(e,It(r,i),o);if(s){if(n.managed){for(let i of Ln(n.managed,process.platform,e.home))if(i.toLowerCase().endsWith(".json")){let a=_f(n.managed,i);ys(e,i,o,{kind:"MANAGED_SETTINGS",...a})}}n.plugins==="claude"?(sf(e),Of(e),If(e)):n.plugins==="cursor"&&af(e)}}function bf(e,t){try{let n=new sr(e,{pathMode:t.pathMode,maxEntries:t.maxEntries});for(let r of t.layouts)Zy(n,{layout:r,levelDir:t.levelDir,origin:t.origin,includeMachineWide:t.includeMachineWide});return{scopeRef:t.scopeRef,anchor:t.levelDir,components:n.components,truncated:n.truncated}}catch{return}}function Rs(e,t,n={}){let r={},o=n.shouldWalk;if(o===void 0||o("user","")){let c=bf(t,{layouts:Object.values(gt),levelDir:t,origin:"user",includeMachineWide:!0,pathMode:"home-relative",maxEntries:Be,scopeRef:""});c&&(r.user=c)}let s=n.inGitRepo===!0,i=null,a=n.launchCwd;if(a!==void 0){let c=Object.values(Ge),l=Fo({launchCwd:a,gitRoot:n.gitRoot,inGitRepo:s,remote:n.remote,home:t,hasProjectSpec:u=>ma(c,u)});i=l.parentRel;for(let u of l.anchors){let d=xo(u.dir);if(o!==void 0&&!o(u.scope,d))continue;let f=bf(t,{layouts:c,levelDir:u.dir,origin:u.scope,includeMachineWide:!1,pathMode:"tilde",maxEntries:$o,scopeRef:d});f&&(r[u.scope]=f)}r.parent||(i=null)}return{scopes:r,parentRel:i,cwdInGitRepo:s}}function Cs(e,t,n={}){let r=n.truncated===!0,o=Jt(e),s=new Set(e.map(u=>_e(u.path,u.name)));if(n.forceFull===!0||t===void 0)return{hash:o,count:e.length,truncated:r,full:!0,upserts:e,removed:[],unchanged:!1};let a=[],c=t;for(let u of e){let d=_e(u.path,u.name);c[d]!==u.content_hash&&a.push(u)}let l=[];if(!r){for(let u of Object.keys(c))if(!s.has(u)){let d=iu(u);d&&l.push(d)}}return{hash:o,count:e.length,truncated:r,full:!1,upserts:a,removed:l,unchanged:a.length===0&&l.length===0}}var Tf=2*1024*1024,Qy=new Set(["HOOK","MCP_SERVER","PLUGIN","SETTINGS","MANAGED_SETTINGS"]);function As(e,t,n){let r=new Set(t.map(s=>_e(s.path,s.name))),o=[];for(let s of e)s.text!==void 0&&(n.has(s.content_hash)||r.has(_e(s.path,s.name))||o.push(s));return o}function Is(e,t,n){let r=new Set(e);for(let s of t)r.add(s);let o=new Set(n.map(s=>s.content_hash));return[...r].filter(s=>o.has(s))}function xf(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function kf(e){if(e.text===void 0)return e;let{text:t,...n}=e;return n}function Os(e,t=Tf){let n=[],r=[];for(let u of e)Qy.has(u.kind)?n.push(u):r.push(u);r.sort((u,d)=>(u.text?.length??0)-(d.text?.length??0));let o=[...n,...r],s=[],i=2,a=0,c=0,l=[];for(let u of o){let d=s.length>0?1:0,f=xf(u)+d;if(i+f<=t){s.push(u),i+=f,u.text!==void 0&&l.push(u.content_hash);continue}if(u.text!==void 0){let m=kf(u),g=xf(m)+d;if(i+g<=t){s.push(m),i+=g,a+=1;continue}}c+=1}return{components:s,textDeferredCount:a,droppedCount:c,textHashesSent:l}}function bs(e,t){return t.size===0?e:e.map(n=>n.text===void 0||!t.has(n.content_hash)?n:kf(n))}var eR=["user","cwd","repo","parent"];function xs(e){let{collected:t,cacheFor:n,nowMs:r,maxBytes:o}=e,s=[];for(let M of eR){let k=t.scopes[M];if(!k)continue;let K=n(M,k.scopeRef),D=K.components,O=Cs(k.components,D,{forceFull:D===void 0,truncated:k.truncated}),N=new Set(K.textHashes),H=As(k.components,O.upserts,N),p=bs([...O.upserts,...H],N);s.push({scope:M,walk:k,delta:O,outgoing:p,outgoingKeys:new Set(p.map(I=>_e(I.path,I.name))),deliveredTextHashes:N,cachedComponents:D})}let i=s.flatMap(M=>M.outgoing),a=Os(i,o),c=new Set(a.components.map(M=>_e(M.path,M.name))),l=[],u=[],d=[],f=[],m=[],g=[],S=[];for(let M of s){let{scope:k,walk:K,delta:D}=M;g.push(...K.components),l.push(k);let O=a.components.filter(I=>M.outgoingKeys.has(_e(I.path,I.name))),N=[...M.outgoingKeys].some(I=>!c.has(I)),H=D.truncated||N;H?d.push(k):D.full&&u.push(k),f.push(...O),!D.full&&!H&&m.push(...D.removed);let p=D.full?{}:{...M.cachedComponents??{}};if(!H)for(let I of D.removed)delete p[_e(I.path,I.name)];for(let I of O)p[_e(I.path,I.name)]=I.content_hash;S.push({scope:k,scopeRef:K.scopeRef,components:p,textHashes:Is(M.deliveredTextHashes,O.filter(I=>I.text!==void 0).map(I=>I.content_hash),K.components),collectedAtMs:r,included:O.length>0||D.removed.length>0&&!H||D.full})}let C={user_spec_hash:Jt(g),user_spec_count:g.length,user_spec_truncated:d.length>0};l.length>0&&(C.user_spec_scopes=l,C.user_spec_full_scopes=u,C.user_spec_truncated_scopes=d,C.user_spec_cwd_in_git_repo=t.cwdInGitRepo),u.length>0&&u.length===l.length&&(C.user_spec_full=!0),f.length>0&&(C.user_spec=f),m.length>0&&(C.user_spec_removed=m),a.textDeferredCount>0&&(C.user_spec_text_deferred=a.textDeferredCount);let A=t.scopes.cwd;A&&(C.user_spec_cwd_scope_ref=A.scopeRef);let T=t.scopes.repo;T&&(C.user_spec_repo_scope_ref=T.scopeRef);let x=t.scopes.parent;return x&&(C.user_spec_parent_scope_ref=x.scopeRef,t.parentRel&&(C.user_spec_parent_rel=t.parentRel)),{fields:C,scopes:S}}var yr={cwd:"cwd_spec",repo:"repo_spec",parent:"parent_spec"};function Ts(e){return e==="cwd"||e==="repo"||e==="parent"}function cn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ks(e){return!cn(e)||!cn(e.components)||!Object.values(e.components).every(t=>typeof t=="string")||!Array.isArray(e.text_hashes)||!e.text_hashes.every(t=>typeof t=="string")?!1:typeof e.collected_at_ms=="number"&&Number.isFinite(e.collected_at_ms)}function Pf(e){return tR(e)}function Nf(e){return nR(e)}function wf(e){return rR(e)}function tR(e){if(!cn(e))return;let t={};for(let[n,r]of Object.entries(e))typeof r=="string"&&(t[n]=r);return t}function nR(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Mf(e,t){if(!cn(e))return;let n=e[t];return ks(n)?n:void 0}function rR(e){if(!cn(e))return{};let t={};for(let[n,r]of Object.entries(e))ks(r)&&(t[n]=r);return t}function Ps(e,t=20){let n=[];for(let[r,o]of Object.entries(e))ks(o)&&n.push([r,o]);return n.sort((r,o)=>o[1].collected_at_ms-r[1].collected_at_ms),Object.fromEntries(n.slice(0,t))}var cR=["allow","deny","ask"];function Cr(e){let t=te(e,{}),n=[];for(let r of cR)for(let o of t.permissions?.[r]??[])typeof o=="string"&&o.length>0&&n.push({key:hr(o),mode:r});return{model:t.model??"",permissionKeys:n}}function uR(e){let{serverManaged:t,fileBased:n}=Qr(process.platform,e),r=Cr(t);if(r.model||r.permissionKeys.length>0)return r;let o="",s=[];for(let i of n){let a=Cr(i);a.model&&(o=a.model),s.push(...a.permissionKeys)}return{model:o,permissionKeys:s}}function lR(e){let t=new Set,n=[];for(let r of e){let o=`${r.mode}\0${r.key}`;t.has(o)||(t.add(o),n.push(r))}return n}var fR=10,dR="self-config-cache.json",vf=4;function bt(){return L("EV_AI_HOOK_USER_SPEC")?.toLowerCase()==="off"}function pR(){return L("EV_AI_HOOK_CWD_SPEC")?.toLowerCase()==="off"}var mR={claude:["claude"],cursor:["agent","cursor-agent"],codex:["codex"]};async function gR(e,t=ee){let n=mR[e];if(!n||n.length===0)return null;let r=async o=>{let s=n[o];if(s===void 0)return null;let a=((await t(s,["--version"],2e3)).split(`
|
|
42
|
+
`)[0]??"").trim();return a||r(o+1)};return r(0)}function _R(e=Lf()){return Ot(e,".ev-ai","agent-hook",dR)}function hR(e){let n=[...e].sort((r,o)=>r.name.localeCompare(o.name)).map(r=>`${r.name}:${r.size}`).join(`
|
|
43
|
+
`);return X(n)}function Rr(e,t,n=!1){let r=hR(e),o=e.length;return t===r?n?{hash:r,count:o,truncated:n}:{hash:r,count:o}:n?{hash:r,count:o,entries:e,truncated:n}:{hash:r,count:o,entries:e}}function Ns(e,t,n=[]){let r=0,o=!1,s=new Set;for(let i of[...t.map(a=>Ot(e,a)),...n]){let a=aR(i);if(s.has(a))continue;s.add(a);let c=Lr(i);c.present&&(o=!0,r+=c.size)}return o?{present:!0,size:r}:{present:!1,size:0}}function SR(e){return sR(e)?me(iR(e,"utf8"),{}):{}}function ER(e,t){try{pe(e,`${JSON.stringify(t)}
|
|
44
|
+
`)}catch(n){let r=n instanceof Error?n.message:String(n);b(`WARN: self-config cache write failed open: ${r}`)}}function yR(e,t,n){if(t==="user")return{components:Pf(e.user_spec_components),textHashes:Nf(e.user_spec_text_hashes)};if(!Ts(t))return{components:void 0,textHashes:[]};let r=Mf(e[yr[t]],n);return r?{components:r.components,textHashes:r.text_hashes}:{components:void 0,textHashes:[]}}function RR(e,t,n,r){let o={...e,send_count:n};for(let s of Object.keys(t)){let i=t[s];i.entries!==void 0&&(o[s]=i.hash)}if(r){o.user_spec_layout_version=vf,r.home&&(o.user_spec_collected_at_ms=r.home.collectedAtMs,r.home.included&&(o.user_spec=r.hash,o.user_spec_components=r.home.components),o.user_spec_text_hashes=r.home.textHashes);for(let s of r.project){if(!Ts(s.scope))continue;let i=yr[s.scope],a=wf(o[i]),c=a[s.scopeRef];a[s.scopeRef]={components:s.included?s.components:c?.components??{},text_hashes:s.textHashes,collected_at_ms:s.collectedAtMs},o[i]=Ps(a)}}return o}async function Hf(e,t=process.cwd(),n=Lf(),r={}){let o=e==="claude",s=r.gitRoot??t,i=await gR(e),a="",c=[];if(o){let H=uR(n),p=Cr(Ot(n,".claude/settings.json")),I=Cr(Ot(t,".claude/settings.local.json"));a=H.model||I.model||p.model,c=lR([...H.permissionKeys,...p.permissionKeys,...I.permissionKeys]).slice(0,200)}let l={present:!1,size:0},u=H=>{let p=[],I=!1;for(let U of H){let ue=ei(Ot(n,U));if(p=p.concat(ue.entries),I=I||ue.truncated,p.length>=Be){p=p.slice(0,Be),I=!0;break}}return{entries:p,truncated:I}},d=_R(n),f=SR(d),m=f[e]??{},g=(m.send_count??0)+1,S=g>0&&g%fR===0,C=H=>S?void 0:m[H],A=u(We.skills),T=u(We.subagents),x=u(We.commands),M=u(We.rules),k={skills:Rr(A.entries,C("skills"),A.truncated),subagents:Rr(T.entries,C("subagents"),T.truncated),commands:Rr(x.entries,C("commands"),x.truncated),rules:Rr(M.entries,C("rules"),M.truncated)},K={runner_platform:e,config_scope:"user",cli_version:i,claude_version:o?i:null,model:o&&a||null,permission_keys:c,user_scope:{skills:k.skills,subagents:k.subagents,commands:k.commands,rules:k.rules,memory:Ns(n,We.memory),settings:Ns(n,We.settings,ga(n)),mcp:Ns(n,We.mcp)},local_settings:o?Lr(Ot(t,".claude/settings.local.json")):l},D=null,O=r.nowMs??Date.now();if(!bt()){let H=m.user_spec_layout_version!==vf,p=Rs(e,n,{launchCwd:pR()?void 0:r.launchCwd,gitRoot:s,inGitRepo:r.inGitRepo,remote:r.remote});if(Object.keys(p.scopes).length>0){let I=xs({collected:p,cacheFor:(U,ue)=>H?{components:void 0,textHashes:[]}:yR(m,U,ue),nowMs:O});Object.assign(K,I.fields),D={hash:I.fields.user_spec_hash,home:I.scopes.find(U=>U.scope==="user")??null,project:I.scopes.filter(U=>U.scope!=="user")}}}let N=RR(m,k,g,D);return{config:K,commit:()=>{f[e]=N,ER(d,f)}}}import{homedir as FR}from"node:os";import{join as Ff}from"node:path";function at(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}import{join as Ar}from"node:path";function CR(e){return Ar(e,".ev-ai","agent-hook","js","signed-v1")}function AR(e){return Ar(CR(e),"scopes")}function Uf(e,t){return Ar(AR(e),t)}function Df(e){return Ar(e,"attempts")}function ws(e){return String(e).padStart(10,"0")}var IR=/^(\d{10})$/,OR=/^(\d{10})\.done$/,bR=/^[0-9a-f]{128}$/,xR=64;async function Kf(e,t,n=!1){let r=Df(t),o=await _i(e,r),s=new Map,i=new Map,a=$f(o,IR),c=$f(o,OR),l=async f=>{let m=await Bf(e,Ff(r,TR(f)));return m&&s.set(f,{record:PR(m.value),mtimeMs:m.mtimeMs}),m!==void 0},u=async f=>{let m=NR((await Bf(e,Ff(r,kR(f))))?.value);return m&&i.set(f,m),m!==void 0};if(!n)return await Promise.all([...a.map(l),...c.map(u)]),{claims:s,dones:i};await Promise.all([jf(a,l),jf(c,u)]);let d=un(s);return d<un(i)&&c.includes(d)&&await u(d),{claims:s,dones:i}}function $f(e,t){return e.flatMap(n=>{let r=t.exec(n);return r?[Number(r[1])]:[]})}async function jf(e,t){for(let n of[...e].sort((r,o)=>o-r))if(await t(n))return}function un(e){let t=0;for(let n of e.keys())n>t&&(t=n);return t}function Gf(e){if(e.record!=="empty"&&e.record.started_at){let t=Date.parse(e.record.started_at);if(Number.isFinite(t))return t}return e.mtimeMs}function TR(e){return ws(e)}function kR(e){return`${ws(e)}.done`}async function Bf(e,t){let n;try{n=await e.stat(t)}catch(o){if(ft(o))return;throw o}let r=n.mtimeMs;if(n.size===0||n.size>Ur)return{mtimeMs:r};try{let o=await e.readFile(t);return o.byteLength===0||o.byteLength>Ur?{mtimeMs:r}:{mtimeMs:r,value:JSON.parse(o.toString("utf8"))}}catch{return{mtimeMs:r}}}function PR(e){if(!at(e))return"empty";let t={};return typeof e.started_at=="string"&&(t.started_at=e.started_at),(e.owner==="bootstrap"||e.owner==="refresh")&&(t.owner=e.owner),e.resync===!0&&(t.resync=!0),t}function NR(e){if(!at(e))return;let t=e;if(typeof t.finished_at!="string"||typeof t.outcome!="string"||typeof t.interval_s!="number"||!Number.isFinite(t.interval_s))return;let n=wR(t.selection);if(n)return{finished_at:t.finished_at,interval_s:t.interval_s,outcome:t.outcome,selection:n}}function wR(e){if(!at(e))return;let t=e;if(t.kind==="bundled")return t.why==="server"||t.why==="bootstrap_failed"?{kind:"bundled",why:t.why}:void 0;if(t.kind==="cached"&&typeof t.digest=="string"&&bR.test(t.digest)&&typeof t.version=="string"&&t.version.length>0&&typeof t.sha512=="string"&&MR(t.sha512)===t.digest)return{kind:"cached",digest:t.digest,version:t.version,sha512:t.sha512}}function MR(e){if(e.length===0||!/^[A-Za-z0-9+/]+=*$/.test(e))return;let t=Buffer.from(e,"base64");if(!(t.byteLength!==xR||t.toString("base64")!==e))return t.toString("hex")}function UR(e){return e==="bootstrap"?3e3:6e4}function DR(e,t){let n=un(e.claims);if(n===0)return;let r=un(e.dones),o=e.claims.get(n),s=e.dones.get(n);if(o&&!s){let a=Gf(o),c=o.record==="empty"?void 0:o.record.owner,l=UR(c)+3e4;if(t-a>l)return{n,latest_claim:n,outcome:"incomplete",finished_at:null,selection_version:zf(e.dones.get(r)?.selection)}}if(r===0)return;let i=e.dones.get(r);if(i)return{n:r,latest_claim:n,outcome:i.outcome,finished_at:i.finished_at,selection_version:zf(i.selection)}}async function Wf(e,t,n){try{let r=await Kf(hi(),Uf(e,t),!0);return DR(r,n)}catch{return}}function zf(e){return e?.kind==="cached"&&typeof e.version=="string"?e.version:null}function $R(e=process.env){if(Object.values(ji).some(n=>e[n]))return"plugin";let t=e.npm_lifecycle_script?.trim().split(/\s+/)[0]?.replace(/^["']|["']$/g,"");return e.npm_lifecycle_event==="npx"&&t===pt?"npx":null}async function Vf(e=FR()){let t=Co()?.launcherScope;if(!t)return{};let n=await Wf(e,t,Date.now());return n?{launcher_scope:t,launcher_attempt:n}:{launcher_scope:t}}function xt(e,t,n){let r={installation_id:n.installationId};n.platformAgentId&&(r.platform_agent_id=n.platformAgentId),n.sessionId&&(r.session_id=n.sessionId),n.turnId&&(r.turn_id=n.turnId);let o={schema_version:Pn,event:e,timestamp:gn(),session_id:n.sessionId||null,turn_id:n.turnId||null,installation_id:n.installationId,platform:n.runnerPlatform,platform_agent_id:n.platformAgentId||null,runner_event:n.runnerEvent||null,agent_hook_version:Jr,hook_delivery:$R(),host_arch:process.arch,node_version:process.version,policy_version:null,policy_capabilities:[],...n.promptCaptureSource!==void 0?{prompt_capture_source:n.promptCaptureSource}:{},correlation:r,payload:t},s=Co();return s&&(o.launcher_version=s.launcherVersion,o.hook_source=s.hookSource,o.hook_fallback_reason=s.fallbackReason??null,o.launcher_scope_match=wc(n.collectorUrl,s.launcherScope)),e==="session_start"&&(n.launcher_scope&&(o.launcher_scope=n.launcher_scope),n.launcher_attempt&&(o.launcher_attempt=n.launcher_attempt)),o}import{existsSync as qf}from"node:fs";import{spawn as Zf}from"node:child_process";import{fileURLToPath as QR}from"node:url";import{gzipSync as jR}from"node:zlib";function Ms(e){return L("EV_AI_HOOK_COMPRESS")==="off"?{body:e}:Buffer.byteLength(e,"utf8")<$i?{body:e}:{body:jR(Buffer.from(e,"utf8")),contentEncoding:"gzip"}}function Ir(e){let t={"Content-Type":"application/json"};return e!==void 0&&(t["Content-Encoding"]=e),t}function Ls(e){return typeof e=="string"?Buffer.byteLength(e,"utf8"):e.length}import{readFileSync as BR,statSync as KR}from"node:fs";import{homedir as vs}from"node:os";import{join as GR}from"node:path";var zR="hook-config.json",WR=10080*60*1e3,VR=1440*60*1e3,JR=2048,YR=1024*1024;function Tt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Jf(e=vs()){return GR(Ee(e),zR)}function Yf(e){let t=Jf(e);try{let n=KR(t);if(!n.isFile()||n.size>YR)return;let r=JSON.parse(BR(t,"utf8"));return Tt(r)?r:void 0}catch(n){return(n instanceof Error&&"code"in n?n.code:void 0)==="ENOENT"?null:void 0}}function XR(e){let t={};return typeof e.collect_prompt=="boolean"&&(t.collect_prompt=e.collect_prompt),t}function Or(e,t=vs(),n=Date.now()){if(!e)return;let r=Ut(e);if(!r)return;let o=Yf(t),s=o?o[r]:void 0;if(!Tt(s)||!Tt(s.config))return;let i=s.fetched_at_ms;if(!(typeof i!="number"||n-i>WR))return XR(s.config)}function qR(e){let t=e.trim();if(t==="")return;let n;try{n=JSON.parse(t)}catch{return}if(!(!Tt(n)||!Tt(n.hook_config))&&!(Buffer.byteLength(JSON.stringify(n.hook_config),"utf8")>JR))return n.hook_config}function ZR(e,t,n,r){let o={...e},s=o[t];if(Object.keys(n).length===0)return s===void 0?void 0:(delete o[t],o);if(!(Tt(s)&&JSON.stringify(s.config)===JSON.stringify(n)&&typeof s.fetched_at_ms=="number"&&s.fetched_at_ms<=r&&r-s.fetched_at_ms<VR))return o[t]={config:n,fetched_at_ms:r},o}function Xf(e,t,n=vs(),r=Date.now()){let o=qR(e),s=t?Ut(t):void 0;if(o===void 0||!s)return"skipped";try{let i=Yf(n);if(i===void 0)return"skipped";let a=ZR(i??{},s,o,r);return a?(pe(Jf(n),`${JSON.stringify(a,null,2)}
|
|
45
|
+
`),Object.keys(o).length===0?"cleared":"written"):"unchanged"}catch(i){let a=i instanceof Error?i.message:String(i);return b(`WARN: hook config write failed open: ${a}`),"failed"}}var Hs="__post",br="__work";async function eC(e,t,n={}){if(bt())return e;let r=await ko(n.gitRoot??process.cwd(),ee,process.env,{runnerPlatform:t,home:n.home}),o=at(e.self_config)?e.self_config:{};return{...e,self_config:{...o,runner_platform:typeof o.runner_platform=="string"?o.runner_platform:t,operator:r}}}function tC(e,t){let n=at(e.payload)?Object.keys(e.payload):[],r=e.correlation&&typeof e.correlation=="object"?Object.keys(e.correlation):[];return JSON.stringify({event:e.event,schema_version:e.schema_version,agent_hook_version:e.agent_hook_version,host_arch:e.host_arch,node_version:e.node_version,build_ms:e.build_ms,body_bytes:t,correlation_keys:r,payload_keys:n})}function Qf(e){switch(e){case"session_start":return Hi;case"session_end":return Ui;case"tool_invoked":case"skill_invoked":return Wr;default:return Wr}}function nC(e,t,n){return`${JSON.stringify({url:e,timeoutMs:t})}
|
|
46
|
+
${n}`}function ed(e,t=[],n=process.execPath,r=import.meta.url,o=qf){if(vi(n))return{command:n,args:[e,...t]};let s=QR(r);return o(s)?{command:n,args:[s,e,...t]}:{command:n,args:[e,...t]}}function rC(e=process.execPath,t=import.meta.url,n=qf){return ed(Hs,[],e,t,n)}function oC(e){let t=e.indexOf(`
|
|
47
|
+
`);if(t<0)return null;let n;try{n=JSON.parse(e.slice(0,t))}catch{return null}return{meta:n,body:e.slice(t+1)}}async function td(e,t){if(!(!e.ok||typeof e.text!="function"))try{let n=await e.text();Xf(n,t)}catch{}}async function nd(e,t=fetch){let n=await e(),r=oC(n);if(!r)return;let{meta:o,body:s}=r,i=Ms(s),a=Ir(i.contentEncoding);try{let c=await t(o.url,{method:"POST",headers:a,body:i.body,signal:AbortSignal.timeout(Number(o.timeoutMs))});await td(c,o.url)}catch{}}async function sC(e,t,n,r=fetch){let o=Qf(e),s=Ms(t),i=Ir(s.contentEncoding),a=Ls(s.body);b(`POST event=${e} url=${kn(n)} size=${a} encoding=${s.contentEncoding??"identity"} platform=${process.platform}`);let c=Date.now();try{let l=await r(n,{method:"POST",headers:i,body:s.body,signal:AbortSignal.timeout(o)});if(!l.ok&&s.contentEncoding==="gzip"&&(l.status===400||l.status===415)){try{await l.text()}catch{}b(`POST gzip rejected http=${l.status} \u2014 retrying uncompressed`),l=await r(n,{method:"POST",headers:Ir(),body:t,signal:AbortSignal.timeout(o)})}let u=Date.now()-c;if(l.ok)return b(`POST outcome=ok elapsed_ms=${u} http=${l.status}`),await td(l,n),!0;let d=(await l.text()).slice(0,200).replace(/[\n\r]/g,"");return b(`POST outcome=fail elapsed_ms=${u} http=${l.status} body=${d}`),!1}catch(l){let u=Date.now()-c,d=l instanceof Error?l.message:String(l);return b(`POST outcome=fail elapsed_ms=${u} http=000 body=${d}`),!1}}async function rd(e,t,n,r,o){try{let s=r(e,t,{detached:!0,stdio:["pipe","ignore","ignore"],windowsHide:!0});s.on("error",()=>{}),s.stdin.on("error",()=>{});let i=!1;return await new Promise(a=>{let c=setTimeout(()=>{if(!i){b(`WARN: ${o} stdin handoff timed out \u2014 continuing fail-open`);try{s.stdin.destroy()}catch{}}a()},Di),l=()=>{i=!0,clearTimeout(c),a()};s.stdin.end(n,()=>l()),s.stdin.once("error",()=>l())}),s.unref(),s}catch(s){let i=s instanceof Error?s.message:String(s);return b(`WARN: ${o} spawn failed open: ${i}`),null}}async function iC(e,t,n,r=Zf,o=rC){let s=Qf(e),i=nC(n,s,t),{command:a,args:c}=o();return rd(a,c,i,r,"detached post")}async function od(e,t,n=Zf,r=ed){let{command:o,args:s}=r(br,t);return rd(o,s,e,n,"detached work")}async function kt(e,t,n,r,o,s,i){if(!o)return b("WARN: collector URL missing \u2014 pass --url on the hook command or set collector_url in manifest"),!1;if(!xn(o))return b(`WARN: collector URL blocked (https required): ${kn(o)}`),!1;let a=await eC(t,n.runnerPlatform,i),c=r(e,a,{...n,collectorUrl:o});s!==void 0&&(c.build_ms=Math.max(0,Date.now()-s));let l=JSON.stringify(c),u=`${l}
|
|
48
|
+
`,d=L("EV_AI_HOOK_DEBUG");d==="full"?b(`DEBUG envelope=${l}`):d==="1"&&b(`DEBUG summary=${tC(c,Ls(u))}`);let f=process.argv.includes(br),m=L("EV_AI_HOOK_SYNC")==="1";return zn(n.runnerEvent,n.runnerPlatform)||f||m?sC(e,u,o):(await iC(e,u,o),!1)}import{createReadStream as aC}from"node:fs";import{stat as cC}from"node:fs/promises";import{basename as uC,resolve as lC}from"node:path";import{createInterface as fC}from"node:readline";var dC=1024*1024;function pC(e){let t=e.replace(/\\/g,"/");return t.includes("/.claude/projects/")&&uC(t).endsWith(".jsonl")}async function sd(e){if(!e||!pC(e))return null;try{let t=lC(e),n=await cC(t);if(!n.isFile())return null;let r=Math.max(0,n.size-dC),o=[],s=fC({input:aC(t,{encoding:"utf8",start:r}),crlfDelay:1/0});for await(let i of s)i.length!==0&&o.push(i);r>0&&o.length>0&&o.shift();for(let i=o.length-1;i>=0;i--){let a=o[i];if(a)try{let c=JSON.parse(a);if(c.type!=="assistant")continue;let l=c.message;if(!l||typeof l!="object")continue;let u=l.model;if(typeof u=="string"&&u.length>0)return u}catch{continue}}return null}catch{return null}}function xr(e){return{sessionId:e.sessionId,turnId:e.turnId,installationId:e.manifest.installationId,runnerPlatform:e.runnerPlatform,platformAgentId:e.platformAgentId,runnerEvent:e.runnerEvent,promptCaptureSource:tr(e.manifest.manifest,e.manifest.hookConfig)}}function fn(e,t){return{gitRoot:e.manifest.gitRoot,...t?{home:t}:{}}}function Ds(e){return{gitRoot:e.manifest.gitRoot,inGitRepo:e.manifest.inGitRepo,runnerEvent:e.runnerEvent,promptCapture:Ho(e.manifest.hookConfig)}}async function cd(e){let t=Date.now();await OC(e);let{gitRoot:n}=e.manifest;await $s(e,n);let r=Ds(e);return{buildStartedAtMs:t,gitRoot:n,hookInput:rr(e.hookInput,e.manifest.manifest,r),envelopeFields:xr(e),launchCwd:Uo(e.hookInput,r),home:gC()}}function id(e){try{return ge(mC(e))}catch{return null}}function ud(e){return e.startsWith("/")||/^[A-Za-z]:\//.test(e)}function ad(e,t){let n=e.replaceAll("\\","/");if(!ud(n))return null;let r=ge(e),o=ge(t),s=id(e)??r,i=id(t)??o;return s.startsWith(`${i}/`)?s.slice(i.length+1):r.startsWith(`${o}/`)?r.slice(o.length+1):null}function ld(e,t,n){if(!e)return{repositorySourcePath:null,userSourcePath:null};let r=e.replaceAll("\\","/"),s=ad(e,t)??(ud(r)?null:r),i=ad(e,n);return{repositorySourcePath:s,userSourcePath:i}}function Us(e,t,n,r,o){return fd(e,ld(n,t.gitRoot,t.home),r,o)}function fd(e,{repositorySourcePath:t,userSourcePath:n},r,o){let s=t??n,i=s===null?null:o(s),a=i!==null&&s!==null?_C({installableKind:r,sourcePath:s,nativeKey:i,inRepository:t!==null,platformAgentId:e.platformAgentId,installationId:e.manifest.installationId}):void 0;return{sourcePath:s,nativeKey:i,componentReference:a}}function _C(e){try{let t=e.inRepository?EC(e.platformAgentId,e.sourcePath):(0,B.installationRootExternalKey)(e.installationId,(0,B.userConfigRootFromPath)(e.sourcePath));return t?(0,B.buildComponentReference)({installationRootExternalKey:t,installableKind:e.installableKind,sourcePath:e.sourcePath,nativeKey:e.nativeKey}):void 0}catch{return}}function dd(e){let t=e.policyFindings;return t===void 0||t.length===0?{}:{policy_findings:t,...e.policyJudgeSpawnMs!==void 0?{policy_judge_spawn_ms:e.policyJudgeSpawnMs}:{}}}function Fs(e,t,n){return kt("tool_invoked",{...n,...dd(e),success:null,duration_ms:null,hook_input:t.hookInput},t.envelopeFields,xt,e.manifest.collectorUrl,t.buildStartedAtMs,fn(e,t.home))}function hC(e){return oc(e.runnerEvent,e.runnerPlatform)?[]:Ca(e.hookInput)}function SC(e,t){return Fs(e,t,{})}var pd=new Set([...Object.values(tt),".github"]);function EC(e,t){let n=e.indexOf(":");if(n<=0)return null;let r=e.slice(0,n),o=t.replaceAll("\\","/").split("/").filter(Boolean),s=o.findIndex(i=>pd.has(i));return s<0?null:`${r}:${o.slice(0,s+1).join("/")}`}var md=".codex/config.toml",yC=new Map([["claude_json_user",".claude.json"],["cursor_mcp_user",".cursor/mcp.json"],["codex_toml_user",md]]);function RC(e,t,n,r,o,s,i){if(e===null||t===null||!(i!==null||/^mcp__.+?__.+$/i.test(e)||/^MCP:[^:]+:.+$/i.test(e)||/^MCP:.+__.+$/i.test(e)||e.toLowerCase()===`mcp:${t.toLowerCase()}`))return;let c=s.find(S=>S.name.toLowerCase()===t.toLowerCase()),l=c?yC.get(c.source):o==="codex"?md:void 0,u=c?.sourcePath??l;if((c?.scope==="user"||l!==void 0)&&u)try{let S=(0,B.userConfigRootFromPath)(u);return(0,B.buildComponentReference)({installationRootExternalKey:(0,B.installationRootExternalKey)(r,S),installableKind:B.ComponentKind.INTERFACE,sourcePath:u,nativeKey:c?.name??t})}catch{return}if(n===null)return;let f=n.indexOf(":");if(f<=0||f===n.length-1)return;let m=n.slice(f+1),g=m.replaceAll("\\","/").split("/").at(-1);if(!(g===void 0||!pd.has(g)))try{return(0,B.buildComponentReference)({installationRootExternalKey:n,installableKind:B.ComponentKind.INTERFACE,sourcePath:m,nativeKey:t})}catch{return}}function CC(...e){for(let t of e)if(t)return t;return null}function ut(e,t,n){if(e.status==="fulfilled")return e.value;let r=e.reason instanceof Error?e.reason.message:String(e.reason);return b(`WARN: ${n} failed open: ${r}`),t}function AC(e){let t={present:!1,size:0},n={hash:"",count:0};return{config:{runner_platform:e,config_scope:"user",cli_version:null,claude_version:null,model:null,permission_keys:[],user_scope:{skills:n,subagents:n,commands:n,rules:n,memory:t,settings:t,mcp:t},local_settings:t},commit:()=>{}}}function IC(e,t){return{runner_platform:e,config_scope:"user",...t?{operator:t}:{}}}var ct=new Set,ln=null;async function OC(e){if(bt())return;let t=e.manifest.installationId,n=e.manifest.installationStorePath;if(ct.has(t))return;if(!No(n)){ct.add(t);return}let r=wt({sessionId:e.sessionId,hostname:Sn()});if(cu(r)){if(ln){await ln;return}ln=(async()=>{if(ct.has(t)||!No(n)){ct.add(t);return}if(!ra(n)){ct.add(t);return}let o=!1;try{let s=Date.now(),{gitRoot:i}=e.manifest,a=String(e.runnerPlatform),{operatorResolved:c,fields:l}=await gd(e,r,Kn(i),Po({gitRoot:i,installationStorePath:n,forceResend:!1,runnerPlatform:a})),u={...l,self_config:IC(a,c.operator),run_meta:{trigger:"cloud_identity_bootstrap"}};o=!!await kt("session_start",u,xr(e),xt,e.manifest.collectorUrl,s,fn(e)),o&&(c.commit(),ct.add(t))}finally{oa(n)}})().finally(()=>{ln=null}),await ln}}async function $s(e,t,n){try{e.platformAgentId=await Va(e.manifest.manifest,e.platformAgentId,String(e.runnerPlatform),t,n,e.manifest.installationStorePath,e.manifest.repoKey)}catch(r){let o=r instanceof Error?r.message:String(r);b(`WARN: derivePlatformAgentId failed open: ${o}`)}}async function gd(e,t,n,r){let[o,s,i,a,c]=await Promise.allSettled([n,oi(),Lc(t),ii(),r]),l=ut(o,null,"gitSnapshot"),u=ut(s,"","detectVirt"),d=ut(i,null,"probeCloud"),f=ut(a,{},"hostEnv"),m=ut(c,{commit:()=>{}},"resolveOperatorForSend");return await $s(e,e.manifest.gitRoot,l),{operatorResolved:m,fields:{identity:{host:Sn(),context:t,virt:u||null,cloud:d,git:l},host_env:f,env_vars:jc()}}}async function bC(e){let t=Date.now(),{gitRoot:n}=e.manifest,r=wt({sessionId:e.sessionId,hostname:Sn()}),o=String(e.runnerPlatform),s=Ds(e),i=Uo(e.hookInput,s),a=Kn(n),c=Vf().catch(()=>({})),l=bt()?Promise.resolve({commit:()=>{}}):Po({gitRoot:n,installationStorePath:e.manifest.installationStorePath,forceResend:!1,runnerPlatform:o}),u=gd(e,r,a,l),[d,f]=await Promise.allSettled([Io(e.manifest.manifest,n,o),a.catch(()=>null).then(K=>Hf(o,n,void 0,{installationStorePath:e.manifest.installationStorePath,gitRoot:n,launchCwd:i,inGitRepo:e.manifest.inGitRepo,remote:K?.remote??null}))]),{operatorResolved:m,fields:g}=await u,S=ut(d,[],"mcpDeclared"),C=ut(f,AC(o),"selfConfig"),A=C.config,T=v(e.hookInput,"model");T&&(A.model=T);let x={...g,mcp:{declared:S},self_config:A,run_meta:{trigger:e.hookSource||"startup"},hook_input:rr(e.hookInput,e.manifest.manifest,{...s,launchCwd:i})},M=await c;await kt("session_start",x,{...xr(e),...M},xt,e.manifest.collectorUrl,t,fn(e))&&(C.commit(),m.commit(),ct.add(e.manifest.installationId))}async function xC(e){let t=Date.now(),[,n]=await Promise.all([$s(e,e.manifest.gitRoot),e.runnerPlatform==="claude"?sd(v(e.hookInput,"transcript_path")):null]),r=e.runnerEvent.toLowerCase(),o=CC(v(e.hookInput,"status"),v(e.hookInput,"stop_reason"),v(e.hookInput,"reason"),Gt(v(e.hookInput,"error")),r==="stop"?Me(e.hookInput,"is_interrupt")===!0?"interrupted":"completed":""),s=rr(e.hookInput,e.manifest.manifest,Ds(e));n&&(s.model=n),r!=="stopfailure"&&tr(e.manifest.manifest,e.manifest.hookConfig)!=="off"&&s.last_assistant_message===void 0&&(s.last_assistant_message=""),await kt("session_end",{status:o,...n?{model:n}:{},hook_input:s},xr(e),xt,e.manifest.collectorUrl,t,fn(e))}async function TC(e){let t=hC(e),n=qa(e.hookInput),r=rc(e.runnerEvent),o=r&&t.length===0&&n.length===0;if(t.length===0&&n.length===0&&!r||o&&tr(e.manifest.manifest,e.manifest.hookConfig)==="off")return;let s=await cd(e);await Promise.all([o?SC(e,s):void 0,t.length===0?void 0:kC(e,s,t),n.length===0?void 0:PC(e,s,n)])}function _d(e,t,n,r){let o=r??Ra({skillId:n,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home}),s=Us(e,t,o,B.ComponentKind.SKILL,B.nativeKeyForSkillPath);if(s.sourcePath!==null&&to(s.sourcePath)?.toLowerCase()===n.toLowerCase())return s.componentReference===void 0?{}:{componentReference:s.componentReference};let i=r??Za({commandId:n,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home,runnerPlatform:e.runnerPlatform}),a=Us(e,t,i,B.ComponentKind.COMMAND,B.nativeKeyForCommandPath);return a.nativeKey?.toLowerCase()!==n.toLowerCase()?{}:{commandName:a.nativeKey,...a.componentReference===void 0?{}:{componentReference:a.componentReference}}}function kC(e,t,n){let r=Hn(e.hookInput.tool_input);return Promise.all(n.map(o=>{let s=_d(e,t,o,r);return Fs(e,t,{tool_name:"Skill",skill_name:o,...s.commandName===void 0?{}:{command_name:s.commandName},...s.componentReference===void 0?{}:{component_reference:s.componentReference}})}))}function PC(e,t,n){return Promise.all(n.map(r=>{let o=Ja({relativePath:r,launchCwd:t.launchCwd,gitRoot:t.gitRoot,home:t.home,runnerPlatform:e.runnerPlatform}),s=Us(e,t,o,B.ComponentKind.RULE,B.nativeKeyForRulePath),i=s.nativeKey??Xa(r);return Fs(e,t,{tool_name:"Rule",rule_name:i,...s.componentReference===void 0?{}:{component_reference:s.componentReference}})}))}var NC=[{kind:B.ComponentKind.SKILL,nativeKeyFn:B.nativeKeyForSkillPath},{kind:B.ComponentKind.RULE,nativeKeyFn:B.nativeKeyForRulePath},{kind:B.ComponentKind.COMMAND,nativeKeyFn:B.nativeKeyForCommandPath}];function wC(e,t,n){if(n.skillName===null&&n.ruleName===null&&n.commandName===null)return{};let r=ro(e.hookInput);if(r===null)return n.skillName===null?{}:_d(e,t,n.skillName,null);let o=ld(r,t.gitRoot,t.home);for(let s of NC){let i=fd(e,o,s.kind,s.nativeKeyFn);if(i.nativeKey!==null)return{...i.componentReference===void 0?{}:{componentReference:i.componentReference},...s.kind===B.ComponentKind.RULE?{ruleName:i.nativeKey}:{},...s.kind===B.ComponentKind.COMMAND?{commandName:i.nativeKey}:{}}}return{}}var MC=/mcp/i;function LC(e,t,n,r){let o=MC.test(e.runnerEvent);if(!r.hasMcpIdentity&&!o)return{};let s=o?ef(t,n):_r(r.declaredConfig,n);return s===null?{}:Object.fromEntries(Object.entries(s).filter(i=>typeof i[1]=="string").map(([i,a])=>[`mcp_${i}`,a]))}async function vC(e){let t=await cd(e),n=ac(e.hookInput,e.runnerEvent),{toolName:r,skillName:o}=n,s=no(e.hookInput),i=Zl(s,t.home),a=uc(e.hookInput),c=sc(e.runnerEvent),l=c===!1?lc(e.hookInput,e.runnerEvent):null,u=Gt(v(e.hookInput,"mcp_server_name")),d=u!==null||r!==null&&Wn(r)?await Io(e.manifest.manifest,e.manifest.gitRoot,String(e.runnerPlatform),t.home).catch(()=>[]):[],{mcpServer:f,mcpTool:m}=dc(r,d.map(K=>K.name),u??""),g=RC(r,f,e.platformAgentId,e.manifest.installationId,String(e.runnerPlatform),d,u),S=g===void 0?wC(e,t,n):{},C=f===null?null:$c(f,e.manifest.manifest,e.manifest.gitRoot,String(e.runnerPlatform),t.home),A=LC(e,s,t.home,{hasMcpIdentity:!!f||!!m,declaredConfig:C}),T=g??S.componentReference,x=S.ruleName??n.ruleName,M=S.commandName??n.commandName,k=cc(e.hookInput);await kt("tool_invoked",{tool_name:r,skill_name:o,...x?{rule_name:x}:{},...M?{command_name:M}:{},success:c,duration_ms:a,...i?{executable:i}:{},...l?{failure_reason:l}:{},...f?{mcp_server:f}:{},...m?{mcp_tool:m}:{},...A,...T?{component_reference:T}:{},...k?{subagent_type:k}:{},...dd(e),hook_input:t.hookInput},t.envelopeFields,xt,e.manifest.collectorUrl,t.buildStartedAtMs,fn(e,t.home))}async function hd(e){switch(e.internalEvent){case"session_start":await bC(e);return;case"session_end":await xC(e);return;case"skill_invoked":await TC(e);return;case"tool_invoked":await vC(e);return;default:return}}import{existsSync as Bs,readFileSync as HC}from"node:fs";import{dirname as UC,isAbsolute as DC,join as FC,relative as $C}from"node:path";function Sd(e){for(let t of Pi){let n=FC(e,t);if(Bs(n))return n}}async function jC(e=process.cwd(),t){let n=t??await Mr(e);return Sd(n)??Sd(e)}async function BC(e,t){let n=t??await Mr(UC(e)),r=$C(n,e);if(r.startsWith("..")||DC(r))return!1;let o=await Se("git",["ls-files","--error-unmatch",r],2e3,{cwd:n});return o.ok?!0:o.code===1?!1:(b(`WARN: git ls-files failed for manifest ${e} (code=${String(o.code)}); treating as tracked`),!0)}function js(e){let t=HC(e,"utf8");return me(hn(t),{})}function KC(){return{schema_version:Pn,mcp_servers:[]}}function GC(e,t,n,r){!t||!n||(e.capture_hook_input==="full"&&r.has("capture_hook_input")&&(b(`WARN: ignoring capture_hook_input=full in git-tracked manifest ${t}; use EV_AI_HOOK_CAPTURE_FULL_INPUT=1 or an untracked operator manifest`),delete e.capture_hook_input),e.debug===!0&&r.has("debug")&&(b(`WARN: ignoring debug=true in git-tracked manifest ${t}; set debug on ~/.ev-ai/config.json`),delete e.debug))}function zC(){let e=Li(process.env);return e.problem&&b(`WARN: ignoring ${zr}: ${e.problem}`),e.url??""}async function Ed(e=process.cwd(),t={}){let{root:n,inGitRepo:r}=await wr(e),o=L("EV_AI_HOOK_MANIFEST"),s=o&&Bs(o)?o:void 0,i=s?void 0:Bs(Ht())?Ht():void 0,a=s?void 0:await jC(e,n),c=i?js(i):void 0,l=a?js(a):void 0,u,d,f,m=new Set;if(s){u=js(s),d=s,f=s;for(let x of Object.keys(u))m.add(x)}else if(c&&l){u=wi(l,c),d=i,f=a;for(let x of Object.keys(l))x in c||m.add(x)}else if(c)u=c,d=i;else if(l){u=l,d=a,f=a;for(let x of Object.keys(l))m.add(x)}else u=KC();delete u.installation_id;let g=f?await BC(f,n):!1;GC(u,f,g,m);let{installationId:S,storePath:C,repoKey:A}=await ca(n,{sessionId:t.sessionId}),T=Gr(u)||zC();return{manifestPath:d??C,manifest:u,installationId:S,installationStorePath:C,repoKey:A,collectorUrl:T,hookConfig:Or(T),platformAgentId:u.platform_agent_id??"",gitRoot:n,inGitRepo:r}}import{mkdirSync as WC,readdirSync as VC,readFileSync as JC,statSync as yd,unlinkSync as YC,writeFileSync as XC}from"node:fs";import{homedir as Tr}from"node:os";import{join as Ks}from"node:path";var qC="turns",Rd=1440*60*1e3,ZC=100,QC=new Set(["stop","stopfailure","sessionend"]);function Gs(e=Tr()){return Ks(Ee(e),qC)}function Cd(e,t){return Ks(e,Nt(t))}function eA(e,t=Date.now()){let n;try{n=VC(e)}catch{return}let r=0;for(let o of n){if(r>=ZC)return;r+=1;try{let s=Ks(e,o);t-yd(s).mtimeMs>Rd&&YC(s)}catch{}}}function tA(e,t,n=Tr()){let r=e.trim(),o=t.trim();if(!(!r||!o))try{let s=Gs(n);WC(s,{recursive:!0}),XC(Cd(s,r),o,"utf8")}catch{}}function nA(e,t=Tr()){let n=e.trim();if(!n)return"";try{let r=Cd(Gs(t),n);return Date.now()-yd(r).mtimeMs>Rd?"":JC(r,"utf8").trim()}catch{return""}}function Ad(e,t,n,r=Tr()){let o=t.trim(),s=QC.has(n.trim().toLowerCase());return s&&eA(Gs(r)),o?(tA(e,o,r),o):s?nA(e,r):""}async function rA(e,t,n,r){let o=t??await _n(Nn),s=me(o,{}),i=await Ed(process.cwd(),{sessionId:Kt(s)});if(!i)return;r&&(i.collectorUrl=r,i.hookConfig=Or(r));let a=ic(s,i.manifest.platform,n),c=mo(e,a.runnerEvent);if(!c){b(`WARN: unknown hook event '${a.runnerEvent}'; skipping telemetry`);return}let l={hookInput:s,sessionId:a.sessionId,turnId:Ad(a.sessionId,a.turnId,a.runnerEvent),runnerEvent:a.runnerEvent,runnerPlatform:a.runnerPlatform,hookSource:a.hookSource,internalEvent:c,manifest:i,platformAgentId:i.platformAgentId};await hd(l)}function oA(e,t=!1){if(L("EV_AI_HOOK_SYNC")==="1")return!0;let{parsed:n,hookInput:r,runnerEvent:o}=e,s=Bt(r,o,void 0,n.runner);return zn(o,s)?!0:t}function Id(e,t){let n=jr(e),r=me(t,{}),o=n.event??po(r);return ni()||nc(n.runner,r,o)?null:{parsed:n,hookInput:r,runnerEvent:o}}function bd(e){return Ic(mo(e.parsed.event,e.runnerEvent))}async function Od(e,t,n){let{parsed:r}=e,o=n??yo(r.slot);if(!o&&!bd(e)){let s=Eo(r.cap),i=Pc(s);if(!i){Ro(s);return}o=i}try{await rA(r.event,t,r.runner,ec(r))}finally{o&&Yn(o)}}async function xd(e=process.argv.slice(2)){if(Nc(),L("EV_AI_HOOK_JUDGE")==="1"){try{await _n(Nn)}catch{}return Pr(),0}if(e[0]===Hs){try{await nd(Nr)}catch{}return 0}if(e[0]===br){try{let n=await Nr(),r=Id(e.slice(1),n);if(!r)return 0;await Od(r,n)}catch(n){let r=n instanceof Error?n.message:String(n);b(`WARN: detached work failed open: ${r}`)}return 0}let t;try{let n=await _n(Nn),r=Id(e,n);if(!r)return 0;let{parsed:o,hookInput:s,runnerEvent:i}=r;if(t=yo(o.slot),!hc(s,i,o.runner))return 0;if(oA(r))await Od(r,n,t);else{let a=t||bd(r)?void 0:Eo(o.cap);if(a===void 0||Tc(a)){let c=await od(n,e);t&&c?.pid!==void 0&&bc(t,c.pid)}else Ro(a)}}catch(n){let r=n instanceof Error?n.message:String(n);b(`WARN: hook failed open: ${r}`)}finally{t&&Yn(t),Pr()}return 0}xd().then(e=>{process.exit(e)}).catch(e=>{let t=e instanceof Error?e.message:String(e);process.stderr.write(`[ev-ai-agent-hook] ${t}
|
|
49
49
|
`),process.exit(1)});
|