@northflank/cli 0.9.6-beta.0 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 'use strict';const a12m=a12M;(function(N,M){const g=a12M,V=N();while(!![]){try{const L=-parseInt(g(0x247))/0x1+-parseInt(g(0x232))/0x2*(-parseInt(g(0x22e))/0x3)+-parseInt(g(0x1ef))/0x4+-parseInt(g(0x24f))/0x5*(-parseInt(g(0x249))/0x6)+parseInt(g(0x26b))/0x7*(-parseInt(g(0x248))/0x8)+parseInt(g(0x22d))/0x9*(parseInt(g(0x238))/0xa)+parseInt(g(0x202))/0xb;if(L===M)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(a12N,0xdc014));function a12N(){const N0=['3894nOYUak','\x20--','Fetching\x20data..','value','Which\x20metric\x20type\x20to\x20fetch','map','5615JUPrrt',',\x20metric\x20types:\x20','getAsciiChart','metricsSingle','min','name','unshift','slice','ApiClient','__esModule','buildId','@northflank/js-client','then','noDefaults','\x20seconds','printMetricsGraph','printMetricsSingle','Get\x20metrics\x20after\x20this\x20timestamp,\x20','toTimeString','-t,\x20--metricTypes\x20<metricTypes...>','askForJob','message','inquirerHelper','stdout','addOption','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','alias','keys','719236GdWzUx','Get\x20metrics\x20before\x20this\x20timestamp,\x20','commander','printResponse','job','container\x20','flatMap','endTime','toISOString','clear','error','handleError','exit','getTime','refreshInterval','printMetricsTable','No\x20metrics\x20found\x20for\x20this\x20query','../formatting/terminal-chart','askForProject','metadata','apiContext','-o,\x20--output\x20[output]','getCurrentProjectName','log','stringify','5281896xfVunT','apiClient','Option','../inquirer-helper','N/A','valueOf','json','addon','\x20to\x20get\x20logs\x20from','values','getMetricsCommand','--noDefaults','askForBuild','build-',',\x20duration:\x20','push','max','description','yml','17109235qpOVNW','bold','charAt','warning','filter','all\x20containers','metricId','rows','next','yaml','getPaddingDataStart',',\x20to:\x20','data','metricsApiClient','parseDateInput','choices','option','tsHint','../formatting/console-format-helpers','\x20for\x20container:\x20',',\x20from:\x20','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','startTime','chalk','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','printInitInfo','service','Error\x20while\x20fetching\x20metrics\x20entries:\x20','assertContextExisting','\x20in\x20project\x20','askForService','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','../utils','__awaiter','getCurrentServiceName','toFixed','toUpperCase','forEach','--endTime\x20<timestamp>','Get\x20metrics\x20for\x20the\x20specified\x20','metrics','pct','addonId','39249xYXiDy','68553avcjfE','Project\x20for\x20logs','apply','argParser','76SwYeMY','getPaddingDataEnd','length','--container\x20--containerId\x20[NAME]','default','--duration\x20[duration]','370zJwIsr','Metrics\x20for\x20','split','Metrics\x20overview','details','isNaN','done','serviceId','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)','\x20of\x20','format','assign','printAsTable','CliMetrics','time','886797ansGgN','16YawupM'];a12N=function(){return N0;};return a12N();}var __awaiter=this&&this[a12m(0x223)]||function(N,M,V,L){function k(R){return R instanceof V?R:new V(function(r){r(R);});}return new(V||(V=Promise))(function(R,r){const x=a12M;function Q(X){try{h(L['next'](X));}catch(u){r(u);}}function z(X){try{h(L['throw'](X));}catch(u){r(u);}}function h(X){const W=a12M;X[W(0x23e)]?R(X[W(0x24c)]):k(X[W(0x24c)])[W(0x25b)](Q,z);}h((L=L[x(0x230)](N,M||[]))[x(0x20a)]());});},__importDefault=this&&this['__importDefault']||function(N){const K=a12m;return N&&N[K(0x258)]?N:{'default':N};};Object['defineProperty'](exports,a12m(0x258),{'value':!![]}),exports[a12m(0x245)]=void 0x0;const js_client_1=require(a12m(0x25a)),utils_1=require(a12m(0x222)),inquirer_helper_1=require(a12m(0x1f2)),commander_1=require(a12m(0x26d)),terminal_chart_1=require(a12m(0x1e7)),console_format_helpers_1=require(a12m(0x214)),chalk_1=__importDefault(require(a12m(0x219)));function a12M(N,M){const V=a12N();return a12M=function(L,k){L=L-0x1e3;let R=V[L];return R;},a12M(N,M);}class CliMetrics{constructor(N){const A=a12m;this[A(0x1ea)]=N,this[A(0x1e4)]=0x2710,this['getStandardMetricsCommand']=(M,V)=>(0x0,utils_1['getCommand'])(!![])[A(0x254)]((V?'build-':'')+A(0x22a))[A(0x269)]((V?A(0x1fc):'')+'metric')[A(0x200)](A(0x229)+M)[A(0x212)]('--project\x20--projectId\x20[NAME]',A(0x22f))['option']('--'+M+A(0x24a)+M+'Id\x20[NAME]',M[A(0x204)](0x0)[A(0x226)]()+M[A(0x256)](0x1)+A(0x1f7))[A(0x212)](A(0x235),A(0x240))[A(0x212)]('--startTime\x20<timestamp>',A(0x260)+utils_1['tsHint'],utils_1[A(0x210)])['option'](A(0x228),A(0x26c)+utils_1['tsHint'],utils_1[A(0x210)])['option'](A(0x237),A(0x217))[A(0x267)](new commander_1[(A(0x1f1))]('-o,\x20--output\x20[output]','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.')[A(0x211)](Object['values'](['format',A(0x1f5),'yaml'])))[A(0x267)](new commander_1[(A(0x1f1))](A(0x262),A(0x24d))[A(0x211)](Object[A(0x1f8)](js_client_1['MetricType'])))[A(0x267)](new commander_1[(A(0x1f1))]('--timestamp\x20[timestamp]',A(0x21a)+utils_1[A(0x213)])[A(0x231)](utils_1[A(0x210)])['conflicts']([A(0x218),A(0x272)]))[A(0x212)](A(0x1fa),A(0x221),![])['addOption'](new commander_1['Option'](A(0x1eb),A(0x268))[A(0x211)](Object[A(0x1f8)]([A(0x242),A(0x1f5),A(0x20b)]))),this[A(0x25e)]=(M,V)=>{return L=>{const e=a12M,k=Object[e(0x26a)](L)[e(0x271)](R=>{const {values:r,metricInfo:Q}=L[R],{metricUnit:z,metricResolution:h}=Q;return r['map'](X=>{const f=a12M;var u,p;const {metadata:F,data:S}=X,b=V?(V===null||V===void 0x0?void 0x0:V['getTime']())>new Date()[f(0x1e3)]()?new Date():V:undefined,s=new Date((u=S===null||S===void 0x0?void 0x0:S[0x0])===null||u===void 0x0?void 0x0:u['ts']),y=new Date((p=S===null||S===void 0x0?void 0x0:S[S['length']-0x1])===null||p===void 0x0?void 0x0:p['ts']),c=this[f(0x20c)](M,s,h),T=this[f(0x233)](b,y,h),U=[...c,...S,...T],Z=U['map'](t=>[new Date(t['ts'])[f(0x1f4)](),Number(t['value'])])[f(0x206)](t=>!Number[f(0x23d)](t[0x0])),n=Math[f(0x253)](Math[f(0x1ff)](process[f(0x266)]['columns']-0xa,0xa),0x64),I=Math[f(0x253)](Math[f(0x1ff)](process[f(0x266)]['rows']-0x9,0xa),0xf),d=z===f(0x22b)?0x64:undefined,v=z===f(0x22b)?'%':z,a=(0x0,terminal_chart_1['downSampleData'])(Z,n),l=a[f(0x24e)](t=>t[0x1]),o={'min':0x0,'height':I,'max':d,'unit':v,'startTs':M!==null&&M!==void 0x0?M:s,'endTs':b!==null&&b!==void 0x0?b:y};return{'dataSeries':l,'metadata':F,'chartOpts':o,'metricInfo':Q};});})['flat']();if(k[e(0x234)]===0x0)(0x0,utils_1[e(0x205)])(e(0x1e6));else k[e(0x227)](R=>{const G=e,{dataSeries:r,metadata:Q,chartOpts:z,metricInfo:h}=R,{containerId:X,volumeId:u}=Q,p=u?',\x20volume:\x20'+u:'';console[G(0x1ed)](h[G(0x208)]+G(0x215)+chalk_1[G(0x236)][G(0x203)](X)+p),console[G(0x1ed)]((0x0,terminal_chart_1[G(0x251)])(r,z));});};},this[A(0x1e5)]=(M,V,L)=>()=>__awaiter(this,void 0x0,void 0x0,function*(){const q=A;try{const k=yield this[q(0x20f)][q(0x22a)][q(0x252)](M,V,L);console[q(0x274)]();if(k[q(0x275)])(0x0,utils_1[q(0x275)])(q(0x21d)+k[q(0x275)][q(0x264)]);else this[q(0x25f)](k[q(0x20e)]);}catch(R){console[q(0x274)](),(0x0,utils_1[q(0x275)])(q(0x21d)+R['message']);}}),this[A(0x276)]=M=>{const i=A;if(M[i(0x275)])throw new Error(i(0x21d)+M[i(0x275)]['message']+'\x20'+JSON[i(0x1ee)](M[i(0x275)][i(0x23c)]));},this['printInitInfo']=(M,V,L,k,R)=>{const w=A;if(R===!![])return;const {metricTypes:r,endTime:Q,startTime:z,duration:h,containerId:X}=k,u=z?w(0x216)+z[w(0x273)]():'',p=Q?w(0x20d)+Q[w(0x273)]():'',F=h?w(0x1fd)+h+w(0x25d):'',S=X?w(0x270)+chalk_1['default'][w(0x203)](X):w(0x207),b=M+'\x20'+chalk_1['default'][w(0x203)](V)+w(0x21f)+chalk_1[w(0x236)]['bold'](L),s=''+u+p+F,y=r?w(0x250)+(r===null||r===void 0x0?void 0x0:r['join'](',')):'';console[w(0x1ed)](w(0x239)+S+w(0x241)+b+y+s);},this[A(0x1f0)]=new js_client_1[(A(0x257))](N,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent']}),this['metricsApiClient']=this[A(0x1f0)],this[A(0x265)]=new inquirer_helper_1['InquirerHelper'](this[A(0x1f0)]);}[a12m(0x1f9)](N,M=![]){const V=(k,R)=>__awaiter(this,void 0x0,void 0x0,function*(){const E=a12M,r=R[E(0x25c)],{apiContext:Q,inquirerHelper:z}=this;switch(N){case'service':{const h=r?undefined:Q[E(0x224)]();return R[E(0x23f)]||h||(yield z[E(0x220)](k)());}case'job':{const X=r?undefined:Q[E(0x224)]();return R['jobId']||X||(yield z[E(0x263)](k)());}case E(0x1f6):{const u=r?undefined:Q[E(0x224)]();return R[E(0x22c)]||u||(yield z['askForAddon'](k)());}}}),L=(k,R,r)=>__awaiter(this,void 0x0,void 0x0,function*(){const D=a12M;if(M)return r[D(0x259)]||(yield this['inquirerHelper'][D(0x1fb)](k,N===D(0x21c)?R:undefined,N===D(0x26f)?R:undefined)());return undefined;});return this['getStandardMetricsCommand'](N,M)['action'](k=>__awaiter(this,void 0x0,void 0x0,function*(){const Y=a12M,{noDefaults:R,projectId:r,containerId:Q,duration:z,timestamp:h,output:X,startTime:u,endTime:p,metricTypes:F,quiet:S}=k;(0x0,utils_1[Y(0x21e)])(this[Y(0x1f0)]);if(u&&p&&z)throw new Error('Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.');const {apiContext:b,inquirerHelper:s,metricsApiClient:y}=this,c=R?undefined:b[Y(0x1ec)](),T=r||c||(yield s[Y(0x1e8)]()),U=yield V(T,k),Z=yield L(T,U,k),n={'projectId':T,'entityId':U,'buildId':Z},I={'containerName':Q,'startTime':u,'endTime':p,'duration':z,'timestamp':h,'metricTypes':F},d=!(u||p||z);if(!S&&X!=='yaml'&&X!==Y(0x201)&&X!=='json')this[Y(0x21b)](N,U,T,k,S);if(d){if(X!==undefined){const v=yield y[Y(0x22a)][Y(0x252)](n,I,N);this[Y(0x276)](v),(0x0,console_format_helpers_1[Y(0x26e)])(X,v[Y(0x20e)]);}else[...Array(process[Y(0x266)][Y(0x209)]-0x1)][Y(0x227)]((a,l)=>l===0x0?console['log'](Y(0x24b)):console[Y(0x1ed)]()),yield this[Y(0x1e5)](n,I,N)(),setInterval(this[Y(0x1e5)](n,I,N),this[Y(0x1e4)]),yield new Promise(a=>setTimeout(a,this[Y(0x1e4)]*0x64));}else{const a=yield y[Y(0x22a)]['metricsRange'](n,I,N);this[Y(0x276)](a),X!==undefined?(0x0,console_format_helpers_1[Y(0x26e)])(X,a[Y(0x20e)]):this[Y(0x25e)](u,p!==null&&p!==void 0x0?p:new Date())(a[Y(0x20e)]);}process[Y(0x277)]();}));}['printMetricsSingle'](N){const P=a12m,M=(k,R)=>{const J=a12M;if(!(R===null||R===void 0x0?void 0x0:R[J(0x24c)]))J(0x1f3);const r=k['metricUnit']==='pct'?'%':k['metricUnit'];return''+Number(R===null||R===void 0x0?void 0x0:R[J(0x24c)])[J(0x225)](0x3)+r;},V=k=>{const j=a12M;if(!(k===null||k===void 0x0?void 0x0:k['ts']))j(0x1f3);return k['ts'][j(0x261)]()[j(0x23a)]('\x20')[0x0];},L={};Object[P(0x26a)](N)[P(0x227)](k=>{const H=P,{values:R,metricInfo:r}=N[k];return R[H(0x227)](Q=>{const B=H;var z,h;const X=Q[B(0x1e9)]['containerId'];Object[B(0x243)](L,{[X]:Object[B(0x243)](Object['assign']({},L===null||L===void 0x0?void 0x0:L[X]),{[B(0x246)]:V((z=Q[B(0x20e)])===null||z===void 0x0?void 0x0:z[0x0]),'containerId':X,[r['metricId']]:M(r,(h=Q['data'])===null||h===void 0x0?void 0x0:h[0x0])})});});}),(0x0,console_format_helpers_1[P(0x244)])(Object[P(0x1f8)](L),P(0x23b));}[a12m(0x20c)](N,M,V){const O=a12m,L=r=>new Date(r['getTime']()-k),k=V*0x3e8;if(!N)return[];if(!M)return[];if(L(M)[O(0x1e3)]()<N[O(0x1e3)]())return[];const R=[{'ts':L(M),'value':0x0}];while(L(R[R[O(0x234)]-0x1]['ts'])[O(0x1e3)]()<=N[O(0x1e3)]()){R[O(0x255)]({'ts':L(R[R[O(0x234)]-0x1]['ts']),'value':0x0});}return R;}[a12m(0x233)](N,M,V){const C=a12m,L=r=>new Date(r['getTime']()+k),k=V*0x3e8;if(!N)return[];if(!M)return[];if(L(M)[C(0x1e3)]()>N[C(0x1e3)]())return[];const R=[{'ts':L(M),'value':0x0}];while(L(R[R['length']-0x1]['ts'])[C(0x1e3)]()<=N[C(0x1e3)]()){R[C(0x1fe)]({'ts':L(R[R['length']-0x1]['ts']),'value':0x0});}return R;}}exports[a12m(0x245)]=CliMetrics;
1
+ 'use strict';const a12i=a12z;function a12z(u,z){const D=a12u();return a12z=function(M,H){M=M-0x112;let O=D[M];return O;},a12z(u,z);}(function(u,z){const r=a12z,D=u();while(!![]){try{const M=-parseInt(r(0x16e))/0x1+-parseInt(r(0x1a2))/0x2+parseInt(r(0x139))/0x3*(parseInt(r(0x17e))/0x4)+parseInt(r(0x17f))/0x5+parseInt(r(0x12f))/0x6*(-parseInt(r(0x11e))/0x7)+parseInt(r(0x112))/0x8*(parseInt(r(0x147))/0x9)+parseInt(r(0x15a))/0xa;if(M===z)break;else D['push'](D['shift']());}catch(H){D['push'](D['shift']());}}}(a12u,0x311ed));var __awaiter=this&&this[a12i(0x167)]||function(u,z,D,M){function H(O){return O instanceof D?O:new D(function(t){t(O);});}return new(D||(D=Promise))(function(O,t){const C=a12z;function g(N){const U=a12z;try{h(M[U(0x163)](N));}catch(Z){t(Z);}}function T(N){try{h(M['throw'](N));}catch(Z){t(Z);}}function h(N){const L=a12z;N[L(0x17d)]?O(N['value']):H(N['value'])[L(0x144)](g,T);}h((M=M[C(0x191)](u,z||[]))[C(0x163)]());});},__importDefault=this&&this[a12i(0x182)]||function(u){const j=a12i;return u&&u[j(0x143)]?u:{'default':u};};Object[a12i(0x133)](exports,a12i(0x143),{'value':!![]}),exports['CliMetrics']=void 0x0;const js_client_1=require('@northflank/js-client'),utils_1=require('../utils'),inquirer_helper_1=require('../inquirer-helper'),commander_1=require(a12i(0x188)),terminal_chart_1=require(a12i(0x121)),console_format_helpers_1=require(a12i(0x15f)),chalk_1=__importDefault(require(a12i(0x13b)));class CliMetrics{constructor(u){const J=a12i;this[J(0x125)]=u,this[J(0x192)]=0x2710,this[J(0x177)]=(z,D)=>(0x0,utils_1[J(0x129)])(!![])[J(0x136)]((D?J(0x19f):'')+'metrics')[J(0x14a)]((D?J(0x19f):'')+J(0x137))[J(0x1a0)]('Get\x20metrics\x20for\x20the\x20specified\x20'+z)[J(0x123)]('--project\x20--projectId\x20[NAME]',J(0x132))['option']('--'+z+J(0x12c)+z+J(0x169),z[J(0x178)](0x0)[J(0x161)]()+z[J(0x17b)](0x1)+J(0x118))[J(0x123)](J(0x13d),'Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)')[J(0x123)](J(0x1a4),J(0x156)+utils_1[J(0x16d)],utils_1[J(0x194)])[J(0x123)](J(0x15e),J(0x19e)+utils_1[J(0x16d)],utils_1[J(0x194)])[J(0x123)](J(0x130),J(0x152))['addOption'](new commander_1[(J(0x158))]('-o,\x20--output\x20[output]',J(0x193))[J(0x16a)](Object[J(0x174)]([J(0x113),'json',J(0x1a7)])))['addOption'](new commander_1['Option'](J(0x141),'Which\x20metric\x20type\x20to\x20fetch')[J(0x16a)](Object[J(0x174)](js_client_1[J(0x134)])))['addOption'](new commander_1[(J(0x158))](J(0x185),J(0x19c)+utils_1[J(0x16d)])[J(0x181)](utils_1[J(0x194)])[J(0x11a)]([J(0x145),J(0x116)]))[J(0x123)]('--noDefaults',J(0x119),![])['addOption'](new commander_1[(J(0x158))](J(0x124),J(0x193))[J(0x16a)](Object[J(0x174)]([J(0x113),'json','yaml']))),this[J(0x180)]=(z,D)=>{return M=>{const a=a12z,H=Object[a(0x168)](M)['flatMap'](O=>{const {values:t,metricInfo:g}=M[O],{metricUnit:T,metricResolution:h}=g;return t['map'](N=>{const V=a12z;var Z,E;const {metadata:X,data:R}=N,b=D?(D===null||D===void 0x0?void 0x0:D['getTime']())>new Date()[V(0x170)]()?new Date():D:undefined,A=new Date((Z=R===null||R===void 0x0?void 0x0:R[0x0])===null||Z===void 0x0?void 0x0:Z['ts']),o=new Date((E=R===null||R===void 0x0?void 0x0:R[R['length']-0x1])===null||E===void 0x0?void 0x0:E['ts']),d=this[V(0x115)](z,A,h),K=this[V(0x117)](b,o,h),w=[...d,...R,...K],y=w['map'](Q=>[new Date(Q['ts'])[V(0x18c)](),Number(Q[V(0x11f)])])['filter'](Q=>!Number['isNaN'](Q[0x0])),k=Math['min'](Math[V(0x196)](process['stdout'][V(0x162)]-0xa,0xa),0x64),l=Math[V(0x198)](Math['max'](process['stdout']['rows']-0x9,0xa),0xf),W=T===V(0x15c)?0x64:undefined,F=T===V(0x15c)?'%':T,I=(0x0,terminal_chart_1[V(0x11b)])(y,k),q=I[V(0x165)](Q=>Q[0x1]),e={'min':0x0,'height':l,'max':W,'unit':F,'startTs':z!==null&&z!==void 0x0?z:A,'endTs':b!==null&&b!==void 0x0?b:o};return{'dataSeries':q,'metadata':X,'chartOpts':e,'metricInfo':g};});})[a(0x195)]();if(H[a(0x142)]===0x0)(0x0,utils_1[a(0x120)])('No\x20metrics\x20found\x20for\x20this\x20query');else H[a(0x122)](O=>{const m=a,{dataSeries:t,metadata:g,chartOpts:T,metricInfo:h}=O,{containerId:N,volumeId:Z}=g,E=Z?',\x20volume:\x20'+Z:'';console[m(0x159)](h['metricId']+'\x20for\x20container:\x20'+chalk_1[m(0x12a)]['bold'](N)+E),console[m(0x159)]((0x0,terminal_chart_1[m(0x15b)])(t,T));});};},this[J(0x16c)]=(z,D,M)=>()=>__awaiter(this,void 0x0,void 0x0,function*(){const B=J;try{const H=yield this[B(0x150)][B(0x186)][B(0x18a)](z,D,M);console[B(0x138)]();if(H['error'])(0x0,utils_1[B(0x14b)])(B(0x1a6)+H['error']['message']);else this[B(0x175)](H['data']);}catch(O){console[B(0x138)](),(0x0,utils_1[B(0x14b)])(B(0x1a6)+O[B(0x19b)]);}}),this[J(0x12e)]=z=>{const f=J;if(z[f(0x14b)])throw new Error(f(0x1a6)+z['error'][f(0x19b)]+'\x20'+JSON[f(0x12d)](z[f(0x14b)][f(0x127)]));},this[J(0x166)]=(z,D,M,H,O)=>{const G=J;if(O===!![])return;const {metricTypes:t,endTime:g,startTime:T,duration:h,containerId:N}=H,Z=T?G(0x16b)+T[G(0x16f)]():'',E=g?G(0x135)+g[G(0x16f)]():'',X=h?G(0x17c)+h+'\x20seconds':'',R=N?G(0x14f)+chalk_1['default'][G(0x140)](N):G(0x172),b=z+'\x20'+chalk_1[G(0x12a)]['bold'](D)+'\x20in\x20project\x20'+chalk_1[G(0x12a)][G(0x140)](M),A=''+Z+E+X,o=t?G(0x154)+(t===null||t===void 0x0?void 0x0:t[G(0x14e)](',')):'';console[G(0x159)](G(0x19a)+R+G(0x126)+b+o+A);},this[J(0x173)]=new js_client_1['ApiClient'](u,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1[J(0x1a1)]}),this['metricsApiClient']=this[J(0x173)],this[J(0x146)]=new inquirer_helper_1['InquirerHelper'](this[J(0x173)]);}[a12i(0x19d)](u,z=![]){const s=a12i,D=(H,O)=>__awaiter(this,void 0x0,void 0x0,function*(){const Y=a12z,t=O[Y(0x18b)],{apiContext:g,inquirerHelper:T}=this;switch(u){case Y(0x183):{const h=t?undefined:g[Y(0x128)]();return O[Y(0x14c)]||h||(yield T[Y(0x1a3)](H)());}case Y(0x151):{const N=t?undefined:g[Y(0x128)]();return O[Y(0x189)]||N||(yield T[Y(0x197)](H)());}case Y(0x11c):{const Z=t?undefined:g[Y(0x128)]();return O[Y(0x149)]||Z||(yield T['askForAddon'](H)());}}}),M=(H,O,t)=>__awaiter(this,void 0x0,void 0x0,function*(){const P=a12z;if(z)return t[P(0x179)]||(yield this[P(0x146)][P(0x131)](H,u==='service'?O:undefined,u==='job'?O:undefined)());return undefined;});return this[s(0x177)](u,z)[s(0x11d)](H=>__awaiter(this,void 0x0,void 0x0,function*(){const v=s,{noDefaults:O,projectId:t,containerId:g,duration:T,timestamp:h,output:N,startTime:Z,endTime:E,metricTypes:X,quiet:R}=H;(0x0,utils_1[v(0x164)])(this[v(0x173)]);if(Z&&E&&T)throw new Error(v(0x157));const {apiContext:b,inquirerHelper:A,metricsApiClient:o}=this,d=O?undefined:b[v(0x184)](),K=t||d||(yield A[v(0x176)]()),w=yield D(K,H),y=yield M(K,w,H),k={'projectId':K,'entityId':w,'buildId':y},l={'containerName':g,'startTime':Z,'endTime':E,'duration':T,'timestamp':h,'metricTypes':X},W=!(Z||E||T);if(!R&&N!==v(0x1a7)&&N!==v(0x171)&&N!==v(0x12b))this['printInitInfo'](u,w,K,H,R);if(W){if(N!==undefined){const F=yield o[v(0x186)][v(0x18a)](k,l,u);this[v(0x12e)](F),(0x0,console_format_helpers_1[v(0x155)])(N,F[v(0x114)]);}else[...Array(process[v(0x13a)][v(0x18e)]-0x1)][v(0x122)]((I,q)=>q===0x0?console[v(0x159)](v(0x14d)):console[v(0x159)]()),yield this[v(0x16c)](k,l,u)(),setInterval(this[v(0x16c)](k,l,u),this[v(0x192)]),yield new Promise(I=>setTimeout(I,this[v(0x192)]*0x64));}else{const I=yield o[v(0x186)][v(0x18d)](k,l,u);this[v(0x12e)](I),N!==undefined?(0x0,console_format_helpers_1[v(0x155)])(N,I[v(0x114)]):this[v(0x180)](Z,E!==null&&E!==void 0x0?E:new Date())(I['data']);}process[v(0x13c)]();}));}['printMetricsSingle'](u){const n=a12i,z=(H,O)=>{const x=a12z;if(!(O===null||O===void 0x0?void 0x0:O[x(0x11f)]))x(0x160);const t=H['metricUnit']===x(0x15c)?'%':H['metricUnit'];return''+Number(O===null||O===void 0x0?void 0x0:O[x(0x11f)])[x(0x1a5)](0x3)+t;},D=H=>{const p=a12z;if(!(H===null||H===void 0x0?void 0x0:H['ts']))'N/A';return H['ts'][p(0x190)]()[p(0x13e)]('\x20')[0x0];},M={};Object[n(0x168)](u)[n(0x122)](H=>{const c=n,{values:O,metricInfo:t}=u[H];return O[c(0x122)](g=>{const S=c;var T,h;const N=g[S(0x13f)][S(0x18f)];Object[S(0x153)](M,{[N]:Object[S(0x153)](Object[S(0x153)]({},M===null||M===void 0x0?void 0x0:M[N]),{[S(0x15d)]:D((T=g[S(0x114)])===null||T===void 0x0?void 0x0:T[0x0]),'containerId':N,[t[S(0x17a)]]:z(t,(h=g[S(0x114)])===null||h===void 0x0?void 0x0:h[0x0])})});});}),(0x0,console_format_helpers_1[n(0x187)])(Object[n(0x174)](M),n(0x199));}[a12i(0x115)](u,z,D){const u0=a12i,M=t=>new Date(t[u0(0x170)]()-H),H=D*0x3e8;if(!u)return[];if(!z)return[];if(M(z)[u0(0x170)]()<u['getTime']())return[];const O=[{'ts':M(z),'value':0x0}];while(M(O[O[u0(0x142)]-0x1]['ts'])[u0(0x170)]()<=u['getTime']()){O['unshift']({'ts':M(O[O[u0(0x142)]-0x1]['ts']),'value':0x0});}return O;}['getPaddingDataEnd'](u,z,D){const u1=a12i,M=t=>new Date(t[u1(0x170)]()+H),H=D*0x3e8;if(!u)return[];if(!z)return[];if(M(z)[u1(0x170)]()>u[u1(0x170)]())return[];const O=[{'ts':M(z),'value':0x0}];while(M(O[O[u1(0x142)]-0x1]['ts'])[u1(0x170)]()<=u[u1(0x170)]()){O['push']({'ts':M(O[O[u1(0x142)]-0x1]['ts']),'value':0x0});}return O;}}function a12u(){const u2=['printMetricsGraph','argParser','__importDefault','service','getCurrentProjectName','--timestamp\x20[timestamp]','metrics','printAsTable','commander','jobId','metricsSingle','noDefaults','valueOf','metricsRange','rows','containerId','toTimeString','apply','refreshInterval','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','parseDateInput','flat','max','askForJob','min','Metrics\x20overview','Metrics\x20for\x20','message','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','getMetricsCommand','Get\x20metrics\x20before\x20this\x20timestamp,\x20','build-','description','customUserAgent','561338UuESqT','askForService','--startTime\x20<timestamp>','toFixed','Error\x20while\x20fetching\x20metrics\x20entries:\x20','yaml','1016VEnBRC','format','data','getPaddingDataStart','endTime','getPaddingDataEnd','\x20to\x20get\x20logs\x20from','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','conflicts','downSampleData','addon','action','7iUddrv','value','warning','../formatting/terminal-chart','forEach','option','-o,\x20--output\x20[output]','apiContext','\x20of\x20','details','getCurrentServiceName','getCommand','default','json','\x20--','stringify','handleError','944226EjzpKZ','--duration\x20[duration]','askForBuild','Project\x20for\x20logs','defineProperty','MetricType',',\x20to:\x20','name','metric','clear','54prCcNh','stdout','chalk','exit','--container\x20--containerId\x20[NAME]','split','metadata','bold','-t,\x20--metricTypes\x20<metricTypes...>','length','__esModule','then','startTime','inquirerHelper','10593xgymJz','CliMetrics','addonId','alias','error','serviceId','Fetching\x20data..','join','container\x20','metricsApiClient','job','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','assign',',\x20metric\x20types:\x20','printResponse','Get\x20metrics\x20after\x20this\x20timestamp,\x20','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','Option','log','426280MPVLiF','getAsciiChart','pct','time','--endTime\x20<timestamp>','../formatting/console-format-helpers','N/A','toUpperCase','columns','next','assertContextExisting','map','printInitInfo','__awaiter','keys','Id\x20[NAME]','choices',',\x20from:\x20','printMetricsTable','tsHint','99143ZXvpQT','toISOString','getTime','yml','all\x20containers','apiClient','values','printMetricsSingle','askForProject','getStandardMetricsCommand','charAt','buildId','metricId','slice',',\x20duration:\x20','done','80004kzSyXA','931275Jbukwx'];a12u=function(){return u2;};return a12u();}exports[a12i(0x148)]=CliMetrics;
@@ -1 +1 @@
1
- 'use strict';function a13M(N,M){const V=a13N();return a13M=function(L,k){L=L-0xf1;let R=V[L];return R;},a13M(N,M);}const a13s=a13M;(function(N,M){const p=a13M,V=N();while(!![]){try{const L=parseInt(p(0x10f))/0x1+-parseInt(p(0x107))/0x2+parseInt(p(0x105))/0x3+parseInt(p(0x117))/0x4+parseInt(p(0x116))/0x5+parseInt(p(0xf5))/0x6+-parseInt(p(0xfc))/0x7;if(L===M)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(a13N,0x42ac6));function a13N(){const I=['9018184IuYIIX','\x20Loading\x20more\x20options','loading','reloadText','opt','handleDynamicPageLoad','value','next','onDownKey','288882fMEYzf','choices','221280dTiugZ','DynamicReloadPaginationPrompt','__importDefault','pagOpt','inquirer/lib/prompts/list','push','then','name','184859PbdKFC','catch','onUpKey','throw','..\x20Load\x20more\x20options\x20..','loop','realLength','2059145BwrIlx','1996564awnbNb','__esModule','chalk','default','render','2879538VAWDOL','defineProperty','length','selected','map','down','nextPageCursor'];a13N=function(){return I;};return a13N();}var __awaiter=this&&this['__awaiter']||function(N,M,V,L){function k(R){return R instanceof V?R:new V(function(r){r(R);});}return new(V||(V=Promise))(function(R,r){function Q(X){const F=a13M;try{h(L[F(0x103)](X));}catch(u){r(u);}}function z(X){const S=a13M;try{h(L[S(0x112)](X));}catch(u){r(u);}}function h(X){const b=a13M;X['done']?R(X[b(0x102)]):k(X['value'])[b(0x10d)](Q,z);}h((L=L['apply'](N,M||[]))['next']());});},__importDefault=this&&this[a13s(0x109)]||function(N){return N&&N['__esModule']?N:{'default':N};};Object[a13s(0xf6)](exports,a13s(0xf1),{'value':!![]}),exports[a13s(0x108)]=void 0x0;const list_1=__importDefault(require(a13s(0x10b))),choice_1=__importDefault(require('inquirer/lib/objects/choice')),chalk_1=__importDefault(require(a13s(0xf2)));function incrementListIndex(N,M,V){const y=a13s,L=V['choices'][y(0x115)],k=y(0x114)in V?Boolean(V[y(0x114)]):!![];if(M==='up'){if(N>0x0)return N-0x1;return k?L-0x1:N;}if(M==='down'){if(N<L-0x1)return N+0x1;return k?0x0:N;}throw new Error('dir\x20must\x20be\x20up\x20or\x20down');}class DynamicReloadPaginationPrompt extends list_1[a13s(0xf3)]{constructor(N,M,V){const c=a13s;super(N,M,V),this[c(0xff)]=chalk_1['default']['italic'](c(0x113)),this['loading']=![],this['pagOpt']=this['opt'],this[c(0xfb)]=this[c(0x10a)]['nextPageCursor'],this[c(0xfb)]!==undefined&&this[c(0x100)]['choices'][c(0x10c)](new choice_1[(c(0xf3))](this[c(0xff)],this[c(0xff)]));}[a13s(0x111)](){const T=a13s;if(this[T(0xfe)])return;this['selected']=incrementListIndex(this[T(0xf8)],'up',this[T(0x100)]),this[T(0xf4)]();}[a13s(0x104)](){return __awaiter(this,void 0x0,void 0x0,function*(){const U=a13M;if(this[U(0xfe)])return;this[U(0xf8)]=incrementListIndex(this[U(0xf8)],U(0xfa),this[U(0x100)]),yield this[U(0x101)](),this[U(0xf4)]();});}['handleDynamicPageLoad'](){return __awaiter(this,void 0x0,void 0x0,function*(){const Z=a13M;if(this[Z(0xf8)]>=this[Z(0x100)]['choices'][Z(0xf7)]-0x1){if(this[Z(0xfb)]===undefined)return;this[Z(0xfe)]=!![];let N=0x0;const M=setInterval(()=>{const n=Z,R=['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'],r=chalk_1[n(0xf3)]['italic'](R[N%R[n(0xf7)]]+n(0xfd));this['opt'][n(0x106)][n(0x106)][this['selected']][n(0x10e)]=''+r,N+=0x1,this[n(0xf4)]();},0x50),{elements:V,nextPageCursor:L}=yield this[Z(0x10a)]['loadMore']({'nextPageCursor':this['nextPageCursor']})[Z(0x110)](()=>({'elements':[],'nextPageCursor':undefined}));this['nextPageCursor']=L;const k=V[Z(0xf9)](R=>new choice_1[(Z(0xf3))](R,R));this[Z(0x100)]['choices']['choices']['splice'](this[Z(0xf8)],0x1),this[Z(0x100)][Z(0x106)][Z(0x10c)](...k),L!==undefined&&this[Z(0x100)][Z(0x106)][Z(0x10c)](new choice_1[(Z(0xf3))](this[Z(0xff)],this[Z(0xff)])),clearInterval(M),this[Z(0xfe)]=![];}});}}exports['DynamicReloadPaginationPrompt']=DynamicReloadPaginationPrompt;
1
+ 'use strict';const a13X=a13z;(function(u,z){const E=a13z,D=u();while(!![]){try{const M=parseInt(E(0x1b7))/0x1+parseInt(E(0x1b5))/0x2+-parseInt(E(0x1b3))/0x3+parseInt(E(0x1a7))/0x4*(-parseInt(E(0x1c8))/0x5)+parseInt(E(0x19f))/0x6+-parseInt(E(0x1bc))/0x7*(-parseInt(E(0x1c1))/0x8)+parseInt(E(0x1c7))/0x9*(-parseInt(E(0x1c5))/0xa);if(M===z)break;else D['push'](D['shift']());}catch(H){D['push'](D['shift']());}}}(a13u,0x1da9e));function a13z(u,z){const D=a13u();return a13z=function(M,H){M=M-0x19c;let O=D[M];return O;},a13z(u,z);}var __awaiter=this&&this[a13X(0x1a1)]||function(u,z,D,M){function H(O){return O instanceof D?O:new D(function(t){t(O);});}return new(D||(D=Promise))(function(O,t){const A=a13z;function g(N){try{h(M['next'](N));}catch(Z){t(Z);}}function T(N){const R=a13z;try{h(M[R(0x1a9)](N));}catch(Z){t(Z);}}function h(N){const b=a13z;N[b(0x1af)]?O(N[b(0x1b2)]):H(N[b(0x1b2)])[b(0x1a3)](g,T);}h((M=M[A(0x19c)](u,z||[]))['next']());});},__importDefault=this&&this[a13X(0x1c0)]||function(u){return u&&u['__esModule']?u:{'default':u};};function a13u(){const l=['67172ClKRTv','down','141440HMqBbi','italic','__esModule','length','map','161nUQjtk','opt','loading','loop','__importDefault','63896vuUszI','render','inquirer/lib/objects/choice','splice','10ySPVUf','name','1863180syXjdm','12895dHPMsf','apply','inquirer/lib/prompts/list','catch','852498NgMFtE','selected','__awaiter','pagOpt','then','choices','onDownKey','onUpKey','232WrODbN','push','throw','dir\x20must\x20be\x20up\x20or\x20down','nextPageCursor','chalk','handleDynamicPageLoad','\x20Loading\x20more\x20options','done','loadMore','default','value','68118oVriSF','reloadText'];a13u=function(){return l;};return a13u();}Object['defineProperty'](exports,a13X(0x1b9),{'value':!![]}),exports['DynamicReloadPaginationPrompt']=void 0x0;const list_1=__importDefault(require(a13X(0x19d))),choice_1=__importDefault(require(a13X(0x1c3))),chalk_1=__importDefault(require(a13X(0x1ac)));function incrementListIndex(u,z,D){const o=a13X,M=D[o(0x1a4)]['realLength'],H='loop'in D?Boolean(D[o(0x1bf)]):!![];if(z==='up'){if(u>0x0)return u-0x1;return H?M-0x1:u;}if(z===o(0x1b6)){if(u<M-0x1)return u+0x1;return H?0x0:u;}throw new Error(o(0x1aa));}class DynamicReloadPaginationPrompt extends list_1[a13X(0x1b1)]{constructor(u,z,D){const d=a13X;super(u,z,D),this[d(0x1b4)]=chalk_1[d(0x1b1)][d(0x1b8)]('..\x20Load\x20more\x20options\x20..'),this['loading']=![],this[d(0x1a2)]=this[d(0x1bd)],this[d(0x1ab)]=this[d(0x1a2)]['nextPageCursor'],this['nextPageCursor']!==undefined&&this[d(0x1bd)][d(0x1a4)][d(0x1a8)](new choice_1['default'](this[d(0x1b4)],this['reloadText']));}[a13X(0x1a6)](){const K=a13X;if(this[K(0x1be)])return;this[K(0x1a0)]=incrementListIndex(this[K(0x1a0)],'up',this[K(0x1bd)]),this[K(0x1c2)]();}[a13X(0x1a5)](){return __awaiter(this,void 0x0,void 0x0,function*(){const w=a13z;if(this[w(0x1be)])return;this[w(0x1a0)]=incrementListIndex(this[w(0x1a0)],w(0x1b6),this[w(0x1bd)]),yield this[w(0x1ad)](),this[w(0x1c2)]();});}['handleDynamicPageLoad'](){return __awaiter(this,void 0x0,void 0x0,function*(){const y=a13z;if(this[y(0x1a0)]>=this['opt']['choices'][y(0x1ba)]-0x1){if(this['nextPageCursor']===undefined)return;this[y(0x1be)]=!![];let u=0x0;const z=setInterval(()=>{const k=y,O=['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'],t=chalk_1[k(0x1b1)]['italic'](O[u%O['length']]+k(0x1ae));this[k(0x1bd)]['choices']['choices'][this[k(0x1a0)]][k(0x1c6)]=''+t,u+=0x1,this['render']();},0x50),{elements:D,nextPageCursor:M}=yield this[y(0x1a2)][y(0x1b0)]({'nextPageCursor':this[y(0x1ab)]})[y(0x19e)](()=>({'elements':[],'nextPageCursor':undefined}));this['nextPageCursor']=M;const H=D[y(0x1bb)](O=>new choice_1[(y(0x1b1))](O,O));this[y(0x1bd)][y(0x1a4)][y(0x1a4)][y(0x1c4)](this[y(0x1a0)],0x1),this[y(0x1bd)]['choices'][y(0x1a8)](...H),M!==undefined&&this['opt'][y(0x1a4)][y(0x1a8)](new choice_1[(y(0x1b1))](this[y(0x1b4)],this[y(0x1b4)])),clearInterval(z),this['loading']=![];}});}}exports['DynamicReloadPaginationPrompt']=DynamicReloadPaginationPrompt;
@@ -1 +1 @@
1
- 'use strict';const a14v=a14M;function a14M(N,M){const V=a14N();return a14M=function(L,k){L=L-0xc1;let R=V[L];return R;},a14M(N,M);}function a14N(){const N0=['Forwarding\x20addon\x20','skipHostnamesText','project\x20for\x20forwarding','4612680iynljQ','message','Port-forwarding\x20for\x20the\x20specified\x20service','address','__awaiter','connection-error','action','bold','Cleaning\x20up\x20open\x20connections\x20failed:\x20','Port-forwarding\x20for\x20the\x20specified\x20addon','\x20service\x20ports','349704lXNfqM','noDefaultsText','Services:','__importDefault','__setModuleDefault','\x20is\x20running\x20and\x20reachable.','\x20is\x20exposed\x20on\x20','Failed:\x20','chalk','117990tnehxs','port','forward','\x20with\x20multiple\x20ports:','askForProject','service','option','SIGINT','forEach','stop','assertContextExisting','getOwnPropertyDescriptor','description','flat','create','forwarding','\x20with\x20these\x20hostnames:','\x20in\x20project\x20','Forwarding\x20service\x20','filter','success','exit','platform','\x20\x20\x20\x20\x20\x20\x20\x20\x20','error','\x20mode:\x20the\x20locally\x20forwarded\x20port\x20differs\x20from\x20the\x20actual\x20port\x20on\x20the\x20forwarded\x20service/addon.','getProxyForwarder','\x20\x20\x20No\x20running\x20container\x20found\x20for\x20','apiClient','default','--project\x20--projectId\x20[NAME]','\x20-\x20','hostnames','\x20is\x20exposed\x20with\x20multiple\x20','__createBinding','next','name','green','entries','--addon\x20--addonId\x20[NAME]','Only\x20expose\x20on\x20IP\x20address,\x20not\x20on\x20hostnames.\x20With\x20this\x20option,\x20no\x20root\x20permissions\x20are\x20required.','greenBright','askForService','alias','Project\x20for\x20forwarding','data.id','type','Service\x20to\x20forward','repeat','warning',',\x20hostname:\x20','all','getCurrentServiceName','done','Addon\x20to\x20forward','--skipHostnames','\x20to\x20','\x20flag\x20or\x20manually\x20append\x20following\x20entry\x20to\x20your\x20hosts\x20file\x20(','http://','__esModule','forwardProject','\x20mode.\x20If\x20hostname\x20forwarding\x20is\x20required,\x20remove\x20','addCommand','Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','Forwarding\x20','uniqBy','Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project','forwardAddon','Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.','length','142032sKyeLA','8320NXbhbh','lodash','2443gpScqc','133448shnypr','log','--noDefaults','getCommand','askForAddon','defineProperty','\x20with\x20hostname:\x20','Addons:','\x20\x20-\x20port\x20','win32','get','value','\x20\x20-\x20Address:\x20','prototype','canExecuteWithHostnames','ports','printHostsFileHint','CliPortForward','writable','protocol','map','C:/Windows/System32/drivers/etc/hosts','/etc/hosts','flatMap','51kEJKiy','3568YYTejr','printForwardingInfo','Error\x20occured\x20while\x20trying\x20to\x20forward\x20','getCurrentProjectName','throw','No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20','skipHostnames','join','\x20\x20If\x20you\x20have\x20added\x20entries\x20to\x20your\x20hosts\x20file,\x20it\x20is\x20recommended\x20to\x20remove\x20them\x20again\x20now.','portFwdCmd','data','@northflank/js-client','HTTP','addon','\x20and\x20','portName','groupBy','25PsUdVZ','--service\x20--serviceId\x20[NAME]'];a14N=function(){return N0;};return a14N();}(function(N,M){const d=a14M,V=N();while(!![]){try{const L=-parseInt(d(0x136))/0x1*(parseInt(d(0x11b))/0x2)+-parseInt(d(0xcb))/0x3+-parseInt(d(0x11e))/0x4*(parseInt(d(0x148))/0x5)+-parseInt(d(0x11a))/0x6+-parseInt(d(0x11d))/0x7*(-parseInt(d(0x137))/0x8)+parseInt(d(0xd4))/0x9+parseInt(d(0x14d))/0xa;if(L===M)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(a14N,0x1b0e6));var __createBinding=this&&this[a14v(0xf6)]||(Object[a14v(0xe2)]?function(N,M,V,L){const a=a14v;if(L===undefined)L=V;var R=Object[a(0xdf)](M,V);(!R||(a(0x128)in R?!M[a(0x10f)]:R[a(0x130)]||R['configurable']))&&(R={'enumerable':!![],'get':function(){return M[V];}}),Object[a(0x123)](N,L,R);}:function(N,M,V,L){if(L===undefined)L=V;N[L]=M[V];}),__setModuleDefault=this&&this[a14v(0xcf)]||(Object[a14v(0xe2)]?function(N,M){const l=a14v;Object['defineProperty'](N,l(0xf1),{'enumerable':!![],'value':M});}:function(N,M){const o=a14v;N[o(0xf1)]=M;}),__importStar=this&&this['__importStar']||function(N){const t=a14v;if(N&&N[t(0x10f)])return N;var M={};if(N!=null){for(var V in N)if(V!==t(0xf1)&&Object[t(0x12b)]['hasOwnProperty']['call'](N,V))__createBinding(M,N,V);}return __setModuleDefault(M,N),M;},__awaiter=this&&this[a14v(0xc4)]||function(N,M,V,L){function k(R){return R instanceof V?R:new V(function(r){r(R);});}return new(V||(V=Promise))(function(R,r){const W=a14M;function Q(X){try{h(L['next'](X));}catch(u){r(u);}}function z(X){const g=a14M;try{h(L[g(0x13b)](X));}catch(u){r(u);}}function h(X){const m=a14M;X[m(0x109)]?R(X[m(0x129)]):k(X[m(0x129)])['then'](Q,z);}h((L=L['apply'](N,M||[]))[W(0xf7)]());});},__importDefault=this&&this[a14v(0xce)]||function(N){const x=a14v;return N&&N[x(0x10f)]?N:{'default':N};};Object[a14v(0x123)](exports,'__esModule',{'value':!![]}),exports[a14v(0x12f)]=void 0x0;const js_client_1=require(a14v(0x142)),chalk_1=__importDefault(require(a14v(0xd3))),utils_1=require('../utils'),inquirer_helper_1=require('../inquirer-helper'),os=__importStar(require('os')),lodash_1=require(a14v(0x11c)),{EOL}=require('os');class CliPortForward{constructor(N){const K=a14v;this[K(0xcc)]='Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',this['skipHostnamesText']=K(0xfc),this[K(0xf0)]=new js_client_1['ApiClient'](N,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent']});const M=new inquirer_helper_1['InquirerHelper'](this['apiClient']);this[K(0x140)]=(0x0,utils_1['getCommand'])()['name'](K(0xd6))[K(0xff)]('fwd')['description'](K(0x118));const V=(0x0,utils_1[K(0x121)])(!![])[K(0xf8)](K(0x107))[K(0xe0)](K(0x116))['option'](K(0xf2),K(0x14c))[K(0xda)](K(0x120),this[K(0xcc)],![])['option']('--skipHostnames',this[K(0x14b)],![])['action'](({noDefaults:R,projectId:r,skipHostnames:Q})=>__awaiter(this,void 0x0,void 0x0,function*(){const A=K;(0x0,utils_1[A(0xde)])(this[A(0xf0)]);const z=this[A(0xee)](Q),h=R?undefined:N[A(0x13a)](),X=r||h||(yield M[A(0xd8)]());try{const {services:u,addons:p}=yield z[A(0x110)]({'projectId':X},Q);if(u[A(0x119)]+p[A(0x119)]<=0x0)(0x0,utils_1['warning'])(A(0x13c)+chalk_1[A(0xf1)][A(0xc7)](X));else{const F=u[A(0xe7)](y=>y['length']>0x0)['length'],S=p[A(0xe7)](s=>s['length']>0x0)[A(0x119)],b='\x20in\x20project\x20'+chalk_1[A(0xf1)][A(0xc7)](X);console['log'](A(0x114)+chalk_1[A(0xf1)][A(0xf9)][A(0xc7)](F+A(0xca))+A(0x145)+chalk_1[A(0xf1)][A(0xf9)][A(0xc7)](S+'\x20addon\x20ports')+b),console[A(0x11f)](),console[A(0x11f)](chalk_1[A(0xf1)][A(0xc7)](A(0xcd))),u[A(0xdc)](s=>{const e=A;if(s[e(0x119)]>=0x1&&!s[0x0]['error'])this[e(0x138)](s,{'type':'service','name':s[0x0][e(0x141)]['id']},Q);}),console[A(0x11f)](chalk_1[A(0xf1)][A(0xc7)](A(0x125))),p[A(0xdc)](s=>{const f=A;if(s[f(0x119)]>=0x1&&!s[0x0]['error'])this[f(0x138)](s,{'type':f(0x144),'name':s[0x0][f(0x141)]['id']},Q);}),this[A(0x12e)]([...u[A(0xe1)](),...p[A(0xe1)]()],Q);}}catch(s){(0x0,utils_1[A(0xec)])(A(0xd2)+s['message']);}})),L=(0x0,utils_1[K(0x121)])(!![])[K(0xf8)](K(0xd9))[K(0xe0)](K(0xc2))[K(0xda)](K(0xf2),K(0x100))[K(0xda)](K(0x149),K(0x103))[K(0xda)](K(0x120),this[K(0xcc)],![])[K(0xda)](K(0x10b),this[K(0x14b)],![])[K(0xc6)](({noDefaults:R,projectId:r,serviceId:Q,skipHostnames:z})=>__awaiter(this,void 0x0,void 0x0,function*(){const G=K;(0x0,utils_1[G(0xde)])(this[G(0xf0)]);const h=this[G(0xee)](z),X=R?undefined:N['getCurrentProjectName'](),u=r||X||(yield M[G(0xd8)]()),p=R?undefined:N[G(0x108)](),F=Q||p||(yield M[G(0xfe)](u)());console['log'](G(0xe6)+chalk_1['default'][G(0xc7)](F)+G(0xe5)+chalk_1['default'][G(0xc7)](u));try{const S=yield h['forwardService']({'projectId':u,'serviceId':F},z);this[G(0x138)](S,{'name':F,'type':G(0xd9)},z),this[G(0x12e)](S,z);}catch(b){(0x0,utils_1[G(0xec)])('Failed:\x20'+b[G(0xc1)]);}})),k=(0x0,utils_1[K(0x121)])(!![])[K(0xf8)](K(0x144))[K(0xe0)](K(0xc9))[K(0xda)](K(0xf2),K(0x100))[K(0xda)](K(0xfb),K(0x10a))['option'](K(0x10b),this[K(0x14b)],![])['action'](({noDefaults:R,projectId:r,addonId:Q,skipHostnames:z})=>__awaiter(this,void 0x0,void 0x0,function*(){const q=K;(0x0,utils_1['assertContextExisting'])(this[q(0xf0)]);const h=this[q(0xee)](z),X=R?undefined:N['getCurrentProjectName'](),u=r||X||(yield M['askForProject']()),p=Q||(yield M[q(0x122)](u)());console[q(0x11f)](q(0x14a)+chalk_1['default'][q(0xc7)](p)+q(0xe5)+chalk_1[q(0xf1)]['bold'](u));try{const F={'projectId':u,'addonId':p},S=yield h[q(0x117)](F,z);this[q(0x138)](S,{'name':p,'type':q(0x144)},z),this[q(0x12e)](S,z);}catch(b){(0x0,utils_1['error'])(q(0xd2)+b[q(0xc1)]);}}));this[K(0x140)][K(0x112)](V),this['portFwdCmd'][K(0x112)](L),this[K(0x140)][K(0x112)](k);}['getProxyForwarder'](N=![]){const i=a14v,M=this[i(0xf0)][i(0xe3)];if(!N){const V=M[i(0x12c)]();if(V[i(0xec)])throw new Error(V[i(0xc1)]);}return M['on']('tunnel-close',(L,k)=>{const w=i,R=chalk_1[w(0xf1)][w(0xc7)](k['type']+'\x20\x27'+k['id']+'\x27'),r=k[w(0xf4)][w(0x119)]>0x0;(0x0,utils_1[w(0x105)])('Stop\x20forwarding\x20traffic\x20from\x20'+k[w(0xc3)]+':'+k[w(0xd5)]+w(0x10c)+R),N&&r&&(0x0,utils_1[w(0x105)])(w(0x13f));}),M['on'](i(0xc5),(L,k,R)=>{const E=i;(0x0,utils_1[E(0x105)])(E(0x113)+k[E(0xc3)]+':'+k[E(0xd5)]+'\x27:\x20\x22'+(R===null||R===void 0x0?void 0x0:R['message'])+'\x22');}),process['on'](i(0xdb),()=>__awaiter(this,void 0x0,void 0x0,function*(){const D=i;try{yield M[D(0xdd)]();}catch(L){(0x0,utils_1[D(0xec)])(D(0xc8)+L[D(0xc1)]);}finally{process[D(0xe9)]();}})),M;}[a14v(0x138)](N,M,V=![]){const Y=a14v,{type:L,name:k}=M;if(N[Y(0x119)]<=0x0){const z='Please\x20ensure\x20the\x20'+M[Y(0x102)]+Y(0xd0);(0x0,utils_1['warning'])(Y(0xef)+L+'\x20'+chalk_1[Y(0xf1)]['bold'](k)+'.\x20'+z);return;}const R=(0x0,lodash_1[Y(0x147)])(N,Y(0x101)),r=h=>'\x20('+(h[Y(0x146)]?h['portName']+Y(0xf3):'')+h[Y(0x131)]+')';function Q(h,X=0x2){const J=Y;if(!V){const u=h[J(0x131)]===J(0x143)?J(0x10e):'';h[J(0xf4)]['forEach'](p=>{const j=J;console[j(0x11f)]((0x0,lodash_1[j(0x104)])('\x20',X)+'-\x20'+u+p+':'+h[j(0xd5)]);});}}Object[Y(0xfa)](R)[Y(0xdc)](([h,X])=>{const P=Y;var u,p;const F='>\x20'+(0x0,lodash_1['capitalize'])(L)+'\x20\x27'+chalk_1[P(0xf1)][P(0xfd)][P(0xc7)](h)+'\x27';if(L===P(0x144)){if(X[P(0x119)]===0x1){const S=X[0x0];if(S[P(0xec)]){(0x0,utils_1['error'])('Error\x20occured\x20while\x20trying\x20to\x20forward\x20'+h+':\x20'+S['error']['message']);return;}const b=S[P(0x141)],s=!V?chalk_1[P(0xf1)]['black'](P(0x124)+b[P(0xf4)][P(0x13e)](',')):'';(0x0,utils_1[P(0xe8)])(F+P(0xd1)+b[P(0xc3)]+':'+b[P(0xd5)]+r(b)+s);}else{const y=(0x0,lodash_1[P(0x115)])(X,c=>{const H=P;var T,U;return(U=(T=c===null||c===void 0x0?void 0x0:c[H(0x141)])===null||T===void 0x0?void 0x0:T['hostnames'])===null||U===void 0x0?void 0x0:U[H(0x13e)](',');})[P(0x119)]>0x1;(0x0,utils_1[P(0xe8)])(F+P(0xf5)+(y?'hosts':P(0x12d))+':'),X[P(0xdc)](c=>{const B=P;if(c[B(0xec)]){(0x0,utils_1[B(0xec)])(B(0x139)+h+':\x20'+c['error'][B(0xc1)]);return;}const T=c[B(0x141)],U=!V?B(0x106)+T['hostnames']['join'](','):'';console[B(0x11f)](B(0x12a)+T[B(0xc3)]+':'+T[B(0xd5)]+r(T)+U);});}}if(L==='service'){if(X['length']===0x1){const c=X[0x0];if(c[P(0xec)]){(0x0,utils_1[P(0xec)])(P(0x139)+h+':\x20'+c[P(0xec)][P(0xc1)]);return;}const T=c[P(0x141)],U=!V?P(0xe4):':',Z=T[P(0xc3)]+':'+T['port']+r(T);(0x0,utils_1[P(0xe8)])(F+P(0xd1)+Z+U),Q(T);}else(0x0,utils_1[P(0xe8)])(F+P(0xd1)+((p=(u=X[0x0])===null||u===void 0x0?void 0x0:u['data'])===null||p===void 0x0?void 0x0:p[P(0xc3)])+P(0xd7)),X[P(0xdc)](n=>{const O=P;if(n[O(0xec)]){(0x0,utils_1[O(0xec)])(O(0x139)+h+':\x20'+n[O(0xec)][O(0xc1)]);return;}const I=n[O(0x141)];(0x0,utils_1['success'])(O(0x126)+I[O(0xd5)]+r(I)),Q(I,0x4);});}});}['printHostsFileHint'](N,M=![]){const C=a14v;if(M){const V=N[C(0x135)](X=>X[C(0x141)])['filter'](X=>X!==undefined),L=(process===null||process===void 0x0?void 0x0:process[C(0xea)])===C(0x127),k=os[C(0xea)]()==='darwin',R=L?C(0x133):C(0x134),r=chalk_1[C(0xf1)][C(0xc7)](C(0x13d)),Q=k?EOL+'Running\x20on\x20macOS\x20in\x20'+r+C(0xed):undefined;let z='Running\x20in\x20'+r+C(0x111)+C(0x10b)+C(0x10d)+R+'):';Q!==undefined&&(0x0,utils_1[C(0x105)])(Q!==null&&Q!==void 0x0?Q:'');(0x0,utils_1[C(0x105)])(z);const h=V[C(0x132)](X=>X[C(0xc3)]+C(0xeb)+X[C(0xf4)][C(0x13e)]('\x20'));console[C(0x11f)]((0x0,lodash_1['uniq'])(h)['join'](EOL)),console['log']();}}}exports[a14v(0x12f)]=CliPortForward;
1
+ 'use strict';const a14F=a14z;(function(u,z){const W=a14z,D=u();while(!![]){try{const M=parseInt(W(0x235))/0x1+-parseInt(W(0x21a))/0x2*(parseInt(W(0x239))/0x3)+parseInt(W(0x218))/0x4*(-parseInt(W(0x219))/0x5)+-parseInt(W(0x21b))/0x6*(-parseInt(W(0x243))/0x7)+parseInt(W(0x1fe))/0x8+-parseInt(W(0x26e))/0x9+-parseInt(W(0x245))/0xa*(-parseInt(W(0x270))/0xb);if(M===z)break;else D['push'](D['shift']());}catch(H){D['push'](D['shift']());}}}(a14u,0x4b2ae));function a14z(u,z){const D=a14u();return a14z=function(M,H){M=M-0x1ef;let O=D[M];return O;},a14z(u,z);}function a14u(){const u0=['\x20with\x20multiple\x20ports:','skipHostnamesText','forwardProject','stop','getCommand','addon','uniqBy','SIGINT','getProxyForwarder','hostnames','success','__esModule','portFwdCmd','data','--addon\x20--addonId\x20[NAME]','\x20service\x20ports','hosts','value','HTTP','520374obTOdJ','\x20with\x20these\x20hostnames:','message','Failed:\x20','1595238wPuVnv','next','chalk','apply','--noDefaults','printHostsFileHint','type','Port-forwarding\x20for\x20the\x20specified\x20service','port','../inquirer-helper','175378cYYhBJ','ApiClient','2110yDjhnO','forward','__createBinding','--skipHostnames','reset','hasOwnProperty','Project\x20for\x20forwarding','\x20flag\x20or\x20manually\x20append\x20following\x20entry\x20to\x20your\x20hosts\x20file\x20(','platform','\x20\x20-\x20Address:\x20','\x20is\x20exposed\x20on\x20','join','\x20\x20\x20\x20\x20\x20\x20\x20\x20','option','exit','Port-forwarding\x20for\x20Northflank\x20services\x20and\x20addons.','forwardService','call','Addons:','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','__awaiter','address','\x20and\x20','warning','all','Stop\x20forwarding\x20traffic\x20from\x20','Forwarding\x20addon\x20','addCommand','fwd','CliPortForward','\x20is\x20exposed\x20with\x20multiple\x20','throw','Port-forwarding\x20for\x20all\x20services\x20and\x20addons\x20in\x20the\x20given\x20project','ports','\x20is\x20running\x20and\x20reachable.','action','askForService','bold','noDefaultsText','filter','getCurrentProjectName','1902600SPhbuV','tunnel-close','11451LEmVwx','uniq','apiClient','assertContextExisting','printForwardingInfo','Connection\x20error\x20occurred\x20when\x20forwarding\x20\x27','win32','prototype','Forwarding\x20service\x20','alias','name','entries','flat','default',',\x20hostname:\x20','\x20in\x20project\x20','create','Addon\x20to\x20forward','green','darwin','groupBy','log','3473536LOPtml','configurable','../utils','error','__importDefault','canExecuteWithHostnames','--project\x20--projectId\x20[NAME]','Please\x20ensure\x20the\x20','Running\x20in\x20','askForAddon','data.id','\x20-\x20','\x20\x20-\x20port\x20','length','then','protocol','forwardAddon','service','capitalize','Port-forwarding\x20for\x20the\x20specified\x20addon','forEach','writable','\x20\x20\x20No\x20running\x20container\x20found\x20for\x20','askForProject','\x20mode:\x20the\x20locally\x20forwarded\x20port\x20differs\x20from\x20the\x20actual\x20port\x20on\x20the\x20forwarded\x20service/addon.','\x20\x20If\x20you\x20have\x20added\x20entries\x20to\x20your\x20hosts\x20file,\x20it\x20is\x20recommended\x20to\x20remove\x20them\x20again\x20now.','156kCoCMN','19005Musiwb','2LVDVHj','6zwmEvU','Error\x20occured\x20while\x20trying\x20to\x20forward\x20','portName','http://','description','done','\x20mode.\x20If\x20hostname\x20forwarding\x20is\x20required,\x20remove\x20'];a14u=function(){return u0;};return a14u();}var __createBinding=this&&this[a14F(0x247)]||(Object[a14F(0x1f8)]?function(u,z,D,M){const I=a14F;if(M===undefined)M=D;var H=Object['getOwnPropertyDescriptor'](z,D);(!H||('get'in H?!z[I(0x22d)]:H[I(0x213)]||H[I(0x1ff)]))&&(H={'enumerable':!![],'get':function(){return z[D];}}),Object['defineProperty'](u,M,H);}:function(u,z,D,M){if(M===undefined)M=D;u[M]=z[D];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object[a14F(0x1f8)]?function(u,z){const q=a14F;Object['defineProperty'](u,q(0x1f5),{'enumerable':!![],'value':z});}:function(u,z){const e=a14F;u[e(0x1f5)]=z;}),__importStar=this&&this['__importStar']||function(u){const Q=a14F;if(u&&u[Q(0x22d)])return u;var z={};if(u!=null){for(var D in u)if(D!=='default'&&Object[Q(0x1ef)][Q(0x24a)][Q(0x256)](u,D))__createBinding(z,u,D);}return __setModuleDefault(z,u),z;},__awaiter=this&&this[a14F(0x259)]||function(u,z,D,M){function H(O){return O instanceof D?O:new D(function(t){t(O);});}return new(D||(D=Promise))(function(O,t){const U=a14z;function g(N){try{h(M['next'](N));}catch(Z){t(Z);}}function T(N){const r=a14z;try{h(M[r(0x264)](N));}catch(Z){t(Z);}}function h(N){const i=a14z;N[i(0x220)]?O(N[i(0x233)]):H(N['value'])[i(0x20c)](g,T);}h((M=M[U(0x23c)](u,z||[]))[U(0x23a)]());});},__importDefault=this&&this[a14F(0x202)]||function(u){const L=a14F;return u&&u[L(0x22d)]?u:{'default':u};};Object['defineProperty'](exports,a14F(0x22d),{'value':!![]}),exports[a14F(0x262)]=void 0x0;const js_client_1=require('@northflank/js-client'),chalk_1=__importDefault(require(a14F(0x23b))),utils_1=require(a14F(0x200)),inquirer_helper_1=require(a14F(0x242)),os=__importStar(require('os')),lodash_1=require('lodash'),{EOL}=require('os');class CliPortForward{constructor(u){const C=a14F;this[C(0x26b)]=C(0x258),this['skipHostnamesText']='Only\x20expose\x20on\x20IP\x20address,\x20not\x20on\x20hostnames.\x20With\x20this\x20option,\x20no\x20root\x20permissions\x20are\x20required.',this[C(0x272)]=new js_client_1[(C(0x244))](u,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent']});const z=new inquirer_helper_1['InquirerHelper'](this[C(0x272)]);this[C(0x22e)]=(0x0,utils_1[C(0x226)])()[C(0x1f2)](C(0x246))[C(0x1f1)](C(0x261))[C(0x21f)](C(0x254));const D=(0x0,utils_1[C(0x226)])(!![])[C(0x1f2)](C(0x25d))['description'](C(0x265))[C(0x252)](C(0x204),'project\x20for\x20forwarding')['option'](C(0x23d),this['noDefaultsText'],![])['option'](C(0x248),this[C(0x223)],![])[C(0x268)](({noDefaults:O,projectId:t,skipHostnames:g})=>__awaiter(this,void 0x0,void 0x0,function*(){const j=C;(0x0,utils_1[j(0x273)])(this[j(0x272)]);const T=this['getProxyForwarder'](g),h=O?undefined:u['getCurrentProjectName'](),N=t||h||(yield z[j(0x215)]());try{const {services:Z,addons:E}=yield T[j(0x224)]({'projectId':N},g);if(Z[j(0x20b)]+E[j(0x20b)]<=0x0)(0x0,utils_1[j(0x25c)])('No\x20services\x20and\x20addons\x20to\x20forward\x20found\x20in\x20project\x20'+chalk_1['default'][j(0x26a)](N));else{const X=Z[j(0x26c)](A=>A[j(0x20b)]>0x0)[j(0x20b)],R=E['filter'](A=>A[j(0x20b)]>0x0)[j(0x20b)],b=j(0x1f7)+chalk_1[j(0x1f5)][j(0x26a)](N);console[j(0x1fd)]('Forwarding\x20'+chalk_1[j(0x1f5)]['green']['bold'](X+j(0x231))+j(0x25b)+chalk_1[j(0x1f5)][j(0x1fa)][j(0x26a)](R+'\x20addon\x20ports')+b),console[j(0x1fd)](),console['log'](chalk_1['default'][j(0x26a)]('Services:')),Z['forEach'](A=>{const J=j;if(A[J(0x20b)]>=0x1&&!A[0x0][J(0x201)])this[J(0x274)](A,{'type':J(0x20f),'name':A[0x0][J(0x22f)]['id']},g);}),console[j(0x1fd)](chalk_1[j(0x1f5)][j(0x26a)](j(0x257))),E[j(0x212)](A=>{const a=j;if(A[a(0x20b)]>=0x1&&!A[0x0]['error'])this[a(0x274)](A,{'type':'addon','name':A[0x0][a(0x22f)]['id']},g);}),this[j(0x23e)]([...Z['flat'](),...E[j(0x1f4)]()],g);}}catch(A){(0x0,utils_1[j(0x201)])(j(0x238)+A['message']);}})),M=(0x0,utils_1[C(0x226)])(!![])[C(0x1f2)]('service')['description'](C(0x240))['option'](C(0x204),C(0x24b))[C(0x252)]('--service\x20--serviceId\x20[NAME]','Service\x20to\x20forward')[C(0x252)](C(0x23d),this[C(0x26b)],![])['option'](C(0x248),this[C(0x223)],![])['action'](({noDefaults:O,projectId:t,serviceId:g,skipHostnames:T})=>__awaiter(this,void 0x0,void 0x0,function*(){const V=C;(0x0,utils_1[V(0x273)])(this[V(0x272)]);const h=this['getProxyForwarder'](T),N=O?undefined:u['getCurrentProjectName'](),Z=t||N||(yield z[V(0x215)]()),E=O?undefined:u['getCurrentServiceName'](),X=g||E||(yield z[V(0x269)](Z)());console[V(0x1fd)](V(0x1f0)+chalk_1[V(0x1f5)][V(0x26a)](X)+V(0x1f7)+chalk_1[V(0x1f5)][V(0x26a)](Z));try{const R=yield h[V(0x255)]({'projectId':Z,'serviceId':X},T);this['printForwardingInfo'](R,{'name':X,'type':V(0x20f)},T),this[V(0x23e)](R,T);}catch(b){(0x0,utils_1[V(0x201)])('Failed:\x20'+b['message']);}})),H=(0x0,utils_1[C(0x226)])(!![])[C(0x1f2)](C(0x227))[C(0x21f)](C(0x211))[C(0x252)](C(0x204),'Project\x20for\x20forwarding')[C(0x252)](C(0x230),C(0x1f9))[C(0x252)](C(0x248),this[C(0x223)],![])['action'](({noDefaults:O,projectId:t,addonId:g,skipHostnames:T})=>__awaiter(this,void 0x0,void 0x0,function*(){const m=C;(0x0,utils_1[m(0x273)])(this['apiClient']);const h=this[m(0x22a)](T),N=O?undefined:u[m(0x26d)](),Z=t||N||(yield z['askForProject']()),E=g||(yield z[m(0x207)](Z)());console[m(0x1fd)](m(0x25f)+chalk_1[m(0x1f5)]['bold'](E)+m(0x1f7)+chalk_1[m(0x1f5)]['bold'](Z));try{const X={'projectId':Z,'addonId':E},R=yield h[m(0x20e)](X,T);this[m(0x274)](R,{'name':E,'type':'addon'},T),this[m(0x23e)](R,T);}catch(b){(0x0,utils_1[m(0x201)])(m(0x238)+b[m(0x237)]);}}));this[C(0x22e)][C(0x260)](D),this[C(0x22e)][C(0x260)](M),this[C(0x22e)]['addCommand'](H);}[a14F(0x22a)](u=![]){const B=a14F,z=this[B(0x272)]['forwarding'];if(!u){const D=z[B(0x203)]();if(D[B(0x201)])throw new Error(D['message']);}return z['on'](B(0x26f),(M,H)=>{const f=B,O=chalk_1[f(0x1f5)]['bold'](H[f(0x23f)]+'\x20\x27'+H['id']+'\x27'),t=H[f(0x22b)][f(0x20b)]>0x0;(0x0,utils_1[f(0x25c)])(f(0x25e)+H[f(0x25a)]+':'+H['port']+'\x20to\x20'+O),u&&t&&(0x0,utils_1[f(0x25c)])(f(0x217));}),z['on']('connection-error',(M,H,O)=>{const G=B;(0x0,utils_1['warning'])(G(0x275)+H[G(0x25a)]+':'+H['port']+'\x27:\x20\x22'+(O===null||O===void 0x0?void 0x0:O['message'])+'\x22');}),process['on'](B(0x229),()=>__awaiter(this,void 0x0,void 0x0,function*(){const Y=B;try{yield z[Y(0x225)]();}catch(M){(0x0,utils_1[Y(0x201)])('Cleaning\x20up\x20open\x20connections\x20failed:\x20'+M[Y(0x237)]);}finally{process[Y(0x253)]();}})),z;}[a14F(0x274)](u,z,D=![]){const P=a14F,{type:M,name:H}=z;if(u[P(0x20b)]<=0x0){const T=P(0x205)+z[P(0x23f)]+P(0x267);(0x0,utils_1[P(0x25c)])(P(0x214)+M+'\x20'+chalk_1[P(0x1f5)][P(0x26a)](H)+'.\x20'+T);return;}const O=(0x0,lodash_1[P(0x1fc)])(u,P(0x208)),t=h=>'\x20('+(h[P(0x21d)]?h['portName']+P(0x209):'')+h[P(0x20d)]+')';function g(h,N=0x2){const s=P;if(!D){const Z=h[s(0x20d)]===s(0x234)?s(0x21e):'';h[s(0x22b)][s(0x212)](E=>{const v=s;console[v(0x1fd)]((0x0,lodash_1['repeat'])('\x20',N)+'-\x20'+Z+E+':'+h[v(0x241)]);});}}Object[P(0x1f3)](O)[P(0x212)](([h,N])=>{const x=P;var Z,E;const X='>\x20'+(0x0,lodash_1[x(0x210)])(M)+'\x20\x27'+chalk_1[x(0x1f5)]['greenBright'][x(0x26a)](h)+'\x27';if(M==='addon'){if(N[x(0x20b)]===0x1){const R=N[0x0];if(R['error']){(0x0,utils_1[x(0x201)])(x(0x21c)+h+':\x20'+R[x(0x201)][x(0x237)]);return;}const b=R[x(0x22f)],A=!D?'\x20'+chalk_1[x(0x1f5)][x(0x249)]('with\x20hostname:\x20'+b['hostnames'][x(0x250)](',')):'';(0x0,utils_1['success'])(X+x(0x24f)+b[x(0x25a)]+':'+b['port']+t(b)+A);}else{const o=(0x0,lodash_1[x(0x228)])(N,d=>{const p=x;var K,w;return(w=(K=d===null||d===void 0x0?void 0x0:d[p(0x22f)])===null||K===void 0x0?void 0x0:K['hostnames'])===null||w===void 0x0?void 0x0:w[p(0x250)](',');})[x(0x20b)]>0x1;(0x0,utils_1[x(0x22c)])(X+x(0x263)+(o?x(0x232):x(0x266))+':'),N[x(0x212)](d=>{const n=x;if(d[n(0x201)]){(0x0,utils_1[n(0x201)])(n(0x21c)+h+':\x20'+d[n(0x201)][n(0x237)]);return;}const K=d[n(0x22f)],w=!D?n(0x1f6)+K[n(0x22b)]['join'](','):'';console['log'](n(0x24e)+K[n(0x25a)]+':'+K[n(0x241)]+t(K)+w);});}}if(M===x(0x20f)){if(N[x(0x20b)]===0x1){const d=N[0x0];if(d['error']){(0x0,utils_1['error'])(x(0x21c)+h+':\x20'+d[x(0x201)]['message']);return;}const K=d[x(0x22f)],w=!D?x(0x236):':',y=K[x(0x25a)]+':'+K['port']+t(K);(0x0,utils_1[x(0x22c)])(X+x(0x24f)+y+w),g(K);}else(0x0,utils_1['success'])(X+x(0x24f)+((E=(Z=N[0x0])===null||Z===void 0x0?void 0x0:Z[x(0x22f)])===null||E===void 0x0?void 0x0:E[x(0x25a)])+x(0x222)),N[x(0x212)](k=>{const c=x;if(k[c(0x201)]){(0x0,utils_1[c(0x201)])(c(0x21c)+h+':\x20'+k['error'][c(0x237)]);return;}const l=k['data'];(0x0,utils_1[c(0x22c)])(c(0x20a)+l['port']+t(l)),g(l,0x4);});}});}[a14F(0x23e)](u,z=![]){const S=a14F;if(z){const D=u['flatMap'](N=>N[S(0x22f)])[S(0x26c)](N=>N!==undefined),M=(process===null||process===void 0x0?void 0x0:process[S(0x24d)])===S(0x276),H=os[S(0x24d)]()===S(0x1fb),O=M?'C:/Windows/System32/drivers/etc/hosts':'/etc/hosts',t=chalk_1[S(0x1f5)][S(0x26a)]('skipHostnames'),g=H?EOL+'Running\x20on\x20macOS\x20in\x20'+t+S(0x216):undefined;let T=S(0x206)+t+S(0x221)+'--skipHostnames'+S(0x24c)+O+'):';g!==undefined&&(0x0,utils_1['warning'])(g!==null&&g!==void 0x0?g:'');(0x0,utils_1['warning'])(T);const h=D['map'](N=>N['address']+S(0x251)+N[S(0x22b)]['join']('\x20'));console['log']((0x0,lodash_1[S(0x271)])(h)['join'](EOL)),console['log']();}}}exports[a14F(0x262)]=CliPortForward;
package/dist/utils.js CHANGED
@@ -1 +1 @@
1
- 'use strict';const a15F=a15M;function a15M(N,M){const V=a15N();return a15M=function(L,k){L=L-0x109;let R=V[L];return R;},a15M(N,M);}(function(N,M){const p=a15M,V=N();while(!![]){try{const L=-parseInt(p(0x11a))/0x1*(parseInt(p(0x12d))/0x2)+parseInt(p(0x12b))/0x3*(parseInt(p(0x11b))/0x4)+-parseInt(p(0x11f))/0x5+-parseInt(p(0x120))/0x6*(-parseInt(p(0x12c))/0x7)+-parseInt(p(0x144))/0x8+-parseInt(p(0x13b))/0x9+-parseInt(p(0x113))/0xa*(-parseInt(p(0x118))/0xb);if(L===M)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(a15N,0xac78e));var __awaiter=this&&this[a15F(0x136)]||function(N,M,V,L){function k(R){return R instanceof V?R:new V(function(r){r(R);});}return new(V||(V=Promise))(function(R,r){function Q(X){const S=a15M;try{h(L[S(0x121)](X));}catch(u){r(u);}}function z(X){try{h(L['throw'](X));}catch(u){r(u);}}function h(X){const b=a15M;X[b(0x10f)]?R(X[b(0x147)]):k(X[b(0x147)])[b(0x149)](Q,z);}h((L=L['apply'](N,M||[]))['next']());});},__importDefault=this&&this[a15F(0x11e)]||function(N){const s=a15F;return N&&N[s(0x14d)]?N:{'default':N};};Object[a15F(0x115)](exports,a15F(0x14d),{'value':!![]}),exports[a15F(0x133)]=exports[a15F(0x153)]=exports[a15F(0x131)]=exports[a15F(0x10e)]=exports[a15F(0x145)]=exports[a15F(0x117)]=exports[a15F(0x12e)]=exports[a15F(0x122)]=exports[a15F(0x137)]=exports[a15F(0x141)]=exports[a15F(0x13a)]=exports[a15F(0x114)]=void 0x0;const node_fetch_1=__importDefault(require('node-fetch')),chalk_1=__importDefault(require(a15F(0x142))),commander_1=require(a15F(0x12a)),pgk=require(a15F(0x119));exports[a15F(0x114)]='northflank-cli/'+(pgk===null||pgk===void 0x0?void 0x0:pgk[a15F(0x14a)]);function checkUpdate(N){return __awaiter(this,void 0x0,void 0x0,function*(){const c=a15M;function M(V,L){const y=a15M,k=new Date(Number(V));return k[y(0x12f)](k[y(0x13d)]()+L),k;}try{if(M(N['getLastUpdateCheck'](),0x1)>new Date())return;const V=pgk[c(0x14a)],{name:L}=pgk;if(!V)return;const k=c(0x10d)+L+c(0x140),R=yield(0x0,node_fetch_1[c(0x11d)])(k,{'method':c(0x151),'timeout':0x1388}),r=(yield R[c(0x150)]())[c(0x14a)];needsUpdate(V,r)&&warning('**\x20You\x27re\x20running\x20on\x20version\x20'+V+c(0x128)+r+'.'+(c(0x130)+L+c(0x152)+L+c(0x13e))),yield N[c(0x14e)](new Date());}catch(Q){}});}exports[a15F(0x13a)]=checkUpdate;function needsUpdate(N,M){const T=a15F,V=/(\.0+)+$/,L=N[T(0x138)](V,'')[T(0x13c)]('.'),k=M[T(0x138)](V,'')[T(0x13c)]('.');for(let R=0x0;R<Math['min'](L[T(0x110)],k[T(0x110)]);R+=0x1){const r=parseInt(k[R],0xa)-parseInt(L[R],0xa);if(r>0x0)return!![];if(r<0x0)return![];}return k[T(0x110)]>L[T(0x110)];}function error(N){const U=a15F;console[U(0x141)](chalk_1[U(0x11d)]['redBright'](U(0x13f)+N));}exports[a15F(0x141)]=error;function warning(N){const Z=a15F;console[Z(0x141)](chalk_1[Z(0x11d)][Z(0x148)](''+N));}exports['warning']=warning;function success(N){const n=a15F;console[n(0x125)](chalk_1['default'][n(0x134)](''+N));}exports[a15F(0x122)]=success;function getCommand(N=![]){const I=a15F,M=new commander_1[(I(0x127))]();return M['storeOptionsAsProperties'](![]),M[I(0x14c)](![]),M['allowExcessArguments'](![]),M['enablePositionalOptions'](!![]),N&&(M[I(0x10a)](I(0x146),I(0x111),![]),M['option'](I(0x14f),I(0x112),![])),M;}exports[a15F(0x12e)]=getCommand;const retry=(N,M=0x32)=>V=>{let L=N;const k=()=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){try{return yield V();}catch(R){if(L<=0x0)throw R;return L-=0x1,yield new Promise(Q=>setTimeout(()=>Q(),M)),k();}});return k();};exports[a15F(0x117)]=retry;const asyncSequential=(N,M)=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){const d=a15F,V=Promise['resolve']([]);return N[d(0x10c)]((L,k)=>L[d(0x149)](R=>M(k)[d(0x149)](Q=>{const v=d;return R[v(0x132)](Q),R;})),V);});exports[a15F(0x145)]=asyncSequential;function isValidJSON(N){const a=a15F;try{return JSON[a(0x123)](N);}catch(M){return![];}}exports['isValidJSON']=isValidJSON;function assertContextExisting(N){const l=a15F;if(N['contextProvider'][l(0x11c)]()===undefined)throw new Error(l(0x139));if(N[l(0x129)][l(0x14b)]()===undefined)throw new Error(l(0x124));if(N[l(0x129)]['getCurrentToken']()===undefined)throw new Error(l(0x109));}exports[a15F(0x131)]=assertContextExisting;const parseDateInput=N=>{const o=a15F;try{let M=new Date(N);if(isNaN(M[o(0x10b)]())){const V=N[o(0x110)]===0xd?N/0x3e8:N,L=new Date(0x0);L[o(0x135)](V);if(isNaN(L['getTime']()))throw new Error();return L;}return M;}catch(k){throw new Error(o(0x126)+N+o(0x116));}};function a15N(){const t=['error','chalk','example:\x202020-02-02T02:02:02Z\x20(date\x20string)\x20or\x201580608922\x20(unix\x20ts)','2896760mZRuNu','asyncSequential','--verbose','value','yellow','then','version','getCurrentBaseUrl','allowUnknownOption','__esModule','setLastUpdateCheck','--quiet','json','GET','\x20-g\x27\x20or\x20\x27yarn\x20global\x20add\x20','parseDateInput','No\x20token\x20in\x20CLI\x20context.\x20Add\x20token\x20with\x20\x27northflank\x20set-token\x27','option','getTime','reduce','https://registry.npmjs.org/','isValidJSON','done','length','Verbose\x20output','No\x20console\x20output','10TmZmtZ','customUserAgent','defineProperty',',\x20expected\x20valid\x20date\x20string\x20(example:\x202020-02-02T02:02:02Z)\x20or\x20unix\x20timestamp\x20(example\x201580608922)','retry','15907947eFVzeA','../package.json','1377132sZLXNe','250076KixNsr','getCurrentContext','default','__importDefault','40290MbZwRn','1182jymosT','next','success','parse','No\x20API\x20URL\x20present\x20in\x20context.\x20Create\x20new\x20context\x20with\x20\x27northflank\x20login\x27','log','Invalid\x20date\x20received:\x20','Command',',\x20the\x20latest\x20version\x20of\x20the\x20cli\x20is\x20','contextProvider','commander','21hKdxyl','43603PKqUlt','2znfUNE','getCommand','setDate','\x20Consider\x20updating\x20using\x20\x27npm\x20i\x20','assertContextExisting','push','tsHint','green','setUTCSeconds','__awaiter','warning','replace','No\x20CLI\x20context\x20present.\x20Create\x20context\x20with\x20\x27northflank\x20login\x27','checkUpdate','5914728sEdSNj','split','getDate','\x27\x20**','Failed:\x20','/latest'];a15N=function(){return t;};return a15N();}exports[a15F(0x153)]=parseDateInput,exports[a15F(0x133)]=a15F(0x143);
1
+ 'use strict';const a15X=a15z;(function(u,z){const E=a15z,D=u();while(!![]){try{const M=parseInt(E(0x12b))/0x1+-parseInt(E(0x143))/0x2*(parseInt(E(0x125))/0x3)+-parseInt(E(0x12c))/0x4*(-parseInt(E(0x136))/0x5)+-parseInt(E(0x142))/0x6*(parseInt(E(0x146))/0x7)+parseInt(E(0x151))/0x8*(parseInt(E(0x161))/0x9)+parseInt(E(0x15a))/0xa*(parseInt(E(0x14a))/0xb)+parseInt(E(0x154))/0xc;if(M===z)break;else D['push'](D['shift']());}catch(H){D['push'](D['shift']());}}}(a15u,0x1e8c9));var __awaiter=this&&this[a15X(0x148)]||function(u,z,D,M){function H(O){return O instanceof D?O:new D(function(t){t(O);});}return new(D||(D=Promise))(function(O,t){const o=a15z;function g(N){const R=a15z;try{h(M[R(0x149)](N));}catch(Z){t(Z);}}function T(N){const b=a15z;try{h(M[b(0x127)](N));}catch(Z){t(Z);}}function h(N){const A=a15z;N[A(0x12e)]?O(N['value']):H(N[A(0x15e)])[A(0x128)](g,T);}h((M=M[o(0x160)](u,z||[]))[o(0x149)]());});},__importDefault=this&&this['__importDefault']||function(u){const d=a15X;return u&&u[d(0x156)]?u:{'default':u};};Object[a15X(0x15f)](exports,a15X(0x156),{'value':!![]}),exports[a15X(0x129)]=exports[a15X(0x14b)]=exports[a15X(0x15d)]=exports[a15X(0x135)]=exports[a15X(0x162)]=exports['retry']=exports[a15X(0x133)]=exports[a15X(0x14f)]=exports['warning']=exports[a15X(0x155)]=exports[a15X(0x14c)]=exports['customUserAgent']=void 0x0;const node_fetch_1=__importDefault(require('node-fetch')),chalk_1=__importDefault(require('chalk')),commander_1=require(a15X(0x13e)),pgk=require(a15X(0x134));function a15u(){const Q=['commander','warning','Command','--verbose','2598KGPGKG','226834sBbiOr','log',',\x20the\x20latest\x20version\x20of\x20the\x20cli\x20is\x20','2597QHDvKd','replace','__awaiter','next','18810lHijsc','parseDateInput','checkUpdate','retry','green','success','length','32896VvpDGS','version','**\x20You\x27re\x20running\x20on\x20version\x20','1143792OivSww','error','__esModule','getDate','split','setLastUpdateCheck','340SkRbVG','default','northflank-cli/','assertContextExisting','value','defineProperty','apply','531xkrKqz','asyncSequential','No\x20API\x20URL\x20present\x20in\x20context.\x20Create\x20new\x20context\x20with\x20\x27northflank\x20login\x27','redBright','GET','https://registry.npmjs.org/','\x27\x20**','enablePositionalOptions','\x20Consider\x20updating\x20using\x20\x27npm\x20i\x20','allowExcessArguments',',\x20expected\x20valid\x20date\x20string\x20(example:\x202020-02-02T02:02:02Z)\x20or\x20unix\x20timestamp\x20(example\x201580608922)','6UjGFbM','getTime','throw','then','tsHint','resolve','64510JMbGZa','4336ILroEL','\x20-g\x27\x20or\x20\x27yarn\x20global\x20add\x20','done','Verbose\x20output','reduce','getLastUpdateCheck','setDate','getCommand','../package.json','isValidJSON','240VvxsYo','example:\x202020-02-02T02:02:02Z\x20(date\x20string)\x20or\x201580608922\x20(unix\x20ts)','getCurrentContext','option','allowUnknownOption','setUTCSeconds','contextProvider','getCurrentBaseUrl'];a15u=function(){return Q;};return a15u();}exports['customUserAgent']=a15X(0x15c)+(pgk===null||pgk===void 0x0?void 0x0:pgk[a15X(0x152)]);function checkUpdate(u){return __awaiter(this,void 0x0,void 0x0,function*(){const w=a15z;function z(D,M){const K=a15z,H=new Date(Number(D));return H[K(0x132)](H[K(0x157)]()+M),H;}try{if(z(u[w(0x131)](),0x1)>new Date())return;const D=pgk[w(0x152)],{name:M}=pgk;if(!D)return;const H=w(0x166)+M+'/latest',O=yield(0x0,node_fetch_1[w(0x15b)])(H,{'method':w(0x165),'timeout':0x1388}),t=(yield O['json']())[w(0x152)];needsUpdate(D,t)&&warning(w(0x153)+D+w(0x145)+t+'.'+(w(0x169)+M+w(0x12d)+M+w(0x167))),yield u[w(0x159)](new Date());}catch(g){}});}exports['checkUpdate']=checkUpdate;function needsUpdate(u,z){const y=a15X,D=/(\.0+)+$/,M=u[y(0x147)](D,'')[y(0x158)]('.'),H=z['replace'](D,'')[y(0x158)]('.');for(let O=0x0;O<Math['min'](M[y(0x150)],H[y(0x150)]);O+=0x1){const t=parseInt(H[O],0xa)-parseInt(M[O],0xa);if(t>0x0)return!![];if(t<0x0)return![];}return H[y(0x150)]>M['length'];}function error(u){const k=a15X;console[k(0x155)](chalk_1[k(0x15b)][k(0x164)]('Failed:\x20'+u));}exports['error']=error;function warning(u){const l=a15X;console[l(0x155)](chalk_1[l(0x15b)]['yellow'](''+u));}exports[a15X(0x13f)]=warning;function success(u){const W=a15X;console[W(0x144)](chalk_1[W(0x15b)][W(0x14e)](''+u));}exports[a15X(0x14f)]=success;function getCommand(u=![]){const F=a15X,z=new commander_1[(F(0x140))]();return z['storeOptionsAsProperties'](![]),z[F(0x13a)](![]),z[F(0x16a)](![]),z[F(0x168)](!![]),u&&(z['option'](F(0x141),F(0x12f),![]),z[F(0x139)]('--quiet','No\x20console\x20output',![])),z;}exports[a15X(0x133)]=getCommand;const retry=(u,z=0x32)=>D=>{let M=u;const H=()=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){try{return yield D();}catch(O){if(M<=0x0)throw O;return M-=0x1,yield new Promise(t=>setTimeout(()=>t(),z)),H();}});return H();};exports[a15X(0x14d)]=retry;const asyncSequential=(u,z)=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){const I=a15X,D=Promise[I(0x12a)]([]);return u[I(0x130)]((M,H)=>M[I(0x128)](O=>z(H)[I(0x128)](t=>{return O['push'](t),O;})),D);});exports['asyncSequential']=asyncSequential;function isValidJSON(u){try{return JSON['parse'](u);}catch(z){return![];}}function a15z(u,z){const D=a15u();return a15z=function(M,H){M=M-0x124;let O=D[M];return O;},a15z(u,z);}exports['isValidJSON']=isValidJSON;function assertContextExisting(u){const q=a15X;if(u[q(0x13c)][q(0x138)]()===undefined)throw new Error('No\x20CLI\x20context\x20present.\x20Create\x20context\x20with\x20\x27northflank\x20login\x27');if(u['contextProvider'][q(0x13d)]()===undefined)throw new Error(q(0x163));if(u[q(0x13c)]['getCurrentToken']()===undefined)throw new Error('No\x20token\x20in\x20CLI\x20context.\x20Add\x20token\x20with\x20\x27northflank\x20set-token\x27');}exports['assertContextExisting']=assertContextExisting;const parseDateInput=u=>{const e=a15X;try{let z=new Date(u);if(isNaN(z[e(0x126)]())){const D=u[e(0x150)]===0xd?u/0x3e8:u,M=new Date(0x0);M[e(0x13b)](D);if(isNaN(M['getTime']()))throw new Error();return M;}return z;}catch(H){throw new Error('Invalid\x20date\x20received:\x20'+u+e(0x124));}};exports[a15X(0x14b)]=parseDateInput,exports['tsHint']=a15X(0x137);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@northflank/cli",
3
- "version": "0.9.6-beta.0",
3
+ "version": "0.9.6",
4
4
  "author": "Marco Suter",
5
5
  "description": "Provides a command-line interface to the Northflank platform.",
6
6
  "homepage": "https://www.northflank.com",
@@ -26,7 +26,7 @@
26
26
  "LICENSE"
27
27
  ],
28
28
  "dependencies": {
29
- "@northflank/js-client": "0.7.4-beta.0",
29
+ "@northflank/js-client": "0.7.4",
30
30
  "ajv": "8.6.3",
31
31
  "bufferutil": "^4.0.7",
32
32
  "chalk": "~4.1.0",