@socketsecurity/sdk 1.11.1 → 2.0.1

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.
@@ -1,4 +1,12 @@
1
1
  import type { ALERT_ACTION } from './types';
2
2
  export declare const DEFAULT_USER_AGENT: string;
3
+ export declare const DEFAULT_HTTP_TIMEOUT = 30000;
4
+ export declare const DEFAULT_RETRIES = 3;
5
+ export declare const DEFAULT_RETRY_DELAY = 1000;
6
+ export declare const MAX_HTTP_TIMEOUT: number;
7
+ export declare const MIN_HTTP_TIMEOUT = 5000;
8
+ export declare const MAX_RESPONSE_SIZE: number;
9
+ export declare const MAX_STREAM_SIZE: number;
10
+ export declare const SOCKET_PUBLIC_BLOB_STORE_URL = "https://socketusercontent.com";
3
11
  export declare const httpAgentNames: Set<string>;
4
12
  export declare const publicPolicy: Map<"ambiguousClassifier" | "badEncoding" | "badSemver" | "badSemverDependency" | "bidi" | "binScriptConfusion" | "chromeContentScript" | "chromeHostPermission" | "chromePermission" | "chromeWildcardHostPermission" | "chronoAnomaly" | "compromisedSSHKey" | "copyleftLicense" | "criticalCVE" | "cve" | "debugAccess" | "deprecated" | "deprecatedException" | "deprecatedLicense" | "didYouMean" | "dynamicRequire" | "emptyPackage" | "envVars" | "explicitlyUnlicensedItem" | "extraneousDependency" | "fileDependency" | "filesystemAccess" | "floatingDependency" | "generic" | "gitDependency" | "gitHubDependency" | "gptAnomaly" | "gptDidYouMean" | "gptMalware" | "gptSecurity" | "hasNativeCode" | "highEntropyStrings" | "homoglyphs" | "httpDependency" | "installScripts" | "invalidPackageJSON" | "invisibleChars" | "licenseChange" | "licenseException" | "licenseSpdxDisj" | "longStrings" | "majorRefactor" | "malware" | "manifestConfusion" | "mediumCVE" | "mildCVE" | "minifiedFile" | "miscLicenseIssues" | "missingAuthor" | "missingDependency" | "missingLicense" | "missingTarball" | "mixedLicense" | "modifiedException" | "modifiedLicense" | "networkAccess" | "newAuthor" | "noAuthorData" | "noBugTracker" | "noLicenseFound" | "noREADME" | "noRepository" | "noTests" | "noV1" | "noWebsite" | "nonOSILicense" | "nonSPDXLicense" | "nonpermissiveLicense" | "notice" | "obfuscatedFile" | "obfuscatedRequire" | "peerDependency" | "potentialVulnerability" | "semverAnomaly" | "shellAccess" | "shellScriptOverride" | "shrinkwrap" | "socketUpgradeAvailable" | "suspiciousStarActivity" | "suspiciousString" | "telemetry" | "trivialPackage" | "troll" | "typeModuleCompatibility" | "uncaughtOptionalDependency" | "unclearLicense" | "unidentifiedLicense" | "unmaintained" | "unpopularPackage" | "unpublished" | "unresolvedRequire" | "unsafeCopyright" | "unstableOwnership" | "unusedDependency" | "urlStrings" | "usesEval" | "vsxActivationWildcard" | "vsxDebuggerContribution" | "vsxExtensionDependency" | "vsxExtensionPack" | "vsxProposedApiUsage" | "vsxUntrustedWorkspaceSupported" | "vsxVirtualWorkspaceSupported" | "vsxWebviewContribution" | "vsxWorkspaceContainsActivation" | "zeroWidth", ALERT_ACTION>;
@@ -1,7 +1,7 @@
1
- import { Readable } from 'node:stream';
2
- import type { RequestOptions } from './types';
3
1
  import type { ReadStream } from 'node:fs';
4
2
  import type { IncomingMessage } from 'node:http';
3
+ import { Readable } from 'node:stream';
4
+ import type { RequestOptions } from './types';
5
5
  /**
6
6
  * Create multipart form-data body parts for file uploads.
7
7
  * Converts file paths to readable streams with proper multipart headers.
@@ -2,10 +2,10 @@
2
2
  * @fileoverview HTTP client utilities for Socket API communication.
3
3
  * Provides low-level HTTP request handling with proper error management and response parsing.
4
4
  */
5
+ import type { ClientRequest, IncomingMessage } from 'node:http';
5
6
  import http from 'node:http';
6
7
  import https from 'node:https';
7
8
  import type { RequestOptions, SendMethod } from './types';
8
- import type { ClientRequest, IncomingMessage } from 'node:http';
9
9
  /**
10
10
  * HTTP response error for Socket API requests.
11
11
  * Extends Error with response details for debugging failed API calls.
@@ -44,8 +44,10 @@ export declare function createRequestWithJson(method: SendMethod, baseUrl: strin
44
44
  /**
45
45
  * Read the response body from an HTTP error response.
46
46
  * Accumulates all chunks into a complete string for error handling.
47
+ * Enforces maximum response size to prevent memory exhaustion.
47
48
  *
48
49
  * @throws {Error} When stream errors occur during reading
50
+ * @throws {Error} When response exceeds maximum size limit
49
51
  */
50
52
  export declare function getErrorResponseBody(response: IncomingMessage): Promise<string>;
51
53
  /**
@@ -68,7 +70,7 @@ export declare function getResponse(req: ClientRequest): Promise<IncomingMessage
68
70
  * @throws {ResponseError} When response has non-2xx status code
69
71
  * @throws {SyntaxError} When response body contains invalid JSON
70
72
  */
71
- export declare function getResponseJson(response: IncomingMessage, method?: string | undefined): Promise<import("@socketsecurity/registry/lib/json").JsonValue | undefined>;
73
+ export declare function getResponseJson(response: IncomingMessage, method?: string | undefined): Promise<import("@socketsecurity/lib/json").JsonValue | undefined>;
72
74
  /**
73
75
  * Check if HTTP response has a successful status code (2xx range).
74
76
  * Returns true for status codes between 200-299, false otherwise.
package/dist/index.mjs ADDED
@@ -0,0 +1,35 @@
1
+ /* Socket SDK ESM - Built with esbuild */
2
+ import{a as zn}from"./chunk-3V7KNFWE.mjs";import{a as vt,b as Ur,c as qn}from"./chunk-LHGMBIJS.mjs";import{a as re,b as B,c as q}from"./chunk-UKECVIRQ.mjs";var Xe=B((Nl,Kr)=>{"use strict";var Ct=Object.defineProperty,Kn=Object.getOwnPropertyDescriptor,Jn=Object.getOwnPropertyNames,Xn=Object.prototype.hasOwnProperty,Hn=(r,e)=>{for(var t in e)Ct(r,t,{get:e[t],enumerable:!0})},Yn=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jn(e))!Xn.call(r,n)&&n!==t&&Ct(r,n,{get:()=>e[n],enumerable:!(s=Kn(e,n))||s.enumerable});return r},Qn=r=>Yn(Ct({},"__esModule",{value:!0}),r),Wr={};Hn(Wr,{getAbortController:()=>Vr,getAbortSignal:()=>Zn,getSpinner:()=>eo});Kr.exports=Qn(Wr);var Pt;function Vr(){return Pt===void 0&&(Pt=new AbortController),Pt}function Zn(){return Vr().signal}var Je;function eo(){if(Je===void 0)try{let{Spinner:r}=re("../lib/spinner");Je=r()??null}catch{Je=null}return Je??null}});var Hr=B((Ll,Xr)=>{"use strict";var It=Object.defineProperty,to=Object.getOwnPropertyDescriptor,ro=Object.getOwnPropertyNames,so=Object.prototype.hasOwnProperty,no=(r,e)=>{for(var t in e)It(r,t,{get:e[t],enumerable:!0})},oo=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ro(e))!so.call(r,n)&&n!==t&&It(r,n,{get:()=>e[n],enumerable:!(s=to(e,n))||s.enumerable});return r},io=r=>oo(It({},"__esModule",{value:!0}),r),Jr={};no(Jr,{DEBUG:()=>co});Xr.exports=io(Jr);var ao=re("node:process"),co=ao.env.DEBUG});var Zr=B((xl,Qr)=>{"use strict";var Tt=Object.defineProperty,uo=Object.getOwnPropertyDescriptor,lo=Object.getOwnPropertyNames,po=Object.prototype.hasOwnProperty,ho=(r,e)=>{for(var t in e)Tt(r,t,{get:e[t],enumerable:!0})},fo=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of lo(e))!po.call(r,n)&&n!==t&&Tt(r,n,{get:()=>e[n],enumerable:!(s=uo(e,n))||s.enumerable});return r},mo=r=>fo(Tt({},"__esModule",{value:!0}),r),Yr={};ho(Yr,{SOCKET_DEBUG:()=>yo});Qr.exports=mo(Yr);var go=re("node:process"),yo=go.env.SOCKET_DEBUG});var kt=B((Fl,ns)=>{"use strict";var Oo=Object.create,Ne=Object.defineProperty,wo=Object.getOwnPropertyDescriptor,vo=Object.getOwnPropertyNames,Eo=Object.getPrototypeOf,So=Object.prototype.hasOwnProperty,es=(r,e)=>Ne(r,"name",{value:e,configurable:!0}),Ro=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),_o=(r,e)=>{for(var t in e)Ne(r,t,{get:e[t],enumerable:!0})},rs=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of vo(e))!So.call(r,n)&&n!==t&&Ne(r,n,{get:()=>e[n],enumerable:!(s=wo(e,n))||s.enumerable});return r},bo=(r,e,t)=>(t=r!=null?Oo(Eo(r)):{},rs(e||!r||!r.__esModule?Ne(t,"default",{value:r,enumerable:!0}):t,r)),Po=r=>rs(Ne({},"__esModule",{value:!0}),r),Co=Ro((r,e)=>{"use strict";var t;function s(){return t===void 0&&(t=re("process")),t}es(s,"getProcess"),e.exports=es(function(){let n=s();if(n.platform!=="win32")return n.env.TERM!=="linux";let{env:o}=n;if(o.WT_SESSION||o.TERMINUS_SUBLIME||o.ConEmuTask==="{cmd::Cmder}")return!0;let{TERM:i,TERM_PROGRAM:l}=o;return l==="Terminus-Sublime"||l==="vscode"||i==="xterm-256color"||i==="alacritty"||i==="rxvt-unicode"||i==="rxvt-unicode-256color"||o.TERMINAL_EMULATOR==="JetBrains-JediTerm"},"isUnicodeSupported")}),ss={};_o(ss,{default:()=>ts.default,"module.exports":()=>ts.default});ns.exports=Po(ss);var ts=bo(Co(),1)});var is=B((Ml,$t)=>{"use strict";var Io=Object.defineProperty,L=(r,e)=>Io(r,"name",{value:e,configurable:!0}),ve=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),To=ve((r,e)=>{var t=1e3,s=t*60,n=s*60,o=n*24,i=o*7,l=o*365.25;e.exports=function(c,u){u=u||{};var f=typeof c;if(f==="string"&&c.length>0)return a(c);if(f==="number"&&isFinite(c))return u.long?p(c):m(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function a(c){if(c=String(c),!(c.length>100)){var u=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(u){var f=parseFloat(u[1]),h=(u[2]||"ms").toLowerCase();switch(h){case"years":case"year":case"yrs":case"yr":case"y":return f*l;case"weeks":case"week":case"w":return f*i;case"days":case"day":case"d":return f*o;case"hours":case"hour":case"hrs":case"hr":case"h":return f*n;case"minutes":case"minute":case"mins":case"min":case"m":return f*s;case"seconds":case"second":case"secs":case"sec":case"s":return f*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}L(a,"parse");function m(c){var u=Math.abs(c);return u>=o?Math.round(c/o)+"d":u>=n?Math.round(c/n)+"h":u>=s?Math.round(c/s)+"m":u>=t?Math.round(c/t)+"s":c+"ms"}L(m,"fmtShort");function p(c){var u=Math.abs(c);return u>=o?d(c,u,o,"day"):u>=n?d(c,u,n,"hour"):u>=s?d(c,u,s,"minute"):u>=t?d(c,u,t,"second"):c+" ms"}L(p,"fmtLong");function d(c,u,f,h){var g=u>=f*1.5;return Math.round(c/f)+" "+h+(g?"s":"")}L(d,"plural")}),os=ve((r,e)=>{function t(s){o.debug=o,o.default=o,o.coerce=d,o.disable=m,o.enable=l,o.enabled=p,o.humanize=To(),o.destroy=c,Object.keys(s).forEach(u=>{o[u]=s[u]}),o.names=[],o.skips=[],o.formatters={};function n(u){let f=0;for(let h=0;h<u.length;h++)f=(f<<5)-f+u.charCodeAt(h),f|=0;return o.colors[Math.abs(f)%o.colors.length]}L(n,"selectColor"),o.selectColor=n;function o(u){let f,h=null,g,y;function E(...$){if(!E.enabled)return;let k=E,A=Number(new Date),H=A-(f||A);k.diff=H,k.prev=f,k.curr=A,f=A,$[0]=o.coerce($[0]),typeof $[0]!="string"&&$.unshift("%O");let D=0;$[0]=$[0].replace(/%([a-zA-Z%])/g,(M,G)=>{if(M==="%%")return"%";D++;let T=o.formatters[G];if(typeof T=="function"){let ke=$[D];M=T.call(k,ke),$.splice(D,1),D--}return M}),o.formatArgs.call(k,$),(k.log||o.log).apply(k,$)}return L(E,"debug"),E.namespace=u,E.useColors=o.useColors(),E.color=o.selectColor(u),E.extend=i,E.destroy=o.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:L(()=>h!==null?h:(g!==o.namespaces&&(g=o.namespaces,y=o.enabled(u)),y),"get"),set:L($=>{h=$},"set")}),typeof o.init=="function"&&o.init(E),E}L(o,"createDebug");function i(u,f){let h=o(this.namespace+(typeof f>"u"?":":f)+u);return h.log=this.log,h}L(i,"extend");function l(u){o.save(u),o.namespaces=u,o.names=[],o.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let h of f)h[0]==="-"?o.skips.push(h.slice(1)):o.names.push(h)}L(l,"enable");function a(u,f){let h=0,g=0,y=-1,E=0;for(;h<u.length;)if(g<f.length&&(f[g]===u[h]||f[g]==="*"))f[g]==="*"?(y=g,E=h,g++):(h++,g++);else if(y!==-1)g=y+1,E++,h=E;else return!1;for(;g<f.length&&f[g]==="*";)g++;return g===f.length}L(a,"matchesTemplate");function m(){let u=[...o.names,...o.skips.map(f=>"-"+f)].join(",");return o.enable(""),u}L(m,"disable");function p(u){for(let f of o.skips)if(a(u,f))return!1;for(let f of o.names)if(a(u,f))return!0;return!1}L(p,"enabled");function d(u){return u instanceof Error?u.stack||u.message:u}L(d,"coerce");function c(){}return L(c,"destroy"),o.enable(o.load()),o}L(t,"setup"),e.exports=t}),ko=ve((r,e)=>{r.formatArgs=s,r.save=n,r.load=o,r.useColors=t,r.storage=i(),r.destroy=(()=>{let a=!1;return()=>{a||(a=!0)}})(),r.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){let a;return!1}L(t,"useColors");function s(a){if(a[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+a[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let m="color: "+this.color;a.splice(1,0,m,"color: inherit");let p=0,d=0;a[0].replace(/%[a-zA-Z%]/g,c=>{c!=="%%"&&(p++,c==="%c"&&(d=p))}),a.splice(d,0,m)}L(s,"formatArgs"),r.log=console.debug||console.log||(()=>{});function n(a){try{a?r.storage.setItem("debug",a):r.storage.removeItem("debug")}catch{}}L(n,"save");function o(){let a;try{a=r.storage.getItem("debug")||r.storage.getItem("DEBUG")}catch{}return!a&&typeof process<"u"&&"env"in process&&(a=void 0),a}L(o,"load");function i(){try{return}catch{}}L(i,"localstorage"),e.exports=os()(r);var{formatters:l}=e.exports;l.j=function(a){try{return JSON.stringify(a)}catch(m){return"[UnexpectedJSONParseError]: "+m.message}}}),$o=ve((r,e)=>{"use strict";e.exports=(t,s=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",o=s.indexOf(n+t),i=s.indexOf("--");return o!==-1&&(i===-1||o<i)}}),Ao=ve((r,e)=>{"use strict";var t=re("os"),s=re("tty"),n=$o(),{env:o}=process,i;n("no-color")||n("no-colors")||n("color=false")||n("color=never")?i=0:(n("color")||n("colors")||n("color=true")||n("color=always"))&&(i=1),"FORCE_COLOR"in o&&(o.FORCE_COLOR==="true"?i=1:o.FORCE_COLOR==="false"?i=0:i=o.FORCE_COLOR.length===0?1:Math.min(parseInt(o.FORCE_COLOR,10),3));function l(p){return p===0?!1:{level:p,hasBasic:!0,has256:p>=2,has16m:p>=3}}L(l,"translateLevel");function a(p,d){if(i===0)return 0;if(n("color=16m")||n("color=full")||n("color=truecolor"))return 3;if(n("color=256"))return 2;if(p&&!d&&i===void 0)return 0;let c=i||0;if(o.TERM==="dumb")return c;if(process.platform==="win32"){let u=t.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(u=>u in o)||o.CI_NAME==="codeship"?1:c;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if(o.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in o){let u=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:c}L(a,"supportsColor");function m(p){let d=a(p,p&&p.isTTY);return l(d)}L(m,"getSupportLevel"),e.exports={supportsColor:m,stdout:l(a(!0,s.isatty(1))),stderr:l(a(!0,s.isatty(2)))}}),No=ve((r,e)=>{var t=re("tty"),s=re("util");r.init=p,r.log=l,r.formatArgs=o,r.save=a,r.load=m,r.useColors=n,r.destroy=s.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),r.colors=[6,2,3,4,5,1];try{let c=Ao();c&&(c.stderr||c).level>=2&&(r.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}r.inspectOpts=Object.keys(process.env).filter(c=>/^debug_/i.test(c)).reduce((c,u)=>{let f=u.substring(6).toLowerCase().replace(/_([a-z])/g,(g,y)=>y.toUpperCase()),h=process.env[u];return/^(yes|on|true|enabled)$/i.test(h)?h=!0:/^(no|off|false|disabled)$/i.test(h)?h=!1:h==="null"?h=null:h=Number(h),c[f]=h,c},{});function n(){return"colors"in r.inspectOpts?!!r.inspectOpts.colors:t.isatty(process.stderr.fd)}L(n,"useColors");function o(c){let{namespace:u,useColors:f}=this;if(f){let h=this.color,g="\x1B[3"+(h<8?h:"8;5;"+h),y=` ${g};1m${u} \x1B[0m`;c[0]=y+c[0].split(`
3
+ `).join(`
4
+ `+y),c.push(g+"m+"+e.exports.humanize(this.diff)+"\x1B[0m")}else c[0]=i()+u+" "+c[0]}L(o,"formatArgs");function i(){return r.inspectOpts.hideDate?"":new Date().toISOString()+" "}L(i,"getDate");function l(...c){return process.stderr.write(s.formatWithOptions(r.inspectOpts,...c)+`
5
+ `)}L(l,"log");function a(c){c?process.env.DEBUG=c:delete void 0}L(a,"save");function m(){}L(m,"load");function p(c){c.inspectOpts={};let u=Object.keys(r.inspectOpts);for(let f=0;f<u.length;f++)c.inspectOpts[u[f]]=r.inspectOpts[u[f]]}L(p,"init"),e.exports=os()(r);var{formatters:d}=e.exports;d.o=function(c){return this.inspectOpts.colors=this.useColors,s.inspect(c,this.inspectOpts).split(`
6
+ `).map(u=>u.trim()).join(" ")},d.O=function(c){return this.inspectOpts.colors=this.useColors,s.inspect(c,this.inspectOpts)}});typeof process>"u"||process.type==="renderer"||process.__nwjs?$t.exports=ko():$t.exports=No()});var cs=B((jl,as)=>{"use strict";var Lo=Object.defineProperty,xo=(r,e)=>Lo(r,"name",{value:e,configurable:!0}),V=xo(r=>r,"identity");as.exports={red:V,green:V,yellow:V,blue:V,magenta:V,cyan:V,white:V,gray:V,black:V,bold:V,dim:V,italic:V,underline:V,strikethrough:V,reset:V,default:V}});var He=B((Ul,ls)=>{"use strict";var At=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Mo=Object.getOwnPropertyNames,jo=Object.prototype.hasOwnProperty,Uo=(r,e)=>{for(var t in e)At(r,t,{get:e[t],enumerable:!0})},Do=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Mo(e))!jo.call(r,n)&&n!==t&&At(r,n,{get:()=>e[n],enumerable:!(s=Fo(e,n))||s.enumerable});return r},Bo=r=>Do(At({},"__esModule",{value:!0}),r),us={};Uo(us,{COLUMN_LIMIT:()=>Ho,EMPTY_FILE:()=>Vo,EMPTY_VALUE:()=>Ko,LOOP_SENTINEL:()=>qo,NODE_AUTH_TOKEN:()=>Yo,NODE_ENV:()=>Qo,UNDEFINED_TOKEN:()=>Jo,UNKNOWN_ERROR:()=>zo,UNKNOWN_VALUE:()=>Wo,V:()=>Xo,kInternalsSymbol:()=>Go});ls.exports=Bo(us);var Go=Symbol("@socketregistry.constants.internals"),qo=1e6,zo="Unknown error",Wo="<unknown>",Vo=`/* empty */
7
+ `,Ko="<value>",Jo=void 0,Xo="v",Ho=80,Yo="NODE_AUTH_TOKEN",Qo="NODE_ENV"});var Ft=B((Dl,ds)=>{"use strict";var xt=Object.defineProperty,Zo=Object.getOwnPropertyDescriptor,ei=Object.getOwnPropertyNames,ti=Object.prototype.hasOwnProperty,ri=(r,e)=>{for(var t in e)xt(r,t,{get:e[t],enumerable:!0})},si=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ei(e))!ti.call(r,n)&&n!==t&&xt(r,n,{get:()=>e[n],enumerable:!(s=Zo(e,n))||s.enumerable});return r},ni=r=>si(xt({},"__esModule",{value:!0}),r),ps={};ri(ps,{arrayChunk:()=>ai,arrayUnique:()=>ci,isArray:()=>ui,joinAnd:()=>li,joinOr:()=>pi});ds.exports=ni(ps);var Nt;function oi(){return Nt===void 0&&(Nt=new Intl.ListFormat("en",{style:"long",type:"conjunction"})),Nt}var Lt;function ii(){return Lt===void 0&&(Lt=new Intl.ListFormat("en",{style:"long",type:"disjunction"})),Lt}function ai(r,e){let t=e??2;if(t<=0)throw new Error("Chunk size must be greater than 0");let{length:s}=r,n=Math.min(s,t),o=[];for(let i=0;i<s;i+=n)o.push(r.slice(i,i+n));return o}function ci(r){return[...new Set(r)]}var ui=Array.isArray;function li(r){return oi().format(r)}function pi(r){return ii().format(r)}});var ms=B(Ee=>{"use strict";var di=Object.defineProperty,ee=(r,e)=>di(r,"name",{value:e,configurable:!0});Object.defineProperty(Ee,"__esModule",{value:!0});var hs=ee(function(r){return function(e,t,s){return r(e,t,s)*s}},"castComparer"),jt=ee(function(r,e){if(r)throw Error("Invalid sort config: "+e)},"throwInvalidConfigErrorIfTrue"),fs=ee(function(r){var e=r||{},t=e.asc,s=e.desc,n=t?1:-1,o=t||s;jt(!o,"Expected `asc` or `desc` property"),jt(t&&s,"Ambiguous object with `asc` and `desc` config properties");var i=r.comparer&&hs(r.comparer);return{order:n,sortBy:o,comparer:i}},"unpackObjectSorter"),hi=ee(function(r){return ee(function e(t,s,n,o,i,l,a){var m,p;if(typeof t=="string")m=l[t],p=a[t];else if(typeof t=="function")m=t(l),p=t(a);else{var d=fs(t);return e(d.sortBy,s,n,d.order,d.comparer||r,l,a)}var c=i(m,p,o);return(c===0||m==null&&p==null)&&s.length>n?e(s[n],s,n+1,o,i,l,a):c},"multiPropertySorter")},"multiPropertySorterProvider");function Ut(r,e,t){if(r===void 0||r===!0)return function(o,i){return e(o,i,t)};if(typeof r=="string")return jt(r.includes("."),"String syntax not allowed for nested properties."),function(o,i){return e(o[r],i[r],t)};if(typeof r=="function")return function(o,i){return e(r(o),r(i),t)};if(Array.isArray(r)){var s=hi(e);return function(o,i){return s(r[0],r,1,t,e,o,i)}}var n=fs(r);return Ut(n.sortBy,n.comparer||e,n.order)}ee(Ut,"getSortStrategy");var Mt=ee(function(r,e,t,s){var n;return Array.isArray(e)?(Array.isArray(t)&&t.length<2&&(n=t,t=n[0]),e.sort(Ut(t,s,r))):e},"sortArray");function Ye(r){var e=hs(r.comparer);return function(t){var s=Array.isArray(t)&&!r.inPlaceSorting?t.slice():t;return{asc:ee(function(n){return Mt(1,s,n,e)},"asc"),desc:ee(function(n){return Mt(-1,s,n,e)},"desc"),by:ee(function(n){return Mt(1,s,n,e)},"by")}}}ee(Ye,"createNewSortInstance");var Dt=ee(function(r,e,t){return r==null?t:e==null?-t:typeof r!=typeof e?typeof r<typeof e?-1:1:r<e?-1:r>e?1:0},"defaultComparer"),fi=Ye({comparer:Dt}),mi=Ye({comparer:Dt,inPlaceSorting:!0});Ee.createNewSortInstance=Ye;Ee.defaultComparer=Dt;Ee.inPlaceSort=mi;Ee.sort=fi});var Rs=B((Gl,Ss)=>{"use strict";var gi=Object.defineProperty,v=(r,e)=>gi(r,"name",{value:e,configurable:!0}),C=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ze=C((r,e)=>{"use strict";var t="2.0.0",s=Number.MAX_SAFE_INTEGER||9007199254740991,n=16,o=250,i=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:o,MAX_SAFE_INTEGER:s,RELEASE_TYPES:i,SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),et=C((r,e)=>{"use strict";var t=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...s)=>{}:()=>{};e.exports=t}),Le=C((r,e)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:n}=Ze(),o=et();r=e.exports={};var i=r.re=[],l=r.safeRe=[],a=r.src=[],m=r.safeSrc=[],p=r.t={},d=0,c="[a-zA-Z0-9-]",u=[["\\s",1],["\\d",n],[c,s]],f=v(g=>{for(let[y,E]of u)g=g.split(`${y}*`).join(`${y}{0,${E}}`).split(`${y}+`).join(`${y}{1,${E}}`);return g},"makeSafeRegex"),h=v((g,y,E)=>{let $=f(y),k=d++;o(g,k,y),p[g]=k,a[k]=y,m[k]=$,i[k]=new RegExp(y,E?"g":void 0),l[k]=new RegExp($,E?"g":void 0)},"createToken");h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${c}*`),h("MAINVERSION",`(${a[p.NUMERICIDENTIFIER]})\\.(${a[p.NUMERICIDENTIFIER]})\\.(${a[p.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${a[p.NUMERICIDENTIFIERLOOSE]})\\.(${a[p.NUMERICIDENTIFIERLOOSE]})\\.(${a[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${a[p.NONNUMERICIDENTIFIER]}|${a[p.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${a[p.NONNUMERICIDENTIFIER]}|${a[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${a[p.PRERELEASEIDENTIFIER]}(?:\\.${a[p.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${a[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[p.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${c}+`),h("BUILD",`(?:\\+(${a[p.BUILDIDENTIFIER]}(?:\\.${a[p.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${a[p.MAINVERSION]}${a[p.PRERELEASE]}?${a[p.BUILD]}?`),h("FULL",`^${a[p.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${a[p.MAINVERSIONLOOSE]}${a[p.PRERELEASELOOSE]}?${a[p.BUILD]}?`),h("LOOSE",`^${a[p.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${a[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${a[p.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${a[p.XRANGEIDENTIFIER]})(?:\\.(${a[p.XRANGEIDENTIFIER]})(?:\\.(${a[p.XRANGEIDENTIFIER]})(?:${a[p.PRERELEASE]})?${a[p.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${a[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[p.XRANGEIDENTIFIERLOOSE]})(?:${a[p.PRERELEASELOOSE]})?${a[p.BUILD]}?)?)?`),h("XRANGE",`^${a[p.GTLT]}\\s*${a[p.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${a[p.GTLT]}\\s*${a[p.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),h("COERCE",`${a[p.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",a[p.COERCEPLAIN]+`(?:${a[p.PRERELEASE]})?(?:${a[p.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",a[p.COERCE],!0),h("COERCERTLFULL",a[p.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${a[p.LONETILDE]}\\s+`,!0),r.tildeTrimReplace="$1~",h("TILDE",`^${a[p.LONETILDE]}${a[p.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${a[p.LONETILDE]}${a[p.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${a[p.LONECARET]}\\s+`,!0),r.caretTrimReplace="$1^",h("CARET",`^${a[p.LONECARET]}${a[p.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${a[p.LONECARET]}${a[p.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${a[p.GTLT]}\\s*(${a[p.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${a[p.GTLT]}\\s*(${a[p.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${a[p.GTLT]}\\s*(${a[p.LOOSEPLAIN]}|${a[p.XRANGEPLAIN]})`,!0),r.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${a[p.XRANGEPLAIN]})\\s+-\\s+(${a[p.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${a[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[p.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}),qt=C((r,e)=>{"use strict";var t=Object.freeze({loose:!0}),s=Object.freeze({}),n=v(o=>o?typeof o!="object"?t:o:s,"parseOptions");e.exports=n}),Os=C((r,e)=>{"use strict";var t=/^[0-9]+$/,s=v((o,i)=>{let l=t.test(o),a=t.test(i);return l&&a&&(o=+o,i=+i),o===i?0:l&&!a?-1:a&&!l?1:o<i?-1:1},"compareIdentifiers"),n=v((o,i)=>s(i,o),"rcompareIdentifiers");e.exports={compareIdentifiers:s,rcompareIdentifiers:n}}),J=C((r,e)=>{"use strict";var t=et(),{MAX_LENGTH:s,MAX_SAFE_INTEGER:n}=Ze(),{safeRe:o,t:i}=Le(),l=qt(),{compareIdentifiers:a}=Os(),m=class oe{static{v(this,"SemVer")}constructor(d,c){if(c=l(c),d instanceof oe){if(d.loose===!!c.loose&&d.includePrerelease===!!c.includePrerelease)return d;d=d.version}else if(typeof d!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof d}".`);if(d.length>s)throw new TypeError(`version is longer than ${s} characters`);t("SemVer",d,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let u=d.trim().match(c.loose?o[i.LOOSE]:o[i.FULL]);if(!u)throw new TypeError(`Invalid Version: ${d}`);if(this.raw=d,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(f=>{if(/^[0-9]+$/.test(f)){let h=+f;if(h>=0&&h<n)return h}return f}):this.prerelease=[],this.build=u[5]?u[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(d){if(t("SemVer.compare",this.version,this.options,d),!(d instanceof oe)){if(typeof d=="string"&&d===this.version)return 0;d=new oe(d,this.options)}return d.version===this.version?0:this.compareMain(d)||this.comparePre(d)}compareMain(d){return d instanceof oe||(d=new oe(d,this.options)),a(this.major,d.major)||a(this.minor,d.minor)||a(this.patch,d.patch)}comparePre(d){if(d instanceof oe||(d=new oe(d,this.options)),this.prerelease.length&&!d.prerelease.length)return-1;if(!this.prerelease.length&&d.prerelease.length)return 1;if(!this.prerelease.length&&!d.prerelease.length)return 0;let c=0;do{let u=this.prerelease[c],f=d.prerelease[c];if(t("prerelease compare",c,u,f),u===void 0&&f===void 0)return 0;if(f===void 0)return 1;if(u===void 0)return-1;if(u!==f)return a(u,f)}while(++c)}compareBuild(d){d instanceof oe||(d=new oe(d,this.options));let c=0;do{let u=this.build[c],f=d.build[c];if(t("build compare",c,u,f),u===void 0&&f===void 0)return 0;if(f===void 0)return 1;if(u===void 0)return-1;if(u!==f)return a(u,f)}while(++c)}inc(d,c,u){if(d.startsWith("pre")){if(!c&&u===!1)throw new Error("invalid increment argument: identifier is empty");if(c){let f=`-${c}`.match(this.options.loose?o[i.PRERELEASELOOSE]:o[i.PRERELEASE]);if(!f||f[1]!==c)throw new Error(`invalid identifier: ${c}`)}}switch(d){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",c,u);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",c,u);break;case"prepatch":this.prerelease.length=0,this.inc("patch",c,u),this.inc("pre",c,u);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",c,u),this.inc("pre",c,u);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let f=Number(u)?1:0;if(this.prerelease.length===0)this.prerelease=[f];else{let h=this.prerelease.length;for(;--h>=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);if(h===-1){if(c===this.prerelease.join(".")&&u===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(f)}}if(c){let h=[c,f];u===!1&&(h=[c]),a(this.prerelease[0],c)===0?isNaN(this.prerelease[1])&&(this.prerelease=h):this.prerelease=h}break}default:throw new Error(`invalid increment argument: ${d}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};e.exports=m}),Se=C((r,e)=>{"use strict";var t=J(),s=v((n,o,i=!1)=>{if(n instanceof t)return n;try{return new t(n,o)}catch(l){if(!i)return null;throw l}},"parse");e.exports=s}),yi=C((r,e)=>{"use strict";var t=Se(),s=v((n,o)=>{let i=t(n,o);return i?i.version:null},"valid");e.exports=s}),Oi=C((r,e)=>{"use strict";var t=Se(),s=v((n,o)=>{let i=t(n.trim().replace(/^[=v]+/,""),o);return i?i.version:null},"clean");e.exports=s}),wi=C((r,e)=>{"use strict";var t=J(),s=v((n,o,i,l,a)=>{typeof i=="string"&&(a=l,l=i,i=void 0);try{return new t(n instanceof t?n.version:n,i).inc(o,l,a).version}catch{return null}},"inc");e.exports=s}),vi=C((r,e)=>{"use strict";var t=Se(),s=v((n,o)=>{let i=t(n,null,!0),l=t(o,null,!0),a=i.compare(l);if(a===0)return null;let m=a>0,p=m?i:l,d=m?l:i,c=!!p.prerelease.length;if(d.prerelease.length&&!c){if(!d.patch&&!d.minor)return"major";if(d.compareMain(p)===0)return d.minor&&!d.patch?"minor":"patch"}let u=c?"pre":"";return i.major!==l.major?u+"major":i.minor!==l.minor?u+"minor":i.patch!==l.patch?u+"patch":"prerelease"},"diff");e.exports=s}),Ei=C((r,e)=>{"use strict";var t=J(),s=v((n,o)=>new t(n,o).major,"major");e.exports=s}),Si=C((r,e)=>{"use strict";var t=J(),s=v((n,o)=>new t(n,o).minor,"minor");e.exports=s}),Ri=C((r,e)=>{"use strict";var t=J(),s=v((n,o)=>new t(n,o).patch,"patch");e.exports=s}),_i=C((r,e)=>{"use strict";var t=Se(),s=v((n,o)=>{let i=t(n,o);return i&&i.prerelease.length?i.prerelease:null},"prerelease");e.exports=s}),se=C((r,e)=>{"use strict";var t=J(),s=v((n,o,i)=>new t(n,i).compare(new t(o,i)),"compare");e.exports=s}),bi=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(o,n,i),"rcompare");e.exports=s}),Pi=C((r,e)=>{"use strict";var t=se(),s=v((n,o)=>t(n,o,!0),"compareLoose");e.exports=s}),zt=C((r,e)=>{"use strict";var t=J(),s=v((n,o,i)=>{let l=new t(n,i),a=new t(o,i);return l.compare(a)||l.compareBuild(a)},"compareBuild");e.exports=s}),Ci=C((r,e)=>{"use strict";var t=zt(),s=v((n,o)=>n.sort((i,l)=>t(i,l,o)),"sort");e.exports=s}),Ii=C((r,e)=>{"use strict";var t=zt(),s=v((n,o)=>n.sort((i,l)=>t(l,i,o)),"rsort");e.exports=s}),tt=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)>0,"gt");e.exports=s}),Wt=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)<0,"lt");e.exports=s}),ws=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)===0,"eq");e.exports=s}),vs=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)!==0,"neq");e.exports=s}),Vt=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)>=0,"gte");e.exports=s}),Kt=C((r,e)=>{"use strict";var t=se(),s=v((n,o,i)=>t(n,o,i)<=0,"lte");e.exports=s}),Es=C((r,e)=>{"use strict";var t=ws(),s=vs(),n=tt(),o=Vt(),i=Wt(),l=Kt(),a=v((m,p,d,c)=>{switch(p){case"===":return typeof m=="object"&&(m=m.version),typeof d=="object"&&(d=d.version),m===d;case"!==":return typeof m=="object"&&(m=m.version),typeof d=="object"&&(d=d.version),m!==d;case"":case"=":case"==":return t(m,d,c);case"!=":return s(m,d,c);case">":return n(m,d,c);case">=":return o(m,d,c);case"<":return i(m,d,c);case"<=":return l(m,d,c);default:throw new TypeError(`Invalid operator: ${p}`)}},"cmp");e.exports=a}),Ti=C((r,e)=>{"use strict";var t=J(),s=Se(),{safeRe:n,t:o}=Le(),i=v((l,a)=>{if(l instanceof t)return l;if(typeof l=="number"&&(l=String(l)),typeof l!="string")return null;a=a||{};let m=null;if(!a.rtl)m=l.match(a.includePrerelease?n[o.COERCEFULL]:n[o.COERCE]);else{let h=a.includePrerelease?n[o.COERCERTLFULL]:n[o.COERCERTL],g;for(;(g=h.exec(l))&&(!m||m.index+m[0].length!==l.length);)(!m||g.index+g[0].length!==m.index+m[0].length)&&(m=g),h.lastIndex=g.index+g[1].length+g[2].length;h.lastIndex=-1}if(m===null)return null;let p=m[2],d=m[3]||"0",c=m[4]||"0",u=a.includePrerelease&&m[5]?`-${m[5]}`:"",f=a.includePrerelease&&m[6]?`+${m[6]}`:"";return s(`${p}.${d}.${c}${u}${f}`,a)},"coerce");e.exports=i}),ki=C((r,e)=>{"use strict";var t=class{static{v(this,"LRUCache")}constructor(){this.max=1e3,this.map=new Map}get(s){let n=this.map.get(s);if(n!==void 0)return this.map.delete(s),this.map.set(s,n),n}delete(s){return this.map.delete(s)}set(s,n){if(!this.delete(s)&&n!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(s,n)}return this}};e.exports=t}),ne=C((r,e)=>{"use strict";var t=/\s+/g,s=class Qe{static{v(this,"Range")}constructor(O,b){if(b=i(b),O instanceof Qe)return O.loose===!!b.loose&&O.includePrerelease===!!b.includePrerelease?O:new Qe(O.raw,b);if(O instanceof l)return this.raw=O.value,this.set=[[O]],this.formatted=void 0,this;if(this.options=b,this.loose=!!b.loose,this.includePrerelease=!!b.includePrerelease,this.raw=O.trim().replace(t," "),this.set=this.raw.split("||").map(R=>this.parseRange(R.trim())).filter(R=>R.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let R=this.set[0];if(this.set=this.set.filter(P=>!y(P[0])),this.set.length===0)this.set=[R];else if(this.set.length>1){for(let P of this.set)if(P.length===1&&E(P[0])){this.set=[P];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let O=0;O<this.set.length;O++){O>0&&(this.formatted+="||");let b=this.set[O];for(let R=0;R<b.length;R++)R>0&&(this.formatted+=" "),this.formatted+=b[R].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(O){let b=((this.options.includePrerelease&&h)|(this.options.loose&&g))+":"+O,R=o.get(b);if(R)return R;let P=this.options.loose,_=P?p[d.HYPHENRANGELOOSE]:p[d.HYPHENRANGE];O=O.replace(_,Bn(this.options.includePrerelease)),a("hyphen replace",O),O=O.replace(p[d.COMPARATORTRIM],c),a("comparator trim",O),O=O.replace(p[d.TILDETRIM],u),a("tilde trim",O),O=O.replace(p[d.CARETTRIM],f),a("caret trim",O);let I=O.split(" ").map(U=>k(U,this.options)).join(" ").split(/\s+/).map(U=>Dn(U,this.options));P&&(I=I.filter(U=>(a("loose invalid filter",U,this.options),!!U.match(p[d.COMPARATORLOOSE])))),a("range list",I);let F=new Map,N=I.map(U=>new l(U,this.options));for(let U of N){if(y(U))return[U];F.set(U.value,U)}F.size>1&&F.has("")&&F.delete("");let j=[...F.values()];return o.set(b,j),j}intersects(O,b){if(!(O instanceof Qe))throw new TypeError("a Range is required");return this.set.some(R=>$(R,b)&&O.set.some(P=>$(P,b)&&R.every(_=>P.every(I=>_.intersects(I,b)))))}test(O){if(!O)return!1;if(typeof O=="string")try{O=new m(O,this.options)}catch{return!1}for(let b=0;b<this.set.length;b++)if(Gn(this.set[b],O,this.options))return!0;return!1}};e.exports=s;var n=ki(),o=new n,i=qt(),l=rt(),a=et(),m=J(),{safeRe:p,t:d,comparatorTrimReplace:c,tildeTrimReplace:u,caretTrimReplace:f}=Le(),{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:g}=Ze(),y=v(w=>w.value==="<0.0.0-0","isNullSet"),E=v(w=>w.value==="","isAny"),$=v((w,O)=>{let b=!0,R=w.slice(),P=R.pop();for(;b&&R.length;)b=R.every(_=>P.intersects(_,O)),P=R.pop();return b},"isSatisfiable"),k=v((w,O)=>(a("comp",w,O),w=M(w,O),a("caret",w),w=H(w,O),a("tildes",w),w=T(w,O),a("xrange",w),w=Un(w,O),a("stars",w),w),"parseComparator"),A=v(w=>!w||w.toLowerCase()==="x"||w==="*","isX"),H=v((w,O)=>w.trim().split(/\s+/).map(b=>D(b,O)).join(" "),"replaceTildes"),D=v((w,O)=>{let b=O.loose?p[d.TILDELOOSE]:p[d.TILDE];return w.replace(b,(R,P,_,I,F)=>{a("tilde",w,R,P,_,I,F);let N;return A(P)?N="":A(_)?N=`>=${P}.0.0 <${+P+1}.0.0-0`:A(I)?N=`>=${P}.${_}.0 <${P}.${+_+1}.0-0`:F?(a("replaceTilde pr",F),N=`>=${P}.${_}.${I}-${F} <${P}.${+_+1}.0-0`):N=`>=${P}.${_}.${I} <${P}.${+_+1}.0-0`,a("tilde return",N),N})},"replaceTilde"),M=v((w,O)=>w.trim().split(/\s+/).map(b=>G(b,O)).join(" "),"replaceCarets"),G=v((w,O)=>{a("caret",w,O);let b=O.loose?p[d.CARETLOOSE]:p[d.CARET],R=O.includePrerelease?"-0":"";return w.replace(b,(P,_,I,F,N)=>{a("caret",w,P,_,I,F,N);let j;return A(_)?j="":A(I)?j=`>=${_}.0.0${R} <${+_+1}.0.0-0`:A(F)?_==="0"?j=`>=${_}.${I}.0${R} <${_}.${+I+1}.0-0`:j=`>=${_}.${I}.0${R} <${+_+1}.0.0-0`:N?(a("replaceCaret pr",N),_==="0"?I==="0"?j=`>=${_}.${I}.${F}-${N} <${_}.${I}.${+F+1}-0`:j=`>=${_}.${I}.${F}-${N} <${_}.${+I+1}.0-0`:j=`>=${_}.${I}.${F}-${N} <${+_+1}.0.0-0`):(a("no pr"),_==="0"?I==="0"?j=`>=${_}.${I}.${F}${R} <${_}.${I}.${+F+1}-0`:j=`>=${_}.${I}.${F}${R} <${_}.${+I+1}.0-0`:j=`>=${_}.${I}.${F} <${+_+1}.0.0-0`),a("caret return",j),j})},"replaceCaret"),T=v((w,O)=>(a("replaceXRanges",w,O),w.split(/\s+/).map(b=>ke(b,O)).join(" ")),"replaceXRanges"),ke=v((w,O)=>{w=w.trim();let b=O.loose?p[d.XRANGELOOSE]:p[d.XRANGE];return w.replace(b,(R,P,_,I,F,N)=>{a("xRange",w,R,P,_,I,F,N);let j=A(_),U=j||A(I),we=U||A(F),$e=we;return P==="="&&$e&&(P=""),N=O.includePrerelease?"-0":"",j?P===">"||P==="<"?R="<0.0.0-0":R="*":P&&$e?(U&&(I=0),F=0,P===">"?(P=">=",U?(_=+_+1,I=0,F=0):(I=+I+1,F=0)):P==="<="&&(P="<",U?_=+_+1:I=+I+1),P==="<"&&(N="-0"),R=`${P+_}.${I}.${F}${N}`):U?R=`>=${_}.0.0${N} <${+_+1}.0.0-0`:we&&(R=`>=${_}.${I}.0${N} <${_}.${+I+1}.0-0`),a("xRange return",R),R})},"replaceXRange"),Un=v((w,O)=>(a("replaceStars",w,O),w.trim().replace(p[d.STAR],"")),"replaceStars"),Dn=v((w,O)=>(a("replaceGTE0",w,O),w.trim().replace(p[O.includePrerelease?d.GTE0PRE:d.GTE0],"")),"replaceGTE0"),Bn=v(w=>(O,b,R,P,_,I,F,N,j,U,we,$e)=>(A(R)?b="":A(P)?b=`>=${R}.0.0${w?"-0":""}`:A(_)?b=`>=${R}.${P}.0${w?"-0":""}`:I?b=`>=${b}`:b=`>=${b}${w?"-0":""}`,A(j)?N="":A(U)?N=`<${+j+1}.0.0-0`:A(we)?N=`<${j}.${+U+1}.0-0`:$e?N=`<=${j}.${U}.${we}-${$e}`:w?N=`<${j}.${U}.${+we+1}-0`:N=`<=${N}`,`${b} ${N}`.trim()),"hyphenReplace"),Gn=v((w,O,b)=>{for(let R=0;R<w.length;R++)if(!w[R].test(O))return!1;if(O.prerelease.length&&!b.includePrerelease){for(let R=0;R<w.length;R++)if(a(w[R].semver),w[R].semver!==l.ANY&&w[R].semver.prerelease.length>0){let P=w[R].semver;if(P.major===O.major&&P.minor===O.minor&&P.patch===O.patch)return!0}return!1}return!0},"testSet")}),rt=C((r,e)=>{"use strict";var t=Symbol("SemVer ANY"),s=class Gt{static{v(this,"Comparator")}static get ANY(){return t}constructor(c,u){if(u=n(u),c instanceof Gt){if(c.loose===!!u.loose)return c;c=c.value}c=c.trim().split(/\s+/).join(" "),a("comparator",c,u),this.options=u,this.loose=!!u.loose,this.parse(c),this.semver===t?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(c){let u=this.options.loose?o[i.COMPARATORLOOSE]:o[i.COMPARATOR],f=c.match(u);if(!f)throw new TypeError(`Invalid comparator: ${c}`);this.operator=f[1]!==void 0?f[1]:"",this.operator==="="&&(this.operator=""),f[2]?this.semver=new m(f[2],this.options.loose):this.semver=t}toString(){return this.value}test(c){if(a("Comparator.test",c,this.options.loose),this.semver===t||c===t)return!0;if(typeof c=="string")try{c=new m(c,this.options)}catch{return!1}return l(c,this.operator,this.semver,this.options)}intersects(c,u){if(!(c instanceof Gt))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new p(c.value,u).test(this.value):c.operator===""?c.value===""?!0:new p(this.value,u).test(c.semver):(u=n(u),u.includePrerelease&&(this.value==="<0.0.0-0"||c.value==="<0.0.0-0")||!u.includePrerelease&&(this.value.startsWith("<0.0.0")||c.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&c.operator.startsWith(">")||this.operator.startsWith("<")&&c.operator.startsWith("<")||this.semver.version===c.semver.version&&this.operator.includes("=")&&c.operator.includes("=")||l(this.semver,"<",c.semver,u)&&this.operator.startsWith(">")&&c.operator.startsWith("<")||l(this.semver,">",c.semver,u)&&this.operator.startsWith("<")&&c.operator.startsWith(">")))}};e.exports=s;var n=qt(),{safeRe:o,t:i}=Le(),l=Es(),a=et(),m=J(),p=ne()}),st=C((r,e)=>{"use strict";var t=ne(),s=v((n,o,i)=>{try{o=new t(o,i)}catch{return!1}return o.test(n)},"satisfies");e.exports=s}),$i=C((r,e)=>{"use strict";var t=ne(),s=v((n,o)=>new t(n,o).set.map(i=>i.map(l=>l.value).join(" ").trim().split(" ")),"toComparators");e.exports=s}),Ai=C((r,e)=>{"use strict";var t=J(),s=ne(),n=v((o,i,l)=>{let a=null,m=null,p=null;try{p=new s(i,l)}catch{return null}return o.forEach(d=>{p.test(d)&&(!a||m.compare(d)===-1)&&(a=d,m=new t(a,l))}),a},"maxSatisfying");e.exports=n}),Ni=C((r,e)=>{"use strict";var t=J(),s=ne(),n=v((o,i,l)=>{let a=null,m=null,p=null;try{p=new s(i,l)}catch{return null}return o.forEach(d=>{p.test(d)&&(!a||m.compare(d)===1)&&(a=d,m=new t(a,l))}),a},"minSatisfying");e.exports=n}),Li=C((r,e)=>{"use strict";var t=J(),s=ne(),n=tt(),o=v((i,l)=>{i=new s(i,l);let a=new t("0.0.0");if(i.test(a)||(a=new t("0.0.0-0"),i.test(a)))return a;a=null;for(let m=0;m<i.set.length;++m){let p=i.set[m],d=null;p.forEach(c=>{let u=new t(c.semver.version);switch(c.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!d||n(u,d))&&(d=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),d&&(!a||n(a,d))&&(a=d)}return a&&i.test(a)?a:null},"minVersion");e.exports=o}),xi=C((r,e)=>{"use strict";var t=ne(),s=v((n,o)=>{try{return new t(n,o).range||"*"}catch{return null}},"validRange");e.exports=s}),Jt=C((r,e)=>{"use strict";var t=J(),s=rt(),{ANY:n}=s,o=ne(),i=st(),l=tt(),a=Wt(),m=Kt(),p=Vt(),d=v((c,u,f,h)=>{c=new t(c,h),u=new o(u,h);let g,y,E,$,k;switch(f){case">":g=l,y=m,E=a,$=">",k=">=";break;case"<":g=a,y=p,E=l,$="<",k="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(c,u,h))return!1;for(let A=0;A<u.set.length;++A){let H=u.set[A],D=null,M=null;if(H.forEach(G=>{G.semver===n&&(G=new s(">=0.0.0")),D=D||G,M=M||G,g(G.semver,D.semver,h)?D=G:E(G.semver,M.semver,h)&&(M=G)}),D.operator===$||D.operator===k||(!M.operator||M.operator===$)&&y(c,M.semver)||M.operator===k&&E(c,M.semver))return!1}return!0},"outside");e.exports=d}),Fi=C((r,e)=>{"use strict";var t=Jt(),s=v((n,o,i)=>t(n,o,">",i),"gtr");e.exports=s}),Mi=C((r,e)=>{"use strict";var t=Jt(),s=v((n,o,i)=>t(n,o,"<",i),"ltr");e.exports=s}),ji=C((r,e)=>{"use strict";var t=ne(),s=v((n,o,i)=>(n=new t(n,i),o=new t(o,i),n.intersects(o,i)),"intersects");e.exports=s}),Ui=C((r,e)=>{"use strict";var t=st(),s=se();e.exports=(n,o,i)=>{let l=[],a=null,m=null,p=n.sort((f,h)=>s(f,h,i));for(let f of p)t(f,o,i)?(m=f,a||(a=f)):(m&&l.push([a,m]),m=null,a=null);a&&l.push([a,null]);let d=[];for(let[f,h]of l)f===h?d.push(f):!h&&f===p[0]?d.push("*"):h?f===p[0]?d.push(`<=${h}`):d.push(`${f} - ${h}`):d.push(`>=${f}`);let c=d.join(" || "),u=typeof o.raw=="string"?o.raw:String(o);return c.length<u.length?c:o}}),Di=C((r,e)=>{"use strict";var t=ne(),s=rt(),{ANY:n}=s,o=st(),i=se(),l=v((u,f,h={})=>{if(u===f)return!0;u=new t(u,h),f=new t(f,h);let g=!1;e:for(let y of u.set){for(let E of f.set){let $=p(y,E,h);if(g=g||$!==null,$)continue e}if(g)return!1}return!0},"subset"),a=[new s(">=0.0.0-0")],m=[new s(">=0.0.0")],p=v((u,f,h)=>{if(u===f)return!0;if(u.length===1&&u[0].semver===n){if(f.length===1&&f[0].semver===n)return!0;h.includePrerelease?u=a:u=m}if(f.length===1&&f[0].semver===n){if(h.includePrerelease)return!0;f=m}let g=new Set,y,E;for(let T of u)T.operator===">"||T.operator===">="?y=d(y,T,h):T.operator==="<"||T.operator==="<="?E=c(E,T,h):g.add(T.semver);if(g.size>1)return null;let $;if(y&&E&&($=i(y.semver,E.semver,h),$>0||$===0&&(y.operator!==">="||E.operator!=="<=")))return null;for(let T of g){if(y&&!o(T,String(y),h)||E&&!o(T,String(E),h))return null;for(let ke of f)if(!o(T,String(ke),h))return!1;return!0}let k,A,H,D,M=E&&!h.includePrerelease&&E.semver.prerelease.length?E.semver:!1,G=y&&!h.includePrerelease&&y.semver.prerelease.length?y.semver:!1;M&&M.prerelease.length===1&&E.operator==="<"&&M.prerelease[0]===0&&(M=!1);for(let T of f){if(D=D||T.operator===">"||T.operator===">=",H=H||T.operator==="<"||T.operator==="<=",y){if(G&&T.semver.prerelease&&T.semver.prerelease.length&&T.semver.major===G.major&&T.semver.minor===G.minor&&T.semver.patch===G.patch&&(G=!1),T.operator===">"||T.operator===">="){if(k=d(y,T,h),k===T&&k!==y)return!1}else if(y.operator===">="&&!o(y.semver,String(T),h))return!1}if(E){if(M&&T.semver.prerelease&&T.semver.prerelease.length&&T.semver.major===M.major&&T.semver.minor===M.minor&&T.semver.patch===M.patch&&(M=!1),T.operator==="<"||T.operator==="<="){if(A=c(E,T,h),A===T&&A!==E)return!1}else if(E.operator==="<="&&!o(E.semver,String(T),h))return!1}if(!T.operator&&(E||y)&&$!==0)return!1}return!(y&&H&&!E&&$!==0||E&&D&&!y&&$!==0||G||M)},"simpleSubset"),d=v((u,f,h)=>{if(!u)return f;let g=i(u.semver,f.semver,h);return g>0?u:g<0||f.operator===">"&&u.operator===">="?f:u},"higherGT"),c=v((u,f,h)=>{if(!u)return f;let g=i(u.semver,f.semver,h);return g<0?u:g>0||f.operator==="<"&&u.operator==="<="?f:u},"lowerLT");e.exports=l}),Bt=Le(),gs=Ze(),Bi=J(),ys=Os(),Gi=Se(),qi=yi(),zi=Oi(),Wi=wi(),Vi=vi(),Ki=Ei(),Ji=Si(),Xi=Ri(),Hi=_i(),Yi=se(),Qi=bi(),Zi=Pi(),ea=zt(),ta=Ci(),ra=Ii(),sa=tt(),na=Wt(),oa=ws(),ia=vs(),aa=Vt(),ca=Kt(),ua=Es(),la=Ti(),pa=rt(),da=ne(),ha=st(),fa=$i(),ma=Ai(),ga=Ni(),ya=Li(),Oa=xi(),wa=Jt(),va=Fi(),Ea=Mi(),Sa=ji(),Ra=Ui(),_a=Di();Ss.exports={parse:Gi,valid:qi,clean:zi,inc:Wi,diff:Vi,major:Ki,minor:Ji,patch:Xi,prerelease:Hi,compare:Yi,rcompare:Qi,compareLoose:Zi,compareBuild:ea,sort:ta,rsort:ra,gt:sa,lt:na,eq:oa,neq:ia,gte:aa,lte:ca,cmp:ua,coerce:la,Comparator:pa,Range:da,satisfies:ha,toComparators:fa,maxSatisfying:ma,minSatisfying:ga,minVersion:ya,validRange:Oa,outside:wa,gtr:va,ltr:Ea,intersects:Sa,simplifyRange:Ra,subset:_a,SemVer:Bi,re:Bt.re,src:Bt.src,tokens:Bt.t,SEMVER_SPEC_VERSION:gs.SEMVER_SPEC_VERSION,RELEASE_TYPES:gs.RELEASE_TYPES,compareIdentifiers:ys.compareIdentifiers,rcompareIdentifiers:ys.rcompareIdentifiers}});var Cs=B((zl,Ps)=>{"use strict";var Qt=Object.defineProperty,ba=Object.getOwnPropertyDescriptor,Pa=Object.getOwnPropertyNames,Ca=Object.prototype.hasOwnProperty,Ia=(r,e)=>{for(var t in e)Qt(r,t,{get:e[t],enumerable:!0})},Ta=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Pa(e))!Ca.call(r,n)&&n!==t&&Qt(r,n,{get:()=>e[n],enumerable:!(s=ba(e,n))||s.enumerable});return r},ka=r=>Ta(Qt({},"__esModule",{value:!0}),r),_s={};Ia(_s,{compareSemver:()=>La,compareStr:()=>Na,localeCompare:()=>$a,naturalCompare:()=>bs,naturalSorter:()=>Aa});Ps.exports=ka(_s);var Xt;function $a(r,e){return Xt===void 0&&(Xt=new Intl.Collator().compare),Xt(r,e)}var Ht;function bs(r,e){return Ht===void 0&&(Ht=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare),Ht(r,e)}var Yt;function Aa(r){return Yt===void 0&&(Yt=ms().createNewSortInstance({comparer:bs})),Yt?.(r)}function Na(r,e){return r<e?-1:r>e?1:0}function La(r,e){let t=Rs(),s=t.valid(r),n=t.valid(e);return!s&&!n?0:s?n?t.compare(r,e):1:-1}});var it=B((Wl,Ls)=>{"use strict";var tr=Object.defineProperty,xa=Object.getOwnPropertyDescriptor,Fa=Object.getOwnPropertyNames,Ma=Object.prototype.hasOwnProperty,ja=(r,e)=>{for(var t in e)tr(r,t,{get:e[t],enumerable:!0})},Ua=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Fa(e))!Ma.call(r,n)&&n!==t&&tr(r,n,{get:()=>e[n],enumerable:!(s=xa(e,n))||s.enumerable});return r},Da=r=>Ua(tr({},"__esModule",{value:!0}),r),ks={};ja(ks,{createConstantsObject:()=>Ja,createLazyGetter:()=>sr,defineGetter:()=>$s,defineLazyGetter:()=>As,defineLazyGetters:()=>Ns,entryKeyComparator:()=>er,getKeys:()=>Xa,getOwn:()=>Ha,getOwnPropertyValues:()=>Ya,hasKeys:()=>Qa,hasOwn:()=>Za,isObject:()=>Re,isObjectObject:()=>ec,merge:()=>sc,objectAssign:()=>tc,objectEntries:()=>nr,objectFreeze:()=>rc,toSortedObject:()=>nt,toSortedObjectFromEntries:()=>or});Ls.exports=Da(ks);var Fe=He(),xe=Ft(),Ba=Cs(),Is=Object.defineProperties,Ga=Object.defineProperty,de=Object.freeze,qa=Object.fromEntries,Ts=Object.getOwnPropertyDescriptors,za=Object.getOwnPropertyNames,Wa=Object.getPrototypeOf,ot=Object.hasOwn,Va=Object.keys,Ka=Object.prototype,Zt=Object.setPrototypeOf,rr=Reflect.ownKeys;function sr(r,e,t){let s=Fe.UNDEFINED_TOKEN,{[r]:n}={[r](){return s===Fe.UNDEFINED_TOKEN&&(t?.initialized?.add(r),s=e()),s}};return n}function Ja(r,e){let t={__proto__:null,...e},s=de({__proto__:null,getters:t.getters?de(Zt(nt(t.getters),null)):void 0,internals:t.internals?de(Zt(nt(t.internals),null)):void 0,mixin:t.mixin?de(Is({__proto__:null},Ts(t.mixin))):void 0,props:r?de(Zt(nt(r),null)):void 0}),n=de({__proto__:null,initialized:new Set}),o=Ns({__proto__:null,[Fe.kInternalsSymbol]:de({__proto__:null,get attributes(){return s},get lazyGetterStats(){return n},...s.internals}),kInternalsSymbol:Fe.kInternalsSymbol,...s.props},s.getters,n);return s.mixin&&Is(o,or(nr(Ts(s.mixin)).filter(i=>!ot(o,i[0])))),de(o)}function $s(r,e,t){return Ga(r,e,{get:t,enumerable:!1,configurable:!0}),r}function As(r,e,t,s){return $s(r,e,sr(e,t,s))}function Ns(r,e,t){if(e!==null&&typeof e=="object"){let s=rr(e);for(let n=0,{length:o}=s;n<o;n+=1){let i=s[n];e[i]}}return r}function er(r,e){let t=r[0],s=e[0],n=typeof t=="string"?t:String(t),o=typeof s=="string"?s:String(s);return(0,Ba.localeCompare)(n,o)}function Xa(r){return Re(r)?Va(r):[]}function Ha(r,e){if(r!=null)return ot(r,e)?r[e]:void 0}function Ya(r){if(r==null)return[];let e=za(r),{length:t}=e,s=Array(t);for(let n=0;n<t;n+=1)s[n]=r[e[n]];return s}function Qa(r){if(r==null)return!1;for(let e in r)if(ot(r,e))return!0;return!1}function Za(r,e){return r==null?!1:ot(r,e)}function Re(r){return r!==null&&typeof r=="object"}function ec(r){if(r===null||typeof r!="object"||(0,xe.isArray)(r))return!1;let e=Wa(r);return e===null||e===Ka}var tc=Object.assign;function nr(r){if(r==null)return[];let e=rr(r),{length:t}=e,s=Array(t),n=r;for(let o=0;o<t;o+=1){let i=e[o];s[o]=[i,n[i]]}return s}var rc=Object.freeze;function sc(r,e){if(!Re(r)||!Re(e))return r;let t=[[r,e]],s=0,{length:n}=t;for(;s<n;){if(s===Fe.LOOP_SENTINEL)throw new Error("Detected infinite loop in object crawl of merge");let{0:o,1:i}=t[s++];if(!i||!o)continue;let l=(0,xe.isArray)(i),a=(0,xe.isArray)(o);if(l||a)continue;let m=rr(i);for(let p=0,{length:d}=m;p<d;p+=1){let c=m[p],u=i[c],f=o[c];(0,xe.isArray)(u)?o[c]=u:Re(u)&&Re(f)&&!(0,xe.isArray)(f)?t[n++]=[f,u]:o[c]=u}}return r}function nt(r){return or(nr(r))}function or(r){let e=[],t=[];for(let s of r)typeof s[0]=="symbol"?t.push(s):e.push(s);return!e.length&&!t.length?{}:qa([...t.sort(er),...e.sort(er)])}});var Gs=B((Vl,Bs)=>{"use strict";var nc=Object.create,at=Object.defineProperty,oc=Object.getOwnPropertyDescriptor,ic=Object.getOwnPropertyNames,ac=Object.getPrototypeOf,cc=Object.prototype.hasOwnProperty,uc=(r,e)=>{for(var t in e)at(r,t,{get:e[t],enumerable:!0})},js=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ic(e))!cc.call(r,n)&&n!==t&&at(r,n,{get:()=>e[n],enumerable:!(s=oc(e,n))||s.enumerable});return r},Us=(r,e,t)=>(t=r!=null?nc(ac(r)):{},js(e||!r||!r.__esModule?at(t,"default",{value:r,enumerable:!0}):t,r)),lc=r=>js(at({},"__esModule",{value:!0}),r),Ds={};uc(Ds,{LOG_SYMBOLS:()=>ur,Logger:()=>_e,incLogCallCountSymbol:()=>Z,lastWasBlankSymbol:()=>X,logger:()=>Oc});Bs.exports=lc(Ds);var pc=Us(kt()),dc=Us(cs()),xs=it(),ir=vt(),Me=console,ar=Reflect.apply,hc=Reflect.construct,cr;function Fs(...r){return cr===void 0&&(cr=re("node:console").Console),hc(cr,r)}function fc(){return dc.default}var ur=(()=>{let r={__proto__:null},e={__proto__:null},t=()=>{let s=(0,pc.default)(),n=fc();(0,xs.objectAssign)(r,{fail:n.red(s?"\u2716":"\xD7"),info:n.blue(s?"\u2139":"i"),success:n.green(s?"\u2714":"\u221A"),warn:n.yellow(s?"\u26A0":"\u203C")}),(0,xs.objectFreeze)(r);for(let o in e)delete e[o]};for(let s of Reflect.ownKeys(Reflect)){let n=Reflect[s];typeof n=="function"&&(e[s]=(...o)=>(t(),n(...o)))}return new Proxy(r,e)})(),mc=["_stderrErrorHandler","_stdoutErrorHandler","assert","clear","count","countReset","createTask","debug","dir","dirxml","error","info","log","table","time","timeEnd","timeLog","trace","warn"].filter(r=>typeof Me[r]=="function").map(r=>[r,Me[r].bind(Me)]),Ms={__proto__:null,writable:!0,enumerable:!1,configurable:!0},gc=1e3,z=new WeakMap,yc=Object.getOwnPropertySymbols(Me),Z=Symbol.for("logger.logCallCount++"),lr=yc.find(r=>r.label==="kGroupIndentWidth")??Symbol("kGroupIndentWidth"),X=Symbol.for("logger.lastWasBlank"),_e=class r{static LOG_SYMBOLS=ur;#a;#e;#c;#r;#l="";#p="";#s=!1;#u=0;#d;#i;constructor(...e){this.#d=e;let t=e[0];if(typeof t=="object"&&t!==null?this.#i={__proto__:null,...t}:this.#i={__proto__:null},e.length)z.set(this,Fs(...e));else{let s=Fs({stdout:process.stdout,stderr:process.stderr});for(let{0:n,1:o}of mc)s[n]=o;z.set(this,s)}}get stderr(){if(!this.#c){let e=new r(...this.#d);e.#a=this,e.#e="stderr",e.#i={__proto__:null,...this.#i},this.#c=e}return this.#c}get stdout(){if(!this.#r){let e=new r(...this.#d);e.#a=this,e.#e="stdout",e.#i={__proto__:null,...this.#i},this.#r=e}return this.#r}#f(){return this.#a||this}#o(e){let t=this.#f();return e==="stderr"?t.#l:t.#p}#t(e,t){let s=this.#f();e==="stderr"?s.#l=t:s.#p=t}#n(){return this.#e||"stderr"}#m(e,t,s){let n=z.get(this),o=t.at(0),i=typeof o=="string",l=s||(e==="log"?"stdout":"stderr"),a=this.#o(l),m=i?[(0,ir.applyLinePrefix)(o,{prefix:a}),...t.slice(1)]:t;return ar(n[e],n,m),this[X](i&&(0,ir.isBlankString)(m[0])),this[Z](),this}#g(e){return e.replace(/^[✖✗×⚠‼✔✓√ℹ]\uFE0F?\s*/u,"")}#h(e,t){let s=z.get(this),n=t.at(0),o;typeof n=="string"?(n=this.#g(n),o=t.slice(1)):(o=t,n="");let i=this.#o("stderr");return s.error((0,ir.applyLinePrefix)(`${ur[e]} ${n}`,{prefix:i}),...o),this.#s=!1,this[Z](),this}get logCallCount(){return this.#u}[Z](){return this.#u+=1,this}[X](e){return this.#s=!!e,this}assert(e,...t){return z.get(this).assert(e,...t),this[X](!1),e?this:this[Z]()}clearVisible(){if(this.#e)throw new Error("clearVisible() is only available on the main logger instance, not on stream-bound instances");let e=z.get(this);return e.clear(),e._stdout.isTTY&&(this[X](!0),this.#u=0),this}count(e){return z.get(this).count(e),this[X](!1),this[Z]()}createTask(e){return{run:t=>{this.log(`Starting task: ${e}`);let s=t();return this.log(`Completed task: ${e}`),s}}}dedent(e=2){if(this.#e){let t=this.#o(this.#e);this.#t(this.#e,t.slice(0,-e))}else{let t=this.#o("stderr"),s=this.#o("stdout");this.#t("stderr",t.slice(0,-e)),this.#t("stdout",s.slice(0,-e))}return this}dir(e,t){return z.get(this).dir(e,t),this[X](!1),this[Z]()}dirxml(...e){return z.get(this).dirxml(e),this[X](!1),this[Z]()}error(...e){return this.#m("error",e)}errorNewline(){return this.#s?this:this.error("")}fail(...e){return this.#h("fail",e)}group(...e){let{length:t}=e;return t&&ar(this.log,this,e),this.indent(this[lr]),t&&(this[X](!1),this[Z]()),this}groupCollapsed(...e){return ar(this.group,this,e)}groupEnd(){return this.dedent(this[lr]),this}indent(e=2){let t=" ".repeat(Math.min(e,gc));if(this.#e){let s=this.#o(this.#e);this.#t(this.#e,s+t)}else{let s=this.#o("stderr"),n=this.#o("stdout");this.#t("stderr",s+t),this.#t("stdout",n+t)}return this}info(...e){return this.#h("info",e)}log(...e){return this.#m("log",e)}logNewline(){return this.#s?this:this.log("")}resetIndent(){return this.#e?this.#t(this.#e,""):(this.#t("stderr",""),this.#t("stdout","")),this}step(e,...t){return this.#s||this.log(""),this.log(e,...t)}substep(e,...t){let s=` ${e}`;return this.log(s,...t)}success(...e){return this.#h("success",e)}done(...e){return this.#h("success",e)}table(e,t){return z.get(this).table(e,t),this[X](!1),this[Z]()}timeEnd(e){return z.get(this).timeEnd(e),this[X](!1),this[Z]()}timeLog(e,...t){return z.get(this).timeLog(e,...t),this[X](!1),this[Z]()}trace(e,...t){return z.get(this).trace(e,...t),this[X](!1),this[Z]()}warn(...e){return this.#h("warn",e)}write(e){return z.get(this)._stdout.write(e),this[X](!1),this}progress(e){let t=z.get(this);return(this.#n()==="stderr"?t._stderr:t._stdout).write(`\u2234 ${e}`),this[X](!1),this}clearLine(){let e=z.get(this),s=this.#n()==="stderr"?e._stderr:e._stdout;return s.isTTY?(s.cursorTo(0),s.clearLine(0)):s.write("\r\x1B[K"),this}};Object.defineProperties(_e.prototype,Object.fromEntries((()=>{let r=[[lr,{...Ms,value:2}],[Symbol.toStringTag,{__proto__:null,configurable:!0,value:"logger"}]];for(let{0:e,1:t}of Object.entries(Me))if(!_e.prototype[e]&&typeof t=="function"){let{[e]:s}={[e](...n){let o=z.get(this),i=o[e](...n);return i===void 0||i===o?this:i}};r.push([e,{...Ms,value:s}])}return r})()));var Oc=new _e});var Be=B((Kl,Qs)=>{"use strict";var wc=Object.create,ct=Object.defineProperty,vc=Object.getOwnPropertyDescriptor,Ec=Object.getOwnPropertyNames,Sc=Object.getPrototypeOf,Rc=Object.prototype.hasOwnProperty,_c=(r,e)=>{for(var t in e)ct(r,t,{get:e[t],enumerable:!0})},Ws=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ec(e))!Rc.call(r,n)&&n!==t&&ct(r,n,{get:()=>e[n],enumerable:!(s=vc(e,n))||s.enumerable});return r},Vs=(r,e,t)=>(t=r!=null?wc(Sc(r)):{},Ws(e||!r||!r.__esModule?ct(t,"default",{value:r,enumerable:!0}):t,r)),bc=r=>Ws(ct({},"__esModule",{value:!0}),r),Ks={};_c(Ks,{debug:()=>Ac,debugCache:()=>kc,debugCacheNs:()=>Tc,debugDir:()=>Nc,debugDirNs:()=>Xs,debugLog:()=>Lc,debugLogNs:()=>Ys,debugNs:()=>Hs,debuglog:()=>Fc,debugtime:()=>Mc,isDebug:()=>xc,isDebugNs:()=>$c});Qs.exports=bc(Ks);var ut=Xe(),Pc=Hr(),je=Zr(),Ue=Vs(kt()),ie=Vs(is()),ae=Gs(),Cc=it(),Js=vt(),lt=Reflect.apply,qs=new Map;function zs(r){let e=qs.get(r);return e||(!Pc.DEBUG&&je.SOCKET_DEBUG&&(r==="error"||r==="notice")&&ie.default.enable(r),e=(0,ie.default)(r),e.log=Ic,qs.set(r,e),e)}var pr;function dr(){return pr===void 0&&(pr=re("node:util")),pr}function be(r=3){let e="",t=Error.captureStackTrace;if(typeof t=="function"){let s={};t(s,be);let n=s.stack;if(typeof n=="string"){let o=0,i=0;for(let l=0,{length:a}=n;l<a;l+=1)if(n[l]===`
8
+ `)if(o+=1,o<r)i=l+1;else{let m=n.slice(i,l).trimStart(),p=/(?<=^at\s+).*?(?=\s+\(|$)/.exec(m)?.[0];if(p&&(e=p.replace(/^(?:async|bound|get|new|set)\s+/,""),e.startsWith("Object."))){let d=e.slice(7);(0,Cc.hasOwn)(Object,d)||(e=d)}break}}}return e}function Ic(...r){let e=dr(),t=ie.default.inspectOpts?{...ie.default.inspectOpts,showHidden:ie.default.inspectOpts.showHidden===null?void 0:ie.default.inspectOpts.showHidden,depth:ie.default.inspectOpts.depth===null||typeof ie.default.inspectOpts.depth=="boolean"?void 0:ie.default.inspectOpts.depth}:{};lt(ae.logger.info,ae.logger,[e.formatWithOptions(t,...r)])}function pt(r){return r!==null&&typeof r=="object"?{__proto__:null,...r}:{__proto__:null,namespaces:r}}function De(r){if(!je.SOCKET_DEBUG)return!1;if(typeof r!="string"||!r||r==="*")return!0;let e=r.trim().replace(/\s+/g,",").split(",").filter(Boolean),t=[],s=[];for(let n of e)n.startsWith("-")?s.push(n.slice(1)):t.push(n);return t.length&&!t.some(n=>zs(n).enabled)?!1:s.every(n=>!zs(n).enabled)}function Xs(r,e,t){let s=pt(r),{namespaces:n}=s;if(!De(n))return;let o=be(4)||"anonymous";K===void 0&&(K=(0,Ue.default)()?"\u25B8":">");let i=t;if(i===void 0){let m=ie.default.inspectOpts;m&&(i={...m,showHidden:m.showHidden===null?void 0:m.showHidden,depth:m.depth===null||typeof m.depth=="boolean"?null:m.depth})}let l=s.spinner||(0,ut.getSpinner)(),a=l?.isSpinning;l?.stop(),ae.logger.info(`[DEBUG] ${o} ${K} object inspection:`),ae.logger.dir(e,t),a&&l?.start()}var K;function Hs(r,...e){let t=pt(r),{namespaces:s}=t;if(!De(s))return;let n=be(4)||"anonymous";K===void 0&&(K=(0,Ue.default)()?"\u25B8":">");let o=e.at(0),i=typeof o=="string"?[(0,Js.applyLinePrefix)(`${n?`${n} ${K} `:""}${o}`,{prefix:"[DEBUG] "}),...e.slice(1)]:e,l=t.spinner||(0,ut.getSpinner)(),a=l?.isSpinning;l?.stop(),lt(ae.logger.info,ae.logger,i),a&&l?.start()}function Ys(r,...e){let t=pt(r),{namespaces:s}=t;if(!De(s))return;let n=be(4)||"anonymous";K===void 0&&(K=(0,Ue.default)()?"\u25B8":">");let o=e.at(0),i=typeof o=="string"?[(0,Js.applyLinePrefix)(`${n?`${n} ${K} `:""}${o}`,{prefix:"[DEBUG] "}),...e.slice(1)]:[`[DEBUG] ${n} ${K}`,...e],l=t.spinner||(0,ut.getSpinner)(),a=l?.isSpinning;l?.stop(),lt(ae.logger.info,ae.logger,i),a&&l?.start()}function Tc(r,e,t,s){let n=pt(r),{namespaces:o}=n;if(!De(o))return;let i=be(4)||"cache";K===void 0&&(K=(0,Ue.default)()?"\u25B8":">");let l=`[CACHE] ${i} ${K} ${e}: ${t}`,a=s!==void 0?[l,s]:[l],m=n.spinner||(0,ut.getSpinner)(),p=m?.isSpinning;m?.stop(),lt(ae.logger.info,ae.logger,a),p&&m?.start()}function kc(r,e,t){if(!je.SOCKET_DEBUG)return;let s=be(3)||"cache";K===void 0&&(K=(0,Ue.default)()?"\u25B8":">");let n=`[CACHE] ${s} ${K} ${r}: ${e}`;console.log(...t!==void 0?[n,t]:[n])}function $c(r){return!!je.SOCKET_DEBUG&&De(r)}function Ac(...r){[...r]}function Nc(r,e){}function Lc(...r){[...r]}function xc(){return!!je.SOCKET_DEBUG}function Fc(r){return dr().debuglog(r)}function Mc(r){let e=dr(),t,s=()=>{if(t===void 0)t=Date.now();else{let n=Date.now()-t;e.debuglog("time")(`${r}: ${n}ms`),t=void 0}};return s.start=()=>{t=Date.now()},s.end=()=>{if(t!==void 0){let n=Date.now()-t;e.debuglog("time")(`${r}: ${n}ms`),t=void 0}},s}});var mr=B((Jl,en)=>{"use strict";var hr=Object.defineProperty,jc=Object.getOwnPropertyDescriptor,Uc=Object.getOwnPropertyNames,Dc=Object.prototype.hasOwnProperty,Bc=(r,e)=>{for(var t in e)hr(r,t,{get:e[t],enumerable:!0})},Gc=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Uc(e))!Dc.call(r,n)&&n!==t&&hr(r,n,{get:()=>e[n],enumerable:!(s=jc(e,n))||s.enumerable});return r},qc=r=>Gc(hr({},"__esModule",{value:!0}),r),Zs={};Bc(Zs,{Memoize:()=>Wc,clearAllMemoizationCaches:()=>Vc,memoize:()=>fr,memoizeAsync:()=>zc,memoizeDebounced:()=>Xc,memoizeWeak:()=>Kc,once:()=>Jc});en.exports=qc(Zs);var Y=Be();function fr(r,e={}){let{keyGen:t=(...p)=>JSON.stringify(p),maxSize:s=Number.POSITIVE_INFINITY,name:n=r.name||"anonymous",ttl:o=Number.POSITIVE_INFINITY}=e,i=new Map,l=[];function a(){if(i.size>=s&&l.length>0){let p=l.shift();p&&(i.delete(p),(0,Y.debugLog)(`[memoize:${n}] clear`,{key:p,reason:"LRU"}))}}function m(p){return o===Number.POSITIVE_INFINITY?!1:Date.now()-p.timestamp>o}return function(...d){let c=t(...d),u=i.get(c);if(u&&!m(u)){u.hits++;let h=l.indexOf(c);return h!==-1&&l.splice(h,1),l.push(c),(0,Y.debugLog)(`[memoize:${n}] hit`,{key:c,hits:u.hits}),u.value}(0,Y.debugLog)(`[memoize:${n}] miss`,{key:c});let f=r(...d);return a(),i.set(c,{value:f,timestamp:Date.now(),hits:0}),l.push(c),(0,Y.debugLog)(`[memoize:${n}] set`,{key:c,cacheSize:i.size}),f}}function zc(r,e={}){let{keyGen:t=(...p)=>JSON.stringify(p),maxSize:s=Number.POSITIVE_INFINITY,name:n=r.name||"anonymous",ttl:o=Number.POSITIVE_INFINITY}=e,i=new Map,l=[];function a(){if(i.size>=s&&l.length>0){let p=l.shift();p&&(i.delete(p),(0,Y.debugLog)(`[memoizeAsync:${n}] clear`,{key:p,reason:"LRU"}))}}function m(p){return o===Number.POSITIVE_INFINITY?!1:Date.now()-p.timestamp>o}return async function(...d){let c=t(...d),u=i.get(c);if(u&&!m(u)){u.hits++;let h=l.indexOf(c);return h!==-1&&l.splice(h,1),l.push(c),(0,Y.debugLog)(`[memoizeAsync:${n}] hit`,{key:c,hits:u.hits}),await u.value}(0,Y.debugLog)(`[memoizeAsync:${n}] miss`,{key:c});let f=r(...d);a(),i.set(c,{value:f,timestamp:Date.now(),hits:0}),l.push(c),(0,Y.debugLog)(`[memoizeAsync:${n}] set`,{key:c,cacheSize:i.size});try{return await f}catch(h){i.delete(c);let g=l.indexOf(c);throw g!==-1&&l.splice(g,1),(0,Y.debugLog)(`[memoizeAsync:${n}] clear`,{key:c,reason:"error"}),h}}}function Wc(r={}){return(e,t,s)=>{let n=s.value;return s.value=fr(n,{...r,name:r.name||t}),s}}function Vc(){(0,Y.debugLog)("[memoize:all] clear",{action:"clear-all-caches"})}function Kc(r){let e=new WeakMap;return function(s){let n=e.get(s);if(n!==void 0)return(0,Y.debugLog)(`[memoizeWeak:${r.name}] hit`),n;(0,Y.debugLog)(`[memoizeWeak:${r.name}] miss`);let o=r(s);return e.set(s,o),o}}function Jc(r){let e=!1,t;return function(){return e?(0,Y.debugLog)(`[once:${r.name}] hit`):(t=r(),e=!0,(0,Y.debugLog)(`[once:${r.name}] set`)),t}}function Xc(r,e,t={}){let s=fr(r,t),n;return function(...i){return n&&clearTimeout(n),n=setTimeout(()=>{s(...i)},e),s(...i)}}});var vr=B((Ql,nn)=>{"use strict";var wr=Object.defineProperty,Hc=Object.getOwnPropertyDescriptor,Yc=Object.getOwnPropertyNames,Qc=Object.prototype.hasOwnProperty,Zc=(r,e)=>{for(var t in e)wr(r,t,{get:e[t],enumerable:!0})},eu=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Yc(e))!Qc.call(r,n)&&n!==t&&wr(r,n,{get:()=>e[n],enumerable:!(s=Hc(e,n))||s.enumerable});return r},tu=r=>eu(wr({},"__esModule",{value:!0}),r),sn={};Zc(sn,{isJsonPrimitive:()=>ou,jsonParse:()=>iu});nn.exports=tu(sn);var ru=vt(),su=JSON.parse;function nu(r){if(!r||typeof r!="object")return!1;let e=r;if(typeof e.length!="number"||typeof e.copy!="function"||typeof e.slice!="function"||typeof e.length=="number"&&e.length>0&&typeof e[0]!="number")return!1;let t=r.constructor;return!!(typeof t?.isBuffer=="function"&&t.isBuffer(r))}function ou(r){return r===null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"}function iu(r,e){let{filepath:t,reviver:s,throws:n}={__proto__:null,...e},o=n===void 0||!!n,i=nu(r)?r.toString("utf8"):r;try{return su((0,ru.stripBom)(i),s)}catch(l){if(o){let a=l;throw a&&typeof t=="string"&&(a.message=`${t}: ${a.message}`),a}}}});var cn=B((Zl,an)=>{"use strict";var Er=Object.defineProperty,au=Object.getOwnPropertyDescriptor,cu=Object.getOwnPropertyNames,uu=Object.prototype.hasOwnProperty,lu=(r,e)=>{for(var t in e)Er(r,t,{get:e[t],enumerable:!0})},pu=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of cu(e))!uu.call(r,n)&&n!==t&&Er(r,n,{get:()=>e[n],enumerable:!(s=au(e,n))||s.enumerable});return r},du=r=>pu(Er({},"__esModule",{value:!0}),r),on={};lu(on,{clearPerformanceMetrics:()=>gu,generatePerformanceReport:()=>vu,getPerformanceMetrics:()=>mu,getPerformanceSummary:()=>Rr,measure:()=>hu,measureSync:()=>fu,perfCheckpoint:()=>Ou,perfTimer:()=>Sr,printPerformanceSummary:()=>yu,trackMemory:()=>wu});an.exports=du(on);var he=Be(),te=[];function Ge(){return process.env.DEBUG?.includes("perf")||!1}function Sr(r,e){if(!Ge())return()=>{};let t=performance.now();return(0,he.debugLog)(`[perf] [START] ${r}`),s=>{let n=performance.now()-t,o={operation:r,duration:Math.round(n*100)/100,timestamp:Date.now(),metadata:{...e,...s}};te.push(o),(0,he.debugLog)(`[perf] [END] ${r} - ${o.duration}ms`)}}async function hu(r,e,t){let s=Sr(r,t);try{let n=await e();s({success:!0});let o=te[te.length-1];return{result:n,duration:o?.duration||0}}catch(n){throw s({success:!1,error:n instanceof Error?n.message:"Unknown"}),n}}function fu(r,e,t){let s=Sr(r,t);try{let n=e();s({success:!0});let o=te[te.length-1];return{result:n,duration:o?.duration||0}}catch(n){throw s({success:!1,error:n instanceof Error?n.message:"Unknown"}),n}}function mu(){return[...te]}function gu(){te.length=0,(0,he.debugLog)("[perf] Cleared performance metrics")}function Rr(){let r=Object.create(null);for(let t of te){let{duration:s,operation:n}=t;r[n]||(r[n]={count:0,total:0,min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY});let o=r[n];o.count++,o.total+=s,o.min=Math.min(o.min,s),o.max=Math.max(o.max,s)}let e=Object.create(null);for(let{0:t,1:s}of Object.entries(r))e[t]={count:s.count,total:Math.round(s.total*100)/100,avg:Math.round(s.total/s.count*100)/100,min:Math.round(s.min*100)/100,max:Math.round(s.max*100)/100};return e}function yu(){if(!Ge()||te.length===0)return;let r=Rr(),e=Object.keys(r).sort();(0,he.debugLog)(`[perf]
9
+ === Performance Summary ===`);for(let t of e){let s=r[t];(0,he.debugLog)(`[perf] ${t}: ${s.count} calls, avg ${s.avg}ms (min ${s.min}ms, max ${s.max}ms, total ${s.total}ms)`)}(0,he.debugLog)(`[perf] =========================
10
+ `)}function Ou(r,e){if(!Ge())return;let t={operation:`checkpoint:${r}`,duration:0,timestamp:Date.now(),...e?{metadata:e}:{}};te.push(t),(0,he.debugLog)(`[perf] [CHECKPOINT] ${r}`)}function wu(r){if(!Ge())return 0;let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024*100)/100;(0,he.debugLog)(`[perf] [MEMORY] ${r}: ${t}MB heap used`);let s={operation:`checkpoint:memory:${r}`,duration:0,timestamp:Date.now(),metadata:{heapUsed:t,heapTotal:Math.round(e.heapTotal/1024/1024*100)/100,external:Math.round(e.external/1024/1024*100)/100}};return te.push(s),t}function vu(){if(!Ge()||te.length===0)return"(no performance data collected - enable with DEBUG=perf)";let r=Rr(),e=Object.keys(r).sort(),t=`
11
+ \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
12
+ `;t+=`\u2551 Performance Report \u2551
13
+ `,t+=`\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
14
+
15
+ `;for(let n of e){let o=r[n];t+=`${n}:
16
+ `,t+=` Calls: ${o.count}
17
+ `,t+=` Avg: ${o.avg}ms
18
+ `,t+=` Min: ${o.min}ms
19
+ `,t+=` Max: ${o.max}ms
20
+ `,t+=` Total: ${o.total}ms
21
+
22
+ `}let s=Object.values(r).reduce((n,o)=>n+o.total,0);return t+=`Total measured time: ${Math.round(s*100)/100}ms
23
+ `,t}});var yn=B((hp,gn)=>{"use strict";var xu=Object.create,gt=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,Mu=Object.getOwnPropertyNames,ju=Object.getPrototypeOf,Uu=Object.prototype.hasOwnProperty,Du=(r,e)=>{for(var t in e)gt(r,t,{get:e[t],enumerable:!0})},fn=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Mu(e))!Uu.call(r,n)&&n!==t&&gt(r,n,{get:()=>e[n],enumerable:!(s=Fu(e,n))||s.enumerable});return r},Bu=(r,e,t)=>(t=r!=null?xu(ju(r)):{},fn(e||!r||!r.__esModule?gt(t,"default",{value:r,enumerable:!0}):t,r)),Gu=r=>fn(gt({},"__esModule",{value:!0}),r),mn={};Du(mn,{createTtlCache:()=>zu});gn.exports=Gu(mn);var Oe=Bu(zn()),hn=300*1e3,qu="ttl-cache";function zu(r){let e={__proto__:null,memoize:!0,prefix:qu,ttl:hn,...r};if(e.prefix?.includes("*"))throw new TypeError('Cache prefix cannot contain wildcards (*). Use clear({ prefix: "pattern*" }) for wildcard matching.');let t=new Map,s=e.ttl??hn;function n(f){return`${e.prefix}:${f}`}function o(f){return Date.now()>f.expiresAt}function i(f){let h=n(f);if(!f.includes("*"))return k=>k.startsWith(h);let E=h.replaceAll(/[.+?^${}()|[\]\\]/g,"\\$&").replaceAll("*",".*"),$=new RegExp(`^${E}`);return k=>$.test(k)}async function l(f){if(f.includes("*"))throw new TypeError("Cache key cannot contain wildcards (*). Use getAll(pattern) to retrieve multiple entries.");let h=n(f);if(e.memoize){let y=t.get(h);if(y&&!o(y))return y.data;y&&t.delete(h)}let g=await Oe.safeGet(h);if(g){let y=JSON.parse(g.data.toString("utf8"));if(!o(y))return e.memoize&&t.set(h,y),y.data;await Oe.remove(h)}}async function a(f){let h=new Map,g=i(f);if(e.memoize)for(let[k,A]of t.entries()){if(!g(k))continue;if(o(A)){t.delete(k);continue}let H=k.slice((e.prefix?.length??0)+1);h.set(H,A.data)}let y=(await import("./paths-NFJJ5RRD.mjs")).getSocketCacacheDir(),$=(await import("./cacache-BCCSM36H.mjs")).getCacache().ls.stream(y);for await(let k of $){if(!k.key.startsWith(`${e.prefix}:`)||!g(k.key))continue;let A=k.key.slice((e.prefix?.length??0)+1);if(!h.has(A))try{let H=await Oe.safeGet(k.key);if(!H)continue;let D=JSON.parse(H.data.toString("utf8"));if(o(D)){await Oe.remove(k.key);continue}h.set(A,D.data),e.memoize&&t.set(k.key,D)}catch{}}return h}async function m(f,h){if(f.includes("*"))throw new TypeError('Cache key cannot contain wildcards (*). Wildcards are only supported in clear({ prefix: "pattern*" }).');let g=n(f),y={data:h,expiresAt:Date.now()+s};e.memoize&&t.set(g,y),await Oe.put(g,JSON.stringify(y),{metadata:{expiresAt:y.expiresAt}})}async function p(f,h){let g=await l(f);if(g!==void 0)return g;let y=await h();return await m(f,y),y}async function d(f){if(f.includes("*"))throw new TypeError("Cache key cannot contain wildcards (*). Use deleteAll(pattern) to remove multiple entries.");let h=n(f);t.delete(h),await Oe.remove(h)}async function c(f){let h=f?`${e.prefix}:${f}`:e.prefix;if(!f)t.clear();else{let y=i(f);for(let E of t.keys())y(E)&&t.delete(E)}return await Oe.clear({prefix:h})??0}async function u(f){let h={__proto__:null,...f};t.clear(),!h.memoOnly&&await c()}return{clear:u,delete:d,deleteAll:c,get:l,getAll:a,getOrFetch:p,set:m}}});var Sn=B((fp,En)=>{"use strict";var Tr=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,Vu=Object.getOwnPropertyNames,Ku=Object.prototype.hasOwnProperty,Ju=(r,e)=>{for(var t in e)Tr(r,t,{get:e[t],enumerable:!0})},Xu=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Vu(e))!Ku.call(r,n)&&n!==t&&Tr(r,n,{get:()=>e[n],enumerable:!(s=Wu(e,n))||s.enumerable});return r},Hu=r=>Xu(Tr({},"__esModule",{value:!0}),r),On={};Ju(On,{normalizeIterationOptions:()=>$r,normalizeRetryOptions:()=>qe,pEach:()=>Zu,pEachChunk:()=>tl,pFilter:()=>el,pFilterChunk:()=>vn,pRetry:()=>yt,resolveRetryOptions:()=>Ar});En.exports=Hu(On);var Cr=He(),Yu=Xe(),kr=Ft(),wn=(0,Yu.getAbortSignal)(),Ir;function Qu(){return Ir===void 0&&(Ir=re("node:timers/promises")),Ir}function $r(r){let e=typeof r=="number"?{concurrency:r}:r,{concurrency:t=1,retries:s,signal:n=wn}={__proto__:null,...e};return{__proto__:null,concurrency:Math.max(1,t),retries:qe({signal:n,...Ar(s)}),signal:n}}function qe(r){let e=Ar(r),{args:t=[],backoffFactor:s=e.factor||2,baseDelayMs:n=e.minTimeout||200,jitter:o=!0,maxDelayMs:i=e.maxTimeout||1e4,onRetry:l,onRetryCancelOnFalse:a=!1,onRetryRethrow:m=!1,retries:p=e.retries||0,signal:d=wn}=e;return{args:t,backoffFactor:s,baseDelayMs:n,jitter:o,maxDelayMs:i,minTimeout:n,maxTimeout:i,onRetry:l,onRetryCancelOnFalse:a,onRetryRethrow:m,retries:p,signal:d}}function Ar(r){let e={__proto__:null,retries:0,minTimeout:200,maxTimeout:1e4,factor:2};return typeof r=="number"?{...e,retries:r}:r?{...e,...r}:e}async function Zu(r,e,t){let s=$r(t),{concurrency:n,retries:o,signal:i}=s,l=(0,kr.arrayChunk)(r,n);for(let a of l){if(i?.aborted)return;await Promise.all(a.map(m=>yt((...p)=>e(p[0]),{...o,args:[m],signal:i})))}}async function el(r,e,t){let s=$r(t);return(await vn((0,kr.arrayChunk)(r,s.concurrency),e,s.retries)).flat()}async function tl(r,e,t){let{chunkSize:s=100,...n}=t||{},o=(0,kr.arrayChunk)(r,s),i=qe(n),{signal:l}=i;for(let a of o){if(l?.aborted)return;await yt((...m)=>e(m[0]),{...i,args:[a]})}}async function vn(r,e,t){let s=qe(t),{signal:n}=s,{length:o}=r,i=Array(o);for(let l=0;l<o;l+=1)if(n?.aborted)i[l]=[];else{let a=r[l],m=await Promise.all(a.map(p=>yt((...d)=>e(d[0]),{...s,args:[p]})));i[l]=a.filter((p,d)=>m[d])}return i}async function yt(r,e){let{args:t,backoffFactor:s,baseDelayMs:n,jitter:o,maxDelayMs:i,onRetry:l,onRetryCancelOnFalse:a,onRetryRethrow:m,retries:p,signal:d}=qe(e);if(d?.aborted)return;if(p===0)return await r(...t||[],{signal:d});let c=Qu(),u=p,f=n,h=Cr.UNDEFINED_TOKEN;for(;u-->=0;){if(d?.aborted)return;try{return await r(...t||[],{signal:d})}catch(g){if(h===Cr.UNDEFINED_TOKEN&&(h=g),u<0)break;let y=f;if(o&&(y+=Math.floor(Math.random()*f)),y=Math.min(y,i),typeof l=="function")try{if(l(p-u,g,y)===!1&&a)break}catch(E){if(m)throw E}try{await c.setTimeout(y,void 0,{signal:d})}catch{return}if(d?.aborted)return;f=Math.min(f*s,i)}}if(h!==Cr.UNDEFINED_TOKEN)throw h}});var Cn=B((mp,Pn)=>{"use strict";var Nr=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,sl=Object.getOwnPropertyNames,nl=Object.prototype.hasOwnProperty,ol=(r,e)=>{for(var t in e)Nr(r,t,{get:e[t],enumerable:!0})},il=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of sl(e))!nl.call(r,n)&&n!==t&&Nr(r,n,{get:()=>e[n],enumerable:!(s=rl(e,n))||s.enumerable});return r},al=r=>il(Nr({},"__esModule",{value:!0}),r),Rn={};ol(Rn,{restoreWarnings:()=>pl,setMaxEventTargetListeners:()=>ll,suppressMaxListenersWarning:()=>ul,suppressWarningType:()=>bn,withSuppressedWarnings:()=>dl});Pn.exports=al(Rn);var{apply:cl}=Reflect,Te,ze=new Set;function _n(){Te||(Te=process.emitWarning,process.emitWarning=(r,...e)=>{if(typeof r=="string"){for(let t of ze)if(r.includes(t))return}else if(r&&typeof r=="object"){let t=r;if(t.name&&ze.has(t.name))return}return cl(Te,process,[r,...e])})}function ul(){ze.add("MaxListenersExceededWarning"),_n()}function bn(r){ze.add(r),_n()}function ll(r,e=10){if(!r)return;let s=Object.getOwnPropertySymbols(r).find(n=>n.description==="events.maxEventTargetListeners");s&&(r[s]=e)}function pl(){Te&&(process.emitWarning=Te,Te=void 0,ze.clear())}async function dl(r,e){let t=process.emitWarning;bn(r);try{return await e()}finally{process.emitWarning=t}}});var Nn=B((gp,An)=>{"use strict";var Lr=Object.defineProperty,hl=Object.getOwnPropertyDescriptor,fl=Object.getOwnPropertyNames,ml=Object.prototype.hasOwnProperty,gl=(r,e)=>{for(var t in e)Lr(r,t,{get:e[t],enumerable:!0})},yl=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of fl(e))!ml.call(r,n)&&n!==t&&Lr(r,n,{get:()=>e[n],enumerable:!(s=hl(e,n))||s.enumerable});return r},Ol=r=>yl(Lr({},"__esModule",{value:!0}),r),In={};gl(In,{createRelativeUrl:()=>_l,isUrl:()=>El,parseUrl:()=>Tn,urlSearchParamAsArray:()=>kn,urlSearchParamAsBoolean:()=>$n,urlSearchParamAsNumber:()=>Pl,urlSearchParamAsString:()=>bl,urlSearchParamsGetArray:()=>Sl,urlSearchParamsGetBoolean:()=>Rl});An.exports=Ol(In);var wl=Boolean,vl=URL;function El(r){return(typeof r=="string"&&r!==""||r!==null&&typeof r=="object")&&!!Tn(r)}function Tn(r){try{return new vl(r)}catch{}}function kn(r){return typeof r=="string"?r.trim().split(/, */).map(e=>e.trim()).filter(wl):[]}function $n(r,e){let{defaultValue:t=!1}={__proto__:null,...e};if(typeof r=="string"){let s=r.trim();return s==="1"||s.toLowerCase()==="true"}return r==null?!!t:!!r}function Sl(r,e){if(r&&typeof r.getAll=="function"){let t=r.getAll(e),s=t[0];return t.length===1&&s&&s.includes(",")?kn(s):t}return[]}function Rl(r,e,t){let{defaultValue:s=!1}={__proto__:null,...t};if(r&&typeof r.get=="function"){let n=r.get(e);return n!==null?$n(n,{defaultValue:s}):s}return s}function _l(r,e){let{base:t=""}={__proto__:null,...e},s=r.replace(/^\//,"");if(t){let n=t;return n.endsWith("/")||(n+="/"),n+s}return s}function bl(r,e,t){let{defaultValue:s=""}={__proto__:null,...t};if(r&&typeof r.get=="function"){let n=r.get(e);return n!==null?n:s}return s}function Pl(r,e,t){let{defaultValue:s=0}={__proto__:null,...t};if(r&&typeof r.get=="function"){let n=r.get(e);if(n!==null){let o=Number(n);return Number.isNaN(o)?s:o}}return s}});var Dr={name:"@socketsecurity/sdk",version:"2.0.1",license:"MIT",description:"SDK for the Socket API client",author:{name:"Socket Inc",email:"eng@socket.dev",url:"https://socket.dev"},homepage:"https://github.com/SocketDev/socket-sdk-js",repository:{type:"git",url:"git://github.com/SocketDev/socket-sdk-js.git"},type:"module",main:"./dist/index.mjs",types:"./dist/index.d.mts",exports:{".":{types:"./dist/index.d.mts",default:"./dist/index.mjs"},"./testing":{types:"./dist/testing.d.mts",default:"./dist/testing.mjs"},"./types/api-helpers":"./types/api-helpers.d.ts","./types/api-helpers.d.ts":"./types/api-helpers.d.ts","./types/api":"./types/api.d.ts","./types/api.d.ts":"./types/api.d.ts","./package.json":"./package.json"},scripts:{build:"node scripts/build.mjs",bump:"bash scripts/node-with-loader.sh scripts/bump.mjs",check:"bash scripts/node-with-loader.sh scripts/check.mjs","check-ci":"pnpm run check --all",clean:"node scripts/clean.mjs",cover:"bash scripts/node-with-loader.sh scripts/cover.mjs",fix:"node scripts/lint.mjs --fix","generate-sdk":"bash scripts/node-with-loader.sh scripts/generate-sdk.mjs",lint:"node scripts/lint.mjs","lint-ci":"pnpm run lint --all",precommit:"pnpm run check --lint --staged",prepare:"husky",prepublishOnly:"echo 'ERROR: Use GitHub Actions workflow for publishing' && exit 1",publish:"bash scripts/node-with-loader.sh scripts/publish.mjs",claude:"bash scripts/node-with-loader.sh scripts/claude.mjs",test:"node scripts/test.mjs","test-ci":"pnpm run test --all",type:"tsgo --noEmit -p .config/tsconfig.check.json","type-ci":"pnpm run type",update:"bash scripts/node-with-loader.sh scripts/update.mjs"},devDependencies:{"@babel/parser":"7.26.3","@babel/traverse":"7.26.4","@babel/types":"7.26.3","@biomejs/biome":"2.2.4","@dotenvx/dotenvx":"1.49.0","@eslint/compat":"1.3.2","@eslint/js":"9.35.0","@socketsecurity/lib":"1.0.4","@socketsecurity/registry":"1.5.3","@types/node":"24.6.2","@typescript/native-preview":"7.0.0-dev.20250926.1","@vitest/coverage-v8":"3.2.4",del:"^8.0.1","dev-null-cli":"2.0.0",esbuild:"0.25.10",eslint:"9.35.0","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-import-x":"4.16.1","eslint-plugin-jsdoc":"57.0.8","eslint-plugin-n":"17.23.1","eslint-plugin-sort-destructure-keys":"2.0.0","eslint-plugin-unicorn":"56.0.1","fast-glob":"3.3.3",globals:"16.4.0","http2-wrapper":"2.2.1",husky:"9.1.7","magic-string":"0.30.14",nock:"14.0.10","npm-run-all2":"8.0.4","openapi-typescript":"6.7.6",semver:"7.7.2",taze:"19.6.0","type-coverage":"2.29.7","typescript-eslint":"8.44.1",vitest:"3.2.4","yoctocolors-cjs":"2.1.3"},pnpm:{ignoredBuiltDependencies:["esbuild","unrs-resolver"],overrides:{vite:"7.1.11"}},engines:{node:">=18",pnpm:">=10.16.0"},files:["dist/**","types/**","CHANGELOG.md"],typeCoverage:{cache:!0,atLeast:99,ignoreAsAssertion:!0,ignoreCatch:!0,ignoreEmptyType:!0,"ignore-non-null-assertion":!0,"ignore-type-assertion":!0,"ignore-files":"test/*",strict:!0}};function Ke(r){let{homepage:e}=r;return`${r.name.replace("@","").replace("/","-")}/${r.version}${e?` (${e})`:""}`}var Et=Ke(Dr),Br=3e4,Gr=3,qr=1e3,St=300*1e3,Rt=5e3,_t=10*1024*1024,Ae=100*1024*1024,zr="https://socketusercontent.com",bt=new Set(["http","https","http2"]),Vn=new Map([["malware","error"],["criticalCVE","warn"],["didYouMean","warn"],["gitDependency","warn"],["httpDependency","warn"],["licenseSpdxDisj","warn"],["obfuscatedFile","warn"],["troll","warn"],["deprecated","monitor"],["mediumCVE","monitor"],["mildCVE","monitor"],["shrinkwrap","monitor"],["telemetry","monitor"],["unpopularPackage","monitor"],["unstableOwnership","monitor"],["ambiguousClassifier","ignore"],["badEncoding","ignore"],["badSemver","ignore"],["badSemverDependency","ignore"],["bidi","ignore"],["binScriptConfusion","ignore"],["chromeContentScript","ignore"],["chromeHostPermission","ignore"],["chromePermission","ignore"],["chromeWildcardHostPermission","ignore"],["chronoAnomaly","ignore"],["compromisedSSHKey","ignore"],["copyleftLicense","ignore"],["cve","ignore"],["debugAccess","ignore"],["deprecatedLicense","ignore"],["deprecatedException","ignore"],["dynamicRequire","ignore"],["emptyPackage","ignore"],["envVars","ignore"],["explicitlyUnlicensedItem","ignore"],["extraneousDependency","ignore"],["fileDependency","ignore"],["filesystemAccess","ignore"],["floatingDependency","ignore"],["gitHubDependency","ignore"],["gptAnomaly","ignore"],["gptDidYouMean","ignore"],["gptMalware","ignore"],["gptSecurity","ignore"],["hasNativeCode","ignore"],["highEntropyStrings","ignore"],["homoglyphs","ignore"],["installScripts","ignore"],["invalidPackageJSON","ignore"],["invisibleChars","ignore"],["licenseChange","ignore"],["licenseException","ignore"],["longStrings","ignore"],["majorRefactor","ignore"],["manifestConfusion","ignore"],["minifiedFile","ignore"],["miscLicenseIssues","ignore"],["missingAuthor","ignore"],["missingDependency","ignore"],["missingLicense","ignore"],["missingTarball","ignore"],["mixedLicense","ignore"],["modifiedException","ignore"],["modifiedLicense","ignore"],["networkAccess","ignore"],["newAuthor","ignore"],["noAuthorData","ignore"],["noBugTracker","ignore"],["noLicenseFound","ignore"],["noREADME","ignore"],["noRepository","ignore"],["noTests","ignore"],["noV1","ignore"],["noWebsite","ignore"],["nonOSILicense","ignore"],["nonSPDXLicense","ignore"],["nonpermissiveLicense","ignore"],["notice","ignore"],["obfuscatedRequire","ignore"],["peerDependency","ignore"],["potentialVulnerability","ignore"],["semverAnomaly","ignore"],["shellAccess","ignore"],["shellScriptOverride","ignore"],["socketUpgradeAvailable","ignore"],["suspiciousStarActivity","ignore"],["suspiciousString","ignore"],["trivialPackage","ignore"],["typeModuleCompatibility","ignore"],["uncaughtOptionalDependency","ignore"],["unclearLicense","ignore"],["unidentifiedLicense","ignore"],["unmaintained","ignore"],["unpublished","ignore"],["unresolvedRequire","ignore"],["unsafeCopyright","ignore"],["unusedDependency","ignore"],["urlStrings","ignore"],["usesEval","ignore"],["zeroWidth","ignore"]]);var rn=q(mr(),1),gr=q(Ur(),1);import tn from"node:path";var yr=(0,rn.memoize)(r=>r.endsWith("/")?r:`${r}/`,{name:"normalizeBaseUrl"});function Or(){if(Promise.withResolvers)return Promise.withResolvers();let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}function ce(r){let e=new URLSearchParams(r),t={__proto__:null},s=e.entries();for(let n of s){let o=n[0],i=n[1];o==="defaultBranch"?o="default_branch":o==="perPage"&&(o="per_page"),i&&(t[o]=i)}return new URLSearchParams(t)}function Pe(r,e){let t=fe(e);return r.map(s=>(0,gr.normalizePath)(tn.resolve(t,s)))}function fe(r="."){return(0,gr.normalizePath)(tn.resolve(process.cwd(),r))}var ln=q(Ur(),1);import br from"node:events";import{createReadStream as Ru}from"node:fs";import mt from"node:path";import{Readable as _u}from"node:stream";var _r=q(Be(),1),un=q(vr(),1),dt=q(cn(),1);import Eu from"node:http";import Su from"node:https";var Q=class r extends Error{response;constructor(e,t=""){let s=e.statusCode??"unknown",n=e.statusMessage??"No status message";super(`Socket API ${t||"Request failed"} (${s}): ${n}`),this.name="ResponseError",this.response=e,Error.captureStackTrace(this,r)}};async function me(r,e,t){let s=ue(r).request(`${r}${e}`,{method:"DELETE",...t}).end();return await le(s)}async function x(r,e,t){let s=(0,dt.perfTimer)("http:get",{urlPath:e});try{let n=ue(r).request(`${r}${e}`,{method:"GET",...t}).end(),o=await le(n);return s({statusCode:o.statusCode}),o}catch(n){throw s({error:!0}),n}}async function W(r,e,t,s,n){let o=(0,dt.perfTimer)(`http:${r.toLowerCase()}`,{urlPath:t});try{let i=JSON.stringify(s),l=ue(e).request(`${e}${t}`,{method:r,...n,headers:{...n.headers,"Content-Length":Buffer.byteLength(i,"utf8"),"Content-Type":"application/json"}});l.write(i),l.end();let a=await le(l);return o({statusCode:a.statusCode}),a}catch(i){throw o({error:!0}),i}}async function ht(r){return await new Promise((e,t)=>{let s="",n=0;r.setEncoding("utf8"),r.on("data",o=>{let i=Buffer.byteLength(o,"utf8");if(n+=i,n>_t){r.destroy(),t(new Error(`Response exceeds maximum size limit of ${_t} bytes`));return}s+=o}),r.on("end",()=>e(s)),r.on("error",o=>t(o))})}function ue(r){return r.startsWith("https:")?Su:Eu}async function le(r){return await new Promise((e,t)=>{let s=!1;r.on("response",n=>{s||e(n)}),r.on("timeout",()=>{s=!0,r.destroy(),t(new Error("Request timed out"))}),r.on("error",n=>{s||t(n)})})}async function S(r,e){let t=(0,dt.perfTimer)("http:parse-json");try{if(!ge(r))throw new Q(r,e?`${e} Request failed`:void 0);let s=await ht(r);if(s==="")return(0,_r.debugLog)("API response: empty response treated as {}"),t({success:!0}),{};try{let n=(0,un.jsonParse)(s);return(0,_r.debugLog)("API response:",n),t({success:!0}),n}catch(n){if(t({error:!0}),n instanceof SyntaxError){let i=new Error(`Socket API - Invalid JSON response:
24
+ ${s}
25
+ \u2192 ${n.message}`,{cause:n});throw i.name="SyntaxError",i.originalResponse=s,Object.setPrototypeOf(i,SyntaxError.prototype),i}if(n instanceof Error)throw n;let o=new Error("Unknown JSON parsing error",{cause:n});throw o.name="SyntaxError",o.originalResponse=s,Object.setPrototypeOf(o,SyntaxError.prototype),o}}catch(s){throw t({error:!0}),s}}function ge(r){let{statusCode:e}=r;return e?e>=200&&e<300:!1}function ft(r,e,t){if(!e){let s=t?t.split(","):void 0,n=o=>({name:o.name,version:o.version,size:o.size,author:o.author,type:o.type,supplyChainRisk:o.supplyChainRisk,scorecards:o.scorecards,topLevelAncestors:o.topLevelAncestors,alerts:o.alerts?.filter(i=>!(i.severity==="low"||s&&i.action&&!s.includes(i.action))).map(i=>({type:i.type,severity:i.severity,key:i.key}))});if(r.artifacts){let o=r.artifacts;return{...r,artifacts:Array.isArray(o)?o.map(n):o}}if(r.alerts)return n(r)}return r}function Ce(r,e){let t=[];for(let s of r){let n=(0,ln.normalizePath)(mt.relative(e,s)),o=mt.basename(s);t.push([`Content-Disposition: form-data; name="${n}"; filename="${o}"\r
26
+ `,`Content-Type: application/octet-stream\r
27
+ \r
28
+ `,Ru(s,{highWaterMark:1024*1024})])}return t}function Pr(r,e="data.json"){let t=mt.extname(e);return[`Content-Disposition: form-data; name="${mt.basename(e,t)}"; filename="${e}"\r
29
+ Content-Type: application/json\r
30
+ \r
31
+ `,_u.from(JSON.stringify(r),{highWaterMark:1024*1024}),`\r
32
+ `]}async function Ie(r,e,t,s){return await new Promise(async(n,o)=>{let i=`NodeMultipartBoundary${Date.now()}`,l=`--${i}\r
33
+ `,a=`--${i}--\r
34
+ `,m=[...t.flatMap(u=>[l,...Array.isArray(u)?u:[u]]),a],p=new URL(e,r),d=ue(r).request(p,{method:"POST",...s,headers:{...s?.headers,"Content-Type":`multipart/form-data; boundary=${i}`}});d.flushHeaders(),le(d).then(n,o);let c=!1;d.on("error",()=>c=!0),d.on("close",()=>c=!0);try{for(let u of m){if(c)break;if(typeof u=="string")d.write(u)||await br.once(d,"drain");else if(typeof u?.pipe=="function"){let f=u;for await(let h of f){if(c)break;d.write(h)||await br.once(d,"drain")}!c&&!d.write(`\r
35
+ `)&&await br.once(d,"drain"),typeof u.destroy=="function"&&u.destroy()}else throw new TypeError('Expected "string" or "stream" type')}}catch(u){d.destroy(u),o(u)}finally{c||d.end()}})}var pe=q(mr(),1);import{existsSync as bu,readFileSync as Pu}from"node:fs";import{join as Cu}from"node:path";var ye=(0,pe.once)(()=>{try{let r=Cu(__dirname,"..","data","sdk-method-requirements.json");if(!bu(r))throw new Error(`Requirements file not found at: ${r}`);let e=Pu(r,"utf8");return JSON.parse(e)}catch(r){throw new Error("Failed to load SDK method requirements",{cause:r})}});function pn(r){return r.reduce((e,t)=>e+dn(t),0)}function Iu(){let r=ye(),e={};return Object.entries(r.api).forEach(([t,s])=>{e[t]={permissions:[...s.permissions],quota:s.quota}}),e}var Tu=(0,pe.memoize)(r=>{let t=ye().api[r];if(!t)throw new Error(`Unknown SDK method: "${String(r)}"`);return{permissions:[...t.permissions],quota:t.quota}},{name:"getMethodRequirements"}),ku=(0,pe.memoize)(r=>{let e=ye();return Object.entries(e.api).filter(([,t])=>r.some(s=>t.permissions.includes(s))).map(([t])=>t).sort()},{name:"getMethodsByPermissions"}),$u=(0,pe.memoize)(r=>{let e=ye();return Object.entries(e.api).filter(([,t])=>t.quota===r).map(([t])=>t).sort()},{name:"getMethodsByQuotaCost"}),dn=(0,pe.memoize)(r=>{let t=ye().api[r];if(!t)throw new Error(`Unknown SDK method: "${String(r)}"`);return t.quota},{name:"getQuotaCost"}),Au=(0,pe.memoize)(()=>{let r=ye(),e={};return Object.entries(r.api).forEach(([t,s])=>{let n=`${s.quota} units`;e[n]||(e[n]=[]),e[n].push(t)}),Object.keys(e).forEach(t=>{e[t]?.sort()}),e},{name:"getQuotaUsageSummary"}),Nu=(0,pe.memoize)(r=>{let t=ye().api[r];if(!t)throw new Error(`Unknown SDK method: "${String(r)}"`);return[...t.permissions]},{name:"getRequiredPermissions"});function Lu(r,e){let t=pn(e);return r>=t}var Ln=q(yn(),1),wt=q(He(),1),xn=q(Xe(),1),Fr=q(qn(),1),Ve=q(Be(),1),Mr=q(vr(),1),We=q(it(),1),Fn=q(Sn(),1),Mn=q(Cn(),1),jn=q(Nn(),1);import{createWriteStream as Cl}from"node:fs";import xr from"node:readline";var Ot=(0,xn.getAbortSignal)(),jr=class{#a;#e;#c;#r;#l;#p;constructor(e,t){if(typeof e!="string")throw new TypeError('"apiToken" is required and must be a string');let n=e.trim();if(!n)throw new Error('"apiToken" cannot be empty or whitespace-only');if(n.length>1024)throw new Error('"apiToken" exceeds maximum length of 1024 characters');let{agent:o,baseUrl:i="https://api.socket.dev/v0/",cache:l=!1,cacheTtl:a=300*1e3,retries:m=Gr,retryDelay:p=qr,timeout:d=Br,userAgent:c}={__proto__:null,...t};if(d!==void 0&&(typeof d!="number"||d<Rt||d>St))throw new TypeError(`"timeout" must be a number between ${Rt} and ${St} milliseconds`);let u=o?Object.keys(o):[],f=o,h=u.length&&u.every(g=>bt.has(g))?f.https||f.http||f.http2:o;this.#a=n,this.#e=yr(i),this.#c=l?(0,Ln.createTtlCache)({memoize:!0,prefix:"socket-sdk",ttl:a}):void 0,this.#l=m,this.#p=p,this.#r={...h?{agent:h}:{},headers:{Authorization:`Basic ${btoa(`${n}:`)}`,"User-Agent":c??Et},signal:Ot,...d?{timeout:d}:{}}}async#s(e){let t=await(0,Fn.pRetry)(e,{baseDelayMs:this.#p,onRetry(s,n){if(!(n instanceof Q))return;let{statusCode:o}=n.response;if(o===401||o===403)throw n},onRetryRethrow:!0,retries:this.#l});if(t===void 0)throw new Error("Request aborted");return t}async#u(e,t){return this.#c?await this.#c.getOrFetch(e,async()=>await this.#s(t)):await this.#s(t)}async*#d(e,t){let s;try{s=await this.#s(()=>this.#i(e,t))}catch(i){yield await this.#t(i);return}if(!s)throw new Error("Failed to get response from batch PURL request");let n=xr.createInterface({input:s,crlfDelay:Number.POSITIVE_INFINITY,signal:Ot}),o=this.#a===Fr.SOCKET_PUBLIC_API_TOKEN;for await(let i of n){let a=i.trim()?(0,Mr.jsonParse)(i,{throws:!1}):null;(0,We.isObjectObject)(a)&&(yield this.#n(o?ft(a,!1,t?.actions):a))}}async#i(e,t){let s=ue(this.#e).request(`${this.#e}purl?${ce(t)}`,{method:"POST",...this.#r}).end(JSON.stringify(e)),n=await le(s);if(!ge(n))throw new Q(n);return n}#f(e){if(e instanceof SyntaxError){let n=e.originalResponse||"";return n||(n=e.message.match(/Invalid JSON response:\n([\s\S]*?)\n→/)?.[1]||""),{cause:`Please report this. JSON.parse threw an error over the following response: \`${(n.slice(0,100)||"").trim()}${n.length>100?"\u2026":""}\``,data:void 0,error:"Server returned invalid JSON",status:0,success:!1}}return{cause:(e?String(e).trim():"")||wt.UNKNOWN_ERROR,data:void 0,error:"API request failed",status:0,success:!1}}async#o(e){let t=[],s=0,n=50*1024*1024;for await(let o of e){if(s+=o.length,s>n)throw new Error("Response body exceeds maximum size limit");t.push(o)}return Buffer.concat(t).toString("utf8")}async#t(e){if(!(e instanceof Q))throw new Error("Unexpected Socket API error",{cause:e});let{statusCode:t}=e.response;if(t&&t>=500)throw new Error(`Socket API server error (${t})`,{cause:e});let s=await ht(e.response),n;try{let l=JSON.parse(s);if(typeof l?.error?.message=="string"&&(n=l.error.message,l.error.details)){let a=typeof l.error.details=="string"?l.error.details:JSON.stringify(l.error.details);n=`${n} - Details: ${a}`}}catch{n=s}let o=e.message??wt.UNKNOWN_ERROR,i=n?.trim();if(i&&!o.includes(i)){let l=e.response?.statusMessage;l&&o.includes(l)?o=o.replace(l,i):o=`${o}: ${i}`}return{cause:n,data:void 0,error:o,status:t??0,success:!1}}#n(e){return{cause:void 0,data:e,error:void 0,status:200,success:!0}}async#m(e,t){return t==="response"?e:t==="text"?await this.#o(e):t==="json"?await S(e):e}async batchPackageFetch(e,t){let s;try{s=await this.#i(e,t)}catch(a){return await this.#t(a)}if(!s)throw new Error("Failed to get response from batch PURL request");let n=xr.createInterface({input:s,crlfDelay:Number.POSITIVE_INFINITY,signal:Ot}),o=this.#a===Fr.SOCKET_PUBLIC_API_TOKEN,i=[];for await(let a of n){let p=a.trim()?(0,Mr.jsonParse)(a,{throws:!1}):null;(0,We.isObjectObject)(p)&&i.push(o?ft(p,!1,t?.actions):p)}let l=(0,jn.urlSearchParamAsBoolean)((0,We.getOwn)(t,"compact"));return this.#n(i)}async*batchPackageStream(e,t){let{chunkSize:s=100,concurrencyLimit:n=10,queryParams:o}={__proto__:null,...t},i=n*2;(0,Mn.setMaxEventTargetListeners)(Ot,i);let{components:l}=e,{length:a}=l,m=[],p=0,d=()=>{if(p>=a)return;let u=this.#d({components:l.slice(p,p+s)},o);c(u),p+=s},c=u=>{let{promise:f,reject:h,resolve:g}=Or();m.push({generator:u,promise:f}),u.next().then(y=>g({generator:u,iteratorResult:y}),h)};for(;m.length<n&&p<a;)d();for(;m.length>0;){let{generator:u,iteratorResult:f}=await Promise.race(m.map(g=>g.promise)),h=m.findIndex(g=>g.generator===u);h!==-1&&(m.splice(h,1),f.value&&(yield f.value),f.done?d():c(u))}}async createDependenciesSnapshot(e,t){let{pathsRelativeTo:s=".",queryParams:n}={__proto__:null,...t},o=fe(s),i=Pe(e,o);try{let l=await this.#s(async()=>await S(await Ie(this.#e,`dependencies/upload?${ce(n)}`,Ce(i,o),this.#r)));return this.#n(l)}catch(l){return await this.#t(l)}}async createOrgDiffScanFromIds(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/diff-scans?${ce(t)}`,{},this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async createOrgFullScan(e,t,s){let{pathsRelativeTo:n=".",queryParams:o}={__proto__:null,...s},i=fe(n),l=Pe(t,i);try{let a=await this.#s(async()=>await S(await Ie(this.#e,`orgs/${encodeURIComponent(e)}/full-scans?${ce(o)}`,Ce(l,i),this.#r)));return this.#n(a)}catch(a){return await this.#t(a)}}async createOrgRepo(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/repos`,t,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async createOrgRepoLabel(e,t,s){try{let n=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}/labels`,s,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async createScanFromFilepaths(e,t){let{issueRules:s,pathsRelativeTo:n="."}={__proto__:null,...t},o=fe(n),i=Pe(e,o);try{let l=await this.#s(async()=>await S(await Ie(this.#e,"report/upload",[...Ce(i,o),...s?Pr(s,"issueRules"):[]],{...this.#r,method:"PUT"})));return this.#n(l)}catch(l){return await this.#t(l)}}async deleteOrgDiffScan(e,t){try{let s=await this.#s(async()=>await S(await me(this.#e,`orgs/${encodeURIComponent(e)}/diff-scans/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async deleteOrgFullScan(e,t){try{let s=await this.#s(async()=>await S(await me(this.#e,`orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async deleteOrgRepo(e,t){try{let s=await this.#s(async()=>await S(await me(this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async deleteOrgRepoLabel(e,t,s){try{let n=await this.#s(async()=>await S(await me(this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}/labels/${encodeURIComponent(s)}`,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async deleteReport(e){try{let t=await this.#s(async()=>await S(await me(this.#e,`report/delete/${encodeURIComponent(e)}`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async exportCDX(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}/sbom/export/cdx`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async exportSPDX(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}/sbom/export/spdx`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getApi(e,t){let{responseType:s="response",throws:n=!0}={__proto__:null,...t};try{let o=await x(this.#e,e,this.#r);if(!ge(o)){if(n)throw new Q(o);let l=await this.#t(new Q(o));return{cause:l.cause,data:void 0,error:l.error,status:l.status,success:!1}}let i=await this.#m(o,s);return n?i:{cause:void 0,data:i,error:void 0,status:o.statusCode??200,success:!0}}catch(o){if(n)throw o;if(o instanceof Q){let i=await this.#t(o);return{cause:i.cause,data:void 0,error:i.error,status:i.status,success:!1}}return this.#f(o)}}async getAPITokens(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/tokens`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getAuditLogEvents(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/audit-log?${ce(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getDiffScanById(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/diff-scans/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getEnabledEntitlements(e){return((await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/entitlements`,this.#r))))?.items||[]).filter(n=>n&&n.enabled===!0&&n.key).map(n=>n.key)}async getEntitlements(e){return(await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/entitlements`,this.#r))))?.items||[]}async getIssuesByNpmPackage(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`npm/${encodeURIComponent(e)}/${encodeURIComponent(t)}/issues`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgAnalytics(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`analytics/org/${encodeURIComponent(e)}`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getOrganizations(){try{let e=await this.#u("organizations",async()=>await S(await x(this.#e,"organizations",this.#r)));return this.#n(e)}catch(e){return await this.#t(e)}}async getOrgFullScanBuffered(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgFullScanList(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/full-scans?${ce(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgFullScanMetadata(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}/metadata`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgLicensePolicy(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/settings/license-policy`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getOrgRepo(e,t){let s=encodeURIComponent(e),n=encodeURIComponent(t);try{let o=await this.#s(async()=>await S(await x(this.#e,`orgs/${s}/repos/${n}`,this.#r)));return this.#n(o)}catch(o){return await this.#t(o)}}async getOrgRepoLabel(e,t,s){try{let n=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}/labels/${encodeURIComponent(s)}`,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async getOrgRepoLabelList(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}/labels`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgRepoList(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/repos?${ce(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getOrgSecurityPolicy(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/settings/security-policy`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getOrgTriage(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/triage`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getQuota(){try{let e=await this.#u("quota",async()=>await S(await x(this.#e,"quota",this.#r)));return this.#n(e)}catch(e){return await this.#t(e)}}async getRepoAnalytics(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`analytics/repo/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getScan(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`report/view/${encodeURIComponent(e)}`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async getScanList(){try{let e=await this.#s(async()=>await S(await x(this.#e,"report/list",this.#r),"GET"));return this.#n(e)}catch(e){return await this.#t(e)}}async getScoreByNpmPackage(e,t){try{let s=await this.#s(async()=>await S(await x(this.#e,`npm/${encodeURIComponent(e)}/${encodeURIComponent(t)}/score`,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async getSupportedScanFiles(){try{let e=await this.#s(async()=>await S(await x(this.#e,"report/supported",this.#r)));return this.#n(e)}catch(e){return await this.#t(e)}}async listOrgDiffScans(e){try{let t=await this.#s(async()=>await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/diff-scans`,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async postAPIToken(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/tokens`,t,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async postAPITokensRevoke(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/tokens/${encodeURIComponent(t)}/revoke`,{},this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async postAPITokensRotate(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/tokens/${encodeURIComponent(t)}/rotate`,{},this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async postAPITokenUpdate(e,t,s){try{let n=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/tokens/${encodeURIComponent(t)}/update`,s,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async postSettings(e){try{let t=await this.#s(async()=>await S(await W("POST",this.#e,"settings",{json:e},this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async searchDependencies(e){try{let t=await this.#s(async()=>await S(await W("POST",this.#e,"dependencies/search",e,this.#r)));return this.#n(t)}catch(t){return await this.#t(t)}}async sendApi(e,t){let{body:s,method:n="POST",throws:o=!0}={__proto__:null,...t};try{let i=await W(n,this.#e,e,s,this.#r),l=await S(i);return o?l:{cause:void 0,data:l,error:void 0,status:i.statusCode??200,success:!0}}catch(i){if(o)throw i;if(i instanceof Q){let a=await this.#t(i);return{cause:a.cause,data:void 0,error:a.error,status:a.status,success:!1}}return{cause:(i?String(i).trim():"")||wt.UNKNOWN_ERROR,data:void 0,error:"API request failed",status:0,success:!1}}}async streamOrgFullScan(e,t,s){let{output:n}={__proto__:null,...s};try{let o=ue(this.#e).request(`${this.#e}orgs/${encodeURIComponent(e)}/full-scans/${encodeURIComponent(t)}`,{method:"GET",...this.#r}).end(),i=await le(o);if(!ge(i))throw new Q(i);if(typeof n=="string"){let l=Cl(n),a=0;i.on("data",m=>{if(a+=m.length,a>Ae)throw i.destroy(),l.destroy(),new Error(`Response exceeds maximum stream size of ${Ae} bytes`)}),i.pipe(l),l.on("error",m=>{throw new Error(`Failed to write to file: ${n}`,{cause:m})})}else if(n===!0){let l=0;i.on("data",a=>{if(l+=a.length,l>Ae)throw i.destroy(),new Error(`Response exceeds maximum stream size of ${Ae} bytes`)}),i.pipe(process.stdout),process.stdout.on("error",a=>{throw new Error("Failed to write to stdout",{cause:a})})}return this.#n(i)}catch(o){return await this.#t(o)}}async streamPatchesFromScan(e,t){let s=await this.#s(async()=>await x(this.#e,`orgs/${encodeURIComponent(e)}/patches/scan?scan_id=${encodeURIComponent(t)}`,this.#r));if(!ge(s))throw new Q(s,"GET Request failed");let n=xr.createInterface({input:s,crlfDelay:Number.POSITIVE_INFINITY});return new ReadableStream({async start(o){try{for await(let i of n){let l=i.trim();if(l)try{let a=JSON.parse(l);o.enqueue(a)}catch(a){(0,Ve.debugLog)("streamPatchesFromScan",`Failed to parse line: ${a}`)}}}catch(i){o.error(i)}finally{o.close()}}})}async updateOrgAlertTriage(e,t,s){try{let n=await this.#s(async()=>await S(await W("PUT",this.#e,`orgs/${encodeURIComponent(e)}/triage/${encodeURIComponent(t)}`,s,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async updateOrgLicensePolicy(e,t,s){try{let n=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/settings/license-policy?${ce(s)}`,t,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async updateOrgRepo(e,t,s){try{let n=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}`,s,this.#r)));return this.#n(n)}catch(n){return await this.#t(n)}}async updateOrgRepoLabel(e,t,s,n){try{let o=await this.#s(async()=>await S(await W("PUT",this.#e,`orgs/${encodeURIComponent(e)}/repos/${encodeURIComponent(t)}/labels/${encodeURIComponent(s)}`,n,this.#r)));return this.#n(o)}catch(o){return await this.#t(o)}}async updateOrgSecurityPolicy(e,t){try{let s=await this.#s(async()=>await S(await W("POST",this.#e,`orgs/${encodeURIComponent(e)}/settings/security-policy`,t,this.#r)));return this.#n(s)}catch(s){return await this.#t(s)}}async uploadManifestFiles(e,t,s){let{pathsRelativeTo:n="."}={__proto__:null,...s},o=fe(n),i=Pe(t,o);try{let l=await this.#s(async()=>await S(await Ie(this.#e,`orgs/${encodeURIComponent(e)}/upload-manifest-files`,Ce(i,o),this.#r)));return this.#n(l)}catch(l){return await this.#t(l)}}async viewPatch(e,t){return await S(await x(this.#e,`orgs/${encodeURIComponent(e)}/patches/view/${encodeURIComponent(t)}`,this.#r))}async downloadPatch(e,t){let s=await import("node:https"),n=await import("node:http"),o=`/blob/${encodeURIComponent(e)}`,l=`${t?.baseUrl||zr}${o}`,a=l.startsWith("https:");return await new Promise((m,p)=>{(a?s:n).get(l,c=>{if(c.statusCode===404){p(new Error(`Blob not found: ${e}`));return}if(c.statusCode!==200){p(new Error(`Failed to download blob: ${c.statusCode} ${c.statusMessage}`));return}let u="";c.on("data",f=>{u+=f}),c.on("end",()=>{m(u)}),c.on("error",f=>{p(f)})}).on("error",c=>{p(new Error(`Error downloading blob ${e}: ${c.message}`))})})}};if((0,Ve.isDebugNs)("heap")){let r=process.memoryUsage();(0,Ve.debugLog)("heap",`heap used: ${Math.round(r.heapUsed/1024/1024)}MB`)}export{Et as DEFAULT_USER_AGENT,Q as ResponseError,jr as SocketSdk,pn as calculateTotalQuotaCost,me as createDeleteRequest,x as createGetRequest,Ce as createRequestBodyForFilepaths,Pr as createRequestBodyForJson,W as createRequestWithJson,Ie as createUploadRequest,Ke as createUserAgentFromPkgJson,Iu as getAllMethodRequirements,ht as getErrorResponseBody,ue as getHttpModule,Tu as getMethodRequirements,ku as getMethodsByPermissions,$u as getMethodsByQuotaCost,dn as getQuotaCost,Au as getQuotaUsageSummary,Nu as getRequiredPermissions,le as getResponse,S as getResponseJson,Lu as hasQuotaForMethods,bt as httpAgentNames,ge as isResponseOk,yr as normalizeBaseUrl,Or as promiseWithResolvers,Vn as publicPolicy,ce as queryToSearchParams,ft as reshapeArtifactForPublicPolicy,Pe as resolveAbsPaths,fe as resolveBasePath};
@@ -0,0 +1,2 @@
1
+ /* Socket SDK ESM - Built with esbuild */
2
+ import{d as a}from"./chunk-LHGMBIJS.mjs";import"./chunk-UKECVIRQ.mjs";export default a();
@@ -1,5 +1,5 @@
1
- import type { ArtifactPatches, BatchPackageFetchResultType, BatchPackageStreamOptions, CreateDependenciesSnapshotOptions, CreateOrgFullScanOptions, CreateScanFromFilepathsOptions, Entitlement, GetOptions, PatchViewResponse, QueryParams, SendOptions, SocketSdkGenericResult, SocketSdkOptions, SocketSdkResult, StreamOrgFullScanOptions, UploadManifestFilesError, UploadManifestFilesOptions, UploadManifestFilesReturnType } from './types';
2
1
  import type { IncomingMessage } from 'node:http';
2
+ import type { ArtifactPatches, BatchPackageFetchResultType, BatchPackageStreamOptions, CreateDependenciesSnapshotOptions, CreateOrgFullScanOptions, CreateScanFromFilepathsOptions, Entitlement, GetOptions, PatchViewResponse, QueryParams, SendOptions, SocketSdkGenericResult, SocketSdkOptions, SocketSdkResult, StreamOrgFullScanOptions, UploadManifestFilesError, UploadManifestFilesOptions, UploadManifestFilesReturnType } from './types';
3
3
  /**
4
4
  * Socket SDK for programmatic access to Socket.dev security analysis APIs.
5
5
  * Provides methods for package scanning, organization management, and security analysis.
@@ -419,4 +419,29 @@ export declare class SocketSdk {
419
419
  * vulnerabilities, description, license, and tier information.
420
420
  */
421
421
  viewPatch(orgSlug: string, uuid: string): Promise<PatchViewResponse>;
422
+ /**
423
+ * Download patch file content by hash.
424
+ *
425
+ * Downloads the actual patched file content from the public Socket blob store.
426
+ * This is used after calling viewPatch() to get the patch metadata.
427
+ * No authentication is required as patch blobs are publicly accessible.
428
+ *
429
+ * @param hash - The blob hash in SSRI (sha256-base64) or hex format
430
+ * @param options - Optional configuration
431
+ * @param options.baseUrl - Override blob store URL (for testing)
432
+ * @returns Promise<string> - The patch file content as UTF-8 string
433
+ * @throws Error if blob not found (404) or download fails
434
+ *
435
+ * @example
436
+ * ```typescript
437
+ * const sdk = new SocketSdk('your-api-token')
438
+ * // First get patch metadata
439
+ * const patch = await sdk.viewPatch('my-org', 'patch-uuid')
440
+ * // Then download the actual patched file
441
+ * const fileContent = await sdk.downloadPatch(patch.files['index.js'].socketBlob)
442
+ * ```
443
+ */
444
+ downloadPatch(hash: string, options?: {
445
+ baseUrl?: string;
446
+ }): Promise<string>;
422
447
  }
@@ -0,0 +1,2 @@
1
+ /* Socket SDK ESM - Built with esbuild */
2
+ import"./chunk-UKECVIRQ.mjs";function p(e,s=200){return{cause:void 0,data:e,error:void 0,status:s,success:!0}}function k(e,s=500,t){return{cause:t,data:void 0,error:e,status:s,success:!1}}function S(e,s){return{error:{message:e,...s?{details:s}:{}}}}var o={basic:{id:"org_123",name:"test-org",plan:"free"},full:{id:"org_123",name:"test-org",plan:"enterprise",created_at:"2024-01-01T00:00:00Z",updated_at:"2024-01-02T00:00:00Z"}},i={basic:{id:"repo_123",name:"test-repo",archived:!1,default_branch:"main"},archived:{id:"repo_456",name:"old-repo",archived:!0,default_branch:"master"},full:{id:"repo_123",name:"test-repo",archived:!1,default_branch:"main",homepage:"https://example.com",visibility:"public",created_at:"2024-01-01T00:00:00Z",updated_at:"2024-01-02T00:00:00Z"}},u={pending:{id:"scan_pending",status:"pending",created_at:"2024-01-01T00:00:00Z"},completed:{id:"scan_completed",status:"completed",created_at:"2024-01-01T00:00:00Z",completed_at:"2024-01-01T00:01:00Z",issues_found:0},withIssues:{id:"scan_with_issues",status:"completed",created_at:"2024-01-01T00:00:00Z",completed_at:"2024-01-01T00:01:00Z",issues_found:3},failed:{id:"scan_failed",status:"failed",created_at:"2024-01-01T00:00:00Z",error:"Scan timeout"}},d={safe:{id:"pkg_safe",name:"safe-package",version:"1.0.0",score:95},vulnerable:{id:"pkg_vuln",name:"vulnerable-package",version:"2.0.0",score:45,issues:["vulnerability"]},malware:{id:"pkg_malware",name:"malware-package",version:"3.0.0",score:0,issues:["malware"]}},l={vulnerability:{type:"vulnerability",severity:"high",key:"CVE-2024-1234",description:"SQL Injection vulnerability"},malware:{type:"malware",severity:"critical",key:"malware-detected",description:"Malicious code detected"},license:{type:"license",severity:"medium",key:"license-incompatible",description:"License incompatible with project"}},m={issues:l,organizations:o,packages:d,repositories:i,scans:u};function R(e,s,t=e?200:500,r){return e?{cause:void 0,data:s,error:void 0,status:t,success:!0}:{cause:r,data:void 0,error:s,status:t,success:!1}}function f(e,s={}){let t={FORBIDDEN:403,NOT_FOUND:404,SERVER_ERROR:500,TIMEOUT:408,UNAUTHORIZED:401},r={FORBIDDEN:"Access forbidden",NOT_FOUND:"Resource not found",SERVER_ERROR:"Internal server error",TIMEOUT:"Request timeout",UNAUTHORIZED:"Unauthorized"},n=s.status??t[e],a=s.message??r[e],c=new Error(a);return c.status=n,s.cause&&(c.cause=s.cause),c}function T(e){return e.success===!0}function g(e){return e.success===!1}export{m as fixtures,g as isErrorResult,T as isSuccessResult,l as issueFixtures,S as mockApiErrorBody,k as mockErrorResponse,f as mockSdkError,R as mockSdkResult,p as mockSuccessResponse,o as organizationFixtures,d as packageFixtures,i as repositoryFixtures,u as scanFixtures};
package/dist/types.d.ts CHANGED
@@ -2,13 +2,13 @@
2
2
  * @fileoverview Type definitions and interfaces for Socket SDK.
3
3
  * Provides TypeScript types for API requests, responses, and internal SDK functionality.
4
4
  */
5
- import type { components, operations } from '../types/api';
6
- import type { OpErrorType, OpReturnType } from '../types/api-helpers';
7
- import type { Remap } from '@socketsecurity/registry/lib/objects';
8
- import type { ClientHttp2Session } from 'http2-wrapper';
9
5
  import type { Agent as HttpAgent, RequestOptions as HttpRequestOptions } from 'node:http';
10
6
  import type { ClientSessionRequestOptions } from 'node:http2';
11
7
  import type { Agent as HttpsAgent, RequestOptions as HttpsRequestOptions } from 'node:https';
8
+ import type { Remap } from '@socketsecurity/lib/objects';
9
+ import type { ClientHttp2Session } from 'http2-wrapper';
10
+ import type { components, operations } from '../types/api';
11
+ import type { OpReturnType } from '../types/api-helpers';
12
12
  export type ALERT_ACTION = 'error' | 'monitor' | 'warn' | 'ignore';
13
13
  export type ALERT_TYPE = keyof NonNullable<operations['getOrgSecurityPolicy']['responses']['200']['content']['application/json']['securityPolicyRules']>;
14
14
  export type Entitlement = {
@@ -106,14 +106,20 @@ export type SocketArtifactAlert = Remap<Omit<components['schemas']['SocketAlert'
106
106
  props?: Record<string, unknown> | undefined;
107
107
  }>;
108
108
  export type SocketSdkOperations = keyof operations;
109
- export type SocketSdkSuccessResult<T extends SocketSdkOperations> = OpReturnType<operations[T]> & {
109
+ export type SocketSdkSuccessResult<T extends SocketSdkOperations> = {
110
110
  cause?: undefined;
111
+ data: OpReturnType<operations[T]>;
111
112
  error?: undefined;
113
+ status: number;
114
+ success: true;
112
115
  };
113
- export type SocketSdkErrorResult<T extends SocketSdkOperations> = Omit<OpErrorType<operations[T]>, 'error'> & {
116
+ export type SocketSdkErrorResult<T extends SocketSdkOperations> = {
114
117
  cause?: string | undefined;
115
118
  data?: undefined;
116
119
  error: string;
120
+ status: number;
121
+ success: false;
122
+ _operation?: T;
117
123
  };
118
124
  export type SocketSdkResult<T extends SocketSdkOperations> = SocketSdkSuccessResult<T> | SocketSdkErrorResult<T>;
119
125
  export type SocketSdkGenericResult<T> = {