@mherod/get-cookie 4.3.0 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var fa=Object.create;var wr=Object.defineProperty;var pa=Object.getOwnPropertyDescriptor;var ua=Object.getOwnPropertyNames;var la=Object.getPrototypeOf,ma=Object.prototype.hasOwnProperty;var ca=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ua(e))!ma.call(r,i)&&i!==t&&wr(r,i,{get:()=>e[i],enumerable:!(o=pa(e,i))||o.enumerable});return r};var R=(r,e,t)=>(t=r!=null?fa(la(r)):{},ca(e||!r||!r.__esModule?wr(t,"default",{value:r,enumerable:!0}):t,r));function da(r){let e=r.split("."),t=[];t.push({name:"%",domain:r});for(let o=1;o<e.length-1;o++){let i=e.slice(o).join(".");t.push({name:"%",domain:i})}return t}function ar(r){if(!r.includes("://"))try{return ar(`https://${r}`)}catch{return[{name:"%",domain:r}]}try{let e=new URL(r);return da(e.hostname)}catch{return[{name:"%",domain:r}]}}var kr=R(require("minimist"),1);function vr(r){let e=(0,kr.default)(r,{string:["browser","profile","url","domain","name","output","store"],boolean:["help","version","verbose","dump","dump-grouped","render","render-grouped","force"],alias:{b:"browser",p:"profile",u:"url",d:"dump",D:"domain",n:"name",h:"help",v:"verbose",f:"force",G:"dump-grouped",r:"render",R:"render-grouped"}}),{_:t,...o}=e;return{values:o,positionals:t}}var Pr=require("consola");var Sr=require("os"),Er=require("dotenv"),fe=require("zod");(0,Er.config)();var ga=fe.z.object({LOG_LEVEL:fe.z.enum(["debug","info","warn","error"]).default("info"),HOME:fe.z.string().optional().transform(r=>r??process.env.USERPROFILE??"").pipe(fe.z.string().min(1))}),ir=ga.parse({LOG_LEVEL:process.env.LOG_LEVEL,HOME:(0,Sr.homedir)()});var ya=(0,Pr.createConsola)({fancy:!0,formatOptions:{showLogLevel:!1,colors:!0,date:!1,compact:!0,columns:typeof process.stdout.columns=="number"?process.stdout.columns:80},level:ir.LOG_LEVEL==="debug"?5:2}),mp=ir.LOG_LEVEL==="debug",ha=ya,u=ha;function Or(r,e,t){e?u.success(`${r} succeeded`,t):u.error(`${r} failed`,t)}function I(r,e,t){let o=e instanceof Error?e.message:String(e);u.error(r,{...t,error:o})}function W(r,e,t){u.warn(`[${r}] ${e}`,t)}function h(r){return u.withTag(r)}var pe=class{canHandle(e){return!0}handle(e){let t=new Set(e.map(o=>o.value));for(let o of t)u.log(o)}};var Ce=class{canHandle(e){return e.dump===!0||e.d===!0}handle(e){u.log(e)}};var xa=typeof global=="object"&&global&&global.Object===Object&&global,we=xa;var ba=typeof self=="object"&&self&&self.Object===Object&&self,Ca=we||ba||Function("return this")(),x=Ca;var wa=x.Symbol,w=wa;var Ar=Object.prototype,ka=Ar.hasOwnProperty,va=Ar.toString,ue=w?w.toStringTag:void 0;function Sa(r){var e=ka.call(r,ue),t=r[ue];try{r[ue]=void 0;var o=!0}catch{}var i=va.call(r);return o&&(e?r[ue]=t:delete r[ue]),i}var _r=Sa;var Ea=Object.prototype,Pa=Ea.toString;function Oa(r){return Pa.call(r)}var Tr=Oa;var Aa="[object Null]",_a="[object Undefined]",Rr=w?w.toStringTag:void 0;function Ta(r){return r==null?r===void 0?_a:Aa:Rr&&Rr in Object(r)?_r(r):Tr(r)}var S=Ta;function Ra(r){return r!=null&&typeof r=="object"}var E=Ra;var Ia="[object Symbol]";function Ba(r){return typeof r=="symbol"||E(r)&&S(r)==Ia}var K=Ba;function La(r,e){for(var t=-1,o=r==null?0:r.length,i=Array(o);++t<o;)i[t]=e(r[t],t,r);return i}var Ir=La;var Fa=Array.isArray,y=Fa;var Da=1/0,Br=w?w.prototype:void 0,Lr=Br?Br.toString:void 0;function Fr(r){if(typeof r=="string")return r;if(y(r))return Ir(r,Fr)+"";if(K(r))return Lr?Lr.call(r):"";var e=r+"";return e=="0"&&1/r==-Da?"-0":e}var Dr=Fr;function Na(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var V=Na;function Ma(r){return r}var Nr=Ma;var ja="[object AsyncFunction]",Ua="[object Function]",qa="[object GeneratorFunction]",Ha="[object Proxy]";function za(r){if(!V(r))return!1;var e=S(r);return e==Ua||e==qa||e==ja||e==Ha}var ke=za;var $a=x["__core-js_shared__"],ve=$a;var Mr=function(){var r=/[^.]+$/.exec(ve&&ve.keys&&ve.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function Qa(r){return!!Mr&&Mr in r}var jr=Qa;var Ga=Function.prototype,Wa=Ga.toString;function Ka(r){if(r!=null){try{return Wa.call(r)}catch{}try{return r+""}catch{}}return""}var A=Ka;var Va=/[\\^$.*+?()[\]{}|]/g,Ja=/^\[object .+?Constructor\]$/,Za=Function.prototype,Xa=Object.prototype,Ya=Za.toString,ei=Xa.hasOwnProperty,ri=RegExp("^"+Ya.call(ei).replace(Va,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ti(r){if(!V(r)||jr(r))return!1;var e=ke(r)?ri:Ja;return e.test(A(r))}var Ur=ti;function oi(r,e){return r?.[e]}var qr=oi;function ai(r,e){var t=qr(r,e);return Ur(t)?t:void 0}var C=ai;var ii=C(x,"WeakMap"),Se=ii;var si=function(){try{var r=C(Object,"defineProperty");return r({},"",{}),r}catch{}}(),sr=si;var ni=9007199254740991,fi=/^(?:0|[1-9]\d*)$/;function pi(r,e){var t=typeof r;return e=e??ni,!!e&&(t=="number"||t!="symbol"&&fi.test(r))&&r>-1&&r%1==0&&r<e}var Ee=pi;function ui(r,e,t){e=="__proto__"&&sr?sr(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}var Hr=ui;function li(r,e){return r===e||r!==r&&e!==e}var Pe=li;var mi=9007199254740991;function ci(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=mi}var J=ci;function di(r){return r!=null&&J(r.length)&&!ke(r)}var Oe=di;var gi=Object.prototype;function yi(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||gi;return r===t}var zr=yi;function hi(r,e){for(var t=-1,o=Array(r);++t<r;)o[t]=e(t);return o}var $r=hi;var xi="[object Arguments]";function bi(r){return E(r)&&S(r)==xi}var nr=bi;var Qr=Object.prototype,Ci=Qr.hasOwnProperty,wi=Qr.propertyIsEnumerable,ki=nr(function(){return arguments}())?nr:function(r){return E(r)&&Ci.call(r,"callee")&&!wi.call(r,"callee")},Ae=ki;function vi(){return!1}var Gr=vi;var Vr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wr=Vr&&typeof module=="object"&&module&&!module.nodeType&&module,Si=Wr&&Wr.exports===Vr,Kr=Si?x.Buffer:void 0,Ei=Kr?Kr.isBuffer:void 0,Pi=Ei||Gr,le=Pi;var Oi="[object Arguments]",Ai="[object Array]",_i="[object Boolean]",Ti="[object Date]",Ri="[object Error]",Ii="[object Function]",Bi="[object Map]",Li="[object Number]",Fi="[object Object]",Di="[object RegExp]",Ni="[object Set]",Mi="[object String]",ji="[object WeakMap]",Ui="[object ArrayBuffer]",qi="[object DataView]",Hi="[object Float32Array]",zi="[object Float64Array]",$i="[object Int8Array]",Qi="[object Int16Array]",Gi="[object Int32Array]",Wi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Vi="[object Uint16Array]",Ji="[object Uint32Array]",g={};g[Hi]=g[zi]=g[$i]=g[Qi]=g[Gi]=g[Wi]=g[Ki]=g[Vi]=g[Ji]=!0;g[Oi]=g[Ai]=g[Ui]=g[_i]=g[qi]=g[Ti]=g[Ri]=g[Ii]=g[Bi]=g[Li]=g[Fi]=g[Di]=g[Ni]=g[Mi]=g[ji]=!1;function Zi(r){return E(r)&&J(r.length)&&!!g[S(r)]}var Jr=Zi;function Xi(r){return function(e){return r(e)}}var Zr=Xi;var Xr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,me=Xr&&typeof module=="object"&&module&&!module.nodeType&&module,Yi=me&&me.exports===Xr,fr=Yi&&we.process,es=function(){try{var r=me&&me.require&&me.require("util").types;return r||fr&&fr.binding&&fr.binding("util")}catch{}}(),pr=es;var Yr=pr&&pr.isTypedArray,rs=Yr?Zr(Yr):Jr,_e=rs;var ts=Object.prototype,os=ts.hasOwnProperty;function as(r,e){var t=y(r),o=!t&&Ae(r),i=!t&&!o&&le(r),a=!t&&!o&&!i&&_e(r),s=t||o||i||a,n=s?$r(r.length,String):[],p=n.length;for(var f in r)(e||os.call(r,f))&&!(s&&(f=="length"||i&&(f=="offset"||f=="parent")||a&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Ee(f,p)))&&n.push(f);return n}var et=as;function is(r,e){return function(t){return r(e(t))}}var rt=is;var ss=rt(Object.keys,Object),tt=ss;var ns=Object.prototype,fs=ns.hasOwnProperty;function ps(r){if(!zr(r))return tt(r);var e=[];for(var t in Object(r))fs.call(r,t)&&t!="constructor"&&e.push(t);return e}var ot=ps;function us(r){return Oe(r)?et(r):ot(r)}var Z=us;var ls=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ms=/^\w*$/;function cs(r,e){if(y(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||K(r)?!0:ms.test(r)||!ls.test(r)||e!=null&&r in Object(e)}var X=cs;var ds=C(Object,"create"),_=ds;function gs(){this.__data__=_?_(null):{},this.size=0}var at=gs;function ys(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var it=ys;var hs="__lodash_hash_undefined__",xs=Object.prototype,bs=xs.hasOwnProperty;function Cs(r){var e=this.__data__;if(_){var t=e[r];return t===hs?void 0:t}return bs.call(e,r)?e[r]:void 0}var st=Cs;var ws=Object.prototype,ks=ws.hasOwnProperty;function vs(r){var e=this.__data__;return _?e[r]!==void 0:ks.call(e,r)}var nt=vs;var Ss="__lodash_hash_undefined__";function Es(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=_&&e===void 0?Ss:e,this}var ft=Es;function Y(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}Y.prototype.clear=at;Y.prototype.delete=it;Y.prototype.get=st;Y.prototype.has=nt;Y.prototype.set=ft;var ur=Y;function Ps(){this.__data__=[],this.size=0}var pt=Ps;function Os(r,e){for(var t=r.length;t--;)if(Pe(r[t][0],e))return t;return-1}var B=Os;var As=Array.prototype,_s=As.splice;function Ts(r){var e=this.__data__,t=B(e,r);if(t<0)return!1;var o=e.length-1;return t==o?e.pop():_s.call(e,t,1),--this.size,!0}var ut=Ts;function Rs(r){var e=this.__data__,t=B(e,r);return t<0?void 0:e[t][1]}var lt=Rs;function Is(r){return B(this.__data__,r)>-1}var mt=Is;function Bs(r,e){var t=this.__data__,o=B(t,r);return o<0?(++this.size,t.push([r,e])):t[o][1]=e,this}var ct=Bs;function ee(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}ee.prototype.clear=pt;ee.prototype.delete=ut;ee.prototype.get=lt;ee.prototype.has=mt;ee.prototype.set=ct;var L=ee;var Ls=C(x,"Map"),F=Ls;function Fs(){this.size=0,this.__data__={hash:new ur,map:new(F||L),string:new ur}}var dt=Fs;function Ds(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var gt=Ds;function Ns(r,e){var t=r.__data__;return gt(e)?t[typeof e=="string"?"string":"hash"]:t.map}var D=Ns;function Ms(r){var e=D(this,r).delete(r);return this.size-=e?1:0,e}var yt=Ms;function js(r){return D(this,r).get(r)}var ht=js;function Us(r){return D(this,r).has(r)}var xt=Us;function qs(r,e){var t=D(this,r),o=t.size;return t.set(r,e),this.size+=t.size==o?0:1,this}var bt=qs;function re(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}re.prototype.clear=dt;re.prototype.delete=yt;re.prototype.get=ht;re.prototype.has=xt;re.prototype.set=bt;var Q=re;var Hs="Expected a function";function lr(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(Hs);var t=function(){var o=arguments,i=e?e.apply(this,o):o[0],a=t.cache;if(a.has(i))return a.get(i);var s=r.apply(this,o);return t.cache=a.set(i,s)||a,s};return t.cache=new(lr.Cache||Q),t}lr.Cache=Q;var Ct=lr;var zs=500;function $s(r){var e=Ct(r,function(o){return t.size===zs&&t.clear(),o}),t=e.cache;return e}var wt=$s;var Qs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Gs=/\\(\\)?/g,Ws=wt(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(Qs,function(t,o,i,a){e.push(i?a.replace(Gs,"$1"):o||t)}),e}),kt=Ws;function Ks(r){return r==null?"":Dr(r)}var vt=Ks;function Vs(r,e){return y(r)?r:X(r,e)?[r]:kt(vt(r))}var Te=Vs;var Js=1/0;function Zs(r){if(typeof r=="string"||K(r))return r;var e=r+"";return e=="0"&&1/r==-Js?"-0":e}var N=Zs;function Xs(r,e){e=Te(e,r);for(var t=0,o=e.length;r!=null&&t<o;)r=r[N(e[t++])];return t&&t==o?r:void 0}var Re=Xs;function Ys(r,e,t){var o=r==null?void 0:Re(r,e);return o===void 0?t:o}var St=Ys;function en(r,e){for(var t=-1,o=e.length,i=r.length;++t<o;)r[i+t]=e[t];return r}var Et=en;function rn(){this.__data__=new L,this.size=0}var Pt=rn;function tn(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}var Ot=tn;function on(r){return this.__data__.get(r)}var At=on;function an(r){return this.__data__.has(r)}var _t=an;var sn=200;function nn(r,e){var t=this.__data__;if(t instanceof L){var o=t.__data__;if(!F||o.length<sn-1)return o.push([r,e]),this.size=++t.size,this;t=this.__data__=new Q(o)}return t.set(r,e),this.size=t.size,this}var Tt=nn;function te(r){var e=this.__data__=new L(r);this.size=e.size}te.prototype.clear=Pt;te.prototype.delete=Ot;te.prototype.get=At;te.prototype.has=_t;te.prototype.set=Tt;var oe=te;function fn(r,e){for(var t=-1,o=r==null?0:r.length,i=0,a=[];++t<o;){var s=r[t];e(s,t,r)&&(a[i++]=s)}return a}var Rt=fn;function pn(){return[]}var It=pn;var un=Object.prototype,ln=un.propertyIsEnumerable,Bt=Object.getOwnPropertySymbols,mn=Bt?function(r){return r==null?[]:(r=Object(r),Rt(Bt(r),function(e){return ln.call(r,e)}))}:It,Lt=mn;function cn(r,e,t){var o=e(r);return y(r)?o:Et(o,t(r))}var Ft=cn;function dn(r){return Ft(r,Z,Lt)}var mr=dn;var gn=C(x,"DataView"),Ie=gn;var yn=C(x,"Promise"),Be=yn;var hn=C(x,"Set"),Le=hn;var Dt="[object Map]",xn="[object Object]",Nt="[object Promise]",Mt="[object Set]",jt="[object WeakMap]",Ut="[object DataView]",bn=A(Ie),Cn=A(F),wn=A(Be),kn=A(Le),vn=A(Se),G=S;(Ie&&G(new Ie(new ArrayBuffer(1)))!=Ut||F&&G(new F)!=Dt||Be&&G(Be.resolve())!=Nt||Le&&G(new Le)!=Mt||Se&&G(new Se)!=jt)&&(G=function(r){var e=S(r),t=e==xn?r.constructor:void 0,o=t?A(t):"";if(o)switch(o){case bn:return Ut;case Cn:return Dt;case wn:return Nt;case kn:return Mt;case vn:return jt}return e});var cr=G;var Sn=x.Uint8Array,dr=Sn;var En="__lodash_hash_undefined__";function Pn(r){return this.__data__.set(r,En),this}var qt=Pn;function On(r){return this.__data__.has(r)}var Ht=On;function Fe(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new Q;++e<t;)this.add(r[e])}Fe.prototype.add=Fe.prototype.push=qt;Fe.prototype.has=Ht;var zt=Fe;function An(r,e){for(var t=-1,o=r==null?0:r.length;++t<o;)if(e(r[t],t,r))return!0;return!1}var $t=An;function _n(r,e){return r.has(e)}var Qt=_n;var Tn=1,Rn=2;function In(r,e,t,o,i,a){var s=t&Tn,n=r.length,p=e.length;if(n!=p&&!(s&&p>n))return!1;var f=a.get(r),l=a.get(e);if(f&&l)return f==e&&l==r;var c=-1,d=!0,k=t&Rn?new zt:void 0;for(a.set(r,e),a.set(e,r);++c<n;){var b=r[c],v=e[c];if(o)var T=s?o(v,b,c,e,r,a):o(b,v,c,r,e,a);if(T!==void 0){if(T)continue;d=!1;break}if(k){if(!$t(e,function(z,$){if(!Qt(k,$)&&(b===z||i(b,z,t,o,a)))return k.push($)})){d=!1;break}}else if(!(b===v||i(b,v,t,o,a))){d=!1;break}}return a.delete(r),a.delete(e),d}var De=In;function Bn(r){var e=-1,t=Array(r.size);return r.forEach(function(o,i){t[++e]=[i,o]}),t}var Gt=Bn;function Ln(r){var e=-1,t=Array(r.size);return r.forEach(function(o){t[++e]=o}),t}var Wt=Ln;var Fn=1,Dn=2,Nn="[object Boolean]",Mn="[object Date]",jn="[object Error]",Un="[object Map]",qn="[object Number]",Hn="[object RegExp]",zn="[object Set]",$n="[object String]",Qn="[object Symbol]",Gn="[object ArrayBuffer]",Wn="[object DataView]",Kt=w?w.prototype:void 0,gr=Kt?Kt.valueOf:void 0;function Kn(r,e,t,o,i,a,s){switch(t){case Wn:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Gn:return!(r.byteLength!=e.byteLength||!a(new dr(r),new dr(e)));case Nn:case Mn:case qn:return Pe(+r,+e);case jn:return r.name==e.name&&r.message==e.message;case Hn:case $n:return r==e+"";case Un:var n=Gt;case zn:var p=o&Fn;if(n||(n=Wt),r.size!=e.size&&!p)return!1;var f=s.get(r);if(f)return f==e;o|=Dn,s.set(r,e);var l=De(n(r),n(e),o,i,a,s);return s.delete(r),l;case Qn:if(gr)return gr.call(r)==gr.call(e)}return!1}var Vt=Kn;var Vn=1,Jn=Object.prototype,Zn=Jn.hasOwnProperty;function Xn(r,e,t,o,i,a){var s=t&Vn,n=mr(r),p=n.length,f=mr(e),l=f.length;if(p!=l&&!s)return!1;for(var c=p;c--;){var d=n[c];if(!(s?d in e:Zn.call(e,d)))return!1}var k=a.get(r),b=a.get(e);if(k&&b)return k==e&&b==r;var v=!0;a.set(r,e),a.set(e,r);for(var T=s;++c<p;){d=n[c];var z=r[d],$=e[d];if(o)var Cr=s?o($,z,d,e,r,a):o(z,$,d,r,e,a);if(!(Cr===void 0?z===$||i(z,$,t,o,a):Cr)){v=!1;break}T||(T=d=="constructor")}if(v&&!T){var xe=r.constructor,be=e.constructor;xe!=be&&"constructor"in r&&"constructor"in e&&!(typeof xe=="function"&&xe instanceof xe&&typeof be=="function"&&be instanceof be)&&(v=!1)}return a.delete(r),a.delete(e),v}var Jt=Xn;var Yn=1,Zt="[object Arguments]",Xt="[object Array]",Ne="[object Object]",ef=Object.prototype,Yt=ef.hasOwnProperty;function rf(r,e,t,o,i,a){var s=y(r),n=y(e),p=s?Xt:cr(r),f=n?Xt:cr(e);p=p==Zt?Ne:p,f=f==Zt?Ne:f;var l=p==Ne,c=f==Ne,d=p==f;if(d&&le(r)){if(!le(e))return!1;s=!0,l=!1}if(d&&!l)return a||(a=new oe),s||_e(r)?De(r,e,t,o,i,a):Vt(r,e,p,t,o,i,a);if(!(t&Yn)){var k=l&&Yt.call(r,"__wrapped__"),b=c&&Yt.call(e,"__wrapped__");if(k||b){var v=k?r.value():r,T=b?e.value():e;return a||(a=new oe),i(v,T,t,o,a)}}return d?(a||(a=new oe),Jt(r,e,t,o,i,a)):!1}var eo=rf;function ro(r,e,t,o,i){return r===e?!0:r==null||e==null||!E(r)&&!E(e)?r!==r&&e!==e:eo(r,e,t,o,ro,i)}var Me=ro;var tf=1,of=2;function af(r,e,t,o){var i=t.length,a=i,s=!o;if(r==null)return!a;for(r=Object(r);i--;){var n=t[i];if(s&&n[2]?n[1]!==r[n[0]]:!(n[0]in r))return!1}for(;++i<a;){n=t[i];var p=n[0],f=r[p],l=n[1];if(s&&n[2]){if(f===void 0&&!(p in r))return!1}else{var c=new oe;if(o)var d=o(f,l,p,r,e,c);if(!(d===void 0?Me(l,f,tf|of,o,c):d))return!1}}return!0}var to=af;function sf(r){return r===r&&!V(r)}var je=sf;function nf(r){for(var e=Z(r),t=e.length;t--;){var o=e[t],i=r[o];e[t]=[o,i,je(i)]}return e}var oo=nf;function ff(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}var Ue=ff;function pf(r){var e=oo(r);return e.length==1&&e[0][2]?Ue(e[0][0],e[0][1]):function(t){return t===r||to(t,r,e)}}var ao=pf;function uf(r,e){return r!=null&&e in Object(r)}var io=uf;function lf(r,e,t){e=Te(e,r);for(var o=-1,i=e.length,a=!1;++o<i;){var s=N(e[o]);if(!(a=r!=null&&t(r,s)))break;r=r[s]}return a||++o!=i?a:(i=r==null?0:r.length,!!i&&J(i)&&Ee(s,i)&&(y(r)||Ae(r)))}var so=lf;function mf(r,e){return r!=null&&so(r,e,io)}var no=mf;var cf=1,df=2;function gf(r,e){return X(r)&&je(e)?Ue(N(r),e):function(t){var o=St(t,r);return o===void 0&&o===e?no(t,r):Me(e,o,cf|df)}}var fo=gf;function yf(r){return function(e){return e?.[r]}}var po=yf;function hf(r){return function(e){return Re(e,r)}}var uo=hf;function xf(r){return X(r)?po(N(r)):uo(r)}var lo=xf;function bf(r){return typeof r=="function"?r:r==null?Nr:typeof r=="object"?y(r)?fo(r[0],r[1]):ao(r):lo(r)}var mo=bf;function Cf(r,e,t,o){for(var i=-1,a=r==null?0:r.length;++i<a;){var s=r[i];e(o,s,t(s),r)}return o}var co=Cf;function wf(r){return function(e,t,o){for(var i=-1,a=Object(e),s=o(e),n=s.length;n--;){var p=s[r?n:++i];if(t(a[p],p,a)===!1)break}return e}}var go=wf;var kf=go(),yo=kf;function vf(r,e){return r&&yo(r,e,Z)}var ho=vf;function Sf(r,e){return function(t,o){if(t==null)return t;if(!Oe(t))return r(t,o);for(var i=t.length,a=e?i:-1,s=Object(t);(e?a--:++a<i)&&o(s[a],a,s)!==!1;);return t}}var xo=Sf;var Ef=xo(ho),bo=Ef;function Pf(r,e,t,o){return bo(r,function(i,a,s){e(o,i,t(i),s)}),o}var Co=Pf;function Of(r,e){return function(t,o){var i=y(t)?co:Co,a=e?e():{};return i(t,r,mo(o,2),a)}}var wo=Of;var Af=Object.prototype,_f=Af.hasOwnProperty,Tf=wo(function(r,e,t){_f.call(r,t)?r[t].push(e):Hr(r,t,[e])}),ce=Tf;var qe=class{canHandle(e){return e["dump-grouped"]===!0||e.D===!0}handle(e){let t=ce(e,o=>o.meta?.file??"unknown");u.log(JSON.stringify(t,null,2))}};function He(r,e={}){let{format:t="merged",showFilePaths:o=!0,separator:i="; "}=e;if(r.length===0)return t==="merged"?"":[];if(t==="merged")return r.map(s=>s.value).join(i);let a=ce(r,s=>s.meta?.file??"unknown");return Object.entries(a).map(([s,n])=>{let p=n.map(f=>f.value).join(i);return o?`${s}: ${p}`:p})}var ze=class{canHandle(e){return e["render-grouped"]===!0||e.R===!0}handle(e){u.log(He(e,{format:"grouped"}))}};var $e=class{canHandle(e){return e.output==="json"}handle(e){u.log(JSON.stringify(e,null,2))}};var Qe=class{canHandle(e){return e.render===!0||e["render-merged"]===!0||e.r===!0}handle(e){u.log(He(e,{format:"merged"}))}};var Ge=class{constructor(){this.validOutputFormats=["json"];this.handlers=[new Ce,new qe,new Qe,new ze,new $e,new pe]}validateOutputFormat(e){if(e.output!==void 0&&!this.validOutputFormats.includes(e.output)){let t=this.validOutputFormats.join(", ");throw new Error(`Invalid output format: '${e.output}'. Valid formats are: ${t}`)}}getHandler(e){return this.validateOutputFormat(e),this.handlers.find(t=>t.canHandle(e))??new pe}};var We=class{constructor(e){this.strategy=e}async queryCookies(e,t){return await this.strategy.queryCookies(e.name,e.domain,t?.store,t?.force)}};async function ko(r,e,t=[]){return r.length===0?t:(await Promise.all(r.map(async i=>{try{return await e(i)}catch{return t}}))).flat()}var de=class{constructor(e){this.strategies=e;this.logger=h("CompositeCookieQueryStrategy");this.browserName="internal"}handleStrategyError(e,t){e instanceof Error?this.logger.error("Strategy failed",{error:e,strategy:t}):this.logger.error("Strategy failed with unknown error",{error:String(e),strategy:t})}async queryCookies(e,t,o,i){try{return this.logger.info("Querying cookies from all strategies",{name:e,domain:t,store:o,force:i,strategyCount:this.strategies.length}),await ko(this.strategies,async a=>{try{return await a.queryCookies(e,t,o,i)}catch(s){return this.handleStrategyError(s,a),[]}},[])}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a}):this.logger.error("Failed to query cookies with unknown error",{error:String(a)}),[]}}};var Rf={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{},success:()=>{},fatal:()=>{},log:()=>{}},M=class{constructor(e,t){this.browserName=t;let o=h(e);this.logger=o||Rf}async queryCookies(e,t,o,i){try{return this.logger.info("Querying cookies",{name:e,domain:t,store:o,force:i}),await this.executeQuery(e,t,o,i)}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a.message,browser:this.browserName,strategy:this.constructor.name,name:e,domain:t,store:o,force:i}):this.logger.error("Failed to query cookies",{error:String(a),browser:this.browserName,strategy:this.constructor.name,name:e,domain:t,store:o,force:i}),[]}}};var So=require("fs"),Ze=require("path"),Eo=R(require("fast-glob"),1);var vo=R(require("better-sqlite3"),1);var Ke=h("QuerySqliteThenTransform");function If(r){return new Promise(e=>setTimeout(e,r))}function Bf(r){if(r instanceof Error){let e=r.message.toLowerCase();return e.includes("database is locked")||e.includes("database locked")||e.includes("sqlite_busy")}return!1}function Lf(r){try{let e=new vo.default(r,{readonly:!0,fileMustExist:!0});try{e.pragma("journal_mode = WAL"),Ke.debug("Set WAL mode for database",{file:r})}catch(t){Ke.warn("Failed to set WAL mode, continuing with default",{file:r,error:t instanceof Error?t.message:String(t)})}return e}catch(e){throw I("Database open failed",e,{file:r}),e}}function Ff(r){try{return r.close(),Promise.resolve()}catch(e){return I("Database close failed",e),Promise.reject(e instanceof Error?e:new Error("Failed to close database: Unknown error"))}}async function Df(r){let{file:e,sql:t,params:o,rowFilter:i,rowTransform:a}=r,s;try{s=Lf(e);let p=s.prepare(t).all(o),f=i?p.filter(i):p;return a?f.map(a):f}finally{s&&await Ff(s)}}async function Ve(r){let{file:e,sql:t,retryAttempts:o=3}=r,i=[100,500,1e3],a;for(let s=0;s<o;s++)try{let n=await Df(r);return s>0&&Ke.info("Database query succeeded after retry",{file:e,attempt:s+1,totalAttempts:o}),n}catch(n){if(a=n,Bf(n)&&s<o-1){let p=i[s]||1e3;Ke.warn("Database locked, retrying after delay",{file:e,attempt:s+1,totalAttempts:o,delay:p,error:n instanceof Error?n.message:String(n)}),await If(p);continue}throw I("Database query failed",n,{file:e,sql:t,attempt:s+1}),n}throw a}var ge=require("os"),Je=require("path"),j=(()=>{let r=(0,ge.homedir)();if(!r)throw new Error("Unable to determine user home directory");switch((0,ge.platform)()){case"darwin":return(0,Je.join)(r,"Library","Application Support","Google","Chrome");case"win32":return(0,Je.join)(r,"AppData","Local","Google","Chrome","User Data");case"linux":return(0,Je.join)(r,".config","google-chrome");default:throw new Error(`Platform ${(0,ge.platform)()} is not supported`)}})();var ye=h("getEncryptedChromeCookie");function Nf(r){if(typeof r!="string")return!1;let e=r.trim();return e.length===0?!1:(0,So.existsSync)(e)}async function Mf(){let r=[(0,Ze.join)(j,"Default/Cookies"),(0,Ze.join)(j,"Profile */Cookies"),(0,Ze.join)(j,"Profile Default/Cookies")],e=[];for(let t of r){let o=await(0,Eo.default)(t);e.push(...o)}return ye.debug("ChromeCookies","Found cookie files",{count:e.length,files:e}),e}function jf(r,e){let t=r==="%",o=t?"SELECT name, encrypted_value, host_key, expires_utc FROM cookies WHERE host_key LIKE ?":"SELECT name, encrypted_value, host_key, expires_utc FROM cookies WHERE name = ? AND host_key LIKE ?",i=t?[`%${e}%`]:[r,`%${e}%`];return{sql:o,params:i}}async function Uf(r,e,t){try{let{sql:o,params:i}=jf(e,t);ye.debug("ChromeCookies","Executing query",{sql:o,params:i});let a=await Ve({file:r,sql:o,params:i,rowTransform:s=>({name:s.name,domain:s.host_key,value:s.encrypted_value,expiry:s.expires_utc})});return Or("QueryCookies",!0,{file:r,count:a.length}),a}catch(o){return I("Failed to read cookie file",o,{file:r}),[]}}async function Po({name:r,domain:e,file:t}){let o=typeof t=="string"&&t.length>0?[t]:await Mf();if(o.length===0)return ye.debug("ChromeCookies","No cookie files found"),[];let i=[];for(let a of o){if(!Nf(a)){ye.debug("ChromeCookies","Cookie file missing or invalid",{file:a});continue}let s=await Uf(a,r,e);i.push(...s)}return ye.debug("ChromeCookies","Query complete",{totalCookies:i.length}),i}var qf=require("fs"),Hf=require("path"),Oo=R(require("fast-glob"),1);var zf=h("listChromeProfiles");function Ao(){let r=Oo.default.sync("./**/Cookies",{cwd:j,absolute:!0});return zf.debug("Found cookie files:",r),r}var Xe=require("crypto"),yr=require("os");var _o=require("crypto");function To(r,e){let t=Buffer.from("v10");if(!r.subarray(0,3).equals(t))throw new Error("Not a v10 encrypted cookie");let o=r.subarray(3),i=12,a=16;if(o.length<i+a)throw new Error("Invalid v10 cookie: too short");let s=o.subarray(0,i),n=o.subarray(i,o.length-a),p=o.subarray(o.length-a),f=(0,_o.createDecipheriv)("aes-256-gcm",e,s);return f.setAuthTag(p),Buffer.concat([f.update(n),f.final()]).toString("utf8")}function Ro(r){let e=Buffer.from("v10");return r.length>=3&&r.subarray(0,3).equals(e)}function Io(r,e){let t=new Map;return o=>{let i=e?e(o):o.toString("hex");if(t.has(i)){let s=t.get(i);if(s!==void 0)return s}let a=r(o);return t.set(i,a),a}}var $f=Io(r=>r.length>=3&&r[0]===118&&r[1]===49&&r[2]===48?r.slice(3):r,r=>r.toString("hex")),Qf=Io(r=>{let e=r[r.length-1];return e&&e<=16?r.slice(0,-e):r},r=>r.toString("hex"));function Gf(r){let e=r.match(/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/i);if(e)return e[1];let t=[/([A-Z]{3})$/,/([a-z]{2}_[A-Z]{2})$/,/(\d{3}-\d{7}-\d{7})$/];for(let i of t){let a=r.match(i);if(a)return a[1]}let o=[/.*?0t(.+)$/,/.*?1e`(.+)$/,/.*?[`'](.+)$/,/[^\x20-\x7E]*([\x20-\x7E]+)$/,/.*?([a-zA-Z0-9_\-\.]+)$/];for(let i of o){let s=r.match(i)?.[1]??"";if(s.length>0)return s}return r}async function Bo(r,e,t){if((0,yr.platform)()==="win32"&&Ro(r)&&r.length>=31&&Buffer.isBuffer(e))return To(r,e);if((0,yr.platform)()==="darwin"&&!r.slice(0,3).toString().match(/^v\d\d$/))return Promise.resolve(r.toString("utf8"));if(typeof e!="string")throw new Error("password must be a string");if(!Buffer.isBuffer(r))throw new Error("encryptedData must be a Buffer");return new Promise((o,i)=>{(0,Xe.pbkdf2)(e,"saltysalt",1003,16,"sha1",(a,s)=>{try{if(a){i(new Error(`Failed to derive key: ${a.message}`));return}let n=$f(r);if(n.length%16!==0){i(new Error("Encrypted data length is not a multiple of 16"));return}let p=Buffer.alloc(16," "),f=(0,Xe.createDecipheriv)("aes-128-cbc",s,p);f.setAutoPadding(!1);let l=f.update(n);try{f.final()}catch(b){i(new Error(`Failed to finalize decryption: ${b.message}`));return}l=Qf(l);let k=((t||0)>=24&&l.length>32?l.slice(32):l).toString("utf8");o(Gf(k))}catch(n){i(new Error(`Decryption failed: ${n.message}`))}})})}var xr=require("os");var Lo=require("child_process"),Fo=require("util");var Wf=(0,Fo.promisify)(Lo.exec),hr=class extends Error{constructor(t,o,i){super(t);this.command=o;this.originalError=i;this.name="CommandExecutionError"}};async function U(r,e){try{let t=await Wf(r,{...e,encoding:"utf8"});return{stdout:t.stdout.toString(),stderr:t.stderr.toString()}}catch(t){throw I("Command execution failed",t,{command:r}),new hr(t instanceof Error?t.message:String(t),r,t instanceof Error?t:void 0)}}async function Do(){try{let t=(await U("secret-tool lookup application chrome-libsecret-password-v2 || secret-tool lookup application chrome")).stdout.trim();if(t)return t}catch{}try{let t=(await U(`python3 -c "import keyring; print(keyring.get_password('Chrome Safe Storage', 'Chrome'))"`)).stdout.trim();if(t&&t!=="None")return t}catch{}try{let t=(await U('kwallet-query kdewallet -f "Chrome Safe Storage" -r Chrome')).stdout.trim();if(t)return t}catch{}return"peanuts"}async function No(){return(await U('security find-generic-password -w -s "Chrome Safe Storage"')).stdout.trim()}var Mo=require("fs"),jo=require("path");async function Kf(r){let e=Buffer.from("DPAPI");if(!r.subarray(0,5).equals(e))throw new Error("Invalid DPAPI key prefix");let t=r.subarray(5);if(process.platform==="win32")try{let o=await import("@primno/dpapi").then(i=>i).catch(()=>null);if(o)return o.unprotectData(t)}catch(o){console.warn("DPAPI module not available, using fallback:",o)}throw new Error("Windows DPAPI decryption requires native bindings. Install @primno/dpapi package for Windows support.")}async function Uo(){try{let r=(0,jo.join)(j,"Local State"),e=(0,Mo.readFileSync)(r,"utf8"),t=JSON.parse(e);if(!t.os_crypt?.encrypted_key)throw new Error("No encrypted key found in Chrome Local State");let o=Buffer.from(t.os_crypt.encrypted_key,"base64");return(await Kf(o)).toString("latin1")}catch(r){throw new Error(`Failed to retrieve Chrome password on Windows: ${r instanceof Error?r.message:String(r)}`)}}async function qo(){switch((0,xr.platform)()){case"darwin":return await No();case"win32":return await Uo();case"linux":return await Do();default:throw new Error(`Platform ${(0,xr.platform)()} is not supported`)}}function Vf(r){return typeof r!="number"||r<=0?"Infinity":new Date(r)}function Ho(r,e,t,o,i,a){return{domain:r,name:e,value:t,expiry:Vf(o),meta:{file:i,browser:"Chrome",decrypted:a}}}var ae=class extends M{constructor(){super("ChromeCookieQueryStrategy","Chrome")}async executeQuery(e,t,o,i){let a=["darwin","win32","linux"];if(!a.includes(process.platform))return this.logger.warn("Platform not supported",{platform:process.platform,supportedPlatforms:a}),[];let s=o??Ao(),n=Array.isArray(s)?s:[s];if(n.length===0)return this.logger.warn("No Chrome cookie files found"),[];let p=await qo();return(await Promise.all(n.map(l=>this.processFile(l,e,t,p)))).flat()}async processFile(e,t,o,i){try{let a=await Po({name:t,domain:o,file:e}),s=0;try{let f=await import("better-sqlite3"),l=new f.default(e,{readonly:!0});try{let c=l.prepare("SELECT value FROM meta WHERE key = ?").get("version");s=c?Number.parseInt(c.value,10):0}finally{l.close()}}catch(f){this.logger.debug("Could not retrieve meta version, defaulting to 0",{error:f})}let n={file:e,password:i,metaVersion:s};return(await Promise.allSettled(a.map(f=>this.processCookie(f,n)))).map(f=>f.status==="fulfilled"?f.value:null).filter(f=>f!==null)}catch(a){return a instanceof Error?this.logger.error("Failed to process cookie file",{error:a.message,file:e,name:t,domain:o}):this.logger.error("Failed to process cookie file",{error:String(a),file:e,name:t,domain:o}),[]}}async processCookie(e,t){try{let o=Buffer.isBuffer(e.value)?e.value:Buffer.from(String(e.value)),i=await Bo(o,t.password,t.metaVersion);return Ho(e.domain,e.name,i,e.expiry,t.file,!0)}catch(o){return o instanceof Error?this.logger.warn("Failed to decrypt cookie",{error:o}):this.logger.warn("Failed to decrypt cookie",{error:String(o)}),Ho(e.domain,e.name,e.value.toString("utf-8"),e.expiry,t.file,!1)}}};var Go=require("os"),br=require("path"),Wo=R(require("fast-glob"),1);var zo=h("ProcessDetector");function Jf(r,e){let t=r.trim().split(/\s+/);if(t.length<2)return null;let o=Number.parseInt(t[1],10);return Number.isNaN(o)?null:{pid:o,command:t.slice(10).join(" ")||e,details:r.trim()}}async function $o(){try{let r="ps aux | grep -i firefox | grep -v grep",{stdout:e}=await U(r);if(!e||e.trim()==="")return[];let t=[],o=e.split(`
3
- `).filter(i=>i.trim()!=="");for(let i of o){let a=Jf(i,"firefox");a&&t.push(a)}return zo.debug("Firefox process detection completed",{processCount:t.length,processes:t.map(i=>({pid:i.pid,command:i.command}))}),t}catch(r){return zo.warn("Failed to detect Firefox processes",{error:r instanceof Error?r.message:String(r)}),[]}}function Qo(r,e){if(e.length===0)return"";let t=e.length,o=r.charAt(0).toUpperCase()+r.slice(1);return`${o} is currently running (${t} process${t>1?"es":""} detected). For reliable cookie access, consider closing ${o} and trying again. Alternatively, use the --force flag to attempt access despite the lock.`}function Zf(r){let e=(0,Go.homedir)();if(!e)return r.warn("Failed to get home directory"),[];let t=[(0,br.join)(e,"Library/Application Support/Firefox/Profiles/*/cookies.sqlite"),(0,br.join)(e,".mozilla/firefox/*/cookies.sqlite")],o=[];for(let i of t){let a=Wo.default.sync(i);o.push(...a)}return r.debug("Found Firefox cookie files",{files:o}),o}var ie=class extends M{constructor(){super("FirefoxCookieQueryStrategy","Firefox")}async handleDatabaseLockError(e,t){if(e instanceof Error&&e.message.toLowerCase().includes("database is locked"))try{let o=await $o();if(o.length>0){let i=Qo("firefox",o);this.logger.warn("Firefox process conflict detected",{file:t,processCount:o.length,advice:i})}else this.logger.warn("Database locked but no Firefox processes detected",{file:t,suggestion:"Another process may be accessing the database"})}catch(o){this.logger.debug("Failed to check Firefox processes",{error:o instanceof Error?o.message:String(o)})}}async executeQuery(e,t,o,i){let a=o??Zf(this.logger),s=Array.isArray(a)?a:[a],n=[];for(let p of s)try{let f=await Ve({file:p,sql:"SELECT name, value, host as domain, expiry FROM moz_cookies WHERE name = ? AND host LIKE ?",params:[e,`%${t}%`],rowTransform:l=>({name:l.name,value:l.value,domain:l.domain,expiry:l.expiry>0?new Date(l.expiry*1e3):"Infinity",meta:{file:p,browser:"Firefox",decrypted:!1}})});n.push(...f)}catch(f){await this.handleDatabaseLockError(f,p),f instanceof Error?this.logger.warn(`Error reading Firefox cookie file ${p}`,{error:f.message,file:p,name:e,domain:t}):this.logger.warn(`Error reading Firefox cookie file ${p}`,{error:String(f),file:p,name:e,domain:t})}return n}};var oa=require("os"),aa=require("path");var Xo=require("buffer"),Yo=require("fs"),ea=require("os"),ra=require("path");var he=require("buffer");var Ko=R(require("destr"),1),m=require("zod"),Ye=m.z.string().trim().min(1,"Domain cannot be empty").refine(r=>/^\.?[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(r),"Invalid domain format"),er=m.z.string().trim().min(1,"Cookie name cannot be empty").refine(r=>r==="%"||/^[!#$%&'()*+\-.:0-9A-Z \^_`a-z|~]+$/.test(r),"Invalid cookie name format - must contain only valid characters (letters, numbers, and certain symbols) or be '%' for wildcard"),Vo=m.z.string().trim().min(1,"Path cannot be empty").refine(r=>r.startsWith("/"),"Path must start with /").refine(r=>/^\/[!#$%&'()*+,\-./:=@\w~]*$/.test(r),"Invalid path format - must contain only valid URL path characters").default("/"),Jo=m.z.string().trim().transform(r=>(0,Ko.default)(r)).pipe(m.z.any()),Zo=m.z.object({name:er,value:Jo,domain:Ye,path:Vo,expiry:m.z.number().int(),creation:m.z.number().int(),flags:m.z.number().optional(),version:m.z.number().int().optional(),port:m.z.number().int().optional(),comment:m.z.string().optional(),commentURL:m.z.string().optional()}),Ny=m.z.object({name:er,domain:Ye}).strict(),Xf=m.z.object({file:m.z.string().trim().min(1,"File path cannot be empty").optional(),browser:m.z.string().trim().optional(),decrypted:m.z.boolean().optional(),secure:m.z.boolean().optional(),httpOnly:m.z.boolean().optional(),path:Vo.optional()}).catchall(m.z.unknown()).strict(),Yf=m.z.object({domain:Ye,name:er,value:Jo,expiry:m.z.union([m.z.literal("Infinity"),m.z.date(),m.z.number().int().positive("Expiry must be a positive number")]).optional(),meta:Xf.optional()}).strict(),My=m.z.object({expiry:m.z.number().int().optional(),domain:Ye,name:er,value:m.z.union([m.z.string(),m.z.instanceof(Buffer)])}).strict(),jy=m.z.object({format:m.z.enum(["merged","grouped"]).optional(),separator:m.z.string().optional(),showFilePaths:m.z.boolean().optional()}).strict(),ep=m.z.enum(["Chrome","Firefox","Safari","internal","unknown"]),Uy=m.z.object({browserName:ep,queryCookies:m.z.function().args(m.z.string(),m.z.string(),m.z.string().optional(),m.z.boolean().optional()).returns(m.z.promise(m.z.array(Yf)))}).strict();var q=h("BinaryCodableCookie"),rr=class{constructor(e){this.version=0;this.url="";this.name="";this.path="";this.value="";this.flags={isSecure:!1,isHTTPOnly:!1,unknown1:!1,unknown2:!1};this.expiration=0;this.creation=0;let t={offset:0,buffer:e};this.decode(t)}decodeUrlValue(e){let t=e,o;do{o=t;try{t=decodeURIComponent(t)}catch{return o}}while(t!==o&&t.includes("%"));return t}decodeJwtPayload(e){let t=e.split(".");if(t.length!==3)return null;try{let o=he.Buffer.from(t[1],"base64").toString("utf8"),i=JSON.parse(o);return JSON.stringify(i)}catch{return null}}parseJsonValue(e){try{let t=JSON.parse(e);return JSON.stringify(t)}catch{return null}}processValue(e){if(e===null)return"null";if(e===void 0)return"undefined";if(he.Buffer.isBuffer(e))return e.toString();if(typeof e!="string")return String(e);let t=this.decodeUrlValue(e);if(t.match(/^ey[A-Za-z0-9_-]+\.ey[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/)){let o=this.decodeJwtPayload(t);if(typeof o=="string"&&o.length>0)return o}if(t.startsWith("{")||t.startsWith("[")){let o=this.parseJsonValue(t);if(typeof o=="string"&&o.length>0)return o}return t}convertMacTimestamp(e){return e<=0?e:e>=0&&e<=1e9&&Number.isFinite(e)?e+978307200:0}toCookieRow(){try{let e=this.convertFlags(),t=this.url.replace(/^https?:\/\//,"").replace(/\/.*$/,"")||"uk",o=this.convertMacTimestamp(this.expiration),i=this.convertMacTimestamp(this.creation);return Zo.parse({name:this.name.replace(/^: /,""),value:this.processValue(this.value)||"",domain:t,path:this.path||"/",expiry:o,creation:i,flags:e,version:this.version,port:this.port,comment:this.comment,commentURL:this.commentURL})}catch{return null}}readNullTerminatedString(e,t){let o=t;for(;o<e.buffer.length&&e.buffer[o]!==0;)o++;return e.buffer.toString("utf8",t,o)||""}readHeader(e){let t=e.buffer.readUInt32LE(e.offset);q.debug("Cookie size:",t),e.offset+=4;let o=e.buffer.readUInt32LE(e.offset);q.debug("Cookie version:",o),e.offset+=4;let i=e.buffer.readUInt32LE(e.offset);q.debug("Cookie flags:",i.toString(2).padStart(8,"0")),e.offset+=4,this.flags={isSecure:(i&1)!==0,isHTTPOnly:(i&4)!==0,unknown1:(i&8)!==0,unknown2:(i&16)!==0};let a=e.buffer.readUInt32LE(e.offset);q.debug("Has port:",a),e.offset+=4;let s={urlOffset:e.buffer.readUInt32LE(e.offset),nameOffset:e.buffer.readUInt32LE(e.offset+4),pathOffset:e.buffer.readUInt32LE(e.offset+8),valueOffset:e.buffer.readUInt32LE(e.offset+12),commentOffset:e.buffer.readUInt32LE(e.offset+16),commentURLOffset:e.buffer.readUInt32LE(e.offset+20)};return q.debug("String offsets:",s),{size:t,hasPort:a,offsets:s}}readTimestamps(e){let t=he.Buffer.alloc(8);for(let s=0;s<8;s++)t[s]=e.buffer[e.offset+s];let o=t.readDoubleLE(0);e.offset+=8;let i=he.Buffer.alloc(8);for(let s=0;s<8;s++)i[s]=e.buffer[e.offset+s];let a=i.readDoubleLE(0);e.offset+=8,this.expiration=o,this.creation=a}readStrings(e,t,o){q.debug("Reading strings from cookie buffer of size:",t);let a=[{field:"url",offset:o.urlOffset},{field:"name",offset:o.nameOffset},{field:"path",offset:o.pathOffset},{field:"value",offset:o.valueOffset},{field:"comment",offset:o.commentOffset}].filter(s=>s.offset>0).sort((s,n)=>s.offset-n.offset);q.debug("Reading strings in order:",a.map(s=>s.field));for(let s=0;s<a.length;s++){let{field:n,offset:p}=a[s],l=(s<a.length-1?a[s+1].offset:t)-p,c=0+p;for(;c<0+p+l&&e.buffer[c]!==0;)c++;let d=e.buffer.toString("utf8",0+p,c);switch(q.debug(`Read ${n}:`,d),n){case"url":this.url=d;break;case"name":this.name=d;break;case"path":this.path=d;break;case"value":this.value=d;break;case"comment":this.comment=d;break}}}decode(e){let{size:t,hasPort:o,offsets:i}=this.readHeader(e),a=e.offset;e.offset=a+24,this.readTimestamps(e),o>0&&(this.port=e.buffer.readUInt16LE(e.offset),e.offset+=2),e.offset=a,this.readStrings(e,t,i)}convertFlags(){return(this.flags.isSecure?1:0)|(this.flags.isHTTPOnly?4:0)|(this.flags.unknown1?8:0)|(this.flags.unknown2?16:0)}};var P=h("BinaryCodablePage"),se=class se{constructor(e){this.cookies=[];let t={offset:0,buffer:e};this.decode(t)}toCookieRows(){let e=[];for(let t of this.cookies)try{let o=t.toCookieRow();o!==null&&e.push(o)}catch(o){let i=o instanceof Error?o.message:String(o);W("BinaryCookies","Error converting cookie",{error:i})}return e}decode(e){let t=e.buffer.readUInt32BE(e.offset);if(P.debug("Page header:",t.toString(16)),e.offset+=4,t!==se.HEADER)throw new Error("Invalid page header");let o=e.buffer.readUInt32LE(e.offset);P.debug("Cookie count:",o),e.offset+=4;let i=e.offset-8;P.debug("Page start offset:",i);let a=[];for(let n=0;n<o;n++){let p=e.buffer.readUInt32LE(e.offset);a.push(p),P.debug(`Cookie ${n} offset:`,p),e.offset+=4}let s=e.buffer.readUInt32BE(e.offset);if(P.debug("Page footer:",s.toString(16)),e.offset+=4,s!==se.FOOTER)throw new Error("Invalid page footer");for(let n=0;n<o;n++)try{let p=a[n];P.debug(`Reading cookie ${n} at offset:`,p);let f=e.buffer.readUInt32LE(p);if(P.debug(`Cookie ${n} size:`,f),f<48){P.warn(`Invalid cookie size ${f} at index ${n}`);continue}if(p+f>e.buffer.length){P.warn(`Cookie size ${f} at index ${n} would exceed buffer length ${e.buffer.length}`);continue}let l=e.buffer.subarray(p,p+f),c=new rr(l);this.cookies.push(c)}catch(p){P.warn("Invalid cookie data",{error:p instanceof Error?p.message:String(p)})}}};se.HEADER=256,se.FOOTER=0;var tr=se;var H=h("BinaryCodableCookies"),O=class O{constructor(e){let t={offset:0,buffer:e};this.pages=[],this.metadata={},this.decode(t)}static fromFile(e){let t=(0,Yo.readFileSync)(e);return new O(t)}static fromDefaultPath(){return O.fromFile(O.DEFAULT_COOKIE_PATH)}toCookieRows(){let e=[];for(let t of this.pages)try{let o=t.toCookieRows();Array.isArray(o)&&e.push(...o)}catch(o){let i=o instanceof Error?o.message:String(o);W("BinaryCookies","Error converting page cookies",{error:i})}return e}decode(e){try{let t=e.buffer.subarray(e.offset,e.offset+4);if(e.offset+=4,H.debug("Magic bytes:",t.toString()),!t.equals(O.MAGIC))throw new Error("Missing magic value");let o=e.buffer.readUInt32BE(e.offset);H.debug("Page count:",o),e.offset+=4;let i=[];for(let f=0;f<o;f++){let l=e.buffer.readUInt32BE(e.offset);i.push(l),H.debug(`Page ${f} size:`,l),e.offset+=4}let a=e.offset;H.debug("Starting page data at offset:",a);for(let f of i)try{H.debug("Reading page at offset:",a,"with size:",f);let l=e.buffer.subarray(a,a+f),c=new tr(l);this.pages.push(c),a+=f}catch(l){let c=l instanceof Error?l.message:String(l);H.warn("Error decoding page:",{error:c}),a+=f}e.offset=a;let s=e.buffer.readUInt32BE(e.offset);H.debug("Checksum:",s.toString(16)),e.offset+=4;let n=e.buffer.readBigUInt64BE(e.offset);H.debug("Footer:",n.toString(16)),e.offset+=8,n!==O.FOOTER&&W("BinaryCookies","Invalid cookie file format: wrong footer");let p=e.buffer.subarray(e.offset);this.metadata={}}catch(t){let o=t instanceof Error?t.message:String(t);throw W("BinaryCookies","Error decoding binary cookies file",{error:o}),t}}};O.MAGIC=Xo.Buffer.from("cook","utf8"),O.FOOTER=BigInt("0x071720050000004b"),O.DEFAULT_COOKIE_PATH=(0,ra.join)((0,ea.homedir)(),"Library/Containers/com.apple.Safari/Data/Library/Cookies/Cookies.binarycookies");var or=O;function ta(r){return or.fromFile(r).toCookieRows()}var ne=class extends M{constructor(){super("SafariCookieQueryStrategy","Safari")}getCookieDbPath(e){return(0,aa.join)(e,"Library","Containers","com.apple.Safari","Data","Library","Cookies","Cookies.binarycookies")}formatDomain(e){return e.startsWith(".")?e.slice(1):e}formatExpiry(e){if(e==null){let i=new Date;return Object.defineProperty(i,"valueOf",{value:()=>Number.NaN}),Object.defineProperty(i,"getTime",{value:()=>Number.NaN}),i}return typeof e!="number"||Number.isNaN(e)||e<=0?"Infinity":e<0||e>4102444800?(this.logger.warn("Invalid expiry timestamp, treating as session cookie",{expiry:e}),"Infinity"):new Date(e*1e3)}isFlagSet(e,t){return typeof e!="number"||Number.isNaN(e)||e<=0?!1:(e&t)===t}formatCreation(e){if(typeof e!="number"||Number.isNaN(e)||e<=0)return;if(e<0||e>4102444800){this.logger.warn("Invalid creation timestamp, ignoring",{creation:e});return}return e*1e3}processValue(e){return e===null?"null":e===void 0?"undefined":Buffer.isBuffer(e)?e.toString():String(e)}decodeCookies(e,t,o){try{return ta(e).filter(a=>(t==="%"||a.name===t)&&(o==="%"||this.formatDomain(a.domain).includes(o))).map(a=>({domain:this.formatDomain(a.domain),name:a.name,value:this.processValue(a.value),expiry:this.formatExpiry(a.expiry),meta:{file:e,browser:"Safari",decrypted:!1,secure:this.isFlagSet(a.flags,1),httpOnly:this.isFlagSet(a.flags,4),path:a.path,version:a.version,comment:a.comment,commentURL:a.commentURL,port:a.port,creation:this.formatCreation(a.creation)}}))}catch(i){return i instanceof Error?this.logger.error(`Error decoding ${e}`,{error:i.message,file:e,name:t,domain:o}):this.logger.error(`Error decoding ${e}`,{error:String(i),file:e,name:t,domain:o}),[]}}executeQuery(e,t,o,i){try{this.logger.info("Querying cookies",{name:e,domain:t,store:o});let a=(0,oa.homedir)();if(typeof a!="string"||a.length===0)return this.logger.error("Failed to get home directory"),Promise.resolve([]);let s=o??this.getCookieDbPath(a);return Promise.resolve(this.decodeCookies(s,e||"%",t||"%"))}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a.message,name:e,domain:t}):this.logger.error("Failed to query cookies",{error:String(a),name:e,domain:t}),Promise.resolve([])}}};var ia={strategies:new Map([["safari",ne],["firefox",ie],["chrome",ae]]),createStrategy(r){if(typeof r!="string")return new de([new ne,new ie,new ae]);let e=this.strategies.get(r.toLowerCase());return e!==void 0?new e:new de([new ne,new ie,new ae])}};async function rp(r,e,t){let o=[];for(let i of e){let a=await r.queryCookies(i,t);if(o=[...o,...a],typeof t.limit=="number"&&t.limit>0&&o.length>=t.limit){o=o.slice(0,t.limit);break}}return o}async function sa(r,e,t,o=!1,i){try{let a=typeof r.browser=="string"?r.browser:void 0,s=typeof r.force=="boolean"?r.force:!1,n=ia.createStrategy(a),p=new We(n),f=Array.isArray(e)?e:[e],l=await rp(p,f,{limit:t,removeExpired:o,store:i,strategy:n,force:s});if(l.length===0){u.error("No results");return}new Ge().getHandler(r).handle(l)}catch(a){a instanceof Error?u.error(a.message):u.error("An unknown error occurred")}}function tp(){u.log("Usage: get-cookie [name] [domain] [options]"),u.log(""),u.log("Examples:"),u.log(" get-cookie auth example.com # Get specific cookie"),u.log(" get-cookie % github.com --output json # Get all cookies as JSON"),u.log(" get-cookie --url https://example.com # Extract from URL"),u.log(""),u.log("Options:"),u.log(" -h, --help Show this help message"),u.log(" -v, --verbose Enable verbose output"),u.log(" -f, --force Force operation despite warnings (e.g., locked databases)"),u.log(""),u.log("Query options:"),u.log(" -n, --name PATTERN Cookie name pattern (% for wildcard)"),u.log(" -D, --domain PATTERN Cookie domain pattern"),u.log(" -u, --url URL URL to extract cookie specs from"),u.log(" --browser BROWSER Target specific browser (chrome|firefox|safari)"),u.log(" --store PATH Path to a specific cookie store file"),u.log(""),u.log("Output options:"),u.log(" --output FORMAT Output format (json)"),u.log(" -d, --dump Dump all cookie details"),u.log(" -G, --dump-grouped Dump all results, grouped by profile"),u.log(" -r, --render Render all results in formatted output")}function op(r,e){return{name:r||"%",domain:e||"%"}}function na(r){return r==="*"?"%":r}function ap(r,e){let t=r.url;if(typeof t=="string"){let a=ar(t);return Array.isArray(a)?a:(u.error("Invalid cookie specs from URL"),[])}let o=na(r.name||e[0]||"%"),i=na(r.domain||e[1]||"%");return[op(o,i)]}async function ip(r,e){let t=ap(r,e);r.verbose===!0&&u.log("cookieSpecs",t);try{await sa(r,t,void 0,r.removeExpired===!0,r.store)}catch(o){o instanceof Error?u.error("Error querying cookies:",o.message):u.error("An unknown error occurred while querying cookies")}}async function sp(){let r=process.argv.slice(2),{values:e,positionals:t}=vr(r);if(e.help===!0){tp();return}await ip(e,t)}sp().catch(r=>{r instanceof Error?u.error("Fatal error:",r.message):u.error("An unknown fatal error occurred"),process.exit(1)});
2
+ "use strict";var la=Object.create;var Sr=Object.defineProperty;var ma=Object.getOwnPropertyDescriptor;var ca=Object.getOwnPropertyNames;var da=Object.getPrototypeOf,ga=Object.prototype.hasOwnProperty;var ya=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ca(e))!ga.call(r,i)&&i!==t&&Sr(r,i,{get:()=>e[i],enumerable:!(o=ma(e,i))||o.enumerable});return r};var $=(r,e,t)=>(t=r!=null?la(da(r)):{},ya(e||!r||!r.__esModule?Sr(t,"default",{value:r,enumerable:!0}):t,r));function ha(r){let e=r.split("."),t=[];t.push({name:"%",domain:r});for(let o=1;o<e.length-1;o++){let i=e.slice(o).join(".");t.push({name:"%",domain:i})}return t}function ir(r){if(!r.includes("://"))try{return ir(`https://${r}`)}catch{return[{name:"%",domain:r}]}try{let e=new URL(r);return ha(e.hostname)}catch{return[{name:"%",domain:r}]}}var kr=$(require("minimist"),1);function vr(r){let e=(0,kr.default)(r,{string:["browser","profile","url","domain","name","output","store"],boolean:["help","version","verbose","dump","dump-grouped","render","render-grouped","force"],alias:{b:"browser",p:"profile",u:"url",d:"dump",D:"domain",n:"name",h:"help",v:"verbose",f:"force",G:"dump-grouped",r:"render",R:"render-grouped"},unknown:i=>{if(!i.startsWith("-"))return!0;if(!["--browser","-b","--profile","-p","--url","-u","--domain","-D","--name","-n","--output","--store","--help","-h","--version","--verbose","-v","--dump","-d","--dump-grouped","-G","--render","-r","--render-grouped","-R","--force","-f"].some(s=>i.startsWith(s)))throw new Error(`Unknown option: ${i}`);return!0}}),{_:t,...o}=e;return{values:o,positionals:t}}var Pr=require("consola");var Er=require("os"),Or=require("dotenv"),fe=require("zod");(0,Or.config)();var xa=fe.z.object({LOG_LEVEL:fe.z.enum(["debug","info","warn","error"]).default("info"),HOME:fe.z.string().optional().transform(r=>r??process.env.USERPROFILE??"").pipe(fe.z.string().min(1))}),nr=xa.parse({LOG_LEVEL:process.env.LOG_LEVEL,HOME:(0,Er.homedir)()});var ba=(0,Pr.createConsola)({fancy:!0,formatOptions:{showLogLevel:!1,colors:!0,date:!1,compact:!0,columns:typeof process.stdout.columns=="number"?process.stdout.columns:80},level:nr.LOG_LEVEL==="debug"?5:2}),cp=nr.LOG_LEVEL==="debug",Ca=ba,u=Ca;function _r(r,e,t){e?u.success(`${r} succeeded`,t):u.error(`${r} failed`,t)}function R(r,e,t){let o=e instanceof Error?e.message:String(e);u.error(r,{...t,error:o})}function W(r,e,t){u.warn(`[${r}] ${e}`,t)}function h(r){return u.withTag(r)}var pe=class{canHandle(e){return!0}handle(e){let t=new Set(e.map(o=>o.value));for(let o of t)u.log(o)}};var we=class{canHandle(e){return e.dump===!0||e.d===!0}handle(e){u.log(e)}};var wa=typeof global=="object"&&global&&global.Object===Object&&global,Se=wa;var Sa=typeof self=="object"&&self&&self.Object===Object&&self,ka=Se||Sa||Function("return this")(),x=ka;var va=x.Symbol,w=va;var Ar=Object.prototype,Ea=Ar.hasOwnProperty,Oa=Ar.toString,ue=w?w.toStringTag:void 0;function Pa(r){var e=Ea.call(r,ue),t=r[ue];try{r[ue]=void 0;var o=!0}catch{}var i=Oa.call(r);return o&&(e?r[ue]=t:delete r[ue]),i}var Tr=Pa;var _a=Object.prototype,Aa=_a.toString;function Ta(r){return Aa.call(r)}var Rr=Ta;var Ra="[object Null]",Ia="[object Undefined]",Ir=w?w.toStringTag:void 0;function Ba(r){return r==null?r===void 0?Ia:Ra:Ir&&Ir in Object(r)?Tr(r):Rr(r)}var v=Ba;function La(r){return r!=null&&typeof r=="object"}var E=La;var Fa="[object Symbol]";function Da(r){return typeof r=="symbol"||E(r)&&v(r)==Fa}var K=Da;function Na(r,e){for(var t=-1,o=r==null?0:r.length,i=Array(o);++t<o;)i[t]=e(r[t],t,r);return i}var Br=Na;var Ma=Array.isArray,y=Ma;var ja=1/0,Lr=w?w.prototype:void 0,Fr=Lr?Lr.toString:void 0;function Dr(r){if(typeof r=="string")return r;if(y(r))return Br(r,Dr)+"";if(K(r))return Fr?Fr.call(r):"";var e=r+"";return e=="0"&&1/r==-ja?"-0":e}var Nr=Dr;function Ua(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var V=Ua;function Ha(r){return r}var Mr=Ha;var qa="[object AsyncFunction]",za="[object Function]",$a="[object GeneratorFunction]",Ga="[object Proxy]";function Qa(r){if(!V(r))return!1;var e=v(r);return e==za||e==$a||e==qa||e==Ga}var ke=Qa;var Wa=x["__core-js_shared__"],ve=Wa;var jr=function(){var r=/[^.]+$/.exec(ve&&ve.keys&&ve.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function Ka(r){return!!jr&&jr in r}var Ur=Ka;var Va=Function.prototype,Ja=Va.toString;function Za(r){if(r!=null){try{return Ja.call(r)}catch{}try{return r+""}catch{}}return""}var _=Za;var Xa=/[\\^$.*+?()[\]{}|]/g,Ya=/^\[object .+?Constructor\]$/,ei=Function.prototype,ri=Object.prototype,ti=ei.toString,oi=ri.hasOwnProperty,ai=RegExp("^"+ti.call(oi).replace(Xa,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ii(r){if(!V(r)||Ur(r))return!1;var e=ke(r)?ai:Ya;return e.test(_(r))}var Hr=ii;function ni(r,e){return r?.[e]}var qr=ni;function si(r,e){var t=qr(r,e);return Hr(t)?t:void 0}var C=si;var fi=C(x,"WeakMap"),Ee=fi;var pi=function(){try{var r=C(Object,"defineProperty");return r({},"",{}),r}catch{}}(),sr=pi;var ui=9007199254740991,li=/^(?:0|[1-9]\d*)$/;function mi(r,e){var t=typeof r;return e=e??ui,!!e&&(t=="number"||t!="symbol"&&li.test(r))&&r>-1&&r%1==0&&r<e}var Oe=mi;function ci(r,e,t){e=="__proto__"&&sr?sr(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}var zr=ci;function di(r,e){return r===e||r!==r&&e!==e}var Pe=di;var gi=9007199254740991;function yi(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=gi}var J=yi;function hi(r){return r!=null&&J(r.length)&&!ke(r)}var _e=hi;var xi=Object.prototype;function bi(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||xi;return r===t}var $r=bi;function Ci(r,e){for(var t=-1,o=Array(r);++t<r;)o[t]=e(t);return o}var Gr=Ci;var wi="[object Arguments]";function Si(r){return E(r)&&v(r)==wi}var fr=Si;var Qr=Object.prototype,ki=Qr.hasOwnProperty,vi=Qr.propertyIsEnumerable,Ei=fr(function(){return arguments}())?fr:function(r){return E(r)&&ki.call(r,"callee")&&!vi.call(r,"callee")},Ae=Ei;function Oi(){return!1}var Wr=Oi;var Jr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kr=Jr&&typeof module=="object"&&module&&!module.nodeType&&module,Pi=Kr&&Kr.exports===Jr,Vr=Pi?x.Buffer:void 0,_i=Vr?Vr.isBuffer:void 0,Ai=_i||Wr,le=Ai;var Ti="[object Arguments]",Ri="[object Array]",Ii="[object Boolean]",Bi="[object Date]",Li="[object Error]",Fi="[object Function]",Di="[object Map]",Ni="[object Number]",Mi="[object Object]",ji="[object RegExp]",Ui="[object Set]",Hi="[object String]",qi="[object WeakMap]",zi="[object ArrayBuffer]",$i="[object DataView]",Gi="[object Float32Array]",Qi="[object Float64Array]",Wi="[object Int8Array]",Ki="[object Int16Array]",Vi="[object Int32Array]",Ji="[object Uint8Array]",Zi="[object Uint8ClampedArray]",Xi="[object Uint16Array]",Yi="[object Uint32Array]",g={};g[Gi]=g[Qi]=g[Wi]=g[Ki]=g[Vi]=g[Ji]=g[Zi]=g[Xi]=g[Yi]=!0;g[Ti]=g[Ri]=g[zi]=g[Ii]=g[$i]=g[Bi]=g[Li]=g[Fi]=g[Di]=g[Ni]=g[Mi]=g[ji]=g[Ui]=g[Hi]=g[qi]=!1;function en(r){return E(r)&&J(r.length)&&!!g[v(r)]}var Zr=en;function rn(r){return function(e){return r(e)}}var Xr=rn;var Yr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,me=Yr&&typeof module=="object"&&module&&!module.nodeType&&module,tn=me&&me.exports===Yr,pr=tn&&Se.process,on=function(){try{var r=me&&me.require&&me.require("util").types;return r||pr&&pr.binding&&pr.binding("util")}catch{}}(),ur=on;var et=ur&&ur.isTypedArray,an=et?Xr(et):Zr,Te=an;var nn=Object.prototype,sn=nn.hasOwnProperty;function fn(r,e){var t=y(r),o=!t&&Ae(r),i=!t&&!o&&le(r),a=!t&&!o&&!i&&Te(r),n=t||o||i||a,s=n?Gr(r.length,String):[],p=s.length;for(var f in r)(e||sn.call(r,f))&&!(n&&(f=="length"||i&&(f=="offset"||f=="parent")||a&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Oe(f,p)))&&s.push(f);return s}var rt=fn;function pn(r,e){return function(t){return r(e(t))}}var tt=pn;var un=tt(Object.keys,Object),ot=un;var ln=Object.prototype,mn=ln.hasOwnProperty;function cn(r){if(!$r(r))return ot(r);var e=[];for(var t in Object(r))mn.call(r,t)&&t!="constructor"&&e.push(t);return e}var at=cn;function dn(r){return _e(r)?rt(r):at(r)}var Z=dn;var gn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yn=/^\w*$/;function hn(r,e){if(y(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||K(r)?!0:yn.test(r)||!gn.test(r)||e!=null&&r in Object(e)}var X=hn;var xn=C(Object,"create"),A=xn;function bn(){this.__data__=A?A(null):{},this.size=0}var it=bn;function Cn(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var nt=Cn;var wn="__lodash_hash_undefined__",Sn=Object.prototype,kn=Sn.hasOwnProperty;function vn(r){var e=this.__data__;if(A){var t=e[r];return t===wn?void 0:t}return kn.call(e,r)?e[r]:void 0}var st=vn;var En=Object.prototype,On=En.hasOwnProperty;function Pn(r){var e=this.__data__;return A?e[r]!==void 0:On.call(e,r)}var ft=Pn;var _n="__lodash_hash_undefined__";function An(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=A&&e===void 0?_n:e,this}var pt=An;function Y(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}Y.prototype.clear=it;Y.prototype.delete=nt;Y.prototype.get=st;Y.prototype.has=ft;Y.prototype.set=pt;var lr=Y;function Tn(){this.__data__=[],this.size=0}var ut=Tn;function Rn(r,e){for(var t=r.length;t--;)if(Pe(r[t][0],e))return t;return-1}var I=Rn;var In=Array.prototype,Bn=In.splice;function Ln(r){var e=this.__data__,t=I(e,r);if(t<0)return!1;var o=e.length-1;return t==o?e.pop():Bn.call(e,t,1),--this.size,!0}var lt=Ln;function Fn(r){var e=this.__data__,t=I(e,r);return t<0?void 0:e[t][1]}var mt=Fn;function Dn(r){return I(this.__data__,r)>-1}var ct=Dn;function Nn(r,e){var t=this.__data__,o=I(t,r);return o<0?(++this.size,t.push([r,e])):t[o][1]=e,this}var dt=Nn;function ee(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}ee.prototype.clear=ut;ee.prototype.delete=lt;ee.prototype.get=mt;ee.prototype.has=ct;ee.prototype.set=dt;var B=ee;var Mn=C(x,"Map"),L=Mn;function jn(){this.size=0,this.__data__={hash:new lr,map:new(L||B),string:new lr}}var gt=jn;function Un(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var yt=Un;function Hn(r,e){var t=r.__data__;return yt(e)?t[typeof e=="string"?"string":"hash"]:t.map}var F=Hn;function qn(r){var e=F(this,r).delete(r);return this.size-=e?1:0,e}var ht=qn;function zn(r){return F(this,r).get(r)}var xt=zn;function $n(r){return F(this,r).has(r)}var bt=$n;function Gn(r,e){var t=F(this,r),o=t.size;return t.set(r,e),this.size+=t.size==o?0:1,this}var Ct=Gn;function re(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var o=r[e];this.set(o[0],o[1])}}re.prototype.clear=gt;re.prototype.delete=ht;re.prototype.get=xt;re.prototype.has=bt;re.prototype.set=Ct;var G=re;var Qn="Expected a function";function mr(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(Qn);var t=function(){var o=arguments,i=e?e.apply(this,o):o[0],a=t.cache;if(a.has(i))return a.get(i);var n=r.apply(this,o);return t.cache=a.set(i,n)||a,n};return t.cache=new(mr.Cache||G),t}mr.Cache=G;var wt=mr;var Wn=500;function Kn(r){var e=wt(r,function(o){return t.size===Wn&&t.clear(),o}),t=e.cache;return e}var St=Kn;var Vn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jn=/\\(\\)?/g,Zn=St(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(Vn,function(t,o,i,a){e.push(i?a.replace(Jn,"$1"):o||t)}),e}),kt=Zn;function Xn(r){return r==null?"":Nr(r)}var vt=Xn;function Yn(r,e){return y(r)?r:X(r,e)?[r]:kt(vt(r))}var Re=Yn;var es=1/0;function rs(r){if(typeof r=="string"||K(r))return r;var e=r+"";return e=="0"&&1/r==-es?"-0":e}var D=rs;function ts(r,e){e=Re(e,r);for(var t=0,o=e.length;r!=null&&t<o;)r=r[D(e[t++])];return t&&t==o?r:void 0}var Ie=ts;function os(r,e,t){var o=r==null?void 0:Ie(r,e);return o===void 0?t:o}var Et=os;function as(r,e){for(var t=-1,o=e.length,i=r.length;++t<o;)r[i+t]=e[t];return r}var Ot=as;function is(){this.__data__=new B,this.size=0}var Pt=is;function ns(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}var _t=ns;function ss(r){return this.__data__.get(r)}var At=ss;function fs(r){return this.__data__.has(r)}var Tt=fs;var ps=200;function us(r,e){var t=this.__data__;if(t instanceof B){var o=t.__data__;if(!L||o.length<ps-1)return o.push([r,e]),this.size=++t.size,this;t=this.__data__=new G(o)}return t.set(r,e),this.size=t.size,this}var Rt=us;function te(r){var e=this.__data__=new B(r);this.size=e.size}te.prototype.clear=Pt;te.prototype.delete=_t;te.prototype.get=At;te.prototype.has=Tt;te.prototype.set=Rt;var oe=te;function ls(r,e){for(var t=-1,o=r==null?0:r.length,i=0,a=[];++t<o;){var n=r[t];e(n,t,r)&&(a[i++]=n)}return a}var It=ls;function ms(){return[]}var Bt=ms;var cs=Object.prototype,ds=cs.propertyIsEnumerable,Lt=Object.getOwnPropertySymbols,gs=Lt?function(r){return r==null?[]:(r=Object(r),It(Lt(r),function(e){return ds.call(r,e)}))}:Bt,Ft=gs;function ys(r,e,t){var o=e(r);return y(r)?o:Ot(o,t(r))}var Dt=ys;function hs(r){return Dt(r,Z,Ft)}var cr=hs;var xs=C(x,"DataView"),Be=xs;var bs=C(x,"Promise"),Le=bs;var Cs=C(x,"Set"),Fe=Cs;var Nt="[object Map]",ws="[object Object]",Mt="[object Promise]",jt="[object Set]",Ut="[object WeakMap]",Ht="[object DataView]",Ss=_(Be),ks=_(L),vs=_(Le),Es=_(Fe),Os=_(Ee),Q=v;(Be&&Q(new Be(new ArrayBuffer(1)))!=Ht||L&&Q(new L)!=Nt||Le&&Q(Le.resolve())!=Mt||Fe&&Q(new Fe)!=jt||Ee&&Q(new Ee)!=Ut)&&(Q=function(r){var e=v(r),t=e==ws?r.constructor:void 0,o=t?_(t):"";if(o)switch(o){case Ss:return Ht;case ks:return Nt;case vs:return Mt;case Es:return jt;case Os:return Ut}return e});var dr=Q;var Ps=x.Uint8Array,gr=Ps;var _s="__lodash_hash_undefined__";function As(r){return this.__data__.set(r,_s),this}var qt=As;function Ts(r){return this.__data__.has(r)}var zt=Ts;function De(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new G;++e<t;)this.add(r[e])}De.prototype.add=De.prototype.push=qt;De.prototype.has=zt;var $t=De;function Rs(r,e){for(var t=-1,o=r==null?0:r.length;++t<o;)if(e(r[t],t,r))return!0;return!1}var Gt=Rs;function Is(r,e){return r.has(e)}var Qt=Is;var Bs=1,Ls=2;function Fs(r,e,t,o,i,a){var n=t&Bs,s=r.length,p=e.length;if(s!=p&&!(n&&p>s))return!1;var f=a.get(r),l=a.get(e);if(f&&l)return f==e&&l==r;var c=-1,d=!0,S=t&Ls?new $t:void 0;for(a.set(r,e),a.set(e,r);++c<s;){var b=r[c],k=e[c];if(o)var T=n?o(k,b,c,e,r,a):o(b,k,c,r,e,a);if(T!==void 0){if(T)continue;d=!1;break}if(S){if(!Gt(e,function(q,z){if(!Qt(S,z)&&(b===q||i(b,q,t,o,a)))return S.push(z)})){d=!1;break}}else if(!(b===k||i(b,k,t,o,a))){d=!1;break}}return a.delete(r),a.delete(e),d}var Ne=Fs;function Ds(r){var e=-1,t=Array(r.size);return r.forEach(function(o,i){t[++e]=[i,o]}),t}var Wt=Ds;function Ns(r){var e=-1,t=Array(r.size);return r.forEach(function(o){t[++e]=o}),t}var Kt=Ns;var Ms=1,js=2,Us="[object Boolean]",Hs="[object Date]",qs="[object Error]",zs="[object Map]",$s="[object Number]",Gs="[object RegExp]",Qs="[object Set]",Ws="[object String]",Ks="[object Symbol]",Vs="[object ArrayBuffer]",Js="[object DataView]",Vt=w?w.prototype:void 0,yr=Vt?Vt.valueOf:void 0;function Zs(r,e,t,o,i,a,n){switch(t){case Js:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Vs:return!(r.byteLength!=e.byteLength||!a(new gr(r),new gr(e)));case Us:case Hs:case $s:return Pe(+r,+e);case qs:return r.name==e.name&&r.message==e.message;case Gs:case Ws:return r==e+"";case zs:var s=Wt;case Qs:var p=o&Ms;if(s||(s=Kt),r.size!=e.size&&!p)return!1;var f=n.get(r);if(f)return f==e;o|=js,n.set(r,e);var l=Ne(s(r),s(e),o,i,a,n);return n.delete(r),l;case Ks:if(yr)return yr.call(r)==yr.call(e)}return!1}var Jt=Zs;var Xs=1,Ys=Object.prototype,ef=Ys.hasOwnProperty;function rf(r,e,t,o,i,a){var n=t&Xs,s=cr(r),p=s.length,f=cr(e),l=f.length;if(p!=l&&!n)return!1;for(var c=p;c--;){var d=s[c];if(!(n?d in e:ef.call(e,d)))return!1}var S=a.get(r),b=a.get(e);if(S&&b)return S==e&&b==r;var k=!0;a.set(r,e),a.set(e,r);for(var T=n;++c<p;){d=s[c];var q=r[d],z=e[d];if(o)var wr=n?o(z,q,d,e,r,a):o(q,z,d,r,e,a);if(!(wr===void 0?q===z||i(q,z,t,o,a):wr)){k=!1;break}T||(T=d=="constructor")}if(k&&!T){var be=r.constructor,Ce=e.constructor;be!=Ce&&"constructor"in r&&"constructor"in e&&!(typeof be=="function"&&be instanceof be&&typeof Ce=="function"&&Ce instanceof Ce)&&(k=!1)}return a.delete(r),a.delete(e),k}var Zt=rf;var tf=1,Xt="[object Arguments]",Yt="[object Array]",Me="[object Object]",of=Object.prototype,eo=of.hasOwnProperty;function af(r,e,t,o,i,a){var n=y(r),s=y(e),p=n?Yt:dr(r),f=s?Yt:dr(e);p=p==Xt?Me:p,f=f==Xt?Me:f;var l=p==Me,c=f==Me,d=p==f;if(d&&le(r)){if(!le(e))return!1;n=!0,l=!1}if(d&&!l)return a||(a=new oe),n||Te(r)?Ne(r,e,t,o,i,a):Jt(r,e,p,t,o,i,a);if(!(t&tf)){var S=l&&eo.call(r,"__wrapped__"),b=c&&eo.call(e,"__wrapped__");if(S||b){var k=S?r.value():r,T=b?e.value():e;return a||(a=new oe),i(k,T,t,o,a)}}return d?(a||(a=new oe),Zt(r,e,t,o,i,a)):!1}var ro=af;function to(r,e,t,o,i){return r===e?!0:r==null||e==null||!E(r)&&!E(e)?r!==r&&e!==e:ro(r,e,t,o,to,i)}var je=to;var nf=1,sf=2;function ff(r,e,t,o){var i=t.length,a=i,n=!o;if(r==null)return!a;for(r=Object(r);i--;){var s=t[i];if(n&&s[2]?s[1]!==r[s[0]]:!(s[0]in r))return!1}for(;++i<a;){s=t[i];var p=s[0],f=r[p],l=s[1];if(n&&s[2]){if(f===void 0&&!(p in r))return!1}else{var c=new oe;if(o)var d=o(f,l,p,r,e,c);if(!(d===void 0?je(l,f,nf|sf,o,c):d))return!1}}return!0}var oo=ff;function pf(r){return r===r&&!V(r)}var Ue=pf;function uf(r){for(var e=Z(r),t=e.length;t--;){var o=e[t],i=r[o];e[t]=[o,i,Ue(i)]}return e}var ao=uf;function lf(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}var He=lf;function mf(r){var e=ao(r);return e.length==1&&e[0][2]?He(e[0][0],e[0][1]):function(t){return t===r||oo(t,r,e)}}var io=mf;function cf(r,e){return r!=null&&e in Object(r)}var no=cf;function df(r,e,t){e=Re(e,r);for(var o=-1,i=e.length,a=!1;++o<i;){var n=D(e[o]);if(!(a=r!=null&&t(r,n)))break;r=r[n]}return a||++o!=i?a:(i=r==null?0:r.length,!!i&&J(i)&&Oe(n,i)&&(y(r)||Ae(r)))}var so=df;function gf(r,e){return r!=null&&so(r,e,no)}var fo=gf;var yf=1,hf=2;function xf(r,e){return X(r)&&Ue(e)?He(D(r),e):function(t){var o=Et(t,r);return o===void 0&&o===e?fo(t,r):je(e,o,yf|hf)}}var po=xf;function bf(r){return function(e){return e?.[r]}}var uo=bf;function Cf(r){return function(e){return Ie(e,r)}}var lo=Cf;function wf(r){return X(r)?uo(D(r)):lo(r)}var mo=wf;function Sf(r){return typeof r=="function"?r:r==null?Mr:typeof r=="object"?y(r)?po(r[0],r[1]):io(r):mo(r)}var co=Sf;function kf(r,e,t,o){for(var i=-1,a=r==null?0:r.length;++i<a;){var n=r[i];e(o,n,t(n),r)}return o}var go=kf;function vf(r){return function(e,t,o){for(var i=-1,a=Object(e),n=o(e),s=n.length;s--;){var p=n[r?s:++i];if(t(a[p],p,a)===!1)break}return e}}var yo=vf;var Ef=yo(),ho=Ef;function Of(r,e){return r&&ho(r,e,Z)}var xo=Of;function Pf(r,e){return function(t,o){if(t==null)return t;if(!_e(t))return r(t,o);for(var i=t.length,a=e?i:-1,n=Object(t);(e?a--:++a<i)&&o(n[a],a,n)!==!1;);return t}}var bo=Pf;var _f=bo(xo),Co=_f;function Af(r,e,t,o){return Co(r,function(i,a,n){e(o,i,t(i),n)}),o}var wo=Af;function Tf(r,e){return function(t,o){var i=y(t)?go:wo,a=e?e():{};return i(t,r,co(o,2),a)}}var So=Tf;var Rf=Object.prototype,If=Rf.hasOwnProperty,Bf=So(function(r,e,t){If.call(r,t)?r[t].push(e):zr(r,t,[e])}),ce=Bf;var qe=class{canHandle(e){return e["dump-grouped"]===!0||e.D===!0}handle(e){let t=ce(e,o=>o.meta?.file??"unknown");u.log(JSON.stringify(t,null,2))}};function ze(r,e={}){let{format:t="merged",showFilePaths:o=!0,separator:i="; "}=e;if(r.length===0)return t==="merged"?"":[];if(t==="merged")return r.map(n=>`${n.name}=${n.value}`).join(i);let a=ce(r,n=>n.meta?.file??"unknown");return Object.entries(a).map(([n,s])=>{let p=s.map(f=>`${f.name}=${f.value}`).join(i);return o?`${n}: ${p}`:p})}var $e=class{canHandle(e){return e["render-grouped"]===!0||e.R===!0}handle(e){u.log(ze(e,{format:"grouped"}))}};var Ge=class{canHandle(e){return e.output==="json"}handle(e){u.log(JSON.stringify(e,null,2))}};var Qe=class{canHandle(e){return e.render===!0||e["render-merged"]===!0||e.r===!0}handle(e){u.log(ze(e,{format:"merged"}))}};var We=class{constructor(){this.validOutputFormats=["json"];this.handlers=[new we,new qe,new Qe,new $e,new Ge,new pe]}validateOutputFormat(e){if(e.output!==void 0&&!this.validOutputFormats.includes(e.output)){let t=this.validOutputFormats.join(", ");throw new Error(`Invalid output format: '${e.output}'. Valid formats are: ${t}`)}}getHandler(e){return this.validateOutputFormat(e),this.handlers.find(t=>t.canHandle(e))??new pe}};var Ke=class{constructor(e){this.strategy=e}async queryCookies(e,t){return await this.strategy.queryCookies(e.name,e.domain,t?.store,t?.force)}};var ar=require("fs");async function ko(r,e,t=[]){return r.length===0?t:(await Promise.all(r.map(async i=>{try{return await e(i)}catch{return t}}))).flat()}var de=class{constructor(e){this.strategies=e;this.logger=h("CompositeCookieQueryStrategy");this.browserName="internal"}handleStrategyError(e,t){e instanceof Error?this.logger.error("Strategy failed",{error:e,strategy:t}):this.logger.error("Strategy failed with unknown error",{error:String(e),strategy:t})}async queryCookies(e,t,o,i){try{return this.logger.info("Querying cookies from all strategies",{name:e,domain:t,store:o,force:i,strategyCount:this.strategies.length}),await ko(this.strategies,async a=>{try{return await a.queryCookies(e,t,o,i)}catch(n){return this.handleStrategyError(n,a),[]}},[])}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a}):this.logger.error("Failed to query cookies with unknown error",{error:String(a)}),[]}}};function vo(r){if(r==null||typeof r!="number"||Number.isNaN(r))return;if(r<=0)return"Infinity";let e=r/1e6-11644473600;return e<0||e>3250368e4?"Infinity":new Date(e*1e3)}var Lf={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{},success:()=>{},fatal:()=>{},log:()=>{}},N=class{constructor(e,t){this.browserName=t;let o=h(e);this.logger=o||Lf}async queryCookies(e,t,o,i){try{return this.logger.info("Querying cookies",{name:e,domain:t,store:o,force:i}),await this.executeQuery(e,t,o,i)}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a.message,browser:this.browserName,strategy:this.constructor.name,name:e,domain:t,store:o,force:i}):this.logger.error("Failed to query cookies",{error:String(a),browser:this.browserName,strategy:this.constructor.name,name:e,domain:t,store:o,force:i}),[]}}};var Oo=require("fs"),Ze=require("path"),Po=$(require("fast-glob"),1);var Eo=$(require("better-sqlite3"),1);var ge=h("QuerySqliteThenTransform");function Ff(r){return new Promise(e=>setTimeout(e,r))}function Df(r){if(r instanceof Error){let e=r.message.toLowerCase();return e.includes("database is locked")||e.includes("database locked")||e.includes("sqlite_busy")}return!1}function Nf(r){try{let e=new Eo.default(r,{readonly:!0,fileMustExist:!0});try{e.pragma("journal_mode = WAL"),ge.debug("Set WAL mode for database",{file:r})}catch(t){let o=t instanceof Error?t.message:String(t);o.includes("readonly")||o.includes("write")?ge.debug("Database is readonly, continuing with default journal mode",{file:r,error:o}):ge.warn("Failed to set WAL mode, continuing with default",{file:r,error:o})}return e}catch(e){throw R("Database open failed",e,{file:r}),e}}function Mf(r){try{return r.close(),Promise.resolve()}catch(e){return R("Database close failed",e),Promise.reject(e instanceof Error?e:new Error("Failed to close database: Unknown error"))}}async function jf(r){let{file:e,sql:t,params:o,rowFilter:i,rowTransform:a}=r,n;try{n=Nf(e);let p=n.prepare(t).all(o),f=i?p.filter(i):p;return a?f.map(a):f}finally{n&&await Mf(n)}}async function Ve(r){let{file:e,sql:t,retryAttempts:o=3}=r,i=[100,500,1e3],a;for(let n=0;n<o;n++)try{let s=await jf(r);return n>0&&ge.info("Database query succeeded after retry",{file:e,attempt:n+1,totalAttempts:o}),s}catch(s){if(a=s,Df(s)&&n<o-1){let p=i[n]||1e3;ge.warn("Database locked, retrying after delay",{file:e,attempt:n+1,totalAttempts:o,delay:p,error:s instanceof Error?s.message:String(s)}),await Ff(p);continue}throw R("Database query failed",s,{file:e,sql:t,attempt:n+1}),s}throw a}var ye=require("os"),Je=require("path"),M=(()=>{let r=(0,ye.homedir)();if(!r)throw new Error("Unable to determine user home directory");switch((0,ye.platform)()){case"darwin":return(0,Je.join)(r,"Library","Application Support","Google","Chrome");case"win32":return(0,Je.join)(r,"AppData","Local","Google","Chrome","User Data");case"linux":return(0,Je.join)(r,".config","google-chrome");default:throw new Error(`Platform ${(0,ye.platform)()} is not supported`)}})();var he=h("getEncryptedChromeCookie");function Uf(r){if(typeof r!="string")return!1;let e=r.trim();return e.length===0?!1:(0,Oo.existsSync)(e)}async function Hf(){let r=[(0,Ze.join)(M,"Default/Cookies"),(0,Ze.join)(M,"Profile */Cookies"),(0,Ze.join)(M,"Profile Default/Cookies")],e=[];for(let t of r){let o=await(0,Po.default)(t);e.push(...o)}return he.debug("ChromeCookies","Found cookie files",{count:e.length,files:e}),e}function qf(r,e){let t=r==="%",o=t?"SELECT name, encrypted_value, host_key, expires_utc FROM cookies WHERE host_key LIKE ?":"SELECT name, encrypted_value, host_key, expires_utc FROM cookies WHERE name = ? AND host_key LIKE ?",i=t?[`%${e}%`]:[r,`%${e}%`];return{sql:o,params:i}}async function zf(r,e,t){try{let{sql:o,params:i}=qf(e,t);he.debug("ChromeCookies","Executing query",{sql:o,params:i});let a=await Ve({file:r,sql:o,params:i,rowTransform:n=>({name:n.name,domain:n.host_key,value:n.encrypted_value,expiry:n.expires_utc})});return _r("QueryCookies",!0,{file:r,count:a.length}),a}catch(o){return R("Failed to read cookie file",o,{file:r}),[]}}async function _o({name:r,domain:e,file:t}){let o=typeof t=="string"&&t.length>0?[t]:await Hf();if(o.length===0)return he.debug("ChromeCookies","No cookie files found"),[];let i=[];for(let a of o){if(!Uf(a)){he.debug("ChromeCookies","Cookie file missing or invalid",{file:a});continue}let n=await zf(a,r,e);i.push(...n)}return he.debug("ChromeCookies","Query complete",{totalCookies:i.length}),i}var $f=require("fs"),Gf=require("path"),Ao=$(require("fast-glob"),1);var Qf=h("listChromeProfiles");function To(){let r=Ao.default.sync("./**/Cookies",{cwd:M,absolute:!0});return Qf.debug("Found cookie files:",r),r}var Xe=require("crypto"),hr=require("os");var Ro=require("crypto");function Io(r,e){let t=Buffer.from("v10");if(!r.subarray(0,3).equals(t))throw new Error("Not a v10 encrypted cookie");let o=r.subarray(3),i=12,a=16;if(o.length<i+a)throw new Error("Invalid v10 cookie: too short");let n=o.subarray(0,i),s=o.subarray(i,o.length-a),p=o.subarray(o.length-a),f=(0,Ro.createDecipheriv)("aes-256-gcm",e,n);return f.setAuthTag(p),Buffer.concat([f.update(s),f.final()]).toString("utf8")}function Bo(r){let e=Buffer.from("v10");return r.length>=3&&r.subarray(0,3).equals(e)}function Lo(r,e){let t=new Map;return o=>{let i=e?e(o):o.toString("hex");if(t.has(i)){let n=t.get(i);if(n!==void 0)return n}let a=r(o);return t.set(i,a),a}}var Wf=Lo(r=>r.length>=3&&r[0]===118&&r[1]===49&&r[2]===48?r.slice(3):r,r=>r.toString("hex")),Kf=Lo(r=>{let e=r[r.length-1];return e&&e<=16?r.slice(0,-e):r},r=>r.toString("hex"));function Vf(r){let e=r.match(/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/i);if(e)return e[1];let t=[/([A-Z]{3})$/,/([a-z]{2}_[A-Z]{2})$/,/(\d{3}-\d{7}-\d{7})$/];for(let i of t){let a=r.match(i);if(a)return a[1]}let o=[/.*?0t(.+)$/,/.*?1e`(.+)$/,/.*?[`'](.+)$/,/[^\x20-\x7E]*([\x20-\x7E]+)$/,/.*?([a-zA-Z0-9_\-\.]+)$/];for(let i of o){let n=r.match(i)?.[1]??"";if(n.length>0)return n}return r}async function Fo(r,e,t){if((0,hr.platform)()==="win32"&&Bo(r)&&r.length>=31&&Buffer.isBuffer(e))return Io(r,e);if((0,hr.platform)()==="darwin"&&!r.slice(0,3).toString().match(/^v\d\d$/))return Promise.resolve(r.toString("utf8"));if(typeof e!="string")throw new Error("password must be a string");if(!Buffer.isBuffer(r))throw new Error("encryptedData must be a Buffer");return new Promise((o,i)=>{(0,Xe.pbkdf2)(e,"saltysalt",1003,16,"sha1",(a,n)=>{try{if(a){i(new Error(`Failed to derive key: ${a.message}`));return}let s=Wf(r);if(s.length%16!==0){i(new Error("Encrypted data length is not a multiple of 16"));return}let p=Buffer.alloc(16," "),f=(0,Xe.createDecipheriv)("aes-128-cbc",n,p);f.setAutoPadding(!1);let l=f.update(s);try{f.final()}catch(b){i(new Error(`Failed to finalize decryption: ${b.message}`));return}l=Kf(l);let S=((t||0)>=24&&l.length>32?l.slice(32):l).toString("utf8");o(Vf(S))}catch(s){i(new Error(`Decryption failed: ${s.message}`))}})})}var br=require("os");var Do=require("child_process"),No=require("util");var Jf=(0,No.promisify)(Do.exec),xr=class extends Error{constructor(t,o,i){super(t);this.command=o;this.originalError=i;this.name="CommandExecutionError"}};async function j(r,e){try{let t=await Jf(r,{...e,encoding:"utf8"});return{stdout:t.stdout.toString(),stderr:t.stderr.toString()}}catch(t){throw R("Command execution failed",t,{command:r}),new xr(t instanceof Error?t.message:String(t),r,t instanceof Error?t:void 0)}}async function Mo(){try{let t=(await j("secret-tool lookup application chrome-libsecret-password-v2 || secret-tool lookup application chrome")).stdout.trim();if(t)return t}catch{}try{let t=(await j(`python3 -c "import keyring; print(keyring.get_password('Chrome Safe Storage', 'Chrome'))"`)).stdout.trim();if(t&&t!=="None")return t}catch{}try{let t=(await j('kwallet-query kdewallet -f "Chrome Safe Storage" -r Chrome')).stdout.trim();if(t)return t}catch{}return"peanuts"}async function jo(){return(await j('security find-generic-password -w -s "Chrome Safe Storage"')).stdout.trim()}var Uo=require("fs"),Ho=require("path");function Zf(encryptedKey){let DPAPI_PREFIX=Buffer.from("DPAPI");if(!encryptedKey.subarray(0,5).equals(DPAPI_PREFIX))throw new Error("Invalid DPAPI key prefix");let encryptedData=encryptedKey.subarray(5);if(process.platform==="win32")try{let moduleName="@primno/dpapi",dpapi=eval(`require("${moduleName}")`);if(dpapi&&typeof dpapi.unprotectData=="function")return dpapi.unprotectData(encryptedData)}catch(r){process.env.VERBOSE&&console.warn("DPAPI module not available:",r)}throw new Error("Windows DPAPI decryption requires native bindings. Install @primno/dpapi package for Windows support.")}function qo(){try{let r=(0,Ho.join)(M,"Local State"),e=(0,Uo.readFileSync)(r,"utf8"),t=JSON.parse(e);if(!t.os_crypt?.encrypted_key)throw new Error("No encrypted key found in Chrome Local State");let o=Buffer.from(t.os_crypt.encrypted_key,"base64");return Zf(o).toString("latin1")}catch(r){throw new Error(`Failed to retrieve Chrome password on Windows: ${r instanceof Error?r.message:String(r)}`)}}async function zo(){switch((0,br.platform)()){case"darwin":return await jo();case"win32":return qo();case"linux":return await Mo();default:throw new Error(`Platform ${(0,br.platform)()} is not supported`)}}function $o(r,e,t,o,i,a){return{domain:r,name:e,value:t,expiry:vo(o),meta:{file:i,browser:"Chrome",decrypted:a}}}var ae=class extends N{constructor(){super("ChromeCookieQueryStrategy","Chrome")}async executeQuery(e,t,o,i){let a=["darwin","win32","linux"];if(!a.includes(process.platform))return this.logger.warn("Platform not supported",{platform:process.platform,supportedPlatforms:a}),[];let n=o??To(),s=Array.isArray(n)?n:[n];if(s.length===0)return this.logger.warn("No Chrome cookie files found"),[];let p=await zo();return(await Promise.all(s.map(l=>this.processFile(l,e,t,p)))).flat()}async processFile(e,t,o,i){try{let a=await _o({name:t,domain:o,file:e}),n=0;try{let f=await import("better-sqlite3"),l=new f.default(e,{readonly:!0});try{let c=l.prepare("SELECT value FROM meta WHERE key = ?").get("version");n=c?Number.parseInt(c.value,10):0}finally{l.close()}}catch(f){this.logger.debug("Could not retrieve meta version, defaulting to 0",{error:f})}let s={file:e,password:i,metaVersion:n};return(await Promise.allSettled(a.map(f=>this.processCookie(f,s)))).map(f=>f.status==="fulfilled"?f.value:null).filter(f=>f!==null)}catch(a){return a instanceof Error?this.logger.error("Failed to process cookie file",{error:a.message,file:e,name:t,domain:o}):this.logger.error("Failed to process cookie file",{error:String(a),file:e,name:t,domain:o}),[]}}async processCookie(e,t){try{let o=Buffer.isBuffer(e.value)?e.value:Buffer.from(String(e.value)),i=await Fo(o,t.password,t.metaVersion);return $o(e.domain,e.name,i,e.expiry,t.file,!0)}catch(o){return o instanceof Error?this.logger.warn("Failed to decrypt cookie",{error:o}):this.logger.warn("Failed to decrypt cookie",{error:String(o)}),$o(e.domain,e.name,e.value.toString("utf-8"),e.expiry,t.file,!1)}}};var Ko=require("os"),Cr=require("path"),Vo=$(require("fast-glob"),1);var Go=h("ProcessDetector");function Xf(r,e){let t=r.trim().split(/\s+/);if(t.length<2)return null;let o=Number.parseInt(t[1],10);return Number.isNaN(o)?null:{pid:o,command:t.slice(10).join(" ")||e,details:r.trim()}}async function Qo(){try{let r="ps aux | grep -i firefox | grep -v grep",{stdout:e}=await j(r);if(!e||e.trim()==="")return[];let t=[],o=e.split(`
3
+ `).filter(i=>i.trim()!=="");for(let i of o){let a=Xf(i,"firefox");a&&t.push(a)}return Go.debug("Firefox process detection completed",{processCount:t.length,processes:t.map(i=>({pid:i.pid,command:i.command}))}),t}catch(r){return Go.warn("Failed to detect Firefox processes",{error:r instanceof Error?r.message:String(r)}),[]}}function Wo(r,e){if(e.length===0)return"";let t=e.length,o=r.charAt(0).toUpperCase()+r.slice(1);return`${o} is currently running (${t} process${t>1?"es":""} detected). For reliable cookie access, consider closing ${o} and trying again. Alternatively, use the --force flag to attempt access despite the lock.`}function Yf(r){let e=(0,Ko.homedir)();if(!e)return r.warn("Failed to get home directory"),[];let t=[(0,Cr.join)(e,"Library/Application Support/Firefox/Profiles/*/cookies.sqlite"),(0,Cr.join)(e,".mozilla/firefox/*/cookies.sqlite")],o=[];for(let i of t){let a=Vo.default.sync(i);o.push(...a)}return r.debug("Found Firefox cookie files",{files:o}),o}var ie=class extends N{constructor(){super("FirefoxCookieQueryStrategy","Firefox")}async handleDatabaseLockError(e,t){if(e instanceof Error&&e.message.toLowerCase().includes("database is locked"))try{let o=await Qo();if(o.length>0){let i=Wo("firefox",o);this.logger.warn("Firefox process conflict detected",{file:t,processCount:o.length,advice:i})}else this.logger.warn("Database locked but no Firefox processes detected",{file:t,suggestion:"Another process may be accessing the database"})}catch(o){this.logger.debug("Failed to check Firefox processes",{error:o instanceof Error?o.message:String(o)})}}async executeQuery(e,t,o,i){let a=o??Yf(this.logger),n=Array.isArray(a)?a:[a],s=[];for(let p of n)try{let f=await Ve({file:p,sql:"SELECT name, value, host as domain, expiry FROM moz_cookies WHERE name = ? AND host LIKE ?",params:[e,`%${t}%`],rowTransform:l=>({name:l.name,value:l.value,domain:l.domain,expiry:l.expiry>0?new Date(l.expiry*1e3):"Infinity",meta:{file:p,browser:"Firefox",decrypted:!1}})});s.push(...f)}catch(f){await this.handleDatabaseLockError(f,p),f instanceof Error?this.logger.warn(`Error reading Firefox cookie file ${p}`,{error:f.message,file:p,name:e,domain:t}):this.logger.warn(`Error reading Firefox cookie file ${p}`,{error:String(f),file:p,name:e,domain:t})}return s}};var ia=require("os"),na=require("path");var ea=require("buffer"),ra=require("fs"),ta=require("os"),oa=require("path");var xe=require("buffer");var Jo=$(require("destr"),1),m=require("zod"),Ye=m.z.string().trim().min(1,"Domain cannot be empty").refine(r=>/^\.?[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(r),"Invalid domain format"),er=m.z.string().trim().min(1,"Cookie name cannot be empty").refine(r=>r==="%"||/^[!#$%&'()*+\-.:0-9A-Z \^_`a-z|~]+$/.test(r),"Invalid cookie name format - must contain only valid characters (letters, numbers, and certain symbols) or be '%' for wildcard"),Zo=m.z.string().trim().min(1,"Path cannot be empty").refine(r=>r.startsWith("/"),"Path must start with /").refine(r=>/^\/[!#$%&'()*+,\-./:=@\w~]*$/.test(r),"Invalid path format - must contain only valid URL path characters").default("/"),Xo=m.z.string().trim().transform(r=>(0,Jo.default)(r)).pipe(m.z.any()),Yo=m.z.object({name:er,value:Xo,domain:Ye,path:Zo,expiry:m.z.number().int(),creation:m.z.number().int(),flags:m.z.number().optional(),version:m.z.number().int().optional(),port:m.z.number().int().optional(),comment:m.z.string().optional(),commentURL:m.z.string().optional()}),Uy=m.z.object({name:er,domain:Ye}).strict(),ep=m.z.object({file:m.z.string().trim().min(1,"File path cannot be empty").optional(),browser:m.z.string().trim().optional(),decrypted:m.z.boolean().optional(),secure:m.z.boolean().optional(),httpOnly:m.z.boolean().optional(),path:Zo.optional()}).catchall(m.z.unknown()).strict(),rp=m.z.object({domain:Ye,name:er,value:Xo,expiry:m.z.union([m.z.literal("Infinity"),m.z.date(),m.z.number().int().positive("Expiry must be a positive number")]).optional(),meta:ep.optional()}).strict(),Hy=m.z.object({expiry:m.z.number().int().optional(),domain:Ye,name:er,value:m.z.union([m.z.string(),m.z.instanceof(Buffer)])}).strict(),qy=m.z.object({format:m.z.enum(["merged","grouped"]).optional(),separator:m.z.string().optional(),showFilePaths:m.z.boolean().optional()}).strict(),tp=m.z.enum(["Chrome","Firefox","Safari","internal","unknown"]),zy=m.z.object({browserName:tp,queryCookies:m.z.function().args(m.z.string(),m.z.string(),m.z.string().optional(),m.z.boolean().optional()).returns(m.z.promise(m.z.array(rp)))}).strict();var U=h("BinaryCodableCookie"),rr=class{constructor(e){this.version=0;this.url="";this.name="";this.path="";this.value="";this.flags={isSecure:!1,isHTTPOnly:!1,unknown1:!1,unknown2:!1};this.expiration=0;this.creation=0;let t={offset:0,buffer:e};this.decode(t)}decodeUrlValue(e){let t=e,o;do{o=t;try{t=decodeURIComponent(t)}catch{return o}}while(t!==o&&t.includes("%"));return t}decodeJwtPayload(e){let t=e.split(".");if(t.length!==3)return null;try{let o=xe.Buffer.from(t[1],"base64").toString("utf8"),i=JSON.parse(o);return JSON.stringify(i)}catch{return null}}parseJsonValue(e){try{let t=JSON.parse(e);return JSON.stringify(t)}catch{return null}}processValue(e){if(e===null)return"null";if(e===void 0)return"undefined";if(xe.Buffer.isBuffer(e))return e.toString();if(typeof e!="string")return String(e);let t=this.decodeUrlValue(e);if(t.match(/^ey[A-Za-z0-9_-]+\.ey[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/)){let o=this.decodeJwtPayload(t);if(typeof o=="string"&&o.length>0)return o}if(t.startsWith("{")||t.startsWith("[")){let o=this.parseJsonValue(t);if(typeof o=="string"&&o.length>0)return o}return t}convertMacTimestamp(e){return e<=0?e:e>=0&&e<=1e9&&Number.isFinite(e)?e+978307200:0}toCookieRow(){try{let e=this.convertFlags(),t=this.url.replace(/^https?:\/\//,"").replace(/\/.*$/,"")||"uk",o=this.convertMacTimestamp(this.expiration),i=this.convertMacTimestamp(this.creation);return Yo.parse({name:this.name.replace(/^: /,""),value:this.processValue(this.value)||"",domain:t,path:this.path||"/",expiry:o,creation:i,flags:e,version:this.version,port:this.port,comment:this.comment,commentURL:this.commentURL})}catch{return null}}readNullTerminatedString(e,t){let o=t;for(;o<e.buffer.length&&e.buffer[o]!==0;)o++;return e.buffer.toString("utf8",t,o)||""}readHeader(e){let t=e.buffer.readUInt32LE(e.offset);U.debug("Cookie size:",t),e.offset+=4;let o=e.buffer.readUInt32LE(e.offset);U.debug("Cookie version:",o),e.offset+=4;let i=e.buffer.readUInt32LE(e.offset);U.debug("Cookie flags:",i.toString(2).padStart(8,"0")),e.offset+=4,this.flags={isSecure:(i&1)!==0,isHTTPOnly:(i&4)!==0,unknown1:(i&8)!==0,unknown2:(i&16)!==0};let a=e.buffer.readUInt32LE(e.offset);U.debug("Has port:",a),e.offset+=4;let n={urlOffset:e.buffer.readUInt32LE(e.offset),nameOffset:e.buffer.readUInt32LE(e.offset+4),pathOffset:e.buffer.readUInt32LE(e.offset+8),valueOffset:e.buffer.readUInt32LE(e.offset+12),commentOffset:e.buffer.readUInt32LE(e.offset+16),commentURLOffset:e.buffer.readUInt32LE(e.offset+20)};return U.debug("String offsets:",n),{size:t,hasPort:a,offsets:n}}readTimestamps(e){let t=xe.Buffer.alloc(8);for(let n=0;n<8;n++)t[n]=e.buffer[e.offset+n];let o=t.readDoubleLE(0);e.offset+=8;let i=xe.Buffer.alloc(8);for(let n=0;n<8;n++)i[n]=e.buffer[e.offset+n];let a=i.readDoubleLE(0);e.offset+=8,this.expiration=o,this.creation=a}readStrings(e,t,o){U.debug("Reading strings from cookie buffer of size:",t);let a=[{field:"url",offset:o.urlOffset},{field:"name",offset:o.nameOffset},{field:"path",offset:o.pathOffset},{field:"value",offset:o.valueOffset},{field:"comment",offset:o.commentOffset}].filter(n=>n.offset>0).sort((n,s)=>n.offset-s.offset);U.debug("Reading strings in order:",a.map(n=>n.field));for(let n=0;n<a.length;n++){let{field:s,offset:p}=a[n],l=(n<a.length-1?a[n+1].offset:t)-p,c=0+p;for(;c<0+p+l&&e.buffer[c]!==0;)c++;let d=e.buffer.toString("utf8",0+p,c);switch(U.debug(`Read ${s}:`,d),s){case"url":this.url=d;break;case"name":this.name=d;break;case"path":this.path=d;break;case"value":this.value=d;break;case"comment":this.comment=d;break}}}decode(e){let{size:t,hasPort:o,offsets:i}=this.readHeader(e),a=e.offset;e.offset=a+24,this.readTimestamps(e),o>0&&(this.port=e.buffer.readUInt16LE(e.offset),e.offset+=2),e.offset=a,this.readStrings(e,t,i)}convertFlags(){return(this.flags.isSecure?1:0)|(this.flags.isHTTPOnly?4:0)|(this.flags.unknown1?8:0)|(this.flags.unknown2?16:0)}};var O=h("BinaryCodablePage"),ne=class ne{constructor(e){this.cookies=[];let t={offset:0,buffer:e};this.decode(t)}toCookieRows(){let e=[];for(let t of this.cookies)try{let o=t.toCookieRow();o!==null&&e.push(o)}catch(o){let i=o instanceof Error?o.message:String(o);W("BinaryCookies","Error converting cookie",{error:i})}return e}decode(e){let t=e.buffer.readUInt32BE(e.offset);if(O.debug("Page header:",t.toString(16)),e.offset+=4,t!==ne.HEADER)throw new Error("Invalid page header");let o=e.buffer.readUInt32LE(e.offset);O.debug("Cookie count:",o),e.offset+=4;let i=e.offset-8;O.debug("Page start offset:",i);let a=[];for(let s=0;s<o;s++){let p=e.buffer.readUInt32LE(e.offset);a.push(p),O.debug(`Cookie ${s} offset:`,p),e.offset+=4}let n=e.buffer.readUInt32BE(e.offset);if(O.debug("Page footer:",n.toString(16)),e.offset+=4,n!==ne.FOOTER)throw new Error("Invalid page footer");for(let s=0;s<o;s++)try{let p=a[s];O.debug(`Reading cookie ${s} at offset:`,p);let f=e.buffer.readUInt32LE(p);if(O.debug(`Cookie ${s} size:`,f),f<48){O.warn(`Invalid cookie size ${f} at index ${s}`);continue}if(p+f>e.buffer.length){O.warn(`Cookie size ${f} at index ${s} would exceed buffer length ${e.buffer.length}`);continue}let l=e.buffer.subarray(p,p+f),c=new rr(l);this.cookies.push(c)}catch(p){O.warn("Invalid cookie data",{error:p instanceof Error?p.message:String(p)})}}};ne.HEADER=256,ne.FOOTER=0;var tr=ne;var H=h("BinaryCodableCookies"),P=class P{constructor(e){let t={offset:0,buffer:e};this.pages=[],this.metadata={},this.decode(t)}static fromFile(e){let t=(0,ra.readFileSync)(e);return new P(t)}static fromDefaultPath(){return P.fromFile(P.DEFAULT_COOKIE_PATH)}toCookieRows(){let e=[];for(let t of this.pages)try{let o=t.toCookieRows();Array.isArray(o)&&e.push(...o)}catch(o){let i=o instanceof Error?o.message:String(o);W("BinaryCookies","Error converting page cookies",{error:i})}return e}decode(e){try{let t=e.buffer.subarray(e.offset,e.offset+4);if(e.offset+=4,H.debug("Magic bytes:",t.toString()),!t.equals(P.MAGIC))throw new Error("Missing magic value");let o=e.buffer.readUInt32BE(e.offset);H.debug("Page count:",o),e.offset+=4;let i=[];for(let f=0;f<o;f++){let l=e.buffer.readUInt32BE(e.offset);i.push(l),H.debug(`Page ${f} size:`,l),e.offset+=4}let a=e.offset;H.debug("Starting page data at offset:",a);for(let f of i)try{H.debug("Reading page at offset:",a,"with size:",f);let l=e.buffer.subarray(a,a+f),c=new tr(l);this.pages.push(c),a+=f}catch(l){let c=l instanceof Error?l.message:String(l);H.warn("Error decoding page:",{error:c}),a+=f}e.offset=a;let n=e.buffer.readUInt32BE(e.offset);H.debug("Checksum:",n.toString(16)),e.offset+=4;let s=e.buffer.readBigUInt64BE(e.offset);H.debug("Footer:",s.toString(16)),e.offset+=8,s!==P.FOOTER&&W("BinaryCookies","Invalid cookie file format: wrong footer");let p=e.buffer.subarray(e.offset);this.metadata={}}catch(t){let o=t instanceof Error?t.message:String(t);throw W("BinaryCookies","Error decoding binary cookies file",{error:o}),t}}};P.MAGIC=ea.Buffer.from("cook","utf8"),P.FOOTER=BigInt("0x071720050000004b"),P.DEFAULT_COOKIE_PATH=(0,oa.join)((0,ta.homedir)(),"Library/Containers/com.apple.Safari/Data/Library/Cookies/Cookies.binarycookies");var or=P;function aa(r){return or.fromFile(r).toCookieRows()}var se=class extends N{constructor(){super("SafariCookieQueryStrategy","Safari")}getCookieDbPath(e){return(0,na.join)(e,"Library","Containers","com.apple.Safari","Data","Library","Cookies","Cookies.binarycookies")}formatDomain(e){return e.startsWith(".")?e.slice(1):e}formatExpiry(e){return e==null?void 0:typeof e!="number"||Number.isNaN(e)||e<=0?"Infinity":e<0||e>4102444800?(this.logger.warn("Invalid expiry timestamp, treating as session cookie",{expiry:e}),"Infinity"):new Date(e*1e3)}isFlagSet(e,t){return typeof e!="number"||Number.isNaN(e)||e<=0?!1:(e&t)===t}formatCreation(e){if(typeof e!="number"||Number.isNaN(e)||e<=0)return;if(e<0||e>4102444800){this.logger.warn("Invalid creation timestamp, ignoring",{creation:e});return}return e*1e3}processValue(e){return e===null?"null":e===void 0?"undefined":Buffer.isBuffer(e)?e.toString():String(e)}decodeCookies(e,t,o){try{return aa(e).filter(a=>(t==="%"||a.name===t)&&(o==="%"||this.formatDomain(a.domain).includes(o))).map(a=>({domain:this.formatDomain(a.domain),name:a.name,value:this.processValue(a.value),expiry:this.formatExpiry(a.expiry),meta:{file:e,browser:"Safari",decrypted:!1,secure:this.isFlagSet(a.flags,1),httpOnly:this.isFlagSet(a.flags,4),path:a.path,version:a.version,comment:a.comment,commentURL:a.commentURL,port:a.port,creation:this.formatCreation(a.creation)}}))}catch(i){let a=i instanceof Error?i.message:String(i);return a.includes("EPERM")||a.includes("operation not permitted")||a.includes("Permission denied")?this.logger.debug(`Permission denied accessing Safari cookies at ${e}`,{error:a,file:e,name:t,domain:o}):i instanceof Error?this.logger.error(`Error decoding ${e}`,{error:i.message,file:e,name:t,domain:o}):this.logger.error(`Error decoding ${e}`,{error:String(i),file:e,name:t,domain:o}),[]}}executeQuery(e,t,o,i){try{this.logger.info("Querying cookies",{name:e,domain:t,store:o});let a=(0,ia.homedir)();if(typeof a!="string"||a.length===0)return this.logger.error("Failed to get home directory"),Promise.resolve([]);let n=o??this.getCookieDbPath(a);return Promise.resolve(this.decodeCookies(n,e||"%",t||"%"))}catch(a){return a instanceof Error?this.logger.error("Failed to query cookies",{error:a.message,name:e,domain:t}):this.logger.error("Failed to query cookies",{error:String(a),name:e,domain:t}),Promise.resolve([])}}};var sa={strategies:new Map([["safari",se],["firefox",ie],["chrome",ae]]),detectStoreType(r){if(!r||!(0,ar.existsSync)(r))return;try{if((0,ar.readFileSync)(r,{encoding:null}).subarray(0,4).toString("ascii")==="cook")return"safari"}catch{}let e=r.toLowerCase();if(e.includes("binarycookie"))return"safari";if(e.includes("firefox")||e.includes("mozilla"))return"firefox";if(e.includes("chrome")||e.includes("chromium"))return"chrome"},createStrategy(r,e){if(e&&!r){let o=this.detectStoreType(e);if(o){let i=this.strategies.get(o);if(i)return new i}}if(typeof r!="string")return new de([new ae,new ie,new se]);let t=this.strategies.get(r.toLowerCase());return t!==void 0?new t:new de([new ae,new ie,new se])}};async function op(r,e,t){let o=[];for(let i of e){let a=await r.queryCookies(i,t);if(o=[...o,...a],typeof t.limit=="number"&&t.limit>0&&o.length>=t.limit){o=o.slice(0,t.limit);break}}return o}async function fa(r,e,t,o=!1,i){try{let a=typeof r.browser=="string"?r.browser:void 0,n=typeof r.force=="boolean"?r.force:!1,s=sa.createStrategy(a,i),p=new Ke(s),f=Array.isArray(e)?e:[e],l=await op(p,f,{limit:t,removeExpired:o,store:i,strategy:s,force:n});if(l.length===0){u.error("No results");return}new We().getHandler(r).handle(l)}catch(a){a instanceof Error?u.error(a.message):u.error("An unknown error occurred")}}function pa(){u.log("Usage: get-cookie [name] [domain] [options]"),u.log(""),u.log("Examples:"),u.log(" get-cookie auth example.com # Get specific cookie"),u.log(" get-cookie % github.com --output json # Get all cookies as JSON"),u.log(" get-cookie --url https://example.com # Extract from URL"),u.log(""),u.log("Options:"),u.log(" -h, --help Show this help message"),u.log(" -v, --verbose Enable verbose output"),u.log(" -f, --force Force operation despite warnings (e.g., locked databases)"),u.log(""),u.log("Query options:"),u.log(" -n, --name PATTERN Cookie name pattern (% for wildcard)"),u.log(" -D, --domain PATTERN Cookie domain pattern"),u.log(" -u, --url URL URL to extract cookie specs from"),u.log(" --browser BROWSER Target specific browser (chrome|firefox|safari)"),u.log(" --store PATH Path to a specific cookie store file"),u.log(""),u.log("Output options:"),u.log(" --output FORMAT Output format (json)"),u.log(" -d, --dump Dump all cookie details"),u.log(" -G, --dump-grouped Dump all results, grouped by profile"),u.log(" -r, --render Render all results in formatted output")}function ap(r,e){return{name:r||"%",domain:e||"%"}}function ua(r){return r==="*"?"%":r}function ip(r,e){let t=r.url;if(typeof t=="string"){let a=ir(t);return Array.isArray(a)?a:(u.error("Invalid cookie specs from URL"),[])}let o=ua(r.name||e[0]||"%"),i=ua(r.domain||e[1]||"%");return[ap(o,i)]}async function np(r,e){let t=ip(r,e);r.verbose===!0&&u.log("cookieSpecs",t);try{await fa(r,t,void 0,r.removeExpired===!0,r.store)}catch(o){o instanceof Error?u.error("Error querying cookies:",o.message):u.error("An unknown error occurred while querying cookies")}}async function sp(){let r=process.argv.slice(2);if(r.length===0){pa();return}let{values:e,positionals:t}=vr(r);if(e.help===!0){pa();return}await np(e,t)}sp().catch(r=>{r instanceof Error?u.error("Fatal error:",r.message):u.error("An unknown fatal error occurred"),process.exit(1)});
4
4
  /*! Bundled license information:
5
5
 
6
6
  lodash-es/lodash.js: