@northflank/cli 0.10.14 → 0.10.16
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/api-helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(c,v){const a=a0v,j=c();while(!![]){try{const n=-parseInt(a(0xfa))/0x1+-parseInt(a(0xf1))/0x2+-parseInt(a(0xce))/0x3*(-parseInt(a(0xe5))/0x4)+parseInt(a(0xf4))/0x5+-parseInt(a(0xed))/0x6*(parseInt(a(0xef))/0x7)+-parseInt(a(0x104))/0x8+-parseInt(a(0xe7))/0x9*(parseInt(a(0xfe))/0xa);if(n===v)break;else j['push'](j['shift']());}catch(g){j['push'](j['shift']());}}}(a0c,0x2a14f));import{warning}from'./utils.js';function a0v(c,v){const j=a0c();return a0v=function(n,g){n=n-0xce;let r=j[n];return r;},a0v(c,v);}const defaultPaginationPageSize=0x64,getProjects=c=>async v=>{const A=a0v,j=await c[A(0xda)][A(0xdb)]({'options':{'per_page':defaultPaginationPageSize,'cursor':v?.[A(0xe1)]}});return{'elements':j[A(0xe2)]['projects'][A(0xdc)](n=>n['id']),'nextPageCursor':j['pagination']?.[A(0xfd)]};},getServices=(c,v)=>async j=>{const X=a0v,n=await c[X(0xda)][X(0xd6)]({'parameters':{'projectId':v},'options':{'per_page':defaultPaginationPageSize,'cursor':j?.['nextPageCursor']}});return{'elements':n['data']['services']['map'](g=>g['id']),'nextPageCursor':n['pagination']?.['cursor']};},getAddons=(c,v)=>async j=>{const y=a0v,n=await c[y(0xda)]['addons']({'parameters':{'projectId':v},'options':{'per_page':defaultPaginationPageSize,'cursor':j?.[y(0xe1)]}});return{'elements':n[y(0xe2)]['addons'][y(0xdc)](g=>g['id']),'nextPageCursor':n[y(0xea)]?.[y(0xfd)]};},getAddonBackups=(c,v,j)=>async n=>{const E=a0v,g=await c['get'][E(0xd3)][E(0xf3)]({'parameters':{'projectId':v,'addonId':j},'options':{'per_page':defaultPaginationPageSize,'cursor':n?.[E(0xe1)]}});return{'elements':g[E(0xe2)][E(0xf3)][E(0xdc)](r=>r['id']),'nextPageCursor':g['pagination']?.[E(0xfd)]};};export async function fetchResourceList(c,v,j,n,g,r){const B=a0v,H=undefined;try{if(c==='deploymentPlan'){const T=await v[B(0xda)][B(0xdd)]({}),S=T[B(0xe2)][B(0xdd)]['map'](Y=>Y?.[B(0xee)]??Y?.['id']);return{'choices':S,'defaultValue':H};}if(c===B(0xd5)&&!j?.[B(0xe6)](B(0xec))){const Y=await v[B(0xda)][B(0xf0)]({}),P=Y[B(0xe2)]['regions'][B(0xdc)](J=>J?.[B(0xee)]??J?.['id']);return{'choices':P,'defaultValue':H};}if(c==='projectId'){const J=await getProjects(v),{elements:s,nextPageCursor:W}=await J();return{'choices':s,'defaultValue':H,'pagination':{'nextPageCursor':W,'loadMore':J}};}if(c===B(0xd8)){const t=await v['list'][B(0xd0)]({}),m=t['data'][B(0xd8)][B(0xdc)](V=>V['id']);return{'choices':m,'defaultValue':H};}const u=g?.[B(0xe3)],k=c===B(0x103)||c==='id'&&r?.[B(0xe6)](B(0xd4));if(u!==undefined&&k){const V=await getServices(v,u),{elements:f,nextPageCursor:l}=await V();return{'choices':f,'defaultValue':H,'pagination':{'nextPageCursor':l,'loadMore':V}};}const C=j?.[B(0xe6)](B(0xd3));if(C){const Z=async F=>{const h=B,w=await v['get'][h(0xd3)][h(0xf5)]({});return w[h(0xe2)][h(0xd1)]?.['map'](x=>x[h(0x105)])['find'](x=>x['type']===F);};if(c===B(0x105)){const F=await v['get'][B(0xd3)][B(0xf5)]({}),w=F[B(0xe2)][B(0xd1)]?.['map'](x=>x['type']);return{'choices':w,'defaultValue':H};}if(c===B(0xff)&&n?.[B(0x105)]!==undefined){const x=(await Z(n['type']))?.[B(0xf8)],b=x!==undefined?[B(0xd9),...x]:undefined;return{'choices':b,'defaultValue':H};}if(c===B(0xd2)&&n?.[B(0x105)]!==undefined){const K=(await Z(n[B(0x105)]))?.[B(0xe8)]?.['storage'];return{'choices':K?.['options'],'defaultValue':K?.[B(0xf6)]};}if(c===B(0xeb)&&n?.[B(0x105)]!==undefined){const G=(await Z(n[B(0x105)]))?.[B(0xe8)]?.[B(0xeb)];return{'choices':G?.[B(0x100)],'defaultValue':G?.['default']};}}if(c===B(0xfb)&&g?.[B(0xe3)]!==undefined){const D=await getAddons(v,g?.[B(0xe3)]),{elements:I,nextPageCursor:N}=await D();return{'choices':I,'defaultValue':H,'pagination':{'nextPageCursor':N,'loadMore':D}};}if(c===B(0x101)&&g?.[B(0xe3)]!==undefined&&n?.[B(0xe9)]?.['addonId']!==undefined){const d=await getAddonBackups(v,g?.[B(0xe3)],n?.['source']?.['addonId']),{elements:i,nextPageCursor:M}=await d();return{'choices':i,'defaultValue':H,'pagination':{'nextPageCursor':M,'loadMore':d}};}const o=g?.[B(0xfb)]??n?.[B(0xfc)]?.[B(0xfb)];if(j?.[B(0xd7)]('')===B(0xcf)&&c===B(0xff)&&g?.[B(0xe3)]!==undefined&&o!==undefined){const {upgradeTo:L}=(await v['get']['addon'][B(0xff)]({'parameters':{'addonId':o,'projectId':g?.[B(0xe3)]}}))[B(0xe2)];if(L===undefined||L['length']<=0x0){warning(B(0xde));throw new Error();}return{'choices':L[B(0xdc)](p=>p[B(0xff)]),'defaultValue':H};}if(c===B(0xf2)){const p=await v[B(0xda)][B(0x102)]({}),O=p['data']['templates']['map'](q=>q?.['id']);return{'choices':O,'defaultValue':H};}if((j?.['includes'](B(0xe4))||j?.[B(0xe6)](B(0xe0)))&&c==='keyName'&&o!==undefined&&g?.[B(0xe3)]!==undefined){const q=(await v[B(0xdf)][B(0xd3)]['credentials']({'parameters':{'addonId':o,'projectId':g?.['projectId']}}))['data'];return{'choices':[...Object[B(0xf9)](q?.['envs'])??[],...Object[B(0xf9)](q?.[B(0xf7)])??[]]};}}catch(Q){}return{'choices':undefined,'defaultValue':H};}function a0c(){const R=['addon','owningObject','region','services','join','credentials','latest','list','projects','map','plans','No\x20available\x20versions\x20to\x20upgrade\x20to.','get','secret','nextPageCursor','data','projectId','secretLink','2236WdCbYK','includes','873TjqQWE','resources','source','pagination','replicas','logSink','12mIBXsV','internalId','85477hcmFhI','regions','21196GFrfGM','templateId','backups','1172905PkbNXJ','types','default','secrets','versions','keys','90314ioEaPG','addonId','addonDependencies','cursor','17890PcjqKf','version','options','backupId','templates','serviceId','239920yUcXou','type','1431XDMNfr','updateaddonversion','registryCredentials','addonTypes','storage'];a0c=function(){return R;};return a0c();}
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-deprecation
|
|
2
|
-
const a1a8=a1M;function a1M(a,M){const L=a1a();return a1M=function(r,w){r=r-0x18e;let h=L[r];return h;},a1M(a,M);}(function(a,M){const a7=a1M,L=a();while(!![]){try{const r=-parseInt(a7(0x25c))/0x1+parseInt(a7(0x1e8))/0x2*(parseInt(a7(0x20d))/0x3)+-parseInt(a7(0x1a1))/0x4*(parseInt(a7(0x1f7))/0x5)+parseInt(a7(0x228))/0x6+-parseInt(a7(0x22b))/0x7*(-parseInt(a7(0x268))/0x8)+-parseInt(a7(0x222))/0x9*(-parseInt(a7(0x26d))/0xa)+-parseInt(a7(0x1a8))/0xb;if(r===M)break;else L['push'](L['shift']());}catch(w){L['push'](L['shift']());}}}(a1a,0xe75e4));import{ApiClient,ApiClientFileContextProvider,GetApiEndpointPaginated}from'@northflank/js-client';import{Command}from'commander';import a1L from'fs';import a1r from'chalk';import{CliContext}from'./context/contextCommands.js';import{agent,assertContextExisting,asyncSequential,checkUpdate,customUserAgent,error,getCommand,proxyEnvsSet,warning}from'./utils.js';import*as a1w from'./defaults.js';import{InquirerHelper}from'./inquirer-helper.js';function a1a(){const as=['tag','credentialId','inv','replace','repo','backupId','4tHTFBE','startsWith','after','job','filter','noDefaults','-f,\x20--file\x20<file-path>','8348989NpcZOQ','cred','templateId','toUpperCase','tags','opt','askForTemplateRun','backup-destination','login','region','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','body','endsWith','askForBuild','adn','split','path','tpl','exitCode','projectId','rgn','portFwdCmd','load','--verbose','VERBOSE:\x20Request\x20body\x20->\x20','custom-columns=','clearLine','restores','find','Display\x20help\x20for\x20command','JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22','Unknown\x20input\x20file\x20type:\x20','resource','volume','brn','\x20Northflank\x20resources','includes','log','default','some','Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli','OPTIONAL:\x20',',\x20NF\x20error\x20id:\x20','secretId','Update\x20Northflank\x20','existsSync','Resource\x20was\x20not\x20deleted.','getMetricsCommand','type','service','argv','\x0a>\x20Token\x20permissions\x20required:\x20','file','addonId','API\x20request\x20failed\x0a\x09Message:\x20','backupDestinationId','serviceId','parse','stdout','retrievePayloadViaInteractiveCli','repos','verbose','volumes','jobId','10itBTlo','paginationArgs','askForService','loadAll','message','contextProvider','statusText','list','description','getCurrentJobName','error','addHelpText','hasNextPage','vol','concat','2590795XBoIiX','name','method','pln','count','Options\x20\x27loadAll\x27\x20can\x20not\x20be\x20combined\x20with\x20\x27page\x27\x20or\x20\x27cursor\x27','pipelineId','required','italic','option','domains','force','\x20--','clusterId','aliases','dmn','buildId','askConfirm','resourceTagId','-i,\x20--input\x20<resource-def>','requiredPermissions','project','490230BHBiXn','addon','delete','askForDomain','=>\x20running\x20command\x20with:\x20','askForSubdomain','northflank','call','plans','askForPipeline','logs','rawResponse','underline','VERBOSE:\x20Using\x20endpoint\x20->\x20','parseAsync','Northflank\x20cli\x20version:\x20','askForBackupDestination','toLowerCase','(HTTP\x20status\x20code:\x20','askForJobRun','bind','1786203VXrUiZ','../package.json','askForAddonBackup','trim','Manage\x20your\x20Northflank\x20resources\x20from\x20the\x20command\x20line','contexts','10112136OriYkD','request','-v,\x20--version','70WgkCzg','File\x20does\x20not\x20exist:\x20','enablePositionalOptions','jobs','getLogsCommand','Expecting\x20resource\x20input\x20with\x20\x27--input\x27\x20or\x20\x27--file\x27\x20argument','docsTagsPath','entries','Documentation:\x20','length',',\x20-','volumeId','version','toString','base','credentials','templateRunId','askGeneric','readFileSync','output','yaml','boolean','isArray','\x20properties','backup','File\x20to\x20load\x20resource\x20json\x20from','backup-destinations','domain','subdomainId','yml','there\x20are\x20more\x20rows,\x20load?','data','helpCommand','subdomainPath','get','invoice','subdomain','join','nonInteractiveEndpoint','map','templates','action','backups','getCurrentContext','askForLogSink','execCmd','VERBOSE:\x20HTTP_PROXY\x20or\x20HTTPS_PROXY\x20environment\x20variable\x20set:\x20tunnelling\x20traffic\x20through\x20HTTP\x20proxy.','domainId','scrt','1699069sUtRhl','getCurrentProjectName','quiet','downloadCmd','all','getOwnPropertyNames','template','api.','update','pagination','json','endpoints','343336NrVdsR','/docs/v1/api/','keys','runId','askForJob','50oJAnno','helpOption','deleteWarningPrompt','branch','services','addCommand','uploadCmd','logSinkId','pop','plan','commands','url','page','isPaginatedEndpoint','askForTag'];a1a=function(){return as;};return a1a();}import{consoleFormat,handleJsonOutput,handleYamlOutput,printAsTable}from'./formatting/console-format-helpers.js';import{getCommandOverview}from'./formatting/command-overview.js';import{CliPortForward}from'./port-forward/index.js';import{CliExec}from'./exec/index.js';import{CliLogs}from'./logs/index.js';import{CliMetrics}from'./metrics/index.js';import{CliFileCopy}from'./copy/index.js';import{isEqual,has,set,kebabCase,upperFirst,isString,omit}from'lodash-es';import a1h from'js-yaml';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta[a1a8(0x197)]),__dirname=dirname(__filename),pgk=JSON['parse'](readFileSync(join(__dirname,a1a8(0x223)),'utf-8'));export const getProgram=a=>{const a9=a1a8,M=new Command(a9(0x213));M['description'](a9(0x226)),M[a9(0x22d)](!![]),M[a9(0x237)](a9(0x21c)+a1r[a9(0x219)](pgk['version']),a9(0x22a),a9(0x1d0));const L=new ApiClient(a,{'throwErrorOnHttpErrorCode':![],'customUserAgent':customUserAgent,'agent':agent}),r=new CliContext(L,agent),w=new CliPortForward(a,agent),h=new CliExec(a,agent),Y=new CliFileCopy(a,agent),C=new CliLogs(a,agent),i=new CliMetrics(a,agent);return M[a9(0x191)](w[a9(0x1bd)]),M['addCommand'](h[a9(0x258)]),M[a9(0x191)](Y[a9(0x25f)]),M[a9(0x191)](Y[a9(0x192)]),M[a9(0x191)](r[a9(0x1b0)]),M[a9(0x191)](r[a9(0x227)]),generateCommands(L,L[a9(0x267)],M,C,i),M[a9(0x191)](getCommandOverview(M)),M[a9(0x24b)]('help\x20[command]','Display\x20help\x20for\x20command'),M[a9(0x26e)](undefined,a9(0x1c5)),M;};((async()=>{const aa=a1a8;try{const a=new ApiClientFileContextProvider();await checkUpdate(a);const M=getProgram(a);await M[aa(0x21b)](process[aa(0x1da)]);}catch(L){error(aa(0x1b2)+L['message']),process[aa(0x1da)][aa(0x1c4)](r=>r===aa(0x1bf))&&console['log'](L),process[aa(0x1ba)]=0x1;}})());function isListCommand(a){const aM=a1a8,M=[[aM(0x24d),aM(0x20e),aM(0x255)],['get','job','runs']];return a['find'](L=>L===aM(0x1ef))||M[aM(0x1cf)](L=>isEqual(a,L));}function generateCommands(a,M,L,r,w,h=a1w['defaults'],Y=[]){const aL=a1a8,C=new InquirerHelper(new ApiClient(a[aL(0x1ed)],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':agent}));function i(O,H){const ar=aL;return O[ar(0x1fe)]!==![]&&H===undefined;}function x(O,H){const aw=aL,{opt:t,name:Z}=O,f=t[aw(0x1ce)],B=i(t,f),s=b=>b[aw(0x234)]>0x1?'--'+b:'-'+b,A=t?.['alias'],I=A?Array[aw(0x241)](A)?'-'+A?.[aw(0x252)](b=>s(b))['join'](aw(0x235))+',':''+s(A):'',m=B?'':aw(0x1d1),R=typeof t[aw(0x1d8)]===aw(0x240)||t['type']===aw(0x240)?I+aw(0x203)+Z:I+'\x20--'+Z+'\x20<'+Z[aw(0x1ab)]()+'>',q=m+t[aw(0x1f0)];H[aw(0x200)](R[aw(0x225)](),q,f);}function l(O,H){const ah=aL;if(H[ah(0x196)][ah(0x1cf)](t=>t[ah(0x1f8)]()===ah(0x217)))return;isEqual(O,['get','service'])&&(H[ah(0x191)](r['getLogsCommand'](ah(0x1d9))),H[ah(0x191)](w[ah(0x1d7)](ah(0x1d9))),H['addCommand'](r['getLogsCommand']('service',!![])),H['addCommand'](w[ah(0x1d7)]('service',!![]))),isEqual(O,[ah(0x24d),ah(0x1a4)])&&(H[ah(0x191)](r[ah(0x22f)]('job')),H['addCommand'](w[ah(0x1d7)]('job')),H['addCommand'](r[ah(0x22f)](ah(0x1a4),!![])),H['addCommand'](w[ah(0x1d7)](ah(0x1a4),!![]))),isEqual(O,[ah(0x24d),ah(0x20e)])&&(H['addCommand'](r['getLogsCommand'](ah(0x20e))),H[ah(0x191)](w[ah(0x1d7)](ah(0x20e)))),isEqual(O,[ah(0x24d),ah(0x20e),ah(0x243)])&&H[ah(0x191)](r['getLogsCommand']('addon',![],!![])),isEqual(O,[ah(0x24d),ah(0x20e),ah(0x1c3)])&&H[ah(0x191)](r[ah(0x22f)](ah(0x20e),![],!![],!![]));}return Object[aL(0x261)](h)['forEach'](O=>{const aY=aL,H=M[O],t=h[O],Z=Y[aY(0x1f6)]([O]);function f(v,T){const aC=aY,V=Object[aC(0x261)](v||{});V[aC(0x252)](n=>{return{'name':n,'opt':v[n]};})['sort']((n,e)=>!i(n[aC(0x1ad)])?!i(e['opt'])?0x0:0x1:-0x1)['forEach'](n=>{x(n,T);});}function B(v,T){const ai=aY,V=[[ai(0x20c),'projects','prj'],[ai(0x1d9),ai(0x190),'svc'],[ai(0x23a),'credential',ai(0x1a9)],['addon','addons',ai(0x1b6)],[ai(0x1a4),ai(0x22e)],[ai(0x195),ai(0x215),ai(0x1fa)],[ai(0x1b1),'regions',ai(0x1bc)],[ai(0x246),ai(0x201),ai(0x206)],['secret','secrets',ai(0x25b)],[ai(0x1e6),ai(0x1c9),ai(0x1f5)],['branches',ai(0x18f),ai(0x1ca)],[ai(0x24e),'invoices',ai(0x19d)],[ai(0x262),ai(0x253),ai(0x1b9)],[ai(0x1e4),'repository','repositories',ai(0x19f)],[ai(0x1af),ai(0x245)],[ai(0x19b),ai(0x1ac)]],n=V[ai(0x1c4)](e=>e[ai(0x1cc)](T));if(n!==undefined)v[ai(0x205)](n[ai(0x1a5)](e=>e!==T));}async function s(v){const ax=aY,T={},{contextProvider:V}=a,n=Z[ax(0x1cc)](ax(0x20f)),e=v[ax(0x1a6)]===!![];async function p(y,g,X){const al=ax;if(has(t['opt']?.[al(0x1b8)]??{},y)){const P=!e&&!n&&X?X():undefined,Q=v[y]||P||await g();set(T,y,Q);}}return await asyncSequential(Object[ax(0x232)](t[ax(0x1ad)]?.[ax(0x1b8)]??{}),async([y,g])=>{const ao=ax,X=T?.['projectId'],P=T?.['templateId'];switch(y){case ao(0x1bb):return await p(ao(0x1bb),C['askForProject'][ao(0x221)](C),V[ao(0x25d)]['bind'](V));case'serviceId':return await p(ao(0x1e0),C[ao(0x1ea)](X)[ao(0x221)](C),V['getCurrentServiceName'][ao(0x221)](V));case ao(0x1dd):return await p(ao(0x1dd),C['askForAddon'](X)[ao(0x221)](C));case ao(0x1e7):return await p(ao(0x1e7),C[ao(0x26c)](X)[ao(0x221)](C),V[ao(0x1f1)]['bind'](V));case ao(0x26b):return await p('runId',C[ao(0x220)](T['jobId'],X,![])[ao(0x221)](C));case'secretId':return await p(ao(0x1d3),C['askForSecret'](X)[ao(0x221)](C));case'domain':case ao(0x25a):return await p(ao(0x246),C[ao(0x210)]['bind'](C));case'credentialId':return await p(ao(0x19c),C['askForCredentials']['bind'](C));case ao(0x236):return await p(ao(0x236),C['askForVolume'](X)[ao(0x221)](C));case ao(0x24f):return await p(ao(0x24f),C[ao(0x212)](T[ao(0x246)])['bind'](C));case ao(0x247):return await p(ao(0x247),C['askForSubdomain'](T[ao(0x25a)])[ao(0x221)](C));case ao(0x24c):return await p('subdomainPath',C['askForSubdomainPath'](T[ao(0x246)],T[ao(0x24f)]??T[ao(0x247)])[ao(0x221)](C));case ao(0x1a0):return await p(ao(0x1a0),C[ao(0x224)](X,T['addonId'])[ao(0x221)](C));case ao(0x207):return await p(ao(0x207),C[ao(0x1b5)](X,T[ao(0x1e0)],T['jobId'])[ao(0x221)](C));case ao(0x1aa):return await p('templateId',C['askForTemplate']()[ao(0x221)](C));case ao(0x23b):return await p(ao(0x23b),C[ao(0x1ae)](P)[ao(0x221)](C));case'logSinkId':return await p(ao(0x193),C[ao(0x257)]()[ao(0x221)](C));case ao(0x1fd):return await p(ao(0x1fd),C[ao(0x216)](X)[ao(0x221)](C));case ao(0x209):return await p('resourceTagId',C[ao(0x19a)]()[ao(0x221)](C));case ao(0x1df):return await p(ao(0x1df),C[ao(0x21d)]()['bind'](C));case ao(0x204):return await p(ao(0x204),C['askForClusterId']()[ao(0x221)](C));default:return await p(y,C[ao(0x23c)](y,g?.[ao(0x1f0)])['bind'](C));}}),T;}async function A(v){const aO=aY,T={},V=t[aO(0x1ad)]?.[aO(0x199)]?a1w[aO(0x1e9)]:{},n={...t[aO(0x1ad)]?.['query']??{},...V},e=Object[aO(0x26a)](n)[aO(0x1a5)](p=>p!==aO(0x1eb));return await asyncSequential(e,async p=>{if(v[p]!==undefined)return set(T,p,v[p]);}),T;}function I(){const aH=aY;switch(Z[0x0]){case aH(0x24d):return'Get\x20information\x20about\x20Northflank\x20'+(Z[0x1]||aH(0x1c8))+'s';case aH(0x264):return aH(0x1d4)+(Z[0x1]||aH(0x1c8))+aH(0x242);default:return upperFirst(O)+aH(0x1cb);}}function m(v,T){const at=aY;if(!T){const Q=getCommand()[at(0x1f8)](kebabCase(O))['description'](I());return B(Q,O),Q;}const V=v?.[at(0x20b)]?a1r[at(0x1ff)](at(0x1db)+v[at(0x20b)]):'',n=a['contextProvider'][at(0x256)](),e=n!==undefined&&t?.[at(0x1ad)]?.['docsTagsPath']!==undefined,p=n?.['host'][at(0x19e)](at(0x263),''),y=e?at(0x233)+p+at(0x269)+t?.[at(0x1ad)]?.[at(0x231)]:'',g=v?.[at(0x1f0)]||'',X=getCommand(!![])[at(0x1f8)](kebabCase(O))['description'](g)[at(0x1f3)](at(0x1a3),[V,y][at(0x250)]('\x0a'));B(X,O);(t[at(0x1ad)]?.[at(0x1b3)]||t['opt']?.['nonInteractiveEndpoint'])&&(X['option'](at(0x1a7),at(0x244)),X[at(0x200)](at(0x20a),at(0x1c6)));f(t[at(0x1ad)]?.[at(0x1b8)],X),f(t['opt']?.['query'],X);const P=t['opt']?.[at(0x199)];return P&&f(a1w['paginationArgs'],X),f(t[at(0x1ad)]?.[at(0x239)],X),X[at(0x254)](async()=>{const aZ=at;assertContextExisting(a);const d=X['opts']();d?.[aZ(0x1e5)]&&proxyEnvsSet&&warning(aZ(0x259));const u=d[aZ(0x198)]!==undefined||d['cursor']!==undefined;if(d[aZ(0x1eb)]===!![]&&u)throw new Error(aZ(0x1fc));const J=d?.[aZ(0x23e)],U=J===aZ(0x266),W=J===aZ(0x23f)||J===aZ(0x248),E=await s(d);C['setPathVars'](E);const N=await A(d),S=Object['keys'](t['opt']?.['path']??{})[aZ(0x252)](K=>K+'='+a1r['green'](E[K]))[aZ(0x250)](',\x20');if(S[aZ(0x234)]>0x0&&!U&&!W){const K=aZ(0x211)+S;console[aZ(0x1cd)](K);}const G=t[aZ(0x1ad)]?.[aZ(0x1b3)]||t[aZ(0x1ad)]?.[aZ(0x251)]?await o(d,t,Z):undefined;if(!d[aZ(0x202)]&&Z['includes'](aZ(0x20f))&&!await C[aZ(0x18e)]()){warning(aZ(0x1d6));return;}const D=P&&(d['loadAll']||(d[aZ(0x23e)]===aZ(0x266)||d[aZ(0x23e)]===aZ(0x23f))&&!u);let k=D&&H instanceof GetApiEndpointPaginated?await H[aZ(0x260)]({'parameters':E,'options':N,'data':G}):await H[aZ(0x214)]({'parameters':E,'options':{...N},'data':G});if(d?.[aZ(0x1e5)]){const j=k[aZ(0x229)];console['log'](aZ(0x21a)+j[aZ(0x1f9)][aZ(0x1ab)]()+':'+j[aZ(0x197)]),G!==undefined&&console['log'](aZ(0x1c0)+a1r[aZ(0x1ff)](JSON['stringify'](G)));}if(k[aZ(0x1f2)]){const {details:z,id:a0,message:a1,status:a2}=k['error'],a3=z?'\x0a\x09details\x20:'+JSON['stringify'](z):'',a4=a0?aZ(0x1d2)+a0:'',a5=aZ(0x21f)+a2+a4+')';throw new Error(aZ(0x1de)+a1+'\x20'+a5+a3);}let c=0x0;printCallResult(d,U,k[aZ(0x24a)],W,Z,J,![],c,k[aZ(0x218)][aZ(0x1ee)]);if(!d[aZ(0x25e)]&&!D&&!u&&k[aZ(0x265)]?.[aZ(0x1f4)])while(k['pagination']?.[aZ(0x1f4)]){const a6=await C[aZ(0x208)](aZ(0x249));if(a6)process[aZ(0x1e2)]['moveCursor'](0x0,-0x1),process['stdout'][aZ(0x1c2)](0x1),c+=k[aZ(0x265)][aZ(0x1fb)],k=await k[aZ(0x265)]['getNextPage'](),printCallResult(d,U,k[aZ(0x24a)],W,Z,J,!![],c,k['rawResponse'][aZ(0x1ee)]);else return;}}),X;}const R=has(t,aY(0x1ad)),q=H,b=m(q,R);l(Z,b),L[aY(0x191)](b);const F=omit(t,aY(0x1ad));Object['keys'](F)[aY(0x234)]>0x0&&generateCommands(a,H,b,r,w,F,Z);});async function o(O,H,t){const af=aL,{input:Z,file:f}=O;if(Z!==undefined)try{return JSON[af(0x1e1)](Z);}catch(B){try{return a1h['load'](Z);}catch(s){throw new Error('Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.');}}if(f!==undefined){if(!a1L[af(0x1d5)](f))throw new Error(af(0x22c)+f);const A=a1L[af(0x23d)](f)[af(0x238)]();let I;try{if(isString(A)){if(O['file'][af(0x1b4)]('.json'))I=JSON[af(0x1e1)](A);else{if(O[af(0x1dc)][af(0x1b4)]('.yaml')||O[af(0x1dc)][af(0x1b4)]('yml'))I=a1h[af(0x1be)](A);else throw new Error(af(0x1c7)+O[af(0x1dc)][af(0x1b7)]('.')[af(0x194)]());}}else I=A;return I;}catch(m){throw new Error('Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20'+m[af(0x1ec)]);}}if(H?.[af(0x1ad)]?.['nonInteractiveEndpoint'])throw new Error(af(0x230));return await C[af(0x1e3)](H,{'cmdPath':t,'skipValidation':O['skipValidation']});}}const printCallResult=(a,M,L,r,w,h,Y,C,i)=>{const aB=a1a8;if(!a?.[aB(0x25e)]){if(M)handleJsonOutput(a?.[aB(0x23e)],L);else{if(r)handleYamlOutput(a?.[aB(0x23e)],L);else{if(isListCommand(w)){const x=h?.[aB(0x1a2)](aB(0x1c1))?h[aB(0x19e)](aB(0x1c1),'')[aB(0x1b7)](',')[aB(0x252)](t=>t[aB(0x21e)]()):undefined,l=w[w[aB(0x234)]-0x1],o=''+l+(l[aB(0x1b4)]('s')?'':'s'),O=upperFirst(o),H=has(L,o)?L[o]:L;printAsTable(H,O,x,Y,C);}else console['log'](consoleFormat(L,i));}}}};
|
|
2
|
+
const a1c8=a1v;(function(c,v){const c7=a1v,j=c();while(!![]){try{const n=-parseInt(c7(0x9d))/0x1*(-parseInt(c7(0x116))/0x2)+parseInt(c7(0x77))/0x3*(parseInt(c7(0xf6))/0x4)+parseInt(c7(0x7a))/0x5+parseInt(c7(0x71))/0x6*(parseInt(c7(0xc0))/0x7)+parseInt(c7(0xd8))/0x8*(-parseInt(c7(0x86))/0x9)+-parseInt(c7(0x81))/0xa+-parseInt(c7(0x139))/0xb;if(n===v)break;else j['push'](j['shift']());}catch(g){j['push'](j['shift']());}}}(a1c,0x4d6a1));import{ApiClient,ApiClientFileContextProvider,GetApiEndpointPaginated}from'@northflank/js-client';import{Command}from'commander';function a1v(c,v){const j=a1c();return a1v=function(n,g){n=n-0x6e;let r=j[n];return r;},a1v(c,v);}import a1j from'fs';import a1n from'chalk';import{CliContext}from'./context/contextCommands.js';import{agent,assertContextExisting,asyncSequential,checkUpdate,customUserAgent,error,getCommand,proxyEnvsSet,warning}from'./utils.js';import*as a1g from'./defaults.js';import{InquirerHelper}from'./inquirer-helper.js';import{consoleFormat,handleJsonOutput,handleYamlOutput,printAsTable}from'./formatting/console-format-helpers.js';import{getCommandOverview}from'./formatting/command-overview.js';import{CliPortForward}from'./port-forward/index.js';import{CliExec}from'./exec/index.js';import{CliSsh}from'./ssh/index.js';import{CliLogs}from'./logs/index.js';import{CliMetrics}from'./metrics/index.js';import{CliFileCopy}from'./copy/index.js';import{isEqual,has,set,kebabCase,upperFirst,isString,omit}from'lodash-es';import a1r from'js-yaml';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta['url']),__dirname=dirname(__filename),pgk=JSON['parse'](readFileSync(join(__dirname,a1c8(0x127)),a1c8(0xba)));export const getProgram=c=>{const c9=a1c8,v=new Command(c9(0x149));v[c9(0x72)](c9(0xac)),v[c9(0x129)](!![]),v['version'](c9(0x122)+a1n[c9(0xf9)](pgk['version']),'-v,\x20--version','Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli');const j=new ApiClient(c,{'throwErrorOnHttpErrorCode':![],'customUserAgent':customUserAgent,'agent':agent}),n=new CliContext(j,agent),g=new CliPortForward(c,agent),r=new CliExec(c,agent),H=new CliSsh(c,agent),u=new CliFileCopy(c,agent),k=new CliLogs(c,agent),C=new CliMetrics(c,agent);return v[c9(0x10b)](g['portFwdCmd']),v[c9(0x10b)](r[c9(0xd7)]),v[c9(0x10b)](H['sshCmd']),v['addCommand'](u[c9(0x8b)]),v['addCommand'](u[c9(0xcc)]),v[c9(0x10b)](n[c9(0x120)]),v[c9(0x10b)](n[c9(0xd6)]),generateCommands(j,j[c9(0x9c)],v,k,C),v[c9(0x10b)](getCommandOverview(v)),v[c9(0xda)](c9(0x143),c9(0x82)),v[c9(0xc5)](undefined,c9(0x82)),v;};((async()=>{const cc=a1c8;try{const c=new ApiClientFileContextProvider();await checkUpdate(c);const v=getProgram(c);await v[cc(0x11f)](process[cc(0x140)]);}catch(j){error(cc(0x141)+j[cc(0xf7)]),process['argv'][cc(0x113)](n=>n===cc(0x91))&&console[cc(0x121)](j),process[cc(0xf0)]=0x1;}})());function isListCommand(c){const cv=a1c8,v=[[cv(0xd4),cv(0xa1),cv(0xed)],[cv(0xd4),cv(0xad),cv(0xcf)]];return c[cv(0x113)](j=>j===cv(0xca))||v['some'](j=>isEqual(c,j));}function generateCommands(c,v,j,n,g,r=a1g[a1c8(0x76)],H=[]){const cj=a1c8,u=new InquirerHelper(new ApiClient(c[cj(0x12e)],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':agent}));function k(S,Y){const cn=cj;return S[cn(0xde)]!==![]&&Y===undefined;}function C(S,Y){const cg=cj,{opt:e,name:P}=S,J=e[cg(0x90)],s=k(e,J),W=Z=>Z[cg(0x137)]>0x1?'--'+Z:'-'+Z,t=e?.['alias'],m=t?Array[cg(0x9e)](t)?'-'+t?.[cg(0x11c)](Z=>W(Z))[cg(0x123)](cg(0xa2))+',':''+W(t):'',V=s?'':cg(0x12a),f=typeof e[cg(0x128)]===cg(0x134)||e['type']===cg(0x134)?m+cg(0x7c)+P:m+'\x20--'+P+'\x20<'+P[cg(0x115)]()+'>',l=V+e['description'];Y[cg(0xfa)](f[cg(0xd3)](),l,J);}function o(S,Y){const cr=cj;if(Y[cr(0xb9)][cr(0x10d)](e=>e[cr(0x94)]()===cr(0x14d)))return;isEqual(S,[cr(0xd4),cr(0x142)])&&(Y[cr(0x10b)](n['getLogsCommand'](cr(0x142))),Y['addCommand'](g[cr(0xf3)](cr(0x142))),Y[cr(0x10b)](n[cr(0xe6)](cr(0x142),!![])),Y[cr(0x10b)](g[cr(0xf3)](cr(0x142),!![]))),isEqual(S,[cr(0xd4),cr(0xad)])&&(Y[cr(0x10b)](n[cr(0xe6)](cr(0xad))),Y[cr(0x10b)](g['getMetricsCommand'](cr(0xad))),Y[cr(0x10b)](n['getLogsCommand'](cr(0xad),!![])),Y['addCommand'](g['getMetricsCommand']('job',!![]))),isEqual(S,['get','addon'])&&(Y[cr(0x10b)](n[cr(0xe6)](cr(0xa1))),Y[cr(0x10b)](g[cr(0xf3)](cr(0xa1)))),isEqual(S,[cr(0xd4),cr(0xa1),'backup'])&&Y[cr(0x10b)](n['getLogsCommand'](cr(0xa1),![],!![])),isEqual(S,[cr(0xd4),cr(0xa1),cr(0x6e)])&&Y[cr(0x10b)](n[cr(0xe6)]('addon',![],!![],!![]));}return Object[cj(0x117)](r)[cj(0xaf)](S=>{const cH=cj,Y=v[S],e=r[S],P=H[cH(0x124)]([S]);function J(w,x){const cu=cH,b=Object[cu(0x117)](w||{});b[cu(0x11c)](K=>{return{'name':K,'opt':w[K]};})[cu(0xbe)]((K,G)=>!k(K[cu(0x110)])?!k(G[cu(0x110)])?0x0:0x1:-0x1)[cu(0xaf)](K=>{C(K,x);});}function s(w,x){const ck=cH,b=[[ck(0x12f),ck(0xea),ck(0xf2)],[ck(0x142),ck(0xa3),ck(0xb8)],[ck(0xa5),ck(0xcb),ck(0x13c)],[ck(0xa1),ck(0xdd),ck(0x130)],['job',ck(0x7f)],[ck(0x6f),ck(0xf8),ck(0xc4)],['region',ck(0xf4),ck(0xc3)],[ck(0x80),ck(0xe8),ck(0xe1)],['secret',ck(0x135),ck(0x106)],[ck(0x107),'volume',ck(0xc7)],[ck(0x78),'branch',ck(0xa7)],['invoice',ck(0x13b),ck(0x14a)],[ck(0xf5),ck(0xe4),ck(0x111)],[ck(0x125),ck(0xe0),ck(0x98),ck(0x74)],[ck(0x73),ck(0xe7)],[ck(0xa0),ck(0xfb)]],K=b[ck(0x113)](G=>G['includes'](x));if(K!==undefined)w[ck(0x132)](K[ck(0xee)](G=>G!==x));}async function W(w){const cC=cH,x={},{contextProvider:b}=c,K=P[cC(0x96)](cC(0x70)),G=w[cC(0x14b)]===!![];async function D(I,N,d){const co=cC;if(has(e[co(0x110)]?.[co(0xb3)]??{},I)){const i=!G&&!K&&d?d():undefined,M=w[I]||i||await N();set(x,I,M);}}return await asyncSequential(Object[cC(0x109)](e[cC(0x110)]?.[cC(0xb3)]??{}),async([I,N])=>{const cT=cC,d=x?.['projectId'],i=x?.[cT(0x147)];switch(I){case cT(0xf1):return await D('projectId',u[cT(0x100)]['bind'](u),b[cT(0x14e)][cT(0x103)](b));case'serviceId':return await D('serviceId',u[cT(0xd2)](d)['bind'](u),b[cT(0xcd)]['bind'](b));case'addonId':return await D('addonId',u['askForAddon'](d)[cT(0x103)](u));case cT(0x13d):return await D('jobId',u[cT(0x101)](d)[cT(0x103)](u),b['getCurrentJobName']['bind'](b));case'runId':return await D(cT(0x9b),u[cT(0xd5)](x[cT(0x13d)],d,![])[cT(0x103)](u));case'secretId':return await D('secretId',u['askForSecret'](d)['bind'](u));case cT(0x80):case cT(0xe3):return await D('domain',u['askForDomain'][cT(0x103)](u));case cT(0xe9):return await D(cT(0xe9),u[cT(0x131)][cT(0x103)](u));case cT(0xaa):return await D(cT(0xaa),u[cT(0xfe)](d)[cT(0x103)](u));case cT(0xdb):return await D(cT(0xdb),u[cT(0x10c)](x[cT(0x80)])[cT(0x103)](u));case cT(0xb1):return await D(cT(0xb1),u[cT(0x10c)](x['domainId'])[cT(0x103)](u));case cT(0x83):return await D('subdomainPath',u['askForSubdomainPath'](x['domain'],x[cT(0xdb)]??x[cT(0xb1)])[cT(0x103)](u));case cT(0x11b):return await D(cT(0x11b),u[cT(0x144)](d,x[cT(0x114)])['bind'](u));case cT(0x138):return await D(cT(0x138),u[cT(0x8c)](d,x[cT(0xef)],x[cT(0x13d)])[cT(0x103)](u));case cT(0x147):return await D(cT(0x147),u[cT(0xab)]()[cT(0x103)](u));case cT(0x99):return await D(cT(0x99),u['askForTemplateRun'](i)[cT(0x103)](u));case cT(0x11a):return await D(cT(0x11a),u['askForLogSink']()[cT(0x103)](u));case cT(0x97):return await D(cT(0x97),u[cT(0xeb)](d)[cT(0x103)](u));case cT(0x13a):return await D(cT(0x13a),u['askForTag']()['bind'](u));case cT(0x146):return await D(cT(0x146),u[cT(0xb7)]()['bind'](u));case cT(0x136):return await D('clusterId',u[cT(0xd9)]()[cT(0x103)](u));default:return await D(I,u[cT(0x7b)](I,N?.[cT(0x72)])[cT(0x103)](u));}}),x;}async function t(w){const cS=cH,x={},b=e['opt']?.['isPaginatedEndpoint']?a1g[cS(0x79)]:{},K={...e[cS(0x110)]?.['query']??{},...b},G=Object['keys'](K)[cS(0xee)](D=>D!==cS(0xa6));return await asyncSequential(G,async D=>{if(w[D]!==undefined)return set(x,D,w[D]);}),x;}function m(){const cY=cH;switch(P[0x0]){case'get':return cY(0xa4)+(P[0x1]||'resource')+'s';case cY(0xdf):return cY(0x85)+(P[0x1]||'resource')+cY(0xec);default:return upperFirst(S)+cY(0xc9);}}function V(w,x){const ce=cH;if(!x){const M=getCommand()['name'](kebabCase(S))[ce(0x72)](m());return s(M,S),M;}const b=w?.[ce(0x14c)]?a1n[ce(0xfc)](ce(0x9f)+w[ce(0x14c)]):'',K=c[ce(0x12e)][ce(0xb4)](),G=K!==undefined&&e?.[ce(0x110)]?.[ce(0xb2)]!==undefined,D=K?.['host']['replace'](ce(0xd0),''),I=G?ce(0x87)+D+'/docs/v1/api/'+e?.[ce(0x110)]?.[ce(0xb2)]:'',N=w?.[ce(0x72)]||'',d=getCommand(!![])[ce(0x94)](kebabCase(S))[ce(0x72)](N)[ce(0x12b)]('after',[b,I][ce(0x123)]('\x0a'));s(d,S);(e[ce(0x110)]?.['body']||e[ce(0x110)]?.[ce(0x89)])&&(d[ce(0xfa)](ce(0x75),'File\x20to\x20load\x20resource\x20json\x20from'),d[ce(0xfa)]('-i,\x20--input\x20<resource-def>','JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22'));J(e[ce(0x110)]?.[ce(0xb3)],d),J(e[ce(0x110)]?.[ce(0xbd)],d);const i=e[ce(0x110)]?.[ce(0xbf)];return i&&J(a1g[ce(0x79)],d),J(e[ce(0x110)]?.['base'],d),d[ce(0xe5)](async()=>{const cP=ce;assertContextExisting(c);const L=d['opts']();L?.[cP(0x9a)]&&proxyEnvsSet&&warning('VERBOSE:\x20HTTP_PROXY\x20or\x20HTTPS_PROXY\x20environment\x20variable\x20set:\x20tunnelling\x20traffic\x20through\x20HTTP\x20proxy.');const p=L[cP(0xc6)]!==undefined||L[cP(0x11d)]!==undefined;if(L[cP(0xa6)]===!![]&&p)throw new Error(cP(0x13f));const O=L?.[cP(0x112)],q=O===cP(0x126),Q=O===cP(0xbc)||O===cP(0xce),a=await W(L);u[cP(0x148)](a);const A=await t(L),X=Object['keys'](e[cP(0x110)]?.[cP(0xb3)]??{})[cP(0x11c)](R=>R+'='+a1n[cP(0xc1)](a[R]))[cP(0x123)](',\x20');if(X[cP(0x137)]>0x0&&!q&&!Q){const R='=>\x20running\x20command\x20with:\x20'+X;console[cP(0x121)](R);}const y=e[cP(0x110)]?.[cP(0x102)]||e[cP(0x110)]?.[cP(0x89)]?await T(L,e,P):undefined;if(!L['force']&&P['includes'](cP(0x70))&&!await u[cP(0x7e)]()){warning('Resource\x20was\x20not\x20deleted.');return;}const E=i&&(L[cP(0xa6)]||(L['output']===cP(0x126)||L['output']===cP(0xbc))&&!p);let B=E&&Y instanceof GetApiEndpointPaginated?await Y[cP(0x118)]({'parameters':a,'options':A,'data':y}):await Y[cP(0x145)]({'parameters':a,'options':{...A},'data':y});if(L?.[cP(0x9a)]){const z=B[cP(0x10f)];console[cP(0x121)](cP(0xb6)+z['method'][cP(0x115)]()+':'+z['url']),y!==undefined&&console[cP(0x121)](cP(0xd1)+a1n['italic'](JSON[cP(0x12d)](y)));}if(B['error']){const {details:U,id:c0,message:c1,status:c2}=B[cP(0x133)],c3=U?cP(0x8d)+JSON['stringify'](U):'',c4=c0?cP(0xb5)+c0:'',c5=cP(0xa8)+c2+c4+')';throw new Error(cP(0xbb)+c1+'\x20'+c5+c3);}let h=0x0;printCallResult(L,q,B[cP(0xae)],Q,P,O,![],h,B[cP(0xc8)][cP(0x12c)]);if(!L[cP(0x13e)]&&!E&&!p&&B['pagination']?.[cP(0x105)])while(B[cP(0x92)]?.[cP(0x105)]){const c6=await u['askConfirm'](cP(0x84));if(c6)process['stdout'][cP(0xfd)](0x0,-0x1),process['stdout'][cP(0xa9)](0x1),h+=B[cP(0x92)][cP(0x93)],B=await B[cP(0x92)][cP(0x88)](),printCallResult(L,q,B[cP(0xae)],Q,P,O,!![],h,B[cP(0xc8)][cP(0x12c)]);else return;}}),d;}const f=has(e,'opt'),l=Y,Z=V(l,f);o(P,Z),j[cH(0x10b)](Z);const F=omit(e,cH(0x110));Object['keys'](F)[cH(0x137)]>0x0&&generateCommands(c,Y,Z,n,g,F,P);});async function T(S,Y,P){const cJ=cj,{input:J,file:s}=S;if(J!==undefined)try{return JSON['parse'](J);}catch(W){try{return a1r[cJ(0x10a)](J);}catch(t){throw new Error(cJ(0x119));}}if(s!==undefined){if(!a1j['existsSync'](s))throw new Error('File\x20does\x20not\x20exist:\x20'+s);const m=a1j[cJ(0xb0)](s)[cJ(0x108)]();let V;try{if(isString(m)){if(S['file'][cJ(0x10e)]('.json'))V=JSON[cJ(0x7d)](m);else{if(S['file']['endsWith'](cJ(0xe2))||S['file'][cJ(0x10e)](cJ(0xce)))V=a1r[cJ(0x10a)](m);else throw new Error(cJ(0xdc)+S['file'][cJ(0x8a)]('.')['pop']());}}else V=m;return V;}catch(f){throw new Error(cJ(0xc2)+f[cJ(0xf7)]);}}if(Y?.[cJ(0x110)]?.[cJ(0x89)])throw new Error(cJ(0x104));return await u['retrievePayloadViaInteractiveCli'](Y,{'cmdPath':P,'skipValidation':S[cJ(0x11e)]});}}const printCallResult=(c,v,j,n,g,r,H,u,k)=>{const cs=a1c8;if(!c?.[cs(0x13e)]){if(v)handleJsonOutput(c?.[cs(0x112)],j);else{if(n)handleYamlOutput(c?.['output'],j);else{if(isListCommand(g)){const C=r?.[cs(0x95)](cs(0x8e))?r[cs(0x8f)]('custom-columns=','')[cs(0x8a)](',')[cs(0x11c)](e=>e[cs(0xff)]()):undefined,o=g[g[cs(0x137)]-0x1],T=''+o+(o[cs(0x10e)]('s')?'':'s'),S=upperFirst(T),Y=has(j,T)?j[T]:j;printAsTable(Y,S,C,H,u);}else console[cs(0x121)](consoleFormat(j,k));}}}};function a1c(){const cW=['enablePositionalOptions','OPTIONAL:\x20','addHelpText','statusText','stringify','contextProvider','project','adn','askForCredentials','aliases','error','boolean','secrets','clusterId','length','buildId','1313818mjbKLO','resourceTagId','invoices','cred','jobId','quiet','Options\x20\x27loadAll\x27\x20can\x20not\x20be\x20combined\x20with\x20\x27page\x27\x20or\x20\x27cursor\x27','argv','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','service','help\x20[command]','askForAddonBackup','call','backupDestinationId','templateId','setPathVars','northflank','inv','noDefaults','requiredPermissions','logs','getCurrentProjectName','restores','plan','delete','174ilAFmW','description','backup-destination','repo','-f,\x20--file\x20<file-path>','defaults','484107AJHLof','branches','paginationArgs','756345bEVpDd','askGeneric','\x20--','parse','deleteWarningPrompt','jobs','domain','227830UXRKYG','Display\x20help\x20for\x20command','subdomainPath','there\x20are\x20more\x20rows,\x20load?','Update\x20Northflank\x20','1098Hflbuu','Documentation:\x20','getNextPage','nonInteractiveEndpoint','split','downloadCmd','askForBuild','\x0a\x09details\x20:','custom-columns=','replace','default','--verbose','pagination','count','name','startsWith','includes','pipelineId','repositories','templateRunId','verbose','runId','endpoints','130183MhRRdx','isArray','\x0a>\x20Token\x20permissions\x20required:\x20','tag','addon',',\x20-','services','Get\x20information\x20about\x20Northflank\x20','credentials','loadAll','brn','(HTTP\x20status\x20code:\x20','clearLine','volumeId','askForTemplate','Manage\x20your\x20Northflank\x20resources\x20from\x20the\x20command\x20line','job','data','forEach','readFileSync','subdomainId','docsTagsPath','path','getCurrentContext',',\x20NF\x20error\x20id:\x20','VERBOSE:\x20Using\x20endpoint\x20->\x20','askForBackupDestination','svc','commands','utf-8','API\x20request\x20failed\x0a\x09Message:\x20','yaml','query','sort','isPaginatedEndpoint','12194IWrTKc','green','Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20','rgn','pln','helpOption','page','vol','rawResponse','\x20Northflank\x20resources','list','credential','uploadCmd','getCurrentServiceName','yml','runs','api.','VERBOSE:\x20Request\x20body\x20->\x20','askForService','trim','get','askForJobRun','contexts','execCmd','10768lfRCUW','askForClusterId','helpCommand','subdomain','Unknown\x20input\x20file\x20type:\x20','addons','required','update','repository','dmn','.yaml','domainId','templates','action','getLogsCommand','backup-destinations','domains','credentialId','projects','askForPipeline','\x20properties','backups','filter','serviceId','exitCode','projectId','prj','getMetricsCommand','regions','template','4koEqLZ','message','plans','underline','option','tags','italic','moveCursor','askForVolume','toLowerCase','askForProject','askForJob','body','bind','Expecting\x20resource\x20input\x20with\x20\x27--input\x27\x20or\x20\x27--file\x27\x20argument','hasNextPage','scrt','volumes','toString','entries','load','addCommand','askForSubdomain','some','endsWith','request','opt','tpl','output','find','addonId','toUpperCase','4ZOLXuQ','getOwnPropertyNames','all','Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.','logSinkId','backupId','map','cursor','skipValidation','parseAsync','login','log','Northflank\x20cli\x20version:\x20','join','concat','repos','json','../package.json','type'];a1c=function(){return cW;};return a1c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a2M(a,M){const L=a2a();return a2M=function(r,w){r=r-0xd5;let h=L[r];return h;},a2M(a,M);}const a2q=a2M;(function(a,M){const R=a2M,L=a();while(!![]){try{const r=-parseInt(R(0x110))/0x1+parseInt(R(0xe0))/0x2+parseInt(R(0xf4))/0x3+-parseInt(R(0x15f))/0x4*(parseInt(R(0x15e))/0x5)+parseInt(R(0x15a))/0x6*(-parseInt(R(0xf2))/0x7)+-parseInt(R(0x15b))/0x8+parseInt(R(0x164))/0x9*(parseInt(R(0x13d))/0xa);if(r===M)break;else L['push'](L['shift']());}catch(w){L['push'](L['shift']());}}}(a2a,0x78793));import{ProxyAgent}from'proxy-agent';function a2a(){const D=['Change\x20the\x20default\x20service\x20in\x20the\x20current\x20local\x20context','italic','Failed\x20to\x20login\x20with\x20the\x20provided\x20token,\x20make\x20sure\x20to\x20use\x20a\x20valid\x20token\x20and\x20host.','timeout','Changed\x20current\x20context\x20to\x20','autologin-','Shows\x20detailed\x20information\x20about\x20current\x20context','updateToken','token','addContext','contexts','https://api.northflank.com','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','roleInternalId','-n,\x20--name\x20[NAME]','apiTokenLogin','search-list','askForService','No\x20context\x20available.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','override','service','Service\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','getCurrentName','project','--token-login','Update\x20token\x20for\x20current\x20context','Project\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','tokenLogin','Local\x20context\x20name\x20to\x20remove.','--host\x20[HOST]','useProjectId','3218970vTVKWB','fullUrl','sort','Override\x20existing\x20contexts\x20(this\x20will\x20remove\x20project\x20and\x20service\x20context)','getProjectName','list','\x20(current)','delete','Local\x20context\x20\x27','apiClient','No\x20context\x20available.\x20Please\x20use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','removeContext','bold','Bearer\x20','Shows\x20full\x20context\x20information\x20(including\x20tokens)','moveCursor','addCommand','Change\x20the\x20default\x20job\x20in\x20the\x20current\x20local\x20context','askForContext','--all','browser\x20login','all','agent','\x0aSuccessfully\x20logged\x20in\x20using\x20','getCurrentToken','Token\x20for\x20current\x20context\x20\x27','Use\x20service\x20with\x20id:','current','finally','78etdiAi','2346520gSAfit','use','Error\x20occured\x20during\x20browser\x20login:\x20','11685JZTQej','1084YCJJqd','useContext','Token\x20for\x20this\x20context.\x20When\x20set,\x20browser\x20login\x20is\x20not\x20used','askForJob','Switch\x20between\x20your\x20local\x20contexts','45gupqIV',':\x20\x0a\x20\x20Name:\x09\x09\x09','List\x20all\x20available\x20contexts','length','loginPrompt','No\x20current\x20context\x20set.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20one\x20or\x20\x27northflank\x20context\x20use\x27\x20to\x20select\x20an\x20existing\x20one.','askForProject','useJobId','Change\x20current\x20context\x20to\x20context\x20identified\x20by\x20this\x20name','Follow\x20the\x20steps\x20displayed\x20on\x20the\x20page\x20opened\x20in\x20the\x20browser\x20(URL\x20opened:\x20','show','browserLogin','534570iELDqf','valueOf','token\x20login','.\x20Using\x20fallback.','Change\x20the\x20default\x20project\x20in\x20the\x20current\x20local\x20context','stdout','browser-opened','login','Job\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','getInfo','getCurrentContext','dir','Remove\x20a\x20context','close','name','Use\x20job\x20with\x20id:','sanitiseHostname','GET','203707LBJNZR','alias','358356HAsOHY','verifyToken','Open\x20this\x20URL\x20in\x20your\x20browser\x20and\x20follow\x20the\x20steps:\x0a\x09','option','remove','\x20(api\x20host:\x20','map','replace','action','test','update-token','useServiceId','context','contextProvider',',\x20added\x20context\x20with\x20name\x20','sessionToken=********','use\x20from\x20now\x20on','tokenInternalId','Contexts','job','-t,\x20--token\x20[TOKEN]','log','defaultBaseUrl','Use\x20browser\x20login\x20but\x20only\x20print\x20URL\x20which\x20can\x20be\x20used\x20to\x20login','set-token','message','\x0a\x20\x20Default\x20Service:\x09','tokenPrompt','197808fNxRZc','prompt','\x0a\x20\x20Host:\x09\x09\x09','host','ctx','contextAvailable','getCurrentBaseUrl','loadContextWrapper','No\x20project\x20in\x20current\x20context.\x20Please\x20set\x20project\x20before\x20setting\x20a\x20project-scoped\x20resource','Failed\x20to\x20login\x20with\x20the\x20provided\x20token.\x20Token\x20was\x20not\x20changed','--do-not-open-browser','description','\x27\x20successfully\x20removed.','-i,\x20--id\x20[ID]'];a2a=function(){return D;};return a2a();}import a2L from'chalk';import{error,getCommand,retry,success,warning,decodeJwtPayload}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{printAsTable}from'../formatting/console-format-helpers.js';import{NorthflankApiBrowserLogin}from'../login/browser-login.js';import a2r from'node-fetch';import{set}from'lodash-es';import a2w from'inquirer';export class CliContext{[a2q(0x153)];[a2q(0x10a)];['apiClient'];['contexts'];[a2q(0xe7)];constructor(a,M=undefined,L=a2q(0x129)){const b=a2q;this['agent']=M,this[b(0x10a)]=L,this[b(0x146)]=a;const r=new InquirerHelper(a);this['login']=getCommand()['name'](b(0xe7))['description']('Connect\x20the\x20CLI\x20to\x20your\x20Northflank\x20account.')[b(0xf7)](b(0x136),'Use\x20manual\x20login\x20with\x20API\x20token',![])[b(0xf7)](b(0x11a),b(0x10b),![])[b(0xf7)](b(0x12c),'Name\x20for\x20login\x20context')[b(0xf7)](b(0x108),b(0x161))['option'](b(0x13b),'host\x20url\x20for\x20this\x20context',this[b(0x10a)])['option']('--override',b(0x140),![])[b(0xfc)](async H=>{const F=b;set(H,F(0x113),this[F(0xf0)](H[F(0x113)]));const t=H[F(0x139)]||H['token']!==undefined,{name:Z,host:f,token:B,override:s}=t?await this[F(0x12d)](H,r):await this[F(0xdf)](H,r);try{await this['apiClient'][F(0x101)][F(0x127)]({'name':Z,'host':f,'token':B},s);}catch(A){error(A[F(0x10d)]);return;}if(!await this[F(0xf5)]())error(F(0x120)),await this['apiClient']['contextProvider'][F(0x148)](Z);else{const I=t?F(0xe2):F(0x151),m=F(0x154)+I+F(0x102)+a2L[F(0x11f)](Z)+F(0xf9)+f+')';success(m);}}),this[b(0x128)]=getCommand()[b(0xee)](b(0x100))['description']('Retrieve\x20and\x20update\x20local\x20context\x20settings.')[b(0xf3)]('contexts')['alias'](b(0x114));const w=getCommand()[b(0xee)](b(0x142))['name']('ls')['description'](b(0xd6))[b(0xf7)](b(0x150),b(0x14b))[b(0xfc)](async H=>{const v=b;console['log'](a[v(0x101)][v(0xe9)]());const t=a[v(0x101)][v(0x117)]();if(H[v(0x152)]===!![]){console[v(0xeb)](t);return;}const Z=t[v(0x158)],f=t['contexts'][v(0x13f)]((B,s)=>B[v(0xee)]===Z?-0x1:s[v(0xee)]===Z?0x1:0x0)['map'](B=>{const T=v,s=Z===B[T(0xee)]?T(0x143):'';return{'Name':''+B['name']+s,'Host':B[T(0x113)],'Default\x20Project':B[T(0x135)]||'-','Default\x20Service':B[T(0x132)]||'-'};});printAsTable(f,v(0x106));}),h=getCommand()['name'](b(0xde))['description'](b(0x124))[b(0xfc)](async()=>{const V=b;console[V(0x109)](a['contextProvider'][V(0xe9)]());const H=a[V(0x101)][V(0xea)]();if(H===undefined){console[V(0x109)](V(0xd9));return;}const t=decodeJwtPayload(H[V(0x126)]),Z=H['host'];console[V(0x109)](a2L[V(0x149)]('Current\x20token\x20info')+V(0xd5)+H[V(0xee)]+V(0x112)+Z+'\x0a\x20\x20Default\x20Project:\x09'+(H['project']||'-')+V(0x10e)+(H[V(0x132)]||'-')+'\x0a\x20\x20Token\x20ID:\x09\x09'+(t?.[V(0x105)]||'-')+'\x0a\x20\x20Token\x20Role\x20ID:\x09'+(t?.[V(0x12b)]||'-')+V(0x12a));}),Y=getCommand();Y[b(0xee)](b(0x15c))[b(0x11b)](b(0x163))[b(0xf7)](b(0x12c),b(0xdc))[b(0xfc)](async H=>{const n=b,t=H?.['name']||await this[n(0x14f)]('use');await this['apiClient']['contextProvider'][n(0x160)](t),success(n(0x122)+t);});const C=b(0x11d),i=getCommand()[b(0xee)]('project')[b(0x11b)](b(0xe4))[b(0xf7)](C,b(0x138))[b(0xfc)](async H=>{const e=b,t=H?.['id']||await r[e(0xda)]();await this['apiClient'][e(0x101)][e(0x13c)](t),console[e(0x109)]('Use\x20project\x20with\x20id:',t);}),x=getCommand()['name'](b(0x132))[b(0x11b)](b(0x11e))[b(0xf7)](C,b(0x133))[b(0xfc)](async H=>{const p=b,t=H?.['id']||await r[p(0x12f)](this['getProjectName']())();console['log'](p(0x157),t),await this[p(0x146)][p(0x101)][p(0xff)](t);}),l=getCommand()[b(0xee)](b(0x107))[b(0x11b)](b(0x14e))['option'](C,b(0xe8))[b(0xfc)](async H=>{const y=b,t=H?.['id']||await r[y(0x162)](this[y(0x141)]())();console[y(0x109)](y(0xef),t),await this[y(0x146)][y(0x101)][y(0xdb)](t);});Y[b(0x14d)](i),Y[b(0x14d)](l),Y[b(0x14d)](x);const o=getCommand()[b(0xee)]('remove')[b(0xf3)](b(0x144))[b(0xf3)]('rm')['description'](b(0xec))['option'](C,b(0x13a))[b(0xfc)](async H=>{const g=b,t=H?.['id']||await this[g(0x14f)](g(0xf8)),Z=this[g(0x146)][g(0x101)]['getCurrentContext']()?.['name'];await this[g(0x146)][g(0x101)][g(0x148)](t),success(g(0x145)+t+g(0x11c));if(!this[g(0x115)]()){warning(g(0x130));return;}if(Z===t){const f=H?.[g(0xee)]||await this[g(0x14f)](g(0x104));await this[g(0x146)][g(0x101)][g(0x160)](f),success(g(0x122)+f);}}),O=getCommand()[b(0xee)](b(0xfe))[b(0xf3)](b(0x10c))[b(0x11b)](b(0x137))[b(0xf7)](b(0x108),'Token\x20for\x20this\x20context')[b(0xfc)](async H=>{const X=b,{contextProvider:t}=this['apiClient'],Z=H?.['token']||await r[X(0x10f)](),f=t['getCurrentToken']();await t[X(0x125)](Z);if(await this[X(0xf5)]())success(X(0x156)+t[X(0x134)]()+'\x27\x20successfully\x20updated.');else{if(f)await t[X(0x125)](f);error(X(0x119));}});this[b(0x128)][b(0x14d)](w),this[b(0x128)][b(0x14d)](h),this['contexts'][b(0x14d)](Y),this['contexts']['addCommand'](o),this[b(0x128)]['addCommand'](O);}async[a2q(0xdf)](a,M){const P=a2q,L=!a['doNotOpenBrowser'],r=a[P(0x113)]??this['defaultBaseUrl'],w=new NorthflankApiBrowserLogin(r,L,this['agent']);let h;w['on'](P(0xe6),({url:x})=>{const Q=P;if(L){const l=x[Q(0xfb)](/sessionToken=.*/,Q(0x103));console['log'](Q(0xdd)+l+')'),h=a2w[Q(0x111)]([{'type':'confirm','name':Q(0x13e),'message':'Display\x20full\x20URL\x20to\x20allow\x20opening\x20the\x20link\x20manually','default':![]}]),h['then'](o=>{const d=Q;process['stdout'][d(0x14c)](0x0,-0x1),process[d(0xe5)]['clearLine'](0x1),o[d(0x13e)]&&console['log'](d(0xf6)+x+'\x20');});}else console[Q(0x109)](Q(0xf6)+x+'\x20');});const {token:Y,contextName:C}=await w['startLogin']()['catch'](async x=>{const u=P;error(u(0x15d)+x[u(0x10d)]+u(0xe3));const l=await this[u(0x12d)](a,M);return{'token':l[u(0x126)],'contextName':l[u(0xee)]};})[P(0x159)](()=>{const J=P;if(h)h['ui'][J(0xed)]();}),i=a[P(0xee)]??C??P(0x123)+new Date()[P(0xe1)]();return{'name':i,'token':Y,'host':r,'override':a[P(0x131)]??![]};}[a2q(0xf0)]=a=>{const U=a2q;let M=a;return!/^https?:\/\//i[U(0xfd)](M)&&(M='https://'+M),M=M['replace'](/\/+$/,''),M;};async[a2q(0x12d)](a,M){const W=a2q,L=this[W(0x146)][W(0x101)]['loadContextWrapper']()[W(0x128)],{name:r,token:w,host:h,override:Y}=await M[W(0xd8)](a,L);return{'name':r,'token':w,'host':h,'override':Y};}[a2q(0x141)](){const E=a2q,a=this[E(0x146)][E(0x101)]['getCurrentProjectName']();if(a===undefined)throw new Error(E(0x118));return a;}async[a2q(0x14f)](a){const N=a2q;if(!this[N(0x115)]())throw new Error(N(0x147));const M=this[N(0x146)][N(0x101)][N(0x117)]()[N(0x128)][N(0xfa)](r=>r[N(0xee)]),L=M[N(0xd7)]>0x4?N(0x12e):N(0x142);return(await a2w[N(0x111)]([{'type':L,'name':N(0xee),'message':'Choose\x20the\x20context\x20to\x20'+a+':','choices':M}]))['name'];}['contextAvailable'](){const S=a2q;return this[S(0x146)]['contextProvider']['loadContextWrapper']()[S(0x128)][S(0xd7)]>0x0;}async[a2q(0xf5)](){const G=a2q;try{const a=this[G(0x146)]['contextProvider'][G(0x116)](),M=this['apiClient'][G(0x101)][G(0x155)](),L=a+'/v1/login',r={'Authorization':G(0x14a)+M},w=new ProxyAgent(),h=await retry(0x3)(async()=>a2r(L,{'method':G(0xf1),'signal':AbortSignal[G(0x121)](0xbb8),'headers':r,'agent':w}));if(h['ok'])return!![];return![];}catch(Y){return![];}}}
|
|
1
|
+
function a2v(c,v){const j=a2c();return a2v=function(n,g){n=n-0x12b;let r=j[n];return r;},a2v(c,v);}function a2c(){const B=['Failed\x20to\x20login\x20with\x20the\x20provided\x20token,\x20make\x20sure\x20to\x20use\x20a\x20valid\x20token\x20and\x20host.',',\x20added\x20context\x20with\x20name\x20','updateToken','useProjectId','getInfo','Remove\x20a\x20context','Error\x20occured\x20during\x20browser\x20login:\x20','description','then','login','startLogin','9EWxymM','useServiceId','Bearer\x20','loginPrompt','timeout','Token\x20for\x20this\x20context','--host\x20[HOST]','/v1/login','Use\x20manual\x20login\x20with\x20API\x20token','Job\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','tokenInternalId','Token\x20for\x20this\x20context.\x20When\x20set,\x20browser\x20login\x20is\x20not\x20used','confirm','getCurrentContext','Use\x20browser\x20login\x20but\x20only\x20print\x20URL\x20which\x20can\x20be\x20used\x20to\x20login','addCommand','12fSHcxh','Display\x20full\x20URL\x20to\x20allow\x20opening\x20the\x20link\x20manually','useJobId','getCurrentToken','stdout','https://api.northflank.com','catch','Retrieve\x20and\x20update\x20local\x20context\x20settings.','project','Contexts','loadContextWrapper','use\x20from\x20now\x20on','askForService','tokenPrompt','token','contextAvailable','Changed\x20current\x20context\x20to\x20','sanitiseHostname','\x20(current)','List\x20all\x20available\x20contexts','override','No\x20context\x20available.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','search-list','update-token','1066990VWJgnh','Shows\x20detailed\x20information\x20about\x20current\x20context','close','1161945jqlBhw','\x0a\x20\x20Host:\x09\x09\x09','all','Change\x20current\x20context\x20to\x20context\x20identified\x20by\x20this\x20name','useContext','dir','getCurrentName','valueOf','italic','Current\x20token\x20info','log','No\x20context\x20available.\x20Please\x20use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','set-token','browser-opened','prompt','Update\x20token\x20for\x20current\x20context','addContext','doNotOpenBrowser','sort','203IRCvCN','Use\x20project\x20with\x20id:','.\x20Using\x20fallback.','\x27\x20successfully\x20updated.','5042zwAfRv','list','verifyToken','job','option','replace','roleInternalId','-n,\x20--name\x20[NAME]','bold','Connect\x20the\x20CLI\x20to\x20your\x20Northflank\x20account.','No\x20project\x20in\x20current\x20context.\x20Please\x20set\x20project\x20before\x20setting\x20a\x20project-scoped\x20resource','map','\x0a\x20\x20Default\x20Service:\x09','service','apiTokenLogin','defaultBaseUrl','285716XTwkhU','name','alias','contextProvider','Failed\x20to\x20login\x20with\x20the\x20provided\x20token.\x20Token\x20was\x20not\x20changed','getCurrentProjectName','apiClient','\x20(api\x20host:\x20','ctx','\x27\x20successfully\x20removed.','Change\x20the\x20default\x20project\x20in\x20the\x20current\x20local\x20context','2841042veSWvA','finally','Use\x20job\x20with\x20id:','use','askForContext','Change\x20the\x20default\x20job\x20in\x20the\x20current\x20local\x20context','187432mTtnKK','302kRyanl','test','Shows\x20full\x20context\x20information\x20(including\x20tokens)','Service\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','getCurrentBaseUrl','Follow\x20the\x20steps\x20displayed\x20on\x20the\x20page\x20opened\x20in\x20the\x20browser\x20(URL\x20opened:\x20','--override','Use\x20service\x20with\x20id:','agent','browser\x20login','askForProject','browserLogin','context','\x0a\x20\x20Token\x20Role\x20ID:\x09','host','\x0a\x20\x20Token\x20ID:\x09\x09','message','action','\x0a\x20\x20Default\x20Project:\x09','getProjectName','Open\x20this\x20URL\x20in\x20your\x20browser\x20and\x20follow\x20the\x20steps:\x0a\x09','show','--token-login','remove','contexts','Project\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','https://','GET','7773832FfncbF','-t,\x20--token\x20[TOKEN]'];a2c=function(){return B;};return a2c();}const a2Z=a2v;(function(c,v){const l=a2v,j=c();while(!![]){try{const n=parseInt(l(0x182))/0x1*(-parseInt(l(0x1a4))/0x2)+-parseInt(l(0x150))/0x3*(parseInt(l(0x192))/0x4)+-parseInt(l(0x16b))/0x5+parseInt(l(0x19d))/0x6+-parseInt(l(0x17e))/0x7*(-parseInt(l(0x1a3))/0x8)+-parseInt(l(0x140))/0x9*(parseInt(l(0x168))/0xa)+parseInt(l(0x133))/0xb;if(n===v)break;else j['push'](j['shift']());}catch(g){j['push'](j['shift']());}}}(a2c,0x739aa));import{ProxyAgent}from'proxy-agent';import a2j from'chalk';import{error,getCommand,retry,success,warning,decodeJwtPayload}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{printAsTable}from'../formatting/console-format-helpers.js';import{NorthflankApiBrowserLogin}from'../login/browser-login.js';import a2n from'node-fetch';import{set}from'lodash-es';import a2g from'inquirer';export class CliContext{[a2Z(0x1ac)];[a2Z(0x191)];[a2Z(0x198)];[a2Z(0x12f)];[a2Z(0x13e)];constructor(c,v=undefined,j=a2Z(0x155)){const F=a2Z;this[F(0x1ac)]=v,this[F(0x191)]=j,this['apiClient']=c;const n=new InquirerHelper(c);this['login']=getCommand()[F(0x193)](F(0x13e))[F(0x13c)](F(0x18b))[F(0x186)](F(0x12d),F(0x148),![])[F(0x186)]('--do-not-open-browser',F(0x14e),![])[F(0x186)]('-n,\x20--name\x20[NAME]','Name\x20for\x20login\x20context')[F(0x186)](F(0x134),F(0x14b))[F(0x186)](F(0x146),'host\x20url\x20for\x20this\x20context',this['defaultBaseUrl'])[F(0x186)](F(0x1aa),'Override\x20existing\x20contexts\x20(this\x20will\x20remove\x20project\x20and\x20service\x20context)',![])[F(0x1b5)](async Y=>{const w=F;set(Y,w(0x1b2),this[w(0x161)](Y[w(0x1b2)]));const P=Y['tokenLogin']||Y[w(0x15e)]!==undefined,{name:J,host:s,token:W,override:t}=P?await this[w(0x190)](Y,n):await this[w(0x1af)](Y,n);try{await this[w(0x198)]['contextProvider'][w(0x17b)]({'name':J,'host':s,'token':W},t);}catch(m){error(m[w(0x1b4)]);return;}if(!await this[w(0x184)]())error(w(0x135)),await this[w(0x198)]['contextProvider']['removeContext'](J);else{const V=P?'token\x20login':w(0x1ad),f='\x0aSuccessfully\x20logged\x20in\x20using\x20'+V+w(0x136)+a2j[w(0x173)](J)+w(0x199)+s+')';success(f);}}),this[F(0x12f)]=getCommand()[F(0x193)](F(0x1b0))[F(0x13c)](F(0x157))[F(0x194)](F(0x12f))['alias'](F(0x19a));const g=getCommand()['name'](F(0x183))[F(0x193)]('ls')[F(0x13c)](F(0x163))[F(0x186)]('--all',F(0x1a6))[F(0x1b5)](async Y=>{const x=F;console[x(0x175)](c['contextProvider']['getInfo']());const e=c[x(0x195)][x(0x15a)]();if(Y[x(0x16d)]===!![]){console[x(0x170)](e);return;}const P=e['current'],J=e[x(0x12f)][x(0x17d)]((s,W)=>s['name']===P?-0x1:W[x(0x193)]===P?0x1:0x0)[x(0x18d)](s=>{const b=x,W=P===s['name']?b(0x162):'';return{'Name':''+s[b(0x193)]+W,'Host':s['host'],'Default\x20Project':s[b(0x158)]||'-','Default\x20Service':s[b(0x18f)]||'-'};});printAsTable(J,x(0x159));}),r=getCommand()[F(0x193)](F(0x12c))[F(0x13c)](F(0x169))[F(0x1b5)](async()=>{const K=F;console[K(0x175)](c[K(0x195)][K(0x139)]());const Y=c[K(0x195)][K(0x14d)]();if(Y===undefined){console[K(0x175)]('No\x20current\x20context\x20set.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20one\x20or\x20\x27northflank\x20context\x20use\x27\x20to\x20select\x20an\x20existing\x20one.');return;}const e=decodeJwtPayload(Y['token']),P=Y[K(0x1b2)];console['log'](a2j[K(0x18a)](K(0x174))+':\x20\x0a\x20\x20Name:\x09\x09\x09'+Y[K(0x193)]+K(0x16c)+P+K(0x1b6)+(Y[K(0x158)]||'-')+K(0x18e)+(Y['service']||'-')+K(0x1b3)+(e?.[K(0x14a)]||'-')+K(0x1b1)+(e?.[K(0x188)]||'-')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20');}),H=getCommand();H[F(0x193)](F(0x1a0))[F(0x13c)]('Switch\x20between\x20your\x20local\x20contexts')['option'](F(0x189),F(0x16e))[F(0x1b5)](async Y=>{const G=F,e=Y?.[G(0x193)]||await this[G(0x1a1)]('use');await this['apiClient'][G(0x195)][G(0x16f)](e),success(G(0x160)+e);});const u='-i,\x20--id\x20[ID]',k=getCommand()['name']('project')[F(0x13c)](F(0x19c))[F(0x186)](u,F(0x130))[F(0x1b5)](async Y=>{const D=F,e=Y?.['id']||await n[D(0x1ae)]();await this['apiClient'][D(0x195)][D(0x138)](e),console[D(0x175)](D(0x17f),e);}),C=getCommand()[F(0x193)]('service')[F(0x13c)]('Change\x20the\x20default\x20service\x20in\x20the\x20current\x20local\x20context')[F(0x186)](u,F(0x1a7))[F(0x1b5)](async Y=>{const I=F,e=Y?.['id']||await n[I(0x15c)](this[I(0x1b7)]())();console[I(0x175)](I(0x1ab),e),await this['apiClient'][I(0x195)][I(0x141)](e);}),o=getCommand()['name'](F(0x185))[F(0x13c)](F(0x1a2))[F(0x186)](u,F(0x149))[F(0x1b5)](async Y=>{const N=F,e=Y?.['id']||await n['askForJob'](this['getProjectName']())();console['log'](N(0x19f),e),await this[N(0x198)][N(0x195)][N(0x152)](e);});H[F(0x14f)](k),H[F(0x14f)](o),H[F(0x14f)](C);const T=getCommand()[F(0x193)](F(0x12e))[F(0x194)]('delete')[F(0x194)]('rm')[F(0x13c)](F(0x13a))[F(0x186)](u,'Local\x20context\x20name\x20to\x20remove.')[F(0x1b5)](async Y=>{const d=F,e=Y?.['id']||await this[d(0x1a1)](d(0x12e)),P=this[d(0x198)]['contextProvider']['getCurrentContext']()?.['name'];await this[d(0x198)][d(0x195)]['removeContext'](e),success('Local\x20context\x20\x27'+e+d(0x19b));if(!this[d(0x15f)]()){warning(d(0x165));return;}if(P===e){const J=Y?.[d(0x193)]||await this[d(0x1a1)](d(0x15b));await this[d(0x198)][d(0x195)][d(0x16f)](J),success(d(0x160)+J);}}),S=getCommand()['name'](F(0x167))[F(0x194)](F(0x177))['description'](F(0x17a))[F(0x186)](F(0x134),F(0x145))[F(0x1b5)](async Y=>{const i=F,{contextProvider:e}=this[i(0x198)],P=Y?.[i(0x15e)]||await n[i(0x15d)](),J=e['getCurrentToken']();await e['updateToken'](P);if(await this[i(0x184)]())success('Token\x20for\x20current\x20context\x20\x27'+e[i(0x171)]()+i(0x181));else{if(J)await e[i(0x137)](J);error(i(0x196));}});this[F(0x12f)]['addCommand'](g),this[F(0x12f)][F(0x14f)](r),this[F(0x12f)]['addCommand'](H),this['contexts'][F(0x14f)](T),this[F(0x12f)][F(0x14f)](S);}async[a2Z(0x1af)](c,v){const M=a2Z,j=!c[M(0x17c)],n=c[M(0x1b2)]??this[M(0x191)],g=new NorthflankApiBrowserLogin(n,j,this[M(0x1ac)]);let r;g['on'](M(0x178),({url:C})=>{const L=M;if(j){const o=C[L(0x187)](/sessionToken=.*/,'sessionToken=********');console[L(0x175)](L(0x1a9)+o+')'),r=a2g['prompt']([{'type':L(0x14c),'name':'fullUrl','message':L(0x151),'default':![]}]),r[L(0x13d)](T=>{const p=L;process['stdout']['moveCursor'](0x0,-0x1),process[p(0x154)]['clearLine'](0x1),T['fullUrl']&&console[p(0x175)](p(0x12b)+C+'\x20');});}else console[L(0x175)](L(0x12b)+C+'\x20');});const {token:H,contextName:u}=await g[M(0x13f)]()[M(0x156)](async C=>{const O=M;error(O(0x13b)+C[O(0x1b4)]+O(0x180));const o=await this[O(0x190)](c,v);return{'token':o['token'],'contextName':o[O(0x193)]};})[M(0x19e)](()=>{const q=M;if(r)r['ui'][q(0x16a)]();}),k=c[M(0x193)]??u??'autologin-'+new Date()[M(0x172)]();return{'name':k,'token':H,'host':n,'override':c[M(0x164)]??![]};}['sanitiseHostname']=c=>{const Q=a2Z;let v=c;return!/^https?:\/\//i[Q(0x1a5)](v)&&(v=Q(0x131)+v),v=v[Q(0x187)](/\/+$/,''),v;};async[a2Z(0x190)](c,v){const a=a2Z,j=this['apiClient'][a(0x195)][a(0x15a)]()[a(0x12f)],{name:n,token:g,host:r,override:H}=await v[a(0x143)](c,j);return{'name':n,'token':g,'host':r,'override':H};}['getProjectName'](){const A=a2Z,c=this[A(0x198)][A(0x195)][A(0x197)]();if(c===undefined)throw new Error(A(0x18c));return c;}async[a2Z(0x1a1)](c){const X=a2Z;if(!this['contextAvailable']())throw new Error(X(0x176));const v=this[X(0x198)][X(0x195)][X(0x15a)]()[X(0x12f)][X(0x18d)](n=>n['name']),j=v['length']>0x4?X(0x166):X(0x183);return(await a2g[X(0x179)]([{'type':j,'name':'name','message':'Choose\x20the\x20context\x20to\x20'+c+':','choices':v}]))['name'];}['contextAvailable'](){const y=a2Z;return this[y(0x198)][y(0x195)]['loadContextWrapper']()['contexts']['length']>0x0;}async['verifyToken'](){const E=a2Z;try{const c=this[E(0x198)]['contextProvider'][E(0x1a8)](),v=this[E(0x198)][E(0x195)][E(0x153)](),j=c+E(0x147),n={'Authorization':E(0x142)+v},g=new ProxyAgent(),r=await retry(0x3)(async()=>a2n(j,{'method':E(0x132),'signal':AbortSignal[E(0x144)](0xbb8),'headers':n,'agent':g}));if(r['ok'])return!![];return![];}catch(H){return![];}}}
|
package/dist/copy/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a3F=
|
|
1
|
+
const a3F=a3v;function a3v(c,v){const j=a3c();return a3v=function(n,g){n=n-0x77;let r=j[n];return r;},a3v(c,v);}(function(c,v){const Z=a3v,j=c();while(!![]){try{const n=parseInt(Z(0xc3))/0x1*(-parseInt(Z(0xb3))/0x2)+-parseInt(Z(0xab))/0x3+-parseInt(Z(0x7e))/0x4+-parseInt(Z(0xa5))/0x5+parseInt(Z(0xb4))/0x6+-parseInt(Z(0x99))/0x7*(-parseInt(Z(0x7a))/0x8)+parseInt(Z(0xa7))/0x9;if(n===v)break;else j['push'](j['shift']());}catch(g){j['push'](j['shift']());}}}(a3c,0x80525));import{ApiClient,CopyType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,getCommand,success}from'../utils.js';function a3c(){const i=['ensureRelevantPathIsSet','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20services\x20and\x20jobs.','FILE_DOWNLOAD','alias','action','remotePath','download','74xpYWIc','2336556TIJjyc','downloadCmd','ed-file.txt\x0a\x20\x20','File\x20and\x20directory\x20download\x20for\x20Northflank\x20service.','\x20files\x20','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','\x20single\x20file:\x20\x20\x20northflank\x20','description','\x27\x20to\x20\x27','Local\x20file\x20or\x20directory','\x20files','askForProject','\x20is\x20required\x20for\x20','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20service.','user\x20home','1537MYzkNR','addCommand','getStandardCopyCommand','name','--noDefaults','\x27remotePath\x27','--local\x20--localPath\x20[LOCALPATH]','1627904NjcuDo','askForJob','job','askForPath','42100dGEvcJ','toUpperCase','apiClient','--project\x20--projectId\x20[NAME]','Project\x20for\x20','s.\x20Please\x20enter\x20a\x20path:','\x20--','Uploaded\x20all\x20directory\x20contents\x20from\x20\x27','\x27\x20to\x20local\x20directory\x20\x27','.\x20If\x20the\x20','FILE_UPLOAD','current\x20working','\x20(random\x20container\x20will\x20be\x20chosen\x20if\x20not\x20specified)','DIRECTORY_UPLOAD','service','\x27\x20to\x20container\x20directory\x20\x27','uploadCmd','getCurrentServiceName','Path\x20is\x20not\x20specified,\x20the\x20','file','-dir','Id\x20[NAME]','--container\x20--containerId\x20[NAME]','upload','logCopyResult','DIRECTORY_DOWNLOAD','from','28IYPmIw','Container\x20used\x20to\x20','\x27localPath\x27','Uploaded\x20file\x20from\x20\x27','Downloaded\x20all\x20directory\x20contents\x20from\x20\x27','option','prompt','input','--remote\x20--remotePath\x20[REMOTEPATH]','Remote\x20file\x20or\x20directory','remote','localPath','1896525ZeLBUs','files','6261957vsAybI','getCurrentProjectName','File\x20and\x20directory\x20download\x20for\x20Northflank\x20job.','local','2780541dUhqWH'];a3c=function(){return i;};return a3c();}import{InquirerHelper}from'../inquirer-helper.js';import{capitalize}from'lodash-es';import a3j from'inquirer';export class CliFileCopy{['downloadCmd'];['uploadCmd'];[a3F(0x80)];['getStandardCopyCommand']=(c,v)=>{const w=a3F,j=capitalize(v),n=v===w(0x95)?w(0xa3):w(0xaa),g=v===w(0x95)?w(0xc2):w(0x89),r=v===w(0x95)?'to':w(0x98);return getCommand(!![])[w(0xc6)](w(0x91))[w(0xbb)](j+w(0xb8)+r+'\x20the\x20specified\x20'+c+w(0x87)+n+w(0x90)+g+'\x20directory\x20is\x20used.\x20If\x20the\x20directory\x20for\x20'+n+'Path\x20does\x20not\x20exist,\x20it\x20will\x20be\x20created.\x0aExamples:\x0a\x20\x20'+j+w(0xba)+v+'\x20'+c+'\x20file\x20--localPath\x20my_directory/my-file.txt\x20--remotePath\x20/home/my-'+v+w(0xb6)+j+'\x20directory:\x20\x20\x20\x20\x20northflank\x20'+v+'\x20'+c+'\x20file\x20--localPath\x20my_directory\x20--remotePath\x20/home/'+v+w(0x92))[w(0x9e)](w(0x81),w(0x82)+v)[w(0x9e)]('--'+c+w(0x84)+c+w(0x93),c['charAt'](0x0)[w(0x7f)]()+c['slice'](0x1)+'\x20to\x20'+v+w(0xbe))[w(0x9e)](w(0x94),w(0x9a)+v+w(0x8a))['option'](w(0x79),w(0xbd))['option'](w(0xa1),w(0xa2))[w(0x9e)](w(0x77),w(0xb9),![]);};constructor(c,v){const x=a3F;this[x(0x80)]=new ApiClient(c,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':v});const j=new InquirerHelper(this['apiClient']);this[x(0xb5)]=getCommand()[x(0xc6)](x(0xb2))[x(0xaf)]('dl')[x(0xbb)]('File\x20and\x20directory\x20download\x20for\x20Northflank\x20services\x20and\x20jobs.'),this['uploadCmd']=getCommand()[x(0xc6)](x(0x95))['alias']('ul')[x(0xbb)](x(0xad));const n=getCommand()[x(0xc6)](x(0x8c))['description'](x(0xb7)),g=getCommand()[x(0xc6)](x(0x8c))[x(0xbb)](x(0xc1)),r=getCommand()['name'](x(0x7c))[x(0xbb)](x(0xa9)),H=getCommand()[x(0xc6)](x(0x7c))[x(0xbb)]('File\x20and\x20directory\x20upload\x20for\x20Northflank\x20job.'),u=C=>{const b=x;return this[b(0xc5)](b(0x8c),C)[b(0xb0)](async o=>{const K=b,{projectId:T,serviceId:S,containerId:Y,noDefaults:e,quiet:P}=o;assertContextExisting(this[K(0x80)]);const J=e?undefined:c[K(0xa8)](),s=T||J||await j[K(0xbf)](),W=e?undefined:c[K(0x8f)](),t=S||W||await j['askForService'](s)(),{remotePath:m,localPath:V}=await this[K(0xac)](C,o),f={'projectId':s,'serviceId':t},l=await this['apiClient'][C]['service'][K(0xa6)](f,{'containerName':Y,'localPath':V,'remotePath':m});this[K(0x96)](l,P);});},k=C=>{const G=x;return this[G(0xc5)](G(0x7c),C)['action'](async o=>{const D=G,{projectId:T,jobId:S,containerId:Y,noDefaults:e,quiet:P}=o;assertContextExisting(this['apiClient']);const J=e?undefined:c['getCurrentProjectName'](),s=T||J||await j['askForProject'](),W=S||await j[D(0x7b)](s)(),{remotePath:t,localPath:m}=await this[D(0xac)](C,o),V={'projectId':s,'jobId':W},f=await this[D(0x80)][C][D(0x7c)][D(0xa6)](V,{'containerName':Y,'localPath':m,'remotePath':t});this[D(0x96)](f,P);});};n[x(0xc4)](u('download')),r['addCommand'](k(x(0xb2))),g[x(0xc4)](u(x(0x95))),H[x(0xc4)](k('upload')),this['downloadCmd']['addCommand'](n),this[x(0xb5)]['addCommand'](r),this[x(0x8e)][x(0xc4)](g),this[x(0x8e)][x(0xc4)](H);}['logCopyResult']=(c,v)=>{const I=a3F;if(v)return;const {sourceDirectory:j,targetDirectory:n,sourceFile:g,targetFile:r}=c;switch(c['type']){case CopyType[I(0x97)]:{success(I(0x9d)+j+I(0x86)+n+'\x27');break;}case CopyType[I(0xae)]:{success('Downloaded\x20file\x20\x27'+j+'/'+g+I(0xbc)+n+'/'+r+'\x27');break;}case CopyType[I(0x8b)]:{success(I(0x85)+j+I(0x8d)+n+'\x27');break;}case CopyType[I(0x88)]:{success(I(0x9c)+j+'/'+g+I(0xbc)+n+'/'+r+'\x27');break;}}};[a3F(0xac)]=async(c,v)=>{const N=a3F,j=c==='download'&&v[N(0xb1)]===undefined?await this[N(0x7d)](N(0x78),'download'):v[N(0xb1)],n=c==='upload'&&v[N(0xa4)]===undefined?await this[N(0x7d)](N(0x9b),N(0x95)):v[N(0xa4)];return{'localPath':n,'remotePath':j};};[a3F(0x7d)]=async(c,v)=>{const d=a3F,j=c+d(0xc0)+v+d(0x83);return(await a3j[d(0x9f)]([{'type':d(0xa0),'name':d(0xc6),'message':j}]))[d(0xc6)];};}
|