@northflank/cli 0.10.15 → 0.11.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.
- package/dist/api-helpers.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/context/contextCommands.js +1 -1
- package/dist/copy/index.js +1 -1
- package/dist/defaults.js +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/formatting/command-overview.js +1 -1
- package/dist/formatting/console-format-helpers.js +1 -1
- package/dist/formatting/terminal-chart.js +1 -1
- package/dist/inquirer-helper.js +1 -1
- package/dist/login/browser-login.js +1 -1
- package/dist/logs/index.js +1 -1
- package/dist/logs/log-formatter.js +1 -1
- package/dist/metrics/index.js +1 -1
- package/dist/pagination/inquirer-pagination-prompt.js +1 -1
- package/dist/port-forward/index.js +1 -1
- package/dist/ssh/index.js +1 -0
- package/dist/utils.js +1 -1
- package/package.json +4 -3
package/dist/exec/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a5e(l,e){const s=a5l();return a5e=function(f,i){f=f-0x1ac;let c=s[f];return c;},a5e(l,e);}function a5l(){const K=['(exit\x20with\x20two\x20quick\x20','Run\x20command\x20with\x20shell\x20(e.g.\x20\x27bash\x27,\x27sh\x27).\x0aIf\x20not\x20set\x20and\x20no\x20command\x20is\x20provided,\x20several\x20standard\x20shells\x20will\x20be\x20attempted.\x20If\x20not\x20set\x20and\x20a\x20command\x20is\x20provided,\x20the\x20command\x20will\x20run\x20without\x20shell.','log','\x20to\x20exec\x20into','setRawMode','--project\x20--projectId\x20[NAME]','--shell-cmd\x20[SHELL-CMD]','getCurrentProjectName','Received\x20Ctrl+D\x20twice,\x20exiting\x20shell\x20forcefully.','Success','apiClient','handleShellSession','error','isTTY','Run\x20command\x20with\x20this\x20group','10UiYlZp','Error\x20occured\x20during\x20','getCurrentServiceName','askForTeam','\x20on\x20instance\x20','--noDefaults','greenBright','stderr','\x20--cmd\x20\x27\x22ls\x20-l\x20/usr\x22\x27\x20--shell-cmd\x20\x27bash\x20-c\x27\x0a\x20\x20Shell\x20session,\x20custom\x20shell:\x20\x20northflank\x20exec\x20','Project\x20for\x20exec','askForProjectContext','stdin','445625DehzLO','stdErr','addon','\x20command\x20exec:\x20','job','\x0a\x20\x20Single\x20command,\x20no\x20shell:\x20\x20\x20\x20\x20northflank\x20exec\x20','option','\x20--','service','Container\x20within\x20instance\x20to\x20exec\x20into\x20(if\x20not\x20specified,\x20first\x20container\x20of\x20the\x20instance\x20will\x20be\x20selected)','5126936XbJpun','Team\x20id','--cmd\x20--command\x20[COMMAND]','waitForCommandResult','bold','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','execCmd','(required)\x20','5998391bnZIPC','columns','Command\x20completed\x20successfully,\x20exit\x20code:\x20','Unknown','rows','message','alias','getStandardExecCommand','action','(random\x20instance\x20will\x20be\x20chosen\x20if\x20not\x20specified)','none','--instance\x20--instanceName\x20[NAME]','with\x20group:','name','execStartLog','resize','2221734GNYmlM','shell\x20command\x20','instanceName','(only\x20applicable\x20for\x20custom\x20addon\x20types)\x20','--team\x20--teamId\x20[TEAMID]','contextProvider','Command\x20execution\x20(exec)\x20for\x20Northflank\x20services\x20and\x20jobs.','getTokenScope','Exec\x20','exit','resizeTerminal','askForAddon',',\x20exit\x20code:\x20','toUpperCase','Command\x20didn\x27t\x20complete\x20successfully,\x20status:\x20','1467224ywOLir','pipe','askForService','org','Command\x20exec\x20for\x20the\x20specified\x20','stdOut','getTerminalSize','execJobSession','Command\x20to\x20execute.\x0aIf\x20--shell-cmd\x20option\x20such\x20as\x20\x27bash\x20-c\x27\x20is\x20present,\x20it\x20will\x20run\x20in\x20the\x20specified\x20shell.\x20Otherwise\x20the\x20command\x20will\x20run\x20without\x20a\x20shell.\x20If\x20no\x20command\x20is\x20provided,\x20an\x20interactive\x20session\x20with\x20stdin\x20and\x20tty\x20is\x20opened.','askForJob','--group\x20[GROUP]','addCommand','description','2200176LXWOnI','.\x0aExamples:\x0a\x20\x20Shell\x20session:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20northflank\x20exec\x20','join','sequence','exec','with\x20user:','1120346sDWRfQ','keypress','stdout','stdIn','containerName'];a5l=function(){return K;};return a5l();}const a5V=a5e;(function(l,e){const u=a5e,s=l();while(!![]){try{const f=-parseInt(u(0x1c8))/0x1+parseInt(u(0x20c))/0x2+-parseInt(u(0x206))/0x3+parseInt(u(0x1f9))/0x4+-parseInt(u(0x1bc))/0x5*(parseInt(u(0x1ea))/0x6)+parseInt(u(0x1da))/0x7+parseInt(u(0x1d2))/0x8;if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a5l,0x7b54c));import{ApiClient}from'@northflank/js-client';import a5s from'chalk';import{assertContextExisting,customUserAgent,error,getCommand,success,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import a5f from'readline';export class CliExec{[a5V(0x1d8)];['apiClient'];['getStandardExecCommand']=l=>{const h=a5V,e=getCommand(!![])[h(0x1e7)](l)[h(0x205)](h(0x1fd)+l+(l===h(0x1ca)?h(0x1ed):'')+h(0x207)+l+h(0x1cd)+l+'\x20--cmd\x20\x27date\x27\x0a\x20\x20Single\x20command,\x20custom\x20shell:\x20northflank\x20exec\x20'+l+h(0x1c4)+l+'\x20--shell-cmd\x20\x27sh\x27');return this[h(0x1b7)][h(0x1ef)]['getTokenScope']()===h(0x1fc)&&e[h(0x1ce)](h(0x1ee),h(0x1d3)),e[h(0x1ce)](h(0x1b2),h(0x1c5))[h(0x1ce)]('--'+l+h(0x1cf)+l+'Id\x20[NAME]',l['charAt'](0x0)[h(0x1f7)]()+l['slice'](0x1)+h(0x1b0))['option'](h(0x1e5),'Instance\x20to\x20exec\x20into\x20'+(l===h(0x1ca)?h(0x1d9):h(0x1e3)))['option'](h(0x1b3),h(0x1ae))['option'](h(0x1c1),h(0x1d7),![])[h(0x1ce)](h(0x1d4),h(0x201)),l!==h(0x1ca)&&e[h(0x1ce)]('--user\x20[USER]','Run\x20command\x20with\x20this\x20user')[h(0x1ce)](h(0x203),h(0x1bb)),l===h(0x1ca)&&e['option']('--container\x20--containerName\x20[NAME]',h(0x1d1)),e;};constructor(l,e){const R=a5V;this[R(0x1b7)]=new ApiClient(l,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':e});const s=new InquirerHelper(this['apiClient']);this[R(0x1d8)]=getCommand()[R(0x1e7)]('command-exec')[R(0x1e0)](R(0x20a))['description'](R(0x1f0));const f=this[R(0x1e1)](R(0x1d0))[R(0x1e2)](async a=>{const m=R,{noDefaults:D,teamId:Y,projectId:T,serviceId:b,instanceName:q}=a,{shellCmd:t,user:J,group:N,command:Z,quiet:x}=a;assertContextExisting(this['apiClient']);try{const g=D?undefined:l[m(0x1b4)](),{projectId:S,teamId:o}=await this[m(0x1c6)](l,s,T,Y,g),G=D?undefined:l[m(0x1be)](),I=b||G||await s[m(0x1fb)](S,o)(),P=t??(Z!==undefined?m(0x1e4):undefined),F=process['stdout']['columns'],B=process['stdout']['rows'],k={'teamId':o,'projectId':S,'serviceId':I},v={'instanceName':q,'command':Z,'shell':P,'user':J,'group':N,'ttyColumns':F,'ttyRows':B},r=await this[m(0x1b7)][m(0x20a)]['execServiceSession'](k,v,W=>{const X=m;this[X(0x1e8)](X(0x1d0),I,S,t,J,N,Z,x,W['instanceName'],W[X(0x1ac)]);});await this[m(0x1b8)](r,m(0x1d0),x);}catch(W){error(''+W[m(0x1df)]);}finally{process[m(0x1f3)]();}}),i=this[R(0x1e1)](R(0x1cc))[R(0x1e2)](async a=>{const j=R,{teamId:D,projectId:Y,jobId:T,instanceName:b}=a,{noDefaults:q,shellCmd:t,user:J,group:N,command:Z,quiet:x}=a;assertContextExisting(this['apiClient']);try{const g=q?undefined:l[j(0x1b4)](),{projectId:S,teamId:o}=await this['askForProjectContext'](l,s,Y,D,g),G=T||await s[j(0x202)](S,o)(),{rows:I,columns:P}=this[j(0x1ff)](),F={'teamId':o,'projectId':S,'jobId':G},B={'instanceName':b,'command':Z,'shell':t,'user':J,'group':N,'ttyColumns':P,'ttyRows':I},k=await this[j(0x1b7)][j(0x20a)][j(0x200)](F,B,v=>{const d=j;this[d(0x1e8)](d(0x1cc),G,S,t,J,N,Z,x,v[d(0x1ec)],v['containerName']);});await this['handleShellSession'](k,j(0x1cc),x);}catch(v){error(''+v[j(0x1df)]);}finally{process[j(0x1f3)]();}}),c=this[R(0x1e1)](R(0x1ca))[R(0x1e2)](async a=>{const w=R,{teamId:D,projectId:Y,addonId:T,instanceName:b,containerName:q}=a,{noDefaults:t,shellCmd:J,user:N,group:Z,command:x,quiet:g}=a;assertContextExisting(this[w(0x1b7)]);try{const S=t?undefined:l[w(0x1b4)](),{projectId:o,teamId:G}=await this[w(0x1c6)](l,s,Y,D,S),I=T||await s[w(0x1f5)](o,G)(),{rows:P,columns:F}=this[w(0x1ff)](),B=J??(x!==undefined?w(0x1e4):undefined),k={'teamId':G,'projectId':o,'addonId':I},v={'instanceName':b,'containerName':q,'command':x,'shell':B,'user':N,'group':Z,'ttyColumns':F,'ttyRows':P},r=await this[w(0x1b7)][w(0x20a)]['execAddonSession'](k,v,W=>{const H=w;this['execStartLog'](H(0x1ca),I,o,B,N,Z,x,g,W[H(0x1ec)],W['containerName']);});await this[w(0x1b8)](r,w(0x1ca),g);}catch(W){error(''+W[w(0x1df)]);}finally{process[w(0x1f3)]();}});this[R(0x1d8)][R(0x204)](f),this['execCmd']['addCommand'](i),this[R(0x1d8)][R(0x204)](c);}[a5V(0x1ff)]=()=>({'columns':process['stdout'][a5V(0x1db)],'rows':process[a5V(0x20e)][a5V(0x1de)]});['execStartLog']=(l,e,s,f,i,c,a,D,Y,T)=>{const M=a5V;if(D===!![])return;const b=f===M(0x1e4),q=Y!==undefined?M(0x1c0)+a5s[M(0x1d6)](Y):'',t=T!==undefined?'\x20in\x20container\x20'+a5s['bold'](T):'',J=b?'without\x20shell':f===undefined?'with\x20shell\x20session':M(0x1eb)+a5s[M(0x1c2)](f),N=i?M(0x20b)+i:'',Z=c?M(0x1e6)+c:'',x=a?'with\x20command\x20\x27'+a5s[M(0x1c2)](a)+'\x27':'',g=[x,J,N,Z]['filter'](o=>o!=='')[M(0x208)]('\x20'),S=M(0x1ad)+a5s['bold']('\x27Ctrl+D\x27')+')';console[M(0x1af)](M(0x1f2)+l+'\x20'+a5s[M(0x1d6)](e)+'\x20in\x20project\x20'+a5s['bold'](s)+q+t+'\x20'+g+'\x20'+S);};[a5V(0x1b8)]=async(l,e,s=![])=>{const A=a5V;let f=![];try{process[A(0x1c7)]['isTTY']&&(a5f['emitKeypressEvents'](process[A(0x1c7)]),process['stdin'][A(0x1b1)](!![]),process[A(0x20e)]['on'](A(0x1e9),()=>{const L=A;l[L(0x1f4)](this[L(0x1ff)]());}),process['stdin']['on'](A(0x20d),(c,a)=>{const C=A;a[C(0x209)]==='\x04'&&(f?(process['stdin'][C(0x1b1)](![]),warning(C(0x1b5)),process[C(0x1f3)]()):(f=!![],setTimeout(()=>f=![],0x190)));}));process[A(0x1c7)][A(0x1fa)](l[A(0x20f)]),l[A(0x1c9)][A(0x1fa)](process[A(0x1c3)]),l[A(0x1fe)]['pipe'](process[A(0x20e)]),l['on'](A(0x1b9),c=>{const y=A;error(y(0x1bd)+e+y(0x1cb)+(c[y(0x1df)]??c)),process[y(0x1c7)][y(0x1ba)]&&process[y(0x1c7)][y(0x1b1)](![]),process['exit'](-0x1);});const i=await l[A(0x1d5)]();if(s!==!![]){const c=i?.['status']??A(0x1dd),a=i?.['exitCode']??-0x1,D=i?.[A(0x1df)]?',\x20details:\x20'+i['message']:'';c===A(0x1b6)?success(A(0x1dc)+a):warning(A(0x1f8)+c+A(0x1f6)+a+D);}return i;}finally{process['stdin']['isTTY']&&process[A(0x1c7)][A(0x1b1)](![]);}};[a5V(0x1c6)]=async(l,e,s,f,i)=>{const n=a5V,c=l[n(0x1f1)]()==='org'?f??await e[n(0x1bf)]():undefined,a=s||i||await e['askForProject'](c)();return{'teamId':c,'projectId':a};};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(l,e){const r=a6e,s=l();while(!![]){try{const f=-parseInt(r(0x122))/0x1+-parseInt(r(0x128))/0x2*(-parseInt(r(0x132))/0x3)+parseInt(r(0x133))/0x4+parseInt(r(0x11c))/0x5+-parseInt(r(0x11f))/0x6*(parseInt(r(0x131))/0x7)+-parseInt(r(0x125))/0x8*(parseInt(r(0x118))/0x9)+-parseInt(r(0x115))/0xa*(-parseInt(r(0x12e))/0xb);if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a6l,0x189d0));function a6e(l,e){const s=a6l();return a6e=function(f,i){f=f-0x112;let c=s[f];return c;},a6e(l,e);}function a6l(){const m=['830740NGADtR','aliases','join','2286eVMYdO','flat','map','log','743550CNnLDl','command-overview','Print\x20command\x20descriptions','920934lruXZO','name','\x27\x20found.\x20Available\x20subcommands:\x20','163389pzxksG','length','--filter\x20<filter>','2328bqJHKp','slice','Only\x20display\x20tree\x20of\x20this\x20subcommand.\x20Example:\x20\x27northflank\x20command-overview\x20list\x27','454bheHWS','option','forEach','action','opts','Prints\x20a\x20tree\x20view\x20of\x20all\x20available\x20commands','22bQcwqS','--verbose','No\x20subcommand\x20\x27','7MZYjzf','363vOOSUR','597132HQknBx','commands','description','argument','some'];a6l=function(){return m;};return a6l();}import a6s from'chalk';import{getCommand,warning}from'../utils.js';export function getCommandOverview(l){const W=a6e;return getCommand()[W(0x120)](W(0x11d))[W(0x112)](W(0x12d))[W(0x113)]('[subcommand]',W(0x127))[W(0x129)](W(0x12f),W(0x11e))[W(0x129)](W(0x124),'Show\x20only\x20commands\x20including\x20the\x20filter\x20word')[W(0x12b)](async(e,s,f)=>{const R=W,{verbose:i,filter:c}=s,a=(T,b=[])=>{const u=a6e;if(T[u(0x134)][u(0x123)]>0x0)return[T[u(0x120)](),...T[u(0x116)](),...T[u(0x134)][u(0x11a)](q=>a(q,b))[u(0x119)]()];return[...b,T['name'](),...T[u(0x116)]()];};function D(T,q){const V=a6e;if(Math['abs'](T['length']-q[V(0x123)])>0x2)return![];const t=T[V(0x123)]>=q[V(0x123)]?T:q,J=T[V(0x123)]<q[V(0x123)]?T:q;let N=0x0;for(let Z=0x0;Z<t[V(0x123)];Z++){if(t[Z]!==J[Z])N++;if(N>0x1)return![];}return!![];}function Y(T,b){const h=a6e,q=(B,k=!![])=>k?a6s['bold']['green'](B['name']()):B[h(0x120)](),t=b[h(0x123)]===0x0,J=c===undefined||a(T)[h(0x114)](B=>D(B,c)),N=c===undefined||[T[h(0x120)](),...T[h(0x116)]()][h(0x114)](B=>D(B,c))||J,Z=T[h(0x134)];let x='';const g=Z[h(0x123)]===0x0,S=g||Object['keys'](T?.[h(0x12c)]())?.[h(0x123)]>0x0;!t&&(x=Z&&!g?'┬\x20':'─\x20');const o=i&&S&&T['description']()?':\x20'+T[h(0x112)]():'';N&&console[h(0x11b)](''+b+x+q(T,S)+o);let G=b;if(!t){const B=b[h(0x126)](-0x2)==='└─';G=b[h(0x126)](0x0,-0x2)+(B?'\x20\x20':'│\x20');}const I=G+'├─',P=G+'└─',F=Z['every'](k=>k['commands'][h(0x123)]===0x0);F&&!g&&!i?N&&console[h(0x11b)](P+'\x20'+Z[h(0x11a)](k=>q(k))[h(0x117)](',\x20')):Z[h(0x12a)]((k,v)=>{Y(k,Z['length']-0x1===v?P:I);});}if(e){const T=l[R(0x134)]['find'](b=>b[R(0x120)]()===e);T===undefined?warning(R(0x130)+e+R(0x121)+l[R(0x134)]['map'](b=>b[R(0x120)]())[R(0x117)](',\x20')):Y(T,'');}else Y(l,'');});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(l,e){const Z=a7e,s=l();while(!![]){try{const f=-parseInt(Z(0x1f3))/0x1*(parseInt(Z(0x1ee))/0x2)+-parseInt(Z(0x20a))/0x3*(-parseInt(Z(0x1f0))/0x4)+-parseInt(Z(0x1fc))/0x5*(-parseInt(Z(0x1e6))/0x6)+parseInt(Z(0x1ef))/0x7+-parseInt(Z(0x1f7))/0x8+parseInt(Z(0x1ea))/0x9*(parseInt(Z(0x1f5))/0xa)+-parseInt(Z(0x1eb))/0xb;if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a7l,0xd11bf));import a7s from'chalk';import*as a7f from'util';function a7l(){const r=['30120TuIPme','keys','json','getSeconds','1665414kIrbTe','1100517uqcHix','getFullYear','disabled','348482SjNWFG','2340275HnSiBo','4dKCTTv','getDate','format','3vaqLZu','getHours','10yBuWWR','yml','3721896sJryXG','toLowerCase','dump','toString','\x20(HTTP\x20status:\x20','455TAxvIb','internalId','getMinutes','sort','yaml','inspect','No\x20','updatedat','\x20found','length','green','includes','boolean','stringify','2904981srswWe','replace','log'];a7l=function(){return r;};return a7l();}function a7e(l,e){const s=a7l();return a7e=function(f,i){f=f-0x1e5;let c=s[f];return c;},a7e(l,e);}import a7i from'js-yaml';import a7c from'columnify';import{set,isFinite,clone,isEmpty,isArrayLike,isObjectLike}from'lodash-es';export function printAsTable(l,e,s,f=![],i=0x0){const o=a7e;!f&&console['log'](''+a7s['bold'](e));function c(D){const x=a7e;return D===x(0x1ed)?D:D[x(0x20b)]('disabled','');}function a(D,Y){const S=a7e;function T(q){const g=a7e,t=new Date(q);return t[g(0x1f1)]()+'/'+t['getMonth']()+'/'+t[g(0x1ec)]()+'\x0a'+t[g(0x1f4)]()+':'+t[g(0x1fe)]()+':'+t[g(0x1e9)]();}const b=['createdat',S(0x203)];if(b[S(0x207)](Y[S(0x1f8)]())&&isFinite(D)&&D[S(0x1fa)]()[S(0x205)]===0xd)return T(Number(D));if(typeof D===S(0x208)){if(Y!=='disabled'&&Y[S(0x207)](S(0x1ed)))return D?'x':'✔';return D?'✔':'x';}if(isObjectLike(D))return a7f[S(0x201)](D,{'showHidden':![],'depth':null,'colors':!![],'compact':!![]});return D;}if(isArrayLike(l)){l[o(0x205)]===0x0&&console['log'](o(0x202)+e[o(0x1f8)]()+o(0x204));const D=l['map']((b,q)=>{const G=o,t={'i':q+i};return Object[G(0x1e7)](b)['forEach'](J=>{const I=G;(s===undefined||s[I(0x207)](J[I(0x1f8)]()))&&set(t,c(J),a(b[J],J));}),t;}),Y=clone(Object[o(0x1e7)](D?.[0x0]||[]))[o(0x1ff)]((q,t)=>{const P=o,J=N=>N!=='i'?N!==P(0x1fd)?0x0:0x1:0x2;return J(t)-J(q);}),T={'maxWidth':0x1e,'preserveNewLines':!![],'showHeaders':!f,'config':{'_id':{'maxWidth':0x5,'truncate':!![]},'i':{'showHeaders':![]}},'columns':Y};console['log'](a7c(D,T));}else console[o(0x1e5)](l);}export function consoleFormat(l,e){const F=a7e;if(isEmpty(l)){const s=e?F(0x1fb)+e+')':'';return a7s[F(0x206)]('The\x20request\x20was\x20completed\x20successfully')+s;}if(!isObjectLike(l))return l?.[F(0x1fa)]();return a7f[F(0x201)](l,{'showHidden':![],'depth':null,'colors':!![],'compact':!![]});}export const handleJsonOutput=(l,e)=>{const B=a7e,s=l===B(0x1e8);if(s)console['log'](JSON[B(0x209)](e,null,'\x20'));};export const handleYamlOutput=(l,e)=>{const k=a7e,s=l===k(0x200)||l===k(0x1f6);if(s)console['log'](a7i[k(0x1f9)](e));};export const handleFormattedOutput=(l,e)=>{const v=a7e,s=l===v(0x1f2);if(s)console[v(0x1e5)](consoleFormat(e));};export const printResponse=(l,e)=>{handleJsonOutput(l,e),handleYamlOutput(l,e),handleFormattedOutput(l,e);};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(l,e){const p=a8e,s=l();while(!![]){try{const f=parseInt(p(0x19d))/0x1+parseInt(p(0x194))/0x2*(parseInt(p(0x18b))/0x3)+-parseInt(p(0x184))/0x4+-parseInt(p(0x197))/0x5+-parseInt(p(0x19f))/0x6*(parseInt(p(0x19b))/0x7)+parseInt(p(0x196))/0x8*(parseInt(p(0x18c))/0x9)+-parseInt(p(0x1a2))/0xa;if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a8l,0xc56b9));function a8e(l,e){const s=a8l();return a8e=function(f,i){f=f-0x183;let c=s[f];return c;},a8e(l,e);}import a8s from'chalk';const colored=(l,e)=>{return e===undefined?l:a8s[e](l);};export const getAsciiChart=(l,e={})=>{const O=a8e,s=Array[O(0x19e)](l[0x0])?l:[l];let f=typeof e[O(0x193)]!==O(0x1a7)?e['min']:s[0x0][0x0],c=typeof e[O(0x190)]!==O(0x1a7)?e[O(0x190)]:s[0x0][0x0];for(let F=0x0;F<s['length'];F++){for(let B=0x0;B<s[F][O(0x1a6)];B++){f=Math[O(0x193)](f,s[F][B]),c=Math[O(0x190)](c,s[F][B]);}}let a=['┼','┤','╶','╴','─','╰','╭','╮','╯','│'],D=Math[O(0x1a8)](c-f),Y=typeof e[O(0x1a1)]!==O(0x1a7)?e[O(0x1a1)]:0x3,T=typeof e[O(0x188)]!==O(0x1a7)?e['padding']:'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20',b=typeof e['height']!==O(0x1a7)?e[O(0x18a)]:D,q=typeof e[O(0x183)]!=='undefined'?e['colors']:[O(0x19a),O(0x18d),O(0x187),O(0x1a5),O(0x199)],t=D!==0x0?b/D:0x1,J=Math['round'](f*t),N=Math[O(0x186)](c*t),Z=Math[O(0x1a8)](N-J),g=0x0;for(let k=0x0;k<s[O(0x1a6)];k++){g=Math[O(0x190)](g,s[k][O(0x1a6)]);}g=g+Y;let S=typeof e['symbols']!==O(0x1a7)?e[O(0x195)]:a,o=e['format']!==undefined?e[O(0x18f)]:function(v){const z=O;return(T+v[z(0x198)](0x2)+e[z(0x191)])['slice'](-T[z(0x1a6)]);},G=new Array(Z+0x1);for(let v=0x0;v<=Z;v++){G[v]=new Array(g);for(let r=0x0;r<g;r++){G[v][r]='\x20';}}for(let W=J;W<=N;++W){const u=o(Z>0x0?c-(W-J)*D/Z:W,W-J);G[W-J][Math['max'](Y-u[O(0x1a6)],0x0)]=u,G[W-J][Y-0x1]=W==0x0?S[0x0]:S[0x1];}for(let V=0x0;V<s[O(0x1a6)];V++){let h=q[V%q[O(0x1a6)]],R=Math[O(0x186)](s[V][0x0]*t)-J;G[Z-R][Y-0x1]=colored(S[0x0],h);for(let m=0x0;m<s[V][O(0x1a6)]-0x1;m++){let X=Math['round'](s[V][m+0x0]*t)-J,d=Math[O(0x186)](s[V][m+0x1]*t)-J;if(X==d)G[Z-X][m+Y]=colored(S[0x4],h);else{G[Z-d][m+Y]=colored(X>d?S[0x5]:S[0x6],h),G[Z-X][m+Y]=colored(X>d?S[0x7]:S[0x8],h);let w=Math[O(0x193)](X,d),H=Math[O(0x190)](X,d);for(let M=w+0x1;M<H;M++){G[Z-M][m+Y]=colored(S[0x9],h);}}}}const {startTs:I,endTs:P}=e;if(I||P){const A=Q=>{const l0=O;if(!Q)return l0(0x1a3);const E=Q['toLocaleDateString'](undefined,{'day':l0(0x19c),'month':l0(0x19c),'year':l0(0x19c)}),U=Q[l0(0x185)](undefined,{'hourCycle':l0(0x1a0)});return E+'\x20'+U;},L=A(P),C=A(I),n=T['slice'](0x0,Math[O(0x190)](0x2,T['length']-C[O(0x1a6)]/0x2+0x1)),K='\x20'[O(0x192)](Math['max'](g-(T[O(0x1a6)]+L['length']/0x2),0x1));G[O(0x1a4)]([''+n+C+K+L]),G['push']([]);}return G[O(0x18e)](Q=>Q['join'](''))['join']('\x0a');};function a8l(){const l2=['height','6snTbYx','12402xDgwCS','red','map','format','max','unit','repeat','min','1616642zoUOFA','symbols','6480ptTunY','848395NTPxqZ','toFixed','black','blue','42eEHwmU','2-digit','1151548ieKubW','isArray','1123098qQQLnO','h24','offset','2081180bNaJZE','\x20\x20\x20','push','grey','length','undefined','abs','colors','6299368kPIsaT','toLocaleTimeString','round','green','padding','floor'];a8l=function(){return l2;};return a8l();}export const downSampleData=(l,e)=>{const l1=a8e,s=l[l1(0x1a6)];if(e>=s||e===0x0)return l;const f=[];let c=0x0;const D=(s-0x2)/(e-0x2);let Y=0x0,T,b,q,t;f[c++]=l[Y];for(var J=0x0;J<e-0x2;J++){let o=0x0,G=0x0,I=Math[l1(0x189)]((J+0x1)*D)+0x1,P=Math[l1(0x189)]((J+0x2)*D)+0x1;P=P<s?P:s;var N=P-I;for(;I<P;I++){o+=l[I][0x0],G+=l[I][0x1];}o/=N,G/=N;var Z=Math[l1(0x189)](J*D)+0x1,x=Math[l1(0x189)]((J+0x1)*D)+0x1,g=l[Y][0x0],S=l[Y][0x1];b=q=-0x1;for(;Z<x;Z++){q=Math[l1(0x1a8)]((g-o)*(l[Z][0x1]-S)-(g-l[Z][0x0])*(G-S))*0.5,q>b&&(b=q,T=l[Z],t=Z);}f[c++]=T,Y=t;}return f[c++]=l[s-0x1],f;};
|
package/dist/inquirer-helper.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a9Q=a9N;(function(x,N){const K=a9N,w=x();while(!![]){try{const Y=parseInt(K(0xc8))/0x1*(parseInt(K(0xb2))/0x2)+parseInt(K(0x10f))/0x3*(-parseInt(K(0x117))/0x4)+parseInt(K(0xfb))/0x5+-parseInt(K(0x132))/0x6+parseInt(K(0x8a))/0x7*(-parseInt(K(0x160))/0x8)+-parseInt(K(0x13b))/0x9+parseInt(K(0xda))/0xa*(parseInt(K(0xd1))/0xb);if(Y===N)break;else w['push'](w['shift']());}catch(L){w['push'](w['shift']());}}}(a9x,0x4643a));import a9w from'chalk';function a9x(){const xe=['askForAddonBackup','backupDestinations','askForContainer','No\x20','apiClient','\x20(full\x20domain:\x20','must\x20be\x20a\x20valid\x20non-empty\x20json\x20string','override','No\x20containers\x20found','all-builds','askForProjectScopedResource','WARNING:\x20You\x20are\x20about\x20to\x20delete\x20','isNaN','main-context','subdomains','registryCredentials','askForResourcePaginated','job\x20containers','values','pathVars',',\x20supported\x20types:\x20[json|yaml|yml]','pattern','template\x20run','oneOf','default','propToType','split','askForAddonRestore','restores','Please\x20confirm\x20following\x20configuration:\x0a','askForCredentials','projects','Choose\x20the\x20name\x20of\x20the\x20new\x20local\x20context:','logSinks','job:\x20\x27','14838VglLTE','rawObject','bgGrey','writeFileSync','retrievePayloadViaInteractiveCli','name','array','type','unshift','to\x20use:','pagination','then','validate','\x20type?','must\x20be\x20smaller\x20than\x20or\x20equal\x20to\x20','yellowBright','this\x20option\x20is\x20required,\x20please\x20answer','service\x20build','don\x27t\x20change','maxLength','doesn\x27t\x20match\x20pattern\x20\x27','\x20in\x20','59CCkJTj','stringify','must\x20be\x20bigger\x20than\x20or\x20equal\x20to\x20','whiteBright','\x20(completedAt:\x20','Writing\x20configuration\x20failed:\x20','resultCache','getInnerType','\x20to\x20use:','9285947wWfCji','ask','concat','secret','getPathString','askForBackupDestination','Yes,\x20send','service:\x20\x27','No,\x20abort','10NoNGKY','all-job-runs','object','load','getCurrentProjectName','tokenPrompt','properties','for\x20this\x20','toString','askForSubdomain','editPayload','password','data','askGeneric','saveFile','cursor','\x20characters,\x20is\x20','domains','credentials','yml','nextCursor','addons','What\x20do\x20you\x20want\x20to\x20use\x20as','fullName','message','blueBright','map','paths','confirmation','job\x20builds','\x27\x20already\x20exists.\x20Do\x20you\x20want\x20to\x20override\x20this\x20context\x20(y)\x20or\x20enter\x20a\x20new\x20name\x20(N)?','Should\x20it\x20be','nextPageCursor','565300zBxbBE','askForJobRun','askForAddon','reset','confirm','project','What\x27s\x20the\x20','\x20Example:\x20','Template\x20id\x20not\x20provided.','askForTemplate','editor','Context\x20with\x20name\x20\x27','all','addon:\x20\x27','clusters','tags','example','addon','askForJob','body','3BVSgWq','get','Do\x20you\x20want\x20to\x20add','createdAt','askForSubdomainPath','includes','blue','secrets','343004HrFGvs','test','askForProjectScopedResourcePaginated','minimum','function','skipValidation','services','found','getType','REPEAT','),\x20subdomain\x20(','toUpperCase','templates','yaml','dump','builds','enum','ABORT','SAVE','registerPrompt','No\x20builds\x20found','underline','find','completedAt','length','Choose\x20the\x20','containers','395400kfolyC','bold','askForBuild','green','push','backup\x20destination','maximum','list','subdomain','4692123MeQvqG','No,\x20but\x20save\x20as\x20file','minLength','greenBright','red','domain','choice','isArray','description','templateRuns','job','YES','prompt','runs','askForLogSink','must\x20be\x20a\x20number,\x20is\x20','domain\x20(','contextProvider','must\x20be\x20shorter\x20than\x20or\x20equal\x20to\x20','askForSecret','string','getQuestionString','\x20(startedAt:\x20','grey','project:\x20\x27','backups','deleteWarningPrompt','Configuration\x20file\x20written\x20to\x20','integer','defaultPaginationPageSize','askArrayEntry','pipeline','askForService','addEntry','repeat','askForPipeline','loginPrompt','3473264TBniKM','\x20characters','cloud','pagination-prompt','service','join','setPathVars','EDIT','not\x20completed','boolean','path','opt','token','anyOf','must\x20be\x20longer\x20than\x20or\x20equal\x20to\x20','items','confirmationPrompt','max','search-list','fileName','.*\x5c.(json|yaml|yml)$','No,\x20repeat','Go\x20to\x20editor','filter','tmpCmdPath','askForResource','cluster\x20id','7veHDZr','jobs','slice','input','tag'];a9x=function(){return xe;};return a9x();}import*as a9Y from'fs';import{isValidJSON,retry,success,warning}from'./utils.js';import{fetchResourceList}from'./api-helpers.js';import{DynamicReloadPaginationPrompt}from'./pagination/inquirer-pagination-prompt.js';import a9L from'inquirer';import a9t from'inquirer-search-list';import a9c from'js-yaml';import{set,has,get,isEmpty,unset}from'lodash-es';function a9N(x,N){const w=a9x();return a9N=function(Y,L){Y=Y-0x85;let t=w[Y];return t;},a9N(x,N);}var ConfirmChoices;(function(x){const i=a9N;x[i(0x146)]=i(0xd7),x[i(0x120)]=i(0x175),x['EDIT']='No,\x20edit',x['SAVE']=i(0x13c),x[i(0x128)]=i(0xd9);}(ConfirmChoices||(ConfirmChoices={})));export class InquirerHelper{[a9Q(0x93)];[a9Q(0xce)];['tmpCmdPath'];['skipValidation'];[a9Q(0xa2)];[a9Q(0x158)]=0x32;constructor(x){const k=a9Q;this[k(0x93)]=x,a9L[k(0x12a)](k(0x172),a9t),a9L[k(0x12a)]('pagination-prompt',DynamicReloadPaginationPrompt);}[a9Q(0xe4)]=async x=>{const d=a9Q,{editedResult:N}=await a9L[d(0x147)]([{'type':d(0x105),'name':'editedResult','message':d(0x85),'default':a9c[d(0x125)](x)}]);return a9c[d(0xdd)](N);};['saveFile']=async x=>{const J=a9Q,N=t=>'Unexpected\x20file\x20type:\x20'+t+J(0xa3);async function w(){const X=J;return a9L[X(0x147)]([{'type':'input','name':X(0x173),'message':'Provide\x20a\x20file\x20path\x20to\x20write\x20the\x20configuration\x20to\x20(<name>.[json|yaml|yml])','validate':t=>new RegExp(X(0x174))[X(0x118)](t)?!![]:N(t)}]);}const {fileName:Y}=await w(),L=Y['toString']()[J(0xa9)]('.')['pop']();try{switch(L){case'json':success(J(0x156)+Y);return a9Y['writeFileSync'](Y,JSON[J(0xc9)](x,null,'\x20\x20'));case J(0x124):case J(0xed):success('Configuration\x20file\x20written\x20to\x20'+Y);return a9Y[J(0xb5)](Y,a9c['dump'](x));default:warning(N(L));}}catch(t){warning(J(0xcd)+t[J(0xf2)]);}return undefined;};async['confirmationPrompt'](x,N){const H=a9Q,w=a9c[H(0x125)](x),Y=Math[H(0x171)](...w[H(0xa9)]('\x0a')[H(0xf4)](O=>O[H(0x12f)])),L=a9w[H(0x152)]('-'[H(0x15d)](Y)+'\x0a'),{confirm:t}=await a9L['prompt']([{'type':'list','name':H(0xff),'message':''+a9w[H(0x133)][H(0x135)](H(0xac))+L+a9w[H(0xf3)](w)+L,'choices':Object[H(0xa1)](ConfirmChoices)}]);switch(t){case ConfirmChoices[H(0x146)]:return x;case ConfirmChoices[H(0x128)]:throw new Error('Aborted.');case ConfirmChoices[H(0x120)]:return this[H(0xb6)](N);case ConfirmChoices[H(0x167)]:return this['confirmationPrompt'](await this['editPayload'](x),N);case ConfirmChoices[H(0x129)]:await this[H(0xe8)](x);return this[H(0x170)](x,N);default:throw new Error('Something\x20unexpected\x20happened.');}}async['retrievePayloadViaInteractiveCli'](x,N){const u=a9Q;if(N?.[u(0xce)]!==undefined)this[u(0xce)]=N?.[u(0xce)];this[u(0x87)]=N?.['cmdPath'],this[u(0x11c)]=N?.[u(0x11c)];const w={};return await this['propToType']([],x[u(0x16b)][u(0x10e)],w),this['resultCache']=w,await this[u(0x170)](w,x);}async[a9Q(0xa8)](x,N,w,Y){const C=a9Q;let L;if(N['oneOf']&&!has(N,'properties')){if(N[C(0xa6)]['length']>0x1){const {choice:t}=await a9L['prompt']([{'type':C(0x139),'name':C(0x141),'message':C(0x101)+(x[x['length']-0x1]||'')+'\x20type?','choices':N[C(0xa6)][C(0xf4)](O=>O[C(0x143)]??'??')}]);L=await this['getType'](x,N[C(0xa6)][C(0x12d)](O=>O[C(0x143)]===t),w,Y);}else{const O=N['oneOf'][0x0];set(O,C(0x143),N[C(0x143)]),L=await this[C(0x11f)](x,O,w,Y);}L={};}else{if(N[C(0x16d)]&&!has(N,C(0xe0))){if(N[C(0x16d)][C(0x12f)]>0x1){const {choice:v}=await a9L['prompt']([{'type':C(0x139),'name':C(0x141),'message':'What\x27s\x20the\x20'+(x[x[C(0x12f)]-0x1]||'')+C(0xbf),'choices':[...N['anyOf'][C(0xf4)](r=>r['description']??'??'),C(0xc4)]}]);v!==C(0xc4)&&(L=await this[C(0x11f)](x,N[C(0x16d)][C(0x12d)](r=>r[C(0x143)]===v),w,Y));}else{const r=N[C(0x16d)][0x0];set(r,C(0x143),N[C(0x143)]),L=await this[C(0x11f)](x,r,w,Y);}L={};}else L=await this[C(0x11f)](x,N,w,Y);}return L;}async[a9Q(0xcf)](x,N,w,Y){const M=a9Q;if(Y===![]){const {addEntry:O}=await a9L[M(0x147)]([{'type':M(0xff),'name':M(0x15c),'message':this[M(0xd5)](N,M(0x111),x?.[M(0x143)]),'default':![]}]);if(!O)return w;}const L=Object['keys'](x?.['properties']??[]),t=x['required']||[];if(L[M(0x12f)]>0x0)for(const v of L){const r=N[M(0xd3)](v);if(N[M(0x12f)]>0x0&&!has(w,N[M(0x165)]('.')))set(w,N[M(0x165)]('.'),{});await this[M(0xa8)](r,x[M(0xe0)][v],w,t[M(0x114)](v));}else await this[M(0x11f)](N,{...x,'type':M(0xb3)},w,Y);return w;}async[a9Q(0x159)](x,N,w,Y){const e=a9Q;if(N&&w)return!![];const L=N?e(0x111):'Do\x20you\x20want\x20to\x20add\x20more',{addEntry:t}=await a9L[e(0x147)]([{'type':e(0xff),'name':e(0x15c),'message':this[e(0xd5)](x,L,N?Y:undefined),'default':![]}]);return t;}async[a9Q(0x11f)](x,N,w,Y){const F=a9Q;let L;const t=x[F(0x165)]('.');switch(N?.['type']){case F(0xb8):{let O=!![];while(await this[F(0x159)](x,O,Y,N?.['description'])){const v=get(w,t);unset(w,t),await this[F(0x11f)](x,N[F(0x16f)],w);const r=get(w,t);!Array[F(0x142)](v)?set(w,t,[r]):(v['push'](r),set(w,t,v)),O=![];}return L||[];}case F(0xdc):{return L=await this['getInnerType'](N,x,w,Y),L;}case F(0xb3):L=isValidJSON(await this['ask'](x,N,Y))||undefined;break;case F(0x14f):case F(0x169):case F(0x157):default:L=await this[F(0xd2)](x,N,Y,w);break;}return L!==undefined&&set(w,t,L),L;}async[a9Q(0xd2)](x,N,w,Y){const G=a9Q,L=x[x['length']-0x1],{defaultValue:defaultValue=N?.['example']??N?.['default'],choices:choices=N?.[G(0x127)],pagination:t}=await fetchResourceList(L,this['apiClient'],this['tmpCmdPath'],Y,this[G(0xa2)],x);let O=G(0x8d);if(choices!==undefined&&choices[G(0x12f)]>0x0){if(t!==undefined&&t[G(0xfa)]!==undefined)O='pagination-prompt';else choices[G(0x12f)]>0x4&&typeof choices[0x0]==='string'?O='search-list':O=G(0x139);}else{if(N?.[G(0xb9)]===G(0x169))O=G(0xff);else{if(N?.[G(0xb9)]===G(0x157))O=G(0x8d);else N?.[G(0xb9)]===G(0xb3)&&(O=G(0x105));}}let v=w!==![]?!(defaultValue!==null&&(typeof defaultValue===G(0xdc)||typeof defaultValue===G(0x11b)))?defaultValue:JSON[G(0xc9)](defaultValue):typeof defaultValue==='boolean'?defaultValue:'don\x27t\x20change';if(choices)v=v[G(0xe2)]();has(this[G(0xce)],x[G(0x165)]('.'))&&(v=this[G(0xce)][x['join']('.')]);const r=choices&&w===![]?[G(0xc4),...choices]:choices,a=N?.[G(0xb9)]===G(0x157),f={'type':O,'name':'id','message':this[G(0x150)](x,N),'choices':r,'default':v,'filter':this[G(0x86)](O,w),'validate':this[G(0xbe)](N,w,a),...t},p=(await a9L[G(0x147)]([f]))['id'];if(p===G(0xc4)||p==='')return undefined;if(a)return parseInt(p,0xa);return p;}[a9Q(0x86)]=(x,N)=>w=>{const I=a9Q,Y=typeof w===I(0x14f)?w['trim']():w;return N===![]&&Y===I(0xc4)?'':Y;};[a9Q(0x150)](x,N){const A=a9Q,w=N?.['type']!==A(0x169)?A(0xf0):A(0xf9);return this[A(0xd5)](x,w,N?.['description']);}[a9Q(0xbe)]=(x,N,w)=>Y=>{const P=a9Q;if(this[P(0x11c)]===!![])return!![];const L=[];if(Y===''||Y===P(0xc4)){if(N!==![])L[P(0x136)](P(0xc2));else return!![];}x[P(0xb9)]===P(0x14f)&&x[P(0xa4)]!==undefined&&L[P(0x136)](new RegExp(x[P(0xa4)])['test'](Y)?!![]:P(0xc6)+x['pattern']+'\x27');x[P(0xb9)]===P(0x14f)&&x[P(0x13d)]!==undefined&&L['push'](Y['length']>=x[P(0x13d)]?!![]:P(0x16e)+x[P(0x13d)]+P(0xea)+Y['length']+P(0x161));x[P(0xb9)]==='string'&&x[P(0xc5)]!==undefined&&L[P(0x136)](Y[P(0x12f)]<=x[P(0xc5)]?!![]:P(0x14d)+x[P(0xc5)]+P(0xea)+Y['length']+P(0x161));w&&Number[P(0x9b)](parseInt(Y,0xa))&&L[P(0x136)](P(0x14a)+Y);x[P(0xb9)]===P(0x157)&&x[P(0x11a)]!==undefined&&L[P(0x136)](Y>=x[P(0x11a)]?!![]:P(0xca)+x[P(0x11a)]);x[P(0xb9)]===P(0x157)&&x[P(0x138)]!==undefined&&L[P(0x136)](Y<=x[P(0x138)]?!![]:P(0xc0)+x[P(0x138)]);if(x['type']===P(0xb3)){const v=isValidJSON(Y);L['push'](v===![]||isEmpty(v)?P(0x95):!![]);}const t=L[P(0x86)](r=>r!==!![]),O=x?.['example']?'\x0a'+a9w[P(0x13f)]('>>')+P(0x102)+a9w['whiteBright'](JSON[P(0xc9)](x[P(0x10b)])):'';return t[P(0x12f)]>0x0?t['join'](a9w[P(0x12c)]('\x20and\x20it\x20'))+O:!![];};[a9Q(0xd5)]=(x,N,w)=>{const y=a9Q,Y=x[x[y(0x12f)]-0x1];function L(){const b=y;return x[b(0x8c)](0x0,-0x1)[b(0xf4)](v=>v['charAt'](0x0)[b(0x122)]()+v[b(0x8c)](0x1))[b(0x165)]('>');}const t=x[y(0x12f)]>0x1?a9w[y(0xb4)][y(0xcb)](L())+':\x20':'',O=w?'\x20('+a9w[y(0x115)](w)+')':'';return a9w[y(0xfe)](''+t+N+'\x20'+a9w[y(0x133)][y(0x13e)](Y)+O+'?');};async['askForProject'](){const z=a9Q,x=await this['apiClient'][z(0x139)][z(0xae)]['all']({})[z(0xbd)](N=>N['data']['projects']['map'](w=>w['id']));return await this[z(0x88)](z(0x100),x);}async['askForProjectScopedResource'](x,N,w,Y){const Z=a9Q,L=w||this['apiClient']['contextProvider'][Z(0xde)]();if(L===undefined)throw new Error('Default\x20project\x20in\x20context\x20not\x20set\x20and\x20no\x20argument\x20provided.');const t=await N(L);return await this[Z(0x88)](x,t,(Y?Y+'\x20in\x20':'')+Z(0x153)+L+'\x27');}async[a9Q(0x119)](x,N,w,Y){const g=a9Q,L=w||this[g(0x93)][g(0x14c)][g(0xde)]();if(L===undefined)throw new Error('Default\x20project\x20in\x20context\x20not\x20set\x20and\x20no\x20argument\x20provided.');const t=await N(L);return await this['askForResourcePaginated'](x,t,(Y?Y+g(0xc7):'')+'project:\x20\x27'+L+'\x27');}[a9Q(0x88)]=async(x,N,w)=>{const T=a9Q;if(N[T(0x12f)]<0x1){const t=w?T(0xe1)+w:T(0x11e);throw new Error(T(0x92)+x+'\x20'+t+'.');}const Y=T(0x130)+x+T(0xd0),L=N[T(0x12f)]>0x4?T(0x172):T(0x139);return(await a9L[T(0x147)]([{'type':L,'name':T(0xb7),'message':Y,'choices':N}]))[T(0xb7)];};[a9Q(0x9f)]=async(x,N,w)=>{const R=a9Q,{elements:Y,nextCursor:L}=await N();if(Y[R(0x12f)]<0x1){const v=w?'for\x20this\x20'+w:R(0x11e);throw new Error('No\x20'+x+'\x20'+v+'.');}const t=R(0x130)+x+'\x20to\x20use:';if(L!==undefined){const r=async({nextPageCursor:a})=>{const W=R,f=await N(a);return{'elements':f['elements'],'nextPageCursor':f[W(0xee)]};};return(await a9L[R(0x147)]([{'type':R(0x163),'name':R(0xb7),'message':t,'choices':Y,'nextPageCursor':L,'loadMore':r}]))[R(0xb7)];}const O=Y[R(0x12f)]>0x4?R(0x172):R(0x139);return(await a9L['prompt']([{'type':O,'name':R(0xb7),'message':t,'choices':Y}]))[R(0xb7)];};[a9Q(0xe7)]=(x,N)=>async()=>{const o=a9Q,w=''+(N?'('+a9w[o(0x115)](N)+')\x20':''),Y='Enter\x20the\x20'+a9w[o(0x135)](x)+'\x20'+w+o(0xbb),L=this[o(0xbe)]({'type':o(0x14f),'required':!![]});return(await a9L[o(0x147)]([{'type':o(0x8d),'name':o(0xb7),'message':Y,'validate':L}]))[o(0xb7)];};['askConfirm']=async x=>{const q=a9Q;return(await a9L['prompt']([{'type':'confirm','name':q(0xb7),'message':x,'default':!![]}]))[q(0xb7)];};[a9Q(0x15b)]=x=>async()=>{const N=async w=>{const D=a9N,Y=await this[D(0x93)][D(0x139)][D(0x11d)]['all']({'parameters':{'projectId':w}}),L=Y[D(0xe6)]['services'][D(0xf4)](t=>t['id']);return L;};return this['askForProjectScopedResource']('service',N,x);};[a9Q(0x104)]=()=>async()=>{const B=a9Q,x=async N=>{const U=a9N,w=await this[U(0x93)][U(0x139)][U(0x123)]({'options':{'per_page':this[U(0x158)],'cursor':N}}),Y=w[U(0xe6)][U(0x123)][U(0xf4)](L=>L['id']);return{'elements':Y,'nextCursor':w[U(0xbc)]?.[U(0xe9)]};};return this[B(0x9f)]('template',x);};['askForTag']=()=>async()=>{const S=a9Q,x=async N=>{const V=a9N,w=await this['apiClient'][V(0x139)]['tags']({'options':{'per_page':this['defaultPaginationPageSize'],'cursor':N}}),Y=w[V(0xe6)][V(0x10a)]?.[V(0xf4)](L=>L['id'])??[];return{'elements':Y,'nextCursor':w[V(0xbc)]?.[V(0xe9)]};};return this[S(0x9f)](S(0x8e),x);};[a9Q(0xd6)]=()=>async()=>{const s=a9Q,x=await this[s(0x93)][s(0x139)][s(0x90)][s(0x107)]({}),N=x['data']['backupDestinations'][s(0xf4)](w=>w[s(0xb7)])??[];return this[s(0x88)](s(0x137),N);};['askForClusterId']=()=>async()=>{const n=a9Q,x=async N=>{const h=a9N,w=await this[h(0x93)][h(0x139)][h(0x162)][h(0x109)]({'options':{'per_page':this[h(0x158)],'cursor':N}}),Y=w['data'][h(0x109)]?.[h(0xf4)](L=>L[h(0xb7)])??[];return{'elements':Y,'nextCursor':w[h(0xbc)]?.[h(0xe9)]};};return this[n(0x9f)](n(0x89),x);};['askForTemplateRun']=x=>async()=>{const m=a9Q;if(x===undefined)throw new Error(m(0x103));const N=async w=>{const l=m;let Y=this['defaultPaginationPageSize'];const L=await this[l(0x93)][l(0x139)][l(0x144)]({'parameters':{'templateId':x},'options':{'per_page':Y,'cursor':w}}),t=L[l(0xe6)][l(0x144)][l(0xf4)](O=>O['id']+l(0x151)+O['createdAt']+')');return{'elements':t,'nextCursor':L[l(0xbc)]?.[l(0xe9)]};};return this[m(0x9f)](m(0xa5),N)[m(0xbd)](w=>w[m(0xa9)]('\x20')[0x0]);};[a9Q(0x149)]=()=>async()=>{const x0=a9Q,x=async N=>{const E=a9N;let w=this[E(0x158)];const Y=await this[E(0x93)]['list'][E(0xb0)]({'options':{'per_page':w,'cursor':N}}),L=Y[E(0xe6)]['logSinks'][E(0xf4)](t=>t['id']);return{'elements':L,'nextCursor':Y[E(0xbc)]?.[E(0xe9)]};};return this[x0(0x9f)]('log\x20sink',x);};[a9Q(0x15e)]=x=>async()=>{const x2=a9Q,N=async w=>{const x1=a9N,Y=await this['apiClient']['list']['pipelines'][x1(0x107)]({'parameters':{'projectId':w}});return Y[x1(0xe6)]['pipelines'][x1(0xf4)](L=>L['id']);};return this[x2(0x99)](x2(0x15a),N,x);};[a9Q(0x10d)]=x=>async()=>{const x4=a9Q,N=async w=>{const x3=a9N,Y=await this[x3(0x93)]['list'][x3(0x8b)]['all']({'parameters':{'projectId':w}}),L=Y[x3(0xe6)][x3(0x8b)][x3(0xf4)](t=>t['id']);return L;};return this[x4(0x99)](x4(0x145),N,x);};[a9Q(0xfc)]=(x,N,w=![])=>async()=>{const x5=a9Q,Y=x5(0xdb),L=t=>async O=>{const x6=x5,v=await this[x6(0x93)][x6(0x110)][x6(0x145)][x6(0x148)]({'parameters':{'projectId':t,'jobId':x},'options':{'per_page':this['defaultPaginationPageSize'],'cursor':O}}),r=v[x6(0xe6)][x6(0x148)][x6(0xf4)](a=>a['id']+x6(0x151)+a['startedAt']+')');return w&&r['unshift'](Y),{'elements':r,'nextCursor':v[x6(0xbc)]?.['cursor']};};return this[x5(0x119)]('job\x20runs',L,N,x5(0xb1)+x+'\x27')[x5(0xbd)](t=>{const x7=x5,O=t[x7(0xa9)]('\x20')[0x0];if(O===Y)return undefined;return O;});};[a9Q(0x134)]=(x,N,w,Y=![])=>async()=>{const x8=a9Q,L=x8(0x98);if(w!==undefined){const t=O=>async v=>{const x9=x8,r=await this[x9(0x93)]['get'][x9(0x145)]['builds']({'parameters':{'projectId':O,'jobId':w},'options':{'per_page':this[x9(0x158)],'cursor':v}}),a=r[x9(0xe6)][x9(0x126)][x9(0xf4)](f=>f['id']+x9(0x151)+f['createdAt']+')');return Y&&a[x9(0xba)](L),{'elements':a,'nextCursor':r[x9(0xbc)]?.[x9(0xe9)]};};return this[x8(0x119)](x8(0xf7),t,x,'job:\x20\x27'+w+'\x27')[x8(0xbd)](O=>{const xx=x8,v=O[xx(0xa9)]('\x20')[0x0];if(v===L)return undefined;return v;});}if(N!==undefined){const O=v=>async r=>{const xN=x8,a=await this['apiClient'][xN(0x110)][xN(0x164)]['builds']({'parameters':{'projectId':v,'serviceId':N},'options':{'per_page':this[xN(0x158)],'cursor':r}}),f=a[xN(0xe6)][xN(0x126)][xN(0xf4)](p=>p['id']+'\x20(startedAt:\x20'+p[xN(0x112)]+')');if(Y)f['unshift'](L);return{'elements':f,'nextCursor':a['pagination']?.[xN(0xe9)]};};return this[x8(0x119)](x8(0xc3),O,x,'service:\x20\x27'+w+'\x27')[x8(0xbd)](v=>{const xw=x8,r=v[xw(0xa9)]('\x20')[0x0];if(r===L)return undefined;return r;});}throw new Error(x8(0x12b));};[a9Q(0x91)]=(x,N,w,Y=![])=>async()=>{const xL=a9Q,L='all-containers';if(w!==undefined){const t=O=>async v=>{const xY=a9N,r=await this['apiClient'][xY(0x110)][xY(0x145)][xY(0x131)]({'parameters':{'projectId':O,'jobId':w},'options':{'per_page':this[xY(0x158)],'cursor':v}}),a=r[xY(0xe6)][xY(0x131)]??[],f=a?.['map'](p=>p[xY(0xb7)]+xY(0x151)+p['createdAt']+')');return Y&&f[xY(0xba)](L),{'elements':f,'nextCursor':r[xY(0xbc)]?.[xY(0xe9)]};};return this[xL(0x119)](xL(0xa0),t,x,xL(0xb1)+w+'\x27')[xL(0xbd)](O=>{const xt=xL,v=O[xt(0xa9)]('\x20')[0x0];if(v===L)return undefined;return v;});}if(N!==undefined){const O=v=>async r=>{const xc=xL,a=await this[xc(0x93)][xc(0x110)][xc(0x164)][xc(0x131)]({'parameters':{'projectId':v,'serviceId':N},'options':{'per_page':this[xc(0x158)],'cursor':r}}),f=a[xc(0xe6)]['containers']??[],p=f[xc(0xf4)](j=>j['name']+xc(0x151)+j['createdAt']+')');if(Y)p?.[xc(0xba)](L);return{'elements':p,'nextCursor':a[xc(0xbc)]?.['cursor']};};return this[xL(0x119)]('service\x20containers',O,x,xL(0xd8)+w+'\x27')['then'](v=>{const xO=xL,r=v[xO(0xa9)]('\x20')[0x0];if(r===L)return undefined;return r;});}throw new Error(xL(0x97));};[a9Q(0xfd)]=x=>async()=>{const xr=a9Q,N=async w=>{const xv=a9N,Y=await this[xv(0x93)][xv(0x139)][xv(0xef)][xv(0x107)]({'parameters':{'projectId':w}});return Y[xv(0xe6)][xv(0xef)]['map'](L=>L['id']);};return this['askForProjectScopedResource'](xr(0x10c),N,x);};[a9Q(0x8f)]=(x,N)=>async()=>{const xf=a9Q,w=Y=>async L=>{const xa=a9N,t=await this[xa(0x93)]['get'][xa(0x10c)][xa(0x154)]({'parameters':{'projectId':Y,'addonId':N},'options':{'per_page':this[xa(0x158)],'cursor':L}});return{'elements':t[xa(0xe6)][xa(0x154)][xa(0xf4)](O=>O['id']+xa(0xcc)+(O['completedAt']||xa(0x168))+')'),'nextCursor':t[xa(0xbc)]?.['cursor']};};return this[xf(0x119)](xf(0x154),w,x,xf(0x108)+N+'\x27')['then'](Y=>Y[xf(0xa9)]('\x20')[0x0]);};[a9Q(0xaa)]=(x,N,w)=>async()=>{const xj=a9Q,Y=L=>async t=>{const xp=a9N,O=await this[xp(0x93)][xp(0x110)][xp(0x10c)]['backup'][xp(0xab)]({'parameters':{'projectId':L,'addonId':N,'backupId':w},'options':{'per_page':this['defaultPaginationPageSize'],'cursor':t}});return{'elements':O[xp(0xe6)][xp(0xab)][xp(0xf4)](v=>v['id']+'\x20(completedAt:\x20'+(v[xp(0x12e)]||xp(0x168))+')'),'nextCursor':O[xp(0xbc)]?.[xp(0xe9)]};};return this[xj(0x119)]('restore',Y,x,xj(0x108)+N+'\x27')[xj(0xbd)](L=>L[xj(0xa9)]('\x20')[0x0]);};['askForVolume']=x=>async()=>{const xK=a9Q,N=async w=>(await this[xK(0x93)][xK(0x139)]['volumes']({'parameters':{'projectId':w}}))[xK(0xe6)][xK(0xf4)](Y=>Y['id']);return this[xK(0x99)]('volume',N,x);};[a9Q(0x14e)]=x=>async()=>{const xQ=a9Q,N=async w=>{const xi=a9N,Y=await this['apiClient'][xi(0x139)][xi(0x116)][xi(0x107)]({'parameters':{'projectId':w}});return Y[xi(0xe6)][xi(0x116)][xi(0xf4)](L=>L['id']);};return this[xQ(0x99)](xQ(0xd4),N,x);};async['askForDomain'](){const xk=a9Q,x=await this['apiClient'][xk(0x139)][xk(0xeb)]['all']({}),N=x[xk(0xe6)][xk(0xeb)][xk(0xf4)](w=>w[xk(0xb7)]);return this[xk(0x88)](xk(0x140),N);}async[a9Q(0xad)](){const xd=a9Q,x=await this['apiClient'][xd(0x139)][xd(0x9e)][xd(0x107)]({}),N=x[xd(0xe6)][xd(0xec)][xd(0xf4)](w=>w['id']);return this['askForResource']('credentials',N);}[a9Q(0xe3)]=x=>async()=>{const xJ=a9Q,N=await this[xJ(0x93)][xJ(0x110)][xJ(0x140)]({'parameters':{'domain':x}}),w=N[xJ(0xe6)][xJ(0x9d)][xJ(0xf4)](L=>L[xJ(0xb7)]+xJ(0x94)+L[xJ(0xf1)]+')'),Y=xJ(0x14b)+x+')';return this[xJ(0x88)](xJ(0x13a),w,Y)[xJ(0xbd)](L=>L[xJ(0xa9)]('\x20')[0x0]);};[a9Q(0x113)]=(x,N)=>async()=>{const xX=a9Q,w=await this[xX(0x93)][xX(0x139)][xX(0x13a)][xX(0x16a)]({'parameters':{'domain':x,'subdomain':N}}),Y=w[xX(0xe6)][xX(0xf5)][xX(0xf4)](t=>''+t['uri']),L='domain\x20('+x+xX(0x121)+N+')';return this[xX(0x88)]('subdomainPath',Y,L);};[a9Q(0x155)]=async x=>{const xH=a9Q;return(await a9L[xH(0x147)]([{'type':xH(0xff),'name':xH(0xf6),'message':a9w[xH(0xc1)](xH(0x9a)+(x||'a\x20Northflank\x20resource')+'.\x20This\x20is\x20irreversible.\x20Please\x20confirm!'),'default':![]}]))[xH(0xf6)];};[a9Q(0x15f)]=async(x,N)=>{const xu=a9Q;x['name']===undefined&&(N[xu(0x12f)]<=0x0?set(x,xu(0xb7),xu(0xa7)):await retry(0xa)(async()=>{const xC=xu,{name:w}=await a9L[xC(0x147)]([{'type':xC(0x8d),'name':xC(0xb7),'message':xC(0xaf),'default':xC(0x9c)}]);if(!x['override']&&N[xC(0x12d)](Y=>Y[xC(0xb7)]===w)){const {c:Y}=await a9L[xC(0x147)]([{'type':xC(0xff),'name':'c','message':xC(0x106)+w+xC(0xf8),'default':![]}]);if(Y===![])throw new Error('Context\x20name\x20already\x20exists.');set(x,xC(0x96),!![]);}set(x,'name',w);}));if(x[xu(0x16c)]===undefined){const w=await this[xu(0xdf)]();set(x,'token',w);}return x;};['tokenPrompt']=async()=>{const xM=a9Q,{token:x}=await a9L[xM(0x147)]([{'type':xM(0xe5),'name':xM(0x16c),'mask':'*','message':'Choose\x20the\x20login\x20token:'}]);return x;};[a9Q(0x166)](x){this['pathVars']=x;}}
|
|
1
|
+
const a9S=a9e;(function(l,e){const x=a9e,s=l();while(!![]){try{const f=parseInt(x(0x18c))/0x1+-parseInt(x(0x19f))/0x2*(parseInt(x(0x12b))/0x3)+parseInt(x(0x209))/0x4*(parseInt(x(0x1b0))/0x5)+parseInt(x(0x1dd))/0x6+-parseInt(x(0x1d8))/0x7*(-parseInt(x(0x1fa))/0x8)+-parseInt(x(0x1a5))/0x9+parseInt(x(0x1a1))/0xa*(-parseInt(x(0x1a0))/0xb);if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a9l,0x22bb9));import a9s from'chalk';import*as a9f from'fs';import{isValidJSON,retry,success,warning}from'./utils.js';function a9e(l,e){const s=a9l();return a9e=function(f,i){f=f-0x121;let c=s[f];return c;},a9e(l,e);}import{fetchResourceList}from'./api-helpers.js';import{DynamicReloadPaginationPrompt}from'./pagination/inquirer-pagination-prompt.js';import a9i from'inquirer';import a9c from'inquirer-search-list';import a9a from'js-yaml';import{set,has,get,isEmpty,unset}from'lodash-es';var ConfirmChoices;(function(l){const g=a9e;l[g(0x16e)]=g(0x165),l['REPEAT']=g(0x1fd),l[g(0x1d2)]=g(0x1f6),l[g(0x143)]=g(0x1d6),l[g(0x19b)]='No,\x20abort';}(ConfirmChoices||(ConfirmChoices={})));function a9l(){const lB=['defaultPaginationPageSize','yml','values','repeat','default','askForBuild','.*\x5c.(json|yaml|yml)$','tokenPrompt','askForProjectScopedResource','askForSecret','fullName','properties','minLength','Choose\x20the\x20name\x20of\x20the\x20new\x20local\x20context:','SAVE','What\x27s\x20the\x20','must\x20be\x20a\x20valid\x20non-empty\x20json\x20string','askForSubdomain','Unexpected\x20file\x20type:\x20','confirmationPrompt','clusters','toString',',\x20supported\x20types:\x20[json|yaml|yml]','\x20in\x20','for\x20this\x20','subdomain','must\x20be\x20smaller\x20than\x20or\x20equal\x20to\x20','cloud','getInnerType','tmpCmdPath','filter','array','isArray','registryCredentials','backupDestinations','ask','TASK_RUNNING','What\x20do\x20you\x20want\x20to\x20use\x20as','registerPrompt','REPEAT','Configuration\x20file\x20written\x20to\x20','Default\x20project\x20in\x20context\x20not\x20set\x20and\x20no\x20argument\x20provided.','domains','templateRuns','json','apiClient','map','slice','Yes,\x20send','message','writeFileSync','must\x20be\x20bigger\x20than\x20or\x20equal\x20to\x20','must\x20be\x20shorter\x20than\x20or\x20equal\x20to\x20','No\x20','confirm','pathVars','builds','YES','job','credentials','volumes','\x27\x20already\x20exists.\x20Do\x20you\x20want\x20to\x20override\x20this\x20context\x20(y)\x20or\x20enter\x20a\x20new\x20name\x20(N)?','createdAt','input','test','addon','greenBright','enum','resultCache','rawObject','project:\x20\x27','\x20to\x20use:','subdomainPath','teams','maxLength','isNaN','object','backup','domain','path','search-list','saveFile','a\x20Northflank\x20resource','data','blueBright','\x20(full\x20domain:\x20','askForBackupDestination','9957jfvBrn','cursor','restore','opt','green','pattern','Context\x20with\x20name\x20\x27','yaml','),\x20subdomain\x20(','get','confirmation','oneOf','example','service\x20build','backups','ABORT','pagination','\x20Example:\x20','push','2wDbBCD','3047Tkgerl','7610JdTkyb','Something\x20unexpected\x20happened.','bgGrey','WARNING:\x20You\x20are\x20about\x20to\x20delete\x20','70668fZnRIS','templates','length','pop','addon:\x20\x27','description','cmdPath','askForDomain','getCurrentProjectName','askForResourcePaginated','editor','13865aUmkhh','No\x20containers\x20found','string','skipValidation','askForContainer','function','main-context','service:\x20\x27','stringify','password','job\x20runs','services','find','body','integer','secret','job:\x20\x27','getType','\x20type?','editPayload','askForSubdomainPath','secrets','logSinks','job\x20containers','completedAt','containers','prompt','propToType','all-job-runs','getQuestionString','choice','\x20(startedAt:\x20','tag','name','EDIT','don\x27t\x20change','anyOf','getPathString','No,\x20but\x20save\x20as\x20file','Aborted.','14uzNdnc','trim','retrievePayloadViaInteractiveCli','addEntry','\x20(completedAt:\x20','212538vjSJJj','Please\x20confirm\x20following\x20configuration:\x0a','toUpperCase','editedResult','service\x20containers','charAt','Context\x20name\x20already\x20exists.','override','\x20characters,\x20is\x20','askArrayEntry','deleteWarningPrompt','askForProject','\x20characters','all-builds','log\x20sink','Choose\x20the\x20','jobs','domain\x20(','items','blue','join','list','whiteBright','then','nextPageCursor','No,\x20edit','contextProvider','load','boolean','1032168iOZmgh','askForTemplate','subdomains','No,\x20repeat','restores','found','loginPrompt','all','maximum','Should\x20it\x20be','pagination-prompt','to\x20use:','cluster\x20id','must\x20be\x20longer\x20than\x20or\x20equal\x20to\x20','service','244qopYTK','askForLogSink','backup\x20destination','token','unshift','askForClusterId','\x20and\x20it\x20','bold','No\x20builds\x20found','askForResource','pipelines','split','startedAt','askForService','askForProjectScopedResourcePaginated','runs','334983iXoAxf','not\x20completed','askForTeam','type','project','template','.\x20This\x20is\x20irreversible.\x20Please\x20confirm!','minimum','validate','dump'];a9l=function(){return lB;};return a9l();}export class InquirerHelper{[a9S(0x162)];[a9S(0x179)];[a9S(0x152)];[a9S(0x1b3)];['pathVars'];[a9S(0x135)]=0x32;constructor(l){const o=a9S;this['apiClient']=l,a9i[o(0x15b)](o(0x185),a9c),a9i[o(0x15b)](o(0x204),DynamicReloadPaginationPrompt);}[a9S(0x1c3)]=async l=>{const G=a9S,{editedResult:e}=await a9i[G(0x1ca)]([{'type':'editor','name':G(0x1e0),'message':'Go\x20to\x20editor','default':a9a[G(0x134)](l)}]);return a9a[G(0x1f8)](e);};[a9S(0x186)]=async l=>{const I=a9S,s=D=>I(0x147)+D+I(0x14b);async function f(){const P=I;return a9i[P(0x1ca)]([{'type':'input','name':'fileName','message':'Provide\x20a\x20file\x20path\x20to\x20write\x20the\x20configuration\x20to\x20(<name>.[json|yaml|yml])','validate':D=>new RegExp(P(0x13b))[P(0x175)](D)?!![]:s(D)}]);}const {fileName:i}=await f(),a=i[I(0x14a)]()[I(0x126)]('.')[I(0x1a8)]();try{switch(a){case I(0x161):success(I(0x15d)+i);return a9f[I(0x167)](i,JSON[I(0x1b8)](l,null,'\x20\x20'));case I(0x193):case I(0x136):success('Configuration\x20file\x20written\x20to\x20'+i);return a9f[I(0x167)](i,a9a[I(0x134)](l));default:warning(s(a));}}catch(D){warning('Writing\x20configuration\x20failed:\x20'+D[I(0x166)]);}return undefined;};async[a9S(0x148)](l,e){const F=a9S,s=a9a['dump'](l),f=Math['max'](...s['split']('\x0a')[F(0x163)](D=>D[F(0x1a7)])),i=a9s['grey']('-'[F(0x138)](f)+'\x0a'),{confirm:a}=await a9i[F(0x1ca)]([{'type':'list','name':F(0x16b),'message':''+a9s[F(0x122)]['green'](F(0x1de))+i+a9s[F(0x189)](s)+i,'choices':Object[F(0x137)](ConfirmChoices)}]);switch(a){case ConfirmChoices[F(0x16e)]:return l;case ConfirmChoices[F(0x19b)]:throw new Error(F(0x1d7));case ConfirmChoices[F(0x15c)]:return this['retrievePayloadViaInteractiveCli'](e);case ConfirmChoices[F(0x1d2)]:return this['confirmationPrompt'](await this[F(0x1c3)](l),e);case ConfirmChoices[F(0x143)]:await this[F(0x186)](l);return this[F(0x148)](l,e);default:throw new Error(F(0x1a2));}}async[a9S(0x1da)](l,e){const B=a9S;if(e?.[B(0x179)]!==undefined)this['resultCache']=e?.[B(0x179)];this['tmpCmdPath']=e?.[B(0x1ab)],this[B(0x1b3)]=e?.[B(0x1b3)];const s={};return await this[B(0x1cb)]([],l[B(0x18f)][B(0x1bd)],s),this['resultCache']=s,await this[B(0x148)](s,l);}async[a9S(0x1cb)](l,e,s,f){const k=a9S;let i;if(e['oneOf']&&!has(e,k(0x140))){if(e[k(0x197)]['length']>0x1){const {choice:a}=await a9i['prompt']([{'type':k(0x1f2),'name':k(0x1ce),'message':k(0x144)+(l[l[k(0x1a7)]-0x1]||'')+k(0x1c2),'choices':e[k(0x197)][k(0x163)](D=>D['description']??'??')}]);i=await this[k(0x1c1)](l,e[k(0x197)][k(0x1bc)](D=>D[k(0x1aa)]===a),s,f);}else{const D=e[k(0x197)][0x0];set(D,k(0x1aa),e[k(0x1aa)]),i=await this[k(0x1c1)](l,D,s,f);}i={};}else{if(e[k(0x1d4)]&&!has(e,k(0x140))){if(e[k(0x1d4)][k(0x1a7)]>0x1){const {choice:Y}=await a9i[k(0x1ca)]([{'type':k(0x1f2),'name':'choice','message':k(0x144)+(l[l[k(0x1a7)]-0x1]||'')+k(0x1c2),'choices':[...e[k(0x1d4)][k(0x163)](T=>T[k(0x1aa)]??'??'),'don\x27t\x20change']}]);Y!==k(0x1d3)&&(i=await this[k(0x1c1)](l,e[k(0x1d4)][k(0x1bc)](T=>T[k(0x1aa)]===Y),s,f));}else{const T=e['anyOf'][0x0];set(T,k(0x1aa),e['description']),i=await this[k(0x1c1)](l,T,s,f);}i={};}else i=await this[k(0x1c1)](l,e,s,f);}return i;}async[a9S(0x151)](l,e,s,f){const v=a9S;if(f===![]){const {addEntry:D}=await a9i[v(0x1ca)]([{'type':v(0x16b),'name':'addEntry','message':this['getPathString'](e,'Do\x20you\x20want\x20to\x20add',l?.[v(0x1aa)]),'default':![]}]);if(!D)return s;}const i=Object['keys'](l?.[v(0x140)]??[]),a=l['required']||[];if(i[v(0x1a7)]>0x0)for(const Y of i){const T=e['concat'](Y);if(e['length']>0x0&&!has(s,e[v(0x1f1)]('.')))set(s,e['join']('.'),{});await this['propToType'](T,l[v(0x140)][Y],s,a['includes'](Y));}else await this[v(0x1c1)](e,{...l,'type':'rawObject'},s,f);return s;}async[a9S(0x1e6)](l,e,s,f){const r=a9S;if(e&&s)return!![];const i=e?'Do\x20you\x20want\x20to\x20add':'Do\x20you\x20want\x20to\x20add\x20more',{addEntry:a}=await a9i['prompt']([{'type':r(0x16b),'name':r(0x1db),'message':this[r(0x1d5)](l,i,e?f:undefined),'default':![]}]);return a;}async[a9S(0x1c1)](l,e,s,f){const W=a9S;let i;const a=l[W(0x1f1)]('.');switch(e?.['type']){case W(0x154):{let D=!![];while(await this[W(0x1e6)](l,D,f,e?.[W(0x1aa)])){const Y=get(s,a);unset(s,a),await this[W(0x1c1)](l,e[W(0x1ef)],s);const T=get(s,a);!Array[W(0x155)](Y)?set(s,a,[T]):(Y['push'](T),set(s,a,Y)),D=![];}return i||[];}case W(0x181):{return i=await this[W(0x151)](e,l,s,f),i;}case W(0x17a):i=isValidJSON(await this[W(0x158)](l,e,f))||undefined;break;case W(0x1b2):case W(0x1f9):case W(0x1be):default:i=await this[W(0x158)](l,e,f,s);break;}return i!==undefined&&set(s,a,i),i;}async[a9S(0x158)](l,e,s,f){const u=a9S,i=l[l[u(0x1a7)]-0x1],{defaultValue:defaultValue=e?.[u(0x198)]??e?.['default'],choices:choices=e?.[u(0x178)],pagination:a}=await fetchResourceList(i,this[u(0x162)],this[u(0x152)],f,this[u(0x16c)],l);let D=u(0x174);if(choices!==undefined&&choices['length']>0x0){if(a!==undefined&&a[u(0x1f5)]!==undefined)D=u(0x204);else choices[u(0x1a7)]>0x4&&typeof choices[0x0]==='string'?D='search-list':D=u(0x1f2);}else{if(e?.[u(0x12e)]===u(0x1f9))D='confirm';else{if(e?.[u(0x12e)]==='integer')D='input';else e?.[u(0x12e)]==='rawObject'&&(D=u(0x1af));}}let Y=s!==![]?!(defaultValue!==null&&(typeof defaultValue==='object'||typeof defaultValue===u(0x1b5)))?defaultValue:JSON[u(0x1b8)](defaultValue):typeof defaultValue===u(0x1f9)?defaultValue:'don\x27t\x20change';if(choices)Y=Y[u(0x14a)]();has(this[u(0x179)],l[u(0x1f1)]('.'))&&(Y=this[u(0x179)][l['join']('.')]);const T=choices&&s===![]?[u(0x1d3),...choices]:choices,b=e?.[u(0x12e)]===u(0x1be),q={'type':D,'name':'id','message':this[u(0x1cd)](l,e),'choices':T,'default':Y,'filter':this['filter'](D,s),'validate':this[u(0x133)](e,s,b),...a},t=(await a9i[u(0x1ca)]([q]))['id'];if(t==='don\x27t\x20change'||t==='')return undefined;if(b)return parseInt(t,0xa);return t;}[a9S(0x153)]=(l,e)=>s=>{const V=a9S,f=typeof s===V(0x1b2)?s[V(0x1d9)]():s;return e===![]&&f===V(0x1d3)?'':f;};[a9S(0x1cd)](l,e){const h=a9S,s=e?.[h(0x12e)]!==h(0x1f9)?h(0x15a):h(0x203);return this[h(0x1d5)](l,s,e?.[h(0x1aa)]);}[a9S(0x133)]=(l,e,s)=>f=>{const R=a9S;if(this[R(0x1b3)]===!![])return!![];const i=[];if(f===''||f===R(0x1d3)){if(e!==![])i[R(0x19e)]('this\x20option\x20is\x20required,\x20please\x20answer');else return!![];}l['type']===R(0x1b2)&&l['pattern']!==undefined&&i[R(0x19e)](new RegExp(l[R(0x191)])[R(0x175)](f)?!![]:'doesn\x27t\x20match\x20pattern\x20\x27'+l[R(0x191)]+'\x27');l[R(0x12e)]===R(0x1b2)&&l[R(0x141)]!==undefined&&i[R(0x19e)](f[R(0x1a7)]>=l['minLength']?!![]:R(0x207)+l[R(0x141)]+R(0x1e5)+f[R(0x1a7)]+R(0x1e9));l['type']===R(0x1b2)&&l['maxLength']!==undefined&&i[R(0x19e)](f[R(0x1a7)]<=l['maxLength']?!![]:R(0x169)+l[R(0x17f)]+'\x20characters,\x20is\x20'+f['length']+R(0x1e9));s&&Number[R(0x180)](parseInt(f,0xa))&&i[R(0x19e)]('must\x20be\x20a\x20number,\x20is\x20'+f);l['type']===R(0x1be)&&l[R(0x132)]!==undefined&&i['push'](f>=l[R(0x132)]?!![]:R(0x168)+l[R(0x132)]);l['type']===R(0x1be)&&l[R(0x202)]!==undefined&&i[R(0x19e)](f<=l[R(0x202)]?!![]:R(0x14f)+l[R(0x202)]);if(l[R(0x12e)]===R(0x17a)){const Y=isValidJSON(f);i['push'](Y===![]||isEmpty(Y)?R(0x145):!![]);}const a=i[R(0x153)](T=>T!==!![]),D=l?.[R(0x198)]?'\x0a'+a9s['red']('>>')+R(0x19d)+a9s[R(0x1f3)](JSON[R(0x1b8)](l['example'])):'';return a['length']>0x0?a[R(0x1f1)](a9s['underline'](R(0x121)))+D:!![];};['getPathString']=(l,e,s)=>{const m=a9S,f=l[l[m(0x1a7)]-0x1];function i(){const X=m;return l[X(0x164)](0x0,-0x1)[X(0x163)](Y=>Y[X(0x1e2)](0x0)[X(0x1df)]()+Y[X(0x164)](0x1))[X(0x1f1)]('>');}const a=l[m(0x1a7)]>0x1?a9s[m(0x1a3)][m(0x1f3)](i())+':\x20':'',D=s?'\x20('+a9s[m(0x1f0)](s)+')':'';return a9s['reset'](''+a+e+'\x20'+a9s[m(0x122)][m(0x177)](f)+D+'?');};async[a9S(0x12d)](){const j=a9S,l=await this[j(0x162)][j(0x1f2)][j(0x17e)][j(0x201)]({})['then'](e=>e[j(0x188)][j(0x17e)][j(0x163)](s=>s['id']));return await this[j(0x124)]('team',l);}[a9S(0x1e8)]=l=>async()=>{const d=a9S,e=await this['apiClient']['list']['projects'][d(0x201)](l?{'parameters':{'teamId':l}}:{})[d(0x1f4)](s=>s[d(0x188)]['projects'][d(0x163)](f=>f['id']));return await this[d(0x124)](d(0x12f),e);};async[a9S(0x13d)](l,e,s,f){const w=a9S,i=s||this[w(0x162)][w(0x1f7)][w(0x1ad)]();if(i===undefined)throw new Error(w(0x15e));const a=await e(i);return await this[w(0x124)](l,a,(f?f+w(0x14c):'')+w(0x17b)+i+'\x27');}async[a9S(0x129)](l,e,s,f){const H=a9S,i=s||this['apiClient']['contextProvider'][H(0x1ad)]();if(i===undefined)throw new Error(H(0x15e));const a=await e(i);return await this[H(0x1ae)](l,a,(f?f+H(0x14c):'')+H(0x17b)+i+'\x27');}[a9S(0x124)]=async(l,e,s)=>{const M=a9S;if(e['length']<0x1){const a=s?M(0x14d)+s:M(0x1ff);throw new Error(M(0x16a)+l+'\x20'+a+'.');}const f=M(0x1ec)+l+M(0x17c),i=e[M(0x1a7)]>0x4?M(0x185):M(0x1f2);return(await a9i['prompt']([{'type':i,'name':M(0x1d1),'message':f,'choices':e}]))[M(0x1d1)];};['askForResourcePaginated']=async(l,e,s)=>{const A=a9S,{elements:f,nextCursor:i}=await e();if(f[A(0x1a7)]<0x1){const Y=s?A(0x14d)+s:A(0x1ff);throw new Error(A(0x16a)+l+'\x20'+Y+'.');}const a=A(0x1ec)+l+A(0x17c);if(i!==undefined){const T=async({nextPageCursor:b})=>{const q=await e(b);return{'elements':q['elements'],'nextPageCursor':q['nextCursor']};};return(await a9i[A(0x1ca)]([{'type':A(0x204),'name':A(0x1d1),'message':a,'choices':f,'nextPageCursor':i,'loadMore':T}]))[A(0x1d1)];}const D=f['length']>0x4?'search-list':A(0x1f2);return(await a9i[A(0x1ca)]([{'type':D,'name':A(0x1d1),'message':a,'choices':f}]))[A(0x1d1)];};['askGeneric']=(l,e)=>async()=>{const L=a9S,s=''+(e?'('+a9s[L(0x1f0)](e)+')\x20':''),f='Enter\x20the\x20'+a9s[L(0x190)](l)+'\x20'+s+L(0x205),i=this[L(0x133)]({'type':'string','required':!![]});return(await a9i['prompt']([{'type':L(0x174),'name':L(0x1d1),'message':f,'validate':i}]))[L(0x1d1)];};['askConfirm']=async l=>{const C=a9S;return(await a9i[C(0x1ca)]([{'type':C(0x16b),'name':'name','message':l,'default':!![]}]))[C(0x1d1)];};[a9S(0x128)]=(l,e)=>async()=>{const n=a9S,s=async f=>{const y=a9e,i=await this['apiClient'][y(0x1f2)][y(0x1bb)][y(0x201)]({'parameters':{'projectId':f,'teamId':e}}),a=i[y(0x188)][y(0x1bb)][y(0x163)](D=>D['id']);return a;};return this[n(0x13d)]('service',s,l);};[a9S(0x1fb)]=l=>async()=>{const Q=a9S,e=async s=>{const K=a9e,f=await this[K(0x162)]['list']['templates']({...l?{'parameters':{'teamId':l}}:{},'options':{'per_page':this[K(0x135)],'cursor':s}}),i=f['data'][K(0x1a6)][K(0x163)](a=>a['id']);return{'elements':i,'nextCursor':f[K(0x19c)]?.[K(0x18d)]};};return this[Q(0x1ae)](Q(0x130),e);};['askForTag']=l=>async()=>{const U=a9S,e=async s=>{const E=a9e,f=await this[E(0x162)][E(0x1f2)]['tags']({...l?{'parameters':{'teamId':l}}:{},'options':{'per_page':this[E(0x135)],'cursor':s}}),i=f[E(0x188)]['tags']?.['map'](a=>a['id'])??[];return{'elements':i,'nextCursor':f[E(0x19c)]?.[E(0x18d)]};};return this[U(0x1ae)](U(0x1d0),e);};[a9S(0x18b)]=l=>async()=>{const p=a9S,e=await this[p(0x162)]['list'][p(0x157)][p(0x201)]({...l?{'parameters':{'teamId':l}}:{}}),s=e[p(0x188)][p(0x157)][p(0x163)](f=>f[p(0x1d1)])??[];return this['askForResource'](p(0x20b),s);};[a9S(0x20e)]=l=>async()=>{const z=a9S,e=async s=>{const O=a9e,f=await this[O(0x162)][O(0x1f2)][O(0x150)]['clusters']({...l?{'parameters':{'teamId':l}}:{},'options':{'per_page':this[O(0x135)],'cursor':s}}),i=f['data'][O(0x149)]?.[O(0x163)](a=>a[O(0x1d1)])??[];return{'elements':i,'nextCursor':f[O(0x19c)]?.[O(0x18d)]};};return this[z(0x1ae)](z(0x206),e);};['askForTemplateRun']=(l,e)=>async()=>{const l1=a9S;if(l===undefined)throw new Error('Template\x20id\x20not\x20provided.');const s=async f=>{const l0=a9e;let i=this['defaultPaginationPageSize'];const a=await this['apiClient']['list'][l0(0x160)]({'parameters':{'teamId':e,'templateId':l},'options':{'per_page':i,'cursor':f}}),D=a[l0(0x188)]['templateRuns'][l0(0x163)](Y=>Y['id']+'\x20(startedAt:\x20'+Y[l0(0x173)]+')');return{'elements':D,'nextCursor':a[l0(0x19c)]?.[l0(0x18d)]};};return this[l1(0x1ae)]('template\x20run',s)['then'](f=>f[l1(0x126)]('\x20')[0x0]);};[a9S(0x20a)]=l=>async()=>{const l3=a9S,e=async s=>{const l2=a9e;let f=this[l2(0x135)];const i=await this[l2(0x162)][l2(0x1f2)][l2(0x1c6)]({...l?{'parameters':{'teamId':l}}:{},'options':{'per_page':f,'cursor':s}}),a=i[l2(0x188)][l2(0x1c6)][l2(0x163)](D=>D['id']);return{'elements':a,'nextCursor':i['pagination']?.['cursor']};};return this[l3(0x1ae)](l3(0x1eb),e);};['askForPipeline']=(l,e)=>async()=>{const s=async f=>{const l4=a9e,i=await this['apiClient'][l4(0x1f2)]['pipelines'][l4(0x201)]({'parameters':{'teamId':e,'projectId':f}});return i[l4(0x188)][l4(0x125)][l4(0x163)](a=>a['id']);};return this['askForProjectScopedResource']('pipeline',s,l);};['askForJob']=(l,e)=>async()=>{const s=async f=>{const l5=a9e,i=await this['apiClient']['list'][l5(0x1ed)][l5(0x201)]({'parameters':{'teamId':e,'projectId':f}}),a=i[l5(0x188)][l5(0x1ed)][l5(0x163)](D=>D['id']);return a;};return this['askForProjectScopedResource']('job',s,l);};['askForJobRun']=(l,e,s=![],f)=>async()=>{const l6=a9S,i=l6(0x1cc),a=D=>async Y=>{const l7=l6,T=await this[l7(0x162)][l7(0x195)][l7(0x16f)][l7(0x12a)]({'parameters':{'teamId':f,'projectId':D,'jobId':l},'options':{'per_page':this[l7(0x135)],'cursor':Y}}),b=T[l7(0x188)]['runs']['map'](q=>q['id']+l7(0x1cf)+q[l7(0x127)]+')');return s&&b['unshift'](i),{'elements':b,'nextCursor':T[l7(0x19c)]?.[l7(0x18d)]};};return this[l6(0x129)](l6(0x1ba),a,e,l6(0x1c0)+l+'\x27')[l6(0x1f4)](D=>{const Y=D['split']('\x20')[0x0];if(Y===i)return undefined;return Y;});};[a9S(0x13a)]=(l,e,s,f=![],i)=>async()=>{const l8=a9S,a=l8(0x1ea);if(s!==undefined){const D=Y=>async T=>{const l9=l8,b=await this[l9(0x162)][l9(0x195)][l9(0x16f)][l9(0x16d)]({'parameters':{'teamId':i,'projectId':Y,'jobId':s},'options':{'per_page':this[l9(0x135)],'cursor':T}}),q=b[l9(0x188)][l9(0x16d)][l9(0x163)](t=>t['id']+'\x20(startedAt:\x20'+t[l9(0x173)]+')');return f&&q[l9(0x20d)](a),{'elements':q,'nextCursor':b[l9(0x19c)]?.[l9(0x18d)]};};return this[l8(0x129)]('job\x20builds',D,l,l8(0x1c0)+s+'\x27')[l8(0x1f4)](Y=>{const ll=l8,T=Y[ll(0x126)]('\x20')[0x0];if(T===a)return undefined;return T;});}if(e!==undefined){const Y=T=>async b=>{const le=l8,q=await this['apiClient'][le(0x195)][le(0x208)][le(0x16d)]({'parameters':{'projectId':T,'serviceId':e},'options':{'per_page':this[le(0x135)],'cursor':b}}),t=q[le(0x188)][le(0x16d)]['map'](J=>J['id']+'\x20(startedAt:\x20'+J[le(0x173)]+')');if(f)t[le(0x20d)](a);return{'elements':t,'nextCursor':q['pagination']?.[le(0x18d)]};};return this[l8(0x129)](l8(0x199),Y,l,l8(0x1b7)+s+'\x27')[l8(0x1f4)](T=>{const b=T['split']('\x20')[0x0];if(b===a)return undefined;return b;});}throw new Error(l8(0x123));};[a9S(0x1b4)]=(l,e,s,f=![],i,a=![])=>async()=>{const lf=a9S,D='all-containers';if(s!==undefined){const Y=T=>async b=>{const ls=a9e,q=await this[ls(0x162)][ls(0x195)][ls(0x16f)][ls(0x1c9)]({'parameters':{'teamId':i,'projectId':T,'jobId':s},'options':{'per_page':this[ls(0x135)],'cursor':b}}),t=q[ls(0x188)][ls(0x1c9)]??[],J=t?.['map'](N=>N[ls(0x1d1)]+ls(0x1cf)+N[ls(0x173)]+')');return f&&J[ls(0x20d)](D),{'elements':J,'nextCursor':q[ls(0x19c)]?.[ls(0x18d)]};};return this['askForProjectScopedResourcePaginated'](lf(0x1c7),Y,l,'job:\x20\x27'+s+'\x27')['then'](T=>{const b=T['split']('\x20')[0x0];if(b===D)return undefined;return b;});}if(e!==undefined){const T=b=>async q=>{const li=lf,t=await this[li(0x162)][li(0x195)][li(0x208)][li(0x1c9)]({'parameters':{'teamId':i,'projectId':b,'serviceId':e},'options':{'per_page':this[li(0x135)],'cursor':q}}),J=t[li(0x188)][li(0x1c9)]??[],N=J[li(0x153)](Z=>!a||Z['status']===li(0x159))['map'](Z=>Z[li(0x1d1)]+'\x20(startedAt:\x20'+Z[li(0x173)]+')');if(f)N?.[li(0x20d)](D);return{'elements':N,'nextCursor':t[li(0x19c)]?.['cursor']};};return this[lf(0x129)](lf(0x1e1),T,l,'service:\x20\x27'+s+'\x27')['then'](b=>{const lc=lf,q=b[lc(0x126)]('\x20')[0x0];if(q===D)return undefined;return q;});}throw new Error(lf(0x1b1));};['askForAddon']=(l,e)=>async()=>{const lD=a9S,s=async f=>{const la=a9e,i=await this[la(0x162)][la(0x1f2)]['addons'][la(0x201)]({'parameters':{'projectId':f,'teamId':e}});return i[la(0x188)]['addons'][la(0x163)](a=>a['id']);};return this[lD(0x13d)](lD(0x176),s,l);};['askForAddonBackup']=(l,e,s)=>async()=>{const lT=a9S,f=i=>async a=>{const lY=a9e,D=await this['apiClient'][lY(0x195)][lY(0x176)][lY(0x19a)]({'parameters':{'teamId':s,'projectId':i,'addonId':e},'options':{'per_page':this[lY(0x135)],'cursor':a}});return{'elements':D[lY(0x188)]['backups'][lY(0x163)](Y=>Y['id']+lY(0x1dc)+(Y[lY(0x1c8)]||lY(0x12c))+')'),'nextCursor':D[lY(0x19c)]?.[lY(0x18d)]};};return this['askForProjectScopedResourcePaginated'](lT(0x19a),f,l,lT(0x1a9)+e+'\x27')[lT(0x1f4)](i=>i['split']('\x20')[0x0]);};['askForAddonRestore']=(l,e,s,f)=>async()=>{const lq=a9S,i=a=>async D=>{const lb=a9e,Y=await this[lb(0x162)]['get']['addon'][lb(0x182)][lb(0x1fe)]({'parameters':{'teamId':f,'projectId':a,'addonId':e,'backupId':s},'options':{'per_page':this[lb(0x135)],'cursor':D}});return{'elements':Y['data'][lb(0x1fe)][lb(0x163)](T=>T['id']+lb(0x1dc)+(T[lb(0x1c8)]||lb(0x12c))+')'),'nextCursor':Y['pagination']?.['cursor']};};return this['askForProjectScopedResourcePaginated'](lq(0x18e),i,l,lq(0x1a9)+e+'\x27')[lq(0x1f4)](a=>a[lq(0x126)]('\x20')[0x0]);};['askForVolume']=(l,e)=>async()=>{const lt=a9S,s=async f=>(await this[lt(0x162)][lt(0x1f2)][lt(0x171)]({'parameters':{'teamId':e,'projectId':f}}))[lt(0x188)]['map'](i=>i['id']);return this[lt(0x13d)]('volume',s,l);};[a9S(0x13e)]=(l,e)=>async()=>{const lN=a9S,s=async f=>{const lJ=a9e,i=await this[lJ(0x162)]['list'][lJ(0x1c5)][lJ(0x201)]({'parameters':{'projectId':f}});return i['data']['secrets'][lJ(0x163)](a=>a['id']);};return this['askForProjectScopedResource'](lN(0x1bf),s,l);};[a9S(0x1ac)]=l=>async()=>{const lZ=a9S,e=await this[lZ(0x162)][lZ(0x1f2)][lZ(0x15f)][lZ(0x201)]({...l?{'parameters':{'teamId':l}}:{}}),s=e[lZ(0x188)][lZ(0x15f)][lZ(0x163)](f=>f['name']);return this[lZ(0x124)](lZ(0x183),s);};['askForCredentials']=l=>async()=>{const lx=a9S,e=await this[lx(0x162)][lx(0x1f2)][lx(0x156)][lx(0x201)]({...l?{'parameters':{'teamId':l}}:{}}),s=e[lx(0x188)][lx(0x170)][lx(0x163)](f=>f['id']);return this[lx(0x124)](lx(0x170),s);};[a9S(0x146)]=(l,e)=>async()=>{const lg=a9S,s=await this[lg(0x162)]['get']['domain']({'parameters':{'teamId':e,'domain':l}}),f=s[lg(0x188)][lg(0x1fc)][lg(0x163)](a=>a[lg(0x1d1)]+lg(0x18a)+a[lg(0x13f)]+')'),i=lg(0x1ee)+l+')';return this['askForResource'](lg(0x14e),f,i)['then'](a=>a['split']('\x20')[0x0]);};[a9S(0x1c4)]=(l,e,s)=>async()=>{const lS=a9S,f=await this[lS(0x162)][lS(0x1f2)][lS(0x14e)][lS(0x184)]({'parameters':{'teamId':s,'domain':l,'subdomain':e}}),i=f[lS(0x188)]['paths']['map'](D=>''+D['uri']),a=lS(0x1ee)+l+lS(0x194)+e+')';return this[lS(0x124)](lS(0x17d),i,a);};[a9S(0x1e7)]=async l=>{const lo=a9S;return(await a9i[lo(0x1ca)]([{'type':lo(0x16b),'name':'confirmation','message':a9s['yellowBright'](lo(0x1a4)+(l||lo(0x187))+lo(0x131)),'default':![]}]))[lo(0x196)];};[a9S(0x200)]=async(l,e)=>{const lG=a9S;l['name']===undefined&&(e[lG(0x1a7)]<=0x0?set(l,lG(0x1d1),lG(0x139)):await retry(0xa)(async()=>{const lI=lG,{name:s}=await a9i['prompt']([{'type':'input','name':lI(0x1d1),'message':lI(0x142),'default':lI(0x1b6)}]);if(!l[lI(0x1e4)]&&e[lI(0x1bc)](f=>f['name']===s)){const {c:f}=await a9i[lI(0x1ca)]([{'type':lI(0x16b),'name':'c','message':lI(0x192)+s+lI(0x172),'default':![]}]);if(f===![])throw new Error(lI(0x1e3));set(l,lI(0x1e4),!![]);}set(l,lI(0x1d1),s);}));if(l[lG(0x20c)]===undefined){const s=await this['tokenPrompt']();set(l,lG(0x20c),s);}return l;};[a9S(0x13c)]=async()=>{const lP=a9S,{token:l}=await a9i[lP(0x1ca)]([{'type':lP(0x1b9),'name':lP(0x20c),'mask':'*','message':'Choose\x20the\x20login\x20token:'}]);return l;};['setPathVars'](l){const lF=a9S;this[lF(0x16c)]=l;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a10x=a10e;function a10e(l,e){const s=a10l();return a10e=function(f,i){f=f-0xb3;let c=s[f];return c;},a10e(l,e);}(function(l,e){const Z=a10e,s=l();while(!![]){try{const f=parseInt(Z(0xbc))/0x1*(parseInt(Z(0xd2))/0x2)+-parseInt(Z(0xd1))/0x3*(parseInt(Z(0xc7))/0x4)+-parseInt(Z(0xce))/0x5*(parseInt(Z(0xc8))/0x6)+parseInt(Z(0xc3))/0x7*(-parseInt(Z(0xdc))/0x8)+-parseInt(Z(0xbe))/0x9+-parseInt(Z(0xe4))/0xa+-parseInt(Z(0xd4))/0xb*(-parseInt(Z(0xb9))/0xc);if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a10l,0x38da5));function a10l(){const r=['handleError','write','toString','9924SLvNHC','https:','success','11019dOvQSn','browser-opened','2663748jmSroB','type','status','idle','Login\x20process\x20stopped\x20before\x20completed','563423DFVtrq','ws:','unable\x20to\x20parse\x20message:\x20','end','80552WJPdQX','56148PPINpS','duplex','Unexpected\x20response','message','catch','emit','110dbFAQG','parse','/v1/cli-login','27wRXIHj','8xhbgbH','openBrowser','17259rSwClX','wss:','initPackage','error\x20happened\x20during\x20browser\x20login:\x20','Failed\x20to\x20establish\x20connection\x20to\x20command\x20execution\x20proxy:\x20','stringify','Unable\x20to\x20open\x20browser:\x20','aborted','40ZQNGUT','http:','baseUrl','data','init','replace','exit','agent','232350vDFbTf','Unexpected\x20response,\x20api\x20token\x20missing','login-failure','error','startLogin'];a10l=function(){return r;};return a10l();}import a10s,{createWebSocketStream}from'ws';import a10f from'open';import{EventEmitter}from'events';export class NorthflankApiBrowserLogin extends EventEmitter{['baseUrl'];['openBrowser'];[a10x(0xe3)];[a10x(0xc9)];[a10x(0xc0)]=a10x(0xc1);constructor(l,e=!![],s){const g=a10x;super(),this['baseUrl']=l,this[g(0xd3)]=e,this[g(0xe3)]=s;}[a10x(0xb5)](){const S=a10x,l=this[S(0xde)]['replace'](S(0xba),S(0xd5))[S(0xe1)](S(0xdd),S(0xc4)),e=l+S(0xd0),s=new a10s(e,{'agent':this[S(0xe3)]}),f=async()=>{const G=S;await new Promise(c=>{const o=a10e;this[o(0xc9)]?.[o(0xc6)](JSON[o(0xd9)]({'type':o(0xdb)}),()=>c());}),process[G(0xe2)]();},i=new Promise((c,a)=>{const I=S;try{this['duplex']=createWebSocketStream(s),process['on']('SIGINT',f);}catch(D){a(new Error(I(0xd8)+D[I(0xcb)]));}this[I(0xc9)]?.['on'](I(0xdf),Y=>{const P=I,T=JSON[P(0xcf)](Y[P(0xb8)]());switch(T?.[P(0xbf)]){case'init-ack':{const {loginPage:b}=T;if(b===undefined){this['handleError'](P(0xca),a);return;}this[P(0xd3)]&&a10f(b)[P(0xcc)](q=>{const F=P,t=F(0xda)+q[F(0xcb)];this['handleError'](t,a);});this[P(0xcd)](P(0xbd),{'url':b});break;}case'login-success':{const {apiToken:q,contextName:t}=T;if(q===undefined){this['handleError'](P(0xe5),a);return;}this['duplex']?.[P(0xc6)](),c({'token':q,'contextName':t}),this[P(0xc0)]=P(0xbb);break;}case P(0xb3):{const J='Failure\x20during\x20login:\x20'+T?.[P(0xcb)];this[P(0xb6)](J,a);break;}default:{const N=P(0xc5)+JSON[P(0xd9)](T);this[P(0xb6)](N,a);}}}),this[I(0xc9)]?.['on']('error',Y=>{const B=I;this[B(0xb6)](B(0xd7)+Y[B(0xcb)],a);}),this[I(0xc9)]?.['on'](I(0xc6),()=>{const k=I;if(this[k(0xc0)]===k(0xbb)){}else this[k(0xb6)](k(0xc2),a);});});return this[S(0xc9)]?.[S(0xb7)](this[S(0xd6)]()),this['status']='init',i['finally'](()=>{process['removeListener']('SIGINT',f);});}[a10x(0xb6)](l,e){const v=a10x;e?this[v(0xc9)]?.[v(0xc6)](()=>e(new Error(l))):this[v(0xc9)]?.['end'](),this[v(0xc0)]=v(0xb4);}[a10x(0xd6)]=()=>JSON['stringify']({'type':a10x(0xe0)});}
|
package/dist/logs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11m=a11N;function a11x(){const xN=['error','--deployment\x20--deploymentId\x20[deploymentId]','close','Get\x20logs\x20generated\x20after\x20this\x20time,\x20','--duration\x20[duration]','--regexNotIncludes\x20<regex>','charAt','getCurrentServiceName','-t,\x20--types\x20<types...>','Log\x20session\x20ended','logTail','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','tail','-f,\x20--tail','1310535zqYlOn','Restore\x20to\x20get\x20logs\x20from','defaultDurationSeconds','askForBuild','2502310XkCsnQ','bold','logs','apiContext','argParser','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','askForContainer','Direction\x20of\x20logs.\x20Ignored\x20when\x20tailing.','Get\x20logs\x20generated\x20before\x20this\x20time,\x20','stringify','addonId','\x20to\x20get\x20logs\x20from','cursor','askForAddonBackup','printInitInfo','log','details','getTime','getStandardLogCommand','2405020ulfmKN','95296ydanXd','hasNextPage','--backup\x20--backupId\x20[backupId]','addon','--textIncludes\x20<text>','noDefaults','service','\x0aDetails:\x20','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','option','forward','getLogsCommand','format','runId',',\x20backup\x20id\x20','Element\x20count\x20for\x20this\x20request\x20exceeds\x20the\x20line\x20limit,\x20output\x20was\x20truncated.\x20Cut\x20off\x20at\x20timestamp\x20','logs-received',',\x20from:\x20','yaml','Error\x20while\x20tailing\x20log\x20lines:\x20','Id\x20[','--run\x20--runId\x20[runId]','logsApiClient','addonBackup','message','json','containerId','701488CzNlIO','forEach','\x20in\x20project\x20','Tail\x20will\x20stream\x20logs\x20in\x20real-time.\x20Session\x20will\x20be\x20kept\x20open.','apiClient','Number\x20of\x20lines\x20to\x20return.','--startTime\x20<timestamp>','askForAddonRestore','\x20of\x20','Backup\x20to\x20get\x20logs\x20from','Build\x20to\x20get\x20logs\x20from','askForAddon','getCurrentJobName','--noDefaults','backupId','toISOString','>\x20Container\x20logs','2cwYzAt','207GgRmjl','choices','length','\x27Ctrl+C\x27','getFormatter','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','Error\x20while\x20fetching\x20log\x20lines:\x20','1014gzpuWZ','Filter\x20log\x20lines\x20to\x20match\x20this\x20regular\x20expression',',\x20restore\x20id\x20','textIncludes','textNotIncludes','addOption','--endTime\x20<timestamp>','--build\x20--buildId\x20[buildId]',',\x20to:\x20','1206707VvXnYG','start','11LcRpwK','Which\x20log\x20types\x20to\x20fetch','\x20--','jobId','askForService','backward','deploymentId','\x20for\x20all\x20containers','Deployment\x20id,\x20example:\x20my-service-54785f4','regexNotIncludes','\x20seconds','--textNotIncludes\x20<text>','--container\x20--containerId\x20[containerId]','askForJobRun','values','inquirerHelper','askForJob','conflicts','build-','regexIncludes','job','pagination','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','restoreId','--restore\x20--restoreId\x20[restoreId]','34517KdhGpJ','--project\x20--projectId\x20[projectId]','yml','description','No\x20logs\x20found\x20for\x20this\x20query.\x20Make\x20sure\x20to\x20select\x20an\x20appropriate\x20time\x20window.','\x20(exit\x20with\x20'];a11x=function(){return xN;};return a11x();}(function(x,N){const n=a11N,w=x();while(!![]){try{const Y=parseInt(n(0x253))/0x1+parseInt(n(0x242))/0x2*(-parseInt(n(0x1fe))/0x3)+parseInt(n(0x231))/0x4+-parseInt(n(0x215))/0x5+-parseInt(n(0x24a))/0x6*(-parseInt(n(0x1ea))/0x7)+parseInt(n(0x216))/0x8*(-parseInt(n(0x243))/0x9)+parseInt(n(0x202))/0xa*(-parseInt(n(0x255))/0xb);if(Y===N)break;else w['push'](w['shift']());}catch(L){w['push'](w['shift']());}}}(a11x,0xbccf2));function a11N(x,N){const w=a11x();return a11N=function(Y,L){Y=Y-0x1d3;let t=w[Y];return t;},a11N(x,N);}import{ApiClient,LogType}from'@northflank/js-client';import a11w from'chalk';import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';import{printResponse}from'../formatting/console-format-helpers.js';import{formatLogLine}from'./log-formatter.js';export class CliLogs{[a11m(0x205)];[a11m(0x235)];['logsApiClient'];['inquirerHelper'];[a11m(0x200)]=0x708;[a11m(0x214)]=(x,N,w,Y)=>{const l=a11m,L=getCommand(!![])['name']((N?l(0x1e3):'')+l(0x204))['alias']((N?l(0x1e3):'')+'log')[l(0x1ed)]('Get\x20log\x20for\x20the\x20specified\x20'+x)[l(0x21f)](l(0x1eb),'Project\x20for\x20logs')[l(0x21f)]('--'+x+l(0x1d3)+x+l(0x22a)+x+'Id]',x[l(0x1f6)](0x0)['toUpperCase']()+x['slice'](0x1)+l(0x20d))[l(0x21f)](l(0x1dd),'Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)');if(N)L[l(0x21f)](l(0x251),l(0x23b));if(x===l(0x1e5))L[l(0x21f)](l(0x22b),l(0x248));if(x==='service')L[l(0x21f)](l(0x1f1),l(0x1d9));if(w)L[l(0x21f)](l(0x218),l(0x23a));if(Y)L[l(0x21f)](l(0x1e9),l(0x1ff));return!N&&!w&&!Y&&L[l(0x24f)](new Option(l(0x1f8),l(0x256))['choices'](Object[l(0x1df)](LogType))),L[l(0x21f)](l(0x1fd),l(0x234))['option']('-l,\x20--lineLimit\x20[limit]',l(0x236))[l(0x21f)](l(0x237),l(0x1f3)+tsHint,parseDateInput)[l(0x24f)](new Option(l(0x250),l(0x20a)+tsHint)[l(0x206)](parseDateInput)['conflicts']([l(0x1fc)]))[l(0x21f)](l(0x1f4),l(0x21e))[l(0x24f)](new Option('-d,\x20--direction\x20<order>',l(0x209))[l(0x244)]([l(0x1d6),l(0x220)])[l(0x1e2)](['tail']))[l(0x24f)](new Option(l(0x21a),'Filter\x20log\x20lines\x20to\x20include\x20this\x20text')[l(0x1e2)](['textNotIncludes','regexIncludes',l(0x1da)]))[l(0x24f)](new Option(l(0x1dc),'Filter\x20log\x20lines\x20to\x20not\x20include\x20this\x20text')[l(0x1e2)]([l(0x24d),l(0x1e4),l(0x1da)]))[l(0x24f)](new Option('--regexIncludes\x20<regex>',l(0x24b))['conflicts'](['textNotIncludes',l(0x24d),l(0x1da)]))[l(0x24f)](new Option(l(0x1f5),'Filter\x20log\x20lines\x20to\x20not\x20match\x20this\x20regular\x20expression')[l(0x1e2)]([l(0x24e),l(0x1e4),l(0x24d)]))[l(0x21f)](l(0x23e),l(0x1e7),![])[l(0x24f)](new Option('-o,\x20--output\x20[output]',l(0x207))['choices'](Object[l(0x1df)]([l(0x222),l(0x22f),l(0x228)]))),L;};constructor(x,N){const E=a11m;this['apiContext']=x,this['apiClient']=new ApiClient(x,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':N}),this[E(0x22c)]=this['apiClient'],this[E(0x1e0)]=new InquirerHelper(this['apiClient']);}[a11m(0x221)](x,N=![],w=![],Y=![]){const x7=a11m,L=async(f,p)=>{const x0=a11N,j=p[x0(0x21b)],{apiContext:K,inquirerHelper:i}=this;switch(x){case x0(0x21c):{const Q=j?undefined:K[x0(0x1f7)]();return p['serviceId']||Q||await i[x0(0x1d5)](f)();}case x0(0x1e5):{const k=j?undefined:K[x0(0x23d)]();return p[x0(0x1d4)]||k||await i[x0(0x1e1)](f)();}case x0(0x219):{return p[x0(0x20c)]||await i[x0(0x23c)](f)();}}},t=async(f,p,j)=>{const x1=a11N;if(N)return j['buildId']||await this[x1(0x1e0)][x1(0x201)](f,x===x1(0x21c)?p:undefined,x===x1(0x1e5)?p:undefined,!![])();return undefined;},c=async(f,p,j)=>{const x2=a11N;if(w||Y)return j[x2(0x23f)]||await this[x2(0x1e0)][x2(0x20f)](f,p)();return undefined;},O=async(f,p,j,K)=>{const x3=a11N;if(Y)return K[x3(0x1e8)]||await this['inquirerHelper'][x3(0x238)](f,p,j)();return undefined;},v=async(f,p,j)=>{const x4=a11N;if(!N&&j[x4(0x230)]!==undefined){if(j[x4(0x230)]!==!![])return j[x4(0x230)];return await this[x4(0x1e0)][x4(0x208)](f,x===x4(0x21c)?p:undefined,x==='job'?p:undefined,!![])();}return undefined;},r=async(f,p,j)=>{const x5=a11N;if(x===x5(0x1e5))return j[x5(0x223)]||await this[x5(0x1e0)][x5(0x1de)](p,f,!![])();return undefined;},a=async(f,p,j)=>{const x6=a11N;if(x===x6(0x21c)){if(j[x6(0x1d7)]!==!![])return j[x6(0x1d7)];return j[x6(0x1d7)];}return undefined;};return this[x7(0x214)](x,N,w,Y)['action'](async f=>{const x8=x7,{noDefaults:p,projectId:j,quiet:K,tail:i,types:Q,textIncludes:k,textNotIncludes:d,regexIncludes:J,regexNotIncludes:X,direction:H,lineLimit:u,startTime:C,endTime:M,duration:e,output:F}=f;assertContextExisting(this[x8(0x235)]);const {apiContext:G,inquirerHelper:I,logsApiClient:A}=this,P=p?undefined:G['getCurrentProjectName'](),y=j||P||await I['askForProject'](),b=await L(y,f),z=await t(y,b,f),Z=await c(y,b,f),g=await O(y,b,Z,f),T=await r(y,b,f),R=await a(y,b,f),W=await v(y,b,f);if(C&&M&&e)throw new Error(x8(0x1fb));const o={'projectId':y,'entityId':b},q={'containerName':W,'types':Q,'textIncludes':k,'textNotIncludes':d,'regexIncludes':J,'regexNotIncludes':X,'lineLimit':u,'startTime':C,'duration':e,'runId':T,'buildId':z,'backupId':Z,'restoreId':g,'deploymentId':R,'isBuild':N??![]},D=Y?'addonRestore':w?x8(0x22d):x,U={...q,'endTime':M,'direction':H};if(!K&&F!==x8(0x228)&&F!==x8(0x1ec)&&F!=='json')this[x8(0x210)](x,b,y,{...U,...f});const B=this[x8(0x247)](F,k??J);if(i){const V=await A['logs'][x8(0x1fa)](o,q,D);V['on'](x8(0x226),B),V['on'](x8(0x1f0),S=>error(x8(0x229)+S[x8(0x22e)])),V['on'](x8(0x1f2),()=>console[x8(0x211)](x8(0x1f9))),await V[x8(0x254)]();}else{const S=await A[x8(0x204)]['logRange'](o,U,D);if(S['error']){const s=S[x8(0x1f0)][x8(0x212)],h=s?x8(0x21d)+JSON[x8(0x20b)](s,null,'\x20'):'';error(x8(0x249)+S[x8(0x1f0)][x8(0x22e)]+h);}else B(S['data'],S[x8(0x1e6)]);}});}[a11m(0x210)]=(x,N,w,Y)=>{const x9=a11m,{containerName:L,restoreId:t,backupId:c,quiet:O,tail:v,startTime:r,endTime:a,duration:f}=Y;if(O===!![])return;const p=v?x9(0x1ef)+a11w['bold'](x9(0x246))+')':'',j=v?'\x20with\x20live-tailing':'',K=new Date(),i=(G,I)=>new Date(G[x9(0x213)]()+I*0x3e8),Q=r??i(a??K,-(f??this['defaultDurationSeconds'])),k=a??i(Q,f??this[x9(0x200)]),d=c!==undefined,J=Q&&!d?x9(0x227)+a11w[x9(0x203)](Q[x9(0x240)]()):'',X=k&&!d?x9(0x252)+a11w[x9(0x203)](k[x9(0x240)]()):'',H=f?',\x20duration:\x20'+f+x9(0x1db):'',u=L?'\x20for\x20container\x20'+a11w[x9(0x203)](L):d?'':x9(0x1d8),C=c?x9(0x224)+c:'',M=t?x9(0x24c)+t:'',e=x+'\x20'+a11w[x9(0x203)](N)+C+M+x9(0x233)+a11w[x9(0x203)](w),F=''+J+X+H;console['log'](x9(0x241)+j+u+x9(0x239)+e+F+p+':');};[a11m(0x247)]=(x,N)=>(w,Y)=>{const xx=a11m;if(!x){if(w[xx(0x245)]===0x0)console[xx(0x211)](xx(0x1ee));w[xx(0x232)](L=>formatLogLine(L,N));}else printResponse(x,w);Y?.[xx(0x217)]&&warning(xx(0x225)+Y[xx(0x20e)]);};}
|
|
1
|
+
const a11z=a11e;(function(l,e){const O=a11e,s=l();while(!![]){try{const f=parseInt(O(0x122))/0x1*(parseInt(O(0x18d))/0x2)+parseInt(O(0x155))/0x3+-parseInt(O(0x129))/0x4+parseInt(O(0x192))/0x5*(parseInt(O(0x149))/0x6)+-parseInt(O(0x10d))/0x7*(parseInt(O(0x163))/0x8)+parseInt(O(0x16b))/0x9*(-parseInt(O(0x14c))/0xa)+-parseInt(O(0x166))/0xb*(-parseInt(O(0x165))/0xc);if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a11l,0x7f2e4));import{ApiClient,LogType}from'@northflank/js-client';import a11s from'chalk';function a11e(l,e){const s=a11l();return a11e=function(f,i){f=f-0x10c;let c=s[f];return c;},a11e(l,e);}import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';import{printResponse}from'../formatting/console-format-helpers.js';function a11l(){const li=['bold','name','regexNotIncludes','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','getCurrentProjectName','inquirerHelper','81894xZRnGE','askForBuild','details','860PxdEIm','-d,\x20--direction\x20<order>','askForTeam','format','getStandardLogCommand','\x0aDetails:\x20','message','logTail','logRange','2248656HNGago','data','\x20seconds','restoreId','serviceId','--restore\x20--restoreId\x20[restoreId]','start','backupId','cursor','getTokenScope',',\x20from:\x20','slice','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','Number\x20of\x20lines\x20to\x20return.','14752EWbDcl','build-','12zijUmY','6118959fkdPcq','choices','textIncludes','apiContext','forEach','89136PGcvuM','Filter\x20log\x20lines\x20to\x20not\x20include\x20this\x20text','\x20of\x20','Error\x20while\x20fetching\x20log\x20lines:\x20','getFormatter','containerId','action','--endTime\x20<timestamp>','--duration\x20[duration]','askForAddonBackup','description','job','length','--textIncludes\x20<text>','--build\x20--buildId\x20[buildId]','noDefaults','backward','tail','alias','buildId','\x20for\x20container\x20','addonRestore','\x27Ctrl+C\x27','hasNextPage','printInitInfo','getCurrentServiceName','--startTime\x20<timestamp>','org','\x20for\x20all\x20containers','close','Direction\x20of\x20logs.\x20Ignored\x20when\x20tailing.','askForAddonRestore','values','\x20(exit\x20with\x20','2wEwuYw','toISOString','--run\x20--runId\x20[runId]','getTime','--project\x20--projectId\x20[projectId]','215OInttk','deploymentId','Filter\x20log\x20lines\x20to\x20not\x20match\x20this\x20regular\x20expression','--noDefaults','askForProjectContext','1274sopmBq','Tail\x20will\x20stream\x20logs\x20in\x20real-time.\x20Session\x20will\x20be\x20kept\x20open.','askForAddon','yml','--regexNotIncludes\x20<regex>',',\x20backup\x20id\x20','conflicts','logsApiClient','addOption','Error\x20while\x20tailing\x20log\x20lines:\x20','Build\x20to\x20get\x20logs\x20from',',\x20duration:\x20','--regexIncludes\x20<regex>','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)','Log\x20session\x20ended','Get\x20logs\x20generated\x20before\x20this\x20time,\x20','Restore\x20to\x20get\x20logs\x20from','jobId','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','service','error','326022hdvgYc','regexIncludes','toUpperCase','askForService','askForProject','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','\x20--','2041864jGhCHx','defaultDurationSeconds','Element\x20count\x20for\x20this\x20request\x20exceeds\x20the\x20line\x20limit,\x20output\x20was\x20truncated.\x20Cut\x20off\x20at\x20timestamp\x20','apiClient','json','addonId','-l,\x20--lineLimit\x20[limit]','charAt','log','Get\x20log\x20for\x20the\x20specified\x20',',\x20to:\x20','askForJob','Filter\x20log\x20lines\x20to\x20include\x20this\x20text','getCurrentJobName','No\x20logs\x20found\x20for\x20this\x20query.\x20Make\x20sure\x20to\x20select\x20an\x20appropriate\x20time\x20window.','-o,\x20--output\x20[output]','pagination','addon','--textNotIncludes\x20<text>','\x20in\x20project\x20','Filter\x20log\x20lines\x20to\x20match\x20this\x20regular\x20expression','textNotIncludes','yaml','option','Team\x20id','getLogsCommand'];a11l=function(){return li;};return a11l();}import{formatLogLine}from'./log-formatter.js';export class CliLogs{[a11z(0x169)];[a11z(0x12c)];[a11z(0x114)];['inquirerHelper'];[a11z(0x12a)]=0x708;[a11z(0x150)]=(l,e,s,f)=>{const l0=a11z,i=getCommand(!![])[l0(0x144)]((e?l0(0x164):'')+'logs')[l0(0x17d)]((e?l0(0x164):'')+'log')[l0(0x175)](l0(0x132)+l)[l0(0x140)](l0(0x191),'Project\x20for\x20logs')['option']('--'+l+l0(0x128)+l+'Id\x20['+l+'Id]',l[l0(0x130)](0x0)[l0(0x124)]()+l[l0(0x160)](0x1)+'\x20to\x20get\x20logs\x20from')[l0(0x140)]('--container\x20--containerId\x20[containerId]',l0(0x11a));this[l0(0x12c)]['contextProvider'][l0(0x15e)]()==='org'&&i[l0(0x140)]('--team\x20--teamId\x20[TEAMID]',l0(0x141));if(e)i[l0(0x140)](l0(0x179),l0(0x117));if(l==='job')i[l0(0x140)](l0(0x18f),l0(0x11f));if(l===l0(0x120))i[l0(0x140)]('--deployment\x20--deploymentId\x20[deploymentId]','Deployment\x20id,\x20example:\x20my-service-54785f4');if(s)i[l0(0x140)]('--backup\x20--backupId\x20[backupId]','Backup\x20to\x20get\x20logs\x20from');if(f)i['option'](l0(0x15a),l0(0x11d));return!e&&!s&&!f&&i[l0(0x115)](new Option('-t,\x20--types\x20<types...>','Which\x20log\x20types\x20to\x20fetch')[l0(0x167)](Object[l0(0x18b)](LogType))),i[l0(0x140)]('-f,\x20--tail',l0(0x10e))['option'](l0(0x12f),l0(0x162))[l0(0x140)](l0(0x185),'Get\x20logs\x20generated\x20after\x20this\x20time,\x20'+tsHint,parseDateInput)[l0(0x115)](new Option(l0(0x172),l0(0x11c)+tsHint)['argParser'](parseDateInput)[l0(0x113)]([l0(0x17c)]))[l0(0x140)](l0(0x173),'Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set')[l0(0x115)](new Option(l0(0x14d),l0(0x189))[l0(0x167)]([l0(0x17b),'forward'])[l0(0x113)]([l0(0x17c)]))[l0(0x115)](new Option(l0(0x178),l0(0x135))[l0(0x113)]([l0(0x13e),l0(0x123),l0(0x145)]))['addOption'](new Option(l0(0x13b),l0(0x16c))[l0(0x113)]([l0(0x168),'regexIncludes',l0(0x145)]))[l0(0x115)](new Option(l0(0x119),l0(0x13d))['conflicts'](['textNotIncludes',l0(0x168),l0(0x145)]))['addOption'](new Option(l0(0x111),l0(0x194))[l0(0x113)](['textNotIncludes',l0(0x123),l0(0x168)]))[l0(0x140)](l0(0x195),l0(0x127),![])['addOption'](new Option(l0(0x138),l0(0x146))[l0(0x167)](Object[l0(0x18b)]([l0(0x14f),l0(0x12d),l0(0x13f)]))),i;};constructor(l,e){const l1=a11z;this['apiContext']=l,this[l1(0x12c)]=new ApiClient(l,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':e}),this[l1(0x114)]=this['apiClient'],this[l1(0x148)]=new InquirerHelper(this[l1(0x12c)]);}[a11z(0x142)](l,e=![],s=![],f=![]){const l9=a11z,i=async(q,t,J)=>{const l2=a11e,N=J[l2(0x17a)],{apiContext:Z,inquirerHelper:x}=this;switch(l){case'service':{const g=N?undefined:Z[l2(0x184)]();return J[l2(0x159)]||g||await x[l2(0x125)](q,t)();}case l2(0x176):{const S=N?undefined:Z[l2(0x136)]();return J[l2(0x11e)]||S||await x[l2(0x134)](q,t)();}case l2(0x13a):{return J[l2(0x12e)]||await x[l2(0x10f)](q,t)();}}},c=async(q,t,J,N)=>{const l3=a11e;if(e)return N[l3(0x17e)]||await this[l3(0x148)][l3(0x14a)](q,l===l3(0x120)?t:undefined,l===l3(0x176)?t:undefined,!![],J)();return undefined;},a=async(q,t,J,N)=>{const l4=a11e;if(s||f)return N[l4(0x15c)]||await this[l4(0x148)][l4(0x174)](q,t,J)();return undefined;},D=async(q,t,J,N,Z)=>{const l5=a11e;if(f)return Z[l5(0x158)]||await this[l5(0x148)][l5(0x18a)](q,t,J,N)();return undefined;},Y=async(q,t,J,N)=>{const l6=a11e;if(!e&&N[l6(0x170)]!==undefined){if(N[l6(0x170)]!==!![])return N[l6(0x170)];return await this[l6(0x148)]['askForContainer'](q,l==='service'?t:undefined,l==='job'?t:undefined,!![],J)();}return undefined;},T=async(q,t,J,N)=>{const l7=a11e;if(l===l7(0x176))return N['runId']||await this['inquirerHelper']['askForJobRun'](t,q,!![],J)();return undefined;},b=async(q,t,J,N)=>{const l8=a11e;if(l==='service'){if(N['deploymentId']!==!![])return N[l8(0x193)];return N[l8(0x193)];}return undefined;};return this['getStandardLogCommand'](l,e,s,f)[l9(0x171)](async q=>{const ll=l9,{noDefaults:t,projectId:J,teamId:N,quiet:Z,tail:x,types:g,textIncludes:S,textNotIncludes:o,regexIncludes:G,regexNotIncludes:I,direction:P,lineLimit:F,startTime:B,endTime:k,duration:v,output:r}=q;assertContextExisting(this['apiClient']);const {apiContext:W,inquirerHelper:u,logsApiClient:V}=this,h=t?undefined:W[ll(0x147)](),{projectId:R,teamId:m}=await this[ll(0x10c)](W,u,J,N,h),X=await i(R,m,q),j=await c(R,X,m,q),d=await a(R,X,m,q),w=await D(R,X,d,m,q),H=await T(R,X,m,q),M=await b(R,X,m,q),A=await Y(R,X,m,q);if(B&&k&&v)throw new Error(ll(0x161));const L={'teamId':m,'projectId':R,'entityId':X},C={'containerName':A,'types':g,'textIncludes':S,'textNotIncludes':o,'regexIncludes':G,'regexNotIncludes':I,'lineLimit':F,'startTime':B,'duration':v,'runId':H,'buildId':j,'backupId':d,'restoreId':w,'deploymentId':M,'isBuild':e??![]},y=f?ll(0x180):s?'addonBackup':l,n={...C,'endTime':k,'direction':P};if(!Z&&r!==ll(0x13f)&&r!==ll(0x110)&&r!==ll(0x12d))this['printInitInfo'](l,X,R,{...n,...q});const K=this[ll(0x16f)](r,S??G);if(x){const Q=await V['logs'][ll(0x153)](L,C,y);Q['on']('logs-received',K),Q['on'](ll(0x121),E=>error(ll(0x116)+E[ll(0x152)])),Q['on'](ll(0x188),()=>console[ll(0x131)](ll(0x11b))),await Q[ll(0x15b)]();}else{const E=await V['logs'][ll(0x154)](L,n,y);if(E[ll(0x121)]){const U=E[ll(0x121)][ll(0x14b)],p=U?ll(0x151)+JSON['stringify'](U,null,'\x20'):'';error(ll(0x16e)+E[ll(0x121)][ll(0x152)]+p);}else K(E[ll(0x156)],E[ll(0x139)]);}});}[a11z(0x183)]=(l,e,s,f)=>{const le=a11z,{containerName:i,restoreId:c,backupId:a,quiet:D,tail:Y,startTime:T,endTime:b,duration:q}=f;if(D===!![])return;const t=Y?le(0x18c)+a11s['bold'](le(0x181))+')':'',J=Y?'\x20with\x20live-tailing':'',N=new Date(),Z=(r,W)=>new Date(r[le(0x190)]()+W*0x3e8),x=T??Z(b??N,-(q??this['defaultDurationSeconds'])),g=b??Z(x,q??this[le(0x12a)]),S=a!==undefined,o=x&&!S?le(0x15f)+a11s['bold'](x[le(0x18e)]()):'',G=g&&!S?le(0x133)+a11s['bold'](g[le(0x18e)]()):'',I=q?le(0x118)+q+le(0x157):'',P=i?le(0x17f)+a11s['bold'](i):S?'':le(0x187),F=a?le(0x112)+a:'',B=c?',\x20restore\x20id\x20'+c:'',k=l+'\x20'+a11s[le(0x143)](e)+F+B+le(0x13c)+a11s[le(0x143)](s),v=''+o+G+I;console['log']('>\x20Container\x20logs'+J+P+le(0x16d)+k+v+t+':');};[a11z(0x16f)]=(l,e)=>(s,f)=>{const ls=a11z;if(!l){if(s[ls(0x177)]===0x0)console['log'](ls(0x137));s[ls(0x16a)](i=>formatLogLine(i,e));}else printResponse(l,s);f?.[ls(0x182)]&&warning(ls(0x12b)+f[ls(0x15d)]);};[a11z(0x10c)]=async(l,e,s,f,i)=>{const lf=a11z,c=l[lf(0x15e)]()===lf(0x186)?f??await e[lf(0x14e)]():undefined,a=s||i||await e[lf(0x126)](c)();return{'teamId':c,'projectId':a};};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a12l(){const N=['3766059EDttGt','1mabYkZ','gray','replace','4573230FzAcMq','greenBright','1485266JdZMLz','toISOString','6849416zDzqPF','color','log','pattern','green','yellow','\x20--\x20','16XjNvWn','4892556ygHSOu','bold','grey','16869519kYXyRO','5154926HApQsz','blue'];a12l=function(){return N;};return a12l();}const a12q=a12e;(function(l,e){const b=a12e,s=l();while(!![]){try{const f=-parseInt(b(0x1cf))/0x1*(parseInt(b(0x1be))/0x2)+-parseInt(b(0x1ce))/0x3+-parseInt(b(0x1c0))/0x4+parseInt(b(0x1bc))/0x5+-parseInt(b(0x1c8))/0x6+parseInt(b(0x1cc))/0x7+-parseInt(b(0x1c7))/0x8*(-parseInt(b(0x1cb))/0x9);if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a12l,0xd5660));import a12s from'chalk';export const defaultLogSyntax=[{'color':a12q(0x1ca),'pattern':/\[[0-9]{1,2}\/[a-z]{3}\/[0-9]{4}:[0-9]{2}:[0-9]{2}:[0-9]{2} \+[0-9]{4}\]/i},{'color':'grey','pattern':/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]+)?Z/i},{'color':a12q(0x1ca),'pattern':/[0-9]{4}\/[0-9]{2}\/[0-9]{2}/i},{'color':'grey','pattern':/\s\b([0-9]{2}:){1,2}[0-9]{2}\b\s/i},{'color':'bold','pattern':new RegExp('s\x08(?!mailto:)(?:(?:http|https|ftp)://)(?:\x5cS+(?::\x5cS*)?@)?(?:(?:(?:[1-9]\x5cd?|1\x5cd\x5cd|2[01]\x5cd|22[0-3])(?:\x5c.(?:1?\x5cd{1,2}|2[0-4]\x5cd|25[0-5])){2}(?:\x5c.(?:[0-9]\x5cd?|1\x5cd\x5cd|2[0-4]\x5cd|25[0-4]))|(?:(?:[a-z\x5cu00a1-\x5cuffff0-9]+-?)*[a-z\x5cu00a1-\x5cuffff0-9]+)(?:\x5c.(?:[a-z\x5cu00a1-\x5cuffff0-9]+-?)*[a-z\x5cu00a1-\x5cuffff0-9]+)*(?:\x5c.(?:[a-z\x5cu00a1-\x5cuffff]{2,})))|localhost)(?::\x5cd{2,5})?(?:(/|\x5c?|#)[^\x5cs]*)?\x08s','i')},{'color':a12q(0x1c4),'pattern':/(?:\d{1,3}\.){3}\d{1,3}/i},{'color':a12q(0x1c4),'pattern':/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/},{'color':'blue','pattern':/\b(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH)\b/},{'color':a12q(0x1bd),'pattern':/\b(successful|success|completed|complete|done)\b/i},{'color':'red','pattern':/\b(failed|fail|stderr|error|err)\b/i},{'color':a12q(0x1d0),'pattern':/\b(information|info|debug)\b/i},{'color':a12q(0x1c5),'pattern':/\b(warning|warn)\b/i},{'color':a12q(0x1cd),'pattern':/[0-9a-f]{64}/i},{'color':a12q(0x1cd),'pattern':/[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}/i}];function a12e(l,e){const s=a12l();return a12e=function(f,i){f=f-0x1bc;let c=s[f];return c;},a12e(l,e);}export const formatLogLine=(e,s)=>{const t=a12q,f=a12s['dim'](e['ts'][t(0x1bf)]()),i=a12s['cyan'](e['containerId']),c=defaultLogSyntax['reduce']((D,Y)=>{const J=t;return D['replace'](Y[J(0x1c3)],T=>Y[J(0x1c1)]?a12s[Y[J(0x1c1)]](T):a12s['grey'](T));},e['log']),a=s?c[t(0x1d1)](new RegExp(s,'g'),D=>a12s[t(0x1c9)](D)):c;console[t(0x1c2)](f+'\x20'+i+t(0x1c6)+a);};
|
package/dist/metrics/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a13Z=a13N;function a13x(){const x5=['stringify','apiClient','--noDefaults','push','min','charAt','getCurrentServiceName','\x20for\x20container:\x20',',\x20from:\x20','valueOf','\x20of\x20','details','rows','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)','--project\x20--projectId\x20[NAME]','getPaddingDataStart','152CekBcF','metricsApiClient','choices','columns','140728oZuKZE','--startTime\x20<timestamp>','--run\x20--runId\x20[runId]','exit','getStandardMetricsCommand','refreshInterval','metricsSingle','-t,\x20--metricTypes\x20<metricTypes...>','all\x20containers','keys','message','option','Metrics\x20overview','values','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','Get\x20metrics\x20before\x20this\x20timestamp,\x20','pct','format','toISOString','Which\x20metric\x20type\x20to\x20fetch','containerId','length','metricUnit','getTime','Build\x20to\x20get\x20logs\x20from','addOption','askForJobRun','askForBuild','max','2196276aXpUrV','stdout','12586kCEqBA','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','runId','map','handleError','115110knAVal','printMetricsTable','service','metricId','metadata','askForAddon','8870571OXomaE','error','alias','\x20to\x20get\x20logs\x20from','build-','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','bold','printMetricsGraph','getMetricsCommand','clear','--deployment\x20--deploymentId\x20[deploymentId]','1096464HbpykZ','yaml','askForJob','flat',',\x20to:\x20','printInitInfo','No\x20metrics\x20found\x20for\x20this\x20query','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','metrics','toTimeString','unshift','yml','container\x20','455072RJQkbk','--build\x20--buildId\x20[buildId]','Fetching\x20data..','--endTime\x20<timestamp>','buildId','askForProject','conflicts','getCurrentProjectName','assign','\x20seconds','printMetricsSingle','forEach','json','job','log','isNaN','value','Get\x20metrics\x20after\x20this\x20timestamp,\x20','deploymentId','description','time','startTime',',\x20volume:\x20','askForService','data','argParser','jobId','Error\x20while\x20fetching\x20metrics\x20entries:\x20','inquirerHelper','Project\x20for\x20logs','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','getPaddingDataEnd','join','toFixed','70GNoXeK'];a13x=function(){return x5;};return a13x();}(function(x,N){const z=a13N,w=x();while(!![]){try{const Y=parseInt(z(0x1cd))/0x1*(parseInt(z(0x177))/0x2)+-parseInt(z(0x18d))/0x3+-parseInt(z(0x1d1))/0x4+-parseInt(z(0x17c))/0x5+parseInt(z(0x175))/0x6+parseInt(z(0x1bc))/0x7*(parseInt(z(0x19a))/0x8)+-parseInt(z(0x182))/0x9;if(Y===N)break;else w['push'](w['shift']());}catch(L){w['push'](w['shift']());}}}(a13x,0x75b3f));import{ApiClient,MetricType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';function a13N(x,N){const w=a13x();return a13N=function(Y,L){Y=Y-0x165;let t=w[Y];return t;},a13N(x,N);}import{downSampleData,getAsciiChart}from'../formatting/terminal-chart.js';import{printAsTable,printResponse}from'../formatting/console-format-helpers.js';import a13w from'chalk';export class CliMetrics{['apiContext'];['apiClient'];['metricsApiClient'];[a13Z(0x1b6)];[a13Z(0x1d6)]=0x2710;[a13Z(0x1d5)]=(x,N)=>{const g=a13Z,w=getCommand(!![])['name']((N?g(0x186):'')+g(0x195))[g(0x184)]((N?'build-':'')+'metric')[g(0x1ad)]('Get\x20metrics\x20for\x20the\x20specified\x20'+x)['option'](g(0x1cb),g(0x1b7))[g(0x1dc)]('--'+x+'\x20--'+x+'Id\x20[NAME]',x[g(0x1c2)](0x0)['toUpperCase']()+x['slice'](0x1)+g(0x185))[g(0x1dc)]('--container\x20--containerId\x20[NAME]',g(0x1ca))[g(0x1dc)](g(0x1d2),g(0x1ab)+tsHint,parseDateInput)[g(0x1dc)](g(0x19d),g(0x167)+tsHint,parseDateInput)[g(0x1dc)]('--duration\x20[duration]',g(0x178))['addOption'](new Option(g(0x1d8),g(0x16b))[g(0x1cf)](Object[g(0x165)](MetricType)))[g(0x171)](new Option('--timestamp\x20[timestamp]',g(0x187)+tsHint)[g(0x1b3)](parseDateInput)[g(0x1a0)]([g(0x1af),'endTime']))[g(0x1dc)](g(0x1bf),g(0x1b8),![])[g(0x171)](new Option('-o,\x20--output\x20[output]',g(0x194))[g(0x1cf)](Object['values']([g(0x169),g(0x1a6),g(0x18e)])));if(N)w[g(0x1dc)](g(0x19b),g(0x170));if(x==='job')w[g(0x1dc)](g(0x1d3),g(0x166));if(x===g(0x17e))w[g(0x1dc)](g(0x18c),'Deployment\x20id,\x20example:\x20my-service-54785f4');return w;};constructor(x,N){const T=a13Z;this['apiContext']=x,this['apiClient']=new ApiClient(x,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':N}),this[T(0x1ce)]=this[T(0x1be)],this['inquirerHelper']=new InquirerHelper(this[T(0x1be)]);}[a13Z(0x18a)](x,N=![]){const w=async(O,v)=>{const R=a13N,r=v['noDefaults'],{apiContext:a,inquirerHelper:f}=this;switch(x){case R(0x17e):{const p=r?undefined:a[R(0x1c3)]();return v['serviceId']||p||await f[R(0x1b1)](O)();}case R(0x1a7):{const j=r?undefined:a['getCurrentServiceName']();return v[R(0x1b4)]||j||await f[R(0x18f)](O)();}case'addon':{const K=r?undefined:a['getCurrentServiceName']();return v['addonId']||K||await f[R(0x181)](O)();}}},Y=async(O,v,r)=>{const W=a13N;if(N)return r[W(0x19e)]||await this['inquirerHelper'][W(0x173)](O,x===W(0x17e)?v:undefined,x===W(0x1a7)?v:undefined,!![])();return undefined;},L=async(O,v,r)=>{const o=a13N;if(!N&&r[o(0x16c)]!==undefined){if(r[o(0x16c)]!==!![])return r['containerId'];return await this[o(0x1b6)]['askForContainer'](O,x===o(0x17e)?v:undefined,x===o(0x1a7)?v:undefined,!![])();}return undefined;},t=async(O,v,r)=>{const q=a13N;if(x===q(0x1a7))return r[q(0x179)]||await this[q(0x1b6)][q(0x172)](v,O,!![])();return undefined;},c=async(O,v,r)=>{const D=a13N;if(x===D(0x17e)){if(r[D(0x1ac)]!==!![])return r[D(0x1ac)];return r[D(0x1ac)];}return undefined;};return this['getStandardMetricsCommand'](x,N)['action'](async O=>{const U=a13N,{noDefaults:v,projectId:r,duration:a,timestamp:f,output:p,startTime:j,endTime:K,metricTypes:i,quiet:Q}=O;assertContextExisting(this[U(0x1be)]);if(j&&K&&a)throw new Error('Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.');const {apiContext:k,inquirerHelper:d,metricsApiClient:J}=this,X=v?undefined:k[U(0x1a1)](),H=r||X||await d[U(0x19f)](),u=await w(H,O),C=await Y(H,u,O),M=await t(H,u,O),e=await c(H,u,O),F=await L(H,u,O),G={'projectId':H,'entityId':u},I={'containerName':F,'startTime':j,'endTime':K,'duration':a,'timestamp':f,'metricTypes':i,'runId':M,'buildId':C,'deploymentId':e,'isBuild':N??![]},A=!(j||K||a);if(!Q&&p!==U(0x18e)&&p!==U(0x198)&&p!==U(0x1a6))this['printInitInfo'](x,u,H,I,Q);if(A){if(p!==undefined){const P=await J[U(0x195)][U(0x1d7)](G,I,x);this[U(0x17b)](P),printResponse(p,P['data']);}else[...Array(process[U(0x176)][U(0x1c9)]-0x1)][U(0x1a5)]((y,b)=>b===0x0?console[U(0x1a8)](U(0x19c)):console[U(0x1a8)]()),await this[U(0x17d)](G,I,x)(),setInterval(this[U(0x17d)](G,I,x),this[U(0x1d6)]),await new Promise(y=>setTimeout(y,this[U(0x1d6)]*0x64));}else{const y=await J[U(0x195)]['metricsRange'](G,I,x);this[U(0x17b)](y),p!==undefined?printResponse(p,y['data']):this[U(0x189)](j,K??new Date())(y[U(0x1b2)]);}process[U(0x1d4)]();});}[a13Z(0x1a4)](x){const S=a13Z,N=(L,t)=>{const B=a13N;if(!t?.['value'])'N/A';const c=L[B(0x16e)]===B(0x168)?'%':L[B(0x16e)];return''+Number(t?.[B(0x1aa)])[B(0x1bb)](0x3)+c;},w=L=>{const V=a13N;if(!L?.['ts'])'N/A';return L['ts'][V(0x196)]()['split']('\x20')[0x0];},Y={};Object[S(0x1da)](x)[S(0x1a5)](L=>{const s=S,{values:t,metricInfo:c}=x[L];return t[s(0x1a5)](O=>{const h=s,v=O[h(0x180)][h(0x16c)];Object[h(0x1a2)](Y,{[v]:{...Y?.[v],[h(0x1ae)]:w(O['data']?.[0x0]),'containerId':v,[c[h(0x17f)]]:N(c,O[h(0x1b2)]?.[0x0])}});});}),printAsTable(Object[S(0x165)](Y),S(0x1dd));}['printMetricsGraph']=(x,N)=>{return w=>{const n=a13N,Y=Object[n(0x1da)](w)['flatMap'](L=>{const m=n,{values:t,metricInfo:c}=w[L],{metricUnit:O,metricResolution:v}=c;return t[m(0x17a)](r=>{const l=m,{metadata:a,data:f}=r,p=N?N?.[l(0x16f)]()>new Date()[l(0x16f)]()?new Date():N:undefined,j=new Date(f?.[0x0]?.['ts']),K=new Date(f?.[f['length']-0x1]?.['ts']),i=this[l(0x1cc)](x,j,v),Q=this[l(0x1b9)](p,K,v),k=[...i,...f,...Q],d=k['map'](F=>[new Date(F['ts'])[l(0x1c6)](),Number(F['value'])])['filter'](F=>!Number[l(0x1a9)](F[0x0])),J=Math[l(0x1c1)](Math[l(0x174)](process[l(0x176)][l(0x1d0)]-0xa,0xa),0x64),X=Math[l(0x1c1)](Math[l(0x174)](process[l(0x176)]['rows']-0x9,0xa),0xf),H=O===l(0x168)?0x64:undefined,u=O===l(0x168)?'%':O,C=downSampleData(d,J),M=C['map'](F=>F[0x1]),e={'min':0x0,'height':X,'max':H,'unit':u,'startTs':x??j,'endTs':p??K};return{'dataSeries':M,'metadata':a,'chartOpts':e,'metricInfo':c};});})[n(0x190)]();if(Y[n(0x16d)]===0x0)warning(n(0x193));else Y[n(0x1a5)](L=>{const E=n,{dataSeries:t,metadata:c,chartOpts:O,metricInfo:v}=L,{containerId:r,volumeId:a}=c,f=a?E(0x1b0)+a:'';console[E(0x1a8)](v['metricId']+E(0x1c4)+a13w[E(0x188)](r)+f),console[E(0x1a8)](getAsciiChart(t,O));});};};[a13Z(0x1cc)](x,N,w){const x0=a13Z,Y=c=>new Date(c[x0(0x16f)]()-L),L=w*0x3e8;if(!x)return[];if(!N)return[];if(Y(N)[x0(0x16f)]()<x[x0(0x16f)]())return[];const t=[{'ts':Y(N),'value':0x0}];while(Y(t[t[x0(0x16d)]-0x1]['ts'])['getTime']()<=x[x0(0x16f)]()){t[x0(0x197)]({'ts':Y(t[t['length']-0x1]['ts']),'value':0x0});}return t;}[a13Z(0x1b9)](x,N,w){const x1=a13Z,Y=c=>new Date(c[x1(0x16f)]()+L),L=w*0x3e8;if(!x)return[];if(!N)return[];if(Y(N)[x1(0x16f)]()>x['getTime']())return[];const t=[{'ts':Y(N),'value':0x0}];while(Y(t[t['length']-0x1]['ts'])[x1(0x16f)]()<=x[x1(0x16f)]()){t[x1(0x1c0)]({'ts':Y(t[t[x1(0x16d)]-0x1]['ts']),'value':0x0});}return t;}['printMetricsTable']=(x,N,w)=>async()=>{const x2=a13Z;try{const Y=await this[x2(0x1ce)][x2(0x195)][x2(0x1d7)](x,N,w);console[x2(0x18b)]();if(Y[x2(0x183)])error(x2(0x1b5)+Y[x2(0x183)][x2(0x1db)]);else this[x2(0x1a4)](Y[x2(0x1b2)]);}catch(L){console['clear'](),error(x2(0x1b5)+L[x2(0x1db)]);}};[a13Z(0x17b)]=x=>{const x3=a13Z;if(x[x3(0x183)]){const N=JSON[x3(0x1bd)](x[x3(0x183)][x3(0x1c8)]);throw new Error(x3(0x1b5)+x[x3(0x183)][x3(0x1db)]+'\x20'+N);}};[a13Z(0x192)]=(x,N,w,Y,L)=>{const x4=a13Z;if(L===!![])return;const {metricTypes:t,endTime:c,startTime:O,duration:v,containerId:r}=Y,a=O?x4(0x1c5)+O[x4(0x16a)]():'',f=c?x4(0x191)+c['toISOString']():'',p=v?',\x20duration:\x20'+v+x4(0x1a3):'',j=r?x4(0x199)+a13w[x4(0x188)](r):x4(0x1d9),K=x+'\x20'+a13w[x4(0x188)](N)+'\x20in\x20project\x20'+a13w[x4(0x188)](w),i=''+a+f+p,Q=t?',\x20metric\x20types:\x20'+t?.[x4(0x1ba)](','):'';console['log']('Metrics\x20for\x20'+j+x4(0x1c7)+K+Q+i);};}
|
|
1
|
+
const a13d=a13e;(function(l,e){const j=a13e,s=l();while(!![]){try{const f=parseInt(j(0x149))/0x1+-parseInt(j(0x16d))/0x2*(parseInt(j(0x15a))/0x3)+parseInt(j(0x12a))/0x4*(parseInt(j(0x14a))/0x5)+parseInt(j(0x11b))/0x6*(-parseInt(j(0x14c))/0x7)+-parseInt(j(0x162))/0x8+-parseInt(j(0x137))/0x9*(parseInt(j(0x159))/0xa)+parseInt(j(0x163))/0xb;if(f===e)break;else s['push'](s['shift']());}catch(i){s['push'](s['shift']());}}}(a13l,0x8cbc7));import{ApiClient,MetricType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';function a13e(l,e){const s=a13l();return a13e=function(f,i){f=f-0x117;let c=s[f];return c;},a13e(l,e);}function a13l(){const l8=['--build\x20--buildId\x20[buildId]','push','--startTime\x20<timestamp>','handleError','rows','\x20--','json','Fetching\x20data..','askForAddon','--noDefaults','\x20of\x20','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','buildId','log','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','askForJobRun','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','endTime',',\x20duration:\x20','message','12VfvUYk','Build\x20to\x20get\x20logs\x20from','getStandardMetricsCommand','startTime','containerId','alias','N/A','flat','deploymentId','keys','printMetricsGraph','Error\x20while\x20fetching\x20metrics\x20entries:\x20','Get\x20metrics\x20before\x20this\x20timestamp,\x20','--container\x20--containerId\x20[NAME]','addon','17604NljizI','stringify','service','forEach','runId','build-','details','getPaddingDataStart','description','--timestamp\x20[timestamp]','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)','error','Metrics\x20overview','9yMhOtk','Which\x20metric\x20type\x20to\x20fetch','metricId','printMetricsTable','getTime','isNaN','yml','Team\x20id','toISOString','split','askForJob','\x20to\x20get\x20logs\x20from','bold','length','toUpperCase','No\x20metrics\x20found\x20for\x20this\x20query','Metrics\x20for\x20','getCurrentServiceName','397529XJIzGr','520pYBzJS','data','2447312lOoJlB','getCurrentProjectName','assign','option','inquirerHelper','slice','Get\x20metrics\x20for\x20the\x20specified\x20','getPaddingDataEnd','clear','conflicts','metricsApiClient','addOption','Get\x20metrics\x20after\x20this\x20timestamp,\x20','7138870pPTOOg','6rJHMSl','getMetricsCommand','stdout','time','metrics','askForProject','all\x20containers','exit','7908496iSgCXN','31765921WXWEnn','Project\x20for\x20logs','action','yaml','value','\x20seconds','-o,\x20--output\x20[output]','printMetricsSingle','toTimeString','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','764908KHjQWE','pct','toFixed','--team\x20--teamId\x20[TEAMID]','--endTime\x20<timestamp>','job','format','max','getTokenScope','askForProjectContext','jobId','unshift','container\x20',',\x20volume:\x20','refreshInterval',',\x20from:\x20','filter','apiContext','flatMap','Deployment\x20id,\x20example:\x20my-service-54785f4','org','metricsSingle','values','askForTeam','apiClient','map','metricsRange','serviceId'];a13l=function(){return l8;};return a13l();}import{downSampleData,getAsciiChart}from'../formatting/terminal-chart.js';import{printAsTable,printResponse}from'../formatting/console-format-helpers.js';import a13s from'chalk';export class CliMetrics{[a13d(0x17e)];[a13d(0x185)];[a13d(0x156)];['inquirerHelper'];[a13d(0x17b)]=0x2710;['getStandardMetricsCommand']=(l,e)=>{const w=a13d,s=getCommand(!![])['name']((e?w(0x12f):'')+w(0x15e))[w(0x120)]((e?w(0x12f):'')+'metric')[w(0x132)](w(0x152)+l)[w(0x14f)]('--project\x20--projectId\x20[NAME]',w(0x164))[w(0x14f)]('--'+l+w(0x18e)+l+'Id\x20[NAME]',l['charAt'](0x0)[w(0x145)]()+l[w(0x151)](0x1)+w(0x142))['option'](w(0x128),w(0x134))[w(0x14f)](w(0x18b),w(0x158)+tsHint,parseDateInput)[w(0x14f)](w(0x171),w(0x127)+tsHint,parseDateInput)[w(0x14f)]('--duration\x20[duration]',w(0x194))['addOption'](new Option('-t,\x20--metricTypes\x20<metricTypes...>',w(0x138))['choices'](Object['values'](MetricType)))[w(0x157)](new Option(w(0x133),w(0x197)+tsHint)['argParser'](parseDateInput)[w(0x155)]([w(0x11e),w(0x118)]))[w(0x14f)](w(0x192),'Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',![])[w(0x157)](new Option(w(0x169),'Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.')['choices'](Object[w(0x183)]([w(0x173),'json','yaml'])));if(e)s[w(0x14f)](w(0x189),w(0x11c));if(l===w(0x172))s[w(0x14f)]('--run\x20--runId\x20[runId]',w(0x117));if(l===w(0x12c))s['option']('--deployment\x20--deploymentId\x20[deploymentId]',w(0x180));return this[w(0x185)]['contextProvider'][w(0x175)]()===w(0x181)&&s[w(0x14f)](w(0x170),w(0x13e)),s;};constructor(l,e){const H=a13d;this[H(0x17e)]=l,this[H(0x185)]=new ApiClient(l,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':e}),this[H(0x156)]=this['apiClient'],this[H(0x150)]=new InquirerHelper(this[H(0x185)]);}[a13d(0x15b)](l,e=![]){const n=a13d,s=async(D,Y,T)=>{const M=a13e,b=T['noDefaults'],{apiContext:q,inquirerHelper:t}=this;switch(l){case M(0x12c):{const J=b?undefined:q['getCurrentServiceName']();return T[M(0x188)]||J||await t['askForService'](D,Y)();}case'job':{const N=b?undefined:q[M(0x148)]();return T[M(0x177)]||N||await t[M(0x141)](D,Y)();}case M(0x129):{const Z=b?undefined:q[M(0x148)]();return T['addonId']||Z||await t[M(0x191)](D,Y)();}}},f=async(D,Y,T,b)=>{const A=a13e;if(e)return b[A(0x195)]||await this[A(0x150)]['askForBuild'](D,l===A(0x12c)?T:undefined,l===A(0x172)?T:undefined,!![],Y)();return undefined;},i=async(D,Y,T,b)=>{const L=a13e;if(!e&&b[L(0x11f)]!==undefined){if(b[L(0x11f)]!==!![])return b[L(0x11f)];return await this[L(0x150)]['askForContainer'](D,l==='service'?T:undefined,l===L(0x172)?T:undefined,!![],Y)();}return undefined;},c=async(D,Y,T,b)=>{const C=a13e;if(l===C(0x172))return b[C(0x12e)]||await this[C(0x150)][C(0x198)](T,D,!![],Y)();return undefined;},a=async(D,Y,T,b)=>{const y=a13e;if(l===y(0x12c)){if(b[y(0x123)]!==!![])return b[y(0x123)];return b[y(0x123)];}return undefined;};return this[n(0x11d)](l,e)[n(0x165)](async D=>{const K=n,{noDefaults:Y,projectId:T,teamId:b,duration:q,timestamp:t,output:J,startTime:N,endTime:Z,metricTypes:x,quiet:g}=D;assertContextExisting(this[K(0x185)]);if(N&&Z&&q)throw new Error(K(0x16c));const {apiContext:S,inquirerHelper:o,metricsApiClient:G}=this,I=Y?undefined:S[K(0x14d)](),{projectId:P,teamId:F}=await this['askForProjectContext'](S,o,T,b,I),B=await s(P,F,D),k=await f(P,F,B,D),v=await c(P,F,B,D),r=await a(P,F,B,D),W=await i(P,F,B,D),u={'teamId':F,'projectId':P,'entityId':B},V={'containerName':W,'startTime':N,'endTime':Z,'duration':q,'timestamp':t,'metricTypes':x,'runId':v,'buildId':k,'deploymentId':r,'isBuild':e??![]},h=!(N||Z||q);if(!g&&J!==K(0x166)&&J!==K(0x13d)&&J!==K(0x18f))this['printInitInfo'](l,B,P,V,g);if(h){if(J!==undefined){const R=await G[K(0x15e)][K(0x182)](u,V,l);this['handleError'](R),printResponse(J,R[K(0x14b)]);}else[...Array(process['stdout'][K(0x18d)]-0x1)][K(0x12d)]((m,X)=>X===0x0?console[K(0x196)](K(0x190)):console[K(0x196)]()),await this['printMetricsTable'](u,V,l)(),setInterval(this['printMetricsTable'](u,V,l),this['refreshInterval']),await new Promise(m=>setTimeout(m,this[K(0x17b)]*0x64));}else{const m=await G['metrics'][K(0x187)](u,V,l);this[K(0x18c)](m),J!==undefined?printResponse(J,m['data']):this[K(0x125)](N,Z??new Date())(m[K(0x14b)]);}process[K(0x161)]();});}[a13d(0x16a)](l){const U=a13d,e=(i,c)=>{const Q=a13e;if(!c?.[Q(0x167)])Q(0x121);const a=i['metricUnit']===Q(0x16e)?'%':i['metricUnit'];return''+Number(c?.[Q(0x167)])[Q(0x16f)](0x3)+a;},s=i=>{const E=a13e;if(!i?.['ts'])E(0x121);return i['ts'][E(0x16b)]()[E(0x140)]('\x20')[0x0];},f={};Object[U(0x124)](l)[U(0x12d)](i=>{const {values:c,metricInfo:a}=l[i];return c['forEach'](D=>{const p=a13e,Y=D['metadata'][p(0x11f)];Object[p(0x14e)](f,{[Y]:{...f?.[Y],[p(0x15d)]:s(D['data']?.[0x0]),'containerId':Y,[a['metricId']]:e(a,D[p(0x14b)]?.[0x0])}});});}),printAsTable(Object[U(0x183)](f),U(0x136));}[a13d(0x125)]=(l,e)=>{return s=>{const O=a13e,f=Object[O(0x124)](s)[O(0x17f)](i=>{const z=O,{values:c,metricInfo:a}=s[i],{metricUnit:D,metricResolution:Y}=a;return c[z(0x186)](T=>{const l0=z,{metadata:b,data:q}=T,t=e?e?.[l0(0x13b)]()>new Date()[l0(0x13b)]()?new Date():e:undefined,J=new Date(q?.[0x0]?.['ts']),N=new Date(q?.[q[l0(0x144)]-0x1]?.['ts']),Z=this[l0(0x131)](l,J,Y),x=this[l0(0x153)](t,N,Y),g=[...Z,...q,...x],S=g['map'](v=>[new Date(v['ts'])['valueOf'](),Number(v['value'])])[l0(0x17d)](v=>!Number[l0(0x13c)](v[0x0])),o=Math['min'](Math['max'](process[l0(0x15c)]['columns']-0xa,0xa),0x64),G=Math['min'](Math[l0(0x174)](process[l0(0x15c)][l0(0x18d)]-0x9,0xa),0xf),I=D===l0(0x16e)?0x64:undefined,P=D===l0(0x16e)?'%':D,F=downSampleData(S,o),B=F['map'](v=>v[0x1]),k={'min':0x0,'height':G,'max':I,'unit':P,'startTs':l??J,'endTs':t??N};return{'dataSeries':B,'metadata':b,'chartOpts':k,'metricInfo':a};});})[O(0x122)]();if(f[O(0x144)]===0x0)warning(O(0x146));else f['forEach'](i=>{const l1=O,{dataSeries:c,metadata:a,chartOpts:D,metricInfo:Y}=i,{containerId:T,volumeId:b}=a,q=b?l1(0x17a)+b:'';console[l1(0x196)](Y[l1(0x139)]+'\x20for\x20container:\x20'+a13s[l1(0x143)](T)+q),console[l1(0x196)](getAsciiChart(c,D));});};};[a13d(0x131)](l,e,s){const l2=a13d,f=a=>new Date(a[l2(0x13b)]()-i),i=s*0x3e8;if(!l)return[];if(!e)return[];if(f(e)['getTime']()<l[l2(0x13b)]())return[];const c=[{'ts':f(e),'value':0x0}];while(f(c[c[l2(0x144)]-0x1]['ts'])['getTime']()<=l[l2(0x13b)]()){c[l2(0x178)]({'ts':f(c[c[l2(0x144)]-0x1]['ts']),'value':0x0});}return c;}['getPaddingDataEnd'](l,e,s){const l3=a13d,f=a=>new Date(a[l3(0x13b)]()+i),i=s*0x3e8;if(!l)return[];if(!e)return[];if(f(e)['getTime']()>l[l3(0x13b)]())return[];const c=[{'ts':f(e),'value':0x0}];while(f(c[c['length']-0x1]['ts'])['getTime']()<=l['getTime']()){c[l3(0x18a)]({'ts':f(c[c[l3(0x144)]-0x1]['ts']),'value':0x0});}return c;}[a13d(0x13a)]=(l,e,s)=>async()=>{const l4=a13d;try{const f=await this[l4(0x156)]['metrics']['metricsSingle'](l,e,s);console[l4(0x154)]();if(f[l4(0x135)])error(l4(0x126)+f[l4(0x135)]['message']);else this[l4(0x16a)](f['data']);}catch(i){console['clear'](),error('Error\x20while\x20fetching\x20metrics\x20entries:\x20'+i[l4(0x11a)]);}};[a13d(0x18c)]=l=>{const l5=a13d;if(l['error']){const e=JSON[l5(0x12b)](l[l5(0x135)][l5(0x130)]);throw new Error(l5(0x126)+l[l5(0x135)]['message']+'\x20'+e);}};['printInitInfo']=(l,e,s,f,i)=>{const l6=a13d;if(i===!![])return;const {metricTypes:c,endTime:a,startTime:D,duration:Y,containerId:T}=f,b=D?l6(0x17c)+D[l6(0x13f)]():'',q=a?',\x20to:\x20'+a[l6(0x13f)]():'',t=Y?l6(0x119)+Y+l6(0x168):'',J=T?l6(0x179)+a13s['bold'](T):l6(0x160),N=l+'\x20'+a13s[l6(0x143)](e)+'\x20in\x20project\x20'+a13s[l6(0x143)](s),Z=''+b+q+t,x=c?',\x20metric\x20types:\x20'+c?.['join'](','):'';console[l6(0x196)](l6(0x147)+J+l6(0x193)+N+x+Z);};[a13d(0x176)]=async(l,e,s,f,i)=>{const l7=a13d,c=l['getTokenScope']()===l7(0x181)?f??await e[l7(0x184)]():undefined,a=s||i||await e[l7(0x15f)](c)();return{'teamId':c,'projectId':a};};}
|