@northflank/cli 0.10.11 → 0.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function a0G(N,G){const S=a0N();return a0G=function(U,K){U=U-0x166;let r=S[U];return r;},a0G(N,G);}(function(N,G){const R=a0G,S=N();while(!![]){try{const U=parseInt(R(0x177))/0x1+parseInt(R(0x18f))/0x2*(parseInt(R(0x16d))/0x3)+parseInt(R(0x17c))/0x4*(-parseInt(R(0x172))/0x5)+parseInt(R(0x199))/0x6*(parseInt(R(0x17f))/0x7)+parseInt(R(0x19d))/0x8+parseInt(R(0x190))/0x9+-parseInt(R(0x16b))/0xa;if(U===G)break;else S['push'](S['shift']());}catch(K){S['push'](S['shift']());}}}(a0N,0x29b08));import{warning}from'./utils.js';const defaultPaginationPageSize=0x64,getProjects=N=>async G=>{const w=a0G,S=await N[w(0x175)][w(0x197)]({'options':{'per_page':defaultPaginationPageSize,'cursor':G?.[w(0x16f)]}});return{'elements':S[w(0x185)][w(0x197)][w(0x196)](U=>U['id']),'nextPageCursor':S[w(0x17e)]?.['cursor']};},getServices=(N,G)=>async S=>{const q=a0G,U=await N['list'][q(0x17d)]({'parameters':{'projectId':G},'options':{'per_page':defaultPaginationPageSize,'cursor':S?.['nextPageCursor']}});return{'elements':U[q(0x185)]['services'][q(0x196)](K=>K['id']),'nextPageCursor':U[q(0x17e)]?.[q(0x191)]};},getAddons=(N,G)=>async S=>{const F=a0G,U=await N[F(0x175)][F(0x178)]({'parameters':{'projectId':G},'options':{'per_page':defaultPaginationPageSize,'cursor':S?.[F(0x16f)]}});return{'elements':U[F(0x185)][F(0x178)][F(0x196)](K=>K['id']),'nextPageCursor':U[F(0x17e)]?.['cursor']};},getAddonBackups=(N,G,S)=>async U=>{const m=a0G,K=await N[m(0x193)][m(0x16e)][m(0x167)]({'parameters':{'projectId':G,'addonId':S},'options':{'per_page':defaultPaginationPageSize,'cursor':U?.[m(0x16f)]}});return{'elements':K['data'][m(0x167)][m(0x196)](r=>r['id']),'nextPageCursor':K[m(0x17e)]?.['cursor']};};export async function fetchResourceList(N,G,S,U,K,r){const s=a0G,L=undefined;try{if(N===s(0x188)){const V=await G[s(0x175)][s(0x183)]({}),a=V['data']['plans'][s(0x196)](x=>x?.[s(0x180)]??x?.['id']);return{'choices':a,'defaultValue':L};}if(N===s(0x186)&&!S?.[s(0x198)](s(0x18b))){const x=await G[s(0x175)]['regions']({}),b=x[s(0x185)][s(0x181)][s(0x196)](f=>f?.[s(0x180)]??f?.['id']);return{'choices':b,'defaultValue':L};}if(N==='projectId'){const f=await getProjects(G),{elements:n,nextPageCursor:D}=await f();return{'choices':n,'defaultValue':L,'pagination':{'nextPageCursor':D,'loadMore':f}};}if(N===s(0x174)){const g=await G[s(0x175)]['registryCredentials']({}),z=g['data'][s(0x174)][s(0x196)](v=>v['id']);return{'choices':z,'defaultValue':L};}const I=K?.['projectId'],d=N===s(0x18d)||N==='id'&&r?.['includes'](s(0x19a));if(I!==undefined&&d){const v=await getServices(G,I),{elements:E,nextPageCursor:W}=await v();return{'choices':E,'defaultValue':L,'pagination':{'nextPageCursor':W,'loadMore':v}};}const Y=S?.[s(0x198)]('addon');if(Y){const Z=async B=>{const H=s,j=await G['get']['addon']['types']({});return j[H(0x185)]['addonTypes']?.[H(0x196)](i=>i[H(0x173)])[H(0x166)](i=>i[H(0x173)]===B);};if(N===s(0x173)){const B=await G['get']['addon'][s(0x16c)]({}),j=B[s(0x185)]['addonTypes']?.[s(0x196)](i=>i['type']);return{'choices':j,'defaultValue':L};}if(N===s(0x171)&&U?.[s(0x173)]!==undefined){const i=(await Z(U[s(0x173)]))?.[s(0x179)],l=i!==undefined?[s(0x18a),...i]:undefined;return{'choices':l,'defaultValue':L};}if(N===s(0x194)&&U?.[s(0x173)]!==undefined){const k=(await Z(U[s(0x173)]))?.['resources']?.[s(0x194)];return{'choices':k?.[s(0x187)],'defaultValue':k?.[s(0x18c)]};}if(N==='replicas'&&U?.[s(0x173)]!==undefined){const h=(await Z(U[s(0x173)]))?.['resources']?.[s(0x182)];return{'choices':h?.[s(0x187)],'defaultValue':h?.[s(0x18c)]};}}if(N===s(0x192)&&K?.[s(0x18e)]!==undefined){const O=await getAddons(G,K?.['projectId']),{elements:J,nextPageCursor:t}=await O();return{'choices':J,'defaultValue':L,'pagination':{'nextPageCursor':t,'loadMore':O}};}if(N===s(0x168)&&K?.[s(0x18e)]!==undefined&&U?.[s(0x195)]?.['addonId']!==undefined){const P=await getAddonBackups(G,K?.[s(0x18e)],U?.['source']?.[s(0x192)]),{elements:y,nextPageCursor:c}=await P();return{'choices':y,'defaultValue':L,'pagination':{'nextPageCursor':c,'loadMore':P}};}const u=K?.[s(0x192)]??U?.[s(0x16a)]?.[s(0x192)];if(S?.[s(0x169)]('')===s(0x184)&&N===s(0x171)&&K?.[s(0x18e)]!==undefined&&u!==undefined){const {upgradeTo:M}=(await G[s(0x193)][s(0x16e)]['version']({'parameters':{'addonId':u,'projectId':K?.[s(0x18e)]}}))[s(0x185)];if(M===undefined||M['length']<=0x0){warning(s(0x19c));throw new Error();}return{'choices':M[s(0x196)](X=>X['version']),'defaultValue':L};}if(N===s(0x170)){const X=await G[s(0x175)][s(0x189)]({}),o=X[s(0x185)]['templates'][s(0x196)](p=>p?.['id']);return{'choices':o,'defaultValue':L};}if((S?.['includes']('secretLink')||S?.[s(0x198)](s(0x17a)))&&N===s(0x17b)&&u!==undefined&&K?.[s(0x18e)]!==undefined){const p=(await G['get'][s(0x16e)][s(0x174)]({'parameters':{'addonId':u,'projectId':K?.[s(0x18e)]}}))[s(0x185)];return{'choices':[...Object[s(0x176)](p?.['envs'])??[],...Object[s(0x176)](p?.[s(0x19b)])??[]]};}}catch(C){}return{'choices':undefined,'defaultValue':L};}function a0N(){const A=['default','serviceId','projectId','2UYNqMu','2923029LXfLaz','cursor','addonId','get','storage','source','map','projects','includes','477924ZgRGHY','owningObject','secrets','No\x20available\x20versions\x20to\x20upgrade\x20to.','2331032FbwbqZ','find','backups','backupId','join','addonDependencies','8527070LkIVJV','types','976227STuviS','addon','nextPageCursor','templateId','version','30Ylahey','type','credentials','list','keys','225752yTvsIy','addons','versions','secret','keyName','202108TOCZwQ','services','pagination','14lnhImh','internalId','regions','replicas','plans','updateaddonversion','data','region','options','deploymentPlan','templates','latest','logSink'];a0N=function(){return A;};return a0N();}
1
+ (function(T,C){const B=a0C,i=T();while(!![]){try{const K=-parseInt(B(0x149))/0x1+-parseInt(B(0x144))/0x2*(parseInt(B(0x15c))/0x3)+-parseInt(B(0x148))/0x4+-parseInt(B(0x169))/0x5*(-parseInt(B(0x14a))/0x6)+parseInt(B(0x16f))/0x7+-parseInt(B(0x145))/0x8+parseInt(B(0x14d))/0x9;if(K===C)break;else i['push'](i['shift']());}catch(t){i['push'](i['shift']());}}}(a0T,0xe6d5f));function a0C(T,C){const i=a0T();return a0C=function(K,t){K=K-0x144;let m=i[K];return m;},a0C(T,C);}import{warning}from'./utils.js';const defaultPaginationPageSize=0x64,getProjects=T=>async C=>{const h=a0C,i=await T[h(0x14f)][h(0x14b)]({'options':{'per_page':defaultPaginationPageSize,'cursor':C?.[h(0x154)]}});return{'elements':i[h(0x161)]['projects'][h(0x166)](K=>K['id']),'nextPageCursor':i['pagination']?.[h(0x177)]};},getServices=(T,C)=>async i=>{const s=a0C,K=await T[s(0x14f)][s(0x16e)]({'parameters':{'projectId':C},'options':{'per_page':defaultPaginationPageSize,'cursor':i?.[s(0x154)]}});return{'elements':K[s(0x161)][s(0x16e)][s(0x166)](t=>t['id']),'nextPageCursor':K[s(0x159)]?.[s(0x177)]};},getAddons=(T,C)=>async i=>{const X=a0C,K=await T[X(0x14f)][X(0x163)]({'parameters':{'projectId':C},'options':{'per_page':defaultPaginationPageSize,'cursor':i?.['nextPageCursor']}});return{'elements':K[X(0x161)][X(0x163)]['map'](t=>t['id']),'nextPageCursor':K['pagination']?.['cursor']};},getAddonBackups=(T,C,i)=>async K=>{const E=a0C,t=await T['get'][E(0x174)]['backups']({'parameters':{'projectId':C,'addonId':i},'options':{'per_page':defaultPaginationPageSize,'cursor':K?.[E(0x154)]}});return{'elements':t[E(0x161)][E(0x153)][E(0x166)](m=>m['id']),'nextPageCursor':t[E(0x159)]?.[E(0x177)]};};export async function fetchResourceList(T,C,i,K,t,m){const y=a0C,k=undefined;try{if(T==='deploymentPlan'){const M=await C['list']['plans']({}),G=M[y(0x161)][y(0x15a)][y(0x166)](Y=>Y?.[y(0x165)]??Y?.['id']);return{'choices':G,'defaultValue':k};}if(T===y(0x14e)&&!i?.[y(0x15d)](y(0x155))){const Y=await C[y(0x14f)][y(0x16a)]({}),q=Y[y(0x161)][y(0x16a)][y(0x166)](N=>N?.[y(0x165)]??N?.['id']);return{'choices':q,'defaultValue':k};}if(T==='projectId'){const N=await getProjects(C),{elements:a,nextPageCursor:v}=await N();return{'choices':a,'defaultValue':k,'pagination':{'nextPageCursor':v,'loadMore':N}};}if(T===y(0x146)){const p=await C[y(0x14f)][y(0x164)]({}),w=p[y(0x161)][y(0x146)]['map'](Z=>Z['id']);return{'choices':w,'defaultValue':k};}const Q=t?.[y(0x158)],R=T==='serviceId'||T==='id'&&m?.[y(0x15d)](y(0x162));if(Q!==undefined&&R){const Z=await getServices(C,Q),{elements:F,nextPageCursor:l}=await Z();return{'choices':F,'defaultValue':k,'pagination':{'nextPageCursor':l,'loadMore':Z}};}const A=i?.[y(0x15d)]('addon');if(A){const I=async n=>{const j=y,H=await C[j(0x15e)]['addon']['types']({});return H['data'][j(0x167)]?.['map'](f=>f[j(0x15b)])['find'](f=>f[j(0x15b)]===n);};if(T===y(0x15b)){const n=await C[y(0x15e)][y(0x174)][y(0x151)]({}),H=n[y(0x161)]['addonTypes']?.[y(0x166)](f=>f[y(0x15b)]);return{'choices':H,'defaultValue':k};}if(T==='version'&&K?.[y(0x15b)]!==undefined){const f=(await I(K[y(0x15b)]))?.[y(0x168)],c=f!==undefined?[y(0x157),...f]:undefined;return{'choices':c,'defaultValue':k};}if(T===y(0x15f)&&K?.[y(0x15b)]!==undefined){const O=(await I(K[y(0x15b)]))?.[y(0x16d)]?.['storage'];return{'choices':O?.[y(0x16c)],'defaultValue':O?.[y(0x150)]};}if(T===y(0x173)&&K?.[y(0x15b)]!==undefined){const x=(await I(K['type']))?.[y(0x16d)]?.[y(0x173)];return{'choices':x?.[y(0x16c)],'defaultValue':x?.[y(0x150)]};}}if(T===y(0x147)&&t?.[y(0x158)]!==undefined){const z=await getAddons(C,t?.['projectId']),{elements:b,nextPageCursor:u}=await z();return{'choices':b,'defaultValue':k,'pagination':{'nextPageCursor':u,'loadMore':z}};}if(T===y(0x160)&&t?.[y(0x158)]!==undefined&&K?.[y(0x178)]?.[y(0x147)]!==undefined){const o=await getAddonBackups(C,t?.[y(0x158)],K?.[y(0x178)]?.[y(0x147)]),{elements:d,nextPageCursor:L}=await o();return{'choices':d,'defaultValue':k,'pagination':{'nextPageCursor':L,'loadMore':o}};}const V=t?.[y(0x147)]??K?.[y(0x175)]?.[y(0x147)];if(i?.['join']('')==='updateaddonversion'&&T===y(0x170)&&t?.['projectId']!==undefined&&V!==undefined){const {upgradeTo:D}=(await C[y(0x15e)][y(0x174)][y(0x170)]({'parameters':{'addonId':V,'projectId':t?.['projectId']}}))[y(0x161)];if(D===undefined||D[y(0x171)]<=0x0){warning('No\x20available\x20versions\x20to\x20upgrade\x20to.');throw new Error();}return{'choices':D[y(0x166)](g=>g[y(0x170)]),'defaultValue':k};}if(T===y(0x176)){const g=await C[y(0x14f)][y(0x16b)]({}),J=g[y(0x161)][y(0x16b)][y(0x166)](U=>U?.['id']);return{'choices':J,'defaultValue':k};}if((i?.[y(0x15d)]('secretLink')||i?.['includes'](y(0x14c)))&&T===y(0x156)&&V!==undefined&&t?.[y(0x158)]!==undefined){const U=(await C[y(0x15e)][y(0x174)][y(0x146)]({'parameters':{'addonId':V,'projectId':t?.[y(0x158)]}}))[y(0x161)];return{'choices':[...Object[y(0x172)](U?.[y(0x152)])??[],...Object['keys'](U?.['secrets'])??[]]};}}catch(S){}return{'choices':undefined,'defaultValue':k};}function a0T(){const W=['secret','22159746qhzyRs','region','list','default','types','envs','backups','nextPageCursor','logSink','keyName','latest','projectId','pagination','plans','type','51342eutOHC','includes','get','storage','backupId','data','owningObject','addons','registryCredentials','internalId','map','addonTypes','versions','5opXzRm','regions','templates','options','resources','services','10111486BkaoSe','version','length','keys','replicas','addon','addonDependencies','templateId','cursor','source','180RtcLkr','747192lvHgQq','credentials','addonId','250528ImXhUZ','1471387NbVWsW','1238934YotlyU','projects'];a0T=function(){return W;};return a0T();}
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env -S node --no-deprecation
2
- const a1N8=a1G;(function(N,G){const N7=a1G,S=N();while(!![]){try{const U=-parseInt(N7(0x142))/0x1+-parseInt(N7(0x163))/0x2+-parseInt(N7(0x146))/0x3*(-parseInt(N7(0x147))/0x4)+parseInt(N7(0x1a5))/0x5*(-parseInt(N7(0x132))/0x6)+parseInt(N7(0x17b))/0x7+-parseInt(N7(0x1a8))/0x8+parseInt(N7(0x112))/0x9;if(U===G)break;else S['push'](S['shift']());}catch(K){S['push'](S['shift']());}}}(a1N,0xdf4ab));import{ApiClient,ApiClientFileContextProvider,GetApiEndpointPaginated}from'@northflank/js-client';import{Command}from'commander';import a1S from'fs';import a1U from'chalk';import{CliContext}from'./context/contextCommands.js';function a1N(){const Nn=['replace','askForAddon','quiet','serviceId','templates','/docs/v1/api/','method','Northflank\x20cli\x20version:\x20','split','9724494mpWkMF','yml','=>\x20running\x20command\x20with:\x20','OPTIONAL:\x20','resourceTagId','job','plan','backupId','path','projectId','askForBuild','askForSubdomain','toUpperCase','toString','service','contexts','1580196npIfAC','dmn','repo','boolean','647553RYNXjV','24sREYxf','restores','secretId','json','addons','secret','get','getLogsCommand','join','commands','there\x20are\x20more\x20rows,\x20load?','logs','backupDestinationId',',\x20-','requiredPermissions','output','getMetricsCommand','yaml','helpOption','custom-columns=','domainId','cursor','file','.json','\x0a>\x20Token\x20permissions\x20required:\x20','length','query','Update\x20Northflank\x20','3515832nQCaKT',',\x20NF\x20error\x20id:\x20','askForSecret','backup-destination','bind','addonId','northflank','subdomainId','-f,\x20--file\x20<file-path>','alias','logSinkId','endpoints','retrievePayloadViaInteractiveCli','description','docsTagsPath','find','askForSubdomainPath','loadAll','pipelineId','url','plans','prj','VERBOSE:\x20HTTP_PROXY\x20or\x20HTTPS_PROXY\x20environment\x20variable\x20set:\x20tunnelling\x20traffic\x20through\x20HTTP\x20proxy.','forEach','7859306DZbIJF','clearLine','askForCredentials','uploadCmd','askGeneric','getCurrentProjectName','Options\x20\x27loadAll\x27\x20can\x20not\x20be\x20combined\x20with\x20\x27page\x27\x20or\x20\x27cursor\x27','-v,\x20--version','error','Manage\x20your\x20Northflank\x20resources\x20from\x20the\x20command\x20line','\x20--','credentialId','repos','some','askForTag','list','includes','helpCommand','runId','contextProvider','resource','aliases','branches','subdomain','stdout','credential','.yaml','Documentation:\x20','invoice','parse','parseAsync','filter','project','VERBOSE:\x20Using\x20endpoint\x20->\x20','isPaginatedEndpoint','templateRunId','paginationArgs','addCommand','sort','type','utf-8','hasNextPage','5XyarUt','endsWith','askForJobRun','12355792nJksbg','vol','getOwnPropertyNames','../package.json','VERBOSE:\x20Request\x20body\x20->\x20','brn','opt','entries','host','opts','portFwdCmd','buildId','askForProject','all','Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.','clusterId','green','defaults','Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20','--verbose','rgn','data','pagination','File\x20does\x20not\x20exist:\x20','askForPipeline','option','runs','pop','Unknown\x20input\x20file\x20type:\x20','inv','request','map','version','verbose','deleteWarningPrompt','startsWith','stringify','rawResponse','page','getNextPage','body','API\x20request\x20failed\x0a\x09Message:\x20','volume','help\x20[command]','after','askForVolume','login','statusText','domain','Get\x20information\x20about\x20Northflank\x20','toLowerCase','enablePositionalOptions','askForAddonBackup','load','backup','argv','downloadCmd','italic','Display\x20help\x20for\x20command','-i,\x20--input\x20<resource-def>','askForService','askConfirm','keys','moveCursor','subdomainPath','45000666dHTCGV','Expecting\x20resource\x20input\x20with\x20\x27--input\x27\x20or\x20\x27--file\x27\x20argument','log','getCurrentJobName','tpl','default','message','addon','concat','askForJob','name','delete','\x20Northflank\x20resources','askForTemplate','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','existsSync','action','region','count','backups','nonInteractiveEndpoint','volumeId','templateId'];a1N=function(){return Nn;};return a1N();}import{agent,assertContextExisting,asyncSequential,checkUpdate,customUserAgent,error,getCommand,proxyEnvsSet,warning}from'./utils.js';import*as a1K 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{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,a1N8(0x1ab)),a1N8(0x1a3)));export const getProgram=N=>{const N9=a1N8,G=new Command(N9(0x169));G[N9(0x170)](N9(0x184)),G[N9(0x104)](!![]),G[N9(0xf1)](N9(0x130)+a1U['underline'](pgk['version']),N9(0x182),'Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli');const S=new ApiClient(N,{'throwErrorOnHttpErrorCode':![],'customUserAgent':customUserAgent,'agent':agent}),U=new CliContext(S,agent),K=new CliPortForward(N,agent),r=new CliExec(N,agent),L=new CliFileCopy(N,agent),I=new CliLogs(N,agent),d=new CliMetrics(N,agent);return G[N9(0x1a0)](K[N9(0x1b2)]),G[N9(0x1a0)](r['execCmd']),G['addCommand'](L[N9(0x109)]),G[N9(0x1a0)](L[N9(0x17e)]),G['addCommand'](U[N9(0xff)]),G[N9(0x1a0)](U[N9(0x141)]),generateCommands(S,S[N9(0x16e)],G,I,d),G[N9(0x1a0)](getCommandOverview(G)),G[N9(0x18c)](N9(0xfc),N9(0x10b)),G[N9(0x159)](undefined,N9(0x10b)),G;};((async()=>{const NN=a1N8;try{const N=new ApiClientFileContextProvider();await checkUpdate(N);const G=getProgram(N);await G[NN(0x199)](process['argv']);}catch(S){error(NN(0x120)+S[NN(0x118)]),process[NN(0x108)][NN(0x172)](U=>U===NN(0xe4))&&console['log'](S),process['exitCode']=0x1;}})());function isListCommand(N){const NG=a1N8,G=[['get',NG(0x119),NG(0x125)],[NG(0x14d),NG(0x137),NG(0xeb)]];return N[NG(0x172)](S=>S===NG(0x18a))||G[NG(0x188)](S=>isEqual(N,S));}function a1G(N,G){const S=a1N();return a1G=function(U,K){U=U-0xe3;let r=S[U];return r;},a1G(N,G);}function generateCommands(N,G,S,U,K,r=a1K[a1N8(0x1b9)],L=[]){const NS=a1N8,I=new InquirerHelper(new ApiClient(N[NS(0x18e)],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':agent}));function d(a,x){return a['required']!==![]&&x===undefined;}function Y(a,x){const NU=NS,{opt:b,name:e}=a,f=b[NU(0x117)],n=d(b,f),D=Z=>Z[NU(0x160)]>0x1?'--'+Z:'-'+Z,g=b?.[NU(0x16c)],z=g?Array['isArray'](g)?'-'+g?.['map'](Z=>D(Z))[NU(0x14f)](NU(0x154))+',':''+D(g):'',v=n?'':NU(0x135),E=typeof b['type']===NU(0x145)||b[NU(0x1a2)]===NU(0x145)?z+NU(0x185)+e:z+NU(0x185)+e+'\x20<'+e['toUpperCase']()+'>',W=v+b[NU(0x170)];x[NU(0xea)](E['trim'](),W,f);}function u(a,x){const NK=NS;if(x[NK(0x150)][NK(0x188)](b=>b[NK(0x11c)]()===NK(0x152)))return;isEqual(a,[NK(0x14d),NK(0x140)])&&(x['addCommand'](U[NK(0x14e)](NK(0x140))),x[NK(0x1a0)](K[NK(0x157)](NK(0x140))),x[NK(0x1a0)](U['getLogsCommand'](NK(0x140),!![])),x[NK(0x1a0)](K[NK(0x157)](NK(0x140),!![]))),isEqual(a,[NK(0x14d),'job'])&&(x['addCommand'](U['getLogsCommand'](NK(0x137))),x['addCommand'](K[NK(0x157)](NK(0x137))),x[NK(0x1a0)](U['getLogsCommand'](NK(0x137),!![])),x['addCommand'](K[NK(0x157)](NK(0x137),!![]))),isEqual(a,[NK(0x14d),NK(0x119)])&&(x['addCommand'](U['getLogsCommand'](NK(0x119))),x['addCommand'](K[NK(0x157)](NK(0x119)))),isEqual(a,[NK(0x14d),NK(0x119),NK(0x107)])&&x[NK(0x1a0)](U[NK(0x14e)](NK(0x119),![],!![])),isEqual(a,[NK(0x14d),NK(0x119),NK(0x148)])&&x[NK(0x1a0)](U[NK(0x14e)]('addon',![],!![],!![]));}return Object[NS(0x1aa)](r)[NS(0x17a)](a=>{const Nr=NS,x=G[a],b=r[a],e=L[Nr(0x11a)]([a]);function f(j,i){const NL=Nr,l=Object['getOwnPropertyNames'](j||{});l[NL(0xf0)](k=>{return{'name':k,'opt':j[k]};})[NL(0x1a1)]((k,h)=>!d(k[NL(0x1ae)])?!d(h[NL(0x1ae)])?0x0:0x1:-0x1)[NL(0x17a)](k=>{Y(k,i);});}function n(j,i){const NI=Nr,l=[[NI(0x19b),'projects',NI(0x178)],[NI(0x140),'services','svc'],['credentials',NI(0x194),'cred'],['addon',NI(0x14b),'adn'],[NI(0x137),'jobs'],[NI(0x138),NI(0x177),'pln'],[NI(0x123),'regions',NI(0xe5)],[NI(0x101),'domains',NI(0x143)],[NI(0x14c),'secrets','scrt'],['volumes',NI(0xfb),NI(0x1a9)],[NI(0x191),'branch',NI(0x1ad)],[NI(0x197),'invoices',NI(0xee)],['template',NI(0x12d),NI(0x116)],[NI(0x187),'repository','repositories',NI(0x144)],[NI(0x166),'backup-destinations'],['tag','tags']],k=l[NI(0x172)](h=>h[NI(0x18b)](i));if(k!==undefined)j[NI(0x190)](k['filter'](h=>h!==i));}async function D(j){const Nd=Nr,i={},{contextProvider:l}=N,k=e[Nd(0x18b)](Nd(0x11d)),h=j['noDefaults']===!![];async function O(J,t,P){const NY=Nd;if(has(b['opt']?.[NY(0x13a)]??{},J)){const y=!h&&!k&&P?P():undefined,c=j[J]||y||await t();set(i,J,c);}}return await asyncSequential(Object[Nd(0x1af)](b['opt']?.[Nd(0x13a)]??{}),async([J,t])=>{const Nu=Nd,P=i?.['projectId'],y=i?.[Nu(0x128)];switch(J){case'projectId':return await O(Nu(0x13b),I[Nu(0x1b4)][Nu(0x167)](I),l[Nu(0x180)][Nu(0x167)](l));case Nu(0x12c):return await O(Nu(0x12c),I[Nu(0x10d)](P)[Nu(0x167)](I),l['getCurrentServiceName'][Nu(0x167)](l));case'addonId':return await O(Nu(0x168),I[Nu(0x12a)](P)[Nu(0x167)](I));case'jobId':return await O('jobId',I[Nu(0x11b)](P)[Nu(0x167)](I),l[Nu(0x115)]['bind'](l));case Nu(0x18d):return await O(Nu(0x18d),I[Nu(0x1a7)](i['jobId'],P,![])[Nu(0x167)](I));case'secretId':return await O(Nu(0x149),I[Nu(0x165)](P)[Nu(0x167)](I));case Nu(0x101):case Nu(0x15b):return await O('domain',I['askForDomain'][Nu(0x167)](I));case Nu(0x186):return await O(Nu(0x186),I[Nu(0x17d)][Nu(0x167)](I));case Nu(0x127):return await O(Nu(0x127),I[Nu(0xfe)](P)[Nu(0x167)](I));case Nu(0x192):return await O('subdomain',I['askForSubdomain'](i['domain'])[Nu(0x167)](I));case'subdomainId':return await O(Nu(0x16a),I[Nu(0x13d)](i[Nu(0x15b)])['bind'](I));case Nu(0x111):return await O('subdomainPath',I[Nu(0x173)](i['domain'],i[Nu(0x192)]??i['subdomainId'])[Nu(0x167)](I));case'backupId':return await O(Nu(0x139),I[Nu(0x105)](P,i[Nu(0x168)])[Nu(0x167)](I));case Nu(0x1b3):return await O(Nu(0x1b3),I[Nu(0x13c)](P,i[Nu(0x12c)],i['jobId'])[Nu(0x167)](I));case Nu(0x128):return await O('templateId',I[Nu(0x11f)]()[Nu(0x167)](I));case Nu(0x19e):return await O('templateRunId',I['askForTemplateRun'](y)[Nu(0x167)](I));case Nu(0x16d):return await O(Nu(0x16d),I['askForLogSink']()[Nu(0x167)](I));case'pipelineId':return await O(Nu(0x175),I[Nu(0xe9)](P)[Nu(0x167)](I));case'resourceTagId':return await O(Nu(0x136),I[Nu(0x189)]()[Nu(0x167)](I));case Nu(0x153):return await O(Nu(0x153),I['askForBackupDestination']()[Nu(0x167)](I));case Nu(0x1b7):return await O(Nu(0x1b7),I['askForClusterId']()[Nu(0x167)](I));default:return await O(J,I[Nu(0x17f)](J,t?.['description'])[Nu(0x167)](I));}}),i;}async function g(j){const NV=Nr,i={},l=b[NV(0x1ae)]?.[NV(0x19d)]?a1K['paginationArgs']:{},k={...b[NV(0x1ae)]?.['query']??{},...l},h=Object[NV(0x10f)](k)[NV(0x19a)](O=>O!==NV(0x174));return await asyncSequential(h,async O=>{if(j[O]!==undefined)return set(i,O,j[O]);}),i;}function z(){const Na=Nr;switch(e[0x0]){case Na(0x14d):return Na(0x102)+(e[0x1]||'resource')+'s';case'update':return Na(0x162)+(e[0x1]||Na(0x18f))+'\x20properties';default:return upperFirst(a)+Na(0x11e);}}function v(j,i){const Nx=Nr;if(!i){const c=getCommand()[Nx(0x11c)](kebabCase(a))[Nx(0x170)](z());return n(c,a),c;}const l=j?.[Nx(0x155)]?a1U[Nx(0x10a)](Nx(0x15f)+j[Nx(0x155)]):'',k=N[Nx(0x18e)]['getCurrentContext'](),h=k!==undefined&&b?.['opt']?.[Nx(0x171)]!==undefined,O=k?.[Nx(0x1b0)][Nx(0x129)]('api.',''),J=h?Nx(0x196)+O+Nx(0x12e)+b?.['opt']?.['docsTagsPath']:'',t=j?.['description']||'',P=getCommand(!![])['name'](kebabCase(a))['description'](t)['addHelpText'](Nx(0xfd),[l,J][Nx(0x14f)]('\x0a'));n(P,a);(b[Nx(0x1ae)]?.[Nx(0xf9)]||b[Nx(0x1ae)]?.[Nx(0x126)])&&(P[Nx(0xea)](Nx(0x16b),'File\x20to\x20load\x20resource\x20json\x20from'),P[Nx(0xea)](Nx(0x10c),'JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22'));f(b[Nx(0x1ae)]?.['path'],P),f(b['opt']?.[Nx(0x161)],P);const y=b[Nx(0x1ae)]?.[Nx(0x19d)];return y&&f(a1K[Nx(0x19f)],P),f(b[Nx(0x1ae)]?.['base'],P),P[Nx(0x122)](async()=>{const Nb=Nx;assertContextExisting(N);const M=P[Nb(0x1b1)]();M?.[Nb(0xf2)]&&proxyEnvsSet&&warning(Nb(0x179));const X=M[Nb(0xf7)]!==undefined||M[Nb(0x15c)]!==undefined;if(M['loadAll']===!![]&&X)throw new Error(Nb(0x181));const o=M?.['output'],p=o==='json',C=o==='yaml'||o===Nb(0x133),R=await D(M);I['setPathVars'](R);const w=await g(M),q=Object[Nb(0x10f)](b[Nb(0x1ae)]?.[Nb(0x13a)]??{})[Nb(0xf0)](A=>A+'='+a1U[Nb(0x1b8)](R[A]))[Nb(0x14f)](',\x20');if(q[Nb(0x160)]>0x0&&!p&&!C){const A=Nb(0x134)+q;console[Nb(0x114)](A);}const F=b[Nb(0x1ae)]?.[Nb(0xf9)]||b[Nb(0x1ae)]?.['nonInteractiveEndpoint']?await V(M,b,e):undefined;if(!M['force']&&e[Nb(0x18b)](Nb(0x11d))&&!await I[Nb(0xf3)]()){warning('Resource\x20was\x20not\x20deleted.');return;}const m=y&&(M['loadAll']||(M['output']===Nb(0x14a)||M[Nb(0x156)]===Nb(0x158))&&!X);let s=m&&x instanceof GetApiEndpointPaginated?await x[Nb(0x1b5)]({'parameters':R,'options':w,'data':F}):await x['call']({'parameters':R,'options':{...w},'data':F});if(M?.[Nb(0xf2)]){const Q=s[Nb(0xef)];console[Nb(0x114)](Nb(0x19c)+Q[Nb(0x12f)][Nb(0x13e)]()+':'+Q[Nb(0x176)]);if(F!==undefined)console['log'](Nb(0x1ac)+F);}if(s[Nb(0x183)]){const {details:T,id:N0,message:N1,status:N2}=s[Nb(0x183)],N3=T?'\x0a\x09details\x20:'+JSON[Nb(0xf5)](T):'',N4=N0?Nb(0x164)+N0:'',N5='(HTTP\x20status\x20code:\x20'+N2+N4+')';throw new Error(Nb(0xfa)+N1+'\x20'+N5+N3);}let H=0x0;printCallResult(M,p,s[Nb(0xe6)],C,e,o,![],H,s[Nb(0xf6)][Nb(0x100)]);if(!M[Nb(0x12b)]&&!m&&!X&&s['pagination']?.[Nb(0x1a4)])while(s[Nb(0xe7)]?.[Nb(0x1a4)]){const N6=await I[Nb(0x10e)](Nb(0x151));if(N6)process['stdout'][Nb(0x110)](0x0,-0x1),process[Nb(0x193)][Nb(0x17c)](0x1),H+=s[Nb(0xe7)][Nb(0x124)],s=await s['pagination'][Nb(0xf8)](),printCallResult(M,p,s[Nb(0xe6)],C,e,o,!![],H,s[Nb(0xf6)][Nb(0x100)]);else return;}}),P;}const E=has(b,Nr(0x1ae)),W=x,Z=v(W,E);u(e,Z),S['addCommand'](Z);const B=omit(b,Nr(0x1ae));Object[Nr(0x10f)](B)[Nr(0x160)]>0x0&&generateCommands(N,x,Z,U,K,B,e);});async function V(a,x,b){const Ne=NS,{input:f,file:n}=a;if(f!==undefined)try{return JSON[Ne(0x198)](f);}catch(D){try{return a1r[Ne(0x106)](f);}catch(g){throw new Error(Ne(0x1b6));}}if(n!==undefined){if(!a1S[Ne(0x121)](n))throw new Error(Ne(0xe8)+n);const z=a1S['readFileSync'](n)[Ne(0x13f)]();let v;try{if(isString(z)){if(a[Ne(0x15d)][Ne(0x1a6)](Ne(0x15e)))v=JSON['parse'](z);else{if(a['file'][Ne(0x1a6)](Ne(0x195))||a['file'][Ne(0x1a6)](Ne(0x133)))v=a1r[Ne(0x106)](z);else throw new Error(Ne(0xed)+a[Ne(0x15d)][Ne(0x131)]('.')[Ne(0xec)]());}}else v=z;return v;}catch(E){throw new Error(Ne(0xe3)+E['message']);}}if(x?.[Ne(0x1ae)]?.[Ne(0x126)])throw new Error(Ne(0x113));return await I[Ne(0x16f)](x,{'cmdPath':b,'skipValidation':a['skipValidation']});}}const printCallResult=(N,G,S,U,K,r,L,I,d)=>{const Nf=a1N8;if(!N?.[Nf(0x12b)]){if(G)handleJsonOutput(N?.[Nf(0x156)],S);else{if(U)handleYamlOutput(N?.[Nf(0x156)],S);else{if(isListCommand(K)){const Y=r?.[Nf(0xf4)](Nf(0x15a))?r[Nf(0x129)]('custom-columns=','')['split'](',')[Nf(0xf0)](b=>b[Nf(0x103)]()):undefined,u=K[K[Nf(0x160)]-0x1],V=''+u+(u[Nf(0x1a6)]('s')?'':'s'),a=upperFirst(V),x=has(S,V)?S[V]:S;printAsTable(x,a,Y,L,I);}else console[Nf(0x114)](consoleFormat(S,d));}}}};
2
+ const a1T8=a1C;(function(T,C){const T7=a1C,i=T();while(!![]){try{const K=parseInt(T7(0x114))/0x1+parseInt(T7(0x169))/0x2+parseInt(T7(0x12d))/0x3*(parseInt(T7(0x14f))/0x4)+-parseInt(T7(0x163))/0x5+-parseInt(T7(0x143))/0x6*(parseInt(T7(0xfe))/0x7)+-parseInt(T7(0x17b))/0x8*(parseInt(T7(0x11a))/0x9)+parseInt(T7(0x157))/0xa*(parseInt(T7(0x140))/0xb);if(K===C)break;else i['push'](i['shift']());}catch(t){i['push'](i['shift']());}}}(a1T,0xdaefd));import{ApiClient,ApiClientFileContextProvider,GetApiEndpointPaginated}from'@northflank/js-client';import{Command}from'commander';import a1i from'fs';import a1K from'chalk';import{CliContext}from'./context/contextCommands.js';import{agent,assertContextExisting,asyncSequential,checkUpdate,customUserAgent,error,getCommand,proxyEnvsSet,warning}from'./utils.js';import*as a1t 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{CliLogs}from'./logs/index.js';import{CliMetrics}from'./metrics/index.js';import{CliFileCopy}from'./copy/index.js';function a1T(){const Tv=['backup-destination','delete','retrievePayloadViaInteractiveCli','moveCursor','body','3619990AFgAVQ','askForLogSink','isPaginatedEndpoint','type','dmn','resource','2192088jGDRZh','entries','backup','logs','.json','job','endsWith','secrets','pipelineId','resourceTagId','projectId','skipValidation','getLogsCommand','toLowerCase','volumeId','askForSubdomain','pop','backupDestinationId','376fONABt','map','paginationArgs','quiet','prj','tags','contextProvider','domainId','concat','sort','adn','filter','branches','Northflank\x20cli\x20version:\x20','replace','getCurrentProjectName','some','--verbose','jobId','addCommand','invoice','host','option','clusterId','load','Manage\x20your\x20Northflank\x20resources\x20from\x20the\x20command\x20line','subdomainPath','file','tag','askForProject','requiredPermissions','method','askConfirm','getNextPage','message','project','argv','opt','VERBOSE:\x20Request\x20body\x20->\x20','-f,\x20--file\x20<file-path>','statusText','deleteWarningPrompt','repository','File\x20does\x20not\x20exist:\x20','Expecting\x20resource\x20input\x20with\x20\x27--input\x27\x20or\x20\x27--file\x27\x20argument','runId','path','page','Update\x20Northflank\x20',',\x20-','repo','askForTemplateRun','subdomainId','login','askForTag','buildId','split','data','bind','docsTagsPath','Resource\x20was\x20not\x20deleted.','addons','alias','nonInteractiveEndpoint','Display\x20help\x20for\x20command','contexts','yaml','forEach','parse','get','secretId','/docs/v1/api/','aliases','northflank','downloadCmd','boolean','OPTIONAL:\x20','log','\x20Northflank\x20resources','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','after','hasNextPage','askForAddon','svc','plan','credential','getCurrentContext','Unknown\x20input\x20file\x20type:\x20','askForBackupDestination','askForClusterId','-i,\x20--input\x20<resource-def>','all','green','commands','runs','pln','exitCode','getCurrentServiceName','output','askForVolume','join','512099HRDqlC','addHelpText','Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.','keys','list','setPathVars','pagination','askForBuild','clearLine','default','stringify','templates','askForDomain',',\x20NF\x20error\x20id:\x20','base','url','loadAll','action','plans','askForService','VERBOSE:\x20Using\x20endpoint\x20->\x20','volumes','357329dAlQHd','Documentation:\x20','error','version','template','underline','303579jwVGMD','name','templateId','getOwnPropertyNames','subdomain','\x20properties','includes','rgn','execCmd','rawResponse','toString','length','JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22','inv','\x0a>\x20Token\x20permissions\x20required:\x20','credentialId','custom-columns=','endpoints','addon','3ZrqmUL','find','addonId','logSinkId','description','noDefaults','projects','italic','existsSync','Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli','domains','\x20--','query','getCurrentJobName','repositories','stdout','backups','services','backupId','9835815zAlsBZ','trim','tpl','66SbUlxH','Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20','jobs','backup-destinations','askForJob','invoices','askForSubdomainPath','service','opts','yml','verbose','utf-8','6653236ETsphF','templateRunId','restores','getMetricsCommand','domain','askForPipeline','helpOption','count','10pOdknO','region','update','serviceId','defaults','credentials','toUpperCase'];a1T=function(){return Tv;};return a1T();}import{isEqual,has,set,kebabCase,upperFirst,isString,omit}from'lodash-es';import a1m from'js-yaml';function a1C(T,C){const i=a1T();return a1C=function(K,t){K=K-0xa4;let m=i[K];return m;},a1C(T,C);}import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta[a1T8(0x10d)]),__dirname=dirname(__filename),pgk=JSON[a1T8(0xdd)](readFileSync(join(__dirname,'../package.json'),a1T8(0x14e)));export const getProgram=T=>{const T9=a1T8,C=new Command(T9(0xe2));C['description'](T9(0xb2)),C['enablePositionalOptions'](!![]),C['version'](T9(0xa6)+a1K[T9(0x119)](pgk[T9(0x117)]),'-v,\x20--version',T9(0x136));const i=new ApiClient(T,{'throwErrorOnHttpErrorCode':![],'customUserAgent':customUserAgent,'agent':agent}),K=new CliContext(i,agent),t=new CliPortForward(T,agent),m=new CliExec(T,agent),k=new CliFileCopy(T,agent),Q=new CliLogs(T,agent),R=new CliMetrics(T,agent);return C[T9(0xac)](t['portFwdCmd']),C['addCommand'](m[T9(0x122)]),C['addCommand'](k[T9(0xe3)]),C[T9(0xac)](k['uploadCmd']),C[T9(0xac)](K[T9(0xce)]),C[T9(0xac)](K[T9(0xda)]),generateCommands(i,i[T9(0x12b)],C,Q,R),C['addCommand'](getCommandOverview(C)),C['helpCommand']('help\x20[command]',T9(0xd9)),C[T9(0x155)](undefined,T9(0xd9)),C;};((async()=>{const TT=a1T8;try{const T=new ApiClientFileContextProvider();await checkUpdate(T);const C=getProgram(T);await C['parseAsync'](process[TT(0xbd)]);}catch(i){error(TT(0xe8)+i[TT(0xbb)]),process[TT(0xbd)][TT(0x12e)](K=>K===TT(0xaa))&&console[TT(0xe6)](i),process[TT(0xf9)]=0x1;}})());function isListCommand(T){const TC=a1T8,C=[[TC(0xde),'addon',TC(0x13d)],['get',TC(0x16e),TC(0xf7)]];return T[TC(0x12e)](i=>i===TC(0x102))||C['some'](i=>isEqual(T,i));}function generateCommands(T,C,i,K,t,m=a1t[a1T8(0x15b)],k=[]){const Ti=a1T8,Q=new InquirerHelper(new ApiClient(T[Ti(0x181)],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':agent}));function R(G,Y){return G['required']!==![]&&Y===undefined;}function A(G,Y){const TK=Ti,{opt:q,name:N}=G,a=q[TK(0x107)],v=R(q,a),p=n=>n[TK(0x125)]>0x1?'--'+n:'-'+n,w=q?.[TK(0xd7)],Z=w?Array['isArray'](w)?'-'+w?.[TK(0x17c)](n=>p(n))[TK(0xfd)](TK(0xca))+',':''+p(w):'',F=v?'':TK(0xe5),l=typeof q[TK(0x166)]===TK(0xe4)||q[TK(0x166)]===TK(0xe4)?Z+TK(0x138)+N:Z+TK(0x138)+N+'\x20<'+N[TK(0x15d)]()+'>',I=F+q['description'];Y[TK(0xaf)](l[TK(0x141)](),I,a);}function V(G,Y){const Tt=Ti;if(Y[Tt(0xf6)][Tt(0xa9)](q=>q['name']()===Tt(0x16c)))return;isEqual(G,[Tt(0xde),Tt(0x14a)])&&(Y[Tt(0xac)](K[Tt(0x175)](Tt(0x14a))),Y[Tt(0xac)](t[Tt(0x152)](Tt(0x14a))),Y['addCommand'](K[Tt(0x175)](Tt(0x14a),!![])),Y[Tt(0xac)](t['getMetricsCommand']('service',!![]))),isEqual(G,['get',Tt(0x16e)])&&(Y[Tt(0xac)](K[Tt(0x175)](Tt(0x16e))),Y['addCommand'](t[Tt(0x152)](Tt(0x16e))),Y['addCommand'](K[Tt(0x175)]('job',!![])),Y[Tt(0xac)](t[Tt(0x152)](Tt(0x16e),!![]))),isEqual(G,[Tt(0xde),'addon'])&&(Y[Tt(0xac)](K[Tt(0x175)](Tt(0x12c))),Y[Tt(0xac)](t['getMetricsCommand']('addon'))),isEqual(G,['get',Tt(0x12c),Tt(0x16b)])&&Y[Tt(0xac)](K[Tt(0x175)](Tt(0x12c),![],!![])),isEqual(G,['get',Tt(0x12c),Tt(0x151)])&&Y[Tt(0xac)](K[Tt(0x175)]('addon',![],!![],!![]));}return Object[Ti(0x11d)](m)[Ti(0xdc)](G=>{const Tm=Ti,Y=C[G],q=m[G],N=k[Tm(0x183)]([G]);function a(f,e){const Tk=Tm,c=Object[Tk(0x11d)](f||{});c[Tk(0x17c)](O=>{return{'name':O,'opt':f[O]};})[Tk(0x184)]((O,x)=>!R(O[Tk(0xbe)])?!R(x[Tk(0xbe)])?0x0:0x1:-0x1)[Tk(0xdc)](O=>{A(O,e);});}function v(f,e){const TQ=Tm,c=[[TQ(0xbc),TQ(0x133),TQ(0x17f)],[TQ(0x14a),TQ(0x13e),TQ(0xec)],[TQ(0x15c),TQ(0xee),'cred'],[TQ(0x12c),TQ(0xd6),TQ(0x185)],[TQ(0x16e),TQ(0x145)],[TQ(0xed),TQ(0x110),TQ(0xf8)],[TQ(0x158),'regions',TQ(0x121)],[TQ(0x153),TQ(0x137),TQ(0x167)],['secret',TQ(0x170),'scrt'],[TQ(0x113),'volume','vol'],[TQ(0xa5),'branch','brn'],[TQ(0xad),TQ(0x148),TQ(0x127)],[TQ(0x118),TQ(0x109),TQ(0x142)],['repos',TQ(0xc3),TQ(0x13b),TQ(0xcb)],[TQ(0x15e),TQ(0x146)],[TQ(0xb5),TQ(0x180)]],O=c[TQ(0x12e)](x=>x[TQ(0x120)](e));if(O!==undefined)f[TQ(0xe1)](O[TQ(0xa4)](x=>x!==e));}async function p(f){const TR=Tm,e={},{contextProvider:c}=T,O=N[TR(0x120)](TR(0x15f)),x=f[TR(0x132)]===!![];async function z(b,u,o){const TA=TR;if(has(q['opt']?.[TA(0xc7)]??{},b)){const d=!x&&!O&&o?o():undefined,L=f[b]||d||await u();set(e,b,L);}}return await asyncSequential(Object[TR(0x16a)](q[TR(0xbe)]?.[TR(0xc7)]??{}),async([b,u])=>{const TV=TR,o=e?.[TV(0x173)],d=e?.[TV(0x11c)];switch(b){case TV(0x173):return await z(TV(0x173),Q[TV(0xb6)][TV(0xd3)](Q),c[TV(0xa8)][TV(0xd3)](c));case TV(0x15a):return await z(TV(0x15a),Q[TV(0x111)](o)['bind'](Q),c[TV(0xfa)]['bind'](c));case TV(0x12f):return await z(TV(0x12f),Q[TV(0xeb)](o)[TV(0xd3)](Q));case TV(0xab):return await z(TV(0xab),Q[TV(0x147)](o)[TV(0xd3)](Q),c[TV(0x13a)]['bind'](c));case TV(0xc6):return await z(TV(0xc6),Q['askForJobRun'](e['jobId'],o,![])[TV(0xd3)](Q));case'secretId':return await z(TV(0xdf),Q['askForSecret'](o)[TV(0xd3)](Q));case TV(0x153):case TV(0x182):return await z(TV(0x153),Q[TV(0x10a)][TV(0xd3)](Q));case TV(0x129):return await z(TV(0x129),Q['askForCredentials'][TV(0xd3)](Q));case TV(0x177):return await z(TV(0x177),Q[TV(0xfc)](o)[TV(0xd3)](Q));case'subdomain':return await z(TV(0x11e),Q['askForSubdomain'](e[TV(0x153)])[TV(0xd3)](Q));case'subdomainId':return await z(TV(0xcd),Q[TV(0x178)](e[TV(0x182)])['bind'](Q));case TV(0xb3):return await z(TV(0xb3),Q[TV(0x149)](e[TV(0x153)],e[TV(0x11e)]??e[TV(0xcd)])[TV(0xd3)](Q));case'backupId':return await z(TV(0x13f),Q['askForAddonBackup'](o,e[TV(0x12f)])[TV(0xd3)](Q));case'buildId':return await z(TV(0xd0),Q[TV(0x105)](o,e[TV(0x15a)],e[TV(0xab)])[TV(0xd3)](Q));case TV(0x11c):return await z(TV(0x11c),Q['askForTemplate']()[TV(0xd3)](Q));case'templateRunId':return await z(TV(0x150),Q[TV(0xcc)](d)[TV(0xd3)](Q));case TV(0x130):return await z(TV(0x130),Q[TV(0x164)]()[TV(0xd3)](Q));case TV(0x171):return await z(TV(0x171),Q[TV(0x154)](o)[TV(0xd3)](Q));case TV(0x172):return await z('resourceTagId',Q[TV(0xcf)]()[TV(0xd3)](Q));case TV(0x17a):return await z(TV(0x17a),Q[TV(0xf1)]()[TV(0xd3)](Q));case TV(0xb0):return await z(TV(0xb0),Q[TV(0xf2)]()[TV(0xd3)](Q));default:return await z(b,Q['askGeneric'](b,u?.['description'])[TV(0xd3)](Q));}}),e;}async function w(f){const TM=Tm,e={},c=q[TM(0xbe)]?.[TM(0x165)]?a1t[TM(0x17d)]:{},O={...q['opt']?.['query']??{},...c},x=Object[TM(0x101)](O)[TM(0xa4)](z=>z!==TM(0x10e));return await asyncSequential(x,async z=>{if(f[z]!==undefined)return set(e,z,f[z]);}),e;}function Z(){const TG=Tm;switch(N[0x0]){case'get':return'Get\x20information\x20about\x20Northflank\x20'+(N[0x1]||'resource')+'s';case TG(0x159):return TG(0xc9)+(N[0x1]||TG(0x168))+TG(0x11f);default:return upperFirst(G)+TG(0xe7);}}function F(f,e){const TY=Tm;if(!e){const L=getCommand()[TY(0x11b)](kebabCase(G))[TY(0x131)](Z());return v(L,G),L;}const c=f?.['requiredPermissions']?a1K[TY(0x134)](TY(0x128)+f[TY(0xb7)]):'',O=T[TY(0x181)][TY(0xef)](),x=O!==undefined&&q?.['opt']?.[TY(0xd4)]!==undefined,z=O?.[TY(0xae)][TY(0xa7)]('api.',''),b=x?TY(0x115)+z+TY(0xe0)+q?.[TY(0xbe)]?.[TY(0xd4)]:'',u=f?.['description']||'',o=getCommand(!![])['name'](kebabCase(G))[TY(0x131)](u)[TY(0xff)](TY(0xe9),[c,b][TY(0xfd)]('\x0a'));v(o,G);(q[TY(0xbe)]?.[TY(0x162)]||q['opt']?.['nonInteractiveEndpoint'])&&(o[TY(0xaf)](TY(0xc0),'File\x20to\x20load\x20resource\x20json\x20from'),o[TY(0xaf)](TY(0xf3),TY(0x126)));a(q[TY(0xbe)]?.[TY(0xc7)],o),a(q[TY(0xbe)]?.[TY(0x139)],o);const d=q['opt']?.[TY(0x165)];return d&&a(a1t['paginationArgs'],o),a(q[TY(0xbe)]?.[TY(0x10c)],o),o[TY(0x10f)](async()=>{const Tq=TY;assertContextExisting(T);const D=o[Tq(0x14b)]();D?.[Tq(0x14d)]&&proxyEnvsSet&&warning('VERBOSE:\x20HTTP_PROXY\x20or\x20HTTPS_PROXY\x20environment\x20variable\x20set:\x20tunnelling\x20traffic\x20through\x20HTTP\x20proxy.');const g=D[Tq(0xc8)]!==undefined||D['cursor']!==undefined;if(D[Tq(0x10e)]===!![]&&g)throw new Error('Options\x20\x27loadAll\x27\x20can\x20not\x20be\x20combined\x20with\x20\x27page\x27\x20or\x20\x27cursor\x27');const J=D?.[Tq(0xfb)],U=J==='json',S=J===Tq(0xdb)||J===Tq(0x14c),B=await p(D);Q[Tq(0x103)](B);const h=await w(D),s=Object[Tq(0x101)](q[Tq(0xbe)]?.[Tq(0xc7)]??{})[Tq(0x17c)](W=>W+'='+a1K[Tq(0xf5)](B[W]))['join'](',\x20');if(s[Tq(0x125)]>0x0&&!U&&!S){const W='=>\x20running\x20command\x20with:\x20'+s;console[Tq(0xe6)](W);}const X=q[Tq(0xbe)]?.['body']||q[Tq(0xbe)]?.[Tq(0xd8)]?await M(D,q,N):undefined;if(!D['force']&&N[Tq(0x120)](Tq(0x15f))&&!await Q[Tq(0xc2)]()){warning(Tq(0xd5));return;}const E=d&&(D[Tq(0x10e)]||(D[Tq(0xfb)]==='json'||D[Tq(0xfb)]===Tq(0xdb))&&!g);let y=E&&Y instanceof GetApiEndpointPaginated?await Y[Tq(0xf4)]({'parameters':B,'options':h,'data':X}):await Y['call']({'parameters':B,'options':{...h},'data':X});if(D?.['verbose']){const P=y['request'];console[Tq(0xe6)](Tq(0x112)+P[Tq(0xb8)][Tq(0x15d)]()+':'+P['url']),X!==undefined&&console[Tq(0xe6)](Tq(0xbf)+a1K[Tq(0x134)](JSON[Tq(0x108)](X)));}if(y['error']){const {details:r,id:T0,message:T1,status:T2}=y[Tq(0x116)],T3=r?'\x0a\x09details\x20:'+JSON[Tq(0x108)](r):'',T4=T0?Tq(0x10b)+T0:'',T5='(HTTP\x20status\x20code:\x20'+T2+T4+')';throw new Error('API\x20request\x20failed\x0a\x09Message:\x20'+T1+'\x20'+T5+T3);}let j=0x0;printCallResult(D,U,y[Tq(0xd2)],S,N,J,![],j,y['rawResponse'][Tq(0xc1)]);if(!D[Tq(0x17e)]&&!E&&!g&&y[Tq(0x104)]?.[Tq(0xea)])while(y[Tq(0x104)]?.[Tq(0xea)]){const T6=await Q[Tq(0xb9)]('there\x20are\x20more\x20rows,\x20load?');if(T6)process[Tq(0x13c)][Tq(0x161)](0x0,-0x1),process[Tq(0x13c)][Tq(0x106)](0x1),j+=y[Tq(0x104)][Tq(0x156)],y=await y['pagination'][Tq(0xba)](),printCallResult(D,U,y[Tq(0xd2)],S,N,J,!![],j,y[Tq(0x123)]['statusText']);else return;}}),o;}const l=has(q,Tm(0xbe)),I=Y,n=F(I,l);V(N,n),i[Tm(0xac)](n);const H=omit(q,Tm(0xbe));Object[Tm(0x101)](H)[Tm(0x125)]>0x0&&generateCommands(T,Y,n,K,t,H,N);});async function M(G,Y,q){const TN=Ti,{input:N,file:a}=G;if(N!==undefined)try{return JSON[TN(0xdd)](N);}catch(v){try{return a1m[TN(0xb1)](N);}catch(p){throw new Error(TN(0x100));}}if(a!==undefined){if(!a1i[TN(0x135)](a))throw new Error(TN(0xc4)+a);const w=a1i['readFileSync'](a)[TN(0x124)]();let Z;try{if(isString(w)){if(G[TN(0xb4)]['endsWith'](TN(0x16d)))Z=JSON[TN(0xdd)](w);else{if(G[TN(0xb4)]['endsWith']('.yaml')||G['file'][TN(0x16f)](TN(0x14c)))Z=a1m[TN(0xb1)](w);else throw new Error(TN(0xf0)+G[TN(0xb4)][TN(0xd1)]('.')[TN(0x179)]());}}else Z=w;return Z;}catch(F){throw new Error(TN(0x144)+F[TN(0xbb)]);}}if(Y?.[TN(0xbe)]?.[TN(0xd8)])throw new Error(TN(0xc5));return await Q[TN(0x160)](Y,{'cmdPath':q,'skipValidation':G[TN(0x174)]});}}const printCallResult=(T,C,i,K,t,m,k,Q,R)=>{const Ta=a1T8;if(!T?.[Ta(0x17e)]){if(C)handleJsonOutput(T?.[Ta(0xfb)],i);else{if(K)handleYamlOutput(T?.[Ta(0xfb)],i);else{if(isListCommand(t)){const A=m?.['startsWith']('custom-columns=')?m[Ta(0xa7)](Ta(0x12a),'')['split'](',')[Ta(0x17c)](q=>q[Ta(0x176)]()):undefined,V=t[t['length']-0x1],M=''+V+(V[Ta(0x16f)]('s')?'':'s'),G=upperFirst(M),Y=has(i,M)?i[M]:i;printAsTable(Y,G,A,k,Q);}else console[Ta(0xe6)](consoleFormat(i,R));}}}};
@@ -1 +1 @@
1
- const a2Z=a2G;function a2G(N,G){const S=a2N();return a2G=function(U,K){U=U-0xec;let r=S[U];return r;},a2G(N,G);}function a2N(){const s=['Bearer\x20','tokenPrompt','Remove\x20a\x20context','browserLogin','prompt','removeContext','host\x20url\x20for\x20this\x20context','agent','alias','getCurrentContext','loadContextWrapper','4434dXpNbs','Local\x20context\x20name\x20to\x20remove.','--all','clearLine','tokenInternalId','/v1/login','Change\x20the\x20default\x20service\x20in\x20the\x20current\x20local\x20context','option','apiClient','getCurrentBaseUrl','askForContext','\x27\x20successfully\x20updated.','Token\x20for\x20current\x20context\x20\x27','useContext','length','-n,\x20--name\x20[NAME]','italic','addCommand','Change\x20current\x20context\x20to\x20context\x20identified\x20by\x20this\x20name','use','replace','close','Contexts','Display\x20full\x20URL\x20to\x20allow\x20opening\x20the\x20link\x20manually','10pDbPfq','login','GET','message','Local\x20context\x20\x27','startLogin','Change\x20the\x20default\x20project\x20in\x20the\x20current\x20local\x20context','delete','getCurrentName','Token\x20for\x20this\x20context.\x20When\x20set,\x20browser\x20login\x20is\x20not\x20used','getProjectName','project','Use\x20browser\x20login\x20but\x20only\x20print\x20URL\x20which\x20can\x20be\x20used\x20to\x20login','moveCursor','Choose\x20the\x20context\x20to\x20','contexts','-t,\x20--token\x20[TOKEN]','https://','contextAvailable','Use\x20manual\x20login\x20with\x20API\x20token','browser\x20login','useJobId','Shows\x20full\x20context\x20information\x20(including\x20tokens)','No\x20context\x20available.\x20Please\x20use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','\x0a\x20\x20Token\x20ID:\x09\x09','Use\x20project\x20with\x20id:','getInfo','Use\x20service\x20with\x20id:','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','getCurrentToken','221326dLMJrr','tokenLogin','Error\x20occured\x20during\x20browser\x20login:\x20','Failed\x20to\x20login\x20with\x20the\x20provided\x20token,\x20make\x20sure\x20to\x20use\x20a\x20valid\x20token\x20and\x20host.','loginPrompt',',\x20added\x20context\x20with\x20name\x20','Name\x20for\x20login\x20context','3100980wPZcyj','sort','roleInternalId','Change\x20the\x20default\x20job\x20in\x20the\x20current\x20local\x20context','catch','--token-login',':\x20\x0a\x20\x20Name:\x09\x09\x09','contextProvider','Override\x20existing\x20contexts\x20(this\x20will\x20remove\x20project\x20and\x20service\x20context)','log','Failed\x20to\x20login\x20with\x20the\x20provided\x20token.\x20Token\x20was\x20not\x20changed','job','defaultBaseUrl','dir','list','stdout','override','1675496CgsGOk','List\x20all\x20available\x20contexts','name','27YGIkyl','set-token','addContext','useProjectId','Shows\x20detailed\x20information\x20about\x20current\x20context','\x0a\x20\x20Default\x20Project:\x09','\x20(current)','--host\x20[HOST]','Changed\x20current\x20context\x20to\x20','121900YPmfKl','askForJob','Token\x20for\x20this\x20context','getCurrentProjectName','sanitiseHostname','search-list','description','\x0aSuccessfully\x20logged\x20in\x20using\x20','service','Open\x20this\x20URL\x20in\x20your\x20browser\x20and\x20follow\x20the\x20steps:\x0a\x09','246824UycTIo','use\x20from\x20now\x20on','updateToken','current','--do-not-open-browser','autologin-','1100898cRcgNP','No\x20context\x20available.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','remove','fullUrl','token\x20login','timeout','map','test','https://api.northflank.com','2590KiacZf','Project\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','verifyToken','No\x20project\x20in\x20current\x20context.\x20Please\x20set\x20project\x20before\x20setting\x20a\x20project-scoped\x20resource','all','valueOf','action','Switch\x20between\x20your\x20local\x20contexts','Retrieve\x20and\x20update\x20local\x20context\x20settings.','Current\x20token\x20info','Job\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','Update\x20token\x20for\x20current\x20context','Use\x20job\x20with\x20id:','host','apiTokenLogin','show','token'];a2N=function(){return s;};return a2N();}(function(N,G){const W=a2G,S=N();while(!![]){try{const U=-parseInt(W(0x169))/0x1+parseInt(W(0x145))/0x2+-parseInt(W(0x179))/0x3+parseInt(W(0x173))/0x4*(parseInt(W(0x127))/0x5)+-parseInt(W(0x10f))/0x6*(parseInt(W(0xf3))/0x7)+-parseInt(W(0x15d))/0x8+-parseInt(W(0x160))/0x9*(-parseInt(W(0x14c))/0xa);if(U===G)break;else S['push'](S['shift']());}catch(K){S['push'](S['shift']());}}}(a2N,0x2f07c));import{ProxyAgent}from'proxy-agent';import a2S 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 a2U from'node-fetch';import{set}from'lodash-es';import a2K from'inquirer';export class CliContext{['agent'];[a2Z(0x158)];[a2Z(0x117)];['contexts'];[a2Z(0x128)];constructor(N,G=undefined,S=a2Z(0xf2)){const B=a2Z;this['agent']=G,this[B(0x158)]=S,this['apiClient']=N;const U=new InquirerHelper(N);this[B(0x128)]=getCommand()[B(0x15f)]('login')['description']('Connect\x20the\x20CLI\x20to\x20your\x20Northflank\x20account.')[B(0x116)](B(0x151),B(0x13a),![])[B(0x116)](B(0x177),B(0x133),![])[B(0x116)](B(0x11e),B(0x14b))[B(0x116)]('-t,\x20--token\x20[TOKEN]',B(0x130))['option'](B(0x167),B(0x10a),this[B(0x158)])['option']('--override',B(0x154),![])[B(0xf9)](async x=>{const j=B;set(x,'host',this[j(0x16d)](x['host']));const b=x[j(0x146)]||x[j(0x103)]!==undefined,{name:f,host:n,token:D,override:g}=b?await this[j(0x101)](x,U):await this['browserLogin'](x,U);try{await this['apiClient'][j(0x153)][j(0x162)]({'name':f,'host':n,'token':D},g);}catch(z){error(z[j(0x12a)]);return;}if(!await this[j(0xf5)]())error(j(0x148)),await this[j(0x117)][j(0x153)][j(0x109)](f);else{const v=b?j(0xee):j(0x13b),E=j(0x170)+v+j(0x14a)+a2S[j(0x11f)](f)+'\x20(api\x20host:\x20'+n+')';success(E);}}),this[B(0x136)]=getCommand()[B(0x15f)]('context')[B(0x16f)](B(0xfb))[B(0x10c)](B(0x136))[B(0x10c)]('ctx');const K=getCommand()['name'](B(0x15a))['name']('ls')['description'](B(0x15e))['option'](B(0x111),B(0x13d))[B(0xf9)](async x=>{const i=B;console[i(0x155)](N[i(0x153)][i(0x141)]());const b=N[i(0x153)]['loadContextWrapper']();if(x[i(0xf7)]===!![]){console[i(0x159)](b);return;}const e=b[i(0x176)],f=b[i(0x136)][i(0x14d)]((n,D)=>n[i(0x15f)]===e?-0x1:D[i(0x15f)]===e?0x1:0x0)[i(0xf0)](n=>{const l=i,D=e===n[l(0x15f)]?l(0x166):'';return{'Name':''+n[l(0x15f)]+D,'Host':n['host'],'Default\x20Project':n[l(0x132)]||'-','Default\x20Service':n[l(0x171)]||'-'};});printAsTable(f,i(0x125));}),r=getCommand()[B(0x15f)](B(0x102))[B(0x16f)](B(0x164))['action'](async()=>{const k=B;console[k(0x155)](N[k(0x153)][k(0x141)]());const x=N[k(0x153)]['getCurrentContext']();if(x===undefined){console[k(0x155)]('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 b=decodeJwtPayload(x['token']),e=x[k(0x100)];console[k(0x155)](a2S['bold'](k(0xfc))+k(0x152)+x['name']+'\x0a\x20\x20Host:\x09\x09\x09'+e+k(0x165)+(x[k(0x132)]||'-')+'\x0a\x20\x20Default\x20Service:\x09'+(x['service']||'-')+k(0x13f)+(b?.[k(0x113)]||'-')+'\x0a\x20\x20Token\x20Role\x20ID:\x09'+(b?.[k(0x14e)]||'-')+k(0x143));}),L=getCommand();L[B(0x15f)](B(0x122))[B(0x16f)](B(0xfa))[B(0x116)]('-n,\x20--name\x20[NAME]',B(0x121))[B(0xf9)](async x=>{const h=B,b=x?.[h(0x15f)]||await this[h(0x119)](h(0x122));await this[h(0x117)][h(0x153)][h(0x11c)](b),success(h(0x168)+b);});const I='-i,\x20--id\x20[ID]',d=getCommand()['name'](B(0x132))[B(0x16f)](B(0x12d))[B(0x116)](I,B(0xf4))[B(0xf9)](async x=>{const O=B,b=x?.['id']||await U['askForProject']();await this['apiClient'][O(0x153)][O(0x163)](b),console[O(0x155)](O(0x140),b);}),Y=getCommand()[B(0x15f)]('service')[B(0x16f)](B(0x115))['option'](I,'Service\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context')[B(0xf9)](async x=>{const J=B,b=x?.['id']||await U['askForService'](this[J(0x131)]())();console['log'](J(0x142),b),await this[J(0x117)][J(0x153)]['useServiceId'](b);}),u=getCommand()[B(0x15f)](B(0x157))[B(0x16f)](B(0x14f))[B(0x116)](I,B(0xfd))['action'](async x=>{const t=B,b=x?.['id']||await U[t(0x16a)](this[t(0x131)]())();console[t(0x155)](t(0xff),b),await this['apiClient'][t(0x153)][t(0x13c)](b);});L['addCommand'](d),L[B(0x120)](u),L[B(0x120)](Y);const V=getCommand()[B(0x15f)](B(0xec))[B(0x10c)](B(0x12e))['alias']('rm')['description'](B(0x106))['option'](I,B(0x110))['action'](async x=>{const P=B,b=x?.['id']||await this[P(0x119)](P(0xec)),e=this[P(0x117)][P(0x153)][P(0x10d)]()?.[P(0x15f)];await this[P(0x117)][P(0x153)][P(0x109)](b),success(P(0x12b)+b+'\x27\x20successfully\x20removed.');if(!this[P(0x139)]()){warning(P(0x17a));return;}if(e===b){const f=x?.[P(0x15f)]||await this[P(0x119)](P(0x174));await this[P(0x117)]['contextProvider'][P(0x11c)](f),success(P(0x168)+f);}}),a=getCommand()['name']('update-token')[B(0x10c)](B(0x161))[B(0x16f)](B(0xfe))[B(0x116)](B(0x137),B(0x16b))['action'](async x=>{const y=B,{contextProvider:b}=this['apiClient'],e=x?.[y(0x103)]||await U[y(0x105)](),f=b[y(0x144)]();await b[y(0x175)](e);if(await this[y(0xf5)]())success(y(0x11b)+b[y(0x12f)]()+y(0x11a));else{if(f)await b[y(0x175)](f);error(y(0x156));}});this[B(0x136)]['addCommand'](K),this['contexts'][B(0x120)](r),this[B(0x136)][B(0x120)](L),this[B(0x136)][B(0x120)](V),this['contexts'][B(0x120)](a);}async[a2Z(0x107)](N,G){const c=a2Z,S=!N['doNotOpenBrowser'],U=N['host']??this[c(0x158)],K=new NorthflankApiBrowserLogin(U,S,this[c(0x10b)]);let r;K['on']('browser-opened',({url:Y})=>{const M=c;if(S){const u=Y[M(0x123)](/sessionToken=.*/,'sessionToken=********');console['log']('Follow\x20the\x20steps\x20displayed\x20on\x20the\x20page\x20opened\x20in\x20the\x20browser\x20(URL\x20opened:\x20'+u+')'),r=a2K[M(0x108)]([{'type':'confirm','name':M(0xed),'message':M(0x126),'default':![]}]),r['then'](V=>{const X=M;process['stdout'][X(0x134)](0x0,-0x1),process[X(0x15b)][X(0x112)](0x1),V[X(0xed)]&&console[X(0x155)](X(0x172)+Y+'\x20');});}else console[M(0x155)](M(0x172)+Y+'\x20');});const {token:L,contextName:I}=await K[c(0x12c)]()[c(0x150)](async Y=>{const o=c;error(o(0x147)+Y[o(0x12a)]+'.\x20Using\x20fallback.');const u=await this[o(0x101)](N,G);return{'token':u[o(0x103)],'contextName':u[o(0x15f)]};})['finally'](()=>{const p=c;if(r)r['ui'][p(0x124)]();}),d=N[c(0x15f)]??I??c(0x178)+new Date()[c(0xf8)]();return{'name':d,'token':L,'host':U,'override':N[c(0x15c)]??![]};}['sanitiseHostname']=N=>{const C=a2Z;let G=N;return!/^https?:\/\//i[C(0xf1)](G)&&(G=C(0x138)+G),G=G[C(0x123)](/\/+$/,''),G;};async[a2Z(0x101)](N,G){const R=a2Z,S=this['apiClient']['contextProvider']['loadContextWrapper']()[R(0x136)],{name:U,token:K,host:r,override:L}=await G[R(0x149)](N,S);return{'name':U,'token':K,'host':r,'override':L};}['getProjectName'](){const w=a2Z,N=this[w(0x117)][w(0x153)][w(0x16c)]();if(N===undefined)throw new Error(w(0xf6));return N;}async[a2Z(0x119)](N){const q=a2Z;if(!this[q(0x139)]())throw new Error(q(0x13e));const G=this['apiClient'][q(0x153)][q(0x10e)]()[q(0x136)][q(0xf0)](U=>U[q(0x15f)]),S=G[q(0x11d)]>0x4?q(0x16e):'list';return(await a2K[q(0x108)]([{'type':S,'name':q(0x15f),'message':q(0x135)+N+':','choices':G}]))[q(0x15f)];}[a2Z(0x139)](){const F=a2Z;return this[F(0x117)][F(0x153)][F(0x10e)]()[F(0x136)][F(0x11d)]>0x0;}async[a2Z(0xf5)](){const m=a2Z;try{const N=this['apiClient'][m(0x153)][m(0x118)](),G=this[m(0x117)][m(0x153)]['getCurrentToken'](),S=N+m(0x114),U={'Authorization':m(0x104)+G},K=new ProxyAgent(),r=await retry(0x3)(async()=>a2U(S,{'method':m(0x129),'signal':AbortSignal[m(0xef)](0xbb8),'headers':U,'agent':K}));if(r['ok'])return!![];return![];}catch(L){return![];}}}
1
+ const a2I=a2C;(function(T,C){const l=a2C,i=T();while(!![]){try{const K=-parseInt(l(0x16f))/0x1*(parseInt(l(0x1a1))/0x2)+parseInt(l(0x1a4))/0x3*(parseInt(l(0x170))/0x4)+parseInt(l(0x1d4))/0x5+parseInt(l(0x181))/0x6*(parseInt(l(0x1b3))/0x7)+-parseInt(l(0x17d))/0x8+parseInt(l(0x182))/0x9*(-parseInt(l(0x1c8))/0xa)+parseInt(l(0x1cd))/0xb;if(K===C)break;else i['push'](i['shift']());}catch(t){i['push'](i['shift']());}}}(a2T,0xcf428));import{ProxyAgent}from'proxy-agent';import a2i from'chalk';function a2C(T,C){const i=a2T();return a2C=function(K,t){K=K-0x158;let m=i[K];return m;},a2C(T,C);}function a2T(){const E=['getProjectName','use','current','startLogin','sanitiseHostname','Failed\x20to\x20login\x20with\x20the\x20provided\x20token.\x20Token\x20was\x20not\x20changed','--token-login','Use\x20browser\x20login\x20but\x20only\x20print\x20URL\x20which\x20can\x20be\x20used\x20to\x20login','Change\x20current\x20context\x20to\x20context\x20identified\x20by\x20this\x20name','Error\x20occured\x20during\x20browser\x20login:\x20','59563EnWvLz','Change\x20the\x20default\x20service\x20in\x20the\x20current\x20local\x20context','List\x20all\x20available\x20contexts','Override\x20existing\x20contexts\x20(this\x20will\x20remove\x20project\x20and\x20service\x20context)','message','browser\x20login','dir','\x0a\x20\x20Default\x20Service:\x09','description','useProjectId','getCurrentContext','getCurrentBaseUrl','-i,\x20--id\x20[ID]','Token\x20for\x20this\x20context','Use\x20service\x20with\x20id:','getCurrentToken','login','delete','replace','agent','Local\x20context\x20name\x20to\x20remove.','20diQuPk','getInfo','browser-opened','getCurrentProjectName','useJobId','25188240GFzjYF','No\x20current\x20context\x20set.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20one\x20or\x20\x27northflank\x20context\x20use\x27\x20to\x20select\x20an\x20existing\x20one.','stdout','italic','Retrieve\x20and\x20update\x20local\x20context\x20settings.','Current\x20token\x20info','use\x20from\x20now\x20on','1489280BQPxVD','apiTokenLogin','ctx',',\x20added\x20context\x20with\x20name\x20',':\x20\x0a\x20\x20Name:\x09\x09\x09','log','useContext','Use\x20project\x20with\x20id:','\x0a\x20\x20Default\x20Project:\x09','askForContext','\x0a\x20\x20Token\x20Role\x20ID:\x09','Contexts','\x0aSuccessfully\x20logged\x20in\x20using\x20','defaultBaseUrl','askForProject','show','removeContext','contextAvailable','length','clearLine','Use\x20job\x20with\x20id:','No\x20context\x20available.\x20Use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','timeout','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','loadContextWrapper','verifyToken','set-token','Follow\x20the\x20steps\x20displayed\x20on\x20the\x20page\x20opened\x20in\x20the\x20browser\x20(URL\x20opened:\x20','alias','update-token','tokenInternalId','No\x20context\x20available.\x20Please\x20use\x20\x27northflank\x20login\x27\x20to\x20create\x20context.','\x20(api\x20host:\x20','token\x20login','askForJob','https://','https://api.northflank.com','map','remove','284233slzISd','5950376pbUcTa','Open\x20this\x20URL\x20in\x20your\x20browser\x20and\x20follow\x20the\x20steps:\x0a\x09','name','option','sessionToken=********','--host\x20[HOST]','apiClient','addCommand','.\x20Using\x20fallback.','token','browserLogin','Changed\x20current\x20context\x20to\x20','list','6425616ITQyxq','No\x20project\x20in\x20current\x20context.\x20Please\x20set\x20project\x20before\x20setting\x20a\x20project-scoped\x20resource','contexts','host','48agGstS','6094314sONyJc','confirm','contextProvider','project','--override','Token\x20for\x20this\x20context.\x20When\x20set,\x20browser\x20login\x20is\x20not\x20used','host\x20url\x20for\x20this\x20context','bold','doNotOpenBrowser','action','\x27\x20successfully\x20updated.','all','Service\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','Local\x20context\x20\x27','catch','Choose\x20the\x20context\x20to\x20','askForService','service','Update\x20token\x20for\x20current\x20context','Remove\x20a\x20context','then','/v1/login','--all','useServiceId','Project\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context','-t,\x20--token\x20[TOKEN]','\x27\x20successfully\x20removed.','Connect\x20the\x20CLI\x20to\x20your\x20Northflank\x20account.','Shows\x20full\x20context\x20information\x20(including\x20tokens)','tokenLogin','\x0a\x20\x20Host:\x09\x09\x09','8VRSFcn','-n,\x20--name\x20[NAME]','\x0a\x20\x20Token\x20ID:\x09\x09','3LaPqUK','close','fullUrl','\x20(current)','Failed\x20to\x20login\x20with\x20the\x20provided\x20token,\x20make\x20sure\x20to\x20use\x20a\x20valid\x20token\x20and\x20host.'];a2T=function(){return E;};return a2T();}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 a2K from'node-fetch';import{set}from'lodash-es';import a2t from'inquirer';export class CliContext{[a2I(0x1c6)];[a2I(0x1e1)];[a2I(0x176)];[a2I(0x17f)];['login'];constructor(T,C=undefined,i=a2I(0x16c)){const n=a2I;this[n(0x1c6)]=C,this[n(0x1e1)]=i,this['apiClient']=T;const K=new InquirerHelper(T);this[n(0x1c3)]=getCommand()[n(0x172)](n(0x1c3))[n(0x1bb)](n(0x19d))[n(0x173)](n(0x1af),'Use\x20manual\x20login\x20with\x20API\x20token',![])[n(0x173)]('--do-not-open-browser',n(0x1b0),![])[n(0x173)]('-n,\x20--name\x20[NAME]','Name\x20for\x20login\x20context')[n(0x173)](n(0x19b),n(0x187))['option'](n(0x175),n(0x188),this['defaultBaseUrl'])[n(0x173)](n(0x186),n(0x1b6),![])[n(0x18b)](async Y=>{const H=n;set(Y,H(0x180),this[H(0x1ad)](Y[H(0x180)]));const q=Y[H(0x19f)]||Y[H(0x179)]!==undefined,{name:N,host:a,token:v,override:p}=q?await this[H(0x1d5)](Y,K):await this[H(0x17a)](Y,K);try{await this[H(0x176)][H(0x184)]['addContext']({'name':N,'host':a,'token':v},p);}catch(w){error(w[H(0x1b7)]);return;}if(!await this[H(0x161)]())error(H(0x1a8)),await this[H(0x176)]['contextProvider'][H(0x158)](N);else{const Z=q?H(0x169):H(0x1b8),F=H(0x1e0)+Z+H(0x1d7)+a2i[H(0x1d0)](N)+H(0x168)+a+')';success(F);}}),this[n(0x17f)]=getCommand()[n(0x172)]('context')[n(0x1bb)](n(0x1d1))['alias'](n(0x17f))[n(0x164)](n(0x1d6));const t=getCommand()['name']('list')[n(0x172)]('ls')['description'](n(0x1b5))['option'](n(0x198),n(0x19e))[n(0x18b)](async Y=>{const f=n;console[f(0x1d9)](T[f(0x184)]['getInfo']());const q=T[f(0x184)]['loadContextWrapper']();if(Y[f(0x18d)]===!![]){console[f(0x1b9)](q);return;}const N=q[f(0x1ab)],a=q[f(0x17f)]['sort']((v,p)=>v['name']===N?-0x1:p[f(0x172)]===N?0x1:0x0)[f(0x16d)](v=>{const e=f,p=N===v[e(0x172)]?e(0x1a7):'';return{'Name':''+v[e(0x172)]+p,'Host':v[e(0x180)],'Default\x20Project':v['project']||'-','Default\x20Service':v['service']||'-'};});printAsTable(a,f(0x1df));}),m=getCommand()['name'](n(0x1e3))[n(0x1bb)]('Shows\x20detailed\x20information\x20about\x20current\x20context')[n(0x18b)](async()=>{const c=n;console[c(0x1d9)](T[c(0x184)][c(0x1c9)]());const Y=T[c(0x184)][c(0x1bd)]();if(Y===undefined){console[c(0x1d9)](c(0x1ce));return;}const q=decodeJwtPayload(Y[c(0x179)]),N=Y[c(0x180)];console[c(0x1d9)](a2i[c(0x189)](c(0x1d2))+c(0x1d8)+Y[c(0x172)]+c(0x1a0)+N+c(0x1dc)+(Y['project']||'-')+c(0x1ba)+(Y[c(0x193)]||'-')+c(0x1a3)+(q?.[c(0x166)]||'-')+c(0x1de)+(q?.['roleInternalId']||'-')+c(0x15f));}),k=getCommand();k[n(0x172)]('use')[n(0x1bb)]('Switch\x20between\x20your\x20local\x20contexts')[n(0x173)](n(0x1a2),n(0x1b1))['action'](async Y=>{const O=n,q=Y?.[O(0x172)]||await this[O(0x1dd)](O(0x1aa));await this['apiClient'][O(0x184)][O(0x1da)](q),success('Changed\x20current\x20context\x20to\x20'+q);});const Q=n(0x1bf),R=getCommand()[n(0x172)](n(0x185))['description']('Change\x20the\x20default\x20project\x20in\x20the\x20current\x20local\x20context')[n(0x173)](Q,n(0x19a))[n(0x18b)](async Y=>{const x=n,q=Y?.['id']||await K[x(0x1e2)]();await this[x(0x176)][x(0x184)][x(0x1bc)](q),console['log'](x(0x1db),q);}),A=getCommand()[n(0x172)](n(0x193))[n(0x1bb)](n(0x1b4))['option'](Q,n(0x18e))[n(0x18b)](async Y=>{const z=n,q=Y?.['id']||await K[z(0x192)](this[z(0x1a9)]())();console[z(0x1d9)](z(0x1c1),q),await this['apiClient']['contextProvider'][z(0x199)](q);}),V=getCommand()[n(0x172)]('job')[n(0x1bb)]('Change\x20the\x20default\x20job\x20in\x20the\x20current\x20local\x20context')[n(0x173)](Q,'Job\x20name\x20(internal\x20id)\x20to\x20use\x20as\x20default\x20in\x20context')[n(0x18b)](async Y=>{const b=n,q=Y?.['id']||await K[b(0x16a)](this[b(0x1a9)]())();console['log'](b(0x15c),q),await this['apiClient'][b(0x184)][b(0x1cc)](q);});k[n(0x177)](R),k[n(0x177)](V),k[n(0x177)](A);const M=getCommand()[n(0x172)](n(0x16e))[n(0x164)](n(0x1c4))[n(0x164)]('rm')[n(0x1bb)](n(0x195))[n(0x173)](Q,n(0x1c7))[n(0x18b)](async Y=>{const u=n,q=Y?.['id']||await this[u(0x1dd)]('remove'),N=this['apiClient'][u(0x184)][u(0x1bd)]()?.[u(0x172)];await this[u(0x176)]['contextProvider']['removeContext'](q),success(u(0x18f)+q+u(0x19c));if(!this['contextAvailable']()){warning(u(0x15d));return;}if(N===q){const a=Y?.[u(0x172)]||await this['askForContext'](u(0x1d3));await this['apiClient'][u(0x184)][u(0x1da)](a),success(u(0x17b)+a);}}),G=getCommand()[n(0x172)](n(0x165))['alias'](n(0x162))[n(0x1bb)](n(0x194))[n(0x173)](n(0x19b),n(0x1c0))[n(0x18b)](async Y=>{const o=n,{contextProvider:q}=this[o(0x176)],N=Y?.['token']||await K['tokenPrompt'](),a=q[o(0x1c2)]();await q['updateToken'](N);if(await this[o(0x161)]())success('Token\x20for\x20current\x20context\x20\x27'+q['getCurrentName']()+o(0x18c));else{if(a)await q['updateToken'](a);error(o(0x1ae));}});this[n(0x17f)][n(0x177)](t),this[n(0x17f)][n(0x177)](m),this[n(0x17f)]['addCommand'](k),this['contexts'][n(0x177)](M),this['contexts'][n(0x177)](G);}async[a2I(0x17a)](T,C){const d=a2I,i=!T[d(0x18a)],K=T[d(0x180)]??this[d(0x1e1)],t=new NorthflankApiBrowserLogin(K,i,this[d(0x1c6)]);let m;t['on'](d(0x1ca),({url:A})=>{const L=d;if(i){const V=A[L(0x1c5)](/sessionToken=.*/,L(0x174));console[L(0x1d9)](L(0x163)+V+')'),m=a2t['prompt']([{'type':L(0x183),'name':L(0x1a6),'message':'Display\x20full\x20URL\x20to\x20allow\x20opening\x20the\x20link\x20manually','default':![]}]),m[L(0x196)](M=>{const D=L;process[D(0x1cf)]['moveCursor'](0x0,-0x1),process[D(0x1cf)][D(0x15b)](0x1),M[D(0x1a6)]&&console[D(0x1d9)](D(0x171)+A+'\x20');});}else console['log'](L(0x171)+A+'\x20');});const {token:k,contextName:Q}=await t[d(0x1ac)]()[d(0x190)](async A=>{const g=d;error(g(0x1b2)+A['message']+g(0x178));const V=await this['apiTokenLogin'](T,C);return{'token':V['token'],'contextName':V['name']};})['finally'](()=>{const J=d;if(m)m['ui'][J(0x1a5)]();}),R=T[d(0x172)]??Q??'autologin-'+new Date()['valueOf']();return{'name':R,'token':k,'host':K,'override':T['override']??![]};}[a2I(0x1ad)]=T=>{const U=a2I;let C=T;return!/^https?:\/\//i['test'](C)&&(C=U(0x16b)+C),C=C[U(0x1c5)](/\/+$/,''),C;};async[a2I(0x1d5)](T,C){const S=a2I,i=this[S(0x176)][S(0x184)][S(0x160)]()[S(0x17f)],{name:K,token:t,host:m,override:k}=await C['loginPrompt'](T,i);return{'name':K,'token':t,'host':m,'override':k};}[a2I(0x1a9)](){const B=a2I,T=this[B(0x176)][B(0x184)][B(0x1cb)]();if(T===undefined)throw new Error(B(0x17e));return T;}async[a2I(0x1dd)](T){const h=a2I;if(!this['contextAvailable']())throw new Error(h(0x167));const C=this[h(0x176)][h(0x184)]['loadContextWrapper']()[h(0x17f)][h(0x16d)](K=>K['name']),i=C[h(0x15a)]>0x4?'search-list':h(0x17c);return(await a2t['prompt']([{'type':i,'name':'name','message':h(0x191)+T+':','choices':C}]))[h(0x172)];}[a2I(0x159)](){const s=a2I;return this[s(0x176)]['contextProvider']['loadContextWrapper']()[s(0x17f)]['length']>0x0;}async['verifyToken'](){const X=a2I;try{const T=this[X(0x176)][X(0x184)][X(0x1be)](),C=this[X(0x176)][X(0x184)][X(0x1c2)](),i=T+X(0x197),K={'Authorization':'Bearer\x20'+C},t=new ProxyAgent(),m=await retry(0x3)(async()=>a2K(i,{'method':'GET','signal':AbortSignal[X(0x15e)](0xbb8),'headers':K,'agent':t}));if(m['ok'])return!![];return![];}catch(k){return![];}}}
@@ -1 +1 @@
1
- const a3B=a3G;function a3G(N,G){const S=a3N();return a3G=function(U,K){U=U-0xd9;let r=S[U];return r;},a3G(N,G);}(function(N,G){const Z=a3G,S=N();while(!![]){try{const U=-parseInt(Z(0x112))/0x1*(parseInt(Z(0x10d))/0x2)+-parseInt(Z(0xf1))/0x3+-parseInt(Z(0x109))/0x4+parseInt(Z(0xe8))/0x5*(-parseInt(Z(0xe3))/0x6)+parseInt(Z(0x110))/0x7+-parseInt(Z(0xfa))/0x8*(-parseInt(Z(0xdd))/0x9)+-parseInt(Z(0x10e))/0xa*(-parseInt(Z(0x106))/0xb);if(U===G)break;else S['push'](S['shift']());}catch(K){S['push'](S['shift']());}}}(a3N,0xe3633));import{ApiClient,CopyType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,getCommand,success}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';function a3N(){const y=['\x27\x20to\x20container\x20directory\x20\x27','8QlqlWs','-dir','\x20directory:\x20\x20\x20\x20\x20northflank\x20','\x20(random\x20container\x20will\x20be\x20chosen\x20if\x20not\x20specified)','askForJob','\x20files\x20','upload','Id\x20[NAME]','action','File\x20and\x20directory\x20download\x20for\x20Northflank\x20job.','service','\x20is\x20required\x20for\x20','6369lIdXYt','askForProject','download','497020ELmuoI','option','description','getCurrentServiceName','259282flxguJ','23670RVLhwT','\x20files','5564832cyTAwU','downloadCmd','1PEHFSm','current\x20working','user\x20home','Project\x20for\x20','files','\x20single\x20file:\x20\x20\x20northflank\x20','askForPath','getCurrentProjectName','Uploaded\x20file\x20from\x20\x27','slice','ed-file.txt\x0a\x20\x20','Uploaded\x20all\x20directory\x20contents\x20from\x20\x27','alias','addCommand','\x27remotePath\x27','.\x20If\x20the\x20','5204358ooyLeJ','FILE_UPLOAD','prompt','apiClient','uploadCmd','\x27localPath\x27','7617786itFKeR','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20service.','\x20to\x20','--project\x20--projectId\x20[NAME]','\x20file\x20--localPath\x20my_directory/my-file.txt\x20--remotePath\x20/home/my-','5kCGyqw','File\x20and\x20directory\x20download\x20for\x20Northflank\x20services\x20and\x20jobs.','job','--noDefaults','name','File\x20and\x20directory\x20download\x20for\x20Northflank\x20service.','remote','Remote\x20file\x20or\x20directory','\x20--','866475YGTGWN','input','logCopyResult','\x20the\x20specified\x20','\x20file\x20--localPath\x20my_directory\x20--remotePath\x20/home/','file','ensureRelevantPathIsSet','localPath'];a3N=function(){return y;};return a3N();}import{capitalize}from'lodash-es';import a3S from'inquirer';export class CliFileCopy{['downloadCmd'];[a3B(0xe1)];[a3B(0xe0)];['getStandardCopyCommand']=(N,G)=>{const j=a3B,S=capitalize(G),U=G===j(0x100)?j(0xee):'local',K=G===j(0x100)?j(0x114):j(0x113),r=G===j(0x100)?'to':'from';return getCommand(!![])[j(0xec)](j(0xf6))[j(0x10b)](S+j(0xff)+r+j(0xf4)+N+j(0xdc)+U+'Path\x20is\x20not\x20specified,\x20the\x20'+K+'\x20directory\x20is\x20used.\x20If\x20the\x20directory\x20for\x20'+U+'Path\x20does\x20not\x20exist,\x20it\x20will\x20be\x20created.\x0aExamples:\x0a\x20\x20'+S+j(0x117)+G+'\x20'+N+j(0xe7)+G+j(0x11c)+S+j(0xfc)+G+'\x20'+N+j(0xf5)+G+j(0xfb))['option'](j(0xe6),j(0x115)+G)[j(0x10a)]('--'+N+j(0xf0)+N+j(0x101),N['charAt'](0x0)['toUpperCase']()+N[j(0x11b)](0x1)+j(0xe5)+G+j(0x10f))[j(0x10a)]('--container\x20--containerId\x20[NAME]','Container\x20used\x20to\x20'+G+j(0xfd))[j(0x10a)]('--local\x20--localPath\x20[LOCALPATH]','Local\x20file\x20or\x20directory')[j(0x10a)]('--remote\x20--remotePath\x20[REMOTEPATH]',j(0xef))[j(0x10a)](j(0xeb),'Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',![]);};constructor(N,G){const i=a3B;this[i(0xe0)]=new ApiClient(N,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':G});const S=new InquirerHelper(this['apiClient']);this[i(0x111)]=getCommand()['name'](i(0x108))[i(0xd9)]('dl')[i(0x10b)](i(0xe9)),this[i(0xe1)]=getCommand()[i(0xec)](i(0x100))[i(0xd9)]('ul')[i(0x10b)]('File\x20and\x20directory\x20upload\x20for\x20Northflank\x20services\x20and\x20jobs.');const U=getCommand()[i(0xec)]('service')[i(0x10b)](i(0xed)),K=getCommand()[i(0xec)](i(0x104))['description'](i(0xe4)),r=getCommand()['name']('job')['description'](i(0x103)),L=getCommand()[i(0xec)](i(0xea))[i(0x10b)]('File\x20and\x20directory\x20upload\x20for\x20Northflank\x20job.'),I=Y=>{const l=i;return this['getStandardCopyCommand'](l(0x104),Y)[l(0x102)](async u=>{const k=l,{projectId:V,serviceId:a,containerId:x,noDefaults:b,quiet:e}=u;assertContextExisting(this[k(0xe0)]);const f=b?undefined:N[k(0x119)](),n=V||f||await S[k(0x107)](),D=b?undefined:N[k(0x10c)](),g=a||D||await S['askForService'](n)(),{remotePath:z,localPath:v}=await this['ensureRelevantPathIsSet'](Y,u),E={'projectId':n,'serviceId':g},W=await this[k(0xe0)][Y]['service'][k(0x116)](E,{'containerName':x,'localPath':v,'remotePath':z});this[k(0xf3)](W,e);});},d=Y=>{const h=i;return this['getStandardCopyCommand'](h(0xea),Y)[h(0x102)](async u=>{const O=h,{projectId:V,jobId:a,containerId:x,noDefaults:b,quiet:e}=u;assertContextExisting(this[O(0xe0)]);const f=b?undefined:N['getCurrentProjectName'](),n=V||f||await S[O(0x107)](),D=a||await S[O(0xfe)](n)(),{remotePath:g,localPath:z}=await this[O(0xf7)](Y,u),v={'projectId':n,'jobId':D},E=await this[O(0xe0)][Y][O(0xea)][O(0x116)](v,{'containerName':x,'localPath':z,'remotePath':g});this[O(0xf3)](E,e);});};U['addCommand'](I(i(0x108))),r[i(0xda)](d(i(0x108))),K[i(0xda)](I(i(0x100))),L[i(0xda)](d('upload')),this[i(0x111)]['addCommand'](U),this[i(0x111)][i(0xda)](r),this[i(0xe1)]['addCommand'](K),this[i(0xe1)][i(0xda)](L);}['logCopyResult']=(N,G)=>{const J=a3B;if(G)return;const {sourceDirectory:S,targetDirectory:U,sourceFile:K,targetFile:r}=N;switch(N['type']){case CopyType['DIRECTORY_DOWNLOAD']:{success('Downloaded\x20all\x20directory\x20contents\x20from\x20\x27'+S+'\x27\x20to\x20local\x20directory\x20\x27'+U+'\x27');break;}case CopyType['FILE_DOWNLOAD']:{success('Downloaded\x20file\x20\x27'+S+'/'+K+'\x27\x20to\x20\x27'+U+'/'+r+'\x27');break;}case CopyType['DIRECTORY_UPLOAD']:{success(J(0x11d)+S+J(0xf9)+U+'\x27');break;}case CopyType[J(0xde)]:{success(J(0x11a)+S+'/'+K+'\x27\x20to\x20\x27'+U+'/'+r+'\x27');break;}}};[a3B(0xf7)]=async(N,G)=>{const t=a3B,S=N===t(0x108)&&G['remotePath']===undefined?await this['askForPath'](t(0xdb),t(0x108)):G['remotePath'],U=N===t(0x100)&&G[t(0xf8)]===undefined?await this[t(0x118)](t(0xe2),'upload'):G[t(0xf8)];return{'localPath':U,'remotePath':S};};[a3B(0x118)]=async(N,G)=>{const P=a3B,S=N+P(0x105)+G+'s.\x20Please\x20enter\x20a\x20path:';return(await a3S[P(0xdf)]([{'type':P(0xf2),'name':P(0xec),'message':S}]))[P(0xec)];};}
1
+ const a3H=a3C;(function(T,C){const n=a3C,i=T();while(!![]){try{const K=-parseInt(n(0x176))/0x1+-parseInt(n(0x14a))/0x2*(-parseInt(n(0x165))/0x3)+-parseInt(n(0x152))/0x4+-parseInt(n(0x163))/0x5+-parseInt(n(0x14d))/0x6+-parseInt(n(0x14c))/0x7+parseInt(n(0x144))/0x8*(parseInt(n(0x16b))/0x9);if(K===C)break;else i['push'](i['shift']());}catch(t){i['push'](i['shift']());}}}(a3T,0xeda09));import{ApiClient,CopyType}from'@northflank/js-client';import{assertContextExisting,customUserAgent,getCommand,success}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';function a3T(){const d=['FILE_DOWNLOAD','ed-file.txt\x0a\x20\x20','alias','addCommand','File\x20and\x20directory\x20download\x20for\x20Northflank\x20services\x20and\x20jobs.','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20services\x20and\x20jobs.','\x20the\x20specified\x20','16bMzjQM','\x20--','\x20file\x20--localPath\x20my_directory\x20--remotePath\x20/home/','-dir','charAt','\x27remotePath\x27','2Latvwt','remote','2557541HlsvDu','9480246emtFyc','getStandardCopyCommand','\x27\x20to\x20container\x20directory\x20\x27','local','\x20files','425400RxSeUg','getCurrentProjectName','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20service.','Downloaded\x20file\x20\x27','--local\x20--localPath\x20[LOCALPATH]','uploadCmd','current\x20working','askForService','from','job','--container\x20--containerId\x20[NAME]','download','DIRECTORY_UPLOAD','--noDefaults','File\x20and\x20directory\x20download\x20for\x20Northflank\x20job.','prompt','\x20directory\x20is\x20used.\x20If\x20the\x20directory\x20for\x20','8935150nDZcTa','Downloaded\x20all\x20directory\x20contents\x20from\x20\x27','1484877dZLFRS','\x20is\x20required\x20for\x20','service','action','askForPath','description','21955734zzyXRU','downloadCmd','\x20files\x20','ensureRelevantPathIsSet','slice','remotePath','name','Container\x20used\x20to\x20','localPath','option','Path\x20does\x20not\x20exist,\x20it\x20will\x20be\x20created.\x0aExamples:\x0a\x20\x20','561906DEnTMo','files','Id\x20[NAME]','Uploaded\x20all\x20directory\x20contents\x20from\x20\x27','.\x20If\x20the\x20','upload','askForJob','\x27localPath\x27','logCopyResult','FILE_UPLOAD','\x27\x20to\x20\x27','Project\x20for\x20','File\x20and\x20directory\x20download\x20for\x20Northflank\x20service.','File\x20and\x20directory\x20upload\x20for\x20Northflank\x20job.','toUpperCase','apiClient','Remote\x20file\x20or\x20directory','\x20directory:\x20\x20\x20\x20\x20northflank\x20','--project\x20--projectId\x20[NAME]','type'];a3T=function(){return d;};return a3T();}import{capitalize}from'lodash-es';function a3C(T,C){const i=a3T();return a3C=function(K,t){K=K-0x140;let m=i[K];return m;},a3C(T,C);}import a3i from'inquirer';export class CliFileCopy{['downloadCmd'];[a3H(0x157)];[a3H(0x185)];[a3H(0x14e)]=(T,C)=>{const f=a3H,i=capitalize(C),K=C==='upload'?f(0x14b):f(0x150),t=C==='upload'?'user\x20home':f(0x158),m=C===f(0x17b)?'to':f(0x15a);return getCommand(!![])[f(0x171)]('file')['description'](i+f(0x16d)+m+f(0x143)+T+f(0x17a)+K+'Path\x20is\x20not\x20specified,\x20the\x20'+t+f(0x162)+K+f(0x175)+i+'\x20single\x20file:\x20\x20\x20northflank\x20'+C+'\x20'+T+'\x20file\x20--localPath\x20my_directory/my-file.txt\x20--remotePath\x20/home/my-'+C+f(0x18b)+i+f(0x187)+C+'\x20'+T+f(0x146)+C+f(0x147))[f(0x174)](f(0x188),f(0x181)+C)['option']('--'+T+f(0x145)+T+f(0x178),T[f(0x148)](0x0)[f(0x184)]()+T[f(0x16f)](0x1)+'\x20to\x20'+C+f(0x151))[f(0x174)](f(0x15c),f(0x172)+C+'\x20(random\x20container\x20will\x20be\x20chosen\x20if\x20not\x20specified)')['option'](f(0x156),'Local\x20file\x20or\x20directory')[f(0x174)]('--remote\x20--remotePath\x20[REMOTEPATH]',f(0x186))[f(0x174)](f(0x15f),'Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',![]);};constructor(T,C){const e=a3H;this[e(0x185)]=new ApiClient(T,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':C});const i=new InquirerHelper(this[e(0x185)]);this['downloadCmd']=getCommand()[e(0x171)](e(0x15d))[e(0x18c)]('dl')[e(0x16a)](e(0x141)),this['uploadCmd']=getCommand()['name'](e(0x17b))[e(0x18c)]('ul')[e(0x16a)](e(0x142));const K=getCommand()[e(0x171)](e(0x167))['description'](e(0x182)),t=getCommand()[e(0x171)](e(0x167))[e(0x16a)](e(0x154)),m=getCommand()[e(0x171)]('job')[e(0x16a)](e(0x160)),k=getCommand()[e(0x171)](e(0x15b))[e(0x16a)](e(0x183)),Q=A=>{const c=e;return this['getStandardCopyCommand'](c(0x167),A)['action'](async V=>{const O=c,{projectId:M,serviceId:G,containerId:Y,noDefaults:q,quiet:N}=V;assertContextExisting(this[O(0x185)]);const a=q?undefined:T[O(0x153)](),v=M||a||await i['askForProject'](),p=q?undefined:T['getCurrentServiceName'](),w=G||p||await i[O(0x159)](v)(),{remotePath:Z,localPath:F}=await this['ensureRelevantPathIsSet'](A,V),l={'projectId':v,'serviceId':w},I=await this[O(0x185)][A][O(0x167)]['files'](l,{'containerName':Y,'localPath':F,'remotePath':Z});this[O(0x17e)](I,N);});},R=A=>{const x=e;return this[x(0x14e)]('job',A)[x(0x168)](async V=>{const z=x,{projectId:M,jobId:G,containerId:Y,noDefaults:q,quiet:N}=V;assertContextExisting(this[z(0x185)]);const a=q?undefined:T[z(0x153)](),v=M||a||await i['askForProject'](),p=G||await i[z(0x17c)](v)(),{remotePath:w,localPath:Z}=await this[z(0x16e)](A,V),F={'projectId':v,'jobId':p},l=await this['apiClient'][A]['job'][z(0x177)](F,{'containerName':Y,'localPath':Z,'remotePath':w});this['logCopyResult'](l,N);});};K[e(0x140)](Q('download')),m['addCommand'](R(e(0x15d))),t['addCommand'](Q(e(0x17b))),k[e(0x140)](R(e(0x17b))),this['downloadCmd'][e(0x140)](K),this[e(0x16c)]['addCommand'](m),this[e(0x157)][e(0x140)](t),this[e(0x157)]['addCommand'](k);}[a3H(0x17e)]=(T,C)=>{const b=a3H;if(C)return;const {sourceDirectory:i,targetDirectory:K,sourceFile:t,targetFile:m}=T;switch(T[b(0x189)]){case CopyType['DIRECTORY_DOWNLOAD']:{success(b(0x164)+i+'\x27\x20to\x20local\x20directory\x20\x27'+K+'\x27');break;}case CopyType[b(0x18a)]:{success(b(0x155)+i+'/'+t+b(0x180)+K+'/'+m+'\x27');break;}case CopyType[b(0x15e)]:{success(b(0x179)+i+b(0x14f)+K+'\x27');break;}case CopyType[b(0x17f)]:{success('Uploaded\x20file\x20from\x20\x27'+i+'/'+t+b(0x180)+K+'/'+m+'\x27');break;}}};[a3H(0x16e)]=async(T,C)=>{const u=a3H,i=T==='download'&&C['remotePath']===undefined?await this[u(0x169)](u(0x149),u(0x15d)):C[u(0x170)],K=T===u(0x17b)&&C[u(0x173)]===undefined?await this['askForPath'](u(0x17d),'upload'):C['localPath'];return{'localPath':K,'remotePath':i};};[a3H(0x169)]=async(T,C)=>{const o=a3H,i=T+o(0x166)+C+'s.\x20Please\x20enter\x20a\x20path:';return(await a3i[o(0x161)]([{'type':'input','name':o(0x171),'message':i}]))['name'];};}