@gadgetinc/ggt 1.0.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +1 -0
  2. package/dist/add-DCE6CV2D.js +78 -0
  3. package/dist/add-DCE6CV2D.js.map +7 -0
  4. package/dist/chunk-3Q3GPB6Z.js +2 -0
  5. package/dist/chunk-3Q3GPB6Z.js.map +7 -0
  6. package/dist/chunk-6FBP46EB.js +18 -0
  7. package/dist/chunk-6FBP46EB.js.map +7 -0
  8. package/dist/chunk-AB4I3BMD.js +33 -0
  9. package/dist/{chunk-BOQUW6DS.js.map → chunk-AB4I3BMD.js.map} +3 -3
  10. package/dist/{chunk-GACF5GYF.js → chunk-BYMG3KOL.js} +4 -6
  11. package/dist/{chunk-GACF5GYF.js.map → chunk-BYMG3KOL.js.map} +2 -2
  12. package/dist/chunk-BZSAGSV3.js +8 -0
  13. package/dist/{chunk-APHXRHNI.js.map → chunk-BZSAGSV3.js.map} +3 -3
  14. package/dist/chunk-CXYA3RFX.js +117 -0
  15. package/dist/chunk-CXYA3RFX.js.map +7 -0
  16. package/dist/chunk-DVKNBG4P.js +180 -0
  17. package/dist/chunk-DVKNBG4P.js.map +7 -0
  18. package/dist/chunk-EFU2JNKY.js +9 -0
  19. package/dist/chunk-EFU2JNKY.js.map +7 -0
  20. package/dist/chunk-KGOVR5SK.js +67 -0
  21. package/dist/chunk-KGOVR5SK.js.map +7 -0
  22. package/dist/chunk-KMCOZJPU.js +12 -0
  23. package/dist/chunk-KMCOZJPU.js.map +7 -0
  24. package/dist/{chunk-Q5N5L6H3.js → chunk-M4PNFOA5.js} +2 -2
  25. package/dist/chunk-M4PNFOA5.js.map +7 -0
  26. package/dist/chunk-OLKWG2EP.js +12 -0
  27. package/dist/chunk-OLKWG2EP.js.map +7 -0
  28. package/dist/{chunk-ERYUXLYS.js → chunk-THZRTDWW.js} +8 -8
  29. package/dist/{chunk-ERYUXLYS.js.map → chunk-THZRTDWW.js.map} +3 -3
  30. package/dist/context-L5YSPF3X.js +2 -0
  31. package/dist/deploy-PBJEUYGH.js +25 -0
  32. package/dist/deploy-PBJEUYGH.js.map +7 -0
  33. package/dist/{dev-VHJ52BEA.js → dev-OT7PEKUN.js} +9 -11
  34. package/dist/{dev-VHJ52BEA.js.map → dev-OT7PEKUN.js.map} +3 -3
  35. package/dist/esm-GJ7RK6IC.js +34 -0
  36. package/dist/esm-GJ7RK6IC.js.map +7 -0
  37. package/dist/list-CC5PICEF.js +11 -0
  38. package/dist/list-CC5PICEF.js.map +7 -0
  39. package/dist/login-SE7XIHRW.js +2 -0
  40. package/dist/logout-B3YAZN6R.js +7 -0
  41. package/dist/{logout-HX6MM4S6.js.map → logout-B3YAZN6R.js.map} +3 -3
  42. package/dist/main.js +6 -8
  43. package/dist/main.js.map +3 -3
  44. package/dist/{open-GEEWPSF4.js → open-OVK3YL4O.js} +3 -3
  45. package/dist/{open-GEEWPSF4.js.map → open-OVK3YL4O.js.map} +2 -2
  46. package/dist/{pull-T2Q4M4UN.js → pull-SLPBOP6Z.js} +3 -5
  47. package/dist/{pull-T2Q4M4UN.js.map → pull-SLPBOP6Z.js.map} +2 -2
  48. package/dist/push-3HGVWCKW.js +2 -0
  49. package/dist/push-3HGVWCKW.js.map +7 -0
  50. package/dist/status-7GLNL7D5.js +14 -0
  51. package/dist/{status-5VZH3KXH.js.map → status-7GLNL7D5.js.map} +1 -1
  52. package/dist/user-C34J52UL.js +2 -0
  53. package/dist/user-C34J52UL.js.map +7 -0
  54. package/dist/{version-OF4TQ2K6.js → version-AUI4NRDS.js} +2 -2
  55. package/dist/whoami-TXO7VJXC.js +7 -0
  56. package/dist/{whoami-V3XD27QH.js.map → whoami-TXO7VJXC.js.map} +2 -2
  57. package/package.json +20 -20
  58. package/dist/add-JIIVAOWH.js +0 -84
  59. package/dist/add-JIIVAOWH.js.map +0 -7
  60. package/dist/chunk-APHXRHNI.js +0 -8
  61. package/dist/chunk-AQRCAWW4.js +0 -24
  62. package/dist/chunk-AQRCAWW4.js.map +0 -7
  63. package/dist/chunk-BOQUW6DS.js +0 -33
  64. package/dist/chunk-CKSTMUDN.js +0 -17
  65. package/dist/chunk-CKSTMUDN.js.map +0 -7
  66. package/dist/chunk-GBCD37US.js +0 -57
  67. package/dist/chunk-GBCD37US.js.map +0 -7
  68. package/dist/chunk-P2XPMNL6.js +0 -183
  69. package/dist/chunk-P2XPMNL6.js.map +0 -7
  70. package/dist/chunk-PSRZ5JH5.js +0 -27
  71. package/dist/chunk-PSRZ5JH5.js.map +0 -7
  72. package/dist/chunk-Q5N5L6H3.js.map +0 -7
  73. package/dist/chunk-RJOIQTYZ.js +0 -126
  74. package/dist/chunk-RJOIQTYZ.js.map +0 -7
  75. package/dist/chunk-XCHCCJJZ.js +0 -2
  76. package/dist/chunk-XCHCCJJZ.js.map +0 -7
  77. package/dist/deploy-KMGAGIDE.js +0 -30
  78. package/dist/deploy-KMGAGIDE.js.map +0 -7
  79. package/dist/esm-BL3OM5UJ.js +0 -33
  80. package/dist/esm-BL3OM5UJ.js.map +0 -7
  81. package/dist/list-5E3R22IC.js +0 -11
  82. package/dist/list-5E3R22IC.js.map +0 -7
  83. package/dist/login-3DL45WY7.js +0 -2
  84. package/dist/logout-HX6MM4S6.js +0 -7
  85. package/dist/push-LUW25FYF.js +0 -2
  86. package/dist/status-5VZH3KXH.js +0 -14
  87. package/dist/whoami-V3XD27QH.js +0 -7
  88. /package/dist/{login-3DL45WY7.js.map → context-L5YSPF3X.js.map} +0 -0
  89. /package/dist/{push-LUW25FYF.js.map → login-SE7XIHRW.js.map} +0 -0
  90. /package/dist/{version-OF4TQ2K6.js.map → version-AUI4NRDS.js.map} +0 -0
@@ -1,33 +0,0 @@
1
- import{b as Zt}from"./chunk-D2K5XPNJ.js";import{e as Kt,f as Xt,k as ae,m as We}from"./chunk-CKSTMUDN.js";import{k as Yt}from"./chunk-AQRCAWW4.js";import{A as Ht,I as me,U as Ce,e as E,g as Qt,h as Vt,i as nt,j as ot,k as at,m as lt,z as K}from"./chunk-GBCD37US.js";import{a as k,c as A,e as oe,g as m}from"./chunk-5WC5D4WL.js";var Jt=A((ct,ut)=>{m();(function(t,e){typeof k=="function"&&typeof ct=="object"&&typeof ut=="object"?ut.exports=e():typeof define=="function"&&define.amd?define(function(){return e()}):t.pluralize=e()})(ct,function(){var t=[],e=[],r={},s={},i={};function n(a){return typeof a=="string"?new RegExp("^"+a+"$","i"):a}function o(a,p){return a===p?p:a===a.toLowerCase()?p.toLowerCase():a===a.toUpperCase()?p.toUpperCase():a[0]===a[0].toUpperCase()?p.charAt(0).toUpperCase()+p.substr(1).toLowerCase():p.toLowerCase()}function c(a,p){return a.replace(/\$(\d{1,2})/g,function(y,b){return p[b]||""})}function l(a,p){return a.replace(p[0],function(y,b){var O=c(p[1],arguments);return o(y===""?a[b-1]:y,O)})}function u(a,p,y){if(!a.length||r.hasOwnProperty(a))return p;for(var b=y.length;b--;){var O=y[b];if(O[0].test(p))return l(p,O)}return p}function d(a,p,y){return function(b){var O=b.toLowerCase();return p.hasOwnProperty(O)?o(b,O):a.hasOwnProperty(O)?o(b,a[O]):u(O,b,y)}}function h(a,p,y,b){return function(O){var L=O.toLowerCase();return p.hasOwnProperty(L)?!0:a.hasOwnProperty(L)?!1:u(L,L,y)===L}}function f(a,p,y){var b=p===1?f.singular(a):f.plural(a);return(y?p+" ":"")+b}return f.plural=d(i,s,t),f.isPlural=h(i,s,t),f.singular=d(s,i,e),f.isSingular=h(s,i,e),f.addPluralRule=function(a,p){t.push([n(a),p])},f.addSingularRule=function(a,p){e.push([n(a),p])},f.addUncountableRule=function(a){if(typeof a=="string"){r[a.toLowerCase()]=!0;return}f.addPluralRule(a,"$0"),f.addSingularRule(a,"$0")},f.addIrregularRule=function(a,p){p=p.toLowerCase(),a=a.toLowerCase(),i[a]=p,s[p]=a},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(a){return f.addIrregularRule(a[0],a[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(a){return f.addPluralRule(a[0],a[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(a){return f.addSingularRule(a[0],a[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(f.addUncountableRule),f})});var ar=A((_n,dt)=>{"use strict";m();var vs=Object.prototype.hasOwnProperty,B="~";function Oe(){}Object.create&&(Oe.prototype=Object.create(null),new Oe().__proto__||(B=!1));function Ss(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function or(t,e,r,s,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var n=new Ss(r,s||t,i),o=B?B+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],n]:t._events[o].push(n):(t._events[o]=n,t._eventsCount++),t}function je(t,e){--t._eventsCount===0?t._events=new Oe:delete t._events[e]}function R(){this._events=new Oe,this._eventsCount=0}R.prototype.eventNames=function(){var e=[],r,s;if(this._eventsCount===0)return e;for(s in r=this._events)vs.call(r,s)&&e.push(B?s.slice(1):s);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};R.prototype.listeners=function(e){var r=B?B+e:e,s=this._events[r];if(!s)return[];if(s.fn)return[s.fn];for(var i=0,n=s.length,o=new Array(n);i<n;i++)o[i]=s[i].fn;return o};R.prototype.listenerCount=function(e){var r=B?B+e:e,s=this._events[r];return s?s.fn?1:s.length:0};R.prototype.emit=function(e,r,s,i,n,o){var c=B?B+e:e;if(!this._events[c])return!1;var l=this._events[c],u=arguments.length,d,h;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),u){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,r),!0;case 3:return l.fn.call(l.context,r,s),!0;case 4:return l.fn.call(l.context,r,s,i),!0;case 5:return l.fn.call(l.context,r,s,i,n),!0;case 6:return l.fn.call(l.context,r,s,i,n,o),!0}for(h=1,d=new Array(u-1);h<u;h++)d[h-1]=arguments[h];l.fn.apply(l.context,d)}else{var f=l.length,a;for(h=0;h<f;h++)switch(l[h].once&&this.removeListener(e,l[h].fn,void 0,!0),u){case 1:l[h].fn.call(l[h].context);break;case 2:l[h].fn.call(l[h].context,r);break;case 3:l[h].fn.call(l[h].context,r,s);break;case 4:l[h].fn.call(l[h].context,r,s,i);break;default:if(!d)for(a=1,d=new Array(u-1);a<u;a++)d[a-1]=arguments[a];l[h].fn.apply(l[h].context,d)}}return!0};R.prototype.on=function(e,r,s){return or(this,e,r,s,!1)};R.prototype.once=function(e,r,s){return or(this,e,r,s,!0)};R.prototype.removeListener=function(e,r,s,i){var n=B?B+e:e;if(!this._events[n])return this;if(!r)return je(this,n),this;var o=this._events[n];if(o.fn)o.fn===r&&(!i||o.once)&&(!s||o.context===s)&&je(this,n);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==r||i&&!o[c].once||s&&o[c].context!==s)&&l.push(o[c]);l.length?this._events[n]=l.length===1?l[0]:l:je(this,n)}return this};R.prototype.removeAllListeners=function(e){var r;return e?(r=B?B+e:e,this._events[r]&&je(this,r)):(this._events=new Oe,this._eventsCount=0),this};R.prototype.off=R.prototype.removeListener;R.prototype.addListener=R.prototype.on;R.prefixed=B;R.EventEmitter=R;typeof dt<"u"&&(dt.exports=R)});var dr=A((Rn,hr)=>{"use strict";m();var{Duplex:Ts}=k("stream");function ur(t){t.emit("close")}function Cs(){!this.destroyed&&this._writableState.finished&&this.destroy()}function fr(t){this.removeListener("error",fr),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Os(t,e){let r=!0,s=new Ts({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let c=!o&&s._readableState.objectMode?n.toString():n;s.push(c)||t.pause()}),t.once("error",function(n){s.destroyed||(r=!1,s.destroy(n))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(ur,s);return}let o=!1;t.once("error",function(l){o=!0,n(l)}),t.once("close",function(){o||n(i),process.nextTick(ur,s)}),r&&t.terminate()},s._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(i,n,o)});return}t.send(i,o)},s.on("end",Cs),s.on("error",fr),s}hr.exports=Os});var Z=A((Mn,yr)=>{"use strict";m();var pr=["nodebuffer","arraybuffer","fragments"],mr=typeof Blob<"u";mr&&pr.push("blob");yr.exports={BINARY_TYPES:pr,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:mr,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Pe=A((Dn,ze)=>{"use strict";m();var{EMPTY_BUFFER:ks}=Z(),_t=Buffer[Symbol.species];function Ns(t,e){if(t.length===0)return ks;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let i=0;i<t.length;i++){let n=t[i];r.set(n,s),s+=n.length}return s<e?new _t(r.buffer,r.byteOffset,s):r}function gr(t,e,r,s,i){for(let n=0;n<i;n++)r[s+n]=t[n]^e[n&3]}function _r(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Ls(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function bt(t){if(bt.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new _t(t):ArrayBuffer.isView(t)?e=new _t(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),bt.readOnly=!1),e}ze.exports={concat:Ns,mask:gr,toArrayBuffer:Ls,toBuffer:bt,unmask:_r};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=k("bufferutil");ze.exports.mask=function(e,r,s,i,n){n<48?gr(e,r,s,i,n):t.mask(e,r,s,i,n)},ze.exports.unmask=function(e,r){e.length<32?_r(e,r):t.unmask(e,r)}}catch{}});var Er=A((qn,xr)=>{"use strict";m();var br=Symbol("kDone"),xt=Symbol("kRun"),Et=class{constructor(e){this[br]=()=>{this.pending--,this[xt]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[xt]()}[xt](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[br])}}};xr.exports=Et});var Re=A((Wn,Tr)=>{"use strict";m();var Ie=k("zlib"),wr=Pe(),Ps=Er(),{kStatusCode:vr}=Z(),Is=Buffer[Symbol.species],$s=Buffer.from([0,0,255,255]),He=Symbol("permessage-deflate"),J=Symbol("total-length"),$e=Symbol("callback"),ie=Symbol("buffers"),Ve=Symbol("error"),Qe,wt=class{constructor(e,r,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!Qe){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Qe=new Ps(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[$e];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(i=>!(r.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>i.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let i=r[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=i})}),e}decompress(e,r,s){Qe.add(i=>{this._decompress(e,r,(n,o)=>{i(),s(n,o)})})}compress(e,r,s){Qe.add(i=>{this._compress(e,r,(n,o)=>{i(),s(n,o)})})}_decompress(e,r,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Ie.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Ie.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[He]=this,this._inflate[J]=0,this._inflate[ie]=[],this._inflate.on("error",As),this._inflate.on("data",Sr)}this._inflate[$e]=s,this._inflate.write(e),r&&this._inflate.write($s),this._inflate.flush(()=>{let n=this._inflate[Ve];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=wr.concat(this._inflate[ie],this._inflate[J]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[J]=0,this._inflate[ie]=[],r&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Ie.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Ie.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[J]=0,this._deflate[ie]=[],this._deflate.on("data",Rs)}this._deflate[$e]=s,this._deflate.write(e),this._deflate.flush(Ie.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=wr.concat(this._deflate[ie],this._deflate[J]);r&&(n=new Is(n.buffer,n.byteOffset,n.length-4)),this._deflate[$e]=null,this._deflate[J]=0,this._deflate[ie]=[],r&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};Tr.exports=wt;function Rs(t){this[ie].push(t),this[J]+=t.length}function Sr(t){if(this[J]+=t.length,this[He]._maxPayload<1||this[J]<=this[He]._maxPayload){this[ie].push(t);return}this[Ve]=new RangeError("Max payload size exceeded"),this[Ve].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Ve][vr]=1009,this.removeListener("data",Sr),this.reset()}function As(t){this[He]._inflate=null,t[vr]=1007,this[$e](t)}});var _e=A((jn,Ye)=>{"use strict";m();var{isUtf8:Cr}=k("buffer"),{hasBlob:Ms}=Z(),Bs=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Ds(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function vt(t){let e=t.length,r=0;for(;r<e;)if(!(t[r]&128))r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Gs(t){return Ms&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}Ye.exports={isBlob:Gs,isValidStatusCode:Ds,isValidUTF8:vt,tokenChars:Bs};if(Cr)Ye.exports.isValidUTF8=function(t){return t.length<24?vt(t):Cr(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=k("utf-8-validate");Ye.exports.isValidUTF8=function(e){return e.length<32?vt(e):t(e)}}catch{}});var kt=A((Qn,$r)=>{"use strict";m();var{Writable:qs}=k("stream"),Or=Re(),{BINARY_TYPES:Us,EMPTY_BUFFER:kr,kStatusCode:Ws,kWebSocket:Fs}=Z(),{concat:St,toArrayBuffer:js,unmask:zs}=Pe(),{isValidStatusCode:Qs,isValidUTF8:Nr}=_e(),Ke=Buffer[Symbol.species],F=0,Lr=1,Pr=2,Ir=3,Tt=4,Ct=5,Xe=6,Ot=class extends qs{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Us[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Fs]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=F}_write(e,r,s){if(this._opcode===8&&this._state==F)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new Ke(s.buffer,s.byteOffset+e,s.length-e),new Ke(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=r.length-e;e>=s.length?r.set(this._buffers.shift(),i):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new Ke(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case F:this.getInfo(e);break;case Lr:this.getPayloadLength16(e);break;case Pr:this.getPayloadLength64(e);break;case Ir:this.getMask();break;case Tt:this.getData(e);break;case Ct:case Xe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if(r[0]&48){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let s=(r[0]&64)===64;if(s&&!this._extensions[Or.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=Lr:this._payloadLength===127?this._state=Pr:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=Ir:this._state=Tt}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Tt}getData(e){let r=kr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&zs(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Ct,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[Or.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return r(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===F&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=F;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=St(s,r):this._binaryType==="arraybuffer"?i=js(St(s,r)):this._binaryType==="blob"?i=new Blob(s):i=s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=F):(this._state=Xe,setImmediate(()=>{this.emit("message",i,!0),this._state=F,this.startLoop(e)}))}else{let i=St(s,r);if(!this._skipUTF8Validation&&!Nr(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Ct||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=F):(this._state=Xe,setImmediate(()=>{this.emit("message",i,!1),this._state=F,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,kr),this.end();else{let s=e.readUInt16BE(0);if(!Qs(s)){let n=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let i=new Ke(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Nr(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=F;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=F):(this._state=Xe,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=F,this.startLoop(r)}))}createError(e,r,s,i,n){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[Ws]=i,o}};$r.exports=Ot});var Pt=A((Yn,Mr)=>{"use strict";m();var{Duplex:Hn}=k("stream"),{randomFillSync:Vs}=k("crypto"),Rr=Re(),{EMPTY_BUFFER:Hs,kWebSocket:Ys,NOOP:Ks}=Z(),{isBlob:be,isValidStatusCode:Xs}=_e(),{mask:Ar,toBuffer:le}=Pe(),j=Symbol("kByteLength"),Zs=Buffer.alloc(4),Ze=8*1024,ce,xe=Ze,Q=0,Js=1,ei=2,Nt=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Q,this.onerror=Ks,this[Ys]=void 0}static frame(e,r){let s,i=!1,n=2,o=!1;r.mask&&(s=r.maskBuffer||Zs,r.generateMask?r.generateMask(s):(xe===Ze&&(ce===void 0&&(ce=Buffer.alloc(Ze)),Vs(ce,0,Ze),xe=0),s[0]=ce[xe++],s[1]=ce[xe++],s[2]=ce[xe++],s[3]=ce[xe++]),o=(s[0]|s[1]|s[2]|s[3])===0,n=6);let c;typeof e=="string"?(!r.mask||o)&&r[j]!==void 0?c=r[j]:(e=Buffer.from(e),c=e.length):(c=e.length,i=r.mask&&r.readOnly&&!o);let l=c;c>=65536?(n+=8,l=127):c>125&&(n+=2,l=126);let u=Buffer.allocUnsafe(i?c+n:n);return u[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(u[0]|=64),u[1]=l,l===126?u.writeUInt16BE(c,2):l===127&&(u[2]=u[3]=0,u.writeUIntBE(c,4,6)),r.mask?(u[1]|=128,u[n-4]=s[0],u[n-3]=s[1],u[n-2]=s[2],u[n-1]=s[3],o?[u,e]:i?(Ar(e,s,u,n,c),[u]):(Ar(e,s,e,0,c),[u,e])):[u,e]}close(e,r,s,i){let n;if(e===void 0)n=Hs;else{if(typeof e!="number"||!Xs(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let c=Buffer.byteLength(r);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+c),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[j]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Q?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):be(e)?(i=e.size,n=!1):(e=le(e),i=e.length,n=le.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[j]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};be(e)?this._state!==Q?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==Q?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):be(e)?(i=e.size,n=!1):(e=le(e),i=e.length,n=le.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[j]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};be(e)?this._state!==Q?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==Q?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let i=this._extensions[Rr.extensionName],n=r.binary?2:1,o=r.compress,c,l;typeof e=="string"?(c=Buffer.byteLength(e),l=!1):be(e)?(c=e.size,l=!1):(e=le(e),c=e.length,l=le.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=c>=i._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let u={[j]:c,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:l,rsv1:o};be(e)?this._state!==Q?this.enqueue([this.getBlobData,e,this._compress,u,s]):this.getBlobData(e,this._compress,u,s):this._state!==Q?this.enqueue([this.dispatch,e,this._compress,u,s]):this.dispatch(e,this._compress,u,s)}getBlobData(e,r,s,i){this._bufferedBytes+=s[j],this._state=ei,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(Lt,this,c,i);return}this._bufferedBytes-=s[j];let o=le(n);r?this.dispatch(o,r,s,i):(this._state=Q,this.sendFrame(t.frame(o,s),i),this.dequeue())}).catch(n=>{process.nextTick(ti,this,n,i)})}dispatch(e,r,s,i){if(!r){this.sendFrame(t.frame(e,s),i);return}let n=this._extensions[Rr.extensionName];this._bufferedBytes+=s[j],this._state=Js,n.compress(e,s.fin,(o,c)=>{if(this._socket.destroyed){let l=new Error("The socket was closed while data was being compressed");Lt(this,l,i);return}this._bufferedBytes-=s[j],this._state=Q,s.readOnly=!1,this.sendFrame(t.frame(c,s),i),this.dequeue()})}dequeue(){for(;this._state===Q&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][j],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][j],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};Mr.exports=Nt;function Lt(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let i=t._queue[s],n=i[i.length-1];typeof n=="function"&&n(e)}}function ti(t,e,r){Lt(t,e,r),t.onerror(e)}});var zr=A((Xn,jr)=>{"use strict";m();var{kForOnEventAttribute:Ae,kListener:It}=Z(),Br=Symbol("kCode"),Dr=Symbol("kData"),Gr=Symbol("kError"),qr=Symbol("kMessage"),Ur=Symbol("kReason"),Ee=Symbol("kTarget"),Wr=Symbol("kType"),Fr=Symbol("kWasClean"),ee=class{constructor(e){this[Ee]=null,this[Wr]=e}get target(){return this[Ee]}get type(){return this[Wr]}};Object.defineProperty(ee.prototype,"target",{enumerable:!0});Object.defineProperty(ee.prototype,"type",{enumerable:!0});var ue=class extends ee{constructor(e,r={}){super(e),this[Br]=r.code===void 0?0:r.code,this[Ur]=r.reason===void 0?"":r.reason,this[Fr]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[Br]}get reason(){return this[Ur]}get wasClean(){return this[Fr]}};Object.defineProperty(ue.prototype,"code",{enumerable:!0});Object.defineProperty(ue.prototype,"reason",{enumerable:!0});Object.defineProperty(ue.prototype,"wasClean",{enumerable:!0});var we=class extends ee{constructor(e,r={}){super(e),this[Gr]=r.error===void 0?null:r.error,this[qr]=r.message===void 0?"":r.message}get error(){return this[Gr]}get message(){return this[qr]}};Object.defineProperty(we.prototype,"error",{enumerable:!0});Object.defineProperty(we.prototype,"message",{enumerable:!0});var Me=class extends ee{constructor(e,r={}){super(e),this[Dr]=r.data===void 0?null:r.data}get data(){return this[Dr]}};Object.defineProperty(Me.prototype,"data",{enumerable:!0});var ri={addEventListener(t,e,r={}){for(let i of this.listeners(t))if(!r[Ae]&&i[It]===e&&!i[Ae])return;let s;if(t==="message")s=function(n,o){let c=new Me("message",{data:o?n:n.toString()});c[Ee]=this,Je(e,this,c)};else if(t==="close")s=function(n,o){let c=new ue("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Ee]=this,Je(e,this,c)};else if(t==="error")s=function(n){let o=new we("error",{error:n,message:n.message});o[Ee]=this,Je(e,this,o)};else if(t==="open")s=function(){let n=new ee("open");n[Ee]=this,Je(e,this,n)};else return;s[Ae]=!!r[Ae],s[It]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[It]===e&&!r[Ae]){this.removeListener(t,r);break}}};jr.exports={CloseEvent:ue,ErrorEvent:we,Event:ee,EventTarget:ri,MessageEvent:Me};function Je(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var $t=A((Jn,Qr)=>{"use strict";m();var{tokenChars:Be}=_e();function V(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function si(t){let e=Object.create(null),r=Object.create(null),s=!1,i=!1,n=!1,o,c,l=-1,u=-1,d=-1,h=0;for(;h<t.length;h++)if(u=t.charCodeAt(h),o===void 0)if(d===-1&&Be[u]===1)l===-1&&(l=h);else if(h!==0&&(u===32||u===9))d===-1&&l!==-1&&(d=h);else if(u===59||u===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h);let a=t.slice(l,d);u===44?(V(e,a,r),r=Object.create(null)):o=a,l=d=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);else if(c===void 0)if(d===-1&&Be[u]===1)l===-1&&(l=h);else if(u===32||u===9)d===-1&&l!==-1&&(d=h);else if(u===59||u===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h),V(r,t.slice(l,d),!0),u===44&&(V(e,o,r),r=Object.create(null),o=void 0),l=d=-1}else if(u===61&&l!==-1&&d===-1)c=t.slice(l,h),l=d=-1;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(i){if(Be[u]!==1)throw new SyntaxError(`Unexpected character at index ${h}`);l===-1?l=h:s||(s=!0),i=!1}else if(n)if(Be[u]===1)l===-1&&(l=h);else if(u===34&&l!==-1)n=!1,d=h;else if(u===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(u===34&&t.charCodeAt(h-1)===61)n=!0;else if(d===-1&&Be[u]===1)l===-1&&(l=h);else if(l!==-1&&(u===32||u===9))d===-1&&(d=h);else if(u===59||u===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h);let a=t.slice(l,d);s&&(a=a.replace(/\\/g,""),s=!1),V(r,c,a),u===44&&(V(e,o,r),r=Object.create(null),o=void 0),c=void 0,l=d=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);if(l===-1||n||u===32||u===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=h);let f=t.slice(l,d);return o===void 0?V(e,f,r):(c===void 0?V(r,f,!0):s?V(r,c,f.replace(/\\/g,"")):V(r,c,f),V(e,o,r)),e}function ii(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Qr.exports={format:ii,parse:si}});var Dt=A((so,is)=>{"use strict";m();var ni=k("events"),oi=k("https"),ai=k("http"),Yr=k("net"),li=k("tls"),{randomBytes:ci,createHash:ui}=k("crypto"),{Duplex:to,Readable:ro}=k("stream"),{URL:Rt}=k("url"),ne=Re(),fi=kt(),hi=Pt(),{isBlob:di}=_e(),{BINARY_TYPES:Vr,EMPTY_BUFFER:et,GUID:pi,kForOnEventAttribute:At,kListener:mi,kStatusCode:yi,kWebSocket:P,NOOP:Kr}=Z(),{EventTarget:{addEventListener:gi,removeEventListener:_i}}=zr(),{format:bi,parse:xi}=$t(),{toBuffer:Ei}=Pe(),wi=30*1e3,Xr=Symbol("kAborted"),Mt=[8,13],te=["CONNECTING","OPEN","CLOSING","CLOSED"],vi=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,T=class t extends ni{constructor(e,r,s){super(),this._binaryType=Vr[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=et,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),Zr(this,e,r,s)):(this._autoPong=s.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Vr.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let i=new fi({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),n=new hi(e,this._extensions,s.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[P]=this,n[P]=this,e[P]=this,i.on("conclude",Ci),i.on("drain",Oi),i.on("error",ki),i.on("message",Ni),i.on("ping",Li),i.on("pong",Pi),n.onerror=Ii,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",ts),e.on("data",rt),e.on("end",rs),e.on("error",ss),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[ne.extensionName]&&this._extensions[ne.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){q(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),es(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Bt(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||et,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Bt(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||et,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Bt(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[ne.extensionName]||(i.compress=!1),this._sender.send(e||et,i,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){q(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(T,"CONNECTING",{enumerable:!0,value:te.indexOf("CONNECTING")});Object.defineProperty(T.prototype,"CONNECTING",{enumerable:!0,value:te.indexOf("CONNECTING")});Object.defineProperty(T,"OPEN",{enumerable:!0,value:te.indexOf("OPEN")});Object.defineProperty(T.prototype,"OPEN",{enumerable:!0,value:te.indexOf("OPEN")});Object.defineProperty(T,"CLOSING",{enumerable:!0,value:te.indexOf("CLOSING")});Object.defineProperty(T.prototype,"CLOSING",{enumerable:!0,value:te.indexOf("CLOSING")});Object.defineProperty(T,"CLOSED",{enumerable:!0,value:te.indexOf("CLOSED")});Object.defineProperty(T.prototype,"CLOSED",{enumerable:!0,value:te.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(T.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(T.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[At])return e[mi];return null},set(e){for(let r of this.listeners(t))if(r[At]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[At]:!0})}})});T.prototype.addEventListener=gi;T.prototype.removeEventListener=_i;is.exports=T;function Zr(t,e,r,s){let i={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:Mt[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,!Mt.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Mt.join(", ")})`);let n;if(e instanceof Rt)n=e;else try{n=new Rt(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",c=n.protocol==="ws+unix:",l;if(n.protocol!=="ws:"&&!o&&!c?l=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`:c&&!n.pathname?l="The URL's pathname is empty":n.hash&&(l="The URL contains a fragment identifier"),l){let y=new SyntaxError(l);if(t._redirects===0)throw y;tt(t,y);return}let u=o?443:80,d=ci(16).toString("base64"),h=o?oi.request:ai.request,f=new Set,a;if(i.createConnection=i.createConnection||(o?Ti:Si),i.defaultPort=i.defaultPort||u,i.port=n.port||u,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(a=new ne(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=bi({[ne.extensionName]:a.offer()})),r.length){for(let y of r){if(typeof y!="string"||!vi.test(y)||f.has(y))throw new SyntaxError("An invalid or duplicated subprotocol was specified");f.add(y)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),c){let y=i.path.split(":");i.socketPath=y[0],i.path=y[1]}let p;if(i.followRedirects){if(t._redirects===0){t._originalIpc=c,t._originalSecure=o,t._originalHostOrSocketPath=c?i.socketPath:n.host;let y=s&&s.headers;if(s={...s,headers:{}},y)for(let[b,O]of Object.entries(y))s.headers[b.toLowerCase()]=O}else if(t.listenerCount("redirect")===0){let y=c?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!y||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,y||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),p=t._req=h(i),t._redirects&&t.emit("redirect",t.url,p)}else p=t._req=h(i);i.timeout&&p.on("timeout",()=>{q(t,p,"Opening handshake has timed out")}),p.on("error",y=>{p===null||p[Xr]||(p=t._req=null,tt(t,y))}),p.on("response",y=>{let b=y.headers.location,O=y.statusCode;if(b&&i.followRedirects&&O>=300&&O<400){if(++t._redirects>i.maxRedirects){q(t,p,"Maximum redirects exceeded");return}p.abort();let L;try{L=new Rt(b,e)}catch{let C=new SyntaxError(`Invalid URL: ${b}`);tt(t,C);return}Zr(t,L,r,s)}else t.emit("unexpected-response",p,y)||q(t,p,`Unexpected server response: ${y.statusCode}`)}),p.on("upgrade",(y,b,O)=>{if(t.emit("upgrade",y),t.readyState!==T.CONNECTING)return;p=t._req=null;let L=y.headers.upgrade;if(L===void 0||L.toLowerCase()!=="websocket"){q(t,b,"Invalid Upgrade header");return}let H=ui("sha1").update(d+pi).digest("base64");if(y.headers["sec-websocket-accept"]!==H){q(t,b,"Invalid Sec-WebSocket-Accept header");return}let C=y.headers["sec-websocket-protocol"],re;if(C!==void 0?f.size?f.has(C)||(re="Server sent an invalid subprotocol"):re="Server sent a subprotocol but none was requested":f.size&&(re="Server sent no subprotocol"),re){q(t,b,re);return}C&&(t._protocol=C);let U=y.headers["sec-websocket-extensions"];if(U!==void 0){if(!a){q(t,b,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let z;try{z=xi(U)}catch{q(t,b,"Invalid Sec-WebSocket-Extensions header");return}let Se=Object.keys(z);if(Se.length!==1||Se[0]!==ne.extensionName){q(t,b,"Server indicated an extension that was not requested");return}try{a.accept(z[ne.extensionName])}catch{q(t,b,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[ne.extensionName]=a}t.setSocket(b,O,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(p,t):p.end()}function tt(t,e){t._readyState=T.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Si(t){return t.path=t.socketPath,Yr.connect(t)}function Ti(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Yr.isIP(t.host)?"":t.host),li.connect(t)}function q(t,e,r){t._readyState=T.CLOSING;let s=new Error(r);Error.captureStackTrace(s,q),e.setHeader?(e[Xr]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(tt,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Bt(t,e,r){if(e){let s=di(e)?e.size:Ei(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${te[t.readyState]})`);process.nextTick(r,s)}}function Ci(t,e){let r=this[P];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[P]!==void 0&&(r._socket.removeListener("data",rt),process.nextTick(Jr,r._socket),t===1005?r.close():r.close(t,e))}function Oi(){let t=this[P];t.isPaused||t._socket.resume()}function ki(t){let e=this[P];e._socket[P]!==void 0&&(e._socket.removeListener("data",rt),process.nextTick(Jr,e._socket),e.close(t[yi])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Hr(){this[P].emitClose()}function Ni(t,e){this[P].emit("message",t,e)}function Li(t){let e=this[P];e._autoPong&&e.pong(t,!this._isServer,Kr),e.emit("ping",t)}function Pi(t){this[P].emit("pong",t)}function Jr(t){t.resume()}function Ii(t){let e=this[P];e.readyState!==T.CLOSED&&(e.readyState===T.OPEN&&(e._readyState=T.CLOSING,es(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function es(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),wi)}function ts(){let t=this[P];this.removeListener("close",ts),this.removeListener("data",rt),this.removeListener("end",rs),t._readyState=T.CLOSING;let e;!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&(e=t._socket.read())!==null&&t._receiver.write(e),t._receiver.end(),this[P]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Hr),t._receiver.on("finish",Hr))}function rt(t){this[P]._receiver.write(t)||this.pause()}function rs(){let t=this[P];t._readyState=T.CLOSING,t._receiver.end(),this.end()}function ss(){let t=this[P];this.removeListener("error",ss),this.on("error",Kr),t&&(t._readyState=T.CLOSING,this.destroy())}});var os=A((no,ns)=>{"use strict";m();var{tokenChars:$i}=_e();function Ri(t){let e=new Set,r=-1,s=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(s===-1&&$i[o]===1)r===-1&&(r=i);else if(i!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=i);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${i}`);s===-1&&(s=i);let c=t.slice(r,s);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}ns.exports={parse:Ri}});var ds=A((lo,hs)=>{"use strict";m();var Ai=k("events"),st=k("http"),{Duplex:ao}=k("stream"),{createHash:Mi}=k("crypto"),as=$t(),fe=Re(),Bi=os(),Di=Dt(),{GUID:Gi,kWebSocket:qi}=Z(),Ui=/^[+/0-9A-Za-z]{22}==$/,ls=0,cs=1,fs=2,Gt=class extends Ai{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Di,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=st.createServer((s,i)=>{let n=st.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=Wi(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=ls}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===fs){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(De,this);return}if(e&&this.once("close",e),this._state!==cs)if(this._state=cs,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(De,this):process.nextTick(De,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{De(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,i){r.on("error",us);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){he(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){he(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!Ui.test(n)){he(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==8&&c!==13){he(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header");return}if(!this.shouldHandle(e)){Ge(r,400);return}let l=e.headers["sec-websocket-protocol"],u=new Set;if(l!==void 0)try{u=Bi.parse(l)}catch{he(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],h={};if(this.options.perMessageDeflate&&d!==void 0){let f=new fe(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let a=as.parse(d);a[fe.extensionName]&&(f.accept(a[fe.extensionName]),h[fe.extensionName]=f)}catch{he(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let f={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(f,(a,p,y,b)=>{if(!a)return Ge(r,p||401,y,b);this.completeUpgrade(h,n,u,e,r,s,i)});return}if(!this.options.verifyClient(f))return Ge(r,401)}this.completeUpgrade(h,n,u,e,r,s,i)}completeUpgrade(e,r,s,i,n,o,c){if(!n.readable||!n.writable)return n.destroy();if(n[qi])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>ls)return Ge(n,503);let u=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Mi("sha1").update(r+Gi).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(s.size){let h=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;h&&(u.push(`Sec-WebSocket-Protocol: ${h}`),d._protocol=h)}if(e[fe.extensionName]){let h=e[fe.extensionName].params,f=as.format({[fe.extensionName]:[h]});u.push(`Sec-WebSocket-Extensions: ${f}`),d._extensions=e}this.emit("headers",u,i),n.write(u.concat(`\r
2
- `).join(`\r
3
- `)),n.removeListener("error",us),d.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(De,this)})),c(d,i)}};hs.exports=Gt;function Wi(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function De(t){t._state=fs,t.emit("close")}function us(){this.destroy()}function Ge(t,e,r,s){r=r||st.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${st.STATUS_CODES[e]}\r
4
- `+Object.keys(s).map(i=>`${i}: ${s[i]}`).join(`\r
5
- `)+`\r
6
- \r
7
- `+r)}function he(t,e,r,s,i){if(t.listenerCount("wsClientError")){let n=new Error(i);Error.captureStackTrace(n,he),t.emit("wsClientError",n,r,e)}else Ge(r,s,i)}});m();var er=oe(Jt(),1);import bs from"node:assert";var W=class extends Xt{constructor(r,s){super("An error occurred while communicating with Gadget");this.request=r;at(s)?this.cause={type:s.type,message:s.message,error:Yt(s.error)}:ot(s)?this.cause={type:s.type,code:s.code,reason:s.reason,wasClean:s.wasClean}:(bs(Qt(s)||nt(s)||lt(s),"cause must be a string, Error, GraphQLError[], CloseEvent, or ErrorEvent"),this.cause=s)}isBug=Kt.MAYBE;cause;render(){let r="";switch(!0){case lt(this.cause):{let s=Zt(this.cause.map(i=>i.message));r=Ce`
8
- Gadget responded with the following ${(0,er.default)("error",s.length,!1)}:
9
-
10
- • ${s.join(`
11
- \u2022 `)}
12
- `;break}case ot(this.cause):r="The connection to Gadget closed unexpectedly.";break;case(at(this.cause)||nt(this.cause)):r=this.cause.message;break;default:r=this.cause;break}return this.message+`
13
-
14
- `+r}};m();import Ut from"node:assert";m();import qt from"node:assert";m();m();m();m();function M(t){return t===null?"null":Array.isArray(t)?"array":typeof t}function X(t){return M(t)==="object"}function tr(t){return Array.isArray(t)&&t.length>0&&t.every(e=>"message"in e)}function ft(t,e){return t.length<124?t:e}var rr="graphql-transport-ws";var G;(function(t){t[t.InternalServerError=4500]="InternalServerError",t[t.InternalClientError=4005]="InternalClientError",t[t.BadRequest=4400]="BadRequest",t[t.BadResponse=4004]="BadResponse",t[t.Unauthorized=4401]="Unauthorized",t[t.Forbidden=4403]="Forbidden",t[t.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",t[t.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",t[t.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",t[t.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",t[t.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests"})(G||(G={}));var N;(function(t){t.ConnectionInit="connection_init",t.ConnectionAck="connection_ack",t.Ping="ping",t.Pong="pong",t.Subscribe="subscribe",t.Next="next",t.Error="error",t.Complete="complete"})(N||(N={}));function sr(t){if(!X(t))throw new Error(`Message is expected to be an object, but got ${M(t)}`);if(!t.type)throw new Error("Message is missing the 'type' property");if(typeof t.type!="string")throw new Error(`Message is expects the 'type' property to be a string, but got ${M(t.type)}`);switch(t.type){case N.ConnectionInit:case N.ConnectionAck:case N.Ping:case N.Pong:{if(t.payload!=null&&!X(t.payload))throw new Error(`"${t.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${t.payload}"`);break}case N.Subscribe:{if(typeof t.id!="string")throw new Error(`"${t.type}" message expects the 'id' property to be a string, but got ${M(t.id)}`);if(!t.id)throw new Error(`"${t.type}" message requires a non-empty 'id' property`);if(!X(t.payload))throw new Error(`"${t.type}" message expects the 'payload' property to be an object, but got ${M(t.payload)}`);if(typeof t.payload.query!="string")throw new Error(`"${t.type}" message payload expects the 'query' property to be a string, but got ${M(t.payload.query)}`);if(t.payload.variables!=null&&!X(t.payload.variables))throw new Error(`"${t.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${M(t.payload.variables)}`);if(t.payload.operationName!=null&&M(t.payload.operationName)!=="string")throw new Error(`"${t.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${M(t.payload.operationName)}`);if(t.payload.extensions!=null&&!X(t.payload.extensions))throw new Error(`"${t.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${M(t.payload.extensions)}`);break}case N.Next:{if(typeof t.id!="string")throw new Error(`"${t.type}" message expects the 'id' property to be a string, but got ${M(t.id)}`);if(!t.id)throw new Error(`"${t.type}" message requires a non-empty 'id' property`);if(!X(t.payload))throw new Error(`"${t.type}" message expects the 'payload' property to be an object, but got ${M(t.payload)}`);break}case N.Error:{if(typeof t.id!="string")throw new Error(`"${t.type}" message expects the 'id' property to be a string, but got ${M(t.id)}`);if(!t.id)throw new Error(`"${t.type}" message requires a non-empty 'id' property`);if(!tr(t.payload))throw new Error(`"${t.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(t.payload)}`);break}case N.Complete:{if(typeof t.id!="string")throw new Error(`"${t.type}" message expects the 'id' property to be a string, but got ${M(t.id)}`);if(!t.id)throw new Error(`"${t.type}" message requires a non-empty 'id' property`);break}default:throw new Error(`Invalid message 'type' property "${t.type}"`)}return t}function ir(t,e){return sr(typeof t=="string"?JSON.parse(t,e):t)}function ye(t,e){return sr(t),JSON.stringify(t,e)}var ge=function(t){return this instanceof ge?(this.v=t,this):new ge(t)},xs=function(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=r.apply(t,e||[]),i,n=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(f){s[f]&&(i[f]=function(a){return new Promise(function(p,y){n.push([f,a,p,y])>1||c(f,a)})})}function c(f,a){try{l(s[f](a))}catch(p){h(n[0][3],p)}}function l(f){f.value instanceof ge?Promise.resolve(f.value.v).then(u,d):h(n[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function h(f,a){f(a),n.shift(),n.length&&c(n[0][0],n[0][1])}};function nr(t){let{url:e,connectionParams:r,lazy:s=!0,onNonLazyError:i=console.error,lazyCloseTimeout:n=0,keepAlive:o=0,disablePong:c,connectionAckWaitTimeout:l=0,retryAttempts:u=5,retryWait:d=async function(S){let g=1e3;for(let x=0;x<S;x++)g*=2;await new Promise(x=>setTimeout(x,g+Math.floor(Math.random()*2700+300)))},shouldRetry:h=ht,isFatalConnectionProblem:f,on:a,webSocketImpl:p,generateID:y=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,S=>{let g=Math.random()*16|0;return(S=="x"?g:g&3|8).toString(16)})},jsonMessageReplacer:b,jsonMessageReviver:O}=t,L;if(p){if(!ws(p))throw new Error("Invalid WebSocket implementation provided");L=p}else typeof WebSocket<"u"?L=WebSocket:typeof global<"u"?L=global.WebSocket||global.MozWebSocket:typeof window<"u"&&(L=window.WebSocket||window.MozWebSocket);if(!L)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let H=L,C=(()=>{let _=(()=>{let g={};return{on(x,v){return g[x]=v,()=>{delete g[x]}},emit(x){var v;"id"in x&&((v=g[x.id])===null||v===void 0||v.call(g,x))}}})(),S={connecting:a?.connecting?[a.connecting]:[],opened:a?.opened?[a.opened]:[],connected:a?.connected?[a.connected]:[],ping:a?.ping?[a.ping]:[],pong:a?.pong?[a.pong]:[],message:a?.message?[_.emit,a.message]:[_.emit],closed:a?.closed?[a.closed]:[],error:a?.error?[a.error]:[]};return{onMessage:_.on,on(g,x){let v=S[g];return v.push(x),()=>{v.splice(v.indexOf(x),1)}},emit(g,...x){for(let v of[...S[g]])v(...x)}}})();function re(_){let S=[C.on("error",g=>{S.forEach(x=>x()),_(g)}),C.on("closed",g=>{S.forEach(x=>x()),_(g)})]}let U,z=0,Se,Y=!1,de=0,Wt=!1;async function Ft(){clearTimeout(Se);let[_,S]=await(U??(U=new Promise((v,D)=>(async()=>{if(Y){if(await d(de),!z)return U=void 0,D({code:1e3,reason:"All Subscriptions Gone"});de++}C.emit("connecting",Y);let w=new H(typeof e=="function"?await e():e,rr),se,Te;function Ue(){isFinite(o)&&o>0&&(clearTimeout(Te),Te=setTimeout(()=>{w.readyState===H.OPEN&&(w.send(ye({type:N.Ping})),C.emit("ping",!1,void 0))},o))}re($=>{U=void 0,clearTimeout(se),clearTimeout(Te),D($),$ instanceof Fe&&(w.close(4499,"Terminated"),w.onerror=null,w.onclose=null)}),w.onerror=$=>C.emit("error",$),w.onclose=$=>C.emit("closed",$),w.onopen=async()=>{try{C.emit("opened",w);let $=typeof r=="function"?await r():r;if(w.readyState!==H.OPEN)return;w.send(ye($?{type:N.ConnectionInit,payload:$}:{type:N.ConnectionInit},b)),isFinite(l)&&l>0&&(se=setTimeout(()=>{w.close(G.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},l)),Ue()}catch($){C.emit("error",$),w.close(G.InternalClientError,ft($ instanceof Error?$.message:new Error($).message,"Internal client error"))}};let pe=!1;w.onmessage=({data:$})=>{try{let I=ir($,O);if(C.emit("message",I),I.type==="ping"||I.type==="pong"){C.emit(I.type,!0,I.payload),I.type==="pong"?Ue():c||(w.send(ye(I.payload?{type:N.Pong,payload:I.payload}:{type:N.Pong})),C.emit("pong",!1,I.payload));return}if(pe)return;if(I.type!==N.ConnectionAck)throw new Error(`First message cannot be of type ${I.type}`);clearTimeout(se),pe=!0,C.emit("connected",w,I.payload,Y),Y=!1,de=0,v([w,new Promise((Ki,_s)=>re(_s))])}catch(I){w.onmessage=null,C.emit("error",I),w.close(G.BadResponse,ft(I instanceof Error?I.message:new Error(I).message,"Bad response"))}}})())));_.readyState===H.CLOSING&&await S;let g=()=>{},x=new Promise(v=>g=v);return[_,g,Promise.race([x.then(()=>{if(!z){let v=()=>_.close(1e3,"Normal Closure");isFinite(n)&&n>0?Se=setTimeout(()=>{_.readyState===H.OPEN&&v()},n):v()}}),S])]}function jt(_){if(ht(_)&&(Es(_.code)||[G.InternalServerError,G.InternalClientError,G.BadRequest,G.BadResponse,G.Unauthorized,G.SubprotocolNotAcceptable,G.SubscriberAlreadyExists,G.TooManyInitialisationRequests].includes(_.code)))throw _;if(Wt)return!1;if(ht(_)&&_.code===1e3)return z>0;if(!u||de>=u||!h(_)||f?.(_))throw _;return Y=!0}s||(async()=>{for(z++;;)try{let[,,_]=await Ft();await _}catch(_){try{if(!jt(_))return}catch(S){return i?.(S)}}})();function zt(_,S){let g=y(_),x=!1,v=!1,D=()=>{z--,x=!0};return(async()=>{for(z++;;)try{let[w,se,Te]=await Ft();if(x)return se();let Ue=C.onMessage(g,pe=>{switch(pe.type){case N.Next:{S.next(pe.payload);return}case N.Error:{v=!0,x=!0,S.error(pe.payload),D();return}case N.Complete:{x=!0,D();return}}});w.send(ye({id:g,type:N.Subscribe,payload:_},b)),D=()=>{!x&&w.readyState===H.OPEN&&w.send(ye({id:g,type:N.Complete},b)),z--,x=!0,se()},await Te.finally(Ue);return}catch(w){if(!jt(w))return}})().then(()=>{v||S.complete()}).catch(w=>{S.error(w)}),()=>{x||D()}}return{on:C.on,subscribe:zt,iterate(_){let S=[],g={done:!1,error:null,resolve:()=>{}},x=zt(_,{next(D){S.push(D),g.resolve()},error(D){g.done=!0,g.error=D,g.resolve()},complete(){g.done=!0,g.resolve()}}),v=function(){return xs(this,arguments,function*(){for(;;){for(S.length||(yield ge(new Promise(se=>g.resolve=se)));S.length;)yield yield ge(S.shift());if(g.error)throw g.error;if(g.done)return yield ge(void 0)}})}();return v.throw=async D=>(g.done||(g.done=!0,g.error=D,g.resolve()),{done:!0,value:void 0}),v.return=async()=>(x(),{done:!0,value:void 0}),v},async dispose(){if(Wt=!0,U){let[_]=await U;_.close(1e3,"Normal Closure")}},terminate(){U&&C.emit("closed",new Fe)}}}var Fe=class extends Error{constructor(){super(...arguments),this.name="TerminatedCloseEvent",this.message="4499: Terminated",this.code=4499,this.reason="Terminated",this.wasClean=!1}};function ht(t){return X(t)&&"code"in t&&"reason"in t}function Es(t){return[1e3,1001,1006,1005,1012,1013,1014].includes(t)?!1:t>=1e3&&t<=1999}function ws(t){return typeof t=="function"&&"constructor"in t&&"CLOSED"in t&&"CLOSING"in t&&"CONNECTING"in t&&"OPEN"in t}import ve from"node:assert";m();m();var pt=oe(ar(),1);m();var ke=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},mt=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},lr=t=>globalThis.DOMException===void 0?new mt(t):new DOMException(t),cr=t=>{let e=t.reason===void 0?lr("This operation was aborted."):t.reason;return e instanceof Error?e:lr(e)};function yt(t,e){let{milliseconds:r,fallback:s,message:i,customTimers:n={setTimeout,clearTimeout}}=e,o,l=new Promise((u,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:f}=e;f.aborted&&d(cr(f)),f.addEventListener("abort",()=>{d(cr(f))})}if(r===Number.POSITIVE_INFINITY){t.then(u,d);return}let h=new ke;o=n.setTimeout.call(void 0,()=>{if(s){try{u(s())}catch(f){d(f)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?d(i):(h.message=i??`Promise timed out after ${r} milliseconds`,d(h))},r),(async()=>{try{u(await t)}catch(f){d(f)}})()}).finally(()=>{l.clear()});return l.clear=()=>{n.clearTimeout.call(void 0,o),o=void 0},l}m();m();function gt(t,e,r){let s=0,i=t.length;for(;i>0;){let n=Math.trunc(i/2),o=s+n;r(t[o],e)<=0?(s=++o,i-=n+1):i=n}return s}var Ne=class{#e=[];enqueue(e,r){r={priority:0,...r};let s={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(s);return}let i=gt(this.#e,s,(n,o)=>o.priority-n.priority);this.#e.splice(i,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Le=class extends pt.default{#e;#o;#n=0;#d;#a;#p=0;#r;#l;#t;#m;#s=0;#c;#i;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ne,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#o=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#d=e.intervalCap,this.#a=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#i=e.autoStart===!1}get#b(){return this.#o||this.#n<this.#d}get#x(){return this.#s<this.#c}#E(){this.#s--,this.#u(),this.emit("next")}#w(){this.#_(),this.#g(),this.#l=void 0}get#v(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#n=this.#e?this.#s:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#w()},r)),!0}return!1}#u(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#s===0&&this.emit("idle"),!1;if(!this.#i){let e=!this.#v;if(this.#b&&this.#x){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#_()},this.#a),this.#p=Date.now()+this.#a)}#_(){this.#n===0&&this.#s===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#n=this.#e?this.#s:0,this.#f()}#f(){for(;this.#u(););}get concurrency(){return this.#c}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#c=e,this.#f()}async#S(e){return new Promise((r,s)=>{e.addEventListener("abort",()=>{s(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((s,i)=>{this.#t.enqueue(async()=>{this.#s++,this.#n++;try{r.signal?.throwIfAborted();let n=e({signal:r.signal});r.timeout&&(n=yt(Promise.resolve(n),{milliseconds:r.timeout})),r.signal&&(n=Promise.race([n,this.#S(r.signal)]));let o=await n;s(o),this.emit("completed",o)}catch(n){if(n instanceof ke&&!r.throwOnTimeout){s();return}i(n),this.emit("error",n)}finally{this.#E()}},r),this.emit("add"),this.#u()})}async addAll(e,r){return Promise.all(e.map(async s=>this.add(s,r)))}start(){return this.#i?(this.#i=!1,this.#f(),this):this}pause(){this.#i=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#h("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#h("next",()=>this.#t.size<e)}async onIdle(){this.#s===0&&this.#t.size===0||await this.#h("idle")}async#h(e,r){return new Promise(s=>{let i=()=>{r&&!r()||(this.off(e,i),s())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#s}get isPaused(){return this.#i}};m();var Fi=oe(dr(),1),ji=oe(kt(),1),zi=oe(Pt(),1),ps=oe(Dt(),1),Qi=oe(ds(),1);var ms=ps.default;var it=class{status=0;ctx;endpoint;_graphqlWsClient;constructor(e,r){this.ctx=e.child({name:"client"}),ve(e.app,"app must be set on Client context"),ve(e.env,"env must be set on Client context"),this.endpoint=r,this._graphqlWsClient=nr({url:`wss://${e.app.slug}.${me.domains.app}/edit/api/graphql-ws`,shouldRetry:()=>!0,connectionParams:{environment:e.env.name},webSocketImpl:class extends ms{constructor(s,i,n){let o=ae();ve(o,"missing headers when connecting to GraphQL API"),super(s,i,{signal:e.signal,...n,headers:{...n?.headers,"user-agent":me.versionFull,...o}})}},on:{connecting:()=>{switch(this.status){case 1:this.status=2,this.ctx.log.info("reconnecting");break;case 2:this.ctx.log.info("retrying");break;default:this.ctx.log.debug("connecting");break}},connected:()=>{this.status===2?this.ctx.log.info("reconnected"):this.ctx.log.debug("connected"),setImmediate(()=>this.status=0)},closed:()=>{this.status=1,this.ctx.log.debug("disconnected")},error:s=>{this.status===2?this.ctx.log.error("failed to reconnect",{error:s}):this.ctx.log.error("connection error",{error:s})}}})}subscribe(e,{subscription:r,variables:s,onResponse:i,onError:n,onComplete:o=Ht}){let c={query:r,variables:K(s)},l=this._graphqlWsClient.on("connected",()=>{this.status===2&&(c.variables=K(s),e.log.info("re-subscribing to graphql subscription"))}),u=new Le({concurrency:1}),d=f=>n(new W(r,f)),h=this._graphqlWsClient.subscribe(c,{next:f=>void u.add(()=>i(f)).catch(d),error:f=>void u.add(()=>d(f)),complete:()=>void u.add(()=>o()).catch(d)});return()=>{e.log.trace("unsubscribing from graphql subscription"),l(),u.clear(),h()}}async execute(e,r){ve(e.app,"missing app when executing GraphQL query"),ve(e.env,"missing env when executing GraphQL query");let s=ae();ve(s,"missing headers when executing GraphQL request");let i=e.app.slug;e.app.multiEnvironmentEnabled?i+=`--${e.env.name}`:e.app.hasSplitEnvironments&&(i+="--development");try{let n=await We({context:{ctx:e},method:"POST",url:`https://${i}.${me.domains.app}${this.endpoint}`,headers:{...s,"x-gadget-environment":e.env.name},json:{query:r.operation,variables:K(r.variables)},responseType:"json",resolveBodyOnly:!0,throwHttpErrors:!1,...r.http});if(!Vt(n)||!("data"in n)&&!("errors"in n))throw e.log.error("received invalid graphql response",{error:n}),n;return n}catch(n){throw new W(r.operation,n)}}async dispose(){await this._graphqlWsClient.dispose()}};var qe=class{ctx;#e;constructor(e){this.ctx=e.child({name:"api"}),this.#e=new it(this.ctx,"/api/graphql")}async query({query:e,variables:r,...s}){let i=e.match(/query (\w+)/)?.[1];qt(i,"query name not found");let n=this.ctx.child({fields:{edit:{query:i}},devFields:{edit:{query:i,variables:K(r)}}});n.log.info("executing graphql query");let o=await this.#e.execute(n,{operation:e,variables:r,...s,http:{retry:{methods:["POST"]},...s.http}});if(o.errors)throw new W(e,o.errors);if(!o.data)throw new W(e,"Query response did not contain data");return o.data}async mutate({mutation:e,variables:r,...s}){let i=e.match(/mutation (\w+)/)?.[1];qt(i,"mutation name not found");let n=this.ctx.child({fields:{edit:{mutation:i}},devFields:{edit:{mutation:i,variables:K(r)}}});n.log.info("executing graphql mutation");let o=await this.#e.execute(n,{operation:e,variables:r,...s});if(o.errors)throw new W(e,o.errors);if(!o.data)throw new W(e,"Mutation response did not contain data");return o.data}subscribe({onData:e,...r}){let s=r.subscription.match(/subscription (\w+)/)?.[1];qt(s,"subscription name not found");let i=this.ctx.child({fields:{edit:{subscription:s}},devFields:{edit:{subscription:s,variables:K(r.variables)}}}),n=async c=>{if(c.errors){o(),await r.onError(new W(r.subscription,c.errors));return}if(!c.data){o(),await r.onError(new W(r.subscription,"Subscription response did not contain data"));return}await e(c.data)};i.log.info("subscribing to graphql subscription");let o=this.#e.subscribe(i,{...r,onResponse:n});return{unsubscribe:o,resubscribe:c=>{o(),c!==void 0&&(r.variables=c),i=this.ctx.child({fields:{edit:{subscription:s}},devFields:{edit:{subscription:s,variables:K(r.variables)}}}),i.log.info("re-subscribing to graphql subscription"),o=this.#e.subscribe(i,{...r,onResponse:n})}}}async dispose(){await this.#e.dispose()}};m();var ys=Ce(`
15
- query GadgetMetaModels {
16
- gadgetMeta {
17
- models {
18
- apiIdentifier
19
- namespace
20
- }
21
- }
22
- }
23
- `),gs=Ce(`
24
- query GadgetMetaGlobalActions {
25
- gadgetMeta {
26
- globalActions {
27
- apiIdentifier
28
- namespace
29
- }
30
- }
31
- }
32
- `);var Vi=Object.freeze({Development:"development",Production:"production",Test:"test"}),Hi=E.object({id:E.union([E.string(),E.number(),E.bigint()]).transform(t=>BigInt(t)),name:E.string().transform(t=>t.toLowerCase()),type:E.nativeEnum(Vi)}),Yi=E.object({id:E.union([E.string(),E.number(),E.bigint()]).transform(t=>BigInt(t)),slug:E.string(),primaryDomain:E.string(),hasSplitEnvironments:E.boolean(),multiEnvironmentEnabled:E.boolean(),environments:E.array(Hi)}),Wo=E.object({apiIdentifier:E.string(),namespace:E.nullable(E.array(E.string())).optional()}),Fo=E.object({apiIdentifier:E.string(),namespace:E.nullable(E.array(E.string())).optional()}),jo=async t=>{let e=ae();if(!e)return[];Ut(t.user,"must get user before getting apps");let r=await We({context:{ctx:t},url:`https://${me.domains.services}/auth/api/apps`,headers:{...e},responseType:"json",resolveBodyOnly:!0});return E.array(Yi).parse(r)},zo=async t=>{if(!ae())return[];Ut(t.user,"must get user before getting models");let r=new qe(t),{gadgetMeta:s}=await r.query({query:ys});return s.models},Qo=async t=>{if(!ae())return[];Ut(t.user,"must get user before getting models");let r=new qe(t),{gadgetMeta:s}=await r.query({query:gs});return s.globalActions};export{Jt as a,W as b,Le as c,it as d,Vi as e,jo as f,zo as g,Qo as h};
33
- //# sourceMappingURL=chunk-BOQUW6DS.js.map
@@ -1,17 +0,0 @@
1
- import{a as ee,c as ae,d as ue,e as pe,f as ce,g as fe,i as de,j as I,k as D,l as me,m as ge,n as G,r as he,s as Ae,t as ye}from"./chunk-AQRCAWW4.js";import{H as se,I as N,U as oe,V as L,W as ie,b as te,f as re,o as ne}from"./chunk-GBCD37US.js";import{a as le}from"./chunk-F3EZ4KS3.js";import{a as Z,c as $,e as S,g as u}from"./chunk-5WC5D4WL.js";var Oe=$((ze,Te)=>{"use strict";u();var De=Z("os"),we=Z("tty"),d=le(),{env:p}=process,E;d("no-color")||d("no-colors")||d("color=false")||d("color=never")?E=0:(d("color")||d("colors")||d("color=true")||d("color=always"))&&(E=1);"FORCE_COLOR"in p&&(p.FORCE_COLOR==="true"?E=1:p.FORCE_COLOR==="false"?E=0:E=p.FORCE_COLOR.length===0?1:Math.min(parseInt(p.FORCE_COLOR,10),3));function F(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function q(t,e){if(E===0)return 0;if(d("color=16m")||d("color=full")||d("color=truecolor"))return 3;if(d("color=256"))return 2;if(t&&!e&&E===void 0)return 0;let r=E||0;if(p.TERM==="dumb")return r;if(process.platform==="win32"){let o=De.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in p)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in p)||p.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in p)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(p.TEAMCITY_VERSION)?1:0;if(p.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in p){let o=parseInt((p.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(p.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(p.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(p.TERM)||"COLORTERM"in p?1:r}function Ge(t){let e=q(t,t&&t.isTTY);return F(e)}Te.exports={supportsColor:Ge,stdout:F(q(!0,we.isatty(1))),stderr:F(q(!0,we.isatty(2)))}});var be=$((Qe,Ce)=>{"use strict";u();var je=Oe(),b=le();function xe(t){if(/^\d{3,4}$/.test(t)){let r=/(\d{1,2})(\d{2})/.exec(t);return{major:0,minor:parseInt(r[1],10),patch:parseInt(r[2],10)}}let e=(t||"").split(".").map(r=>parseInt(r,10));return{major:e[0],minor:e[1],patch:e[2]}}function U(t){let{env:e}=process;if("FORCE_HYPERLINK"in e)return!(e.FORCE_HYPERLINK.length>0&&parseInt(e.FORCE_HYPERLINK,10)===0);if(b("no-hyperlink")||b("no-hyperlinks")||b("hyperlink=false")||b("hyperlink=never"))return!1;if(b("hyperlink=true")||b("hyperlink=always")||"NETLIFY"in e)return!0;if(!je.supportsColor(t)||t&&!t.isTTY||process.platform==="win32"||"CI"in e||"TEAMCITY_VERSION"in e)return!1;if("TERM_PROGRAM"in e){let r=xe(e.TERM_PROGRAM_VERSION);switch(e.TERM_PROGRAM){case"iTerm.app":return r.major===3?r.minor>=1:r.major>3;case"WezTerm":return r.major>=20200620;case"vscode":return r.major>1||r.major===1&&r.minor>=72}}if("VTE_VERSION"in e){if(e.VTE_VERSION==="0.50.0")return!1;let r=xe(e.VTE_VERSION);return r.major>0||r.minor>=50}return!1}Ce.exports={supportsHyperlink:U,stdout:U(process.stdout),stderr:U(process.stderr)}});var _e=$((yt,ve)=>{u();var Y=Symbol("arg flag"),m=class t extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,t.prototype)}};function P(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new m("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},l={},A={};for(let a of Object.keys(t)){if(!a)throw new m("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new m(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new m(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[a]=="string"){l[a]=t[a];continue}let g=t[a],f=!1;if(Array.isArray(g)&&g.length===1&&typeof g[0]=="function"){let[T]=g;g=(y,x,h=[])=>(h.push(T(y,x,h[h.length-1])),h),f=T===Boolean||T[Y]===!0}else if(typeof g=="function")f=g===Boolean||g[Y]===!0;else throw new m(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new m(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");A[a]=[g,f]}for(let a=0,g=e.length;a<g;a++){let f=e[a];if(o&&n._.length>0){n._=n._.concat(e.slice(a));break}if(f==="--"){n._=n._.concat(e.slice(a+1));break}if(f.length>1&&f[0]==="-"){let T=f[1]==="-"||f.length===2?[f]:f.slice(1).split("").map(y=>`-${y}`);for(let y=0;y<T.length;y++){let x=T[y],[h,W]=x[1]==="-"?x.split(/=(.*)/,2):[x,void 0],c=h;for(;c in l;)c=l[c];if(!(c in A))if(r){n._.push(x);continue}else throw new m(`unknown or unexpected option: ${h}`,"ARG_UNKNOWN_OPTION");let[k,X]=A[c];if(!X&&y+1<T.length)throw new m(`option requires argument (but was followed by another short argument): ${h}`,"ARG_MISSING_REQUIRED_SHORTARG");if(X)n[c]=k(!0,c,n[c]);else if(W===void 0){if(e.length<a+2||e[a+1].length>1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(k===Number||typeof BigInt<"u"&&k===BigInt))){let Le=h===c?"":` (alias for ${c})`;throw new m(`option requires argument: ${h}${Le}`,"ARG_MISSING_REQUIRED_LONGARG")}n[c]=k(e[a+1],c,n[c]),++a}else n[c]=k(W,c,n[c])}}else n._.push(f)}return n}P.flag=t=>(t[Y]=!0,t);P.COUNT=P.flag((t,e,r)=>(r||0)+1);P.ArgError=m;ve.exports=P});u();u();var i="\x1B[",v="\x1B]",C="\x07",j=";",Ee=process.env.TERM_PROGRAM==="Apple_Terminal",s={};s.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?i+(t+1)+"G":i+(e+1)+";"+(t+1)+"H"};s.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=i+-t+"D":t>0&&(r+=i+t+"C"),e<0?r+=i+-e+"A":e>0&&(r+=i+e+"B"),r};s.cursorUp=(t=1)=>i+t+"A";s.cursorDown=(t=1)=>i+t+"B";s.cursorForward=(t=1)=>i+t+"C";s.cursorBackward=(t=1)=>i+t+"D";s.cursorLeft=i+"G";s.cursorSavePosition=Ee?"\x1B7":i+"s";s.cursorRestorePosition=Ee?"\x1B8":i+"u";s.cursorGetPosition=i+"6n";s.cursorNextLine=i+"E";s.cursorPrevLine=i+"F";s.cursorHide=i+"?25l";s.cursorShow=i+"?25h";s.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=s.eraseLine+(r<t-1?s.cursorUp():"");return t&&(e+=s.cursorLeft),e};s.eraseEndLine=i+"K";s.eraseStartLine=i+"1K";s.eraseLine=i+"2K";s.eraseDown=i+"J";s.eraseUp=i+"1J";s.eraseScreen=i+"2J";s.scrollUp=i+"S";s.scrollDown=i+"T";s.clearScreen="\x1Bc";s.clearTerminal=process.platform==="win32"?`${s.eraseScreen}${i}0f`:`${s.eraseScreen}${i}3J${i}H`;s.beep=C;s.link=(t,e)=>[v,"8",j,j,e,C,t,v,"8",j,j,C].join("");s.image=(t,e={})=>{let r=`${v}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+C};s.iTerm={setCwd:(t=process.cwd())=>`${v}50;CurrentDir=${t}${C}`,annotation:(t,e={})=>{let r=`${v}1337;`,o=typeof e.x<"u",n=typeof e.y<"u";if((o||n)&&!(o&&n&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+C}};var Re=s;var B=S(be(),1);function R(t,e,{target:r="stdout",...o}={}){return B.default[r]?Re.link(t,e):o.fallback===!1?t:typeof o.fallback=="function"?o.fallback(t,e):`${t} (\u200B${e}\u200B)`}R.isSupported=B.default.stdout;R.stderr=(t,e,r={})=>R(t,e,{target:"stderr",...r});R.stderr.isSupported=B.default.stderr;u();import{randomUUID as Be}from"node:crypto";var He=async(t,e)=>{if(ne(e))return t.log.debug("aborting without reporting error",{error:e}),process.exit(1);t.log.error("reporting error and exiting",{error:e});try{let r=w.from(e);if(r.print(),r.isBug===O.NO)return;await ge(t,r)}finally{process.exit(1)}},ct=async t=>{t.log.debug("installing error handlers"),await me(t);let e=r=>void He(t,r);process.once("uncaughtException",e),process.once("unhandledRejection",e)},O=Object.freeze({YES:"yes",NO:"no",MAYBE:"maybe"}),w=class t extends Error{id=se.testLike?"00000000-0000-0000-0000-000000000000":Be();cause;stack;constructor(e){super(e),Error.captureStackTrace(this,this.constructor),this.stack=ue(this.stack,{pretty:!0,basePath:fe})}static from(e){return e instanceof t?e:new _(e)}sprint(){let e=this.render();if(this.isBug!==O.NO){e=L(e);let r=this.isBug===O.YES?"This is a bug":"If you think this is a bug",o=`https://github.com/gadget-inc/ggt/issues/new?template=bug_report.yml&error-id=${this.id}`;R.isSupported?e+=L({ensureEmptyLineAbove:!0})`
2
- ${r}, ${R("click here",o)} to create an issue on GitHub.
3
- `:e+=L({ensureEmptyLineAbove:!0})`
4
- ${r}, use the link below to create an issue on GitHub.
5
-
6
- ${o}
7
- `}return e}print(e){ie({ensureEmptyLineAbove:!0,...e})(this.sprint())}},_=class extends w{constructor(r){super("An unexpected error occurred");this.cause=r}isBug=O.YES;render(){let r=D(this.cause),o=r.stack||r.message||this.stack;return this.message+`.
8
-
9
- `+o}},ke=class extends w{constructor(r,o){super(r);this.cause=o}isBug=O.MAYBE;render(){return this.message}};u();var Ie=S(ee(),1);import{setTimeout as Me}from"node:timers/promises";var gt=(t,e)=>Me((0,Ie.default)(t),void 0,e),V=class{resolution;rejection;pendingPromise;constructor(e){this.pendingPromise=e,e.then(r=>(this.resolution=r,r)).catch(r=>{this.rejection=r}).finally(()=>{delete this.pendingPromise})}async unwrap(){if(this.pendingPromise)return await this.pendingPromise;if(this.rejection)throw this.rejection;return this.resolution}},H=class{[Symbol.toStringTag];resolve;reject;_promise;constructor(){this._promise=new V(new Promise((e,r)=>{this.resolve=e,this.reject=r})),this[Symbol.toStringTag]=String(this._promise.pendingPromise)}then(e,r){return this._promise.unwrap().then(e,r)}catch(e){return this._promise.unwrap().catch(e)}finally(e){return this._promise.unwrap().finally(e)}};u();var K=S(_e(),1);var J=(t,e)=>{let r={},o={};for(let[n,l]of Object.entries(t)){if(!("type"in l)){r[n]=l;continue}if(r[n]=l.type,o[n]=l.default,l.alias)for(let A of Array.isArray(l.alias)?l.alias:[l.alias])r[A]=n}try{let n=(0,K.default)(r,e);for(let[l,A]of Object.entries(o))re(n[l])&&(n[l]=A);return n}catch(n){throw n instanceof K.default.ArgError&&(n=new z(n.message)),n instanceof w?n:new _(n)}},z=class extends w{isBug=O.NO;render(){return`${te.redBright(ae.cross)} `+this.message}};u();var M=class t extends AbortController{args;done=new H;#t;#n=[];#e;#r;#s;#o;#i;constructor({parent:e,command:r,args:o,log:n}){super(),this.args=o,this.#t=n,this.#e=e,this.#r=r,this.abort=this.abort.bind(this),this.child=this.child.bind(this),this.onAbort=this.onAbort.bind(this),this.signal.addEventListener("abort",async()=>{let l;for(let A of this.#n.reverse())try{await A(this.signal.reason)}catch(a){l=a,this.log.error("error during abort",{error:l})}l?this.done.reject(l):this.done.resolve()})}get log(){return this.#t}get command(){return this.#r??this.#e?.command??"root"}get user(){return this.#s??this.#e?.user}set user(e){this.#s=e,this.#e&&(this.#e.user=e),this.#t=this.#t.child({fields:{user:{id:e.id}},devFields:{user:e}})}get app(){return this.#o??this.#e?.app}set app(e){this.#o=e,this.#e&&(this.#e.app=e),this.#t=this.#t.child({fields:{app:e}})}get env(){return this.#i??this.#e?.env}set env(e){this.#i=e,this.#e&&(this.#e.env=e),this.#t=this.#t.child({fields:{env:e}})}static init({parse:e,...r}){return new t({args:e?J(e,I(r,["argv","permissive","stopAtPositional"])):{},log:G(I(r,["name","fields","devFields"]))})}child({parse:e,command:r=this.#r,...o}){let n=new t({parent:this,command:r,args:{...this.args,...o.overwrite,...e?J(e,de(I(o,["argv","permissive","stopAtPositional"]),{argv:this.args._})):{}},log:this.log.child(I(o,["name","fields","devFields"]))});return this.onAbort(()=>n.abort()),n}onAbort(e){this.#n.push(e)}};u();var Pe=G({name:"auth"}),Se=t=>t.url instanceof URL&&t.url.host===N.domains.services,$e=()=>{let t=he();return t&&`session=${encodeURIComponent(t)};`},Gt=()=>{let t=$e();if(t)return Pe.trace("using cookie as auth header",{},{cookie:t}),{cookie:t};let e=ye();if(e)return Pe.trace("using token as auth header",{},{token:e}),{"x-platform-access-token":e}},Fe=t=>t instanceof pe&&t.response.statusCode===401,jt=(t,e)=>{if(Fe(e)){t.log.warn("swallowing unauthorized error",{error:e});return}throw e};u();var Ne=S(ee(),1);import qe from"node:assert";import{Agent as Ue}from"node:http";import{Agent as Ve}from"node:https";var Q=t=>(qe(t.context?.ctx instanceof M,oe(`
10
- ctx must be provided to http requests:
11
-
12
- const response = await http({
13
- context: { ctx },
14
- ...options,
15
- });
16
- `)),t.context.ctx),Qt=ce.extend({agent:{http:new Ue({keepAlive:!0}),https:new Ve({keepAlive:!0})},retry:{limit:10,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN","EADDRNOTAVAIL","EHOSTUNREACH"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t,backoffLimit:(0,Ne.default)("5s"),noise:100},hooks:{beforeRequest:[t=>{let e=Q(t);t.signal=e.signal,t.headers["user-agent"]=N.versionFull,e.log.debug("http request",{http:{request:{method:t.method,url:t.url?.toString()}}})}],beforeRetry:[(t,e)=>{Q(t.request?.options??t.options.context).log.warn("http request failed, retrying...",{http:{retryCount:e,error:D(t),request:t.request&&{method:t.request.options.method,url:t.request.options.url?.toString()},response:t.response&&{statusCode:t.response.statusCode,traceId:t.response.headers["x-trace-id"],durationMs:t.response.timings.phases.total}}})}],afterResponse:[t=>(Q(t.request.options).log.debug("http response",{http:{request:{method:t.request.options.method,url:t.request.options.url?.toString()},response:{statusCode:t.statusCode,traceId:t.headers["x-trace-id"],durationMs:t.timings.phases.total}}}),t.statusCode===401&&Se(t.request.options)&&Ae(void 0),t)]}});export{_e as a,R as b,He as c,ct as d,O as e,w as f,ke as g,gt as h,z as i,M as j,Gt as k,jt as l,Qt as m};
17
- //# sourceMappingURL=chunk-CKSTMUDN.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js", "../node_modules/.pnpm/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js", "../node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.js", "../node_modules/.pnpm/terminal-link@3.0.0/node_modules/terminal-link/index.js", "../node_modules/.pnpm/ansi-escapes@5.0.0/node_modules/ansi-escapes/index.js", "../src/services/output/report.ts", "../src/services/util/promise.ts", "../src/services/command/arg.ts", "../src/services/command/context.ts", "../src/services/http/auth.ts", "../src/services/http/http.ts"],
4
- "sourcesContent": ["'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "'use strict';\nconst supportsColor = require('supports-color');\nconst hasFlag = require('has-flag');\n\nfunction parseVersion(versionString) {\n\tif (/^\\d{3,4}$/.test(versionString)) {\n\t\t// Env var doesn't always use dots. example: 4601 => 46.1.0\n\t\tconst m = /(\\d{1,2})(\\d{2})/.exec(versionString);\n\t\treturn {\n\t\t\tmajor: 0,\n\t\t\tminor: parseInt(m[1], 10),\n\t\t\tpatch: parseInt(m[2], 10)\n\t\t};\n\t}\n\n\tconst versions = (versionString || '').split('.').map(n => parseInt(n, 10));\n\treturn {\n\t\tmajor: versions[0],\n\t\tminor: versions[1],\n\t\tpatch: versions[2]\n\t};\n}\n\nfunction supportsHyperlink(stream) {\n\tconst {env} = process;\n\n\tif ('FORCE_HYPERLINK' in env) {\n\t\treturn !(env.FORCE_HYPERLINK.length > 0 && parseInt(env.FORCE_HYPERLINK, 10) === 0);\n\t}\n\n\tif (hasFlag('no-hyperlink') || hasFlag('no-hyperlinks') || hasFlag('hyperlink=false') || hasFlag('hyperlink=never')) {\n\t\treturn false;\n\t}\n\n\tif (hasFlag('hyperlink=true') || hasFlag('hyperlink=always')) {\n\t\treturn true;\n\t}\n\n\t// Netlify does not run a TTY, it does not need `supportsColor` check\n\tif ('NETLIFY' in env) {\n\t\treturn true;\n\t}\n\n\t// If they specify no colors, they probably don't want hyperlinks.\n\tif (!supportsColor.supportsColor(stream)) {\n\t\treturn false;\n\t}\n\n\tif (stream && !stream.isTTY) {\n\t\treturn false;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn false;\n\t}\n\n\tif ('CI' in env) {\n\t\treturn false;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn false;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseVersion(env.TERM_PROGRAM_VERSION);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\tif (version.major === 3) {\n\t\t\t\t\treturn version.minor >= 1;\n\t\t\t\t}\n\n\t\t\t\treturn version.major > 3;\n\t\t\tcase 'WezTerm':\n\t\t\t\treturn version.major >= 20200620;\n\t\t\tcase 'vscode':\n\t\t\t\treturn version.major > 1 || version.major === 1 && version.minor >= 72;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif ('VTE_VERSION' in env) {\n\t\t// 0.50.0 was supposed to support hyperlinks, but throws a segfault\n\t\tif (env.VTE_VERSION === '0.50.0') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst version = parseVersion(env.VTE_VERSION);\n\t\treturn version.major > 0 || version.minor >= 50;\n\t}\n\n\treturn false;\n}\n\nmodule.exports = {\n\tsupportsHyperlink,\n\tstdout: supportsHyperlink(process.stdout),\n\tstderr: supportsHyperlink(process.stderr)\n};\n", "const flagSymbol = Symbol('arg flag');\n\nclass ArgError extends Error {\n\tconstructor(msg, code) {\n\t\tsuper(msg);\n\t\tthis.name = 'ArgError';\n\t\tthis.code = code;\n\n\t\tObject.setPrototypeOf(this, ArgError.prototype);\n\t}\n}\n\nfunction arg(\n\topts,\n\t{\n\t\targv = process.argv.slice(2),\n\t\tpermissive = false,\n\t\tstopAtPositional = false\n\t} = {}\n) {\n\tif (!opts) {\n\t\tthrow new ArgError(\n\t\t\t'argument specification object is required',\n\t\t\t'ARG_CONFIG_NO_SPEC'\n\t\t);\n\t}\n\n\tconst result = { _: [] };\n\n\tconst aliases = {};\n\tconst handlers = {};\n\n\tfor (const key of Object.keys(opts)) {\n\t\tif (!key) {\n\t\t\tthrow new ArgError(\n\t\t\t\t'argument key cannot be an empty string',\n\t\t\t\t'ARG_CONFIG_EMPTY_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (key[0] !== '-') {\n\t\t\tthrow new ArgError(\n\t\t\t\t`argument key must start with '-' but found: '${key}'`,\n\t\t\t\t'ARG_CONFIG_NONOPT_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (key.length === 1) {\n\t\t\tthrow new ArgError(\n\t\t\t\t`argument key must have a name; singular '-' keys are not allowed: ${key}`,\n\t\t\t\t'ARG_CONFIG_NONAME_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (typeof opts[key] === 'string') {\n\t\t\taliases[key] = opts[key];\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet type = opts[key];\n\t\tlet isFlag = false;\n\n\t\tif (\n\t\t\tArray.isArray(type) &&\n\t\t\ttype.length === 1 &&\n\t\t\ttypeof type[0] === 'function'\n\t\t) {\n\t\t\tconst [fn] = type;\n\t\t\ttype = (value, name, prev = []) => {\n\t\t\t\tprev.push(fn(value, name, prev[prev.length - 1]));\n\t\t\t\treturn prev;\n\t\t\t};\n\t\t\tisFlag = fn === Boolean || fn[flagSymbol] === true;\n\t\t} else if (typeof type === 'function') {\n\t\t\tisFlag = type === Boolean || type[flagSymbol] === true;\n\t\t} else {\n\t\t\tthrow new ArgError(\n\t\t\t\t`type missing or not a function or valid array type: ${key}`,\n\t\t\t\t'ARG_CONFIG_VAD_TYPE'\n\t\t\t);\n\t\t}\n\n\t\tif (key[1] !== '-' && key.length > 2) {\n\t\t\tthrow new ArgError(\n\t\t\t\t`short argument keys (with a single hyphen) must have only one character: ${key}`,\n\t\t\t\t'ARG_CONFIG_SHORTOPT_TOOLONG'\n\t\t\t);\n\t\t}\n\n\t\thandlers[key] = [type, isFlag];\n\t}\n\n\tfor (let i = 0, len = argv.length; i < len; i++) {\n\t\tconst wholeArg = argv[i];\n\n\t\tif (stopAtPositional && result._.length > 0) {\n\t\t\tresult._ = result._.concat(argv.slice(i));\n\t\t\tbreak;\n\t\t}\n\n\t\tif (wholeArg === '--') {\n\t\t\tresult._ = result._.concat(argv.slice(i + 1));\n\t\t\tbreak;\n\t\t}\n\n\t\tif (wholeArg.length > 1 && wholeArg[0] === '-') {\n\t\t\t/* eslint-disable operator-linebreak */\n\t\t\tconst separatedArguments =\n\t\t\t\twholeArg[1] === '-' || wholeArg.length === 2\n\t\t\t\t\t? [wholeArg]\n\t\t\t\t\t: wholeArg\n\t\t\t\t\t\t\t.slice(1)\n\t\t\t\t\t\t\t.split('')\n\t\t\t\t\t\t\t.map((a) => `-${a}`);\n\t\t\t/* eslint-enable operator-linebreak */\n\n\t\t\tfor (let j = 0; j < separatedArguments.length; j++) {\n\t\t\t\tconst arg = separatedArguments[j];\n\t\t\t\tconst [originalArgName, argStr] =\n\t\t\t\t\targ[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined];\n\n\t\t\t\tlet argName = originalArgName;\n\t\t\t\twhile (argName in aliases) {\n\t\t\t\t\targName = aliases[argName];\n\t\t\t\t}\n\n\t\t\t\tif (!(argName in handlers)) {\n\t\t\t\t\tif (permissive) {\n\t\t\t\t\t\tresult._.push(arg);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t\t`unknown or unexpected option: ${originalArgName}`,\n\t\t\t\t\t\t\t'ARG_UNKNOWN_OPTION'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst [type, isFlag] = handlers[argName];\n\n\t\t\t\tif (!isFlag && j + 1 < separatedArguments.length) {\n\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t`option requires argument (but was followed by another short argument): ${originalArgName}`,\n\t\t\t\t\t\t'ARG_MISSING_REQUIRED_SHORTARG'\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (isFlag) {\n\t\t\t\t\tresult[argName] = type(true, argName, result[argName]);\n\t\t\t\t} else if (argStr === undefined) {\n\t\t\t\t\tif (\n\t\t\t\t\t\targv.length < i + 2 ||\n\t\t\t\t\t\t(argv[i + 1].length > 1 &&\n\t\t\t\t\t\t\targv[i + 1][0] === '-' &&\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\targv[i + 1].match(/^-?\\d*(\\.(?=\\d))?\\d*$/) &&\n\t\t\t\t\t\t\t\t(type === Number ||\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t\t\t(typeof BigInt !== 'undefined' && type === BigInt))\n\t\t\t\t\t\t\t))\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst extended =\n\t\t\t\t\t\t\toriginalArgName === argName ? '' : ` (alias for ${argName})`;\n\t\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t\t`option requires argument: ${originalArgName}${extended}`,\n\t\t\t\t\t\t\t'ARG_MISSING_REQUIRED_LONGARG'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tresult[argName] = type(argv[i + 1], argName, result[argName]);\n\t\t\t\t\t++i;\n\t\t\t\t} else {\n\t\t\t\t\tresult[argName] = type(argStr, argName, result[argName]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tresult._.push(wholeArg);\n\t\t}\n\t}\n\n\treturn result;\n}\n\narg.flag = (fn) => {\n\tfn[flagSymbol] = true;\n\treturn fn;\n};\n\n// Utility types\narg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1);\n\n// Expose error class\narg.ArgError = ArgError;\n\nmodule.exports = arg;\n", "import ansiEscapes from 'ansi-escapes';\nimport supportsHyperlinks from 'supports-hyperlinks';\n\nexport default function terminalLink(text, url, {target = 'stdout', ...options} = {}) {\n\tif (!supportsHyperlinks[target]) {\n\t\t// If the fallback has been explicitly disabled, don't modify the text itself.\n\t\tif (options.fallback === false) {\n\t\t\treturn text;\n\t\t}\n\n\t\treturn typeof options.fallback === 'function' ? options.fallback(text, url) : `${text} (\\u200B${url}\\u200B)`;\n\t}\n\n\treturn ansiEscapes.link(text, url);\n}\n\nterminalLink.isSupported = supportsHyperlinks.stdout;\nterminalLink.stderr = (text, url, options = {}) => terminalLink(text, url, {target: 'stderr', ...options});\nterminalLink.stderr.isSupported = supportsHyperlinks.stderr;\n", "const ESC = '\\u001B[';\nconst OSC = '\\u001B]';\nconst BEL = '\\u0007';\nconst SEP = ';';\nconst isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal';\n\nconst ansiEscapes = {};\n\nansiEscapes.cursorTo = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tif (typeof y !== 'number') {\n\t\treturn ESC + (x + 1) + 'G';\n\t}\n\n\treturn ESC + (y + 1) + ';' + (x + 1) + 'H';\n};\n\nansiEscapes.cursorMove = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tlet returnValue = '';\n\n\tif (x < 0) {\n\t\treturnValue += ESC + (-x) + 'D';\n\t} else if (x > 0) {\n\t\treturnValue += ESC + x + 'C';\n\t}\n\n\tif (y < 0) {\n\t\treturnValue += ESC + (-y) + 'A';\n\t} else if (y > 0) {\n\t\treturnValue += ESC + y + 'B';\n\t}\n\n\treturn returnValue;\n};\n\nansiEscapes.cursorUp = (count = 1) => ESC + count + 'A';\nansiEscapes.cursorDown = (count = 1) => ESC + count + 'B';\nansiEscapes.cursorForward = (count = 1) => ESC + count + 'C';\nansiEscapes.cursorBackward = (count = 1) => ESC + count + 'D';\n\nansiEscapes.cursorLeft = ESC + 'G';\nansiEscapes.cursorSavePosition = isTerminalApp ? '\\u001B7' : ESC + 's';\nansiEscapes.cursorRestorePosition = isTerminalApp ? '\\u001B8' : ESC + 'u';\nansiEscapes.cursorGetPosition = ESC + '6n';\nansiEscapes.cursorNextLine = ESC + 'E';\nansiEscapes.cursorPrevLine = ESC + 'F';\nansiEscapes.cursorHide = ESC + '?25l';\nansiEscapes.cursorShow = ESC + '?25h';\n\nansiEscapes.eraseLines = count => {\n\tlet clear = '';\n\n\tfor (let i = 0; i < count; i++) {\n\t\tclear += ansiEscapes.eraseLine + (i < count - 1 ? ansiEscapes.cursorUp() : '');\n\t}\n\n\tif (count) {\n\t\tclear += ansiEscapes.cursorLeft;\n\t}\n\n\treturn clear;\n};\n\nansiEscapes.eraseEndLine = ESC + 'K';\nansiEscapes.eraseStartLine = ESC + '1K';\nansiEscapes.eraseLine = ESC + '2K';\nansiEscapes.eraseDown = ESC + 'J';\nansiEscapes.eraseUp = ESC + '1J';\nansiEscapes.eraseScreen = ESC + '2J';\nansiEscapes.scrollUp = ESC + 'S';\nansiEscapes.scrollDown = ESC + 'T';\n\nansiEscapes.clearScreen = '\\u001Bc';\n\nansiEscapes.clearTerminal = process.platform === 'win32' ?\n\t`${ansiEscapes.eraseScreen}${ESC}0f` :\n\t// 1. Erases the screen (Only done in case `2` is not supported)\n\t// 2. Erases the whole screen including scrollback buffer\n\t// 3. Moves cursor to the top-left position\n\t// More info: https://www.real-world-systems.com/docs/ANSIcode.html\n\t`${ansiEscapes.eraseScreen}${ESC}3J${ESC}H`;\n\nansiEscapes.beep = BEL;\n\nansiEscapes.link = (text, url) => {\n\treturn [\n\t\tOSC,\n\t\t'8',\n\t\tSEP,\n\t\tSEP,\n\t\turl,\n\t\tBEL,\n\t\ttext,\n\t\tOSC,\n\t\t'8',\n\t\tSEP,\n\t\tSEP,\n\t\tBEL\n\t].join('');\n};\n\nansiEscapes.image = (buffer, options = {}) => {\n\tlet returnValue = `${OSC}1337;File=inline=1`;\n\n\tif (options.width) {\n\t\treturnValue += `;width=${options.width}`;\n\t}\n\n\tif (options.height) {\n\t\treturnValue += `;height=${options.height}`;\n\t}\n\n\tif (options.preserveAspectRatio === false) {\n\t\treturnValue += ';preserveAspectRatio=0';\n\t}\n\n\treturn returnValue + ':' + buffer.toString('base64') + BEL;\n};\n\nansiEscapes.iTerm = {\n\tsetCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,\n\n\tannotation: (message, options = {}) => {\n\t\tlet returnValue = `${OSC}1337;`;\n\n\t\tconst hasX = typeof options.x !== 'undefined';\n\t\tconst hasY = typeof options.y !== 'undefined';\n\t\tif ((hasX || hasY) && !(hasX && hasY && typeof options.length !== 'undefined')) {\n\t\t\tthrow new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');\n\t\t}\n\n\t\tmessage = message.replace(/\\|/g, '');\n\n\t\treturnValue += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';\n\n\t\tif (options.length > 0) {\n\t\t\treturnValue +=\n\t\t\t\t\t(hasX ?\n\t\t\t\t\t\t[message, options.length, options.x, options.y] :\n\t\t\t\t\t\t[options.length, message]).join('|');\n\t\t} else {\n\t\t\treturnValue += message;\n\t\t}\n\n\t\treturn returnValue + BEL;\n\t}\n};\n\nexport default ansiEscapes;\n", "import cleanStack from \"clean-stack\";\nimport { randomUUID } from \"node:crypto\";\nimport terminalLink from \"terminal-link\";\nimport type { Context } from \"../command/context.js\";\nimport { env } from \"../config/env.js\";\nimport { isAbortError } from \"../util/is.js\";\nimport { serializeError } from \"../util/object.js\";\nimport { workspaceRoot } from \"../util/paths.js\";\nimport { println } from \"./print.js\";\nimport { initSentry, sendErrorToSentry } from \"./sentry.js\";\nimport { sprintln, type SprintOptions } from \"./sprint.js\";\n\nexport const reportErrorAndExit = async (ctx: Context, cause: unknown): Promise<never> => {\n if (isAbortError(cause)) {\n ctx.log.debug(\"aborting without reporting error\", { error: cause });\n return process.exit(1);\n }\n\n ctx.log.error(\"reporting error and exiting\", { error: cause });\n\n try {\n const error = GGTError.from(cause);\n error.print();\n\n if (error.isBug === IsBug.NO) {\n return undefined as never;\n }\n\n await sendErrorToSentry(ctx, error);\n } finally {\n process.exit(1);\n }\n};\n\nexport const installErrorHandlers = async (ctx: Context): Promise<void> => {\n ctx.log.debug(\"installing error handlers\");\n await initSentry(ctx);\n\n const handleError = (error: unknown) => void reportErrorAndExit(ctx, error);\n process.once(\"uncaughtException\", handleError);\n process.once(\"unhandledRejection\", handleError);\n};\n\nexport const IsBug = Object.freeze({\n YES: \"yes\",\n NO: \"no\",\n MAYBE: \"maybe\",\n});\n\nexport type IsBug = (typeof IsBug)[keyof typeof IsBug];\n\n/**\n * Base class for all errors.\n */\nexport abstract class GGTError extends Error {\n /**\n * The ID for this error.\n */\n id = env.testLike ? \"00000000-0000-0000-0000-000000000000\" : randomUUID();\n\n /**\n * The underlying *thing* that caused this error.\n */\n cause?: unknown;\n\n /**\n * Assume the stack trace exists.\n */\n override stack!: string;\n\n /**\n * Indicates whether this error is considered a bug or not.\n */\n abstract isBug: IsBug;\n\n constructor(message: string) {\n super(message);\n Error.captureStackTrace(this, this.constructor);\n this.stack = cleanStack(this.stack, { pretty: true, basePath: workspaceRoot });\n }\n\n /**\n * Constructs a GGTError from an unknown cause.\n *\n * @param cause - The cause of the error.\n */\n static from(cause: unknown): GGTError {\n if (cause instanceof GGTError) {\n return cause;\n }\n return new UnexpectedError(cause);\n }\n\n sprint(): string {\n let rendered = this.render();\n\n if (this.isBug !== IsBug.NO) {\n // ensure the rendered message ends with a newline\n rendered = sprintln(rendered);\n\n const thisIsABug = this.isBug === IsBug.YES ? \"This is a bug\" : \"If you think this is a bug\";\n const issueLink = `https://github.com/gadget-inc/ggt/issues/new?template=bug_report.yml&error-id=${this.id}`;\n\n if (terminalLink.isSupported) {\n rendered += sprintln({ ensureEmptyLineAbove: true })`\n ${thisIsABug}, ${terminalLink(\"click here\", issueLink)} to create an issue on GitHub.\n `;\n } else {\n rendered += sprintln({ ensureEmptyLineAbove: true })`\n ${thisIsABug}, use the link below to create an issue on GitHub.\n\n ${issueLink}\n `;\n }\n }\n\n return rendered;\n }\n\n print(options?: SprintOptions): void {\n println({ ensureEmptyLineAbove: true, ...options })(this.sprint());\n }\n\n /**\n * Turns this error into a user-friendly message that explains what\n * went wrong and how to fix it. A good write up of what an error\n * should look like can be found here:\n * {@link https://clig.dev/#errors}\n */\n protected abstract render(): string;\n}\n\n/**\n * Our \"catch all\" error.\n *\n * If this error is thrown, we almost certainly have a bug, and should\n * either fix it or add a more specific error so that we can provide\n * more useful information.\n */\nexport class UnexpectedError extends GGTError {\n isBug = IsBug.YES;\n\n constructor(override cause: unknown) {\n super(\"An unexpected error occurred\");\n }\n\n protected render(): string {\n const serialized = serializeError(this.cause);\n const body = serialized.stack || serialized.message || this.stack;\n return this.message + \".\\n\\n\" + body;\n }\n}\n\n/**\n * An error that is expected to happen sometimes.\n */\nexport class EdgeCaseError extends GGTError {\n isBug = IsBug.MAYBE;\n\n constructor(\n message: string,\n override cause?: unknown,\n ) {\n super(message);\n }\n\n protected render(): string {\n return this.message;\n }\n}\n", "import ms from \"ms\";\nimport type { TimerOptions } from \"node:timers\";\nimport { setTimeout } from \"node:timers/promises\";\n\nexport const delay = (duration: string, options?: TimerOptions): Promise<void> => setTimeout(ms(duration), undefined, options);\n\n/**\n * Long lived references to Promises stress the garbage collector in JS.\n *\n * Instead of caching resolved Promises, we cache these little data\n * objects instead which reference the resolution or rejection of the\n * Promise, allowing the Promise object to be free'd.\n */\nexport class PromiseWrapper<T> {\n resolution?: T;\n rejection?: unknown;\n pendingPromise?: Promise<T>;\n\n constructor(promise: Promise<T>) {\n this.pendingPromise = promise;\n\n promise\n .then((res) => {\n this.resolution = res;\n return res;\n })\n .catch((err: unknown) => {\n this.rejection = err;\n })\n .finally(() => {\n delete this.pendingPromise;\n });\n }\n\n async unwrap(): Promise<T> {\n if (this.pendingPromise) {\n return await this.pendingPromise;\n } else if (this.rejection) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw this.rejection;\n } else {\n return this.resolution as T;\n }\n }\n}\n\n/**\n * A promise that can be resolved or rejected from outside its callback.\n *\n * This is typically used when you want to await a promise that is\n * resolved or rejected from outside the current scope, such as from an\n * event handler.\n *\n * @example\n * const signal = new PromiseSignal();\n * process.on(\"SIGINT\", () => {\n * signal.resolve();\n * });\n * await signal;\n */\nexport class PromiseSignal<T = void> implements Promise<T> {\n readonly [Symbol.toStringTag]!: string;\n\n resolve!: (value: T | PromiseLike<T>) => void;\n reject!: (reason?: unknown) => void;\n\n private _promise: PromiseWrapper<T>;\n\n constructor() {\n this._promise = new PromiseWrapper<T>(\n new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n }),\n );\n\n this[Symbol.toStringTag] = String(this._promise.pendingPromise);\n }\n\n then<R = T, E = never>(\n onfulfilled?: (value: T) => R | PromiseLike<R>,\n onrejected?: (reason: unknown) => E | PromiseLike<E>,\n ): Promise<R | E> {\n return this._promise.unwrap().then(onfulfilled, onrejected);\n }\n\n catch<E = never>(onrejected?: (reason: unknown) => E | PromiseLike<E>): Promise<T | E> {\n return this._promise.unwrap().catch(onrejected);\n }\n\n finally(onfinally?: () => void): Promise<T> {\n return this._promise.unwrap().finally(onfinally);\n }\n}\n", "import arg from \"arg\";\nimport chalk from \"chalk\";\nimport type { Simplify } from \"type-fest\";\nimport { GGTError, IsBug, UnexpectedError } from \"../output/report.js\";\nimport { symbol } from \"../output/symbols.js\";\nimport { isNil } from \"../util/is.js\";\n\nexport type ArgsDefinition = Record<string, ArgDefinition>;\n\ntype ArgDefinition<Handler extends arg.Handler = arg.Handler> =\n | Handler\n | {\n type: Handler;\n alias?: string | string[];\n default?: ReturnType<Handler>;\n };\n\nexport type ParseArgsOptions = {\n /**\n * A list of arguments to parse.\n */\n argv?: string[];\n\n /**\n * When permissive set to `true`, arg will push any unknown arguments\n * onto the \"extra\" argument array (`ctx.args._`) instead of throwing\n * an error about an unknown flag.\n *\n * @default false\n */\n permissive?: boolean;\n\n /**\n * When stopAtPositional is set to true, context will stop parsing at\n * the first positional argument.\n *\n * @default false\n */\n stopAtPositional?: boolean;\n};\n\nexport const parseArgs = <Args extends ArgsDefinition>(args: Args, options?: arg.Options): ArgsDefinitionResult<Args> => {\n const spec: arg.Spec = {};\n const defaultValues: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(args)) {\n if (!(\"type\" in value)) {\n spec[key] = value;\n continue;\n }\n\n spec[key] = value.type;\n defaultValues[key] = value.default;\n\n if (value.alias) {\n for (const alias of Array.isArray(value.alias) ? value.alias : [value.alias]) {\n spec[alias] = key;\n }\n }\n }\n\n try {\n const parsed = arg(spec, options);\n for (const [key, value] of Object.entries(defaultValues)) {\n if (isNil(parsed[key])) {\n parsed[key] = value as never;\n }\n }\n return parsed as ArgsDefinitionResult<Args>;\n } catch (error: unknown) {\n if (error instanceof arg.ArgError) {\n // convert arg.ArgError to GGTError\n // eslint-disable-next-line no-ex-assign\n error = new ArgError(error.message);\n }\n if (error instanceof GGTError) {\n throw error;\n }\n throw new UnexpectedError(error);\n }\n};\n\nexport class ArgError extends GGTError {\n isBug = IsBug.NO;\n\n protected override render(): string {\n return `${chalk.redBright(symbol.cross)} ` + this.message;\n }\n}\n\n/**\n * Turns this:\n * ```ts\n * type Args = {\n * \"--string\": { type: String; alias: \"s\" };\n * \"--number\": { type: Number; default: 42 };\n * };\n * ```\n *\n * Into this:\n * ```ts\n * type Result = {\n * \"--string\": string | undefined;\n * \"--number\": number;\n * };\n * ```\n */\nexport type ArgsDefinitionResult<Args extends ArgsDefinition, Keys extends keyof Args = keyof Args> = Simplify<{\n [Key in Keys]: Args[Key] extends ArgDefinition<infer Handler>\n ? Args[Key] extends { default: unknown }\n ? NonNullable<ReturnType<Handler>>\n : ReturnType<Handler> | undefined\n : never;\n}> & { _: string[] };\n", "import type { EmptyObject } from \"type-fest\";\nimport type { RootArgs } from \"../../commands/root.js\";\nimport type { Application, Environment } from \"../app/app.js\";\nimport { createLogger, type Logger } from \"../output/log/logger.js\";\nimport type { StructuredLoggerOptions } from \"../output/log/structured.js\";\nimport type { User } from \"../user/user.js\";\nimport { defaults, pick } from \"../util/object.js\";\nimport { PromiseSignal } from \"../util/promise.js\";\nimport type { AnyVoid } from \"../util/types.js\";\nimport { parseArgs, type ArgsDefinition, type ArgsDefinitionResult, type ParseArgsOptions } from \"./arg.js\";\nimport type { Command } from \"./command.js\";\n\n/**\n * Represents the options that can be passed to {@linkcode Context.init}.\n */\nexport type ContextInit<Args extends ArgsDefinition> = ParseArgsOptions &\n StructuredLoggerOptions & {\n /**\n * The command that this context is running.\n */\n command?: Command;\n\n /**\n * The {@linkcode ArgsDefinition} to use to parse the arguments (`argv`).\n */\n parse?: Args;\n };\n\n/**\n * Represents the options that can be passed to {@linkcode Context.child}.\n *\n * @see {@linkcode Context.child}\n * @see {@linkcode ContextInit}\n */\nexport type ChildContextInit<Args extends ArgsDefinition, Parsed extends ArgsDefinitionResult<ArgsDefinition>> = Partial<\n ContextInit<Args>\n> & {\n /**\n * Replaces the parsed arguments of the parent context.\n */\n overwrite?: Partial<Omit<Parsed, \"_\">>;\n};\n\n/**\n * Represents the context of a command-line operation.\n */\nexport class Context<\n Args extends ArgsDefinition = EmptyObject,\n ParentArgs extends ArgsDefinition = RootArgs,\n ThisArgs extends ArgsDefinition = ParentArgs & Args,\n> extends AbortController {\n /**\n * The parsed command-line arguments for the current context and any\n * parent contexts.\n */\n readonly args: ArgsDefinitionResult<ThisArgs>;\n\n /**\n * A promise that resolves when the context is aborted and all the\n * registered onAbort callbacks have finished.\n */\n readonly done = new PromiseSignal<void>();\n\n /**\n * The logger for the current context.\n */\n #log: Logger;\n\n /**\n * The callbacks that will be called when this context is aborted.\n */\n #onAborts: OnAbort[] = [];\n\n /**\n * The parent context, if any.\n */\n #parent?: Context<ArgsDefinition, ParentArgs>;\n\n /**\n * The command that this context is running.\n */\n #command?: Command;\n\n /**\n * The user who is running this command, if any.\n */\n #user?: User;\n\n /**\n * The app this command is running against, if any.\n */\n #app?: Application;\n\n /**\n * The environment this command is running against, if any.\n */\n #env?: Environment;\n\n private constructor({\n parent,\n command,\n args,\n log,\n }: {\n parent?: Context<ArgsDefinition, ParentArgs>;\n command?: Command;\n args: ArgsDefinitionResult<ThisArgs>;\n log: Logger;\n }) {\n super();\n this.args = args;\n this.#log = log;\n this.#parent = parent;\n this.#command = command;\n\n // in case this context is ...spread into another object\n this.abort = this.abort.bind(this);\n this.child = this.child.bind(this);\n this.onAbort = this.onAbort.bind(this);\n\n // when the context is aborted, call all the registered callbacks\n this.signal.addEventListener(\n \"abort\",\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n async () => {\n let error: unknown;\n\n // call the callbacks in reverse order, like go's defer\n for (const callback of this.#onAborts.reverse()) {\n try {\n await callback(this.signal.reason);\n } catch (e: unknown) {\n error = e;\n this.log.error(\"error during abort\", { error });\n }\n }\n\n if (error) {\n this.done.reject(error);\n } else {\n this.done.resolve();\n }\n },\n );\n }\n\n /**\n * A {@linkcode Logger} that can print to stdout and log structured\n * messages to stderr.\n */\n get log(): Logger {\n return this.#log;\n }\n\n get command(): Command | \"root\" {\n return this.#command ?? this.#parent?.command ?? \"root\";\n }\n\n get user(): User | undefined {\n return this.#user ?? this.#parent?.user;\n }\n\n set user(user: User) {\n this.#user = user;\n if (this.#parent) {\n this.#parent.user = user;\n }\n\n this.#log = this.#log.child({\n fields: { user: { id: user.id } },\n devFields: { user },\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get app(): Application | undefined {\n return this.#app ?? this.#parent?.app;\n }\n\n set app(app: Application) {\n this.#app = app;\n if (this.#parent) {\n this.#parent.app = app;\n }\n\n this.#log = this.#log.child({ fields: { app } });\n }\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get env(): Environment | undefined {\n return this.#env ?? this.#parent?.env;\n }\n\n set env(env: Environment) {\n this.#env = env;\n if (this.#parent) {\n this.#parent.env = env;\n }\n\n this.#log = this.#log.child({ fields: { env } });\n }\n\n /**\n * Initializes a new context.\n *\n * @see {@linkcode ContextInit}\n */\n static init<Args extends ArgsDefinition = EmptyObject>({ parse: spec, ...options }: ContextInit<Args>): Context<Args> {\n return new Context({\n args: spec ? parseArgs(spec, pick(options, [\"argv\", \"permissive\", \"stopAtPositional\"])) : ({} as ArgsDefinitionResult<Args>),\n log: createLogger(pick(options, [\"name\", \"fields\", \"devFields\"])),\n });\n }\n\n /**\n * Returns a new context that is a child of the current context.\n *\n * @see {@linkcode ChildContextInit}\n */\n child<ChildArgs extends ArgsDefinition = EmptyObject>({\n parse: spec,\n command = this.#command,\n ...options\n }: ChildContextInit<ChildArgs, ArgsDefinitionResult<ThisArgs>>): Context<ChildArgs, ThisArgs> {\n const ctx = new Context<ChildArgs, ThisArgs>({\n parent: this,\n command,\n args: {\n ...this.args,\n ...options.overwrite,\n ...(spec\n ? parseArgs(spec, defaults(pick(options, [\"argv\", \"permissive\", \"stopAtPositional\"]), { argv: this.args._ }))\n : ({} as ArgsDefinitionResult<ChildArgs>)),\n },\n log: this.log.child(pick(options, [\"name\", \"fields\", \"devFields\"])),\n });\n\n this.onAbort(() => ctx.abort());\n\n return ctx;\n }\n\n /**\n * Registers a callback that will be called when the context is\n * aborted (e.g. when the user presses Ctrl+C).\n *\n * @param callback - The callback to call when the context is aborted.\n */\n onAbort(callback: OnAbort): void {\n this.#onAborts.push(callback);\n }\n}\n\n/**\n * A callback that will be called when the context is aborted.\n */\nexport type OnAbort = (reason: unknown) => AnyVoid;\n", "import { HTTPError, type OptionsInit } from \"got\";\nimport type { Context } from \"../command/context.js\";\nimport { config } from \"../config/config.js\";\nimport { createLogger } from \"../output/log/logger.js\";\nimport { readSession, readToken } from \"../user/session.js\";\n\nconst log = createLogger({ name: \"auth\" });\n\n/**\n * Determines whether the given request options are for a Gadget\n * Services request.\n *\n * @param options - The request options to check.\n * @returns True if the request options are for a Gadget Services\n * request, false otherwise.\n */\nexport const isGadgetServicesRequest = (options: OptionsInit): boolean => {\n return options.url instanceof URL && options.url.host === config.domains.services;\n};\n\n/**\n * Loads the cookie from the session.\n *\n * @returns The cookie string or undefined if there is no session.\n */\nexport const loadCookie = (): string | undefined => {\n const token = readSession();\n return token && `session=${encodeURIComponent(token)};`;\n};\n\n/**\n * Loads the authentication headers.\n *\n * @returns The authentication headers as a record of key-value pairs, or undefined if no headers are available.\n */\nexport const loadAuthHeaders = (): Record<string, string> | undefined => {\n const cookie = loadCookie();\n if (cookie) {\n log.trace(\"using cookie as auth header\", {}, { cookie });\n return { cookie };\n }\n\n const token = readToken();\n if (token) {\n log.trace(\"using token as auth header\", {}, { token });\n return { \"x-platform-access-token\": token };\n }\n\n return undefined;\n};\n\nexport const isUnauthorizedError = (error: unknown): error is HTTPError => {\n return error instanceof HTTPError && error.response.statusCode === 401;\n};\n\n/**\n * Swallows unauthorized errors and logs a warning, rethrows all other\n * errors.\n *\n * @param ctx - The current context.\n * @param error - The error to handle.\n */\nexport const swallowUnauthorized = (ctx: Context, error: unknown): void => {\n if (isUnauthorizedError(error)) {\n ctx.log.warn(\"swallowing unauthorized error\", { error });\n return;\n }\n throw error;\n};\n", "import { got, type OptionsInit } from \"got\";\nimport ms from \"ms\";\nimport assert from \"node:assert\";\nimport { Agent as HttpAgent } from \"node:http\";\nimport { Agent as HttpsAgent } from \"node:https\";\nimport { Context } from \"../command/context.js\";\nimport { config } from \"../config/config.js\";\nimport { sprint } from \"../output/sprint.js\";\nimport { writeSession } from \"../user/session.js\";\nimport { serializeError } from \"../util/object.js\";\nimport { isGadgetServicesRequest } from \"./auth.js\";\n\nexport type HttpOptions = OptionsInit;\n\nconst getContext = (options: HttpOptions): Context => {\n assert(\n options.context?.[\"ctx\"] instanceof Context,\n sprint(`\n ctx must be provided to http requests:\n\n const response = await http({\n context: { ctx },\n ...options,\n });\n `),\n );\n\n return options.context[\"ctx\"] as Context;\n};\n\n/**\n * An instance of the `got` library with hooks for logging and handling\n * 401 errors. This should be used for all HTTP requests.\n */\nexport const http = got.extend({\n agent: {\n http: new HttpAgent({ keepAlive: true }),\n https: new HttpsAgent({ keepAlive: true }),\n },\n retry: {\n limit: 10,\n methods: [\"GET\", \"PUT\", \"HEAD\", \"DELETE\", \"OPTIONS\", \"TRACE\"],\n statusCodes: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],\n errorCodes: [\n \"ETIMEDOUT\",\n \"ECONNRESET\",\n \"EADDRINUSE\",\n \"ECONNREFUSED\",\n \"EPIPE\",\n \"ENOTFOUND\",\n \"ENETUNREACH\",\n \"EAI_AGAIN\",\n \"EADDRNOTAVAIL\",\n \"EHOSTUNREACH\",\n ],\n maxRetryAfter: undefined,\n calculateDelay: ({ computedValue }) => computedValue,\n backoffLimit: ms(\"5s\"),\n noise: 100,\n },\n hooks: {\n beforeRequest: [\n (options) => {\n const ctx = getContext(options);\n options.signal = ctx.signal;\n options.headers[\"user-agent\"] = config.versionFull;\n ctx.log.debug(\"http request\", {\n http: {\n request: {\n method: options.method,\n url: options.url?.toString(),\n },\n },\n });\n },\n ],\n beforeRetry: [\n (error, retryCount) => {\n const ctx = getContext(error.request?.options ?? error.options.context);\n\n ctx.log.warn(\"http request failed, retrying...\", {\n http: {\n retryCount,\n error: serializeError(error),\n request: error.request && {\n method: error.request.options.method,\n url: error.request.options.url?.toString(),\n },\n response: error.response && {\n statusCode: error.response.statusCode,\n traceId: error.response.headers[\"x-trace-id\"],\n durationMs: error.response.timings.phases.total,\n },\n },\n });\n },\n ],\n afterResponse: [\n (response) => {\n const ctx = getContext(response.request.options);\n ctx.log.debug(\"http response\", {\n http: {\n request: {\n method: response.request.options.method,\n url: response.request.options.url?.toString(),\n },\n response: {\n statusCode: response.statusCode,\n traceId: response.headers[\"x-trace-id\"],\n durationMs: response.timings.phases.total,\n },\n },\n });\n\n if (response.statusCode === 401 && isGadgetServicesRequest(response.request.options)) {\n // clear the session if the request was unauthorized\n writeSession(undefined);\n }\n\n return response;\n },\n ],\n },\n});\n"],
5
- "mappings": "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",
6
- "names": ["require_supports_color", "__commonJSMin", "exports", "module", "init_cjs", "os", "tty", "hasFlag", "env", "forceColor", "translateLevel", "level", "supportsColor", "haveStream", "streamIsTTY", "min", "osRelease", "sign", "version", "getSupportLevel", "stream", "require_supports_hyperlinks", "__commonJSMin", "exports", "module", "init_cjs", "supportsColor", "hasFlag", "parseVersion", "versionString", "m", "versions", "n", "supportsHyperlink", "stream", "env", "version", "require_arg", "__commonJSMin", "exports", "module", "init_cjs", "flagSymbol", "ArgError", "_ArgError", "msg", "code", "arg", "opts", "argv", "permissive", "stopAtPositional", "result", "aliases", "handlers", "key", "type", "isFlag", "fn", "value", "name", "prev", "i", "len", "wholeArg", "separatedArguments", "a", "j", "originalArgName", "argStr", "argName", "extended", "v", "existingCount", "init_cjs", "init_cjs", "ESC", "OSC", "BEL", "SEP", "isTerminalApp", "ansiEscapes", "x", "y", "returnValue", "count", "clear", "i", "text", "url", "buffer", "options", "cwd", "message", "hasX", "hasY", "ansi_escapes_default", "import_supports_hyperlinks", "terminalLink", "text", "url", "target", "options", "supportsHyperlinks", "ansi_escapes_default", "init_cjs", "randomUUID", "reportErrorAndExit", "ctx", "cause", "isAbortError", "error", "GGTError", "IsBug", "sendErrorToSentry", "installErrorHandlers", "initSentry", "handleError", "_GGTError", "env", "randomUUID", "message", "cleanStack", "workspaceRoot", "UnexpectedError", "rendered", "sprintln", "thisIsABug", "issueLink", "terminalLink", "options", "println", "serialized", "serializeError", "body", "EdgeCaseError", "init_cjs", "import_ms", "setTimeout", "delay", "duration", "options", "ms", "PromiseWrapper", "promise", "res", "err", "PromiseSignal", "resolve", "reject", "onfulfilled", "onrejected", "onfinally", "init_cjs", "import_arg", "parseArgs", "args", "options", "spec", "defaultValues", "key", "value", "alias", "parsed", "arg", "isNil", "error", "ArgError", "GGTError", "UnexpectedError", "IsBug", "source_default", "symbol", "init_cjs", "Context", "_Context", "PromiseSignal", "#log", "#onAborts", "#parent", "#command", "#user", "#app", "#env", "parent", "command", "args", "log", "error", "callback", "e", "user", "app", "env", "spec", "options", "parseArgs", "pick", "createLogger", "ctx", "defaults", "init_cjs", "log", "createLogger", "isGadgetServicesRequest", "options", "config", "loadCookie", "token", "readSession", "loadAuthHeaders", "cookie", "readToken", "isUnauthorizedError", "error", "HTTPError", "swallowUnauthorized", "ctx", "init_cjs", "import_ms", "assert", "HttpAgent", "HttpsAgent", "getContext", "options", "assert", "Context", "sprint", "http", "got", "HttpAgent", "HttpsAgent", "computedValue", "ms", "ctx", "config", "error", "retryCount", "serializeError", "response", "isGadgetServicesRequest", "writeSession"]
7
- }